中文乐高

 找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 23056|回复: 43

巡线基本原理

    [复制链接]
发表于 2013-7-17 08:43:34 | 显示全部楼层 |阅读模式
一、前言
    在机器人竞赛中,“巡线”特指让机器人沿着场地中一条固定线路(通常是黑线)行进的任务。作为一项搭建和编程的基本功,巡线既可以是独立的常规赛比赛项目,也能成为其他比赛项目的重要技术支撑,在机器人比赛中具有重要地位。
二、光感中心与小车转向中心
以常见的双光感巡线为例,光感的感应中心是两个光感连线的中点,也就是黑线的中间位置。而小车的转向,是以其车轮连线的中心为圆心进行的。很明显,除非将光感放置于小车转向中心,否则机器人在巡线转弯的过程中,探测线路与做出反应之间将存在一定差距。而若将光感的探测中心与转向中心重合,将大幅提升搭建难度并降低车辆灵活性。因此,两个中心的不统一是实际存在的,车辆的转向带动光感的转动,同时又相互影响,造成机器人在巡线时对黑线的反应过快或者过慢,很多巡线失误由此产生。
所以在实际操作中,一般通过程序与结构的配合,在程序中加入一定的微调动作来弥补其中的误差。而精准的微调,需要根据比赛场地的实际情况进行反复调试。
三、车辆结构
巡线任务的核心是让机器人小车按照场地中画出的路线行进,因此,根据任务需要选择合适搭建方式是完成巡线任务的第一步。
1、前轮驱动
    前轮驱动的小车一般由两个动力轮和一个万向轮构成,动力轮位于车头,通过左右轮胎反转或其中一个轮胎停转来实现转向,前者的转向中心位于两轮胎连线中点,后者转向中心位于停止不动的轮胎上。由于转向中心距离光感探测中心较近,可以实现快速转向,但由于机器人反应时间的限制,转向精度有限。
2、后轮驱动
    后轮驱动的小车结构和转向中心与前轮驱动小车类似,由于转向中心靠后,相对于前轮驱动的小车而言,位于车尾的动力轮需要转动较大的幅度,才能使车头的光感转动同样角度。因此,后轮驱动的小车虽转向速度较慢,但精度高于前轮驱动小车。对于速度要求不高的比赛而言,一般采用后轮驱动的搭建方式。
3、菱形轮胎分布
菱形轮胎分布是指小车的两个动力轮位于小车中部,前后各有一个万向轮作为支撑。这样的结构在一定程度上可以视为前轮驱动和后轮驱动的结合产物,转向速度和精度都介于两者之间。这种结构的优势在于转向中心位于车身中部,转弯半径很小,甚至能以自身几何中心为圆心进行原地转向,适合适用于转90°弯或数格子行进等一些比较特殊的巡线线路。
这种结构最初应用于RCX机器人足球上,居中的动力源可以让参赛选手为机器人安装更多的固定和防护装置,以适应比赛中激烈的撞击,具有很好的稳定性。而对于NXT机器人而言,由于伺服电机的形状狭长不规律,将动力轮位于车身中部的做法将大幅提升搭建难度,并使车身重心偏高,降低转弯灵活性。
4、四轮驱动
四轮驱动的小车四个轮胎都有动力,能较好地满足一些比赛中爬坡任务的需要。小车的转向中心靠近小车的几何中心,因此能进行原地转弯运动,具有较好的灵活性,特别适用于转90°弯或数格子行进等任务一些比较特殊的巡线线路。虽然与后轮驱动小车相比,转向中心比较靠前,转向精度较小,但四轮驱动小车没有万向轮,转弯需要靠四个轮胎同时与地面摩擦,加大转弯的阻力,因而转弯精度应介于菱形轮胎分布的小车和后轮驱动小车之间。
四轮驱动的小车最大优势在于具有普遍适应性,熟练掌握此结构的参赛选手能在参加FLL工程挑战赛、WRO世界机器人奥林匹克等一些比较复杂的比赛中占据一定优势。
四、编程方案
1、单光感巡线
单光感巡线是巡线任务中最基础的方式,在行进过程中,光感在黑线与白色背景间来回晃动,因此,这种巡线只能用两侧电机交替运动的方式前进,行进路线呈“之”字形。这种巡线方式结构简单易于掌握,但由于只有一个光感,对无法在完成较为复杂的巡线任务(如遇黑线停车、识别线路交叉口等),且速度较慢。
基本思路:光感放置于黑线的左侧,判黑则左轮不动右轮前进,判白则右轮不动左轮前进,如此交替循环。参考程序如下图:
图片1.jpg
2、单光感巡线+独立光感数线
    在很多比赛中,机器人需要做的不仅仅是沿着黑线行进,还需要完成一些其他任务,如在循迹路线上增加垂直黑线要求停车、放置障碍物要求躲避等内容。此时,单光感巡线已不能满足要求。下面以要求定点停车为例,简要介绍单光感巡线+独立光感数线的编程模式。
基本思路:在此任务中要求在垂直黑线处停车,则需要跳出单光感巡线的循环程序体系,可以通过设置循环程序的条件实现这一功能。由于程序的设定,负责巡线的3号光感在行进时始终位于黑线的左侧,不会移动到黑线右侧的白色区域,因此在黑线右侧设置一个光感(4号)专门负责监视行进过程中黑线右侧的区域,当此光感判黑时,即可判断出小车行进到垂直黑线处,于是终止单光感巡线的循环程序,执行规定的停车任务,然后向前行进一小段距离驶过垂直黑线,继续单光感巡线任务。参考程序如下图:
图片2.jpg
    上述程序只适用于停车一次的需要,在实际比赛中需以定点停车、蔽障任务为基点,将巡线赛道划分为若干个小段依次设定程序,或采用两重循环的程序,重复执行巡线→→定点停车任务:
图片3.jpg
3、双光感巡线
双光感巡线是机器人竞赛中最常见的巡线模式,两个光感分别位于黑线两侧,以夹住黑线的方式行进。根据两个光感读取的数值不同,可以将光感的探测结果分为左白右黑、左黑右白、双白和双黑四种情况,根据这四种探测结果,分别执行右转、左转、直行和停车四种动作的程序命令。由于这种方法能让两个电机同时工作,机器人运动的速度较快,同时采取两个光敏监测黑线,精度也有所提高。
基本思路:使用两重光感分支程序叠加,为四种探测结果设定与之对应的程序反应,形成循环程序结构,参考程序如下图:
图片4.jpg
4、双光感巡线+独立光感数线
一般而言,一个以巡线为基础的比赛,会在巡线的基础上增加定点停车、识别交叉口、绕开障碍等多项任务,想要准确识别并完成这些任务,需要在掌握上述双光感巡线技术的基础上,以定点停车、蔽障任务为基点,将巡线赛道划分为若干个小段,使用传感器、逻辑判断等方式跳出双光感巡线的循环程序,执行与完成任务相对应的程序,然后重新进行巡线任务。
以双光感巡线+独立光感数线的模式为例,在双光感巡线的基础上,在其中一个光感的外侧再放置一个光感。由于使用双光感巡线,标记行进路线的黑线将始终位于前两个光感之间,因而第三个光感探测到黑线只会是两种情况——抵达停车地点或巡线路线交叉处,于是以第三个光感探测到黑线作为结束循环的条件进行编程,参考程序如下:
图片5.jpg
注:由于光感放置位置的原因,使得第三个光感判黑的时候,前两个光感探头必然同时处于黑线上或十分接近,完全能以第三个光感判黑代替前两个光感同时判黑的情况,因此在巡线循环部分将双光感判黑的一个分支跳过不予编程。
五、延展
上述内容为巡线任务的基础知识,仅根据光感的探测做出反应,简单地将光感探测中心与小车转向中心重合(将小车视为一个仅有重量没有体积的质点),可完成一些线路有弧度的平滑路线,对于较难的巡线弯道,如直角弯、“V”字形弯道等特殊线路,则必须考虑转向中心和探测中心的区别,需要特殊对待。
一般而言,在探测到此类弯道之后,需要先精确控制小车运行时间,将小车的转向中心移动到弯道的中心(如“V”字形弯道的定点),此时光感全部脱离黑线,再原地转动车身,当负责夹住黑线行进的光感重新探测到黑线时,则小车已完成转弯任务并回到循迹路线,然后继续执行巡线任务。
以上内容仅为本人的一些经验粗略总结,如有不当之处,敬请大家指正,希望能起到抛砖引玉的作用。

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2014-7-24 15:46:08 | 显示全部楼层
您好,我看了一个视频,它上面的寻线是不会左右摆动的,或者说他的摆动看不出来,就选在黑线的拐弯处也能平缓的过去,您知道这个编程这么写吗?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2014-7-24 15:59:25 | 显示全部楼层
小羊很肥 发表于 2014-7-24 15:46
您好,我看了一个视频,它上面的寻线是不会左右摆动的,或者说他的摆动看不出来,就选在黑线的拐弯处也能平 ...

这是稍微进阶一些的PID巡线,巡的是黑与白交界的位置,根据光敏读数与平均值的差额来调节左右电机的转速。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 支持 1 反对 0

使用道具 举报

发表于 2013-7-17 15:39:31 | 显示全部楼层
不是很明白还
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-7-17 18:35:14 | 显示全部楼层
写得很棒哦,基本思路很清晰,学习了。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-7-18 19:44:11 | 显示全部楼层
好详细呀   
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-7-20 20:02:57 | 显示全部楼层
写的不错,很详细。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-7-30 13:02:08 | 显示全部楼层
感谢楼主分享,学习了。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-8-9 10:31:47 | 显示全部楼层
很详细,学习中
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-9-16 22:28:07 | 显示全部楼层
不错,很有借签意义。感谢分享。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-9-19 10:32:08 | 显示全部楼层
不错,正好可以拿来教学……
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-10-6 20:32:31 | 显示全部楼层
非常有帮助的帖子,感谢LZ的无私分享,让我们这些材料可以快速掌握巡线的逻辑,谢谢!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-10-7 09:53:30 | 显示全部楼层
不错在找这个资料玩。。。我只一个光只能玩第一个类型。。。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-10-14 09:09:43 | 显示全部楼层
又学习了一遍,每次都有不同收获,最好能有搭建图的范例
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-10-27 17:00:39 | 显示全部楼层
学习中。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-11-1 16:20:48 | 显示全部楼层
不错不错,很棒,学习了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-12-20 22:40:38 | 显示全部楼层
非常详细,谢谢分享
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|中文乐高 ( 桂ICP备11003955号-1 )

GMT+8, 2019-1-21 19:14 , Processed in 0.030191 second(s), 23 queries .

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