ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Ubuntu16.04环境下安装ROS kinetic

2021-03-20 17:05:52  阅读:232  来源: 互联网

标签:Ubuntu16.04 ROS sudo yaml rosdep rosdistro kinetic ros


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”存储库。
图1

设置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/目录下备用。
在这里插入图片描述

修改相关文件

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

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

标签:Ubuntu16.04,ROS,sudo,yaml,rosdep,rosdistro,kinetic,ros
来源: https://blog.csdn.net/qq_42279103/article/details/115028390

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有