|
2 | 2 |
|
3 | 3 | ## Collecting Human Demonstrations
|
4 | 4 |
|
5 |
| -We provide teleoperation utilities that allow users to control the robots with input devices, such as the keyboard and the [SpaceMouse](https://www.3dconnexion.com/spacemouse_compact/en/). Such functionality allows us to collect a dataset of human demonstrations for learning. We provide an example script to illustrate how to collect demonstrations. Our [collect_human_demonstrations](https://github.com/ARISE-Initiative/robosuite/blob/master/robosuite/scripts/collect_human_demonstrations.py) script takes the following arguments: |
| 5 | +We provide teleoperation utilities that allow users to control the robots with input devices, such as the keyboard, [SpaceMouse](https://www.3dconnexion.com/spacemouse_compact/en/) and mujoco-gui. Such functionality allows us to collect a dataset of human demonstrations for learning. We provide an example script to illustrate how to collect demonstrations. Our [collect_human_demonstrations](https://github.com/ARISE-Initiative/robosuite/blob/master/robosuite/scripts/collect_human_demonstrations.py) script takes the following arguments: |
6 | 6 |
|
7 | 7 | - `directory:` path to a folder for where to store the pickle file of collected demonstrations
|
8 | 8 | - `environment:` name of the environment you would like to collect the demonstrations for
|
9 |
| -- `device:` either "keyboard" or "spacemouse" |
10 |
| - |
11 |
| -### Keyboard controls |
12 |
| - |
13 |
| -Note that the rendering window must be active for these commands to work. |
14 |
| - |
15 |
| -| Keys | Command | |
16 |
| -| :------: | :--------------------------------: | |
17 |
| -| q | reset simulation | |
18 |
| -| spacebar | toggle gripper (open/close) | |
19 |
| -| w-a-s-d | move arm horizontally in x-y plane | |
20 |
| -| r-f | move arm vertically | |
21 |
| -| z-x | rotate arm about x-axis | |
22 |
| -| t-g | rotate arm about y-axis | |
23 |
| -| c-v | rotate arm about z-axis | |
24 |
| -| ESC | quit | |
25 |
| - |
26 |
| -### 3Dconnexion SpaceMouse controls |
27 |
| - |
28 |
| -| Control | Command | |
29 |
| -| :-----------------------: | :-----------------------------------: | |
30 |
| -| Right button | reset simulation | |
31 |
| -| Left button (hold) | close gripper | |
32 |
| -| Move mouse laterally | move arm horizontally in x-y plane | |
33 |
| -| Move mouse vertically | move arm vertically | |
34 |
| -| Twist mouse about an axis | rotate arm about a corresponding axis | |
35 |
| -| ESC (keyboard) | quit | |
36 |
| - |
| 9 | +- `device:` either "keyboard" or "spacemouse" or "mjgui" |
37 | 10 |
|
| 11 | +See the [devices page](https://robosuite.ai/docs/modules/devices.html) for details on how to use the devices. |
38 | 12 |
|
39 | 13 | ## Replaying Human Demonstrations
|
40 | 14 |
|
@@ -79,7 +53,7 @@ The reason for storing mujoco states instead of raw observations is to make it e
|
79 | 53 |
|
80 | 54 | ## Using Demonstrations for Learning
|
81 | 55 |
|
82 |
| -We have recently released the [robomimic](https://arise-initiative.github.io/robomimic-web/) framework, which makes it easy to train policies using your own [datasets collected with robosuite](https://arise-initiative.github.io/robomimic-web/docs/introduction/datasets.html#robosuite-hdf5-datasets), and other publically released datasets (such as those collected with RoboTurk). The framework also contains many useful examples for how to integrate hdf5 datasets into your own learning pipeline. |
| 56 | +The [robomimic](https://arise-initiative.github.io/robomimic-web/) framework makes it easy to train policies using your own [datasets collected with robosuite](https://arise-initiative.github.io/robomimic-web/docs/introduction/datasets.html#robosuite-hdf5-datasets). The framework also contains many useful examples for how to integrate hdf5 datasets into your own learning pipeline. |
83 | 57 |
|
84 | 58 | The robosuite repository also has some utilities for using the demonstrations to alter the start state distribution of training episodes for learning RL policies - this have proved effective in [several](https://arxiv.org/abs/1802.09564) [prior](https://arxiv.org/abs/1807.06919) [works](https://arxiv.org/abs/1804.02717). For example, we provide a generic utility for setting various types of learning curriculums which dictate how to sample from demonstration episodes when doing an environment reset. For more information see the `DemoSamplerWrapper` class.
|
85 | 59 |
|
|
0 commit comments