feat: add cubic b-spline path smoother

This commit is contained in:
梁薄云
2026-07-29 10:45:11 +08:00
parent 83940f9749
commit 24b46732e3
4 changed files with 546 additions and 2 deletions
@@ -12,12 +12,14 @@ internal sealed class SmoothingAlgorithmInput
PreparedPath originalPath,
PlanningGridMap map,
VehicleParameters vehicle,
double maximumCollisionCheckStepMeters)
double maximumCollisionCheckStepMeters,
double minimumClearanceReserveMeters)
{
OriginalPath = originalPath ?? throw new ArgumentNullException(nameof(originalPath));
Map = map ?? throw new ArgumentNullException(nameof(map));
Vehicle = vehicle ?? throw new ArgumentNullException(nameof(vehicle));
MaximumCollisionCheckStepMeters = maximumCollisionCheckStepMeters;
MinimumClearanceReserveMeters = minimumClearanceReserveMeters;
}
/// <summary>已校验并按方向分段的原始路径。</summary>
@@ -31,4 +33,7 @@ internal sealed class SmoothingAlgorithmInput
/// <summary>连续车体碰撞检查的最大步长,单位 m。</summary>
internal double MaximumCollisionCheckStepMeters { get; }
/// <summary>候选几何必须从原始保守净空中预留的最小安全余量,单位 m。</summary>
internal double MinimumClearanceReserveMeters { get; }
}