提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、调试思路讲解
- 二、实际调试方法
- 总结
前言
本次选用的是X型四轴来调试,配置采用的是飞越的650碳纤机架,电调用的是好赢的奔腾40A,电机同样是新西达2212 1000kV,主控是基于STM32F407芯片的商用飞控。首先,将四轴无人机安装在单轴平衡平台上,然后执行以下步骤:
-
姿态角稳定性检验:将四轴平衡在特定的角度(称为目标角度)。然后,观察四轴无人机是否能够保持在目标角度附近,即使存在轻微的扰动。这个步骤有助于确定PID控制器的P(比例)、I(积分)和D(微分)参数的初始值。
-
姿态角响应性检验:通过向四轴无人机发送新的目标角度命令(可能在不同的轴上),检验四轴无人机是否能够立即调整到新的目标角度,而不会有明显的延迟或偏差。
-
姿态角操纵性检验:由操纵员通过手持控制器发送各种姿态角命令,然后观察四轴无人机的响应。这个步骤有助于确定四轴无人机的操纵性能,即对操纵员的操作是否具有响应性和精确性。
-
PID参数调整:根据实验结果和观察,逐步调整PID控制器的参数,直到达到所需的性能指标为止。这个过程可能需要进行多次实验和调整,但最终目标是实现稳定性、响应性和操纵性的良好平衡。
一、调试思路讲解
首先调整一个轴的平衡,然后再调整另一个轴,最后调整YAW轴。 开始时,我只调整P,将I和D置零。由于不知道PID的合适范围,我就随便给了一组值:P=1,I=0,D=0,并观察现象。但是一旦启动电机,四轴就开始剧烈左右摇摆,很明显P给大了。然后我减小P值,从P=0.1开始尝试。在调试过程中,我发现一个现象:当四轴向一边歪,离平衡的0度有一个角度A的偏差时,P=0.1时A很大。这时,除非油门推得很大,否则四轴根本就起不来。这说明P设置得太小了。我又尝试了P=0.2,但四轴的状态没有明显改善。于是,我直接将P加大到0.8。此时,虽然可以看到等幅震荡,但四轴仍然不在0度的平衡位置,而是有一个角度B的偏离。此时,B的值较小。之后,我继续增大P至1,四轴的震荡又变大了,但仍然存在于0度静态平衡位置的静差。由于此时I=0,我决定先不理会这个静差,而是先找到P的临界震荡点。当P=0.8时,我可以观察到比较明显的等幅震荡,但当P=0.2时,四轴显得无力。因此,我得出结论P应该在0.2到0.8之间。临界震荡点是指P从不震荡到刚开始震荡的点。
在此提醒一点,当P设定值太小时,四轴在大倾斜的情况下受到重力和P的影响会产生震荡。这种震荡不是等幅的,也不是对称的。波谷的幅度比波峰大,且距离0度平衡点较远。需要注意区分这种情况。
我将P从0.2到0.8尝试,并找到一个适合的点,即出现刚开始出现震荡的P值。最终我选定P=0.5。但要注意,尽管我调整了P值,仍然存在静态差。
在以上过程中,我一直试图通过P来消除静态差。但是我发现,当我将P调到很大时,四轴的震荡变得非常剧烈,且震荡的中心不在0度位置。因此,我只能先选定P和D,然后加入I来解决这个问题。
当我将P设定为0.5时,四轴在稳定位置的震荡减小了,但在外力干扰下仍然很难保持稳定,抗扰能力较差。然后我开始调整D值。
在平衡过程中,P相当于四轴的回复力,它力图让四轴保持在一个稳定的平衡位置,但这个位置不一定是我们期望的位置。我认为,当偏差不再变化时,PID的输出也不会变化。因此,光使用P时,稳定的位置不一定是我们期望的平衡位置。而D则是阻尼力,它在四轴有速度时才会发挥作用,始终抑制运动。因此,它可以抑制震荡,但同时也会抑制P的作用。当震荡产生时,四轴在震荡的中心点上的速度最大,这也是D作用最强的时刻。
在调整D的过程中,我犯了一个错误。因为我更改了D的标准型,而D应该是抑制运动的,但是陀螺仪的输出数据符号使得D的作用与预期相反。因此,一开始无论我怎么调整D,都会引发震荡。后来,我在参数前加了一个负号,问题就解决了。在这里我提醒,要注意D是阻尼力,是抑制运动的作用,它始终希望作用对象没有运动。至于停在何处,不是D所关心的,这是P和I所关心的。因此,当直接使用陀螺仪数据代替偏差差时,需要注意。修正这个问题后,加入D的效果就很明显了,四轴在外力干扰下有明显的回复力,能够快速稳定在平衡点。调整D就是试错的过程,当然D过大也会引发震荡。但是此时不加D时,光有P作用时的震荡就很小。很明显,随着D的增加,震荡减小又增加。最后,我选定了P=0.4和D=0.15。
当我最后确定了P和D值后,我的四轴依然存在静态偏差,不能稳定在期望的0点。在网上,有很多四轴只使用PD,但考虑到我的实际情况,我决定加入I。
调整I时,我先去掉了积分限制。然后我逐渐增大I,当我调整平衡时,随着油门的增加,静态偏差应该逐渐减小。我将油门推到差不多将四轴推离地面的位置,观察I能否消除静态偏差。因为如果油门给得太小,静态偏差较大,虽然调整出来的I能够消除静态偏差,但I值较大,在增加油门时可能会产生过调震荡。最终,我需要一个I能够消除静态偏差又不会产生过调震荡的值。我认为这个值应该尽可能小。最后,我再加上合适的积分限制。
最终,我确定的PID参数是:P=0.4,I=0.35,D=0.15。
二、实际调试方法
调试步骤始终是先调平衡杆,开始调X轴时,我以为X轴和十字型的调试方法类似,所以我只是简单地将原有PID参数按照新的程序的PWM值域缩放了一下倍数,但是效果不佳,PID控制器没有起到作用。
具体情况是,四轴一开机就直接向一边倒,无法停在平衡位置,而是倒到一个很大的角度(大约70度左右),接着电机力量突然加大,四轴立起,然后又反向倒向另一边,进入了失控的大幅震荡。由于一开始就倒向一边,我意识到P可能设定得过小了。于是我开始逐渐增大P值,但是即便将P调得很大,四轴依然会倒向一边,然后电机力量增大,四轴反向倒向另一边,开始发散性的震荡。我发现,当P设定得比较小时,四轴受到电机惯性的影响,会开始震荡。而当P调得较大时,四轴会直接进入震荡状态。我始终无法观察到等幅震荡或者接近小幅震荡的状态。不管P值是大还是小,四轴都会进入失控的发散震荡状态。与十字型飞行器不同的是,这个X轴飞行器的情况并不稳定。甚至连相对稳定的等幅震荡状态都无法观察到,而是直接进入发散的震荡状态。
后面经人提醒,在确定P值时,应该将把手放开,观察四轴开始震荡的情况。只要四轴左右晃动几次,就能达到大幅度的晃动,大概在45度左右。确定了这个P值之后,就可以加入D,而且D有可能比P值大。在这个基础上,我又开始了调试。
再次从头开始调整P值时,我观察到了一个新的现象。我将四轴稍微倾斜几度,比如说向左。当P值较小时,启动电机后松开手,四轴会向左倾斜。如果P值较大,则四轴会向右倾斜。前者表示补偿不足,后者表示补偿过度。在这两个P值的区间内,我们需要找到合适的P值,即能在平衡位置稍微晃动几下的值。此时我的P值为3.0,但光靠P值四轴仍然无法站稳,只能在平衡位置坚持1到2秒。因此需要加入D值。我尝试了D值为1、2和3时,没有明显效果,只能观察到起初的短时平衡性略有改善。当D值为10时,可以明显观察到平衡的时间延长了,但仍会倾斜。当D值为20时,可以明显观察到四轴基本平衡了,但仍有小幅震荡,当有干扰时四轴也不能很快恢复平衡,说明D值有一定效果但太大了。在这种情况下,P值仍然偏小,回复力不足。我将D值定为25,然后开始调节P值,加大P值,增强恢复力。在调节过程中,我感觉到P值会产生一种名为A的震荡,这种A震荡是会发散的,频率较低。而D值会产生另一种名为B的震荡,B是等幅的,频率较高。然后P值会抑制震荡B,但会激发震荡A。D值会抑制震荡A,但会激发震荡B。调节参数的最终目的是调整好P值后再调整D值,将两个参数互相支持,使它们趋近一个最佳点。想单靠一个参数一次就接近理想值是不可能的。当然,机体表现出的等幅震荡也不一定是因为D值过大,P值不合适同样会产生此种情况。另外,在调节参数时,不要一味只加不减。当我P值为4,D值为50时,我将P值稍微减小一点,才取得了更好的效果。最后,在离开平衡杆时,我的P值为3.5,D值为50。此次调试中没有静态误差,因此没有I项。
总结
以下是我个人的总结:
1、调节PID控制器首先要理解最基本的PID三项意义:P是回复力,即系统平衡的主力;D是阻尼力,一直是抑制作用;I虽然能使系统回复但是I大了容易激发震荡,所以I只能是辅助P。
2、一般从P开始调节时候首先要找到临界震荡点,要学会辨识系统临界震荡点的特点。不同系统的临界状态可能不同,在这一点上用曲线代替肉眼直接观察效果好的多。
3、P不一定就比D大,切不可经验主义,一切遵循实际,多尝试可能性。
4、调节PID最麻烦的就是会产生震荡。只要参数不合适都会产生震荡。初学者往往心急不知如何下手,其实是不同参数不合适而产生的震荡都有所区别,要细心观察。最好能看PID输出、被调量、设定值三者的曲线图。通过图来对比特征曲线得出震荡产生的原因。更多关于曲线特征判别方面的内容,请参阅附件中的篇文献。
5、调节参数是个让人头疼的活,一定要心平气和,切莫急躁,多尝试。我认为一个平静的心态在调PID时非常重要,能让你头脑清醒地看清问题。调节参数是个枯燥的活动。如果你很烦或者很着急,调不出来只会让你更加烦躁、更迷糊。还有就是耐心、多试。刚开始不知道大致范围时参数尝试变化范围可以大一点。确定范围后就要耐心地一点点加。
6、以上所言都是针对位置式PID控制器。增量式PID控制器的三组参数所起作用与位置式大相径庭,不可套用。
7、多与人交流,在这里再次感谢指导我的诸多网友。文章来源:https://www.toymoban.com/news/detail-859159.html
8、调节PID最好能看曲线图,判别特征曲线,用曲线来看特征比直接看物体表现好得多。文章来源地址https://www.toymoban.com/news/detail-859159.html
到了这里,关于关于无人机PID调参的经验分享的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!