PlotJuggler: Tuning layout (#22902)
* PlotJuggler layout for lateral and longitudinal tuning
* update README and tuning PR template
old-commit-hash: 65d1b51476
commatwo_master
parent
1aed0bb5ba
commit
229d987f10
5 changed files with 304 additions and 10 deletions
@ -0,0 +1,289 @@ |
|||||||
|
<?xml version='1.0' encoding='UTF-8'?> |
||||||
|
<root version="2.3.8"> |
||||||
|
<tabbed_widget name="Main Window" parent="main_window"> |
||||||
|
<Tab tab_name="Lateral" containers="1"> |
||||||
|
<Container> |
||||||
|
<DockSplitter sizes="0.2;0.2;0.2;0.2;0.2" orientation="-" count="5"> |
||||||
|
<DockArea name="Velocity [m/s]"> |
||||||
|
<plot style="Lines" mode="TimeSeries"> |
||||||
|
<range bottom="23.655731" right="299.969780" top="31.072848" left="0.024389"/> |
||||||
|
<limitY/> |
||||||
|
<curve name="/carState/vEgo" color="#0072b2"/> |
||||||
|
</plot> |
||||||
|
</DockArea> |
||||||
|
<DockArea name="Curvature [1/m] True [blue] Vehicle Model [purple] Plan [green]"> |
||||||
|
<plot style="Lines" mode="TimeSeries"> |
||||||
|
<range bottom="-0.001618" right="299.969780" top="0.001706" left="0.024389"/> |
||||||
|
<limitY/> |
||||||
|
<curve name="engaged curvature plan" color="#009e73"/> |
||||||
|
<curve name="engaged curvature vehicle model" color="#785ef0"/> |
||||||
|
<curve name="engaged curvature yaw" color="#0072b2"/> |
||||||
|
</plot> |
||||||
|
</DockArea> |
||||||
|
<DockArea name="Roll [rad]"> |
||||||
|
<plot style="Lines" mode="TimeSeries"> |
||||||
|
<range bottom="-0.086784" right="299.969780" top="0.007461" left="0.024389"/> |
||||||
|
<limitY/> |
||||||
|
<curve name="/liveLocationKalman/calibratedOrientationNED/value/0" color="#ffb000"/> |
||||||
|
</plot> |
||||||
|
</DockArea> |
||||||
|
<DockArea name="Engaged [green] Steering Pressed [blue]"> |
||||||
|
<plot style="Lines" mode="TimeSeries"> |
||||||
|
<range bottom="-0.025000" right="299.969780" top="1.025000" left="0.024389"/> |
||||||
|
<limitY/> |
||||||
|
<curve name="/controlsState/enabled" color="#009e73"/> |
||||||
|
<curve name="/carState/steeringPressed" color="#0072b2"/> |
||||||
|
</plot> |
||||||
|
</DockArea> |
||||||
|
<DockArea name="Steering Limited: Rate [orange] Saturated [magenta]"> |
||||||
|
<plot style="Lines" mode="TimeSeries"> |
||||||
|
<range bottom="-0.025000" right="299.969780" top="1.025000" left="0.024389"/> |
||||||
|
<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 sizes="0.2;0.2;0.2;0.2;0.2" orientation="-" count="5"> |
||||||
|
<DockArea name="Velocity [m/s] True [blue] Plan [green]"> |
||||||
|
<plot style="Lines" mode="TimeSeries"> |
||||||
|
<range bottom="23.655731" right="299.969780" top="31.072848" left="0.024389"/> |
||||||
|
<limitY/> |
||||||
|
<curve name="/longitudinalPlan/speeds/0" color="#009e73"/> |
||||||
|
<curve name="/carState/vEgo" color="#0072b2"/> |
||||||
|
</plot> |
||||||
|
</DockArea> |
||||||
|
<DockArea name="Acceleration [m/s^2] True [blue] Actuator [purple] Plan [green]"> |
||||||
|
<plot style="Lines" mode="TimeSeries"> |
||||||
|
<range bottom="-0.832626" right="299.969780" top="1.070051" left="0.024389"/> |
||||||
|
<limitY/> |
||||||
|
<curve name="engaged_accel_plan" color="#009e73"/> |
||||||
|
<curve name="engaged_accel_actuator" color="#785ef0"/> |
||||||
|
<curve name="engaged_accel_actual" color="#0072b2"/> |
||||||
|
</plot> |
||||||
|
</DockArea> |
||||||
|
<DockArea name="Pitch [rad]"> |
||||||
|
<plot style="Lines" mode="TimeSeries"> |
||||||
|
<range bottom="-0.073326" right="299.969780" top="0.008998" left="0.024389"/> |
||||||
|
<limitY/> |
||||||
|
<curve name="/liveLocationKalman/calibratedOrientationNED/value/1" color="#ffb000"/> |
||||||
|
</plot> |
||||||
|
</DockArea> |
||||||
|
<DockArea name="Engaged [green] Gas [orange] Brake [magenta]"> |
||||||
|
<plot style="Lines" mode="TimeSeries"> |
||||||
|
<range bottom="-0.025000" right="299.969780" top="1.025000" left="0.024389"/> |
||||||
|
<limitY/> |
||||||
|
<curve name="/carControl/active" color="#009e73"/> |
||||||
|
<curve name="/carState/gasPressed" color="#ffb000"/> |
||||||
|
<curve name="/carState/brakePressed" color="#dc267f"/> |
||||||
|
</plot> |
||||||
|
</DockArea> |
||||||
|
<DockArea name="State [blue: off,pid,stop,start] Source [green: cruise,lead0,lead1,lead2,e2e]"> |
||||||
|
<plot style="Lines" mode="TimeSeries"> |
||||||
|
<range bottom="-0.050000" right="299.969780" top="2.050000" left="0.024389"/> |
||||||
|
<limitY/> |
||||||
|
<curve name="/carControl/actuators/longControlState" color="#0072b2"/> |
||||||
|
<curve name="/longitudinalPlan/longitudinalPlanSource" color="#009e73"/> |
||||||
|
</plot> |
||||||
|
</DockArea> |
||||||
|
</DockSplitter> |
||||||
|
</Container> |
||||||
|
</Tab> |
||||||
|
<Tab tab_name="Lateral Debug" containers="1"> |
||||||
|
<Container> |
||||||
|
<DockSplitter sizes="0.250564;0.249436;0.250564;0.249436" orientation="-" count="4"> |
||||||
|
<DockArea name="Controller F [magenta] P [purple] I [blue]"> |
||||||
|
<plot style="Lines" mode="TimeSeries"> |
||||||
|
<range bottom="-0.564869" right="299.969780" top="0.506951" left="0.024389"/> |
||||||
|
<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 bottom="-216.025000" right="299.969780" top="205.025000" left="0.024389"/> |
||||||
|
<limitY/> |
||||||
|
<curve name="/carState/steeringTorqueEps" color="#009e73"/> |
||||||
|
<curve name="/carState/steeringTorque" color="#0072b2"/> |
||||||
|
</plot> |
||||||
|
</DockArea> |
||||||
|
<DockArea name="Engaged [green] Steering Pressed [blue]"> |
||||||
|
<plot style="Lines" mode="TimeSeries"> |
||||||
|
<range bottom="-0.025000" right="299.969780" top="1.025000" left="0.024389"/> |
||||||
|
<limitY/> |
||||||
|
<curve name="/carState/steeringPressed" color="#0072b2"/> |
||||||
|
<curve name="/carControl/active" color="#009e73"/> |
||||||
|
</plot> |
||||||
|
</DockArea> |
||||||
|
<DockArea name="Steering Limited: Rate [orange] Saturated [magenta]"> |
||||||
|
<plot style="Lines" mode="TimeSeries"> |
||||||
|
<range bottom="-0.025000" right="299.969780" top="1.025000" left="0.024389"/> |
||||||
|
<limitY/> |
||||||
|
<curve name="/carState/steeringRateLimited" color="#ffb000"/> |
||||||
|
<curve name="/controlsState/lateralControlState/pidState/saturated" color="#dc267f"/> |
||||||
|
</plot> |
||||||
|
</DockArea> |
||||||
|
</DockSplitter> |
||||||
|
</Container> |
||||||
|
</Tab>t |
||||||
|
<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_accel_actuator"> |
||||||
|
<global>engage_delay = 5 |
||||||
|
last_bad_time = -engage_delay</global> |
||||||
|
<function>accel = value |
||||||
|
brake = v1 |
||||||
|
gas = v2 |
||||||
|
active = v3 |
||||||
|
|
||||||
|
if (brake ~= 0 or gas ~= 0 or active == 0) then |
||||||
|
last_bad_time = time |
||||||
|
end |
||||||
|
|
||||||
|
if (time > last_bad_time + engage_delay) then |
||||||
|
return value |
||||||
|
else |
||||||
|
return 0 |
||||||
|
end</function> |
||||||
|
<linkedSource>/carControl/actuators/accel</linkedSource> |
||||||
|
<additionalSources> |
||||||
|
<v1>/carState/brakePressed</v1> |
||||||
|
<v2>/carState/gasPressed</v2> |
||||||
|
<v3>/carControl/active</v3> |
||||||
|
</additionalSources> |
||||||
|
</snippet> |
||||||
|
<snippet name="engaged_accel_plan"> |
||||||
|
<global>engage_delay = 5 |
||||||
|
last_bad_time = -engage_delay</global> |
||||||
|
<function>accel = value |
||||||
|
brake = v1 |
||||||
|
gas = v2 |
||||||
|
active = v3 |
||||||
|
|
||||||
|
if (brake ~= 0 or gas ~= 0 or active == 0) then |
||||||
|
last_bad_time = time |
||||||
|
end |
||||||
|
|
||||||
|
if (time > last_bad_time + engage_delay) then |
||||||
|
return value |
||||||
|
else |
||||||
|
return 0 |
||||||
|
end</function> |
||||||
|
<linkedSource>/longitudinalPlan/accels/0</linkedSource> |
||||||
|
<additionalSources> |
||||||
|
<v1>/carState/brakePressed</v1> |
||||||
|
<v2>/carState/gasPressed</v2> |
||||||
|
<v3>/carControl/active</v3> |
||||||
|
</additionalSources> |
||||||
|
</snippet> |
||||||
|
<snippet name="engaged_accel_actual"> |
||||||
|
<global>engage_delay = 5 |
||||||
|
last_bad_time = -engage_delay</global> |
||||||
|
<function>accel = value |
||||||
|
brake = v1 |
||||||
|
gas = v2 |
||||||
|
active = v3 |
||||||
|
|
||||||
|
if (brake ~= 0 or gas ~= 0 or active == 0) then |
||||||
|
last_bad_time = time |
||||||
|
end |
||||||
|
|
||||||
|
if (time > last_bad_time + engage_delay) then |
||||||
|
return value |
||||||
|
else |
||||||
|
return 0 |
||||||
|
end</function> |
||||||
|
<linkedSource>/carState/aEgo</linkedSource> |
||||||
|
<additionalSources> |
||||||
|
<v1>/carState/brakePressed</v1> |
||||||
|
<v2>/carState/gasPressed</v2> |
||||||
|
<v3>/carControl/active</v3> |
||||||
|
</additionalSources> |
||||||
|
</snippet> |
||||||
|
<snippet name="engaged curvature plan"> |
||||||
|
<global>engage_delay = 5 |
||||||
|
last_bad_time = -engage_delay</global> |
||||||
|
<function>curvature = value |
||||||
|
pressed = v1 |
||||||
|
active = v2 |
||||||
|
|
||||||
|
if (pressed == 1 or active == 0) then |
||||||
|
last_bad_time = time |
||||||
|
end |
||||||
|
|
||||||
|
if (time > last_bad_time + engage_delay) then |
||||||
|
return value |
||||||
|
else |
||||||
|
return 0 |
||||||
|
end</function> |
||||||
|
<linkedSource>/lateralPlan/curvatures/0</linkedSource> |
||||||
|
<additionalSources> |
||||||
|
<v1>/carState/steeringPressed</v1> |
||||||
|
<v2>/carControl/active</v2> |
||||||
|
</additionalSources> |
||||||
|
</snippet> |
||||||
|
<snippet name="engaged curvature vehicle model"> |
||||||
|
<global>engage_delay = 5 |
||||||
|
last_bad_time = -engage_delay</global> |
||||||
|
<function>curvature = value |
||||||
|
pressed = v1 |
||||||
|
active = v2 |
||||||
|
|
||||||
|
if (pressed == 1 or active == 0) then |
||||||
|
last_bad_time = time |
||||||
|
end |
||||||
|
|
||||||
|
if (time > last_bad_time + engage_delay) then |
||||||
|
return value |
||||||
|
else |
||||||
|
return 0 |
||||||
|
end</function> |
||||||
|
<linkedSource>/controlsState/curvature</linkedSource> |
||||||
|
<additionalSources> |
||||||
|
<v1>/carState/steeringPressed</v1> |
||||||
|
<v2>/controlsState/active</v2> |
||||||
|
</additionalSources> |
||||||
|
</snippet> |
||||||
|
<snippet name="engaged curvature yaw"> |
||||||
|
<global>engage_delay = 5 |
||||||
|
last_bad_time = -engage_delay</global> |
||||||
|
<function>curvature = value / v3 |
||||||
|
pressed = v1 |
||||||
|
active = v2 |
||||||
|
|
||||||
|
if (pressed == 1 or active == 0) then |
||||||
|
last_bad_time = time |
||||||
|
end |
||||||
|
|
||||||
|
if (time > last_bad_time + engage_delay) then |
||||||
|
return curvature |
||||||
|
else |
||||||
|
return 0 |
||||||
|
end</function> |
||||||
|
<linkedSource>/liveLocationKalman/angularVelocityCalibrated/value/2</linkedSource> |
||||||
|
<additionalSources> |
||||||
|
<v1>/carState/steeringPressed</v1> |
||||||
|
<v2>/carControl/active</v2> |
||||||
|
<v3>/carState/vEgo</v3> |
||||||
|
</additionalSources> |
||||||
|
</snippet> |
||||||
|
</customMathEquations> |
||||||
|
<snippets/> |
||||||
|
<!-- - - - - - - - - - - - - - - --> |
||||||
|
</root> |
||||||
|
|
Loading…
Reference in new issue