QGC二次开发---框选多机执行解锁任务1

本文介绍了如何通过鼠标选择在多无人机系统中实现对特定无人机的解锁操作,涉及鼠标坐标转换、多机管理、地图界面交互及解锁函数的调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在多架无人机同时在一台地面站上操作时,我们通常希望能够通过鼠标框选其中部分无人机,对选中的无人机执行相同的操作,例如解锁指令,如上图所示效果。此篇文章先对实现思路进行讲解,具体的实现代码机过程,在后续文章中。

实现思路

1、获取鼠标框选时按压和释放的鼠标坐标值,通过Qt Map组件的函数toCoordinate(),转换为地图上的经纬度值。

 

2、在MultiVehicleManager类中增填函数,用于判断所有连接的无人机的经纬度是否在鼠标框选的经纬度内,将在框选内的无人机ID号存入一个自定义的数组中。

 

3、在FlightDisplayView.qml(飞行地图页面)增加一个Rectangle矩形框,以列分布的方式放置Button按钮,软件开启时将矩形框隐藏,当鼠标右键释放,将矩形框显示,并修改坐标为鼠标释放点的坐标。当矩形框内按钮触发点击信号时,在将矩形框隐藏掉。

 

4、在MultiVehicleManager类中增加一个解锁函数,可根据选中无人机的ID数组,根据ID获取无人机Vehicle对象,并调用Vehicle对象的相应指令,例如解锁指令:setArmed(true)

5、在第3步骤中矩形框内相应按钮例如:解锁按钮触发点击事件,即可调用步骤4中的函数,从而实现对选中多架无人机进行解锁操作。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值