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

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

3天内不再提示

四轴PID算法:单环和串级

电子工程技术 来源:电子工程技 2019-11-26 11:32 次阅读

这里主要讲解的PID算法属于一种线性控制器,这种控制器被广泛应用于四轴上。要控制四轴,显而易见的是控制它的角度,那么最简单,同时也是最容易想到的一种控制策略就是角度单环PID控制器,系统框图如图所示:

或许有些朋友看得懂框图,但是编程实现有一定困难,在这里笔者给出了伪代码:

上述角度单环PID控制算法仅仅考虑了飞行器的角度信息,如果想增加飞行器的稳定性(增加阻尼)并提高它的控制品质,我们可以进一步的控制它的角速度,于是角度/角速度-串级PID控制算法应运而生。在这里,相信大多数朋友已经初步了解了角度单环PID的原理,但是依旧无法理解串级PID究竟有什么不同。

其实很简单:它就是两个PID控制算法,只不过把他们串起来了(更精确的说是套起来)。那这么做有什么用?答案是,它增强了系统的抗干扰性(也就是增强稳定性),因为有两个控制器控制飞行器,它会比单个控制器控制更多的变量,使得飞行器的适应能力更强。为了更为清晰的讲解串级PID,这里笔者依旧画出串级PID的原理框图,如图所示

同样,为了帮助一些朋友编程实现,给出串级PID伪代码:

而笔者在整定串级PID时的经验则是:先整定内环PID,再整定外环P。

内环P:从小到大,拉动四轴越来越困难,越来越感觉到四轴在抵抗你的拉动;到比较大的数值时,四轴自己会高频震动,肉眼可见,此时拉扯它,它会快速的振荡几下,过几秒钟后稳定;继续增大,不用加人为干扰,自己发散翻机。

特别注意:只有内环P的时候,四轴会缓慢的往一个方向下掉,这属于正常现象。这就是系统角速度静差。

内环I:前述PID原理可以看出,积分只是用来消除静差,因此积分项系数个人觉得没必要弄的很大,因为这样做会降低系统稳定性。从小到大,四轴会定在一个位置不动,不再往下掉;继续增加I的值,四轴会不稳定,拉扯一下会自己发散。

特别注意:增加I的值,四轴的定角度能力很强,拉动他比较困难,似乎像是在钉钉子一样,但是一旦有强干扰,它就会发散。这是由于积分项太大,拉动一下积分速度快,给 的补偿非常大,因此很难拉动,给人一种很稳定的错觉。

内环D:这里的微分项D为标准的PID原理下的微分项,即本次误差-上次误差。在角速度环中的微分就是角加速度,原本四轴的震动就比较强烈,引起陀螺的值变化较大,此时做微分就更容易引入噪声。因此一般在这里可以适当做一些滑动滤波或者IIR滤波。从小到大,飞机的性能没有多大改变,只是回中的时候更加平稳;继续增加D的值,可以肉眼看到四轴在平衡位置高频震动(或者听到电机发出滋滋的声音)。

前述已经说明D项属于辅助性项,因此如果机架的震动较大,D项可以忽略不加。

外环P:当内环PID全部整定完成后,飞机已经可以稳定在某一位置而不动了。此时内环P,从小到大,可以明显看到飞机从倾斜位置慢慢回中,用手拉扯它然后放手,它会慢速回中,达到平衡位置;继续增大P的值,用遥控器给不同的角度给定,可以看到飞机跟踪的速度和响应越来越快;继续增加P的值,飞机变得十分敏感,机动性能越来越强,有发散的趋势。

如何做到垂直起飞、四轴飞行时为何会飘、如何做到脱控?

这三个问题一眼看上去是三个不同的问题,其实就原理上讲,他们的原因在绝大多数情况下都是由于加速度计引起的。如果飞机可以垂直起飞,说明你的加速度计放置地很水平,同时也说明你的PID控制算法参数找的不错,既然可以垂直起飞,那么飞行过程中,只要无风,四轴几乎就不会飘,自然而然就可以脱控飞行。由此可见,加速度计是个十分重要的器件。

在姿态解算中,或者说在惯性导航中,依靠的一个重要器件就是惯性器件,包括了加速度计和陀螺仪。陀螺仪的特性就是高频特性好,可以测量高速的旋转运动;而加速度计的低频特性好,可以测量低速的静态加速度。无论是何种算法(互补滤波、梯度下降、甚至是Kalman滤波器),都离不开对当地重力加速度g的测量和分析。

惯性导航利用的就是静态性能好的加速度计去补偿动态性能好的陀螺仪漂移特性,得到不飘并且高速的姿态跟踪算法,因此基于惯性器件的姿态解算,加速度计是老大,它说了算。

下面,我给大伙推理一下四轴如何平稳飞信的思路,欢迎各位批评指出:

首先,为了让四轴平稳的悬停或飞行在半空中,四个电机必须提供准确的力矩-》假设力矩与电机PWM输出呈线性关系,也就是必须提供准确的4路PWM-》4路PWM由遥控器输入(期望角度)、PID算法及其参数和姿态解算输出(当前角度)组成,假设遥控器输入不变(类似脱控)、PID算法及其参数也较为准确(PID参数无需十分精确,但只要在某个合理的范围内,控制品质差不了多少),也就是姿态解算的输出必须是十分准确的,可以真实反应飞行器的实际角度-》姿态解算的结果由加速度计和陀螺仪给出,根据前述惯性导航的描述,加速度计补偿陀螺仪,因此要得到精确的姿态解算结果,务必要求加速度输出精确的重力加速度g-》这里仅讨论悬停飞行,因此忽略掉额外的线性加速度(事实证明,在四轴强机动飞行过程中,线性加速度必须要考虑并消除),假设加速度计输出重力加速度g,这个重力加速度g必须十分“精确”。

总结一下:精准力矩-》精准PWM-》精准姿态-》加速度计输出“精确”重力加速度g。

这里的“精确”打了引号,意思不是说加速度的性能十分好,要输出精确的当地加速度g,而是说它能够准确反应机架的角度。为了达到悬停、平稳的飞行效果,控制算法输出的PWM会让加速度计输出的重力加速度g在XOY平面内的分量就可能少,也就是说:PID控制算法控制的不是机架水平,而是加速度计水平,PID不知道机架是什么东西,它只认加速度计。

上图中,加速度计(红线)与四轴机架的水平面(虚线)呈30°。起飞后,PID控制算法会尝试将加速度计调整至水平位置,因此四轴就会往图中左边飘,倾斜角度也为30°。这就是为什么飞机无法垂直起飞,或者飞行过程中往一个方向飘的原因:加速度计和机架没有水平。因此在加速度计的机械安装时,尽量保证加速度计与机架水平。如果有些朋友已经将加速度计固定在飞控板上,可以通过遥控器的通道微调功能设置悬停时的期望角度,软件上校正这种机械不水平。

除了上述讨论的加速度计安装水平问题,也需要对加速度计进行零偏置校正,具体的方法叫做6位置标定法:即将加速度计沿着6个方向放置,分别记录重力加速度计g在6个方向上的最大输出值,然后取平均,得到圆球的中心点(这里假设g投影为球,实际上为椭球,需要进行最小二乘法拟合求三轴标定系数)。

最后提一点,如果加速度计和遥控器均做了调整,飞机可以做到垂直起飞,并且飞行效果还行,但是飞机的回中速度较慢,感觉就像是在抬轿子一样。具体描述:悬停时,猛往一个方向打摇杆后立即放手,飞机会往摇杆方向走很远才停下。这是因为飞机过于稳定,也就是内环的作用过强或者外环作用过弱导致,解决方法是降低内环P或者加大外环P。

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

    关注

    112

    文章

    16185

    浏览量

    177329
  • PID算法
    +关注

    关注

    2

    文章

    171

    浏览量

    24267
  • 飞行器
    +关注

    关注

    13

    文章

    715

    浏览量

    45464

原文标题:四轴PID算法:单环和串级,你搞懂了吗?

文章出处:【微信号:EngicoolArabic,微信公众号:电子工程技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用MSPM0 MCU设计和三自拍杆

    电子发烧友网站提供《使用MSPM0 MCU设计和三自拍杆.pdf》资料免费下载
    发表于 09-02 09:45 0次下载
    使用MSPM0 MCU设计<b class='flag-5'>单</b><b class='flag-5'>轴</b>和三<b class='flag-5'>轴</b>自拍杆

    pid内环和外环怎么确定

    在控制系统中,PID控制器是一种常见的控制策略,它通过将两个PID控制器串联起来,实现对系统的精确控制。
    的头像 发表于 08-23 09:17 1100次阅读

    控制pid参数怎么调节

    PID(比例-积分-微分)控制器是常用的控制算法。本文将介绍控制PID参数的调节方法。 1.
    的头像 发表于 08-23 09:13 1212次阅读

    控制系统副回路为什么不选用PID控制

    控制系统副回路不常选用PID控制的原因,主要基于以下几个方面: 1. 控制要求差异 控制系统的主要目的是为了高精度地稳定主变量,对主
    的头像 发表于 08-23 09:11 345次阅读

    测径仪详解与应用

    测径仪是一种用于测量材料直径或其他细长物体尺寸的精密仪器。以下是对测径仪的详细介绍: 一、定义与应用
    发表于 08-20 17:34

    和双测径仪在线缆方面的应用

    测径仪的应用 测径仪主要用于检测线缆的单个方向外径尺寸,适用于圆度良好且不需要检测不圆度的线缆。它通过光电检测原理进行高精度尺寸检测,内置P
    发表于 08-16 17:48

    测径仪的个常见应用场景

    测径仪根据测量范围的不同,具有不同的型号,在这里就不一一介绍了,本文主要介绍种常用的测径系统。 第一种:细丝检测 这种测量采用小
    发表于 06-05 17:27

    真空泵磨损是如何修复的

    电子发烧友网站提供《水真空泵磨损是如何修复的.docx》资料免费下载
    发表于 03-14 15:11 1次下载

    真空泵磨损问题如何解决

    电子发烧友网站提供《水真空泵磨损问题如何解决.docx》资料免费下载
    发表于 01-19 14:02 0次下载

    分析并解决修复水真空泵磨损问题

    电子发烧友网站提供《分析并解决修复水真空泵磨损问题.docx》资料免费下载
    发表于 12-28 10:10 0次下载

    STM32控制中常见的PID算法总结

    在很多控制算法当中,PID控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典。经典的未必是复杂的,经典的东西常常是简单的,而且是最简单的。
    发表于 12-27 14:07 1547次阅读
    STM32控制中常见的<b class='flag-5'>PID</b><b class='flag-5'>算法</b>总结

    【技术干货】PID算法原理分析及优化

    负荷和操作条件的变化。 在电机控制中PID十分常见,常用的位置+速度+电流控制结构如图
    发表于 12-22 15:38

    提升修复水真空泵磨损的方法

    电子发烧友网站提供《提升修复水真空泵磨损的方法.docx》资料免费下载
    发表于 12-18 10:33 0次下载

    PID算法,你搞懂了吗?

    上述角度PID控制算法仅仅考虑了飞行器的角度信息,如果想增加飞行器的稳定性(增加阻尼)并提高它的控制品质,我们可以进一步的控制它的角速度,于是角度/角速度-
    的头像 发表于 12-11 17:35 1284次阅读
    <b class='flag-5'>四</b><b class='flag-5'>轴</b><b class='flag-5'>PID</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>,你搞懂了吗?

    飞行控制PID算法的作用解析

    PID控制器是一种线性控制器,它主要根据给定值和实际输出值构成控制偏差,然后利用偏差给出合理的控制量,目前,人们通过科学研究获得了诸多具有优异控制效果的算法和理论,但在工程应用领域,基于经典PID
    的头像 发表于 11-27 10:57 1662次阅读
    飞行控制<b class='flag-5'>PID</b><b class='flag-5'>算法</b>的作用解析