Work in progress · all results on this page are preliminary; the main experiments are still running.

Learning in Zero Gravity: Spatially Diverse Demonstrations for Robot Manipulation Policies

1University of California, Riverside 2Georgia Institute of Technology *Equal contribution
Project in progress · manuscript in preparation
Zero Gravity experts on six tasks. Objects start floating in mid-air; gravity switches on when the robot touches or grasps them. Green rings mark goals. Ray-traced, 2× speed.
TL;DR — Simulated tabletop tasks only show a policy a near-2D slice of the 3D world. We train reinforcement-learning manipulation experts with gravity switched off until the robot touches or grasps the object. Floating objects push the experts to reach, push and grasp throughout 3D space instead of only near the table. In preliminary experiments these experts cover more of the workspace than regular-gravity experts. We are now testing whether their demonstrations give imitation-learned policies, including vision-language-action models (VLAs), better spatial generalization.
Six line charts, one per task, showing, for each training arm, the share of episodes that reached, touched, grasped or moved the object, and succeeded, when the object rests on a support at a random height. The Zero Gravity line sits above the four gravity-trained baselines on five of six tasks.
Headline result preliminary — Zero Gravity explores the third dimension better. We compare our method against baselines on spatially difficult versions of the same tasks: the object starts on a support at a random height, pooled over three height ranges (near the table, inside Zero Gravity's training range, and above every arm's training range). Each point is the share of episodes that completed that stage and every earlier one (mean ± SEM over 3 seeds). On five of six tasks the Zero Gravity policy reaches and touches the object far more often than any gravity-trained baseline, including gravity randomization; on RollBall all arms are level. Task success stays low for every policy, because these variants add a step none was trained for (getting the object down from the support). Provisional numbers: CPU simulation, 100 episodes per height range per evaluation.
Breakdown by height range: where the advantage comes from
Stage curves for objects near the table: all arms perform similarly on most tasks
Near the table (object center below 0.10 m). No arm trained on raised supports, but these are close to table height, where every gravity-trained arm's objects rest. All arms perform similarly; Zero Gravity is ahead only on PushCube.
Stage curves for objects inside Zero Gravity's training range: Zero Gravity far ahead on five of six tasks
Inside Zero Gravity's training range (0.10–0.50 m; RollBall 0.10–0.35 m; PlaceSphere 0.10–0.31 m, the highest its cantilever support allows). Zero Gravity saw objects floating at these heights during training; the gravity-trained arms never did. This is where the gap is largest.
Stage curves for objects above every arm's training range: only Zero Gravity reaches the object
Above every arm's training range (above 0.50 m, up to the arm's reach; RollBall has no such range). No arm trained here. Essentially only Zero Gravity reaches and touches the object (baselines at most 1%), though the band is narrow (about 1 cm on PullCube, 4–8 cm on the other tasks) and task success is near zero (Zero Gravity 2% on PickCube, 0% elsewhere).
Same layout, two policies. Each column is one spatially difficult layout. The top row is the Zero Gravity expert and the bottom row the Regular Gravity expert, on the same seed. Badges mark the furthest stage reached. We picked layouts that show the difference; the curves above give the averages. Ray-traced.

Contributions

1

Selective containment volumes

A new mechanism that makes learning in zero gravity possible: thin walls that block the floating object but not the robot arm (separate collision groups), and are invisible to cameras. Without them a floating object drifts out of reach and training gets no signal. Task-defining walls can be released on contact or grasp.

implemented · 8 tasks, 2 robots
2

Gravity-on-contact and gravity-on-grasp

In pure zero gravity, policies exploit the floating object instead of learning the skill (reward hacking). We switch gravity on per environment at first contact or at grasp, so the object floats while the robot explores and the task is finished under normal gravity.

implemented
3

Zero gravity as a spatial-diversity enhancer, beyond domain randomization

We compare zero gravity with fixed-range gravity randomization (Gravity-DR), with OpenAI's automatic domain randomization applied to gravity (Gravity-ADR (OpenAI)), and with regular gravity with and without walls: same tasks, same PPO recipe, 3 seeds per arm.

done · 6 tasks × 5 arms × 3 seeds
4

Altered gravity as the primary training regime

To our knowledge, the first study of altered gravity as the main training regime for tabletop manipulation, rather than as a robustness perturbation, and of whether the resulting demonstrations improve imitation-learned policies and VLAs.

in progress · VLA distillation ongoing

Abstract draft

Vision-language-action models (VLAs) learn from embodied observation-action pairs. Unlike language models, they cannot draw on decades of accumulated internet-scale data, so they rely heavily on simulation, where task diversity is a fundamental constraint. We study physics as an axis of exploration for synthetic embodied data collection, beyond domain randomization.

Existing simulated tabletop manipulation tasks mimic real-world gravity, which restricts the policy's experience to a near-2D slice of the 3D world: objects rest on the table and are approached from a narrow band of heights and directions. By disabling simulated gravity for the object, we lift this constraint. The same task then spans the full 3D volume, exposing the policy to object poses and contact configurations that tabletop episodes never visit. Two mechanisms make this trainable: selective containment volumes, thin walls that keep the floating object within reach without blocking the robot, and gravity that switches on at contact or grasp, which prevents the reward hacking we see in pure zero gravity and leaves the task itself unchanged.

We train reinforcement-learning (PPO) experts this way on 8 ManiSkill3 tasks and compare them with regular gravity and with fixed and adaptive (OpenAI-style) gravity randomization. On spatially harder versions of six tasks, where the object rests on a support at a random height, zero-gravity experts on a stock Franka Panda reach the object in 66% of episodes, against 34–36% for the regular-gravity and gravity-randomized baselines, and touch and grasp it about 1.5× as often. The gap comes from raised objects. At heights inside the zero-gravity training range, which the gravity-trained experts never saw, zero-gravity experts reach the object in 67% of episodes against 17–20% (3.4× the best baseline). Above every arm's training range, only zero-gravity experts reach the object at all (48% of episodes against at most 0.1%). We are now distilling these demonstrations into VLAs, and sim-to-real tests on a Franka Panda with a Robotiq gripper are ongoing.

Method

1 · ZERO GRAVITY RL EXPERTS PPO, ManiSkill3 (GPU sim) g = 0 until contact / grasp 2 · DIVERSE DEMOS success-filtered, trimmed ● zero gravity ● regular gravity 3 · DISTILLATION images + language VLA (π0.5) / DP behavior cloning IN PROGRESS 4 · SPATIAL EVAL unseen heights / platforms sim now · hardware ongoing solid boxes: implemented · dashed boxes: in progress / planned
Pipeline overview (schematic, not data).

Zero-gravity training

Each task is a ManiSkill3 tabletop task (Franka arm). We place the object at a random point in a walled 3D volume above the table instead of on the table surface. The walls are thin and collision-only: they keep the object, but not the arm, inside the workspace, and cameras do not see them. Gravity is cancelled per environment by writing an opposing force directly into the GPU physics buffers every step. Three modes are used:

  • off: the object floats for the whole episode;
  • on-contact: gravity switches on the first time the gripper touches the object;
  • on-grasp: gravity switches on once the object is grasped.

Once switched on, gravity stays on for the rest of the episode, so the end of every episode is the ordinary regular-gravity task. Because the object can be anywhere, the PPO expert must learn to approach and manipulate it from many heights and directions. Its success-filtered rollouts become the demonstration dataset.

Competing sources of diversity

Zero gravity is one way to make the data more diverse. The question that matters is whether it beats other ways at the same cost. All arms share the task, the walled 3D spawn volume (except "no walls") and the PPO recipe:

Training armGravity during training3D spawnWalls
Zero Gravity (ours)0 until contact / grasp, then 9.81 m/s²✓✓
Regular Gravity, walled9.81 m/s²✓✓
Regular Gravity, no walls9.81 m/s²✓–
Gravity-DR (fixed range)|g| ~ U[6, 14] m/s² per episode, straight down✓✓
Gravity-ADR (OpenAI)|g| = 9.81 ± φ, with φ ≤ 4 m/s² widened by automatic domain randomization✓✓
Gravity-ADR wide (OpenAI) training|g| ∈ [9.81 − φL, 9.81 + φH], each bound widened separately up to 9.81 m/s² (can reach 0 g)✓✓

How the Gravity-ADR (OpenAI) arms work

Automatic domain randomization (ADR) comes from OpenAI et al. (2019), Solving Rubik's Cube with a Robot Hand. Training starts with no randomization, and the range widens only once the policy can handle its edge. Half of all episodes are “boundary” episodes, with gravity set exactly at the current edge of the range. After 240 boundary episodes the range widens by one step if success at the edge is at least 80%, and narrows if it is below 40%. Gravity always points down; only its magnitude changes.

  • Gravity-ADR (OpenAI): one symmetric range, 9.81 ± φ with φ capped at 4 m/s², so it ends at the fixed arm's 6–14 m/s². Step 0.25 m/s².
  • Gravity-ADR wide (OpenAI): closer to the paper, with separate lower and upper bounds (φL, φH), each widened on its own, up to 9.81 m/s². The range can therefore reach zero gravity, which tests whether ADR finds what Zero Gravity training gets by design. Step 0.1 m/s².

Environments

Eight ManiSkill3 tasks (StackCube and PokeCube planned), each shown under four of the training arms. Pick a task to see what happens to the object when the robot does nothing: in Zero Gravity the object keeps floating (and may drift and bounce off the invisible walls); under Regular Gravity it falls to the table.

What these clips are. Zero-action rollouts (no policy), stock Franka Panda, seed 0, so every arm starts from the same spawn. Rendered with ManiSkill's default rasterizer, not ray-traced. The colored box edges show the containment walls for visualization only; cameras do not see them during training. The Gravity-ADR (OpenAI) arms are not shown: their gravity range starts at zero width, so they begin identical to Regular Gravity, walled.

Preliminary results preliminary

Q1 · Expert behavior

Do zero-gravity experts explore more of the workspace?

Two grouped bar charts over six tasks for five training arms: gripper workspace coverage (distinct 2 cm voxels visited) and trajectory diversity (mean pairwise gripper-path distance)
Policy-level spatial diversity, every arm on the same spatially harder tasks and the same layouts (stock Franka Panda; 50 episodes per height range, 3 seeds; mean ± SEM over seeds). Left: gripper workspace coverage, the number of distinct 2 cm cells the gripper visits. Right: trajectory diversity, the mean distance between the gripper paths of every pair of episodes, so it is high when the policy moves differently for different layouts. Gravity is on for every arm here, so objects do not drift on their own: differences come from the policies.
Observation. On average, Zero Gravity's gripper paths are the most varied on all six tasks and cover the most space on five (Regular Gravity, walled is slightly ahead on PushCube). On RollBall the arms overlap within error on both measures. Zero Gravity policies adapt where they go to each layout. Diversity is not competence on its own: the stage curves above show that these varied paths also reach and touch the object more often.

Q2 · Expert-level spatial transfer

Do zero-gravity experts transfer zero-shot to harder spatial layouts?

Grouped bar chart of zero-shot task success for Zero Gravity, Gravity-DR (fixed) and Gravity-ADR (OpenAI) on six spatially harder task variants
Zero-shot task success on spatially harder variants of each task (the object starts on a support at a random height, pooled over the same three height ranges as the stage curves above), stock Panda. Each expert was trained on its normal task and evaluated without fine-tuning. Arms: Zero Gravity (ours), Gravity-DR with a fixed range (|g| ~ U[6, 14] m/s²), and Gravity-ADR (OpenAI) (range 9.81 ± up to 4 m/s²). Bars: mean ± SEM over 3 seeds (circles), 100 episodes per height range per seed. PushT and PlaceSphere (hatched) use the right axis. The Gravity-ADR (OpenAI) arm widens its range only when boundary success reaches 80%. It reached the full ±4 m/s² on PickCube, PullCube and PushT; on PushCube and RollBall it reached at most 0.5–1 m/s², and on PlaceSphere two of three seeds shrank back to zero. On those three tasks it therefore ended training at, or close to, regular gravity. The two Regular Gravity arms are in the stage curves above; on PullCube, Regular Gravity, walled matches Zero Gravity (16.8% vs 16.7%), and on PlaceSphere it is highest (7.0%). Gravity-ADR wide (OpenAI) (separate lower and upper bounds, able to reach 0 g) is training now as a stronger comparison. Provisional: CPU-simulation evaluation; PlaceSphere at 50M of a planned 150M training steps.
Observation. Zero Gravity is ahead of both gravity-randomization baselines on average on five of six tasks (RollBall 32.5% vs 18.8%, PullCube 16.7% vs 9.4%, PickCube 8.0% vs 5.2%) and behind Gravity-ADR (OpenAI) on PlaceSphere (4.4% vs 6.2%). Only the RollBall gap (and PushT, at about 1%) is clear of seed-to-seed noise: its 95% bootstrap interval excludes zero against every arm; on the other tasks it does not. Absolute success is low for every policy, because these variants add a step none was trained for (bringing the object down from its support to a table goal); the stage curves at the top of the page separate the spatial part, where Zero Gravity reaches and touches the object far more often, most of all on raised objects.
Same comparison as test-time gravity varies (1.5, 3, 4.5 and 9.81 m/s²)
Four panels of the zero-shot success bar chart, one per test-time gravity value (1.5, 3, 4.5 and 9.81 m/s squared), for Zero Gravity, Gravity-DR (fixed) and Gravity-ADR (OpenAI)
The same three arms evaluated at four test-time gravity values; three of them lie outside the Gravity-DR training range. On average, Zero Gravity stays ahead on PickCube, PushT and RollBall at every value, Gravity-ADR (OpenAI) stays ahead on PlaceSphere, and PushCube and PullCube change order between values. Same caveats as above.

Q3 · Distillation (headline experiment)

Do zero-gravity demonstrations give policies and VLAs better spatial generalization?

in progress We are fine-tuning π0.5 on equal-sized, success-filtered demonstration sets from each training arm (100, 500 and 1,000 demonstrations, 3 seeds), and evaluating in distribution and on the spatially harder variants above. We also test whether each dataset's measured spatial coverage predicts how well the distilled policy transfers.

Datasets released

Two matched, state-only demonstration datasets from a DROID-style robot setup (Franka arm, Robotiq gripper, impedance control). Each covers 8 tasks with about 1,000 success-filtered, trimmed episodes per task, in LeRobot format, under CC-BY-4.0. In both datasets the experts follow the same recipe on the same spawn distribution; the intended difference is gravity.

Zero-gravity trajectories (state, v1)

PushCube, LiftPeg, PickCube, PickSingleYCB, PullCube, PlaceSphere, RollBall, PushT.

stray-light/zerograv-manipulation-trajectories-state-v1

Regular-gravity control (state, v1)

Same 8 tasks, gravity always on.

stray-light/zerograv-manipulation-regular-gravity-trajectories-state-v1

Known issues are documented on each dataset card.

Sample demonstrations: PushT, zero gravity vs regular gravity

Zero Gravity (on contact): the tee floats until touched.
Regular Gravity: the tee drops onto the table first.
Zero Gravity, another episode
Regular Gravity, another episode
Replays of recorded episodes from the two released datasets: the DROID-style robot, trimmed shortly after the first success (every second frame shown). Rendered with the default rasterizer. Wall edges are drawn for visualization only.

Status

  • ongoing
    Distillation into a VLA. Fine-tuning π0.5 on image demonstrations from each training arm at an equal data budget, evaluated in distribution and on the spatially harder variants.
  • ongoing
    Sim-to-real. Zero-shot evaluation on a Franka Panda with a Robotiq gripper, the DROID-style setup in our lab.
  • done
    Zero-gravity training with selective containment volumes and gravity on contact or grasp, for 8 ManiSkill3 tasks on two robots (stock Franka Panda and a DROID-style Franka + Robotiq setup).
  • done
    Five-arm comparison on the stock Panda. Zero Gravity, Regular Gravity with and without walls, Gravity-DR (fixed) and Gravity-ADR (OpenAI), 3 seeds each, on six tasks.
  • done
    Spatially harder evaluation variants for every task: objects on platforms, columns and cantilevers at heights inside and above the training range.
  • done
    Released datasets (above).