namespace MultiWheelC.TrajectoryPlanning.EMPlanner; /// /// EM 规划的触发节奏、预测窗口、离散上限和发布样本上限配置;默认值由 为低速泊车协调。 /// public sealed class SchedulingConfiguration { /// /// 两次规划触发之间的周期;单位 s,默认值 0.20,必须为正有限值。 /// public double ReplanPeriodSeconds { get; set; } /// /// 单次优化覆盖的预测时间窗口;单位 s,默认值 6,必须为正有限值。 /// public double TimeHorizonSeconds { get; set; } /// /// 单次优化覆盖的最大参考线距离;单位 m,默认值 500,必须为正有限值;滚动规划时还须覆盖制动距离及一个重规划周期内的行程。 /// public double DistanceHorizonMeters { get; set; } /// /// 发布轨迹相邻样本的时间间隔;单位 s,默认值 0.05,必须为正有限值。 /// public double OutputTimeStepSeconds { get; set; } /// /// 单次求解允许使用的超时预算;单位 s,默认值 0.10,必须为正有限值。 /// public double SolverTimeoutSeconds { get; set; } /// /// 与已发布轨迹交接时向前查看的时长;单位 s,默认值 0.30,必须为正有限值。 /// public double HandoffLookaheadSeconds { get; set; } /// /// 接受车辆状态输入的最大时效;单位 s,默认值 0.20,必须为正有限值。 /// public double MaximumVehicleStateAgeSeconds { get; set; } /// /// 纵向优化结点允许的最大时间间距;单位 s,默认值 0.20,必须为正有限值。 /// public double MaximumOptimizationTimeStepSeconds { get; set; } /// /// 横向或走廊优化结点允许的最大空间间距;单位 m,默认值 0.10,必须为正有限值。 /// public double MaximumOptimizationSpatialStepMeters { get; set; } /// /// 一次优化允许的最大结点数量;单位为结点数,默认值 401,必须为不小于 3 的整数。 /// public int MaximumOptimizationKnotCount { get; set; } /// /// 一条发布轨迹允许的最大样本数量;单位为样本数,默认值 5001,必须为不小于 2 的整数。 /// public int MaximumPublishedSampleCount { get; set; } /// /// 复制当前调度配置;输入为当前标量限制,输出为无共享可变状态的标量快照,不对数值作校验且不产生失败状态。 /// internal SchedulingConfiguration Copy() { return new SchedulingConfiguration { ReplanPeriodSeconds = ReplanPeriodSeconds, TimeHorizonSeconds = TimeHorizonSeconds, DistanceHorizonMeters = DistanceHorizonMeters, OutputTimeStepSeconds = OutputTimeStepSeconds, SolverTimeoutSeconds = SolverTimeoutSeconds, HandoffLookaheadSeconds = HandoffLookaheadSeconds, MaximumVehicleStateAgeSeconds = MaximumVehicleStateAgeSeconds, MaximumOptimizationTimeStepSeconds = MaximumOptimizationTimeStepSeconds, MaximumOptimizationSpatialStepMeters = MaximumOptimizationSpatialStepMeters, MaximumOptimizationKnotCount = MaximumOptimizationKnotCount, MaximumPublishedSampleCount = MaximumPublishedSampleCount, }; } }