Ubuntu16.04环境下安装ROS kinetic
作者:互联网
Ubuntu16.04环境下安装ROS kinetic
版权声明:
本文主要参考
- CSDN博主「叽叽歪歪唧唧」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/Mjing11/article/details/114336501。
- 官方网站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”存储库。
设置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