Skip to content

Commit 9fc385c

Browse files
authored
Motion Planning, Gym Wrapper, Compose Agents, Hab2 Bug fixes (#685)
The next version of the Habitat 2.0 release, this PR adds motion planning, an OpenAI Gym wrapper, bug fixes, and the initial set of features necessary to compose agent policies to record demonstrations with motion planning.
1 parent 7a64e5e commit 9fc385c

39 files changed

Lines changed: 3467 additions & 219 deletions
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
ENVIRONMENT:
2+
MAX_EPISODE_STEPS: 50
3+
DATASET:
4+
TYPE: RearrangeDataset-v0
5+
SPLIT: train
6+
DATA_PATH: data/datasets/rearrange_pick/replica_cad/v0/{split}/{split}_counter_L_analysis_5000_500.json.gz
7+
SCENES_DIR: "data/replica_cad/"
8+
TASK:
9+
TYPE: RearrangeReachTask-v0
10+
RENDER_TARGET: True
11+
EE_SAMPLE_FACTOR: 0.5
12+
13+
JOINT_SENSOR:
14+
TYPE: "JointSensor"
15+
DIMENSIONALITY: 7
16+
RELATIVE_RESTING_POS_SENSOR:
17+
TYPE: "RelativeRestingPositionSensor"
18+
RESTING_POS_SENSOR:
19+
TYPE: "RestingPositionSensor"
20+
END_EFFECTOR_SENSOR:
21+
TYPE: "EEPositionSensor"
22+
SENSORS: ["JOINT_SENSOR", "RELATIVE_RESTING_POS_SENSOR", 'END_EFFECTOR_SENSOR', "RESTING_POS_SENSOR"]
23+
24+
END_EFFECTOR_TO_REST_DISTANCE:
25+
TYPE: "EndEffectorToRestDistance"
26+
REARRANGE_REACH_REWARD:
27+
TYPE: "RearrangeReachReward"
28+
SCALE: 1.0
29+
DIFF_REWARD: True
30+
REARRANGE_REACH_SUCCESS:
31+
TYPE: "RearrangeReachSuccess"
32+
SUCC_THRESH: 0.1
33+
MEASUREMENTS:
34+
- "END_EFFECTOR_TO_REST_DISTANCE"
35+
- "REARRANGE_REACH_REWARD"
36+
- "REARRANGE_REACH_SUCCESS"
37+
ACTIONS:
38+
ARM_ACTION:
39+
TYPE: "ArmAction"
40+
ARM_CONTROLLER: "ArmRelPosAction"
41+
ARM_JOINT_DIMENSIONALITY: 7
42+
GRIP_CONTROLLER: null
43+
EE_CTRL_LIM: 0.025
44+
GRASP_THRESH_DIST: 0.15
45+
DELTA_POS_LIMIT: 0.025
46+
RENDER_EE_TARGET: True
47+
POSSIBLE_ACTIONS:
48+
- ARM_ACTION
49+
50+
SIMULATOR:
51+
ACTION_SPACE_CONFIG: v0
52+
AGENTS: ['AGENT_0']
53+
AGENT_0:
54+
ANGULAR_ACCELERATION: 12.56
55+
ANGULAR_FRICTION: 1.0
56+
COEFFICIENT_OF_RESTITUTION: 0.0
57+
HEIGHT: 1.5
58+
IS_SET_START_STATE: False
59+
LINEAR_ACCELERATION: 20.0
60+
LINEAR_FRICTION: 0.5
61+
MASS: 32.0
62+
RADIUS: 0.1
63+
SENSORS: ['HEAD_RGB_SENSOR', 'THIRD_RGB_SENSOR']
64+
START_POSITION: [0, 0, 0]
65+
START_ROTATION: [0, 0, 0, 1]
66+
HEAD_RGB_SENSOR:
67+
WIDTH: 128
68+
HEIGHT: 128
69+
THIRD_RGB_SENSOR:
70+
WIDTH: 512
71+
HEIGHT: 512
72+
73+
# Agent setup
74+
ARM_REST: [0.6, 0.0, 0.9]
75+
CTRL_FREQ: 120.0
76+
AC_FREQ_RATIO: 4
77+
ROBOT_URDF: ./data/robots/hab_fetch/robots/hab_fetch.urdf
78+
FORWARD_STEP_SIZE: 0.25
79+
LAG_OBSERVATIONS: 0
80+
IK_ARM_URDF: null
81+
LOAD_OBJS: False
82+
83+
# Grasping
84+
HOLD_THRESH: 0.09
85+
GRASP_IMPULSE: 1000.0
86+
87+
DEFAULT_AGENT_ID: 0
88+
HABITAT_SIM_V0:
89+
ALLOW_SLIDING: True
90+
ENABLE_PHYSICS: True
91+
GPU_DEVICE_ID: 0
92+
GPU_GPU: False
93+
PHYSICS_CONFIG_FILE: ./data/default.physics_config.json
94+
SEED: 100
95+
SEMANTIC_SENSOR:
96+
HEIGHT: 480
97+
HFOV: 90
98+
ORIENTATION: [0.0, 0.0, 0.0]
99+
POSITION: [0, 1.25, 0]
100+
TYPE: HabitatSimSemanticSensor
101+
WIDTH: 640
102+
TILT_ANGLE: 15
103+
TURN_ANGLE: 10
104+
TYPE: RearrangeSim-v0

configs/tasks/rearrangepick_replica_cad.yaml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,16 @@ TASK:
3737
DIMENSIONALITY: 3
3838
JOINT_SENSOR:
3939
TYPE: "JointSensor"
40-
EE_SENSOR:
41-
TYPE: "EeSensor"
40+
DIMENSIONALITY: 7
41+
END_EFFECTOR_SENSOR:
42+
TYPE: "EEPositionSensor"
4243
IS_HOLDING_SENSOR:
4344
TYPE: "IsHoldingSensor"
45+
RELATIVE_RESTING_POS_SENSOR:
46+
TYPE: "RelativeRestingPositionSensor"
4447
LOCAL_SENSOR:
4548
TYPE: "LocalizationSensor"
46-
SENSORS: ["TARGET_START_SENSOR", "GOAL_SENSOR", "JOINT_SENSOR", "IS_HOLDING_SENSOR", "EE_SENSOR", "LOCAL_SENSOR"]
49+
SENSORS: ["TARGET_START_SENSOR", "GOAL_SENSOR", "JOINT_SENSOR", "IS_HOLDING_SENSOR", "END_EFFECTOR_SENSOR", "LOCAL_SENSOR", "RELATIVE_RESTING_POS_SENSOR"]
4750
ROBOT_FORCE:
4851
TYPE: "RobotForce"
4952
MIN_FORCE: 20.0
@@ -53,6 +56,8 @@ TASK:
5356
TYPE: "ObjectToGoalDistance"
5457
END_EFFECTOR_TO_OBJECT_DISTANCE:
5558
TYPE: "EndEffectorToObjectDistance"
59+
END_EFFECTOR_TO_REST_DISTANCE:
60+
TYPE: "EndEffectorToRestDistance"
5661
REARRANGE_PICK_REWARD:
5762
TYPE: "RearrangePickReward"
5863
DIST_REWARD: 20.0
@@ -81,17 +86,19 @@ TASK:
8186
- "OBJECT_TO_GOAL_DISTANCE"
8287
- "ROBOT_FORCE"
8388
- "ROBOT_COLLS"
89+
- "END_EFFECTOR_TO_REST_DISTANCE"
8490
- "END_EFFECTOR_TO_OBJECT_DISTANCE"
8591
- "REARRANGE_PICK_SUCCESS"
8692
- "REARRANGE_PICK_REWARD"
8793
ACTIONS:
8894
ARM_ACTION:
8995
TYPE: "ArmAction"
90-
ARM_CONTROLLER: "ArmVelAction"
96+
ARM_CONTROLLER: "ArmRelPosAction"
9197
GRIP_CONTROLLER: "MagicGraspAction"
98+
ARM_JOINT_DIMENSIONALITY: 7
9299
GRASP_THRESH_DIST: 0.15
93100
DISABLE_GRIP: False
94-
VEL_CTRL_LIM: 0.0125
101+
DELTA_POS_LIMIT: 0.0125
95102
POSSIBLE_ACTIONS:
96103
- ARM_ACTION
97104

@@ -137,7 +144,6 @@ SIMULATOR:
137144
ROBOT_URDF: ./data/robots/hab_fetch/robots/hab_fetch.urdf
138145
FORWARD_STEP_SIZE: 0.25
139146
LAG_OBSERVATIONS: 1
140-
HIGH_RES_DIM: 512
141147

142148
# Grasping
143149
HOLD_THRESH: 0.09

configs/tasks/rearrangepick_replica_cad_example.yaml

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ TASK:
2929
TYPE: "GoalSensor"
3030
GOAL_FORMAT: "CARTESIAN"
3131
DIMENSIONALITY: 3
32+
REL_RESTING_POSITION_SENSOR:
33+
TYPE: "RelativeRestingPositionSensor"
34+
GOAL_FORMAT: "CARTESIAN"
35+
DIMENSIONALITY: 3
3236
ABS_TARGET_START_SENSOR:
3337
TYPE: "AbsTargetStartSensor"
3438
GOAL_FORMAT: "CARTESIAN"
@@ -39,13 +43,14 @@ TASK:
3943
DIMENSIONALITY: 3
4044
JOINT_SENSOR:
4145
TYPE: "JointSensor"
42-
EE_SENSOR:
43-
TYPE: "EeSensor"
46+
DIMENSIONALITY: 7
47+
END_EFFECTOR_SENSOR:
48+
TYPE: "EEPositionSensor"
4449
IS_HOLDING_SENSOR:
4550
TYPE: "IsHoldingSensor"
4651
LOCAL_SENSOR:
4752
TYPE: "LocalizationSensor"
48-
SENSORS: ["TARGET_START_SENSOR", "GOAL_SENSOR", "JOINT_SENSOR", "IS_HOLDING_SENSOR", "EE_SENSOR", "LOCAL_SENSOR"]
53+
SENSORS: ["TARGET_START_SENSOR", "REL_RESTING_POSITION_SENSOR", "GOAL_SENSOR", "JOINT_SENSOR", "IS_HOLDING_SENSOR", "END_EFFECTOR_SENSOR", "LOCAL_SENSOR"]
4954
ROBOT_FORCE:
5055
TYPE: "RobotForce"
5156
MIN_FORCE: 20.0
@@ -55,6 +60,8 @@ TASK:
5560
TYPE: "ObjectToGoalDistance"
5661
END_EFFECTOR_TO_OBJECT_DISTANCE:
5762
TYPE: "EndEffectorToObjectDistance"
63+
END_EFFECTOR_TO_REST_DISTANCE:
64+
TYPE: "EndEffectorToRestDistance"
5865
REARRANGE_PICK_REWARD:
5966
TYPE: "RearrangePickReward"
6067
DIST_REWARD: 20.0
@@ -83,21 +90,24 @@ TASK:
8390
- "OBJECT_TO_GOAL_DISTANCE"
8491
- "ROBOT_FORCE"
8592
- "ROBOT_COLLS"
93+
- "END_EFFECTOR_TO_REST_DISTANCE"
8694
- "END_EFFECTOR_TO_OBJECT_DISTANCE"
8795
- "REARRANGE_PICK_SUCCESS"
8896
- "REARRANGE_PICK_REWARD"
8997
ACTIONS:
9098
ARM_ACTION:
9199
TYPE: "ArmAction"
92-
ARM_CONTROLLER: "ArmVelAction"
100+
# Uncomment to run with velocity control
101+
ARM_CONTROLLER: "ArmRelPosAction"
93102

94103
# Uncomment to run with end-effector control
95104
#ARM_CONTROLLER: "ArmEEAction"
96105

97106
GRIP_CONTROLLER: "MagicGraspAction"
107+
ARM_JOINT_DIMENSIONALITY: 7
98108
GRASP_THRESH_DIST: 0.15
99109
DISABLE_GRIP: False
100-
VEL_CTRL_LIM: 0.0125
110+
DELTA_POS_LIMIT: 0.0125
101111
EE_CTRL_LIM: 0.015
102112
BASE_VELOCITY:
103113
TYPE: "BaseVelAction"
@@ -165,12 +175,9 @@ SIMULATOR:
165175
GPU_DEVICE_ID: 0
166176
GPU_GPU: False
167177
PHYSICS_CONFIG_FILE: ./data/default.physics_config.json
168-
HIGH_RES_DIM: 512
169178
LAG_OBSERVATIONS: 1
170-
SHOULD_RENDER_DEBUG: True
171179
ROBOT_URDF: ./data/robots/hab_fetch/robots/hab_fetch.urdf
172-
# Uncomment to use IK control
173-
#IK_ARM_URDF: ./data/robots/hab_fetch/robots/fetch_onlyarm.urdf
180+
IK_ARM_URDF: ./data/robots/hab_fetch/robots/fetch_onlyarm.urdf
174181
SEED: 100
175182
SEMANTIC_SENSOR:
176183
HEIGHT: 480

configs/tasks/rearrangepick_replica_cad_example_ik.yaml

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ TASK:
1010
COUNT_OBJ_COLLISIONS: True
1111
COUNT_ROBOT_OBJ_COLLS: False
1212

13+
# Reach task config
14+
RENDER_TARGET: True
15+
EE_SAMPLE_FACTOR: 0.8
16+
1317
# In radians
1418
#BASE_ANGLE_NOISE: 0.15
1519
#BASE_NOISE: 0.05
@@ -39,13 +43,16 @@ TASK:
3943
DIMENSIONALITY: 3
4044
JOINT_SENSOR:
4145
TYPE: "JointSensor"
42-
EE_SENSOR:
43-
TYPE: "EeSensor"
46+
DIMENSIONALITY: 7
47+
END_EFFECTOR_SENSOR:
48+
TYPE: "EEPositionSensor"
4449
IS_HOLDING_SENSOR:
4550
TYPE: "IsHoldingSensor"
4651
LOCAL_SENSOR:
4752
TYPE: "LocalizationSensor"
48-
SENSORS: ["TARGET_START_SENSOR", "GOAL_SENSOR", "JOINT_SENSOR", "IS_HOLDING_SENSOR", "EE_SENSOR", "LOCAL_SENSOR"]
53+
RELATIVE_RESTING_POS_SENSOR:
54+
TYPE: "RelativeRestingPositionSensor"
55+
SENSORS: ["TARGET_START_SENSOR", "GOAL_SENSOR", "JOINT_SENSOR", "IS_HOLDING_SENSOR", "END_EFFECTOR_SENSOR", "LOCAL_SENSOR", "RELATIVE_RESTING_POS_SENSOR"]
4956
ROBOT_FORCE:
5057
TYPE: "RobotForce"
5158
MIN_FORCE: 20.0
@@ -55,6 +62,8 @@ TASK:
5562
TYPE: "ObjectToGoalDistance"
5663
END_EFFECTOR_TO_OBJECT_DISTANCE:
5764
TYPE: "EndEffectorToObjectDistance"
65+
END_EFFECTOR_TO_REST_DISTANCE:
66+
TYPE: "EndEffectorToRestDistance"
5867
REARRANGE_PICK_REWARD:
5968
TYPE: "RearrangePickReward"
6069
DIST_REWARD: 20.0
@@ -84,16 +93,18 @@ TASK:
8493
- "ROBOT_FORCE"
8594
- "ROBOT_COLLS"
8695
- "END_EFFECTOR_TO_OBJECT_DISTANCE"
96+
- "END_EFFECTOR_TO_REST_DISTANCE"
8797
- "REARRANGE_PICK_SUCCESS"
8898
- "REARRANGE_PICK_REWARD"
8999
ACTIONS:
90100
ARM_ACTION:
91101
TYPE: "ArmAction"
92102
ARM_CONTROLLER: "ArmEEAction"
93103
GRIP_CONTROLLER: "MagicGraspAction"
104+
ARM_JOINT_DIMENSIONALITY: 7
94105
GRASP_THRESH_DIST: 0.15
95106
DISABLE_GRIP: False
96-
VEL_CTRL_LIM: 0.0125
107+
DELTA_POS_LIMIT: 0.0125
97108
EE_CTRL_LIM: 0.015
98109
BASE_VELOCITY:
99110
TYPE: "BaseVelAction"
@@ -161,9 +172,7 @@ SIMULATOR:
161172
GPU_DEVICE_ID: 0
162173
GPU_GPU: False
163174
PHYSICS_CONFIG_FILE: ./data/default.physics_config.json
164-
HIGH_RES_DIM: 512
165175
LAG_OBSERVATIONS: 1
166-
SHOULD_RENDER_DEBUG: True
167176
ROBOT_URDF: ./data/robots/hab_fetch/robots/hab_fetch.urdf
168177
IK_ARM_URDF: ./data/robots/hab_fetch/robots/fetch_onlyarm.urdf
169178
SEED: 100

0 commit comments

Comments
 (0)