12 KiB
05-验收证据
版本:0.1 日期:2026-06-27
1. 记录规则
每条证据必须包含:
- evidence_id。
- 关联任务。
- 命令、页面、job_id、report_id、PDF、截图或产物路径。
- 执行环境。
- 结果摘要。
- 状态。
状态取值:
| 状态 | 含义 |
|---|---|
| 待验证 | 任务未执行或证据未产生。 |
| 通过 | 结果满足验收标准。 |
| 不通过 | 已执行但不满足验收标准。 |
| 阻塞 | 因环境、依赖或设计问题无法验证。 |
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 headless;CHROME_BIN 可覆盖。 |
| Emscripten | E:\emsdk |
| Eigen | E:\Work\kdl\eigen-3.4.0\eigen-3.4.0 |
3. 当前已产生证据
EV-A120-000:working1 文档创建
关联任务: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
预期结果:
01-项目功能内容.md包含 GRL 运算功能需求。02-项目程序开发详细步骤.md包含GRL-EXPR-001到GRL-EXPR-006。04-任务矩阵.md包含运算表达式任务和子任务。06-决策记录.md包含公共数学子集和编译期求值 ADR。README.md索引中列出运算功能主题。
结果摘要:本轮补齐文档级定义;源码实现和自动化测试仍待后续任务执行。 状态:通过。
4. 后续验收证据模板
EV-GRL-EXPR-001:表达式 parser 和 AST
关联任务:GRL-EXPR-001、GRL-EXPR-002
命令:
cd /home/meswork/kdl_work
npm run test -- grl parser expression
需记录:
- AST snapshot 路径。
- 覆盖表达式:
1 + 2 * 3、(1 + 2) * 3、not (a == b)、linear(100 + 50 mm/s)、pose(400 + 50 mm, 20 * 2 mm, sqrt(90000) mm, 0 deg, 0 deg, atan2(1, 1))。 - 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
需记录:
100 + 50 mm/s在速度上下文求值为0.15 m/s。(10 + 5) deg在角度上下文求值为弧度。clamp(20 mm, 1 mm, 10 mm)求值为0.01 m。sqrt(-1)产生GRL_EXPR_DOMAIN。10 mm + 2 s产生GRL_EXPR_UNIT_MISMATCH。1 / 0产生GRL_EXPR_DIV_ZERO。
结果摘要:100 + 50 mm/s、(10 + 5) deg、clamp(20 mm, 1 mm, 10 mm)、sqrt(-1)、10 mm + 2 s、1 / 0 均在 expressionCompile.test.ts 覆盖;已通过。
状态:通过。
EV-GRL-EXPR-004:数据声明和 target 编译
关联任务:GRL-EXPR-004
命令:
cd /home/meswork/kdl_work
npm run test -- grl dataDeclarations expression
需记录:
const speed v = linear(100 + 50 mm/s)的 IR 值。const zone z = z(max(5 mm, 10 mm))的 IR 值。joint_target.joints表达式折叠后的弧度数组。pose_target.pose表达式折叠后的 pose。- 需要常量的位置使用运行态变量时的
GRL_EXPR_NON_CONSTANT。
结果摘要:compileData.ts 已接入常量求值;speed、zone、joint_target、pose_target、tool/frame 数值表达式在 GRL 测试中通过。
状态:通过。
EV-GRL-EXPR-005:motion、path、IO 编译
关联任务:GRL-EXPR-005
命令:
cd /home/meswork/kdl_work
npm run test -- grl motion path io expression
需记录:
- path defaults 中 speed/zone 表达式求值结果。
- path point 内联
speed linear(100 + 50 mm/s)和zone z(5 + 5 mm)的 KDL request。 - path event
distance 5 + 5 mm的归一化值。 - wait
timeout 1 + 1 s的归一化值。 - pulse
duration 50 + 50 ms的归一化值。 - runtime 条件表达式在 trace/source map 中的显示。
结果摘要:compileMotion.ts 和 compileIo.ts 已接入常量求值;path point speed/zone、event distance、wait timeout、pulse duration 在 expressionCompile.test.ts 和 abb120SuiteArtifacts.test.ts 中通过。
状态:通过。
EV-GRL-EXPR-006:三品牌表达式后处理
关联任务:GRL-EXPR-006、A120-050、A120-051
命令:
cd /home/meswork/kdl_work
npm run test -- grl post expression roundtrip
需记录:
- ABB
.mod中折叠后的速度、zone、target 值。 - FANUC
.ls中折叠后的速度、CNT、position 值。 - KUKA
.src/.dat中折叠后的速度、blend、position 值。 - post report 中 runtime 表达式无法保真项。
- roundtrip diff 中表达式折叠说明和数值等价结果。
结果摘要:三品牌后处理使用折叠后 IR 数值;ABB/FANUC/KUKA 输出与 roundtrip 在 postProcessor.test.ts、brandImport.test.ts、abb120SuiteArtifacts.test.ts 中通过。
状态:通过。
EV-A120-001:ABB120 URDF fixture 验证
关联任务:A120-001
命令:
cd /home/meswork/kdl_work
npm run test -- abb120 urdf
需记录:
- robotId、baseLink、tipLink、DOF。
- joint names 和 limits。
- fixture source provenance。
- job_id:
A120-JOB-...。
结果摘要:kdl-wasm/web/src/fixtures/abb120.ts 提供稳定 fixture 入口;abb120Programs.test.ts 验证 robotId、base/tip、DOF、joint names、joint limits 和 provenance。
状态:通过。
EV-A120-010:GRL 测试程序集解析与编译
关联任务:A120-010、A120-011
命令:
cd /home/meswork/kdl_work
npm run test -- abb120 grl programs
需记录:
- 每个
.grl文件路径。 - AST snapshot 路径。
- IR snapshot 路径。
- KDL request snapshot 路径。
- source map snapshot 路径。
结果摘要:kdl-wasm/web/tests/fixtures/abb120/programs 包含 6 个 .grl 程序;abb120SuiteArtifacts.test.ts 验证全部可 parse/compile 并产生 AST/IR/KDL/source map 证据。
状态:通过。
EV-A120-030:ABB120 KDL 与轨迹运行
关联任务:A120-030、A120-031
命令:
cd /home/meswork/kdl_work
npm run test -- abb120 kdl trajectory
需记录:
- FK、fkAllLinks、Jacobian 输出摘要。
- planMoveJ/planMoveL/planMoveC/planPath 轨迹摘要。
- validatePath report。
- error diagnostic JSON。
结果摘要:abb120Programs.test.ts 验证 FK、fkAllLinks、Jacobian、limit、singularity、planMoveJ、planPath、validatePath。
状态:通过。
EV-A120-032:虚拟控制器运行
关联任务:A120-032、A120-033
命令:
cd /home/meswork/kdl_work
npm run test -- abb120 controller runtime
需记录:
- job_id。
- state transition trace。
- motion queue trace。
- IO/wait trace。
- alarm queue。
- replay trace 路径。
结果摘要:controller/virtualController.test.ts、runtime/motionQueue.test.ts、runtime/ioRuntime.test.ts 和 ABB120 集成测试覆盖控制器运行、motion queue、IO/wait/trace。
状态:通过。
EV-A120-050:跨品牌后处理和回读
关联任务:A120-050、A120-051
命令:
cd /home/meswork/kdl_work
npm run test -- abb120 post import roundtrip
需记录:
- ABB
.mod路径。 - FANUC
.ls路径。 - KUKA
.src/.dat路径。 - post report。
- roundtrip diff report。
结果摘要:abb120SuiteArtifacts.test.ts 验证 ABB/FANUC/KUKA 文件名、post report、ABB roundtrip report 和差异诊断入口。
状态:通过。
EV-A120-070:离线编程全面报告和交付包
关联任务:A120-070、A120-071、A120-072
命令:
cd /home/meswork/kdl_work
npm run test -- abb120 olp reports delivery
需记录:
- project bundle 路径。
- report_id。
- HTML report 路径。
- PDF 或 print artifact 路径。
- delivery bundle 路径。
结果摘要:reports/report.test.ts 和 abb120SuiteArtifacts.test.ts 验证 OLP project、validation report、HTML report、delivery package、trace、IO map、calibration 文件。
状态:通过。
EV-A120-090:HTML 虚拟控制器页面
关联任务:A120-090 到 A120-094
命令:
cd /home/meswork/kdl_work
npm run test -- abb120 html workbench
npm run verify:virtual-controller
需记录:
- 本地页面 URL 或 HTML 文件路径。
- desktop screenshot。
- mobile screenshot。
- canvas/viewport 非空检查。
- Run/Pause/Step/Stop 操作 trace。
- IO/wait 面板截图。
结果摘要:kdl-wasm/web/app/virtual-controller.html/css/js 已创建;HTML 直接引用静态 virtual-controller.js。abb120SuiteArtifacts.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 后状态为 running,DI1 置位后 Wait 为 satisfied,无横向溢出。
产物:
kdl-wasm/web/test-results/virtual-controller/evidence.jsonkdl-wasm/web/test-results/virtual-controller/virtual-controller-desktop.pngkdl-wasm/web/test-results/virtual-controller/virtual-controller-mobile.png
截图大小:
- desktop:45666 bytes。
- mobile:44869 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
需记录:
- 测试文件数、测试数、失败数。
- WASM build 输出。
- job_id 列表。
- report_id 列表。
- 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-000:working2 空任务审计
关联任务:working2-audit
命令:
cd E:\Work\kdl_work
Get-ChildItem -Force working2
rg -n "working2|working 2|工作2" .
结果摘要:working2 目录当前无任务文件、无源码、无验收条目;仓库文本未引用 working2 任务。已新增 working2/README.md 记录空任务集结论。
状态:通过。