# 04-任务矩阵

版本：0.5
日期：2026-06-27

## 1. 状态定义

| 状态 | 含义 |
| --- | --- |
| Todo | 尚未开始。 |
| Doing | 正在执行。 |
| Blocked | 被依赖、环境、设计问题阻塞。 |
| Review | 已实现，等待验证或复核。 |
| Done | 已实现且验收证据完整。 |

## 2. 任务编号规则

| 编号范围 | 对标文档 | 说明 |
| --- | --- | --- |
| `KW-000` | 管理任务 | 文档维护和推进记录。 |
| `KW-001` 到 `KW-099` | `KDL_WASM计算接口设计.md` | KDL WASM API、轨迹、诊断、Worker、性能。 |
| `KW-100` 到 `KW-199` | `通用机器人编程语法规范.md` | GRL 语法、AST、语义、IR、后处理。 |
| `KW-200` 到 `KW-299` | `通用机器人离线编程虚拟控制器技术方案.md`、`通用机器人项目主要实施步骤.md`、`通用机器人项目功能与数据流程图.md`、`通用机器人项目功能与数据流程图-png/*` | OLP 对象模型、OPFS、虚拟控制器、IO/Wait、UI、报告、品牌导入、交付包、商业扩展和流程图资产。 |

## 3. 任务总表

| 编号 | 任务 | 状态 | 依赖 | 对标章节 | 验收标准 |
| --- | --- | --- | --- | --- | --- |
| KW-000 | 对标实施文档维护 | Done | 无 | `/home/meswork/kdl_work/work` 全部文档资产 | README、功能范围、开发步骤、任务矩阵、证据、ADR 已对齐 Markdown、Mermaid 和 PNG 流程图资产。 |
| KW-001 | WASM 工程骨架和 Worker RPC | Done | KW-000 | KDL 2、17、18、24 | `init/dispose`、RPC、结构化错误、Worker 加载通过测试。 |
| KW-002 | `NormalizedRobotModel` 到 KDL Chain | Done | KW-001 | KDL 6、22、24 | URDF 解析、标准模型、RobotHandle、机器人信息和限位测试通过。 |
| KW-003 | FK 和 fkAllLinks | Done | KW-002 | KDL 8.1、8.2、22、23 | FK golden 对比、link 位姿顺序和维度诊断通过。 |
| KW-004 | IK 和 ikBatch | Done | KW-003 | KDL 8.3、15、22、23 | IK 回代、批量顺序、失败原因和限位测试通过。 |
| KW-005 | Jacobian、奇异性和基础检查 | Done | KW-004 | KDL 8.4、15、22、23 | Jacobian、奇异性、关节限位、可达性、速度检查通过。 |
| KW-006 | 位姿变换和 offset | Done | KW-005 | KDL 7、21、22、23 | normalize/compose/inverse/applyToolAndFrame/applyOffset 测试通过。 |
| KW-007 | 梯形速度曲线 | Done | KW-006 | KDL 9、22、23 | trapezoid/triangle、采样单调、首末点规则通过。 |
| KW-008 | `planMoveJ` | Done | KW-007 | KDL 11、21、22、23 | 关节同起同停、限位、速度、zone 近似诊断通过。 |
| KW-009 | `planMoveL` | Done | KW-008 | KDL 12、21、22、23 | TCP 直线误差、逐点 IK、速度和加速度诊断通过。 |
| KW-010 | `planMoveC` | Done | KW-009 | KDL 13、21、22、23 | 圆弧元数据、退化诊断、逐点 IK 和误差测试通过。 |
| KW-011 | `planPath` 和 `validatePath` | Done | KW-010 | KDL 14、15、21、22、23 | Path 轨迹合并、段报告、source map、空路径诊断通过。 |
| KW-012 | 节拍估算、重采样和诊断报告 | Done | KW-011 | KDL 16、19、20、22、23 | CycleTime、resample、error/warning/info 分级通过。 |
| KW-013 | C ABI / Embind 和性能优化 | Done | KW-012 | KDL 18、19、24 | C ABI 稳定、TypedArray 批量接口和性能基线达标。 |
| KW-100 | Lexer、单位和关键字 | Done | KW-000 | GRL 4、24 | 注释、标识符、单位、保留关键字测试通过。 |
| KW-101 | Parser 和 AST 骨架 | Done | KW-100 | GRL 5、22、23、24 | 最小文件、完整示例、AST source range 和快照通过。 |
| KW-102 | 数据声明、类型系统和目标点 | Done | KW-101 | GRL 6、7、8、24 | tool/frame/speed/zone/target/offset 编译为共享类型。 |
| KW-103 | 运动指令和当前上下文 | Done | KW-102, KW-006 | GRL 9、20、21、24 | movej/movel/movec 编译为 MotionInstruction 和 KDL request。 |
| KW-104 | Path、event 和 `run_path` | Done | KW-103, KW-011 | GRL 10、18、20、21、24 | path 编译为 PathPlanRequest，event 和 source map 正确。 |
| KW-105 | Operation 和 `run_operation` | Done | KW-104 | GRL 11、20、21、24 | operation 展开为 action + path + action，引用检查正确。 |
| KW-106 | IO、wait 和 pulse | Done | KW-101 | GRL 12、20、21、24 | IO 地址、WaitInstruction、pulse 语义和 KDL 边界正确。 |
| KW-107 | 流程控制 | Done | KW-101 | GRL 13、20、21、24 | if/while/for/switch/break/continue/label/jump 语义检查通过。 |
| KW-108 | proc、func、参数方向和作用域 | Done | KW-101 | GRL 14、20、21、24 | 参数方向、返回路径、作用域、func 副作用检查通过。 |
| KW-109 | 异常、报警、中断和多任务语法 | Done | KW-101 | GRL 15、16、24 | alarm/raise/try/catch P0 可用，trap/interrupt/task 语法可表达。 |
| KW-110 | 语义检查、IR 和 source map | Done | KW-103, KW-104, KW-105, KW-106, KW-107, KW-108 | GRL 20、21、24；KDL 21 | 语法规范第 21 章检查项全部覆盖，IR 可调用 KDL。 |
| KW-111 | ABB、FANUC、KUKA 后处理原型 | Done | KW-110 | GRL 17、19、24 | 三品牌 golden file、post_hint、brand metadata 和转换报告通过。 |
| KW-112 | 自动生成规则和往返 | Done | KW-111 | GRL 18、24 | 自动生成 GRL 稳定、可 diff、可解析回等价对象。 |
| KW-200 | OLP 对象模型和 Station/Resource 基础 | Done | KW-110, KW-112 | VC 2.3、3.1、6.5、12、15、17；FLOW 2、5、6 | OLP schema、对象树映射、Path/Operation 到 GRL、导入 patch 应用测试通过。 |
| KW-201 | OPFS Workspace 和项目导入导出 | Done | KW-200 | VC 4.4、9、12、15、16、17；FLOW 2、5 | project manifest、OPFS-like 读写、snapshot、稳定 bundle 导入导出和恢复测试通过。 |
| KW-202 | 虚拟控制器状态机和执行内核 | Done | KW-110 | VC 7.1、7.2、7.3、12、13、15、16；FLOW 2、3、5、8 | 状态机、PC、调用栈、作用域、报警、trace 和单步测试通过。 |
| KW-203 | Motion Queue 和 KDL 运行桥接 | Done | KW-011, KW-202 | VC 7.4、7.4.1、8.12、12、13、16；FLOW 2、4、5、6 | `run_path/run_operation` 驱动 Motion Queue，轨迹回放和 source map 定位通过。 |
| KW-204 | 虚拟 IO、Wait、Pulse 和 IO 脚本 | Done | KW-106, KW-202 | VC 5.8、7.6、11.5、11.6、11.7、12、13、16；FLOW 3、5、8、9 | IO Image、wait timeout、pulse、边沿检测、IO script 和 IO trace 测试通过。 |
| KW-205 | Web 工作台和调试界面 | Done | KW-200, KW-201, KW-202, KW-203, KW-204 | VC 3、11、12、15、16；FLOW 2、3、5、9 | 工作台 facade、对象树、编辑器、示教器、IO 面板、Wait 调试和诊断定位可用。 |
| KW-206 | 验证、报告和客户交付包 | Done | KW-111, KW-201, KW-203, KW-204 | VC 2.4.6、9.6、13.4.1、15、16；FLOW 5、9、10 | 可达性、节拍、IO/Wait、后处理、导入报告和客户交付包导出通过。 |
| KW-207 | 品牌程序导入 MVP | Done | KW-110, KW-111, KW-200, KW-202 | VC 6.6、6.6.1、6.6.2、7.4.2、10.6、12、13.6、15、16 | ABB/KUKA/FANUC 三品牌导入 golden case、GRL/IR 生成和转换报告通过。 |
| KW-208 | 几何、碰撞、校准和商业级 OLP 扩展 | Done | KW-200, KW-201, KW-206 | VC 2.4、2.4.3、2.4.5、9.6、12、13.4.1、15、16、18 | 几何生成 Path、基础碰撞、校准数据和商业级交付流程原型通过。 |
| KW-209 | 虚拟调试增强和跨源定位 | Done | KW-202, KW-203, KW-204, KW-207 | VC 7.2、7.4、7.4.2、11.2、11.7、12 阶段 8、13.4、15、16；FLOW 3、5、9 | 断点、运动断点、轨迹回放、变量 watch、IO 脚本调试和跨源定位通过。 |
| KW-210 | 多机器人、外部轴和真实控制器校验扩展 | Done | KW-200, KW-203, KW-206, KW-208 | KDL 22；VC 7.3、8.13、12 阶段 10、14、15、16、18 | 多机器人/外部轴模型、真实控制器低速校验流程、离线/现场差异报告边界明确。 |
| KW-211 | 流程图资产覆盖和同步维护 | Done | KW-000 | FLOW 2、3、4、5、9、10；`flow-01` 到 `flow-05` Mermaid/PNG | Mermaid 源和 PNG 渲染资产全部映射到功能章节、任务和验收证据。 |

## 4. KDL 子任务

### KW-001：WASM 工程骨架和 Worker RPC

| 编号 | 内容 | 状态 | 验收 |
| --- | --- | --- | --- |
| KW-001.1 | 创建 `kdl-wasm` wrapper 工程 | Done | CMake 可配置。 |
| KW-001.2 | 编译 KDL WASM 产物 | Done | `kdl.js/kdl.wasm/kdl.d.ts` 存在。 |
| KW-001.3 | 定义 `KdlRpcRequest/KdlRpcResponse` | Done | 请求 id、method、payload、结构化错误完整。 |
| KW-001.4 | 实现 `kdl.worker.ts` | Done | Worker 加载 WASM 并响应 `init/dispose`。 |
| KW-001.5 | 实现 `KdlWorkerClient` | Done | Promise API 可用。 |

### KW-002：`NormalizedRobotModel` 到 KDL Chain

| 编号 | 内容 | 状态 | 验收 |
| --- | --- | --- | --- |
| KW-002.1 | URDF XML 解析 | Done | link/joint/origin/axis/limit 可读取。 |
| KW-002.2 | 连通性和单位检查 | Done | base/tip 不连通有诊断。 |
| KW-002.3 | 生成 `NormalizedRobotModel` | Done | activeJointNames 和 limits 稳定。 |
| KW-002.4 | WASM 创建 KDL Chain | Done | C ABI 根据 `NormalizedRobotModel` 构造 native KDL Chain，FK/fkAllLinks/Jacobian/IK golden 通过。 |
| KW-002.5 | RobotHandle 生命周期 | Done | create/getInfo/getLimits/destroy 通过。 |

### KW-003 到 KW-013：KDL P0 计算接口

| 编号 | 内容 | 状态 | 验收 |
| --- | --- | --- | --- |
| KW-003.1 | `fk` | Done | 返回 flange、tcp、diagnostics。 |
| KW-003.2 | `fkAllLinks` | Done | 返回 link pose 列表。 |
| KW-004.1 | `ik` | Done | 返回 joints、iterations、residual、reason。 |
| KW-004.2 | `ikBatch` | Done | 顺序保持。 |
| KW-005.1 | `jacobian` | Done | Float64Array 矩阵正确。 |
| KW-005.2 | `checkSingularity` | Done | manipulability 或 conditionNumber 可用。 |
| KW-005.3 | `checkJointLimits/checkVelocityLimits` | Done | 限位诊断正确。 |
| KW-005.4 | `checkReachability/checkReachabilityBatch` | Done | 可达性和失败原因正确。 |
| KW-006.1 | `normalizePose/composePose/inversePose` | Done | 位姿数值测试通过。 |
| KW-006.2 | `applyToolAndFrame/applyOffset` | Done | 与 GRL offset 语义一致。 |
| KW-007.1 | `makeTrapProfile/sampleTrapProfile` | Done | 采样规则正确。 |
| KW-008.1 | `planMoveJ` | Done | MOVEJ 运动测试通过。 |
| KW-009.1 | `planMoveL` | Done | MOVEL 运动测试通过。 |
| KW-010.1 | `planMoveC` | Done | MOVEC 运动测试通过。 |
| KW-011.1 | `planPath` | Done | 多段轨迹合并正确。 |
| KW-011.2 | `validatePath` | Done | 段报告和诊断正确。 |
| KW-012.1 | `estimateCycleTime/resampleTrajectory` | Done | 节拍和重采样正确。 |
| KW-013.1 | C ABI / Embind 稳定导出 | Done | 稳定导出完整，native FK/fkAllLinks/Jacobian/IK/sampleTrap 已有 C ABI 测试；高层轨迹规划由 TypeScript runtime 包装承载。 |
| KW-013.2 | TypedArray 和批量性能 | Done | 性能指标有记录。 |

## 5. GRL 子任务

### KW-100 到 KW-103：语法基础和运动

| 编号 | 内容 | 状态 | 验收 |
| --- | --- | --- | --- |
| KW-100.1 | Lexer token 和关键字 | Done | 保留关键字表覆盖规范。 |
| KW-100.2 | 单位规范化 | Done | 长度、角度、时间、速度、质量转换正确。 |
| KW-101.1 | EBNF parser | Done | 已覆盖 language/module/import/proc 和顶层 raw 声明骨架。 |
| KW-101.2 | AST source range | Done | 行列、注释过滤、单位原文保留在 token 中。 |
| KW-102.1 | 类型系统和变量声明 | Done | const/var/persistent 类型检查。 |
| KW-102.2 | tool/frame/target/speed/zone | Done | 编译为共享数据结构。 |
| KW-102.3 | offset/offset_in | Done | 编译为 `OffsetSpec`。 |
| KW-103.1 | movej/movel/movec parser | Done | 运动语句 AST 正确。 |
| KW-103.2 | 当前 tool/frame/speed/zone 解析 | Done | 参数优先级正确。 |
| KW-103.3 | MotionInstruction 到 KDL request | Done | KDL 调用关系正确。 |

### KW-104 到 KW-110：Path、Operation、IO、流程和 IR

| 编号 | 内容 | 状态 | 验收 |
| --- | --- | --- | --- |
| KW-104.1 | path defaults/source/point/event | Done | Path AST 正确。 |
| KW-104.2 | `run_path` 编译 | Done | 生成 `PathPlanRequest`。 |
| KW-105.1 | operation/process/actions | Done | Operation AST 正确。 |
| KW-105.2 | `run_operation` 展开 | Done | start action + path + end action。 |
| KW-106.1 | IO 地址和别名 | Done | IO map 校验正确。 |
| KW-106.2 | wait/pulse | Done | WaitInstruction 和 pulse IR 正确。 |
| KW-107.1 | 结构化流程控制 | Done | if/while/for/switch 语义正确。 |
| KW-107.2 | label/jump | Done | P1 语法和非法跳转诊断。 |
| KW-108.1 | proc/func/call/return | Done | 调用和返回检查正确。 |
| KW-108.2 | in/out/inout 和作用域 | Done | 左值、赋值路径、遮蔽 warning。 |
| KW-109.1 | alarm/raise/try/catch | Done | P0 异常基础语义。 |
| KW-109.2 | trap/interrupt/task | Done | P1 语法可解析。 |
| KW-110.1 | Semantic Analyzer | Done | 规范第 21 章 22 项检查覆盖。 |
| KW-110.2 | Executable IR | Done | Motion/Wait/Call/Branch/IO/Alarm/Return。 |
| KW-110.3 | Source map | Done | GRL 行列、path point、operation 可定位。 |

### KW-111 到 KW-112：后处理和自动生成

| 编号 | 内容 | 状态 | 验收 |
| --- | --- | --- | --- |
| KW-111.1 | ABB RAPID 后处理 | Done | golden file 通过。 |
| KW-111.2 | FANUC LS/TP 风格后处理 | Done | golden file 通过。 |
| KW-111.3 | KUKA KRL 后处理 | Done | golden file 通过。 |
| KW-111.4 | post_hint 和 brand metadata | Done | 只影响指定品牌。 |
| KW-111.5 | 转换报告 | Done | 不支持和近似语义明确列出。 |
| KW-112.1 | target/path/operation 自动生成 | Done | 命名稳定、defaults 和 override 正确。 |
| KW-112.2 | compact/expanded 输出 | Done | 同一输入输出稳定。 |
| KW-112.3 | 生成后再解析 | Done | 可恢复等价对象和 IR。 |

## 6. 虚拟控制器、工作区和 OLP 子任务

### KW-200 到 KW-201：对象模型和工作区

| 编号 | 内容 | 状态 | 验收 |
| --- | --- | --- | --- |
| KW-200.1 | `OlpProjectModel` schema | Done | Robot/Tool/Frame/Target/Path/Operation/Program/PostProfile schema 测试通过。 |
| KW-200.2 | Station/Resource/Report 基础模型 | Done | Station、资源库、几何、校准和报告对象可序列化。 |
| KW-200.3 | Path/Operation 到 GRL 生成 | Done | 生成文本稳定、可解析、可回填对象模型。 |
| KW-200.4 | 品牌导入对象 patch | Done | 导入恢复出的 target/path/program 可应用到 OLP 模型。 |
| KW-201.1 | OPFS 项目布局和 manifest | Done | 新建项目生成约定目录和 `project.json`。 |
| KW-201.2 | Workspace Storage API | Done | 文本、JSON、删除、快照、迁移和损坏检测测试通过。 |
| KW-201.3 | zip 导入导出 | Done | 稳定 JSON bundle 导出再导入恢复等价项目；真实 zip 封装保留为外层适配边界。 |

### KW-202 到 KW-204：运行时、Motion Queue 和 IO/Wait

| 编号 | 内容 | 状态 | 验收 |
| --- | --- | --- | --- |
| KW-202.1 | 控制器状态机 | Done | 合法/非法状态转换和命令测试通过。 |
| KW-202.2 | IR 执行内核 | Done | PC、调用栈、作用域、单步和报警可查询。 |
| KW-202.3 | Trace 和 source map | Done | 当前行、Path point、Operation、品牌源定位稳定。 |
| KW-203.1 | Motion Queue | Done | MotionQueueItem 保留 instruction/path/operation 来源。 |
| KW-203.2 | KDL 运行桥接 | Done | Motion Queue 调用 KDL planner 并按虚拟时间推进采样。 |
| KW-203.3 | `run_path/run_operation` 执行 | Done | Path event、start/end action 和 trace 顺序正确。 |
| KW-204.1 | IO Image 和权限规则 | Done | 程序、用户、脚本写入权限和事件记录正确。 |
| KW-204.2 | Wait Registry 和 timeout | Done | 立即满足、等待、timeout、on_timeout、hold/stop 行为正确。 |
| KW-204.3 | Pulse、边沿和 IO 脚本 | Done | pulse 自动复位、rising/falling/changed、script delay 测试通过。 |

### KW-205 到 KW-211：工作台、报告、品牌导入、商业扩展和流程图资产

| 编号 | 内容 | 状态 | 验收 |
| --- | --- | --- | --- |
| KW-205.1 | Web 工作台首屏和对象树 | Done | 工作台 facade 直接进入工程对象树，覆盖 Station/Robot/Path/Report 等对象。 |
| KW-205.2 | 编辑器、示教器和调试面板 | Done | 当前行、变量、IO、报警、TCP、关节、Wait 诊断可见。 |
| KW-205.3 | 后处理导出和客户交付入口 | Done | facade 可暴露后处理、报告和交付包入口。 |
| KW-206.1 | 验证报告模型 | Done | reachability、cycle time、IO/Wait、post、import report JSON schema 稳定。 |
| KW-206.2 | HTML 报告导出 | Done | HTML 报告可打开并包含摘要、明细和 source map。 |
| KW-206.3 | 客户交付包 | Done | 交付 bundle 包含源程序、品牌程序、IO map、报告、校准和可选 trace。 |
| KW-207.1 | ABB RAPID 导入 | Done | `.mod/.sys` 主要运动、目标点、tool、wobj 可解析。 |
| KW-207.2 | KUKA KRL 导入 | Done | `.src/.dat` 主要运动、E6POS/E6AXIS、`$TOOL/$BASE` 可解析。 |
| KW-207.3 | FANUC LS 导入 | Done | LS 风格 `J/L/C/P[]/PR[]/UTOOL/UFRAME` 可解析。 |
| KW-207.4 | 导入 IR、GRL 和报告 | Done | 三品牌导入后可生成 OLP patch、GRL、IR 和报告。 |
| KW-208.1 | 几何导入和路径生成 | Done | 从点/边/曲线生成 Path。 |
| KW-208.2 | 基础碰撞和校准数据 | Done | 碰撞对象/时间点定位，TCP/Frame/Base 校准数据可保存应用。 |
| KW-208.3 | 商业级 OLP 交付流程 | Done | 资源库、工艺模板和商业级交付包原型可用。 |
| KW-209.1 | 调试断点和单步 | Done | 断点、单步进入/越过、运动断点可用。 |
| KW-209.2 | 轨迹回放和变量 watch | Done | 可复现运行 trace，变量 watch 与当前执行位置同步。 |
| KW-209.3 | 跨源定位 | Done | GRL、Path、Operation、品牌源程序与 IR 可互相定位。 |
| KW-210.1 | 多机器人和外部轴对象模型 | Done | 多机器人、外部轴和运动组进入 schema、IR 和报告。 |
| KW-210.2 | 真实控制器校验流程 | Done | 低速验证、离线/现场差异比对和校验报告流程明确。 |
| KW-210.3 | 复杂工作站扩展边界 | Done | 真实控制器通信、高精度轨迹复现和完整 CAD kernel 有非 MVP 边界。 |
| KW-211.1 | `flow-01` 总体功能流程同步 | Done | 项目资源、GRL、KDL、Motion Queue、后处理路径映射到任务。 |
| KW-211.2 | `flow-02` GRL 编译执行流程同步 | Done | Lexer/Parser/AST/Semantic/IR/KDL/Post 流程映射到任务。 |
| KW-211.3 | `flow-03` KDL 计算流程同步 | Done | RobotHandle、MOVEJ/MOVEL/MOVEC/PATH 计算流程映射到任务。 |
| KW-211.4 | `flow-04` 数据传递流程同步 | Done | Project、Compile、KDL、Runtime、Output 数据流映射到任务。 |
| KW-211.5 | `flow-05` 诊断传递流程同步 | Done | Parser、Semantic、KDL、Post 诊断 severity/sourceMap 映射到任务。 |
