一、Ubuntu和ROS版本的对应关系

Ubuntu 和 ROS 都存在不同的版本,其对应关系如下:

:如果Ubuntu版本和ROS版本不对应的话,安装就不会成功了~

笔者安装的是Ubuntu14.04 LTS(双系统,非虚拟机),所以安装的是Indigo版本,以下安装步骤均是基于Indigo版本的。

二、配置Ubuntu的软件源

由于ROS属于社区支持,还有很多其他的库并不是官方支持的,所以需要修改ubuntu的仓库属性,让其允许获得属性为“main”、“restricted”、“universe”和“multiverse”的源,可以根据这个进行配置。

配置成如下图所示即可,一般情况下,这些配置都是默认的。

下面就可以正式准备安装了!可以参考本篇文章安装,也可参考:ROS维基百科 - Indigo安装

三、设置源地址文件sources.list

设置源地址文件使电脑系统可以接受来自packages.ros.org的软件包,ROS Indigo只支持debian安装包的Saucy(13.10)和Trusty(14.04)版本,执行如下命令把ROS的源地址添加进源地址文件列表。

这里笔者选择了中国科技技术大学的镜像源:

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'

镜像文件下载

一旦添加了正确的源地址文件,操作系统就知道去哪里下载程序,并根据命令自动安装软件。

四、验证你的密钥

需要在你的系统中对ROS软件包的相关密钥进行验证,要不然在安装的时候会通不过系统的安全认证而无法安装。

$ wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

五、安装

首先,确认你的ubuntu系统的源列表是最新的:

$ sudo apt-get update && sudo apt-get install dpkg

然后开始正式安装!按照安装包的大小和功能,有三个安装包可以选择:

桌面版完全安装(推荐):包括ROS、rqt环境、rviz三维仿真环境、通用机器人库、2D/3D仿真器、导航和2D/3D感知功能。

$ sudo apt-get install ros-indigo-desktop-full

桌面版普通安装:包括包括ROS、rqt环境、rviz三维仿真环境、通用机器人库功能。

$ sudo apt-get install ros-indigo-desktop

基础ROS安装:仅包括ROS、编译和通信函数库,没有GUI工具。

$ sudo apt-get install ros-indigo-ros-base

六、始化rosdep

在使用ROS之前,还需要初始化rosdep,即ROS的软件包依赖项。rosdep使我们能够非常轻松地为我们想要编译和想在ROS上运行的一些核心部件安装系统依赖项。

$ sudo rosdep init
$ rosdep update

七、设置环境变量

如果ROS的环境变量能够在每个新的终端(shell)建立的时候自动地添加进我们的bash进程,那将是非常方便的。

$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
//为了使环境变量设置立即生效,在终端中输入:
$ source ~/.bashrc

如果你安装不止一个ROS的版本,~/.bashrc必须只更新你目前所使用的版本的setup.bash。

八、获得rosinstall

rosinstall是一个单独发行的在ROS经常用到的命令行工具。它使你能够轻易地使用一个命令就下载很多ROS的源文件包。在ubuntu上执行如下命令安装此工具:

$ sudo apt-get install python-rosinstall

至此,ROS的安装正式宣告结束,下面运行一个鼠标控制海龟移动的demo来验证ROS是否成功安装好了。

九、ROS测试

第一步,打开一个终端测试roscore是否能正常启动,使用ROS必须保证roscore运行:

$ roscore

第二步,新开启一个终端,执行以下命令:

$ rosrun turtlesim turtlesim_node

第三步,再开启一个终端,执行以下命令:

$ rosrun turtlesim turtle_teleop_key

如下图所示:

十、卸载ROS

步骤方法:

1、首先卸载包

sudo apt-get purge ros-*

2、然后卸载依赖包

sudo apt-get autoremove

参考:

ROS维基百科 - Indigo安装

ROS学习笔记一:ROS安装与测试的更多相关文章

  1. ROS学习笔记七:在ROS中使用USB摄像头

    下面是一些USB摄像头的驱动(大多数摄像头都支持uvc标准): 1 使用软件库里的uvc-camera功能包 1.1 检查摄像头 lsusb ----------------------------- ...

  2. ROS学习笔记1-引言

    该学习笔记参考ROS官方wiki的内容,见:http://wiki.ros.org/ROS/Introduction 什么是ROSROS的全称是Robot Operating System,即机器人操 ...

  3. PHP学习笔记----IIS7下安装配置php环境

    原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...

  4. openresty 学习笔记一:环境安装

    openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...

  5. ROS学习笔记(三)——ROS安装

    安装指南: indigo安装 http://wiki.ros.org/indigo/Installation/Ubuntu 中文参考教程: http://wiki.ros.org/cn 1.配置Uba ...

  6. ROS学习笔记八:基于Qt搭建ROS开发环境

    1 前言 本文介绍一种Qt下进行ROS开发的完美方案,使用的是ros-industrial的Levi-Armstrong在2015年12月开发的一个Qt插件ros_qtc_plugin,这个插件使得Q ...

  7. ROS学习笔记十二:使用gazebo在ROS中仿真

    想要在ROS系统中对我们的机器人进行仿真,需要使用gazebo. gazebo是一种适用于复杂室内多机器人和室外环境的仿真环境.它能够在三维环境中对多个机器人.传感器及物体进行仿真,产生实际传感器反馈 ...

  8. ROS学习笔记五:创建和使用ROS msg和srv

    1 msg和srv简介 1.1 msg文件 msg文件就是一个简单的text文件,其中每行有一个类型和名称,可用的类型如下: int8, int16, int32, int64 (plus uint* ...

  9. ROS学习笔记二:ROS系统架构及概念

    本文主要是了解ROS的系统架构.文件夹结构以及工作所需的核心文件. ROS系统架构主要被设计和划分为三部分,每一部分代表一个层级的概念:文件系统级(The filesystem level).计算图级 ...

  10. ROS学习笔记一(ROS的catkin工作空间)

    在安装完成ROS indigo之后,需要查看环境变量是否设置正确,并通过创建一个简单的实例来验证ROS能否正常运行. 1 查看环境变量 在ROS的安装过程中,我们执行了如下命令:(此命令就是向当前用户 ...

随机推荐

  1. DTrace scripts for Mac OS X

    http://www.cnblogs.com/Proteas/p/3727297.html http://dtrace.org/blogs/brendan/2011/10/10/top-10-dtra ...

  2. CentOS 7.0安装Zimbra 8.6邮件服务器

    Zimbra的核心产品是Zimbra协作套件(Zimbra Collaboration Suite,简称ZCS). 系统:Centos7 ip地址:192.168.127.131 安装前准备 1.关闭 ...

  3. Office WORD里插入图片,嵌入型只能显示一半怎么办

    如下图所示,公式编辑器插入的图片如果用嵌入型只能显示一半,但是改成其他方式即可全部显示   选中有问题的段落,点击设置为单倍行距即可  

  4. antd 表单验证

    antd  form 自带方法 /** * 获取 form 自带方法 * getFieldDecorator * getFieldsError * getFieldError * isFieldTou ...

  5. android KE or NE分析

    使用arm-eabi-addr2line工具跟踪Android调用堆栈 在通常的C/C++代码中,可以通过响应对内存操作不当引起的Segmentation Fault错误即信号SIGSEGV(11)做 ...

  6. iOS 开发小常识 开发笔记

    一   自定义push方法 /*  参数说明 *  controllerName : push的目标页 例:@“testcontroll”    ---注意不带.h *  isNibPage     ...

  7. 全栈JavaScript之路(十六)HTML5 HTMLDocument 类型的变化

    HTML5 扩展了 HTMLDocument, 添加了新的功能. 1.document.readState = 'loading' || 'complete'  //支持readyState 属性的浏 ...

  8. UIwebView缩放

    首先就是需要让webView去设置下可以支持缩放 [__webView setScalesPageToFit:YES]; 如果网页支持缩放只需要上面的一句就可以了.你可以加在谷歌的试一下,但是你要加在 ...

  9. Intellig Idea2017新建Web项目(tu'wen)

    1.新建新工程项目 2.选择Java 和JDK版本 3.下一步Next(默认不勾选) 4.设置Project Name ,点击More Setting图标可以折叠.展开  然后Finish 我们可以看 ...

  10. nextLine() 、nextInt()的跳过问题

    nextInt()  将输入的信息的下一个标记扫描为 int. nextLine() 此扫描器执行当前行,并返回跳过的输入信息. nextInt 会读取下面输入的 int类型的信息以回车作为结束,如果 ...