基于PX4实现的四旋翼建模与控制

描述

目前,四旋翼无人机在农业植保、物流配送、竞技飞行及科研实验等领域得到广泛应用。许多公司、科研机构与无人机爱好者都会开发自己的飞控平台,在众多开源飞控平台中,PX4以其完善的功能、优异的性能以及友好的生态脱颖而出。

不仅是科研机构大量使用PX4,许多公司也会基于PX4进行改进完善,实现工业级的需求。因此,能够基于PX4进行二次开发对于学习和工作都有着重要的价值和意义。飞控平台是一个复杂的软硬件系统,软件系统大致可以分为嵌入式、导航与控制三大部分,每一部分都需要专业的知识和经验。本课程针对控制这一大模块,分三步走,旨在让学员能够学懂PX4的控制器系统并具备二次开发的能力。

控制逻辑

飞控学习三步走

第一步,飞起来

拥有配套的无人机平台,支持PX4代码,通过选择合适的硬件系统,该无人机具备良好的飞行性能。该无人机搭配光流与GPS等模块,支持室内室外飞行。课程将介绍组装、传感器与遥控器校准、参数调试、代码下载及实际飞行测试等基本内容,让学员在最短的时间内完成整机飞行测试。对于初接触飞控的小白,如果自行摸索,这个过程可能要花费数月时间,而且内容零散难以形成完整的知识体系,实验测试甚至有炸机风险。

第二步,读代码

这个过程是向PX4学习的过程。PX4有着完善的功能,但这也意味着有复杂的代码。初次阅读可能无从下手,找不到重点。

控制模块可以分为控制逻辑控制算法两大部分,逻辑用于处理各种输入输出的选择、切换等,算法是输入输出具体关系的数学表示。

PX4使用的控制算法是基于四元数的PID,但是相比于传统的单级PID要复杂很多,一是因为多个PID串联,二是因为是改进的PID,例如微分项不对期望进行微分且加入滤波,又如使用了饱和积分算法。

如果缺乏控制算法的知识是很难理解代码内容的。除了上述的控制算法,控制逻辑也至关重要。课程还会讲解PX4中各种模式的切换、一键起飞、一键降落等过程。为了实现一个良好的飞行效果与用户体验,这些模块都值得专门地研究。

控制逻辑

PX4速度控制框图

第三步,改代码

尽管PX4已经很强大,但也不能说完美无缺,而且不可能完全满足需求。课程将以两个典型例子展开,帮助学员实现改代码的能力。

第一个例子是在科研领域热门的SO(3)控制。

PX4虽然使用了四元数作为姿态控制,但是其中涉及欧拉角的计算,并不能完全避免欧拉角奇异值的问题。基于SO(3)的控制器能够完美地避免欧拉角的缺陷,实现任意姿态的飞行控制,而且基于SO(3)的姿态控制能够方便地与轨迹规划结合。

第二个例子是自抗扰控制器(ADRC),和PID一样,该控制算法在工业界得到广泛的应用和验证。

通过加入观测器,ADRC实现更鲁棒的控制,抗扰动能力更强。通过学习这个例子,学员不仅能够学会这两个控制器算法,而且能够实现算法与逻辑的对接,实现自定义数据格式与日志记录,为日后的创新打下坚实的基础。

审核编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分