安装(Windows) [3733]

**目标:**在Windows上安装``webots_ros2``包并运行仿真示例。 [3734]

教程级别: 高级 [16408]

时间: 10分钟 [16421]

背景 [16410]

webots_ros2``包提供了ROS 2和Webots之间的接口。它包括多个子包,其中包括``webots_ros2_driver,它允许ROS节点与Webots进行通信。其他子包主要是示例,展示了使用该接口的多种可能实现。在本教程中,您将安装该包并学习如何运行其中一个示例。 [3735]

先决条件 [16411]

建议您先了解入门级ROS原理,详情请参阅初学者 教程 [3059]。特别是 创建一个工作空间 [4428]创建软件包 [4496] 是有用的先决条件。 [3665]

使用``webots_ros2``包需要先安装Webots。您可以按照`安装过程 <https://cyberbotics.com/doc/guide/installation-procedure>`_ 进行安装,或者从源代码构建(从源代码构建)。 [3736]

另外,您也可以让``webots_ros2``自动下载Webots。当您启动包中的示例并且没有找到Webots安装时,将会出现此选项。 [3737]

Webots的多个安装 [3721]

如果您安装了多个版本的Webots,ROS 2将按照以下顺序查找Webots所在位置: [3738]

  1. 如果设置了``ROS2_WEBOTS_HOME``环境变量,ROS 2将使用此文件夹中的Webots,而不考虑其版本。 [3723]

  2. 如果设置了``WEBOTS_HOME``环境变量,ROS 2将使用该文件夹中的Webots,而不管其版本如何。 [3724]

  3. 如果前述方法均未设置或安装,ROS 2将在兼容版本的默认安装路径``C:Program FilesWebots``中查找Webots。 [3739]

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

任务 [16427]

1 安装WSL2 [3741]

在Windows上,使用WSL(Windows子系统Linux)与本机Windows安装相比,可以提升ROS 2的用户体验,因为它在Linux平台上运行。使用与您的ROS发行版兼容的Ubuntu版本安装WSL,并按照`官方Microsoft教程 <https://learn.microsoft.com/en-us/windows/wsl/install>`_ 升级到WSL2。 [3742]

2 在WSL中安装ROS 2 [3743]

在Ubuntu WSL中安装ROS 2,按照 Ubuntu (Debian 包) [17741] 进行操作。 [3744]

3 安装``webots_ros2`` [3690]

您可以选择从官方发布的软件包中安装 webots_ros2,或者从 Github 的最新源代码中安装。 [3745]

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

在终端中运行以下命令。 [3729]

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

4 启动``webots_ros2_universal_robot``示例。 [3702]

WSL暂时不支持硬件加速。因此,在WSL内部运行ROS部分时,Webots应该在Windows上启动。为此,必须在WSL环境中运行以下命令。 [3747]

如果尚未完成,请先启动ROS 2环境。 [3706]

source /opt/ros/humble/setup.bash

设置``WEBOTS_HOME``环境变量可以让您启动特定的Webots安装(例如``C:Program FilesWebots``)。使用挂载点"/mnt"来引用本机Windows上的路径。 [3748]

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

如果是从源代码安装的,请先启动ROS 2工作区。 [3707]

cd ~/ros2_ws
source install/local_setup.bash

使用ROS 2启动命令来启动演示包(例如``webots_ros2_universal_robot``)。 [3709]

ros2 launch webots_ros2_universal_robot multirobot_launch.py

5 RViz故障排除 [3749]

在最新版本的WSL2上,RViz应该可以直接使用。 [3750]

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

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

使用 Tiago 机器人可以进行以下控制操作: [3752]

ros2 run teleop_twist_keyboard teleop_twist_keyboard

在较旧的 WSL 版本中,RViz2 可能无法直接工作,因为没有可用的显示。要使用 RViz,您可以升级 WSL 或启用 X11 转发。 [3753]

在 Windows shell 中: [3755]

wsl --update