Ubunt20.04的Gazebo源码安装


前言

本文在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发生变化,说明源码修改已应用。
在这里插入图片描述

  • 10
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值