Webots 项目

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

项目摘要

开源组织:
Webots
技术文档工程师:
柔化幻觉通道
项目名称:
Webots 视频教程系列(与 ROS2 集成)
项目时长:
标准时长(3 个月)

Project description

经验:

通过本视频教程系列,新用户可以尽可能顺利地开始使用 Webots,并为观看者提供清晰的分步解决方案,以实现特定的模拟。

目标:

学完本系列课程后,观看者将能够创建基本 ROS2 节点并与 Webots 交互,还能信心十足地在移动机器人中进行高级项目开发。此视频系列还将对机器人领域的几个重要概念进行深入的理论阐释。

视频系列详情:

  1. 在 Visual Studio Code 中安装 ROS 2 并设置存储库。其中包括 ROS2 的命令式安装以及其工作原理的基础知识。其次,还将介绍如何在 VS Code 中设置 ROS 工作区以及 VS Code 中基本标签页的功能。

  2. 基本 ROS2 和 Webots 示例。 我们将使用一些 Webots ROS2 示例来吸引观看者,让他们了解将 ROS2 与 Webots 搭配使用进行模拟时可以实现哪些奇妙的效果。本课程还将介绍 ROS2 和 Webots 之间通信的基本理论。

  3. 使用 ROS2 服务与 Webot 互动。 介绍 ROS 服务的基础知识,说明 ROS 和 ROS2 中的服务之间的区别。其次,展示分步教程,介绍如何调用服务,以及如何为读数启用传感器主题和为动作启用执行器。

  4. 使用 ROS2 发布端控制自定义机器人。 了解如何使用 ROS2 发布端将消息发布到 Webots。我们可以通过将键盘输出发布到某个主题来实现控制机器人运动的示例,然后 ROS 服务可以使用该主题在 Webots 中进行运动。

  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 等),并探讨如何使用 rqt_console。本视频还将扩展为使用 rqt_gui 发布虚构消息,以实现所需功能。这可以作为修复某些 bug 的替代方法。

  10. 高级主题视频:关于在未知环境中集成 SLAM 库(SLAM 工具箱或 LaMa)[第 1 部分] 此视频将从 SLAM 问题的基本理论入手。然后,我们将使用上述所学概念来了解该项目的核心。最后,我们将通过终端生成必要的节点,并在 Rviz 中查看映射输出。

  11. 高级主题视频:关于在未知环境中集成 SLAM 库(SLAM 工具箱或 LaMa)[第 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 个视频的延续,该软件包将使用上述图像流,并将发布机器人和 AR 标记之间的转换主题(可在 Rviz 上观看)。最后,当我们移动机器人时,我们会看到不同的标记在 Rviz 和 rostopic 消息中的位置和位置发生变化。

总结:

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