robocup离线教练的使用

2008年12月11日星期四

 

可以说,robocup中的离线教练的使用,对于一个成功的球队来说必不可少。
但是资料比较少,而且离线教练涉及的东西还是比较多,而且麻烦的,所以下面我就来简单说一下,离线教练的使用方法。
1 server的设置:
启动server的时候,必须要告诉server你打算启动离线教练,来控制比赛的场景,其中还涉及一个全部控制和部分控制。一般来说,部分控制就可以了 (让server的裁判仍然启作用,在进球或者犯规后将球员自动摆放球员的位置。)
调用在线、离线教练需要更改server的设置如下,找到主目录下
.rcssserver/server.conf文件,
找到
server::coach_w_referee = false

,将false改为true,并将改过的文件另存一个文件,以和本来的文件区别。
比如我存在了
~/workspace/serverTrain.conf

调用可以启动教练的命令是这样的.
rcssserver -include=/home/lnever/workspace/serverTrain.conf&(改成自己保存文件的路径就可以了)
这样,这个server就可以连接trainer了。

2 下载trainer。
uva引入异构球员,就是使用在线教练来完成的。
我以前科大的主页  上找到过一个trainer程序框架,但是在我的机器(open suse 11, gcc 4.3)下无法编译通过,所以我稍微修改了下,加入了自己的训练场景(只是一个试验),很好用,呵呵 
非常感谢科大。
这个改过的trainer可以在这里下载:
http://d.download.csdn.net/down/859032/lnever

3 使用trainer
如果第一、第二步都没有问题,下面就可以按下面步骤启动离线教练。
rcssserver -include=/home/lnever/workspace/serverTrain.conf&
cd ..///球队1所在文件夹
./start #启动球队1
cd   ..///球队2所在文件夹
./start #启动球队2
cd ..////trainer所在文件夹
./trainer
比赛就会按照trainer设置的场景,开始不停训练。
trainer训练的场景是由trainer文件夹下的trainer.conf决定的,看一下,应该还是比较容易理解的。

训练场景就是有trainer里的mailoop来实现的,仔细看看server手册的教练那个部分,应该不难。

0 评论: