Constrained freedrive implementation#507
Open
srvald wants to merge 4 commits into
Open
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #507 +/- ##
===========================================
- Coverage 76.96% 16.51% -60.45%
===========================================
Files 116 116
Lines 6342 6376 +34
Branches 2761 2775 +14
===========================================
- Hits 4881 1053 -3828
- Misses 1112 5245 +4133
+ Partials 349 78 -271 Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
9b8a52d to
0d31e32
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default mode and found 1 potential issue.
Reviewed by Cursor Bugbot for commit f664193. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Description
This Pull Request introduces support for Constrained Freedrive mode in the
ur_client_library. This feature allows users to lock specific axes during freedrive and define a custom reference feature pose.Changes:
UrDriver: AddedwriteConstrainedFreedriveControlMessageto expose the constrained freedrive interface to the user.ReverseInterface: Updated the communication protocol to include the new arguments (free axes and feature pose) in the command buffer sent to the robot.external_control.urscriptto parse the new buffer data and apply it to thefreedrive_mode()URScript command.freedrive_example.cppto demonstrate both normal and constrained modes.test_ur_driver.cppandtest_reverse_interface.cpp.Protocol Details:
free_axes(6x int32) andfeature_pose(6x int32 scaled by MULT_jointstate) arrays.Testing Performed:
Unit Testing: All modified tests were executed using
ctest.ReverseInterfaceTest.write_constrained_freedrive_message: PASSEDUrDriverTest.robot_receive_timeout_off_headless: PASSEDUrDriverTest.robot_receive_timeout_headless: PASSEDNote
Medium Risk
Medium risk because it changes the reverse-interface wire protocol and the paired
external_control.urscriptparsing, so mismatched script/library versions or buffer sizing errors could break robot control flows.Overview
Adds constrained freedrive by extending freedrive reverse-interface messages to include
free_axesandfeature_pose(buffer expanded from 8 to 15 int32s) and updatingexternal_control.urscriptto callfreedrive_mode(free_axes, feature_pose).Exposes the new capability via
UrDriver::writeConstrainedFreedriveControlMessage, updates the freedrive example to toggle between normal and constrained modes via CLI args, and extends unit tests to cover the new message shape and timeout behavior.Reviewed by Cursor Bugbot for commit 114c359. Bugbot is set up for automated code reviews on this repo. Configure here.