SwiftWing 仿真平台开发手册

SwiftWing 仿真平台面向固定翼、垂起固定翼和多旋翼的决策、规划、制导与多机算法验证。平台基于 ROS Noetic、PX4 SITL 与 Gazebo Classic,通过统一状态和控制接口,把上层算法与飞控通信、起飞流程和机型控制解耦。

本手册同时提供两条阅读路线:第一次运行平台时,从“快速上手”开始;需要理解或修改源码时,进入“开发指南”和“API 参考”。

5 分钟了解平台

模块 作用
uav_controller 状态订阅、MAVROS 服务、固定翼/垂起/多旋翼控制
single_demo 圆、倾斜圆、Lissajous、多项式与螺旋轨迹示例
multi_demo 路径跟踪、领航—跟随和分布式一致性编队
px4_launch 单机与 6 机 PX4 SITL、Gazebo、MAVROS 启动
docker Ubuntu 20.04 + ROS Noetic + PX4 的容器模板
上层轨迹/编队算法
    ↓ 期望速度或姿态
uav_controller
    ↓ MAVROS setpoint / service
PX4 SITL
    ↔ Gazebo Classic

快速上手

适合第一次使用平台,保留原使用手册中已经形成的环境安装和运行流程:

  1. 本机环境配置:安装 ROS、PX4、MAVROS 与 Python 依赖。
  2. Docker 环境:使用容器复现固定依赖组合。
  3. 运行第一个 Demo:完成固定翼圆轨迹并切换机型/轨迹。
  4. 单机示例:了解状态对象与 control_send()
  5. 多机示例:运行 6 机领航—跟随或一致性编队。

开发指南

适合修改算法、控制器或仿真规模:

  1. 平台架构与运行链路
  2. 坐标系、话题与服务
  3. 固定翼控制器
  4. 垂起固定翼控制器
  5. 多旋翼控制器
  6. 导航向量场(GVF)算法
  7. 分段多项式轨迹
  8. 多机路径跟踪与编队算法
  9. 二次开发流程
  10. 使用本地 Agent 开发

API 参考

API 参考总览按 24 个 Python 源码文件收录当前 225 个有效函数和方法,提供签名、源码行号、类别、职责、主要调用和状态写入。停用字符串中的旧函数不会列为有效 API。

当前适用范围

  • Ubuntu 20.04 LTS;
  • ROS Noetic;
  • PX4 Autopilot v1.15.0;
  • Gazebo Classic;
  • Python 3;
  • 单机固定翼、垂起固定翼、多旋翼,以及 6 机固定翼/垂起编队示例。

ROS 2、ArduPilot、混合机型编队和新增传感器不属于当前源码已经提供的功能,详见当前版本说明与边界

仿真安全说明

仿真结果不能直接证明实机飞行安全。迁移前请重新验证坐标系、单位、限幅、估计器、通信链路、失控保护和人工接管流程,并先完成地面测试与低风险飞行验证。