Satyampatil513 / Cansat-Ground-Control-System-24-25

0 stars 0 forks source link

Objectives #3

Closed Satyampatil513 closed 2 months ago

Satyampatil513 commented 2 months ago

Telemetry Data Reception and Display Telemetry Data Reception:

Frequency: The CANSAT shall collect the required telemetry at a 1 Hz sample rate or better. Format: Telemetry data shall be transmitted in ASCII comma-separated fields followed by a carriage return. Libraries Needed: PySerial: For serial communication with XBEE radios. Usage: import serial Datetime: For handling timestamps. Usage: from datetime import datetime Telemetry Data Fields:

Columns: The following fields must be included in the telemetry data:

  1. Team ID (e.g., 2024ASI-CANSAT-XXX)
  2. Time Stamping (seconds since the initial power)
  3. Packet Count (count of transmitted packets)
  4. Altitude (meters, relative to ground, resolution: 0.1 meters)
  5. Pressure (atmospheric pressure, resolution: 1 pascal)
  6. Temperature (Celsius, resolution: 0.1°C)
  7. Voltage (CANSAT power bus voltage, resolution: 0.01 volts)
  8. GNSS Time (seconds)
  9. GNSS Latitude (resolution: 0.0001 degrees)
  10. GNSS Longitude (resolution: 0.0001 degrees)
  11. GNSS Altitude (resolution: 0.1 meters)
  12. GNSS Satellites (integer number)
  13. Accelerometer Data (m/s²)
  14. Gyro Spin Rate (degrees per second)
  15. Flight Software State (e.g., BOOT, TEST_MODE, LAUNCH_PAD, ASCENT, ROCKET_DEPLOY, DESCENT, AEROBREAK_RELEASE, IMPACT)
  16. Any Optional Data

Libraries Needed: Pandas: For handling and generating .csv files. Usage: import pandas as pd Numpy: For numerical operations and handling sensor data arrays. Usage: import numpy as np

File Format:

The received telemetry for the entire mission shall be saved on the ground station computer as a comma-separated value (.csv) file. The .csv file must include headers specifying each field of data. The file should be named in the format: Flight_.csv. Libraries Needed: Pandas: For saving data to .csv files. Usage: import pandas as pd Ground Station Command Capabilities

Telemetry Command:

The ground station must command the CANSAT to start transmitting telemetry prior to launch. The CANSAT should not transmit telemetry until commanded by the ground station. The command can be executed while the CANSAT is in the rocket on the launch pad. Libraries Needed: PySerial: For sending commands via serial communication. Usage: import serial

Sensor Calibration:

The ground station must be able to command the CANSAT to calibrate gyros, barometric altitude, and accelerometer parameters to zero as the CANSAT sits on the launch pad. Libraries Needed: PySerial: For sending calibration commands via serial communication. Usage: import serial

Ground Station Setup Antenna:

The ground control station antenna should be elevated from ground level to ensure adequate coverage and range. No specific libraries needed.

Portability:

The ground station must be portable so the team can be positioned at the ground station operation site along the flight line. If required, the team should be able to move to a different location for CANSAT recovery. No specific libraries needed.

Stability:

Stability of the ground station must be ensured during operations. No specific libraries needed. Data Handling and Display

Real-Time Display:

All telemetry data must be displayed in near real-time during launch and descent. Data must be plotted in real-time during flight using SI units. Libraries Needed: Matplotlib: For real-time data plotting and visualization. Usage: import matplotlib.pyplot as plt Tkinter/PyQt: For developing a user interface for the ground station. Usage: import tkinter as tk or from PyQt5 import QtWidgets

Data Generation:

The ground station should generate .csv files of all sensor data. Telemetry shall include mission time with one-second or better resolution. In case of processor reset, the mission clock/time stamp & system state should be maintained. Libraries Needed: Pandas: For saving data to .csv files. Usage: import pandas as pd

Graphical User Interface (GUI):

The ground station should have a user interface for real-time data collection and display. The GUI should be capable of plotting each telemetry data field in real-time during flight. Libraries Needed: Tkinter/PyQt: For developing the user interface. Usage: import tkinter as tk or from PyQt5 import QtWidgets Matplotlib: For real-time plotting within the GUI. Usage: import matplotlib.pyplot as plt

Logging Libraries Needed: Logging: For maintaining logs of system states and events. Usage: import logging