Exemplo n.º 1
0
def get_landmark_locations_airsim(config_json):
    landmark_names = []
    landmark_positions = []
    units = UnrealUnits()
    for i, landmarkName in enumerate(config_json["landmarkName"]):
        x_pos = config_json["xPos"][i]
        y_pos = config_json["zPos"][i]
        pt = np.asarray([x_pos, y_pos])
        pt_as = np.zeros(3)
        pt_as[0:2] = units.pos2d_to_as(pt)
        # TODO: Grab this from the parameter server
        pt_as[
            2] = 0.0 if LANDMARKS_ON_FLOOR else -1.0  # Landmarks assumed to be floating 1m above ground.
        landmark_names.append(landmarkName)
        landmark_positions.append(pt_as)

    if ADD_NULL_LANDMARK:
        null_pos = draw_null_landmark_pos(landmark_positions)
        landmark_names.append(get_null_landmark_name())
        landmark_positions.append(null_pos)

    name2idx = get_landmark_name_to_index(add_empty=ADD_NULL_LANDMARK)
    landmark_indices = [name2idx[name] for name in landmark_names]

    return landmark_names, landmark_indices, landmark_positions
Exemplo n.º 2
0
 def __get_goal_location_airsim(self, path_array):
     units = UnrealUnits(1.0)
     goal_x = path_array[-1][0]
     goal_y = path_array[-1][1]
     pt = np.asarray([goal_x, goal_y])
     pt_as = np.zeros(3)
     pt_as[0:2] = units.pos2d_to_as(pt)
     return pt_as
Exemplo n.º 3
0
def __get_goal_location_airsim(goal):
    units = UnrealUnits()
    goal_x = goal[0]
    goal_y = goal[1]
    pt = np.asarray([goal_x, goal_y])
    pt_as = np.zeros(2)
    pt_as[0:2] = units.pos2d_to_as(pt)
    return pt_as
Exemplo n.º 4
0
Arquivo: env.py Projeto: pianpwk/drif
def load_and_convert_env_config(env_id):
    config = load_env_config(env_id)
    units = UnrealUnits()
    config["x_pos_as"] = []
    config["y_pos_as"] = []
    for i,landmark in enumerate(config["landmarkName"]):
        x = config["xPos"][i]
        y = config["zPos"][i]
        conv = units.pos2d_to_as(np.asarray([x,y]))
        config["x_pos_as"].append(conv[0])
        config["y_pos_as"].append(conv[1])
    return config
Exemplo n.º 5
0
Arquivo: env.py Projeto: pianpwk/drif
def get_landmark_locations_airsim(config_json=None, add_empty=False, env_id=None):
    assert config_json is not None or env_id is not None, "At least one of config_json or env_id must be provided"
    if config_json is None:
        config_json = load_env_config(env_id)
    landmark_names = []
    landmark_positions = []
    units = UnrealUnits()
    for i, landmarkName in enumerate(config_json["landmarkName"]):
        x_pos = config_json["xPos"][i]
        y_pos = config_json["zPos"][i]
        pt = np.asarray([x_pos, y_pos])
        pt_as = np.zeros(3)
        pt_as[0:2] = units.pos2d_to_as(pt)
        landmark_names.append(landmarkName)
        landmark_positions.append(pt_as)

    landmark_indices = get_landmark_name_to_index(add_empty=add_empty)
    landmark_indices = [landmark_indices[name] for name in landmark_names]

    return landmark_names, landmark_indices, landmark_positions
Exemplo n.º 6
0
Arquivo: env.py Projeto: pianpwk/drif
def convert_path(raw_path):
    units = UnrealUnits()
    conv_path = np.asarray([units.pos2d_to_as(p) for p in raw_path])
    return conv_path
Exemplo n.º 7
0
Arquivo: env.py Projeto: pianpwk/drif
def convert_pos_from_config(pos):
    units = UnrealUnits()
    pos_conv = units.pos2d_to_as(pos)
    return pos_conv