ROS入门笔记(二):ROS安装与环境配置及卸载(重点)

[TOC]

1 ROS安装步骤

1.1 ROS版本

ROS目前只支持在Linux系统上安装部署, 它的首选开发平台是Ubuntu。

发布时间 ROS版本 Ubuntu版本
2017.5 Lunar Loggerhead Ubuntu 17.04
2016.5 Kinetic Kame Ubuntu 16.04
2015.5 Jade Turtle Ubuntu 15.04
2014.7 Indigo lgloo Ubuntu 14.04
2013.9 Hydro Medusa Ubuntu 12.04
2012.12 Groovy Galapagos Ubuntu 12.04

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

笔者使用的平台是Ubuntu 16.04, ROS版本是Kinetic。

说明:Ubuntu官方下载网址https://www.ubuntu.com/download/desktop

1.2 确定Ubuntu版本号

在终端中输入:

cat /etc/issue

1.3 安装ROS

1.3.1 Ubuntu初始环境配置

打开 Ubuntu的设置 -> 软件与更新 -> Ubuntu软件 ->勾选关键字 universe , restricted , multiverse 三项,和下载源。 如图所示:

以上配置完成后, 就可以正式开始安装ROS了, 打开终端。

1.3.2 ①添加源地址文件sources.list

  • 添加源地址文件使电脑系统可以接受来自packages.ros.org的软件包;
  • 增加下载源(增加ubuntu版的ros数据仓库,即下载源)(通用指令适合任何版本的ros)
  • 执行如下命令将镜像添加到Ubuntu系统源列表中 :
$ 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'

本人选择了中国科技大学的镜像源,可以保证下载速度。

**注:**强烈建议使用国内或者新加波的镜像源,这样能够大大提高安装下载速度。

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

1.3.3 ②添加密钥(key)

公钥是Ubuntu系统的一种安全机制, 也是ROS安装中不可缺的一部分。 不然在安装的时候会通不过系统的安全认证而无法安装。

方法一

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

方法二

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

**寻找有效公钥 **,官网:http://wiki.ros.org/kinetic/Installation/Ubuntu

1.3.4 ③安装ROS

$ sudo apt-get update           # 更新系统, 确保自己的Debian软件包和索引是最新的。
$ sudo apt-get install ros-kinetic-desktop-full # 桌面完整版安装(推荐)

简介:

重点:安装出现的问题及解决方法 http://wiki.ros.org/ROS/

ROS中有很多函数库和工具, 官网提供了四种默认的安装方式, 当然也可以单独安装某个特定的软件包。 这四种方式包括桌面完整版安装、 桌面版安装, 基础版安装、 单独软件包安装。

Ubuntu 16.04安装Kinetic版本

1)桌面完整版安装(推荐): 包含ROS、 rqt、 rviz、 通用机器人函数库、 2D/3D仿真器、 导航以及2D/3D感知功能 :

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

2)桌面版安装:包含ROS、 rqt、 rviz、通用机器人函数库

$ sudo apt-get install ros-kinetic-desktop

3)基础版安装: 包含ROS核心软件包、 构建工具、通信相关的程序库, 无GUI工具

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

4)单个软件包安装:这种安装方式在运行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

1.3.5 ④初始化rosdep

在使用ROS之前,还需要初始化rosdep,即ROS的软件包依赖项。。 rosdep可以方便在你需要编译某些源码的时候为其安装一些系统依赖, 同时也是某些ROS核心功能组件所必需用到的工具。

方法一:

$ sudo rosdep init && rosdep update

方法二:

$ sudo rosdep init
$ rosdep update

1.3.6 ⑤设置环境变量

$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc # 为了使环境变量设置立即生效

注意: ROS的环境配置, 使得你每次打开一个新的终端, ROS的环境变量都能够自动配置好, 也就是添加到bash会话中, 因为命令 source /opt/ros/kinetic/setup.bash 只在当前终端有作用, 即具有单一时效性, 要想每次新开一个终端都不用重新配置环境, 就用echo语句将命令添加到bash会话中 。

可能出现的问题:

https://answers.ros.org/question/247285/rosdep-update-errorthe-read-operation-timed-out/

  • 如果你使用 zsh,替换其中的 bash, 你可以用以下命令来设置你的shell:
$ echo "source /opt/ros/kinetic/setup.zsh" >> ~/.zshrc
$ source ~/.zshrc

1.3.7 ⑥安装rosinstall

rosinstall 是ROS中一个独立分开的常用命令行工具, 它可以方便让你通过一条命令就可以给某个ROS软件包下载很多源码树。 在ubuntu上安装这个工具, 请运行:

$ sudo apt-get install python-rosinstall

至此, ROS的安装就结束了, 下面测试ROS是否成功安装好。

1.4 ROS安装完成

在Ubuntu中,打开文件夹找到 Computer--opt--ros--kinetic

①bin文件夹:放置一些具体的可执行的程序,在ros的bin文件夹下面保存的都是ros系统和一些功能包给我们提供的可以直接执行的命令,可以在终端下面执行这些命令。

注:在执行bin文件夹下面的命令时,必须先设置环境变量,不然系统无法找到bin文件夹。

②etc文件夹:ros相关的配置文件(用的相对少)

③include文件夹:包含所有通过命令行、通过终端安装的功能包的代码头文件。

④lib文件夹:包含通过终端安装功能包的可执行程序,也就是节点。功能包中的节点,通过运行节点,来启动相应功能包里面的功能。

⑤share文件夹:里面有很多通过终端安装的功能包,保存的是功能包里面接口的一些具体信息,接口包含话题、服务、action等。

1.5 测试ROS

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

$ roscore                 # 启动 ROS Master

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

$ rosrun turtlesim turtlesim_node      # 看到一只萌萌的海龟出现在屏幕上

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

$ rosrun turtlesim turtle_teleop_key    # 鼠标在第三个终端窗口上,通过方向键操作小海龟

2 ROS卸载步骤

第一步,卸载功能包

sudo apt-get purge ros-*           # *功能包的名字

第二步,卸载包的依赖包

sudo apt-get autoremove

3 附:检查脚本配置环境

如果你在查找和使用ROS软件包方面遇到了问题,请确保你已经正确配置了脚本环境。一个检查的好方法是确保你已经设置了像ROS_ROOTROS_PACKAGE_PATH这样的环境变量,可以通过以下命令查看:

$ printenv | grep ROS

如果发现没有配置,那这个时候你就需要 'source' 某些 'setup.*sh’文件了。

ROS会帮你自动生成这些‘setup.*sh’文件,通过以下方式生成并保存在不同地方:

  • 通过类似apt的软件包管理器安装ROS软件包时会生成setup.*sh文件。
  • 编译安装 catkin 软件包时自动生成。

4 参考资料

http://wiki.ros.org/kinetic/Installation/Ubuntu

ROS入门笔记(二):ROS安装与环境配置及卸载(重点)的更多相关文章

  1. Git 笔记二-Git安装与初始配置

    git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...

  2. spring boot入门笔记(四) - 多环境配置、加载顺序、静态资源映射

    1.多环境配置 先描述下以前的开发流程:从SVN把项目下载到本地,各种修改配置文件,启动成功:完成功能后上传到公司的测试服务器,修改各种配置文件,启动成功:最后到上线的日子里,把新功能中涉及到的文件打 ...

  3. PyTorch深度学习入门笔记(一)PyTorch环境配置及安装

    @ 目录 一.工具安装 1.1 Anaconda 安装 1.2 Pytorch安装 二.编辑器安装 2.1 Pycharm安装 2.2 Jupyter安装 OS: ubuntu 20.04(虚拟机) ...

  4. React Native 入门笔记一 -- Windows下基本环境配置

    一.准备工作 首先,需要安装nodejs,可以从nodejs官网下载,注意,React Native 要求node版本在4.0或以上:否则会出错,我建议把node版本升到最新版本,防止后面出现各种莫名 ...

  5. hadoop3自学入门笔记(1)——虚拟机安装和网络配置

    前言 年过30惶惶不安,又逢疫情,还是不断学习,强化自己的能力.hadoop的视频和书籍在15年的时候就看过,但是一直没动手实践过,要知道技术不经过实战,一点提升也没有.因此下定决心边学边做,希望能有 ...

  6. Yeoman入门之安装及环境配置

    Yeoman入门之安装及环境配置 http://blog.csdn.net/panlingfan/article/details/27345037 http://www.nodejs.orgYEOMA ...

  7. Jmeter入门(1)- 什么是Jmeter以及Jmeter的安装和环境配置

    一. Jmeter简介 Jmeter时Apacha公司使用Java平台开发的一款测试工具 二. Jmeter可以做什么 Jmeter可以用来做接口测试.性能测试.压力测试.数据库测试.Java程序测试 ...

  8. Node.js安装及环境配置之Windows篇

    Node.js安装及环境配置之Windows篇   一.安装环境 1.本机系统:Windows 10 Pro(64位)2.Node.js:v6.9.2LTS(64位) 二.安装Node.js步骤 1. ...

  9. QT的安装及环境配置

    QT的安装及环境配置 一.windows的下QT的安装及环境配置 (一)从框架安装程序中安装 步骤: 准备:下载QT库,下载指定版本的MINGW,QT IDE 1.下载QT安装文件如:qt-win-o ...

随机推荐

  1. 深入理解JS中的对象(一)

    目录 一切皆是对象吗? 对象 原型与原型链 构造函数 参考 1.一切皆是对象吗? 首先,"在 JavaScript 中,一切皆是对象"这种表述是不完全正确的. JavaScript ...

  2. ActiveMQ 事务、集群、持久订阅者、ActiveMQ监控

    JMS介绍 JMS是什么? JMS的全称Java Message Service,既Java消息服务. JMS是SUN提供的旨在统一各种MOM(Message-Oriented Middleware) ...

  3. 【Scala】看代码,初步了解Apply方法

    class ApplyTest(val name:String) { /** * apply源码 * def apply(x: Int, xs: Int*): Array[Int] = { * val ...

  4. node.js开发指南系列(1)partial is not defined

    ejs视图引擎中使用partial函数: <ul><%- partial('listitem', items) %></ul> 报错:partial is not ...

  5. xml(4)

    schema约束 dtd语法:<!ELEMENT 元素名称 约束> schema符合xml的语法,xml语句 一个xml中可以有多个schema,多个schema用名称空间区分(类似jav ...

  6. [csu1392]YY一下

    题意:给定x,求有多少个10^8以内的数满足这个数乘以x以后,最高位到了最低位.设最高位的数字和剩余长度,列等式推理即可. #pragma comment(linker, "/STACK:1 ...

  7. 第六次java上机作业

    .编写一个简单程序,要求数组长度为5,静态赋值10,,,,,在控制台输出该数组的值. package mm; public class Test { public static void main(S ...

  8. JS的数据类型判断函数、数组对象结构处理、日期转换函数,浏览器类型判断函数合集

    工具地址:https://github.com/BothEyes1993/bes-jstools bes-jstools 100多个基础常用JS函数和各种数据转换处理集合大全,此工具包是在 outil ...

  9. Redis 6.0 多线程重磅发布!!!

    Redis 6.0在5.2号这个美好的日子里悄无声息的发布了,这次发布在IT圈犹如一颗惊雷一般,因为这是redis最大的一次改版,首次加入了多线程. 作者Antirez在RC1版本发布时在他的博客写下 ...

  10. unittest详解 跳过用例的执行(skip)

    在执行测试用例时,有时候有些用例是不需要执行的,那我们怎么办呢?难道删除这些用例?那下次执行时如果又需要执行这些用例时,又把它补回来?这样操作就太麻烦了. unittest提供了一些跳过指定用例的方法 ...