namespace MultiWheelC.TrajectoryPlanning.PathSmoothing;
/// Local G2 路径平滑管线共享配置;所有距离单位为 m,曲率相关限制使用 1/m。
public sealed class PathSmoothingConfiguration
{
/// 创建采用首版安全采样、碰撞步长、净空和曲率容差默认值的可编辑配置。
public PathSmoothingConfiguration()
{
OutputSpacingMeters = 0.025d;
MaximumCollisionCheckStepMeters = 0.025d;
MinimumClearanceReserveMeters = 0d;
CurvatureLimitRadiusToleranceMeters = 0.002d;
}
/// 发布路径沿弧长的目标采样间距,单位 m;必须为有限正数。
public double OutputSpacingMeters { get; set; }
/// 连续车体扫掠复核允许的最大中心步长,单位 m;较大值会降低碰撞检查分辨率。
public double MaximumCollisionCheckStepMeters { get; set; }
/// 除无碰撞外还要求保留的最小额外净空,单位 m。
public double MinimumClearanceReserveMeters { get; set; }
/// 曲率上限复核时允许相对名义最小转弯半径的缩减容差,单位 m。
public double CurvatureLimitRadiusToleranceMeters { get; set; }
/// 局部 G2 五次过渡窗口与候选筛选选项;返回同一配置对象的可编辑子配置。
public LocalG2QuinticOptions LocalG2Quintic { get; } = new LocalG2QuinticOptions();
}