Skip to content

With ROS 2

Two ROS 2 packages drive the gripper; both are built on the Python library and a python-can adapter.

The SSG-48 package

ssg48_adaptive_electric_gripper_ros2, written for this gripper by Lasse Stubbe Ebbesen, with example nodes. Its README has the installation, the topics and the parameters.

The MSG gripper's package

msg_gripper_ros2, a ROS 2 Humble driver written for the MSG gripper by the UCLA Biomechatronics Lab and Ben Forbes. The SSG-48 speaks the same protocol, so it works with it as well:

Direction Topic or action Type
Command /gripper/command_joint_states sensor_msgs/JointState, the position in the gripper's own units, 0 to 255
Feedback /gripper/feedback_joint_states sensor_msgs/JointState, the position in the same units and the effort in mA
Action /gripper_command control_msgs/GripperCommand

Ubuntu 22.04 with ROS 2 Humble, Python 3.10 or newer, and a USB-to-CAN adapter that speaks slcan, such as the CANvas:

pip install Spectral_BLDC python-can
cd ~/ros2_ws/src
git clone https://github.com/Source-Robotics/source_robotics_msg_gripper_ros2.git
cd ~/ros2_ws
colcon build --packages-select msg_gripper_ros2
source install/setup.bash
ros2 launch msg_gripper_ros2 msg_gripper_launch.py

The only setting that depends on your machine is the adapter's port, channel in config/default.yaml: /dev/ttyACM0 or /dev/ttyUSB0 on Linux, /dev/tty.usbmodem* on macOS, COM3 on Windows. On Linux, add yourself to the dialout group to open the port without sudo.

The description files

The gripper's standalone URDF and MJCF (MuJoCo) packages, with solid or fin-ray jaws, come from robot_descriptions; the product repository's ssg48_description guide links the downloads and says how to open them. Its display launch file is for ROS 1; in ROS 2, load the URDF with a launch file of your own.

Comments


Found a mistake on this page? Edit it on GitHub · Report it · Get help · This page as Markdown · llms.txt · The whole manual as PDF