现成的虚拟机 为方便大家学习,如果安装ROS遇到的问题实在太多,也可以直接下载我提供给大家的、已经安装好ROS的Ubuntu虚拟机:下载链接, 提取码:1030。
虚拟机的使用说明也在这个文件夹下,虚拟机密码是3edcxsw2。
参考博客
- 《详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装!!!(最新版教程)》
- 《rosdep init 及update报错的解决办法汇总(亲测)》
https://www.bilibili.com/video/BV1du411d7ho?p=3
步骤 0 安装之前先快照! 【重要!非常重要!】安装之前先快照,以防万一。
1 更换软件源 ①更换总的软件源
【科普|虚拟机 Ubuntu20.04 ROS安装完整过程】PS:视频里没有这一步。这一步是为了防止后期对Ubuntu20.04用的是cn.archieve.com
的部分文件访问出错(实在有太多小伙伴反馈他们在第五步下载ros-noetic-desktop-full
的时候出现连接cn.archieve.com
失败啦!)。
如果不更换总的软件源,只更换ROS软件源(像视频里那样),有时候也是不会出问题的。
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-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'
②更换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
直到全装好。
推荐阅读
- 树莓派|树莓派4BUbuntu18.04安装ROS Melodic完整教程及部分报错解决方法
- 如何列出在Ubuntu 16.04上安装的所有软件包
- 如何解决Ubuntu 18.04中PyAudio的安装错误(严重错误(找不到”portaudio.h”文件))
- 如何在GNU Nano中为YAML(YML)文件启用语法突出显示
- 如何在Ubuntu 16.04中使用CLI检查软件包是否已安装
- 如何在GNU Nano中为INI文件启用语法突出显示
- 如何在Ubuntu 18.04中使用Python创建慢速扫描电视传输(SSTV)音频文件
- 在Ubuntu 18.04中无法播放MP4文件(播放该文件需要H.264(主配置文件)解码器,但尚未安装)
- 如何在Ubuntu 19.04中使用现代OpenGL使用C实现自己的Minecraft游戏克隆