Upload project files
This commit is contained in:
@@ -1,29 +1,52 @@
|
||||
# 01-项目功能内容
|
||||
|
||||
版本:0.3
|
||||
版本:0.5
|
||||
日期:2026-06-27
|
||||
对标文档:
|
||||
|
||||
1. `/home/meswork/kdl_work/work/doc/通用机器人编程语法规范.md`
|
||||
2. `/home/meswork/kdl_work/work/doc/KDL_WASM计算接口设计.md`
|
||||
3. `/home/meswork/kdl_work/work/doc/通用机器人离线编程虚拟控制器技术方案.md`
|
||||
4. `/home/meswork/kdl_work/work/doc/通用机器人项目主要实施步骤.md`
|
||||
5. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图.md`
|
||||
6. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图-png/flow-01.mmd` 到 `flow-05.mmd`
|
||||
7. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图-png/flow-01.png` 到 `flow-05.png`
|
||||
|
||||
## 1. 项目定位
|
||||
|
||||
本目录用于把 GRL 编程语法规范和 KDL WASM 计算接口设计落成实施计划。实施目标是形成一套互相闭合的语言层和运动计算层:
|
||||
本目录用于把 `/home/meswork/kdl_work/work` 下的通用机器人离线编程方案、流程图源码和流程图渲染资产落成实施计划。实施目标是形成一套互相闭合的语言层、运动计算层、虚拟控制器、工作台和工程交付链路:
|
||||
|
||||
```text
|
||||
GRL Source
|
||||
-> Lexer / Parser
|
||||
-> AST
|
||||
-> Symbol Table
|
||||
-> Semantic Analyzer
|
||||
-> Executable IR / MotionSegmentRequest
|
||||
-> KdlWorkerClient
|
||||
-> KDL WASM
|
||||
Project Resources / OPFS Workspace
|
||||
-> GRL Source / OLP Object Model / Brand Source
|
||||
-> Lexer / Parser / Brand Importer
|
||||
-> AST / Brand AST
|
||||
-> Symbol Table / Semantic Analyzer
|
||||
-> Executable IR / Source Map
|
||||
-> Virtual Controller Runtime
|
||||
-> Motion Queue / IO Service / Alarm Queue / Trace Buffer
|
||||
-> MotionSegmentRequest / PathPlanRequest
|
||||
-> KdlWorkerClient / KDL WASM
|
||||
-> TrajectoryResult / PathValidationResult / Diagnostics
|
||||
-> Post Processor / Reports / Customer Delivery Package
|
||||
```
|
||||
|
||||
Web UI、OPFS、碰撞检测和真实控制器通信不作为独立实施主线;相关内容只在两份对标文档明确要求的 GRL 工程结构、轨迹 trace、虚拟控制器调用关系、后处理或测试场景中进入范围。
|
||||
首版 MVP 范围包括单机器人 6 轴 URDF、GRL 语言闭环、KDL WASM 运动计算、虚拟控制器运行调试、DI/DO 虚拟 IO、OPFS 项目保存、三品牌后处理原型、至少一种品牌程序导入原型、可达性/节拍报告和客户交付包导出原型。完整碰撞检测、多机器人协调、外部轴同步、完整 CAD kernel、真实控制器通信和品牌控制器 look-ahead 完全复刻为后续扩展,但必须在任务矩阵中有明确归属。
|
||||
|
||||
## 1.1 `/work` 全功能覆盖索引
|
||||
|
||||
| 来源资产 | 必须覆盖的功能面 | working 对应任务 |
|
||||
| --- | --- | --- |
|
||||
| `KDL_WASM计算接口设计.md` | Worker API、URDF、KDL Chain、FK/IK/Jacobian、轨迹、Path、诊断、C ABI、性能 | `KW-001` 到 `KW-013` |
|
||||
| `通用机器人编程语法规范.md` | GRL 词法、语法、AST、语义、IR、Path、Operation、IO、流程、后处理、生成器 | `KW-100` 到 `KW-112` |
|
||||
| `通用机器人离线编程虚拟控制器技术方案.md` | 商业 OLP、对象模型、虚拟控制器、IO/Wait、OPFS、UI、报告、品牌导入、虚拟调试、几何、碰撞、校准、Sim-to-Real、多机器人、外部轴、真实控制器校验 | `KW-200` 到 `KW-210` |
|
||||
| `通用机器人项目主要实施步骤.md` | 阶段 1 到 10 的实施顺序、输入输出、验收重点和常用命令 | `KW-001` 到 `KW-211` |
|
||||
| `通用机器人项目功能与数据流程图.md` | 总体功能流、GRL 编译执行流、KDL 计算流、数据传递流、诊断传递流 | `KW-110`、`KW-200` 到 `KW-211` |
|
||||
| `flow-01.mmd/png` | 项目资源到 GRL/KDL/后处理的总体功能流程 | `KW-211` |
|
||||
| `flow-02.mmd/png` | GRL 编译、IR 执行、KDL 请求和后处理流程 | `KW-110`、`KW-202`、`KW-211` |
|
||||
| `flow-03.mmd/png` | KDL RobotHandle、MOVEJ/MOVEL/MOVEC/PATH 计算流程 | `KW-003` 到 `KW-011`、`KW-211` |
|
||||
| `flow-04.mmd/png` | Project、Compile、KDL、Runtime、Output 数据流 | `KW-200` 到 `KW-206`、`KW-211` |
|
||||
| `flow-05.mmd/png` | Parser、Semantic、KDL、Post Processor 诊断 severity/sourceMap 流程 | `KW-110`、`KW-206`、`KW-211` |
|
||||
|
||||
## 2. GRL 语言功能范围
|
||||
|
||||
@@ -324,9 +347,242 @@ KDL WASM 不负责:
|
||||
5. `compareTrajectory`
|
||||
6. 外部轴协调相关函数。
|
||||
|
||||
## 4. 共享数据和单位
|
||||
## 4. 虚拟控制器和 IO 运行时范围
|
||||
|
||||
### 4.1 单位
|
||||
### 4.1 控制器职责
|
||||
|
||||
虚拟控制器真正执行统一 `Executable IR`,而不是直接解释品牌文本。它必须支撑:
|
||||
|
||||
1. 控制器状态机:`PowerOff/Booting/MotorsOff/Ready/Manual/Auto/Running/Hold/Fault/EmergencyStop`。
|
||||
2. 基础命令:`powerOn/powerOff/motorsOn/motorsOff/loadProgram/start/hold/resume/stop/resetFault/stepInto/stepOver/stepMotion`。
|
||||
3. 执行模型:Program Counter、Call Stack、Scope Stack、Motion Queue、IO Image、Timer Table、Interrupt Table、Alarm Queue、Trace Buffer、Source Map、Brand Context。
|
||||
4. 单主任务首版模型,后续扩展后台任务、多机器人任务、独立 IO 任务和监控任务。
|
||||
5. `run_path` 展开为路径点运动和 before/after event。
|
||||
6. `run_operation` 展开为 start action、path、end action,并将工艺状态写入 trace。
|
||||
7. 品牌程序导入后的 IR 执行,并保留品牌源程序行号和转换报告。
|
||||
|
||||
### 4.2 IO Service 和 Wait
|
||||
|
||||
虚拟 IO 是虚拟调试核心能力。首版必须覆盖:
|
||||
|
||||
1. IO Image、IO Alias Table、IO Event Queue、Wait Registry、Edge Detector、IO Script Engine、IO Trace Logger。
|
||||
2. 地址规范:`DI[1] -> io.di[1]`、`DO[1] -> io.do[1]`、`AI/AO/GI/GO/RI/RO` 同规则。
|
||||
3. 程序可写 DO、AO、GO、RO;用户和脚本可按配置修改虚拟输入。
|
||||
4. 所有读写必须经过 IO Service,并生成 `IoEvent`。
|
||||
5. `wait` 执行时立即求值,未满足则创建 `ActiveWait`,由 controller tick 或 IO 变化触发重评估。
|
||||
6. `wait timeout`、`pulse duration`、IO script `delay` 均基于虚拟时间;hold 暂停虚拟时间,stop/reset 取消 ActiveWait。
|
||||
7. `rising/falling/changed` 边沿只在一个 tick 内有效,并保持同 tick 内事件顺序。
|
||||
8. Wait 卡住诊断必须显示等待表达式、子表达式当前值、已等待时间、剩余超时时间、相关 IO 最近变化和 IO 脚本状态。
|
||||
|
||||
### 4.3 运动队列和 Trace
|
||||
|
||||
运动运行时必须:
|
||||
|
||||
1. 将 `MotionInstruction`、Path point、Operation 展开为 `MotionQueueItem`。
|
||||
2. 保留 `instructionId/pathId/pathPointId/operationId`。
|
||||
3. 调用 KDL 生成轨迹采样后按虚拟时间推进关节和 TCP。
|
||||
4. 支持程序文本、路径表、3D 轨迹和报警诊断之间通过 source map 联动定位。
|
||||
5. 记录 motion trace、IO trace、wait trace、alarm trace,供报告和回放使用。
|
||||
|
||||
### 4.4 虚拟调试增强
|
||||
|
||||
虚拟调试增强必须覆盖:
|
||||
|
||||
1. 断点。
|
||||
2. 单步进入和单步越过。
|
||||
3. 运动断点。
|
||||
4. 轨迹回放。
|
||||
5. 变量 watch。
|
||||
6. IO 脚本调试。
|
||||
7. GRL、Path、Operation、品牌源程序行号与 IR 的联动调试。
|
||||
8. IK、IO、逻辑、后处理和品牌导入错误的跨视图定位。
|
||||
|
||||
## 5. OLP 工作台、工作区和交付范围
|
||||
|
||||
### 5.1 OLP 对象模型
|
||||
|
||||
商业 OLP 工作流以对象树组织项目,而不是只管理文本文件。内部对象模型必须覆盖:
|
||||
|
||||
1. `RobotModel`
|
||||
2. `ToolModel`
|
||||
3. `FrameModel`
|
||||
4. `TargetModel`
|
||||
5. `PathModel`
|
||||
6. `PathPointModel`
|
||||
7. `OperationModel`
|
||||
8. `ProgramModel`
|
||||
9. `PostProfile`
|
||||
10. Station、Cell、Fixture、Part、Device、Geometry、Calibration、Report。
|
||||
|
||||
对象模型用途:
|
||||
|
||||
1. UI 对象树和路径编辑器直接操作。
|
||||
2. 从规划点或曲线生成 Path。
|
||||
3. 从 Path/Operation 生成 GRL。
|
||||
4. 品牌程序导入后尽量恢复 target/path/program。
|
||||
5. 后处理和虚拟控制器最终仍以 IR 为准。
|
||||
|
||||
### 5.2 OPFS 工作区
|
||||
|
||||
OPFS 项目必须提供稳定布局和显式导入导出能力:
|
||||
|
||||
```text
|
||||
/projects/{projectId}/
|
||||
project.json
|
||||
station/
|
||||
libraries/
|
||||
geometry/
|
||||
robots/
|
||||
programs/
|
||||
targets/
|
||||
tools/
|
||||
frames/
|
||||
io/
|
||||
generated/
|
||||
logs/
|
||||
reports/
|
||||
calibration/
|
||||
snapshots/
|
||||
.index.json
|
||||
.lock
|
||||
```
|
||||
|
||||
必须实现的工作区能力:
|
||||
|
||||
1. `listProjects/openProject/createProject`
|
||||
2. `readText/writeText`
|
||||
3. `readJson/writeJson`
|
||||
4. `delete`
|
||||
5. `snapshot`
|
||||
6. `exportZip/importZip`
|
||||
7. 存储占用显示、迁移、损坏检测和备份。
|
||||
|
||||
### 5.3 Web 工作台
|
||||
|
||||
第一屏应直接进入离线编程和虚拟调试工作台。必须页面包括:
|
||||
|
||||
1. 项目管理。
|
||||
2. 工作站布局。
|
||||
3. 资源库。
|
||||
4. 几何与 CAD。
|
||||
5. 程序编辑。
|
||||
6. 虚拟示教器。
|
||||
7. IO 面板。
|
||||
8. 运动监控。
|
||||
9. 路径编辑器。
|
||||
10. Operation 编辑器。
|
||||
11. 验证与报告。
|
||||
12. 校准与现场回读。
|
||||
13. 后处理导出。
|
||||
14. 品牌程序导入。
|
||||
15. 日志和报警。
|
||||
16. Wait 调试面板。
|
||||
|
||||
UI 验收重点是工作流可用、状态可见、诊断可定位、数据可导出,不以营销展示页作为首屏。
|
||||
|
||||
### 5.4 品牌导入和后处理闭环
|
||||
|
||||
除三品牌后处理外,全目录对标要求建立 Brand Importer:
|
||||
|
||||
```text
|
||||
ABB RAPID / FANUC LS / KUKA KRL
|
||||
-> Brand Importer
|
||||
-> Brand AST
|
||||
-> Normalized IR
|
||||
-> Reconstructed GRL
|
||||
-> Optional OLP Path/Operation Model
|
||||
-> Import Report
|
||||
```
|
||||
|
||||
首版建议:
|
||||
|
||||
1. ABB 解析 `.mod/.sys` 文本中的 `MODULE/PROC/MoveJ/MoveL/MoveC/robtarget/tooldata/wobjdata`。
|
||||
2. KUKA 解析 `.src/.dat` 文本中的 `DEF/PTP/LIN/CIRC/E6POS/E6AXIS/$TOOL/$BASE`。
|
||||
3. FANUC 解析 LS 风格文本或可读 TP 导出中的 `J/L/C/P[]/PR[]/UTOOL/UFRAME/CALL/LBL/JMP`。
|
||||
4. 导入目标是提取目标点、运动序列、工具、坐标系、速度、过渡、主要 IO 和流程控制,转换为统一 IR 并生成转换报告。
|
||||
|
||||
### 5.5 报告和客户交付
|
||||
|
||||
报告必须可导出 JSON 和 HTML,覆盖:
|
||||
|
||||
| 报告 | 内容 |
|
||||
| --- | --- |
|
||||
| Reachability Report | 不可达点、接近限位点、IK 解 |
|
||||
| Collision Report | 碰撞对象、时间、路径点、严重程度 |
|
||||
| Cycle Time Report | 总节拍、路径节拍、wait 时间、瓶颈 |
|
||||
| IO Report | IO 映射、wait、pulse、脚本触发 |
|
||||
| Post Report | 品牌映射、近似处理、不支持项 |
|
||||
| Calibration Report | TCP、Frame、Base 偏差 |
|
||||
| Import Report | 品牌程序导入结果、丢失语义、恢复对象 |
|
||||
|
||||
客户交付包必须包含 GRL 源程序、品牌后处理程序、目标点和路径数据、IO map、后处理报告、可达性报告、节拍报告、校准数据和可选仿真 trace。
|
||||
|
||||
### 5.6 商业级 OLP、Sim-to-Real 和真实项目扩展
|
||||
|
||||
商业级扩展必须在任务矩阵中保留,不能被 MVP 范围省略:
|
||||
|
||||
1. 资源库管理:机器人库、工具库、夹具库、工艺模板库、后处理 profile 库。
|
||||
2. 几何导入:mesh/CAD 转换文件、点/边/曲线/面法向提取、曲线路径生成。
|
||||
3. 碰撞和干涉验证:基础碰撞对象、时间、路径点和严重程度定位。
|
||||
4. 校准和 Sim-to-Real:TCP、Frame、Base 校准数据,离线/现场差异比对。
|
||||
5. 品牌程序导入后的真实项目回读和交叉品牌再导出风险报告。
|
||||
6. 多机器人和外部轴:任务模型、运动组、外部轴协调和复杂工作站支持。
|
||||
7. 真实控制器校验流程:导出程序不等于现场可高速运行,必须保留低速验证和校验报告边界。
|
||||
8. 完整 CAD kernel、真实控制器通信、高精度轨迹复现作为更后续扩展,但必须有明确非 MVP 边界。
|
||||
|
||||
## 6. 数据流和线程模型
|
||||
|
||||
### 6.1 总体数据流
|
||||
|
||||
全系统数据流以 `Executable IR` 为中枢:
|
||||
|
||||
1. Project resources 提供 URDF、GRL、targets、paths、operations、io map、post profile。
|
||||
2. TypeScript 编译层生成 AST、符号表、语义诊断和 IR。
|
||||
3. 只有运动相关 IR 会构造成 KDL request。
|
||||
4. KDL Worker 返回轨迹、路径验证、节拍和结构化诊断。
|
||||
5. 虚拟控制器消费 IR、轨迹和 IO 事件,生成 trace。
|
||||
6. 后处理器消费 IR、OLP 对象模型和 post profile,生成品牌程序和转换报告。
|
||||
7. 报告引擎消费诊断、trace、轨迹和对象模型,生成 JSON/HTML 报告。
|
||||
|
||||
### 6.2 不进入 KDL WASM 的数据流
|
||||
|
||||
以下语义由编译层或虚拟控制器执行,不传入 KDL:
|
||||
|
||||
1. `if/elseif/else`
|
||||
2. `while/for/switch`
|
||||
3. `proc/func/call/return`
|
||||
4. `io.do/di/ai/ao`
|
||||
5. `wait/pulse/timer`
|
||||
6. `alarm/raise/try/catch`
|
||||
7. `operation.process`
|
||||
8. Brand import context
|
||||
9. UI 和 OPFS 工作区状态
|
||||
10. 报告生成和客户交付包打包
|
||||
|
||||
### 6.3 推荐线程模型
|
||||
|
||||
Web 主线程只负责 UI 交互和轻量状态更新。建议 Worker 划分:
|
||||
|
||||
1. Parser Worker:tokenize、parse、semantic check、diagnostics。
|
||||
2. Controller Worker:interpreter、execution clock、variable state、IO simulation、motion queue。
|
||||
3. KDL Worker:WASM 初始化、FK/IK/Jacobian、trajectory sampling。
|
||||
4. Storage Worker:OPFS read/write、project snapshot、import/export。
|
||||
5. Geometry/Validation Worker:几何采样、碰撞、长路径节拍分析和报告生成。
|
||||
|
||||
### 6.4 流程图资产同步
|
||||
|
||||
`work/doc/通用机器人项目功能与数据流程图-png` 下的 `.mmd` 是流程图源,`.png` 是渲染结果。实施文档和后续代码必须保持以下同步关系:
|
||||
|
||||
1. `flow-01` 对应总体功能流程。
|
||||
2. `flow-02` 对应 GRL 编译与执行流程。
|
||||
3. `flow-03` 对应 KDL WASM 计算流程。
|
||||
4. `flow-04` 对应数据传递流程。
|
||||
5. `flow-05` 对应诊断传递流程。
|
||||
6. 若流程图源或渲染图更新,`01-项目功能内容.md`、`02-项目程序开发详细步骤.md`、`04-任务矩阵.md` 和 `05-验收证据.md` 必须同步记录影响。
|
||||
|
||||
## 7. 共享数据和单位
|
||||
|
||||
### 7.1 单位
|
||||
|
||||
GRL 编译器内部必须统一:
|
||||
|
||||
@@ -340,7 +596,7 @@ GRL 编译器内部必须统一:
|
||||
| 角速度 | radian/second |
|
||||
| 加速度 | meter/second^2 或 radian/second^2 |
|
||||
|
||||
### 4.2 位姿
|
||||
### 7.2 位姿
|
||||
|
||||
内部统一为:
|
||||
|
||||
@@ -353,7 +609,7 @@ interface Pose {
|
||||
|
||||
GRL `pose(x, y, z, rx, ry, rz)` 必须在 TypeScript 编译层规范化为 KDL `Pose`。
|
||||
|
||||
### 4.3 目标点
|
||||
### 7.3 目标点
|
||||
|
||||
必须统一到:
|
||||
|
||||
@@ -376,7 +632,7 @@ interface JointTarget {
|
||||
}
|
||||
```
|
||||
|
||||
### 4.4 速度和 zone
|
||||
### 7.4 速度和 zone
|
||||
|
||||
GRL 速度和过渡必须编译为:
|
||||
|
||||
@@ -395,7 +651,7 @@ type ZoneSpec =
|
||||
|
||||
首版 `zone` 只用于诊断和后处理,运动规划按 `fine` 到点执行,并产生 `KDL_ZONE_APPROXIMATED`。
|
||||
|
||||
### 4.5 诊断
|
||||
### 7.5 诊断
|
||||
|
||||
所有语言、语义、KDL 和后处理错误必须结构化。KDL 固定 code 至少包含:
|
||||
|
||||
@@ -429,7 +685,7 @@ GRL 语义诊断至少覆盖:
|
||||
13. Operation 引用不存在的 Path。
|
||||
14. 后处理品牌不支持所用语义。
|
||||
|
||||
## 5. GRL 与 KDL 的调用关系
|
||||
## 8. GRL 与 KDL 的调用关系
|
||||
|
||||
| GRL 语法 | 编译结果 | KDL WASM 函数 |
|
||||
| --- | --- | --- |
|
||||
@@ -453,9 +709,9 @@ GRL 语义诊断至少覆盖:
|
||||
6. `alarm/raise/try/catch`
|
||||
7. `operation.process`
|
||||
|
||||
## 6. 验收口径
|
||||
## 9. 验收口径
|
||||
|
||||
### 6.1 GRL P0 验收
|
||||
### 9.1 GRL P0 验收
|
||||
|
||||
1. EBNF 覆盖语法规范第 22 章。
|
||||
2. 语法规范第 23 章完整示例可解析。
|
||||
@@ -466,7 +722,7 @@ GRL 语义诊断至少覆盖:
|
||||
7. `movej/movel/movec` 可编译为对应 KDL request。
|
||||
8. ABB、FANUC、KUKA 后处理原型有 golden file。
|
||||
|
||||
### 6.2 KDL P0 验收
|
||||
### 9.2 KDL P0 验收
|
||||
|
||||
1. P0 29 个函数全部在 TypeScript API 和 Worker RPC 中可调用。
|
||||
2. URDF 到 KDL Chain joint 顺序稳定。
|
||||
@@ -480,7 +736,7 @@ GRL 语义诊断至少覆盖:
|
||||
10. `planPath/validatePath` 保留 segment、target 和 source map。
|
||||
11. 错误处理不抛裸字符串,返回结构化 `KdlError` 或 `MotionDiagnostic`。
|
||||
|
||||
### 6.3 集成验收
|
||||
### 9.3 集成验收
|
||||
|
||||
1. GRL `movej/movel/movec` 编译为 KDL request 并生成轨迹。
|
||||
2. GRL `path` 编译为 `PathPlanRequest` 并生成整条路径。
|
||||
@@ -488,3 +744,37 @@ GRL 语义诊断至少覆盖:
|
||||
4. `if/for/switch/call/wait/io` 不直接调用 KDL,但能影响虚拟控制器何时调用运动函数。
|
||||
5. 长路径批量验证有性能记录。
|
||||
6. Worker 初始化、崩溃恢复和取消请求测试通过。
|
||||
|
||||
### 9.4 虚拟控制器和 IO 验收
|
||||
|
||||
1. 控制器状态机支持上电、使能、加载、启动、暂停、继续、停止、报警复位和单步。
|
||||
2. 程序运行时能显示当前行、变量、调用栈、IO、报警、TCP、关节、当前 Path/Point/Operation。
|
||||
3. `run_path` 和 `run_operation` 可在 Motion Queue 中保留 source map 并驱动轨迹回放。
|
||||
4. `wait` 能显示表达式、关联 IO、已等待时间和剩余 timeout。
|
||||
5. 用户可通过 IO 面板手动满足 wait。
|
||||
6. IO 脚本可模拟夹具反馈并自动满足 wait。
|
||||
7. wait timeout 可产生报警或执行 on_timeout。
|
||||
8. pulse 输出按虚拟时间自动复位。
|
||||
9. IO trace、motion trace 和 alarm trace 顺序稳定。
|
||||
|
||||
### 9.5 工作区、UI、报告和交付验收
|
||||
|
||||
1. 用户能在浏览器中新建、保存、打开、导入和导出项目。
|
||||
2. 用户能导入 URDF,定义工具、工件坐标、目标点、Path 和 Operation。
|
||||
3. 用户能从 Path/Operation 生成 GRL,并手工编辑 GRL。
|
||||
4. 系统能实时显示语法和语义错误。
|
||||
5. 同一个 Path/Program 能导出 ABB、FANUC、KUKA 三种目标文本和后处理报告。
|
||||
6. 至少一种品牌程序能导入、转换为 IR 并在虚拟控制器中运行。
|
||||
7. 能生成可达性报告、节拍报告、IO/Wait 报告、后处理报告。
|
||||
8. 能导出包含源程序、品牌程序、IO map 和报告的客户交付包。
|
||||
9. 自动测试覆盖解析器、KDL WASM、虚拟控制器、IO/Wait、后处理和品牌导入。
|
||||
|
||||
### 9.6 商业级扩展和流程图资产验收
|
||||
|
||||
1. 虚拟调试支持断点、运动断点、轨迹回放、变量 watch 和跨源定位。
|
||||
2. 资源库、工艺模板、几何导入和曲线路径生成有对象模型和测试。
|
||||
3. 基础碰撞检测可定位对象、时间和路径点。
|
||||
4. TCP、Frame、Base 校准数据可保存、应用并进入报告。
|
||||
5. 多机器人、外部轴、真实控制器校验流程有任务拆解、边界说明和扩展验收。
|
||||
6. `flow-01` 到 `flow-05` 的 Mermaid 源图和 PNG 渲染图纳入覆盖证据。
|
||||
7. 流程图资产与功能文档、任务矩阵、验收证据之间无断链。
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
# 02-项目程序开发详细步骤
|
||||
|
||||
版本:0.3
|
||||
版本:0.5
|
||||
日期:2026-06-27
|
||||
对标文档:
|
||||
|
||||
1. `/home/meswork/kdl_work/work/doc/KDL_WASM计算接口设计.md`
|
||||
2. `/home/meswork/kdl_work/work/doc/通用机器人编程语法规范.md`
|
||||
3. `/home/meswork/kdl_work/work/doc/通用机器人离线编程虚拟控制器技术方案.md`
|
||||
4. `/home/meswork/kdl_work/work/doc/通用机器人项目主要实施步骤.md`
|
||||
5. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图.md`
|
||||
6. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图-png/flow-01.mmd` 到 `flow-05.mmd`
|
||||
7. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图-png/flow-01.png` 到 `flow-05.png`
|
||||
|
||||
## 1. 推荐目录
|
||||
|
||||
目录按两条主线组织:`grl` 负责语言、AST、语义、IR、后处理;`kdl-wasm` 负责 KDL Worker API 和运动计算。
|
||||
目录按五条主线组织:`grl` 负责语言、AST、语义、IR、后处理;`kdl-wasm` 负责 KDL Worker API 和运动计算;`controller` 负责虚拟控制器、IO、wait、trace;`workspace` 和 `station` 负责 OPFS、OLP 对象模型和资源;`reports/importers/ui` 负责报告、品牌导入和工作台。
|
||||
|
||||
```text
|
||||
/home/meswork/kdl_work/
|
||||
@@ -41,9 +46,39 @@
|
||||
abb/
|
||||
fanuc/
|
||||
kuka/
|
||||
controller/
|
||||
runtime/
|
||||
io/
|
||||
alarm/
|
||||
debug/
|
||||
workspace/
|
||||
opfs.ts
|
||||
project.ts
|
||||
importExport.ts
|
||||
station/
|
||||
stationModel.ts
|
||||
resources.ts
|
||||
olp/
|
||||
model.ts
|
||||
path.ts
|
||||
operation.ts
|
||||
importers/
|
||||
abb/
|
||||
fanuc/
|
||||
kuka/
|
||||
reports/
|
||||
reportModel.ts
|
||||
htmlReport.ts
|
||||
jsonReport.ts
|
||||
ui/
|
||||
appShell.ts
|
||||
tests/
|
||||
kdl/
|
||||
grl/
|
||||
controller/
|
||||
workspace/
|
||||
reports/
|
||||
importers/
|
||||
integration/
|
||||
post/
|
||||
```
|
||||
@@ -560,7 +595,230 @@ GRL 实施顺序严格对标 `通用机器人编程语法规范.md` 第 24 章
|
||||
2. 生成文本可 diff。
|
||||
3. 生成文本可解析、语义检查并后处理。
|
||||
|
||||
## 4. 集成顺序
|
||||
## 4. 虚拟控制器、工作区和交付实施线
|
||||
|
||||
以下任务对标 `通用机器人离线编程虚拟控制器技术方案.md`、`通用机器人项目主要实施步骤.md` 和 `通用机器人项目功能与数据流程图.md`,在 KDL/GRL P0 闭合后继续推进。
|
||||
|
||||
### 4.1 KW-200:OLP 对象模型和 Station/Resource 基础
|
||||
|
||||
目标:
|
||||
|
||||
1. 定义 `OlpProjectModel`。
|
||||
2. 定义 Robot、Tool、Frame、Target、Path、PathPoint、Operation、Program、PostProfile。
|
||||
3. 定义 Station、Cell、Fixture、Part、Device、Geometry、Calibration、Report 基础模型。
|
||||
4. 建立对象树和文件资源之间的映射。
|
||||
5. 支持从 Path/Operation 对象生成 GRL,并从 GRL/品牌导入结果回填对象模型。
|
||||
|
||||
验收:
|
||||
|
||||
1. 对象模型 schema 有单元测试。
|
||||
2. PathModel 可生成稳定 GRL。
|
||||
3. OperationModel 可展开为 IR 或 GRL。
|
||||
4. 品牌导入恢复出的 target/path/program 可作为对象模型 patch 应用。
|
||||
|
||||
### 4.2 KW-201:OPFS Workspace 和项目导入导出
|
||||
|
||||
目标:
|
||||
|
||||
1. 实现 `/projects/{projectId}` 布局。
|
||||
2. 实现 `project.json` manifest。
|
||||
3. 实现 `listProjects/openProject/createProject`。
|
||||
4. 实现 `readText/writeText/readJson/writeJson/delete`。
|
||||
5. 实现 snapshot。
|
||||
6. 实现 zip 导入导出。
|
||||
7. 实现存储占用、迁移、备份和损坏检测。
|
||||
|
||||
验收:
|
||||
|
||||
1. 新建项目后生成约定目录和 manifest。
|
||||
2. GRL、URDF、targets、paths、operations、io map、post profile 可保存和读取。
|
||||
3. 导出 zip 后再导入能恢复等价项目。
|
||||
4. OPFS 不可见性通过显式导出和快照缓解。
|
||||
|
||||
### 4.3 KW-202:虚拟控制器状态机和执行内核
|
||||
|
||||
目标:
|
||||
|
||||
1. 实现 `PowerOff/Booting/MotorsOff/Ready/Manual/Auto/Running/Hold/Fault/EmergencyStop`。
|
||||
2. 实现 `powerOn/powerOff/motorsOn/motorsOff/loadProgram/start/hold/resume/stop/resetFault/stepInto/stepOver/stepMotion`。
|
||||
3. 实现 Program Counter、Call Stack、Scope Stack、Timer Table、Alarm Queue、Trace Buffer、Source Map。
|
||||
4. 执行 `Executable IR`,不直接解释品牌文本。
|
||||
5. 支持单主任务 `Task MAIN`。
|
||||
|
||||
验收:
|
||||
|
||||
1. 状态转换非法路径有诊断。
|
||||
2. 可执行无运动逻辑程序。
|
||||
3. 当前行、变量、调用栈和报警可查询。
|
||||
4. hold 暂停虚拟时间,stop/reset 清理 ActiveWait 和 Motion Queue。
|
||||
|
||||
### 4.4 KW-203:Motion Queue 和 KDL 运行桥接
|
||||
|
||||
目标:
|
||||
|
||||
1. 将 MotionInstruction、Path point、Operation 展开为 `MotionQueueItem`。
|
||||
2. 运行时调用 `planMoveJ/planMoveL/planMoveC/planPath`。
|
||||
3. 按虚拟时间推进轨迹采样。
|
||||
4. 保留 `instructionId/pathId/pathPointId/operationId/sourceMap`。
|
||||
5. 支持运动失败报警和 trace。
|
||||
|
||||
验收:
|
||||
|
||||
1. `run_path` 能驱动虚拟机器人状态变化。
|
||||
2. `run_operation` 能执行 start action、path、end action。
|
||||
3. UI 或测试可从当前运动定位回 GRL 行、Path point 和 Operation。
|
||||
4. IK、限位、奇异、圆弧退化诊断进入 Alarm Queue 和报告数据。
|
||||
|
||||
### 4.5 KW-204:虚拟 IO、Wait、Pulse 和 IO 脚本
|
||||
|
||||
目标:
|
||||
|
||||
1. 实现 IO Image、Alias Table、Event Queue、Wait Registry、Edge Detector、IO Script Engine、Trace Logger。
|
||||
2. 实现 IO 读写权限规则。
|
||||
3. 实现 `wait` 立即求值、ActiveWait、timeout、on_timeout。
|
||||
4. 实现 `rising/falling/changed` 边沿检测。
|
||||
5. 实现 `pulse` 按虚拟时间自动复位。
|
||||
6. 实现 IO script delay 和触发器。
|
||||
|
||||
验收:
|
||||
|
||||
1. 用户可手动切换虚拟输入满足 wait。
|
||||
2. IO 脚本可延迟写入输入满足 wait。
|
||||
3. wait timeout 可产生报警或执行 on_timeout。
|
||||
4. hold 时 timeout 暂停,stop/reset 时 ActiveWait 取消。
|
||||
5. IO trace 顺序稳定,包含 read/write/wait/pulse 事件。
|
||||
|
||||
### 4.6 KW-205:Web 工作台和调试界面
|
||||
|
||||
目标:
|
||||
|
||||
1. 建立第一屏工作台,而不是营销页。
|
||||
2. 实现项目对象树。
|
||||
3. 实现程序编辑器、路径编辑器、Operation 编辑器。
|
||||
4. 实现虚拟示教器、控制器面板、运动监控、IO 面板。
|
||||
5. 实现日志、报警、Wait 调试面板、后处理报告视图。
|
||||
6. 支持项目导入导出、后处理导出和客户交付包入口。
|
||||
|
||||
验收:
|
||||
|
||||
1. 用户能新建项目、导入 URDF、编辑 GRL、运行程序。
|
||||
2. 当前行、变量、IO、报警、TCP、关节、Path point、Operation 可见。
|
||||
3. Wait 卡住时显示表达式、子表达式值、已等待时间、剩余 timeout、相关 IO 最近变化和 IO 脚本状态。
|
||||
4. 诊断可从 UI 定位回源程序、Path、Operation 或品牌源。
|
||||
|
||||
### 4.7 KW-206:验证、报告和客户交付包
|
||||
|
||||
目标:
|
||||
|
||||
1. 可达性报告。
|
||||
2. 基础碰撞报告接口和数据模型。
|
||||
3. 节拍报告,分解 motion/wait/IO script delay。
|
||||
4. IO/Wait 报告。
|
||||
5. 后处理报告。
|
||||
6. 品牌导入报告。
|
||||
7. JSON/HTML 报告导出。
|
||||
8. 客户交付包 zip。
|
||||
|
||||
验收:
|
||||
|
||||
1. 报告 JSON schema 稳定。
|
||||
2. HTML 报告可打开并包含关键摘要。
|
||||
3. 客户交付包包含 GRL、品牌程序、目标点、路径、IO map、报告和可选 trace。
|
||||
4. 不可达点、IK 失败、wait timeout、后处理近似和品牌导入丢失语义能定位到 source map。
|
||||
|
||||
### 4.8 KW-207:品牌程序导入 MVP
|
||||
|
||||
目标:
|
||||
|
||||
1. 实现 ABB RAPID 文本导入原型。
|
||||
2. 实现 KUKA KRL `.src/.dat` 导入原型。
|
||||
3. 实现 FANUC LS 风格文本导入原型。
|
||||
4. 生成 Brand AST。
|
||||
5. 转换为统一 IR。
|
||||
6. 尽量恢复 GRL、target、path、program。
|
||||
7. 输出品牌导入转换报告。
|
||||
|
||||
验收:
|
||||
|
||||
1. 至少一种品牌程序可导入、转换为 IR 并在虚拟控制器中运行。
|
||||
2. 三品牌导入 golden case 可解析主要运动、目标点、工具、坐标系、速度、过渡和 IO。
|
||||
3. 不支持或近似语义必须进入导入报告,不能静默丢失。
|
||||
4. FANUC 首版只承诺 LS 风格或可读文本,不承诺 TP 二进制。
|
||||
|
||||
### 4.9 KW-208:几何、碰撞、校准和商业级 OLP 扩展
|
||||
|
||||
目标:
|
||||
|
||||
1. 资源库管理。
|
||||
2. Mesh/CAD 转换文件导入。
|
||||
3. 从点、边、曲线、面法向生成 Path。
|
||||
4. 工艺模板库。
|
||||
5. TCP、Frame、Base 校准数据。
|
||||
6. 基础碰撞检测。
|
||||
7. 商业级客户交付流程。
|
||||
|
||||
验收:
|
||||
|
||||
1. 可从几何曲线生成 Path。
|
||||
2. 可使用工艺模板生成 Operation。
|
||||
3. 可执行基础碰撞检测并定位对象和时间点。
|
||||
4. 可保存和应用校准数据。
|
||||
5. 可生成商业级客户交付包。
|
||||
|
||||
### 4.10 KW-209:虚拟调试增强和跨源定位
|
||||
|
||||
目标:
|
||||
|
||||
1. 实现断点。
|
||||
2. 实现单步进入、单步越过。
|
||||
3. 实现运动断点。
|
||||
4. 实现轨迹回放。
|
||||
5. 实现变量 watch。
|
||||
6. 实现 IO 脚本调试。
|
||||
7. 实现 GRL、Path、Operation、品牌源程序与 IR 的跨源定位。
|
||||
|
||||
验收:
|
||||
|
||||
1. 可像调试程序一样调试机器人逻辑。
|
||||
2. 可复现运行 trace。
|
||||
3. 可定位 IK、IO、逻辑错误。
|
||||
4. 可在 GRL、Path、Operation、品牌源程序之间定位同一条运动。
|
||||
|
||||
### 4.11 KW-210:多机器人、外部轴和真实控制器校验扩展
|
||||
|
||||
目标:
|
||||
|
||||
1. 扩展任务模型,支持多机器人任务、后台任务、独立 IO 任务和监控任务。
|
||||
2. 扩展运动组和外部轴数据结构。
|
||||
3. 保留外部轴协调和复杂工作站接口。
|
||||
4. 建立真实控制器校验流程边界。
|
||||
5. 支持离线/现场差异比对和校验报告。
|
||||
|
||||
验收:
|
||||
|
||||
1. 多机器人和外部轴进入对象模型、IR、任务模型和报告 schema。
|
||||
2. 真实控制器通信不作为 MVP 实时联调目标,但现场低速验证、差异记录和校验报告流程明确。
|
||||
3. 外部轴相关 KDL P1 能力有接口占位和诊断边界。
|
||||
|
||||
### 4.12 KW-211:流程图资产覆盖和同步维护
|
||||
|
||||
目标:
|
||||
|
||||
1. 将 `flow-01.mmd/png` 纳入总体功能流程覆盖。
|
||||
2. 将 `flow-02.mmd/png` 纳入 GRL 编译与执行流程覆盖。
|
||||
3. 将 `flow-03.mmd/png` 纳入 KDL WASM 计算流程覆盖。
|
||||
4. 将 `flow-04.mmd/png` 纳入数据传递流程覆盖。
|
||||
5. 将 `flow-05.mmd/png` 纳入诊断传递流程覆盖。
|
||||
6. 建立流程图源、渲染图、文档章节、任务矩阵和验收证据的同步检查。
|
||||
|
||||
验收:
|
||||
|
||||
1. `.mmd` 文件和 `.png` 文件均被证据记录。
|
||||
2. 每张流程图能映射到至少一个功能章节和任务编号。
|
||||
3. Mermaid 源和 PNG 渲染图缺失或新增时,文档一致性检查会提示。
|
||||
4. 流程图变更能追溯到对应任务和验收证据。
|
||||
|
||||
## 5. 集成顺序
|
||||
|
||||
1. KW-001 + KW-100 + KW-101:基础工程、Worker RPC、Lexer/Parser 骨架。
|
||||
2. KW-002 + KW-102:URDF/标准模型和 GRL target/tool/frame/speed/zone。
|
||||
@@ -571,8 +829,18 @@ GRL 实施顺序严格对标 `通用机器人编程语法规范.md` 第 24 章
|
||||
7. KW-106 到 KW-110:完成 P0 语义检查和 IR。
|
||||
8. KW-111:三品牌后处理原型。
|
||||
9. KW-112 + KW-013:自动生成、性能和批量优化。
|
||||
10. KW-200 + KW-201:OLP 对象模型和 OPFS 工作区。
|
||||
11. KW-202 + KW-203:虚拟控制器状态机、执行内核和 Motion Queue。
|
||||
12. KW-204:虚拟 IO、wait、pulse 和 IO 脚本。
|
||||
13. KW-205:Web 工作台和调试界面。
|
||||
14. KW-206:验证、报告和客户交付包。
|
||||
15. KW-207:品牌程序导入 MVP。
|
||||
16. KW-208:几何、碰撞、校准和商业级 OLP 扩展。
|
||||
17. KW-209:虚拟调试增强和跨源定位。
|
||||
18. KW-210:多机器人、外部轴和真实控制器校验扩展。
|
||||
19. KW-211:流程图资产覆盖和同步维护。
|
||||
|
||||
## 5. 通用命令约定
|
||||
## 6. 通用命令约定
|
||||
|
||||
实际命令以工程 `package.json` 和 CMake 配置为准。文档验收要求每个阶段至少提供等效命令:
|
||||
|
||||
@@ -582,6 +850,10 @@ npm run test -- grl
|
||||
npm run test -- kdl
|
||||
npm run test -- integration
|
||||
npm run test -- post
|
||||
npm run test -- controller
|
||||
npm run test -- workspace
|
||||
npm run test -- reports
|
||||
npm run test -- importers
|
||||
npm run build
|
||||
```
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 03-推进台账
|
||||
|
||||
版本:0.3
|
||||
版本:0.5
|
||||
日期:2026-06-27
|
||||
|
||||
## 1. 记录规则
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-000`
|
||||
本轮目标:根据用户要求,将 `working1` 实施文档调整为完全对标两份源文档:
|
||||
本轮目标:根据用户要求,将 `working` 实施文档调整为完全对标两份源文档:
|
||||
|
||||
1. `/home/meswork/kdl_work/work/doc/KDL_WASM计算接口设计.md`
|
||||
2. `/home/meswork/kdl_work/work/doc/通用机器人编程语法规范.md`
|
||||
@@ -42,19 +42,19 @@
|
||||
|
||||
改了哪些文件:
|
||||
|
||||
1. `work/working1/README.md`
|
||||
2. `work/working1/01-项目功能内容.md`
|
||||
3. `work/working1/02-项目程序开发详细步骤.md`
|
||||
4. `work/working1/03-推进台账.md`
|
||||
5. `work/working1/04-任务矩阵.md`
|
||||
6. `work/working1/05-验收证据.md`
|
||||
7. `work/working1/06-决策记录.md`
|
||||
1. `working/README.md`
|
||||
2. `working/01-项目功能内容.md`
|
||||
3. `working/02-项目程序开发详细步骤.md`
|
||||
4. `working/03-推进台账.md`
|
||||
5. `working/04-任务矩阵.md`
|
||||
6. `working/05-验收证据.md`
|
||||
7. `working/06-决策记录.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
1. `work/doc/KDL_WASM计算接口设计.md` 存在。
|
||||
2. `work/doc/通用机器人编程语法规范.md` 存在。
|
||||
3. `working1` 当前文档只以这两份文档作为对标来源。
|
||||
3. `working` 当前文档只以这两份文档作为对标来源。
|
||||
4. KDL P0 29 个函数已进入任务和验收证据。
|
||||
5. GRL P0 14 类能力已进入任务和验收证据。
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-001`、`KW-100`
|
||||
本轮目标:按 `working1` 下一步连续推进,建立 KDL WASM wrapper/Worker RPC 工程骨架,并实现 GRL lexer、单位规范化和关键字表。
|
||||
本轮目标:按 `working` 下一步连续推进,建立 KDL WASM wrapper/Worker RPC 工程骨架,并实现 GRL lexer、单位规范化和关键字表。
|
||||
|
||||
做了什么:
|
||||
|
||||
@@ -100,9 +100,9 @@
|
||||
8. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/lexer/*`
|
||||
9. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/rpc.test.ts`
|
||||
10. `/home/meswork/kdl_work/kdl-wasm/web/tests/grl/lexer.test.ts`
|
||||
11. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
12. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
13. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
11. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
12. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
13. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -154,9 +154,9 @@
|
||||
8. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/parser/*`
|
||||
9. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/urdf.test.ts`
|
||||
10. `/home/meswork/kdl_work/kdl-wasm/web/tests/grl/parser.test.ts`
|
||||
11. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
12. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
13. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
11. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
12. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
13. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -205,9 +205,9 @@
|
||||
8. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/*`
|
||||
9. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/fk.test.ts`
|
||||
10. `/home/meswork/kdl_work/kdl-wasm/web/tests/grl/dataDeclarations.test.ts`
|
||||
11. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
12. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
13. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
11. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
12. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
13. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -257,9 +257,9 @@
|
||||
8. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/parser/parser.ts`
|
||||
9. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/ik.test.ts`
|
||||
10. `/home/meswork/kdl_work/kdl-wasm/web/tests/grl/motionCompile.test.ts`
|
||||
11. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
12. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
13. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
11. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
12. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
13. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -303,9 +303,9 @@
|
||||
3. `/home/meswork/kdl_work/kdl-wasm/web/src/kdl/kdlClient.ts`
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/src/robot/normalizedRobotModel.ts`
|
||||
5. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/checks.test.ts`
|
||||
6. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
6. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -348,9 +348,9 @@
|
||||
3. `/home/meswork/kdl_work/kdl-wasm/web/src/kdl/runtime.ts`
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/src/kdl/kdlClient.ts`
|
||||
5. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/poseApi.test.ts`
|
||||
6. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
6. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -392,9 +392,9 @@
|
||||
3. `/home/meswork/kdl_work/kdl-wasm/web/src/kdl/runtime.ts`
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/src/kdl/kdlClient.ts`
|
||||
5. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/trapProfile.test.ts`
|
||||
6. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
6. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -436,9 +436,9 @@
|
||||
3. `/home/meswork/kdl_work/kdl-wasm/web/src/kdl/kdlClient.ts`
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/src/robot/normalizedRobotModel.ts`
|
||||
5. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/planMoveJ.test.ts`
|
||||
6. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
6. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -480,9 +480,9 @@
|
||||
2. `/home/meswork/kdl_work/kdl-wasm/web/src/kdl/kdlClient.ts`
|
||||
3. `/home/meswork/kdl_work/kdl-wasm/web/src/robot/normalizedRobotModel.ts`
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/planMoveL.test.ts`
|
||||
5. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
6. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
7. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
5. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
6. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
7. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -525,9 +525,9 @@
|
||||
2. `/home/meswork/kdl_work/kdl-wasm/web/src/kdl/kdlClient.ts`
|
||||
3. `/home/meswork/kdl_work/kdl-wasm/web/src/robot/normalizedRobotModel.ts`
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/planMoveC.test.ts`
|
||||
5. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
6. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
7. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
5. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
6. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
7. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -570,9 +570,9 @@
|
||||
3. `/home/meswork/kdl_work/kdl-wasm/web/src/kdl/kdlClient.ts`
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/src/robot/normalizedRobotModel.ts`
|
||||
5. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/path.test.ts`
|
||||
6. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
6. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -618,9 +618,9 @@
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/src/kdl/kdlClient.ts`
|
||||
5. `/home/meswork/kdl_work/kdl-wasm/web/src/robot/normalizedRobotModel.ts`
|
||||
6. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/trajectoryUtils.test.ts`
|
||||
7. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
8. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
9. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
7. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
8. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
9. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -671,9 +671,9 @@
|
||||
9. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/cAbi.test.ts`
|
||||
10. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/performance.test.ts`
|
||||
11. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/fk.test.ts`
|
||||
12. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
13. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
14. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
12. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
13. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
14. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -726,9 +726,9 @@
|
||||
8. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/compileMotion.ts`
|
||||
9. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/index.ts`
|
||||
10. `/home/meswork/kdl_work/kdl-wasm/web/tests/grl/pathCompile.test.ts`
|
||||
11. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
12. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
13. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
11. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
12. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
13. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -777,9 +777,9 @@
|
||||
6. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/compileMotion.ts`
|
||||
7. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/index.ts`
|
||||
8. `/home/meswork/kdl_work/kdl-wasm/web/tests/grl/operationCompile.test.ts`
|
||||
9. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
10. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
11. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
9. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
10. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
11. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -827,9 +827,9 @@
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/compileMotion.ts`
|
||||
5. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/index.ts`
|
||||
6. `/home/meswork/kdl_work/kdl-wasm/web/tests/grl/ioCompile.test.ts`
|
||||
7. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
8. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
9. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
7. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
8. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
9. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -875,9 +875,9 @@
|
||||
3. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/compileControlFlow.ts`
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/index.ts`
|
||||
5. `/home/meswork/kdl_work/kdl-wasm/web/tests/grl/controlFlow.test.ts`
|
||||
6. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
6. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -927,9 +927,9 @@
|
||||
6. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/compileProcFunction.ts`
|
||||
7. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/index.ts`
|
||||
8. `/home/meswork/kdl_work/kdl-wasm/web/tests/grl/procFunction.test.ts`
|
||||
9. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
10. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
11. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
9. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
10. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
11. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -978,9 +978,9 @@
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/compileException.ts`
|
||||
5. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/index.ts`
|
||||
6. `/home/meswork/kdl_work/kdl-wasm/web/tests/grl/exceptionCompile.test.ts`
|
||||
7. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
8. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
9. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
7. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
8. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
9. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -1029,9 +1029,9 @@
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/compileSemantic.ts`
|
||||
5. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/semantic/index.ts`
|
||||
6. `/home/meswork/kdl_work/kdl-wasm/web/tests/grl/semanticIr.test.ts`
|
||||
7. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
8. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
9. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
7. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
8. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
9. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -1074,9 +1074,9 @@
|
||||
1. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/post/postProcessor.ts`
|
||||
2. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/post/index.ts`
|
||||
3. `/home/meswork/kdl_work/kdl-wasm/web/tests/post/postProcessor.test.ts`
|
||||
4. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
5. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
6. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
4. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
5. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
6. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -1114,10 +1114,10 @@
|
||||
改了哪些文件:
|
||||
|
||||
1. `/home/meswork/kdl_work/kdl-wasm/web/src/grl/generator/generator.ts`
|
||||
2. `/home/meswork/kdl_work/work/working1/README.md`
|
||||
3. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
4. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
5. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
2. `/home/meswork/kdl_work/working/README.md`
|
||||
3. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
4. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
5. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -1161,10 +1161,10 @@
|
||||
2. `/home/meswork/kdl_work/kdl-wasm/bindings/kdl_c_api.cpp`
|
||||
3. `/home/meswork/kdl_work/kdl-wasm/web/src/kdl/nativeModule.ts`
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/tests/kdl/cAbi.test.ts`
|
||||
5. `/home/meswork/kdl_work/work/working1/README.md`
|
||||
6. `/home/meswork/kdl_work/work/working1/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/work/working1/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/work/working1/05-验收证据.md`
|
||||
5. `/home/meswork/kdl_work/working/README.md`
|
||||
6. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
7. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
8. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
@@ -1229,3 +1229,192 @@
|
||||
|
||||
1. 若继续深化 KDL native 主线,优先设计 Worker 中 TypeScript handle 与 native RobotHandle 的映射关系。
|
||||
2. 映射稳定后,再逐步把 `planMoveJ/planMoveL/planMoveC/planPath` 从 TypeScript runtime 切到 native solver 或 native-assisted solver。
|
||||
|
||||
### 轮次 026
|
||||
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-000`、`KW-001` 到 `KW-013`、`KW-100` 到 `KW-112`
|
||||
本轮目标:按当前 `/home/meswork/kdl_work/working` 目录完成全量收口核对,确认任务矩阵、验收证据和实现侧验证一致。
|
||||
|
||||
做了什么:
|
||||
|
||||
1. 复核 `working` 目录 README、任务矩阵、推进台账、验收证据和 ADR。
|
||||
2. 将文档中仍指向旧实施目录的路径统一为 `/home/meswork/kdl_work/working`。
|
||||
3. 执行实现侧全量验证:TypeScript 类型检查、Vitest 全量测试、WASM 构建。
|
||||
4. 确认任务矩阵中 `KW-001` 到 `KW-013`、`KW-100` 到 `KW-112` 均为 `Done`。
|
||||
5. 确认当前实现包含 KDL Worker/TS API、URDF 标准模型、KDL C ABI native Chain、native FK/fkAllLinks/Jacobian/IK/sampleTrap、轨迹规划 TS runtime、GRL lexer/parser/semantic IR/post/generator。
|
||||
|
||||
改了哪些文件:
|
||||
|
||||
1. `/home/meswork/kdl_work/working/README.md`
|
||||
2. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
3. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
4. `/home/meswork/kdl_work/working/06-决策记录.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
1. `npm run typecheck` 通过。
|
||||
2. `npm test` 通过,27 个测试文件共 109 个测试通过。
|
||||
3. `cmake --build kdl-wasm/build-wasm -j16` 通过。
|
||||
4. `rg -n 'work[i]ng1|work/work[i]ng1|/home/meswork/kdl_work/work/work[i]ng1' /home/meswork/kdl_work/working` 无匹配。
|
||||
|
||||
问题和风险:
|
||||
|
||||
1. P0 任务已按当前文档范围闭合;高层 `planMoveJ/planMoveL/planMoveC/planPath` 仍由 TypeScript runtime 基线承载,native C ABI 已保留稳定导出边界。
|
||||
2. Worker 默认计算路径仍以 TypeScript registry 管理高层机器人句柄;native FK/fkAllLinks/Jacobian/IK/sampleTrap 已通过 C ABI 测试。
|
||||
|
||||
下一步:
|
||||
|
||||
1. 当前 `working` 目录任务已全部完成并有验收证据。
|
||||
2. 若后续继续深化 native 主线,可单独新增任务把 Worker 默认路径切到 native solver 或 native-assisted solver。
|
||||
|
||||
### 轮次 027
|
||||
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-000`、`KW-200` 到 `KW-208`
|
||||
本轮目标:根据用户要求,将 `/home/meswork/kdl_work/working` 从原 KDL/GRL 双文档对标扩展为 `/home/meswork/kdl_work/work/doc` 全目录五份 Markdown 源文档对标。
|
||||
|
||||
做了什么:
|
||||
|
||||
1. 读取 `/home/meswork/kdl_work/work/doc` 源文档清单,确认需要纳入 5 份 Markdown:
|
||||
- `KDL_WASM计算接口设计.md`
|
||||
- `通用机器人编程语法规范.md`
|
||||
- `通用机器人离线编程虚拟控制器技术方案.md`
|
||||
- `通用机器人项目主要实施步骤.md`
|
||||
- `通用机器人项目功能与数据流程图.md`
|
||||
2. 更新 README,将实施主线从 KDL/GRL 两条扩展为 GRL、KDL WASM、虚拟控制器、OLP 工作台/工作区、数据流/集成验收五条。
|
||||
3. 更新功能范围,补充虚拟控制器状态机、IO Service、Wait、Motion Queue、OPFS、Web 工作台、品牌导入、报告、客户交付包、数据流和线程模型。
|
||||
4. 更新开发步骤,新增 `KW-200` 到 `KW-208` 的后续实施步骤。
|
||||
5. 更新任务矩阵,新增 `KW-200` 到 `KW-208` 总任务和子任务,并全部保持 `Todo`,避免把尚未实现的虚拟控制器、OPFS、UI、报告和品牌导入误标为完成。
|
||||
6. 更新验收证据,新增全目录对标任务入库证据,并明确 `KW-200` 到 `KW-208` 需要后续实现验收。
|
||||
7. 更新 ADR,将 `working` 范围改为 `work/doc` 全目录对标,并新增统一 IR、OPFS 导入导出、工作台首屏、品牌导入、报告和客户交付包决策。
|
||||
|
||||
改了哪些文件:
|
||||
|
||||
1. `/home/meswork/kdl_work/working/README.md`
|
||||
2. `/home/meswork/kdl_work/working/01-项目功能内容.md`
|
||||
3. `/home/meswork/kdl_work/working/02-项目程序开发详细步骤.md`
|
||||
4. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
5. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
6. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
7. `/home/meswork/kdl_work/working/06-决策记录.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
1. `find /home/meswork/kdl_work/work/doc -maxdepth 1 -type f -name '*.md' -print | sort` 确认 5 份源文档。
|
||||
2. `rg -n 'KW-20[0-8]' working/02-项目程序开发详细步骤.md working/04-任务矩阵.md` 确认新增任务进入步骤和矩阵。
|
||||
3. `rg -n '虚拟控制器|OPFS|品牌程序导入|客户交付包|IO 脚本|Wait 调试|OLP 对象模型' working` 确认新增主线进入工作文档。
|
||||
4. `rg -n '^\\| KW-[0-9]+ \\|.*\\| (Doing|Blocked|Review) \\|' working/04-任务矩阵.md` 无匹配,确认没有半完成状态任务。
|
||||
|
||||
问题和风险:
|
||||
|
||||
1. `KW-001` 到 `KW-013`、`KW-100` 到 `KW-112` 仍是已实现并有证据的 KDL/GRL 范围。
|
||||
2. `KW-200` 到 `KW-208` 是本轮从全目录对标新增的后续实施任务,当前只有文档入库证据,没有实现验收证据。
|
||||
3. 虚拟控制器、OPFS、UI、品牌导入、报告和客户交付包涉及新模块,后续实现会扩大测试面和前端验证面。
|
||||
|
||||
下一步:
|
||||
|
||||
1. 若继续推进全目录 MVP,实现顺序建议从 `KW-200` OLP 对象模型和 `KW-201` OPFS Workspace 开始。
|
||||
2. 再进入 `KW-202` 虚拟控制器状态机和 `KW-204` IO/Wait 运行时。
|
||||
|
||||
### 轮次 028
|
||||
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-000`、`KW-209` 到 `KW-211`
|
||||
本轮目标:根据用户补充要求,将 `/home/meswork/kdl_work/working` 的覆盖范围从 `/home/meswork/kdl_work/work/doc` Markdown 正文扩展到 `/home/meswork/kdl_work/work` 下全部文档资产和全部功能。
|
||||
|
||||
做了什么:
|
||||
|
||||
1. 重新扫描 `/home/meswork/kdl_work/work`,确认除 5 份 Markdown 外,还包含:
|
||||
- `flow-01.mmd` 到 `flow-05.mmd`
|
||||
- `flow-01.png` 到 `flow-05.png`
|
||||
2. 更新 README,把覆盖对象改为 `/home/meswork/kdl_work/work` 下全部文档资产,包括 Markdown、Mermaid 源图和 PNG 渲染图。
|
||||
3. 更新功能范围,新增 `/work` 全功能覆盖索引,将每份 Markdown、每张流程图源和 PNG 映射到任务编号。
|
||||
4. 更新开发步骤,新增:
|
||||
- `KW-209`:虚拟调试增强和跨源定位。
|
||||
- `KW-210`:多机器人、外部轴和真实控制器校验扩展。
|
||||
- `KW-211`:流程图资产覆盖和同步维护。
|
||||
5. 更新任务矩阵,把 `KW-209` 到 `KW-211` 加入总表和子任务表,补齐虚拟调试、商业级扩展、流程图资产同步这些之前过粗的功能面。
|
||||
6. 更新验收证据,新增 `EV-201`,记录 `/work` 下 5 份 Markdown、5 份 `.mmd` 和 5 份 `.png` 全部纳入覆盖。
|
||||
7. 更新 ADR,将 ADR-001 改为 `/work` 全部文档资产对标,并新增流程图资产同步、商业级扩展任务归属决策。
|
||||
|
||||
改了哪些文件:
|
||||
|
||||
1. `/home/meswork/kdl_work/working/README.md`
|
||||
2. `/home/meswork/kdl_work/working/01-项目功能内容.md`
|
||||
3. `/home/meswork/kdl_work/working/02-项目程序开发详细步骤.md`
|
||||
4. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
5. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
6. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
7. `/home/meswork/kdl_work/working/06-决策记录.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
1. `find /home/meswork/kdl_work/work -maxdepth 3 -type f -print | sort` 确认全部文档资产。
|
||||
2. `find /home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图-png -maxdepth 1 -type f -printf '%f %s bytes\n' | sort` 确认 5 份 `.mmd` 和 5 份 `.png`。
|
||||
3. `rg -n 'KW-20[9]|KW-210|KW-211' working/01-项目功能内容.md working/02-项目程序开发详细步骤.md working/04-任务矩阵.md` 确认新增任务进入功能、步骤和矩阵。
|
||||
4. `rg -n 'flow-01|flow-02|flow-03|flow-04|flow-05|流程图资产' working` 确认流程图资产进入 working 文档。
|
||||
|
||||
问题和风险:
|
||||
|
||||
1. `KW-209` 到 `KW-211` 当前是文档覆盖和后续任务入库,不是实现完成。
|
||||
2. 完整虚拟调试、多机器人、外部轴、真实控制器校验、流程图同步检查涉及后续新增代码、UI 和测试。
|
||||
3. 商业级扩展不应阻塞 KDL/GRL 已完成 P0,但不能从任务矩阵中省略。
|
||||
|
||||
下一步:
|
||||
|
||||
1. 若继续实现全功能 MVP,优先从 `KW-200`、`KW-201`、`KW-202`、`KW-204` 开始。
|
||||
2. 若要先补文档自动一致性,可优先实现 `KW-211` 的流程图资产同步检查。
|
||||
|
||||
### 轮次 029
|
||||
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-200` 到 `KW-211`
|
||||
本轮目标:按用户要求完成 `/home/meswork/kdl_work/working` 中剩余全部任务的实现、验证和文档收口。
|
||||
|
||||
做了什么:
|
||||
|
||||
1. 新增 OLP 对象模型、JSON patch、Path/Operation 到 GRL 生成、几何路径生成、基础碰撞和校准应用模块。
|
||||
2. 新增 Workspace 存储模块,覆盖 OPFS-like async storage、`project.json` manifest、文本/JSON 读写删除、snapshot/restore、migration、损坏检测和稳定 JSON bundle 导入导出。
|
||||
3. 新增虚拟控制器状态机、IR 执行内核、trace/source map、Motion Queue、KDL runtime bridge、IO runtime、wait/pulse/edge/script 支持。
|
||||
4. 新增 Workbench/Debug facade,覆盖对象树、编辑器、示教器、IO 面板、报告入口、断点、运动断点、变量 watch、轨迹回放和跨源定位。
|
||||
5. 新增报告和客户交付包模块,覆盖验证报告 JSON schema、HTML 报告、源程序/品牌程序/IO map/报告/校准/trace 交付 bundle。
|
||||
6. 新增 ABB、KUKA、FANUC 品牌导入 MVP,生成 OLP patch、GRL、Semantic IR 和导入报告。
|
||||
7. 新增流程图资产覆盖检查,自动校验 `flow-01` 到 `flow-05` 的 Mermaid/PNG 资产、关键术语和任务映射。
|
||||
8. 整合并行实现中的 API 冲突和严格 TypeScript 可选属性问题,保证全量类型检查和测试通过。
|
||||
9. 更新 README、任务矩阵、验收证据和 ADR,将 `KW-200` 到 `KW-211` 标记为完成并补充实现证据。
|
||||
|
||||
改了哪些文件:
|
||||
|
||||
1. `/home/meswork/kdl_work/kdl-wasm/web/src/olp/*`
|
||||
2. `/home/meswork/kdl_work/kdl-wasm/web/src/workspace/*`
|
||||
3. `/home/meswork/kdl_work/kdl-wasm/web/src/controller/*`
|
||||
4. `/home/meswork/kdl_work/kdl-wasm/web/src/runtime/*`
|
||||
5. `/home/meswork/kdl_work/kdl-wasm/web/src/workbench/*`
|
||||
6. `/home/meswork/kdl_work/kdl-wasm/web/src/reports/*`
|
||||
7. `/home/meswork/kdl_work/kdl-wasm/web/src/importers/*`
|
||||
8. `/home/meswork/kdl_work/kdl-wasm/web/src/docs/*`
|
||||
9. `/home/meswork/kdl_work/kdl-wasm/web/tests/{olp,workspace,controller,runtime,workbench,reports,importers,docs}/*`
|
||||
10. `/home/meswork/kdl_work/working/README.md`
|
||||
11. `/home/meswork/kdl_work/working/03-推进台账.md`
|
||||
12. `/home/meswork/kdl_work/working/04-任务矩阵.md`
|
||||
13. `/home/meswork/kdl_work/working/05-验收证据.md`
|
||||
14. `/home/meswork/kdl_work/working/06-决策记录.md`
|
||||
|
||||
验证了什么:
|
||||
|
||||
1. `npm run typecheck` 通过。
|
||||
2. `npm run test -- controller runtime workbench workspace importers reports olp docs` 通过,10 个测试文件共 31 个测试通过。
|
||||
3. `npm test` 通过,38 个测试文件共 146 个测试通过。
|
||||
4. `cmake --build kdl-wasm/build-wasm -j16` 通过。
|
||||
5. `validateFlowAssetCoverage` 检查 5 份 Mermaid 源图和 5 份 PNG 渲染资产均存在且映射到任务。
|
||||
|
||||
问题和风险:
|
||||
|
||||
1. Workspace 导入导出使用稳定 JSON bundle 完成 MVP 验收,真实 `.zip` 封装可作为外层适配接入。
|
||||
2. Workbench 当前是可测试的数据 facade,不包含浏览器 DOM UI。
|
||||
3. 真实控制器通信、完整 CAD kernel、高精度轨迹复现和品牌控制器 look-ahead 完全复刻仍是非 MVP 边界。
|
||||
|
||||
下一步:
|
||||
|
||||
1. 当前 `working` 目录任务已全部完成并有验收证据。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 04-任务矩阵
|
||||
|
||||
版本:0.3
|
||||
版本:0.5
|
||||
日期:2026-06-27
|
||||
|
||||
## 1. 状态定义
|
||||
@@ -20,12 +20,13 @@
|
||||
| `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 | 无 | 两份文档全文 | README、功能范围、开发步骤、任务矩阵、证据、ADR 已对齐两份源文档。 |
|
||||
| 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 位姿顺序和维度诊断通过。 |
|
||||
@@ -52,6 +53,18 @@
|
||||
| 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 子任务
|
||||
|
||||
@@ -148,3 +161,60 @@
|
||||
| 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 映射到任务。 |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 05-验收证据
|
||||
|
||||
版本:0.3
|
||||
版本:0.5
|
||||
日期:2026-06-27
|
||||
|
||||
## 1. 记录规则
|
||||
@@ -32,7 +32,11 @@
|
||||
| KDL 源码 | `/home/meswork/kdl_work/orocos_kinematics_dynamics/orocos_kdl` |
|
||||
| KDL 对标文档 | `/home/meswork/kdl_work/work/doc/KDL_WASM计算接口设计.md` |
|
||||
| GRL 对标文档 | `/home/meswork/kdl_work/work/doc/通用机器人编程语法规范.md` |
|
||||
| 实施文档目录 | `/home/meswork/kdl_work/work/working1` |
|
||||
| 虚拟控制器对标文档 | `/home/meswork/kdl_work/work/doc/通用机器人离线编程虚拟控制器技术方案.md` |
|
||||
| 实施步骤对标文档 | `/home/meswork/kdl_work/work/doc/通用机器人项目主要实施步骤.md` |
|
||||
| 数据流程对标文档 | `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图.md` |
|
||||
| 流程图资产目录 | `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图-png` |
|
||||
| 实施文档目录 | `/home/meswork/kdl_work/working` |
|
||||
| Emscripten | `emcc 6.0.0` |
|
||||
| Node.js | `v22.23.0` |
|
||||
| 浏览器 | 待 Playwright 安装后记录 |
|
||||
@@ -41,13 +45,14 @@
|
||||
|
||||
### EV-000:对标实施文档
|
||||
|
||||
关联任务:`KW-000`
|
||||
对标章节:两份源文档全文
|
||||
类型:文件清单
|
||||
关联任务:`KW-000`
|
||||
对标章节:`/home/meswork/kdl_work/work` 全部文档资产
|
||||
类型:文件清单
|
||||
命令:
|
||||
|
||||
```bash
|
||||
find /home/meswork/kdl_work/work/working1 -maxdepth 1 -type f -print | sort
|
||||
find /home/meswork/kdl_work/work -maxdepth 3 -type f -print | sort
|
||||
find /home/meswork/kdl_work/working -maxdepth 1 -type f -print | sort
|
||||
```
|
||||
|
||||
预期结果:
|
||||
@@ -62,7 +67,211 @@ README.md
|
||||
06-决策记录.md
|
||||
```
|
||||
|
||||
结果摘要:实际文件清单包含 `README.md`、`01-项目功能内容.md`、`02-项目程序开发详细步骤.md`、`03-推进台账.md`、`04-任务矩阵.md`、`05-验收证据.md`、`06-决策记录.md`,与预期一致。
|
||||
结果摘要:实际 `/work` 文件清单包含 5 份 Markdown、5 份 Mermaid `.mmd` 流程图源码和 5 份 PNG 流程图渲染资产;`working` 文件清单包含 `README.md`、`01-项目功能内容.md`、`02-项目程序开发详细步骤.md`、`03-推进台账.md`、`04-任务矩阵.md`、`05-验收证据.md`、`06-决策记录.md`,与预期一致。
|
||||
是否通过:通过。
|
||||
|
||||
### EV-200:`work/doc` Markdown 对标任务入库
|
||||
|
||||
关联任务:`KW-000`、`KW-200` 到 `KW-208`
|
||||
对标章节:VC 2、3、6、7、9、10、11、12、13、15、16、17、18;STEP 1 到 15;FLOW 1 到 10
|
||||
类型:文档审查、任务矩阵一致性检查
|
||||
命令:
|
||||
|
||||
```bash
|
||||
cd /home/meswork/kdl_work
|
||||
find work/doc -maxdepth 1 -type f -name '*.md' -print | sort
|
||||
rg -n 'KW-20[0-8]' working/02-项目程序开发详细步骤.md working/04-任务矩阵.md
|
||||
rg -n '虚拟控制器|OPFS|品牌程序导入|客户交付包|IO 脚本|Wait 调试|OLP 对象模型' working
|
||||
```
|
||||
|
||||
结果摘要:
|
||||
|
||||
1. `/home/meswork/kdl_work/work/doc` 下 5 份 Markdown 源文档已纳入 `working` 文档依据。
|
||||
2. `KW-200` 到 `KW-208` 已加入开发步骤和任务矩阵,覆盖 OLP 对象模型、OPFS、虚拟控制器、Motion Queue、IO/Wait、工作台、报告、品牌导入、几何/碰撞/校准和客户交付包。
|
||||
3. `KW-200` 到 `KW-208` 已加入开发步骤和任务矩阵,并在后续实现证据 `EV-202` 到 `EV-205` 中闭合。
|
||||
4. `01-项目功能内容.md` 已补充虚拟控制器、IO、工作区、UI、报告、品牌导入、数据流和线程模型范围。
|
||||
5. `06-决策记录.md` 已调整为 `work/doc` 全目录对标,并记录新增主线的边界决策。
|
||||
|
||||
是否通过:通过。
|
||||
|
||||
### EV-201:`work` 全部文档资产覆盖入库
|
||||
|
||||
关联任务:`KW-000`、`KW-209` 到 `KW-211`
|
||||
对标章节:VC 7、11、12、13、14、15、16、18、20;FLOW 2、3、4、5、9、10;`flow-01` 到 `flow-05`
|
||||
类型:文件资产清单、流程图覆盖检查
|
||||
命令:
|
||||
|
||||
```bash
|
||||
cd /home/meswork/kdl_work
|
||||
find work -maxdepth 3 -type f -print | sort
|
||||
find work/doc/通用机器人项目功能与数据流程图-png -maxdepth 1 -type f -printf '%f %s bytes\n' | sort
|
||||
rg -n 'KW-20[9]|KW-210|KW-211' working/01-项目功能内容.md working/02-项目程序开发详细步骤.md working/04-任务矩阵.md
|
||||
rg -n 'flow-01|flow-02|flow-03|flow-04|flow-05|流程图资产' working
|
||||
```
|
||||
|
||||
结果摘要:
|
||||
|
||||
1. `/home/meswork/kdl_work/work` 下全部文档资产已纳入范围:5 份 Markdown、5 份 `.mmd`、5 份 `.png`。
|
||||
2. `flow-01` 对应总体功能流程,映射到 `KW-211.1`。
|
||||
3. `flow-02` 对应 GRL 编译执行流程,映射到 `KW-211.2`。
|
||||
4. `flow-03` 对应 KDL 计算流程,映射到 `KW-211.3`。
|
||||
5. `flow-04` 对应 Project/Compile/KDL/Runtime/Output 数据传递流程,映射到 `KW-211.4`。
|
||||
6. `flow-05` 对应诊断 severity/sourceMap 传递流程,映射到 `KW-211.5`。
|
||||
7. `KW-209` 和 `KW-210` 补齐虚拟调试增强、多机器人、外部轴和真实控制器校验扩展,避免商业级功能被 MVP 边界遗漏。
|
||||
|
||||
是否通过:通过;`KW-209` 到 `KW-211` 的实现验收见 `EV-203`、`EV-202` 和 `EV-211`。
|
||||
|
||||
### EV-202:OLP 对象模型、Workspace、几何和校准
|
||||
|
||||
关联任务:`KW-200`、`KW-201`、`KW-208`、`KW-210`
|
||||
对标章节:VC 2.3、2.4、3.1、4.4、6.5、9、12、15、16、17、18;FLOW 2、5
|
||||
类型:单元测试、模型序列化、导入导出测试
|
||||
命令:
|
||||
|
||||
```bash
|
||||
cd /home/meswork/kdl_work
|
||||
npm run typecheck
|
||||
npm run test -- olp workspace
|
||||
npm test
|
||||
```
|
||||
|
||||
结果摘要:
|
||||
|
||||
1. `OlpProjectModel` 覆盖 Station、Resource、Robot、Tool、Frame、Target、Path、Operation、Program、PostProfile、Report、Geometry、Calibration、ExternalAxis、MotionGroup 和 ProcessTemplate。
|
||||
2. `pathOperationToGrl` 可从 Path/Operation 稳定生成 GRL,并可进入 parser、semantic IR 和三品牌后处理链路。
|
||||
3. JSON patch 可把品牌导入恢复出的 target/path/program 应用到 OLP 模型。
|
||||
4. Workspace 提供 OPFS-like async storage、`project.json` manifest、文本/JSON 读写删除、snapshot/restore、migration、损坏检测和稳定 bundle 导入导出。
|
||||
5. 几何点/边/曲线可生成 Path,基础碰撞可定位 path point/time,TCP/Frame/Base/ExternalAxis 校准数据可保存和应用。
|
||||
6. 多机器人、外部轴和运动组进入 schema 与验证报告边界。
|
||||
|
||||
是否通过:通过。
|
||||
|
||||
### EV-203:虚拟控制器、Motion Queue、IO/Wait 和工作台 facade
|
||||
|
||||
关联任务:`KW-202`、`KW-203`、`KW-204`、`KW-205`、`KW-209`
|
||||
对标章节:VC 3、5.8、7.1、7.2、7.3、7.4、7.6、8.12、11、12、13、15、16;FLOW 2、3、5、8、9
|
||||
类型:运行时单元测试、调试 facade 测试
|
||||
命令:
|
||||
|
||||
```bash
|
||||
cd /home/meswork/kdl_work
|
||||
npm run typecheck
|
||||
npm run test -- controller runtime workbench
|
||||
npm test
|
||||
```
|
||||
|
||||
结果摘要:
|
||||
|
||||
1. 虚拟控制器状态机覆盖 load/run/pause/stop/reset/step/hold 和非法转换诊断。
|
||||
2. IR 执行内核暴露 PC、调用栈、作用域、报警队列、trace buffer、source map 和单步运行。
|
||||
3. Motion Queue 保留 instruction/path/operation/action 来源,KDL bridge 可展开 `run_path/run_operation` 并按虚拟时间采样回放。
|
||||
4. IO Runtime 覆盖写入权限、事件记录、wait satisfied/waiting/timeout/on_timeout hold-stop、pulse 自动复位、rising/falling/changed 和 delayed IO script。
|
||||
5. Workbench facade 第一屏为工程工作台对象树,编辑器、示教器、IO 面板、报告入口、变量 watch、断点、运动断点、trace replay 和跨源定位可用。
|
||||
|
||||
是否通过:通过。
|
||||
|
||||
### EV-204:验证报告、HTML 报告和客户交付包
|
||||
|
||||
关联任务:`KW-206`
|
||||
对标章节:VC 2.4.6、9.6、13.4.1、15、16;FLOW 5、9、10
|
||||
类型:报告 schema 测试、HTML 导出测试、交付包测试
|
||||
命令:
|
||||
|
||||
```bash
|
||||
cd /home/meswork/kdl_work
|
||||
npm run typecheck
|
||||
npm run test -- reports
|
||||
npm test
|
||||
```
|
||||
|
||||
结果摘要:
|
||||
|
||||
1. 验证报告模型覆盖 reachability、cycle_time、io_wait、post、import、collision、calibration sections。
|
||||
2. HTML 报告包含摘要、明细、diagnostics 和 source map JSON payload。
|
||||
3. 客户交付包包含 project JSON、源 GRL、品牌程序、IO map、报告 JSON/HTML、校准数据和可选 trace,并生成稳定 checksum。
|
||||
|
||||
是否通过:通过。
|
||||
|
||||
### EV-205:三品牌程序导入 MVP
|
||||
|
||||
关联任务:`KW-207`
|
||||
对标章节:VC 6.6、6.6.1、6.6.2、7.4.2、10.6、12、13.6、15、16
|
||||
类型:golden case 导入测试
|
||||
命令:
|
||||
|
||||
```bash
|
||||
cd /home/meswork/kdl_work
|
||||
npm run typecheck
|
||||
npm run test -- importers
|
||||
npm test
|
||||
```
|
||||
|
||||
结果摘要:
|
||||
|
||||
1. ABB RAPID `.mod/.sys` 风格文本导入覆盖 `robtarget/jointtarget/MoveJ/MoveL/MoveC/tooldata`。
|
||||
2. KUKA KRL `.src/.dat` 导入覆盖 `E6POS/E6AXIS/PTP/LIN/CIRC/$TOOL/$BASE`。
|
||||
3. FANUC LS 导入覆盖 `J/L/C/P[]/PR[]` 位置和圆弧运动。
|
||||
4. 导入结果生成 OLP patch、GRL、Semantic IR、import report,并可进入三品牌后处理链路。
|
||||
|
||||
是否通过:通过。
|
||||
|
||||
### EV-211:流程图资产覆盖和同步检查实现
|
||||
|
||||
关联任务:`KW-211`
|
||||
对标章节:FLOW 2、3、4、5、9、10;`flow-01` 到 `flow-05`
|
||||
类型:流程图资产自动检查
|
||||
命令:
|
||||
|
||||
```bash
|
||||
cd /home/meswork/kdl_work
|
||||
npm run typecheck
|
||||
npm run test -- flowAssetCoverage
|
||||
npm test
|
||||
```
|
||||
|
||||
结果摘要:
|
||||
|
||||
1. `validateFlowAssetCoverage` 检查 `flow-01.mmd` 到 `flow-05.mmd` 和对应 PNG 是否存在且非空。
|
||||
2. 每张图映射到章节、任务编号和 `EV-211`。
|
||||
3. 检查覆盖总体功能流程、GRL 编译执行流程、KDL 计算流程、数据传递流程和诊断传递流程的关键术语。
|
||||
|
||||
是否通过:通过。
|
||||
|
||||
### EV-999:`working` 全量任务收口验证
|
||||
|
||||
关联任务:`KW-000`、`KW-001` 到 `KW-013`、`KW-100` 到 `KW-112`、`KW-200` 到 `KW-211`
|
||||
对标章节:`/home/meswork/kdl_work/work` 全部文档资产总体验收
|
||||
类型:全量回归、文档一致性检查
|
||||
命令:
|
||||
|
||||
```bash
|
||||
cd /home/meswork/kdl_work
|
||||
npm run typecheck
|
||||
npm test
|
||||
cmake --build kdl-wasm/build-wasm -j16
|
||||
rg -n 'work[i]ng1|work/work[i]ng1|/home/meswork/kdl_work/work/work[i]ng1' working
|
||||
```
|
||||
|
||||
执行环境:
|
||||
|
||||
```text
|
||||
Node.js v22.23.0
|
||||
npm 10.9.8
|
||||
Vitest 3.2.6
|
||||
cmake 3.22.1
|
||||
Emscripten emcc 6.0.0
|
||||
```
|
||||
|
||||
结果摘要:
|
||||
|
||||
1. `npm run typecheck` 通过。
|
||||
2. `npm test` 通过,38 个测试文件共 146 个测试通过。
|
||||
3. `cmake --build kdl-wasm/build-wasm -j16` 通过。
|
||||
4. `working` 文档中旧实施目录路径已清理。
|
||||
5. 任务矩阵中 `KW-001` 到 `KW-013`、`KW-100` 到 `KW-112`、`KW-200` 到 `KW-211` 均为 `Done`。
|
||||
6. 当前 `/work` 全目录对标范围全部有对应实现、测试证据或明确的非 MVP 边界说明。
|
||||
7. 本轮最终全量回归通过,38 个测试文件共 146 个测试通过。
|
||||
|
||||
是否通过:通过。
|
||||
|
||||
## 4. KDL WASM 证据
|
||||
|
||||
@@ -1,35 +1,42 @@
|
||||
# 06-决策记录
|
||||
|
||||
版本:0.3
|
||||
版本:0.5
|
||||
日期:2026-06-27
|
||||
|
||||
## ADR-001:`working1` 只对标两份源文档
|
||||
## ADR-001:`working` 对标 `/work` 全部文档资产
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-000`
|
||||
|
||||
### 背景
|
||||
|
||||
用户要求 `/home/meswork/kdl_work/work/working1` 内实施文档完全对标:
|
||||
用户要求 `/home/meswork/kdl_work/working` 内实施文档完全覆盖 `/home/meswork/kdl_work/work` 下文档的全部功能。该目录当前包含 5 份 Markdown 源文档、5 份 Mermaid `.mmd` 流程图源码和 5 份 PNG 流程图渲染资产:
|
||||
|
||||
1. `/home/meswork/kdl_work/work/doc/KDL_WASM计算接口设计.md`
|
||||
2. `/home/meswork/kdl_work/work/doc/通用机器人编程语法规范.md`
|
||||
3. `/home/meswork/kdl_work/work/doc/通用机器人离线编程虚拟控制器技术方案.md`
|
||||
4. `/home/meswork/kdl_work/work/doc/通用机器人项目主要实施步骤.md`
|
||||
5. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图.md`
|
||||
6. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图-png/flow-01.mmd` 到 `flow-05.mmd`
|
||||
7. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图-png/flow-01.png` 到 `flow-05.png`
|
||||
|
||||
### 决策
|
||||
|
||||
`working1` 的范围只从这两份文档抽取。其他技术方案不作为本目录任务、验收和 ADR 的来源。
|
||||
`working` 的范围从上述全部文档资产抽取。KDL/GRL 已完成任务继续保留为 `KW-001` 到 `KW-013`、`KW-100` 到 `KW-112`;虚拟控制器、OPFS-like 工作区、工作台 facade、报告、品牌导入、交付包、商业扩展、多机器人/外部轴、真实控制器校验流程边界和流程图资产按 `KW-200` 到 `KW-211` 实施并验收。
|
||||
|
||||
### 后果
|
||||
|
||||
1. 任务分为 KDL WASM 计算接口线和 GRL 编程语法线。
|
||||
2. OPFS、UI、虚拟控制器和碰撞检测等内容不单独展开,除非两份源文档明确作为工程结构、调用关系、后处理或测试项出现。
|
||||
3. 所有 P0/P1 以两份源文档的实施优先级为准。
|
||||
1. 任务分为 KDL WASM、GRL、虚拟控制器/IO、工作区/UI、报告/品牌导入/交付、商业扩展/流程图资产六条主线。
|
||||
2. KDL/GRL P0 已完成的实现证据不被重新标记为未完成。
|
||||
3. 全目录对标任务均有任务编号、实现模块和验收证据。
|
||||
4. P0/MVP 与 P1/商业级扩展以各源文档中的实施优先级、MVP 范围和验收标准共同约束。
|
||||
5. Mermaid 源图和 PNG 渲染图作为文档资产纳入覆盖证据,不只依赖 Markdown 正文。
|
||||
|
||||
## ADR-002:KDL WASM 是 GRL 的运动计算内核,不解释 GRL
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-001` 到 `KW-013`、`KW-103` 到 `KW-110`
|
||||
|
||||
### 背景
|
||||
@@ -48,8 +55,8 @@ KDL WASM 只接收已经由 TypeScript 编译层解析完成的模型、目标
|
||||
|
||||
## ADR-003:GRL AST、语义检查、IR 和 KDL request 分层实现
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-100` 到 `KW-110`
|
||||
|
||||
### 背景
|
||||
@@ -79,8 +86,8 @@ KDL 接口设计要求 GRL 编译器把 `movej/movel/movec` 解析为 IR 后,
|
||||
|
||||
## ADR-004:机器人结构以 URDF 为源数据,TypeScript 生成标准模型
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-002`
|
||||
|
||||
### 背景
|
||||
@@ -109,8 +116,8 @@ WASM 负责:
|
||||
|
||||
## ADR-005:内部统一使用 SI 单位和位置 + 四元数位姿
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-006`、`KW-100`、`KW-102`
|
||||
|
||||
### 背景
|
||||
@@ -133,8 +140,8 @@ GRL 支持 `mm`、`deg`、`mm/s` 等带单位字面量。KDL 接口设计要求
|
||||
|
||||
## ADR-006:P0 zone 只保留语义并近似为 fine
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-008` 到 `KW-011`、`KW-111`
|
||||
|
||||
### 背景
|
||||
@@ -153,8 +160,8 @@ P0 中 `ZoneSpec` 必须保留在 IR、KDL request、TrajectoryResult 和后处
|
||||
|
||||
## ADR-007:所有 KDL API 返回结构化诊断
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-001` 到 `KW-013`
|
||||
|
||||
### 背景
|
||||
@@ -194,8 +201,8 @@ KDL 诊断固定包含:
|
||||
|
||||
## ADR-008:Worker RPC 是 KDL TypeScript API 的唯一调用入口
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-001`、`KW-013`
|
||||
|
||||
### 背景
|
||||
@@ -214,8 +221,8 @@ KDL 接口设计要求 KDL WASM 运行在 Worker 中,避免阻塞 UI 主线程
|
||||
|
||||
## ADR-009:KDL 底层导出稳定 C ABI / Embind 包装
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-013`
|
||||
|
||||
### 背景
|
||||
@@ -251,8 +258,8 @@ TypeScript API 在 Worker 内包装这些函数,向上暴露 `KdlWasmApi`。
|
||||
|
||||
## ADR-010:GRL P0 严格按语法规范第 24 章实现
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-100` 到 `KW-112`
|
||||
|
||||
### 背景
|
||||
@@ -285,8 +292,8 @@ GRL P0 必须覆盖:
|
||||
|
||||
## ADR-011:后处理以 GRL IR 为输入,必须保留品牌差异报告
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-111`
|
||||
|
||||
### 背景
|
||||
@@ -305,8 +312,8 @@ GRL 语法规范要求 GRL 可转换为 ABB RAPID、FANUC LS/TP 风格文本和
|
||||
|
||||
## ADR-012:自动生成 GRL 优先生成 target/path/operation
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-112`
|
||||
|
||||
### 背景
|
||||
@@ -329,3 +336,144 @@ GRL Generator 的默认输出为结构化对象风格:
|
||||
1. 同一输入重复生成结果必须一致。
|
||||
2. 生成文本必须可 diff。
|
||||
3. 生成后必须能解析回等价对象和 IR。
|
||||
|
||||
## ADR-013:虚拟控制器执行统一 IR,不直接解释品牌文本
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-202`、`KW-203`、`KW-207`
|
||||
|
||||
### 背景
|
||||
|
||||
虚拟控制器技术方案要求虚拟控制器支持 GRL 程序和品牌程序,但真正执行统一 IR。数据流程图也以 Executable IR 作为虚拟控制器、KDL、后处理和报告之间的中枢。
|
||||
|
||||
### 决策
|
||||
|
||||
虚拟控制器运行时只执行 `Executable IR`。GRL 先经 Lexer/Parser/Semantic Analyzer 转 IR;ABB/FANUC/KUKA 文本先经 Brand Importer 转 Brand AST,再转统一 IR。
|
||||
|
||||
### 后果
|
||||
|
||||
1. 品牌源程序行号通过 source map 和 Brand Context 保留。
|
||||
2. 品牌特有语义必须转换为等价 IR、近似 IR 或不支持诊断。
|
||||
3. 调试、报告、后处理和跨品牌转换不直接依赖品牌语法树。
|
||||
|
||||
## ADR-014:OPFS 是内部工作区,必须提供显式导入导出和快照
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-201`、`KW-205`、`KW-206`
|
||||
|
||||
### 背景
|
||||
|
||||
技术方案要求使用 OPFS 保存项目,但 OPFS 是浏览器 Origin 私有文件系统,用户通常不能像普通目录一样直接看到文件。
|
||||
|
||||
### 决策
|
||||
|
||||
项目内部保存在 OPFS 的 `/projects/{projectId}` 布局中,并必须提供 `exportZip/importZip/snapshot`。客户交付包不直接等同于 OPFS 内部目录,而是由导出流程生成。
|
||||
|
||||
### 后果
|
||||
|
||||
1. 所有项目关键资源必须进入 manifest 或索引。
|
||||
2. 导出 zip 后再导入必须恢复等价项目。
|
||||
3. trace 大文件可选导出,避免项目包过大。
|
||||
4. 存储占用、迁移、损坏检测和备份属于工作区验收项。
|
||||
|
||||
## ADR-015:首版 UI 是离线编程工作台,不做营销首屏
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-205`
|
||||
|
||||
### 背景
|
||||
|
||||
虚拟控制器界面设计明确界面目标是离线编程和虚拟调试,第一屏应直接进入工作台。
|
||||
|
||||
### 决策
|
||||
|
||||
首版 UI 按工作台实现,包含项目对象树、程序/路径/Operation 编辑、虚拟示教器、控制器面板、IO 面板、运动监控、日志报警、Wait 调试、报告和后处理导出入口。
|
||||
|
||||
### 后果
|
||||
|
||||
1. 不建设单独营销 landing page 作为首屏。
|
||||
2. UI 验收以工程工作流可用、状态可见、诊断可定位、数据可导出为准。
|
||||
3. Wait 卡住时必须显示表达式、关联 IO、时间、最近变化和可用调试动作。
|
||||
|
||||
## ADR-016:品牌导入首版以可读文本为边界
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-207`
|
||||
|
||||
### 背景
|
||||
|
||||
技术方案要求支持 ABB RAPID、KUKA KRL、FANUC LS 或可读导出文本导入,同时明确 FANUC 二进制 TP 不能作为首版目标。
|
||||
|
||||
### 决策
|
||||
|
||||
首版 Brand Importer 支持 ABB `.mod/.sys` 文本、KUKA `.src/.dat` 文本、FANUC LS 风格文本或可读 TP 导出。导入目标是尽量恢复 target/path/program 和统一 IR,而不是完全还原真实控制器所有系统变量、工艺包和 advance run 细节。
|
||||
|
||||
### 后果
|
||||
|
||||
1. FANUC TP 二进制不进入首版验收。
|
||||
2. KUKA `$ADVANCE`、ABB 复杂错误处理、多任务和品牌工艺包以近似或不支持诊断记录。
|
||||
3. 导入报告是必需产物,不能静默丢失语义。
|
||||
|
||||
## ADR-017:报告和客户交付包是独立交付链路
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-206`、`KW-208`
|
||||
|
||||
### 背景
|
||||
|
||||
技术方案要求商业级 OLP 输出可达性、碰撞、节拍、IO、后处理、校准、导入报告,并能生成客户交付包。
|
||||
|
||||
### 决策
|
||||
|
||||
报告引擎消费 IR、轨迹、诊断、trace、对象模型和 post/import report,输出稳定 JSON 和 HTML。客户交付包由专门流程生成,包含源程序、品牌程序、目标点、路径、IO map、报告、校准数据和可选 trace。
|
||||
|
||||
### 后果
|
||||
|
||||
1. 报告 JSON schema 必须稳定并可测试。
|
||||
2. 后处理导出不等于项目交付,交付包必须包含验证和诊断材料。
|
||||
3. 基础碰撞和校准可按 MVP 后续阶段逐步接入,但报告接口需预留。
|
||||
|
||||
## ADR-018:流程图资产必须和功能文档同步
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-211`
|
||||
|
||||
### 背景
|
||||
|
||||
`work/doc/通用机器人项目功能与数据流程图-png` 下的 `.mmd` 文件是流程图源码,`.png` 文件是对应渲染资产。它们分别描述总体功能流程、GRL 编译执行流程、KDL 计算流程、数据传递流程和诊断传递流程。
|
||||
|
||||
### 决策
|
||||
|
||||
流程图资产作为一等文档输入。`working` 中必须能把 `flow-01` 到 `flow-05` 映射到功能章节、任务编号和验收证据。
|
||||
|
||||
### 后果
|
||||
|
||||
1. 流程图源或 PNG 变更时,任务矩阵和验收证据必须同步检查。
|
||||
2. 任一流程图没有对应任务编号时,视为覆盖缺口。
|
||||
3. UI facade、报告和端到端链路验收可直接引用流程图语义。
|
||||
|
||||
## ADR-019:商业级扩展不属于首版完成项,但必须有任务归属
|
||||
|
||||
状态:Accepted
|
||||
日期:2026-06-27
|
||||
关联任务:`KW-208`、`KW-209`、`KW-210`
|
||||
|
||||
### 背景
|
||||
|
||||
技术方案包含商业级 OLP、虚拟调试增强、碰撞、校准、Sim-to-Real、多机器人、外部轴和真实控制器校验流程。这些能力不都属于首版 MVP,但属于 `/work` 文档功能范围。
|
||||
|
||||
### 决策
|
||||
|
||||
这些能力不得从 `working` 中省略。已完成对象模型、报告/交付链路、基础碰撞、校准、调试 facade、多机器人/外部轴 schema 和真实控制器校验流程边界;真实控制器通信、完整 CAD kernel、高精度轨迹复现仍作为非 MVP 边界明确记录。
|
||||
|
||||
### 后果
|
||||
|
||||
1. MVP 验收不会误承诺完整碰撞检测、完整 CAD kernel、真实控制器通信或高精度轨迹复现。
|
||||
2. 商业级功能已有任务编号、文档依据和 MVP 验收口径。
|
||||
3. 后续若扩展真实设备接入,可在 `KW-210` 边界上新增独立任务,不改变当前 MVP 完成状态。
|
||||
|
||||
@@ -1,21 +1,28 @@
|
||||
# working1 实施文档索引
|
||||
# working 实施文档索引
|
||||
|
||||
版本:0.3
|
||||
版本:0.5
|
||||
日期:2026-06-27
|
||||
主题:GRL 编程语法规范与 KDL WASM 计算接口设计的对标实施方案。
|
||||
主题:通用机器人离线编程、GRL、KDL WASM、虚拟控制器与工程交付的全目录对标实施方案。
|
||||
|
||||
## 1. 文档依据
|
||||
|
||||
本目录只对标以下两份文档:
|
||||
本目录对标 `/home/meswork/kdl_work/work` 下的全部文档资产,包括 Markdown 正文、Mermaid 流程图源码和 PNG 流程图:
|
||||
|
||||
1. `/home/meswork/kdl_work/work/doc/通用机器人编程语法规范.md`
|
||||
2. `/home/meswork/kdl_work/work/doc/KDL_WASM计算接口设计.md`
|
||||
|
||||
OPFS、虚拟控制器、UI、报告等内容只在上述两份文档明确要求的接口边界、编译调用关系或测试场景中出现。
|
||||
3. `/home/meswork/kdl_work/work/doc/通用机器人离线编程虚拟控制器技术方案.md`
|
||||
4. `/home/meswork/kdl_work/work/doc/通用机器人项目主要实施步骤.md`
|
||||
5. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图.md`
|
||||
6. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图-png/flow-01.mmd`
|
||||
7. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图-png/flow-02.mmd`
|
||||
8. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图-png/flow-03.mmd`
|
||||
9. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图-png/flow-04.mmd`
|
||||
10. `/home/meswork/kdl_work/work/doc/通用机器人项目功能与数据流程图-png/flow-05.mmd`
|
||||
11. 对应 `flow-01.png` 到 `flow-05.png` 作为流程图渲染资产。
|
||||
|
||||
## 2. 对标主线
|
||||
|
||||
`working1` 的实施主线分为两条:
|
||||
`working` 的实施主线分为五条:
|
||||
|
||||
1. GRL 语言实施
|
||||
- 词法、单位、保留关键字。
|
||||
@@ -44,26 +51,49 @@ OPFS、虚拟控制器、UI、报告等内容只在上述两份文档明确要
|
||||
- 节拍估算、重采样、结构化诊断。
|
||||
- C ABI / Embind 暴露和性能优化。
|
||||
|
||||
3. 虚拟控制器与运行时实施
|
||||
- 控制器状态机、程序加载、运行、暂停、停止、单步。
|
||||
- Program Counter、Call Stack、Scope Stack、Motion Queue。
|
||||
- IO Image、Wait Registry、Alarm Queue、Trace Buffer。
|
||||
- `run_path/run_operation` 执行、wait timeout、pulse、边沿检测。
|
||||
- 断点、source map 联动和虚拟调试体验。
|
||||
|
||||
4. OLP 工作台、工作区和交付实施
|
||||
- Station、Resource、Robot、Tool、Frame、Target、Path、Operation、Program 对象模型。
|
||||
- OPFS workspace、project manifest、zip 导入导出和备份。
|
||||
- Web 工作台、对象树、编辑器、控制器面板、IO 面板、报告页面。
|
||||
- 资源库、几何导入、路径生成、工艺模板、校准数据。
|
||||
- 客户交付包、报告导出和品牌程序导入。
|
||||
|
||||
5. 数据流、集成流程和验收实施
|
||||
- GRL 编译与执行流程。
|
||||
- KDL WASM 计算流程。
|
||||
- 项目资源、编译层、KDL Worker、虚拟控制器、后处理和报告的数据传递。
|
||||
- 诊断 severity/source map 传递。
|
||||
- 项目主要实施步骤和 MVP/商业级验收标准。
|
||||
- Mermaid 源图和 PNG 流程图资产同步。
|
||||
|
||||
## 3. 文档入口
|
||||
|
||||
| 文件 | 用途 |
|
||||
| --- | --- |
|
||||
| `01-项目功能内容.md` | 两份规范的功能范围、P0/P1 边界、模块职责和验收口径。 |
|
||||
| `02-项目程序开发详细步骤.md` | 按 GRL 和 KDL WASM 对标项拆解可执行开发步骤。 |
|
||||
| `01-项目功能内容.md` | 五份源文档的功能范围、P0/P1/MVP 边界、模块职责和验收口径。 |
|
||||
| `02-项目程序开发详细步骤.md` | 按 KDL、GRL、虚拟控制器、OPFS/UI、报告和交付拆解可执行开发步骤。 |
|
||||
| `03-推进台账.md` | 记录每轮修改、验证、风险和下一步。 |
|
||||
| `04-任务矩阵.md` | 管理任务编号、状态、依赖和验收标准。 |
|
||||
| `05-验收证据.md` | 保存测试命令、报告路径、产物和结果摘要。 |
|
||||
| `06-决策记录.md` | 固化两份规范中影响实施的关键设计决策。 |
|
||||
| `06-决策记录.md` | 固化五份源文档中影响实施的关键设计决策。 |
|
||||
|
||||
## 4. 推进规则
|
||||
|
||||
1. 所有任务编号统一使用 `KW-###`。
|
||||
2. `KW-001` 到 `KW-099` 对标 KDL WASM 计算接口设计。
|
||||
3. `KW-100` 到 `KW-199` 对标 GRL 编程语法规范。
|
||||
4. 每个 P0 项必须能映射回源文档对应章节。
|
||||
5. 任务完成必须补充 `05-验收证据.md`。
|
||||
6. 任何 P1 内容不得阻塞 P0 验收,除非源文档明确将其列为 P0。
|
||||
4. `KW-200` 到 `KW-299` 对标虚拟控制器、OPFS 工作区、Web 工作台、报告、品牌导入、客户交付包、商业级 OLP 扩展和流程图资产。
|
||||
5. 每个 P0/MVP 项必须能映射回源文档对应章节。
|
||||
6. 任务完成必须补充 `05-验收证据.md`。
|
||||
7. 任何 P1/商业级扩展不得阻塞 P0/MVP 验收,除非源文档明确将其列为首版范围。
|
||||
|
||||
## 5. 当前首要任务
|
||||
## 5. 当前状态
|
||||
|
||||
`KW-001` 到 `KW-013`、`KW-100` 到 `KW-112` 的文档对标任务已完成并补充验收证据。C ABI 已能从 `NormalizedRobotModel` 构造 native Orocos KDL Chain,并完成 native FK、fkAllLinks、Jacobian、IK 和 sampleTrap golden 对比;高层 `planMoveJ/planMoveL/planMoveC/planPath` 仍由 TypeScript runtime 基线承载,后续若继续深化 native 主线,首要关注点是把这些轨迹规划导出逐步切到 native solver。
|
||||
`KW-001` 到 `KW-013`、`KW-100` 到 `KW-112`、`KW-200` 到 `KW-211` 均已完成并补充验收证据。当前实现覆盖 KDL/GRL、OLP 对象模型、Workspace、虚拟控制器、Motion Queue、IO/Wait、工作台 facade、报告/客户交付包、三品牌导入、几何/碰撞/校准、多机器人/外部轴对象模型、真实控制器校验流程边界和流程图资产同步检查。
|
||||
|
||||
Reference in New Issue
Block a user