本文参考资料:
Gazebo : Tutorial : Ubuntu (gazebosim.org)
零. 什么是Rviz和Gazebo:
Rviz是一个三维可视化工具,它利用已有的数据将数据可视化,并提供了可以显示图像、模型、表格、路径等信息的插件,我们可以利用这些插件更为直观的理解数据。
让这些插件运行的前提是,Rviz已经获得了所需要的数据,然后对数据进行处理以完成可视化的渲染。
Gazebo是一个三维物理仿真平台,我们可以在gazebo中免费创建一个模拟的机器人世界,不仅可以仿真机器人的运动功能,还可以仿真机器人的传感器数据。
而这些数据就可以放到rviz中显示,所以使用gazebo的时候,经常也会和rviz配合使用。
精心设计的模拟器可以快速测试算法,设计机器人,执行回归测试,并使用真实场景训练AI系统。Gazebo提供了在复杂的室内和室外环境中准确有效地模拟机器人种群的能力。
强大的物理引擎、高质量的图形以及方便的程序化和图形界面触手可及。当我们手上没有机器人硬件或实验环境难以搭建时,仿真往往是非常有用的利器。
综上,如果你手上已经有机器人硬件平台,并且在上边可以完成需要的功能,用rviz应该就可以满足开发需求。如果你手上没有机器人硬件,或者想在仿真环境中做一些算法、应用的测试,gazebo+rviz应该是你需要的。
一. Rviz的安装
(如果安装ROS时选择安装的是完整桌面版,那么在安装ROS时Rviz已经跟着安装好了)如果没有安装,按照下面的方法安装Rviz:
sudo apt-get install ros-noetic-rviz
启动ROS:
roscore
没有这一步直接进行下一步会报错:
打开新的Ubuntu终端输入:
rviz
打开下面的画面:
如果启动Rviz后,显示区出现黑屏,无法显示网格或地图信息,解决办法:
1,关闭Rviz;
2,打开终端输入:
export LIBGL_ALWAYS_SOFTWARE=1
(备注:LIBGL_ALWAYS_SOFTWARE=1是强制使用软件渲染)。
3,重新打开Rviz
· 中间部分为 3D视图显示区,能够显示外部信息。
· 上部为工具栏,包括视角控制、目标设置、地点发布等,还可以添加自定义的一些插件。
· 左侧为显示项目,显示当前选择的插件,并且能够对插件的属性进行设置。
· 下侧为时间显示区域,包括系统时间和ROS时间等。
· 右侧为观测视角设置区域,可以设置不同的观测视角。
具体的Rviz使用方法可参考:rviz/UserGuide - ROS Wiki
二. Gazebo的安装:
Ubuntu、ROS、Gazebo各版本推荐对应关系如下:
Ubuntu 14.04 - ROS Indigo - Gazebo 2.X
Ubuntu 16.04 - ROS Kinetic - Gazebo 7.X
Ubuntu 18.04 - ROS Melodic - Gazebo 9.X
Ubuntu 20.04 - ROS Noetic - Gazebo 11.X
所以我们安装对应的gazebo11:
1.将计算机设置为接受来自 packages.osrfoundation.org 的软件
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
2.安装键:
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
3.安装gazebo:
首先更新 debian 数据库:
sudo apt-get update
提示:确保 apt-get 更新过程结束没有任何错误,控制台输出的结尾如下所示:
$ sudo apt-get update
Hit http://ppa.launchpad.net bionic/main Translation-en
Ign http://us.archive.ubuntu.com bionic/main Translation-en_US
Ign http://us.archive.ubuntu.com bionic/multiverse Translation-en_US
Ign http://us.archive.ubuntu.com bionic/restricted Translation-en_US
Ign http://us.archive.ubuntu.com bionic/universe Translation-en_US
Reading package lists... Done
接下来通过以下方式安装Gazebo:
sudo apt-get install gazebo11
sudo apt-get install libgazebo11-dev
出现下面问题:重启ubuntu,再运行上面两行
无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 2360(unattended-upgr)持有 N: 请注意,直接移除锁文件不一定是合适的解决方案,且可能损坏您的系统。 E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?
成功截图
4 检查是否成功安装 :
终端输入gazebo
会直接打开一个空的gazebo界面
转载自这里,并进行了补充优化。