Skip to content

Commit 4416378

Browse files
JiantongChenHanqingWangAI
authored andcommitted
[doc] update genmanip env detail
* [doc] update genmanip env detail
1 parent dcd947f commit 4416378

File tree

1 file changed

+31
-13
lines changed

1 file changed

+31
-13
lines changed

source/en/user_guide/internmanip/tutorials/environment.md

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,19 @@ eval_cfg = EvalCfg(
3939
env_type="genmanip",
4040
env_settings=GenmanipEnvSettings(
4141
dataset_path="path/to/genmanip/benchmark_data",
42-
eval_tasks=["task1", "task2", ...],
42+
eval_tasks=[],
4343
res_save_path="path/to/save/results",
4444
is_save_img=False,
45-
robot_type="franka",
45+
robot_type="aloha_split",
4646
gripper_type="panda",
4747
franka_camera_enable=FrankaCameraEnable(
4848
realsense=False, obs_camera=False, obs_camera_2=False
4949
),
5050
aloha_split_camera_enable=AlohaSplitCameraEnable(
51-
top_camera=True, left_camera=True, right_camera=True
51+
top_camera=False, left_camera=False, right_camera=False
5252
),
5353
depth_obs=False,
54-
max_step=500,
54+
max_step=1000,
5555
max_success_step=100,
5656
env_num=1,
5757
physics_dt=1/30,
@@ -69,15 +69,15 @@ eval_cfg = EvalCfg(
6969
| Parameter | Type | Default | Description |
7070
|-----------|------|---------|-------------|
7171
| `dataset_path` | str | None | If None, it will be automatically downloaded from Hugging Face dataset [URL](https://huggingface.co/datasets/OpenRobotLab/InternBench-M1) on the first run. |
72-
| `eval_tasks` | list[str] | ALL_EVAL_TASKS | The relative path to the task folder under dataset_path |
72+
| `eval_tasks` | list[str] | [] | The relative path to the task folder under dataset_path. <br>If `[]`, all tasks in the `dataset_path` will be automatically detected. |
7373
| `res_save_path` | str | None | Evaluation results storage directory (disabled if None).|
7474
| `is_save_img` | bool | False | Enable per-step multi-camera image capture (requires disk space) |
75-
| `robote_type` | enum | "franka" | robot selection (`"franka"` or `"aloha_split"`) |
75+
| `robote_type` | enum | "aloha_split" | robot selection (`"franka"` or `"aloha_split"`) |
7676
| `gripper_type` | enum | "panda" | End effector selection **when robote_type is `franka`** (`"panda"` or `"robotiq"`) |
77-
| `franka_camera_enable` | FrankaCameraEnable | `FrankaCameraEnable(realsense=False, `<br>`obs_camera=False, `<br>`obs_camera_2=False)` | Camera activation config:<br>• `realsense`: Ego-view gripper cam<br>• `obs_camera`: Fixed rear-view cam<br>• `obs_camera_2`: Fixed front-view cam <br> Note that this only works **when robote_type is `franka`** |
78-
| `aloha_split_camera_enable` | AlohaSplitCameraEnable | `AlohaSplitCameraEnable(top_camera=False, `<br>`left_camera=False, `<br>`right_camera=False)` | Camera activation config:<br>• `top_camera`: Ego-view top head cam<br>• `left_camera`: Ego-view left gripper cam<br>• `right_camera`: Ego-view right gripper cam <br> Note that this only works **when robote_type is `aloha_split`** |
77+
| `franka_camera_enable` | FrankaCameraEnable | `FrankaCameraEnable(`<br>`realsense=False, `<br>`obs_camera=False, `<br>`obs_camera_2=False)` | Camera activation config:<br>• `realsense`: Ego-view gripper cam<br>• `obs_camera`: Fixed rear-view cam<br>• `obs_camera_2`: Fixed front-view cam <br> Note that this only works **when robote_type is `franka`** |
78+
| `aloha_split_camera_enable` | AlohaSplitCameraEnable | `AlohaSplitCameraEnable(`<br>`top_camera=False, `<br>`left_camera=False, `<br>`right_camera=False)` | Camera activation config:<br>• `top_camera`: Ego-view top head cam<br>• `left_camera`: Ego-view left gripper cam<br>• `right_camera`: Ego-view right gripper cam <br> Note that this only works **when robote_type is `aloha_split`** |
7979
| `depth_obs` | bool | False | Generate depth maps for active cameras |
80-
| `max_step` | int | 500 | Episode termination step threshold |
80+
| `max_step` | int | 1000 | Episode termination step threshold |
8181
| `headless` | bool | True | Disable GUI |
8282

8383

@@ -104,8 +104,8 @@ observations: List[Dict] = [
104104
"robot": {
105105
"robot_pose": Tuple[array, array], # (position, oritention(quaternion: (w, x, y, z)))
106106
"joints_state": {
107-
"positions": array,
108-
"velocities": array
107+
"positions": array, # (9,) or (13,) -> panda or robotiq
108+
"velocities": array # (9,) or (13,) -> panda or robotiq
109109
},
110110
"eef_pose": Tuple[array, array], # (position, oritention(quaternion: (w, x, y, z)))
111111
"sensors": {
@@ -182,8 +182,8 @@ observations: List[Dict] = [
182182
"robot": {
183183
"robot_pose": Tuple[array, array], # (position, oritention(quaternion: (w, x, y, z)))
184184
"joints_state": {
185-
"positions": array,
186-
"velocities": array
185+
"positions": array, # (28,)
186+
"velocities": array # (28,)
187187
},
188188
"left_eef_pose": Tuple[array, array], # (position, oritention(quaternion: (w, x, y, z))) -> left gripper eef pose
189189
"right_eef_pose": Tuple[array, array], # (position, oritention(quaternion: (w, x, y, z))) -> right gripper eef pose
@@ -216,6 +216,24 @@ observations: List[Dict] = [
216216
...
217217
]
218218
```
219+
> **Note the following when using `observations["robot"]["joints_state"]["positions"]`.**
220+
>
221+
> The aloha_split robot's dof names (in order) as follows: `['mobile_translate_x', 'mobile_translate_y', 'mobile_rotate', 'fl_steering_joint', 'fr_steering_joint', 'rl_steering_joint', 'rr_steering_joint', 'lifting_joint', 'fl_wheel', 'fr_wheel', 'rl_wheel', 'rr_wheel', 'fl_joint1', 'fr_joint1', 'fl_joint2', 'fr_joint2', 'fl_joint3', 'fr_joint3', 'fl_joint4', 'fr_joint4', 'fl_joint5', 'fr_joint5', 'fl_joint6', 'fr_joint6', 'fl_joint7', 'fl_joint8', 'fr_joint7', 'fr_joint8']`.
222+
>
223+
> Thus:
224+
> - The left arm coordinate: `[12, 14, 16, 18, 20, 22]`
225+
> - The left gripper coordinate: `[24, 25]`
226+
> - The right arm coordinate: `[13, 15, 17, 19, 21, 23]`
227+
> - The right gripper coordinate: `[26, 27]`
228+
>
229+
> Example:
230+
> If you want to use the joint position values of the left arm, you should do this:
231+
> ```python
232+
> left_arm_joint_indices = [12, 14, 16, 18, 20, 22]
233+
> left_arm_joint_positions = [observations['robot']['joints_state']['positions'][idx] for idx in left_arm_joint_indices]
234+
> ```
235+
236+
---
219237
220238
**Action Space Specifications**
221239
Agents must output `List[dict] = [action_1, action_2 , ...]` of the same length as the input observations.

0 commit comments

Comments
 (0)