ROS安装踩坑解决指南

目前在安装ROS中,遇到了如下两个问题:
一、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.
二、rosdep update 遇到下载超时问题。
错误即Timed out。

我自己使用过,且成功解决问题的方法:
一、在hosts文件中改IP地址。
步骤如下:
1、sudo gedit /etc/hosts
2、在文件末尾添加:
151.101.84.133 raw.githubusercontent.com
199.232.28.133 raw.githubusercontent.com
3、保存后退出即可
4、在终端输入:sudo rosdep init 一般问题都已经解决
二、我尝试过很多CSDN上的文章所提供的方法,包括但不限于更改下载站点、修改time_out检测时间。最后是通过关闭无线网,直接插入有线网的方法解决。
其他几种解决方法如下:
1、在系统设置中修改下载源站点
2、修改Time_out的时间。
更改 /usr/lib/python2.7/dist-packages/rosdep2/下的三个文件sources_list.py、gbpdistro_support.py、rep3.py中的DOWNLOAD_TIMEOUT = 15.0值,改大一点就可以了(我先后经历了改到20、40、100、150,在连接无线网时感觉有轻微作用)。

通过命令行:sudo vim /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
进入文件,ctrl + f 在文件内搜索DOWNLOAD_TIMEOUT更改数值即可。

2021.4.19更新
最近又涉及到安装ROS,发现上面的办法已经不实用了。附上最新解决方法:
由于众所周知的原因,我们每一次的rosdep update都是一次与上帝的较量。
以前rosdep update是大哥,但是经过这一次,我不装了,我是大哥,我摊牌了!
开始治理小弟:
1、首先将下面仓库的内容clone到本地:

https://github.com/ros/rosdistro.git

然后一定要记住这个位置,比如我的位置是/home/rexxar/Github_Code/rosdistro

2、修改文件地址:
找到文件/usr/lib/python2.7/dist-packages/rosdep2/rep3.py,然后使用sudo命令打开,一定要给予权限,因为我们需要修改并保存里面的内容,没有权限是不让保存的!
找到文件中的raw.githubusercontent.com,将其中的网址替换为本地路径,比如我的是:

将原来文件中的 REP3_TARGETS_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml'
替换成 REP3_TARGETS_URL = 'file:///home/rexxar/Github_Code/rosdistro/releases/targets.yaml'

3、继续修改文件地址:
找到文件/usr/lib/python2.7/dist-packages/rosdistro/__init__.py,同样使用sudo命令打开。
找到文件中的raw.githubusercontent.com,将其中的网址替换为本地路径,比如我的是:

将 原来文件中的 DEFAULT_INDEX_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
替换成 DEFAULT_INDEX_URL = 'file:home/rexxar/Github_Code/rosdistro/index-v4.yaml'

4、重新生成20-default.list,并修改文件地址:
sudo rosdep init 重新生成/etc/ros/rosdep/sources.list.d/20-default.list.
可能会遇到已经存在的问题,我们直接使用rm命令移除,移除后再重新生成。移除和重新生成都需要sudo赋予权限。
然后将该文件的地址,做类似如下的修改:

**# os-specific listings first**
yaml file:///home/rexxar/Github_Code/rosdistro/rosdep/osx-homebrew.yaml osx

**# generic**
yaml file:///home/rexxar/Github_Code/rosdistro/rosdep/base.yaml
yaml file:///home/rexxar/Github_Code/rosdistro/rosdep/python.yaml
yaml file:///home/rexxar/Github_Code/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/rexxar/Github_Code/rosdistro/releases/fuerte.yaml fuerte

**# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead**

5、最后就可以顺畅的rosdep update了。
翻译翻译,什么叫顺畅!最后再继续ros的安装就好了。
安装好了记得使用roscore测试一下哦。

本文参考:https://blog.csdn.net/lyk_ffl/article/details/105712195 真的非常感谢这位大佬!

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值