IT-cute

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 

image-20200325180821296

1.3 安装ROS

1.3.1 Ubuntu初始环境配置

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

image-20200326014808792

以上配置完成后, 就可以正式开始安装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

image-20200320174255703

①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    # 鼠标在第三个终端窗口上,通过方向键操作小海龟

image-20200326021020935

image-20200325220233839

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

相关文章: