3.2 KiB
3.2 KiB
hivecore_robot_motion
hivecore_robot_motion 是 HiveCore 机器人 OS1 的运动控制模块,基于 ROS 2(Humble)和 MoveIt 2,提供双臂运动规划与执行、底盘/腰部/腿部控制、以及硬件与安全相关服务。
仓库结构
hivecore_robot_motion/
├── src/
│ ├── robot_control/ # 核心运动控制包(节点、Action、Service、Controller)
│ ├── dual_arm_description/ # 双臂机器人 URDF/描述文件
│ └── dual_arm_moveit_config/ # MoveIt 配置与启动文件
└── docs/ # 设计文档(PTP/LIN/轨迹融合等)
robot_control 采用分层设计:
actions/:Action 服务端,负责协调任务流程controllers/:底层控制器,封装硬件控制逻辑services/:对外提供 ROS Service 能力core/:统一管理控制器/服务/动作实例utils/:轨迹与工具函数
主要功能
- 双臂运动控制(MoveIt 规划与执行)
- 底盘、腿部、腰部基础运动控制
- 运动学、硬件、状态、安全等服务接口
- 轨迹插补与平滑(梯形/S 曲线/轨迹融合)
环境依赖
建议环境:
- Ubuntu + ROS 2 Humble
- colcon / ament_cmake
- MoveIt 2(
moveit_core、moveit_ros_planning_interface等)
robot_control 包内依赖可参考:
src/robot_control/package.xmlsrc/robot_control/CMakeLists.txt
构建
在工作空间根目录(例如 hivecore_robot_os1/)执行:
colcon build --symlink-install --packages-select dual_arm_description dual_arm_moveit_config robot_control
source install/setup.bash
如果只编译本仓库包,也可以在当前目录执行:
colcon build --symlink-install --base-paths src
source install/setup.bash
运行示例
1) 启动 robot_control(自动拉起 move_group)
ros2 launch robot_control robot_control.launch.py
2) 启动 MoveIt(带 RViz)
ros2 launch dual_arm_moveit_config move_group_with_rviz.launch.py
3) 仅查看机器人模型(description + RViz)
ros2 launch dual_arm_description display.launch.py
4) 右臂关节测试节点
ros2 launch robot_control right_arm_joint_test.launch.py
可选参数(来自 launch 文件):
use_action:true/false,是否使用 FollowJointTrajectory actionaction_name:默认/right_arm_controller/follow_joint_trajectory
开发说明
- C++ 标准:
C++17 - 主可执行文件:
robot_control_node - 测试可执行文件:
right_arm_joint_test - 设计文档位于
docs/
推荐遵循以下约束:
- Action 层不直接操作硬件
- Controller 层不依赖 Action 实现
- 统一使用
RCLCPP_*日志,避免std::cout/printf - 对外接口保持清晰的成功/失败返回语义
常见问题
- 找不到 MoveIt 相关依赖:确认已安装 ROS 2 Humble 对应 MoveIt 2 组件,并已
source /opt/ros/humble/setup.bash。 - launch 失败提示包不存在:确认已完成
colcon build并正确source install/setup.bash。 - 运行无模型显示:优先检查
dual_arm_description包是否已成功安装,以及 URDF 路径是否可读。