Imagine a service robot deployed in a household setting, assigned a sequence of tasks to complete—one at a time—within an environment that persists throughout the sequence. However, the robot is not told subsequent tasks in advance, mimicing a realistic scenario when the robot is assigned tasks as the user decides they need to be done.
Consider this example: the robot is asked to serve water at a desk. If it behaves myopically—focusing only on the current task—it might pick up an empty cup from the desk, fill it with water at the sink, and return it to the desk. This solution is reasonable, as it efficiently completes the immediate task. If the user drinks the water and then asks for more, the robot must then repeat the same sequence of operations to pick up the cup, go all the way back to the sink, fill it up, and then return. Over time, this short-sighted approach of only caring about the current task and ignoring the future tasks can lead to higher cumulative effort or cost.
Instead, if the robot were to know that the user would ask for more water on a few occasions, the robot should choose a different strategy: instead of using a cup, the robot could bring a larger water-filled jar to the desk. While using a jar may initially seem more costly from the perspective of completing a single task, yet becomes more efficient when considering the entire task sequence, since the jar can serve multiple future refillings without requiring repeated trips to the sink. Clearly, being able to anticipate how its actions may impact future tasks. The goal of our anticipatory planning is just this: to estimate the impact immediate actions are expected to have on subsequent tasks the robot may later be assigned
Anticipatory planning [1] is formalized as planning to reduce the joint cost of (i) completing the current task and (ii) the expected cost of completing future tasks. We use learning to esimate the expected future cost, so as to mitigate the computational burden of computing expected future cost directly. Scaling up anticipatory planning to home-scale environments is difficult. Such spaces often have many rooms, dozens or even hundreds of objects, and a wide variety of possible tasks the robot may be assigned. As the environment grows in size and complexity, it becomes harder for the robot to both estimate and plan effectively at scale.
In our most recent work, we present a learning-augmented model-based anticipatory task planning framework tailored for home-scale environments. In the post below, we discuss our recent ICRA 2025 paper Anticipatory Planning for Performant Long-Lived Robot in Large-Scale Home-Like Environments which seeks to provide answers to these questions. This post is geared towards a somewhat technically minded audience. However, we have tried to provide enough context that we expect it will also be of interest to non-roboticists.
There is also a 3 minute video presentation that has significant overlap with this post that you may enjoy instead:
While planning in a home like environment the environment is often going to be large and have many objects present. As the number of objects and possible tasks increases, it becomes harder both to estimate future costs accurately and to find efficient plans in a reasonable amount of time. But both issues need to be addressed if we are to use anticipatory planning in large environments.
In everyday household settings where there are many objects around, a task can often be done in several different ways. But checking every possible option of plan while also considering all the other objects takes too much time and computing power to be practical.
Anticipatory planning [1] on robotics domain relies on learning to mitigate the computational burden of computing expected future costs, providing cost estimates that guide planning toward behaviors that avoid side effects and improve long-lived performance. However, to compute the expected future cost for large environment learning needs to scale such that anticipatory planning gains the flexibility to operate on any kind of home layout with any large number of objects present. At the same time the learning needs to be good enough to guide the search effectively. How to represent the environment so that learning can effectively scale for anticipatory planning remains a challenge.
We present an approach for anticipatory planning at scale that seeks to minimize the immediate and future planning costs. Our approach involves (1) sampling plans that complete the given task and (2) iterating over the sampled plans to get the plan that minimizes the sum of immediate plan cost and future expected cost.
When the environment is large and diverse set of objects are present, a given task can be completed in multiple different ways. However, the number of such solution plan grows exponentially with more assets that limits exhaustive search. To help the robot come up with better ways to complete a task, we give it slightly modified versions of the original task. These versions include an additional task related to objects the robot might pass by while doing its job. By focusing only on objects in the vicinity of the base solution we limit the number of extra tasks it needs to consider. This helps the robot explore useful options within its computational budget.
The robot then searches over these modified tasks to see which plan leads to the best outcome. For each version, it checks how much effort it takes to finish the task now (immediate cost) and how much it might help with tasks in the near future (expected future cost). It uses this information to pick the plan that saves the most overall time and effort. By narrowing down the choices and only keeping the helpful ones, our robot avoids wasting time on plans that do not lead to long-term benefits.
We represent the environment using a 3D scene graph—a structured, layered map that shows the layout of objects and how they relate to each other. This kind of graph helps us to represent environments with any number of assets presents and then use powerful learning tools such as Graph Neural Networks (
Preparation means the robot takes some time in advance—before it is given any task or it is idle—to get the environment ready in a way that makes future tasks easier. To do this, the robot tries out small changes to where things are or how they are arranged, one step at a time. If a change looks helpful or has a chance of being helpful, the robot keeps it and tries more changes from there. After repeating this process many times, it settles on a state of the environmental that is expected to make its upcoming tasks faster and less costly.
We test our approach in large simulated environments using
As our robot minimizes both the immediate plan cost and the future expected cost so while completing the current task of serving water at Table 1, it anticipates the possible future need to serve another cup of water at a nearby location. Thus, it decides to fill a jar with water that can hold multiple cups of water and keep it on Table 1, so that when it is asked to serve water again, it can do so at a lower cost.
Additionally, our robot can prepare the environment in advance. It does this by finding a setup where future tasks are likely to be easier and quicker to complete. The robot then adjusts the environment step by step, trying different changes. It repeats this process as many times as allowed before a new task is given. Preparing environment like this further improves performance by minimizing both current task future expected costs and thus reducing the total planning cost.
We introduce a planning approach that helps a robot perform better in large, home-like environments. This approach helps the robot plan ahead by learning from experience. To make planning manageable at a large scale, we use a sampling strategy that narrows down the best options. We also combine a Graph Neural Network (