
RoboCup上球队完整流程
RoboCup上球队完整流程
- 若出现莫名其妙的错误,
- 先检查文件夹名称或者队伍名称等是否使用了中文字符!!!
- 请使用英文字符代替!!!
自行获取各赛事公开可执行文件,或源码文件
<1>源码文件编译
假设现在有一份源码:(图43)
【可在结尾链接下载其他球队的开源代码,但不一定能够编译成功】
图43
进入 code_sources ,找到 Sources (即源码所在文件夹),
在文件夹上右键【在终端打开】(图44)
图44
输入 make -j6 (make 为编译命令,-j6 为使用6个核心) (图45)
图45
此图为编译成功(图46)
图46
此图为编译失败,自行寻找原因并修改bug,然后重新 make (图47)
(出现红色即为报错, 注意终端的编译输出)
【发生错误后重新编译会延续之前的编译,不会生成新的EXE,但不会影响最终结果】
【若想要清除之前的编译结果,可使用 make clean 来清理之前的编译结果】
图47
注意,出现图48,仅代表相比上一次make而言,未对任何文件产生修改,并不意味着编译成功
图 48
编译成功后,会在 Sources 同级目录下生成一个可执行文件夹:(图49)
【此步开始与直接获取可执行文件步骤相同】
图49
进入可执行文件夹,即可看见上球队脚本 start.sh:(图50)
图50
<2>开启服务器等命令
由于此时仅有一只球队
(如果手上存在两支以上可执行球队,则不需要进行复制,使用另一只球队进行比赛即可)
我们将可执行复制一份:【记住是在编译成功后再复制】(图51)
图51
但是,由于复制的两支队伍名称一致,无法同时连接服务器,需要对 ./start.sh 进行修改:
不要使用中文字符来命名队伍名称【teamname】,可能造成意外的错误
注意:复件文件名称不要存在中文字符
【原EXE】:
图52
【EXE(copy)】
图53
保证连接服务器的两支球队名称不相同即可
如下图,开启顺序依次为
- rcssserver, ./start.sh, ./start.sh, soccerwindow2 (soccerwindow2命令无顺序限制)(图54)
- 留意 ./start.sh, ./start.sh这两个命令新开终端所在的工作目录(图54)
- 其中 rcssserver, soccerwindow2 这些工具命令不受工作目录限制
- 注意rcssserver会在其工作目录下生成日志文件
- 若出现文件权限不够,使用 chmod 777 ./start.sh 即可
图54
按照顺序打开后【可以观察终端输出】(图55)
图55
soccerwindow2初始界(图56)
图56
将鼠标聚焦到界面上,按下 CTRL + C 刷新界面
此时,双方球员上场成功,按下 CTRL + K 即可开始球赛
或点击左键,选择【kickoff】(图57)
图57
至此,球员上场,即可开始你的第一场比赛
结束后,使用 rcsslogplayer/soccerwindow2 打开rcg 文件进行比赛复盘。
PS:当我们对源码文件进行创作新代码文件时(如 新增 test.h test.cpp 文件)
需要手动添加编译链接:(图58)
对于其他文件夹内新增文件添加编译链接操作相同
- 进入【code_sources】——> 【Sources】——> 【src】
- 找到 subdir.mk 文件,使用文本编辑器打开
图58
观察特点,在任意合适位置新增链接(图59)
图59
增加链接之后,如下图(图60),保存即可,然后重新进行 make ,出现bug,解决bug,重复即可
图60
PS:无论是新增文件,还是修改文件内容,每次修改之后都需要重新 make 编译,来使修改生效
更多推荐
所有评论(0)