add README
This commit is contained in:
parent
cf39b1ac7c
commit
7ec6c8189e
77
README.md
Normal file
77
README.md
Normal file
@ -0,0 +1,77 @@
|
||||
# 清扫车 ROS2 控制与定位消息接口
|
||||
|
||||
## 1. 文档概述
|
||||
|
||||
清扫车 ROS2 控制与定位消息接口
|
||||
|
||||
## 2. 依赖环境
|
||||
|
||||
|
||||
|
||||
* **ROS2 版本**:Humble
|
||||
|
||||
|
||||
|
||||
## 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] |
|
||||
@ -1,9 +1,9 @@
|
||||
#!/bin/bash
|
||||
###############################################################################
|
||||
# ros2_nodes.sh
|
||||
# 一键启动 / 停止 / 重启 / 状态查询 13 个 ROS 2 节点(或仅核心 4 节点)
|
||||
# 一键启动 / 停止 / 重启 / 状态查询 6 个 ROS 2 节点(或仅核心 4 节点)
|
||||
# 用法:
|
||||
# ./ros2_nodes.sh start # 默认启动全部 13 节点
|
||||
# ./ros2_nodes.sh start # 默认启动全部 6 节点
|
||||
# ./ros2_nodes.sh start all # 同上
|
||||
# ./ros2_nodes.sh start core # 仅启动 4 个核心节点
|
||||
# ./ros2_nodes.sh stop # 停止
|
||||
@ -13,7 +13,7 @@
|
||||
###############################################################################
|
||||
|
||||
##== 基本路径与环境 ===========================================================
|
||||
WORKSPACE_PATH="/home/nvidia/sweeper_e800"
|
||||
WORKSPACE_PATH="/home/nvidia/Downloads/sweeper_whu"
|
||||
source "$WORKSPACE_PATH/install/setup.bash"
|
||||
|
||||
##== 日志目录与轮换配置 =======================================================
|
||||
@ -23,23 +23,13 @@ MAX_LOG_FILES=5 # 保留文件数
|
||||
|
||||
##== 节点命令列表 ==============================================================
|
||||
|
||||
# 1) 全量 13 节点(键名 = 节点标识 , 值 = 启动命令)
|
||||
# 1) 全量 6 节点(键名 = 节点标识 , 值 = 启动命令)
|
||||
declare -A NODES_ALL=(
|
||||
# ---- 核心 4 节点 ----
|
||||
# ["mc"]="ros2 run mc mc_node"
|
||||
["mc"]="ros2 run mc mc_node"
|
||||
["radio_ctrl"]="ros2 run radio_ctrl radio_ctrl_node"
|
||||
["ctrl_arbiter"]="ros2 run ctrl_arbiter ctrl_arbiter_node"
|
||||
["mqtt_report"]="ros2 run mqtt_report mqtt_report_node"
|
||||
|
||||
# ---- 新增 9 节点 ----
|
||||
["rslidar_sdk"]="ros2 launch rslidar_sdk start.py"
|
||||
["rtk"]="ros2 run rtk rtk_node"
|
||||
["route"]="ros2 run route route_node"
|
||||
["sub"]="ros2 run sub sub_node"
|
||||
["task_manager"]="ros2 run task_manager task_manager_node"
|
||||
["detect_line"]="ros2 run detect_line detect_line_node"
|
||||
["pl"]="ros2 run pl pl_node"
|
||||
["fu"]="ros2 run fu fu_node"
|
||||
["pub_gps"]="ros2 run pub_gps pub_gps_node"
|
||||
)
|
||||
|
||||
@ -195,6 +185,6 @@ case "$1" in
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|rotate|status} [core|all]"
|
||||
echo " core : 仅启动 4 个核心节点 (mc radio_ctrl ctrl_arbiter mqtt_report)"
|
||||
echo " all : 启动全部 13 个节点 (默认)"
|
||||
echo " all : 启动全部 6 个节点 (默认)"
|
||||
;;
|
||||
esac
|
||||
|
||||
6
run.sh
6
run.sh
@ -21,12 +21,6 @@ sleep 0.2s
|
||||
}
|
||||
sleep 0.2s
|
||||
|
||||
{
|
||||
# gnome-terminal --title="rslidar_sdk" --tab "XXD_ros" -- bash -c "ros2 launch rslidar_sdk start.py"
|
||||
gnome-terminal --title="lidar" --tab "XXD_ros" -- bash -c "ros2 launch rslidar_sdk start_double.launch.py"
|
||||
}&
|
||||
sleep 0.2s
|
||||
|
||||
{
|
||||
gnome-terminal --title="rtk" --tab "XXD_ros" -- bash -c "ros2 run rtk rtk_node"
|
||||
}&
|
||||
|
||||
Loading…
Reference in New Issue
Block a user