正如我们已经讨论过的,有多种ROS发行版可供下载和安装,因此根据我们的需要选择正确的发行版可能会令人困惑。以下是选择发行版时的常见问题和答案:
·问:我应该选择哪个发行版以获得最大支持?
答:如果你希望获得最大的支持,请选择一个LTS版本。最好选择次新的LTS发行版。
·问:如果我想要体验ROS的最新特性,那么应该选择哪一个版本?
答:请选择最新版本,但可能无法在发布后立即获得最新的完整功能包,一般可能要几个月后才能得。这是因为将完整的官方功能包从上一个发行版迁移到新的发行版需要时间。
本书将主要基于两个LTS发行版:ROS Kinetic,一个稳定的发行版;ROS Melodic,目前最新的发行版。本书后面的章节将使用ROS Melodic。
访问ROS安装网站( http://wiki.ros.org/ROS/Installation ),其中列出了最新的ROS发行版,如图1.13所示。
图1.13 ROS网站显示的最新发行版
单击ROS Kinetic或ROS Melodic对应的图片,将会跳转至对应发行版的完整安装说明页面。
下面我们将对最新ROS发行版的安装步骤进行说明。
我们将在Ubuntu 18.04上从ROS功能包仓库安装ROS Melodic。仓库需要具有预先构建的.deb格式的ROS二进制文件。为了能够使用ROS仓库中的功能包,我们必须首先配置Ubuntu的仓库选项。
读者可以从 https://help.ubuntu.com/community/Repositories/Ubuntu 查询不同类型的Ubuntu仓库的详细信息。
可以按以下步骤进行仓库的配置:
1)在Ubuntu的搜索栏中搜索Software & Updates,如图1.14所示。
图1.14 Ubuntu的Software & Updates界面
2)单击Software & Updates并启用所有的Ubuntu仓库(即勾选所有仓库前的方框),如图1.15所示。
图1.15 Ubuntu的Software & Updates中心
至此我们已经完成了仓库的设置,下面继续进行下一步。
下一步是允许获取来自ROS仓库服务器的ROS功能包packages.ROS.org的访问权。为此,我们必须将ROS仓库服务器的详细信息输入source.list中,该列表位于/etc/apt/。
执行以下命令来完成上述过程:
完成以后,我们就可以设置密钥了。
在向Ubuntu中添加新的仓库时,需要添加相应的密钥,以确保其可信性,并能够验证功能包的来源。因此,在开始安装ROS之前,应将以下密钥添加到Ubuntu:
完成上述步骤后,就可以从授权的服务器上下载ROS并安装了。
现在,我们准备在Ubuntu上安装ROS功能包。安装步骤如下:
1)更新Ubuntu上的功能包列表,即执行以下命令来更新列表:
执行上述命令后,系统将从source.list中的服务器获取所有功能包。
2)获取功能包列表后,使用以下命令安装整个ROS功能包套件:
上述命令将自动安装ROS中的绝大多数重要功能包。为了顺利完成安装,至少要在Ubuntu根分区中预留15GB的空间。
在ROS中,rosdep工具能够帮助用户在编译功能包时方便地安装依赖项,同时,该工具对于ROS中的某些核心组件而言也是必需的。
执行以下命令以初始化rosdep:
初次执行上述命令时,将会在/etc/ros/rosdep/sources.list.d/目录下创建一个名为20-default.list的文件,文件内容为对应ros-distros的链接列表。
完成前面的步骤之后,我们就已经完成了ROS的安装过程,下面我们需要对ROS环境进行设置。
安装ROS主要涉及各种脚本和可执行文件,安装目录为/opt/ros/<ros_version>。
为了访问这些命令和脚本,我们需要向Ubuntu终端添加ROS环境变量。相关操作很简单,只需要通过source命令将相关设置文件进行配置即可:
但是,为了在多个终端中获得ROS环境,我们应该将命令添加到位于主文件夹中的.bashrc脚本中。这样每次打开新终端时,都将读取.bashrc脚本,从而加载ROS环境变量,具体操作为执行以下命令:
我们可以在同一个Ubuntu操作系统中安装多个ROS版本。如果读者安装了多个版本的ROS,则可以通过改变上述命令中的发行版名称来切换使用不同版本的ROS。
在安装过程的最后,我们将安装名为rosinstall的ROS命令,用来为特定的ROS功能包安装源代码树。该工具基于Python,读者可以使用以下命令安装它:
至此,我们已经完成了ROS的安装。只需运行以下命令检查安装是否成功:
·打开一个终端窗口,运行roscore命令:
·打开新的终端窗口,运行turtlesim节点:
如果上述安装过程无误,则执行上述命令将出现图1.16所示的界面。
图1.16 turtlesim节点的GUI及显示位姿信息的终端窗口
读者可以尝试重启几次turtlesim节点,将会看到外形不同的乌龟形象。如果读者能够看到turtlesim节点的运行,则表明已经在Ubuntu中成功安装了ROS。下面我们将介绍在虚拟环境VirtualBox中设置ROS的过程。