-
Notifications
You must be signed in to change notification settings - Fork 560
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
Parallel gripper controller #3246
base: main
Are you sure you want to change the base?
Conversation
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'll take a closer look later today
moveit_plugins/moveit_simple_controller_manager/src/moveit_simple_controller_manager.cpp
Outdated
Show resolved
Hide resolved
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #3246 +/- ##
==========================================
- Coverage 45.65% 45.57% -0.07%
==========================================
Files 714 716 +2
Lines 62298 62374 +76
Branches 7532 7541 +9
==========================================
- Hits 28437 28422 -15
- Misses 33695 33785 +90
- Partials 166 167 +1 ☔ View full report in Codecov by Sentry. |
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.
Left some minor comments.
The major comment is a totally new thing that needs to happen here, which is ensuring that this type of controller is included in the MoveIt Setup Assistant.
There's probably a few places in the moveit_setup_assistant/moveit_setup_controllers
package to edit -- for example, this and this
Looking at the code, it seems MSA never added the effort_controllers/GripperActionController
either, but... eh, probably not needed since that's also deprecated in Jazzy.
moveit_plugins/moveit_ros_control_interface/src/parallel_gripper_command_controller_plugin.cpp
Outdated
Show resolved
Hide resolved
moveit_plugins/moveit_ros_control_interface/src/parallel_gripper_command_controller_plugin.cpp
Show resolved
Hide resolved
...ager/include/moveit_simple_controller_manager/parallel_gripper_command_controller_handle.hpp
Outdated
Show resolved
Hide resolved
...ager/include/moveit_simple_controller_manager/parallel_gripper_command_controller_handle.hpp
Outdated
Show resolved
Hide resolved
...ager/include/moveit_simple_controller_manager/parallel_gripper_command_controller_handle.hpp
Outdated
Show resolved
Hide resolved
moveit_plugins/moveit_simple_controller_manager/src/moveit_simple_controller_manager.cpp
Outdated
Show resolved
Hide resolved
moveit_plugins/moveit_simple_controller_manager/src/moveit_simple_controller_manager.cpp
Outdated
Show resolved
Hide resolved
@sea-bass thanks for the detailed review, I appreciate the feedback! I will try to get to the MSA stuff as soon as I can, but if you are okay to push this off to a different PR then I think this is good to go. I personally don't use the MSA because it makes messy configs. |
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.
You can do the MSA stuff after -- would definitely wait for @JafarAbdi and @mikeferguson to comment though, since they said they would.
/* | ||
* The joints to command in the ParallelGripperCommand message | ||
*/ | ||
std::set<std::string> command_joints_; |
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.
Do we actually need to have it as a set? Looking at https://github.com/ros-controls/ros2_controllers/blob/master/parallel_gripper_controller/src/gripper_action_controller_parameters.yaml user can only specify one joint. It will simplify the rest of the code as well. Happy to help with refactoring
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.
Sorry I assumed because this used a JointState command it was able to support multi-dof grippers. I updated the code to only support one joint, please let me know if you like the updated changes.
Description
This PR closes #3017 and adds the option to control grippers that use the ros2_control
ParallelGripperCommand
interface. I renamed all of the existing gripper controller files to include the namegripper_command
and created new files for theparallel_gripper_command_controller
.To setup add the following to your
moveit_controllers.yaml
When you start MoveIt you should see the following when adding the controllers