Ubuntu22.04LTS部署Robocup3D开发环境

2011年草草参与过兰州的Robocup3D比赛,侥幸混了一个一等奖。那时候也是刚接触linux,作为自动化本科,代码能力也极低。回想这么多年,都是当linux和开发环境的传教士,自升修为却非常有限,奈何自身能力有限,那就做些能力范围之内的事情,争取能为国家做一点贡献吧。

Robocup3d的开发环境是建立在SimSpark的基础之上的,SimSpark中包含了spark、rcssserver3d两个文件夹,spark中包含的是SimSpark,也就是rcssserver3d运行的基础,rcssserver3d也就是Robocup3d运行的环境。因此,编译也要先编译spark,再编译rcssserver3d。rcssserver3d包含一个server(服务器)和一个monitor(监视器)。server就是接收agent(机器人)发送消息的服务器,monitor是把接收的消息在虚拟环境中显示出来的一个可视化的终端。

我是在Window11电脑上用wsl安装的Ubuntu 22.04。这是第一次尝试用wls,过程很复杂,但是结果非常惊喜。

环境部署:参考Installation on Linux · Wiki · RoboCup Simulation / SimSpark · GitLab

其中说明了Ubuntu22.04该如何安装,要提前换好更新源,这是基本操作,我这里不再说明。

1、Ubuntu 22.04中安装依赖库

​​​​​​​sudo apt-get install g++ git make cmake libfreetype6-dev libode-dev libsdl1.2-dev ruby ruby-dev libdevil-dev libboost-dev libboost-thread-dev libboost-regex-dev libboost-system-dev qtbase5-dev qtchooser qt5-qmake

通过别的说明安装可能会出现qt4、qt5的版本问题,安装过程中缺什么库就补什么库。

git clone https://gitlab.com/robocup-sim/SimSpark.git

或者svn co https://svn.code.sf.net/p/simspark/svn/trunk simspark(这个也可以,但是慢)

2、安装SimSpark:

cd SimSpark/spark
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig

3、RCSSServer3D:

# set to the rcssserver3d directory (rcssserver3d)
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig

4、测试rcssserver3d

输入 rcsoccersim3d测试,应该就可以出现一个球场界面。

下面是输入rcssmonitor3d命令看到的:

 

5、安装Roboviz

首先,要先安装java:

sudo apt-cache search jdk

sudo apt-get install openjdk-8-jdk

其次,下载Roboviz。国外的网址应该是https://github.com/magmaOffenburg/RoboViz。

按说运行下面的命令就行了:

svn co https://github.com/magmaOffenburg/RoboViz roboviz

但是Github在国内是慢的不行,实在难以忍受,于是想找到国内的镜像。终于找到一个:

 Robocup3D 环境搭建_相顾之尸的博客-CSDN博客

这个教程中的应该是CSDN自动生成的同步,上面“显示每天同步更新”,但直接点下载的话,下下来的是roboviz1.2的版本,非常古老不能用。我被这个坑了很久,最后发现是下载的版本不对。正确的是要鼠标点进去,下载最新的1.8.5版本。

 第三,编译Roboviz。

cd roboviz/scripts    #进到编译命令的文件夹里

./build.sh                  #完成后编译的结果在roboviz/bin文件夹里。

 

此过程很慢,新版本的roboviz应该是通过gradle部署的,中间要自动下载和编译很多东西。如果耐心和网速都很好,这个过程就不会觉得那么慢。由于对gradle完全不了解,试了很多次,最终还是想找下有没有加快这个速度的方法。找到了一个不知道有没有用,但用了以后编译一会儿就通过了。可以参考:部署智能合约Resolve dependencies of :runtimeClasspath解决办法 - 知乎

通过观察发现roboviz文件夹下有个gradle.properties文件。网上说在这里面加上这两行,速度会加快,应该是设置了一个代理,换了个源。

systemProp.http.proxyHost=mirrors.opencas.cn
systemProp.http.proxyPort=80

 照着这个在里面加了两行:

 第四,用roboviz替代rcssserver3d自带的monitor(rcssmonitor3d):

sudo gedit /usr/local/bin/rcsoccersim3d

把MON="$bindir/rcssmonitor3d"注释掉,改成编译的roboviz/bin/roboviz.sh。文件路径搞不准的就手动找到roboviz/bin/roboviz.sh,复制好路径。

 

最终,输入rcsoccersim3d测试。

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值