文章目录
前言
本文在ubunt20.04上使用源码安装gazebo,基本来自于以下几个网站:
https://classic.gazebosim.org/tutorials?tut=install_from_source&cat=install
https://classic.gazebosim.org/tutorials?cat=guided_a&tut=guided_a3
http://dartsim.github.io/install_dart_on_ubuntu.html#install-dart-from-source
http://sdformat.org/tutorials?tut=install&cat=get_started
善用搜索与官网内容,基本可以解决大部分问题。
源码安装占用内容较大,请预留10G左右空间。如果不足,可使用Gparted扩容。
一、移除原有gazebo二进制文件
如果之前已从源代码安装,请确保安装到相同的路径位置,或者已手动删除之前从源代码安装的版本。
预编译的 Ubuntu 二进制文件 : /usr/bin/gazebo
默认源安装 : /usr/local/bin/gazebo
sudo apt-get remove '.*gazebo.*' '.*sdformat.*' '.*ignition-math.*' '.*ignition-msgs.*' '.*ignition-transport.*'
二、安装所需的依赖项
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
wget https://raw.githubusercontent.com/ignition-tooling/release-tools/master/jenkins-scripts/lib/dependencies_archive.sh -O /tmp/dependencies.sh
GAZEBO_MAJOR_VERSION=version ROS_DISTRO=dummy . /tmp/dependencies.sh
echo $BASE_DEPENDENCIES $GAZEBO_BASE_DEPENDENCIES | tr -d '\\' | xargs sudo apt-get -y install
如果存在网络连接问题,可重试几次。
三、DART Support
默认方式:
# Main repository
sudo apt-add-repository ppa:dartsim
sudo apt-get update
sudo apt-get install libdart6-dev
# Optional DART utilities
sudo apt-get install libdart6-utils-urdf-dev
但是似乎在后续存在问题,可以使用源码安装,参考来自http://dartsim.github.io/install_dart_on_ubuntu.html#install-dart-from-source
sudo apt-get remove libdart*
sudo apt-get install build-essential cmake pkg-config git
sudo apt-get install libeigen3-dev libassimp-dev libccd-dev libfcl-dev libboost-regex-dev libboost-system-dev
sudo apt-get install libopenscenegraph-dev
git clone git://github.com/dartsim/dart.git
cd dart
mkdir build
cd build
cmake ..
make -j4
sudo make install
四、由 OSRF 管理的依赖项
SDFormat 参考来自http://sdformat.org/tutorials?tut=install&cat=get_started
将<#>替换为版本号,例如sudo apt install libsdformat12-dev libsdformat12
sudo apt-get install python3-pip wget lsb-release gnupg curl
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt install libsdformat<#>-dev libsdformat<#>
sudo apt-get install libignition-math4-dev
sudo apt-get install libignition-transport4-dev
sudo apt-get install libignition-msgs-dev
五、构建并安装 Gazebo
git clone https://github.com/osrf/gazebo /tmp/gazebo
cd /tmp/gazebo
如果存在连接问题,或不使用git,可以直接从github网站下载压缩包解压,修改路径一致即可,/tmp/ 可换为自定义路径。
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ../
cmake可选不带参数版本,参考官网https://classic.gazebosim.org/tutorials?tut=install_from_source&cat=install
cmake输出如果报告有依赖缺失(可选项未安装导致的警告除外),需要手动安装,直接搜索或使用sudo apt-get install安装。全部安装后重新cmake,直到解决依赖缺失、报错问题后继续下一步。
记下cmake结束后报告的安装路径,例如:
-- Install path: /usr/local
构建与安装,耗时很长:
make -j4
sudo make install
六.路径设置
将其中的<install_path>替换为之前所报告的路径(如/usr/local):
echo "export LD_LIBRARY_PATH=<install_path>/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
echo "export PATH=<install_path>/bin:$PATH" >> ~/.bashrc
echo "export PKG_CONFIG_PATH=<install_path>/lib/pkgconfig:$PKG_CONFIG_PATH" >> ~/.bashrc
source ~/.bashrc
七.运行验证
gazebo --verbose
verbose可以查看运行信息,通常来说可以顺利启动了。如果报错,查看报错信息然后搜索解决方法。
八.修改源码后重新编译的示例
来自https://classic.gazebosim.org/tutorials?cat=guided_a&tut=guided_a3
修改gazebo/gui/TimeWidget.cc中
this->dataPtr->realTimeFactorLabel = new QLabel(tr("Real Time Factor:"));
//修改为
this->dataPtr->realTimeFactorLabel = new QLabel(tr("RTF:"));
转到源码位置(~/gazebo/build)并重新安装
sudo make install
如果界面下方Real Time Factor发生变化,说明源码修改已应用。