Ubuntu 16.04上安装ROS Kinetic

36 篇文章 7 订阅

由于个人需要用到Ubuntu16.04,所以在笔记本上安装了Ubuntu16.04的双系统,目前系统中就安装了opencv3.2.0,然后现在开始安装ROS。Ubuntu16.04对应的ROS版本为ROS knietic版本,需要注意
1、设置软件源:sources.list以及密匙
配置你的电脑使其能够安装来自 packages.ros.org的软件包。目前最新版本的 ROS Kinetic 只支持Ubuntu 15.10和 Ubuntu 16.04 。
在终端输入:

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

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

这里的sources.list以及密匙来自于ROS官网,大概是一年一更新,所以如果想用最新的sources.list以及密匙的话可以直接去ROS官网的kinetic安装教程中去找最新的sources.list以及密匙。一般用最新的sources.list以及密匙不太容易出现下面2、3步骤中的错误,可以直接到第四步。
2、更新

sudo apt-get update

(2.1)这里如果出现错误:

Reading package lists... Done
E: Problem executing scripts APT::Update::Post-Invoke-Success
'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli;
 then appstreamcli refresh > /dev/null; fi'
E: Sub-process returned an error code

可以用以下方法:

$ sudo pkill -KILL appstreamcli
$ wget -P /tmp https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_amd64.deb https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_amd64.deb
$ sudo dpkg -i /tmp/appstream_0.9.4-1ubuntu1_amd64.deb /tmp/libappstream3_0.9.4-1ubuntu1_amd64.deb

重新运行update不会出现错误

3、安装

sudo apt-get install ros-kinetic-desktop-full

(3.1)、这里如果出现报错如下:

Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation:

The following packages have unmet dependencies: ros-kinetic-desktop-full : Depends: ros-kinetic-desktop but it is not going to be installed Depends: ros-kinetic-perception but it is not going to be installed Depends: ros-kinetic-simulators but it is not going to be installed Depends: ros-kinetic-urdf-tutorial but it is not going to be installed E: Unable to correct problems, you have held broken packages.

解决方法:
删除ros-latest.list

rm -rf /etc/apt/sources.list.d/ros-latest.list

修改源

sudo vim /etc/apt/sources.list

然后改为以下内容:

deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

然后从第一步开始从头设置即可。

安装完成后,可以用下面的命令来查看可使用的包:

apt-cache search ros-kinetic

4、初始化ROS

$ sudo rosdep init
$ rosdep update

4.1、这里使用 rosdep init 的时候经常会提示无法连接到xxx网址,这是由于raw.githubusercontent.com被墙,程序无法下载相应的文件导致的。解决方法就是使得raw.githubusercontent.com能够被正常访问。所以我们只要能够找到这个网站的正确ip就可以了。

IP地址可能会变,可以去这个网址查一下:例如目前所查到的ip地址为151.101.84.133

查到之后就可以执行:

sudo gedit /etc/hosts

打开hosts文件,将该ip地址添加到文件中来,即在文件中添加以下内容:

151.101.84.133 raw.githubusercontent.com

然后保存退出。

4.2、在执行update的时候也比较容易报错,不过这里的错误大部分都是来自于网络问题,多换几个网络试一下就可以了,好像移动热点比较容易被墙,联通的热点基本每次都很顺利。学校有线网似乎成功率也还行。

5、设置环境变量

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

这里注意kinetic的“k”是小写的,之前第一次没注意打成了大写的后来报错了,如果有错误可以打开:

gedit ~/.bashrc

查看最后的source项是否正确,特别这里如果之前装过不止一个ROS的这里可能会出现多个source项,删除多余的留下有用的即可。
6、安装插件

sudo apt-get install python-rosinstall

这个可以不用装,视情况而定
7、测试ROS

roscore

得到如下结果:
在这里插入图片描述
8、检查环境变量配置

export | grep ROS

得到如下结果:
在这里插入图片描述
到这里就OK了

参考:
http://wiki.ros.org/kinetic/Installation/Ubuntu
https://blog.csdn.net/wangguchao/article/details/81044558
https://blog.csdn.net/xuehuafeiwu123/article/details/52549872
https://blog.csdn.net/xiangxianghehe/article/details/78483799
https://www.cnblogs.com/EasonJim/p/7343892.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一叶执念

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值