小学组机器人接力赛方案说明书 本文关键词:接力赛,机器人,说明书,小学,方案
小学组机器人接力赛方案说明书 本文简介:第七届中国青少年机器人竞赛小学组机器人接力赛方案2007-01-04敬告读者本方案仅为用户参加类似机器人竞赛项目提供参考指导,广州中鸣数码科技有限公司强烈建议用户不要采用完全一致的搭建及程序参与竞赛,其原因如下:1.本方案旨在提高用户在参与机器人竞赛项目的起点水平,但并不希望因此而扼杀参赛者的主动性
小学组机器人接力赛方案说明书 本文内容:
第七届中国青少年机器人竞赛
小学组
机器人接力赛方案
2007-01-04
敬告读者
本方案仅为用户参加类似机器人竞赛项目提供参考指导,广州中鸣数码科技有限公司强烈建议用户不要采用完全一致的搭建及程序参与竞赛,其原因如下:
1.本方案旨在提高用户在参与机器人竞赛项目的起点水平,但并不希望因此而扼杀参赛者的主动性及创作力,也不希望因此而违背机器人竞赛活动对青少年的教育意义。
2.本方案仅适用及受限制于某一特定的竞赛规则,参赛者应在充分理解要参与竞赛的规则前提下,参考本方案的基础上完成自己的设计。
3.几乎所有的机器人竞赛都要求参赛者亲身设计,并能在竞赛现场独立调试及向评委讲解设计思路,故参赛者应通过对方案的深刻了解及日常训练使具有随机应变之能力。
4.本方案会在网上(www.16fw.com)以公开形式面向广大机器人爱好者发布,所有的参赛者都有可能对其有充分的了解,因此对本方案未加以改进者将甚少机会获胜。
5.本方案未经长时间的验证和实施,也未能发挥器材之极限性能,广州中鸣数码科技有限公司并不能保证该方案完美无缺,用户应该通过亲身实践去验证和改进,并从中学习相关的知识和获取相关的经验。
免责声明:
产品外形、技术参数、功能等请以实际产品及该产品说明书、铭牌为准,如因技术更新产生变更,恕不另行通知!
目
录
第一节
方案解决思路3
1、场地示意图3
2.方案思路3
第二节
结构搭建及器材4
第三节
程序说明4
第四节
程序调试6
1、视频6
2、检测马达转向7
3、全局变量7
4、如何让机器人运行自检程序7
5、矫正角度传感器的角度7
6、程序的调试7
第五节
使用技巧及优化8
1、电池的使用8
2、小技巧8
第一节
方案解决思路
1、场地示意图
2.方案思路
首先我们把机器人要完成的任务拆分为以下几个部分:
1)1号车从起点出发,用指南针校正,伺服马达辅助引导方向,让机器人向前走一定的时间,经过跨栏区到达入弯地点。
2)1号车进入转弯状态,伺服马达方向往左打以便更好引导小车转向。并把转弯过程按照角度细分为6个小过程,指南针角度从入弯前的0度转到330度为第一个过程,从330度转到300度是第二个过程,依此类推,机器人从210度转到180度是第最第六个过程。做完最后一个过程1号车应该到达交接区域。
3)
1号车在交接区域把小球交给2号车,并触发2号车启动。
4)
2号车启动后,走黑线的算法也是和1号车相似,最终到达起始区域。
程序实现:
为了简化程序,按各功能来分开编写子程序,再按照流程图将它们编写为一个主程序。
第二节
结构搭建及器材
器材准备:参考“搭建手册.pdf”文件
搭建步骤:参考“搭建手册.pdf”文件搭建机器人。
端口接插:用机器人快车打开主程序,1号车为文件夹“Car1”下面的“Car1.rcu”文件,2号车为文件夹“Car2”下面的“Car2.rcu”文件,“项目”->“硬件信息”打开硬件信息对话框,点击相应的端口名字查看接插情况。如果出现马达和风扇的运动方向相反了,可以把插在端口的控制线反向插上,但确保黑色线对G端口。
第三节
程序说明
主程序局部变量的说明:
counter
——
计数器
degree
——
角度传感器数值
全局变量的说明:
g_Speed
——马达正常运行速度
g_ModifySpeed——马达作调整时的运行速度
g_Small——走直线时,小偏差角度;处于小范围里面,所要调整的幅度就要小
g_Big——走直线时,大偏差角度;处于大范围里面,所要调整的幅度就要大
注意:在子程序中要先引用主程序中定义的全局变量才能使用该全局变量。
模块说明:
SelfTest模块的说明
模块图标为:
功能:
检查机器人的传感器
说明:
把车体反方向摆放在起始点,启动机器人后,指南针读数范围在90-270度时,机器人自动执行该子函数对自身传感器进行检测。开背光,角度传感器数值显示在第1位。此时可以校正指南针。
GetNewAngle模块的说明
模块图标为:
功能:
根据要比较的角度获取新的角度
参数:
1)
middleAngle:
要比较的角度范围360-720
2)
oldAngle:
旧角度范围0-360
返回值:
范围在(middleAngle
-
180)到(middleAngle
+
180)
说明:
读取指南针数值后进行角度比较时使用。如果有一定基础可以认真理解其思路。
GoAngle模块的说明
模块图标为:
功能:
朝某个角度调整机器人的方向
参数:
1)
angle:要调整的角度,范围0-360
说明:
读取指南针数值,根据偏差的角度大小用不同的调整幅度调整机器人的运行状态。
GoAngleTime模块的说明
模块图标为:
功能:
朝某个角度走一定时间
参数:
1)
angle:要走的角度,范围0-360
2)
time:要走的时间,单位百分之一秒,范围0-255
说明:
在一定的时间内,不断调用GoAngle调整机器人
TurnLeft模块的说明
模块图标为:
功能:
左转到angle的角度
参数:
1)
angle:要转向的角度,范围0-360
2)
LState:左马达状态,根据硬件的设置,2为向前,0为后退,1为停止
3)
LSpeed:左马达速度,范围0-100
4)
RState:右马达状态,根据硬件的设置,2为向前,0为后退,1为停止
5)
RSpeed:右马达速度,范围0-100
说明:
利用左右轮子的速度差调整转弯的幅度,转到指南针读数小于或者等于angle设定的角度为止。
BackAngle模块的说明
模块图标为:
功能:
车头朝某个角度,后退调整机器人的方向
参数:
1)
angle:要调整的车头角度度,范围0-360
说明:
读取指南针数值,根据偏差的角度大小用不同的调整幅度调整机器人的运行状态
BackAngleTime模块的说明
模块图标为:
功能:
车头朝某个角度,后退走一定时间
参数:
1)
angle:要调整的车头角度,范围0-360
2)
time:要走的时间,单位百分之一秒,范围0-255
说明:
在一定的时间内,不断调用BackAngle调整机器人
第四节
程序调试
由于不同机器人的硬件性能存在差异,因此调试程序是必要的。严格按照下面的步骤调试,将达到事半功倍的效果,使调试过程充满乐趣,充分体验用模块化思维解决问题的优势。
1、视频
观看视频,进一步了解机器人完成任务的整个过程。
2、检测马达转向
在主程序里,单独控制左、右两个马达,两个马达的“state”值都填2,
“speed”值都填100,编译,下载程序,实际运行,观察马达的转向是否都是向着机器人前进的方向,如果不是,可以通过更改马达的插接方式来校正。
3、全局变量
g_Speed
马达正常运行速度,修改时需要与g_ModifySpeed一起成对修改。
g_ModifySpeed
马达作调整时的运行速度;如果机器人朝某个角度所走的直线不直,可以适当增加或者减少此值。
g_Small
走直线时,小偏差角度;处于小范围里面,所要调整的幅度就要小。
g_Big
走直线时,大偏差角度;处于大范围里面,所要调整的幅度就要大。
4、如何让机器人运行自检程序
把车体反方向摆放在起始点,启动机器人后,指南针读数范围在90-270度时,机器人自动执行自检程序对自身传感器进行检测。如果开机后机器人马达有运动而不是执行自检程序(静止),应该是指南针没有校正好,此时可以把机器人正向放置在起点(不要关闭电源),按指南针上的正北校正按钮,然后关掉电源,把车体反方向摆放在起始点,重新开始操作。
自检程序执行:开背光,角度传感器数值显示在第1位。此时可以校正指南针。
5、矫正角度传感器的角度
请参考角度传感器的使用说明,矫正角度。矫正后要求0、90、180、270四个角度都正确,把两台小车方在各自的起始点,正前方为0度,正右方为90度,正下方为180度,正左方为270度。建议上面四个角度允许偏差在2度以内,如果偏差较大,请重新校正指南针。偏差越小越好,通常需要经过多次校正才能达到较小的偏差。
注意:角度传感器要尽量远离马达,减少干扰。
从起始点,正对前方向为角度传感器的0度方向。
6、程序的调试
用机器人快车打开主程序,1号车程序在文件夹“Car1”下面的“Car
1.rcu”文件,2号车程序在文件夹“Car
2”下面的“Car
2.rcu”文件,根据程序的文字提示说明可以修改相应的数值。
如果需要对子程序模块进行修改,可以通过下面方面进行。在此仅说明如何在主程序里直接进入子程序模块进行编辑的方法,详细的使用方法请阅读《机器人快车》软件里的帮助文档。在主程序里单击要修改的子程序模块图标,再单击工具栏上的,会弹出新的子程序窗口,在此可以编辑子程序。编辑完成后,点保存,再进入主程序,重新编译,刚才修改过的子程序就已经被运用在重新编译过的主程序里了。
第五节
使用技巧及优化
1、电池的使用
准备好两份的电池和充电器(可以从中鸣数码科技有限公司订购)可以使你在调试程序的过程中,不会因为电池电量不足而被迫停止调试。
在主控制器电源指示灯不断闪烁的情况下,必须更换电池。
刚充好电的电池电压比较高,此时使用会让机器人运行速度比平时调试时候快。
建议比赛时候使用的电池电压与平时调试的电压一致,避免因为电压不同出现机器人走的路程发生明显的变化。
平时调试时候可以编写两套程序,一套是电量充足的,一套是电量中等的,根据不同的电量下载不同的程序。
2、小技巧
为了更好交接小球并使交接碰撞后不把2号车撞歪,可以把1号车的持球装置往左斜一点角度安装,这样在碰撞时候刚好小球能正对着2号车。
因为机器人的行走是由时间或者角度控制,所以不能完全避免机器人走到转弯点处的位置有误差的出现。此时可以修改直行的角度或者直行的时间并从新下载程序,也可以在开始区域摆放机器人时,相应往前后左右挪动一点位置,让机器人走到转弯点时候达到正确的位置,前提是不能让机器人超出起始线。
本方案中左转图标一共是6个,也就是把转弯分解成6个小步骤。此分解法不一定是最好的,要根据自己机器人的实际情况进行调整和测试,可以相应增加或者减少分解的步骤数,并且每个步骤转动的角度范围可以是不等分的,调整各小步骤的角度和马达速度,同时可以配合调整伺服马达角度,以便能更好控制转弯的过程。
如果需要更高速度,可以考虑更换更快的马达,更换重量更轻的电池,尽量搭建更轻的机器人,更换更好的轮胎,配合伺服马达转弯。
注意:
如果发生机器人启动后,会在原地旋转一到两圈再往前走的情况。可以按照以下方法处理:
加装一个触碰检测传感器,修改原来的程序,在程序开始位置多加触碰检测启动。把机器人放到起始区域或者临近的地方,按下机器人电源开关,然后顺时针旋转机器人两圈,再把机器人放回到起始区域,按压触碰检测启动机器人,机器人就能正确启动。注意此过程从按下电源开关后,机器人是一直处于上电状态,中途不能关掉电源。
10