机器人接力赛方案说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七届中国青少年机器人竞赛
小学组机器人接力赛方案
2007-01-04
敬告读者
本方案仅为用户参加类似机器人竞赛项目提供参考指导,广州中鸣数码科技有限公司强烈建议用户不要采用完全一致的搭建及程序参与竞赛,其原因如下:
1.本方案旨在提高用户在参与机器人竞赛项目的起点水平,但并不希望因此而扼杀参赛者的主动性及创作力,也不希望因此而违背机器人竞赛活动对青少年的教育意义。
2.本方案仅适用及受限制于某一特定的竞赛规则,参赛者应在充分理解要参与竞赛的规则前提下,参考本方案的基础上完成自己的设计。
3.几乎所有的机器人竞赛都要求参赛者亲身设计,并能在竞赛现场独立调试及向评委讲解设计思路,故参赛者应通过对方案的深刻了解及日常训练使具有随机应变之能力。
4.本方案会在网上()以公开形式面向广大机器人爱好者发布,所有的参赛者都有可能对其有充分的了解,因此对本方案未加以改进者将甚少机会获胜。
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的角度