机器人操作系统(ROS/ROS 2)的Docker应用
作者:Tobit Flatscher (2021 - 2024)
概述
本指南讨论了在Linux和Windows操作系统上使用**机器人操作系统(ROS/ROS 2)和Docker/Docker-Compose进行机器人开发的最佳实践。这包括显示图形用户界面**、使用硬件、实时代码以及多台机器的网络设置。此外,还将指导您完成Visual Studio Code的设置。
这个仓库曾是我编写的另一个关于Docker和实时应用程序的指南的一部分。由于一般Docker和ROS部分现在变得相当长,我决定将其提取出来,为其创建一个独立的仓库。
在Ubuntu 22.04上从Docker容器运行的ROS Indigo | 在Windows 10上使用WSL2从Docker容器运行的ROS Indigo |
本指南的结构
本指南分为以下几个章节:
- 动机:试图为公司或研究机构使用Docker提供充分理由。
- Docker和Docker-Compose简介:介绍基于容器开发的基本概念。
- Visual Studio Code设置:指导您完成Visual Studio Code的容器设置。
- 图形用户界面和Docker:讨论使用Docker时图形用户界面的挑战,并提供解决方案。
- ROS和Docker:讨论Docker和ROS/ROS 2的最佳实践。
- Windows上的Docker:在Windows的WSL2中运行Docker,并带有图形用户界面。
- 使用硬件:讨论使用硬件时的最佳实践。
examples/
文件夹包含不同的ROS和ROS 2示例(包括模拟和硬件访问),而templates/
文件夹提供了ROS和ROS 2的模板,您可以基于这些模板构建自己的工作空间。本指南还扩展了一个外部指南,介绍了使用PREEMPT_RT
的Docker实时应用程序,可以在这里找到。
获取副本
这个工作空间包含几个作为子模块的其他仓库。因此,请使用以下命令克隆它:
$ git clone --recurse-submodules https://github.com/2b-t/docker-for-robotics.git