ros2_controllers icon indicating copy to clipboard operation
ros2_controllers copied to clipboard

Configure gripper speed and effort with hardware interface

Open pac48 opened this issue 1 year ago • 2 comments

Many robot grippers support effort, position, and velocity controls. The current technique to set the velocity involves reading a hardcoded value from the URDF. This is problematic when the user wants to change the gripper velocity at runtime. After discussions in the ros2_control WG meeting, the best strategy to achieve this goal while allowing backporting to Humble is to add a new controller that specifically supports this and deprecate the old controller.

This PR adds a controller called antipodal_gripper_controllers which has parameters to optionally claim the hardware interfaces JOINT_NAME/gripper_effort and JOINT_NAME/gripper_speed, which will be used to set the gripper speed and effort if enabled.

This PR requires:

  • [x] depends on https://github.com/ros-controls/control_msgs/pull/99

pac48 avatar Jan 30 '24 17:01 pac48

  --- stderr: antipodal_gripper_controller
  In file included from /home/runner/work/ros2_controllers/ros2_controllers/.work/target_ws/src/ros2_controllers/antipodal_gripper_controller/src/antipodal_gripper_action_controller.cpp:18:
  /home/runner/work/ros2_controllers/ros2_controllers/.work/target_ws/src/ros2_controllers/antipodal_gripper_controller/include/antipodal_gripper_controller/antipodal_gripper_action_controller.hpp:30:10: fatal error: control_msgs/action/antipodal_gripper_command.hpp: No such file or directory
     30 | #include "control_msgs/action/antipodal_gripper_command.hpp"
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@pac48 can you include a temporary change on this pr to update the .repos file and test against your other PR.

https://github.com/ros-controls/ros2_controllers/blob/master/ros2_controllers-not-released.rolling.repos

I believe that should turn Rolling Semi-Binary Build - main / semi_binary / rolling main (pull_request) green.

Once your https://github.com/ros-controls/control_msgs/pull/99 is approved an merged we'll need to update the .repos to pull in main from the messages until the next ros2 sync.

moriarty avatar Feb 05 '24 16:02 moriarty

Codecov Report

Attention: Patch coverage is 0% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 71.31%. Comparing base (0b43291) to head (114012b). Report is 8 commits behind head on master.

:exclamation: Current head 114012b differs from pull request most recent head 72b2f6c. Consider uploading reports for the commit 72b2f6c to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1002      +/-   ##
==========================================
- Coverage   71.86%   71.31%   -0.56%     
==========================================
  Files          41       41              
  Lines        3650     3374     -276     
  Branches     1794     1627     -167     
==========================================
- Hits         2623     2406     -217     
+ Misses        707      667      -40     
+ Partials      320      301      -19     
Flag Coverage Δ
unittests 71.31% <0.00%> (-0.56%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
...per_controllers/gripper_action_controller_impl.hpp 34.26% <0.00%> (-0.25%) :arrow_down:

... and 11 files with indirect coverage changes

codecov[bot] avatar Feb 06 '24 21:02 codecov[bot]