|
|
|
import numpy as np |
|
|
|
STEP = 1 |
|
DURATION = 200 |
|
|
|
POLICY_FOLDER = 'default_policies' |
|
|
|
STEP_COST = 0.01 |
|
OOB_COST = 0.8 |
|
RED_SHOT_REWARD = 10 |
|
TARGET_HIT_COST = 10 |
|
THREAT_WEIGHT = 0 |
|
STRAIGHT_ACTION_COST = 0.04 |
|
TTL_COST = 0.7 |
|
|
|
TTL_RATIO = 2 |
|
TTL_MIN = 4 |
|
|
|
ELEVATION_SCALE = 1 |
|
TRAJ_LENGTH = 6 |
|
SIMU_SPEED = 0.2 |
|
|
|
|
|
""" |
|
the playground parameters |
|
""" |
|
|
|
PERIMETER = 5000 |
|
PERIMETER_Z = 600 |
|
|
|
|
|
GROUNDZONE = 100 |
|
|
|
|
|
LATLON = {'Paris': |
|
{'lat': 48.865879, 'lon': 2.319827}, |
|
'Fonsorbes': |
|
{'lat': 43.54, 'lon': 1.25}, |
|
'San Francisco': |
|
{'lat': 37.7737283, 'lon': -122.4342383}, |
|
'Puilaurens': |
|
{'lat': 42.803943093860894, 'lon': 2.299540897567384}, |
|
} |
|
|
|
""" |
|
the Team Parameters |
|
""" |
|
|
|
|
|
|
|
BLUES = 12 |
|
|
|
BLUES_PER_CIRCLE = [3, 3, 4, 4, 4, 4] |
|
BLUE_CIRCLES_RHO = [500, 900, 1400, 1600, 2000, 2500] |
|
BLUE_CIRCLES_THETA = [0, -np.pi/3, -np.pi, -np.pi/2, 0, np.pi/3] |
|
BLUE_CIRCLES_ZED = [200, 250, 250, 100, 250, 100] |
|
BLUE_DISTANCE_FACTOR = 1 |
|
|
|
BLUE_IS_UNKILLABLE = True |
|
|
|
|
|
BLUE_SPEED_INIT = 1 |
|
|
|
BLUE_COLOR = [0, 0, 150, 120] |
|
BLUE_DEAD_COLOR = [20, 20, 60] |
|
|
|
|
|
|
|
REDS = 12 |
|
|
|
RED_SQUADS = [1, 1, 1, 1, 1, 15] |
|
RED_SQUADS_RHO = [1000, 700, 1000, 1200, 1500, 2000] |
|
RED_SQUADS_THETA = np.pi * np.array([0, 1/4, -1/4, -1/2, 1/2, 0]) |
|
RED_SQUADS_ZED = [200, 200, 100, 250, 200, 100] |
|
RED_DISTANCE_FACTOR = 1 |
|
|
|
|
|
RED_RHO_NOISE = [60, 60, 100, 200, 200, 300] |
|
RED_THETA_NOISE = np.pi * np.array([1/5, 1/2, 1, 1, 1, 1]) |
|
RED_ZED_NOISE = [60, 50, 10, 10, 50, 60] |
|
|
|
RED_SPEED_INIT = 0.2 |
|
|
|
RED_COLOR = [150, 0, 0, 120] |
|
RED_DEAD_COLOR = [120, 50, 30] |
|
RED_SUCCESS_COLOR = [200, 200, 0] |
|
BLACK_COLOR = [0, 0, 0] |
|
GREEN_COLOR = [0, 255, 255] |
|
|
|
""" |
|
the Drone Parameters |
|
""" |
|
|
|
g = 9.81 |
|
|
|
DRONE_MODEL = ['beta', 'alpha'] |
|
|
|
DRONE_MODELS = { |
|
'alpha': { |
|
'angle_to_neutralisation': np.pi / 4, |
|
'distance_to_neutralisation': 250, |
|
'duration_to_neutralisation': 2, |
|
'Cxy': 0.2, |
|
'Cz': 0.7, |
|
'mass': 50, |
|
'Fz_min_ratio': 0.6, |
|
'Fz_max_ratio': 1.4, |
|
'Fxy_ratio': 1, |
|
}, |
|
'beta': { |
|
'angle_to_neutralisation': np.pi / 4, |
|
'distance_to_neutralisation': 250, |
|
'duration_to_neutralisation': np.inf, |
|
'Cxy': 0.3, |
|
'Cz': 0.8, |
|
'mass': 40, |
|
'Fz_min_ratio': 0.5, |
|
'Fz_max_ratio': 1.8, |
|
'Fxy_ratio': 0.6, |
|
}, |
|
} |
|
|