GithubHelp home page GithubHelp logo

industrealkit's Introduction

IndustRealKit

This repo contains the assets used in Tang and Lin, et al., "IndustReal: Transferring Contact-Rich Assembly Tasks from Simulation to Reality," Robotics: Science and Systems (RSS), 2023.

IndustRealKit



Specifically, this repo contains the following:

  • 3D-printable STL files for all 3D-printed parts
  • OBJ files for all 3D-printed parts (if you would like to import the assets into your simulator)
  • Links to Onshape CAD documents for all 3D-printed parts (if you would like to modify the assets and export your own STL files)
  • Purchasing information for all non-3D-printed parts

The files, documents, and information are organized by assembly type.


Important Notes

Please read these notes prior to printing or using the assets.

STL files

The STL files were exported directly from Onshape. We 3D printed these files on an Ultimaker 3 with MatterHackers PLA filament at 0.15 mm layer resolution.

In general, 3D printers do not print features to the exact dimensions specified in STL files (e.g., due to overextrusion), and such deviations may vary from printer to printer. Thus, after printing the parts, we measured the diametral clearance between mating parts for the insertion task (i.e., between pegs and holes, and between gears and gearshafts) using calipers, and we observed a 0.5-0.6 mm clearance between the parts. Higher or lower clearances may have a significant impact on policy performance in the real world; if you would like to closely reproduce the exact conditions used in the IndustReal paper, you should ensure that your printed parts also have clearances in this range. To do so, you may have to modify the CAD documents to increase or decrease hole or shaft diameters, such that your printer ultimately achieves the desired clearance.

OBJ files

The OBJ files were exported directly from Onshape for convenience. These are not the exact OBJ files used in the IndustReal policy training code, as those files were post-processed for use with our simulator. To access a subset of those files, please see IndustRealSim.

By default, Onshape may tessellate certain surfaces with very few elements or use elements with extreme aspect ratios. When you use these meshes in a simulator, certain contact schemes may be insensitive to mesh quality, whereas others may be sensitive. We simulated physics using SDF-based contacts from Factory in Isaac Gym. This contact scheme offers exceptional performance for contact-rich interactions, but is sensitive to mesh quality; for more information, see the Best Practices and Debugging section of the Factory documentation.

MTL files corresponding to each OBJ file are provided simply to add color during visualization.

CAD documents

There are typically multiple tabs in each Onshape CAD document (i.e., one for each part studio), and each part studio may contain multiple configurations (e.g., for different sizes). If you do not immediately see a particular part, please check the tabs and configurations.


Assets

Peg-and-hole assemblies

The pegs are initially located in the peg trays. The robot should remove the pegs from the peg trays and insert the pegs into the holes.

Electrical connector assemblies

The plugs are initially located in the plug trays, and the sockets are permanently press-fit into the socket trays. The robot should remove the plugs from the plug trays and insert the plugs into the sockets.

To install the sockets into the socket trays, we tapped them carefully with a rubber mallet.

Gear assembly

The gears and gear base are initially located on the work surface. The robot should pick up each gear and insert it onto the corresponding shaft on the gear base.

These parts are based closely on the gear assembly in NIST Task Board 1.

Optical breadboard

Franka fingers

Camera and mount

Lighting


Additional Information

Citing IndustRealKit

If you use any of the IndustRealKit assembly assets in your work, please consider citing the following paper:

@inproceedings{
    tang2023industreal,
    author = {Bingjie Tang and Michael A Lin and Iretiayo Akinola and Ankur Handa and Gaurav S Sukhatme and Fabio Ramos and Dieter Fox and Yashraj Narang},
    title = {IndustReal: Transferring contact-rich assembly tasks from simulation to reality},
    booktitle = {Robotics: Science and Systems},
    year = {2023}
}

If you use the Franka fingers or camera mount in your work, please acknowledge Karl Van Wyk or Kenneth MacLean, respectively.

Related repos

Support

Please create a GitHub issue.

industrealkit's People

Contributors

ynarang avatar

Stargazers

Lingfeng Sun avatar Sizhe Sui avatar Dongjie Yu avatar Hejia Zhang avatar Caelan Garrett avatar Mohammed Azharudeen avatar Jia Zeng avatar  avatar Jian avatar Kei Ohta avatar Satoshi Otsubo avatar Mingdong Wu avatar Vladimir Fokow avatar Sanchit Kedia avatar Alperen Degirmenci avatar Wenhao Ding avatar Harvey Chang avatar Makoto Sato avatar  avatar  avatar Ghulam Jilani Raza avatar  avatar  avatar

Watchers

Duane Merrill avatar  avatar  avatar  avatar

industrealkit's Issues

Issue with the .stl files of objects provided in IndustRealkit

Hello,

As I tried to 3D print some of the objects provided as .stls in the following link, I noticed that these stls do not have any information inside them, besides some standard wireframe.

Am I missing something or is there something wrong with the uploaded data?

Best,
Isidoros

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.