3D Models

Procedurally Generated Random Objects

In order to enable training of robot grasping and other tasks in simulation, we require a set of sample objects. We used a set of randomly generated simple rigid objects. Here we provide 3D models for these objects in OBJ format and URDF representations for use with Bullet.Download the models here: procedural_objects.zip

The compressed file is 31MB. The uncompressed directory is around 90MB.

Object Representation

The 3D geometry of each object is stored in a Wavefront OBJ file.

A simplified collision model is stored in a separate OBJ file. Object 000.obj has a collision model in 000_coll.obj.

A URDF file references the OBJ file. It adds scale, mass, and friction values.

Directory Structure

The objects we used are stored in a directory structure where each object is identified with a three digit number and is contained in a directory with the same name.

    • <NNN>/<NNN>.obj - 3D model representation for display.

    • <NNN>/<NNN>_coll.obj - 3D collision model, a union of convex volumes, used in physics simulation.

    • <NNN>/<NNN>.urdf - URDF representation, which references the obj files.

    • <NNN>/<NNN>.mtl - Materials for OBJ representation. Every object has a random diffuse color and a reference to the PNG as a diffuse texture..

    • <NNN>/<NNN>.png - Blank texture image. This can be replaced with any other texture image.


The object models were created with Python scripts using Blender (version 2.69). We expect to publish those scripts at a future time.

The URDF files were generated with a Python script that parses the OBJ files to get scale and creates a simple model representation with mass.

Convex collision models were created using the VHACD algorithm in Bullet. This algorithm is also available via a Blender plug-in.

License: This data is licensed by Google Inc. under a Creative Commons Attribution 4.0 International License.

A few random objects with textures applied in Blender.
All 1000 procedurally generated objects.