A comprehensive system for managing space traffic in cislunar space using Physics-Informed Neural Networks (PINNs) for orbit determination and collision avoidance.
- Physics-Informed Orbit Determination: Uses PINNs to accurately predict spacecraft trajectories while respecting physical constraints
- Real-time Collision Detection: Monitors and predicts potential collisions between spacecraft
- Avoidance Maneuver Planning: Generates optimal avoidance maneuvers when collisions are predicted
- Interactive 3D Visualization: Beautiful and intuitive visualization of spacecraft trajectories and collision warnings
- User-Friendly Interface: Streamlit-based web interface for easy interaction with the system
- Clone the repository:
git clone https://github.com/yourusername/cstms.git
cd cstms
- Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Start the application:
streamlit run app.py
-
Open your web browser and navigate to the URL shown in the terminal (usually http://localhost:8501)
-
Use the system:
- Upload observation data in MPC format using the sidebar
- Click "Process Data" to train the PINN model
- Adjust the prediction window and collision detection parameters as needed
- View trajectories and collision warnings in the main display
- Generate avoidance maneuvers when warnings are detected
The system accepts observation data in Minor Planet Center (MPC) 80-column format. Example:
00001 C2019 04 20.1234 11 22 33.44 +12 34 56.7 12.3 R 568
You can also use custom format files with columns: time, RA (degrees), DEC (degrees).
app.py
: Main application file with Streamlit interfacepinn_model.py
: Implementation of the Physics-Informed Neural Networkdynamics.py
: Physical models for orbital dynamicscollision_detection.py
: Collision detection and avoidance algorithmsvisualization.py
: 3D visualization tools using Plotlydata_utils.py
: Data loading and preprocessing utilities
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Research paper: "Physics-Informed Orbit Determination for Cislunar Space Applications"
- PyTorch team for the deep learning framework
- Plotly team for the visualization library
- Streamlit team for the web interface framework