【安装】Ubuntu20.04下安装ROS的完整过程(内含已装好ROS的虚拟机、虚拟机创建过程、ROS安装过程及全过程录屏)
现成的虚拟机
为方便大家学习,如果安装ROS遇到的问题实在太多,也可以直接下载我提供给大家的、已经安装好ROS的Ubuntu虚拟机:下载链接, 提取码:1030。
虚拟机的使用说明也在这个文件夹下,虚拟机密码是3edcxsw2。
参考博客
全过程录屏(虽然貌似没有必要就是说):
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_CODENAME是focal而不是impish,impish对应的版本是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.0的15.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安装过程及全过程录屏)的更多相关文章
- 树莓派4b安装Ubuntu20.04
树莓派4b安装Ubuntu20.04 下载Ubuntu20.04镜像 下载地址 安装Raspberry Pi Imager 下载地址 烧录系统 打开Raspberry Pi Imager,选择自己刚刚 ...
- 在VirtualBox上安装Ubuntu-20.04
本文主要介绍如何在VirtualBox上安装Ubuntu-20.04 目录 下载VirtualBox 下载Ubuntu-20.04镜像 新建虚拟机 第一步:打开VirtualBox 第二步:设置虚拟机 ...
- Mac Mini 安装Ubuntu20.04 KVM
在一台 Mac Mini mid 2011上安装Ubuntu20.04并配置KVM环境, 过程也适用于其他版本的Mac Mini. 硬件配置 I5 2415, 内存8G*2, 硬盘 SSD 500G ...
- 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 华为Mate14上安装Ubuntu20.04纪要
Ubuntu16.04用了将近五年了,已经好几年没折腾过系统,所以简要记录一下. 1. 关于UEFI分区,之前的笔记本UEFI是可选的(只是默认该模式),Bios里面还有其他选项.一般安装系统之前 ...
- WSL2安装Ubuntu20.04
前言:听说WSL2需要Window版本在1904以上(我的window版本是1909,所以未能验证真实性) 启用WSL 控制面板 → 程序 → 程序和功能 → 启用或关闭Windows功能 勾选 适用 ...
- Turtlebot3入门教程-系统-SBC软件设置(ubuntu20.04)
本文针对如何在树莓派3上安装ubuntu20.04系统和软件进行讲解 树莓派3接上显示屏和鼠标后,开机后继续安装软件包 详细步骤如下: (1)系统安装 (2)ROS安装 (3)TurboBot3依赖的 ...
- ubuntu20.04安装EasyConnect兼容性问题解决
目录 1. 命令行启动EasyConnect 2. 降级pango 3. 重新启动EasyConnect,即可成功启动 Ubuntu20.04安装EasyConnect后无法启动的解决方案 工作使用操 ...
- 从零开始安装搭建win10与ubuntu20.04双系统开发环境——集安装、配置、软件、美化、常见问题等于一体的——超详细教程
目录 **前言 ** 关于系统安装配置与软件安装 一.Win10安装ubuntu20.04双系统 1.按照自己的需求分区 2.配置软件镜像源 软件包管理工具介绍 更换APT源--使用国内镜像 3.解决 ...
- 网络安装Ubuntu16.04
网络安装Ubuntu16.04 搭建PXE服务器 PXE是Pre-boot Execution Environment,预启动执行环境.是通过网络安装任何linux系统最重要的步骤. 首选搭建PXE服 ...
随机推荐
- 同步一下在notion上写的内容
之前在notion上写了一些内容,但因为notion上的编辑器和博客园的不太一样,所以不好直接搬运过来,这里同步一下链接: 之前看MIT线性代数网课做的笔记:重温线性代数 算法课笔记之一:分而治之 算 ...
- 在windows主机本地快速部署使用deepseek-r1大模型
一台配备 Windows 操作系统.12GB 或以上显存的英伟达显卡.8GB 或以上内存,并能连接互联网的电脑可以继续阅读以下内容. 简介 Ollama(用于下载和启动大模型) Ollama 专注于本 ...
- ABB喷涂机器人IRB5400维修保养
为最大限度地保证ABB机器人正常运行,ABB机器人普遍需要在运行6000小时后进行一次保养,特别是针对在恶劣工况与长时间在负载极限或运行极限下工作的ABB机器人,则需要每年进行一次全面ABB机器人保养 ...
- C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
前言 自从 DeepSeek 大模型火了以来,网络上出现了许多关于本地部署的教程和方法.然而,要真正深入了解其功能和应用,还是需要自己动手进行一次本地部署. DeepSeek 作为一个高效的自然语言处 ...
- [Windows] 联发科秒开bl一键版(mtk)
声明 不是所有的联发科都可 天机 8000 8100 9000等不行 已知 天机820 天机1000 mtk G90t 天机800 可以 其余自己测试 除了新款均可 第一步 下载软件 (是个压缩包需要 ...
- docker - [14] redis集群部署
本章节是在一个服务器上进行演示 一.准备工作 (1)创建redis集群使用的网络:redis-net docker network create redis-net --subnet 172.38.0 ...
- 基于注意力机制与改进TF-IDF的推荐算法
前言 本篇文章是2020年8月发表于<计算机工程>的一篇期刊论文,文章名称<基于注意力机制与改进TF-IDF的推荐算法>. 文章针对传统推荐系统主要依赖用户对物品的评分数据而无 ...
- 面试题 17.12. BiNode
地址:https://leetcode-cn.com/problems/binode-lcci/ <?php /** 二叉树数据结构TreeNode可用来表示单向链表(其中left置空,righ ...
- [tldr] 使用ip.sb检查自己所在局域网的公网IP
使用ip a等一些命令行工具可以帮助我们检查自己的内网IP,但是,如何获取自己的在公网下的IP(即当前所在的局域网被分配的公网IP) 如果使用爬虫,这个IP也是很重要的.BAN IP就是这个IP ht ...
- JAVA调用Python脚本执行
SpringBoot-web环境 <dependency> <groupId>org.springframework.boot</groupId> <arti ...