发新话题
打印

机器人足球开发经验

机器人足球开发经验

大学是一个人最宝贵的黄金时间,因为这时你佣大的理想,有规划自己一生的权利,又有充分的精力和自由容许你这样做,大学是实现自己腾飞的最好阶段。
                      一个人在开始干任何事之前都要有个分析与规划,凡事予则立,不予则废。
                      作为一个计算机学院的学生动手能力是最重要的,不会编程就意味着你已经被这个专业淘汰了
                     
                  但我真正编程思想的提高,是在做机器人足球开发过程中得到的。机器人足球其实就是一个小项目,他不仅要求你会编程,而且要求你要站在一个系统设计师与系统分析师的高度去整体把握,设计分析,实现方法,编码,测试,以及开发文档一个也不能漏,每一环节都要认真细致,否则,当程序量过大时,就会出现系统支撑不了的局面。特别是程序模块化方法和分块策略,以及全局变量的使用,文件包含等都是要注意的问题,这些问题课本上讲的时候本来就少,如果没有这个实际开发过程的体会,肯定是永远也弄不明白的。当时我读软件工程时,很多地方都觉得课本上讲的既罗嗦又难懂,现在才真正明白他们的功用。还有,当学C语言的时候,那时解一个方程尚且感觉有些难度,但在机器人足球里面这就什么也不算了,因为你不但要解方程,而且数学模型的确定,动态数学方程的建立,未知参数的已知化由于是机器人足球是动态的,一个方程里面未知数就有十几,必须将其已知化,求出一个未知数的解,再递推出其他的未知数,还有方程解的分情况讨论等都必须一一编程,并且要逐个测试。这无形中就培养起了一个人用程序的思想分析问题与解决问题的能力,而这又是我们走上社会做项目开发时必须要解决的首要问题。看似很难,其实,只要你掌握一定的规律,并不难。
                     
                  在开发的过程中,我学会了怎样自学与创新。3月6号,我们从武汉工程大学听讲座回来后,就开始了编程工作。因为机器人足球是新兴的一个热点,参与开发的高校对之都实行信息封锁,网上以及图书馆关于这方面的资料是少之又少,只有东北大学有几篇关于此的博士与硕士论文。所以,我们只有从零开始,每一个基本动作都要自己去研究,有时为了设计一个理想的动作,往往要将程序改几百次,因为有许多参数都是经验值,所谓经验值就是经无数次的修改与总结而得到的。基本动作实现了之后,就要研究战术动作了,包括机器人的站位与跑位,以及转角问题。记得在做守门员时,由于机器人小车只有正面和反面,所以让他挡球前必须让他调整为接近正或负90度,开始时我总是让它先跑到目标点,再调整角度,这往往需要调整很长时间,因此经常失球。后来我认真分析总结,终于找到了原因,我就改变设计方案,让它距目标点还有一段距离时就开始调整角度,收到了预期的效果。
                     
                  基本动作与战术动作实现之后,就开始了最高层的配合动作的设计。刚开始没有建立从整体上把握整个机器人队的思想,因此,无从下手。我便从网上下载了以前找到的几篇东北大学的博士论文,无奈,里面有很多我不懂的遗传算法与模糊推理的知识,便又找了关于遗传算法,模糊控制,模糊推理,专家系统等方面的书及文章自己看,以及向指导老师符海东博士请教。经过整个五一的学习,终于把那几篇博士与硕士论文攻了下来,同时自己对机器人系统的把握也总体上上了一个层次。五个机器人小车终于可以使用自如了。过了五一,我的注意力全放到机器人进攻以及机器人的配合还有机器人间的角色转换上面了。
                     
                  经过这些努力,终于取得了进步,以前认为防守牢不可破的东北大学队,现在可以轻而易举的进它的球了。今年的比赛也证明了一点。在四天的全国第五届机器人足球大赛中,我们首次参赛得了二等奖4-8名为二等奖,前三名为一等奖。我校两队分别进入前四与前八,分获二等奖。
                     
                  我们学校的机器人足球目前还不成熟,还有很多其他机器人足球参赛项目我们学校没有搞起来,即使仿真这一块还有很多尚须完善的地方,以后还有很长的路要走。希望那些关心学校发展又有编程能力的同学加入我们的队伍中来。

TOP

学习了---
与君共勉!
个人博客:http://www.waterylife.com

TOP

发新话题