【安装】Ubuntu20.04下安装ROS的完整过程(内含已装好ROS的虚拟机、虚拟机创建过程、ROS安装过程及全过程录屏)

2022/12/20重制,精简流程,直接去掉 络问题。

现成的虚拟机

为方便大家学习,如果安装ROS遇到的问题实在太多,也可以直接下载我提供给大家的、已经安装好ROS的Ubuntu虚拟机:下载链接, 提取码:1030。
虚拟机的使用说明也在这个文件夹下,虚拟机密码是3edcxsw2。

文章目录

  • 现成的虚拟机
  • 阅读本博客前,请务必瞧一瞧看一看:
  • 参考博客
  • 步骤
    • 重要提醒|安装之前先快照!
    • 1 更换软件源
      • ①更换总的软件源(能科学上 则忽略这一步)
      • ②更换ROS软件源
    • 2 密钥
    • 3 添加一个公钥
    • 4 更新软件源
    • 5 安装ROS
      • 5.1 可能遇到的错误:`cn.archive.ubuntu.com`连接失败,然后无法下载。
    • 6 设置环境变量
    • 7 安装rosinstall(可选)
    • 8 测试ros安装情况
      • 8.1 可能出现的错误1:
    • 到第8步就可以停了,不用装rosdep
    • 9 rosdep init和update
    • 假9 常规的rosdep init和update
      • 9.1 可能遇到的错误1:找不到命令
      • 9.2 可能出现的错误2:请求超时(ERROR: Rosdep experienced an error: The read operation timed out)
        • 方案1:自定义域名解析
        • 方案2:修改timed out的时间。
        • 方案3:切换手机热点。
      • 9.3 可能出现的错误3:已存在文件/etc/ros/rosdep/sources.list.d/20-default.list
      • 9.4 可能出现的错误4:[Errno 104] Connection reset by peer
    • 10 根据rosdep列表更新。(可略)

阅读本博客前,请务必瞧一瞧看一看:

Ubuntu20.04用的是,以下是Ubuntu版本 和版本名称的对应关系:

版本 版本名称
18.04 bionic
20.04 focal
21.04 impish
22.04 jammy

如果是其他版本想安装ROS,这篇博客中所有提到的,都要替换成其他版本对应的。
否则你或许会在更新ros软件源或者其他软件源时,遇到如下错误:,例如:

我其实第一反应只是有些奇怪,我明明标题写了20.04,其他版本的到底是出于什么心理点进我这篇博客,问多了就有点生气,但是——我发现有的人不仅在我博客下这么留言,其他写Ubuntu20.04安装博主也收到了同样的留言。

我的内心首先是一个阴谋论浮现……
然后,打住!我区区一个千粉不到的、单篇阅读量没过万的家伙,应该以最简单的思维去想这件事!

真相只有两个!

  1. 该不会是,有人明明下载了Ubuntu20.04的镜像,成功且顺利地安装之后,跳出一个弹窗问要不要更新Ubuntu,就果断升级了吧strong>
  2. 该不会是,因为ROS1不再更新,也不再提供支持Ubuntu21和22的发行版,所以 上教程一直停在20,所以有人明明下载了21和22的,还要点进20的教程吧strong>

需要特别说明的是!!!据我了解的信息,Noetic(也就是Ubuntu20.04对应的ROS版本名字)是ROS1发行版的最后一个版本,ROS1不再开发支持更高版本Ubuntu的ROS1版本,如果已经出现了这个 错,请将中的/修改为,再重新更新软件源。

Ubuntu 可不兴随便升级啊!

当然,要是真升级了就升吧,到20了之后区别也没有那么大了,反倒18到20是个很严重的坎。

如果已经升级了,甚至降级了,其实也都可以用这篇教程。
我针对这个问题在博客每一处会碰到版本问题的地方都用【蓝色小字】标注了。
只要是真的按我这篇的肯定不会碰到版本问题了。

参考博客

  1. 《详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装!!!(最新版教程)》
  2. https://github.com/fishros/install/blob/master/tools/tool_config_rosdep.py(用于解决rosdep问题的)。

全过程录屏(虽然貌似没有必要就是说):
https://www.bilibili.com/video/BV1du411d7ho3

步骤

重要提醒|安装之前先快照!

【重要!非常重要!】安装之前先快照,以防万一。

1 更换软件源

①更换总的软件源(能科学上 则忽略这一步)

注意:focal是Ubuntu20.04的版本名,无论如何请改成自己的。

换成阿里云的,点击查看阿里云官方换源教程:

②更换ROS软件源

注意:focal是Ubuntu20.04的版本名,如果版本低于Ubuntu20.04请改成自己的,如果高于请别改。

清华的:

中科大的(慎用,2022年1月15日~1月22日据小伙伴们反应,解析不了):

2 密钥

3 添加一个公钥

4 更新软件源

5 安装ROS

这一步进行时,最好不要在Ubuntu中使用别的软件,比如,有可能会出现异常。

这一步完成之后,最好是快照一下。

5.1 可能遇到的错误:连接失败,然后无法下载。

直到全装好。

到第8步就可以停了,不用装rosdep

原因如是:rosdep不初始化到底行不行_鱼香ROS。
rosdep只是个包管理工具,我说实话一直没用过它。

9 rosdep init和update

【鱼香ROS】改的rosdep,改成rosdepc了,我不知道他具体改了什么,但确实没 络问题了:

因为我很少用rosdep,所以我觉得挺无所谓的,决定就用它了。

如果你不打算用这个,打算还是按老方法装,可以继续参考以下下文。

假9 常规的rosdep init和update

可能遇到以下错误:

9.1 可能遇到的错误1:找不到命令

2022/12/19更新——根据ROS Answer的问答,这里不能装,要装:Missing packages after installing rosdep based on python3-rosdep2 in Noetic:

【安装】Ubuntu20.04下安装ROS的完整过程(内含已装好ROS的虚拟机、虚拟机创建过程、ROS安装过程及全过程录屏)
否则下一步就一直成功不了(恼)。

9.2 可能出现的错误2:请求超时(ERROR: Rosdep experienced an error: The read operation timed out)

方案1:自定义域名解析

追加

其中可以换成别的IP地址
具体哪个IP能用,可以在 站https://www.ipaddress.com/site/raw.githubusercontent.com中找找。有小伙伴反映是能用的。

方案2:修改timed out的时间。

修改的,改大,可为150。

方案3:切换手机热点。

9.3 可能出现的错误3:已存在文件/etc/ros/rosdep/sources.list.d/20-default.list

删掉就行。

9.4 可能出现的错误4:[Errno 104] Connection reset by peer

你或许正在进行,如果尝试过以上所有解决办法都无效,这一步可以略。

10 根据rosdep列表更新。(可略)

若出现错误,按(上一步)出错处理。

如果不希望跳过这个步骤,可参考以下三篇博客任一方法,完成:

  1. 修改修改rosdep源码中下载资源的函数:解决ROS系统 rosdep update超时问题的新方法。
  2. 这篇博客2022年10月11日更新内容提到了如何解决的问题:详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装(最新版教程)。
  3. ERROR: cannot download default sources list from。(这个方法我亲测,会因为yaml访问不了文件然后出错)

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门在线安装软件25120 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年11月16日
下一篇 2022年11月16日

相关推荐