Ubuntu18.04下安装ROS Melodic

本文主要针对在Ubuntu18.04下安装ROS Melodic版本时所做的一些记录,并给出一些问题的解决方案。

安装时间:2019-11-06

之前在Ubuntu16.04下安装ROS Kinetic时怎么安装怎么顺,没想到在Ubuntu18.04下安装ROS Melodic时却折腾了我好久。因此本文则详细记录我安装过程中的一些操作,并给出一些问题解决方案。

详细安装流程在很多博客上都有呈现,此处就不详细摘抄了,只是简单走一下完整的流程。这些流程都是在我电脑上成功的操作。

同步Ubuntu和Windows系统时间

如果你是Windows和Ubuntu双系统,有必要首先执行该步骤。虽然不确定该步骤对于最终成功安装ROS有没有用,但是最好还是同步一下,因为有资料看到说双系统时间不同步确实也是安装ROS不成功的一个原因。

sudo apt-get install ntpdate
sudo nptdate time.windows.com

然后将本地时间更新到硬件上:

sudo hwclock --localtime --systohc

添加软件源

该步骤的目的是允许你的电脑能够接受ROS相关软件的安装和更新。
国外源:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

推荐国内源:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

设置密钥

注意密钥好像有变化,我使用的最新的密钥如下:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

安装ROS

sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
安装其他必要库:
sudo apt-get install python-rosdep
sudo apt-get install python-rosinstall

这个安装过程时间比较长,我装了将近半个小时,需要有耐心和一个好的Wifi!

初始化rosdep

sudo rosdep init
rosdep update

添加ROS环境变量

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

常见错误

1、sudo rosdep init或rosdep update报错

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.

在这里插入图片描述
这个错误参考了很多的资料,有各种解决方案,最终总结起来不外乎以下几种:
(1)

sudo apt-get install ca-certificates
sudo c_rehash /etc/ssl/certs
sudo -E rosdep init
rosdep update

然而对我来说这个方案并不起作用。
(2)我成功的解决方案
前提条件:

  • 需要一个好网,网络不好其实也会一直失败;
  • 更换软件下载服务器,最好使用国内的服务器

然后进入到网站(需要科学上网才能打开,或者直接复制我下面的内容):https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list,会有以下内容:

# 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

然后执行以下命令:

sudo mkidr -p /etc/ros/rosdep/sources.list.d
cd /etc/ros/rosdep/sources.list.d
sudo gedit 20-default.list

然后把上述网站中的内容复制到20-default.list文件中,以上所有操作就等同于执行sudo rosdep init。然后直接执行:

rosdep update

如果不出意外的话就能成功(关键是要网好,多试几次): 在这里插入图片描述
网不好的话,会出现如下的错误: 在这里插入图片描述
注意:以上第(2)条解决方案其实是参考本文最后的参考文章4中的方案,但我并没有把20-default.list中的raw.githubusercontent.com替换成raw.githuhub.com

【参考】:
1、Ubuntu18.04下安装ROS
2、ubuntu18.04安装ROS Melodic(最详细配置)
3、ubuntu 18.04 LTS 安装ROS系统
4、sudo rosdep init ERROR: cannot download default sources list from

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章