This project aims to develop a PID based approach for use in Air Brakes in a rocket, designed to ensure that the rocket reaches apogee (its highest point), as close as possible to the desired height (usually 10,000 ft or 30,000 ft).
In the main directory, the main C files are located, including the downloaded files for the BMX055 sensor API. The simulations
directory includes scripts for simulating the data on a computer, for testing purposes. Some CSVs are provided as a source of real data from previous launches.
To run the simulations and view an output graph:
- Navigate to
simulations/
(cd simulations
) - Ensure that the Python3 packages
wheel
andpandas
are installed:python3 -m pip install wheel
,python3 -m pip install pandas
- Ensure
run-simulations.sh
is executable (chmod +x run-simulations.sh
) - Run the script with
./run-simulations.sh
./air-brakes -s -f simulations/data/G72-10.csv -t 1 -a 2 -r 3 -c 4
-s
: simulate-f
: use a file-t
: column of the csv file that is the time-a
: column of the csv file that is the altitude-r
: column of the csv file that is the speed-c
: column of the csv file that is the acceleration
Check Bosch's GitHub repositories and example code: https://github.com/BoschSensortec/BMA2x2_driver for the accelerometer https://github.com/BoschSensortec/BMM150-Sensor-API for the magnetometer https://github.com/BoschSensortec/BMG160_driver for the gyroscope