警告

您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.

安装(视窗)

目标 安装 webots_ros2 软件包,并在 Windows 上运行模拟示例。

辅导水平: 高级

时间 10 分钟

背景介绍

"(《世界人权宣言》) webots_ros2 包提供了 ROS 2 和 Webots 之间的接口。它包括几个子软件包,其中包括 webots_ros2_driver允许 ROS 节点与 Webots 通信。其他子软件包主要是示例,展示了使用该接口的多种可能实现方式。在本教程中,您将安装该软件包,并学习如何运行其中一个示例。

先决条件

建议先了解初级课程中涉及的 ROS 基本原理。 教程.特别是 创建工作区创建软件包 是有用的先决条件。

Webots 是使用 webots_ros2 包装。您可以按照 安装程序从源头构建.

或者,您也可以让 webots_ros2 自动下载 Webots。当您启动软件包示例,但未找到 Webots 安装时,就会出现该选项。

多个 Webots 安装

如果安装了多个 Webots,ROS 2 将在以下位置查找 Webots(按此顺序):

  1. 如果 ros2_webots_home 环境变量,ROS 2 将使用该文件夹中的 Webots,无论其版本如何。

  2. 如果 WEBOTS_HOME 环境变量,ROS 2 将使用该文件夹中的 Webots,无论其版本如何。

  3. 如果没有设置/安装前述任何一项,ROS 2 将在默认安装路径中查找兼容版本的 Webots: C:\Program Files\Webots.

  4. 如果找不到 Webots、 webots_ros2 将显示一个窗口,提供 Webots 最新兼容版本的自动安装。

任务

1 安装 WSL2

在 Windows 系统中,WSL(Windows Subsystem for Linux)可以改善 ROS 2 的用户体验,因为它是在 Linux 平台上运行的。将 WSL 安装到与你的 ROS 发行版兼容的 Ubuntu 版本,然后按照以下步骤升级到 WSL2 微软官方教程.

2 在 WSL 中安装 ROS 2

在 Ubuntu WSL 中安装 ROS 2,步骤如下 乌班图(Debian).

3 安装 webots_ros2

然后,您可以安装 webots_ros2 从官方发布的软件包中安装,或从以下网站的最新源代码中安装 Github.

必须在 WSL 环境中运行以下命令。

在终端中运行以下命令

sudo apt-get install ros-foxy-webots-ros2

4 启动 webots_ros2_universal_robot 范例

WSL 尚不支持硬件加速。因此,Webots 应在 Windows 上启动,而 ROS 部分则在 WSL 内运行。为此,必须在 WSL 环境中运行以下命令。

如果还没有创建 ROS 2 环境,请先创建。

source /opt/ros/foxy/setup.bash

设置 WEBOTS_HOME 环境变量允许您启动特定的 Webots 安装(例如 C:\Program Files\Webots).在本地 Windows 中,使用挂载点"/mnt "来指代路径。

export WEBOTS_HOME=/mnt/c/Program\ Files/Webots

如果是从源代码安装的,请将您的 ROS 2 工作区作为源代码(如果尚未这样做)。

cd ~/ros2_ws
source install/local_setup.bash

使用 ROS 2 启动命令启动演示软件包(例如 webots_ros2_universal_robot).

ros2 launch webots_ros2_universal_robot multirobot_launch.py

5 RViz 故障排除

使用最新版本的 WSL2,RViz 应该可以正常工作。

例如,您可以运行任何使用 RViz 的示例来检查它是否正常工作:

sudo apt install ros-foxy-slam-toolbox
ros2 launch webots_ros2_tiago robot_launch.py rviz:=true slam:=true

Tiago 机器人可通过以下方式进行控制:

ros2 运行 teleop_twist_keyboard teleop_twist_keyboard

对于旧版本的 WSL,RViz2 可能无法直接使用,因为没有显示屏。要使用 RViz,可以升级 WSL 或启用 X11 转发。

在 Windows 外壳中:

wsl --update