コード例 #1
0
ファイル: mpc.py プロジェクト: TheSong96/490R-Mobile-Robots
 def reset_state(self):
     '''
     Utility function for resetting internal states.
     '''
     with self.path_lock:
         self.trajs = self.get_control_trajectories(self.T)
         assert self.trajs.shape == (self.K, self.T, 2)
         self.scaled = np.zeros((self.K * self.T, 3))
         self.bbox_map = np.zeros((self.K * self.T, 2, 4))
         self.perm = np.zeros(self.K * self.T).astype(np.int)
         self.map = self.get_map()
         self.perm_reg = self.load_permissible_region(self.map)
         self.map_x = self.map.info.origin.position.x
         self.map_y = self.map.info.origin.position.y
         self.map_angle = utils.rosquaternion_to_angle(self.map.info.origin.orientation)
         self.map_c = np.cos(self.map_angle)
         self.map_s = np.sin(self.map_angle)
         if self.ENABLE_DYNAMIC_TRAJ:
             self.trajs_long = self.trajs
             self.trajs_short = self.get_control_trajectories(self.Tshort)
             self.scaled_long = self.scaled
             self.bbox_map_long = self.bbox_map
             self.perm_long = self.perm
             self.scaled_short = self.scaled[:self.K*self.Tshort,:]
             self.bbox_map_short = self.bbox_map[:self.K*self.Tshort,:,:]
             self.perm_short = self.perm[:self.K*self.Tshort]
コード例 #2
0
ファイル: mpc.py プロジェクト: anushgandra/Coding
 def reset_state(self):
     with self.path_lock:
         self.sampled_controls = self.sample_controls()
         self.scaled = np.zeros((self.K * self.T, 3))
         self.bbox_map = np.zeros((self.K * self.T, 2, 4))
         self.perm = np.zeros(self.K * self.T).astype(np.int)
         self.map = self.get_map()
         self.perm_reg = self.load_permissible_region(self.map)
         self.map_x = self.map.info.origin.position.x
         self.map_y = self.map.info.origin.position.y
         self.map_angle = utils.rosquaternion_to_angle(
             self.map.info.origin.orientation)
         self.map_c = np.cos(self.map_angle)
         self.map_s = np.sin(self.map_angle)
コード例 #3
0
ファイル: mpc.py プロジェクト: prl-mushr/mushr_control
    def reset_state(self):
        with self.path_lock:
            self.sampled_controls = self.sample_controls()
            self.scaled = np.zeros((self.K * self.T, 3))
            self.bbox_map = np.zeros((self.K * self.T, 2, 4))
            self.perm = np.zeros(self.K * self.T).astype(np.int)
            self.map = self.get_map()
            self.perm_reg = self.load_permissible_region(self.map)
            self.map_x = self.map.info.origin.position.x
            self.map_y = self.map.info.origin.position.y
            self.map_angle = utils.rosquaternion_to_angle(self.map.info.origin.orientation)
            self.map_c = np.cos(self.map_angle)
            self.map_s = np.sin(self.map_angle)

            L = self.car_length
            W = self.car_width

            # Specify specs of bounding box
            self.bbox = np.array([
                [L / 2.0, W / 2.0],
                [L / 2.0, -W / 2.0],
                [-L / 2.0, W / 2.0],
                [-L / 2.0, -W / 2.0]
            ]) / (self.map.info.resolution)
コード例 #4
0
 def cb_pose(self, msg):
     self.inferred_pose = [
         msg.pose.position.x,
         msg.pose.position.y,
         utils.rosquaternion_to_angle(msg.pose.orientation)]