注:文中所有步骤仅以 ubuntu18.04 作为测试平台
1.下载项目文件
UT的开源项目GitHub地址为:UT开源仿真3D代码
将项目代码克隆到本地
2.安装代码运行环境
更新仓库:
sudo apt-get update
安装代码运行所需要的编译模块:
sudo apt-get install g++
sudo apt-get install subversion
sudo apt-get install cmake
3.安装仿真球场运行环境
这一步中的环境主要指运行虚拟比赛平台所需要的软件和相关配置,对于UT开源的代码本身来说,由于主要的代码都是由C++编写的,所以环境依赖相对较少。
首先确保你的电脑中Universe和Multiverse这两个源仓库是可用的。
输入以下命令:
sudo gedit /etc/apt/sources.list
对比文件内容,如果不存在下列源仓库,则将缺失的源复制到文件中
deb http://cn.archive.ubuntu.com/ubuntu/ bionic universe
deb http://cn.archive.ubuntu.com/ubuntu/ bionic-updates universe
deb http://cn.archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
更新仓库:
sudo apt-get update
下载虚拟平台软件需要的依赖,如果失败则更换网络多次尝试:
sudo apt-get install g++ git cmake libfreetype6-dev libode-dev libsdl-dev ruby ruby-dev libdevil-dev libboost-dev libboost-thread-dev libboost-regex-dev libboost-system-dev qt5-default
下载SimSpark的源码:
git clone https://gitlab.com/robocup-sim/SimSpark.git
根据以下命令,逐步执行来构建仿真simspark:
cd SimSpark/spark
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
然后打开一个新的终端,继续执行以下命令:
cd SimSpark/rcssserver3d
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
打开新终端输入以下两条命令,配置环境变量
echo -e '/usr/local/lib/simspark\n/usr/local/lib/rcssserver3d' | sudo tee /etc/ld.so.conf.d/spark.conf
sudo ldconfig
此时,可以通过在终端输入rcsoccersim3d
来打开可视化仿真界面,输入simspark
和rcssagent3d
来运行模拟和代理
4.完善监视器
roboviz是比赛中常用到的监视器,这一步是在已有的基础比赛环境上添加新的工具,有助于后续开发。
打开终端输入以下命令,安装JDK:
sudo apt-cache search jdk
sudo apt-get install openjdk-8-jdk
克隆roboviz源码包:
git clone https://github.com/magmaOffenburg/RoboViz.git
执行以下命令,编译roboviz源码:
cd RoboViz/scripts
chmod +x *
sh build.sh
编译完成后,还需要修改一下环境变量中的启动路径。在终端中输入以下命令:
sudo gedit /usr/local/bin/rcsoccersim3d
回车后将打开一个文本,在文本第2行添加脚本命令,以使得进入RoboViz源码文件夹下的bin路径,可以参考以下:
cd /home/leo/RoboViz/bin
具体的文件路径根据读者用户电脑实际情况更改。
将文档第27行更换为刚刚提到的bin目录下的名为roboviz.sh的脚本的路径。参考修改如下:
MON="/home/leo/RoboViz/bin/roboviz.sh"
具体的文件路径根据读者用户电脑实际情况更改。
实际上,配置启动路径这一步是将打开server,然后打开monitor这两个步骤合并在一起了,这样,只需要输入一个命令就能之间使虚拟平台连接上本地服务器并运行,在本地调代码时更加方便。但是实际上server和monitor是可以在不同的电脑上运行的。
再新建终端,输入rcsoccersim3d
,就会发现打开的模拟赛场和之前不一样了。如果出现没有出现球场仿真界面,且此时左上角ServerSpeed未显示(正常情况下一般在100%左右),则说明monitor并没有成功和server建立连接,需要重启电脑后再进行尝试。
到这里,和比赛平台以及比赛代码相关的项目的环境依赖和软件就全部安装完成了,接下来将进行比赛代码的编译。
5.编译UT开源代码
进入第1步中克隆的UT项目代码根目录下,打开终端,输入:
cmake .
完成后,输入以下命令进行编译:
make
至此,代码的构建就完成了,接下来就可以正式进入到比赛内容的准备上
6.打开虚拟比赛平台
在终端中输入:
rcsoccersim3d
正常出现球场等模拟则表示打开成功,在比赛过程中该终端和可视化界面都不能关闭
7.部署机器人
打开一个新的终端,进入比赛项目代码根目录下,例如输入:
cd utaustinvilla3d/
输入脚本命令:
./start.sh
这时,再回到第一步中打开的比赛平台界面中,就可以看到机器人出现在比赛场地中了。这是项目代码和server在同一PC上时的命令,如果项目代码和server在不同的PC端,则需要在命令后空一格,然后添加server所在PC的IP地址,例如:
./start.sh 192.168.111.69
在需要时,也可以选择退出比赛平台,只需要再打开一个新的终端,同样进入比赛代码根目录下,输入即可:
./kill.sh