Flight Tasks
通常来说,开源无人机要执行设定路径的自动飞行,需要在MAVROS状态下,通过Offboard模式指定无人机期望位置来执行。但其实PX4从2018年起,已经在航点飞行功能下,拓展了Flight Task(飞行任务)功能。它运行操作通过输入的航迹设定点,使无人机完成预设好的飞行行为。这允许PX4飞控实现诸如预设飞行和跟随(Follow Me)等简单的路径规划功能。PX4官方在最近对使用者手册的更新中,丰富了对Flight Task功能的说明。让我们一起来了解一下吧。
什么是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官方文档:
https://docs.px4.io/master/en/concept/flight_tasks.html
PX4 Flight Tasks架构概述—PX4 2019开发者峰会:
https://www.youtube.com/watch?v=-dkQG8YLffc
从传感器到电机—多旋翼无人机控制概述 2020年PX4开发者虚拟峰会:
https://www.youtube.com/watch?v=orvng_11ngQ
- End -
技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把无人机行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在无人机行业,就请关注我们的公众号,我们将持续发布无人机行业最有价值的信息和技术。