在 Ubuntu 20.04 上安装 ROS Noetic

0、引言

ROS1 的官方维基已经详细罗列了ROS安装选择。本文将着手探讨如何在 Ubuntu 20.04.6 操作系统上安装 ROS1 的最后一个发行版本 —— ROS Noetic Ninjemys
在这里插入图片描述

💬 如果您的计算机还没有安装 Ubuntu 20.04.6 的话,可以参考这篇文章

当然,ROS1 的官方维基也提供了 ROS Noetic 的详尽安装教程,所以本文从本质上来说也只是搬运/转载。

1、本教程使用到的相关软件或产品

  1. Ubuntu 20.04.6 LTS
  2. ROS Noetic Ninjemys LTS

2、安装

2.1、配置 Ubuntu 软件仓库

配置你的 Ubuntu 软件仓库 (repositories) 以允许使用“universe”、“restricted”和“multiverse”存储库。你可以在“设置”>“关于”>“软件更新”找到并配置相关内容:
在这里插入图片描述

2.2、设置 sources.list

设置计算机以安装来自「中国科学技术大学」的软件

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

在这里插入图片描述
(这意味着待会儿会从「中国科学技术大学」的镜像站下载 ROS Noetic)

💬 此外,笔者的 Ubuntu apt 也是换过源的,如果有需求,可以参考这篇文章里的更换软件源操作。

2.3、设置密钥

设置密钥用于验证软件包的真实性:

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

在这里插入图片描述

若无法连接到密钥服务器,可以尝试替换上面命令中的 hkp://keyserver.ubuntu.com:80hkp://pgp.mit.edu:80

另外我们也可以使用 curl 命令替换 apt-key 命令,这在使用代理服务器的情况下比较有用:

curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -

2.4、开始安装

  1. 更新软件源的软件包列表以确保 Debian 软件包索引是最新的:

    sudo apt update
    

    在这里插入图片描述

  2. 完整桌面版安装(Desktop-Full,推荐):除了桌面版的全部组件外,还包括2D/3D模拟器(simulator)和2D/3D 感知包(perception package):

    sudo apt install ros-noetic-desktop-full
    

    在这里插入图片描述

    由于我们是通过国内镜像源下载的 ROS Noetic,速度会很快。大概一分钟就可以下载完成:
    在这里插入图片描述
    随后还会花费大概三分钟时间解压和设置:
    在这里插入图片描述

  3. 在 ROS 中还有更多可用的软件包。我们可以直接安装一个特定的软件包,命令格式如下:

    sudo apt install ros-noetic-包名称
    

    笔者暂时没有要安装更多软件包的需求,所以没有执行这一步。要查看或搜索所有可用的软件包,参考 ROS Index 或使用:

    apt search ros-noetic
    
  4. 完成后,我们可以在 /opt/ros 目录找到刚刚安装的 ROS Noetic:
    在这里插入图片描述

2.5、设置环境

打开一个终端依次执行下面两条命令即可:

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

source 是一个 Linux 命令,当我们在 bash 中 source 一个文件时,它会在当前 shell 中读取并执行文件的每一行(比如 setup.bash 这个配置脚本文件的每一行)。当我们在 .bashrc 文件中添加该语句时,他会在每次打开一个新的终端时都执行一次 source 命令,以便 ROS Noetic 在任意打开的终端内都能正常使用。

在 Ubuntu 系统下,.bashrc 文件是一个存在于普通用户目录(如 /home/用户名)或root用户目录(/root)下的隐藏文件。它相当于 shell 的配置文件。每次打开新的终端时,.bashrc 文件都会被读取。

在这里插入图片描述

2.6、构建包的依赖

到目前为止,您已经安装了运行核心 ROS 软件包所需的内容。要创建和管理您自己的 ROS 工作空间,这还有各种单独发布的工具和需求。例如,rosinstall 是一个常用的命令行工具,它使您能够使用一个命令轻松地下载 ROS 包的许多源代码树。

要安装此工具和其他用于构建 ROS 包的依赖项,请运行:

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

在这里插入图片描述

大约耗时一分钟

2.6.1、初始化 rosdep

在您可以使用许多 ROS 工具之前,您需要初始化 rosdeprosdep 使您能够轻松地为要编译的源代码安装系统依赖项;并且运行 ROS 中的一些核心组件,rosdep 是必需的。我们可以通过以下两条命令初始化 rosdep

sudo rosdep init
rosdep update

由于这两条命令都会访问境外网站,有可能会出现超时错误;如果出现超时错误,可以参考如下两篇文章或者参考2.6.2小节

  1. rosdep update 超时失败2021最新解决方法 - CSDN
  2. ROS安装,解决sudo rosdep init和rosdep update超时错误 - CSDN

2.6.2、使用「鱼香ROS」配置 rosdepc(推荐)

针对2.6.1小节使用官方教程初始化 rosdep 可能出现的超时错误,我们可以使用鱼香社区提供的一键安装工具配置 rosdepc。执行以下命令以运行一键安装工具:

wget http://fishros.com/install -O fishros && . fishros

在这里插入图片描述
输入数字“3”即可一键配置 rosdepc。配置耗时约一分钟,随后输入密码完成配置:
在这里插入图片描述
执行以下命令以测试更新:

rosdepc update

rosdepc 使用国内的清华大学镜像源,可以保证不会出现超时问题:
在这里插入图片描述

3、验证 ROS Noetic

《(零)基础概念篇》Why Turtle 小节曾提到过“ROS 里面有一个 turtlesim 系统,就是受 LOGO 的海龟绘图系统启发,帮助人们学习 ROS 而设计的。”;而要验证 ROS 是否安装成功,就是使用这个系统来验证的。

  1. 首先我们在 Ubuntu 桌面使用 ctrl+alt+T 快捷键打开一个终端,然后使用 roscore 命令启动 ROS Master,如下图所示:
    在这里插入图片描述

  2. 启动完成之后,再新打开一个终端,使用 rosrun turtlesim turtlesim_node 命令运行 turtlesim 节点,它会打开一个包含一只小乌龟图标的新的窗口,如下图所示:
    在这里插入图片描述

    小乌龟图标是在当前及以往所有的 ROS 发行版本的小乌龟图标中随机一个出现

  3. 再新打开一个终端,使用 rosrun turtlesim turtle_teleop_key 命令运行 teleop_turtle 节点,它会读取键盘输入;此时我们就可以使用键盘上的上下左右方向按键控制小乌龟移动了,如下图所示:
    在这里插入图片描述

  4. 如果你能够通过键盘上的方向按键控制小乌龟移动,那么恭喜你,这意味着你已经成功安装了 ROS Noetic 了,就像下图这样:
    在这里插入图片描述

  5. 你可以使用 rosnode listrostopic list 命令查看使用到的 ROS Node 和 ROS Topic;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值