in occant_baselines/rl/occant_nav_trainer.py [0:0]
def _synchronize_configs(self, config):
r"""Matches configs for different parts of the model as well as the simulator.
"""
config.defrost()
config.RL.ANS.PLANNER.nplanners = config.NUM_PROCESSES
config.RL.ANS.MAPPER.thresh_explored = config.RL.ANS.thresh_explored
config.RL.ANS.pyt_random_seed = config.PYT_RANDOM_SEED
config.RL.ANS.OCCUPANCY_ANTICIPATOR.pyt_random_seed = config.PYT_RANDOM_SEED
# Compute the EGO_PROJECTION options based on the
# depth sensor information and agent parameters.
map_size = config.RL.ANS.MAPPER.map_size
map_scale = config.RL.ANS.MAPPER.map_scale
min_depth = config.TASK_CONFIG.SIMULATOR.DEPTH_SENSOR.MIN_DEPTH
max_depth = config.TASK_CONFIG.SIMULATOR.DEPTH_SENSOR.MAX_DEPTH
hfov = config.TASK_CONFIG.SIMULATOR.DEPTH_SENSOR.HFOV
width = config.TASK_CONFIG.SIMULATOR.DEPTH_SENSOR.WIDTH
height = config.TASK_CONFIG.SIMULATOR.DEPTH_SENSOR.HEIGHT
hfov_rad = np.radians(float(hfov))
vfov_rad = 2 * np.arctan((height / width) * np.tan(hfov_rad / 2.0))
vfov = np.degrees(vfov_rad).item()
camera_height = config.TASK_CONFIG.SIMULATOR.DEPTH_SENSOR.POSITION[1]
height_thresholds = [0.2, 1.5]
# Set the EGO_PROJECTION options
ego_proj_config = config.RL.ANS.OCCUPANCY_ANTICIPATOR.EGO_PROJECTION
ego_proj_config.local_map_shape = (2, map_size, map_size)
ego_proj_config.map_scale = map_scale
ego_proj_config.min_depth = min_depth
ego_proj_config.max_depth = max_depth
ego_proj_config.hfov = hfov
ego_proj_config.vfov = vfov
ego_proj_config.camera_height = camera_height
ego_proj_config.height_thresholds = height_thresholds
config.RL.ANS.OCCUPANCY_ANTICIPATOR.EGO_PROJECTION = ego_proj_config
# Set the GT anticipation options
wall_fov = config.RL.ANS.OCCUPANCY_ANTICIPATOR.GP_ANTICIPATION.wall_fov
config.TASK_CONFIG.TASK.GT_EGO_MAP_ANTICIPATED.WALL_FOV = wall_fov
config.TASK_CONFIG.TASK.GT_EGO_MAP_ANTICIPATED.MAP_SIZE = map_size
config.TASK_CONFIG.TASK.GT_EGO_MAP_ANTICIPATED.MAP_SCALE = map_scale
config.TASK_CONFIG.TASK.GT_EGO_MAP_ANTICIPATED.MAX_SENSOR_RANGE = -1
# Set the correct image scaling values
config.RL.ANS.MAPPER.image_scale_hw = config.RL.ANS.image_scale_hw
config.RL.ANS.LOCAL_POLICY.image_scale_hw = config.RL.ANS.image_scale_hw
# Set the agent dynamics for the local policy
config.RL.ANS.LOCAL_POLICY.AGENT_DYNAMICS.forward_step = (
config.TASK_CONFIG.SIMULATOR.FORWARD_STEP_SIZE
)
config.RL.ANS.LOCAL_POLICY.AGENT_DYNAMICS.turn_angle = (
config.TASK_CONFIG.SIMULATOR.TURN_ANGLE
)
# Enable GT anticipation sensor for baseline evaluation
if config.RL.ANS.OCCUPANCY_ANTICIPATOR.type == "occant_ground_truth":
if 'GT_EGO_MAP_ANTICIPATED' not in config.TASK_CONFIG.TASK.SENSORS:
config.TASK_CONFIG.TASK.SENSORS.append('GT_EGO_MAP_ANTICIPATED')
config.freeze()