Skip to content

Humanoid V1

北京东路的日子 edited this page Jun 7, 2021 · 13 revisions

Overview

Incomplete page. Please contribute if you can. Use this file and this file to get hint

Get your quaternion conversion straight. It is an active Hamiltonian convention. See this site for clarification.

Details

Description

Make a three-dimensional bipedal robot walk forward as fast as possible, without falling over.

Environment

Observation

The OpenAI gym environment hides first 2 dimensions of qpos returned by MuJoCo. They correspond to x and y coordinate of the robot root (abdomen). The reason is this quantity can grow boundlessly and their absolute value does not carry any significance. If you want to obtain the full state just use env.env.state_vector() and you will get a 47-dimensional vector containing qpos and qvel. refer to mujoco_env.py. All the joint angles are in radians.

Type: Box(376)

Num Observation Min Max Mean
0 root_z (Position) -inf +inf 1.4
1 root_w (global orientation quaternion) -1 +1 1
2 root_x (global orientation quaternion) -1 +1 0
3 root_y (global orientation quaternion) -1 +1 0
4 root_z (global orientation quaternion) -1 +1 0
5 abdomen_z (rotation) -45 +45 0
6 abdomen_y (rotation) -75 +30 0
7 abdomen_x (rotation) -35 +35 0
8 right_hip_x (rotation) -25 +5 0
9 right_hip_z (rotation) -60 +35 0
10 right_hip_y (rotation) -110 +20 0
11 right_knee (rotation) -160 -2 0
12 left_hip_x (rotation) -25 +5 0
13 left_hip_z (rotation) -60 +35 0
14 left_hip_y (rotation) -110 +20 0
15 left_knee (rotation) -160 -2 0
16 right_shoulder_1 (rotation) -85 +60 0
17 right_shoulder_2 (rotation) -85 +60 0
18 right_elbow (rotation) -90 +50 0
19 left_shoulder_1 (rotation) -85 +60 0
20 left_shoulder_2 (rotation) -85 +60 0
21 left_elbow (rotation) -90 +50 0
22:45 qvel (velocity of joints) unknown unknown unknown
45:185 cinert (center of mass based inertia) unknown unknown unknown
185:269 cvel (center of mass based velocity) unknown unknown unknown
269:292 qfrac_actuator (actuator force) unknown unknown unknown
292:376 cfrac_ext (center of mass based external force) unknown unknown unknown

shoulder_1 swings hand parallel to the direction in which the body is facing.

qpos: np.array((24,))

Num Observation Min Max Mean
0 root_x (Position) -inf +inf 0
1 root_y (Position) -inf +inf 0
2 root_z (Position-high) -inf +inf 1.4
3 root_w (global orientation quaternion) -1 +1 1
4 root_x (global orientation quaternion) -1 +1 0
5 root_y (global orientation quaternion) -1 +1 0
6 root_z (global orientation quaternion) -1 +1 0
7 abdomen_z (rotation) -45 +45 0
8 abdomen_y (rotation) -75 +30 0
9 abdomen_x (rotation) -35 +35 0
10 right_hip_x (rotation) -25 +5 0
11 right_hip_z (rotation) -60 +35 0
12 right_hip_y (rotation) -110 +20 0
13 right_knee (rotation) -160 -2 0
14 left_hip_x (rotation) -25 +5 0
15 left_hip_z (rotation) -60 +35 0
16 left_hip_y (rotation) -110 +20 0
17 left_knee (rotation) -160 -2 0
18 right_shoulder_1 (rotation) -85 +60 0
19 right_shoulder_2 (rotation) -85 +60 0
20 right_elbow (rotation) -90 +50 0
21 left_shoulder_1 (rotation) -85 +60 0
22 left_shoulder_2 (rotation) -85 +60 0
23 left_elbow (rotation) -90 +50 0

qvel: np.array((23,))

Num Observation Min Max Mean
22:45 qvel (velocity of joints) unknown unknown unknown

Actions

Type: Box(17) - Torque control

Num Name Gear
0 abdomen_y 100
1 abdomen_z 100
2 abdomen_x 100
3 right_hip_x 100
4 right_hip_z 100
5 right_hip_y 300
6 right_knee 200
7 left_hip_x 100
8 left_hip_z 100
9 left_hip_y 300
10 left_knee 200
11 right_shoulder1 25
12 right_shoulder2 25
13 right_elbow 25
14 left_shoulder1 25
15 left_shoulder2 25
16 left_elbow 25

Reward

The reward is given for ... To be completed

Starting State

qpos = [0, 0, 1.4, 1, 0, 0 ... 0] and qvel = np.zeros((23,))

Episode Termination

The episode ends when the researcher decided to.

Solved Requirements

Not solved yet.