目前,四旋翼无人机在农业植保、物流配送、竞技飞行及科研实验等领域得到广泛应用。许多公司、科研机构与无人机爱好者都会开发自己的飞控平台,在众多开源飞控平台中,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实现更鲁棒的控制,抗扰动能力更强。通过学习这个例子,学员不仅能够学会这两个控制器算法,而且能够实现算法与逻辑的对接,实现自定义数据格式与日志记录,为日后的创新打下坚实的基础。
审核编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !