readme file update
This commit is contained in:
107
README.md
107
README.md
@@ -1,2 +1,109 @@
|
||||
# hivecore_robot_motion
|
||||
|
||||
`hivecore_robot_motion` 是 HiveCore 机器人 OS1 的运动控制模块,基于 ROS 2(Humble)和 MoveIt 2,提供双臂运动规划与执行、底盘/腰部/腿部控制、以及硬件与安全相关服务。
|
||||
|
||||
## 仓库结构
|
||||
|
||||
```text
|
||||
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.xml`
|
||||
- `src/robot_control/CMakeLists.txt`
|
||||
|
||||
## 构建
|
||||
|
||||
在工作空间根目录(例如 `hivecore_robot_os1/`)执行:
|
||||
|
||||
```bash
|
||||
colcon build --symlink-install --packages-select dual_arm_description dual_arm_moveit_config robot_control
|
||||
source install/setup.bash
|
||||
```
|
||||
|
||||
如果只编译本仓库包,也可以在当前目录执行:
|
||||
|
||||
```bash
|
||||
colcon build --symlink-install --base-paths src
|
||||
source install/setup.bash
|
||||
```
|
||||
|
||||
## 运行示例
|
||||
|
||||
### 1) 启动 robot_control(自动拉起 move_group)
|
||||
|
||||
```bash
|
||||
ros2 launch robot_control robot_control.launch.py
|
||||
```
|
||||
|
||||
### 2) 启动 MoveIt(带 RViz)
|
||||
|
||||
```bash
|
||||
ros2 launch dual_arm_moveit_config move_group_with_rviz.launch.py
|
||||
```
|
||||
|
||||
### 3) 仅查看机器人模型(description + RViz)
|
||||
|
||||
```bash
|
||||
ros2 launch dual_arm_description display.launch.py
|
||||
```
|
||||
|
||||
### 4) 右臂关节测试节点
|
||||
|
||||
```bash
|
||||
ros2 launch robot_control right_arm_joint_test.launch.py
|
||||
```
|
||||
|
||||
可选参数(来自 launch 文件):
|
||||
|
||||
- `use_action`:`true/false`,是否使用 FollowJointTrajectory action
|
||||
- `action_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 路径是否可读。
|
||||
|
||||
Reference in New Issue
Block a user