# 清扫车 ROS2 控制与定位消息接口

## 1. 文档概述

清扫车 ROS2 控制与定位消息接口

## 2. 依赖环境



*   **ROS2 版本**：Humble 
*   **Ubuntu 版本**：2204



## 3. 消息（msg）文件详情

### 3.1 McCtrl.msg（车辆控制指令消息）


#### 字段定义



| 字段类型 | 字段名称                        | 取值范围 / 说明                                 | 功能描述                                                     |
| -------- | ------------------------------- | ----------------------------------------------- | ------------------------------------------------------------ |
| uint8    | brake                           | 0（开）、1（关）                                | 电磁刹控制：0 表示解除电磁刹，1 表示激活电磁刹               |
| uint8    | gear                            | 0（空挡）、1（前进）、2（后退）、3（保留）      | 车辆挡位控制，3 为预留挡位暂未使用                           |
| uint8    | rpm                             | 0-6000                                          | 电机转速指令，数值直接对应实际电机转速（rpm）                |
| float32  | angle                           | \[-66.0, 66.0]（分辨率 0.2°，建议适当缩减范围） | 轮端转向角度控制，单位为度（°）                              |
| uint16   | angle\_speed                    | 120-1500                                        | 转向角速度控制，单位为 rpm                                   |
| uint8    | roll\_brush\_suction\_direction | 0（不转动）、1（正转）、2（反转）               | 滚刷 & 吸风电机的转动方向控制                                |
| uint8    | roll\_brush\_suction            | 0-100                                           | 滚刷 & 吸风电机的功率 / 转速占空比（0 为停止，100 为最大）   |
| int8     | side\_brush                     | 0-100                                           | 边刷电机的功率 / 转速占空比（0 为停止，100 为最大）          |
| int8     | dust\_shake                     | 0-100                                           | 振尘电机的功率 / 转速占空比（0 为停止，100 为最大）          |
| int8     | brush\_deck\_pusher             | -100-100                                        | 刷盘推杆电机控制：正数为推杆伸出，负数为推杆收回，0 为停止   |
| int8     | suction\_squeeqee\_pusher       | -100-100                                        | 吸扒推杆电机控制：正数为推杆伸出，负数为推杆收回，0 为停止   |
| int8     | water\_spray                    | -100-100                                        | 喷水电机控制：正数为喷水（数值越大水量越大），负数为反向（如排水，需根据硬件支持调整），0 为停止 |

#### 对应 Topic



*   **Topic**：`/auto_mc_ctrl`



### 3.2 Rtk.msg（RTK 定位信息消息）


#### 字段定义



| 字段类型 | 字段名称   | 取值范围 / 说明                           | 功能描述                                                     |
| -------- | ---------- | ----------------------------------------- | ------------------------------------------------------------ |
| float64  | lat        | 无固定范围（符合 WGS84 坐标系经纬度格式） | 车辆所在位置的纬度 |
| float64  | lon        | 无固定范围（符合 WGS84 坐标系经纬度格式） | 车辆所在位置的经度 |
| float32  | head       | 0-360                                     | 车辆航向角（单位：度），0° 表示正北方向，顺时针递增          |
| float32  | speed      |                                         |    |
| int32    | p\_quality | 0-9    | 定位解状态<br />  0初始化， 1单点定位， 2码差分， 3无效PPS， 4固定解， 5浮点解， 6正在估算， 7，人工输入固定值， 8模拟模式， 9WAAS差分;<br />  固定解是最优解                   |
| int32    | h\_quality | 0-9    | 定向解状态<br />  0初始化， 1单点定位， 2码差分， 3无效PPS， 4固定解， 5浮点解， 6正在估算， 7，人工输入固定值， 8模拟模式， 9WAAS差分;<br />  固定解是最优解                   |

#### 对应 Topic



*   **Topic**：`/rtk_message`



## 4. 版本历史



| 版本 | 更新日期 | 更新内容                                                     | 开发者             |
| ---- | -------- | ------------------------------------------------------------ | ------------------ |
| V1.0 | 2025-09-02 | 初始版本，定义`McCtrl.msg`和`Rtk.msg`结构，明确 Topic  | \[zxwl] |
