-
Notifications
You must be signed in to change notification settings - Fork 426
编队飞行
Yuhua edited this page Dec 26, 2020
·
3 revisions
本教程的目的:
- 了解多机Gazebo仿真
- 了解如何进行编队控制,并切换队形
- 目前提供的控制方式有: ( 此处欢迎感兴趣的小伙伴贡献代码或分布式控制算法 )
- 集中式控制,由formation_flight节点发布各无人机期望位置
- 分布式速度控制,即一阶积分器模型,每一台无人机只接受虚拟领机和相邻两台无人机的位置信息,参考文献:Multi-Vehicle consensus with a time-varying reference state
- 提供的示例为5架飞机,可扩展至更多架,但需要对代码进行一定的改动
swarm_controller.cpp(prometheus_control模块)
- 订阅集群控制指令,包括控制方式、虚拟领机的位置、阵型等
- 订阅本机及邻居位置信息
- 利用command_to_mavros类进行控制
formation_flight.cpp(prometheus_mission模块)
- 发布集群控制指令
-
多无人机编队飞行(可实现切换阵型,编队飞行等)
roslaunch prometheus_gazebo sitl_swarm_control_3uav.launch roslaunch prometheus_gazebo sitl_swarm_control_5uav.launch
-
多无人机无人车混合编队飞行(开发测试阶段,功能不齐全)(需要安装turtlebot功能包)
roslaunch prometheus_gazebo sitl_swarm_4uav_4ugv.launch roslaunch prometheus_gazebo sitl_swarm_control_5uav.launch
感谢使用Prometheus自主无人机软件平台!