An add-on for Blender allowing to create URDF, SDF and SMURF robot models in a WYSIWYG environment.
Phobos is an add-on for the open-source 3D modeling software Blender that enables the creation of WYSIWYG robot models for use in robot frameworks like ROS and ROCK or in real-time simulations such as MARS or Gazebo. Phobos exports formats such as URDF, SDF or SMURF and common mesh formats (Stereolithography (.stl), Wavefront (.obj) or Collada (.dae)).
Phobos was initiated and is currently developed at the Robotics Innovation Center of the German Research Center for Artificial Intelligence (DFKI) in Bremen, together with the Robotics Group of the University of Bremen.
Please contact Kai von Szadkowski for any inquiries, or any questions and feedback not suited for the issues page.
Phobos has been published in the Journal of Open Source Software. We ask users to cite the use of Phobos, as it allows us to keep the project alive.
When citing, please provide this information:
If you are on the hunt for a BiBTeX entry, check out the FAQ section.
Please refer to the Wiki's installation page.
Gathering the information where to install Phobos is not working well on macOS. A workaround is to create an 'installation.conf' within the phosos folder with the following information:
distpackagepath pathwheretofindblenderaddons pythonexecutable blenderexecutable pythonversion blender_version
An example and maybe regular configuration is:
/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages ~/Library/Application\ Support/Blender/2.79//Library/Application\ Support/Blender/2.79 python3.5 /Applications/Blender/blender.app/Contents/MacOS/blender 3.5 2.79
If python3.5 is not installed on the system it is also possible to use the python version shipped with blender:
Model of the SpaceClimber robot in Blender, next to the Phobos toolbar displayed on the left.
Phobos makes use of Blender's hierarchical object graph and its bone objects. These objects, normally used for animating 3D characters, allow to store 3D coordinate systems and apply constraints to their movements, for instance to restrict the movement of an object to a certain range on a specific axis. This allows to replicate the links and joints defined in a URDF model and together with the hierarchical tree of parent and child objects, the complete, branching kinematic chain of a robot can be represented. By attaching meshes or primitives to the bones, Phobos allows to add visual and collision objects to a model. Additional objects allow storing further information, e.g. centers of mass of each part of a robot, thus refining the physical representation. Sensor objects can be added to correctly place and orient devices such as laser scanners, cameras or contact sensors. Making use of Blender's custom object properties, any necessary information can be added to the model, from inertia tensors to opening angles of cameras.
Decomposition of the different elements from which Phobos models are composed in Blender. These elements can be arranged in Blender on different layers, thus avoiding confusion or obstruction of view when editing very complex models.
Phobos is distributed under the 3-Clause BSD License.