Phobos: A tool for creating complex robot models

The rise of task specific requirements for robots leads to an increasing complexity of the affiliated system. To ensure a seamless, simulation based development of both hardand software a virtual twin is necessary, which is able to reflect different aspects of the mechatronic system. Most description formats for these systems are based on XML (eXtensible Markup Language), which encodes the necessary data for simulation, e.g. mechanical structure, inertial data, visual and collision representations. However, the initial modeling or continuous refinement of the model based on design iterations, sensor and actor integration can be a time consuming, challenging task for the modeler. Also, tiny mistakes in the model description can lead to huge differences in the modeled system. With increasing model complexity the model files become even more difficult to debug.


Summary
The rise of task specific requirements for robots leads to an increasing complexity of the affiliated system.To ensure a seamless, simulation based development of both hard-and software a virtual twin is necessary, which is able to reflect different aspects of the mechatronic system.Most description formats for these systems are based on XML (eXtensible Markup Language), which encodes the necessary data for simulation, e.g.mechanical structure, inertial data, visual and collision representations.However, the initial modeling or continuous refinement of the model based on design iterations, sensor and actor integration can be a time consuming, challenging task for the modeler.Also, tiny mistakes in the model description can lead to huge differences in the modeled system.With increasing model complexity the model files become even more difficult to debug.To simplify common workflows further, all components of Phobos models in Blender can be annotated with custom data fields both individually or in groups.Such data can become part of exported model formats that support them (e.g. to define new types of sensors and other hardware devices) or kept for internal use, enabling the user to manipulate multiple components of a model using custom Python scripts.As Phobos is built on Blender's internal Python scripting API, it is easy to create scripts that work with both Blender-and Phobosspecific data.
Current features of Phobos include: • support for a number of common description formats for robotic devices, such as: -URDF (Unified Robot Description Format) -SDF (Simulation Description Format) -SMURF (Supplementable Mostly Universal Robot Format).
• visual representation of many different components, such as model links and joints, inertias, motors etc. • hierarchical overview over the model • useful batch tools, like renaming, reorientation of the model tree etc.
• automated mass and inertia calculation • saving and loading of different model poses • tools for maintaining your own model database • creation of submodels which can be incorporated into other models • definition of export configurations, where the high fidelity model is either used as a template or can be simplified • internal checking of associated data for integrity • an additional library containing Python examples for automatic model adaption Furthermore, the user can tap into Blenders capabilities to visualize joint limits via the Pose Editing Mode, simplify associated visual and collision meshes or write Python scripts to modifiy the model objects.Since import and export are plugin-based, adding another format is as simple as adding a Python script to the respective subfolder.Phobos uses a Python dictionary in which all model information is stored for I/O purposes, thus new developers do not have to program against Blender's representations of model elements.
Phobos was developed at the German Research Center for Artificial Intelligence's Robotics Innovation Center (DFKI-RIC in Bremen in collaboration with the University of Bremen's Robotics Group.The goal behind its development is to simplify the task of creating accurate descriptions of robotic systems in an intuitive and less error-prone way than editing them by hand in a text editor, and to provide an open-source alternative to exporting such models from proprietary CAD systems. It has been used recently to provide the models for seriell-parallel hybrid robots modelling (Kumar, Szadkowski, Mueller, & Kirchner, 2018).

Figure 1 :
Figure 1: Universal Robots UR5 (https://www.universal-robots.com/products/ur5-robot/)within Phobos • D-RoCK, funded by the German Aerospace Center (DLR) with federal funds from the Federal Ministry of Education and Research (BMBF) (Grant Numbers: 01IW15001) • TransFit, which is funded by the German Federal Ministry of Economics and Technology (BMWi) according to a resolution of the German Bundestag, grant no.50RA1701, 50RA1702 and 50RA1703.