space_to_space_rso_imaging_demo
A small public space-to-space RSO imaging example.
Run python examples/space_to_space_rso_imaging_demo.py after installing BSK-RL.
The demo uses standard ground stations and saves a replayable catalog/manifest.
It requires neither a trained policy nor Vizard. The
accompanying notebook walks through each
configuration step and explains acquisition, delivery, and replay.
Ground-station support is explicitly composed with the spacecraft imaging dynamics. The native Basilisk instrument controller checks pointing, access, illumination, and hold timing before the instrument generates data. The Python image recorder confirms that a complete product reached storage. Downlink reward is assigned only when all its bits have left the imager’s storage.
make_rewarder defines the example’s 90% acquisition and 10% delivery weights
as callbacks. The reusable rewarder has no mission-specific alpha parameter.
The optional AMOS profile lives in this example and preserves the 124-input,
13-action schema used by its research policies. It does not reconstruct paper
conditions without a saved mission manifest.
- sun_in_hill(satellite)[source]
Dimensionless Sun direction in the imager Hill frame, as in AMOS v9.
- make_catalog(seed=0, n_targets=3)[source]
Realize target conditions with an isolated RNG, then save/replay the result.
- amos_observation_spec(n_candidates=10)[source]
AMOS v9 full-action layout: 14 global + 11*K target features.
- make_rewarder(acquisition_weight=0.0, delivery_weight=1.0, **kwargs)[source]
Define this example’s reward recipe outside the generic image rewarder.
Callbacks receive an image record and the current runtime target. The default recipe assigns all priority credit to useful complete delivery. To provide an earlier training signal, pass acquisition_weight=0.9, delivery_weight=0.1. The explicit weights can be saved and reconstructed by the replay helper.
- build_environment(catalog=None, *, seed=0, amos_profile=False, time_limit=1200)[source]
Construct one imager and explicitly bound passive spacecraft targets.
The AMOS profile preserves observation dimensions, action indices, hold mode, and alpha mapping. Correct acquisition/delivery semantics intentionally differ from the historical bugs; this is not a bit-for-bit research reproduction.
Catalogs can omit their epoch. This example fixes the world epoch once, and the scene inherits its realized value. An explicit catalog epoch is also used for the world. Save
env.scenario.catalogafter reset for replay.
- mission_manifest(env, *, checkpoint=None)[source]
Record realized mission settings; keep checkpoint details explicit if supplied.