-
Notifications
You must be signed in to change notification settings - Fork 25
/
level0.toml
81 lines (71 loc) · 3.47 KB
/
level0.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Level 0
# | Evaluation Scenario | Rand. Inertial Properties | Randomized Obstacles, Gates | Rand. Between Episodes | Notes |
# | :-----------------: | :-----------------------: | :-------------------------: | :--------------------: | :---------------: |
# | `level0.toml` | *No* | *No* | *No* | Perfect knowledge |
[controller]
file = "trajectory_controller.py" # Put your controller file name here. Specifying a controller as argument to scripts will override this setting. Controllers are located in `lsy_drone_racing/control/`
[deploy]
### Settings only relevant for deployment
# Whether to check if gate and obstacle positions observed by vicon are within the limits defined down below.
check_race_track = true
# Whether to check if the drone start position is within the limits specified down below.
check_drone_start_pos = true
# Lets you practice your controller without putting up gates & obstacles, assumes nominal positions given below.
practice_without_track_objects = false
[sim]
# Physics options:
# "pyb": PyBullet
# "dyn": Mathematical dynamics model
# "pyb_gnd" PyBullet with ground effect
# "pyb_drag": PyBullet with drag
# "pyb_dw": PyBullet with downwash
# "pyb_gnd_drag_dw": PyBullet with ground effect, drag, and downwash.
# "sys_id": System identification model. Only supported for attitude control interface (DroneRacingThrust-v0)
physics = "pyb"
camera_view = [5.0, -40.0, -40.0, 0.5, -1.0, 0.5]
sim_freq = 500 # Simulation frequency, in Hz
ctrl_freq = 500 # Controller frequency, in Hz. This frequency is used to simulate the onboard controller, NOT for the environment's step function
gui = false # Enable/disable PyBullet's GUI
[sim.disturbances.action]
type = "GaussianNoise"
std = 0.001
[sim.disturbances.dynamics]
type = "UniformNoise"
low = [-0.1, -0.1, -0.1]
high = [0.1, 0.1, 0.1]
[env]
id = "DroneRacing-v0" # Either "DroneRacing-v0" or "DroneRacingThrust-v0". If using "DroneRacingThrust-v0", the drone will use the thrust controller instead of the position controller.
reseed = true # Whether to re-seed the random number generator between episodes
seed = 1337 # Random seed
freq = 60 # Frequency of the environment's step function, in Hz
symbolic = false # Whether to include symbolic expressions in the info dict. Note: This can interfere with multiprocessing! If you want to parallelize your training, set this to false.
sensor_range = 0.45 # Range at which the exact location of gates and obstacles become visible to the drone. Objects that are not in the drone's sensor range report their nominal position.
[env.track]
# Tall gates: 1.0m height. Short gates: 0.525m height. Height is measured from the ground to the
# center of the gate.
[[env.track.gates]]
pos = [0.45, -1.0, 0.56]
rpy = [0.0, 0.0, 2.35]
[[env.track.gates]]
pos = [1.0, -1.55, 1.11]
rpy = [0.0, 0.0, -0.78]
[[env.track.gates]]
pos = [0.0, 0.5, 0.56]
rpy = [0.0, 0.0, 0.0]
[[env.track.gates]]
pos = [-0.5, -0.5, 1.11]
rpy = [0.0, 0.0, 3.14]
# Obstacle height: 1.4m. Height is measured from the ground to the top of the obstacle.
[[env.track.obstacles]]
pos = [1.0, -0.5, 1.4]
[[env.track.obstacles]]
pos = [0.5, -1.5, 1.4]
[[env.track.obstacles]]
pos = [-0.5, 0.0, 1.4]
[[env.track.obstacles]]
pos = [0.0, 1.0, 1.4]
[env.track.drone]
pos = [1.0, 1.0, 0.05]
rpy = [0, 0, 0]
vel = [0, 0, 0]
ang_vel = [0, 0, 0]