docs: design EM PathS resampling fix

This commit is contained in:
梁薄云
2026-08-10 14:16:26 +08:00
parent 54ef239231
commit 7f33a6c255
@@ -0,0 +1,32 @@
# 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 编译。