swarm (Swarm)¶
swarm 模块提供集群控制接口,包括多机编队、分布式仿真、Crazyflie 适配、MAVLink Shell、ADB 通信等功能,支持大规模无人机集群的协同控制与仿真。
模块功能¶
| 功能 | 说明 |
|---|---|
| 多机状态管理 | 集群中各载具的位姿和状态获取与同步 |
| 编队控制 | 向多架载具发送编队控制指令 |
| 分布式仿真 | 多台计算机分布式集群仿真支持 |
| Crazyflie 支持 | Bitcraze Crazyflie 微型无人机的适配接口 |
| MAVLink Shell | 飞控命令行 Shell 远程访问 |
| ADB 通信 | Android Debug Bridge 设备管理 |
核心类与接口¶
| 类/接口 | 说明 |
|---|---|
VehicleApi |
集群单机构型管理,支持统一控制接口 |
DistSim |
分布式仿真管理,支持跨计算机集群 |
Crazyflie |
Crazyflie 无人机适配接口 |
CrazySwarm |
Crazyflie 集群管理 |
RflyShell |
远程 Shell 命令执行 |
AdbLib |
ADB 设备管理库 |
RJ45PX6X |
网络接口管理 |
使用场景¶
集群编队¶
- 多无人机的编队飞行控制
- 队形变换与重构控制
- 集群避障与路径规划
分布式仿真¶
- 大规模集群的分布式计算
- 跨地域的多机协同仿真
- 计算资源的负载均衡
微型无人机¶
- Crazyflie 室内集群实验
- 微型无人机的编队控制
- 教育与研究的低成本平台
实机部署¶
- 真实无人机的集群控制
- 遥控器与自动控制的切换
- 集群任务分配与协调
集群控制示例¶
from RflySimSDK.swarm import VehicleApi
# 创建集群管理实例
swarm = VehicleApi()
# 初始化 5 架无人机
for i in range(1, 6):
swarm.addVehicle(i)
# 连接所有无人机
swarm.connectAll()
# 编队起飞到 5 米高度
swarm.takeoffAll(5)
# 执行编队飞行(三角形编队)
swarm.formationTriangle(side_length=3)
# 悬停 10 秒
import time
time.sleep(10)
# 编队降落
swarm.landAll()
相关资源¶
注意:本文档为 swarm 模块的索引页面。各接口的详细 API 说明请参考对应模块的独立文档页面。