<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="app.diagrams.net" modified="2026-07-17T00:00:00.000Z" agent="SidewalkPilot diagram generator" version="24.7.17">
  <diagram id="runtime-control" name="Runtime and Control Flow">
    <mxGraphModel dx="1600" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1800" pageHeight="1470" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="panel-1" parent="1" vertex="1" value="Parallel Background Inputs" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;fillColor=#FAFBFC;strokeColor=#D0D5DD;fontColor=#344054;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=top;align=left;spacingTop=10;spacingLeft=12;">
          <mxGeometry x="25" y="105" width="1750" height="485" as="geometry" />
        </mxCell>
        <mxCell id="panel-2" parent="1" vertex="1" value="Steering Path" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;fillColor=#FAFBFC;strokeColor=#D0D5DD;fontColor=#344054;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=top;align=left;spacingTop=10;spacingLeft=12;">
          <mxGeometry x="25" y="805" width="860" height="320" as="geometry" />
        </mxCell>
        <mxCell id="panel-3" parent="1" vertex="1" value="Motor and Braking Path" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;fillColor=#FAFBFC;strokeColor=#D0D5DD;fontColor=#344054;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=top;align=left;spacingTop=10;spacingLeft=12;">
          <mxGeometry x="915" y="805" width="860" height="320" as="geometry" />
        </mxCell>
        <mxCell id="panel-4" parent="1" vertex="1" value="Runtime Telemetry" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;fillColor=#FAFBFC;strokeColor=#D0D5DD;fontColor=#344054;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=top;align=left;spacingTop=10;spacingLeft=12;">
          <mxGeometry x="310" y="1150" width="1180" height="285" as="geometry" />
        </mxCell>
        <mxCell id="frame" parent="1" vertex="1" value="Latest Camera Frame" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#E8F7F8;strokeColor=#0F7C83;fontColor=#14575B;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="55" y="155" width="205" height="70" as="geometry" />
        </mxCell>
        <mxCell id="worker" parent="1" vertex="1" value="Background Inference&lt;br&gt;Worker" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#F4F3FF;strokeColor=#6941C6;fontColor=#42307D;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="300" y="155" width="225" height="70" as="geometry" />
        </mxCell>
        <mxCell id="infer" parent="1" vertex="1" value="Jetson Orin Nano&lt;br&gt;GPU Inference" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#F0F7E8;strokeColor=#5F9400;fontColor=#2F4B00;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="565" y="155" width="235" height="70" as="geometry" />
        </mxCell>
        <mxCell id="prediction" parent="1" vertex="1" value="Latest Jetson&lt;br&gt;Prediction" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#F0F7E8;strokeColor=#5F9400;fontColor=#2F4B00;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="840" y="155" width="205" height="70" as="geometry" />
        </mxCell>
        <mxCell id="validate" parent="1" vertex="1" value="Validate Jetson&lt;br&gt;Prediction&lt;br&gt;&lt;font style=&quot;font-size:11px;color:#667085&quot;&gt;Recent? Correct model?&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF1F0;strokeColor=#B42318;fontColor=#7A271A;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="1085" y="145" width="235" height="90" as="geometry" />
        </mxCell>
        <mxCell id="xbox" parent="1" vertex="1" value="Xbox Controller Input" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#E8F7F8;strokeColor=#0F7C83;fontColor=#14575B;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="55" y="315" width="205" height="70" as="geometry" />
        </mxCell>
        <mxCell id="operator" parent="1" vertex="1" value="Operator Commands&lt;br&gt;&lt;font style=&quot;font-size:11px;color:#667085&quot;&gt;Manual control, gear, mode, takeover, quit&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF4E8;strokeColor=#B85C00;fontColor=#713B12;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="300" y="300" width="240" height="100" as="geometry" />
        </mxCell>
        <mxCell id="lidar" parent="1" vertex="1" value="Latest LiDAR Scan" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#E8F7F8;strokeColor=#0F7C83;fontColor=#14575B;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="585" y="315" width="205" height="70" as="geometry" />
        </mxCell>
        <mxCell id="lidar_eval" parent="1" vertex="1" value="Center-Corridor&lt;br&gt;Safety Evaluation" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF1F0;strokeColor=#B42318;fontColor=#7A271A;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="830" y="300" width="240" height="100" as="geometry" />
        </mxCell>
        <mxCell id="throttle_limit" parent="1" vertex="1" value="LiDAR Throttle Limit" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF1F0;strokeColor=#B42318;fontColor=#7A271A;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="1110" y="295" width="205" height="70" as="geometry" />
        </mxCell>
        <mxCell id="stop_request" parent="1" vertex="1" value="Emergency-Stop&lt;br&gt;Request" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF1F0;strokeColor=#B42318;fontColor=#7A271A;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="1110" y="385" width="205" height="70" as="geometry" />
        </mxCell>
        <mxCell id="gps" parent="1" vertex="1" value="Latest GPS Position" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#E8F7F8;strokeColor=#0F7C83;fontColor=#14575B;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="55" y="475" width="205" height="70" as="geometry" />
        </mxCell>
        <mxCell id="navigation" parent="1" vertex="1" value="Navigation and Route&lt;br&gt;State" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#F4F3FF;strokeColor=#6941C6;fontColor=#42307D;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="300" y="475" width="240" height="70" as="geometry" />
        </mxCell>
        <mxCell id="imu" parent="1" vertex="1" value="Latest IMU Yaw Rate" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#E8F7F8;strokeColor=#0F7C83;fontColor=#14575B;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="585" y="475" width="205" height="70" as="geometry" />
        </mxCell>
        <mxCell id="speed" parent="1" vertex="1" value="Latest Wheel Speed" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#E8F7F8;strokeColor=#0F7C83;fontColor=#14575B;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="830" y="475" width="205" height="70" as="geometry" />
        </mxCell>
        <mxCell id="cruise" parent="1" vertex="1" value="Wheel-Speed and&lt;br&gt;Cruise-Control State" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#F4F3FF;strokeColor=#6941C6;fontColor=#42307D;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="1075" y="475" width="240" height="70" as="geometry" />
        </mxCell>
        <mxCell id="arbitrate" parent="1" vertex="1" value="Raspberry Pi 5 Control Arbitration&lt;br&gt;&lt;font style=&quot;font-size:11px;color:#667085&quot;&gt;Select manual/autonomous commands and apply gear/mode state&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF0F4;strokeColor=#C51A4A;fontColor=#7A1030;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="660" y="640" width="430" height="125" as="geometry" />
        </mxCell>
        <mxCell id="selected_steer" parent="1" vertex="1" value="Selected Steering&lt;br&gt;Command" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF4E8;strokeColor=#B85C00;fontColor=#713B12;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="95" y="870" width="210" height="70" as="geometry" />
        </mxCell>
        <mxCell id="yaw" parent="1" vertex="1" value="Optional IMU Yaw&lt;br&gt;Correction" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#F4F3FF;strokeColor=#6941C6;fontColor=#42307D;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="350" y="870" width="215" height="70" as="geometry" />
        </mxCell>
        <mxCell id="steer_map" parent="1" vertex="1" value="Steering Limit and&lt;br&gt;Calibration Mapping&lt;br&gt;&lt;font style=&quot;font-size:11px;color:#667085&quot;&gt;Logical 0-180 degrees to physical range&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF4E8;strokeColor=#B85C00;fontColor=#713B12;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="610" y="855" width="250" height="100" as="geometry" />
        </mxCell>
        <mxCell id="pca" parent="1" vertex="1" value="PCA9685 Servo&lt;br&gt;Controller" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF4E8;strokeColor=#B85C00;fontColor=#713B12;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="350" y="1015" width="215" height="70" as="geometry" />
        </mxCell>
        <mxCell id="servo" parent="1" vertex="1" value="Steering Servo" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF4E8;strokeColor=#B85C00;fontColor=#713B12;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="610" y="1015" width="250" height="70" as="geometry" />
        </mxCell>
        <mxCell id="selected_throttle" parent="1" vertex="1" value="Selected Throttle&lt;br&gt;Command" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF4E8;strokeColor=#B85C00;fontColor=#713B12;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="945" y="870" width="215" height="70" as="geometry" />
        </mxCell>
        <mxCell id="cap" parent="1" vertex="1" value="Apply LiDAR&lt;br&gt;Throttle Limit" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF1F0;strokeColor=#B42318;fontColor=#7A271A;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="1200" y="870" width="205" height="70" as="geometry" />
        </mxCell>
        <mxCell id="aeb" parent="1" vertex="1" value="Final Emergency-Brake&lt;br&gt;Check&lt;br&gt;&lt;font style=&quot;font-size:11px;color:#667085&quot;&gt;LiDAR stop, model fault, or servo fault&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF1F0;strokeColor=#B42318;fontColor=#7A271A;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="1445" y="855" width="250" height="100" as="geometry" />
        </mxCell>
        <mxCell id="ramp" parent="1" vertex="1" value="Motor Acceleration and&lt;br&gt;Brake Ramping" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF4E8;strokeColor=#B85C00;fontColor=#713B12;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="1070" y="1015" width="230" height="70" as="geometry" />
        </mxCell>
        <mxCell id="motor_ctrl" parent="1" vertex="1" value="AT8236 Motor&lt;br&gt;Controller" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF4E8;strokeColor=#B85C00;fontColor=#713B12;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="1340" y="1015" width="215" height="70" as="geometry" />
        </mxCell>
        <mxCell id="motors" parent="1" vertex="1" value="JGB37-520&lt;br&gt;DC Motors" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#FFF4E8;strokeColor=#B85C00;fontColor=#713B12;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="1595" y="1015" width="165" height="70" as="geometry" />
        </mxCell>
        <mxCell id="runtime_state" parent="1" vertex="1" value="Runtime State" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#ECFDF3;strokeColor=#16834A;fontColor=#14532D;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="640" y="1195" width="250" height="70" as="geometry" />
        </mxCell>
        <mxCell id="csv" parent="1" vertex="1" value="CSV Logger" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#ECFDF3;strokeColor=#16834A;fontColor=#14532D;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="365" y="1320" width="200" height="70" as="geometry" />
        </mxCell>
        <mxCell id="sender" parent="1" vertex="1" value="Dashboard Telemetry&lt;br&gt;Sender" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#ECFDF3;strokeColor=#16834A;fontColor=#14532D;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="650" y="1320" width="230" height="70" as="geometry" />
        </mxCell>
        <mxCell id="zero" parent="1" vertex="1" value="Zero 2 W" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#EDF4FF;strokeColor=#246BCE;fontColor=#153E75;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="960" y="1320" width="180" height="70" as="geometry" />
        </mxCell>
        <mxCell id="display" parent="1" vertex="1" value="HUB75 RGB LED Matrix" style="rounded=1;whiteSpace=wrap;html=1;arcSize=8;shadow=1;fillColor=#EDF4FF;strokeColor=#246BCE;fontColor=#153E75;fontFamily=Arial;fontSize=16;fontStyle=1;verticalAlign=middle;spacing=8;">
          <mxGeometry x="1220" y="1320" width="220" height="70" as="geometry" />
        </mxCell>
        <mxCell id="edge-1" parent="1" edge="1" source="frame" target="worker" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-2" parent="1" edge="1" source="worker" target="infer" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-3" parent="1" edge="1" source="infer" target="prediction" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-4" parent="1" edge="1" source="prediction" target="validate" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-5" parent="1" edge="1" source="xbox" target="operator" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-6" parent="1" edge="1" source="lidar" target="lidar_eval" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-7" parent="1" edge="1" source="lidar_eval" target="throttle_limit" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-8" parent="1" edge="1" source="lidar_eval" target="stop_request" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-9" parent="1" edge="1" source="gps" target="navigation" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-10" parent="1" edge="1" source="speed" target="cruise" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-11" parent="1" edge="1" source="validate" target="arbitrate" value="accepted prediction" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1360" y="260" />
              <mxPoint x="1360" y="600" />
              <mxPoint x="875" y="600" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-12" parent="1" edge="1" source="operator" target="arbitrate" value="operator state" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="560" y="350" />
              <mxPoint x="560" y="680" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-13" parent="1" edge="1" source="navigation" target="arbitrate" value="route operator" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="575" y="510" />
              <mxPoint x="575" y="720" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-14" parent="1" edge="1" source="cruise" target="arbitrate" value="speed / cruise" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1195" y="700" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-15" parent="1" edge="1" source="arbitrate" target="selected_steer" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="875" y="810" />
              <mxPoint x="200" y="810" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-16" parent="1" edge="1" source="selected_steer" target="yaw" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-17" parent="1" edge="1" source="imu" target="yaw" value="yaw-rate feedback" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="688" y="810" />
              <mxPoint x="458" y="810" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-18" parent="1" edge="1" source="speed" target="yaw" value="movement gate" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;dashed=1;dashPattern=7 6;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="932" y="800" />
              <mxPoint x="458" y="800" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-19" parent="1" edge="1" source="yaw" target="steer_map" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-20" parent="1" edge="1" source="steer_map" target="pca" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="735" y="985" />
              <mxPoint x="458" y="985" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-21" parent="1" edge="1" source="pca" target="servo" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-22" parent="1" edge="1" source="arbitrate" target="selected_throttle" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="875" y="810" />
              <mxPoint x="1052" y="810" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-23" parent="1" edge="1" source="selected_throttle" target="cap" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-24" parent="1" edge="1" source="throttle_limit" target="cap" value="maximum allowed" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1420" y="330" />
              <mxPoint x="1420" y="800" />
              <mxPoint x="1302" y="800" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-25" parent="1" edge="1" source="cap" target="aeb" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-26" parent="1" edge="1" source="stop_request" target="aeb" value="stop override" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#B42318;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1715" y="420" />
              <mxPoint x="1715" y="785" />
              <mxPoint x="1570" y="785" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-27" parent="1" edge="1" source="validate" target="aeb" value="reject + stop" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#B42318;strokeWidth=2;endArrow=block;endFill=1;dashed=1;dashPattern=7 6;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1375" y="190" />
              <mxPoint x="1375" y="785" />
              <mxPoint x="1570" y="785" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-28" parent="1" edge="1" source="aeb" target="ramp" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1570" y="985" />
              <mxPoint x="1185" y="985" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-29" parent="1" edge="1" source="ramp" target="motor_ctrl" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-30" parent="1" edge="1" source="motor_ctrl" target="motors" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-31" parent="1" edge="1" source="arbitrate" target="runtime_state" value="state snapshot" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="875" y="1145" />
              <mxPoint x="765" y="1145" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-32" parent="1" edge="1" source="runtime_state" target="csv" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="765" y="1270" />
              <mxPoint x="465" y="1270" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-33" parent="1" edge="1" source="runtime_state" target="sender" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-34" parent="1" edge="1" source="sender" target="zero" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-35" parent="1" edge="1" source="zero" target="display" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#475467;strokeWidth=2;endArrow=block;endFill=1;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
