UniversalRobots / Universal_Robots_Client_Library

A C++ library for accessing the UR interfaces that facilitate the use of UR robotic manipulators by external applications.
Apache License 2.0
117 stars 88 forks source link

Dashboard commands, Docker Image and CI step for running the examples #127

Closed urrsk closed 1 year ago

urrsk commented 1 year ago

This PR started with adding a example for getting the calibration info out from the primary interface. Then I want it to run in the CI for continue test that it could run. After I added a step running the examples, I realised that the other examples need some adjustments, including some calls through the dashboard server, to turn the Simulated robot into run mode. Therefore includes this PR also functionalities to run Dashboard command for this purpose, just like it is made in the ROS drivers. In addition, the CI also was update to use the docker imagel

codecov[bot] commented 1 year ago

Codecov Report

Base: 63.34% // Head: 74.12% // Increases project coverage by +10.78% :tada:

Coverage data is based on head (d5fa901) compared to base (1ed6576). Patch coverage: 66.97% of modified lines in pull request are covered.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #127 +/- ## =========================================== + Coverage 63.34% 74.12% +10.78% =========================================== Files 89 91 +2 Lines 2968 3463 +495 Branches 310 360 +50 =========================================== + Hits 1880 2567 +687 + Misses 927 678 -249 - Partials 161 218 +57 ``` | [Impacted Files](https://codecov.io/gh/UniversalRobots/Universal_Robots_Client_Library/pull/127?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots) | Coverage Δ | | |---|---|---| | [include/ur\_client\_library/ur/dashboard\_client.h](https://codecov.io/gh/UniversalRobots/Universal_Robots_Client_Library/pull/127/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots#diff-aW5jbHVkZS91cl9jbGllbnRfbGlicmFyeS91ci9kYXNoYm9hcmRfY2xpZW50Lmg=) | `100.00% <ø> (+100.00%)` | :arrow_up: | | [examples/dashboard\_example.cpp](https://codecov.io/gh/UniversalRobots/Universal_Robots_Client_Library/pull/127/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots#diff-ZXhhbXBsZXMvZGFzaGJvYXJkX2V4YW1wbGUuY3Bw) | `27.58% <27.58%> (ø)` | | | [examples/full\_driver.cpp](https://codecov.io/gh/UniversalRobots/Universal_Robots_Client_Library/pull/127/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots#diff-ZXhhbXBsZXMvZnVsbF9kcml2ZXIuY3Bw) | `57.77% <50.00%> (+57.77%)` | :arrow_up: | | [src/ur/dashboard\_client.cpp](https://codecov.io/gh/UniversalRobots/Universal_Robots_Client_Library/pull/127/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots#diff-c3JjL3VyL2Rhc2hib2FyZF9jbGllbnQuY3Bw) | `61.38% <56.92%> (+61.38%)` | :arrow_up: | | [examples/rtde\_client.cpp](https://codecov.io/gh/UniversalRobots/Universal_Robots_Client_Library/pull/127/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots#diff-ZXhhbXBsZXMvcnRkZV9jbGllbnQuY3Bw) | `67.74% <63.63%> (+67.74%)` | :arrow_up: | | [tests/test\_dashboard\_client.cpp](https://codecov.io/gh/UniversalRobots/Universal_Robots_Client_Library/pull/127/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots#diff-dGVzdHMvdGVzdF9kYXNoYm9hcmRfY2xpZW50LmNwcA==) | `78.26% <78.26%> (ø)` | | | [examples/primary\_pipeline.cpp](https://codecov.io/gh/UniversalRobots/Universal_Robots_Client_Library/pull/127/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots#diff-ZXhhbXBsZXMvcHJpbWFyeV9waXBlbGluZS5jcHA=) | `90.47% <81.81%> (+90.47%)` | :arrow_up: | | [examples/primary\_pipeline\_calibration.cpp](https://codecov.io/gh/UniversalRobots/Universal_Robots_Client_Library/pull/127/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots#diff-ZXhhbXBsZXMvcHJpbWFyeV9waXBlbGluZV9jYWxpYnJhdGlvbi5jcHA=) | `88.23% <88.23%> (ø)` | | | [src/ur/version\_information.cpp](https://codecov.io/gh/UniversalRobots/Universal_Robots_Client_Library/pull/127/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots#diff-c3JjL3VyL3ZlcnNpb25faW5mb3JtYXRpb24uY3Bw) | `96.00% <96.00%> (ø)` | | | [tests/test\_version\_information.cpp](https://codecov.io/gh/UniversalRobots/Universal_Robots_Client_Library/pull/127/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots#diff-dGVzdHMvdGVzdF92ZXJzaW9uX2luZm9ybWF0aW9uLmNwcA==) | `100.00% <100.00%> (ø)` | | | ... and [39 more](https://codecov.io/gh/UniversalRobots/Universal_Robots_Client_Library/pull/127/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots) | | Help us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=UniversalRobots)

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

fmauch commented 1 year ago

@urrsk I've included most of your comments from https://github.com/urrsk/Universal_Robots_Client_Library/pull/1 and I think I would be happy with the state this is in. I tend to disagree with https://github.com/urrsk/Universal_Robots_Client_Library/pull/1#discussion_r1028017404

This feels like hitting the "using exceptions as control flow is an anti-pattern" too hard. That might be a more general question though, how we would like to structure this library.

fmauch commented 1 year ago

Merging despite failing pipeline on humble, because of #132.