Spaces:
Runtime error
Runtime error
# Tasks | |
### Descriptions | |
This folder contains a total of 10 goal-conditioned (language or image) and 8 demo-conditioned (original TransporterNets) tasks. 8 out of the 10 goal-conditioned tasks contain two splits: **seen** and **unseen**. The **full** version is a union of both **seen** and **unseen** attributes made specifically for multi-attr training. Sequential tasks that involve following instructions in a specific order are indicated by **seq** in their names. | |
See [__init__.py](__init__.py) for the full list of demo-conditioned and goal-conditioned (language or image) tasks: | |
```python | |
# demo conditioned | |
'align-box-corner': AlignBoxCorner, | |
'assembling-kits': AssemblingKits, | |
'assembling-kits-easy': AssemblingKitsEasy, | |
'block-insertion': BlockInsertion, | |
'block-insertion-easy': BlockInsertionEasy, | |
'block-insertion-nofixture': BlockInsertionNoFixture, | |
'block-insertion-sixdof': BlockInsertionSixDof, | |
'block-insertion-translation': BlockInsertionTranslation, | |
'manipulating-rope': ManipulatingRope, | |
'packing-boxes': PackingBoxes, | |
'palletizing-boxes': PalletizingBoxes, | |
'place-red-in-green': PlaceRedInGreen, | |
'stack-block-pyramid': StackBlockPyramid, | |
'sweeping-piles': SweepingPiles, | |
'towers-of-hanoi': TowersOfHanoi, | |
# goal conditioned | |
'align-rope': AlignRope, | |
'assembling-kits-seq-seen-colors': AssemblingKitsSeqSeenColors, | |
'assembling-kits-seq-unseen-colors': AssemblingKitsSeqUnseenColors, | |
'assembling-kits-seq-full': AssemblingKitsSeqFull, | |
'packing-shapes': PackingShapes, | |
'packing-boxes-pairs-seen-colors': PackingBoxesPairsSeenColors, | |
'packing-boxes-pairs-unseen-colors': PackingBoxesPairsUnseenColors, | |
'packing-boxes-pairs-full': PackingBoxesPairsFull, | |
'packing-seen-google-objects-seq': PackingSeenGoogleObjectsSeq, | |
'packing-unseen-google-objects-seq': PackingUnseenGoogleObjectsSeq, | |
'packing-seen-google-objects-group': PackingSeenGoogleObjectsGroup, | |
'packing-unseen-google-objects-group': PackingUnseenGoogleObjectsGroup, | |
'put-block-in-bowl-seen-colors': PutBlockInBowlSeenColors, | |
'put-block-in-bowl-unseen-colors': PutBlockInBowlUnseenColors, | |
'put-block-in-bowl-full': PutBlockInBowlFull, | |
'stack-block-pyramid-seq-seen-colors': StackBlockPyramidSeqSeenColors, | |
'stack-block-pyramid-seq-unseen-colors': StackBlockPyramidSeqUnseenColors, | |
'stack-block-pyramid-seq-full': StackBlockPyramidSeqFull, | |
'separating-piles-seen-colors': SeparatingPilesSeenColors, | |
'separating-piles-unseen-colors': SeparatingPilesUnseenColors, | |
'separating-piles-full': SeparatingPilesFull, | |
'towers-of-hanoi-seq-seen-colors': TowersOfHanoiSeqSeenColors, | |
'towers-of-hanoi-seq-unseen-colors': TowersOfHanoiSeqUnseenColors, | |
'towers-of-hanoi-seq-full': TowersOfHanoiSeqFull, | |
``` | |
### Generated Tasks by GPT | |
1. All of them should be automatically imported and exists in `generated_tasks` | |
### Adding New Tasks | |
See [put_block_in_bowl.py](put_block_in_bowl.py) for an example on how a task is specified. Creating a new task involves: (1) setting up a scene with the desired objects, (2) specifying goals with a language instruction and target "zones" or "poses", (3) defining an evaluation metric that is either sequential or non-sequential. See the original [Ravens codebase](https://github.com/google-research/ravens) for more details on task specification and organization. | |
### Correcting COM for Google Scanned Objects | |
By default all [Google Scanned Objects](https://app.ignitionrobotics.org/GoogleResearch/fuel/collections/Google%20Scanned%20Objects) have COMs (Center of Mass) at the base of the object, which leads to weird behavior with the physics engine. To correct this, I manually edited the COM of each `.obj` file to be the geometric center of the mesh with [Blender](https://www.blender.org/). See this [guide on editing COMs](https://blender.stackexchange.com/questions/14294/how-to-recenter-an-objects-origin) for reference. After correction, the original `.obj` can be overwritten using Blender's Export option. | |
## Credit | |
All demo-conditioned are from [Ravens](https://github.com/google-research/ravens). The language-conditioned tasks were built-off the same PyBullet environments. |