GSoD 2020: Ignition Physics tutorial and API documentation

Organization: Ignition
Mentor: Claire Wang, Steven Peters
Student: An Thai Le (github.com/anindex)
Link to GSoD project: https://developers.google.com/season-of-docs/docs/participants/project-ignitionrobotics-anthaile

Hi everyone!

I was so excited to have the opportunity to work on the Ignition Physics tutorial and API documentation under the Google Season of Docs 2020 program with Ignition. I enjoyed working on the project and I have learned a lot about how to write comprehensive tutorials introducing new users/developers to the project. I would like to thank my mentors @claireyywang and @scpeters for their support and guidance throughout the project. It has been a great experience for me.

Project Description

Ignition Physics library is an interface between physics engines and Ignition Gazebo simulation, offering flexibility and abstraction. Feature plugins for different physics engines can be created to power Ignition Gazebo simulation based on user needs.

The lack of tutorials and API documentation presents a significant barrier for users and developers to use and contribute to the Ignition Physics library. This motivates the project to achieve:

  • creating comprehensive tutorials on how to use and how to develop new physics plugins in Ignition Physics.
  • writing API documentation for the most important features/classes and functionalities of Ignition Physics.

Tutorial design

We divide the tutorials into the user section and developer section with an increasingly advanced level. The tutorial set consists of:

We expect this tutorial design makes it easier for the simulation community to incorporate Ignition Physics into their project while drawing an intuitive big picture of Ignition Physics for newcomers. This eases out starting points and enhances its visibility in the simulation community.

API documentation

The API documentation guides the new developers on how to use/include the most important and common features/classes of Ignition Physics in their downstream code developments. Of course, there is some API documentation that we leave behind due to time constraint, please feel free to contribute changes/new documentation to ign-physics.

The link to the API documentation: https://ignitionrobotics.org/api/physics/3.1/annotated.html#

Overall, I think most of the project goals are met and it does help me a lot in learning the proper documentation in engineering. I also feel fortunate that the project goes surprisingly smoothly for me. There is a saying that “nothing is more practical than good documentation” (maybe I make it up :slight_smile: ), which I completely agree with in engineering because otherwise, we cannot work together in complex coordination scenarios. So I hope our work could benefit Ignition and the simulation community in general.

About me

My name is An Thai Le. I am currently a Master student at the University of Stuttgart. I am also a research intern at the Bosch Center of Artificial Intelligence in Germany. My research is mainly in robotics control and modeling. Before this year GSoD, I was a student taking part in GSoD 2019, GSoC 2018, and GSoC 2017. You can find my personal website here.

9 Likes

Thank you very much for the effort. Good documentation is extremely important for the community :trophy:

3 Likes