在正式的安装前,先检查下 Ubuntu 初始环境是否配置正确。
打开 Ubuntu 的设置 -> 软件与更新 -> Ubuntu软件 ->
勾选关键字universe , restricted, multiverse三项。
如图所示:
配置完成后,就可以开始安装 ROS 了,打开终端Ctrl+Alt+t
。
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
这一步配置将镜像添加到 Ubuntu 系统源列表中。
$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
公钥是Ubuntu系统的一种安全机制,也是ROS安装中不可缺的一部分。
$ sudo apt-get update
更新系统,确保自己的软件包和索引是最新的。
ROS中有很多函数库和工具,官网提供了四种默认的安装方式,当然也可以单独安装某个特 定的软件包。这四种方式包括桌面完整版安装、桌面版安装,基础版安装、单独软件包安 装。推荐安装桌面完整版安装(包含ROS、rqt、rviz、通用机器人函数库、2D/3D仿真器、导航以及2D/3D感知功能),如下:
Ubuntu 16.04安装 Kinetic 版本
sudo apt-get install ros-kinetic-desktop-full
如果你不想安装桌面完整版,你还可以尝试以下三种方式安装:
桌面版安装(包含ROS、rqt、rviz以及通用机器人函数库)
sudo apt-get install ros-kinetic-desktop
基础版安装(包含ROS核心软件包、构建工具以及通信相关的程序库,无GUI工具)
sudo apt-get install ros-kinetic-ros-base
单独软件包安装(这种安装方式在运行ROS缺少某些package依赖时会经常用到。你可以安装某个指定的ROS软件包,使用软件包名称替换掉下面的PACKAGE)
sudo apt-get install ros-kinetic-PACKAGE
例如系统提示找不到slam-gmapping,你就可以:
sudo apt-get install ros-kinetic-slam-gmapping
要查找可用的软件包,请运行:
apt-cache search ros-kinetic
软件包的依赖问题还可能出现在重复安装ROS、错误安装软件包的过程中,出现有一些软件包无法安装,例如:
下列软件包有未满足的依赖关系:ros-kinetic-desktop-full :
依赖: ros-kinetic-desktop 但是它将不会被安装;
依赖: ros-kinetic-perception 但是它将不会被安装;
依赖: ros-kinetic-simulators 但是它将不会被安装;
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
出现上述问题,有可能是自己的版本不合适不兼容造成,也可能是镜像源没有更新,具体的 设置参考软件和更新的截图。当然也有可能是其他原因,比如更新了忘记刷新环境 source 一 下,重开一个终端等等。具体的问题原因可以去搜索引擎上尝试求助解决,或者登陆ROS Wiki(ROS的百科全书)去查询解决自己的具体问题。
配置 ROS 是安装完 ROS 之后必须的工作。
$ sudo rosdep init
$ rosdep update
这一步初始化rosdep,是使用ROS之前的必要一步。rosdep可以方便在你需要编译某些源码 的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。
Ubuntu 16.04
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
注意: ROS 的环境配置,使得你每次打开一个新的终端, ROS 的环境变量都能够自动配置好,也就是添加到 bash 会话中,因为命令 source /opt/ros/kinetic/setup.bash
只在当前终端有作用,即具有单一时效性,要想每次新开一个终端都不用重新配置环境,就用 echo 语句将命令添加到 bash 会话中。
rosinstall 是 ROS 中一个独立分开的常用命令行工具,它可以方便让你通过一条命令就可以给 某个 ROS 软件包下载很多源码树。在 ubuntu 上安装此工具和其他依赖项以构建 ROS 包,请运行:
$ sudo apt install python-rosinstall python-rosinstall-generator python -wstool build-essential
至此,ROS的安装就结束了,下面测试ROS能否正常运行。
首先启动 ROS,输入代码运行 roscore :
$ roscore
如果出现下图所示,那么说明ROS正常启动了!
接着我们测试 ROS 的吉祥物–小海龟,来简单的测试 ROS 运行是否正常,同时也来体验一下 ROS 的神奇与精彩!
启动 roscore 后,重新打开一个终端窗口(Shift+Ctrl+t
),输入:
$ rosrun turtlesim turtlesim_node
你还看到一只萌萌的海龟出现在屏幕上,那么该怎么样来操纵这只小海龟呢?重新打开新的 一个终端Shift+Ctrl+t
,输入:
$ rosrun turtlesim turtle_teleop_key
将鼠标聚焦在第三个终端窗口上,然后通过键盘上的方向键,进行操作小海龟,如果小海龟正常移动,并且在屏幕上留下自己的移动轨迹,如下图。恭喜你,ROS已经成功的安装、配置并且运行!
至此,ROS的安装、配置与测试就全部结束了,下面就正式开启ROS精彩的旅程!
=================================================================
本文作为笔记查阅之用,无涉其他用途。