- for low-level servo control and gripper-level open/close control.
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:
/gripper_commandusingcontrol_msgs/action/GripperCommand
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 gripper goals (see docs/gripper/ros2-interface.md for details):
To open gripper:
source install/setup.bash
ros2 action send_goal /gripper_command control_msgs/action/GripperCommand "{command: {position: 0.09, max_effort: 0.0}}"To close gripper:
source install/setup.bash
ros2 action send_goal /gripper_command control_msgs/action/GripperCommand "{command: {position: 0.0, max_effort: 0.0}}"For calibration/debugging only, the gripper wrapper also exposes a bypass_max_effort parameter. When enabled, gripper-level max_effort bypasses max_effort_to_torque_factor and is treated directly as low-level torque.
See docs/gripper/force_estimations.md for the following calibration workflows:
- Gripping-force calibration workflow
- Retention-force Arduino measurement workflow
Read the gripper action interface docs for more details on GripperCommand goal fields and CLI usage.
Read the servo action interface docs for direct low-level servo commands.