docs: update usage guide for chassis_node, laser topic, and field names

- Add chassis_node to pipeline table and startup instructions
- Fix laser topic from /gimbal/mode to /laser/command
- Add chassis mode switch and PID tuning sections
- Fix gimbal PID field names to match API.md (visual_*/angle_*)
- Fix gimbal baud rate to 921600 in troubleshooting
This commit is contained in:
dev01
2026-06-07 13:37:37 +08:00
parent 415a00cfbe
commit 3f956d5f29
+60 -13
View File
@@ -24,7 +24,7 @@ source install/setup.bash
ros2 launch bringup_pkg vision_pipeline.launch.py
```
启动后包含四个节点:
启动后包含五个节点:
| 节点 | 包 | 功能 |
|------|-----|------|
@@ -32,6 +32,7 @@ ros2 launch bringup_pkg vision_pipeline.launch.py
| vision_node | algorithm_pkg | 图像处理 + 目标检测 |
| web_node | application_pkg | HTTP 服务、预览 + API |
| gimbal_node | gimbal_control_pkg | 云台串口通信 |
| chassis_node | chassis_control_pkg | 底盘串口通信 |
## 3. 分别启动
@@ -47,6 +48,9 @@ ros2 run application_pkg web_node
# 云台通信(默认串口 /dev/ttyTHS1)
ros2 run gimbal_control_pkg gimbal_node
# 底盘通信(默认串口 /dev/ttyCH341USB0)
ros2 run chassis_control_pkg chassis_node
```
gimbal_node 支持串口参数覆盖:
@@ -55,6 +59,12 @@ gimbal_node 支持串口参数覆盖:
ros2 run gimbal_control_pkg gimbal_node --ros-args -p serial_port:=/dev/ttyUSB0
```
chassis_node 同样支持串口参数覆盖:
```bash
ros2 run chassis_control_pkg chassis_node --ros-args -p serial_port:=/dev/ttyUSB1
```
## 4. 接入前端(可选)
前端依赖已集成在 launch 文件中,一键启动即可。首次使用需安装依赖:
@@ -88,17 +98,17 @@ Nginx 负责三件事:
```bash
# 自动追踪模式
curl -X POST http://localhost:8080/api/mode/switch \
curl -X POST http://localhost:8080/api/gimbal/mode/switch \
-H "Content-Type: application/json" \
-d '{"mode": "auto"}'
# 手动控制模式
curl -X POST http://localhost:8080/api/mode/switch \
curl -X POST http://localhost:8080/api/gimbal/mode/switch \
-H "Content-Type: application/json" \
-d '{"mode": "manual"}'
# 调试模式
curl -X POST http://localhost:8080/api/mode/switch \
curl -X POST http://localhost:8080/api/gimbal/mode/switch \
-H "Content-Type: application/json" \
-d '{"mode": "debug"}'
```
@@ -109,6 +119,31 @@ curl -X POST http://localhost:8080/api/mode/switch \
ros2 topic pub /gimbal/mode std_msgs/String "data: 'auto'"
```
### 底盘模式切换
```bash
# 自动模式
curl -X POST http://localhost:8080/api/chassis/mode/switch \
-H "Content-Type: application/json" \
-d '{"mode": "auto"}'
# 手动模式
curl -X POST http://localhost:8080/api/chassis/mode/switch \
-H "Content-Type: application/json" \
-d '{"mode": "manual"}'
# 调试模式
curl -X POST http://localhost:8080/api/chassis/mode/switch \
-H "Content-Type: application/json" \
-d '{"mode": "debug"}'
```
也可直接通过 ROS2 话题发送:
```bash
ros2 topic pub /chassis/mode std_msgs/String "data: 'auto'"
```
## 6. 激光控制
```bash
@@ -126,8 +161,8 @@ curl -X POST http://localhost:8080/api/laser \
也可直接通过 ROS2 话题发送:
```bash
ros2 topic pub /gimbal/mode std_msgs/String "data: 'laser_on'"
ros2 topic pub /gimbal/mode std_msgs/String "data: 'laser_off'"
ros2 topic pub /laser/command std_msgs/String "data: 'on'"
ros2 topic pub /laser/command std_msgs/String "data: 'off'"
```
## 7. 手动控制云台
@@ -140,18 +175,29 @@ ros2 topic pub /cmd_gimbal geometry_msgs/Twist \
## 8. PID 调参(调试模式)
先切换到 debug 模式,然后通过 `/pid_config` 话题发送参数:
先切换到 debug 模式,然后通过 `/web/gimbal_pid_config` 话题发送参数:
```bash
ros2 topic pub /pid_config std_msgs/String \
'{"vision_yaw": {"kp": 1.0, "ki": 0.0, "kd": 0.0},
"vision_pitch": {"kp": 1.0, "ki": 0.0, "kd": 0.0},
"motor_yaw": {"kp": 1.0, "ki": 0.0, "kd": 0.0},
"motor_pitch": {"kp": 1.0, "ki": 0.0, "kd": 0.0}}'
ros2 topic pub /web/gimbal_pid_config std_msgs/String \
'{"visual_yaw": {"kp": 1.0, "ki": 0.0, "kd": 0.0},
"visual_pitch": {"kp": 1.0, "ki": 0.0, "kd": 0.0},
"angle_yaw": {"kp": 1.0, "ki": 0.0, "kd": 0.0},
"angle_pitch": {"kp": 1.0, "ki": 0.0, "kd": 0.0}}'
```
参数立即生效,调试完毕后切回 auto 或 manual 模式。
### 底盘 PID 调参
先切换底盘到 debug 模式,然后通过 `/web/chassis_pid_config` 话题发送参数:
```bash
ros2 topic pub /web/chassis_pid_config std_msgs/String \
'{"speed": {"kp": 1.0, "ki": 0.0, "kd": 0.0},
"angle": {"kp": 1.0, "ki": 0.0, "kd": 0.0},
"position": {"kp": 1.0, "ki": 0.0, "kd": 0.0}}'
```
## 9. 查看话题
```bash
@@ -187,6 +233,7 @@ colcon test-result --all
|------|--------|
| 相机打不开 | SDK 是否安装、相机是否连接、`/opt/MVS/` 路径是否正确 |
| 视觉画面无结果 | `/camera/image_raw` 是否有数据 |
| 云台无反应 | 串口 `/dev/ttyTHS1` 是否存在、波特率 115200 是否匹配 |
| 云台无反应 | 串口 `/dev/ttyTHS1` 是否存在、波特率 921600 是否匹配 |
| 底盘无反应 | 串口 `/dev/ttyCH341USB0` 是否存在、波特率 115200 是否匹配 |
| 模式切换报错 | web_node 是否在 :8080 端口运行 |
| MJPEG 不出画面 | web_video_server 是否运行、proxy_buffering 是否设为 off |