一、前言
在机器人竞赛中,“巡线”特指让机器人沿着场地中一条固定线路(通常是黑线)行进的任务。作为一项搭建和编程的基本功,巡线既可以是独立的常规赛比赛项目,也能成为其他比赛项目的重要技术支撑,在机器人比赛中具有重要地位。
二、光感中心与小车转向中心
以常见的双光感巡线为例,光感的感应中心是两个光感连线的中点,也就是黑线的中间位置。而小车的转向,是以其车轮连线的中心为圆心进行的。很明显,除非将光感放置于小车转向中心,否则机器人在巡线转弯的过程中,探测线路与做出反应之间将存在一定差距。而若将光感的探测中心与转向中心重合,将大幅提升搭建难度并降低车辆灵活性。因此,两个中心的不统一是实际存在的,车辆的转向带动光感的转动,同时又相互影响,造成机器人在巡线时对黑线的反应过快或者过慢,很多巡线失误由此产生。
所以在实际 *** 作中,一般通过程序与结构的配合,在程序中加入一定的微调动作来弥补其中的误差。而精准的微调,需要根据比赛场地的实际情况进行反复调试。
三、车辆结构
巡线任务的核心是让机器人小车按照场地中画出的路线行进,因此,根据任务需要选择合适搭建方式是完成巡线任务的第一步。
1、前轮驱动
前轮驱动的小车一般由两个动力轮和一个万向轮构成,动力轮位于车头,通过左右轮胎反转或其中一个轮胎停转来实现转向,前者的转向中心位于两轮胎连线中点,后者转向中心位于停止不动的轮胎上。由于转向中心距离光感探测中心较近,可以实现快速转向,但由于机器人反应时间的限制,转向精度有限。
2、后轮驱动
后轮驱动的小车结构和转向中心与前轮驱动小车类似,由于转向中心靠后,相对于前轮驱动的小车而言,位于车尾的动力轮需要转动较大的幅度,才能使车头的光感转动同样角度。因此,后轮驱动的小车虽转向速度较慢,但精度高于前轮驱动小车。对于速度要求不高的比赛而言,一般采用后轮驱动的搭建方式。
3、菱形轮胎分布
菱形轮胎分布是指小车的两个动力轮位于小车中部,前后各有一个万向轮作为支撑。这样的结构在一定程度上可以视为前轮驱动和后轮驱动的结合产物,转向速度和精度都介于两者之间。这种结构的优势在于转向中心位于车身中部,转弯半径很小,甚至能以自身几何中心为圆心进行原地转向,适合适用于转90°弯或数格子行进等一些比较特殊的巡线线路。
这种结构最初应用于RCX机器人足球上,居中的动力源可以让参赛选手为机器人安装更多的固定和防护装置,以适应比赛中激烈的撞击,具有很好的稳定性。而对于NXT机器人而言,由于伺服电机的形状狭长不规律,将动力轮位于车身中部的做法将大幅提升搭建难度,并使车身重心偏高,降低转弯灵活性。
4、四轮驱动
四轮驱动的小车四个轮胎都有动力,能较好地满足一些比赛中爬坡任务的需要。小车的转向中心靠近小车的几何中心,因此能进行原地转弯运动,具有较好的灵活性,特别适用于转90°弯或数格子行进等任务一些比较特殊的巡线线路。虽然与后轮驱动小车相比,转向中心比较靠前,转向精度较小,但四轮驱动小车没有万向轮,转弯需要靠四个轮胎同时与地面摩擦,加大转弯的阻力,因而转弯精度应介于菱形轮胎分布的小车和后轮驱动小车之间。
四轮驱动的小车最大优势在于具有普遍适应性,熟练掌握此结构的参赛选手能在参加FLL工程挑战赛、WRO世界机器人奥林匹克等一些比较复杂的比赛中占据一定优势。
四、编程方案
1、单光感巡线
单光感巡线是巡线任务中最基础的方式,在行进过程中,光感在黑线与白色背景间来回晃动,因此,这种巡线只能用两侧电机交替运动的方式前进,行进路线呈“之”字形。这种巡线方式结构简单易于掌握,但由于只有一个光感,对无法在完成较为复杂的巡线任务(如遇黑线停车、识别线路交叉口等),且速度较慢。
基本思路:光感放置于黑线的左侧,判黑则左轮不动右轮前进,判白则右轮不动左轮前进,如此交替循环。参考程序如下图:
2、单光感巡线+独立光感数线
在很多比赛中,机器人需要做的不仅仅是沿着黑线行进,还需要完成一些其他任务,如在循迹路线上增加垂直黑线要求停车、放置障碍物要求躲避等内容。此时,单光感巡线已不能满足要求。下面以要求定点停车为例,简要介绍单光感巡线+独立光感数线的编程模式。
基本思路:在此任务中要求在垂直黑线处停车,则需要跳出单光感巡线的循环程序体系,可以通过设置循环程序的条件实现这一功能。由于程序的设定,负责巡线的3号光感在行进时始终位于黑线的左侧,不会移动到黑线右侧的白色区域,因此在黑线右侧设置一个光感(4号)专门负责监视行进过程中黑
线右侧的区域,当此光感判黑时,即可判断出小车行进到垂直黑线处,于是终止单光感巡线的循环程序,执行规定的停车任务,然后向前行进一小段距离驶过垂直黑线,继续单光感巡线任务。参考程序如下图:
上述程序只适用于停车一次的需要,在实际比赛中需以定点停车、蔽障任务为基点,将巡线赛道划分为若干个小段依次设定程序,或采用两重循环的程序,重复执行巡线→→定点停车任务:
3、双光感巡线
双光感巡线是机器人竞赛中最常见的巡线模式,两个光感分别位于黑线两侧,以夹住黑线的方式行进。根据两个光感读取的数值不同,可以将光感的探测结果分为左白右黑、左黑右白、双白和双黑四种情况,根据这四种探测结果,分别执行右转、左转、直行和停车四种动作的程序命令。由于这种方法能让两个电机同时工作,机器人运动的速度较快,同时采取两个光敏监测黑线,精度也有所提高。
基本思路:使用两重光感分支程序叠加,为四种探测结果设定与之对应的程序反应,形成循环程序结构,参考程序如下图:
EV3机器人编程是模块编程,配备了一块“智能砖头”,使用户可以对自己的机器人编辑各种指令。EV3机器人使用的编程软件有LEGO、MINDSTORMS、NXT、ROBOLAB。基于图形化语言的编程环境,适合各个年龄段的用户使用,程序的编写方式类似于做逻辑表达,不过是全部图形化的。
EV3是乐高公司开发的第三代MINDSTORMS机器人,它无需计算机也可实现编程,远远超出了人们对传统玩具的期待,成为少儿和成人皆宜的高级创意玩具。模块化编程与图形化编程结合后,初学者就可以更快的掌握程序设计,做出所需要的应用。模块化编程强调的是逻辑和功能,而不是编程语句本身。跟常规编程不一样的是,模块化编程最大化的实现了“代码内嵌”。
第一步:使用乐高RCX微型电脑设计机器人
RCX微型电脑是由MIT开发的,是乐高机器人系统的核心部分。使用ROBOLAB软件及RCX,学生们可以创造、搭建、编程真正的机器人,让它运动、做动作、甚至自己去“想”。
为RCX编写程序,通过各种输入(传感器)与输出(马达与灯等)对周围环境做出响应。有多种传感器可供选择,如触动传感器、光电传感器、温度传感器、角度传感器等。
第二步:在PC机上为机器人编写程序
为RCX编写控制程序的ROBOLAB软件是一个简单、直观、易学的编程环境,是以美国国家仪器公司的LabVIEW,流行于测量和自动化领域的图形化编程软件为基础开发的。ROBOLAB软件具有所有通用编程环境,如C/C++或VisualBasic等软件的功能。
第三步:下载程序到RCX
RCX通过IR红外发射仪与计算机通信。使用ROBOLAB编程软件在计算机上编写好编程,然后,通过与计算机串口机相连的IR发射仪下载到RCX。IR与RCX通过无线红外方式通信。
第四步:运行程序,测试机器人是否按要求工作
学生可以通过运行程序,马上知道机器人是否按设计的行动。如果机器人没有按要求的做,那么,可通过检查机器人搭建及程序编写是否正确来修正错误。这一过程不仅锻炼学生分析问题、解决问题的能力;而且培养学生逻辑分析能力、团队合作精神与交流能力。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)