Files
2026-06-27 08:45:38 -04:00

59 lines
1.4 KiB
Plaintext

flowchart TD
A[项目资源] --> A1[robots/robot.urdf]
A --> A2[targets/*.json]
A --> A3[paths/*.json]
A --> A4[operations/*.json]
A --> A5[programs/*.grl]
A --> A6[io/io_map.json]
A --> A7[post/*.profile.json]
A5 --> B[GRL Lexer]
B --> C[GRL Parser]
C --> D[GRL AST]
D --> E[Symbol Table]
E --> F[Semantic Analyzer]
A1 --> G[URDF Parser]
G --> H[NormalizedRobotModel]
H --> I[KDL createRobotFromModel]
I --> J[RobotHandle]
F --> K[Executable IR]
K --> L{IR 指令类型}
L -->|MotionInstruction| M[生成 MotionSegmentRequest]
L -->|run_path| N[展开 Path points/events]
L -->|run_operation| O[展开 start_action + path + end_action]
L -->|IO / wait / pulse| P[虚拟控制器 IO Service]
L -->|if/for/switch/call/return| Q[虚拟控制器流程执行]
L -->|alarm / raise / try/catch| R[虚拟控制器报警与异常处理]
N --> M
O --> N
M --> S[KdlWorkerClient]
S --> T[kdl.worker.ts]
T --> U[KDL WASM API]
U --> U1[planMoveJ]
U --> U2[planMoveL]
U --> U3[planMoveC]
U --> U4[planPath]
U --> U5[validatePath]
U1 --> V[TrajectoryResult]
U2 --> V
U3 --> V
U4 --> W[PathPlanResult]
U5 --> X[PathValidationResult]
V --> Y[Motion Queue / 轨迹回放]
W --> Y
X --> Z[可达性与诊断报告]
K --> AA[Post Processor]
AA --> AA1[ABB RAPID]
AA --> AA2[FANUC LS/TP 风格文本]
AA --> AA3[KUKA KRL]
AA --> AA4[转换报告]