0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

3D视觉工坊 来源:3D视觉工坊 2024-02-20 10:43 次阅读

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

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

b1cc1f0e-cf7b-11ee-a297-92fbcf53809c.png

飞控学习三步走

第一步,飞起来

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

第二步,读代码

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

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

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

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

b1e8ca1e-cf7b-11ee-a297-92fbcf53809c.png

PX4速度控制框图

第三步,改代码

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

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

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

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

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

审核编辑:黄飞

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

    关注

    35

    文章

    1468

    浏览量

    85171
  • 无人机
    +关注

    关注

    226

    文章

    10297

    浏览量

    179026
  • px4
    px4
    +关注

    关注

    0

    文章

    6

    浏览量

    3933
  • 控制逻辑
    +关注

    关注

    0

    文章

    14

    浏览量

    2304

原文标题:基于PX4实现的四旋翼建模与控制[理论+实战]

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    飞行器的设计

    微型飞行器是一种以4个电机作为动力装置.通过调节电机转速来控制飞行的欠驱动系统;为了实现
    发表于 11-28 09:29

    飞行器的动力学建模及PID控制

    飞行器的动力学建模及PID控制
    发表于 06-20 17:05

    飞行器的动力学建模及PID控制

    飞行器的动力学建模及PID控制
    发表于 04-02 14:00

    浅析飞行器

    1.选题的背景与意义1.1的发展背景早在1907年,由Breguet-Richet发明的世界上第一家
    发表于 08-06 08:22

    PX4开发者手册

    参考资料PX4 Github主页:PX4 Github(代码有分支,请查看v1.10.0分支)PX4开发者手册:PX4手册 v1.11(手册有分支,请查看v1.11.0分支)
    发表于 08-23 07:42

    PX4原生固件及其地面站网原生固件代码

    目录网址Pixhawk、PX4、APM 、 ArduPilot关系硬件照片、示意图逻辑图 集多控制框架软件框架辅助工具、软件说明(误区)裸机运行基于OS运行例子可执行程序、应用、源
    发表于 08-23 09:14

    飞行器控制模型

    重力和螺旋桨拉力5、螺旋桨1、3为逆时针转动,螺旋桨2、4为顺时针转动多建模流程图一、动力单元模型二、控制效率模型CT是螺旋桨拉力系数,
    发表于 09-15 07:22

    基于Nuttx系统进行开发的开源PX4

    所学习简单单片机编程是不能满足要求的。​因为要满足实时处理各种数据,实现复杂的控制任务,这就要求PX4固件是搭载到操作系统上,对于STM32这款单片机,开源的PX4是基于Nuttx系统
    发表于 02-17 07:02

    zheshi pX4飞控原理图

    zheshi pX4飞控原理图,主控芯片是STM32
    发表于 11-17 13:55 99次下载

    基于STM32的飞行控制器的设计与实现

    针对飞行器,设计并实现了一种基于 STM32 的微型飞行控制器. 以新型 ARM Cortex-M3 内核微处理器 STM32 作为计
    发表于 12-05 10:52 33次下载
    基于STM32的<b class='flag-5'>四</b><b class='flag-5'>旋</b><b class='flag-5'>翼</b>飞行<b class='flag-5'>控制</b>器的设计与<b class='flag-5'>实现</b>

    px4平台之我见pdf

    px4飞控
    发表于 03-16 09:51 10次下载

    Pixhawk原生PX4固件中的坑

    Pixhawk原生PX4固件中的坑
    发表于 03-16 10:06 9次下载

    采用PID控制实现无人机的元数控制律设计

    无人机是一种具有4的飞行器,有X型分布和十字型分布2种。文中采用的是X型分布的
    的头像 发表于 04-19 08:02 7778次阅读
    采用PID<b class='flag-5'>控制</b>器<b class='flag-5'>实现</b><b class='flag-5'>四</b><b class='flag-5'>旋</b><b class='flag-5'>翼</b>无人机的<b class='flag-5'>四</b>元数<b class='flag-5'>控制</b>律设计

    Px4, PJ4, UPD703506, AB050, Application board, AB-050-Px4, V850E/Px4 评估板

    Px4, PJ4, UPD703506, AB050, Application board, AB-050-Px4, V850E/Px4 评估板
    发表于 04-17 19:05 0次下载
    <b class='flag-5'>Px4</b>, PJ<b class='flag-5'>4</b>, UPD703506, AB050, Application board, AB-050-<b class='flag-5'>Px4</b>, V850E/<b class='flag-5'>Px4</b> 评估板

    Px4, PJ4, UPD703506, AB050, Application board, AB-050-Px4, V850E/Px4 评估板

    Px4, PJ4, UPD703506, AB050, Application board, AB-050-Px4, V850E/Px4 评估板
    发表于 11-28 18:30 0次下载
    <b class='flag-5'>Px4</b>, PJ<b class='flag-5'>4</b>, UPD703506, AB050, Application board, AB-050-<b class='flag-5'>Px4</b>, V850E/<b class='flag-5'>Px4</b> 评估板