Skip to content
All research
Research 05Active research · prototype

Physics-Grounded Action Grammars

Robot skills as typed atoms with preconditions and effects — so a failed step can be repaired locally.

Ongoing research · public prototype on GitHub

System overview

  1. 01Task programme
  2. 02Atoms + dependency graph
  3. 03Executor
  4. 04Effect monitor
  5. 05Local repair
Simplified flow of Action grammars, following the published description.

The problem

When one step of a long manipulation task fails — a block knocked over, a grasp slipping — most systems replan from scratch. If each skill declared what it needs and what it produces, the robot could work out exactly which earlier steps are invalidated and redo only those.

Approach

  1. 01Each skill is an atom c = (skill, objects, pre, effect, Ω, Σ); task programmes are sequences of atoms with automatically derived dependency graphs.
  2. 02An executor monitors effects and performs dependency-local repair: when an effect goes stale, only the affected chain is re-executed.
  3. 03An evaluation harness compares local repair with full replanning under injected failures.
  4. 04Supporting infrastructure includes hand–eye calibration, atom tagging for teleoperated demonstrations, a PyBullet Franka scene with a ROS 2 bridge, an Isaac Lab grasp scene and an early MuJoCo scaffold for a humanoid platform.

Evidence

Current results come from a kinematic mock environment with injected failures and from PyBullet simulation. They test the grammar and executor logic, not physical manipulation, and are not reported here as research findings.

Scope and limitations

Evolving prototype. Not yet published or physically validated; hardware scripts (calibration, Isaac Lab) are written but await full testing.

Simulated Franka Panda stacking three coloured blocks in PyBullet

Simulated Franka Panda stacking three coloured blocks in PyBullet

Simulated Franka Panda stacking three coloured blocks in PyBullet. Screenshot from the project repository.