贴地后 overrideQ 是绝对旋转,但 _objectRotationCorrection 语义是 相对于 baseline(pathYaw) 的增量,且 PathAnimationManager 增量链从 CAD 姿态出发:finalQ = qup(pathYaw-currentYaw) * correctionHostQ * cadQ。 之前直接转 overrideQ 导致确认/动画时重复旋转。 核心改动: - ComposeHostCorrection 接受 cadQ,从中提取 currentYaw, correctionHostQ = qup(currentYaw - pathYaw) * overrideQ - HostQuaternionToCanonical 用相似变换 R_canon = M^-1 * R_host * M (非列向量映射,保证 Identity 不变性) - CanonicalQuaternionToHostEulerCorrection 加 hostType 参数重载, 去除全局 CoordinateSystemManager 依赖 - ComputeGroundLiftForCorrection:与自动调整同方法实测底边算 lift, finally 用新 correction+lift 完整重建(skipCadRestore=false), 使物体停留在贴地等价姿态 - 新增 5 个增量链闭环单测(含 CAD 歪斜场景) |
||
|---|---|---|
| .. | ||
| CoordinateSystem | ||
| Core | ||
| Integration | ||
| Properties | ||
| Utils | ||