docs: explain rolling longitudinal planning diagnostics

This commit is contained in:
梁薄云
2026-08-05 21:21:58 +08:00
parent eb050b19e4
commit 302798b66d
4 changed files with 79 additions and 4 deletions
@@ -217,7 +217,8 @@ internal static class TrajectoryObservationChecks
{
"planning configuration:", "timeHorizon=3.50s", "distanceHorizon=5.00m", "outputTimeStep=0.10s",
"outputFrequency=10.00Hz", "trajectoryKnots=36", "maximumOsqpIterations=54321",
"solverTimeout=1.25s", "replanPeriod=0.25s",
"solverTimeout=1.25s", "replanPeriod=0.25s", "maximumJerkLimitedStopDistance=",
"maximumJerkLimitedStopDuration=", "requiredDistanceHorizon=",
})
{
Verification.True(text.Contains(expected), "configuration diagnostic includes " + expected);
@@ -596,6 +597,14 @@ internal static class TrajectoryObservationChecks
Verification.True(diagnostic.Text.Contains("elapsed=18ms"), "diagnostic preserves elapsed time");
Verification.True(diagnostic.Text.Contains("reason=map=3;reference=diagnostic-reference"),
"diagnostic preserves planner failure reason");
foreach (string expected in new[]
{
"longitudinalMode=", "remainingToBoundary=", "minimumStoppingDistance=",
"minimumStoppingDuration=", "maximumStoppedReachableDistance=",
})
{
Verification.True(diagnostic.Text.Contains(expected), "failure diagnostic includes " + expected);
}
Verification.True(!diagnostic.Text.Contains("trajectory summary:"),
"failed diagnostic has no stale trajectory summary");
@@ -618,6 +627,7 @@ internal static class TrajectoryObservationChecks
{
"trajectory summary:", "trajectoryId=observer-published", "points=2", "duration=1.000s",
"pathLength=1.000m", "maxSpeed=0.400m/s", "maxAcceleration=0.200m/s2", "maxJerk=0.000m/s3",
"longitudinalMode=RollingContinuation", "terminalSpeed=0.400m/s", "terminalAcceleration=0.000m/s2",
})
{
Verification.True(text.Contains(expected), "published diagnostic includes " + expected);