10/06/2026
The planner thinks in seconds. The controller thinks in milliseconds.
Agentic AI and Physical AI get used interchangeably, and they describe different things. Agentic is about autonomy: how much a system sets goals, plans, and adapts on its own. Physical is about where it acts: in the real world, with noisy sensors, imperfect actuators, and contact.
A robot that takes "clear the table," breaks it into steps, and hands each step to a vision-language-action model is both. A fleet scheduler dividing jobs across ten robots is agentic and never touches a motor. A learned locomotion policy keeping a quadruped upright on gravel is physical AI with no goals of its own.
Inside a robot that is both, the useful split is by layer. The task layer holds goals, breaks them into steps, and replans when something goes wrong, using LLM-based planners, classical task planners, or tool-calling agents. The ex*****on layer turns sensor data into a state estimate and turns commanded motion into actuation that survives friction, payload changes, and contact.
The real engineering work is at the boundary between those layers. Four things show up there:
Timescale. An LLM planner can take a second or more to return a plan. Joint controllers commonly run at 1 kHz or faster. The world keeps moving while the plan is generated, so the ex*****on layer has to treat every plan as possibly stale.
Feasibility. The planner works from an abstraction. "Pick up the cup" assumes the cup is reachable, graspable, and still where it was last seen. Something has to check that against the current state estimate and the robot's real limits before motion starts.
Authority. When the plan and the physics disagree, the lower layer needs the final say on collision, force, and speed limits. The planner can request a motion. The control layer has to be able to reject it.
Failure reporting. "Grasp failed" gives the planner nothing to replan with. "Object slipped during lift" and "target not found in workspace" call for different recoveries, and the planner can only choose well if ex*****on tells it which one happened.
The task layer decides what is worth doing. The ex*****on layer finds out what is possible. Systems that hold up in deployment tend to define the contract between them explicitly: what the planner can ask for, what ex*****on guarantees, and what comes back when it can't deliver.
Where does that contract live in your stack: a behavior tree, a state machine, or a skill library the planner calls directly?