RobotLocomotion / drake

Model-based design and verification for robotics.
https://drake.mit.edu
Other
3.25k stars 1.25k forks source link

Drake's IIWA Model Cannot be Loaded into Gazebo #3543

Closed liangfok closed 7 years ago

liangfok commented 7 years ago

Problem Definition

Drake's IIWA model currently references .obj (i.e., Wavefront) files because its visualizer only supports this format. Unfortunately, Gazebo does not support .obj files and instead supports .dae (i.e., COLLADA) files. Because of this, we are unable to load Drake's IIWA model into Gazebo. Being able to load the same model into Gazebo is beneficial since it will enable us to do comparisons and provide an alternative framework within which to debug and improve the model.

Proposed Solutions

The following options are sorted from least effort the most effort.

Option 0

Automatically convert .obj to .dae to the other file format on-demand. This can be done automatically by the build system. It could also be done manually by running a script. Basically, the idea is to maintain a single "master" version from which other versions using different file formats can be derived.

Option 1

Use xacro to generate two URDFs. One will be called iiwa14_drake.urdf, which references .obj files, and other will be called iiwa14_gazebo.urdf, which references .dae files. Since the same code generator is used to create both files, there shouldn't be a problem keeping the two syncronized.

Option 2

Convert iiwa14.urdf to SDF and use embedded ruby to generate a version for Gazebo and another version for Drake as described here: http://answers.gazebosim.org/question/14063/how-can-i-declare-a-variable-in-modelsdf-file/.

Options 3

Modify Drake to support .dae files or Gazebo to support .obj files. I'm unsure how much work and time this will take.

References

For reference, see: https://github.com/robotlocomotion/drake/pull/3507#issuecomment-248637867

sherm1 commented 7 years ago

Modifying Gazebo to support .obj files for geometry seems like the cleanest solution, and I think it would get used a lot. What do you think @nkoenig ?

nkoenig commented 7 years ago

I agree with @sherm1. Gazebo should support .obj files. We'll get started on that asap.

RussTedrake commented 7 years ago

Actually I believe director supports anything that vtk supports, include dae, etc.

nkoenig commented 7 years ago

Gazebo 7 now supports loading OBJ files. A debian release will be available today or tomorrow.

sherm1 commented 7 years ago

This is great news, Nate -- thanks!

jwnimmer-tri commented 7 years ago

Gazebo should be able to do this now / soon.

liangfok commented 7 years ago

@nkoenig, does Gazebo 8 not support .obj? I just tried loading Drake's KUKA iiwa model into Gazebo 8 and the visualizations did not work.