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