Architecture and workflows¶
The diagrams provide one system-wide view and two complementary views of the planning scope:
View |
Purpose |
|---|---|
Confi-GRIP target system architecture |
High-level interaction of the components from AP 2 to AP 7 |
Grasp-process planning and validation |
H&W-relevant planning scope, shown as a structural view and an execution flow |
Confi-GRIP target system architecture¶
This high-level target architecture shows how the Confi-GRIP components from AP 2 to AP 7 interact. It focuses on planning orchestration, simulation, training, data management, presentation, and the real demonstrator. It is not a complete deployment or responsibility model. An arrow indicates communication or data flow, not necessarily a direct Python method call.
%% Confi-GRIP component architecture.
%%{init: {'theme':'base','themeCSS':'svg { background-color: #ffffff; }','themeVariables':{
'background':'#ffffff',
'fontFamily':'ui-sans-serif, system-ui, sans-serif',
'fontSize':'14px',
'textColor':'#1f2933',
'lineColor':'#616e7c',
'clusterBkg':'#fbfbfa',
'clusterBorder':'#c1c7cd',
'edgeLabelBackground':'#ffffff'
}}}%%
flowchart TB
subgraph AP6["AP 6 · Presentation Layer"]
UI["UI / web frontend"]
end
subgraph AP2["AP 2 · Interfaces and methods for gripper and simulation control"]
SEQ["Planning Sequence API"]
JOBS[("Job Store<br/>Job type · status · current step<br/>Input and result references")]
end
subgraph COMPONENTS["Components invoked by AP 2"]
subgraph PLANNING["Planning and checking · replaceable backends"]
GRASP["Gripper and grasp planning<br/>GraspGenX / custom AI model"]
COLLISION["Grasp-candidate<br/>collision checking · optional per workflow"]
GRASP_VIS["Grasp-pose<br/>visualization"]
PATH["Motion planning<br/>cuRoboV2 / custom AI model"]
end
subgraph EVALUATION["Simulation and evaluation"]
SIM["AP 3 · High-fidelity simulation<br/>Training-data generation · candidate validation<br/>Unity / ManiSkill · Newton / MuJoCo · IWU"]
VALIDATION["Validation<br/>produces validation report"]
VIDEO["Video rendering"]
end
end
subgraph AP54["AP 4 · Training and assets / AP 5 · Result delivery"]
MDB[("MongoDB<br/>Raw data · feature store")]
TRAINING["Offline training H&W<br/>Batch"]
ASSETS[("Asset Store<br/>Models/checkpoints · grippers · scenes<br/>Grasp objects · robots<br/>Components load directly via asset_id / URI<br/>Retrieval edges omitted")]
TELEMETRY["Telemetry ingest / fan-out<br/>Transport TBD"]
TB[("ThingsBoard<br/>Metrics · dashboards")]
end
subgraph AP7["AP 7 · Real World"]
LSA["LSA controller<br/>Physical demonstrator"]
end
%% synchronous / REST
UI <-->|S-01| SEQ
SEQ <-->|Job state| JOBS
SEQ <-->|"S-03-G / S-06-G"| GRASP
SEQ <-->|Collision check| COLLISION
SEQ <-->|Visualization| GRASP_VIS
SEQ <-->|"S-03-B / S-06-B"| PATH
SEQ <-->|"S-02 · Simulation job"| SIM
SEQ <-->|Validation| VALIDATION
SEQ <-->|Rendering| VIDEO
SEQ <-->|S-07| LSA
SEQ <-->|"Upload / catalog"| ASSETS
%% Simulation results are evaluated downstream.
%% Control flow and selection remain with SEQ; direct edges carry data.
SIM -.->|"Data reference · SimulationResult"| VALIDATION
SIM -.->|"Simulation artifacts · AssetRef"| VIDEO
%% asynchronous / messaging
SEQ -.->|"S-04 · Results"| TB
LSA -.->|"Publish telemetry once"| TELEMETRY
TELEMETRY -.->|Metrics| TB
TELEMETRY ==>|Raw data| MDB
TB -.->|Dashboard| UI
%% data and offline training
SIM ==>|"S-05a · Training data"| MDB
MDB ==>|Training data| TRAINING
TRAINING ==>|"Models / checkpoints"| ASSETS
classDef pres fill:#e7f6ec,stroke:#3f9c5d,stroke-width:1.5px,color:#14301f
classDef orch fill:#fdf3d7,stroke:#c8941a,stroke-width:1.5px,color:#3d2c05
classDef exec fill:#eeeff1,stroke:#78838f,stroke-width:1.5px,color:#1f2933
classDef data fill:#e2eefb,stroke:#2b7bc4,stroke-width:1.5px,color:#0f2c47
classDef real fill:#fdeaea,stroke:#cf4444,stroke-width:1.5px,color:#4a1414
class UI pres
class SEQ,JOBS orch
class SIM,GRASP,COLLISION,GRASP_VIS,PATH,VALIDATION,VIDEO,TRAINING exec
class MDB,ASSETS,TELEMETRY,TB data
class LSA real
Confi-GRIP target system architecture¶
Grasp-process planning and validation¶
These diagrams show the H&W-relevant planning chain: generate gripper-pose candidates, check them, plan the robot motion, and validate selected strategies in simulation.
Physical validation flow¶
The flow checks each candidate for collisions, plans its motion, simulates it, records failures, and ranks the results.
%% Compact target flow for the physical validation of grasp strategies.
%% Implemented interfaces: GraspPlanner, GraspCollisionChecker, MotionPlanner.
%% Simulation, validation, video rendering, and orchestration are planned.
%% Each result remains correlated through candidate_id.
%%{init: {'theme':'base','themeCSS':'svg { background-color: #ffffff; }','themeVariables':{
'background':'#ffffff',
'fontFamily':'ui-sans-serif, system-ui, sans-serif',
'fontSize':'14px',
'textColor':'#1f2933',
'lineColor':'#616e7c',
'edgeLabelBackground':'#ffffff'
}}}%%
flowchart TB
API(["Planning Sequence API<br/>runs the workflow as a job"])
WORKFLOW(["GraspPlanningWorkflow<br/>orchestrates the domain calls<br/>arrows show data flow"])
GRASP["GraspPlanner<br/>plan_grasps(request)<br/>run GraspGenX for each gripper"]
GRASP_SELECTION["CandidateEvaluator · planned<br/>evaluate backend scores<br/>and preselect candidates"]
COLLISION["GraspCollisionChecker<br/>check_grasp_collisions(request)<br/>required for physical validation"]
COLLISION_SELECTION["CandidateEvaluator · planned<br/>exclude collisions<br/>and select remaining candidates"]
MOTION["MotionPlanner<br/>plan_motion(request)"]
MOTION_FOUND{"GraspPlanningWorkflow decides:<br/>Feasible motion found?"}
SIMULATION["PhysicsSimulator<br/>simulate(request)<br/>configured perturbed rollouts"]
MOTION_REJECTION["Exclusion reason:<br/>no feasible motion"]
FINAL_EVALUATION["CandidateEvaluator · planned<br/>evaluate simulation results and exclusion reasons<br/>produce final cross-gripper ranking"]
VIDEO["VideoRenderer<br/>render(request)<br/>selected results"]
OUTPUT(["Physically validated ranking<br/>of gripper–grasp-pose combinations"])
API -->|"Job worker starts"| WORKFLOW
WORKFLOW -->|"GraspPlanningRequest<br/>object + 1..* concrete gripper designs"| GRASP
GRASP -->|"GraspPlanningResult<br/>gripper–grasp-pose combinations + reproducibility"| GRASP_SELECTION
GRASP_SELECTION -->|"Preselection"| COLLISION
COLLISION -->|"Tuple[GraspCollisionResult]"| COLLISION_SELECTION
COLLISION_SELECTION -->|"selected collision-free candidates<br/>then per candidate"| MOTION
MOTION -->|"MotionPlan or None"| MOTION_FOUND
MOTION_FOUND -->|No| MOTION_REJECTION
MOTION_FOUND -->|Yes · MotionPlan| SIMULATION
COLLISION_SELECTION -.->|"Exclusion reasons"| FINAL_EVALUATION
SIMULATION -->|"SimulationResult<br/>Lift · hold · transport · slip"| FINAL_EVALUATION
MOTION_REJECTION --> FINAL_EVALUATION
FINAL_EVALUATION -->|Ranking| OUTPUT
FINAL_EVALUATION -.->|"selected candidate_ids"| VIDEO
SIMULATION -.->|"Simulation artifacts · AssetRef<br/>via GraspPlanningWorkflow"| VIDEO
VIDEO -.->|"Tuple[AssetRef]"| OUTPUT
classDef result fill:#e7f6ec,stroke:#3f9c5d,stroke-width:1.5px,color:#14301f
classDef orch fill:#fdf3d7,stroke:#c8941a,stroke-width:1.5px,color:#3d2c05
classDef process fill:#eeeff1,stroke:#78838f,stroke-width:1.5px,color:#1f2933
classDef decision fill:#f3e8ff,stroke:#8b5cf6,stroke-width:1.5px,color:#32145f
classDef failure fill:#fdeaea,stroke:#cf4444,stroke-width:1.5px,color:#4a1414
class API,WORKFLOW orch
class OUTPUT result
class GRASP,GRASP_SELECTION,COLLISION,COLLISION_SELECTION,MOTION,SIMULATION,FINAL_EVALUATION,VIDEO process
class MOTION_FOUND decision
class MOTION_REJECTION failure
Physical validation flow for grasp strategies¶
Interfaces and adapters¶
The class diagram shows workflow interfaces and replaceable backend adapters. Solid arrows are dependencies; dashed arrows show protocol implementations.
%% Static interface view of the grasp-planning sequence.
%% Implemented in configrip-contracts: GraspPlanner, GraspCollisionChecker,
%% and MotionPlanner. The remaining interfaces and the orchestration are planned.
%% GraspPlanningWorkflow runs inside a worker of the Planning Sequence API.
%% The synchronous methods are logical worker interfaces; transport-specific job
%% handling remains in the API or adapter. The workflow coordinates the interfaces;
%% it implements no planning, simulation, validation, or rendering algorithm.
%%{init: {'theme':'base','themeCSS':'svg { background-color: #ffffff; }','themeVariables':{
'background':'#ffffff',
'fontFamily':'ui-sans-serif, system-ui, sans-serif',
'fontSize':'14px',
'primaryTextColor':'#1f2933',
'lineColor':'#616e7c'
}}}%%
classDiagram
direction LR
class GraspPlanningWorkflow {
<<planned orchestration>>
}
class GraspPlanner {
<<Protocol · implemented>>
+plan_grasps(request: GraspPlanningRequest) GraspPlanningResult
}
class GraspCollisionChecker {
<<Protocol · implemented>>
+check_grasp_collisions(request: GraspCollisionCheckRequest) Tuple~GraspCollisionResult~
}
class MotionPlanner {
<<Protocol · implemented>>
+plan_motion(request: MotionPlanningRequest) Optional~MotionPlan~
}
class PhysicsSimulator {
<<Protocol · planned>>
+simulate(request: SimulationRequest) SimulationResult
}
class CandidateEvaluator {
<<planned component>>
}
class GraspPoseVisualizer {
<<Protocol · planned>>
+render(request: GraspVisualizationRequest) Tuple~AssetRef~
}
class VideoRenderer {
<<Protocol · planned>>
+render(request: VideoRenderRequest) Tuple~AssetRef~
}
class GraspGenXAdapter
class CollisionBackendAdapter
class CuRoboAdapter
class UnityManiSkillAdapter
class NewtonMuJoCoAdapter
class HeadlessGraspRenderer
class SimulationVideoRenderer
GraspPlanningWorkflow --> GraspPlanner : Generate gripper–grasp-pose candidates
GraspPlanningWorkflow --> GraspCollisionChecker : Check candidates
GraspPlanningWorkflow --> MotionPlanner : Plan motion
GraspPlanningWorkflow --> PhysicsSimulator : Simulate motion
GraspPlanningWorkflow --> CandidateEvaluator : Evaluate and select candidates in stages
GraspPlanningWorkflow --> GraspPoseVisualizer : Render grasp poses
GraspPlanningWorkflow --> VideoRenderer : Render simulation evidence
GraspGenXAdapter ..|> GraspPlanner
CollisionBackendAdapter ..|> GraspCollisionChecker
CuRoboAdapter ..|> MotionPlanner
UnityManiSkillAdapter ..|> PhysicsSimulator
NewtonMuJoCoAdapter ..|> PhysicsSimulator
HeadlessGraspRenderer ..|> GraspPoseVisualizer
SimulationVideoRenderer ..|> VideoRenderer
Interfaces and adapters for grasp-process planning¶
Workflow steps, interface status, and data types are mapped in Using planning contracts.