<?xml version='1.0' encoding='UTF-8'?>
<root version= "2.3.8" >
<tabbed_widget parent= "main_window" name= "Main Window" >
<Tab tab_name= "Lateral" containers= "1" >
<Container >
<DockSplitter orientation= "-" count= "5" sizes= "0.200458;0.199313;0.200458;0.199313;0.200458" >
<DockArea name= "Velocity [m/s]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "1.253354" top= "29.954036" bottom= "-0.841715" right= "631.055584" />
<limitY />
<curve color= "#0072b2" name= "/carState/vEgo" />
</plot>
</DockArea>
<DockArea name= "Curvature [1/m] True [blue] Vehicle Model [purple] Plan [green]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "0.000000" top= "0.006648" bottom= "-0.003150" right= "631.055209" />
<limitY />
<curve color= "#009e73" name= "engaged curvature plan" />
<curve color= "#785ef0" name= "engaged curvature vehicle model" />
<curve color= "#0072b2" name= "engaged curvature yaw" />
</plot>
</DockArea>
<DockArea name= "Roll [rad]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "0.000000" top= "0.166067" bottom= "-1.598381" right= "631.038276" />
<limitY />
<curve color= "#ffb000" name= "/liveLocationKalman/calibratedOrientationNED/value/0" />
</plot>
</DockArea>
<DockArea name= "Engaged [green] Steering Pressed [blue]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "1.252984" top= "1.025000" bottom= "-0.025000" right= "631.055584" />
<limitY />
<curve color= "#009e73" name= "/controlsState/enabled" />
<curve color= "#0072b2" name= "/carState/steeringPressed" />
</plot>
</DockArea>
<DockArea name= "Steering Limited: Rate [orange] Saturated [magenta]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "1.253354" top= "1.025000" bottom= "-0.025000" right= "631.055584" />
<limitY />
<curve name= "/carState/steeringRateLimited" color= "#ffb000" />
<curve name= "/controlsState/lateralControlState/pidState/saturated" color= "#dc267f" />
</plot>
</DockArea>
</DockSplitter>
</Container>
</Tab>
<Tab tab_name= "Longitudinal" containers= "1" >
<Container >
<DockSplitter orientation= "-" count= "5" sizes= "0.1875;0.1875;0.1875;0.1875;0.25" >
<DockArea name= "Velocity [m/s] True [blue] Plan [green] Cruise [magenta]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "0.000000" top= "42.713492" bottom= "-1.041792" right= "631.055584" />
<limitY />
<curve color= "#dc267f" name= "/carState/cruiseState/speed" />
<curve color= "#009e73" name= "/longitudinalPlan/speeds/0" />
<curve color= "#0072b2" name= "/carState/vEgo" />
</plot>
</DockArea>
<DockArea name= "Acceleration [m/s^2] True [blue] Actuator [purple] Plan [green]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "1.253354" top= "0.808303" bottom= "-1.213305" right= "631.055759" />
<limitY />
<curve color= "#009e73" name= "engaged_accel_plan" />
<curve color= "#785ef0" name= "engaged_accel_actuator" />
<curve color= "#0072b2" name= "engaged_accel_actual" />
</plot>
</DockArea>
<DockArea name= "Pitch [rad]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "0.000000" top= "0.158854" bottom= "-0.594843" right= "631.038276" />
<limitY />
<curve color= "#ffb000" name= "/liveLocationKalman/calibratedOrientationNED/value/1" />
</plot>
</DockArea>
<DockArea name= "Engaged [green] Gas [orange] Brake [magenta]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "1.253354" top= "1.025000" bottom= "-0.025000" right= "631.055759" />
<limitY />
<curve color= "#009e73" name= "/carControl/enabled" />
<curve color= "#ffb000" name= "/carState/gasPressed" />
<curve color= "#dc267f" name= "/carState/brakePressed" />
</plot>
</DockArea>
<DockArea name= "State [blue: off,pid,stop,start] Source [green: cruise,lead0,lead1,lead2,e2e]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "1.253620" top= "5.125000" bottom= "-0.125000" right= "631.055759" />
<limitY />
<curve color= "#0072b2" name= "/carControl/actuators/longControlState" />
<curve color= "#009e73" name= "/longitudinalPlan/longitudinalPlanSource" />
</plot>
</DockArea>
</DockSplitter>
</Container>
</Tab>
<Tab tab_name= "Lateral Debug" containers= "1" >
<Container >
<DockSplitter orientation= "-" count= "4" sizes= "0.25;0.25;0.25;0.25" >
<DockArea name= "Controller F [magenta] P [purple] I [blue]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "0.000000" top= "1.000000" bottom= "0.000000" right= "1.000000" />
<limitY />
<curve name= "/controlsState/lateralControlState/pidState/f" color= "#f14cc1" />
<curve name= "/controlsState/lateralControlState/pidState/p" color= "#9467bd" />
<curve name= "/controlsState/lateralControlState/pidState/i" color= "#17becf" />
</plot>
</DockArea>
<DockArea name= "Driver Torque [blue] EPS Torque [green]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "1.253354" top= "2690.999030" bottom= "-3450.198981" right= "631.055584" />
<limitY />
<curve color= "#009e73" name= "/carState/steeringTorqueEps" />
<curve color= "#0072b2" name= "/carState/steeringTorque" />
</plot>
</DockArea>
<DockArea name= "Engaged [green] Steering Pressed [blue]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "1.253354" top= "1.025000" bottom= "-0.025000" right= "631.055759" />
<limitY />
<curve color= "#009e73" name= "/carControl/enabled" />
<curve color= "#0072b2" name= "/carState/steeringPressed" />
</plot>
</DockArea>
<DockArea name= "Steering Limited: Rate [orange] Saturated [magenta]" >
<plot style= "Lines" mode= "TimeSeries" >
<range left= "1.253354" top= "1.025000" bottom= "-0.025000" right= "631.055584" />
<limitY />
<curve name= "/carState/steeringRateLimited" color= "#ffb000" />
<curve name= "/controlsState/lateralControlState/pidState/saturated" color= "#dc267f" />
</plot>
</DockArea>
</DockSplitter>
</Container>
</Tab>
<currentTabIndex index= "0" />
</tabbed_widget>
<use_relative_time_offset enabled= "1" />
<!-- - - - - - - - - - - - - - - -->
<!-- - - - - - - - - - - - - - - -->
<Plugins >
<plugin ID= "DataLoad Rlog" />
<plugin ID= "Cereal Subscriber" />
</Plugins>
<!-- - - - - - - - - - - - - - - -->
<!-- - - - - - - - - - - - - - - -->
<customMathEquations >
<snippet name= "engaged curvature yaw" >
<global > engage_delay = 5
last_bad_time = -engage_delay</global>
<function > curvature = value / v3
pressed = v1
enabled = v2
if (pressed == 1 or enabled == 0) then
last_bad_time = time
end
if (time > last_bad_time + engage_delay) then
return curvature
else
return 0
end</function>
<linked_source > /liveLocationKalman/angularVelocityCalibrated/value/2</linked_source>
<additional_sources >
<v1 > /carState/steeringPressed</v1>
<v2 > /carControl/enabled</v2>
<v3 > /liveLocationKalman/velocityCalibrated/value/0</v3>
</additional_sources>
</snippet>
<snippet name= "engaged curvature vehicle model" >
<global > engage_delay = 5
last_bad_time = -engage_delay</global>
<function > curvature = value
pressed = v1
enabled = v2
if (pressed == 1 or enabled == 0) then
last_bad_time = time
end
if (time > last_bad_time + engage_delay) then
return value
else
return 0
end</function>
<linked_source > /controlsState/curvature</linked_source>
<additional_sources >
<v1 > /carState/steeringPressed</v1>
<v2 > /carControl/enabled</v2>
</additional_sources>
</snippet>
<snippet name= "engaged curvature plan" >
<global > engage_delay = 5
last_bad_time = -engage_delay</global>
<function > curvature = value
pressed = v1
enabled = v2
if (pressed == 1 or enabled == 0) then
last_bad_time = time
end
if (time > last_bad_time + engage_delay) then
return value
else
return 0
end</function>
<linked_source > /lateralPlan/curvatures/0</linked_source>
<additional_sources >
<v1 > /carState/steeringPressed</v1>
<v2 > /carControl/enabled</v2>
</additional_sources>
</snippet>
<snippet name= "engaged_accel_actual" >
<global > engage_delay = 5
last_bad_time = -engage_delay</global>
<function > accel = value
brake = v1
gas = v2
enabled = v3
if (brake ~= 0 or gas ~= 0 or enabled == 0) then
last_bad_time = time
end
if (time > last_bad_time + engage_delay) then
return value
else
return 0
end</function>
<linked_source > /carState/aEgo</linked_source>
<additional_sources >
<v1 > /carState/brakePressed</v1>
<v2 > /carState/gasPressed</v2>
<v3 > /carControl/enabled</v3>
</additional_sources>
</snippet>
<snippet name= "engaged_accel_plan" >
<global > engage_delay = 5
last_bad_time = -engage_delay</global>
<function > accel = value
brake = v1
gas = v2
enabled = v3
if (brake ~= 0 or gas ~= 0 or enabled == 0) then
last_bad_time = time
end
if (time > last_bad_time + engage_delay) then
return value
else
return 0
end</function>
<linked_source > /longitudinalPlan/accels/0</linked_source>
<additional_sources >
<v1 > /carState/brakePressed</v1>
<v2 > /carState/gasPressed</v2>
<v3 > /carControl/enabled</v3>
</additional_sources>
</snippet>
<snippet name= "engaged_accel_actuator" >
<global > engage_delay = 5
last_bad_time = -engage_delay</global>
<function > accel = value
brake = v1
gas = v2
enabled = v3
if (brake ~= 0 or gas ~= 0 or enabled == 0) then
last_bad_time = time
end
if (time > last_bad_time + engage_delay) then
return value
else
return 0
end</function>
<linked_source > /carControl/actuators/accel</linked_source>
<additional_sources >
<v1 > /carState/brakePressed</v1>
<v2 > /carState/gasPressed</v2>
<v3 > /carControl/enabled</v3>
</additional_sources>
</snippet>
</customMathEquations>
<snippets />
<!-- - - - - - - - - - - - - - - -->
</root>