Upload project files

This commit is contained in:
wangdequan
2026-06-28 08:20:33 +08:00
parent f0e96308d2
commit 84a5b54195
162 changed files with 14070 additions and 31381 deletions

View File

@@ -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-200OLP 对象模型和 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-201OPFS 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-203Motion 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-205Web 工作台和调试界面
目标:
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-102URDF/标准模型和 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-201OLP 对象模型和 OPFS 工作区。
11. KW-202 + KW-203虚拟控制器状态机、执行内核和 Motion Queue。
12. KW-204虚拟 IO、wait、pulse 和 IO 脚本。
13. KW-205Web 工作台和调试界面。
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
```