什么是ROS Noetic
在撰写本文时,ROS Noetic 是开源机器人操作系统 (ROS) 的最新可用版本;它只能安装在 Ubuntu 20.04 上,并提供 5 年的长期支持。它是一个软件框架,旨在帮助开发人员构建智能机器人。凭借一系列工具和直观的界面,ROS Noetic使快速机器人应用成为可能。
ROS的工具集合包括库、工具、仿真、可视化、驱动程序接口、消息传递系统、图形用户界面实现、调试框架和测试环境。
适用于 Ubuntu 20.04 LTS Linux 的 ROS Noetic 安装步骤
我们在本安装指南中执行的步骤也可用于其他基于 Ubuntu 20.04 Focal 的 Linux 发行版,例如 Linux Mint。但是,在撰写本文时,ROS 不支持 Ubuntu Jammy,因此 22.04 用户必须等待。
1. 打开终端窗口
要执行 ROS Noetic 的安装,我们需要一个命令终端和 sudo 用户访问。因此,请使用键盘快捷键 – Ctrl+Alt+T 或从所有应用程序在 Ubuntu 上运行终端应用程序。
2. APT软件包更新
为了减少兼容性错误并确保操作系统的稳定性和安全性,我们必须不时更新它。因此,在继续之前,让我们在 Ubuntu 20.04 上运行系统更新命令。
sudo apt update && sudo apt upgrade
如果您还没有 CURL,请同时安装 CURL。
sudo apt install curl -y
3. 添加 ROS Noetic 包仓库
ROS Noetic 是一个免费的开源应用程序,但无法使用 Ubuntu 20.04 LTS 的默认软件包存储库进行安装。因此,我们需要将 packages.ros.org 添加到我们的源列表中。为此,请使用给定的命令:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
4. 在 Ubuntu 上添加 ROS Noetic Key 20.04
好吧,我们已经添加了存储库,我们可以从中下载启动 ROS Noetic 安装过程所需的软件包,但如果没有公钥,它将无法工作。这是因为系统要求它验证其包源。
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
在进一步刷新 APT 包管理器索引缓存之前,请再次:
sudo apt update
5. 在 Ubuntu 上安装 ROS Noetic 20.04
机器人操作系统的开发者在不同的 Debian 软件包包中提供它,以便用户只能拥有他或她需要的东西。以下是要讨论的关键问题:
完整的 RODS 桌面安装
您将拥有一整套工具和库,包括 2D/3D 模拟器和 2D/3D 感知包。要安装的命令是:
sudo apt install ros-noetic-desktop-full
ROS桌面版
此桌面软件包将提供所有基本的 ROS 工具和库,包括 rqt 和 rviz,但没有 GUI。
sudo apt install ros-noetic-desktop
ROS底座
在这里,你不会找到像上面两个讨论包那样的 GUI,但所有必要的 ROS 工具和库都在那里,用于打包、构建和通信。
此外,如果需要,我们可以安装 ROS Noetic 的单个软件包,以了解可以使用哪些可用软件包来搜索它们:
apt search ros-noetic
上面的命令将打印前缀 “” 下可用的所有软件包列表。ros-noetic
6. ROS环境变量的设置
我们需要将 “” 下可用的脚本添加到我们的系统路径中。这样做的主要目的是设置 ROS 使用的环境变量。Setup.bash
/opt/ros/noetic/setup.bash
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
7. Rosdep 命令
Rosdep 是我们在通过源代码为 ROS 编译一些新工具时安装依赖所需的命令工具。在ROS中运行一些核心组件也很重要。因此,请使用:
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
初始化 Rosedp
sudo rosdep init
sudo rosdep fix-permissions
要使用它,这里是语法
rosdep <参数>
例:
rosedep update
寻求帮助:
rosedep --help