Ignition Robotics 项目

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

项目摘要

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

Project description

动机

借助 Ignition Physics 库,您可以灵活使用移植到 Ignition Gazebo 模拟后端的物理引擎。许多外部物理引擎都可以作为插件(由不同功能集组成)根据其功能和应用上下文来适应该库,以支持 Gazebo 模拟。不过,该库目前的阶段不提供以下功能:

  • 有关创建使用自定义物理引擎来支持模拟的自定义物理插件的全面教程
  • 连贯的 API 文档

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

说明

此项目有两个主要目标:

  • 创建有关创建与当前库 API 交互的自定义物理插件的详细教程。
  • 完善当前的库 API 文档,以便进行维护和协作。

目前,DART 是此库的唯一支持的物理引擎。因此,本教程将围绕 DART 展开。我们将考虑以下初始教程:

  1. 简介:介绍了 Ignition Physics 库的概要架构、支持的物理引擎和目标。
  2. 安装:引导用户根据应用上下文选择是否安装必要的物理引擎。本教程还演示了每个物理引擎插件针对特定模拟进行自适应的示例配置。
  3. DART 插件用法:描述在 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 年 GSoD 之后:我想与 Ignition Robotics 保持联系,以进一步改进和维护我的作品。

最后的备注

请务必修改 Ignition Physics 首页上的当前 README.md,因为使用 apt-get 进行二进制文件安装在 Ubuntu 18.04 上不起作用。由于格式不正确,源代码安装部分也需要修改。