sweeper_whu/README.md
2025-09-16 11:28:24 +08:00

131 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 清扫车 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-6000 | 电机转速指令数值直接对应实际电机转速rpm |
| float32 | angle | \[-66.0, 66.0](分辨率 0.2°,建议适当缩减范围) | 轮端转向角度控制,单位为度(°) |
| uint16 | angle\_speed | 120-1500 | 转向角速度控制,单位为 rpm |
| bool | sweep | true:清扫 false:不清扫 | 清扫 |
#### 对应 Topic
* **Topic**`/auto_mc_ctrl`
### 3.2 Rtk.msgRTK 定位信息消息)
#### 字段定义
| 字段类型 | 字段名称 | 取值范围 / 说明 | 功能描述 |
| -------- | ---------- | ----------------------------------------- | ------------------------------------------------------------ |
| 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] |