在Manjaro/Ubuntu中搭建Robocup2d环境
缘由
分别试过Ubuntu18.04,ubuntu21.10都会出现很严重的死机问题(可能是我笔记本的问题)。遂转向了别的系列的发行版,看上了Manjaro(听说Mint也很不错,有空再试)。Manjaro Gnome版界面精美,中文支持完美,装后可以直接投入使用,需要配置的内容比较少,系统稳定不容易崩溃,软件库非常全,适合需要开箱即用的人。Arch需要自己从头一个一个配置,没有时间和精力折腾的,最推荐的还是Manjaro。整理了一下安装过程分享出来。
前提
首先假定你已经完成了基本的配置,比如你已经
- 给系统换好了源
- 更新了系统
环境
这里不需要你安装任何包,只需要将以下命令写入.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
,然后运行脚本。