写在前面
完事开头难,这个ros的安装真的搞了我好久,本来是在更新轨迹规划系列博客的,但是ros安装的这个问题解决了我真的是很爽快,因此插入更新一下哈哈。
结果展示
原理分析
环境:ubuntu1804
sudo rosdep init其实做的事情就是去拿https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
这个文件,这个文件里面放的东西主要是告诉ros安装程序需要的信息,但是也是因为raw.githubusercontent.com
被down了,因此刚好也是就是卡在了这一步,所以我们可以跳过这一步,直接把文件下载下来,然后把需要的信息路径转换成本地路径,最后让ros安装程序直接获得信息即可完成安装。
那么这个方法实现的可行的很大一个原因就是这个20-default.list
文件里的内容很少,有用的东西才5行,所以复制粘贴一下倒也问题不是很大。
实操步骤
步骤概览:
step 1:在ubuntu里面打开浏览器去https://github.com/ros/rosdistro
,把这个项目下载到/tmp
下面,下载来的压缩包应该叫rosdistro-master.zip
;(建议下载到/tmp
这个路径下面,这样就可以直接复制下面我写的路径,可以提高安装成功率)
step 2:将这个压缩包解压到/tmp
下面(命令或者图形化都可以),解压出来的文件应该叫rosdistro-master
;
step 3:修改rosdistro-master
下相应文件内容,将调用改为本地地址;
step 4:修改其他文件中有调用raw.githubusercontent.com
的地方,并且将调用改为本地地址;
step 5:正常步骤,最终完成;
step 1 and step 2
下载下来的文件图片如下所示:
图形化解压即可:
最终结果:
step 3
重头戏来了,那是文件的修改,我们总共要修改这些文件:
/tmp/rosdistro-master/rosdep/source.list.d/20-default.list
/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
/usr/lib/python2.7/dist-packages/rosdep2/rep3.py
/usr/lib/python2.7/dist-packages/rosdistro/__init__.py
总共4个文件中的内容需要做修改,那我为什么要1,3分呢,因为第1个文件修改是为了获取安装相关信息的本地路径,修改下面3个文件是为了将原来指向raw.githubusercontent.com
的地址修改成指向本地地址/tmp/rosdistro-master/rosdep/+具体地址
。
分析到这结束,接下来是实操部分:
输入sudo gedit /tmp/rosdistro-master/rosdep/source.list.d/20-default.list
,将其内容改为如下所示:
# os-specific listings first
yaml file:///tmp/rosdistro-master/rosdep/osx-homebrew.yaml osx
# generic
yaml file:///tmp/rosdistro-master/rosdep/base.yaml
yaml file:///tmp/rosdistro-master/rosdep/python.yaml
yaml file:///tmp/rosdistro-master/rosdep/ruby.yaml
gbpdistro file:///tmp/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
step 4
接下来是进行剩下3个文件的重定向:
1:首先输入命令sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
,然后将其中的文件进行注释替换。
上面是注释掉的下面是新加的,可以直接复制下面这条:
DEFAULT_SOURCES_LIST_URL = 'file:///tmp/rosdistro-master/rosdep/sources.list.d/20-default.list'
2:然后是第二个文件,输入命令:
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
,然后将其中的文件进行注释替换。
上面是注释掉的下面是新加的,可以直接复制下面这条:
REP3_TARGETS_URL = 'file:///tmp/rosdistro-master/releases/targets.yaml'
3:然后是第三个文件,输入命令:
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
,然后将其中的文件进行注释替换。
DEFAULT_INDEX_URL = 'file:///tmp/rosdistro-master/index-v4.yaml'
step 5
最后按顺序执行下列命令:
sudo rosdep init
rosdep update
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
测试
至此完成了配置,接下来就可以查看小乌龟了哟。
输入命令:roscore
;
然后新开terminal,输入命令:rosrun turtlesim turtlesim_node
;
然后再开一个新的terminal,输入命令:rosrun turtlesim turtle_teleop_key
;
然后就可以获得一个可以移动的小乌龟啦。
参考资料
sudo rosdep init 出现 ERROR: cannot download default sources list from:
评论(0)
您还未登录,请登录后发表或查看评论