Webots 项目

本页面包含有关 Google 文档季可接受的技术写作项目的详细信息。

项目摘要

开源组织:
Webot
技术文档工程师:
软错觉频道
项目名称:
面向 Webot 的视频教程系列(与 ROS2 集成)
项目时长:
标准时长(3 个月)

Project description

经验:

此视频教程系列将帮助新用户在使用 Webots 时尽可能地获得最佳体验,并为观看者提供清晰的分步解决方案,以实现特定的模拟。

目标:

在本系列课程结束时,观众将能够制作基本的 ROS2 节点,与 Webots 互动,并获得在移动机器人中开展高级项目的信心。这个视频系列还将从理论上解释机器人领域的几个重要概念。

视频系列详细信息:

  1. 在 Visual Studio Code 中安装和设置 ROS 2 代码库。 这包括以命令方式安装 ROS2 及其运行的基础知识。其次,还包括在 VS 代码上设置 ROS 工作区,以及设置 VS Code 中基本标签页的功能。

  2. 基本的 ROS2 和 Webots 示例。 我们将使用一些 Webots ROS2 示例吸引观看者了解,如果结合使用 ROS2 和 Webots 进行模拟,会创造出什么样的奇妙体验。其中还包括 ROS2 和 Webots 之间通信的基本理论。

  3. 使用 ROS2 服务与 Webot 进行交互。 介绍 ROS 服务的基础知识,讲解 ROS 和 ROS2 服务之间的区别。其次,展示有关调用服务以及启用传感器主题来读取数据以及启用致动器来实现运动的分步教程。

  4. 使用 ROS2 Publisher 控制自定义机器人。了解如何使用 ROS2 发布者向 Webots 发布消息。我们可以实现一个控制机器人动作的示例,只需将键盘输出发布到主题中,即可让 ROS 服务在 Webot 中实现动作。

  5. 通过 ROS2 订阅者获取来自机器人的反馈。在本视频中,我们将订阅距离传感器的传感器读数,并在机器人即将发生碰撞时停止机器人。从根本上来讲,这是一个发布互动消息的规避节点。

  6. 使用 ROS2 的主(发布商)从(订阅者)漫游器。 在本视频中,我们将使用键盘控制一个机器人,并让另一个机器人远离手动机器人。类似于小偷和警察的场景 :) [这将是 3、4、5 个视频的延续]。这样,观看者就可以测试沟通效果,但如果 ROS 中存在问题,模拟过程就会出现瑕疵。

  7. 设置 Rviz(显示不同的传感器输出)。 在本视频中,我们将添加一些其他传感器,并在 Rviz 上发布它们的数据。视频结束时,观看者将能够设置 Rviz(例如添加激光雷达、相机等传感器以实现可视化),保存配置并下次生成已保存的配置。

  8. 调试视频(Rostopic echo、Rostopic 信息、RQT_graph)。 这段视频将包含一些刻意的错误功能,以帮助您了解调试方法。我们将按照一个流程查看 RQT 图表,了解哪些主题导致了该问题。使用 rostopic echo 检查主题是否已发布,并在最后检查 rostopic 信息以了解我们的问题。解决问题并实现正常功能。

  9. 调试视频(rqt_console, rqt_gui) 在本视频中,Ros 消息(info, debug, error, etc) 将在节点中使用,并介绍了如何使用 rqt_console。该视频还将扩展为使用 rqt_gui 来发布虚拟消息,以获得所需功能。这是一种修复某些 bug 的替代方法。

  10. 高级主题视频:关于在未知环境(SLAM 工具箱或 LaMa)中集成 SLAM 库 [第 1 部分] 此视频将从 SLAM 问题的基本理论开始。之后,我们将使用前面讲授的概念基础设施来了解该项目的关键。最后,我们将通过终端生成必要的节点,然后在 Rviz 中看到映射输出。

  11. 高级主题视频:关于在未知环境(SLAM 工具箱或 LaMa)中集成 SLAM 库 [第 2 部分] 在本视频中,我将是第 10 部视频的延续,介绍如何创建一个启动文件来一起启动所有节点,并检查 rqt_graph,从而正确理解 ROS 框架中的概念。最后,我们将使用地图服务器保存软件包生成的地图。

  12. 高级主题视频:谈论 OpenCV(AR 标记检测,Ar_track_alvar 软件包)的集成 [第 1 部分] 该视频将首先介绍 AR 标记的定义及其在使用计算机视觉进行本地化中的重要性。然后,以 AR 轨道 Alvar 软件包的运作方式为基础。这有助于从总体上了解项目。最后,我们会提供从 Webots 流向 ROS 主题的视频帧流。

  13. 高级主题视频:介绍 OpenCV(AR 标记检测、Ar_track_alvar 软件包)集成 [第 2 部分] 此视频是第 12 部视频的延续,本视频将是第 12 部视频的延续,其中 12 部视频将使用上述图像流,我们还将发布机器人与 AR 标记之间的转换主题,您可以在 Rviz 上观看。最后,当我们移动机器人时,我们会看到不同的标记所在的位置,以及它们在 Rviz 和 rostopic 消息中的位置也发生了变化。

总结:

此 GSOD 项目是一个自给自足的软件包,可让用户基本了解 ROS2 与 Webot 的集成。该软件包还将涵盖 ROS2 中概念的实际实现,例如主题、服务、节点、启动文件、发布者、订阅者、不同的调试工具以及 VS 代码的使用。 这还将涉及 SLAM 和 OpenCV 等高级主题项目。这将为观看者提供使用 ROS2 和 Webots 进行端到端工作的范式。