# EM PathS 单调重采样修复设计 ## 问题 `FullDirectionSegment` 会将纵向候选轨迹按固定时间步长重采样。纵向解验证允许 `Validation.KinematicTolerance` 范围内的求解数值残差,但 `TrajectorySampleSchedule` 对重采样 `PathS` 使用零容差递增检查。因此合法候选会在发布阶段因微小回退被拒绝。 ## 目标与边界 - 容差内的 `PathS` 数值回退或终点越界应被归一化成单调、有界的发布样本。 - 超过容差的真实回退仍必须拒绝。 - 错误诊断应包含样本索引、前值、当前值与差值。 - 不修改 `Control`、`Shared`、`StateEstimation`、`Trajectory` 或现有控制 Movement。 ## 设计 `EmTrajectoryAssembler` 从已验证配置中读取 `Validation.KinematicTolerance`,并传给 `TrajectorySampleSchedule`。调度器在收录每个样本时: 1. 将候选末点 `S` 作为当次轨迹的上界。 2. 若当前 `PathS` 低于上一发布值,且回退量不超过容差,则归一化为上一值。 3. 若当前 `PathS` 高于终点,且越界量不超过容差,则归一化为终点。 4. 任一偏差超过容差时抛出详细异常,不发布轨迹。 5. 归一化只改发布样本,不改动 QP 候选、不改控制器输入协议。 ## 测试 - RED:构造容差内微小 `PathS` 回退的完整方向段候选,现状应抛异常。 - GREEN:修复后可成功发布,所有样本 `PathS` 不递减且不超过终点。 - 保护性测试:超过容差的回退仍被拒绝,诊断包含关键数值。 - 回归:运行 EM trajectory / planning / observation 验证与主工程 Release 编译。