如何在 Ubuntu 中设置 MoveIt 2 Docker 容器

本指南将介绍如何快速设置带有 MoveIt 2 依赖项的 Docker 容器。 它包含一个 docker-compose 配置文件,可让您快速启动并运行 MoveIt! 本指南适用于希望拥有一个单独的环境来快速启动和运行 MoveIt 而无需进行大量配置的人。在本指南中,我们将设置 ROS2 Rolling 环境。

学习目标

  • 如何使用``docker compose``运行MoveIt 2 Docker容器和教程

要求

步骤

  1. 安装 Docker 和 docker compose(链接可在要求部分找到),并确保遵循 Linux Post Install 说明。如果您未完成这些附加步骤,则需要在所有 docker 命令前面加上 sudo

  2. 打开终端会话并下载 docker-compose.yml


wget https://raw.githubusercontent.com/moveit/moveit2_tutorials/main/.docker/docker-compose.yml

  1. 启动容器(如果使用 compose V1,则可能需要使用连字符连接“docker-compose”)


DOCKER_IMAGE=rolling-tutorial docker compose run –rm –name moveit2_container gpu

您可以将“rolling-tutorial”替换为其他标记图像,例如“humble-tutorial”。同样,如果您不想使用 Nvidia GPU 驱动程序运行,则可以将“gpu”替换为“cpu”,并且可以通过替换“moveit2_container”来更改容器的名称。 --rm 参数将在你停止(或退出)容器时删除容器,否则你可以将修改后的容器保留在磁盘上并使用 docker start moveit2_container 启动它

  1. 你现在应该在 Docker 容器内,在工作区目录中,完成 Planning Around ObjectsPick and Place with MoveIt Task Constructor 教程。继续尝试其中一个启动命令,例如“ros2 launch moveit2_tutorials demo.launch.py​​”

如果您希望通过另一个终端进入容器,请使用:


docker exec -it moveit2_container /bin/bash

进一步阅读

  • 有关 MoveIt 的 Docker 最佳实践的更多信息,

请参阅 PickNik 的 Vatan Aksoy Tezer 和 Brennard Pierce 的“这篇博文 <https://picknik.ai/ros/robotics/docker/2021/07/20/Vatan-Aksoy-Tezer-Docker.html>”_

标记图像与 ROS2 版本发布一致。容器的 release 版本提供了一个通过二进制文件安装 MoveIt 2 的环境。 Docker 镜像的 source 版本将从源代码构建 MoveIt 2。 您可以通过将 DOCKER_IMAGE 环境变量替换为来自上述链接的标签名称(如 rolling-source)来使用这些镜像中的任何一个,但您必须改用 docker-compose.yml <https://raw.githubusercontent.com/moveit/moveit2_tutorials/main/_scripts/docker-compose.yml>`_(只需将其复制到其他位置并在那里运行您的 ``docker compose 命令)。