OrbitalGym¶
A JAX-native framework for two-side decision-making in orbital scenarios. Same symmetric core drives single-agent (Gymnasium-shaped), multi-agent (PettingZoo-shaped), and POMDP-shaped views of the same underlying game. Four scenarios ship in the box.
Choose your path¶
-
New here Start with Tutorials. Five guided walkthroughs from
pip installto a working short-horizon planner running on GPU. -
Looking up an API Jump to the API reference. Auto-generated from in-code docstrings.
-
Building a scenario See Game guides for what each game rewards, then the How-to recipes for the task-by-task steps.
-
Understanding the design Read In depth. Eleven deep-dives on the symmetric core, state layout, dynamics, observations, belief, and more.
-
Building variants and policies See Extending for by-axis customization (rewards, termination, IC sampling, observations) and pattern cookbooks for controlled-side policies and heuristic policies.
What's in the box¶
- Four games: Lady-Bandit-Guard, Pursuit-Evasion, Sun-Blocking, Observation-Blocking.
- Three adapters: Gymnasium (single-agent RL), PettingZoo (multi-agent RL), and a POMDPPlanners-shape duck-typed protocol (belief-space planners).
How fast¶
A whole episode compiles to one jax.lax.scan, so a single rollout is
fast. The bigger win is vmap over rollouts: 1000 rollouts can be run in parallel on GPU or MPS.