Ubuntu16.04环境下安装ROS kinetic

Ubuntu16.04环境下安装ROS kinetic

版权声明:
本文主要参考

  1. CSDN博主「叽叽歪歪唧唧」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/Mjing11/article/details/114336501。
  2. 官方网站wiki.ros。原文链接:
    http://wiki.ros.org/cn/kinetic/Installation/Ubuntu。

由于以上参考文献忽略了一些细节,笔者走了很多弯路才解决,所以对上述原文进行细化。

ROS简介

ROS (Robot Operating System, 机器人操作系统) 提供一系列程序库和工具以帮助软件开发者创建机器人应用软件。它提供了硬件抽象、设备驱动、库函数、可视化、消息传递和软件包管理等诸多功能。ROS遵守BSD开源许可协议。

详细安装步骤

系统基本要求

ROS Kinetic 只 支持Wily (Ubuntu 15.10), Xenial (Ubuntu 16.04)。特别需要注意版本的对应。

配置Ubuntu软件仓库

配置你的Ubuntu软件仓库(repositories)以允许使用“restricted”“universe”和“multiverse”存储库。
Ubuntu16.04环境下安装ROS kinetic

设置sources.list

打开一个终端,运行下面的命令:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

设置密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

若无法连接到密钥服务器,可以尝试替换上面命令中的 hkp://keyserver.ubuntu.com:80 为 hkp://pgp.mit.edu:80

安装

在终端中运行下面的命令,确保你的软件包索引是最新的:

sudo apt-get update

在ROS中,有很多不同的库和工具。我们提供了四种默认的配置来帮助你开始。你也可以单独安装ROS包。

  • 桌面完整版: (推荐) : 包含ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知。
sudo apt-get install ros-kinetic-desktop-full
  • 桌面版安装: 包含ROS、rqt、rviz以及通用机器人函数库。
 sudo apt-get install ros-kinetic-desktop
  • 基础版安装: (简版) 包含ROS核心软件包、构建工具以及通信相关的程序库,无GUI工具。
 sudo apt-get install ros-kinetic-ros-base
  • 单个软件包安装: 你也可以安装某个指定的ROS软件包(使用软件包名称替换掉下面的PACKAGE):
 sudo apt-get install ros-kinetic-PACKAGE

实例:sudo apt-get install ros-kinetic-slam-gmapping
通常选择完整版安装包,此步骤的快慢跟当前网速相关。

查找可用软件包,运行

apt-cache search ros-kinetic

初始化 rosdep

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

sudo rosdep init
rosdep update

目前安装过程出错主要在此步骤,原因是unbuntu16.04目前无法直接访问raw.githubusercontent.com。解决方案参见本文末尾《安装出错解决方案》。

环境配置

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

安装出错解决方案

准备工作

直接到github.com/ros/rosdistro网站下载rosdistro-master包,更名为rosdistro,并将该文件保存到文件夹\home\jiang下(\jiang对应的文件夹名请根据个人系统进行修改,以下出现\jiang的地方请执行相同操作)。另外,复制rosdistro中的rosdep文件夹到 /etc/ros/目录下备用。
Ubuntu16.04环境下安装ROS kinetic

修改相关文件

1. 修改20-default.list

在终端下执行下面的命令

sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list

20-default.list文件打开后请修改为:

 # os-specific listings first
yaml file:///home/jiang/rosdistro/rosdep/osx-homebrew.yaml osx

# generic
yaml file:///home/jiang/rosdistro/rosdep/base.yaml
yaml file:///home/jiang/rosdistro/rosdep/python.yaml
yaml file:///home/jiang/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/jiang/rosdistro/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

保存后退出

2. 修改sources_list.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

将原来的DEFAULT_SOURCES_LIST_URL注释掉,换为:

DEFAULT_SOURCES_LIST_URL = 'file:///home/jiang/rosdistro/rosdep/sources.list.d/20-default.list'
3. 修改rep3.py
 sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py

将原来的REP3_TARGETS_URL注释掉,换为:

REP3_TARGETS_URL = 'file:///home/jiang/rosdistro/releases/targets.yaml'
4. init.py
 sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py

将原来的DEFAULT_INDEX_URL注释掉,换为:

DEFAULT_INDEX_URL = 'file:///home/jiang/rosdistro/index-v4.yaml'
5. 再执行:
rosdep update

成功安装后测试

小海龟例子:
运行小海龟demo,通过键盘控制小海龟运动。记录整个实践过程。
分别打开三个终端,依次输入指令

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

鼠标放到最后打开的窗口,通过键盘的上下左右键控制它移动。

上一篇:选择性注意模型


下一篇:注解和反射