飞行任务
一般来说,为了执行设定路径的自动飞行,开源UAV需要在mavros状态下通过非机载模式指定UAV的所需位置。但事实上,Px4自2018年起已在航路点飞行功能下扩展了飞行任务功能,使无人机能够通过输入航迹设定点完成预设飞行行为。这使得Px4飞行控制系统能够实现简单的路径规划功能,如预设飞行和跟踪我。Px4官员在最近更新的用户手册中丰富了对飞行任务功能的描述。让我们看看。
什么是Flight Tasks?
Flight Task(飞行任务)通俗来讲,是指在飞行模式下设置的任务。它可以提供特定的运动行为,比如跟踪和带有航路变换的任务。
如何创建Flight Task:
在QGC地面站中创建一个Flight Task其实非常简单:只需要点击QGC地面站全局导航界面中,最上面一排选项卡第三个图标(两个通过一条曲线连接的目标点)切换到任务规划界面,再点击左上角的+加号图标,然后点击屏幕地图即可进行Flight Task规划。
它很类似于航点规划,但可以设置超过一个航点。再完成以上操作后,点击左上角的Send To Vehicle(发送任务到无人机)按钮,即可将规划好的任务发送给无人机。而无人机将在解锁后,自动按照规划好的任务路径进行飞行,QGC地面站此时将实时显示无人机飞行轨迹。
除航点设置以外,在QGC的Flight Tasks中也支持对每个航点进行悬停时间、相对上一航点的高度等设置。也可以使用模式自带的编辑工具,自动创建预设的飞行框架。
Flight Tasks的架构:
在2019年和2020年的PX4开发者峰会上,PX4工程师Dennis Mannhart与Matthias Grob等人对Flight Task的架构进行了详尽的描述。这两段视频现已更新到PX4用户指南的相关界面,作为Flight Tasks功能的官方解释。
在PX4的系统架构中,Flight Tasks模组直接作用于飞控系统中的位置控制和导航器部分。准确地说,控制指令会首先发送到PX4的Navigator,通过Flight Tasks模组处理航线后,最后给到位置控制。
除基本构造外,视频从代码层面阐述了Flight Tasks的运行原理和工作逻辑。对PX4底层代码感兴趣的小伙伴可以自行参考。
参考资料:
Flight Tasks官方文档:
PX4 Flight Tasks架构概述—PX4 2019开发者峰会:
从传感器到电机—多旋翼无人机控制概述 2020年PX4开发者虚拟峰会:
– End –
技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把无人机行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在无人机行业,就请关注我们的公众号,我们将持续发布无人机行业最有价值的信息和技术。