本帖最后由 Chaos_zc 于 2011-8-17 20:36 编辑
最近自己DIY的小车已经能保持平衡了,下一步要实现遥控。PID控制参考匠人大叔的PPT:
duty = Kp_ang * angle ; // = 比例系数*角度
duty += Kd_ang * angle_dot ; // + 微分系数*角速度
duty += Kp_spd * speed ; // + 比例系数*车速
duty += Ki_spd * position ; // + 积分系数*车位移
整定方法:
1.先调角度K值——让小车站起来。
2.调角速度K值——让小车站稳定。
3.调水平速度K值和位移K值——让小车跑起来。
在国外友人做的gyrobot的网站中也找到了上述公式。
但是调试过程发现,加上速度环后(没有速度输入)小车就只能在编码器位置为零的地方附近保持平衡,一旦轮子转过一定角度,小车就开始向一边倾斜并加速。
如果让小车悬空,现象就是:往一边倾斜小车,车轮会朝那边转过一定圈数后停下来,而圈数与速度环的参数有关。如果没有速度环,只要有倾角车轮就会一直转。
我试着调小速度环系数,让小车的平衡受到的影响减小到不明显,但是小车移动效果又很差。
貌似小车速度环对倾角环是种干扰,或者说存在一定的耦合关系。加大速度环系数就会影响平衡,减小系数则会很难实现小车移动。
不知各位已经做成小车的前辈如何解决这个问题??还是只能试验得出一个比较折中的系数? |