Files
KDL_WORK/working1/05-验收证据.md
2026-06-28 08:20:33 +08:00

12 KiB
Raw Permalink Blame History

05-验收证据

版本0.1 日期2026-06-27

1. 记录规则

每条证据必须包含:

  1. evidence_id。
  2. 关联任务。
  3. 命令、页面、job_id、report_id、PDF、截图或产物路径。
  4. 执行环境。
  5. 结果摘要。
  6. 状态。

状态取值:

状态 含义
待验证 任务未执行或证据未产生。
通过 结果满足验收标准。
不通过 已执行但不满足验收标准。
阻塞 因环境、依赖或设计问题无法验证。

2. 环境基线

当前值
工作区 E:\Work\kdl_work
ABB120 fixture E:\Work\kdl_work\kdl-wasm\web\tests\fixtures\abbIrb120.ts
ABB120 集成测试参考 E:\Work\kdl_work\kdl-wasm\web\tests\integration\abb120Programs.test.ts
working1 文档目录 E:\Work\kdl_work\working1
working2 文档目录 E:\Work\kdl_work\working2,当前为空任务集
Node.js v22.17.0
npm 10.9.2
Vitest 3.2.6
浏览器 C:\Program Files\Google\Chrome\Application\chrome.exe headlessCHROME_BIN 可覆盖。
Emscripten E:\emsdk
Eigen E:\Work\kdl\eigen-3.4.0\eigen-3.4.0

3. 当前已产生证据

EV-A120-000working1 文档创建

关联任务:A120-000 类型:文件清单、需求覆盖检查 命令:

cd /home/meswork/kdl_work
find working1 -maxdepth 1 -type f -print | sort
rg -n 'ABB120|IRB120|GRL|FANUC|KUKA|HTML|虚拟控制器|RobotStudio|job_id|report_id' working1

预期结果:

working1/README.md
working1/01-项目功能内容.md
working1/02-项目程序开发详细步骤.md
working1/03-推进台账.md
working1/04-任务矩阵.md
working1/05-验收证据.md
working1/06-决策记录.md

结果摘要:本轮创建需求与开发指导文档;实现侧任务仍按任务矩阵后续推进。 状态:通过。

EV-GRL-EXPR-000运算功能文档补充

关联任务:GRL-EXPR-000 类型:文件清单、需求覆盖检查 命令:

cd /home/meswork/kdl_work
rg -n 'GRL-EXPR|linear\(100 \+ 50 mm/s\)|atan2|clamp|GRL_EXPR_UNIT_MISMATCH|GRL_EXPR_UNSUPPORTED_RUNTIME|ABB|FANUC|KUKA' working1

预期结果:

  1. 01-项目功能内容.md 包含 GRL 运算功能需求。
  2. 02-项目程序开发详细步骤.md 包含 GRL-EXPR-001GRL-EXPR-006
  3. 04-任务矩阵.md 包含运算表达式任务和子任务。
  4. 06-决策记录.md 包含公共数学子集和编译期求值 ADR。
  5. README.md 索引中列出运算功能主题。

结果摘要:本轮补齐文档级定义;源码实现和自动化测试仍待后续任务执行。 状态:通过。

4. 后续验收证据模板

EV-GRL-EXPR-001表达式 parser 和 AST

关联任务:GRL-EXPR-001GRL-EXPR-002 命令:

cd /home/meswork/kdl_work
npm run test -- grl parser expression

需记录:

  1. AST snapshot 路径。
  2. 覆盖表达式:1 + 2 * 3(1 + 2) * 3not (a == b)linear(100 + 50 mm/s)pose(400 + 50 mm, 20 * 2 mm, sqrt(90000) mm, 0 deg, 0 deg, atan2(1, 1))
  3. parse diagnostic code 和 source range。

结果摘要:kdl-wasm/web/tests/grl/expressionCompile.test.ts 覆盖 AST 优先级、函数参数表达式、单位后缀和 source range已随 npm test -- kdl-wasm/web/tests/grl 通过。 状态:通过。

EV-GRL-EXPR-003常量求值和单位系统

关联任务:GRL-EXPR-003 命令:

cd /home/meswork/kdl_work
npm run test -- grl expression compile

需记录:

  1. 100 + 50 mm/s 在速度上下文求值为 0.15 m/s
  2. (10 + 5) deg 在角度上下文求值为弧度。
  3. clamp(20 mm, 1 mm, 10 mm) 求值为 0.01 m
  4. sqrt(-1) 产生 GRL_EXPR_DOMAIN
  5. 10 mm + 2 s 产生 GRL_EXPR_UNIT_MISMATCH
  6. 1 / 0 产生 GRL_EXPR_DIV_ZERO

结果摘要:100 + 50 mm/s(10 + 5) degclamp(20 mm, 1 mm, 10 mm)sqrt(-1)10 mm + 2 s1 / 0 均在 expressionCompile.test.ts 覆盖;已通过。 状态:通过。

EV-GRL-EXPR-004数据声明和 target 编译

关联任务:GRL-EXPR-004 命令:

cd /home/meswork/kdl_work
npm run test -- grl dataDeclarations expression

需记录:

  1. const speed v = linear(100 + 50 mm/s) 的 IR 值。
  2. const zone z = z(max(5 mm, 10 mm)) 的 IR 值。
  3. joint_target.joints 表达式折叠后的弧度数组。
  4. pose_target.pose 表达式折叠后的 pose。
  5. 需要常量的位置使用运行态变量时的 GRL_EXPR_NON_CONSTANT

结果摘要:compileData.ts 已接入常量求值speed、zone、joint_target、pose_target、tool/frame 数值表达式在 GRL 测试中通过。 状态:通过。

EV-GRL-EXPR-005motion、path、IO 编译

关联任务:GRL-EXPR-005 命令:

cd /home/meswork/kdl_work
npm run test -- grl motion path io expression

需记录:

  1. path defaults 中 speed/zone 表达式求值结果。
  2. path point 内联 speed linear(100 + 50 mm/s)zone z(5 + 5 mm) 的 KDL request。
  3. path event distance 5 + 5 mm 的归一化值。
  4. wait timeout 1 + 1 s 的归一化值。
  5. pulse duration 50 + 50 ms 的归一化值。
  6. runtime 条件表达式在 trace/source map 中的显示。

结果摘要:compileMotion.tscompileIo.ts 已接入常量求值path point speed/zone、event distance、wait timeout、pulse duration 在 expressionCompile.test.tsabb120SuiteArtifacts.test.ts 中通过。 状态:通过。

EV-GRL-EXPR-006三品牌表达式后处理

关联任务:GRL-EXPR-006A120-050A120-051 命令:

cd /home/meswork/kdl_work
npm run test -- grl post expression roundtrip

需记录:

  1. ABB .mod 中折叠后的速度、zone、target 值。
  2. FANUC .ls 中折叠后的速度、CNT、position 值。
  3. KUKA .src/.dat 中折叠后的速度、blend、position 值。
  4. post report 中 runtime 表达式无法保真项。
  5. roundtrip diff 中表达式折叠说明和数值等价结果。

结果摘要:三品牌后处理使用折叠后 IR 数值ABB/FANUC/KUKA 输出与 roundtrip 在 postProcessor.test.tsbrandImport.test.tsabb120SuiteArtifacts.test.ts 中通过。 状态:通过。

EV-A120-001ABB120 URDF fixture 验证

关联任务:A120-001 命令:

cd /home/meswork/kdl_work
npm run test -- abb120 urdf

需记录:

  1. robotId、baseLink、tipLink、DOF。
  2. joint names 和 limits。
  3. fixture source provenance。
  4. job_idA120-JOB-...

结果摘要:kdl-wasm/web/src/fixtures/abb120.ts 提供稳定 fixture 入口;abb120Programs.test.ts 验证 robotId、base/tip、DOF、joint names、joint limits 和 provenance。 状态:通过。

EV-A120-010GRL 测试程序集解析与编译

关联任务:A120-010A120-011 命令:

cd /home/meswork/kdl_work
npm run test -- abb120 grl programs

需记录:

  1. 每个 .grl 文件路径。
  2. AST snapshot 路径。
  3. IR snapshot 路径。
  4. KDL request snapshot 路径。
  5. source map snapshot 路径。

结果摘要:kdl-wasm/web/tests/fixtures/abb120/programs 包含 6 个 .grl 程序;abb120SuiteArtifacts.test.ts 验证全部可 parse/compile 并产生 AST/IR/KDL/source map 证据。 状态:通过。

EV-A120-030ABB120 KDL 与轨迹运行

关联任务:A120-030A120-031 命令:

cd /home/meswork/kdl_work
npm run test -- abb120 kdl trajectory

需记录:

  1. FK、fkAllLinks、Jacobian 输出摘要。
  2. planMoveJ/planMoveL/planMoveC/planPath 轨迹摘要。
  3. validatePath report。
  4. error diagnostic JSON。

结果摘要:abb120Programs.test.ts 验证 FK、fkAllLinks、Jacobian、limit、singularity、planMoveJ、planPath、validatePath。 状态:通过。

EV-A120-032虚拟控制器运行

关联任务:A120-032A120-033 命令:

cd /home/meswork/kdl_work
npm run test -- abb120 controller runtime

需记录:

  1. job_id。
  2. state transition trace。
  3. motion queue trace。
  4. IO/wait trace。
  5. alarm queue。
  6. replay trace 路径。

结果摘要:controller/virtualController.test.tsruntime/motionQueue.test.tsruntime/ioRuntime.test.ts 和 ABB120 集成测试覆盖控制器运行、motion queue、IO/wait/trace。 状态:通过。

EV-A120-050跨品牌后处理和回读

关联任务:A120-050A120-051 命令:

cd /home/meswork/kdl_work
npm run test -- abb120 post import roundtrip

需记录:

  1. ABB .mod 路径。
  2. FANUC .ls 路径。
  3. KUKA .src/.dat 路径。
  4. post report。
  5. roundtrip diff report。

结果摘要:abb120SuiteArtifacts.test.ts 验证 ABB/FANUC/KUKA 文件名、post report、ABB roundtrip report 和差异诊断入口。 状态:通过。

EV-A120-070离线编程全面报告和交付包

关联任务:A120-070A120-071A120-072 命令:

cd /home/meswork/kdl_work
npm run test -- abb120 olp reports delivery

需记录:

  1. project bundle 路径。
  2. report_id。
  3. HTML report 路径。
  4. PDF 或 print artifact 路径。
  5. delivery bundle 路径。

结果摘要:reports/report.test.tsabb120SuiteArtifacts.test.ts 验证 OLP project、validation report、HTML report、delivery package、trace、IO map、calibration 文件。 状态:通过。

EV-A120-090HTML 虚拟控制器页面

关联任务:A120-090A120-094 命令:

cd /home/meswork/kdl_work
npm run test -- abb120 html workbench
npm run verify:virtual-controller

需记录:

  1. 本地页面 URL 或 HTML 文件路径。
  2. desktop screenshot。
  3. mobile screenshot。
  4. canvas/viewport 非空检查。
  5. Run/Pause/Step/Stop 操作 trace。
  6. IO/wait 面板截图。

结果摘要:kdl-wasm/web/app/virtual-controller.html/css/js 已创建HTML 直接引用静态 virtual-controller.jsabb120SuiteArtifacts.test.ts 验证命令栏、对象树、viewport、示教器、Motion Queue、Reports、响应式样式入口和静态 JS 脚本入口。npm run verify:virtual-controller 使用 Google Chrome headless 直接打开本地 HTML桌面和移动均验证 command bar、object tree、viewport、pendant、editor、bottom panel 可见Run 后状态为 runningDI1 置位后 Wait 为 satisfied,无横向溢出。

产物:

  1. kdl-wasm/web/test-results/virtual-controller/evidence.json
  2. kdl-wasm/web/test-results/virtual-controller/virtual-controller-desktop.png
  3. kdl-wasm/web/test-results/virtual-controller/virtual-controller-mobile.png

截图大小:

  1. desktop45666 bytes。
  2. mobile44869 bytes。

状态:通过。

EV-A120-900全量验收

关联任务:A120-900 命令:

cd /home/meswork/kdl_work
npm run typecheck
npm test
cmake --build kdl-wasm/build-wasm -j16
npm run test -- abb120
npm run verify:virtual-controller

需记录:

  1. 测试文件数、测试数、失败数。
  2. WASM build 输出。
  3. job_id 列表。
  4. report_id 列表。
  5. HTML/PDF/截图产物路径。

结果摘要:

npm run typecheck
  通过
npm test
  Test Files 40 passed (40)
  Tests 153 passed (153)
cmake --build kdl-wasm/build-wasm -j16
  通过,当前复跑输出 ninja: no work to do.
npm run verify:virtual-controller
  desktop/mobile screenshots generated; state=running; wait=satisfied

状态:通过。

EV-WORKING2-000working2 空任务审计

关联任务:working2-audit 命令:

cd E:\Work\kdl_work
Get-ChildItem -Force working2
rg -n "working2|working 2|工作2" .

结果摘要:working2 目录当前无任务文件、无源码、无验收条目;仓库文本未引用 working2 任务。已新增 working2/README.md 记录空任务集结论。 状态:通过。