Commit cc2393f1 authored by Jeroen Vreeken's avatar Jeroen Vreeken
Browse files

Add some comments for azimuth network

parent 7624c501
......@@ -222,51 +222,72 @@ traces {
params {
{ "azimuth_spg", "setpoint", (float) 0.0 }
{ "azimuth_spg", "t", (float) 0.004 }
# maximum speed and position clients input is checked against
{ "azimuth_spg", "max_x", (float) deg2rad(270) }
{ "azimuth_spg", "min_x", (float) deg2rad(-270) }
{ "azimuth_spg", "max_v", (float) rpm2rads(0.14) }
# acceleration and jerk we use to generate a profile
{ "azimuth_spg", "max_a", (float) 0.0002 }
{ "azimuth_spg", "max_j", (float) 0.00001 }
# at which precision do we consider the values to be 'equal'
{ "azimuth_spg", "precision_x", (float) 0.000001 }
{ "azimuth_spg", "precision_a", (float) 0.000001 }
{ "azimuth_spg", "precision_v", (float) 0.000001 }
# maximum values within we allow normal operation
{ "azimuth_servo_state", "max_x", (float) deg2rad(270) }
{ "azimuth_servo_state", "min_x", (float) deg2rad(-270) }
{ "azimuth_servo_state", "max_v", (float) rpm2rads(0.14) }
{ "azimuth_servo_state", "max_a", (float) 0.0002 }
# controller factors
{ "azimuth_pid", "kp", (float) 0.20 }
{ "azimuth_pid", "ki", (float) 0.00 }
{ "azimuth_pid", "kd", (float) 0.0 }
{ "azimuth_pid", "t", (float) 0.004 }
# the amount of 'wind-up' we allow in the integrator
{ "azimuth_pid", "maxw", (float) rpm2rads(0.005) }
{ "azimuth_pid", "minw", (float) rpm2rads(-0.005) }
# second order filter to make sure we do not trigger the eigenfrequency of the DT
{ "azimuth_pid_filter", "transfer", (int) 2,
(double) 6.343831259e+05,
(float) { -0.9964520027, 1.9964456974 },
(float) { 1, 2 }
}
# Due to high vibrations observed at high speed it was decided to limit
# the pid controller. At low speed the value is untouched, but the
# output is limited when speed increases
# limit = offset + gain * speed
{ "azimuth_pid_limit", "offset", (float) 0.0006981317007977318308 }
{ "azimuth_pid_limit", "gain", (float)-0.3 }
# speed limit on spg + pid just before we send it to the drive
{ "azimuth_speed_limit", "min", (float) rpm2rads(-0.1999) }
{ "azimuth_speed_limit", "max", (float) rpm2rads(0.1999) }
# gear ratio between DT and servodrive
{ "azimuth_speed_servo", "gain", (float)-15006.75 }
# torque we allow the servodrive to actuate on the DT
{ "azimuth_torque", "value", (float) 10.0 }
# inverse gear ratio between DT and servodrive
{ "azimuth_position_gain", "gain", (float)-6.663668016059439919e-05 }
# callibration value for position
{ "azimuth_position_offset","value", (float) 0.0 }
# positions were we go into safe behavior
# these must be outside the normal operating range
{ "azimuth_safety", "position_min", (float) deg2rad(-290) }
{ "azimuth_safety", "position_max", (float) deg2rad(290) }
# 'safe zone' is between the operating range and the absolute safety
# value above
{ "azimuth_safety", "safe_zone_min", (float) deg2rad(-280) }
{ "azimuth_safety", "safe_zone_max", (float) deg2rad(280) }
{ "azimuth_safety", "safe_zone_min_speed", (float) rpm2rads(-0.001) }
{ "azimuth_safety", "safe_zone_max_speed", (float) rpm2rads(0.001) }
{ "azimuth_safety", "emergency_torque", (float) 3.0 }
# we do not start in recovery mode
{ "azimuth_safety", "recover", (int) 0 }
{ "elevation_input_matrix", "constants", (float) { 1.115993583036897538e-05, -1.115993583036897538e-05 },
(float) { 2.231987166073795076e-05, 2.231987166073795076e-05 } }
(float) { 2.231987166073795076e-05, 2.231987166073795076e-05 } }
{ "elevation_output_matrix", "constants", (float) { 44803.125, 22401.5625 },
(float) { -44803.125, 22401.5625 } }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment