乐高4种单光感巡线逻辑



乐高机器人4种单光感巡线逻辑。巡线话题应该不会过时,之前看过晓舟的巡线专题教程http://bbs.cmnxt.com/thread-3074-1-1.html以及伯虎关于PID巡线的帖子,受益颇多,也自己做了一些,但由于艺术专业出身,PID还是云里雾里,学习中。
最近整理了一下,先分享4中单光感巡线逻辑,其中前两种晓舟在文章中已经提到。
上传的程序截图都是完全展开的,并且会做详细解释,所以文件就不上传了,希望能给新手们带来灵感。

(一)摇摆式
<ignore_js_op>

单光感巡线1.JPG (26.42 KB, 下载次数: 931)

下载附件  保存到相册

2011-11-5 20:48 上传

这种比较简单,一个判断分支,在黑白处以相反的方向校正就可以,多调试几遍,选择合适的电机功率,应该能顺利的过直角弯。
视频请参考晓舟巡线专题教程

(二)利用马达数据中心“控制”
<ignore_js_op>

111111.JPG (9.76 KB, 下载次数: 846)

下载附件  保存到相册

2011-11-5 21:18 上传

控制
范围-100﹍100
< 0控制左电机, >0控制右电机
一般来说电机默认连接左B右C,<0是左电机快,>0时右电机快,数据越接近0电机功率差越小,反之越大,试验得知当绝对值大于50左右出现反转。
简单理解为数据绝对值越大,校正越快,这样看来,这就是傻瓜版的PID控制。用这种写法比第一种效率更高。
<ignore_js_op>

单光感巡线2.JPG (18.83 KB, 下载次数: 941)

下载附件  保存到相册

2011-11-5 20:48 上传

即时光值减去中间值,得到可正可负的结果,再乘以合适的系数就可以输入控制中心了。
具体数据谁做谁知道。。。
视频请参考巡线专题教程

(三)巡黑线中央
这种是(一)的延伸,摇摆式的校正比较慢,且没有直行的情况。
<ignore_js_op>

单光感巡线3圖示.jpg (17.22 KB, 下载次数: 863)

下载附件  保存到相册


2011-11-5 20:48 上传

如上图,当光感完全在黑线中间时光值最小,往两边则递增。
举例均以图上数据,
当光值在36——48时,表示光感在黑线中间,可直行。
当光值>48且<62时,可朝一个方向试探性的校正0.1秒,看光值的变化情况,如校正后光值<校正前光值则表示正确,反之则反向校正。
当光值>62时,表示小车基本无法找到回家的路,应为光值再无变化,无法比较,除非做大幅度的试探校正,这样就没意义了,还不如摇摆式。
<ignore_js_op>

单光感巡线3.jpg (96.42 KB, 下载次数: 1026)

下载附件  保存到相册

2011-11-5 21:15 上传

A 光值<48,直行
B 试探校正0.1秒,注意,B停最好放在前面(亲自尝试便得其中奥妙)哈哈
C 对比校正前后的光值
D 正确,继续校正直到回到黑线中间
E 错误,反向校正直到回到黑线中间
F 注意:在这里光感等待可设置为<(比48小的数)亲自尝试得期诀窍。

(四)“摇摆的光感,追赶的车”
这种逻辑大概是(一)(二)的组合延伸。
以前看过相关视频,但逻辑却不得知,于是自己研究一下。
<ignore_js_op>

单光感巡线4圖示.jpg (24.79 KB, 下载次数: 846)

下载附件  保存到相册

2011-11-5 20:48 上传

如上图,以下举例用图上字母。
我们用一个马达在前方摆动光感时刻巡线,D为起始角度,重置角度传感器,这是角度为0,若以这个数给电机控制中心,则直行。
E——F为实际摆动位置,这时中间线G最接近前方的弧弯切线,于是小车要往G方向校正。(E+F)/2算出G的偏差角度。
由于弧弯的方向不一样,光感的摆动位置也会不一样,则算出的偏差角度G可正可负。
若小车在直线上,左右摇摆的角度会比较平均,则偏差角度G接近于0。
用这种逻辑,判断弧弯切线角度在先,小车校正在后,效果非常好。
<ignore_js_op>

单光感巡线4.JPG (102.3 KB, 下载次数: 927)

下载附件  保存到相册

2011-11-5 20:48 上传

A 光感位于白,向黑校正并记录角度
B 光感位于黑,向白校正并记录角度
C 循环2次得到数据E F
D {(E+F)/2}*系数
具体数据可自行调试。

第一次写这样的帖子,不对的地方大家要多多指出啊,谢谢

http://bbs.cmnxt.com/thread-6214-1-1.html