CoolFace
Datasetpublic

sislaboratory/owm-iss-numerical-dock-success-100ep

owm-iss-numerical-dock-success-100ep 100 successful docking approaches to the nominal ISS, as one LeRobot dataset, flown by the scripted dock policy in the iss-numerical environment under the cooperative sensor-noise preset. Every episode ended docked. The station is the base asset (ISS_base.glb), which berths no visiting vehicle, so all eight ports are free. Each port has its own quota rather than its share of a uniform draw, so the three ports the public training splits hold… See the full description on the dataset page: https://huggingface.co/datasets/sislaboratory/owm-iss-numerical-dock-success-100ep.

sourceHugging Facemitupdated 1mo agoView on Hugging Face
0likes125downloads
Dataset Card

owm-iss-numerical-dock-success-100ep

100 successful docking approaches to the nominal ISS, as one LeRobot dataset, flown by the scripted dock policy in the iss-numerical environment under the cooperative sensor-noise preset.

Every episode ended docked. The station is the base asset (ISS_base.glb), which berths no visiting vehicle, so all eight ports are free. Each port has its own quota rather than its share of a uniform draw, so the three ports the public training splits hold out are represented as heavily as the five they use -- which a uniform draw would not do, since rejection sampling favours whichever ports dock most easily.

Layout

rollout/            LeRobot dataset: 100 episodes, 556434 frames
  data/ videos/ meta/
rollout.json        per-episode port, seed and outcome
env_config.toml     the config as flown, which is what makes a run reproducible
media/fpv/rollout/  ep_%04d.mp4, the same clips as review copies

observation.images.fpv is the Dragon first-person camera. dock_target is the (1, 7) [position, quaternion] goal pose the episode flew to, which is what identifies the port inside the dataset; rollout.json names the port of every episode in the order the dataset holds them.

Ports

portsplit roleepisodesmean duration (s)
harmony_fwd_pma2training13274
harmony_zenith_cbmheld out13276
harmony_nadir_cbmtraining13280
zvezda_afttraining13267
poisk_zenithheld out12283
pirs_nadirtraining12285
rassvet_nadirtraining12277
unity_nadir_cbmheld out12285

Loading

The LeRobot files live under rollout/ rather than at the repo root, which is how the owm-envs datasets are laid out -- each split is a self-contained LeRobot dataset in its own directory. So the repo is fetched first and opened from that subdirectory; the id passed to LeRobotDataset is the one the split was written with, not the Hub repo.

python
from huggingface_hub import snapshot_download
from lerobot.datasets.lerobot_dataset import LeRobotDataset

local = snapshot_download("sislaboratory/owm-iss-numerical-dock-success-100ep", repo_type="dataset")
ds = LeRobotDataset("iss-numerical/rollout", root=f"{local}/rollout")

Reproducing one episode

uv run owm-envs rollout --out run --env iss-numerical \
    --env-config env_config.toml --policy dock \
    --port <port from rollout.json> --episodes <wanted> \
    --seed <seed> --no-require-dock

and take batch_index out of it. wanted matters: the driver is built with num_envs=wanted, so the attempt's size sets lane assignment and how much of the seed's stream each lane consumes.