在 Ubuntu 16.04 安装ROS Kinetic 教程及问题解析

在 Ubuntu 16.04 安装ROS Kinetic 教程及问题解析
ROS对Ubuntu版本有严格限制,安装前应注意版本对应。本文教程版本对应为:ROS Kinetic + Ubuntu 16.04。

以下安装教程翻译自ROS官方文档:http://wiki.ros.org/kinetic/Installation/Ubuntu

一、安装教程
1、配置Ubuntu软件存储库
配置你的 Ubuntu 软件存储库(repositories) 以允许 “restricted”、“universe” 和 "multiverse"这三种安装模式。

2、添加ROS软件源
可以指定官方源下载ROS:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

对国内的小伙伴来说,官方源下载速度很慢,大概只有十几KB/S。ROS的官方文档给出了国内的两种镜像源:
2.1 配置中科大源:

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'

2.2 配置清华源:

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

3、添加ROS密钥

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

如果出现配置错误可以使用以下两条命令之一再设置一次密钥:

sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

4、安装
首先,确保你的Debian软件包索引是最新的:

sudo apt-get update  && sudo apt-get upgrade

根据需要在下面三选一:

  1. 桌面 - 完全安装:(推荐):ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知
sudo apt-get install ros-kinetic-desktop-full
  1. 桌面安装: ROS,rqt,rviz和机器人通用库
sudo apt-get install ros-kinetic-desktop
  1. ROS-Base : ( Bare Bones) ROS包,构建和通信库。没有GUI工具
sudo apt-get install ros-kinetic-ros-base

安装完成后如果要查找可用软件包,可以运行:

apt-cache search ros-kinetic

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

sudo rosdep init
rosdep update

在配置sudo rosdep init时可能出现以下错误:

返回:
ERROR:cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down

在 Ubuntu 16.04 安装ROS Kinetic 教程及问题解析_第1张图片
解决办法:
在终端依次输入以下命令:

sudo c_rehash /etc/ssl/certs
sudo -E rosdep init

在 Ubuntu 16.04 安装ROS Kinetic 教程及问题解析_第2张图片
此处的错误解决办法及引用图片转载自**鸡蛋饼小王子**的博客:https://blog.csdn.net/luvalluo/article/details/78745677

6、环境配置
如果每次打开一个新的终端时ROS环境变量都能够自动配置好(即添加到bash会话中),那将会方便很多:

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

如果你安装有多个ROS版本, ~/.bashrc 必须只能 source 你当前使用版本所对应的 setup.bash。

7、 构建工厂依赖
到目前为止,你已经安装了运行核心ROS包所需的内容。为了创建和管理自己的ROS工作区,有各种各样的工具和需求分别分布。例如:rosinstall是一个经常使用的命令行工具,它使你能够轻松地从一个命令下载许多ROS包的源树。
要安装这个工具和其他构建ROS包的依赖项,请运行:

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

至此ROS已经安装完毕,我们可以测试一下是否成功。

二、ROS小乌龟测试

//打开新窗口
roscore
//另开新窗口
rosrun turtlesim turtlesim_node __name:=my_turtle //改变名字 my_turtle
//发送一条消息给turtlesim,告诉它以2.0大小的线速度和1.8大小的角速度开始移动。
rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'
//rostopic pub -r 1命令    一个稳定的频率为1Hz的命令
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'

此处测试所用程序转载自**Dong dong**的博客:
https://blog.csdn.net/qq_25564281/article/details/76573762

上述小乌龟测试是通过命令来控制的,我们也可以通过键盘来控制小乌龟的移动测试ROS是否安装成功。

sudo apt-get install ros-kinetic-turtlesim 

然后再打开三个不同的终端,分别输入命令:

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

然后就可以用键盘控制小乌龟移动了,效果如图:
在 Ubuntu 16.04 安装ROS Kinetic 教程及问题解析_第3张图片
此处测试小乌龟程序及图片转自**MartianCoder**的博客:
https://blog.csdn.net/huoxingrenhdh/article/details/83381200

三、可能出现的其他错误
我自己在安装ROS时还碰到了以下错误,在此也一并列出,希望可以对你有所帮助。
1、无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)。

该问题的解决办法请参考**西山枫叶**的博客:
https://blog.csdn.net/wem603947175/article/details/82631321

2、在初始化rosdep时可能出现无法定位软件包的问题

此处问题可能时软件源的问题,更换一个软件源即可(因为我之前是用的中科大源,一直都存在这个问题,后来换了清华源,问题就解决了)。此处问题可能只适用于部分群体,具体原因我不太清楚,还望各位大神给出详解。

此问题的解决办法还可参考**不忘初心_ni**的博客:
https://blog.csdn.net/zuyuhuo6777/article/details/81253666

你可能感兴趣的:(在 Ubuntu 16.04 安装ROS Kinetic 教程及问题解析)