Skip to content

南京邮电大学Apollo2D 2022校赛选拔题目

Notifications You must be signed in to change notification settings

Apollo2d/NJUPT-2022-apollo2d

Repository files navigation

Apollo2D 2022 校赛选拔指导

比赛环境

使用ubuntu18.04,安装以下软件

  • cmake
  • boost
  • zlib
  • librcsc
  • rcssserver16.1
  • soccerwindow2(option)

推荐使用脚本安装

如何开始

  1. 打开本仓库,然后clone至本地

  2. cd至本文档所在目录(下面这条请不要直接复制粘贴!)

cd /path/to/this/README.md
  1. 本工程提供了三个脚本,分别提供了构建代码,运行代码,分析数据三个功能。
./build.sh
./run.sh
./parse.sh

如何修改代码

  1. 本比赛的所有修改均应当在src目录下的bhv_go_to_moving_ball.cpp/.h两个文件中进行,若检测到其他文件有修改,视为违规,给予一定的扣分处罚。
  2. 球员会且只会执行该文件中的execute函数,所以请不要随意更改该函数名。
  3. 本程序会调用librcsc库,而librcsc库已经在第一步比赛环境中安装到系统中,如果需要参考librcsc库中的内容,请前往gitlab下载查看
  4. 修改完成之后,请记得使用./build.sh来更新二进制程序。

如何调试代码

在脚本run.sh中,有一系列的值可以修改,可用于定义开始时,球的位置与运动的方向和速度,以及球员开场时的位置等,修改完成后即可运行。

运行后,球员的输出会导入到player.log中,比赛结果的原本输出会导入到raw_result.log中。

运行后,可以随时按下[Ctrl+c]结束比赛,也可以等待比赛自动结束。

如果你在run.sh中指定了trials,那就无需手动使用kill.sh。使用kill.sh之后,result.log中会生成每次接球的数据,分别为接球次数、接到球的时间,以@进行分割。 现在run.sh会自动结束比赛,无需手动执行kill.sh

执行./parse.sh可以获得从./raw_result.log中读取比赛结果并分析数据,同时初步分析的数据会导出至./result.log

注意第一次接球是无效的。

如何上传代码

首先在脚本push.sh中的第一行name=后面写上自己的名字的缩写,如lyb。

然后执行./push.sh即可

如何测试代码

para.sh中按照格式写入参数,然后运行autotest.sh,在log文件夹中查看运行结果。

如果想要查看某个数据的运行情况,可以运行autotest.sh [group number] [on|off]。如,想要以不开启同步的方式查看第2组数据,只需autotest.sh 2 off

注意:两个参数缺一不可。

About

南京邮电大学Apollo2D 2022校赛选拔题目

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published