Files
ParkingRobot/ClumsyPilot/ParkrobTrajplanner/EMPlanner/Configuration/FrenetConfiguration.cs
T

34 lines
1.4 KiB
C#

namespace MultiWheelC.TrajectoryPlanning.EMPlanner;
/// <summary>
/// 世界坐标与 Frenet 参考之间投影和边界判定的容差配置。
/// </summary>
public sealed class FrenetConfiguration
{
/// <summary>
/// 世界姿态投影到方向段所允许的最大欧氏距离;单位 m,默认值 0.50,必须为正有限值。
/// </summary>
public double MaximumProjectionDistanceMeters { get; set; }
/// <summary>
/// Frenet 重建中 <c>1-kappa*l</c> 的最小绝对安全余量;无量纲,默认值 0.20,必须为大于 0 且小于 1 的有限值。
/// </summary>
public double MinimumFrenetDenominator { get; set; }
/// <summary>
/// 判断投影是否锚定在段边界的距离容差;单位 m,默认值 1e-8,必须为正有限值。
/// </summary>
public double BoundaryAnchorToleranceMeters { get; set; }
/// <summary>
/// 复制当前 Frenet 配置;输入为当前三个标量,输出为无共享可变状态的标量快照,不对数值作校验且不产生失败状态。
/// </summary>
internal FrenetConfiguration Copy()
{
return new FrenetConfiguration
{
MaximumProjectionDistanceMeters = MaximumProjectionDistanceMeters,
MinimumFrenetDenominator = MinimumFrenetDenominator,
BoundaryAnchorToleranceMeters = BoundaryAnchorToleranceMeters,
};
}
}