现成的虚拟机

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

参考博客

  1. 《详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装!!!(最新版教程)》
  2. 《rosdep init 及update报错的解决办法汇总(亲测)》

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

步骤

0 安装之前先快照!

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

1 更换软件源

①更换总的软件源

PS:视频里没有这一步。这一步是为了防止后期对cn.archieve.com的部分文件访问出错(实在有太多小伙伴反馈他们在第五步下载ros-noetic-desktop-full的时候出现连接cn.archieve.com失败啦!)。
如果不更换总的软件源,只更换ROS软件源(像视频里那样),有时候也是不会出问题的。

Ubuntu20.04用的是focal,如果是其他版本,要将focal替换成其他的,比如Ubuntu18.04的bionic

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

sudo sh -c 'echo "deb http://mirrors.aliyun.com/ubuntu/ focal main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ focal-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ focal main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main multiverse restricted universe" > /etc/apt/sources.list'

②更换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'

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

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'

2 密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3 添加一个公钥

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

4 更新软件源

sudo apt update

错误1:Err: impish

Ign:2 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu impish InRelease
Err:3 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu impish Release
404 Not Found [IP: 101.6.15.130 80]

正常情况Ubuntu20.04对应的DISTRIB_CODENAMEfocal而不是impishimpish对应的版本是Ubuntu21.10,请检查你下载的Ubuntu镜像是否是Ubuntu20.04

并且,据我了解的信息,Noetic是ROS1发行版的最后一个版本,而且尚未开发支持Ubuntu21.10的ROS版本,如果需要降级下载,请将/etc/apt/sources.list.d/ros-latest.list中的impish修改为focal,再重新更新软件源尝试。
(具体行不行我没试过,如果Ubuntu21.10没有大改的话应该没得问题)。

5 安装ROS

sudo apt install ros-noetic-desktop-full

可能遇到以下错误:

错误1:如下图cn.archive.ubuntu.com连接失败,然后无法下载。


请看第一步更换软件源,把/etc/apt/sources.list的软件源换成阿里云的:

sudo sh -c 'echo "deb http://mirrors.aliyun.com/ubuntu focal main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu focal-updates main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu focal-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu focal-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu focal-backports main multiverse restricted universe" > /etc/apt/sources.list'

然后再执行一次sudo apt update,再重新执行:

sudo apt install ros-noetic-desktop-full

6 初始化rosdep

sudo rosdep init

可能遇到以下错误:

错误1:找不到命令

sudo apt install python3-rosdep2

错误2:请求超时

方案1:自定义域名解析

sudo gedit /etc/hosts

追加199.232.28.133 raw.githubusercontent.com

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

sudo gedit /usr/lib/python3/dist-packages/rosdep2/sources_list.py

修改DOWNLOAD_TIMEOUT = 15.015.0,改大,可为150。

方案3:切换手机热点。

错误3:已存在文件

sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

错误4:[Errno 104] Connection reset by peer

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

7 根据rosdep列表更新。(可跳过)

rosdep update

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

8 设置环境变量

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

使环境变量生效

source ~/.bashrc

9 安装rosinstall

sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool

10 测试

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

错误1:


之前安装不够全,再次:

sudo apt install ros-noetic-desktop-full

直到全装好。

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

  1. 树莓派4b安装Ubuntu20.04

    树莓派4b安装Ubuntu20.04 下载Ubuntu20.04镜像 下载地址 安装Raspberry Pi Imager 下载地址 烧录系统 打开Raspberry Pi Imager,选择自己刚刚 ...

  2. 在VirtualBox上安装Ubuntu-20.04

    本文主要介绍如何在VirtualBox上安装Ubuntu-20.04 目录 下载VirtualBox 下载Ubuntu-20.04镜像 新建虚拟机 第一步:打开VirtualBox 第二步:设置虚拟机 ...

  3. Mac Mini 安装Ubuntu20.04 KVM

    在一台 Mac Mini mid 2011上安装Ubuntu20.04并配置KVM环境, 过程也适用于其他版本的Mac Mini. 硬件配置 I5 2415, 内存8G*2, 硬盘 SSD 500G ...

  4. 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  5. 华为Mate14上安装Ubuntu20.04纪要

    Ubuntu16.04用了将近五年了,已经好几年没折腾过系统,所以简要记录一下.   1. 关于UEFI分区,之前的笔记本UEFI是可选的(只是默认该模式),Bios里面还有其他选项.一般安装系统之前 ...

  6. WSL2安装Ubuntu20.04

    前言:听说WSL2需要Window版本在1904以上(我的window版本是1909,所以未能验证真实性) 启用WSL 控制面板 → 程序 → 程序和功能 → 启用或关闭Windows功能 勾选 适用 ...

  7. Turtlebot3入门教程-系统-SBC软件设置(ubuntu20.04)

    本文针对如何在树莓派3上安装ubuntu20.04系统和软件进行讲解 树莓派3接上显示屏和鼠标后,开机后继续安装软件包 详细步骤如下: (1)系统安装 (2)ROS安装 (3)TurboBot3依赖的 ...

  8. ubuntu20.04安装EasyConnect兼容性问题解决

    目录 1. 命令行启动EasyConnect 2. 降级pango 3. 重新启动EasyConnect,即可成功启动 Ubuntu20.04安装EasyConnect后无法启动的解决方案 工作使用操 ...

  9. 从零开始安装搭建win10与ubuntu20.04双系统开发环境——集安装、配置、软件、美化、常见问题等于一体的——超详细教程

    目录 **前言 ** 关于系统安装配置与软件安装 一.Win10安装ubuntu20.04双系统 1.按照自己的需求分区 2.配置软件镜像源 软件包管理工具介绍 更换APT源--使用国内镜像 3.解决 ...

  10. 网络安装Ubuntu16.04

    网络安装Ubuntu16.04 搭建PXE服务器 PXE是Pre-boot Execution Environment,预启动执行环境.是通过网络安装任何linux系统最重要的步骤. 首选搭建PXE服 ...

随机推荐

  1. RDK新一代模型转换可视化工具!!!

    作者:SkyXZ CSDN:SkyXZ--CSDN博客 博客园:SkyXZ - 博客园 之前在使用的RDK X3的时候,吴诺老师@wunuo发布了新一代量化转换工具链使用教程,这个工具真的非常的方便, ...

  2. [BZOJ3159] 决战 题解

    个人感觉各方面难度高于<在美妙的数学王国中畅游>,也不知道是不是求导的关系,这题 \(luogu\) 难度评级还更低.不过感觉这题作完对 \(LCT\) 理解更顺畅了. 前四个操作简单,关 ...

  3. 淘宝H5 sign加密算法

    淘宝H5 sign加密算法   淘宝H5 sign加密算法 淘宝对于h5的访问采用了和客户端不同的方式,由于在h5的js代码中保存appsercret具有较高的风险,mtop采用了随机分配令牌的方式, ...

  4. Visual Studio 好用的主题+字体推荐!!!

    Vs2022主题+字体 Visual Studio(VS)是一款功能强大的集成开发环境(IDE),可以用于开发各种类型的应用程序,包括桌面应用.Web应用.移动应用等.它提供了许多主题设置和字体选项, ...

  5. Easyexcel(3-文件导出)

    响应头设置 通过设置文件导出的响应头,可以自定义文件导出的名字信息等 //编码格式为UTF-8 response.setCharacterEncoding("UTF-8"); // ...

  6. 当你在浏览器中输入 google.com 后按下回车发生了什么?

    按下"g"键 接下来的内容介绍了物理键盘和系统中断的工作原理,但是有一部分内容却没有涉及.当你按下"g"键,浏览器接收到这个消息之后,会触发自动完成机制.浏览器 ...

  7. 通过百度地图 API V2.0 版本,进行地图坐标系转换

    注意 先阅读参考链接 瞭月 的文章,再阅读本文. 其中,请求参数中 model 的含义: amap/tencent - 即:GCJ02 火星坐标系,由中国国家测绘局制订的地理信息系统的坐标系统. 由 ...

  8. CSAPP学习笔记——chapter8 异常控制流

    CSAPP学习笔记--chapter8 异常控制流 简介 异常控制流(Exceptional Control Flow,ECF)是在计算机系统中处理不寻常或异常情况的一种机制.它允许系统跳出正常的顺序 ...

  9. 第一次记录自己的java学习日常,之前都是看其他博主的java知识,现在该自己记录一下了。

    对知识做总结 在学校呢,走过了非常多的坑,参加了一些比赛,但是也没有学到什么(含金量高的比赛可以参加,但是需参加之前先沉淀好自己的技术,不要报名了才去准备,得在准备中去报名),学校教的知识都是理论化, ...

  10. [源码系列:手写spring] IOC第六节:资源和资源加载器

    主要内容 本节新增 Resource接口 定义对资源的抽象和访问,并且添加三个Resource接口的简单实现类. FileSystemResource 文件系统资源的实现类 ClassPathReso ...