Skip to main content

Planning pipeline

LongTAMP avoids one global constraint graph containing every grasp combination. GraspSequencePlanner instead builds a graph for the current phase, solves it, updates grasp state, and advances.

YAML → scene + constraints → phase-local graph → target configuration
→ HPP solve → optimize → time-parameterize → log → next phase

For a sequence of N manipulation phases, this makes graph construction scale linearly with N rather than with the factorial number of grasp combinations. Each phase still sees the complete shared scene, so robot-robot, robot-object, and environment collisions remain part of planning.

The key components are:

ComponentResponsibility
SceneBuilderLoads robots, objects, and the environment
ConstraintBuilderCreates geometric and kinematic constraints
SequentialConstraintGraphFactoryBuilds the minimal graph for one phase
GraspStateTrackerTracks which gripper currently holds which handle
ConfigGeneratorProjects feasible targets through graph edges
PathRecorderCaptures paths and phase metadata for replay

Every planning run can emit structured events for phase starts, edge attempts, solver outcomes, target configurations, and saved paths. This makes a failure inspectable at the transition where it occurred.