Unblock native XYZAC TP oracle
This commit is contained in:
@@ -1,6 +1,13 @@
|
||||
# XYZAC TRT 完整 TP/前瞻数值对标任务轨道
|
||||
|
||||
状态:`TP-PARITY-00` 已建立,完整 LinuxCNC 数值对标尚未完成。
|
||||
状态:`TP-PARITY-00` 已 verified,完整 LinuxCNC 数值对标尚未完成。
|
||||
|
||||
当前 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、速度和加速度。
|
||||
`scripts/compare_xyzac_native_wasm_tick_trace.py` 已接入同一 case 的 WASM trace,
|
||||
当前首个差异保留为 `$.rows[1].exec_state`,因此不得把 TP-PARITY-01..08 写成
|
||||
数值 parity verified。
|
||||
|
||||
目标不是证明页面能绘制一条曲线,而是对同一 `xyzac-trt.ini`、同一 G-code、同一初始状态,比较 native LinuxCNC 与 WASM Worker 的每个运动 tick:
|
||||
|
||||
@@ -44,6 +51,9 @@ Web 端只有在该链路和 native trace 逐字段一致后,才能声明 `PAR
|
||||
|
||||
### TP-PARITY-01:锁定 LinuxCNC TP 数据模型和 C ABI
|
||||
|
||||
状态:`in_progress`。native tick oracle 已可用;当前 comparator 显示现有
|
||||
WASM queue 与源 TP 的执行顺序/速度尚未一致。
|
||||
|
||||
来源:`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}`。
|
||||
|
||||
工作:
|
||||
@@ -56,6 +66,9 @@ Web 端只有在该链路和 native trace 逐字段一致后,才能声明 `PAR
|
||||
|
||||
### TP-PARITY-02:G64/G61/G61.1 完整路径控制
|
||||
|
||||
状态:`in_progress`,WASM interpreter 侧已闭合指令模式和容差状态,numeric
|
||||
blend 仍待 TP port 和 comparator 通过。
|
||||
|
||||
来源:
|
||||
|
||||
- `linuxcnc/src/emc/rs274ngc/interp_convert.cc` 的 G64/G61 处理
|
||||
@@ -68,6 +81,11 @@ Web 端只有在该链路和 native trace 逐字段一致后,才能声明 `PAR
|
||||
- 保存 modal 状态、每个 canonical motion 的 termination condition 和 tolerance。
|
||||
- 增加直线-直线、直线-圆弧、圆弧-直线、圆弧-圆弧、急转角、短段、零容差和非法 P/Q 样本。
|
||||
|
||||
当前 WASM C interpreter 已输出三种模式及 P/Q 容差到 `sim_program.v1`,Worker
|
||||
在入队前应用对应 queue profile;LinuxCNC exact-path 与 exact-stop 的细微
|
||||
差别、P/Q 驱动的 corner blend 仍由 TP-PARITY-03/06 的 native tick comparator
|
||||
验证,尚未标记完成。
|
||||
|
||||
退出条件:native/WASM 每条 TC 的 termination mode、tolerance、blend point、速度和完成 tick 一致。
|
||||
|
||||
### TP-PARITY-03:Lookahead、corner blending、acceleration/jerk
|
||||
@@ -144,6 +162,12 @@ state_hash
|
||||
- 浮点使用固定绝对/相对容差,并记录原始值和差异值。
|
||||
- 列表长度、字段缺失、状态顺序不允许静默忽略。
|
||||
- 保存 `first_divergent_tick`、`difference_path`、native/WASM 两侧样本。
|
||||
|
||||
已提供可重复入口:
|
||||
|
||||
- `scripts/run_xyzac_wasm_tick_trace.mjs`
|
||||
- `scripts/compare_xyzac_native_wasm_tick_trace.py`
|
||||
- `coverage/xyzac-native-wasm-tick-parity.report.json`
|
||||
- 最终坐标相同但中间 tick 不同必须判定为 `diverged`。
|
||||
|
||||
### TP-PARITY-07:预览和实际执行一致性
|
||||
|
||||
Reference in New Issue
Block a user