中文乐高

标题: 巡线专题教程 [打印本页]

作者: 晓舟    时间: 2010-6-20 13:24
标题: 巡线专题教程
本帖最后由 394069341 于 2011-1-18 21:58 编辑

今年WRO和FLL都有巡线方面的问题,在此献给没有了解过巡线逻辑的朋友们一些启发。当然,这未必是最好的逻辑,我只是希望能起到抛砖引玉的作用~希望在WRO上能看到有小学组的巡线非常棒的机器人。
巡线就是沿着地面的一条线走的机器人。而基本原理就是通过检测反射回来的光的强度来判断机器人与线的位置偏差有多少。偏多了,就要往回走一些,偏少了,就稍微往回走。没有偏的话就直走。


巡线的逻辑其实就是上面说的,机器人只需要判断自己偏差了多少。但根据光感个数的不同,判断偏差的逻辑也不太一样。下文给出的这些逻辑仅仅是一个参考,并不一定就是最好的逻辑。所以大家千万别以为这个就是标准答案了……



单光感:
1个光感巡线的逻辑,我想到的有2种。
http://player.youku.com/player.php/sid/XMTgzMDYzMDY4/v.swf
第一种是最简单的,如果测到黑,就往左转。测到白就往右转。这样的逻辑效果当然就是一摇一摆的了。但如何让程序知道光感检测到的是黑色还是白色呢?打开NXT的主菜单,会找到一个叫View的菜单,进入后会找到一个图标像发光的灯泡。这个就是检测光感数值的地方了。点进去之后只要选择端口号,NXT就会把自己检测到的光值显示在屏幕上了。
这个时候你要测一下,光感放在黑色上是什么数值,放在白色上是什么数值。然后取这2个值的平均值,就是程序判断黑还是白的中间值了。大于这个中间值,NXT就认为测到白色。小于这个值就认为测到黑色。
(, 下载次数: 4467)
http://u.115.com/file/f920be5bb9#
单光感巡线(简版).rar



http://player.youku.com/player.php/sid/XMTgzMDY0Mzc2/v.swf
还有另一种,就是通过数据上的一个算法来进行判断。这需要一个类似“公式”的东西来计算机器人偏了多少。
而这个数据是怎么得来的呢?光感测到黑和白会传回一个数值。而且测到黑和白之间交界的时候也会得到一个值。但这个值浮动比较大,如果测的位置偏黑的那边,值就越来越小。如果偏白的那边,值就越来越大。所以可以通过这个大小来决定机器人到底偏了多少。
如果这个值是中间值,说明没有偏(其实这个时候我们的机器人是沿着黑和白的交界走的)。如果这个值比中间值大,就说明偏了。大的越多,偏的越多。反之,如果比中间值小,小的越多偏的也越多。
(, 下载次数: 5723)
http://u.115.com/file/f9df5d6f83#
单光感巡线(难版).rar


双光感巡线:
http://player.youku.com/player.php/sid/XMTgzMDYwMDQ4/v.swf
双光感巡线其实就可以不用上面那样复杂的算法了。
双光感巡线的逻辑很直接。如果左边的光感检测到黑,就往左走(说明机器人往右偏了)。如果右边的光感检测到黑,就说明机器人往左偏了。如果2个光感都没检测到黑线,说明没偏。就直走。
但……
(, 下载次数: 4545)
http://u.115.com/file/f96f7ee516#
双光感巡线(交叉点停).rar
要注意,2个光感巡线会有意外发生的……就是在测到黑线的时候还没来得及转弯,就测到线外面去了……例如这样
http://player.youku.com/player.php/sid/XMTgzMDYxMDIw/v.swf
这个时侯就要做一些调整了,就是转弯力度变大一些,或者前进力量减小一些。避免飞线的情况……




也可以在交叉点的时候做一些事情,例如左转
http://player.youku.com/player.php/sid/XMTgzMDYzMTI4/v.swf
(, 下载次数: 4418)
http://u.115.com/file/f97cd47883#
双光感巡线(交叉点左转).rar





三光感巡线:
http://player.youku.com/player.php/sid/XMTgzMDYxNjQ0/v.swf
大家看到上面的双光感巡线会出一个问题,就是机器人会跑到线外面去。这是因为机器人检测到黑色的时候没来得及转到线上,那个检测到黑的光感就已经检测到线外面去了。而外面也是白色的,所以2个光感都检测到白,就以为自己没偏了。这怎么办呢?
所以三光感的第三个光感就是用来检测自己是不是在线上。如果3个光感都测到白色,说明自己肯定已经跑到线外面去了。这个时候就不要做任何动作了,还是继续之前转弯的动作。
而如果只用中间的光感检测到黑线,而两侧的光感没有检测到黑线,就说明自己在线上,这个时候就可以直走了。
(, 下载次数: 4760)
http://u.115.com/file/f9921be150#
三光感巡线.rar



多光感巡线:(WRO和FLL比赛不允许- -!)
http://player.youku.com/player.php/sid/XMTYyMzY1NDEy/v.swf
其实多光感巡线的逻辑和三光感巡线的逻辑是一样的。只是两侧的光感比较多,可以更快的用来判断机器人偏了多少。偏的越多,远的光感就会检测到。偏的少,近的光感就会检测到。
这个程序我只能拿LABVIEW来编写。这个寻线传感器是我自己做的,通过I2C协议和NXT之间进行通讯。
(, 下载次数: 2626)






PS……字很多。。。


作者: barzz    时间: 2010-6-20 13:50
好文章,对很多人都会有启发,学习中……
作者: 小悟空    时间: 2010-6-20 15:04
相当的不错啊,学习了。

比较推荐三光感寻线,经济适用。但FLL WRO好像有限制把。可以选择双光感寻线,需要进行细致的调整。速度会比单光感快

作者: wxt    时间: 2010-6-20 16:43
学习!!!
作者: blogbc    时间: 2010-6-20 17:28
收藏~
作者: 博洋    时间: 2010-6-21 14:52
先收藏,水平不到,下载了慢慢学。
作者: zaj01    时间: 2010-6-21 22:18
学习了,很有用
作者: yybb123    时间: 2010-6-22 12:16
支持楼主继续好文章
作者: ffusshan    时间: 2010-6-22 12:49
回去试试
作者: 梅飞    时间: 2010-6-22 20:50
很好
作者: redlsq    时间: 2010-6-23 16:15
好好厉害
作者: weyishijie    时间: 2010-6-24 10:54
我偶像的东西一定要学,要顶!
作者: 晓舟    时间: 2010-6-24 13:25
本帖最后由 晓舟 于 2015-8-29 22:57 编辑

回复 小悟空 的帖子


    FLL限制只能最多用2个。WRO没有限制(此贴于2010年发布,现规则已有改变,请以实际规则为准!!)

作者: giantonion    时间: 2010-6-24 23:36
学习了!
作者: action    时间: 2010-6-25 10:01
支持一个

作者: weyishijie    时间: 2010-6-25 14:26
这么好的帖子为什么没人顶起来呢?
作者: ntyz_chh    时间: 2010-6-28 10:20
相当的好
作者: 捞屎人    时间: 2010-6-29 08:40
程序好像有问题
作者: 捞屎人    时间: 2010-6-29 17:48
程序用的是nxtg2.0吗?
作者: 捞屎人    时间: 2010-6-29 17:48
为什么下载了   程序错误呀  楼主 指教一下
作者: 晓舟    时间: 2010-6-30 10:47
回复 捞屎人 的帖子


    什么错误呀。。。说清楚。谢谢
作者: 捞屎人    时间: 2010-7-1 20:28
回复 394069341 的帖子


    是我的 版本问题  1.1  升级到2.0既可以了
作者: sean4114    时间: 2010-7-2 11:23
谢谢楼主的贡献,先下载,慢慢学
作者: No_name    时间: 2010-7-2 12:08
3光感和4光感哪个快
作者: wangxiaokun    时间: 2010-7-2 19:10
LABVIEW我也在玩,可否告知LABVIEW程式如何下载到NXT上。
作者: hustakin    时间: 2010-7-3 02:18
站位,以后看
作者: cordelia    时间: 2010-7-3 11:42
太好了,先学学,谢谢
作者: miniqin    时间: 2010-7-3 21:37
好 好  好
作者: 大苏伪时髦    时间: 2010-7-4 00:32
相当的不错啊,学习了。
作者: 侠客    时间: 2010-7-4 18:28
分析得真不错!精华!
作者: 浪形天下    时间: 2010-7-6 22:01
学习,最后那个多光感怎么接上去的

作者: mummysnnu    时间: 2010-7-8 18:58
很不错,收藏了……
作者: wxfxiaofang    时间: 2010-7-10 13:28
正在学习中,太有用了!
作者: xarobot    时间: 2010-7-10 22:46
哇,口水最后一个楼主自制的光感,能不能发布下设计图啊,好想学着做一个^_^
作者: 乐高新手    时间: 2010-7-11 20:25
学习,现在水平还不够,先收藏着.
谢谢LZ无私教导.
作者: ntyzczs    时间: 2010-7-11 21:13
不错,谢谢分享
作者: 白沙    时间: 2010-7-18 16:28
好文章,就是需要这样领头人。谢谢LZ。
作者: 白沙    时间: 2010-7-18 17:30
前年比赛的时候,中鸣就是用了和LZ类似的多光感,寻线的速度极快。
好是羡慕啊。
作者: 晓舟    时间: 2010-7-19 07:03
回复 白沙 的帖子


    钟鸣和我这个原理差不多。最近在尝试弄一个抗干扰的光电传感器。能抵挡闪光灯
作者: leiiplus    时间: 2010-7-21 13:17
不错,研究研究
作者: hanrubin    时间: 2010-7-21 22:19
真的好不错。
作者: zym    时间: 2010-7-22 08:37
谢谢楼主
作者: bkl81    时间: 2010-7-26 12:45
非常好的,及时雨啊,学习学习,楼主真棒!谢谢啦!
作者: 晓舟    时间: 2010-7-26 18:50
回复 xarobot 的帖子


    额。。那个多光感还算蛮烂的= =!
作者: zjkong    时间: 2010-8-3 10:35
学习了!
作者: rainbow_wolf    时间: 2010-8-4 10:17
学习中
作者: chen_barton    时间: 2010-8-7 08:11
挺好玩的.
作者: sensen    时间: 2010-8-8 16:52
希望能给一些比赛方面的具体规则
作者: xqlds    时间: 2010-8-13 17:15
谢谢,学习了
作者: 晓舟    时间: 2010-8-13 22:06
回复 sensen 的帖子


    请到比赛专区查看,或去相关的官方网站查看
作者: 懒羊羊    时间: 2010-8-16 11:11
相当的不错啊,
作者: jenaspsp    时间: 2010-8-25 22:37
一直搞不清楚寻线原理 学习了
作者: 欧欧    时间: 2010-9-9 13:47
学习了~~~
作者: 晓舟    时间: 2010-9-11 08:15
回复 chao8574 的帖子

= =...那个是很有创意啦...
作者: snowyang    时间: 2010-9-11 11:08
学习 学习
作者: yesky2046    时间: 2010-9-11 23:44
不错不错,,很有启发。。。。还是免费。。。。
作者: am1062    时间: 2010-9-15 08:48
学习了。。谢谢
作者: 童年的纸飞机    时间: 2010-9-18 22:51

作者: qyc0217    时间: 2010-9-19 15:21
支持楼主
作者: 童年的纸飞机    时间: 2010-9-19 20:31
niua
作者: easymaster    时间: 2010-10-4 08:59
怎么会有循环圈数
作者: sjz98    时间: 2010-10-5 12:15
好东西,学习
作者: could_hll    时间: 2010-10-9 14:29
不错,很不错,收藏了
作者: 530313788    时间: 2010-10-9 23:23
学习

作者: 晓舟    时间: 2010-10-10 08:46
回复 easymaster 的帖子

那个是循环到角度传感器达到某个值之后跳出吧......

就是利用马达里的角度传感器,来判断机器人巡线巡了多远

作者: gu_zhi_hao    时间: 2010-10-16 21:26


作者: mauree    时间: 2010-10-20 11:42
学习学习,多光感的那个期待一下教程。
作者: lpzmy    时间: 2010-10-21 02:40
下载完毕,谢楼主分享,回去慢慢研究
作者: lpzmy    时间: 2010-10-22 00:08
顶贴  学习中
作者: you9296    时间: 2010-10-25 18:49
学习......
作者: terrywen    时间: 2010-11-1 10:46
LZ写的很好啊。
新人学习了

作者: lwhshh    时间: 2010-11-1 12:25
虽然老早就弄过,但还是很有启发,谢了
作者: hongyehong    时间: 2010-11-10 12:21
我们借鉴了双光感寻线的程序,车子沿线走非常好,又增加了一个光感,想用第三个光感根据停车线判断是否停车,但总实现不了,感觉第三个光感没起作用。
作者: hongyehong    时间: 2010-11-10 12:22
能不能指点一下?谢谢
作者: zhinzh    时间: 2010-11-19 09:57
哇,很不错
作者: sjyang2000    时间: 2010-11-19 21:19
这个不错
作者: godeye2010    时间: 2010-11-30 17:00
不错呀!
作者: zys971128    时间: 2010-12-16 20:17
先收藏

作者: grant    时间: 2010-12-21 09:35
youxuexiyibian
作者: alone401    时间: 2010-12-21 15:38
学习了。我刚步入FLL的行列,一定好好学习。
作者: SunnyRobot    时间: 2010-12-24 23:20
非常好的,学习了。谢谢楼主
作者: xihb183    时间: 2010-12-30 17:28
下面的链接,据说是一个国外中学生写的论文,分析了几种巡线算法,并做了对比实验。我是新近才开始玩乐高的,也不知道他说的对不,请大家共阅。但真的是佩服他的可以功底,论文写得有声有色
http://www.google.com.hk/url?sa=t&source=web&cd=1&ved=0CBgQFjAA&url=http%3A%2F%2Fwww.fll-freak.com%2Fmisc%2F01-jgray_report.pdf&ei=N1AcTdW0JtOOcaqH2aUK&usg=AFQjCNF6Z6gErIO4ALohSj6N8OxSzpxXKw&sig2=oO7VBHX8RTo5VOKWrEQFJQ
作者: benzhang6    时间: 2010-12-31 07:57
好帖

作者: wxyzzp    时间: 2011-1-3 10:00
嗯,绝世好贴,收藏了!以后和儿一起研究下。
作者: wxmufeng    时间: 2011-1-6 10:31
好好学习~
作者: niudwd    时间: 2011-1-6 19:49
2个效率最高。。。
作者: jiangye    时间: 2011-1-11 15:37
谢谢  很好
作者: 豆角儿    时间: 2011-1-11 16:18
学习~
作者: 蔚蓝海岸    时间: 2011-1-21 23:10
一般都是用的双光感吧!
作者: 福建阿鸟    时间: 2011-1-22 11:15
好,学到了。希望楼主能再多发类似的文章,造福大众
作者: katherine1122    时间: 2011-1-24 15:06
回复 394069341 的帖子

太棒的帖子,学习中!
作者: grant7788    时间: 2011-2-5 09:08
看主题,楼主高手。佩服。
多光感的传感器是楼主自己做的吗?
作者: grant7788    时间: 2011-2-5 09:10
本帖最后由 grant7788 于 2011-2-5 09:14 编辑
xihb183 发表于 2010-12-30 17:28
下面的链接,据说是一个国外中学生写的论文,分析了几种巡线算法,并做了对比实验。我是新近才开始玩乐高的 ...

呵呵,链接好长... 原来指向这里。
没别的意思,我要下载... ;P ;P
http://www.fll-freak.com/misc/01-jgray_report.pdf

作者: grant7788    时间: 2011-2-5 09:15
啊?新手级别不能用url?
作者: 糖伯虎    时间: 2011-2-7 11:55
回复 grant7788 的帖子

这个是为了防止注册机放广告的,等级升级后就会解析url了
作者: grant7788    时间: 2011-2-7 13:28
糖伯虎 发表于 2011-2-7 11:55
回复 grant7788 的帖子

这个是为了防止注册机放广告的,等级升级后就会解析url了

嗯,我猜是这样。广告太讨厌了。新注册用户每小时只能发5帖,看到这个限制,我就猜:估计论坛之前被广告淹过。



作者: 纳米超人    时间: 2011-2-22 19:13
我全力顶你
作者: 指南者    时间: 2011-2-24 15:22
收藏
作者: 晓舟    时间: 2011-2-24 22:56
回复 grant7788 的帖子

对。这个是自己做的。现在已经发售了更新的版本,是超强抗干扰的一种巡线传感器。可以点这里
作者: 晓舟    时间: 2011-2-24 23:02
回复 xihb183 的帖子

我好久没有关注我这个帖子了。。。你发的这个PDF确实是非常好。照论文中来说,单光感扫“灰色”的速度是最快的。但其实因为程序的算法不同,才是真正影响速度的重要关键(在结构相同的情况下)。所以其实用几个光感都是有办法可以走很顺的,就需要大家去研究究竟如何编写才能更快更稳




欢迎光临 中文乐高 (https://bbs.cmnxt.com/) Powered by Discuz! X3.5