PID参数的调试
P 就是比例,就是输入偏差乘以一个系数;
I 就是积分,就是对输入偏差进行积分运算;
D就是微分,就是对输入偏差进行微分运算;
而小车pid分为直立环、速度环和转向环,在调试直立过程中,转向环可以屏蔽掉。
直立环控制函数中:
int balance(float Angle,float Gyro)
{
float Bias;
int balance;
Bias=Angle-0;
balance=58*Bias+Gyro*0.115;
return balance;
}
在Bias=Angle-0;这行代码中,Bias为“相对重心角“,可能每部小车都不一样(装的模块数量也不同),所以具体按实际情况加减。
速度环的代码主要就是这两个参数
调试也有视屏教学,链接如下,很不错,但是我调节不到那么好
视频地址:http://player.youku.com/player.php/sid/XMTMwMDAxMTY4OA==/v.swf
在直立环中,先比例后微分,意思就是先让微分参数为0,慢慢增大比例参数到能立稳并来回摆动,在慢慢增大微分参数,直到小车在外力推动的情况下比较稳定不抖动,最后我们在根据小车运动现象在刚刚得到的数字附近进行粗调。
比例参数在整个平衡系统中相当于倒立摆的回复力。这个参数需要大于重力加速度所产生的效果才能够使得车模保持直立。随着这个参数逐步增大,车模开始能够保持直立。该参数进一步加大,车模开始出现来回的摆动现象。
微分参数在整个平衡系统中相当于倒立摆中的阻尼力,它可以有效的抑制车模的摆动。当该参数过大时,会引起车模本身的震动。这是由于车模本身不是一个刚体,车体具有一定的共振频率。微分参数过大时会使得车模在电机的驱动下产生车体的共振。
在调速度环的时候,要先积分再比例,顺序和之前颠倒过来,并且调大速度环的时候可以等比例稍微调小一些直立环参数。
整定PID需要耐心,慢慢调吧,下面是楼主的结果,也不是很理想。
视频地址:http://player.youku.com/player.php/sid/XMTM1MjUyMjk4OA==/v.swf