Exemple #1
0
    def __init__(self, wp=None):
        """
        :param wp: world params
        """
        self._logger = get_logger(self.__class__.__name__,
                                  params['world']['logger'])

        self.wp = wp if wp is not None else params['world']
Exemple #2
0
 def __init__(self, read_only=False):
     self._use_cp_cost = True
     self._planner_type = params['planning']['planner_type']
     self._read_only = read_only
     self._use_dynamics = True
     self._async_on = False
     self._setup()
     self._logger = get_logger(self.__class__.__name__,
                               params['probcoll']['logger'],
                               os.path.join(self._save_dir, 'dagger.txt'))
     self._mpc_policy = self._create_mpc()
     shutil.copy(
         params['yaml_path'],
         os.path.join(self._save_dir,
                      '{0}.yaml'.format(params['exp_name'])))
Exemple #3
0
    def __init__(self, dynamics):
        Agent.__init__(self, dynamics)
        rccar_topics = params['rccar']['topics']
        self._logger = get_logger(
            self.__class__.__name__, 'info',
            os.path.join(os.path.join(params['exp_dir'], params['exp_name']),
                         'debug.txt'))

        self.sim = params['world']['sim']

        if self.sim:
            service = params['sim']['srv']
            self._logger.info("Waiting for service")
            ros_utils.wait_for_service(service)
            self._logger.info("Connected to service")
            self.srv = ros_utils.ServiceProxy(service, bair_car.srv.sim_env)
            data = self.srv(reset=True)
            self.sim_coll = data.coll
            self.sim_image = data.image
            self.sim_depth = data.depth
            self.sim_back_image = data.back_image
            self.sim_back_depth = data.back_depth
            self.sim_state = data.pose
            self.sim_vel = 0.0
            self.sim_steer = 0.0
            self.sim_reset = False
            self.sim_last_coll = False

        ### subscribers
        self.image_callback = ros_utils.RosCallbackAll(rccar_topics['camera'],
                                                       sensor_msgs.msg.Image,
                                                       max_num_msgs=2,
                                                       clear_msgs=False)
        self.coll_callback = ros_utils.RosCallbackEmpty(
            rccar_topics['collision'], std_msgs.msg.Empty)

        ### publishers
        self.cmd_steer_pub = ros_utils.Publisher(rccar_topics['cmd_steer'],
                                                 std_msgs.msg.Float32,
                                                 queue_size=10)
        self.cmd_vel_pub = ros_utils.Publisher(rccar_topics['cmd_vel'],
                                               std_msgs.msg.Float32,
                                               queue_size=10)
        self.pred_image_pub = ros_utils.Publisher(rccar_topics['pred_image'],
                                                  sensor_msgs.msg.Image,
                                                  queue_size=1)

        self.cv_bridge = cv_bridge.CvBridge()
Exemple #4
0
    def __init__(self, on_replay=False, parent_exp_dir=None):
        self.on_replay = on_replay
        self._save_dir = os.path.join(params['exp_dir'], params['exp_name'])

        yamls = [
            fname for fname in os.listdir(self._save_dir)
            if '.yaml' in fname and '~' not in fname
        ]
        yaml_path = os.path.join(self._save_dir, yamls[0])
        load_params(yaml_path)
        params['yaml_path'] = yaml_path

        if self.on_replay:
            self._save_dir = os.path.join(self._save_dir, 'replay')

        self._logger = get_logger(self.__class__.__name__, 'info')
Exemple #5
0
    def __init__(self, meta_data):
        use_obs = False
        Policy.__init__(self, meta_data['mpc']['H'], use_obs, meta_data)
        self._logger = get_logger(self.__class__.__name__, 'warn')

        self.cmd_vel_callback = ros_utils.RosCallbackAll(
            meta_data['bebop']['topics']['cmd_vel'],
            geometry_msgs.Twist,
            max_num_msgs=2)  # so that don't just get the cmd_vel we sent
        self.measured_vel_callback = ros_utils.RosCallbackMostRecent(
            meta_data['bebop']['topics']['measured_vel'],
            bebop_msgs.Ardrone3PilotingStateSpeedChanged)

        while not rospy.is_shutdown():
            measured_vel = self.measured_vel_callback.get()
            if measured_vel is not None:
                self.last_measured_vel = measured_vel
                break
Exemple #6
0
    def __init__(self, meta_data=None, config=None):
        self._meta_data = meta_data if meta_data is not None else default_meta_data
        self._config = config if config is not None else self._meta_data['cem']
        self._logger = get_logger(self.__class__.__name__, 'fatal')

        self.means, self.covs = [], []  # for recording
Exemple #7
0
 def __init__(self, dynamics):
     self._dynamics = dynamics
     self._logger = get_logger(self.__class__.__name__,
                               params['world']['logger'])