Lateral Maneuvers Testing Tool
Warning
Use caution when using this tool.
Test your vehicle's lateral control tuning with this tool. The tool will test the vehicle's ability to follow a few lateral maneuvers and includes a tool to generate a report from the route.
Instructions
-
Check out a development branch such as
master-micion your device. The toggle is hidden on release branches. -
The full maneuver suite runs at 20 and 30 mph.
-
Enable "Lateral Maneuver Mode" in Settings > Developer on the device while offroad. Alternatively, set the parameter manually:
echo -n 1 > /data/params/d/LateralManeuverMode -
Turn your vehicle back on. You will see "Lateral Maneuver Mode".
-
Ensure the area ahead is clear, as IQ.Pilot will command lateral acceleration steps in this mode. Once you are ready, set ACC manually to the target speed shown on screen and let IQ.Pilot stabilize lateral. After 2 seconds of steady straight driving on a road under 250 m radius and under 6.8° of roll, the maneuver will begin automatically. IQ.Pilot lateral control stays engaged between maneuvers normally while waiting for the next maneuver's readiness conditions. The maneuver will be aborted and repeated if speed is out of range, the steering wheel or gas is touched, or IQ.Pilot disengages.
-
When the testing is complete, you'll see an alert that says "Maneuvers Finished." Complete the route by pulling over and turning off the vehicle.
-
Locate the route(s) — they will stand out with lots of orange intervals in their timeline. Ensure "All logs" show as "uploaded."
-
Gather the route ID and then run the report generator. The file will be exported to the same directory:
$ python tools/lateral_maneuvers/generate_report.py 98395b7c5b27882e/000001cc--5a73bde686 processing report for KIA_EV6 plotting maneuver: step right 20mph, runs: 3 plotting maneuver: step left 20mph, runs: 3 plotting maneuver: sine 0.5Hz 20mph, runs: 3 plotting maneuver: step right 30mph, runs: 3 Opening report: tools/lateral_maneuvers/lateral_reports/KIA_EV6_98395b7c5b27882e_000001cc--5a73bde686.htmlThe IQ.Pilot
generate_report.pyalso takes a path to a localrlog.zstor a directory of them, supports auto-detection of lateral sweeps in any route withoutalertDebugmarkers (pass--auto), and ranks the top-N highest-peak sweeps by speed/peak filters. Seegenerate_report.py --help.
Testing the tooling without a car
sim_maneuvers.py runs lateral_maneuversd as a real process against a synthetic steering rack and writes an
rlog that generate_report.py reads. Use it to verify the daemon and the report generator after changing either:
$ python tools/lateral_maneuvers/sim_maneuvers.py --out /tmp/lat/rlog.zst
$ python tools/lateral_maneuvers/generate_report.py /tmp/lat/rlog.zst
The full suite takes about 5 minutes of wall clock; --max-maneuvers N stops early.