Gazebo resources: Tutorials | Q&A | Documentation | Blog

Blender DAE to Gazebo - export with "Use Object Instances" doesn't load all parts

Hi all!

I’ve been struggling to figure out why some objects in my gazebo simulation were missing from what I exported from Blender, and I’ve finally figured out - though I don’t have a solution to fix it yet. Below is one of the export options for DAE in Blender 2.91:

2021-01-17 12_57_33-Blender_ G__My Drive_pi-top Team_DESIGN TEAM RESOURCES_PRODUCT_HARDWARE_MMK_Rob

If using this “Use Object Instances” option when exporting the DAE, Gazebo will only load one instance of every object in it. For example, if I have a robot with 10 identical screws in it, only one of those screws will display in the Gazebo simulation. Now my first thought was that it was a Blender problem, but I can load the DAE no problem in other tools like this online 3D viewer.

If deselecting this option in Blender, or even going as far to just merge all the individual objects into one, then Gazebo can load it but… the file size goes up dramatically. Object instances is obviously a very effective way of reducing file size, especially if your robot has a lot of re-usable parts - imagine the file reduction you would get from something like a LEGO robot for example, it would be so wasteful to include copies of every one of those reusable parts in the DAE.

So, does anyone know how to fix this? Is there a Gazebo configuration for this sort of thing? Or is it just an incompatibility between the DAE and whatever tool is importing it (Ogre3D?)

For now, I’m just deselecting this option so I can keep going but I’d really like to get that file size down in the future.

Any help would be greatly appreciated!