ROS 版本选择和安装

声明:


本文中的内容参考了市面上绝大多数畅销的ROS书籍,本文只作个人学习记录和学习分享使用,不作任何商业用途,如有侵权请给我留言;

ROS 的版本选择


ROS 目前主要支持 Ubuntu、OSX、Android、Arch、Debian 等系统,ROS 也针对 ARM 处理器编译了核心库和部分功能包。新发布的 ROS2 也支持 Windows 系统。

目前 ROS 的主流版本主要有以下四个:
ROS的主流版本

官方推荐 ROS Kinetic KameROS Kinetic Kame 也是长期支持版本,ROS 官方称为该版本提供长达 5 年的支持和服务,并保证其与 Ubuntu 16.04 长期支持版的生命周期同步。


ROS 的安装



ROS 的安装方式

ROS 的安装主要分为软件源安装源码安装 。软件源(Repository)为系统提供了一个庞大的应用程序仓库,只需通过简单的命令即可从仓库中找到需要的软件并完成下载安装。相反,源码编译需要手动解决繁杂的软件依赖关系,适合那些对系统比较熟悉而且希望在未支持的平台上安装ROS的开发者。


软件源安装步骤

本例以软件源 安装为例,安装环境为 Ubuntu 16.04。


配置系统软件源

首先需要配置 Ubuntu 系统允许 re-stricted(不完全的自由软件)、universe(Ubuntu官方不提供支持与补丁,全靠社区支持)、multiverse(非自由软件,完全不提供支持和补丁)这三种软件源。如果没有对系统软件源做过修改,Ubuntu系统安装完毕后会默认允许以上三种软件源。Ubuntu 软件中心的软件源配置界面如下:
配置系统软件源


添加 ROS 软件源

sources.list 是 Ubuntu 系统保存软件源地址的文件,位于 etc/apt 目录下。我们需要将 ROS 的软件源地址添加到该文件中,确保后续安装可以正确找到 ROS 相关软件的下载地址。
如下所示,添加 ROS 官方软件源镜像:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

也可以使用国内镜像源,国内镜像源下载速度一般比 ROS 官方的快的多,以下是可供选择的国内镜像源;

// 中国科学技术大学(USTC)镜像源:
$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

// 中山大学(Sun Yat-Sen University)镜像源:
$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirror.sysu.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

// 易科机器人实验室(ExBot Robotics Lab)镜像源:
$ sudo sh -c '. /etc/lsb-release && echo "deb http://ros.exbot.net/rospackage/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

添加密钥

安装 ROS 软件包之前,你必须有它的授权密钥。首先在下列网址下载:

wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key

如果下载成功, 当前目录下会有一个较小的名为 ros.key 的二进制文件。接下来, 用这个密钥配置 apt 软件包管理系统:

sudo apt-key add ros.key

完成该步之后(apt-get 提示 “ok”),可以放心删除 ros.key


也可以直接通过下面的命令添加密钥(但是我试了好像不成功):

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

下载软件包列表

一旦配置完软件版本仓库(repositories)之后,可以用下列命令得到最新的可用软件包列表:

sudo apt-get update

需要注意的是,这会更新你系统中所有的软件版本仓库,而不仅仅是新添加的 ROS 库。


安装 ROS 软件包

ROS系 统非常庞大,包含众多功能包、函数库和工具,所以ROS官方为用户提供了多种安装版本:

  • 桌面完整版安装(Desktop-Full):这是最为推荐的一种安装版本,除了包含ROS的基础功能(核心功能包、构建工具和通信机制)外,还包含丰富的机器人通用函数库、功能包(2D/3D感知功能、机器人地图建模、自主导航等)以及工具(rviz可视化工具、gazebo仿真环境、rqt工具箱等)。命令为:
$ sudo apt-get install ros-kinetic-desktop-full

  • 桌面版安装(Desktop):该版本是完整安装的精简版,去掉了机器人功能包和部分工具,仅包含ROS基础功能、机器人通用函数库、rqt工具箱和rviz可视化工具。安装命令为:
$ sudo apt-get install ros-kinetic-desktop

  • 基础版安装(ROS-Base):基础版精简了机器人通用函数库、功能包和工具,仅保留了没有任何GUI的基础功能(核心功能包、构建工具和通信机制)。因此该版本软件的规模最小,也是ROS需求的“最小系统”,非常适合直接安装在对性能和空间要求较高的控制器之上,为嵌入式系统使用ROS提供了可能。安装命令如下:
$ sudo apt-get install ros-kinetic-ros-base

  • 独立功能包安装(Individual Package):无论使用以上哪种安装方式,都不可能将ROS社区内的所有功能包安装到计算机上,在后期的使用中会时常根据需求使用如下命令安装独立的功能包:
$ sudo apt-get install ros-kinetic-PACKAGE

  • 其中PACKAGE代表需要安装的功能包名,例如安装机器人SLAM地图建模gmapping功能包时,可使用如下命令安装:
$ sudo apt-get install ros-kinetic-slam-gmapping

安装 turlesim 功能包

turlesim 功能包是一个简单的仿真器,它能帮我们理解 ROS 的工作机制。安装命令如下:

sudo apt-get install ros-indigo-turtlesim

为系统设置rosdep

rosdep 是 ROS 自带的工具,主要功能是为某些功能包安装依赖关系,同时某些ROS核心功能报必须用到的工具,这个初始化步骤是一次性的,一旦 ROS 正常工作,多数用户不再需要访问 rosdep。完成上述安装步骤之后,需要使用如下命令进行初始化操作:

$ sudo rosdep init
$ rosdep update

注意:在线文档中偶尔会提到一个叫做 rosinstall 的工具,使用它可以从源码安装 ROS 系统。本书中我们需要的软件在 Ubuntu deb 软件源中都包含了,所以可以不用 rosinstall 。
rosdep update 会在你的账户中初始化 rosdep 系统,该命令在你的根目录下保存一些文件,文件夹名为 .ros,因为是初始化,这个命令只需要运行一次。该命令是在普通用户下运行。


设置环境变量

ROS 已经成功安装到计算机中,默认在 /opt 路径下。由于需要在终端频繁使用 ROS 命令,所以最好对环境变量进行简单的设置,ROS 是通过环境变量找到命令所在的位置。Ubuntu 默认使用的终端是 bash,在 bash 中设置 ROS 环境变量如下:

$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc

如果你使用的终端是 newBash,则需将以上命令中 bash 都修改为 newBash:

$ echo "source /opt/ros/kinetic/setup.zsh" >> ~/.newBash
$ source ~/.newBash

如果存在多个 ROS 版本,那么怎样确定当前终端使用的命令是哪个 ROS 版本呢?可以通过如下命令进行设置:

$ source /opt/ros/ROS-RELEASE/setup.bash

其中 ROS-RELEASE 代表希望使用的 ROS 版本(如 lunar、kinectic,indigo,hydro,groovy)等。


注意: 以上的方法只能修改当前终端,如果再重新打开一个终端,还是会默认使用 bash 或 newBash 的配置文件中设置的环境变量。终极办法就是打开 ~/.bashrc~/.newBash 文件,找到设置环境变量的命令,然后修改对应的 ROS 版,保存退出,此后重新打开所有终端就没问题了。


完成安装

到这一步就完成了 ROS 的安装了,现在在终端输入:

$ roscore

可以看到ROS 有没有运行起来:
ROS启动


安装 rosinstall

rosinstall 也是 ROS 一个常用的工具,可以下载和安装 ROS 中的功能包程序,建议安装上:

$ sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
  • 11
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值