-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dashboard commands, Docker Image and CI step for running the examples #127
Conversation
Made a primary pipeline example for receiving the robot calibration based on the already existing primary pipeline example and the ROS calibration code
Instead of building one in the CI we now uses the image made by UR
Adding short function to make it easier to: - Power off - Power on - Brake release - Load a program - Play - Pause - Stop - Close popup - Close safety popup - Restart safety - Unlock protective stop - Shutdown
The default behavior is to find a run all the examples For this it was needed to change the examples to not run forever
Codecov ReportBase: 63.34% // Head: 74.12% // Increases project coverage by
Additional details and impacted files@@ 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
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would add the wait_program.urp to the resources folder inside the examples, since it is required by the dashboard_example.cpp and also add to the error message if it fails to load the program, that the program can be found in the resources folder.
I think that we should add functions for all or at least most of the dashboard commands available, but this doesn't necessarily have to be in this PR.
Other than above comments it looks very good to me and I have tested that all the examples are working properly, with a simulated robot.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @urrsk for pushing this from the drivers to the library. I think, it is worth modernizing a couple of things while we're at it, see my comments. As discussed, I'll add some suggestions to the PR directly.
b52d6b9
to
3f31767
Compare
The dockerfile is no longer needed as the repo now uses the docker image
Co-authored-by: Mads Holm Peters <[email protected]>
This should be more clear to API users what the timeouts actually mean and this should be more platform independent to use std::this_thread::sleep_for instead of usleep.
Added tests for dashboard client
Allow parsing from a version string and added comparison operators.
@urrsk I've included most of your comments from urrsk#1 and I think I would be happy with the state this is in. I tend to disagree with urrsk#1 (comment) 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. |
In my opinion this is clearer to users that they'll have to provide the robot's IP in that case. Also, when run with the start_ursim.sh script this will work right out of the box
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Merging despite failing pipeline on humble, because of #132. |
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