一、前言
我已经装了不知道多少次ROS,由于学习需要,又一次给新机安装ROS,还是被安装出错折磨了半天。吃一堑长一智,为了防止再次安装时要费时全网搜索解决方案,本文准备自己记录一下安装过程以及收集网络上各种解决方案。
二、安装ROS
1、软件源设置
① 在 ‘设置-->软件与更新-->Ubuntu软件’中将源代码选项勾上 ,软件源换成国内的。
② 添加ROS软件源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
2、设置公钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3、安装ROS
sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
sudo apt-get install ros-melodic-rqt*
sudo apt-get install python-rosdep
4、初始化ROS
sudo rosdep init
rosdep update
5、测试ROS
roscore
三、解决方案
安装ROS出现的问题基本出现于安装的第4步。
1、问题一: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.
方案一:添加raw.githubusercontent.com的ip地址。这里千万不要随便按照网上给的ip添加,早就过时了。进入 The Best IP Address, Email and Networking Tools - IPAddress.com ,在搜索框中输入raw.githubusercontent.com并搜索,得到IP地址。
添加ip
sudo gedit /etc/hosts
#e.g 在文件末尾添加 185.199.108.133 raw.githubusercontent.com
sudo rosdep init
继续执行安装第4步的指令。我是按照这个方案解决的问题。
方案二:参考古月居老师
sudo c_rehash /etc/ssl/certs
sudo -E rosdep init
方案三:参考网友
sudo apt-get install ca-certificates
sudo rosdep init
方案四:实在不行就科学上网。
2、问题二:rosdep update 执行出错,要么就Hit不到相应yaml文件,要么就是time out。
方案一:参考问题一的方案一。正常ip地址换了,后面的步骤都可以正常运行。
方案二:将相应的yaml文件下载保存至本地。
四、总结
整个安装教程还是较为简单的,希望能够有帮助。翻过一座山又是一座山,下座山峰见。
五、参考文章
Ubuntu18.04 melodic 安装与下载ROS(超详细教程) - 古月居
ubuntu18.04安装ROS的心得,百分百解决rosdep update报错的方法_m0_59218577的博客-CSDN博客