跳转到正文

结束实验

本页说明飞行演示结束后的安全降落、上锁、程序退出和设备断电顺序。结束实验时应始终遵循“先确保无人机安全落地并上锁,再依次停止算法、飞控通信、定位服务和容器”的原则。

1. 正常结束飞行

  1. 在地面站中停止算法,确保不再发送新的目标位置或速度指令。
  2. 在 RViz 中点击“降落”。
  3. 等待无人机完全落地、螺旋桨停止。
  4. 在 RViz 中点击“上锁”。
  5. 断开无人机动力电池前,再次确认电机不会转动。

禁止空中断开链路

无人机仍在空中时,不要关闭 VRPN、fcu_core、Docker 容器或 Windows 动捕服务,也不要直接拔掉飞控通信设备。否则无人机可能因位姿或控制链路突然中断而失控。

2. 停止 ROS 2 程序

依次在各终端按 Ctrl+C

  1. 停止地面站算法相关程序;
  2. 停止终端 E 中的 fcu_core 和 RViz;
  3. 停止终端 C 中的 VRPN 客户端;
  4. 关闭终端 B 中的地面站 UI;
  5. 最后停止 Windows 动捕 VRPN 服务。

如果有残留的项目 ROS 2 进程,可在容器中检查:

bash
ros2 node list

项目也提供工作空间停止脚本:

bash
cd /home/linuxbrew/swarmlab_simulator_ws/sh
bash stop.sh

使用该脚本前应先确保无人机已落地并上锁,因为它会终止相关 ROS 2 进程。

3. 停止容器并收回 X11 权限

在终端 A 按 Ctrl+C 停止 Compose。必要时进入 Compose 目录执行:

bash
cd <AISWARMLAB_ROOT>/docker/service/swarm_control_service
docker compose down

最后在宿主机收回显示权限:

bash
xhost -local:docker

4. 快速结束清单

text
停止算法 → 降落 → 等待落地 → 上锁 → 停止 fcu_core
→ 停止 VRPN → 关闭地面站 → 停止容器 → 收回 X11 权限