CoolFace
Datasetpublic

warriorLZJ/Orbit_Planner

Orbit-Planner Orbital Evasion Dataset Orbit-Planner is a simulated multimodal trajectory dataset for vision-based spacecraft navigation and obstacle avoidance. It contains synchronized first-person RGB images, depth maps, spacecraft states, thruster commands, and event labels collected in the Orbital Evasion task from Space Robotics Bench and NVIDIA Isaac Sim. The dataset is intended for learning latent world models, spacecraft dynamics, visual representations… See the full description on the dataset page: https://huggingface.co/datasets/warriorLZJ/Orbit_Planner.

sourceHugging Faceapache-2.0updated 19d agoView on Hugging Face
1likes544downloads
Dataset Card

Orbit-Planner Orbital Evasion Dataset

<p align="left"> <a href="https://arxiv.org/abs/2608.16651"><img src="https://img.shields.io/badge/arXiv-Paper-B31B1B?logo=arxiv&logoColor=white" alt="ArXiv Paper"></a> <a href="https://github.com/ZhijianLi2003/OrbitPlanner"><img src="https://img.shields.io/badge/GitHub-Code-181717?logo=github&logoColor=white" alt="GitHub Code"></a> <a href="https://zhijianli2003.github.io/OrbitPlanner/"><img src="https://img.shields.io/badge/Project-Page-0A7EA4?logo=googlechrome&logoColor=white" alt="Project Page"></a> </p>

Orbit-Planner is a simulated multimodal trajectory dataset for vision-based spacecraft navigation and obstacle avoidance. It contains synchronized first-person RGB images, depth maps, spacecraft states, thruster commands, and event labels collected in the Orbital Evasion task from Space Robotics Bench and NVIDIA Isaac Sim.

The dataset is intended for learning latent world models, spacecraft dynamics, visual representations, imitation policies, and collision-aware planning. Its trajectories cover successful obstacle avoidance, direct high-risk flight, and open-loop exploration, providing both task-oriented behavior and diverse spacecraft dynamics.

Dataset at a Glance

PropertyValue
Number of trajectories8,000
Total time steps2,114,895
Time between consecutive frames0.04 s (25 Hz)
Average steps per trajectory264.36
Trajectories with success events3,437
Trajectories with collision events1,530
State dimension16
Action dimension8
Event dimension2
RGB resolution224 x 224 x 3
Depth resolution224 x 224

The dataset contains the following collection strategies:

StrategyTrajectoriesDescription
expert5,601RRT* obstacle-avoiding path planning followed by path smoothing and PD tracking.
risky1,578Direct flight toward the target without obstacle-avoiding path planning.
explore821Segmented near-open-loop force, torque, combined-control, and coasting behavior.

Data Structure

The HDF5 data are organized as one group per trajectory:

text
dataset.h5
+-- traj_0000/
|   +-- states    [T, 16]          float64
|   +-- actions   [T, 8]           float32
|   +-- events    [T, 2]           float32
|   +-- rgb       [T, 224, 224, 3] uint8
|   +-- depth     [T, 224, 224]    uint8
+-- traj_0001/
|   +-- ...
+-- ...

All arrays are gzip-compressed in the HDF5 file. The accompanying `meta.json` contains the full dataset configuration, feature definitions, aggregate statistics, and a trajectory-level index.

State

The state vector is

text
s_t = [p_t, v_t, rot6d_t, omega_t, phi_t]
SliceSizeDescription
p_t (0:3)3Spacecraft displacement from its initial position in the world frame.
v_t (3:6)3Linear velocity in the body frame.
rot6d_t (6:12)6First two columns of the rotation matrix.
omega_t (12:15)3Angular velocity in the body frame.
phi_t (15:16)1Remaining fuel fraction in [0, 1].

Action

The action vector contains normalized commands for eight spacecraft thrusters:

text
a_t = [F1, F2, ..., F8],  a_t in [0, 1]^8

Events

The event vector is

text
e_t = [collision, success]

collision is the event label intended for downstream use and marks steps where the velocity-based impulse proxy exceeds its configured threshold. success is retained only as a collection-time bookkeeping field and is not used by the current training or evaluation pipeline, so it can be ignored. Event values are binary and stored as float32.

Visual Observations

Each step includes a first-person uint8 RGB frame and a grayscale uint8 depth frame. Depth values use an inverted encoding in which larger values are nearer. Convert a stored depth value d to meters with:

text
depth_m = ((255 - d) / 255.0) * 50.0 + 0.1

The valid clipping range is 0.1 m to 50.1 m, and background space is encoded as zero.

Trajectory Metadata

Each trajectory has an identifier and summary attributes including total_steps, has_collision, has_success, terminated, truncated, target_pos, strategy, and collision_step. A collision_step value of -1 means that no collision was detected; otherwise, it identifies the first collision frame.

Intended Uses

This dataset is suitable for:

  • multimodal and latent spacecraft world models;
  • visual dynamics and future-state prediction;
  • imitation learning and offline reinforcement learning;
  • obstacle-avoidance planning and control;
  • collision prediction and post-impact dynamics modeling;
  • benchmarking state, depth, and action representation learning.

Trajectory-level splits should be used to prevent adjacent frames from the same episode from appearing in both training and evaluation sets.

Limitations

The data are generated entirely in simulation and do not capture every source of real spacecraft sensor noise, actuator uncertainty, illumination variation, or contact dynamics. Behavior comes from scripted expert, risky, and exploration controllers rather than human demonstrations. Collision labels are based on a velocity-change threshold, so they should not be treated as direct contact sensor measurements. The strategy and outcome distributions are also imbalanced and should be considered when constructing evaluation splits.

Citation

If you use this dataset in your research, please cite our Paper:

bibtex
@article{li2026orbitplanner,
  title   = {Orbit-Planner: Towards Latent World Models for On-Orbit Obstacle Avoidance of Satellite Agent},
  author  = {Li, Zhijian and Ren, Chao and Wang, Peijin and Sun, Xian},
  journal = {arXiv preprint arXiv:2608.16651},
  year    = {2026}
}