四轴飞机双闭环pid控制怎么调四轴串级pid参数整定

给四轴调了好久的PID,总算是调好了,现分享PI;首先说明一下,这篇文章的主旨并不是直接教你怎么调;本人是刚刚转行学控制,思考错误的地方还请各位大神;PID控制器是什么?;我想每一个看到这里的人都对PID的概念有了足够的;PID控制器是一个线性的控制器!从这里开始我们进;哪个系统是线性的,自然,我们的四轴飞行器在大范围;我们的PID控制只能工作在四轴角度偏移
给四轴调了好久的PID,总算是调好了,现分享PID参数整定的心得给大家,还请大家喷的时候手下留情。
首先说明一下,这篇文章的主旨并不是直接教你怎么调,而是告诉你这么调有什么道理,还要告诉大家为什么?只?使用PID的四轴会在飞行中震荡,告诉大家为什么光使用PID并不能实现对四轴姿态‘足够好’的控制。文章中还是涉及了不少自控原理和其他控制相关的姿势,没有一点底子的话确实会看着很困惑(不然那么些人花好几年学控制还有什么意义?)。如果你只想知道结论的话,直接看文章开头和结尾部分就好了(作者也支持大家这么做,这样被喷的几率就小了=_=)。
本人是刚刚转行学控制,思考错误的地方还请各位大神批评指正。
Ps:用wps画系统框图太费劲了,于是就一个豆没有画??,大家不会怪罪我吧?
PID控制器是什么?
我想每一个看到这里的人都对PID的概念有了足够的了解,我一遍遍叽歪比例积分微分没有任何意义。这里我只想说一些大家提的较少的‘重点’内容:
PID控制器是一个线性的控制器!从这里开始我们进入正题了,虽然若干年来PID已然成为了世界上使用最普遍的控制方法,也逐渐被人们神话到几乎可以控制一切??????但是,从理论上来说,只有‘线性的,符合要求的’被控系统才能在PID控制下实现良好的控制效果。
所以说,我们首先第一步,要保证我们的被控系统在被PID控制的区域‘表现为’一个线性系统才行。于是这里有人会说了,现实中没有
哪个系统是线性的,自然,我们的四轴飞行器在大范围内是一个非常典型的非线性系统(随便按照理论推推模型就会出现漫天的三角函数),也就是说,我们‘仅’使用标准PID控制的话是不可能让四轴从各个姿态回到目标状态的过程都能保持稳定。于是这里出现我们使用PID时要注意的第一个问题:
我们的PID控制只能工作在四轴角度偏移不大的一个近似线性的区域内。这个区域没有定论,不过你要是飞机偏了90°的话想用PID调回到水平状态指定是非常危险的事情。PID的模型相关问题非常重要也比较费口舌,我们等下认真讨论,现在要先说另一个非常重要的非线性问题:
要保证我的控制通道与电机的输出力矩是线性的。如果我们的控制通道与电机输出力矩都不是线性的的话,我们的PID控制就很难起作用了,节省时间不举例子了,不明白的自行补脑吧,于是我这里要提醒大家的事情是:我们的航模电调调整的都是力矩而不是转速(虽然它叫做电子调速器),这是我们的福音,因为大家知道,螺旋桨产生的升力与转速的平方成正比,而角加速度与力矩成正比,正是因为我们的电调让电机产生的升力与我们输出的油门量成正比了我们才能使用PID控制器对四轴的姿态进行控制。这里可以看下我的四轴使用的四合一电调输出的升力与油门的对应曲线:
图中横坐标是输出油门的百分比,纵坐标是四个电机产生的总拉力(单位暂定kg),可以看到,具有非常好的线性关系,所以我们可以使用PID对大四轴实现比较好的控制。于是我们首先发现了第一个问题,有人反映小四轴不好调参数,因为小四轴没有专用的电子调速器,所以油门与输出力矩并不是严格线性的(这里我没有实践过,请大家随意批评指正),这时使用PID控制性能就会明显下降,当你的电机输出力矩与你的控制信号不是线性关系的时候,请先使用软件补偿的方法对油门做一下分段的线性仿射变化,再设计PID控制器。
不过对于大四轴而言貌似就不用那么麻烦了,那我们直接进入PID的控制模型环节。
PID控制器的数学模型
在标准的控制类书籍上PID算法是这么定义的:
这个公式是连续系统用的,我们单片机的控制是用不了的,我们的单片机使用的是离散的控制模型也叫
0阶保持器的离散系统,
就是需要把上面的公式离散化,而这个离散化的过程我们使用的是后项差分法。首先把上面的积分传递函数转化为连续的s域模型:
使用后向差分法可以得到s域到z域的映射关系:
于是可以得到:
这里特地给出了Kp Ki Kd这三个参数,这三个参数就是大家最常看到的那个离散的PID公式,也就是说你在这里既可以使用Kp Ti Td的参数来建模也可以使用Kp Ki Kd的参数来建模,到这里就总算是可以把我们的传递函数放在系统中用自控原理的相应工具来分析了。分析
之前要先声明一个事情,有人发现(比如在MWC和其他许多飞控中)用陀螺仪的输出来当做PID中的微分项,会取得比标准PID更好的控制效果,乍一看这么做与用前后两次欧拉角作差没有区别(因为角速度整好就是角度的微分),控制效果不一样就说不通了。
其实是这个样子的,如果我们在程序中做了非常好的线程安全的处理并且控制频率和姿态解算读陀螺的频率是一样的的情况下二者确实是没有任何差别的,但是大家的飞控都写的非常简单,姿态解算频率都高于控制频率,于是读到的陀螺仪的数据并不是?当前使用的姿态前一时刻?的数据而是?后一时刻?的数据,这时候PID控制的微分部分就不再是‘后项差分’而是‘前向差分’了(这就是我前面要强调使用后项差分法的原因),那这个时候就尴尬了,我们不能全部使用前向差分模型来建模(因为积分还是使用的后向模型)两边分开用又会出现模型阶次不匹配的问题,所以这时候是无法使用PID模型来考虑接下来的问题的,你使用的其实是两个独立的控制器并联,一个是角度的PI控制器,而另一个是角速度的P控制器,二者采样时间不一样,于是得当做两个独立的控制回路调整参数,这是使用这种控制器时的参数调整方法。也就道出了为什么部分情况下使用角度微分和角速度控制效果不一样的问题,这种方法固然是很好的(可以有效的降低振动),当然前提是你按照二者独立控制的思路来设计参数。但是很不幸,大家都没有这么做,依然是把整体作为PID控制器来考虑,那么,我只能说这是个近似的PID控制器了,手调固然可以(万能的实验调参啊)但是通过建模的方式算出优化的参数就不可能了。我们接下来看会怎样:
包含各类专业文献、生活休闲娱乐、文学作品欣赏、各类资格考试、专业论文、中学教育、98我的四轴专用PID参数整定方法及原理---超长文慎入等内容。 
 PID 控制原理与参数整定方法一、概述 PID 是比例-积分-微分控制的简称,也是一种控制算法,其特点是结构改变 灵活、技术成熟、适应性强。 对一个控制系统而言, ...  常用的 PID 参数整定方法有哪些 编程语言 专业回答 syser22
15:10 确定控制器参数 数字 PID 控制器控制参数的选择,可按连续-时间 PID 参数整定...  PID参数自整定的方法及实现_农林牧渔_专业资料。PID参数自整定的方法及实现PID 参数自整定的方法及实现 近年来出现的各种智能型数字显示调节仪, 一般都具有 PID...  PID 参数自整定方法综述(1) 关键词: PID 控制 参数整定 自整定 PID 参数自整定方法综述 摘要: PID 控制是迄今为止在过程控制中应用最为广泛的控制 方法。 ...  实验凑试法是通过闭环运行或模拟,观察系统的响应曲线,然后根据各参数对系统的影响, 反复凑试参数,直至出现满意的响应,从而确定 PID 控制参数。 实验凑试法的整定...  而在自动控制中,一个好的PID参数能给控制回路带来很好的控制品质,提高生 产的平稳性和提高产品收率。 下面就PID控制的原理和PID参数整定的方法进行探 讨。 2....  PID参数整定的一般方法_信息与通信_工程科技_专业资料。PID的参数整定 调节器的工程整定方法,主要有临界比例度法、衰减曲线法。 二 临界比例度法 这是一种闭环...  1―比例微分作用;2―比例积分微分作用;3―比例作用; 4―比例积分作用;5―积分作用; 第三节 PID 参数的工程整定方法 调节器参数的整定,是自动调节系统中相当...  二是工程整定方法,它主 要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在 工程实际中被广泛采用。PID 控制器参数的工程整定方法,主要有临界...1113人阅读
相关专业术语:
IMU—Inertial&measurement&unit,简称&IMU)是测量物体三轴姿态角(或角速率)以及加速度的装置。
AHRS—(attitude&heading&reference&system )航姿参考系统&&&&&& 姿态和方位参照系统;
UAV&—&(Unmanned&Aerial&Vehicle)& 无人驾驶飞机,简称无人机;
INS—(Inertial Navigation System)即惯性导航系统,有时也简称为惯性系统或惯性导航。
pitch(俯仰角)、roll(横滚角)、yaw(航向角);
&&&&&& 四轴飞行器是微型飞行器的其中一种,相对于固定翼飞行器,它的方向控制灵活、抗干扰能力强、飞行稳定,能够携带一定的负载和有悬停功能,因此能够很好地进行空中拍摄、监视、侦查等功能,在军事和民用上具备广泛的运用前景。&四轴飞行器关键技术在于控制策略。由于智能控制算法在运行复杂的浮点型运算以及矩阵运算时,微处理器计算能力受限,难以达到飞行控制实时性的要求;而PID控制简单,易于实现,且技术成熟,因此目前主流的控制策略主要是围绕传统的PID控制展开。
1、 四轴飞行器的结构与基本飞行原理
&&&&&&& 四轴飞行器结构主要由主控板和呈十字交叉结构的4个电子调速器、电机、旋浆组成,电机由电子调速器控制,主控板主要负责解算当前飞行姿态、控制电调等功能。&以十字飞行模式为例,l号旋翼为头,1、3号旋翼逆时针旋转,2、4号旋翼顺时针旋转,如图1所示。
&&&&& & 参照飞行状态表1变化电机转速,由于四个电机转速不同,使其与水平面倾斜一定角度,如图l所示。四个电机产生的合力分解为向上的升力与前向分力。当重力与升力相等时,前向分力驱动四轴飞行器向倾斜角度的方向水平飞行。空间三轴角度欧拉角分为仰俯角、横滚角、航向角:倾斜角是仰俯角时,向前、向后飞行;倾斜角是横滚角时,向左、向右飞行;而倾斜航向角时,向左、右旋转运动,左(右)旋转是由于顺时针两电机产生的反扭矩之和与逆时针两电机产生的反扭矩之和不等,即不能相互抵消,机身便在反扭矩作用下绕z轴自旋转。
2 、姿态解算
&&&&&&& 四轴飞行器运用姿态解算计算出空间三轴欧拉角。结构框架如图2所示,陀螺仪采样三轴角速度值,加速度传感器采样三轴加速度值,而磁力传感器采样得到三轴地磁场值,将陀螺仪、加速度传感器、磁力传感器采样后的数据进行标定、滤波、校正后得到三轴欧拉角度,其中陀螺仪和加速度传感器选用MPU6050芯片,磁力传感器选用HMC5883L芯片,采用IIC总线与主控板通信。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 图2&姿态解算结构图
&&&&&& 由于传感器存在器件误差,因此在使用前需要标定。陀螺仪在静止时,角速度为0;但实际情况由于器件误差并不为0,因此可在静止时采样500次数据,再求平均,得出偏移量,标定陀螺仪数据;加速度传感器可依据在静止时,三轴重力加速度平方和的开方为重力加速度的标定方程,利用最小二乘法求出标定偏移值和误差值进行标定。而磁力传感器校正,可将器件静置于桌面旋转一周找出最小值和最大值,通过电子罗盘校正计算公式计算出标定偏移值和误差值。&
&&&&&&& 由于陀螺仪长时间采集角速度会有飘移,因此需要使用加速度传感器的值与磁力传感器的值进行校正。将加速度的测量矢量和磁场的测量矢量与参考矢量做叉积后相加&
&&&&&&& 式(1)中:ex、ey、ez为两叉积之和,ax、ay、az为加速度的测量矢量,mx、my、mz为磁场的测量矢量,axref、ayref、azref为加速度的参考矢量,mxref、myref、mzref为磁场的参考矢量,参考矢量是通过实时四元数值与本次测量值计算出来。&再将叉积修正角速度漂移值:
&&&&&&& 式(2)中ωx(t)、ωy(t)、ωz(t)为角速度,kpex(t)为比例项修正,....为积分修正项。&将校正后的角速度通过二阶毕卡算法转化为四元数,公式如式(3)。&
3、 高度计算
&&&&&&& 高度计算是通过气压传感器采集的大气压值计算出来,将气压传感器采集值进行校正后,在通过温度二阶补偿,得到准确的大气压值,最后经过气压转换为高度公式&
&&&&&&& 式(6)中Altitude为计算出来的实际高度,CurrentPressure为当前气压值,StartPressure为起飞之前气压值。气压传感器选用MS5611芯片,其中集成了温度传感器和气压传感器,采用IIC总线与主控板通信。
4 、PID控制
4.1&双闭环PID控制
&&&&&&& 当四轴飞行器正常飞行时,突遇外力(风等)或磁场干扰,使加速度传感器或磁力传感器采集数据失真,造成姿态解算出来的欧拉角错误,只用角度单环情况下,使系统很难稳定运行,因此可以加入角速度作为内环,角速度由陀螺仪采集数据输出,采集值一般不存在受外界影响情况,抗干扰能力强,并且角速度变化灵敏,当受外界干扰时,回复迅速;同理,高度环中气压传感器同样也会受到外界干扰,引入z轴加速度环可有效避免外界干扰造成的影响,增强了系统的鲁棒性。&四轴飞行器双闭环PID控制,如图3、图4所示。角度作为外环,角速度作为内环,进行姿态PID控制;当需要定高时,高度作为外环,z轴加速度作为内环,&进行高度PID控制。其中,PID输出为油门值,油门给定电子调速器值,电子调速器控制电机使空间三轴欧拉角和高度变化。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 图3姿态PID控制总体流程图
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 图4高度PID控制总体流程图
PID控制算法采用位置式数字PID控制:
&&&&&&&&&& 式(7)中u(t)为PID输出值,e(t)为期望值与实际值之差,为积分量,为微分量,kp,、ki、kd。为比例、积分、微分系数。&在将积分量,微分量离散化得到PID计算公式&
式(8)中T为更新时间。&基于公式(8),姿态PID控制算法
&&&&&&& 式(9)为角度环PID计算公式,(10)为角速度环PID计算公式。AngelPIDOut(t)为角度环PID输&出,AngelRatePIDOut(t)为角速度环PID输出,e(t)=期望角度一实际角度,e'(t)=AngelPIDOut(t)&-&实际角速度。&同理高度PID控制算法:&
&&&&&&&&& 式(11)为高度环PID计算公式,公式(12)为加速度环PID计算公式,AltitudePIDOut(t)为高度环PID输&出,AcceleratePIDOut(t)为加速度环PID输出。e(t)=期望高度一实际高度,e'(t)=AltitudePIDOut(t)&-&(z轴加速度&-&重力加速度值)。
4.2&油门输出计算
&&&&&&& PID输出值先经过限幅处理,再输出给油门,防止某些时刻输出油门值过大,造成过冲,使系统难以稳定,公式如下&AngelOut=AngelPIDOut(t)(限制范围&-&100到100)&(13)&AltitudeOut=AcceleratePIDOut(t)(限制范围&-&10到10)&(14)&式中AngelOut。为欧拉角输出值,AltitudeOut为高度输出值。&最后经过十字飞行模式油门输出公式,计算出4个电机输出油门
&&&&&&& 式(15)中throttlelOut到throttle4Out为油门1到油门4输出值,依据公式(13)输出的AngelOut分为三轴角度:pitchOut为仰俯角输出值,rollOut为横滚角输出值,yawOut为航向角输出值。
4.3&油门补偿
&&&&&&& 以十字飞行模式为例,PID控制条件为线性环境,而给出的油门值与转速的关系为非线性,且两对向电机再同一油门下转速存在差异。运用光电传感器测出不同油门量对应的转速,通过matlab软件绘制出该曲线,其中一对向电机油门与转速的关系如图5所示,两电机在相同油门下转速存在差异且不平行,因此将油门曲&线分段,并通过计算公式&补偿油门值&=α(实际油门值&-&β)&(16)&进行油门补偿,式(16)中α、β为补偿偏移系数,得出曲线如图5(b)所示。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 图5&油门&-&转速曲线图
&&&&&& 本次测试姿态解算更新周期T&≈&4&mS(250Hz),PID控制更新周期T&≈&10&ms(100Hz),期望值为水平0度。
&&&&& 将四轴飞行器采集的欧拉角值通过无线模块NRF24L01发送到PC机上,接收的数据显示到上位机进行分析。上位机显示横滚角波形如图7所示,波形图横坐标单位为10&ms,纵坐标单位为度。&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 图&7双闭环PID控制横滚角波形图
&&&&&&&& 由图7可知,横滚角波形经过一大波一小波震荡后近似归为期望值零点,且超调量较小,系统很快进入稳定状态。&其他欧拉角测试结果类似。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:12399次
排名:千里之外
原创:26篇
转载:10篇
(1)(3)(25)(8)四轴专用PID参数整定方法及原理_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
四轴专用PID参数整定方法及原理
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩14页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 四轴pid 的文章

 

随机推荐