Проект «Зажигание робототехники»

На этой странице содержится подробная информация о проекте технического написания, принятом для участия в Google Season of Docs.

Краткое описание проекта

Организация с открытым исходным кодом:
Зажигание Робототехника
Технический писатель:
Тай Ле
Название проекта:
Учебные пособия по физике зажигания и документация по API
Длина проекта:
Стандартная продолжительность (3 месяца)

Описание проекта

Мотивация

Библиотека Ignition Physics позволяет гибко использовать физические движки, переносимые на серверную часть моделирования Ignition Gazebo. Многие внешние физические движки можно адаптировать к библиотеке в виде плагинов, состоящих из различных наборов функций в соответствии с их возможностями и контекстами приложений, чтобы обеспечить симуляцию беседки. Однако текущий этап библиотеки не обеспечивает:

  • подробные руководства по созданию пользовательских плагинов физики, которые используют собственные физические движки для моделирования.
  • последовательная документация по API

Это предложение направлено на решение этих проблем для лучшего обслуживания проекта и более принципиального руководства новыми участниками и пользователями. Подробности процесса документирования будут обсуждаться в следующем разделе, а затем последует этапный раздел, посвященный планированию сроков завершения проекта. Наконец, упоминаются некоторые примечания к текущей документации.

Описание

Этот проект преследует две основные цели:

  • Создайте подробные руководства по созданию собственного плагина физики, взаимодействующего с текущим API библиотеки.
  • Улучшите текущую документацию по API библиотеки для целей обслуживания и совместной работы.

В настоящее время DART является единственным поддерживаемым физическим движком этой библиотеки. Следовательно, учебные пособия будут вращаться вокруг DART. Эти начальные учебные пособия будут рассмотрены:

  1. Введение : описывает высокоуровневую архитектуру библиотеки физики зажигания, поддерживаемые физические движки и цели.
  2. Установка : помогает пользователю при необходимости установить необходимые физические движки в зависимости от контекста приложения. В этом руководстве также демонстрируются примеры конфигураций для каждого плагина физического движка для адаптации к конкретной симуляции.
  3. Использование плагина DART : описывает пример использования физического движка DART при моделировании Gazebo. Учебное пособие состоит из последовательности выполнения и настройки для запуска этой библиотеки в качестве серверной части для моделирования Gazebo в конкретной примерной среде.
  4. Создать собственный плагин : помогает новому пользователю или разработчику создать собственный плагин на основе пользовательского физического движка с помощью некоторых форм файлов конфигурации (возможно, шаблонов классов) и разработать интерфейс между API физического движка и API этой библиотеки. Некоторые проверки работоспособности можно отметить в конце руководства.
  5. Использование нескольких плагинов при моделировании (нужно обсуждение) : описывает, как одновременно использовать несколько плагинов во время выполнения для примера моделирования.

Дальнейшее планирование структуры, описаний и содержания учебных пособий будет обсуждаться в период взаимодействия с сообществом. Действительно, автор этих учебных пособий должен убедиться в достоверности шагов учебного пособия перед слиянием с репозиторием.

Для документации API можно адаптировать стиль документации Google C++ для этой библиотеки. Например, все классы должны иметь описание уровня класса. Более того, все публичные функции должны быть задокументированы с описанием, всеми их аргументами, а также возможными возвращаемыми значениями и исключениями. Полезно, чтобы наиболее важные классы (например, dartsim::RetrieveWorld, Feature и т. д.) были задокументированы первыми, поскольку это более простой подход «сверху вниз». Дальнейший стиль документации, важная идентификация классов будут обсуждаться в период взаимодействия с сообществом.

Вехи

В этом разделе планируются первоначальные сроки достижения упомянутых целей проекта. Планирование времени следующее:

  • 17 августа – 13 сентября: Сплочение сообщества:

    1. Организуйте встречи для определения объемов проекта и планирования обучения, а также ожиданий как от автора, так и от наставников.
    2. Взгляните на общую картину исходного кода Ignition Physics.
  • 14 сентября – 31 октября: Составьте проекты упомянутых руководств с периодическими уточнениями между наставниками и автором посредством встреч.

  • 1–30 ноября: Напишите документацию по API для наиболее важных классов и скомпилируйте документацию с помощью Doxygen.

  • 1 декабря – 5 декабря: Напишите отчет по проекту.

  • После GSoD 2020: Я хотел бы оставаться на связи с Ignition Robotics, чтобы и дальше улучшать и поддерживать свои работы.

Заключительные замечания

Крайне важно пересмотреть текущий README.md на первой странице Ignition Physics , поскольку бинарная установка с использованием apt-get не работает в Ubuntu 18.04. Раздел установки исходного кода также нуждается в доработке из-за неправильного форматирования.