Skip to content

Bamantara-EEPISAT/rnd_modelsatellite-simulator-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EEPISAT Model Satellite Simulator

This project is a graphical simulator for a model satellite mission, designed for the Teknofest 2025 competition. It simulates the flight, separation, and telemetry of a multi-stage payload, with a focus on real-time visualization, telemetry broadcasting, and system failure scenarios.

This app is developed by the Research and Development team of Bamantara EEPISAT.

Features

  • 3-Column GUI: Built with Tkinter, the interface includes a simulation canvas, control panel, and telemetry/plotting area.
  • Physics Simulation: Models ascent, descent, separation, wind drift, and parachute failures.
  • Telemetry: Real-time telemetry is displayed in the GUI and broadcast via UDP/WebSocket for integration with ground station software.
  • Alarms & Failures: Simulate and visualize various system failures (e.g., actuator, pyro, parachute).
  • 3D Plots: Uses Matplotlib for 3D trajectory and attitude visualization.
  • Settings: Adjustable simulation parameters (rates, altitudes, wind, etc.) via a settings window.
  • IoT Simulation: Simulates two IoT sensors with random data.
  • LNLN Filter Command: Simulate camera filter changes using a 4-character code.
  • Interactive Attitude Control: Adjust pitch, yaw, and roll interactively in the GUI.
  • Telemetry Logging: View and export recent telemetry packets.

Screenshots

Add your screenshots here for better visualization!

Simulator Main Window 3D Trajectory Plot Attitude Control

Requirements

  • Python 3.12.6
  • Tkinter (usually included with Python)
  • uv (for fast dependency installation)

Installation

Install dependencies with:

uv pip install -r requirements.txt

Usage

Run the simulator:

python main.py

Main Controls

  • Launch: Start the simulation.
  • Calibrate: Reset the simulation.
  • Force Sep: Force separation at any time.
  • Settings: Adjust simulation parameters.
  • Apply Filter: Change camera filter using a code (e.g., 4R5G).
  • Start/Stop Telemetry Server: Toggle UDP/WebSocket telemetry broadcasting.

Telemetry

  • Payload Telemetry Log: Shows recent telemetry packets.
  • Container/IoT Telemetry: Shows container and IoT sensor data.
  • 3D Trajectory: Visualizes the flight path.
  • Attitude Control: Visualizes and interactively controls pitch, yaw, and roll.

Alarms & Failures

  • Toggle system flags and simulate failures from the control panel.
  • Alarm indicators show the current system status.

Telemetry Server

  • UDP: Simulator sends telemetry to 127.0.0.1:8766.
  • WebSocket: Broadcasts telemetry to clients on ws://localhost:8765.

Customization

  • Change team name, base coordinates, rates, and other parameters in the settings window.

File Structure

  • main.py: Main simulator code and GUI.
  • README.md: This documentation.
  • requirements.txt: Python dependencies.
  • screenshots/: Folder for screenshots (add your own for documentation).

License

MIT License (add your own license if needed).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages