Skip to content
Z23599848Public

About

Experimental Python rocket-flight simulator with a CesiumJS globe, live telemetry and CSV logging.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

p13 — Orbital Stick Mission Planner

An experimental rocket-flight simulator with a browser-based 3D globe, live telemetry and CSV flight logs.

The project extends a falling-stick simulation into a simplified Earth-scale launch, payload-deployment and landing scenario. It is an educational prototype for exploring physics, guidance and visualisation; it has not been validated for aerospace engineering or real flight operations.

Mission setup controls beside the CesiumJS globe

The application in its initial standby state, before ignition.

What it does

  • Simulates motion and attitude in Earth-centred Cartesian coordinates using NumPy and SciPy.
  • Progresses through ascent, coast, payload deployment, descent and landing phases.
  • Streams telemetry from a FastAPI backend to the browser over a WebSocket, targeting 20 updates per second.
  • Displays the vehicle and flight path on a CesiumJS globe.
  • Writes separate vehicle-state and mission-telemetry CSV files to logs/.

Run locally

Use Python 3 and run commands from the repository root. A virtual environment keeps the simulator's dependencies separate from other projects.

python -m venv .venv

Activate it on Windows:

.venv\Scripts\Activate.ps1

Or on macOS / Linux:

source .venv/bin/activate

Install dependencies and start the application:

python -m pip install fastapi uvicorn websockets numpy scipy
python server.py

Open localhost:8000, enter launch, payload and landing coordinates, then select IGNITION. The interface displays the mission phase and flight telemetry while the simulation runs.

The browser loads CesiumJS, styling and globe imagery from external services, so an internet connection is needed for the full visual interface.

Project structure

Path Purpose
physics.py Simulation state, coordinate conversion, forces, attitude and mission guidance
server.py FastAPI application, static assets and WebSocket telemetry
web/ Browser interface and CesiumJS visualisation
logs/ CSV flight-state and diagnostic telemetry output
falling_stick.py Earlier standalone falling-stick simulator

Model and limitations

The model uses a spherical Earth, hard-coded vehicle constants and simplified guidance and environmental assumptions. Mission outcomes depend on the selected inputs; the interface does not guarantee a successful deployment or landing.

The backend advances the model in 0.05-second steps and currently performs two simulation steps per telemetry update. This makes simulated time advance faster than wall-clock time.

The server is a local development prototype. There is no published numerical validation or benchmark suite establishing physical accuracy.

About

Experimental Python rocket-flight simulator with a CesiumJS globe, live telemetry and CSV logging.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages