Jaka Mini2
本章介绍如何通过 ROS2 适配器(hardware.type: "ros2")接入 Jaka Mini2 协作机械臂。
硬件说明
| 组件 | 型号 | 协议 | 说明 |
|---|---|---|---|
| 机械臂 | Jaka Mini2 (JAKA MiniCobo) | ROS2 topic | 6 DOF 协作机械臂,TCP 通信(默认 IP 192.168.1.xxx) |
| 夹爪 | Wheeltec MS42DC 步进电机 | ROS2 topic (step_motor/Motor) | 开度 0~0.13 m,USB CDC-ACM 串口,115200 baud |
| 相机 ×2 | USB UVC | ROS2 topic (CompressedImage) | 腕部 + 顶部,640×480 @ 30fps |
关键ROS2话题
| 话题 | 消息类型 | 方向 | 说明 |
|---|---|---|---|
| /jaka_driver/joint_position | sensor_msgs/JointState | 硬件 → SDK | 关节状态,10 Hz |
| /gripper_state | std_msgs/Float32 | 硬件 → SDK | 夹爪开度百分比 |
| /camera_top/image_raw/compressed | sensor_msgs/CompressedImage | 硬件 → SDK | 顶部相机 |
| /camera_wrist/image_raw/compressed | sensor_msgs/CompressedImage | 硬件 → SDK | 腕部相机 |
| /robot_command_servo_j | sensor_msgs/JointState | SDK → 硬件 | 机械臂 6 关节控制 |
| /motor_control | step_motor/Motor | SDK → 硬件 | 夹爪控制 |
依赖与环境
# 安装 ROS2 Humblesudo apt install ros-humble-desktop python3-colcon-common-extensions ros-humble-usb-cam # 克隆并编译 r2c_jaka ROS2 workspace git clone git@github.com:suhanwu/r2c_jaka.git cd ~/jaka_mini2/r2c_jaka colcon build source install/setup.bash # 安装 SDK cd /home/robot/project/r2c_sdk_python pip install -e .
环境激活顺序
source /opt/ros/humble/setup.bash source ~/jaka_mini2/r2c_jaka/install/setup.bash cd /home/robot/project/r2c_sdk_python
配置文件
使用 config/robot_mini2_ros_config.yaml
关键配置差异
Jaka Mini2配置与其他ROS2机器人的主要差异:
| 差异点 | Jaka Mini2 | 通用 ROS2 |
|---|---|---|
| 相机类型 | CompressedImage | Image 或 CompressedImage |
| 图像 transform | ros_compressed_image_to_ndarray → bgr_to_rgb → ndarray_to_jpeg | ros_image_to_jpeg |
| 夹爪消息类型 | step_motor.msg.Motor(自定义) | Float64MultiArray |
| 控制话题 | /robot_command_servo_j (JointState) | controller commands |
| 动作目标 | commands_by_publisher.jaka_control.data | 直接 target: publisher_name |
启动硬件节点
在跑SDK之前,需要先启动r2c_jaka的ROS2节点:
# 相机 + 夹爪(一键启动)
ros2 launch camera_c170 camera_and_motor.launch.py
# 机械臂控制(根据实际 IP 修改)
ros2 launch jaka_joint_control jaka_joint_control.launch.py robot_ip:=192.168.1.xxx 验证硬件话题:
ros2 topic hz /jaka_driver/joint_position # 预期 10 Hz ros2 topic hz /gripper_state # 预期 10 Hz ros2 topic hz /camera_top/image_raw/compressed # 预期 30 Hz
启动SDK
cd /home/robot/project/r2c_sdk_python source /opt/ros/humble/setup.bash source ~/jaka_mini2/r2c_jaka/install/setup.bash python -m r2c_sdk.cloudroboclient 配置文件名.zip --robot-config config/robot_mini2_ros_config.yaml
键盘控制
| 按键 | 功能 |
|---|---|
| Space键 | 暂停 / 恢复 |
| q键 | 退出 |
udev 规则(设备持久化)
# 夹爪串口持久化 sudo bash ~/jaka_mini2/r2c_jaka/src/step_motor/ch9102_udev.sh # 用户加入 dialout 组 sudo usermod -aG dialout $USER