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

    文章

    1446

    浏览量

    83802
  • 无人机
    +关注

    关注

    224

    文章

    9884

    浏览量

    174810
  • px4
    px4
    +关注

    关注

    0

    文章

    6

    浏览量

    3883
  • 控制逻辑
    +关注

    关注

    0

    文章

    13

    浏览量

    2264

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

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

收藏 人收藏

    评论

    相关推荐

    飞行器的设计

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

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

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

    成本

    请问一下 自制一个要多少钱。谢谢。。。推荐课程:张飞飞行器视频套件,76小时吃透
    发表于 02-26 18:22

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

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

    飞行器设计指南(原理、程序、电机资料)

    不同,是通过调节个电机转速来改变旋转速,实现升力的变化,从而控制飞行器的姿态和位置。由于飞行器是通过改变旋转速
    发表于 02-18 15:02

    【空心杯TinyLeaf】基础 相关资料分享

    目录构型简单力学分析什么是欧拉角几个自由度螺旋桨空心杯电机脉冲宽度调制(PWM)技术控制初探Visio,CAD和Solidworks画图是在太累了,接下来我会主要使用手绘来配图,
    发表于 07-06 06:39

    浅析飞行器

    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

    你知道轴的个电机转的方向是不一样的吗

    (参考配图,来自PX4官网)。 处于同一高度平面,且
    发表于 09-06 08:47

    控制飞行器的姿态和位置

    对称分布,4
    发表于 09-13 06:54

    飞行器控制模型

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

    如何利用STM32实现水下的设计?

    如何利用STM32实现水下的设计?
    发表于 12-13 07:04

    基于PixHawk 4设计

    PixHawk 4用作DIY调试部分笔记序所使用的设备器件问题整理短暂结语序这是用于记录DIY组装的基于PixHawk 4
    发表于 01-11 07:56

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

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