本文参考资料:rviz - ROS 维基http://wiki.ros.org/rvizGazebo : Tutorial : Ubuntu (gazebosim.org)http://gazebosim.org/tutorials?tut=install_ubuntu&cat=install网格实验室 (meshlab.net)https://www.meshlab.net/
Rviz是一个三维可视化工具,它利用已有的数据将数据可视化,并提供了可以显示图像、模型、表格、路径等信息的插件,我们可以利用这些插件更为直观的理解数据。让这些插件运行的前提是,Rviz已经获得了所需要的数据,然后对数据进行处理以完成可视化的渲染。
Gazebo是一个三维物理仿真平台,我们可以在gazebo中免费创建一个模拟的机器人世界,不仅可以仿真机器人的运动功能,还可以仿真机器人的传感器数据。而这些数据就可以放到rviz中显示,所以使用gazebo的时候,经常也会和rviz配合使用。精心设计的模拟器可以快速测试算法,设计机器人,执行回归测试,并使用真实场景训练AI系统。Gazebo提供了在复杂的室内和室外环境中准确有效地模拟机器人种群的能力。强大的物理引擎、高质量的图形以及方便的程序化和图形界面触手可及。当我们手上没有机器人硬件或实验环境难以搭建时,仿真往往是非常有用的利器。
综上,如果你手上已经有机器人硬件平台,并且在上边可以完成需要的功能,用rviz应该就可以满足开发需求。如果你手上没有机器人硬件,或者想在仿真环境中做一些算法、应用的测试,gazebo+rviz应该是你需要的。
Meshlab是一款查看点云的软件,它可打开以.ply为后缀的文件。
(如果安装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 Wikihttp://wiki.ros.org/rviz/UserGuide
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
如果看到以下错误:
$ sudo apt-get install gazebo11
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gazebo11
您要查找的 Gazebo 版本可能在您使用的操作系统版本上不受支持。例如,在 Ubuntu Xenial (16.04) 上安装 gazebo11 将产生上述错误。提示:看看 Gazebohttp://gazebosim.org/#status 的"项目状态"部分,每个版本旁边都是支持的ubuntu版本和ROS版本。
终端输入gazebo后会打开如下页面,则安装成功:
sudo apt-get install meshlab
终端输入meshlab可打开如下页面: