Skip to content

joasmund/KalmanDrone

Repository files navigation

KalmanDrone

MATH220 Mathematical Modelling – droneposisjonsestimering med Extended Kalman Filter (EKF) og RTS-glatter.

Prosjektstruktur

KalmanDrone/
├── main.py                   # Inngangspunkt – kjør dette
├── modelling.py                   # Hoved-pipeline: les CSV, kjør EKF/RTS, plot, eksporter
├── extended_kalmanfilter.py  # EKF-implementasjon (9-tilstandsvektor)
├── kalmanfilter.py           # Lineær Kalman-filter (6-tilstandsvektor)
├── data/
│   └── drone.csv             # Eksempeldata fra dronelogg
└── pyproject.toml            # Avhengigheter (uv)

Installasjon

Prosjektet bruker uv for avhengighetsstyring:

uv sync

Alternativt med pip:

pip install numpy matplotlib scipy

Kjøring

python main.py

Dette kjører EKF på data/drone.csv med standard parametere, viser plot og lagrer ekf_output.csv.

CSV-format

Input-CSV må ha disse kolonnene:

Kolonne Enhet Beskrivelse
timestamp_s s Tidsstempel
accel_x_ms2 m/s² Akselerasjon x
accel_y_ms2 m/s² Akselerasjon y
accel_z_ms2 m/s² Akselerasjon z
gyro_x_rads rad/s Vinkelhastighet x
gyro_y_rads rad/s Vinkelhastighet y
gyro_z_rads rad/s Vinkelhastighet z
gps_lat_deg ° GPS breddegrad
gps_lon_deg ° GPS lengdegrad
baro_alt_m eller gps_alt_m m Høyde (barometer eller GPS)

Valgfrie kolonner true_x_m, true_y_m, true_z_m aktiverer RMSE-beregning mot ground truth.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages