dfki-ric / phobos

An add-on for Blender allowing to create URDF, SDF and SMURF robot models in a WYSIWYG environment.
BSD 3-Clause "New" or "Revised" License
709 stars 113 forks source link

Arrangement::export_smurfa() seems to be broken or not fully implemented #367

Open m0rsch1 opened 2 months ago

m0rsch1 commented 2 months ago

Describe the bug When using the Arrangement::export_smurfa() function on an Arrangement containing other Entities (with positions/rotations) the exported SMURFA does not seem to contain all information. Furthermore some exported infos (e.g. joint_limits.yml, see below) are exported although they are invalid. Such a file is not present/exported as well, so this file path is bogus.

To Reproduce Create an Arrangement with Entities inside (which have properties themselves like position/rotation etc.)

Expected behavior I have expected, that each entity entry in entities (see below) would also contain the properties e.g. position/rotation of the entities. With these infos missing subsequent processing steps like phobos convert will likely fail or produce unusable results due to the missing entity properties.

Screenshots

{
  "entities": [
    "modular_manipulator_straight_0",
    "modular_manipulator_second_link_1",
    "modular_manipulator_pan_tilt_2",
    "modular_manipulator_pan_tilt_3",
    "modular_manipulator_pan_tilt_4"
  ],
  "export_config": [
    {
      "additional_meshes": [
        "bobj"
      ],
      "enforce_zero": false,
      "filename_suffix": "",
      "include_cut_joints": false,
      "link_in_smurf": true,
      "mesh_format": "obj",
      "ros_pathes": false,
      "type": "urdf"
    },
    {
      "enforce_zero": false,
      "filename_suffix": "_stl",
      "include_cut_joints": false,
      "mesh_format": "stl",
      "ros_pathes": false,
      "type": "urdf"
    },
    {
      "additional_meshes": [
        "bobj"
      ],
      "enforce_zero": false,
      "include_cut_joints": false,
      "link_in_smurf": false,
      "mesh_format": "obj",
      "ros_pathes": false,
      "type": "sdf"
    },
    {
      "file_name": "joint_limits.yml",
      "joints": "ALL",
      "type": "joint_limits"
    },
    {
      "abstract_model": true,
      "name": "abstract_model",
      "type": "submodel"
    },
    {
      "type": "pdf"
    }
  ],
  "name": "modkom_arm"
}

Additional context These results have been created from a toplvl arrangement which contains subparts (see above).