Skip to content

About

A package, CLI, and UI -- Digitally models how one spacecraft can safely detect, approach, navigate relative to, and dock with another spacecraft while accounting for imperfect sensing, orbital motion, control inputs, and operational constraints. -- Python, NumPy, SciPy, Matplotlib, YAML, PyTest, Jupyter, SymPy, CVXPY

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autonomous Spacecraft Rendezvous & Docking

A simulation-first GNC project for autonomous relative navigation, guidance, control, and docking of a chaser spacecraft with a target spacecraft.

Goals

  • Model relative orbital motion and spacecraft states.
  • Simulate noisy relative-navigation sensors.
  • Estimate relative position/velocity with a Kalman filter.
  • Generate approach trajectories through hold points and a docking corridor.
  • Track guidance commands with closed-loop control.
  • Evaluate docking safety, accuracy, propellant use, and robustness.

Starter milestone

The initial vertical slice uses Clohessy-Wiltshire/Hill relative dynamics, a linear Kalman filter, waypoint guidance, and LQR control. Later milestones can add nonlinear orbital dynamics, EKF/UKF estimation, attitude dynamics, keep-out zones, constrained/MPC guidance, Monte Carlo testing, and hardware-in-the-loop work.

Repository layout

  • src/dynamics/ — relative orbital and rigid-body dynamics
  • src/navigation/ — state estimation and filtering
  • src/guidance/ — rendezvous trajectory/waypoint generation
  • src/control/ — feedback controllers and actuator commands
  • src/sensors/ — sensor models and measurement simulation
  • src/simulation/ — scenario orchestration
  • src/visualization/ — plots and diagnostics
  • configs/ — reproducible scenario definitions
  • notebooks/ — investigations and derivations
  • tests/ — unit/integration tests
  • docs/ — equations, architecture, and experiment notes
  • results/ — generated outputs (ignored by Git)

Quick start

python -m venv .venv
# Windows: .venv\\Scripts\\activate
# macOS/Linux: source .venv/bin/activate
pip install -e ".[dev]"
python -m src.simulation.run --config configs/baseline.yaml
pytest

Suggested roadmap

  1. Baseline CW relative-motion simulation.
  2. Noisy range/bearing or relative-position sensing.
  3. KF/EKF relative-state estimation.
  4. Waypoint/hold-point rendezvous guidance.
  5. LQR/PID tracking and docking corridor logic.
  6. Keep-out zones, abort logic, and actuator constraints.
  7. Monte Carlo robustness studies.
  8. Nonlinear orbital + 6-DOF attitude model and advanced guidance/control.

This repository is intentionally a scaffold: the architecture, interfaces, tests, and first runnable simulation are provided, while the deeper GNC algorithms are meant to be developed and documented as the project grows.

About

A package, CLI, and UI -- Digitally models how one spacecraft can safely detect, approach, navigate relative to, and dock with another spacecraft while accounting for imperfect sensing, orbital motion, control inputs, and operational constraints. -- Python, NumPy, SciPy, Matplotlib, YAML, PyTest, Jupyter, SymPy, CVXPY

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages