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

39 lines
1.7 KiB
C#

namespace MultiWheelC.TrajectoryPlanning.EMPlanner;
/// <summary>
/// 发布前轨迹几何、运动学和终端误差的验收容差配置;默认值由 <see cref="EmPlannerConfiguration.CreateDefault"/> 提供。
/// </summary>
public sealed class ValidationConfiguration
{
/// <summary>
/// 几何位置、弧长和采样比较使用的空间容差;单位 m,默认值 1e-8,必须为正有限值。
/// </summary>
public double SpatialToleranceMeters { get; set; }
/// <summary>
/// 速度、加速度和曲率等无量纲相对比较的容差;无量纲,默认值 1e-5,必须为正有限值。
/// </summary>
public double KinematicTolerance { get; set; }
/// <summary>
/// 精确终止模式下终端位置允许的误差;单位 m,默认值 0,必须为非负有限值。
/// </summary>
public double TerminalPositionToleranceMeters { get; set; }
/// <summary>
/// 精确终止模式下终端航向允许的误差;单位 rad,默认值 0,必须为 [0, π] 内的有限值。
/// </summary>
public double TerminalYawToleranceRadians { get; set; }
/// <summary>
/// 复制当前校验配置;输入为当前四个容差,输出为无共享可变状态的标量快照,不对数值作校验且不产生失败状态。
/// </summary>
internal ValidationConfiguration Copy()
{
return new ValidationConfiguration
{
SpatialToleranceMeters = SpatialToleranceMeters,
KinematicTolerance = KinematicTolerance,
TerminalPositionToleranceMeters = TerminalPositionToleranceMeters,
TerminalYawToleranceRadians = TerminalYawToleranceRadians,
};
}
}