-
Notifications
You must be signed in to change notification settings - Fork 10
/
cartpole_physical_parameters.yml
54 lines (53 loc) · 3.92 KB
/
cartpole_physical_parameters.yml
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
cartpole:
actuator_noise: 0.1 #Only for lqr and old mppi, for new MPC use controlDisturbance instead. Noise on top of the calculated control input by +/- this value, we usually set 0.5 to explore various controllers while collecting data for training, 0.1 to test an not-ideal case
mode: stabilization
seed: # This is a seed for rng for CartPole instance class only. If null random seed based on datetime is used
PATH_TO_EXPERIMENT_RECORDINGS_DEFAULT: './Experiment_Recordings/' # Where to save experiment recording per default
m_cart: 0.230 # mass of cart, kg # Checked by Antonio
u_max: 1.77 # max force produced by the motor, N # Checked by Marcin
M_fric: 3.22 # cart friction on track, N/m/s # Checked by Marcin
J_fric: 5.0e-5 # friction coefficient on angular velocity in pole joint, Nm/rad/s # Checked by Marcin
v_max: 0.8 # max DC motor speed, m/s, in absense of friction, used for motor back EMF model # TODO: not implemented in model, but needed for MPC
cart_length: 4.4e-2 # m, checked by Marcin&Asude
track_length: 44.0e-2 # m, checked by Marcin&Asude, Total track length, usable track length is track_length-cart_length
controlDisturbance_mode: "additive" # 'truncnorm' (with mu=Q+controlBias and scale controlDisturbance, trunc -1,1), 'additive' (old, Q+controlDisturbance*std_normal+controlBias), 'OFF'
controlDisturbance: 0.5 # disturbance, as factor of u_max # I used 0.2-0.5 for data collection
controlBias: 0.0 # bias of control input
g: 9.81 # absolute value of gravity acceleration, m/s^2
k: "1.0/3.0" # Dimensionless factor of moment of inertia of the pole with length 2L: I: (1/3)*m*(L)^2 = (4/3)*m*(L/2)^2
latency: 0.0 # s
noise:
noise_mode: 'OFF'
sigma_angle: 0.0 # As measured by Asude
sigma_position: 0.0005
sigma_angleD: 0.075 # This is much smaller than would result from sigma_angle under assumption of iir filter+derviative calculation; the theoretical value would be 2.28
sigma_positionD: 0.005
vertical_angle_offset:
init_value: 0.0 # deg, number or 'random'
change_every_x_seconds: # If left empty angle shift changed at each simulation step, otherwise time in seconds, or 'inf' for no change
mode: 'constant' # 'constant', 'random_walk', 'increase', 'random'
range_random: [-3.141592, 3.141592] # Range from which to uniformly sample, in radians
range_clip: # range at which to clip, leave empty for no clipping
increment: 0.02
reset_every_x_seconds: 18 # seconds, or 'inf' for no change
L:
init_value: 0.395 # length of pend, m
change_every_x_seconds: 7 # If left empty angle shift changed at each simulation step, otherwise time in seconds, or 'inf' for no change
mode: 'constant' # 'constant', 'random_walk', 'increase', 'random'
range_random: [0.25, 0.55] # Range from which to uniformly sample or at which to clip, leave empty for no clipping
range_clip: [0.25, 0.55] # range at which to clip, leave empty for no clipping
increment: 0.002
reset_every_x_seconds: 'inf' # seconds, or 'inf' for no change
m_pole:
init_value: 0.087 # length of pend, m
change_every_x_seconds: 2 # If left empty angle shift changed at each simulation step, otherwise time in seconds, or 'inf' for no change
mode: 'constant' # 'constant', 'random_walk', 'increase', 'random'
range_random: [ 0.015, 0.15] # Range from which to uniformly sample or at which to clip, leave empty for no clipping
range_clip: [ 0.015, 0.15 ] # range at which to clip, leave empty for no clipping
increment: 0.002
reset_every_x_seconds: 'inf' # seconds, or 'inf' for no change
inform_controller_about_parameters_change:
mode: 'switching_regular' # 'OFF', 'ON', 'switching_random', 'switching_regular'
change_to_on_after_x_seconds_off: 1.5 # seconds, if mode switching_random this is the upper bound
change_to_off_after_x_seconds_on: 4 # seconds, if mode switching_random this is the upper bound
num_control_inputs: 1