目录
安装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(最常见也是最容易出错的问题)
错误情况如下:
解决方法:
首先增大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
打开文件后视图如下:
演示其中一个的操作过程(另外两个一样):输入指令之后会打开文件,按动↑↓←→移动如图所示的光标
找到DOWNLOAD_TIEOUT所在的一行,将光标移到15.0后边,按a启动编辑模式,(进入编辑莫时候不要随便按动↑↓←→,编辑模式下↑↓←→是对应输入数字),将15.0调成大一点的数字,我调整为300.0。更改完后按ESC退出编辑模式。直接在键盘输入:wq(注意输入时候有个冒号要输入),这时候是末行指令状态,输入的指令直接显示在最后一行,不用刻意移动光标到最后再输入,然后回车,就是保存后退出。
退出编辑模式输入:wq保存情况如下图,按回车即可
** 其他两个软件也按此操作,切记不要随便更改其他文字,保存后如果出现不小心更改到的错误很难复原**。
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依旧报错**,提示无法安装,这个错本人误查找网上各种方法一直没有找到行得通的办法,如果尝试网上方法也不成功的说明安装过程有差错,建议重装一遍。