Static In, Dynamic Out: Counterfactual Action Augmentation for Moving Object Manipulation
summary
The gist
The gist: SIDO introduces a counterfactual action augmentation that enables a policy trained only on static object demonstrations to adapt to unseen object motion at test time by factorizing
In short
SIDO introduces a counterfactual action augmentation that allows a policy trained only on static objects to handle moving ones during deployment. It achieves this by splitting manipulation into two parts: predicting where the object will move and then reaching that predicted position. The method preserves the hand-object relative pose by morphing the expert actions to satisfy constraints at future time steps.
Key concepts
- Static In, Dynamic Out (SIDO)
- A counterfactual action augmentation technique designed to adapt a policy trained on static object demonstrations to manipulate objects that are moving during testing. It factors the problem into predicting future object locations and then executing actions to reach those predicted poses, allowing adaptation without retraining.
- Factorization of Manipulation
- The core idea of breaking down moving object manipulation into two independent sub-problems: first, predicting the future location of the object based on its trajectory, and second, determining the action sequence needed to reach that specific future pose. This decoupling allows training on static data for one part and a goal-conditioned reaching task for the other.
- Invariant Constraint
- A mathematical constraint defined as the required hand-object relative pose at various offsets ($k$) across time steps. SIDO ensures this constraint is preserved by morphing the expert action chunks so that they satisfy it both at intermediate points and at the final target time step, maintaining task success.
- Object Pose Predictor
- A plug-and-play module used during deployment that forecasts where a moving object will be in the future. This predictor takes a history of past object poses to estimate the future position ($ ext{P}_{ ext{hat}}$), supplying the necessary information for SIDO to calculate the required counterfactual actions.
Terminology used across episodes
This episode discusses
- Static In, Dynamic Out: Counterfactual Action Augmentation for Moving Object Manipulation · Paper Radio
- Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware
- Open X-Embodiment: Robotic Learning Datasets and RT-X Models
- DROID: A Large-Scale In-The-Wild Robot Manipulation Dataset
- Real-Time Execution of Action Chunking Flow Policies
- SAIL: Faster-than-Demonstration Execution of Imitation Learning Policies
- Catch It! Learning to Catch in Flight with Mobile Dexterous Hands
- Reactive Diffusion Policy: Slow-Fast Visual-Tactile Policy Learning for Contact-Rich Manipulation
- RoCoDA: Counterfactual Data Augmentation for Data-Efficient Robot Learning from Demonstrations
- SE(3)-Equivariant Diffusion Policy in Spherical Fourier Space
- What Matters in Learning from Large-Scale Datasets for Robot Manipulation
- EgoEngine: From Egocentric Human Videos to High-Fidelity Dexterous Robot Demonstrations
- Video2Sim2Real: Full-Stack Autonomous Dexterous Skill Acquisition from a Single Human Video
- A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning
- DART: Noise Injection for Robust Imitation Learning
- Latent Policy Barrier: Learning Robust Visuomotor Policies by Staying In-Distribution
- Simulation Distillation: Pretraining World Models in Simulation for Rapid Real-World Adaptation
- DynaGuide: Steering Diffusion Polices with Active Dynamic Guidance
- Towards Generalizable Robotic Manipulation in Dynamic Environments
- FoundationPose: Unified 6D Pose Estimation and Tracking of Novel Objects
- MimicGen: A Data Generation System for Scalable Robot Learning using Human Demonstrations
The paper
Static In, Dynamic Out: Counterfactual Action Augmentation for Moving Object Manipulation · Read on arXiv
Woo Chul Shin, Zhenyang Chen, Alfred Cueva*, Nadun Ranawaka Arachchige*, Yingyan Celine Lin, Benjamin Joffe, Shreyas Kousik, Danfei Xu
Georgia Institute of Technology
Transcript
Introduction to the show: ident: Robotics Radio. Generated commentary on the latest robotics and control papers.
Rosa: Today's paper: "Static In, Dynamic Out".
Dev: The gist:
Rosa: First, who's behind it and why it matters.
Title and authors: Rosa: So we’re looking at a paper called Static In, Dynamic Out: Counterfactual Action Augmentation for Moving Object Manipulation. It’s about taking a policy that only knows how to move things when everything stays still and making it work when the object actually moves while it's being manipulated in real life.
Dev: That sounds like it tackles a really hard problem in robotics where the training data just doesn't match what you see on the floor or on the conveyor belt during actual deployment. It’s about bridging that gap between lab training and real-world mess.
Taro: I always wonder how policies trained only on static data handle those sudden shifts, like when an object suddenly starts swaying in the wind. Is it just going to fail completely, or can it adapt?
Rosa: Well, the core idea here is that they factorize moving object manipulation into two separate parts: first figuring out where the object will be one chunk of time ahead—that’s a pose forecasting problem—and second, given that future spot, what action actually gets you to the right hand-object relationship.
Dev: So they're breaking the complex task down into predicting a future position and then planning a path to reach that predicted pose. That seems like a structured way to handle uncertainty in motion.
Taro: But if you only train on static data, how can the policy learn that forecasting part without seeing actual object trajectories during training? That feels like it needs a lot of help from outside knowledge.
Rosa: Exactly, and that’s where the counterfactual augmentation comes in. SIDO displaces the object to this counterfactual future position and then morphs the demonstrated action chunk so that it still maintains the correct hand-object relative pose, even though it was trained on a static world.
Dev: So they're essentially creating synthetic training data by shifting things around and adjusting the actions to fit that shift, which is different from just generating random new examples. They are using an explicit prior for the object’s movement.
Taro: That morphing step, preserving that relative pose constraint—that has to be really robust across different objects and different motions if this thing is going to actually work in a messy environment.
Title and authors: Rosa: The paper says they define this invariant constraint as rt(k), which is the hand-object relative pose at offset k, where k goes from zero up to Tp, and they say this constraint is preserved by morphing the expert chunk to satisfy it at Ta and Tp.
Dev: That means the policy isn't just learning a single action; it’s learning actions that respect these two specific hand-object relative poses at those key points in the manipulation sequence. That’s a very specific goal they are optimizing for.
Taro: I’m interested in how this works at deployment, because if it relies on an external predictor to give the future position, what happens when that predictor gets it wrong? Does the whole system just break then?
Rosa: The paper says it plugs-and-play with any object pose predictor, which forecasts the future object position P hat t+Tp from a history of past object poses Pt minus h:Pt. So you can swap out your motion model without retraining the main policy.
Dev: That decoupling is smart because it separates the difficult forecasting problem from the core manipulation skill. The policy only has to handle reaching a target pose, not predicting physics.
Taro: And what about the latency? If you have to run a separate predictor just to get that future position before you can even start planning, that adds steps in real-time control loops, which I worry about for safety.
Rosa: The paper addresses this by saying they decouple these two sub-problems into separate modules so each one can be trained from data cheap to collect in isolation without moving object teleoperation. This suggests the forecasting module can be optimized separately from the reaching module.
Dev: So, the reachability part is already dense in static demonstrations, which is good because it means they don't have to learn how to grab things at all; they just learn how to arrive at a goal pose.
Taro: That sounds like a solid foundation for the manipulation skill itself, but the success really hinges on that prediction module being accurate enough when the world isn't perfectly predictable.
Rosa: The paper shows this works across three simulated tasks—Mug, Square, and Stack—under five different object motion patterns and two real-world tasks like Gantry and Peachtre. That gives some initial proof of concept on variety.
Title and authors: Dev: The results mentioned are that the system adapts to unseen object motion at test time, which is the main claim here, allowing a static policy to handle dynamic objects without retraining. It's about generalizing temporal dynamics.
Taro: If it can handle those five motion patterns in simulation and still perform well on the real-world tasks they tested, that suggests it has some general robustness beyond just learning one specific trajectory.
Rosa: The augmentation preserves rt(Ta) and rt(Tp), which are called the invariant constraint, and these constraints fix the gripper’s required positions at two horizons: rt(Ta), which is the end-effector state reached when it re-plans, and rt(Tp), which is the state at the chunk terminus.
Dev: So even with a moving target, they still have these two specific points in time where their planned action must satisfy a certain hand-object relationship. That keeps things grounded in physical reality during execution.
Taro: That sounds like it limits the kinds of movements that can happen during the manipulation sequence, which is fine if those are the only movements that matter for success. What about its failure modes when the prediction is off?
Rosa: The paper implies that because they have these two invariant constraints, the policy is anchored in a way that even if it's slightly off due to prediction error, it’s constrained to stay close to what’s physically possible under those specific relative pose requirements.
Dev: It seems like the safety case here is built into the structure of the augmentation itself, rather than just relying on some external uncertainty estimator. That makes sense for real-time systems.
Taro: I still think we need more data on how gracefully it recovers when the world misbehaves in a way that isn't covered by those five motion patterns or the tested real-world tasks. The paper shows what it does under specific conditions, but not necessarily every possible mess.
Rosa: That’s fair. The authors do flag that the method is agnostic to the choice of object pose predictor, meaning you have to find a predictor that fits your specific regime without retraining anything new for the policy itself.
Dev: So it’s a flexible augmentation, but the performance on those unseen motions really depends on how well that external predictor predicts where things are going. That dependency is crucial for deployment reliability.
Title and authors: Taro: It’s a step toward making manipulation more versatile, moving beyond just static setups, but we need to see if this level of motion generalization scales smoothly to much more complex, unstructured environments in the future.
Rosa: Exactly. Static In, Dynamic Out shows that by adding this counterfactual action augmentation using SIDO, you can take a policy trained only on static object demonstrations and enable it to adapt to unseen object motion at test time.
Dev: It’s about factorizing manipulation into predicting where the object will be and then reaching that predicted pose, which is a powerful way to handle temporal uncertainty in action planning.
Taro: I think the main implication for me is that we can start training base policies on static data and then only need to worry about building reliable, plug-and-play motion predictors on top of it for real dynamic tasks.
Rosa: That’s a good way to think about it. It gives us a path forward where we don't have to collect massive amounts of labeled data just because the object is moving during the test phase.
Dev: So, essentially, SIDO lets us decouple the learning of the reaching skill from the learning of dynamic motion prediction, and then couple them at deployment.
Taro: It’s a clever structural fix for a known limitation in vision-language-action policies when dealing with temporal shifts in objects.
Rosa: That’s what it is. It addresses how those policies struggle when the object's motion profile isn't perfectly represented in the training set.
Dev: Before we wrap up, remember that SIDO involves this invariant constraint rt(k), which fixes specific hand-object relative poses at two horizons: rt(Ta) and rt(Tp).
Taro: That constraint seems to be the thing holding things together when the prediction is imperfect. It’s a strong physical anchor.
Rosa: Yeah, it gives the policy a reference point in time and space, even when the object's actual position is different from what we predicted at test time.
Dev: So that’s how they manage to keep the manipulation goal achievable even with some prediction noise.
Taro: It’s a solid piece of research showing how to inject explicit physical structure into augmentation for dynamic tasks.
Rosa: That’s it for this paper on Static In, Dynamic Out: Counterfactual Action Augmentation for Moving Object Manipulation. We'll be looking at new papers next time.
The paper's summary: Rosa: So this paper introduces SIDO, which is this counterfactual augmentation technique that takes a policy trained only on static object demonstrations and makes it adapt to unseen object motion at test time by displacing the object to a future position and morphing the action chunk so the hand-object relationship stays correct.
Dev: It’s essentially factorizing manipulation into two parts: one part is predicting where the object will be one chunk ahead, which is a pose forecasting problem, and another part is given that future position, figuring out what action gets you to the right hand-object relative pose.
Taro: So they're splitting the hard stuff: predicting where it goes and then planning how to get there based on that prediction. That seems like a way to isolate the uncertainty in motion from the core reaching skill itself.
Rosa: Exactly, and they call this invariant constraint rt(k), which is defined as the hand-object relative pose at offset k, running from zero up to Tp, meaning it’s checking those relative poses across different points in time during the manipulation.
Dev: The whole point of the augmentation is that even though you're using a policy trained on static data, you morph that demonstrated action chunk so it satisfies this invariant constraint at Ta and Tp, which are specific moments where the end-effector state is reached when it re-plans and when the chunk ends.
Taro: It seems like they’re anchoring the dynamic behavior to two very specific physical states in time, which should give the policy something concrete to stick to even if the object moves unexpectedly.
Rosa: That’s right, and they make this plug-and-play with any external object pose predictor that forecasts a future position P hat t+Tp based on past history Pt minus h:Pt.
Dev: That means you don't need to retrain the main policy when you switch out your motion model; you just swap in a different one, and the policy adapts to whatever prediction it gets from that new predictor.
Taro: I wonder how robust this whole thing is when that external predictor makes a significant error; does the constraint system handle huge prediction jumps well?
Rosa: The authors claim it preserves rt(Ta) and rt(Tp), which is that invariant constraint, so even with prediction errors, the policy is still constrained to stay close to what's physically possible at those two horizons.
Dev: That’s a strong point for real-time loops; if the system has these hard physical anchors at Ta and Tp, it limits how much chaos the moving object can introduce into your control signals.
Taro: It gives us a way to test autonomy without having to collect huge datasets of those dynamic movements during training just to teach the policy how to move things in general.
Rosa: That’s the big implication: you can get a base policy trained on static data and then add this SIDO augmentation at deployment, letting it adapt dynamically without needing a full re-training cycle for every new motion scenario.
Dev: It decouples the learning of how to reach a pose from the learning of how to predict where an object is going, which is a really clean way to handle temporal uncertainty in action planning.
Taro: This moves us closer to having policies that are fundamentally more versatile across different physical setups, not just specific trajectories.
Rosa: So this paper shows how you can inject explicit physical structure—those invariant constraints—into the augmentation to handle moving objects when you only trained on static ones, and it pairs nicely with any future motion predictor.
Dev: If this works reliably in the real world, it means we could deploy these manipulation policies much faster because we don't have to wait for massive labeled datasets for every new kind of movement.
Taro: The next thing I’m thinking about is how this scales when the object isn't just moving smoothly, but maybe it’s tumbling or interacting with other things in a messy way during those test phases.
The paper's improvements: Rosa: So they also talk about how SIDO can be made more flexible, suggesting improvements to handle different kinds of setups and object speeds better than just the basic concept.
Dev: They point out that the policy should be policy-agnostic, meaning you can plug in any external object pose predictor without having to retrain the main policy itself, which is a big deal for deployment flexibility.
Taro: That sounds useful because it means we don't have to build a custom prediction model just for every single robot and every single object it might encounter in the field.
Rosa: They show that this approach works across different policy classes, like Diffusion Policy and Equivariant Diffusion Policy, suggesting it's not tied to one specific way of learning the underlying control logic.
Dev: The paper also tackles the issue of tracking moving targets more directly; they quantify this by showing that when you use a predictor like FERNN that builds in equivariance to motion, the commanded gripper tracks the object one-for-one, fitting a slope where beta x equals one.
Taro: That’s interesting because it moves beyond just getting *a* goal reached; it’s about the quality of the tracking during execution, which is crucial when things are moving fast.
Rosa: They extend this to varying object velocities by training the policy over a range of displacement magnitudes, and they use predictors like FERNN that are known to generalize across different speeds.
Dev: So if you have an object moving slowly or quickly, the system is designed to handle that variation because it was trained on a broad spectrum of motion magnitudes.
Taro: That implies better performance in real-world scenarios where things aren't perfectly predictable—like when an object starts moving suddenly or changes its speed mid-task.
Rosa: The main takeaway here is that the method is designed to be robust across different object dynamics, making it less sensitive to just one specific type of motion profile.
Dev: But they do flag a limitation: the performance really depends on how well that external predictor actually predicts where things are going; if the prediction model fails badly, SIDO won't magically fix that underlying error.
Taro: So the robustness is partly dependent on your setup; if you use a poor predictor, you still get stuck with a bad plan.
Rosa: That’s right, and it highlights that while SIDO solves the action augmentation problem, the challenge for real-world deployment remains finding a reliable motion predictor that fits your specific environment without needing to retrain the main policy.
Conclusion: Rosa: So to wrap up, SIDO is this counterfactual action augmentation that lets you take a policy trained on static object demonstrations and adapt it to unseen moving objects at test time by using a pose forecasting module and morphing the action chunk while preserving that hand-object relative pose.
Dev: It’s basically decoupling the prediction of where the object will go from the skill of reaching that goal, which lets you plug in any motion predictor without retraining your core policy.
Taro: It really shows a way to bridge the gap between static training data and dynamic real-world manipulation by injecting this explicit structure into how we augment our demonstrations.
Rosa: The results show that it works across several simulated tasks and even some real-world tests, proving that this structural fix can handle different object motion patterns.
Dev: It’s a very practical result because it means we don't have to collect huge amounts of labeled data just because the object is moving during the test phase.
Taro: I’m still thinking about how gracefully it recovers when the world misbehaves, because this method seems anchored by those two specific invariant constraints at Ta and Tp.
Rosa: That’s right, and those constraints give the policy a physical reference point in time and space, so even if the object's actual position is off from what we predicted, it’s still constrained to stay close to what’s physically possible at those two horizons.
Dev: It’s a solid way to build safety into the augmentation structure itself rather than relying on some external uncertainty estimator that might fail under weird conditions.
Taro: It gives us a path forward where we don't have to collect massive labeled data just because the object is moving during the test phase, which is something I need more of for truly unstructured environments.
Rosa: Exactly, and this paper on Static In, Dynamic Out shows that by adding this counterfactual action augmentation using SIDO, you can take a policy trained only on static object demonstrations and enable it to adapt to unseen object motion at test time.
Dev: It’s about factorizing manipulation into predicting where the object will be and then reaching that predicted pose, which is a powerful way to handle temporal uncertainty in action planning.
Taro: I think the main implication for me is that we can start training base policies on static data and then only need to worry about building reliable, plug-and-play motion predictors on top of it for real dynamic tasks.
Rosa: That’s a good way to think about it. It gives us a path forward where we don't have to collect massive labeled data just because the object is moving during the test phase.
Dev: So, essentially, SIDO lets us decouple the learning of the reaching skill from the learning of dynamic motion prediction, and then couple them at deployment.
Taro: It’s a clever structural fix for a known limitation in vision-language-action policies when dealing with temporal shifts in objects.
Rosa: That’s what it is. It addresses how those policies struggle when the object's motion profile isn't perfectly represented in the training set.
Dev: Before we wrap up, remember that SIDO involves this invariant constraint rt(k), which fixes specific hand-object relative poses at two horizons: rt(Ta) and rt(Tp).
Taro: That constraint seems to be the thing holding things together when the prediction is imperfect. It’s a strong physical anchor.
Rosa: Yeah, it gives the policy a reference point in time and space, even when the object's actual position is different from what we predicted at test time.
Dev: So that’s how they manage to keep the manipulation goal achievable even with some prediction noise.
Taro: It’s a solid piece of research showing how to inject explicit physical structure into augmentation for dynamic tasks.
Rosa: That’s it for this paper on Static In, Dynamic Out: Counterfactual Action Augmentation for Moving Object Manipulation. We'll be looking at new papers next time.
More episodes
- 2509.16998-IDfRA: Self-Verification for Iterative Design in Robotic Assembly
- 2506.22087-An Introduction to Zero-Order Optimization Techniques for Robotics
- 2509.11740-From Pixels to Shelf: An Integrated Robotic System for Autonomous Supermarket Stocking with a Mobile Manipulator
- 2509.14889-CollabVLA: Self-Reflective Vision-Language-Action Model Dreaming Together with Human
- 2602.16511-Unified Perceptive Fall Safety for Humanoids
- 2602.05273-Affordance-Aware Interactive Decision-Making and Execution for Ambiguous Instructions
- 2604.26910-Bi-Level Optimization for Contact and Motion Planning in Rope-Assisted Legged Robots
- 2605.07496-PathPainter: Transferring the Generalization Ability of Image Generation Models to Embodied Navigation
- 2508.21610-Adaptive Dead-Zone Dual Sliding Mode Observer for Reliable Electrochemical Model-Based SOC Estimation
- 2606.26408-Exploring the Intrinsic Geometry of Diffusion Models with Constrained Inverse Kinematics