打印

小车直线前进方法

[复制链接]
1809|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
墨羽谨年|  楼主 | 2014-4-8 21:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在做个小车,两边各一个驱动轮(直流电机带减速齿轮箱控制轮子),前方中间有个万向轮(无驱动能力),共三个轮子。
驱动轮分别由不同的驱动电路控制。(PWM波调节占空比控制速度)
直流电机上加了红外对管进行测速(可以测出电机的转速和转的圈数)

小车前进的时候,因为两轮存在一定速度差,会走弯,请问有什么好的解决方法吗?

我尝试的方法是这样,测出两轮速度,进行比较,以左轮速度快为例,根据两轮的电机旋转圈数之差,乘以一个固定值,得到调整值,然后用此调整值,增大右轮的PWM波占空比,加快速度,减小左轮的PWM占空比,减慢速度,但是效果还是不够理想。

有人推荐用PID去进行控制,但是我没做过PID,不晓得PID能否解决这个问题呢?有实例或者思路供参考吗?谢谢了。(先去看看PID算法了)

相关帖子

沙发
ocon| | 2014-4-9 10:48 | 只看该作者
必须引入误差校正,因为即使能保证轮子转过的圈数严格相同,车子还是会越来越偏。

使用特权

评论回复
板凳
墨羽谨年|  楼主 | 2014-4-9 11:10 | 只看该作者
误差校正?可以说一下具体思路吗?谢谢

使用特权

评论回复
地板
墨羽谨年|  楼主 | 2014-4-9 11:58 | 只看该作者
ocon 发表于 2014-4-9 10:48
必须引入误差校正,因为即使能保证轮子转过的圈数严格相同,车子还是会越来越偏。 ...

刚刚尝试了这么个方法,统计两轮转过的总圈数,然后对左右轮进行加减速控制;结果小车走了一个幅度越来越大的S形路线

使用特权

评论回复
评论
jrcsh 2014-4-9 23:44 回复TA
改进算法 
5
ocon| | 2014-4-9 13:36 | 只看该作者
影响走直线的还有地面与轮胎的摩擦系数,这个系数是不确定的,轮胎上套一个胶圈可以降低与地面接触面积,从而减少不确定性,但不可能消除误差累积。
你的问题出在错选了与直线没有必然对应关系的轮子做参照物,而不仅仅是什么算法,建议搜一下“IEEE电脑鼠走迷宫”视频,它是用红外线测距做误差校正,参照物是墙壁。

使用特权

评论回复
6
墨羽谨年|  楼主 | 2014-4-9 14:20 | 只看该作者
ocon 发表于 2014-4-9 13:36
影响走直线的还有地面与轮胎的摩擦系数,这个系数是不确定的,轮胎上套一个胶圈可以降低与地面接触面积,从 ...

可是我这个没有参照物可以选择,只是在平面上行驶~~~~我想通过左右轮的行驶距离不同来控制左右轮的速度

使用特权

评论回复
7
ocon| | 2014-4-9 17:53 | 只看该作者
墨羽谨年 发表于 2014-4-9 14:20
可是我这个没有参照物可以选择,只是在平面上行驶~~~~我想通过左右轮的行驶距离不同来控制左右轮的速度 ...

那问题的关键是找到替代的参照物。

使用特权

评论回复
8
jrcsh| | 2014-4-9 23:45 | 只看该作者
是什么场地,环境理想不,场地比较平不, 装个鼠标上去~~~~~ 就能得到偏移了,

使用特权

评论回复
9
墨羽谨年|  楼主 | 2014-4-12 11:16 | 只看该作者
jrcsh 发表于 2014-4-9 23:45
是什么场地,环境理想不,场地比较平不, 装个鼠标上去~~~~~ 就能得到偏移了, ...

场地基本就是室内,算理想吧。装个鼠标上去?我先去了解下鼠标原理看看

使用特权

评论回复
10
墨羽谨年|  楼主 | 2014-4-12 11:16 | 只看该作者
ocon 发表于 2014-4-9 17:53
那问题的关键是找到替代的参照物。

现在有个电子罗盘可以测角度,可以作为参照,但是这个东西有5°左右的误差~~~~~~~~~

使用特权

评论回复
11
墨羽谨年|  楼主 | 2014-4-12 11:20 | 只看该作者
现在在用PID控制两轮速度趋于一致,但是用得不太好,运行过程中速度波动比较大。

使用特权

评论回复
12
ocon| | 2014-4-12 14:35 | 只看该作者
墨羽谨年 发表于 2014-4-12 11:16
现在有个电子罗盘可以测角度,可以作为参照,但是这个东西有5°左右的误差~~~~~~~~~ ...

看一下这个帖子,以前讨论过的:
https://bbs.21ic.com/icview-637724-1-1.html

使用特权

评论回复
13
mingsealtyj| | 2014-4-14 08:55 | 只看该作者
闭环PID式最靠谱的

使用特权

评论回复
14
墨羽谨年|  楼主 | 2014-6-14 19:40 | 只看该作者
抱歉,一直出差中,许久未回复。
该问题基本解决,采用了位置式的PID调节,并且之前行驶非直线的原因很大程度上是因为模具问题。
感谢各位的帮助。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

110

帖子

2

粉丝