【ROS】Ubuntu18.04下安装ROS-Melodic的步骤及rosdep update报错的解决方案

写在前面:

        笔者从大二就开始接触ROS操作系统,期间经历过多次ROS的安装与重装,每一次都痛苦不堪。每一次的安装都会重复踩很多坑,也会踩一些新坑,因此借此机会打算把安装ROS Melodic版本完整步骤整理出来。

        sudo rosdep init和rosdep update出错的可以直接跳到第4步!

目录

1. 添加ROS软件源

2. 添加密钥

3. 安装ROS

4. 初始化rosdep

5. 设置环境变量

6. 安装rosinstall

7. 验证是否安装成功


1. 添加ROS软件源

 打开终端,复制以下命令:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) 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

 将Ubuntu软件源更换成中科大的源,选择后再勾选Source code。具体如下图所示:

 更换好国内的源后,执行官方给出的两条安装步骤:

sudo apt update

 成功后的界面如下: 

sudo apt install ros-melodic-desktop-full

 这一步是在完整安装ROS系统,时间略长,大约在10-20分钟。成功后的界面如下: 

 如果没有完全安装成功,可以执行以下命令来修复安装(基本不会用到这条命令):

sudo apt-get -f install ros-melodic-desktop-full

4. 初始化rosdep

 这一步是最容易失败的!

 首先给出官方安装步骤:

sudo rosdep init

 报错:

 解决方案:安装python-rosdep

sudo apt install python-rosdep

 重新执行sudo rosdep init后,报了另外的错:

 就在这两步,笔者卡了整整一天。笔者曾经通过修改hosts文件,添加IP地址成功解决了这个问题。但是在近期重装ROS时发现这一方法已经不再可行。目前国内可用的IP越来越少,笔者把所有的IP都尝试过了,依然无法解决。解决rosdep update超时问题的方法已经不太好用。

 这一步主要是对rosdep初始化。在初始化的过程中需要访问GitHub,而国内访问GitHub着实困难。为了解决这个问题,可以考虑使用https://ghproxy.com/来代理GitHub的资源。具体步骤如下:


① 在/usr/lib/python2.7/dist-packages/rosdep2下打开终端

 执行命令:

sudo gedit ./sources_list.py

 在311行添加如下代码:

url="https://ghproxy.com/"+url

  将72行代码修改成如下代码(添加https://ghproxy.com/前缀):

DEFAULT_SOURCES_LIST_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list'

 点击Save保存并退出。

② 同样在/usr/lib/python2.7/dist-packages/rosdep2文件夹下,执行命令:

sudo gedit ./gbpdistro_support.py

 将36行代码修改成如下代码(添加https://ghproxy.com/前缀):

FUERTE_GBPDISTRO_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/' \

 在204行添加如下代码:

gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url

 点击Save保存并退出。

③ 同样在/usr/lib/python2.7/dist-packages/rosdep2文件夹下,执行命令:

sudo gedit ./rep3.py

 将39行代码修改成如下代码(添加https://ghproxy.com/前缀):

REP3_TARGETS_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml'

 点击Save保存并退出。 

④ 在/usr/lib/python2.7/dist-packages/rosdistro/manifest_provider(注意,这一步需要更改当前目录)下,执行命令:

sudo gedit ./github.py

 将119行代码修改成如下代码(添加https://ghproxy.com/前缀):

url = 'https://ghproxy.com/https://raw.githubusercontent.com/%s/%s/%s' % \

 点击Save保存并退出。

⑤ 在/usr/lib/python2.7/dist-packages/rosdistro(注意,这一步需要更改当前目录)下,执行命令:

sudo gedit ./__init__.py

 将68行代码修改成如下代码(添加https://ghproxy.com/前缀):

DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

 点击Save保存并退出。


 接下来执行:

sudo rosdep init

 成功提示如下信息:

 然后执行:

rosdep update

 成功提示如下信息:

5. 设置环境变量

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

6. 安装rosinstall

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

 至此完成ROS-Melodic版本的安装。接下来的步骤用来验证ROS是否安装成功。

7. 验证是否安装成功

 打开一个终端,输入:

roscore

  不要关闭前面的终端,另外打开一个终端,输入:

rosrun turtlesim turtlesim_node

  不要关闭前面两个终端,另外再打开一个终端,输入: 

rosrun turtlesim turtle_teleop_key

  如果出现以下窗口,并且可以使用键盘控制小乌龟的运动,则证明安装成功。

  • 7
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Quentin_HIT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值