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

88 lines
7.2 KiB
Markdown
Raw 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.1
日期2026-06-27
## 1. 状态定义
| 状态 | 含义 |
| --- | --- |
| Todo | 尚未开始实现。 |
| Doing | 正在执行。 |
| Blocked | 被依赖、环境、设计问题阻塞。 |
| Review | 已实现,等待验证或复核。 |
| Done | 已实现且验收证据完整。 |
## 2. 任务总表
| 编号 | 任务 | 状态 | 依赖 | 验收标准 |
| --- | --- | --- | --- | --- |
| A120-000 | 创建 working1 需求与开发指导文档 | Done | 无 | 7 个文档文件存在,覆盖用户提出的 5 项需求。 |
| GRL-EXPR-000 | 补充 GRL 运算功能文档 | Done | A120-000 | 功能、步骤、任务、验收、决策和 README 均覆盖运算表达式能力。 |
| GRL-EXPR-001 | 表达式 AST 扩展 | Done | GRL-EXPR-000 | AST 支持一元、二元、逻辑表达式,并保留 source range。 |
| GRL-EXPR-002 | 表达式 parser 优先级 | Done | GRL-EXPR-001 | 支持算术、比较、逻辑、括号、函数、数组、对象、offset 的完整优先级解析。 |
| GRL-EXPR-003 | 常量求值器和单位系统 | Done | GRL-EXPR-002 | 支持 pi/e、数学函数、三角函数、单位归一化和稳定 diagnostic。 |
| GRL-EXPR-004 | 数据声明和 target 编译接入 | Done | GRL-EXPR-003 | speed、zone、tool、frame、pose、joint_target、pose_target 等静态参数可求值。 |
| GRL-EXPR-005 | motion/path/IO 编译接入 | Done | GRL-EXPR-004 | path defaults、path point、event distance、wait timeout、pulse duration 可编译期求值。 |
| GRL-EXPR-006 | 三品牌后处理和报告边界 | Done | GRL-EXPR-005 | ABB/FANUC/KUKA 输出使用折叠后数值,无法保真的 runtime 表达式进入 report。 |
| A120-001 | 固化 ABB120 URDF fixture 和来源元数据 | Done | A120-000 | 可从稳定入口加载 URDF、load options、joint limits、标准关节位。 |
| A120-002 | 建立 ABB120 测试目录结构 | Done | A120-001 | 程序、expected、reports、screenshots 目录约定清晰。 |
| A120-010 | 编写 ABB120 GRL 测试程序集 | Done | A120-001, GRL-EXPR-005 | 6 个 GRL 程序覆盖 smoke、joint path、cartesian、IO/wait、error、operation并含运算表达式用例。 |
| A120-011 | 建立 AST/IR/KDL request/source map golden | Done | A120-010, GRL-EXPR-005 | 同一输入重复生成稳定 snapshot表达式折叠结果可比对。 |
| A120-030 | ABB120 KDL 基线测试 | Done | A120-001 | URDF load、FK、fkAllLinks、Jacobian、limit、singularity 全覆盖。 |
| A120-031 | ABB120 轨迹规划测试 | Done | A120-010, A120-030 | MOVEJ/MOVEL/MOVEC/PATH happy path 和 error path 通过。 |
| A120-032 | 虚拟控制器运行测试 | Done | A120-011, A120-031 | run/pause/step/stop/reset、motion queue、IO/wait/trace 可验证。 |
| A120-033 | ABB120 job runner | Done | A120-032 | 输出 job_id、job.json、trace、trajectory、diagnostics。 |
| A120-050 | 三品牌后处理 golden | Done | A120-011 | ABB/FANUC/KUKA 输出稳定,转换报告完整。 |
| A120-051 | 品牌导入回读和 roundtrip diff | Done | A120-050 | 后处理输出可回读,差异报告覆盖不可逆语义。 |
| A120-070 | ABB120 OLP 项目生成与工作区导入导出 | Done | A120-010 | Station/Robot/Tool/Frame/Target/Path/Operation/Program 可保存恢复。 |
| A120-071 | 离线编程验证报告 | Done | A120-031, A120-032, A120-050 | reachability、cycle time、IO/wait、collision、post/import 报告有 report_id。 |
| A120-072 | 客户交付包 | Done | A120-071 | bundle 包含源程序、品牌程序、IO map、校准、trace、报告。 |
| A120-090 | HTML 虚拟控制器页面骨架 | Done | A120-032 | 页面直接进入 ABB120 工作台布局包含命令栏、对象树、viewport、示教器和日志。 |
| A120-091 | HTML 运行控制 | Done | A120-090 | Load/Run/Pause/Step/Stop/Reset 驱动 runtime 状态变化。 |
| A120-092 | HTML 编辑器和 source map | Done | A120-090 | GRL/ABB/FANUC/KUKA 标签、当前行、诊断跳转和 path point 高亮可用。 |
| A120-093 | HTML IO/Wait/报警/报告面板 | Done | A120-091 | Wait 卡住可诊断并手动置位继续运行;报告可打开。 |
| A120-094 | HTML 视觉回归和截图 | Done | A120-093 | Chrome headless 桌面/移动截图、viewport 非空、无横向溢出、关键面板可见。 |
| A120-900 | 全量 CI 验收 | Done | A120-001 到 A120-094 | typecheck、tests、WASM build、ABB120 suite、截图和报告证据全部通过。 |
## 3. 子任务明细
### GRL-EXPR运算表达式
| 子任务 | 内容 | 状态 | 验收 |
| --- | --- | --- | --- |
| GRL-EXPR-001.1 | AST 节点扩展 | Done | `UnaryExpression``BinaryExpression` 或等价节点有 source range。 |
| GRL-EXPR-002.1 | 算术优先级 | Done | `1 + 2 * 3` AST 正确,`(1 + 2) * 3` 可改变优先级。 |
| GRL-EXPR-002.2 | 比较和逻辑 | Done | `a == b and not c` 可解析并保留结构。 |
| GRL-EXPR-002.3 | 函数参数表达式 | Done | `linear(100 + 50 mm/s)``atan2(1, 1)` 可解析。 |
| GRL-EXPR-003.1 | 数学函数 | Done | `sqrt/abs/pow/min/max/clamp/floor/ceil/round` 求值和诊断稳定。 |
| GRL-EXPR-003.2 | 三角函数 | Done | `sin/cos/tan/asin/acos/atan/atan2` 支持角度单位和定义域检查。 |
| GRL-EXPR-003.3 | 单位系统 | Done | `mm``mm/s``mm/s2``deg``rad``%``s``ms``kg` 归一化。 |
| GRL-EXPR-004.1 | speed/zone 求值 | Done | `linear(100 + 50 mm/s)``z(clamp(...))` 编译为 IR 数值。 |
| GRL-EXPR-004.2 | target/pose 求值 | Done | `joint_target``pose_target` 内部表达式编译为 KDL 需要的 SI 数值。 |
| GRL-EXPR-005.1 | path point 求值 | Done | 内联 speed/zone/tool/frame/via/target 表达式能进 KDL request。 |
| GRL-EXPR-005.2 | wait/pulse 求值 | Done | timeout/duration 支持表达式并归一化为秒。 |
| GRL-EXPR-006.1 | 后处理折叠输出 | Done | 三品牌程序输出具体数值,不输出未处理的常量表达式。 |
| GRL-EXPR-006.2 | runtime 表达式报告 | Done | 无法保真映射的运行时表达式进入 post/roundtrip report。 |
### A120-010GRL 测试程序集
| 子任务 | 内容 | 状态 | 验收 |
| --- | --- | --- | --- |
| A120-010.1 | `A120_00_Smoke.grl` | Done | 最小 `movej home` 链路通过。 |
| A120-010.2 | `A120_10_JointPickPlace.grl` | Done | 4 段 MOVEJ、IO event、终点 place。 |
| A120-010.3 | `A120_20_CartesianBlend.grl` | Done | FK 生成 pose targetsMOVEL/MOVEC 可规划。 |
| A120-010.4 | `A120_30_IOWaitPulse.grl` | Done | IO、wait、pulse、timeout 可运行。 |
| A120-010.5 | `A120_40_ErrorDiagnostics.grl` | Done | 限位、不可达、奇异、缺失引用诊断稳定。 |
| A120-010.6 | `A120_50_OperationProcess.grl` | Done | operation 展开和工艺报告可验证。 |
### A120-090HTML 虚拟控制器
| 子任务 | 内容 | 状态 | 验收 |
| --- | --- | --- | --- |
| A120-090.1 | HTML/CSS/TS 页面入口 | Done | 浏览器可打开页面。 |
| A120-090.2 | 对象树 | Done | Station/Robot/Path/Operation/Program/Reports 可见。 |
| A120-090.3 | Station viewport | Done | ABB120 姿态、路径和选中点可见。 |
| A120-090.4 | 虚拟示教器 | Done | 状态灯、模式、关节/TCP、程序指针可见。 |
| A120-090.5 | 底部诊断区 | Done | Log、Diagnostics、IO、Wait、Motion Queue、Trace、Reports 可切换。 |