浅谈FLL竞赛机器人的搭建及编程_fll机器人竞赛
浅谈FLL竞赛机器人的搭建及编程由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“fll机器人竞赛”。
2016江苏省计算机教学年会
浅谈FLL竞赛机器人的搭建及编程
字数:
作者: 单位:泰州技师学院地址:江苏省泰州市龙轩路邮编:3412字
周洋
9号 225300
2016江苏省计算机教学年会
浅谈FLL竞赛机器人的搭建及编程
摘要:在FLL机器人竞赛中,基础小车的搭建是完成任务的基础,完成任务的准确性和稳定性有很大一部分因素取决于基础小车的搭建,本文从驱动轮、从动轮、重心、传感器、电机等几个方面来探讨基础小车的搭建问题以及阐述了在比赛中常用PID巡线技术。
关键词:FLL、机器人、传感器、搭建、PID、巡线
近十年,机器人竞赛越来越普及,种类也非常繁多,这些比赛对促进青少年的发现问题、解决问题的能力有着很大的提升作用,与当前所倡导的素质教育不谋而合。许多大学目前也开设了机器人专业,家长的教育理念也有所更新,机器人教育也符合孩子们的天性,种种原因都使得机器人教育和机器人比赛蓬勃发展,一片欣欣向荣。其中FLL比赛是较为复杂,对青少年的能力考验要求比较高的一项比赛,在该项赛事中,机器人的结构搭建又是完成比赛中各项任务的基础,本人近几年多次指导学生参加江苏省青少年机器人大赛获得一等奖,现将一些搭建和编程的经验与大家分享,希望对参赛者能有所帮助。
一、驱动轮和从动轮的要求
乐高器材中可以用作驱动轮的轮子很多,有大、有小、有宽、有窄,在比赛中很多参赛队都各有采用。这些轮子在走直线时是没有什么误差的,主要的误差来自于拐弯,太宽的轮子由于场地不是绝对平整的,在拐弯的时候的中心点就没法确认,导致拐弯的误差较大,所以应选用较窄的轮子误差较小。直径大的轮子可以实现较快的速度,但同时惯性较大引起误差;直径较小的轮子速度较慢,但误差较小。轮胎与周围结构件的距离要空开2毫米以上的距离,防止轮胎与结构件摩擦引起误差。
2016江苏省计算机教学年会
从动轮不宜选择万向轮,因为万向轮的在结构上不够稳定,会引起转向的误差,可以选择转动灵活的普通轮毂在作为从动轮。通常两动力轮之间的距离在15~18厘米左右,动力轮与从动轮的前后轴距在14~20厘米左右。
二、车体重心的要求
在垂直方向,为了车体的稳定,整机的重心应该尽量靠下,在乐高所有的器件中控制器(包括电池)和电机的重量是比较大的,所以这些零件应该装在较低的位置。在水平方向,整机的重心应该离驱动轮较近,离从动轮较远,两者的距离大约为1:2。如果重心离驱动轮较远,那么驱动轮就有可能会打滑,引起比较大的误差;如果重心离驱动轮太近甚至就落在驱动轮上,那么在行进的过程的惯性就会引起车辆的点头和抬头,从而引起误差。
三、传感器的使用
乐高提供的传感器种类很多,但能够在FLL比赛中发挥作用的却很少。光电(颜色)传感器在比赛中使用频率较高而且是必不可少一个传感器,可以用单光电来巡线定位,常用的定位算法是PID算法,但在实际比赛中往往只要用到P算法就可以达到要求。可以用双光电来进行垂直定位,在车辆的左右水平位置各安装一个光电传感器,左侧的传感器控制左轮,右侧的传感器控制右轮,左侧的传感器检测到黑线左轮就后退,检测到白色左轮就前进,右侧也是一样,这样就可以达到与黑线垂直对齐的目的。可以用单光电光电巡线+光电定位,一个光电传感器负责巡线,另一个光电传感器负责检测旁边垂直的黑线,一但检测到黑线,机器就可以进行下一步动作,例如停下来完成任务等。
角度传感器也使用得比较多。它是集成在电机内部的,用来反馈
2016江苏省计算机教学年会
电机旋转的角度,是非常重要的控制电机的手段。
超声波传感器可以用在对精度要求不是很高的任务上,因为小车前进的速度和超声波本身都会对距离的判断带来误差,使用的距离也应该控制在4~12厘米左右,太近或太远都会有较大的误差。
触碰传感器可以用在启动机器和靠墙对齐时使用。可以利用按一下触碰传感器来启动机器或是在比赛过程中再次启动机器。靠墙对齐就要求在机器的最后面的水平对称位置安装两个触碰传感器,一但两个传感器同时被按下就说明对齐成功,可以进行下一步动作。
至于陀螺仪、声音传感器、温度传感器在FLL比赛中都不适合使用。
四、车身形状的要求
首先整个车体的结构要非常稳固和结实,不能再比赛中有零件松脱的现象。结构不稳固会在行进中引起跟距离成正比的误差。如有零件松脱了,裁判会进行判罚。第二,车辆的前后左右最好使用圆弧或倒角的结构,不要使用直角,这样在车体拐弯的时候可以减少碰到模型或墙壁的概率。第三,车体后面做成一个平面或在左右两边做出两个凸起,用来进行靠墙对齐。第四,如果需要安装导向轮,那导向轮的位置一定要在驱动轮的前面,不要超过墙壁的高度。第五,车辆的四周要平滑,要留下固定点。这样就可以方便地安装和拆除策略物。
五、控制器和连接线的要求
控制器最好是横放在车辆上,否则重心不太容易控制。控制器的下载口的空间要预留出来,否则无法下载程序。控制器要方便拆卸,这样可以方便更换电池和充电。连接线要尽量藏到车辆里面去,千万不能鼓在旁边,更不能碰到传动部件,这样会严重影响任务的执行。
六、电机的选择要求
2016江苏省计算机教学年会
目前主流的电机主要是NXT电机和EV3电机,在实际使用中EV3电机在启动时的误差要比NXT电机要大,所以我们通常使用NXT电机。电机要挑选两个最为接近的电机,在挑选时可用一根轴连接两个电机,然后让两个电机同时转动,在启动时比较平顺,没有跳动的即可作为一对电机来使用。
七、巡线算法
巡线是FLL竞赛中一项非常重要的支撑技能。有了它机器人就能在场地上准确定位,完成任务;有了它机器人就能充分利用场地上的线路,提高速度和准确性。在一般的教材中提到的往往是由传感器判断黑白位置,控制器控制左右轮交替前进的方式,该方式车体摆动较大,定位的精度不够,所以在比赛中失误较多。为了能够达到比赛精度,我们往往采用的是PID算法巡线。
1、PID巡线的P算法
有了稳定的好的车体,下面就欠缺好的算法了。机器人在巡线的时候巡的是黑白的交界线,用我们的肉眼看这条分界线是黑白分明,黑色的光线暗而白色的光线亮。实际上光线不论从暗到明还是从明到暗都不是跳跃的而是线型变化的。我们利用这个线型的变化值来确定机器人的位置,来确定驱动轮电机的功率,从而修正位置。
通常我们用于驱动的电机都习惯是B和C(因为程序默认B和C),依照前进的方向,左侧的为B电机,右侧的为C电机。假定黑色路线的平均光线值为5,白色部分的光线值为55,那么平均值30我们就可以看成是黑白分界线的值,换句话说就是传感器测出的值为30,那么我们就确定传感器的位置在分界线上,值越小就越靠近黑线里面,值越大离黑线就越远。我们以巡右侧的分界线为例来说明一下算法。首先由传感器测出当前的光线值,然后用平均值减去当前光线值,若
2016江苏省计算机教学年会
差是正值则说明偏黑线部分,这时B电机应该功率大,C电机应该功率小甚至是负值。用该差值乘以一个0到1的系数(该系数由光电跟驱动轮的距离和驱动轮的大小决定),得到一个新数值,用该新数值加上一个基础功率(该功率越大前进越快,车辆越不稳定,反之亦然)就得到B电机的功率;用基础功率减去该新数值就得到C电机的功率,这样就实现了调整机器人位置的目的。这里的关键就是根据需要找好系数和基础功率,这两个值直接决定了巡线的速度和稳定性,而这两点往往是矛盾的,所以要找好平衡点。
2、PID巡线的I算法
以上的P算法对于一些比较平滑的线路已经能够做到比较好的巡线精度了,但对于弯曲度比较大的曲线或是急拐弯就显得不够了,那就要加入I算法。每次计算出当前光线值和平均值的误差后,将这个误差存到一个变量中,那么就会出现这样一个公式:变量=变量+误差,如果线路比较平滑,那么误差有正、有负,所以大部分的误差是可以抵消的,变量趋近于零。但对于曲度较大的线路,引入该算法后就可以修正误差,我们最终希望变量趋近于零,得到较为平顺的行进线路。具体做法是我们将累累积的误差,也就是这个变量加到B和C电机的基础功率里,还是以巡右侧线为例,基础功率加上变量赋给B电机;基础功率减去变量赋给C电机即可。
3、PID巡线的D算法
前面的P算法用于修正当前的误差;算法用于修正累积的过去的误差。D算法就是用于预测未来的误差给予修正。假定误差的下一个变化与当前最后一个变化是相同的,我们据此来预测将来。这个意思是说,下一个误差的期望值是:修正量=当前误差+前两次传感器采样误差的变化量。
2016江苏省计算机教学年会
以上是在近几年的比赛中对于基础小车搭建的一些心得和FLL比赛中使用的PID算法的基本原理,希望对大家能有所帮助。
[1] 肖建编.ASP.NET 编程实例与技巧集粹.北京:北京希望电子出版社,2003.[2] 巴兹拉等.ASP.NET 安全性高级编程.北京:清华大学出版社,2003.[3] Jee Libert.Programming C#中文版.电子工业出版社,2006.[4] 米切尔的等编著.ASP.NET 权威指南.北京:中国电力出版社,2003.[5] 曾登高编著..NET 系统架构与开发.北京:电子工业出版社,2003.
机器人比赛场地:一、FLL赛场图及安装制作图上面配置中上面长方体的具体的长宽尺寸为:A: 2370 mm+/- 2 mm C: 40 mm +/- 2 mm 桌子内壁涂消光黑 装配: 第一步 :B: 1150 mm +/-......
指令介绍1、运动指令移动指令包含三条:MOVJ、MOVL、MOVC MOVJ:关节移动指令,即在运动过程中以关节的方式运动; 指令格式:说明:MOVJ代表指令,LP表示局部变量,0表示标号,用于区别使用,VJ......
指令介绍1、运动指令移动指令包含三条:MOVJ、MOVL、MOVC MOVJ:关节移动指令,即在运动过程中以关节的方式运动; 指令格式:说明:MOVJ代表指令,LP表示局部变量,0表示标号,用于区别使用,VJ......
FLL机器人工程挑战赛(2016)的几个创新点湖南省湘潭县第一中学 何文芝 *** 机器人是集机械学、电子学、工程学、环境学、自动控制、计算机语言、人工智能等方面的综合......
刀豆文库小编为你整合推荐4篇机器人编程活动方案,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
