智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 7400|回复: 23
打印 上一主题 下一主题

[资料] CCD记忆算法

  [复制链接]

2

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
QQ
威望
138
贡献
62
兑换币
54
注册时间
2012-10-27
在线时间
19 小时
跳转到指定楼层
1#
发表于 2013-1-25 18:19:39 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

近期,看到一篇关于路径记忆的文章,至少给迷茫的我们指明了方向,感觉很不错,特拿出来分享一下!

由于光电传感器看到赛道的长度有限,不能很好地对赛道状况进行预测,因此,如果小车在跑第一圈的时候能够记下赛道全部路径信息,在第二圈的时候则能够根据第一圈的记忆信息辅助控制,在相同条件下将比不使用赛道记忆的智能车更具有优势。

v
成功实现赛道记忆算法,必须具备以下五个条件

§
赛车必须识别起跑线。

§
赛车需要在第一圈记下正确的赛道信息。

§
正确地滤波。

§
赛车必须拥有足够的存储空间。

§
赛车在第二圈如何应用第一圈记下的信息。



赛车如何在第一圈记下正确的赛道信息?

v
当起跑线被检测到后,开始对赛道进行记忆。我们采用的是分段式记忆算法,当黑线的位置在中间某个区域内则记为直道,在右面的区域则记为右弯道,在左面的区域则记为左弯道。我们利用编码器记录小车走过的路程,具体做法为:用PCAN1记录编码器的脉冲数,输入到计数器当中,进而采用计数器的溢出中断来对赛道进行定距离记忆,当计数器的脉冲数溢出时,这时计数器申请溢出中断,从而实现对赛道定距离记忆。当第二次检测到起始线时记忆结束。

v
正确的滤波

v
确的滤波对赛道记忆而言是至关重要的,它决定了在第二圈时赛车的运行路线和运行速度,对赛道滤波需要分两种情况,第一种就是在记忆过程中对赛道滤波,由于我们采用的是分段式记忆方法,当某一段记到的脉冲数小于某个数时,这时我们把它归为上一段。第二种就是在第二次检测到起始线后对赛道进行全局滤波,这时我们要从赛道中滤出小S道、大S道和连续弯道。

v
具体做法如下:首先我们必须先找出它们的特征,对于小S道,由于我们采用的是分段式记忆算法,如果当连续几段的脉冲数都很少时,我们可以把这几段看成一个整体,把它从赛道中滤出来,从而实现小S道直冲。当然这个脉冲数的阈值必须是通过大量的测试而得,否则将造成错误。大S道不能像小S道那样直接冲过去,否则小车将冲出跑道。我们必须将连续弯道提取出来,因为在第二圈回忆跑道时,连续弯道最容易出错。

v
赛车必须拥有足够的存储空间

v
由于赛车的RAM空间只有8 kb,所以EEPROM必然成为了存储赛道信息的最佳选择。

v
通过编写WriteEEPROMReadEEPRROM这两个函数,将EEPROM当作ROM来使用。这样就解决了存储空间不足的问题,而且EEPROM在程序复位和断电后数据不会丢失。

v
赛车在第二圈如何应用第一圈记下的信息

v
根据第一圈记录下来的信息,小车就可以提前预知直道还是弯道。对于直道,小车在道路的前段以常规的速度行驶,以便小车调整车身姿态,中段则以全速行驶,后段则提前减速到一个最佳的速度,为过弯道而做准备。在弯道中,小车会根据第一圈记下来的不同曲率,以设定速度匀速行驶。特别的是,在过小S弯时,可以人为地让小车减小调节舵机的大小,这样小车便能以近似直道冲过去。

3

主题

563

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3808

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章

QQ
威望
1710
贡献
906
兑换币
1148
注册时间
2013-8-24
在线时间
596 小时
24#
发表于 2014-1-19 12:04:38 | 只看该作者
:lol:lol比较难啊
回复 支持 反对

使用道具 举报

1

主题

19

帖子

0

精华

高级会员

Rank: 4

积分
526
威望
265
贡献
159
兑换币
125
注册时间
2012-12-30
在线时间
51 小时
23#
发表于 2013-5-12 20:27:11 | 只看该作者
希望可以实现吧!
回复 支持 反对

使用道具 举报

12

主题

174

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1156
威望
654
贡献
300
兑换币
157
注册时间
2012-2-21
在线时间
101 小时
22#
发表于 2013-5-12 19:29:50 | 只看该作者
这个是打算跑到终点就冲出赛道外吗
回复 支持 反对

使用道具 举报

1

主题

70

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1659
威望
553
贡献
926
兑换币
79
注册时间
2011-12-10
在线时间
90 小时
21#
发表于 2013-5-11 23:23:07 | 只看该作者
嘿嘿,思路很好。。。
回复 支持 反对

使用道具 举报

49

主题

200

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4104
威望
1844
贡献
974
兑换币
860
注册时间
2012-12-11
在线时间
643 小时
毕业学校
辽石油
20#
发表于 2013-5-11 22:01:08 | 只看该作者
问题是完整的跑完一圈就不让你跑了啊
回复 支持 反对

使用道具 举报

1

主题

217

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1869

活跃会员奖章优秀会员奖章

威望
897
贡献
616
兑换币
437
注册时间
2012-4-22
在线时间
178 小时
毕业学校
斯坦福桥
19#
发表于 2013-5-11 21:52:00 | 只看该作者
好像很厉害的样子
回复 支持 反对

使用道具 举报

3

主题

102

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1069
威望
464
贡献
331
兑换币
303
注册时间
2013-3-17
在线时间
137 小时
18#
发表于 2013-4-8 22:58:07 | 只看该作者
具体写程序就难了吧,比赛里能用吗
回复 支持 反对

使用道具 举报

2

主题

54

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1225
威望
614
贡献
337
兑换币
246
注册时间
2012-3-11
在线时间
137 小时
毕业学校
大连交通大学
17#
发表于 2013-4-6 19:32:05 | 只看该作者
学习下!
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

注册会员

Rank: 2

积分
97
威望
62
贡献
17
兑换币
29
注册时间
2013-3-22
在线时间
9 小时
毕业学校
江口
16#
发表于 2013-4-2 16:44:05 | 只看该作者
有难度
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-29 18:32 , Processed in 0.073326 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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