1、实现思路
- 首先在通过前端页面的按钮或其他控件出发后端函数
- 其次后端函数应该获取已连接所有载具对象
- 再调用载具对象类对飞行模式设置的函数
- 返回切换结果(根据情况添加)

2、多机控制
2.1 QGC源码多机管理
在源码中有MultiVehicleManager这个类,负责管理多架载具的对象,其中声明了私有属性_vehicles来存放多架载具的类对象。可以通过循环的方式获取载具对象,进行相应的控制。

2.2 QGC载具控制
在源码中Vehicle类管理了一架载具的所有数据、以及相应的指令控制。其中包括设置飞行模式函数setFlightMode()。
2.3QGC前端页面
在源码FlightDisplayView.qml文件中,以及将多机载具控制对象MultiVehicleManager注册到前端页面,我们只需要使用Q_INVOKABLE关键字,即可在前端出发多机控制的函数。
3、实现代码
3.1 MultiVehicleManager.h
class MultiVehicleManager : public QGCTool
{
Q_OBJECT
public:
MultiVehicleManager(QGCApplication* app, QGCToolbox* t

本文详细介绍了在QGroundControl中如何实现多架无人机的一键切换飞行模式功能。首先,通过前端按钮触发后端函数,然后利用MultiVehicleManager类获取所有载具对象并遍历,调用Vehicle类的setFlightMode()方法设置飞行模式为‘Stabilized’。在QML前端,使用Q_INVOKABLE使得多机控制函数能在前端页面直接调用。
最低0.47元/天 解锁文章
7960

被折叠的 条评论
为什么被折叠?



