Ignition Robotics 项目

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

项目摘要

开源组织:
Ignition Robotics
技术文档工程师:
Thai Le
项目名称:
Ignition Physics 教程和 API 文档
项目时长:
标准时长(3 个月)

Project description

动机

通过 Ignition Physics 库,您可以灵活使用物理引擎,并将其移植到 Ignition Gazebo 模拟后端的后端。许多外部物理引擎可根据其功能和应用环境,作为由不同功能集组成的插件调整库,以便为观景亭模拟提供支持。不过,该库的当前阶段不提供以下内容:

  • 有关创建使用自定义物理引擎为模拟提供支持的自定义物理插件的综合教程
  • 一致的 API 文档

此方案旨在解决这些问题,从而更好地进行项目维护,并以更加原则性的方式指导新的贡献者和用户。我们将在下一部分详细介绍文档流程,随后是里程碑部分,用于规划完成项目所需的时间范围。最后,这里还有关于当前文档的一些说明。

说明

此项目有两个主要目标:

  • 创建详细教程,介绍如何创建与当前库 API 进行交互的自定义物理插件。
  • 完善当前库 API 文档,以实现维护和协作目的。

目前,DART 是该库唯一支持的物理引擎。因此,本辅导手册将围绕 DART 进行。请考虑以下初始教程:

  1. 简介:介绍 Ignition Physics 库的概要架构、支持的物理引擎和目标。
  2. 安装:根据应用上下文,引导用户选择性地安装必要的物理引擎。本教程还演示了用于调整特定模拟的每个物理引擎插件的示例配置。
  3. DoubleClick 插件用法:介绍了在 Gazebo 模拟中使用 DART 物理引擎的示例。本教程包含一系列执行和配置,用于启动此库,作为在特定示例环境中 Gazebo 模拟的后端。
  4. 创建自定义插件:指导新用户或开发者通过某些形式的配置文件(可能是类模板)基于自定义物理引擎创建自定义插件,并开发物理引擎 API 和此库 API 之间的接口。本教程末尾处列出了一些健全性检查。
  5. 在模拟中使用多个插件(需要讨论):介绍如何在运行时同时使用多个插件进行示例模拟。

在社区凝聚期中,我们将讨论关于教程结构、说明和内容的进一步规划。确实,这些教程的作者必须先确保教程步骤的有效性,然后才能合并到代码库。

对于 API 文档,可以调整为此库的 Google C++ 文档样式。例如,所有类都必须具有类级别说明。此外,所有公共函数都必须记录有说明、所有参数,以及可能的返回值和异常。最好先将最重要的类(例如 dartsim::RetrieveWorld、Feature 等)记录为一种更简单的自上而下方法。我们将在社区关联阶段讨论更深入的文档风格以及重要的类识别。

Milestones

本部分计划首先介绍实现上述项目目标的时间安排。时间计划如下:

  • 8 月 17 日至 9 月 13 日:促进社区凝聚:

    1. 召开会议,明确项目范围、教程规划以及写手和导师的预期。
    2. 大体了解 Ignition Physics 源代码。
  • 9 月 14 日至 10 月 31 日:起草上述教程,并在导师和作者之间通过会议进行迭代优化。

  • 11 月 1 日至 11 月 30 日:为最重要的类编写 API 文档,并使用 Doxygen 编译文档。

  • 12 月 1 日至 12 月 5 日:撰写项目报告。

  • 在 2020 年 Google 开发者大会之后:我想继续与 Ignition Robotics 保持联系,以便进一步改进和维护我的作品。

最后说明

请务必修改 Ignition Physics 首页上的当前 README.md,因为使用 apt-get 安装二进制程序在 Ubuntu 18.04 上无法正常运行。由于格式不正确,源安装部分也需要修订。