本文以及今后将发表的一系列笔记是我补写的两个月来学习RoboCup 2D的经过,希望能给各位有意于RoboCup的朋友们带来一些启示。
RoboCup是一项以促进人工智能(特别是多个智能体协作问题)发展为宗旨的国际间学术活动。它与ACM/ICPC不同,后者是ACM主办的一项学生竞赛活动,而RoboCup则是以竞赛的形式促进研究。所以参与者并不限于大学生,甚至不限于学生,即只要是学术机构(包括企业下属的研发机构)都可以参与。而参赛球队也不是由少数几个人完成的,而是多届研究人员不断完善的。这些特点就决定了虽然在学术水平上大家是共同进步的,然到了大战之前,却是无所不用其极。
……
阅读全文——共566字
经过2个月的艰辛历程,4轮比赛的洗礼,roboSino在今天开发结束,正式发布。虽然我们仅获得亚军,但这并不掩盖roboSino每一位队员的执着、坚毅和智慧。愿上帝保佑。
2008年10月12日roboSino解散。
*****************************************************************
* RoboDynasty Football Club *
……
阅读全文——共584字
受惠于本队长无能以及诸位队员消极怠工,本周我们没有完成既定目标(目前对UvA的胜率仅60%,丢球数也无法控制在2个以内),希望诸位队员假期加倍努力,以期下周有资格以Cat为假想敌。祝王玥小姐节日快乐,以及桑若昕、陈凯和刘斓小姐节日快乐!
自上次点球大战以来,我就一直保持沉默——原因很简单,我们开始进入组队对抗的阶段了。鉴于同样的原因,我仍然不能告诉大家我们的决策是怎么产生的,直到联赛结束,发布球队程序的那一刻——那时要将原代码一同发布,因为UvA Trilearn base是GPL授权的。
组队的同时我们产生了一个俱乐部——RoboDynasty Football Club,俱乐部中所有球队都将按“robo+朝代名称”命名,虽然目前只有一支roboSino,当然还有一支不是如此命名的(因为那是一支由3个MM组织的球队)。
……
阅读全文——共509字
昨天晚上重写了点球决策,今天早上做了一下测试。结果做掉了Mersad和RoboCup2008提供binaries的除oxsy之外的所有队伍。另外还发现了WrightEagle另外一个Bug(不过shike说出现这个Bug时我已经涉嫌犯规了)。oxsy的点球风格真是令我大开眼界——进攻队员先将球踢向后半场,待甩开出击的守门员后,再快速带向球门。
下午将对vRobot的点球做些修正,决策的套路大概不会变了,需要变的是很多小地方——铲球模型和特殊判断,以及球员归位。
昨天说过“最近有了另一项想做的事情”,今天公开一下吧。这件事情就是在Mersad底层上写自己的球队。Mersad结构比UvA Trilearn复杂,实现了更多的东西,似乎还有外挂决策和学习的功能。虽然基本没有注释和文档,但在Eclipse的帮助下,我终于大致看出了Mersad的决策过程。今天将Mersad的点球略微改了一下(去除了大BUG),足以跟WrightEagle一拼。但很不幸的是,shike认为Mersad比Uva Trilearn高级很多,用Mersad写球队对其他人不公平,所以要求点球大战和联赛统一使用UvA Trilean为底层。这个纯洁、善良的愿望破灭了。
昨天shike提出要在周末打一场点球大战,于是今天试着写了个点球。结构就是if-if-if,试图把各种情况列举出来。中间经历了一次射门区间刚好写反的错误,导致对着空门踢飞率50%+。改好之后,发现没有合适的守门员(我把守门员的一般决策直接搬到点球中,却发现守门员根本不动)。而世界杯那些守门员实在太厉害了,小改动了几次都无法有效突破。观察WrightEagle和Brainstormers的点球大战,发现他们的带球动作与我的明显不同,带球路线也非常复杂。带球路线一时间无法写的那么复杂,明天试试将带球动作改一下吧。
……
阅读全文——共327字