def init_agent_state(self, agent_id): # initialize the agent at a random start state agent = self._sim.initialize_agent(agent_id) start_state = agent.get_state() if (start_state.position != self.init_position).any(): start_state.position = self.init_position start_state.rotation = q.from_float_array(self.init_rotation) start_state.sensor_states = dict() ## Initialize sensor agent.set_state(start_state) return start_state
def init_agent_state(self, agent_id): # initialize the agent at a random start state agent = self._sim.initialize_agent(agent_id) start_state = agent.get_state() # force starting position on first floor (try 100 samples) num_start_tries = 0 while start_state.position[1] > 0.5 and num_start_tries < 100: start_state.position = self._sim.pathfinder.get_random_navigable_point() num_start_tries += 1 agent.set_state(start_state) if not self._sim_settings["silent"]: print( "start_state.position\t", start_state.position, "start_state.rotation\t", start_state.rotation, ) return start_state