【PX4 学习4】导航及任务框架

本文重点介绍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为目标进行控制。 
注:航点数组中的高度为绝对高度。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
px4是一款开放源代码的飞行控制软件,它广泛应用于无人机的飞行控制系统中。而gazebo是一款用于机器人模拟和仿真的强大工具。基于gazebo的视觉导航仿真是指利用gazebo仿真环境和px4飞行控制系统进行无人机的视觉导航仿真。 在学习px4的过程中,基于gazebo的视觉导航仿真是一个重要的学习内容。这种仿真方式可以提供一个虚拟的环境,使得我们可以在计算机上进行无人机的飞行控制和导航算法的开发与测试。 学习基于gazebo的视觉导航仿真,首先需要了解gazebo的基本原理和使用方法。gazebo可以模拟真实的物理环境,包括地形、天气等因素,同时还能够与px4飞行控制系统进行集成。学习者需要掌握gazebo的安装和配置,以及如何创建无人机模型和仿真场景。 其次,学习者还需要了解px4飞行控制系统在视觉导航方面的应用。px4可以利用无人机搭载的摄像头获取图像信息,并通过计算机视觉算法进行视觉导航学习者需要学习如何配置无人机的视觉传感器,并利用px4导航算法实现视觉导航功能。 在学习过程中,可以通过模拟不同的仿真场景,如室内、室外、复杂地形等,来测试和优化视觉导航算法。学习者可以通过观察仿真结果,调整算法参数和改进算法,提高无人机的导航精度和鲁棒性。 总体而言,基于gazebo的视觉导航仿真是学习px4的重要环节之一。通过这种仿真方式,可以帮助学习者深入了解px4飞行控制系统和视觉导航算法的原理和应用,提升无人机的导航能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值