自平衡小车速度环问题

[复制链接]
11691|13
 楼主| Chaos_zc 发表于 2011-8-17 20:18 | 显示全部楼层 |阅读模式
本帖最后由 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的网站中也找到了上述公式。


但是调试过程发现,加上速度环后(没有速度输入)小车就只能在编码器位置为零的地方附近保持平衡,一旦轮子转过一定角度,小车就开始向一边倾斜并加速。

如果让小车悬空,现象就是:往一边倾斜小车,车轮会朝那边转过一定圈数后停下来,而圈数与速度环的参数有关。如果没有速度环,只要有倾角车轮就会一直转。

我试着调小速度环系数,让小车的平衡受到的影响减小到不明显,但是小车移动效果又很差。

貌似小车速度环对倾角环是种干扰,或者说存在一定的耦合关系。加大速度环系数就会影响平衡,减小系数则会很难实现小车移动。

不知各位已经做成小车的前辈如何解决这个问题??还是只能试验得出一个比较折中的系数?
zxcscm 发表于 2011-8-17 21:24 | 显示全部楼层
哇哦 期待高手来解答,盼望着小车早点站起来
程序匠人 发表于 2011-8-17 22:09 | 显示全部楼层
建议:在小车没有站起来之前,先关闭速度环。
kobesff 发表于 2011-8-17 22:10 | 显示全部楼层
duty   = Kp_ang * angle ;  // = 比例系数*角度
duty += Kd_ang * angle_dot ; // + 微分系数*角速度
duty += Kp_spd * speed ;  // + 比例系数*车速
duty += Ki_spd * position ;  // + 积分系数*车位移
这个式子没明白。  
PID不是 Kp*angle +Ki*(angle累加) +Kd*(angle-angle(-1))吗,3个项?
怎么duty是4个项啊?
程序匠人 发表于 2011-8-17 22:26 | 显示全部楼层
duty   = Kp_ang * angle ;  // = 比例系数*角度
duty += Kd_ang * angle_dot ; // + 微分系数*角速度
duty += Kp_spd * speed ;  // + 比例系数*车速
duty += Ki_spd * position ;  // + 积分系数*车位移
这个式子 ...
kobesff 发表于 2011-8-17 22:10


4个项可以理解为两个环:

角度环是做PD运算
车速环是做PI运算

所以有4项
 楼主| Chaos_zc 发表于 2011-8-17 23:07 | 显示全部楼层
呵呵,小车已经能站起来,不知这样理解匠人大叔是话是否正确:小车启动之后角度环先作用几秒钟,等速度基本不在抖动之后在启用速度环?
3# 程序匠人
kobesff 发表于 2011-8-17 23:21 | 显示全部楼层
LZ有时间发了经验心得贴什么的。让我们新手学习下。
 楼主| Chaos_zc 发表于 2011-8-17 23:41 | 显示全部楼层
7# kobesff
呵呵,我也只能算新手。等过段时间闲下来我会把做的东西整理整理发上来。
Cortex-M0 发表于 2011-8-18 05:08 | 显示全部楼层
支持Chaos_zc小盆友~~~
 楼主| Chaos_zc 发表于 2011-8-19 09:05 | 显示全部楼层
结贴给分啦
21ICE 发表于 2012-3-11 17:01 | 显示全部楼层
等待中!
kimiyang 发表于 2013-6-8 10:46 | 显示全部楼层
同问啊,楼主有没有解决啊,觉得速度环和角度环是相互制约的关系。
16777216 发表于 2013-6-8 10:58 | 显示全部楼层
程序匠人 发表于 2011-8-17 22:26
4个项可以理解为两个环:

角度环是做PD运算

匠人 你的ppt参考在哪里呀 我没找到
kimiyang 发表于 2013-6-9 22:25 | 显示全部楼层
“如果让小车悬空,现象就是:往一边倾斜小车,车轮会朝那边转过一定圈数后停下来,”
按我理解,如果小车一直往一边倾斜,应该车轮向那边越转越快,才能靠加速度使小车修正角度。 如果越转越慢的话,不是倾角越来越大啦。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:在追求有意义而又快乐的目标时,我们不是在消磨时间,而是在让时间,闪闪发光。

5

主题

272

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部