Usage

Blender

Blender is a feature-rich and very powerful 3D modelling software. For this reason, however, learning how to use this software can be challenging for the beginner. The RobotDesigner plugin intends to improve the user experience as much as possible—a basic understanding of the user face and controls of Blender is mandatory. At this point, we would like to refer to a large set of tutorials provided on this matter which can be found here for instance.

The RobotDesigner

We introduce the structure of the Graphical User Interface as well as explain the workflow of creating a new robot model. If an existing model is imported the user can also start at any tab section of interest.

In the gif below you can see how to create a simple tigrillo robot with muscles from scratch using the Robot Designer. The design here includes mesh creation, kinematic and dynamics definition, visual and collision mesh attachment, muscle definition and SDF package export. The full video with audio description can be found at 1.3 Robot Designer Demo.

../_images/tigrillo.gif

Creating a simple tigrillo model from scratch.

Panel overview

The various functionalities are collected in several tabs for intuitive user interaction. Creating a new robot the developer would start from the left tab to the right, or as listed below from creating a robot to exporting it.

The Robot properties tab

The Robot properties tab allows us to create a new robot model or select an existing one. Hier we can also rename it or merge with another model. New segments for expanding the robot model can be created and deleted here as well. These segments are called bones in blender.

../_images/robot_example.png

The Robot properties tab of the NRP RobotDesigner

The Segments properties tab

In the Segments properties tab we can modify the properties of the previously created segments by setting joint type, joint limits, orientation and position in relation to the parent bone.

../_images/segments_example.png

The Segments properties tab of the NRP RobotDesigner

The Geometries properties tab

The Geometries properties tab allows us to connect the kinematics model or armature created by the NRP RobotDesigner with an existing geometrical model, generate such a model or disconnect it once it has been attached. Additionally we can set basic properties as well as reduce the complexity of the geometries.

../_images/geometries_example_expanded.png

The Geometries properties tab of the NRP RobotDesigner

The Sensors properties tab

In the Sensor properties tab a camera or laser sensor can be attached, detached and its properties adjusted.

../_images/sensors_example_expanded.png

The Sensors properties tab of the NRP RobotDesigner

The Muscles properties tab

In the muscles section muscles can be defined interactively in the scene, while pathpoints and characteristics get listed in the GUI.

../_images/muscles_example_expanded.png

The Muscles properties tab of the NRP RobotDesigner

The Files properties tab

Here we can export the created robot model as a SDF file/package or import a robot model from an SDF file/package.

../_images/files_example_expanded.png

The Files properties tab of the NRP RobotDesigner

The Worlds properties tab

In the worlds tab the simulation environment can be parametrized and individual robot models can be added to the scene. The dedicated tab allows users to import existing world files and export a created environment to file.

../_images/world_example_expanded.png

The World properties tab of the NRP RobotDesigner

Creating and maintaining robot models

../_images/robot_example.png

The robot properties tab in the NRP RobotDesigner.

../_images/create_new_model.gif

Creating a new armature.

In order to use the Robot Designer, one has first to create a blank robot model instance. Note that, in Blender, such robot models are called armatures. Through the enrichment by additional properties related to robotics they are interpreted as robot models.

In the RobotDesigner, there is a tab for modifying the robot model (see figure). In there, you can modify the name of the robot model, merge it with another model. In there, you can also modify the structure of the kinematics such as adding new / deleting segments, reparent segments (move them to a different position in the kinematics tree) and modify the names.

You can also assign different visualizations of coordinate frames (blender objects) for a more cleaned up look.

Adding and removing geometric models

../_images/geometries_example_expanded.png

The geometrical model properties tab of the NRP RobotDesigner.

../_images/attach_meshes.gif

Connecting the kinematics and geometrical models of a robot.

Geometric models are meshes that can be connected to a segment. In the Geometries tab. Modelling of meshes requires knowledge on how to design with Blender. The RobotDesigner unfortunately cannot support the user significantly with this task. However, existing models (e.g., those that are imported from standard CAD/Mesh file formats) can be conveniently connected to the robot model using the interface provided by the RobotDesigner in this tab.

In order to connect the kinematics model, created by the NRP RobotDesigner and the geometric model select the field Attach Geometry. First select the segment to be attached on the left and the mesh it is to be attached to on the right. After specifying the use of the geometry as visual or collision mesh, click on Assign selected geometry to active segment.

In a similar way geometries can be easily disconnected in the field Detach Geometry. First select the mesh to be disconneccted, then click on Detach selected geometry. Alternatively all meshes can be disconnected at once by selecting Detach all geometries.

Adding muscles

The video below shows the process of adding muscles with multiple pathpoints to the model by directly selecting pathpoint in the 3D environment. The full video with audio description can be found at 1.3 Robot Designer Demo.

../_images/mouse.gif

Defining muscle on the mouse model.

Import and export

../_images/files_example_expanded.png

The file properties tab of the NRP RobotDesigner.

../_images/import_sdf_hollie_arm.gif

Importing a robot model of Schunk robot arm from a plain SDF file

In the file section additional meta data can be added to the model such as a model description and author contact information. One of the main strengths of the RobotDesigner is the possibility to import from and export to SDF files.

The SDF is one of the file formats the Neurorobotics Platform (or Gazebo/ROS in general) depends on. Visual and collision meshes, joints and link description as well as a model.config file can be imported and exported.