namespace MultiWheelC.TrajectoryPlanning.EMPlanner;
///
/// 表示 EM 规划请求的最终处理状态;仅两个成功状态允许发布轨迹,其余状态要求消费者保留现有安全策略并读取诊断。
///
public enum EmPlanningStatus
{
///
/// 所有规划和验证阶段成功,结果可按其生效时间发布。
///
Success,
///
/// 已发布经过验证的降级或回退轨迹;消费者仍可使用轨迹,并应记录诊断原因。
///
SuccessWithFallback,
///
/// 请求对象或其成员未满足服务输入要求。
///
InvalidInput,
///
/// 请求的车辆运动模型未被当前 EM 管线支持。
///
UnsupportedMotionMode,
///
/// 车辆状态采集时刻相对于请求时刻过旧。
///
StaleVehicleState,
///
/// 车辆状态的行驶方向与选定参考路径方向段不一致。
///
StateDirectionMismatch,
///
/// 参考路径结果、方向段或其状态不能用于规划。
///
InvalidReferencePath,
///
/// 无法将车辆状态投影到选定参考路径或方向段。
///
ProjectionFailed,
///
/// 地图和车辆约束下未能构造可行的行驶走廊。
///
CorridorInfeasible,
///
/// 横向优化未得到满足约束的候选解。
///
LateralInfeasible,
///
/// 纵向优化未得到满足时空与动力学约束的候选解。
///
LongitudinalInfeasible,
///
/// 当前速度、距离或限制不足以在所需边界前完成停车。
///
StoppingDistanceInsufficient,
///
/// 所需二次规划求解器不可用。
///
SolverUnavailable,
///
/// 求解在共享时间预算或迭代限制内未完成。
///
SolverTimedOut,
///
/// 调用方在可发布结果生成前取消了请求。
///
Cancelled,
///
/// 候选轨迹未通过最终世界空间、动力学或终端语义验证。
///
ValidationFailed,
///
/// 请求在处理期间被更新版本的规划工作替代。
///
Superseded,
///
/// 候选轨迹相对于当前状态未形成足够的有效进展。
///
NoProgress,
///
/// 轨迹末端位姿未满足要求的真实终端位姿。
///
TerminalPoseMismatch,
///
/// 完整方向段规划超过配置的时间、采样或求解资源上限。
///
FullSegmentResourceLimitExceeded,
///
/// 未被其他状态细分的规划失败。
///
Failed,
///
/// The outer planning cycle exhausted its shared bootstrap-to-publication deadline.
///
CycleDeadlineExpired,
}