Vincenzo Ceccarelli GrimaldiCluster · Physical AI
Menu

Physical AI & Robotics · architecture

Target architecture

One modular stack, not a collection of demos. Probabilistic layers propose; deterministic layers refuse. The column “today” says where each layer exists — or that it does not.

  1. PERCEIVE
  2. MODEL
  3. PLAN
  4. ACT
  5. VERIFY
  6. RECOVER
  7. LEARN
Target stack: eleven layers and what occupies each todayPerception: robot-lidar-fusion. World model: palletizer. Task planner: palletizer, palletizer-mcp, palletizer-native, palletizer-construction. Motion planner: palletizer. Simulator: palletizer-simulation. Safety / constraint engine: palletizer. Robot controller: palletizer, palletizer-ros2. Actuation: not built. Telemetry: palletizer. Failure analysis: not built. Learning: not builtPROBABILISTIC01 Perceptionrobot-lidar-fusi…robot-lidar-fusionPROBABILISTIC02 World modelpalletizerpalletizerPROBABILISTIC03 Task plannerpalletizerpalletizerpalletizer-mcppalletizer-mcppalletizer-nativepalletizer-nativepalletizer-const…palletizer-constructionPROBABILISTIC04 Motion plannerpalletizerpalletizerDETERMINISTIC05 Simulatorpalletizer-simul…palletizer-simulationDETERMINISTIC06 Safety / constraintspalletizerpalletizerDETERMINISTIC07 Robot controllerpalletizerpalletizerpalletizer-ros2palletizer-ros2PHYSICAL08 Actuationnot builtTELEMETRY09 TelemetrypalletizerpalletizerTELEMETRY10 Failure analysisnot builtPROBABILISTIC11 Learningnot builtGATE · MODELS STOP HEREprobabilistic — proposesdeterministic — refusesnot built / physical
Layers a register entry occupies today are named beside it; hatched means nothing in the cluster occupies that layer yet. The bracket marks the deterministic gate.

Stack

LayerNatureRoleToday
01 Perceptionprobabilistic — may proposeSensor fusion, detection, tracking, uncertainty.robot-lidar-fusion 0.4.0 (projection, calibration, occlusion).
02 World modelprobabilistic — may proposeScene state, object poses, pallet state, uncertainty over both.Pallet state in palletizer planning; scene model not built.
03 Task plannerprobabilistic — may proposeOrder sequencing, pattern selection, mixed-SKU placement.palletizer optimizer, MissionPlanner, PatternManager.
04 Motion plannerprobabilistic — may proposeCollision-free trajectories for the chosen placement.MotionController tests exist; no planner benchmark.
05 Simulatordeterministic — may refuseExecutes the plan in physics before any actuator moves.core/simulation (OPC UA robot mock) and browser Rapier demos; KPI harness pending.
06 Safety / constraint enginedeterministic — may refuseRefuses anything outside limits. Cannot be argued with by a model.HazardManager, FaultDetector; authorisation boundary by contract with NeuralBridge.
07 Robot controllerdeterministic — may refuseVendor SDK or ROS 2 driver behind the RobotInterface.RobotInterface abstraction; a UR bridge and ROS 2 bridge examples; no certified vendor driver.
08 ActuationphysicalArm, gripper, conveyor.None owned. Simulation first.
09 TelemetrytelemetryEvery cycle, fault and intervention as a typed event.CommunicationInterface publishes telemetry; KPI schema on /palletizer.
10 Failure analysistelemetryClassify every failed pick and intervention by cause.Not built.
11 Learningprobabilistic — may proposeImprove planners from telemetry; never touch safety limits.Not built. Research program on /research.

Safety gate

Every physical action passes all six steps. A model may participate in PLAN; from SIMULATE onwards the steps are deterministic and the model has no say. Authorisation is a human or a certified runtime, recorded with provenance. No LLM or learned model may bypass safety controls, command an unrestricted actuator, modify a safety limit without authorisation, or silently modify production behaviour.

  1. PLAN
  2. SIMULATE
  3. VALIDATE
  4. AUTHORIZE
  5. EXECUTE
  6. VERIFY
Agent toolAllowedNote
generate_planyesPropose a pallet plan or inspection plan. Output is a candidate, not a command.
analyze_sceneyesRead perception output and describe it.
propose_actionyesEnter the gate at PLAN. Nothing after VALIDATE is reachable from here.
retrieve_procedureyesLook up a documented procedure.
diagnose_failureyesExplain a failed pick or intervention from telemetry.
optimize_scheduleyesRe-order work; the result is validated before it is scheduled.
generate_simulation_scenarioyesCreate test scenarios for the simulator.
command_actuatornoNever. Actuators are reached only through the gate after AUTHORIZE.
modify_safety_limitnoNever without human authorisation recorded in the decision log.
modify_production_behaviornoNever silently. Every change is an authorised, logged deployment.
bypass_gatenoDoes not exist as a tool. Absence is the control.

Every allowed tool carries a schema, authentication, authorisation, deterministic validation, a timeout, provenance, logging, failure behaviour and test coverage. A tool missing one of these is not deployed.

Robot-agnostic by evidence

Abstraction has a cost. An abstraction is written only if it passes at least two of four tests:

  1. Multiple deployments need it.
  2. It reduces integration time.
  3. It reduces vendor dependence.
  4. It creates a defensible platform capability.
CandidateTests passedPosition
Robot arms3 / 4RobotInterface exists. Vendor dependence reduced only once two drivers exist.
Grippers2 / 4GripperController exists; second gripper type not yet needed.
Cameras1 / 4Single intrinsics model. Do not abstract further yet.
LiDAR3 / 4Shared across palletizing and inspection — robot-lidar-fusion is the abstraction.
Force sensors0 / 4No deployment needs it. Not abstracted.
PLCs1 / 4Only when a customer cell requires an interlock handshake.
Safety systems4 / 4One authorisation boundary, by contract. The only abstraction that is mandatory.
Conveyors1 / 4Not abstracted until a second conveyor type appears.
End effectors2 / 4Folded into the gripper abstraction for now.