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

  • 39
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RoboCup 2D Yushan是一个机器人足球比赛的项目。RoboCup是一个国际机器人足球比赛,旨在推动机器人技术的发展和提高,培养人工智能领域的专业人才。RoboCup 2D Yushan是其中一个比赛项目,主要针对二维机器人足球比赛。 RoboCup 2D Yushan比赛是通过模拟的方式进行的,参赛队伍需要开发自己的机器人程序来控制虚拟足球比赛中的机器人。这些程序需要具备智能决策、运动控制和战术策略等能力。参赛队伍在比赛中需要通过机器人程序来实现进攻、防守和传球等技术动作,争取在比赛中取得胜利。 RoboCup 2D Yushan比赛对参赛队伍的要求很高。参赛队伍需要具备深入了解机器人控制、运动规划和协作策略等方面的知识。参赛队伍还需要不断优化和改进自己的机器人程序,以适应比赛中的各种情况和策略。 RoboCup 2D Yushan是一个很有挑战性的比赛项目。通过参与这样的比赛,人们可以展示自己在机器人控制和人工智能领域的技术实力,促进学术和行业界的交流与合作,推动机器人技术的发展和应用。此外,这样的比赛也能够激发年轻人对科学和技术的兴趣,培养他们的创新精神和团队合作能力。 总而言之,RoboCup 2D Yushan是一个鼓励研究和发展机器人技术的国际比赛项目,通过模拟的方式展示机器人控制和智能决策等方面的能力,旨在促进机器人技术的跨领域交流与合作,促进人工智能领域的发展和应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值