English Version | 中文版 | 官方淘宝店 | Alicia-D 产品手册(中文)
Alicia-D ROS2 是一个用于控制【灵动 Alicia-D】系列六轴机械臂(带夹爪)的 ROS 工具包。它基于 ROS 2 Humble 构建,提供通过串口通信控制机械臂运动、操作夹爪、读取姿态与状态数据等功能。
- ros2_control 集成:基于标准的 ros2_control 硬件接口,支持与 MoveIt2 无缝集成。
- MoveIt2 支持:完整的 MoveIt2 运动规划与执行功能。
- 关节控制:支持设置与读取六个关节的角度,提供平滑轨迹执行。
- 夹爪控制:支持精确位置控制,适配 50mm 和 100mm 两种夹爪类型。
- 实时状态反馈:实时获取关节角、夹爪位置与机器人状态。
- 自动固件检测:自动检测固件版本或手动指定(支持 V5 和 V6 固件)。
- 串口通信:自动搜索串口或手动指定,支持高波特率通信。
- 零位校准:将当前位置设置为新的零点。
- 扭矩开关:开启或关闭关节电机扭矩,实现自由拖动示教。
alicia_d_driver/
├── include/alicia_d_driver/
│ ├── alicia_d_hardware_interface.hpp # 硬件接口头文件
│ └── alicia_d_driver_node.hpp # 独立驱动节点
├── src/
│ ├── alicia_d_hardware_interface.cpp # 硬件接口实现
│ ├── alicia_d_driver_node.cpp # 独立驱动
│ └── serial_communicator.cpp # 串口通信
├── launch/
│ └── alicia_d_driver.launch.py # 独立驱动启动
├── alicia_d_driver.xml # 插件描述
└── CMakeLists.txt
alicia_d_moveit/
├── config/
│ ├── alicia_d_descriptions.ros2_control.xacro # 硬件接口配置
│ ├── ros2_controllers.yaml # 控制器配置
│ ├── moveit_controllers.yaml # MoveIt 控制器映射
│ └── ... # 其他 MoveIt 配置
├── launch/
│ ├── real_robot.launch.py # 真实机械臂启动
│ ├── demo.launch.py # 仿真启动
│ └── ... # 其他启动文件
└── package.xml
sudo usermod -a -G dialout $USER然后需要完全注销并重新登录!
或临时设置:
sudo chmod 666 /dev/ttyCH341USB0mkdir -p ~/alicia_ws/src
cd ~/alicia_ws
git clone https://github.com/Synria-Robotics/Alicia-D-ROS2.git -b v6.0.0 ./src
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select alicia_d_driver alicia_d_moveit
source install/setup.bashros2 launch alicia_d_moveit real_robot.launch.py使用自定义参数:
ros2 launch alicia_d_moveit real_robot.launch.py \
robot_version:=v5_6 \
gripper_type:=100mm \
port:=/dev/ttyCH341USB0 \
baud_rate:=1000000 \
firmware_version:=auto| 参数 | 默认值 | 说明 |
|---|---|---|
robot_version |
v5_6 |
机械臂版本 (v5_5 或 v5_6) |
gripper_type |
50mm |
夹爪行程 (50mm 或 100mm) |
port |
/dev/ttyUSB0 |
串口设备 |
baud_rate |
1000000 |
串口波特率 |
firmware_version |
auto |
固件版本 (5.0.0, 6.0.0, 或 auto 自动检测) |
ros2 launch alicia_d_moveit real_robot.launch.py \
robot_version:=v5_6 \
gripper_type:=50mm \
port:=/dev/ttyCH341USB0 \
baud_rate:=1000000 \
firmware_version:=autoros2 launch alicia_d_moveit demo.launch.py \
robot_version:=v5_6 \
gripper_type:=50mmros2 launch alicia_d_driver alicia_d_driver.launch.py \
port:=/dev/ttyCH343USB0 \
gripper_type:=100mm \
firmware_version:=6.0.0- 设置目标状态:拖动交互式标记点
- 规划运动:点击 "Plan" 按钮
- 执行运动:点击 "Execute" 或 "Plan & Execute"
启动独立驱动:
ros2 launch alicia_d_driver alicia_d_driver.launch.py port:=/dev/ttyUSB0 gripper_type:=100mm firmware_version:=6.0.0
ros2 topic pub --once /demonstration std_msgs/msg/Bool "{data: true}"ros2 topic pub --once /demonstration std_msgs/msg/Bool "{data: false}"步骤 1:禁用力矩
ros2 topic pub --once /demonstration std_msgs/msg/Bool "{data: true}"步骤 2:将机械臂放置到期望的姿势
步骤 3:执行校准
ros2 topic pub --once /zero_calibrate std_msgs/msg/Bool "{data: true}"问题:无法连接到串口
解决方案:
- 检查线缆连接
- 验证端口名称:
ls /dev/tty* - 检查权限:
ls -l /dev/ttyCH341USB0 - 将用户添加到 dialout 组:
sudo usermod -a -G dialout $USER
问题:控制器启动失败
解决方案:
- 检查硬件接口:
ros2 control list_hardware_interfaces - 检查控制器:
ros2 control list_controllers - 验证机械臂已连接并通电
问题:规划成功但执行失败
解决方案:
- 验证固件版本是否正确检测(查看日志)
- 确保夹爪类型与硬件匹配(50mm vs 100mm)
- 使用
debug_mode:=true监控串口通信 - 尝试显式指定固件版本:
firmware_version:=5.0.0
详细文档请参阅:
- 完整使用指南 - 详细的安装、配置和使用说明
- MoveIt 2 文档
- ros2_control 文档
- ROS2 Humble 文档
MoveIt → Joint Trajectory Controllers → ros2_control → Hardware Interface → Serial → Robot
↓
Joint State Publisher
↓
/joint_states
- 始终准备好紧急停止
- 在执行运动前清理工作区域
- 从慢速开始
- 首先在仿真中测试
- 在操作过程中监控机械臂
如有问题或疑问:
- 查看故障排除部分
- 查看 ROS 日志:
~/.ros/log/ - 启用调试模式:
debug_mode:=true - 检查硬件连接和固件版本
