def Plan(self, dt, observed_world): # NOTE: if training is enabled the action is set externally if not self._set_action_externally: observed_state = self.env._observer.Observe(observed_world) action = self.Act(observed_state) self._action = action action = self._action # set action to be executed self._bark_behavior_model.ActionToBehavior(action) trajectory = self._bark_behavior_model.Plan(dt, observed_world) # NOTE: BARK requires models to have trajectories of the past BehaviorModel.SetLastTrajectory(self, trajectory) return trajectory
def Plan(self, dt, observed_world): # NOTE: if training is enabled the action is set externally if not self._set_action_externally: observed_state = self._environment._observer.Observe( observed_world) self._action = self.Act(observed_state) # NOTE: BARK expects (m, 1) actions action = self._action if isinstance(self.action_space, BoundedContinuous): action = np.reshape(self._action, (-1, 1)) # set action to be executed self._bark_behavior_model.ActionToBehavior(action) trajectory = self._bark_behavior_model.Plan(dt, observed_world) # NOTE: BARK requires models to have trajectories of the past BehaviorModel.SetLastTrajectory(self, trajectory) return trajectory