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
快速上手¶
适合第一次使用平台,保留原使用手册中已经形成的环境安装和运行流程:
- 本机环境配置:安装 ROS、PX4、MAVROS 与 Python 依赖。
- Docker 环境:使用容器复现固定依赖组合。
- 运行第一个 Demo:完成固定翼圆轨迹并切换机型/轨迹。
- 单机示例:了解状态对象与
control_send()。 - 多机示例:运行 6 机领航—跟随或一致性编队。
开发指南¶
适合修改算法、控制器或仿真规模:
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、混合机型编队和新增传感器不属于当前源码已经提供的功能,详见当前版本说明与边界。
仿真安全说明
仿真结果不能直接证明实机飞行安全。迁移前请重新验证坐标系、单位、限幅、估计器、通信链路、失控保护和人工接管流程,并先完成地面测试与低风险飞行验证。