fangliang425 发表于 2011-8-11 19:05:47

循迹小车,程序怎么写才能使他快

我的循迹是4路的,可以寻线跑,但是一直在左右修正,极慢,直线跑挺快的,不知程序怎么写能快点

xivisi 发表于 2011-8-11 19:07:28

处理器速度快点这个效果立竿见影 除非代码太差

turf456 发表于 2011-8-11 19:30:45

多加几路。参考智能车的方案和算法。

fangliang425 发表于 2011-8-11 19:41:12

回复【1楼】xivisiLiYong
-----------------------------------------------------------------------

用的avr的,8m的晶振,速度不慢了

pplive 发表于 2011-8-11 21:01:16

参考飞思卡尔智能车光电组……

JamesErik 发表于 2011-8-11 21:20:20

参考飞思卡尔智能车光电组……

zouyf12 发表于 2011-8-11 21:52:02

首先你的车模本来就要跑的很快。   LZ的车模是怎么样的?像淘宝上面有些小车车模,本来速度就不会快,再怎么处理也没用~

fangliang425 发表于 2011-8-11 22:24:30

回复【6楼】zouyf12
-----------------------------------------------------------------------

的确是淘宝上的车体,前面加了4路循迹,但是我看视频的时候,别人的车在走直线的时候几乎是直线全速,而我是在不断左转右转修复,还有左转右转的力度该如何设定??

fangliang425 发表于 2011-8-11 22:24:57

回复【6楼】zouyf12
-----------------------------------------------------------------------

的确是淘宝上的车体,前面加了4路循迹,但是我看视频的时候,别人的车在走直线的时候几乎是直线全速,而我是在不断左转右转修复,还有左转右转的力度该如何设定??

turf456 发表于 2011-8-11 22:34:39

回复【8楼】fangliang425
回复【6楼】zouyf12
-----------------------------------------------------------------------
的确是淘宝上的车体,前面加了4路循迹,但是我看视频的时候,别人的车在走直线的时候几乎是直线全速,而我是在不断左转右转修复,还有左转右转的力度该如何设定??
-----------------------------------------------------------------------

pid

zouyf12 发表于 2011-8-14 21:47:51

回复【8楼】fangliang425
-----------------------------------------------------------------------

第一次没注意看你的帖子。 首先,你用PID没?控制策略是不是如果4路里哪一路检测到黑线的话,就给电机输出对应于这个传感器的事先设定好的PWM?这样最大的问题是你不可能很准确的确定,某一路检测到黑线时该输出多少PWM。 其次4路是绝对不够的,不左右晃是不可能的,除非你这4路排的很密,车子只要稍微有点偏差,传感器就能发现,并指挥电机来修正,这样你基本不会感到车子在左右晃。。但是这样的话,由于探测宽度太窄,传感器很容易丢下线。 如果你为了增加探测宽度,把4路传感器间距加大的话,那车子必须偏差足够大,才能被传感器探测到。这样,车子就不可能不晃了。

所以废话了半天,最后想告诉你的是, 增加传感器数量(8最少)。 减少传感器安装间距,使用PID来控制。

fangliang425 发表于 2011-8-15 10:34:57

回复【10楼】zouyf12
-----------------------------------------------------------------------

没错,说的很精辟,我现在也发现了这个问题,pid我也想过,但是小车那光码盘给我弄坏了,小车速度本来就不快,用霍尔传感器误差就有点大了,而且测速程序用固定时间检查测的圈数,误差就更大了,现在还没到更好的方法写测速程序,用的mega128,你有什么好的方法请传授一下,还有还想问下辉盛SG90的舵机用过吗,最近想弄舵机,从来没试过~,留个qq吧,我360852158

zouyf12 发表于 2011-8-15 23:02:43

回复【11楼】fangliang425
-----------------------------------------------------------------------

上班不能上网,下班回来也懒得开Q了,还是OURDEV开得多,就在这回复你吧。对于你这种双轮车的话,车速基本可以开环控制,也就是直接调整两个电机的PWM,不管实际车速, PID,最简单的办法就是先给你每个传感器定义一个数值, 比如中间的就定义一个0, 右边的比如有3个传感器的话,就依次为2 4 6,离得越远数值越大,左边的对应为-2 -4 -6。 反正一正一负。然后这个数值就可以理解为误差了。 P控制的话,你就直接拿这个误差乘上一个系数。乘积就是你电机PWM的数值了。 然后剩下的事情就是不停的调试这个系数,使车辆稳定了。就这么简单,至于PI PD PID之类的依次类推。

zouyf12 发表于 2011-8-15 23:07:51

至于为什么用开环不去测速,因为本身车速慢的话,测速用数脉冲个数的方式的话由于单位时间内个数太少,所以很不精确,测脉冲宽度的话,个人感觉误差蛮大的,所以玩具级别的车子就不搞那么复杂了。先跑起来再说,效果不好再加

fangliang425 发表于 2011-8-16 08:43:13

回复【13楼】zouyf12
-----------------------------------------------------------------------

谢谢zouyf12,你多说的方法是否是给每个传感器一个权值,我菜鸟了,以为PID要以反馈量为速度才算,在此再谢谢,我试试,还有留个邮箱总行吧,今年参加电赛,好多东西要整,学校高手都是做电源的,控制类苦于没人询问指教

QQ328770570 发表于 2011-8-17 19:49:35

求高手指导,今年我也参加电设

cb1470 发表于 2011-8-20 10:47:58

本人也是用四路的传感器,不过整台车子都是自己做的,虽然速度不是很快,但是很稳。一开始装的时候也担心过楼主的问题,但硬件做出来后,也是用开环,没用到PID(其实正在学,也不怎么会用),走直线没有出现楼主的问题,可能是硬件方面,传感器的间隔做得比较好,主要在程序中调节延时的时间而已(这里调了很久)。所以,其实很多时候硬件可以简化一些软件方面的困难。

cb1470 发表于 2011-8-20 10:59:24

还有分享一下四路传感器的放置方式,不知楼主是否是直线排列(我爱车就是,一般都是这样吧。。~(@^_^@)~),不过有人建议我讲四路排成向上的丁字,就是三个并排,一个放在最前,一个类十字状,中间各点的间隔也有讲究,大概是黑线的多少倍就没说,似乎可以讲程序变得更加简练有效。
纯粹菜鸟分享,望多多指点!!!↖(^ω^)↗

yelei419658667 发表于 2011-8-24 10:41:39

有几种方法:1,你可以写路线记忆的算法,这样就可以提前对道路做出反应
    2,根据先前检测到的线的位置迅速的确定后面的线的大体的位置也能够提高反应速度

def_2 发表于 2012-9-7 09:03:26

yelei419658667 发表于 2011-8-24 10:41 static/image/common/back.gif
有几种方法:1,你可以写路线记忆的算法,这样就可以提前对道路做出反应
    2,根据先前检测到的线的位置 ...

算法好复杂啊

g921002 发表于 2012-9-9 20:25:14

參考這篇吧!!

http://elm-chan.org/works/ltc/report_j.html
页: [1]
查看完整版本: 循迹小车,程序怎么写才能使他快