跳转到正文

无人机飞行工作前言

本部分内容面向第一次接触 ROS 2、Docker、动捕系统和本项目地面站的用户,指导实验室新手从容器环境准备开始,完成动捕位姿接入、无人机起飞、算法演示和安全关机等操作。

1. 软硬件环境

项目类别当前配置
操作系统Ubuntu 22.04
ROS 2 版本Humble
项目工作空间swarmlab_simulator_ws
Docker 容器aiswarmlab_vrpn
Docker 镜像aiswarmlab_control:ros2_cmdvel_bridge_v2
动捕发送端Windows 系统 NOKOV 动捕软件
无人机Fanci(幻思)无人机

不建议随意更改操作系统以及与之相对应的 ROS 2 版本,因为不同版本对应的系统库、编译器、Python、ROS 2 接口及第三方依赖可能不同,原有代码和编译结果不一定兼容;同时显卡驱动、串口、相机、网络和 DDS 通信等功能还会受到宿主机内核与驱动环境影响,因此随意修改版本可能导致依赖缺失、编译失败、节点无法启动或设备无法正常使用,通常应固定原有环境,确需升级时再重新安装依赖、清理编译文件并完整测试。

2. 系统数据链路

整套系统的数据流如下:

text
Windows 动捕软件

    │  VRPN,默认 10.1.1.198:3883

vrpn_client_ros(Docker 容器)

    │  发布 PoseStamped 位姿

fcu_core(Docker 容器)

    │  位姿反馈、解锁、起飞、任务指令

Fanci 无人机



AISWARMLAB 地面站 UI

    └── 读取 ROS 2 状态,配置算法、场景和评估参数

3. 终端分工

建议至少准备 5 个终端,不要在同一终端中覆盖正在运行的程序。

终端运行位置用途
AUbuntu 宿主机启动 Docker Compose,观察容器状态
BDocker 容器编译并启动地面站 UI
CDocker 容器启动 VRPN 客户端
DDocker 容器检查 ROS 2 节点、话题和位姿
EDocker 容器启动 fcu_core 和 RViz

4. 起飞前安全要求

  • 清空飞行区域,人员与无人机保持安全距离;
  • 检查桨叶方向、机架、电池以及遥控或急停手段;
  • 确认无人机编号与刚体名称一一对应,例如无人机 1 对应 uav_1
  • 确认动捕坐标持续更新,没有跳变、冻结或 NaN 数据;
  • 确认动捕坐标轴方向与无人机机头方向一致;
  • 首次联调先拆除桨叶检查通信和解锁逻辑;
  • 不要同时发送位置控制和速度控制指令;
  • 操作人员必须随时准备降落或执行现场急停。

未完成检查时禁止起飞

位姿、飞控或 ROS 2 指令链路没有确认正常前,不要点击“解锁”或“起飞”。坐标轴标定错误可能导致无人机倾斜起飞或坠落。

5. 操作手册目录

  1. 环境、容器与地面站:加载镜像、配置 X11、启动容器、编译并打开 UI。
  2. 动捕与 VRPN 定位:启动 Windows 发送端、VRPN 客户端并核对 /uav_1/pose
  3. 配置无人机 Wi-Fi 模块:设置无线模式、IP、端口和串口透传参数,并检查地面站连通性。
  4. FCU、RViz 与起飞:检查设备、启动 FCU、完成最终检查并起飞。
  5. 算法与场景演示:选择算法环境、设置虚实设备和参数并开始演示。
  6. 结束实验:安全降落、停止节点并关闭容器。

遇到软件、动捕、通信或飞行问题时,统一参阅常见问题排查

阅读建议

首次操作请严格按照目录顺序执行。每个新容器终端都需要重新加载 ROS 2 和工作空间环境。