Skip to main content
Open-source manipulation planning

Plan the whole mission. Move one phase at a time.

LongTAMP is a Python library for long-horizon, multi-arm task and motion planning. It turns declarative manipulation goals into collision-aware HPP paths and restartable BehaviorTree.CPP missions.

01 / SCALE

Linear sequence planning

Build a minimal constraint graph for each grasp, place, or handover phase. Planning grows with the sequence instead of enumerating every grasp combination.

02 / COORDINATE

Multi-arm, multi-object scenes

Compose several robots and free-flying objects in one mutually collision-aware model, with legal grasps supplied as data.

03 / RECOVER

Replay and resume

Crash-safe JSONL logs, path capture, checkpoints, and continuity checks keep long missions observable and restartable.

04 / EXECUTE

Task plan to behavior tree

Validate a versioned task-plan IR against known capabilities, then compile it deterministically to BehaviorTree.CPP.

From intent to motion​

LongTAMP separates mission logic from geometry-heavy motion planning. Task code describes the operation; reusable builders load scenes, create constraints, generate feasible configurations, and solve each local transition. The result can stay in Python or run through the standalone C++ behavior-tree host—without ROS or a network hop.

Designed for real planning work​

  • Browser-native visualization through viser, with gepetto-viewer available for Qt workflows.
  • Backend isolation keeps HPP bindings behind one interface.
  • Structured evidence records every phase, edge attempt, timing, target configuration, and saved path.
  • Declarative configuration makes adding robots, objects, and valid grasp pairs a data change.

Start with the installation guide, then build a first task.