智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 10955|回复: 29
打印 上一主题 下一主题

[控制类] 光电前瞻大了弯道总是走内圈怎么办?

  [复制链接]

0

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
391
威望
269
贡献
76
兑换币
54
注册时间
2008-9-28
在线时间
23 小时
跳转到指定楼层
#
发表于 2009-6-2 16:21:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1贡献
我们是光电组的,用红外管,现在前瞻能到30cm~40cm,但是正因为前瞻大了,所以当小车还在直道上的时候,由于看得远,已经看到了前方的的弯道,所以剩下的一点直道还没走完就开始转弯了,这样导致所有的弯道只会走内圈,虽然这样一来固然算是抄了近路,但是会有跑下赛道的危险(转弯时靠外侧的轮子也在黑线里边,也就是说整个车都在黑线里面了)。怎么办呢?

6

主题

72

帖子

0

精华

金牌会员

论坛小菜鸟

Rank: 6Rank: 6

积分
1821
威望
873
贡献
554
兑换币
574
注册时间
2017-7-19
在线时间
197 小时
29#
发表于 2017-7-26 00:11:50 | 只看该作者
加速加速 加速
回复

使用道具 举报

13

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
372
QQ
威望
277
贡献
45
兑换币
0
注册时间
2010-3-31
在线时间
25 小时
28#
发表于 2010-7-8 19:34:59 | 只看该作者
回复 16# flyer1988hh


    可以的!~~~~就是激光管倒是没调 起来。。。惆怅
回复

使用道具 举报

6

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
423
威望
323
贡献
78
兑换币
0
注册时间
2009-11-12
在线时间
11 小时
27#
发表于 2010-6-27 13:48:41 | 只看该作者
红外管能那么远吗?
回复

使用道具 举报

4

主题

241

帖子

0

精华

高级会员

Rank: 4

积分
602
QQ
威望
478
贡献
66
兑换币
2
注册时间
2010-1-18
在线时间
29 小时
26#
发表于 2010-6-27 12:57:30 | 只看该作者
回复 4# pcjfhp


    同意你的说法
回复

使用道具 举报

7

主题

198

帖子

0

精华

金牌会员

酱油桶

Rank: 6Rank: 6

积分
2286
威望
1661
贡献
253
兑换币
74
注册时间
2010-1-5
在线时间
186 小时
25#
发表于 2010-4-24 11:58:58 | 只看该作者
学习
回复

使用道具 举报

2

主题

75

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1557
威望
303
贡献
1218
兑换币
0
注册时间
2009-11-7
在线时间
18 小时
24#
发表于 2010-4-20 11:46:50 | 只看该作者
楼主进弯能切内,何不试试s弯呢?
回复

使用道具 举报

1

主题

41

帖子

0

精华

高级会员

Rank: 4

积分
586
威望
387
贡献
87
兑换币
30
注册时间
2009-11-18
在线时间
56 小时
23#
发表于 2010-2-13 20:27:21 | 只看该作者
学习
回复

使用道具 举报

8

主题

337

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2131
威望
1054
贡献
481
兑换币
110
注册时间
2009-6-14
在线时间
298 小时
22#
发表于 2010-2-7 11:04:08 | 只看该作者
回复 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那样保存更多行数据
回复

使用道具 举报

5

主题

235

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2139
威望
490
贡献
1255
兑换币
30
注册时间
2009-3-19
在线时间
197 小时
21#
发表于 2010-2-6 16:07:02 | 只看该作者
回复 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);
}


这样每次输入函数都输出;并且可以根据采样频率加长其内部均值的量。
回复

使用道具 举报

8

主题

337

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2131
威望
1054
贡献
481
兑换币
110
注册时间
2009-6-14
在线时间
298 小时
20#
发表于 2010-2-6 15:15:00 | 只看该作者
回复 20# yangweiliang567


    楼上明显没用过循环队列,用了试试,循环队列不是一个口进一个口出的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-25 05:25 , Processed in 0.275030 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表