docs: define complete trajectory velocity fields

This commit is contained in:
梁薄云
2026-08-03 21:06:11 +08:00
parent dbd68fb927
commit c492593803
@@ -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 均在配置限制内;
- 换向和目标边界精确保留;