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.
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.
Multi-arm, multi-object scenes
Compose several robots and free-flying objects in one mutually collision-aware model, with legal grasps supplied as data.
Replay and resume
Crash-safe JSONL logs, path capture, checkpoints, and continuity checks keep long missions observable and restartable.
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.