feat: separate rolling horizons from stop boundaries

This commit is contained in:
梁薄云
2026-08-05 17:13:09 +08:00
parent e56220fc29
commit 21b20d09d4
9 changed files with 246 additions and 96 deletions
@@ -170,7 +170,7 @@ internal static class LongitudinalIntegrationChecks
}, true);
var input = new LongitudinalPlanningInput(curvedPath, TravelDirection.Forward,
baseline.InitialProgressSpeedMetersPerSecond, baseline.InitialAccelerationMetersPerSecondSquared,
baseline.TerminalType, baseline.Configuration, Array.Empty<double>(), Array.Empty<double>());
baseline.TerminalType, baseline.Mode, baseline.Configuration, Array.Empty<double>(), Array.Empty<double>());
EmPlanningStatus speedStatus = new PathSpeedLimitBuilder().Build(input, out PathSpeedLimit envelope,
out string speedFailure);
Verification.Equal(EmPlanningStatus.Success, speedStatus, "curved-envelope setup: " + speedFailure);
@@ -212,7 +212,7 @@ internal static class LongitudinalIntegrationChecks
}, true);
var input = new LongitudinalPlanningInput(curvedPath, TravelDirection.Forward,
baseline.InitialProgressSpeedMetersPerSecond, baseline.InitialAccelerationMetersPerSecondSquared,
baseline.TerminalType, baseline.Configuration, Array.Empty<double>(), Array.Empty<double>());
baseline.TerminalType, baseline.Mode, baseline.Configuration, Array.Empty<double>(), Array.Empty<double>());
var solver = new FakeQpSolver(new[]
{
Result(QpSolveStatus.Solved, ToPrimal(toleranceCandidate), 2d),
@@ -335,7 +335,8 @@ internal static class LongitudinalIntegrationChecks
Point(2d, terminalPathS, 0d),
};
return new LongitudinalScenario(name, new LongitudinalPlanningInput(new LateralPath(points, true), direction,
initialSpeed, initialAcceleration, EmTerminalType.Goal, configuration, Array.Empty<double>(), Array.Empty<double>()));
initialSpeed, initialAcceleration, EmTerminalType.Goal, EmLongitudinalMode.ExactStopAtBoundary,
configuration, Array.Empty<double>(), Array.Empty<double>()));
}
private static void VerifyRealScenario(LongitudinalScenario scenario, LongitudinalPlanningResult result)
@@ -392,7 +393,7 @@ internal static class LongitudinalIntegrationChecks
Point(2d, terminalPathS, 0d),
}, true);
return new LongitudinalPlanningInput(path, TravelDirection.Forward, 0.10d, 0d, EmTerminalType.Goal,
configuration, Array.Empty<double>(), Array.Empty<double>());
EmLongitudinalMode.ExactStopAtBoundary, configuration, Array.Empty<double>(), Array.Empty<double>());
}
private static LateralPathPoint Point(double referenceS, double pathS, double curvature)