本帖最后由 394069341 于 2011-1-18 21:58 编辑
今年WRO和FLL都有巡线方面的问题,在此献给没有了解过巡线逻辑的朋友们一些启发。当然,这未必是最好的逻辑,我只是希望能起到抛砖引玉的作用~希望在WRO上能看到有小学组的巡线非常棒的机器人。
巡线就是沿着地面的一条线走的机器人。而基本原理就是通过检测反射回来的光的强度来判断机器人与线的位置偏差有多少。偏多了,就要往回走一些,偏少了,就稍微往回走。没有偏的话就直走。
巡线的逻辑其实就是上面说的,机器人只需要判断自己偏差了多少。但根据光感个数的不同,判断偏差的逻辑也不太一样。下文给出的这些逻辑仅仅是一个参考,并不一定就是最好的逻辑。所以大家千万别以为这个就是标准答案了……
单光感: 1个光感巡线的逻辑,我想到的有2种。
第一种是最简单的,如果测到黑,就往左转。测到白就往右转。这样的逻辑效果当然就是一摇一摆的了。但如何让程序知道光感检测到的是黑色还是白色呢?打开NXT的主菜单,会找到一个叫View的菜单,进入后会找到一个图标像发光的灯泡。这个就是检测光感数值的地方了。点进去之后只要选择端口号,NXT就会把自己检测到的光值显示在屏幕上了。 这个时候你要测一下,光感放在黑色上是什么数值,放在白色上是什么数值。然后取这2个值的平均值,就是程序判断黑还是白的中间值了。大于这个中间值,NXT就认为测到白色。小于这个值就认为测到黑色。 |