实验 机器人足球比赛常用工具
1、实验目的
掌握 RoboCup 仿真机器人足球比赛中常用的工具,具体内容如下:
(1)胜率测试器
(2)阵型修改器
(3)查看球员与球的速度,位置。
2、实验设备
硬件环境:PC 机
软件环境:操作系统 Linux
3、实验内容
1.胜率测试器
打开: 打开tools中的“autotest2d” 在autotest2d中新建终端,并且执行运行'./test.sh',此时打开soccerwindow2会看到正在进行的比赛。在命令行中运行
soccerwindow2 --port 7000
会看到有另一场比赛在运行。对了,我们是同时启动了两个进程,在进行比赛。这样测试胜率的效率会提高很多。
查看胜率: 在终端中输入 './result.sh' 就能看到当前比赛的结果。
在test.sh中比较重要的代码:PROCES=2 # 同时运行的服务数 ROUNDS=100 # 每个服务运行的比赛场数 l_teams=(hfut hfut729) # 左侧球队(可以多个 r_teams=(yushanprov mtprov) # 右侧球队 GAME_LOGGING="false" #是否记录RCG日志 TEXT_LOGGING="false" #是否记录RCL日志 SYNCH_MODE="0" # 是否为同步模式
注意 shell中的数组中间是以空格为隔断的,不是其他语言中的
,
如上代码,会启动两个测试服务器,每个服务器会进行100场,总共就是200场。
l_teams 为左侧球队,r_teams为右侧球队。如上代码会先将start_hfut与 start_yushanprov 中的球队进行比赛,打200场。然后start_hfut与 start_mtprov 打200场,然后start_hfut729与 start_yushanprov ...
SYNCH_MODE 为同步模式。将其改为1 试试效果(部分球队(如fractals)不支持此模式)查看运行的多个测试服务器:
服务器端口从7000开始,每一个server + 1000,也就是说第二个server的端口为8000,第三个server的接口为9000。使用soccerwindow2 --port 端口号 就可以指定端口查看其他的server。
- 查看比赛结果
测试中会生成一个 result.d的文件夹,里边放有运行日志以及比赛统计结果 index.html 打开可以查看胜率,进球数,进球球员等(查看胜率变动的图片需要安装gnuplot软件).比赛后会生成 left_team
VSright_team
的文件夹,result.d 以及 log.d会移动到此处.这样便于分类查看.
- 终止测试以及清理数据
./kill.sh #杀死服务 ./clear.sh #删除测试产生的数据
- 添加新的球队
一.将球队复制进teams文件夹
二.参照start_xxx中的内容 更改球队位置
三.更改test.sh 将xxx 添加到l_teams或者r_teams
2.阵型修改器
- 打开:在终端中运行 ./fedit2 就可以打开阵型修改器。
在阵型修改器中打开阵型文件(src下的formation-dt文件夹下)主要是defense-formation、offense-formation以及normal-formation。 拖动白色小球就可以看到球对应位置时球员在阵型点上的位置,拖动球员在右下角可以看到拖动后球员的位置,然后将位置写入左侧对应index的对应球员的位置就可以保存,拖动小球就可以看到保存后的阵型效果了。其他功能可以自己探索。
3.查看球员信息
soccerwindow2 不仅可以观看比赛和录像,也可以查看球员与球的信息。点击monitor-> moveDialog 然后勾选所需要查看的信息。点击readField 就可以查看当前周期球员与球的信息了。soccerwindow2还有其他功能,可以自己探索。