sweeper_whu/README.md

133 lines
4.5 KiB
Markdown
Raw Normal View History

2025-09-02 17:16:28 +08:00
# 清扫车 ROS2 控制与定位消息接口
## 1. 文档概述
清扫车 ROS2 控制与定位消息接口
## 2. 依赖环境
2025-09-16 11:28:24 +08:00
### 2.1 系统环境
2025-09-02 17:16:28 +08:00
* **ROS2 版本**Humble
* **Ubuntu 版本**2204
2025-09-02 17:16:28 +08:00
2025-09-16 11:28:24 +08:00
### 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
```
2025-09-02 17:16:28 +08:00
2025-09-16 11:28:24 +08:00
查看运行状态(是否正常启动节点):
```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
```
2025-09-02 17:16:28 +08:00
## 3. 消息msg文件详情
### 3.1 McCtrl.msg车辆控制指令消息
#### 字段定义
| 字段类型 | 字段名称 | 取值范围 / 说明 | 功能描述 |
| -------- | ------------------------------- | ----------------------------------------------- | ------------------------------------------------------------ |
2025-09-16 13:16:03 +08:00
| uint8 | brake | 0不刹、1 | 电磁刹控制0 表示解除电磁刹1 表示激活电磁刹 |
2025-09-16 11:28:24 +08:00
| uint8 | gear | 0空挡、1后退、2前进、3保留 | 车辆挡位控制3 为预留挡位暂未使用 |
2025-09-16 13:16:03 +08:00
| uint8 | rpm | 0-4000 | 电机转速指令数值直接对应实际电机转速rpm |
| float32 | angle | \[-40.0, 40.0] | 轮端转向角度控制,单位为度(°),[-左、+右] |
2025-09-02 17:16:28 +08:00
| uint16 | angle\_speed | 120-1500 | 转向角速度控制,单位为 rpm |
2025-09-16 13:16:03 +08:00
| bool | sweep | true清扫、false不清扫 | 清扫 |
2025-09-16 11:28:24 +08:00
2025-09-02 17:16:28 +08:00
#### 对应 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 /> 固定解是最优解 |
2025-09-02 17:16:28 +08:00
#### 对应 Topic
* **Topic**`/rtk_message`
## 4. 版本历史
| 版本 | 更新日期 | 更新内容 | 开发者 |
| ---- | -------- | ------------------------------------------------------------ | ------------------ |
2025-09-23 14:05:44 +08:00
| V1.0 | 2025-09-17 | 初始版本,定义`McCtrl.msg`和`Rtk.msg`结构,明确 Topic | \[zxwl] |
| V1.1 | 2025-09-22 | controller.deb的安装、启动与卸载 | \[zxwl] |
2025-09-16 13:16:03 +08:00