在Manjaro/Ubuntu中搭建Robocup2d环境


缘由

分别试过Ubuntu18.04,ubuntu21.10都会出现很严重的死机问题(可能是我笔记本的问题)。遂转向了别的系列的发行版,看上了Manjaro(听说Mint也很不错,有空再试)。Manjaro Gnome版界面精美,中文支持完美,装后可以直接投入使用,需要配置的内容比较少,系统稳定不容易崩溃,软件库非常全,适合需要开箱即用的人。Arch需要自己从头一个一个配置,没有时间和精力折腾的,最推荐的还是Manjaro。整理了一下安装过程分享出来。

前提

首先假定你已经完成了基本的配置,比如你已经

  1. 给系统换好了源
  2. 更新了系统

环境

这里不需要你安装任何包,只需要将以下命令写入.sh文件并执行即可。

或者也可以去Github仓库手动下载包,放入脚本的目录(脚本代码不需要做任何修改可以直接执行),链接见文章底部。

#!/bin/bash

# 设定环境变量
workdir=$PWD
server=`find . -name 'rcssserver-*' -type f | xargs -i basename {} .tar.gz`
monitor=`find . -name 'rcssmonitor-*' -type f | xargs -i basename {} .tar.gz`
if [ -z "$server" ]; then
  wget https://files.cnblogs.com/files/juzaizai/rcssserver-16.0.1.tar.gz
  server=`find . -name 'rcssserver-*' -type f | xargs -i basename {} .tar.gz`
fi
if [ -z "$monitor" ]; then
  wget https://files.cnblogs.com/files/juzaizai/rcssmonitor-16.1.0.tar.gz
  monitor=`find . -name 'rcssmonitor-*' -type f | xargs -i basename {} .tar.gz`
fi
if [ -z "$server" -o -z "$monitor" ]; then
  echo "Network error"
  exit 1
fi
echo "Current work directory is $workdir."
echo "Packages to be installed:"
echo $server
echo $monitor
echo "Please enter y to continue..."
read res
if [ "$res" != "y" ]; then
    echo "Exit"
    exit 2
fi

# 解压压缩包
if [ -d "$workdir/$server" ]; then
    rm -rf $workdir/$server
fi

if [ -d "$workdir/$monitor" ]; then
    rm -rf $workdir/$monitor
fi

tar -xzvf $workdir/$server.tar.gz
tar -xzvf $workdir/$monitor.tar.gz

# 安装必要的依赖
echo "Update"
sudo pacman -Syu --noconfirm
echo "Install rcssserver requirements"
sudo pacman -S --noconfirm gcc base-devel boost
echo "Install rcssmonitor requirements"
sudo pacman -S --noconfirm qt5-base fontconfig libxt glib2 libxi libxrender
echo "Install autotest requirements"
sudo pacman -S --noconfirm python net-tools
sudo pacman -S --noconfirm gnuplot

# 编译安装环境
echo "Install rcssserver"
sleep 1s
cd $workdir/$server
./configure
make
sudo make install

echo "Install rcssmonitor"
sleep 1s
cd $workdir/$monitor
autoreconf -i
./configure
make
sudo make install

# 执行清理工作
cd $workdir
rm -rf $workdir/$server $workdir/$monitor
sudo ldconfig
echo "Done"
exit 0

如果是Ubuntu系统的,只需要改中间安装依赖的部分,就可以移植到Ubuntu上(支持最新的版本),这里也附上:

echo "Update"
sudo apt-get update -y
echo "Install rcssserver requirements"
sudo apt-get install -y g++ build-essential libboost-all-dev flex bison
echo "Install rcssmonitor requirements"
sudo apt-get install -y libboost-all-dev qtbase5-dev libfontconfig1-dev libaudio-dev libxt-dev libglib2.0-dev libxi-dev libxrender-dev
echo "Install autotest requirements"
sudo apt-get install -y python net-tools
sudo apt-get install -y gnuplot-nox
sudo apt-get install -y gnuplot-qt
sudo apt-get install -y gnuplot-x11

IDE

安装CLion:

我个人的感觉是,既然VSCode需要折腾一大堆插件才能达到CLion的效果,那为什么不直接用CLion呢?

sudo pacman -S clion clion-cmake clion-gdb clion-jre clion-lldb

Ubuntu的话更简单直接在应用商店搜索clion即可,或者输入命令:

sudo snap install clion --classic

完成,开始工作!


附件

Robocup2d环境的安装只需要两个包,不需要别的。

soccerwindow2需要qt4的支持,在最新版的Ubuntu上安装不了,其功能完全可以用rcssmonitor替代

rcsslogplayer已经废弃,被rcssmonitor替代

librcsc的内容已经被集成到球队代码中,不需要另外编译安装

Github仓库:

rcssserver: https://github.com/rcsoccersim/rcssserver

rcssmonitor: https://github.com/rcsoccersim/rcssmonitor

博客园:

rcssserver: https://files.cnblogs.com/files/juzaizai/rcssserver-16.0.1.tar.gz

rcssmonitor: https://files.cnblogs.com/files/juzaizai/rcssmonitor-16.1.0.tar.gz

下载后放在脚本目录里即可。将上述命令保存到./install.sh,然后运行脚本。

相关