文章介绍了基于PX4飞控平台的四旋翼无人机控制学习课程。课程内容涵盖PX4飞控平台的应用与二次开发价值,飞控平台的软硬件系统概述,以及针对控制模块的详细学习步骤。课程旨在帮助学员从入门到中级,掌握PX4控制器系统并具备二次开发能力。
目前,四旋翼无人机在农业植保、物流配送、竞技飞行及科研实验等领域得到广泛应用。
许多公司、科研机构与无人机爱好者都会开发自己的飞控平台,在众多开源飞控平台中,PX4以其完善的功能、优异的性能以及友好的生态脱颖而出。
不仅是科研机构大量使用PX4,许多公司也会基于PX4进行改进完善,实现工业级的需求。
因此,能够基于PX4进行二次开发对于学习和工作都有着重要的价值和意义。
飞控平台是一个复杂的软硬件系统,软件系统大致可以分为
嵌入式、导航与控制
三大部分,每一部分都需要专业的知识和经验。
本课程针对控制这一大模块,
分三步走
,旨在让学员能够学懂PX4的控制器系统并具备二次开发的能力。
飞控学习三步走
第一步,飞起来
课程拥有配套的无人机平台,支持PX4代码,通过选择合适的硬件系统,该无人机具备良好的飞行性能。该无人机搭配光流与GPS等模块,支持室内室外飞行。课程将介绍组装、传感器与遥控器校准、参数调试、代码下载及实际飞行测试等基本内容,让学员在最短的时间内完成整机飞行测试。对于初接触飞控的小白,如果自行摸索,这个过程可能要花费数月时间,而且内容零散难以形成完整的知识体系,实验测试甚至有炸机风险。
整机实物图,
联系微信:cv3d007,可采购课程配套无人机硬件。
「御风250」-四旋翼无人机(基于PX4)[硬件+代码]
第二步,读代码
这个过程是向PX4学习的过程。PX4有着完善的功能,但这也意味着有复杂的代码。初次阅读可能无从下手,找不到重点。课程会
先简要介绍
PX4整体代码内容,然后
重点介绍
控制模块相关内容。
控制模块可以分为
控制逻辑
和
控制算法
两大部分,逻辑用于处理各种输入输出的选择、切换等,算法是输入输出具体关系的数学表示。
PX4使用的
控制算法
是基于四元数的PID,但是相比于传统的单级PID要复杂很多,
一是
因为多个PID串联,
二是
因为是改进的PID,例如微分项不对期望进行微分且加入滤波,又如使用了饱和积分算法。
如果缺乏控制算法的知识是很难理解代码内容的。除了上述的控制算法,控制逻辑也至关重要。课程还会讲解PX4中各种模式的切换、一键起飞、一键降落等过程。为了实现一个良好的飞行效果与用户体验,这些模块都值得专门地研究。
PX4速度控制框图
第三步,改代码
尽管PX4已经很强大,但也不能说完美无缺,而且不可能完全满足需求。课程将以两个典型例子展开,帮助学员实现改代码的能力。
第一个例子
是在科研领域热门的SO(3)控制。
PX4虽然使用了四元数作为姿态控制,但是其中涉及欧拉角的计算,并不能完全避免欧拉角奇异值的问题。基于SO(3)的控制器能够完美地避免欧拉角的缺陷,实现任意姿态的飞行控制,而且基于SO(3)的姿态控制能够方便地与轨迹规划结合。
第二个例子
是自抗扰控制器(ADRC),和PID一样,该控制算法在工业界得到广泛的应用和验证。
通过加入观测器,ADRC实现更鲁棒的控制,抗扰动能力更强。通过学习这个例子,学员不仅能够学会这两个控制器算法,而且能够实现算法与逻辑的对接,实现自定义数据格式与日志记录,为日后的创新打下坚实的基础。
除了以上三大步骤中的内容,通过学习此课程还可以收获一套高效的飞行控制开发流程。课程
不仅
有配套的四旋翼硬件平台,
还
提供该四旋翼对应的的数学模型。该模型通过修改PX4自带的Gazebo模型实现。
在实际开发中,
不仅
可以通过Gazebo仿真验证算法逻辑,
而且
可以使用Gazebo仿真验证算法效果,Gazebo仿真中得到的效果基本可以在实物上复现,加速前期开发流程,减小试错成本。
综上,此课程针对四旋翼控制这一领域,使用PX4平台进行二次开发,基本包含PX4控制全部内容,带领学员从入门到中级。最后,建议此课程与姊妹篇《
零基础入门四旋翼建模与控制(MATLAB仿真)
》一起学习,相互弥补。
学后收获(硬件需额外单独购买)
-
收获一台带模型的无人机硬件平台,实现从零到一的飞行;
-
-
理解PX4整体框架,理解PX4控制逻辑与控制算法;
-
收获一套基于SO3与一套基于ADRC的高性能控制器;
-
该课程还会涉及Git等工具使用,在实战中快速上手,方便后期学习工作使用。
面向人群