目录
前言
本系列文章是由笔者翻译自ROS 2 官方教程。笔者水平有限,如有错误,还请读者指正。
本系列文章列出的部分命令为 Liunx 下,使用 Windows 或 MacOS 的读者可前往官方教程查询。
ROS 2 Iron lrwini 在Ubuntu Jammy (22.04)上是可用的。
补充资源
系统配置
设置区域
确保你的区域设置中支持 UTF-8 编码。如果你正在运行一个最小系统环境(例如: docker 容器),区域设置可能是 POSIX 之类的最小化设置。本篇教程使用如下设置:
locale # check for UTF-8
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale # verify settings
但是如果你使用其他支持 UTF-8 编码的区域设置也是可以的。
启用需要的代码仓库
你将会需要在你的系统之中添加 ROS 2 apt 仓库。
首先你需要确认 Ubuntu 仓库处于启用状态。
sudo apt install software-properties-common
sudo add-apt-repository universe
现在使用 apt 添加 ROS 2 GPG 密钥。
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
然后在你的源列表中添加 ROS 2 仓库。
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
安装开发工具(可选的)
如果你想构建 ROS 包或是其他开发工作,你可以同时安装开发工具:
sudo apt update && sudo apt install ros-dev-tools
安装 ROS 2
在设置仓库之后更新你的 apt 仓库缓存。
sudo apt update
ROS 2 包在频繁更新的 Ubuntu 系统上构建。我们建议你在安装新的包之间确保你的系统是最新的。
sudo apt upgrade
警告:
由于 Ubuntu 22.04 之前的更新,在安装 ROS 2 之前请确保 systemd 和 udev 有关的包是最新的。在没有更新过的新系统上安装 ROS 2 的依赖可能会触发关键系统包的删除。
桌面安装(推荐):ROS ,RViz(可视化平台),例程,教程。
sudo apt install ros-iron-desktop
基础安装(核心):通信库,消息包,命令行工具。没有 GUI 工具。
sudo apt install ros-iron-ros-base
安装另外的中间件(可选的)
ROS 2 默认中间件是 Fast DDS,但中间件是可被替换的。详见使用多中间件的教程。
配置环境
详见 ROS 2 Iron 教程 第一章 CLI Tools 第一节 配置环境。
尝试一些示例
如果你上面选择安装了 ros-iron-desktop 那么你就可以尝试一些示例。
在一个终端,添加启动文件然后运行一个 C++ talker :
source /opt/ros/iron/setup.bash
ros2 run demo_nodes_cpp talker
在另一个终端添加启动文件后运行一个 Python listener :
source /opt/ros/iron/setup.bash
ros2 run demo_nodes_py listener
你应该可以看到 talker 说他正在发布消息,listener 说我听到了这些消息。这证明 C++ 和 Python API 都运行的很好。
使用ROS 1桥(可选的)
ROS 1 桥可以连接 ROS 1 和 ROS 2 之间的话题,反之亦然。详见 ROS 1 桥配置文档。
卸载
如果你需要卸载 ROS 2 或是从二进制源文件安装切换至源代码安装,运行如下命令:
sudo apt remove ~nros-iron-* && sudo apt autoremove
你可能同时想要移除仓库:
sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update
sudo apt autoremove
# Consider upgrading for packages previously shadowed.
sudo apt upgrade