浅谈FLL机器人的几个使用技巧
机器人是一门涉及机械学、电子学、工程学、自动控制、计算机、人工只能等方面的综合性学科,以培养学生的科学素养和技术素养为宗旨,以综合规划、设计制作、调试应用为主要学习特征的实践性课程。在拓宽学生的知识面,促进学生全面而富有个性的发展上有着不可替代的作用。
机器人课程要为学生营造动手动脑、进行设计活动的环境,提供必要的设备和工具,倡导学生积极主动、用于探索的学习精神,组织学生进行探索式学习,让学生充分动手实践,积极合作,主动探究。下面我就FLL比赛机器人实践中的几个常见编程技巧进行归纳。
一、直线技巧
机器人的直线行进是机器人制作中首先面对的问题,在编程环境中往往会提供双电机直行的模块,但在实际中往往会遇到越走越偏的情况。这是因为电机与电机之间多少会存在些差异,电机本身会存在误差(虽然程序模块自身有一定的纠错功能)。减小直行中的偏差,使得机器人能准确地到达目的地是一项基本任务。我们通常的做法是在一个循环中,每隔一小段时间比较一次两个电机转过的角度,如有误差立即在功率上进行补偿,例如用于前进的电机为B和C两个电机,在前进的同时检测B电机和C电机转过的角度,求两个角度的差,如得到的是正数,说明B电机转多了,用这个正数加上B和C原本设定的基础功率赋给C电机的功率,这样C电机的转速就略快于B电机,弥补了误差;如得到的是负数,说明C电机转多了,用这个负数加上B和C原本设定的基础功率作为C电机的功率,这样C电机的转速就略慢于B电机,弥补了误差。利用B电机或C电机的累积角度来控制循环结束的条件,这样可以控制机器人直行的距离。到此,一段直行的任务就可以完成了,但在程序中远不止一段直行程序,在执行下一段直行程序前,一定要将两个电机重置,也就是将电机的角度归零,重新计算两个点击的角度,否则上次直行或拐弯的数据会对本次直行产生影响,造成较大的偏差。
二、巡线技巧
巡线是机器人准确走位的一项重要技能。目前比较流行的是PID算法,在FLL的比赛实际应用中有了P算法,机器人就已经能比较平顺地巡线了,下面就P算法做一些说明。机器人在巡线过程中实际是沿着明暗的交界线前进,光线亮度的变化是一个逐渐变化的过程,从亮的部分往交界线可以看成光线越来越暗变化;从暗的部分往交界线可以看成光线越来越亮变化;预先测定出亮的部分的平均值和暗的部分的平均值(通过多点测量取平均的方法),用当前值去跟这两个值的平均值求差,差的绝对值越大说明机器人偏离路线越远,反之就越小,这样就能得出机器人大约偏离交界线的距离,偏离得越多需要调整的距离就越大,换言之,需要的电机功率也就越大。通过差值的正负可以判断出机器人是偏向亮的一边还是暗的一边,然后再增加或减小对应电机的功率。这样你的机器人在行进中不断修正两个电机的功率,达到巡线的目的。调整好光电传感器距离桌面的高度和电机的基础功率就能达到比较平顺的巡线效果。
三、定位技巧
1.出发定位
相同的程序,机器人从不同位置出发,可能会产生完全不同的效果,所以出发定位是机器人准确性的基础。出发定位可以借助于桌面的挡板,用挡板的一个面或一个角来定位;可以借助于地图上基地的刻度来定位;可以借助于事先准备好的矩形的、三角形的或其他形状的定位器来给机器人定位。总之除程序本身的容错性能之外,出发定位是保证完成任务的基础。
2.行进中定位
机器人的一次出发要完成多个任务(如果只完成一个任务时间会不够),在完成了一个任务或行进了一段距离之后,机器人肯定会累积一定的误差,随着行进距离的增加误差也会增大,所以我们要采取一些措施来修正这些误差。第一种方法,可以借助于比赛场地四周的墙壁来定位。用机器人一个比较平的面去轻轻撞击墙壁,就能保证这个面跟墙壁是平行的,以此来调整整个机器人的姿态。第二种方法,借助于两个光电传感器和地图上的黑线。两点确定一条直线,事先在机器人的平行位置上装上两个光电传感器,当两个光电传感器都能检测到黑线时,说明两个光电传感器都停在黑线上,如果有一个传感器没有到位,只需要调整相应的电机即可,以此来保证机器人的位置是与黑线平行的。
四、加速技巧
机器人在出发的一瞬间由静止状态转变为运动状态,如果出发的功率较大,由于摩擦力不够或摩擦力不均衡等情况,可能使得机器人在出发时就产生了方向的偏移,那么行进中就会放大这样的误差。如果我们让机器人慢慢加速,让机器人在静止和快速运动间有一个过渡的状态,这样就可以减小出发瞬间带来的误差。在乐高的教程中有一课就叫做《加速》,它是采用几个慢慢增大功率的移动模块来实现的,可实际操作中,就会发生加速的同时速度很不稳定,会有一顿一顿的感觉,反而会产生更大的误差,所以这种加速方法在比赛中是不能采用的。我们采用的方法是用一个循环模块,循环的次数取决于加速后的功率大小,如果功率是80那么就循环80次。在循环的内部放置两个模块,一个是移动模块,一个是等待模块。移动模块的功率由循环次数决定,等待模块的时间取决于加速度的大小,如果加速度大,时间就小;反之,加速度小,时间就大。这样就可以获得一个比较平顺的加速过程。
机器人是一门综合的艺术,它需要我们在实践中不断的探索和学习,我还会凭着自己的坚持和兴趣在机器人的道路上继续走下去。