Prometheus仿真优势
首先,我们先通过下面这个视频了解一下Prometheus仿真有哪些优势:
开源自主无人机平台重大更新!Promethus仿真到真机无缝切换
Prometheus仿真最大的优势之一是采用了模块化设计,对每个操作节点进行了封装,使得仿真到真机可做到无缝移植,开发者无需进行额外修改和适配就可到真机上运行。
大部分开发者在二次开发过程中往往更专注于算法研究,对PX4、Mavros和程序连接等并不太熟悉。为了简化开发者的二次开发难度,我们对Prometheus进行了简化流程,使得开发者无需对底层控制系统进行修改即可实现仿真与真机之间的无缝切换。
Prometheus仿真流程
通过这四步完成控制仿真,相应“惯性系控制”,“机体系控制”,“经纬高控制”,“轨迹控制”,前三步不变,只是修改了第四步相应控制指令文件。
对于仿真控制二次开发,只需要保证前三部分正常运行,在第四部分控制指令程序做修改便可以,这里就可以通过对于”uav_control话题“相关订阅与发布实现相应功能。
Prometheus Demo实机飞行
当开发者二次开发自己的程序或者只是想要将仿真demo实机飞行,以P600进阶版无人机为例,首先无人机开机自启动通信程序”roslaunch prometheus_communication_bridge P600_communication.launch“(即“P600_communication.launch”);然后当地面站通过图数传链路IP连接无人机,无人机执行“roslaunch prometheus_uav_control P600_onboard.launch”(即“P600_onboard.launch”)。
而在“P600_onboard.launch”中主要做了下面四个步骤:
1、启动MAVROS连接飞控
2、设置PX4飞控相关参数
3、运行uav_control控制程序
4、加载uav_control_outdoor.yaml参数文件
最后地面站发送控制指令实现对于无人机控制。其中逻辑也是四个步骤:
1、P600_communication.launch:通信连接
2、P600_onboard.launch:连接飞控PX4
3、P600_onboard.launch:启动uav_control模块
4、Prometheus地面站:发布控制指令
将仿真流程和实机飞行流程进行对比时会发现,两者的四个操作步骤流程是一样的原理,不同的是:
1、通信连接中,仿真是虚拟连接,真机是真实连接。
2、飞控连接中,仿真是连接虚拟飞控prometheus_px4,真机是连接真机飞控PX4。
3、控制模块中,仿真是启动仿真电脑Prometheus:uav_control,真机是启动机载电脑Prometheus:uav_control。
4、控制程序中,仿真是launch运行,真机是Prometheus地面站发布。
由此可见,要将控制demo应用于实机非常简单,以“起飞降落demo”为例:只需要在真机运行前操作开机启动通信(具体步骤为:地面站连接无人机使得P600_onboard.launch运行、连接飞控PX4、启动uav_control模块),然后在机载电脑中运行takeoff_land.launch便可以了。
如果您对Prometheus仿真的具体过程感兴趣,请点击下方链接查看:
阿木实验室https://docs.amovlab.com/Prometheus_Simulation_Development_Kit_wiki/#/src/Prometheus%E4%BB%BF%E7%9C%9F/Prometheus%E4%BB%BF%E7%9C%9F