|Keywords:||Simulation, robot model, modelling|
|Operating system:||Linux, Mac OS, Windows|
|Programming languages:||Python 3|
|Ownership:||This software was developed by the DFKI as well as by the Robotics Research Group and the University of Bremen and is being further developed under this responsibility. For questions and suggestions, please refer to the contact persons.|
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.
- Model error checking
- Batch editing of object properties
- Measurements (e.g. distance of parts, sum of masses)
- Synchronization of mass information between different layers
- Auto-generation of collision objects
- Auto-generation of simplified inertia; combination of manually defined precise inertia
- Online definition and testing of joint constraints
- Import and export various model formats