本项目是 TIGERs-Mannheim/AutoReferee 的Fork版本,该版本旨在对软件进行汉化,尝试修改软件界面使软件更易操作,此Fork项目暂未在任何场地进行测试,无法保证可用性
原项目汉化后的README.md如下
主页: https://www.tigers-mannheim.de
邮箱: [email protected]
这是 TIGERs Mannheim 团队的自动裁判系统实现。它基于我们的 AI 框架 Sumatra 开发。 我们使用 Gradle 构建应用程序,IntelliJ 作为主要的 IDE。 所有依赖项将自动下载,因此构建时需要网络连接。
- Java JDK (最新的 LTS 版本,具体要求版本可以在 这里找到)
- 网络连接
- 对操作系统无特殊要求
首先,确保你已经克隆了 Git 仓库。从 GitHub 下载的 ZIP 文件无法使用,因为构建依赖于 Git 标签。
根据你的系统平台运行 ./build.sh
或 ./build.bat
。
根据你的系统平台运行 ./run.sh
或 run.bat
。
你可以传入 -h
参数来查看可用的命令行参数。
你也可以通过 docker 运行:
docker run --net host -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY tigersmannheim/auto-referee-vnc
IntelliJ 可以读取 Gradle 配置并使用 Gradle 执行构建。 请确保在 Build, Execution, Deployment -> Build Tools -> Gradle 下配置 Gradle 用于构建和测试。
图形界面由多个可以动态排列的视图组成。如果某个视图没有显示,可以从菜单(Views)中添加。
在自动裁判视图中,你可以将自动裁判设置为以下模式之一:
- 关闭: 完全关闭自动裁判
- 被动: 自动裁判将检测事件并显示在比赛日志中,但不会向游戏控制器发送任何信息
- 主动: 自动裁判将检测事件并将其发送到游戏控制器
此视图还允许停用某些检测器。
Game Log视图显示所有发生的、对自动裁判行为有影响的事件。可以使用表格下方的复选框切换不同类型事件的显示。
Ball Speed视图显示场上球的速度。右侧的滑块组件可用于调整图表的时间窗口。如果勾选了非 RUNNING 状态时暂停复选框,当比赛不在 RUNNING 状态时图表将自动暂停。可以使用暂停/恢复按钮覆盖此暂停。请注意,如果用户手动暂停图表,即使比赛状态回到 RUNNING,图表也不会自动恢复。
图表将显示三条线:
- 最大球速: 规则定义的球速限制
- 初始球速: 基于球的轨迹估算的初始球速(踢球速度)。随时间推移估算会更准确
- 球速: 当前估计的球速
所有配置选项都可以通过Cfg选项卡访问。Cfg选项卡本身包含多个子选项卡,用于修改应用程序不同部分的参数。你可以进行必要的修改并Apply它们。要使更改永久生效,请按Save将其写入磁盘。按Reload重新读取所有当前应用的值。
默认情况下,应用程序将尝试从 224.5.23.2:10006 接收视觉帧。 你可以在 config/moduli/moduli.xml 中更改默认地址和端口。
默认情况下,应用程序将尝试从 224.5.23.1:10003 接收裁判消息。 你可以在 config/moduli/moduli.xml 中更改默认地址和端口。
可以通过autoreferee配置部分更改自动裁判的行为。它包含检测器的参数。
规则定义的参数可以在ruleConst下找到。
默认几何参数从 config/geometry/DIV_A.txt 读取。 可以在 config/moduli/moduli.xml 中更改要读取的文件。
自动裁判系统内置了官方的 ssl-game-controller。要激活它,请在 config/moduli/moduli.xml 中将 gameController
改为 true。
自动裁判系统将在内部启动游戏控制器并连接到其 websocket API,以便能够通过Ref视图发送一些基本命令。
该视图还包含一个启动完整游戏控制器 UI 的按钮。
注意: 嵌入式 GC 默认不包含。建议使用最新可用版本。如果你想使用嵌入式 GC,请使用以下命令启动自动裁判:
./gradlew :run -PcompactBuild=false