# 清扫车 ROS2 控制与定位消息接口 ## 1. 文档概述 清扫车 ROS2 控制与定位消息接口 ## 2. 依赖环境 ### 2.1 系统环境 * **ROS2 版本**:Humble * **Ubuntu 版本**:2204 ### 2.2 .deb的安装、启动与卸载 在目标机器上执行: ```bash sudo dpkg -i controller_XXXX_arm64.deb ``` 如果提示依赖缺失(比如 ros-humble-ros-base 没装),可以让 apt 自动补全: ```bash sudo apt-get -f install ``` 安装完成后,文件会放到: 工作空间:/opt/controller/ 启动脚本:/opt/controller/start_all.sh systemd 服务:/etc/systemd/system/controller.service 驱动会开机自启, 如果要手动启动/重启: ```bash sudo systemctl start controller.service sudo systemctl restart controller.service ``` 查看运行状态(是否正常启动节点): ```bash sudo systemctl status controller.service ``` 查看日志 : systemd 管理的服务日志可以通过 journalctl 查看: ```bash sudo journalctl -u controller.service -f ``` 停止 ```bash sudo systemctl stop controller.service ``` 禁用开机启动: ```bash sudo systemctl disable controller.service ``` 卸载 deb 包: ```bash sudo dpkg -r controller ``` ## 3. 消息(msg)文件详情 ### 3.1 McCtrl.msg(车辆控制指令消息) #### 字段定义 | 字段类型 | 字段名称 | 取值范围 / 说明 | 功能描述 | | -------- | ------------------------------- | ----------------------------------------------- | ------------------------------------------------------------ | | uint8 | brake | 0(不刹)、1(刹) | 电磁刹控制:0 表示解除电磁刹,1 表示激活电磁刹 | | uint8 | gear | 0(空挡)、1(后退)、2(前进)、3(保留) | 车辆挡位控制,3 为预留挡位暂未使用 | | uint8 | rpm | 0-4000 | 电机转速指令,数值直接对应实际电机转速(rpm) | | float32 | angle | \[-40.0, 40.0] | 轮端转向角度控制,单位为度(°),[-左、+右] | | uint16 | angle\_speed | 120-1500 | 转向角速度控制,单位为 rpm | | bool | sweep | true(清扫)、false(不清扫) | 清扫 | #### 对应 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 | 定位解状态
0初始化, 1单点定位, 2码差分, 3无效PPS, 4固定解, 5浮点解, 6正在估算, 7,人工输入固定值, 8模拟模式, 9WAAS差分;
固定解是最优解 | | int32 | h\_quality | 0-9 | 定向解状态
0初始化, 1单点定位, 2码差分, 3无效PPS, 4固定解, 5浮点解, 6正在估算, 7,人工输入固定值, 8模拟模式, 9WAAS差分;
固定解是最优解 | #### 对应 Topic * **Topic**:`/rtk_message` ## 4. 版本历史 | 版本 | 更新日期 | 更新内容 | 开发者 | | ---- | -------- | ------------------------------------------------------------ | ------------------ | | V1.0 | 2025-09-02 | 初始版本,定义`McCtrl.msg`和`Rtk.msg`结构,明确 Topic | \[zxwl] | | V1.1 | 2025-09-16 | controller.deb的安装、启动与卸载 | \[zxwl] |