# 更新日志 ## 2026-03-05 - Sentry 分支重大更新 ### 🎯 核心架构重构 #### 1. 决策节点 (rm_decision) - ✅ 新增决策节点作为系统核心控制器 - ✅ 整合视觉自瞄控制(云台)和运动控制(底盘) - ✅ 订阅话题:`/data_mcu`, `/data_ref`, `/vision/aim`, `/nav_status`, `/cmd_vel_move` - ✅ 发布话题:`/data_ai` (综合控制), `/nav_goal` (导航目标) - ✅ 50Hz 控制频率,实时决策 #### 2. 消息系统重构 - ✅ 新增 `DataAim.msg` - 视觉自瞄控制(仅云台) - ✅ 新增 `ChassisMode.msg` - 底盘模式定义 - ✅ 新增 `GimbalState.msg` - 云台状态数据 - ✅ 修改 `DataAI.msg` - 综合控制指令(云台+底盘) #### 3. 视觉系统 ROS2 集成 - ✅ 创建 `GimbalROS` 适配器,替代直接串口通信 - ✅ 订阅 `/data_mcu` 获取云台状态 - ✅ 发布 `/vision/aim` 输出云台控制指令 - ✅ 修改所有视觉任务文件使用 ROS2 接口 - ✅ 创建 `rm_vision_bringup` 包,支持标准 ROS2 启动 #### 4. 视觉系统标准化 - ✅ 添加 `package.xml` 使 rm_vision 成为标准 ROS2 包 - ✅ 添加 install 规则,可执行文件和配置文件正确安装 - ✅ 创建 `sentry_vision.launch.py` - Sentry 专用启动文件 - ✅ 创建 `calibration.launch.py` - 统一标定工具启动 - ✅ 支持参数化启动不同类型的视觉程序 #### 5. 运动控制增强 - ✅ `rm_simple_move` 订阅 `/cmd_vel_move` 输出底盘速度 - ✅ 决策节点整合底盘速度到 `/data_ai` 消息 ### 📊 数据流架构 ``` MCU (下位机) ↕ 串口 Serial Driver ↓ /data_mcu, /data_ref, /gimbal/state ↓ Vision System ──→ /vision/aim ──→ Decision Node ←── /nav_status ↓ ↑ /nav_goal /cmd_vel_move ↓ ↑ Simple Move ────────┘ ↓ Nav2 Stack ``` ### 🚀 启动方式改进 **之前(复杂):** ```bash cd build/mr_vision && ./standard_mpc configs/standard4.yaml ``` **现在(标准化):** ```bash ros2 launch rm_vision_bringup sentry_vision.launch.py ``` ### 🎯 Sentry 专用支持 - ✅ 默认使用 `sentry.yaml` 配置 - ✅ 专用启动文件 `sentry_vision.launch.py` - ✅ 完整的标定工具链支持 ### 📝 文档更新 - ✅ 完善 README.md,添加完整的系统架构图 - ✅ 添加详细的启动流程说明 - ✅ 添加话题接口文档 - ✅ 添加标定工具使用指南 - ✅ 添加测试命令和调试技巧 ### 🔧 技术改进 - ✅ 所有模块统一使用 ROS2 标准接口 - ✅ 消息类型明确分离(云台/底盘) - ✅ 决策节点作为唯一的控制指令输出点 - ✅ 支持 50Hz 高频控制循环 - ✅ 线程安全的数据访问(mutex 保护) ### 📦 新增包 - `rm_decision` - 决策节点 - `rm_vision_bringup` - 视觉系统启动包 ### 🐛 修复问题 - ✅ 修复视觉系统 ROS2 类型支持库链接问题 - ✅ 修复 `capture.cpp` 缺少 node 参数传递 - ✅ 修复多个视觉任务文件缺少 ROS2 头文件 - ✅ 修复 launch 文件可执行文件路径错误 ### 📋 待完成 - ⏳ 一键启动脚本 `full_system.launch.py` - ⏳ 完整的系统测试和验证 - ⏳ 性能优化和参数调优 --- ## 使用说明 ### 完整启动流程 ```bash # 1. 串口驱动 ros2 launch rm_serial_driver serial_driver.launch.py # 2. 导航系统 ros2 launch rm_nav_bringup nav.launch.py # 3. Sentry 视觉系统 ros2 launch rm_vision_bringup sentry_vision.launch.py # 4. 决策节点 ros2 launch rm_decision decision.launch.py ``` ### 标定工具 ```bash # 采集标定图像 ros2 launch rm_vision_bringup calibration.launch.py calibration_type:=capture # 标定相机 ros2 launch rm_vision_bringup calibration.launch.py calibration_type:=calibrate_camera # 手眼标定 ros2 launch rm_vision_bringup calibration.launch.py calibration_type:=calibrate_handeye ``` --- **青岛理工大学 QUT MOVE 战队** | RoboMaster 2026