<br />

- **Description**:

Franka preparing dumplings with various tools

- **Homepage** :
  <https://hshi74.github.io/robocook/>

- **Source code** :
  [`tfds.robotics.rtx.StanfordRobocookConvertedExternallyToRlds`](https://github.com/tensorflow/datasets/tree/master/tensorflow_datasets/robotics/rtx/rtx.py)

- **Versions**:

  - **`0.1.0`** (default): Initial release.
- **Download size** : `Unknown size`

- **Dataset size** : `124.59 GiB`

- **Auto-cached**
  ([documentation](https://www.tensorflow.org/datasets/performances#auto-caching)):
  No

- **Splits**:

| Split | Examples |
|---|---|
| `'train'` | 2,460 |

- **Feature structure**:

    FeaturesDict({
        'episode_metadata': FeaturesDict({
            'extrinsics_1': Tensor(shape=(4, 4), dtype=float32, description=Camera 1 Extrinsic Matrix.),
            'extrinsics_2': Tensor(shape=(4, 4), dtype=float32, description=Camera 2 Extrinsic Matrix.),
            'extrinsics_3': Tensor(shape=(4, 4), dtype=float32, description=Camera 3 Extrinsic Matrix.),
            'extrinsics_4': Tensor(shape=(4, 4), dtype=float32, description=Camera 4 Extrinsic Matrix.),
            'file_path': Text(shape=(), dtype=string),
        }),
        'steps': Dataset({
            'action': Tensor(shape=(7,), dtype=float32, description=Robot action, consists of [3x robot end-effector velocities, 3x robot end-effector angular velocities, 1x gripper velocity].),
            'discount': Scalar(shape=(), dtype=float32, description=Discount if provided, default to 1.),
            'is_first': bool,
            'is_last': bool,
            'is_terminal': bool,
            'language_embedding': Tensor(shape=(512,), dtype=float32, description=Kona language embedding. See https://tfhub.dev/google/universal-sentence-encoder-large/5),
            'language_instruction': Text(shape=(), dtype=string),
            'observation': FeaturesDict({
                'depth_1': Tensor(shape=(256, 256), dtype=float32, description=Camera 1 Depth observation.),
                'depth_2': Tensor(shape=(256, 256), dtype=float32, description=Camera 2 Depth observation.),
                'depth_3': Tensor(shape=(256, 256), dtype=float32, description=Camera 3 Depth observation.),
                'depth_4': Tensor(shape=(256, 256), dtype=float32, description=Camera 4 Depth observation.),
                'image_1': Image(shape=(256, 256, 3), dtype=uint8, description=Camera 1 RGB observation.),
                'image_2': Image(shape=(256, 256, 3), dtype=uint8, description=Camera 2 RGB observation.),
                'image_3': Image(shape=(256, 256, 3), dtype=uint8, description=Camera 3 RGB observation.),
                'image_4': Image(shape=(256, 256, 3), dtype=uint8, description=Camera 4 RGB observation.),
                'state': Tensor(shape=(7,), dtype=float32, description=Robot state, consists of [3x robot end-effector position, 3x robot end-effector euler angles, 1x gripper position].),
            }),
            'reward': Scalar(shape=(), dtype=float32, description=Reward if provided, 1 on final step for demos.),
        }),
    })

- **Feature documentation**:

| Feature | Class | Shape | Dtype | Description |
|---|---|---|---|---|
|   | FeaturesDict |   |   |   |
| episode_metadata | FeaturesDict |   |   |   |
| episode_metadata/extrinsics_1 | Tensor | (4, 4) | float32 | Camera 1 Extrinsic Matrix. |
| episode_metadata/extrinsics_2 | Tensor | (4, 4) | float32 | Camera 2 Extrinsic Matrix. |
| episode_metadata/extrinsics_3 | Tensor | (4, 4) | float32 | Camera 3 Extrinsic Matrix. |
| episode_metadata/extrinsics_4 | Tensor | (4, 4) | float32 | Camera 4 Extrinsic Matrix. |
| episode_metadata/file_path | Text |   | string | Path to the original data file. |
| steps | Dataset |   |   |   |
| steps/action | Tensor | (7,) | float32 | Robot action, consists of \[3x robot end-effector velocities, 3x robot end-effector angular velocities, 1x gripper velocity\]. |
| steps/discount | Scalar |   | float32 | Discount if provided, default to 1. |
| steps/is_first | Tensor |   | bool |   |
| steps/is_last | Tensor |   | bool |   |
| steps/is_terminal | Tensor |   | bool |   |
| steps/language_embedding | Tensor | (512,) | float32 | Kona language embedding. See https://tfhub.dev/google/universal-sentence-encoder-large/5 |
| steps/language_instruction | Text |   | string | Language Instruction. |
| steps/observation | FeaturesDict |   |   |   |
| steps/observation/depth_1 | Tensor | (256, 256) | float32 | Camera 1 Depth observation. |
| steps/observation/depth_2 | Tensor | (256, 256) | float32 | Camera 2 Depth observation. |
| steps/observation/depth_3 | Tensor | (256, 256) | float32 | Camera 3 Depth observation. |
| steps/observation/depth_4 | Tensor | (256, 256) | float32 | Camera 4 Depth observation. |
| steps/observation/image_1 | Image | (256, 256, 3) | uint8 | Camera 1 RGB observation. |
| steps/observation/image_2 | Image | (256, 256, 3) | uint8 | Camera 2 RGB observation. |
| steps/observation/image_3 | Image | (256, 256, 3) | uint8 | Camera 3 RGB observation. |
| steps/observation/image_4 | Image | (256, 256, 3) | uint8 | Camera 4 RGB observation. |
| steps/observation/state | Tensor | (7,) | float32 | Robot state, consists of \[3x robot end-effector position, 3x robot end-effector euler angles, 1x gripper position\]. |
| steps/reward | Scalar |   | float32 | Reward if provided, 1 on final step for demos. |

- **Supervised keys** (See
  [`as_supervised` doc](https://www.tensorflow.org/datasets/api_docs/python/tfds/load#args)):
  `None`

- **Figure**
  ([tfds.show_examples](https://www.tensorflow.org/datasets/api_docs/python/tfds/visualization/show_examples)):
  Not supported.

- **Examples**
  ([tfds.as_dataframe](https://www.tensorflow.org/datasets/api_docs/python/tfds/as_dataframe)):

<iframe src="https:///frame/datasets/catalog/stanford_robocook_converted_externally_to_rlds_5343bc94ebf563c6c15bad468900257b52d15576dacf12a110aa909b7c3805a6.frame" class="framebox inherit-locale " allow="clipboard-write https://" allowfullscreen is-upgraded></iframe>

- **Citation**:

    @article{shi2023robocook,
      title={RoboCook: Long-Horizon Elasto-Plastic Object Manipulation with Diverse Tools},
      author={Shi, Haochen and Xu, Huazhe and Clarke, Samuel and Li, Yunzhu and Wu, Jiajun},
      journal={arXiv preprint arXiv:2306.14447},
      year={2023}
    }