Project: New GUI Widgets in Ignition Gazebo
Mentor: Alejandro Hernández Cordero
Student: Atharva Pusalkar
Link to GSoC project: https://summerofcode.withgoogle.com/projects/#5613104416686080
LinkedIn | Github
This summer I had the opportunity to work at Open Robotics as a Google Summer of Code (GSoC) student developer. I worked on the Ignition Gazebo simulator and the Ignition Rendering library to add new visualization capabilities for use in robotic applications.
I thank my mentor Alejandro Hernández Cordero, and the Open Robotics team for the constant guidance and for providing me with this opportunity.
The project involves adding new GUI features to visualize values coming from the physics engine of Ignition Gazebo. These features are particularly helpful while building new simulation worlds or tweaking robot properties. Visualization capabilities for robot inertia, the center of mass, and joints are included as well as rendering entities in transparent and wireframe modes.
Pull requests are created across two Ignition libraries - Gazebo and Rendering. New visual classes are first added to the Rendering library which is then consumed by the downstream Gazebo simulator. These classes can also be used by developers in their own independent projects and work for OGRE 1 and 2 rendering engines.
I hope that these features will further reduce the feature gap between Ignition Gazebo and Gazebo Classic, and help bring more people to the Ignition Robotics project.
Visualize an entity as a wireframe to debug 3D models.
Visualize an entity as transparent.
Get visual feedback on the inertial properties fed to the physics engine. Inertia is visualized as a purple box with unit mass with the same inertial behavior as the corresponding robot link.
Visualize the center of mass of a robot using its inertial properties. The CoM sphere represents a uniform ball of lead with the same mass as that of the robot link.
Visualize revolute, prismatic, universal joints, and more.
Here’s an example using the Explorer SubT robot:
A small demo is included with the source code of Ignition Rendering from Fortress.
I created a total of 9 main pull requests for the project.
|Center of mass visual||Rendering|
|Visualize center of mass||Gazebo|
These features will be included in the next major release of Ignition that is Fortress.
I was able to achieve all the proposed goals during the summer. Currently, I am working on integrating the ability to visualize contacts in the entity-context-menu.
The visualization capabilities added to Fortress will be used for developing new features such as model editor, interactive mode, and more. I plan to continue contributing to the Ignition Robotics project as well as ROS packages. I once again thank my mentor and the entire simulations team at Open Robotics for guiding me and reviewing my work.
I am excited to see my work being used by people in their simulations.
I am a final year undergraduate engineering student from DJ Sanghvi College of Engineering, University of Mumbai. Currently, I lead the driverless project at DJS Racing, the Formula Student team of my institute, where we are building an autonomous race car prototype. This was the beginning of my journey in robotics. Apart from this, I have also worked at a startup to develop autonomous navigation software for use in warehouse environments.
Lately, I have been exploring the domain of human-robot interaction. The idea of making robotics more accessible to people excites me a lot and was one of the contributing factors towards my motivation to work at Open Robotics this summer.