劈-I-D
作者:互联网
提出问题
卓老师您好,自从我参加智能车比赛后,学长就对我们说舵机控制采用pd控制,后轮用pid控制。我想了很久,没有明白,因为舵机控制里面有I系数的话会震荡。可是如果有I的话可能会更精准些,我感觉我陷入了死循环。 谢谢老师。
洞察事物真相,避免思维死循环的一个有效方法是使用数学语言帮助推导和理解。
从上述提问中可以看到参加竞赛的同学对于自动控制原理 有了初步了解,但有可能还没有系统的学习。当然,通过实际工程挑战探讨背后的控制原理是再适合不过的了,至少对于某些同学来说。下面就来回复上述问题。
车模在赛道上运行,其中车模中心偏离赛道的距离d(t)是受车模前轮转角θ(t)所决定的。假设车模运行速度恒定,为Vc。那么在delta(t)时间内所产生的位置偏差为:Vc×delta(t)×θ(t)。
车模转向与重心偏离之间的积分关系
把上面的微分等式两边进行积分,可以得到车模中心偏差d(t)与舵机控制前轮角度偏差θ(t)的之间的积分关系了。当θ(t)比较小的时候,积分关系可以变成一个线性的积分方程。
车模中心偏差d(t)与控制转角θ(t)之间的关系
对于带有积分特性的对象,使用比例反馈控制就可以获得零偏差的控制效果。具体的原理分析可以在一般的控制原理书上找到,在这里就不再进行累述了。对于车模控制来说,只要有偏差,就产生一个等比例的转向偏角,最后通过运动积分,就可以消除位置偏差。
下面是在MATLAB中,建立一个简单的积分对象,通过比例反馈控制完成对阶跃给定的的跟踪。可以看到跟踪是无偏差跟踪,即输出稳态也是1,。随着比例控制的增益增加,系统输出达到稳态过渡时间就会减小。
积分对象比例控制随着比例增益增加的单位阶跃响应
上面阶跃给定的情况描述了车模通过赛道拐角时的情况。比例控制的增益随之车模速度Vc的增加,也会等比例的增加。
车模转弯时的方向控制相当于控制系统的的单位阶跃响应
如果车模控制就是这么简单就太幸福了。但实际调试过车模的同学会注意到车模在使用比例控制的时候,如果比例增益过大,车模就会发生左右摇摆震荡。
车模在比例控制下的左右震荡的情况
这种震荡现象的产生,是因为车模上的舵机执行器具有一定的非线性延迟的结果。否则,按照前面的理论分析,无论比例控制增益多大,也不会产生方向控制震荡。
由于舵机输出转角的转动速度是有限值,而且近似为 一个恒速转动,这是一个非线性的环节。
为了简化分析,下面将舵机简化成一个纯延迟环节。比如延迟100ms。将这个延迟环节重新增加在上面的仿真系统中,就会发现,随着比例控制的增加增加,系统的单位阶跃响应就会变得不稳定。
带有延迟环节的积分系统,在比例控制下单位阶跃响应
因此,随着车模速度增加,等效为比例控制增益增加。当车模速度达到一定值时,车模开始震荡,并发生大的过冲,使得车模就会冲出赛道,导致比赛失败。
为了抑制这种过冲,从控制角度需要增加误差的微分项,来提前进行误差的消除。在下面的仿真中,增加了对于反馈误差的微分项。反馈比例项设置为15。如果微分项为0,则系统单位阶跃响应会产生比较大的过冲。随着微分项的增加,单位阶跃响应就会减弱,变得抖动的频率上升。
但是,微分项是无法严格消除由于延迟带来的震荡的。从上面的仿真看出,当微分项的增也达到一定程度,系统输出反而会产生高频的抖动。
为了彻底消除过冲,则需要同时调整比例,微分项参数,使得车模在拐弯的时候不产生大的过冲。
如果相反,在反馈中不增加微分项,而是增加积分项,则会增加系统的震荡程度。积分项和延迟环节都有对误差信号相位延迟的作用,所以增加了积分项,更加重了控制过程中的过冲。
下面的仿真结果就显示了,随着积分增益的增加,系统的单位冲击响应的过冲越来越严重了。
增加了积分反馈控制后的输出
系统的动态特性和稳态特性可以在线性反馈控制系统理论下进行严格的分析。在今天的推文就先不展开了。有兴趣的同学可以在春季学期观看我在学堂在线上给出的“信号与系统分析”课程中的内容。
通过控制算法,可以在一定程度上提高系统的性能,但最终决定车模运行速度极限的因素,则来自执行器件的性能,即输出动态饱和区间,以及对应的非线性特性。在车模方向控制中,最为关键的就是由舵机的相应速度所带来的延迟。所以,为了保证比赛的公平性,规则要求参赛车模的舵机必须是指定的型号。
标签:,控制,阶跃,舵机,积分,车模,比例控制 来源: https://blog.csdn.net/zhuoqingjoking97298/article/details/104064723