Run XYZAC through upstream LinuxCNC TP

This commit is contained in:
2026-09-01 11:44:05 +08:00
parent bbdfad8364
commit d18141ec81
23 changed files with 1550 additions and 139 deletions

View File

@@ -1,14 +1,15 @@
# XYZAC TRT 完整 TP/前瞻数值对标任务轨道
状态:`TP-PARITY-00` 已 verified,完整 LinuxCNC 数值对标尚未完成。
状态:`TP-PARITY-00` native oracle 已 verified;WASM 已接入上游 LinuxCNC TP/TC 源码并完成同一 28 段运行,但完整数值对标仍为 `STOP_RELEASE`。
当前 oracle 证据:`coverage/xyzac-native-tick-trace.report.json` 已由源
`run-5axis-rtcp.sh` 产生连续 task-heartbeat tick;源 Python NML 扩展暴露
`task_heartbeat`,并记录 XYZAC pose/joints、queue、current-line、速度和加速度。
干净 checkout 使用 `scripts/build_linuxcnc_native_oracle.sh` 应用并编译同一源 patch。
`scripts/compare_xyzac_native_wasm_tick_trace.py` 已接入同一 case 的 WASM trace,
当前首个差异保留为 `$.rows[1].exec_state`,因此不得把 TP-PARITY-01..08 写成
数值 parity verified。
当前完整窗口首个差异为 `$.segments[17][4003].motion_line`;共同 TP 前缀的
position、velocity、acceleration、queue、joint command/feedback 已逐 tick 对齐,
但后续 segment duration 尚未闭合,因此不得把 TP-PARITY-01..08 写成数值 parity verified。
目标不是证明页面能绘制一条曲线,而是对同一 `xyzac-trt.ini`、同一 G-code、同一初始状态,比较 native LinuxCNC 与 WASM Worker 的每个运动 tick:
@@ -52,8 +53,8 @@ Web 端只有在该链路和 native trace 逐字段一致后,才能声明 `PAR
### TP-PARITY-01:锁定 LinuxCNC TP 数据模型和 C ABI
状态:`in_progress`。native tick oracle 已可用;当前 comparator 显示现有
WASM queue 与源 TP 的执行顺序/速度尚未一致。
状态:`in_progress`。生产 Worker 的 `planner:"linuxcnc-tp"` 直接调用上游 TP/TC
源码切片;native/WASM 完整窗口仍报告 task 元数据和后续 segment duration 差异。
来源:`linuxcnc/src/emc/tp/{tp.c,tp.h,tp_types.h,tc.c,tcq.c,tc_types.h,blendmath.c,blendmath.h,spherical_arc.c}`。