2.2 KiB
2.2 KiB
EM Complete Direction Visualization — Phase 02 Handoff
Status
Complete on 2026-08-06.
Implementation commit: 3269d55 — feat: derive adaptive full-segment ST schedule
Delivered scope
- Full-direction ST optimization knots and
T_endare derived from the actual Local G2PathSspeed/stopping envelope and physical jerk/acceleration reachability. LongitudinalKnotScheduleis an optimization-only contract: knot times,PathS/speed references, and an explicit terminal-hold start index. It intentionally contains no reference candidate.- Full exact stops first execute a bounded deterministic S/U/A/J feasibility QP through the injected
IQpSolver. It uses nonuniform exact dynamics, actual-PathSspeed-envelope relinearization, initial/terminal/hold equalities, hard acceleration/jerk bounds, and a shared solver budget. - Only a strictly validated candidate can become a fallback. A timeout before one exists returns
SolverTimedOut; a later timeout returnsSuccessWithFallback. - Full-scope publication resamples the optimized candidate and does not append the rolling zero-speed hold twice. Rolling-horizon publication behavior remains unchanged.
Tests
The following commands were run sequentially with exit code 0:
dotnet run --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- longitudinal-model
dotnet run --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- longitudinal-integration
dotnet run --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- trajectory
dotnet run --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- em-core-all
em-core-all was rerun after the implementation commit and passed. The only warnings were existing obsolete API warnings for Lidar2dDetect2LegTray.LegWidth and MultiWheelChassis.GetSteerWheels().
Worktree safeguards
The existing user changes in EmPlannerConfiguration.cs and MovementTest.TrajectoryObservationTest.cs, together with unrelated dirty changes, were not edited or staged.
Phase 03+ work (static start, NoProgress, terminal world pose, MovementTest, Web, Painter) remains out of scope.