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. webpack-基础知识

    一.webpack介绍 webpack是一个前端模块化工具,简单解释:webpack就是处理多个文件,根据设置的规则,对文件进行合并和修改. 正式说:webpack是一个模块化打包工具.从入口模块出发 ...

  2. 新书《OpenShift云原生架构:原理与实践》第一章第三节:企业级PaaS平台OpenShift

    近十年来,信息技术领域在经历一场技术大变革,这场变革正将我们由传统IT架构及其所支撑的臃肿应用系统时代,迁移至云原生架构及其所支撑的敏捷应用系统时代.在这场变革中,新技术的出现.更新和淘汰之迅速,以及 ...

  3. Redis 学习笔记(一) 字符串 SDS

    SDS 简单动态字符串. SDS的结构: struct sdshdr{ int len;//记录BUF数组中已使用字节的数量 ,等于SDS所八寸字符串的长度 int free;//记录BUF数组中未使 ...

  4. STM32 Cube之旅-尝试新的开发方式

    尝试使用Cube进行一些开发学习,这里对此做一个梗概,先有一个全面的了解. 文章目录 Cube全家桶 CubeMX CubeIDE CubeProg 结语 Cube全家桶 曾几何时,ST刚推出Cube ...

  5. python 基础知识3-列表元祖

    1.列表增. # append 追加,给列表的最后面追加一个元素 li = ['alex','wufa','太白','大白'] li.append('教师') li.append(1) print(l ...

  6. vue组件中的“:”、“@”、“.”属性

    冒号属性 :是指令 v-bind 的缩写,是为了动态绑定数据,用于响应式地更新 HTML 特性. 加了冒号,后面是变量或表达式:不加冒号的是字符串. 如图:将Home组件中的 probe-type 的 ...

  7. ip变动时 wordpress 需要修改一个东西。

    搞了大半天,还把mysql 重装了一遍,装的过程中还有这样那样的问题.直到今天总算把网页搞正常了. 主机从6楼搬下来以后,ip就变了.但是很奇怪,用新ip 去访问,能访问,但总觉得很卡的样子.然后会跳 ...

  8. 关于web标准

    从我去年接触前端,到现在,我似乎都没有特意去研究过web标准.我只知道传统上推崇结构样式行为分离,js.css.html各司其职, 不推荐在文档的节点上写类似<p onclick=“fn()”& ...

  9. scrapy框架之CrawlSpider全站自动爬取

    全站数据爬取的方式 1.通过递归的方式进行深度和广度爬取全站数据,可参考相关博文(全站图片爬取),手动借助scrapy.Request模块发起请求. 2.对于一定规则网站的全站数据爬取,可以使用Cra ...

  10. redis主从同步及手动处理故障

    redis主从同步 redis主库机器故障,手动切换主从库