Codebase for SAGES (Semantic Autonomous Guidance Engine for Space). In this repo, the codebase around the free-flyer scenario is released.
Paper: Takubo et al., "Language-Conditioned Safe Trajectory Generation for Spacecraft Rendezvous," AIAA Journal of Guidance, Control, and Dynamics (Under Review).
Webpage: Link
Interactive Demo Video: Link
freeflyer/
├── dataset/ # Processed datasets (PyTorch format)
│ └── torch/
├── dataset_generation/ # Dataset generation scripts and results
│ └── UMAP_Results/
├── decision_transformer/ # Causal transformer model and training
│ └── saved_files/
├── dynamics/ # Spacecraft dynamics models
├── optimization/ # SCP-based trajectory optimization
│ └── saved_files/
│ └── warmstarting/
└── test/ # Test scripts
SAGES has three main components in the workflow: (i) dataset generation, (ii) training, and (iii) test-time inference / analysis.
This repo is built using poetry, but feel free to switch to another package manager (e.g., uv).
poetry run python freeflyer/dataset/dataset_pargen.pyThis generates the dataset of text-trajectory pairs for training and validation by solving a batch of trajectory optimization problems via SCP.
poetry run python freeflyer/decision_transformer/main_train_lang.pyThis initiates training of the causal transformer, which is a core component of SAGES.
poetry run python freeflyer/optimization/warmstarting_analsyis.py
# For Jetson deployment:
# poetry run python freeflyer/optimization/warmstarting_analsyis_orin.pyThis conducts a warm-start analysis of SAGES, comparing the performance of SAGES (transformer-based warm-starting + SCP refinement) against convex-based warm-starting, given the same terminal state from the warm-start trajectory.