智能车制作
标题:
光电前瞻大了弯道总是走内圈怎么办?
[打印本页]
作者:
jackyu613
时间:
2009-6-2 16:21
标题:
光电前瞻大了弯道总是走内圈怎么办?
我们是光电组的,用红外管,现在前瞻能到30cm~40cm,但是正因为前瞻大了,所以当小车还在直道上的时候,由于看得远,已经看到了前方的的弯道,所以剩下的一点直道还没走完就开始转弯了,这样导致所有的弯道只会走内圈,虽然这样一来固然算是抄了近路,但是会有跑下赛道的危险(转弯时靠外侧的轮子也在黑线里边,也就是说整个车都在黑线里面了)。怎么办呢?
作者:
dtszcr
时间:
2009-6-2 22:52
学习一下。你的管是什么型号的能看那么远?调制了吗?脉冲发光了?你问的这个问题是可以解决的。
作者:
03040218
时间:
2009-6-3 09:08
你直道弯道用的同样的P参数吗?
作者:
pcjfhp
时间:
2009-6-3 09:43
你没有考虑过让转弯与实际的路线同步吗?你可以在转弯的程序前加一个延时,或者把前瞻调小点。
作者:
应用电子
时间:
2009-6-5 10:57
可否指教一下用的什么型号的管子啊????我们的探测距离太小了。
作者:
daomusi
时间:
2009-6-5 12:57
把速度再调大些!
作者:
liang110034
时间:
2009-6-6 01:10
本帖最后由 liang110034 于 2009-6-6 01:18 编辑
狠人!
,光提速也不行,加延时吧,延时长短与速度大小联系起来,直道入弯速度较快时延时短一点,弯道速度较慢延时长点。
作者:
weekly571
时间:
2009-6-6 09:59
减小拐弯时的P量
作者:
zdhly0401
时间:
2009-6-6 11:57
减小拐弯时的P量
作者:
fangchuan1990
时间:
2009-7-28 06:11
提速!
作者:
selion
时间:
2009-7-30 14:31
说了半天也没人说出他用的管子是什么型号的,大家现在都忙比赛去了,什么时候交流一下
作者:
lijunboy
时间:
2009-8-1 13:24
加延时程序就可以解
决!
还可以调节电位器(用RPR220的光电)来减小探测距离
作者:
棉花糖
时间:
2010-1-14 15:38
加延迟的确是个不错的办法
作者:
棉花糖
时间:
2010-1-14 15:38
加延迟的确是个不错的办法
作者:
zhwbiao123
时间:
2010-1-17 15:35
对比上次道理采集的信息,结合小车速度计算下个转弯角度跟速度
作者:
flyer1988hh
时间:
2010-1-17 16:36
提示:
作者被禁止或删除 内容自动屏蔽
作者:
1233211234567
时间:
2010-1-23 08:03
回复
1#
jackyu613
可以考虑使用不同的控制参数,在不同的弯道上根据弯道的特点找到合适的控制参数
作者:
jpbirdy
时间:
2010-1-23 08:40
加延时不好,有没有考虑过把当前检测的信号和前几次综合起来判断,而不是来一个信号判断一次
当前的之前几个信号都保存起来,用循环队列实现
作者:
yangweiliang567
时间:
2010-2-5 15:08
先调P值 不行就在家延迟
作者:
yangweiliang567
时间:
2010-2-5 15:11
回复
18#
jpbirdy
用循环队列也可以用一个口进,一个口出。并不降低采样速率。后进来的把最先进来的值踢掉就完了
作者:
jpbirdy
时间:
2010-2-6 15:15
回复
20#
yangweiliang567
楼上明显没用过循环队列,用了试试,循环队列不是一个口进一个口出的。
作者:
yangweiliang567
时间:
2010-2-6 16:07
回复
21#
jpbirdy
开始我用的时候是进行10个一次均值,10次采样函数输出一次。后来改进了下:
unsigned int junzhi[10]={0,0,0,0,0,0,0,0,0,0};
unsigned int junzhi_he=0;
unsigned char junzhi_i=0;
unsigned int junzhi(unsigned int ru)
{
unsigned int chu=0;
junzhi_he=junzhi_he-junzhi[junzhi_i];
junzhi_he=junzhi_he+ru;
junzhi[junzhi_i]=ru;
junzhi_i++;
if(junzhi_i>9)
i=0;
chu=junzhi_he/10;
return(chu);
}
这样每次输入函数都输出;并且可以根据采样频率加长其内部均值的量。
作者:
jpbirdy
时间:
2010-2-7 11:04
回复
22#
yangweiliang567
f(junzhi_i>9)
i=0;//改成junzhi_i
这边有一点循环队列的意思,我推荐你改成junzhi_i%=10;
循环队列的front和rear是连在一起的,front为当前的队首,a[front]表示最近一次的信号状态,a[(front+queue_num-1)%queue_num]表示队列你保存的最早一次的信号,a[(front+1)%queue_num]表示最近一次前一次的信号状态,同理,通过下标运算可以得到所有信号,对信号的处理都使用这样的规则,当然可以像CCD那样保存更多行数据
作者:
lsyforever
时间:
2010-2-13 20:27
学习
作者:
lin134340
时间:
2010-4-20 11:46
楼主进弯能切内,何不试试s弯呢?
作者:
kurui365
时间:
2010-4-24 11:58
学习
作者:
fengnan
时间:
2010-6-27 12:57
回复
4#
pcjfhp
同意你的说法
作者:
liominge2007
时间:
2010-6-27 13:48
红外管能那么远吗?
作者:
信电小孩
时间:
2010-7-8 19:34
回复
16#
flyer1988hh
可以的!~~~~就是激光管倒是没调 起来。。。惆怅
作者:
yanxi00
时间:
2017-7-26 00:11
加速加速 加速
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2