赞
踩
导读:给出一些简单实用的调整方法,下面简单描述一下在试飞调试阶段进行PID参数调整的步骤,先使用默认参数,横滚和俯仰上的调整方法类似,即便参数经过了精心调整和双环控制算法相比在控制效果上的差距依旧很大,控制参数也比较接近,参数(积分限幅值会很小,限幅值也移过来之后就可以进行PID参数调整了,一般先进行横滚或俯仰方向的调整,只留一个待调整方向的旋转自由度(简直就是旋转“烤四轴”有木有),先来了解一下P
先来了解一下P先来了解一下P项、I项和D项的基本内容。这里只用通俗语言简单解释,给出一些简单实用的调整方法。有需要深入研究的用户,请自行查阅相关资料。
P项相当于一个变化率,数值越大,变化越快。假设“俯仰到升降通道”的P值为60时,机头从上抬20o到变回水平位置,需要5秒钟时间,那么P值为30时,这个时间就大于5秒(比如10秒),P值为120时,这个时间就小于5秒(比如2.5秒)。
D项相当于一个“阻尼器”,数值越大,阻尼越大,控制越“硬”。如果飞机在水平直飞时,在横滚方向上老是振荡,那么可以调小“副翼通道”的D值,如果飞机在横滚方向上的增稳效果不好(即偏离水平位置后很难再回复到原来状态),那么可以调大该D值。
I项相当于一个“加分器”,使控制量更贴近目标量,但也有可能“加过头”了。例如:如果要使飞机从100米爬升到200米,而飞机只爬到199米就不再爬升,那么,此时需要增大I值;但如果飞机爬到201米才停下来,那么,此时应该减小I值。
下面简单描述一下在试飞调试阶段进行PID参数调整的步骤。
第一步:规划并上传一个矩形航线。高度不要太高,比如50米,这样便于肉眼观察高度变化。第一个航点和最后一个航点距离稍微近点,相邻航点间距离为300米~400米为宜。让飞机在视野范围内压线飞行。
第二步:切入自动模式,让飞机沿着这个航线飞行。
第三步:看增稳控制效果。
先使用默认参数。副翼通道上:P=95,I=5,D=8。俯仰到升降通道:P=95,I=3,D=8。注意到各项目上类似于“P/128”的字样,其中“P”指P项,“128”是可以输入的最大值。此外,每个项目上能填入的最小数值为零。
横滚和俯仰上的调整方法类似,此处只讲横滚。
如果飞机在横滚方向上左右振荡,那么同时调小P值和D值,I值一般固定不动。 如果飞机在横滚方向上的增稳效果不好,那么同时调大P值和D值,I值一般固定不动。 第四步:试着改变目标高度,看定高效果。
如果飞机爬升或俯冲速度太慢,就增大“高度到俯仰角”的P值,反之减小P值。如果在爬升或俯冲过程中,机头振荡得厉害,就减小“高度到俯仰角”的D值。最后,如果飞机无法爬升到预设高度,就增大“高度到俯仰角”的I值,相反减小I值。
★在这里,调大P值,一般是把初始俯仰角调大,调小P值,一般是把初始俯仰角调小。参考前文关于位置控制的解释,就能理解这里的意思。如果不能理解,就不要深究。 第五步:看飞机在到达航点时的转弯效果。
如果转弯速度太慢,就增到“方向舵通道”的P值,反之减小P值。如果转弯时机头来回振荡,就减小D值,如果转弯时机头上没有阻尼的感觉,就增大D值。
★在这里,调大P值,一般是把初始倾斜角调大,调小P值,一般是把初始倾斜角调小。参考前文关于位置控制的解释,就能理解这里的意思。如果不能理解,就不要深究。 第六步:看飞机的压线效果。
如果飞机切入航线时的速度太慢,就增大“偏侧距”的P值,反之减小P值。如果飞机在航线上左右扭动,就减小“偏侧距”的D值,而如果没有阻尼的感觉,就增大D值。
★在这里,调大P值,一般是把初始夹角调大,调小P值,一般是把初始夹角调小。参考前文关于位置控制的解释,就能理解这里的意思。如果不能理解,就不要深究。
super_mice的专栏
[原]四旋翼飞行器Quadrotor飞控之 PID调节(参考APM程序)
2014-8-8阅读10860 评论43 做四轴也有一段时间了,最近一直在做PID方面的工作。现在四轴基本可以实现室内比较稳定的飞行,操控手感也可以接受。稍后上试飞视频。在此把一些PID方面的经验总结总结和大家分享一下。 首先介绍一下大概的硬件组成:
MCU:Freescale MK60D
传感器(IMU):GY-86模块(MPU6050 + HMC5883L + MS5611)
433MHz数据传输模块
DC-DC可调式开关稳压模块
遥控设备:JR XG7发射机 + JR 611B接收机
机架:普通红白f450机架
电机:朗宇2212kv880高效能电机(黑色)
电调:天行者40A
桨:仿APC1047
电池:DUPU 2200mah 25c 电路很简单用洞洞板搭的简易测试电路。
软件方面最主要的是姿态解算,最终用的是MPU6050的DMP(Digital Motion Process)输出,遥控器控制的目标姿态也是四元数表示的。为了有较好的线性度,将两者的姿态差转换为欧拉角后再进行PID的控制。 下面进入正题。PID算法很大程度上参考了APM(国外成熟开源飞控项目,官网点击打开链接)的控制算法。它是采用的角度P和角速度PID的双闭环PID算法。角度的误差被作为期望输入到角速度控制器中。双闭环PID相比传统的单环PID来说性能有了极大的提升,笔者也曾经调试过传统的PID控制算法,即便参数经过了精心调整和双环控制算法相比在控制效果上的差距依旧很大。无论是悬停的稳定性,打舵时的快速跟随性和回正时的快速性上都是后者的效果明显优于前者。
大概介绍一下APM算法的大概流程。这个PID控制流程图可以在APM官网找到。笔者参考的是APM3.1.0的代码和图上2.9版本的有一点点出入,不影响大局(控制频率100hz)。
横滚(Roll)和俯仰(Pitch)的控制算法是一样的,控制参数也比较接近。首先得到轴姿态的角度差(angle error),将这个值乘以角度系数p后限幅(限幅必须有,否则剧烈打舵时容易引发震荡)作为角速度控制器期望值(target_rate)。target_rate与陀螺仪得到的当前角速度作差,得到角速度误差(rate_error)乘以kp得到P。在I值小于限幅值(这个值大概在5%油门)或者rate_error与i值异号时将rate_error累加到I中。前后两次rate_error的差作为D项,值得注意的是加需要入20hz(也可以采用其它合适频率)滤波,以避免震荡。将P,I,D三者相加并限幅(50%油门)得到最终PID输出。 偏航(Yaw)的控制算法和前两者略有不同,是将打舵量和角度误差的和作为角速度内环的期望值,这样可以获得更好的动态响应。角速度内环和横滚与俯仰的控制方法一致,参数(积分限幅值会很小,默认只有万分之8)上有不同。
把APM的算法移植过来,限幅值也移过来之后就可以进行PID参数调整了。一般先进行横滚或俯仰方向的调整。把四轴固定起来,只留一个待调整方向的旋转自由度
导读:3、角度外环只有一个参数P,P的参数比较简单,5、加上偏航的修正参数后(直接给双环参数,一般经过调整的参数在平衡位置不会大幅度震荡,6、横滚和俯仰调好后就可以调整偏航的参数了,合适参数的判断标准和之前一样,舵量回中飞机立刻停止转动(参数D的作用),双环PID参数调节完毕!祝爽飞!,即便参数经过了精心调整和双环控制算法相比在控制效果上的差距依旧很大,控制参数也比较接近,参数(积分限幅值会很小,限
3、角度外环只有一个参数P。将外环加上(在APM中叫Stabilize模式,在大疆中叫姿态模式)。打舵会对应到期望的角度。P的参数比较简单。太小,打舵不灵敏,太大,打舵回中易震荡。以合适的打舵反应速度为准。
4、至此,“烤四轴”效果应该会很好了,但是两个轴混控的效果如何还不一定,有可能会抽(两个轴的控制量叠加起来,特别是较大的D,会引起抽搐)。如果抽了,降低PD的值,I基本不用变。 5、加上偏航的修正参数后(直接给双环参数,角度外环P和横滚差不多,内环P比横滚大些,I和横滚差不多,D可以先不加),拿在手上试过修正和打舵方向正确后可以试飞了(试飞很危险!!!!选择在宽敞、无风的室内,1米的高度(高度太低会有地面效应干扰,太高不容易看清姿态且容易摔坏),避开人群的地方比较适合,如有意外情况,立刻关闭油门!!! 5.1试飞时主要观察这么几个方面的情况,一般经过调整的参数在平衡位置不会大幅度震荡,需要观察:
5.1.1在平衡位置有没有小幅度震荡(可能是由于机架震动太大导致姿态解算错误造成。也可能是角速度内环D的波动过大,前者可以加强减震措施,传感器下贴上3M胶,必要时在两层3M泡沫胶中夹上“减震板”,注意:铁磁性的减震板会干扰磁力计读数;后者可以尝试降低D项滤波的截止频率)。
5.1.2观察打舵响应的速度和舵量回中后飞机的回复速度。
5.1.3各个方向(记得测试右前,左后等方向)大舵量突加输入并回中时是否会引起震荡。如有,尝试减小内环PD也可能是由于“右前”等混控方向上的舵量太大造成。
6、横滚和俯仰调好后就可以调整偏航的参数了。合适参数的判断标准和之前一样,打舵快速响应,舵量回中飞机立刻停止转动(参数D的作用)。
至此,双环PID参数调节完毕!祝爽飞!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。