目录

安装ros过程比较简单,不同的Ubuntu版本适合不同的ros,与Ubuntu14.04兼容的是 ROS indigo,ubuntu16.04 对应 ROS Kinetic,ubuntu18.04 对应 ROS Melodic,根据自己的需求进行选择。我安装的的是Ubuntu16.04,本文介绍在安装ROS Kinetic的过程遇到的错误和解决办法。

1.ros安装过程:

  • 参考此文章 ROS Kinetic安装过程

2.更新下载速度慢

  • sudo apt-get update 升级速度太慢,sudo apt-get install ros-kinetic-desktop-full 下载速度慢: 下载及更新速度慢是软件源的问题,对于初次使用ubuntu系统的会遇到的小问题,点击System Sitting-Software-update 选择other 在中国的下载源中选择喜欢的,个人建议选择阿里云或者中科大的源。下图选择为阿里云的源,点击choose server之后输入密码,直接点close关闭。关闭后别忘了在终端输入 sudo apt-get update 更新一下。

3:sudo apt-get install资源被锁定(Could not get lock /var/lib/dpkg/lock - open)

如果在使用sudo apt-get install 安装软件时候遇到如下资源被锁定的错误:

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)

E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?**

解决方法有两种:

方法一:

…资源被锁定说明有进成正在占用apt,执行下面命令查看正在占用的进程

ps -A | grep apt

执行之后可以看到apt正在运行的进程的编号,比如2098就是进程号

_apt       2098  0.1  0.1  49572  5524 ?        S    01:18   0:06 /usr/lib/apt/methods/http

执行sudo kill杀死进程,如下所示,有多个进程就重复执行sudo kill #进程号#,例子如下:

sudo kill 2098

方法二: .暴力删除锁定文件,方法如下:

ls /var/lib/dpkg/lock-frontend
sudo rm -r -f /var/lib/dpkg/lock-frontend

如果还出现

无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)

执行

sudo rm -r -f /var/lib/dpkg/lock

删除之后执行sudo apt-get update进行更新 详情参考此关于Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案

4.sudo rosdep init时出现网络问题

**在执行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.

此错误是由于网络原因,解决方法有两种方法一: 执行如下代码(不推荐)

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

方法二: 更换数据源(第一步中详细讲述了),如果电脑是连接网线的话换成wifi,或者手机4G热点,如果是台式机可用数据线连接电脑,进行热点共享,手机热点成功率极高(推荐尝试)。

5.rosdep update TIMEOUT 网络超时问题The read operation time out(最常见也是最容易出错的问题)

错误情况如下:

ros python指定版本_linux

解决方法:

首先增大TIMEOUT的时间

打开 /usr/lib/python2.7/dist-packages/rosdep2/下的三个文件sources_list.py、gbpdistro_support.py、rep3.py中的DOWNLOAD_TIMEOUT = 15.0值,改成大一点的数字,个人改成300.0,根据自身电脑情况更改,太大会响应时间过长,小了效果不明显。打开文件方法如下,在终端中依次输入:

sudo vim /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
sudo vim /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
sudo vim /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
  • 分别执行以上三个指令,用vim编辑器打开三个文件,如果显示:sudo vim:找不到命令,说明vim编辑器没有安装,执行如下指令进行安装,安装后再打开三个文件
sudo apt install vim

打开文件后视图如下:

演示其中一个的操作过程(另外两个一样):输入指令之后会打开文件,按动↑↓←→移动如图所示的光标

ros python指定版本_ros python指定版本_02

找到DOWNLOAD_TIEOUT所在的一行,将光标移到15.0后边,按a启动编辑模式,(进入编辑莫时候不要随便按动↑↓←→,编辑模式下↑↓←→是对应输入数字),将15.0调成大一点的数字,我调整为300.0。更改完后按ESC退出编辑模式。直接在键盘输入:wq(注意输入时候有个冒号要输入),这时候是末行指令状态,输入的指令直接显示在最后一行,不用刻意移动光标到最后再输入,然后回车,就是保存后退出。

ros python指定版本_bash_03

退出编辑模式输入:wq保存情况如下图,按回车即可

ros python指定版本_linux_04

** 其他两个软件也按此操作,切记不要随便更改其他文字,保存后如果出现不小心更改到的错误很难复原**。

vim编辑器的所有指令可在以下链接查看:

  • VIM编辑器所有指令可点此查看 将三个文件TIMEOUT数字更改之后,会明显增加成功率,此时执行还是有很大可能出错,这时候再更换数据源(第一步中详细讲述了),如果电脑是连接网线的话换成wifi,WiFi效果不好换成手机4G热点,如果是台式机可用数据线连接电脑,进行热点共享,手机热点成功率极高(推荐尝试),如果热点都不行只能借助微p恩。基本就可以解决超时问题。

6.如果最后在source ~/.bashrc环境配置时候出现

bash: /opt/ros/kinetic/setup.bash:没有那个文件或目录
  • 此错误 在终端输入
gedit .bashrc

打开文件后吧最后一行bash: /opt/ros/Kinetic/setup.bash注释掉,再次终端执行source ~/.bashrc 没有报错则成功进行下一步:输入roscore进行测试,能看到kinetic版本相关信息这说明成功

6.程序“roscore”尚未安装。 您可以使用以下命令安装:sudo apt install python-roslaunch

如果提示提示程序“roscore”尚未安装。 您可以使用以下命令安装:sudo apt install python-roslaunch*

,执行sudo apt install python-roslaunch依旧报错**,提示无法安装,这个错本人误查找网上各种方法一直没有找到行得通的办法,如果尝试网上方法也不成功的说明安装过程有差错,建议重装一遍。