diff --git a/docs/superpowers/specs/2026-08-03-em-planner-ls-st-design.md b/docs/superpowers/specs/2026-08-03-em-planner-ls-st-design.md index 6612eab..093fa21 100644 --- a/docs/superpowers/specs/2026-08-03-em-planner-ls-st-design.md +++ b/docs/superpowers/specs/2026-08-03-em-planner-ls-st-design.md @@ -12,7 +12,7 @@ - 在换向点和任务终点精确停车; - 支持固定周期滚动重规划、上一轨迹拼接和安全停车尾段; - 通过可配置参数、可关闭调试旁路、明确状态和独立复核保证模块可标定、可诊断; -- 输出包含 `x、y、yaw、vx、vy、t、k` 的不可变轨迹。 +- 输出包含 `x、y、yaw、signedLongitudinalVelocity、speed、vx、vy、yawRate、t、k` 的不可变轨迹。 第一版车辆模型仅支持普通非完整运动的前进和倒车。蟹行、横移和原地旋转不进入该模型。 @@ -140,26 +140,28 @@ EmPlanningResult EmPlanningService.Plan( ### 4.3 轨迹点 -公开轨迹点至少包含: +公开轨迹点包含: ```text X m,世界坐标 Y m,世界坐标 Yaw rad,车辆车头世界航向 +SignedLongitudinalVelocity m/s,车体纵向带符号速度,前进为正、倒车为负 +Speed m/s,无符号合成速率,始终非负 VelocityX m/s,世界坐标速度分量 VelocityY m/s,世界坐标速度分量 +YawRate rad/s,车辆航向角速度,逆时针为正 TimeFromStart s,从本条轨迹生效时刻起 VehicleCurvature 1/m,最终公开字段 k ``` -为保证执行、诊断和后续扩展,内部契约同时保留: +为保证诊断和后续扩展,内部契约另外保留: ```text SegmentIndex SegmentLocalS PathS Direction -SignedLongitudinalVelocity LongitudinalAcceleration LongitudinalJerk GeometricCurvature @@ -167,6 +169,18 @@ VehicleCurvatureDerivative BoundaryType ``` +上述公开速度字段允许冗余,但只有一套权威关系: + +```text +signedV = SignedLongitudinalVelocity +speed = abs(signedV) +vx = signedV*cos(Yaw) +vy = signedV*sin(Yaw) +yawRate = signedV*VehicleCurvature +``` + +`SignedLongitudinalVelocity` 是 ST 结果结合方向段得到的权威速度标量。`Speed`、`VelocityX`、`VelocityY` 和 `YawRate` 均由它生成,不允许调用者分别赋值。独立验证器必须复核这些等式;任一字段超过数值容差即返回 `ValidationFailed`,不得发布自相矛盾的轨迹。 + 每次 EM 结果只覆盖当前一个方向段,因此其中的 `SegmentLocalS` 与 `PathS` 都从本次结果起点开始严格递增;全局任务进度必须与 `SegmentIndex` 组合使用,不能仅靠单个 S 值定位换向前后的状态。 `TimeFromStart` 从零开始且严格递增。`EmPlanningResult` 另行保存 `GeneratedAtUtc`、`EffectiveAtUtc` 和输入状态时间戳。 @@ -970,6 +984,7 @@ Contracts + Configuration - 倒车时 `l>0` 位于运动方向左侧; - `±π` 附近连续展开; - `yawRate=signedV*VehicleCurvature`; +- `speed=abs(signedV)` 且 `vx/vy` 与 `Yaw`、`signedV` 一致; - 回环路径不投影到错误分支; - 换向重复位姿不跨段投影; - `ReferenceS` 与 `PathS` 不混用。 @@ -1016,6 +1031,7 @@ Contracts + Configuration - 现有可消费平滑状态均可进入 EM; - 不可消费平滑状态被拒绝; - 最终所有点数值有限,时间严格递增; +- 公开的 `SignedLongitudinalVelocity`、`Speed`、`VelocityX`、`VelocityY` 和 `YawRate` 满足统一派生关系; - 完整车体逐点和连续扫掠无碰撞; - 曲率、速度、加速度和 jerk 均在配置限制内; - 换向和目标边界精确保留;