Files
KDL_WORK/working/04-任务矩阵.md
2026-06-28 08:20:33 +08:00

221 lines
19 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 编译为 PathPlanRequestevent 和 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、24KDL 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、17FLOW 2、5、6 | OLP schema、对象树映射、Path/Operation 到 GRL、导入 patch 应用测试通过。 |
| KW-201 | OPFS Workspace 和项目导入导出 | Done | KW-200 | VC 4.4、9、12、15、16、17FLOW 2、5 | project manifest、OPFS-like 读写、snapshot、稳定 bundle 导入导出和恢复测试通过。 |
| KW-202 | 虚拟控制器状态机和执行内核 | Done | KW-110 | VC 7.1、7.2、7.3、12、13、15、16FLOW 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、16FLOW 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、16FLOW 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、16FLOW 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、16FLOW 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、16FLOW 3、5、9 | 断点、运动断点、轨迹回放、变量 watch、IO 脚本调试和跨源定位通过。 |
| KW-210 | 多机器人、外部轴和真实控制器校验扩展 | Done | KW-200, KW-203, KW-206, KW-208 | KDL 22VC 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-001WASM 工程骨架和 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 ChainFK/fkAllLinks/Jacobian/IK golden 通过。 |
| KW-002.5 | RobotHandle 生命周期 | Done | create/getInfo/getLimits/destroy 通过。 |
### KW-003 到 KW-013KDL 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-110Path、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 映射到任务。 |