RoboCup-2D工具及相关命令的使用说明

本文介绍了在Ubuntu系统中使用rcssserver进行足球模拟比赛,涉及.rcl和.rcg文件的生成与管理,日志文件的解读,以及如何使用rcsslogplayer、rcssmonitor和AutoPlay工具进行比赛回放、监控和自动化测试。还讨论了多团队测试和阵型编辑器的使用,以及服务器配置以实现多开功能。
摘要由CSDN通过智能技术生成

前情提要:目前你已经安装好Ubuntu系统,且完成了环境配置

<1>相关命令

rcssserver :开启本地服务器【CTRL + C 用于退出】

输入此命令后,会开启本地服务器,用于连接双方队伍球员和教练(图61)

980b473adb9e4928a6beca99e90760f0.png

图61

同时,会在当前工作目录生成以日期命名.rcl .rcg 文件:

  1. 用于记录比赛过程中双方球员与球的位置信息以及球员的动作信息
  2. 这些数据信息可使用数据挖掘,寻找数据间的相关性以及与影响射门成功率的相关因素
  3. 也可以寻找对方球员的路线漏洞等

.rcl .rcg 文件:(图62)

76e90f771fc7463e8e3a3831e21903bc.png

图62

.rcg :(文件偏大)(图63)

4fa7bc2aec104f6ca7128aed42d3e8a5.png

图63

.rcl :(图64)

ccc6acf4dcb445eba4f1097b915ae8df.png

图64

如何阅读相关日志文件:RCL & RCG 文件详解

此外,对于长期进行球队测试,会生成大量.rcl .rcg 文件,

占用大量空间,可以手动关闭和开启,具体如下:

1.打开文件夹,进入主目录/Home:(图65)

c0f64fc426b14528be4650afda2748b3.png

图65

2.将鼠标移入主目录/Home下,按下 CTRL + H

显示隐藏文件,找到 .rcssserver 文件夹:(图66)

4e70dff4f25f45f687c0e78bb37eecae.png

图66

3.进入此文件夹,并找到 server.conf 文件:(图67)

d314169b86284846918b87caf97241fc.png

图67

4.使用 文本编辑器 打开 (右键选择使用其他软件打开,在其他软件中选择文本编辑器打开)

按下 CTRL + F 进行搜索:(图68)

0725870916304d29bed68f99e45477c1.png

图68

相关含义:

  1. game_logging = false 为无 rcg 文件生成( true 即为生成 rcg 文件)
  2. text_logging = false 为无 rcl 文件生成( true 即为生成 rcl 文件)
  3. nr_normal_halfs = 0 为直接进入加时赛 
  4. 同时,将nr_extra_halfs = 0 为直接进入点球模式 

设置完成后保存退出即可,注意不要随意修改各变量的数值,保证 server 的正常运行。

rcsslogpalyer:日志播放器,用于复现比赛场景

输入此命令后,会打开播放器(图69)

0bcc2a5db45d4711ad616a9b9caabb22.png

图69

首先准备一个 .rcg 文件【比赛录像日志文件下载地址

此网站长期未同步最新日志文件,建议自行进行上球队比赛生成日志文件

【参考、完整上球队流程

将文件放置主目录/Home下【其无法识别中文目录,所以建议使用英文安装】(图70)

bb93b6bb2dc04b18a6525517013f59a9.png

图70

使用 rcsslogplayer 打开日志文件(图71、72)

e3ff1e15d2b344b891c82b47a1339f90.png

图71

6d0471a5fc43487aa4523553bf92da96.png

图72

打开后 使用菜单栏左上角播放键 即可观看录像(图73)

4f95119633a54d95a13354c57a0909d8.png

图73

rcssmonitor:观看本地的实时比赛状况

当本地服务器正在进行比赛时,使用 rcssmonitor 会直接显示当前的比赛,也可用于远程连接显示(图74)

0dfc477d2bac4c70a289b1da7ed33622.png

图74

soccerwindow2:集成了rcsslogplayer和rcssmonitor功能

rcsslogplayer 相比,可以选择任意文件夹,无需放置主目录下(图75)

【目前看来是这样的,也可能是因为 rcsslogplayer 不支持中文字符,无法显示出中文文件夹】

12c33a8da4ec4910b47eed05bab9660e.png

图75

打开 rcg 文件如(图76、77)

8a2b06b31cc14226896904edae775a31.png

图76

91cf1f0ce13240f0a54e081347f1fb0f.png

图77

球场初始界面(图78)

2e56d263c1b540de9219a3b19e793314.png

图78

按下一次 D 键(图79)

8206d8d9b4d343e58755dc77b03c09b0.png

图79

按下一次 V 键(图80)

e197c92b775c497bb48b6f00c55daf22.png

图80

按下一次 S 键(图81)

81964ca4cb334950846b8a75798d270d.png

图81

按下二次 S 键 (图82)

70ad9495d48e4b6da9ef95c8bab67645.png

图82

按下三次 S 键(图83)

830bccc658f34ed88a8d0aa7fe3c74a6.png

图83

按下一次 O 键(图84)

图84

按下一次 P 键(图 85)

图 85

每一次点击按键产生的变化其背后的含义自行看培训文件进行理解

其余快捷键【更多自行探索】:

CTRL + Q :退出 soccerwindow2

CTRL + R :对换左右队伍

CTRL + T :隐藏队伍名称栏

CTRL + I  :弹出球速及球位置信息对话框,将鼠标放置对话框上,滑动滚轮可以调节透明度

CTRL + O:重新选择 rcg 文件

CTRL + P:隐藏球员,只保留球

CTRL + A:显示出球员的 attention to 信息

CTRL + D:弹出 Debug Message 对话框,球员/球的相关信息

CTRL + F:显示球场的参照点

CTRL + G:播放 rcg 文件时每按一次,倒退至上一次 play_on 周期,播放本地实时比赛时为结束比赛

CTRL + H:弹出球员详细信息对话框

CTRL + K:播放本地实时比赛时为开始比赛

CTRL + L:恢复到实时球赛状态

CTRL + Z:缩小球场

CTRL + X:上球队便携入口

CTRL + C:播放 rcg 文件时为清空球场,播放本地实时比赛时为刷新球场

CTRL + V:调整 soccerwindow2 外观界面展示信息量

CTRL + M:隐藏菜单栏

【菜单栏内容自行探索,rcsslogplayer、rcssmonitor 快捷键类似】

fedit2:阵型编辑器

首先,先寻找阵型文件,假设现在有一份球员队伍可执行文件源码文件

【可执行文件】 ——> 【data】——> 【formations-dt】

【源码文件】——> 【sources】——> 【data】——> 【formations-dt】

可执行文件(图86-89)

023660cdfefe456d99ba2c37a3ae2354.png

图86

09e26285618b4b4199738c17b1a8d7c4.png

图87

dcaeeae7f38943a692cec469f08d75a6.png

图88

3fdfb8c635b6496f8ece32707b38b50e.png

图89

对于源码文件同理自行查找

进入阵型文件夹后(图89)然后在 formations-dt 文件夹下空白处右键选择

【在此处打开终端】,输入 fedit2,回车,并如图选择Open formation (图90)

34037af53cec44ba9b96256600898ad7.png

图90

选择要修改的阵型文件,点击Open(图91)

7831b1a366224b31b7a25b6921735467.png

图91

打开后即可在左侧修改阵型数值,也可以在右侧直接对球员进行拖动调整(图92)

【直接对球员进行拖动则需要手动点击菜单栏中的Replace Data键(图中红色标出)对左侧数据进行替换】

e887d1f1fc6745c6a36e7f6c7c841fb2.png

图92

修改完成后,点击左上角保存【蓝色标出】(图93)

44c5ecbc63234ed2a83892c910076f9f.png

图93

即可在当前工作目录下即【formations-dt】找到

PS:携有日期标签的名称文件为源文件goalie-catch-our.conf_20240204-135159

名称相同仅有日期标签区别的文件为修改后文件goalie-catch-our.conf】(图94)

a77837f224b549689a5e72c0d9ba7b8f.png

图94

注意:修改后的文件内容数据格式与源文件格式不同,无法直接使用,需要自行修改格式

可以使用工具简化操作:Formations Fixed Tools(后续会更新)

goalie-catch-our.conf

number 值与下方 data 的序号标签对应,由序号获得对应的扮演的角色 name(图95)

90ec517fe3914fd887f6723f5156a061.png

图95

data 对应的数据即为修改后阵型坐标数据(图96)

1df1952149904ee886420978024cb07a.png

图96

goalie-catch-our.conf_20240204-135159

源文件格式(图97)

33f6b562585941f5b4d393b9558c191a.png

图97

PS:如果要修改的点数目较少,也可以直接对 .conf 数据直接进行修改

若发生修改后的阵型文件无法使用,球队无法连接至服务器,可将修改后文件删除【若是直接修改,记得备份阵型文件】,将带有日期标签的源文件日期标签删除,即可恢复原始状态,一定不要随意修改阵型文件内的数据格式,有可能一个多余的空格就会导致格式错误

================阅读过程中发现问题敬请指正,私信我即可=======================

<2>辅助工具【暂无下载地址】

这些辅助工具禁止外传

AutoPlay工具
  1. log 文件夹存放日志文件(图100)
  2. team 文件夹存放测试队伍的可执行文件(图100)
  3. AutoPlay 为脚本文件(图100)
  4. config.conf 为脚本的配置文件(图100)
  5. result.txt 存放比赛结果(图100)
  6. start10-16 上球队脚本(图100)

4544f7c99e2349be84aef526186a13b2.png

图100

使用步骤:(图101)

1.将所有可执行文件放入 team

2.使用文本编辑器打开 config.conf

c27a4d81fe5d4e20bd4a6a7984939432.png

图101

主要修改:(图101)

teams=10,[11,16]  # start10 为主队,start11-16 为客队,有最大值限制

rounds=300 # 比赛总场次数为 300

其余自行摸索

3.修改 start 脚本(图102)

68c9e524139e462da81afa50903a327f.png

图102

例如:team 文件夹下存在 Chord 可执行文件,使用

cd ./team/Chord

./start.sh

即可,同理,其他 start 脚本

4.清理 result.txt 内容

5.右键新建终端,输入 ./AutoPlay 回车即可(图103)

9d9fd40899a84ba89ee040019e88d86e.png

图103

     

胜率日志分析工具【暂不介绍】

使用方法简单,不作介绍

(可以使用队内分析工具,也可以使用本人所编写的分析脚本)【分析脚本链接

<3>测试时球队多开

注意:即使球队多开后,但soccerwindow2只能连接至一个server进行观看,暂时未找到解决方法

对于端口号不要随意修改,待有所了解后在根据需求修改

使用AutoPlay实现测试多开

  1. 将AutoPlay复制一份【注意不要存在中文字符】(图 104)
  2. 分别将所测试球队放入team文件夹中(图 104)
  3. 根据前文中介绍的使用方法分别配置两个AutoPlay的config.init和start.sh(图 104)
  4. 如果直接打开终端使用AutoPlay,会如 (图 105) 所示错误
  5. 使用文本编辑器再次打开config.init文件, 使用CTRL+F来搜索port(图 106)
  6. 将port端口号的值修改为其他值,保存(图 106)

如 port=6000 修改为port=7000

  1. 在各自文件夹下打开终端正常使用AutoPlay即可(图 107)

PS:此外,可以留意 图 106 中的compete_mode的参数设置,使用自己需要的比赛模式

图 104

图 105

图 106

图 107

PS:以下仅为摸索,无法最终实现单场多开,原因为soccerwindow2仅连接至一个server,无法对另一个server手动发送开球命令,读者可以自行探索或者跳过此步

正常情况下,我们只能同时打开一个server,

再次使用rcssserver命令会显示server已经打开(图 108)

图 108

但是可以通过修改server.conf【文件位置前文已经提及,不多赘述】的端口号配置实现多开(图 109)

图 109

具体步骤:

  1. 正常打开server,正常执行两支球队start.sh脚本
  2. 使用soccerwindow2进行开始球赛,此时成功完成一个server
  3. 找到server.conf文件,使用文本编辑器打开(图 110)
  4. 使用CTRL+F来搜索port(图 111)
  5. 对对应值进行修改并保存

如:

# server::coach_port

server::coach_port = 7001 #原数值为6001

# server::olcoach_port

server::olcoach_port = 7002 #原数值为6002

# server::port

server::port = 7000 #原数值为6000

  1. 此时即可以打开另一个server(图 109)
  2. 找到所需要连接至第二个server的球队可执行文件
  3. 使用文本编辑器打开start.sh(图 112)
  4. 使用CTRL+F来搜索port(图 113)
  5. 对其值进行修改,保存,然后执行start.sh脚本,

即可将球队连接至第二个server,但暂无法发送开球命令

如:(与server.conf中的修改是有所对应的,读者自行去发现)

host="localhost"

port=7000 #原值为6000

coach_port=7002 #原值为6002

teamname="YuShan"

后面操作可做可不做,实测不做无影响

  1. 进入start.sh同级目录下的data文件夹(图 113)
  2. 找到coach.conf和player.conf,使用文本编辑器打开(图 114)
  3. 找到并修改对应值(图 115)

如:(与start.sh中是有所对应的,读者自行去发现)

========================

#coach.conf

host : localhost

port : 7002 #原值为6002

========================

#player.conf

host : localhost

port : 7000 #原值为6000

图 110

图 111

图 112

图 113

图 114

图 115

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值