TAMPAgent Agentic Belief-Space Planning for Mobile Manipulation

Utkarsh A. Mishra1,2, Alperen Degirmenci1, Yongxin Chen2, Danfei Xu1,2, Tucker Hermans1,3, Caelan Garrett1

1NVIDIA Research   2Georgia Institute of Technology   3University of Utah

October 2026

A real run, told as the conversation between the agent (left) and the planner and tools (right): place the apple from the black table in the wooden bowl, when a penguin plush hides it. The labels follow the ten steps of the planning loop; thinking and robot motion are sped up, by the factor on each badge.

A robot in an unmapped home has to decide what to find out and how to act, often before it has seen where things are. Vision-language agents bring the priors for this, but when they call tools directly nothing declares what makes an action correct. Belief-space task and motion planning declares it, but pays for explicit distributions over the whole house and a hand-written problem.

TAMPAgent lets the agent act as the belief-space policy while its output keeps the planner's contract: parameterized actions whose constraints tools must certify before anything moves. Beliefs stay in language until a constraint needs a value from a tool.

Four architectures compared: TAMP, VLM-TAMP, Code as Policies, and TAMPAgent (ours), by how the agent, task planner, and tools connect
Who orchestrates planning. TAMP solves hand-written problems with a task planner that calls the tools; VLM-TAMP lets the agent write the problem but keeps the planning pipeline fixed; Code as Policies lets the agent call tools directly and relies on execution feedback. In TAMPAgent, the agent orchestrates both the task planner, which compiles its plans into constraints, and the tools, which certify values that satisfy them.

Method

A conversation between agent and planner

TAMPAgent runs one loop. The agent writes the problem from its current belief, the planner grounds the actions, the agent plans with a hypothesis, the planner turns the plan into constraints, and the agent solves them with tools. Only then does the robot act, observe, and start again. Below, each step is shown on the run from the video.

1Write the problem

The agent turns the instruction into a planning problem: a goal and the current value of every variable it needs. Values the robot has not observed are hypotheses written in words. Here the agent only knows the black table, so it guesses that both the apple and the bowl are there, and plans to find the apple, pick it, find the bowl, and place it.

The agent writes the problem P0 with the goal In[apple, bowl] and language beliefs, then its first plan.

2Look, and fail to certify

The robot looks for the apple from several viewpoints. Segmentation finds nothing, then only a sliver with a single depth pixel, so the observation constraint of detect cannot be certified: the planner reports an epistemic gap and will not let the robot pick.

SAM 3 finds only a 303 pixel sliver of the apple, and the planner reports the observation as occluded.

3Plan with a hypothesis

The agent uses its priors to rank where the object could be, and commits to the most likely explanation: the penguin plush hides it. Its plan moves the penguin out of the way before looking again.

The agent scores four hypotheses, updates its belief to behind the penguin, and plans to move the penguin first.

4Build the constraint graph

The planner grounds the plan into a factor graph. The continuous choices of each action, such as the grasp, arm pose, path, and placement, become variables, and each action's preconditions become constraints over them. A variable shared by two actions couples them: the grasp chosen to pick the penguin must also let the robot set it down.

The planner compiles the whole plan into factors for each action and the couplings between them.

5Solve it with tools

The agent composes a computation graph of tool calls, segmentation, grasp generation, inverse kinematics, and motion planning, and runs it until every constraint of the first action has a value a tool has certified.

The agent's computation graph of tool calls for picking the penguin.

6Act, observe, and update

The planner accepts only when every constraint of the first action is certified. The robot executes that one action and observes, and the agent updates its belief. Once the penguin is set aside, the apple is in view: what was a language hypothesis is now a certified RGB-D estimate. The loop starts again from the first step.

After the penguin is placed aside, SAM 3 segments the apple and its belief becomes a certified RGB-D estimate.

The rest of the run

The same loop carries the task to the end. Two base motions toward the apple fail, so the agent picks it from where the robot stands. While carrying it, the robot searches for the bowl until perception certifies its location. No placement fits from the first stance, so the agent repositions the robot, and the apple goes into the bowl.

Sandbox

What the agent sees and writes

The agent is a coding agent, Codex or Claude Code, in a locked-down container. It has a shell, Python and a handbook, and it reaches the robot only through a gateway that forwards a fixed list of routes. Everything below is from simulation: how the sandbox is built, the handbook the agent reads, and one run of task T10, loop by loop.

1Files in its workspace

Each step is a small Python file that states what the agent believes, what it wants to do and, after running, what it achieved. Every loop starts with ranked hypotheses in plain language, and every reply is saved.

2Beliefs and plans, through the API

It writes the problem and its inventory, proposes one complete plan that the planner compiles into a CSP, and binds tool receipts to the CSP's variables. These change the planner's belief, never the robot.

3Requests for motion

It cannot move the robot directly. It asks for a grant for the exact locked step, and the planner issues one only when every constraint of that step is certified. Then it dispatches once and completes the step.

The run is task T10, where a cracker box and a mustard bottle hide the apple; the T10 video shows the full rollout. The handbook is the simulation profile's; the real robot uses the same pages, with its own parts where the robots differ.

Evaluation

Results

Ten simulated tasks ask the robot to place the apple on the plate on the dining table, and differ in where the apple starts and what hides or blocks it. Every method gets the same short goal prompt and no description of the scene. The robot, an RB-Y1, starts facing away from the apple every time. We compare against two baselines without a planner, over 20 episodes per task: Code as Policies (CaP), where the same agent writes code that calls the same tools, and Graph as Policy (GaP), where helper agents author and review graphs of tool calls and the robot moves only through a validated graph. The tasks fall into four groups: mobile manipulation (T1, T2), non-prehensile tasks where something must be moved first (T4 to T6, T8, T10), occlusion tasks where the apple is hidden (T3, T7), and T9, where the apple is hidden in the fridge behind a cup that must be moved. All methods run GPT-6-Astra at low reasoning effort. Each episode has 15 minutes of simulated time plus 5 minutes for each blocker, and 25 minutes for T3, T9, and T10. On T9 we measure learning from attempts instead of running 20 episodes. Three more tasks, T11 to T13, move to a larger home with other objects, where the robot must search across rooms; in T13 a chair also blocks the doorway. The charts are from the RB-Y1; the videos show rollouts on the RB-Y1 and on a Unitree G1.

Rollout on the G1.

T1Mobile manipulation

On the dining table

The apple is in the open on the dining table, next to the plate.

What needs to be done

  1. Find the dining table, the apple and the plate.
  2. Pick the apple.
  3. Place it on the plate.

Time budget: 15 min of simulated time

1 / 13

What each result shows, as the question it answers, is in the FAQ.

Questions

FAQ

Does the planner help when the apple is hidden or blocked?

All three methods solve every episode when the apple is in the open (T1, T2). When it is hidden or blocked (T3 to T8 and T10), TAMPAgent succeeds in 71% of episodes, against 45% for CaP and 50% for GaP. Over all tasks, it succeeds in 77%, against 57% and 61%. A plausible but infeasible plan, such as picking the apple through the cup, fails in the planner before the robot moves, and the failed constraint names what the agent must clear first.

Absolute and partial success per task for CaP, GaP, and TAMPAgent, grouped by task category, with the mean over tasks
Success over 20 episodes per task, grouped by category, with the mean over tasks last. Absolute success counts an episode only if the apple ends on the plate; partial success is the fraction of subtasks completed (find the apple, clear each blocker, pick, find the plate, place).
Does certifying every motion lead to fewer failures?

An episode fails when an object falls or the scene is destroyed, or when its time runs out. Every motion TAMPAgent executes was certified first, so over the tasks it drops an object or destroys the scene in 13 episodes, against 26 for CaP and 14 for GaP, and it times out in 28, against 51 and 56.

Failed episodes per task for CaP, GaP, and TAMPAgent, split into an object falling or the scene destroyed, and timeouts
Failed episodes out of 20: an object fell or the scene was destroyed (solid), and timeouts (hatched).
Does the planner make the agent cheaper to run?

The planner keeps a compact record of the problem and its progress, so the agent reads and writes less. Per minute of simulated time, TAMPAgent uses fewer uncached input and output tokens than CaP and GaP. GaP is more structured than CaP, but its agent has to come up with each computation graph by itself, while TAMPAgent's planner already supplies the actions and the constraints each graph must certify.

MethodUncached input / sim-minOutput / sim-min
TAMPAgent19.3k1.75k
CaP20.3k1.91k
GaP27.4k2.73k
Tokens per minute of simulated time, averaged over the RB-Y1 episodes.
Does TAMPAgent learn faster from its own attempts?

On T9, the apple sits inside the fridge behind a cup. Each method starts without how-to guidance, keeps notes in a memory across attempts, and retries until it succeeds. TAMPAgent and GaP succeed on their third attempt and CaP on its fourth. Over these attempts, TAMPAgent uses 42% and 31% fewer uncached input tokens than GaP and CaP, and 9% and 12% fewer output tokens.

On T9, partial success per attempt for CaP, GaP, and TAMPAgent, and the uncached input and output tokens each used over all its attempts
Partial success of each attempt on T9, the fraction of four stages it completes (approach the refrigerator and find the apple, relocate the cup, pick the apple, place the apple), and uncached input and output tokens summed over all attempts. GaP's tokens include its helper agents.
Does it work on a real robot?

On a real RB-Y1 in an office lab, TAMPAgent runs three categories of tasks. In simple pick and place, the robot puts an object such as a mustard bottle in a receptacle, finding both by exploring open surfaces. With an out-of-view receptacle, the robot carries the object while it searches, and plans the placement once the receptacle is certified. With a hidden object, as in the video above, the agent hypothesizes what hides the target and moves it first. Hidden objects cost the most, 973k uncached input and 127k output tokens per episode on average, against 376k and 39k for simple pick and place.

What does TAMPAgent guarantee?

Every constraint of an executed action was certified by a tool under the robot's current perception. The agent can still choose a poor plan, and tools can return false positives, so a certified grasp can still fail.

What are the limitations?

Skills are hand designed, though learned policies can join as tools. Cloud-hosted agents are slow: the robot is idle for more than 90 percent of an episode while the agent reasons.

Citation

BibTeX

@misc{mishra2026tampagent,
  title  = {{TAMPAgent}: Agentic Belief-Space Planning for
            Mobile Manipulation},
  author = {Mishra, Utkarsh A. and Degirmenci, Alperen and Chen, Yongxin and
            Xu, Danfei and Hermans, Tucker and Garrett, Caelan},
  year   = {2026},
  note   = {Under review}
}