-
Notifications
You must be signed in to change notification settings - Fork 91
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
Added check to ensure that the targets are reachable within the robot… #184
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #184 +/- ##
==========================================
- Coverage 72.05% 72.02% -0.04%
==========================================
Files 71 71
Lines 2652 2652
Branches 337 337
==========================================
- Hits 1911 1910 -1
- Misses 555 557 +2
+ Partials 186 185 -1 ☔ View full report in Codecov by Sentry. |
While this is in a state where everything seems to do its job as intended, it's actually not as simple as that. Since we use |
I've updated this so that it doesn't terminate the program but instead ignores the commands as long as they are infeasible. With this, when I start this with a driver that always commands [0,0,0,0,0,0], the robot doesn't move until we send a target that is close to its current position. I used a non-blocking popup as we discussed, but thinking about this, a blocking popup might actually be more feasible, don't you agree @urrsk ? |
resources/external_control.urscript
Outdated
socket_send_int(TRAJECTORY_RESULT_SUCCESS, "trajectory_socket") | ||
textmsg("Trajectory finished") | ||
socket_send_int(trajectory_result, "trajectory_socket") | ||
textmsg("Trajectory finished with result ", trajectory_result) |
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.
Maybe convert the trajectory_result to a readable string before sending it to the log
@urrsk I implemented the things discussed. I was a bit puzzled as I found out that when ignoring the first trajectory point, apparently the read-from-socket call times out. That's why I increased the timeout in this PR. However, that doesn't seem right to me. I checked that sending out the trajectory points only took a few microseconds in the test program, so the timeout could either result from
I quickly modified the |
Interesting, it seems we need to do a bit more investigation on this |
@urrsk as discussed I use the higher timeout when the robot isn't moving, yet only. Could you please have another look? |
Accessing a list of constant strings would require updating the minimum required version. This change doesn't really justify that in my opinion.
I'll investigate why the noetic tests fail. A quick look didn't make it clear to me. |
Found it. The actual test wasn't working properly and this got uncovered by this PR. Necessary changes are being implemented in UniversalRobots/Universal_Robots_ROS_Driver#721 |
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.
Approving so my change-request block goes away.
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 have mainly focused on the script code in my review
…s limits
This will break the test_joint_trajectory_position_interface test in the ROS Driver as part of the test is designed to activate the speed scaling by sending unreachable targets. These changes therefore require that we update the test in the ROS Driver.