解决方案一:解决网络问题,使用全球互联网
因为ROS 是外国研究团队进行开发的,所以绝大部分的资源都保存于外国的网站。我们在安装ROS的过程中就需要在这些外国网站获取相关的资源,所以我们可以借助一下全球连通云去进行上网,获取ROS相关的资源。
可以给大家推荐一个我用了挺久,而且很便宜的全球互联工具:
https://m.tb.cn/h.gW1AdAG?tk=tmvMWEcwE7i HU0854
使用全球连通云基本就可以一次性顺利安装ROS了 ,如果还是遇到错误可以参考解决方案二进行处理。
解决方案二:使用国内互联网,解决初始化rosdep出现的错误
终端输入
sudo rosdep init
失败1.如出现sudo: rosdep:找不到命令
解决办法
20.04终端输入
sudo apt install python3-rosdep2
18.04终端输入
sudo apt install python-rosdep
然后再次初始化rosdep
sudo rosdep init
失败2.ERROR: default sources list file already exists,20-default.list已存在
解决办法
终端输入
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
再次sudo rosdep init
失败3.出现Website may be down.原因是https://raw.githubusercontent.com/是外网网址访问不稳定(可多尝试几次sudo rosdep init)
如果多次尝试还是不行可尝试下边方法
解决办法
sudo gedit /etc/hosts
在文件末尾添加下面这段:
151.101.84.133 raw.githubusercontent.com
然后保存退出再次sudo rosdep init如果还是不行登陆IPAdress网站https://www.ipaddress.com/输入raw.githubusercontent.com查询到真实IP地址:
将查询到的IP替换上面代码的 151.101.84.133然后再次sudo rosdep init一般就会成功了
初始化rosdep成功
失败4.无论用什么方法都无法sudo rosdep init,只能祭出终极大招(自己创建20-default.list文件)因为sudo rosdep init的目的就是下载20-default.list文件(创建完成后直接进入rosdep update)
终端依次输入
cd /etc/ros/rosdep/sources.list.d
sudo touch 20-default.list
然后打开20-default.list添加内容
终端输入
sudo gedit 20-default.list
打开sudo gedit 20-default.list 后将下面内容添加到20-default.list 中然后Ctrl+S 保存退出即可
# os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead