Skip to content
Henning Wiedemann edited this page Apr 11, 2023 · 3 revisions

Blender

Blender is a feature-rich, mature open-source 3D modelling and animation software that comes with an extensive and flexible Python scripting API. Using this API, it is possible to script almost any feature available from the GUI, thus allowing to automate repetitive tasks or simplify complex editing procedures.

Phobos is built upon a set of scripts which were originally created to use the power of Blender for modelling MARS scenes, i.e. the original scene format used in the MARS simulation. With the decision to switch our kinematics representation to URDF and embed it in a new hierarchical format to store all other relevant information, we also decided to harness the power of Blender and create a fully-fledged add-on with its own GUI for Blender.

git

Although Phobos does not directly present git powers to everyone using it, Phobos provides many useful features that make it a git winning tool. If you put the export folder of your Phobos Blender model under git surveillance, you can make use of these things amongst others:

  • diffing different export versions (URDF, SDF, SMURF) against each other
  • use branches for different versions

- edit the README.md from within Blender

Warning: Blender files and many mesh files are binary and thus cannot be diffed by git. It has been good practice to keep the blender file in the Large File Storage (git-lfs) the same applies for mesh files

You can use phobos setup_git --help to make a model directory ready for git.

MARS

Phobos was originally developed to create models for MARS, a realtime physics simulation that has been developed at the German Research Center for Artificial Intelligence's Robotics Innovation Center (DFKI-RIC) in Bremen in collaboration with the University of Bremen. It uses the Open Dynamics Engine (ODE) to calculate rigid body physics and OpenSceneGraph (OSG) for visualization. MARS is very easily extendable through its plugin architecture and can be used within other applications, as it is by the Rock robotics framework.

MARS is open-source and has its own repository on GitHub.

MARS is compatible with two different representations of robot models: its classic MARS scene and the newly-developed Supplementable Mostly Universal Robot Format (SMURF). While MARS scene files (as described in the MARS documentation) are still valid and will still be compatible, the future development of MARS will focus on SMURF as its preferred format and thus Phobos is being developed partly for editing of SMURF-models. For this reason, no future feature implementations related to MARS scenes are planned. However, a lot of the functionality provided by Phobos (such as batch-editing) can be used for editing old blender files of MARS scenes as well.

GAZEBO

GAZEBO is the simulator which is also mainly used in the ROS world. Besides URDF Gazebo prefers the usage of SDF files. See the GAZEBO Sim website for further information.

pyBullet

pyBullet is the python version of the Bullet simulator which deals with URDF and SDF files. See the pyBullet website for further information.

Clone this wiki locally