ROS 2 gripper drivers that expose a common action-based API for low-level servo control and gripper-level open/close control.
gripper_msgs: ROS 2 action definitions (ServoControl,OpenGripper,CloseGripper).gripper_servo_dynamixel: low-level DynamixelSDK (Protocol 2.0) servo/action package (Python).gripper_servo_feetech: low-level Feetech STS/SCS servo/action package (C++).gripper_two_fingers: gripper-level two-finger Dynamixel wrapper (Python).gripper_feetech_test: gripper-level Feetech test wrapper (C++).gripper_ros: launch files + centralized motor/gripper parameter YAMLs.
This ros packages use two action layers:
- low-level servo control:
/servo_control - gripper-level control:
/open_gripperand/close_gripper
See docs/servo/ros2-interface.md for low-level servo ros2 specifications and examples. See docs/gripper/ros2-interface.md for gripper level ros2 specifications and examples.
Follow the Setup instructions in docs/installation.md to install dependencies and build the workspace.
See gripper_servo_dynamixel/README.md for testing Dynamixel servos. See gripper_servo_feetech/README.md for testing Feetech servos.
source install/setup.bash
ros2 launch gripper_ros gripper_soft_two_fingers.launch.pyload the visualization for the two-finger gripper:
source install/setup.bash
ros2 launch gripper_ros gripper_sim.launch.py model:=two-finger-gripper-standaloneThis starts the gripper URDF in robot_state_publisher and rviz2 only.
Run it alongside gripper_soft_two_fingers.launch.py when you want RViz to reflect live /joint_states from the gripper node.
Use the action CLI to send open/close goals (see docs/gripper/ros2-interface.md for details):
To open gripper:
source install/setup.bash
ros2 action send_goal /open_gripper gripper_msgs/action/OpenGripper "{torque: 0.0, use_torque_mode: false}"To close gripper:
source install/setup.bash
ros2 action send_goal /close_gripper gripper_msgs/action/CloseGripper "{close_ratio: 1.0, torque: 0.0, use_torque_mode: false}"Read the gripper action interface docs for more details on open/close goal fields and CLI usage. Read the servo action interface docs for direct low-level servo commands.