PX4飞控之导航及任务架构

本文重点介绍PX4飞控的Navigator和mission控制框架和逻辑。Navigator导航部分是无人机自主飞行控制的核心所在,其中包括自主起飞、自主降落、自主返航、自主任务以及GPS失效保护等各个部分。搞懂这个部分有助于理解无人机的自主飞行过程,闲话少说,上干货。
PX4飞控的整体架构参见Px4源码框架结构图
飞控源码框架图
Navigator模块主要功能在于确定任务类型、地理围栏、失效保护,把任务航点更新后送给位置控制器。其中task_main函数是主函数。
Navigator中的函数流
在task_main 函数中,主要分为如下几个部分:
navigator
当commander中的传输来的导航模式为mission时,依次运行mission.cpp中的三个函数:初始化on_activation()、主函数on_active()、退出函数on_inactive()。
对于mission模式的主函数on_active(),代码逻辑如下:
mission
mission的主要功能在于对航点数组pos_sp_triplet更新和赋值,航点数组包括previous、current、next三个航点,这一功能由函数set_mission_item()来实现,主要的逻辑为先从SD卡中读取航点信息read_mission_item()赋值给结构体mission_item,然后再将当前航点复制给pos_sp_triplet.current
set_mission_item
每当一个航点任务完成is_mission_item_reached()返回值为true,则指针++,读取SD卡中的下一个航点。而判断航点的是否完成由三个判断条件:
mission reach
航向控制由函数heading_sp_update()实现,将航向setpoint计算赋值给pos_sp_triplet.current.yaw,给到pos控制环,进行航向控制。
航向控制
至此,导航完成了航点经纬高、航点类型、航向等信息的更新。而位置控制环以pos_sp_triplet为目标进行控制。
注:航点数组中的高度为绝对高度。

  • 8
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
您可以按照以下步骤下载PX4飞控的bootloader: 1. 首先,确保您的飞控硬件是PX4支持的型号,比如Omnibus F4 SD。您可以参考\[1\]中的链接获取更多关于Omnibus F4 SD的信息。 2. 将飞控安装到无人机上,并连接电调。如果您使用的是UBEC供电,将UBEC的正极连接到飞控的VBAT接口,负极接地。如果您使用的是电池供电,可以直接将电池连接到飞控。请注意,这是基于\[2\]中的引用。 3. 下载PX4固件后,如果您发现没有姿态信息,您可以在nsh终端中执行"attitude_estimator_q stop"命令来解决此问题。这是基于\[2\]中的引用。 4. 打开QGroundControl(QGC)地面站,并切换到固件下载页面。插上飞控,并下载最新的PX4固件。您可以参考\[3\]中的引用来了解更多关于固件下载的详细步骤。 5. 下载完成后,打开QGC并连接到飞控。将机型设置为四旋翼,并进行传感器校准等操作。 6. 如果在调试过程中遇到接收机无法被飞控识别的问题,您可以尝试使用PPM协议。将飞控板上的PPM脚短接,并将接收机连接到RCIN口。这是基于\[3\]中的引用。 希望以上步骤对您有帮助! #### 引用[.reference_title] - *1* *2* *3* [PX4装机教程(四)F4飞控刷写PX4](https://blog.csdn.net/qq_38768959/article/details/106988811)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值