Skip to content
This repository was archived by the owner on Aug 13, 2023. It is now read-only.
This repository was archived by the owner on Aug 13, 2023. It is now read-only.

Kalman filter implementation #5

@HarrisonHall

Description

@HarrisonHall

Proposal for the behavior of the srad avionics bay kalman filter (read https://www.kalmanfilter.net/default.aspx and https://en.wikipedia.org/wiki/Kalman_filter). A kalman filter is a discrete statistical technique to estimate variables of a system that may be off due to noise or accumulation error. It can provide "smoothed" auxilary data that may be more accurate to actual readings post-flight. As for use in the system: in the nominal case, a kalman filter is able to detect apogee a few seconds before sensors indicate it, making our window more accurate. In a worse case, a kalman filter ejects the main parachute after a barometer fails mid-flight. This a form of redundancy that can be used on the same system.

Phase 1: the simple kalman filter. A standard kalman filter is used for linear data, so an extended kalman filter would be necessary as the flight of the rocket is parabolic. The filter can record predictions for the next time step of altitude data and write to auxilary data.

Phase 2: The simple kalman filter would be used to make decisions relative to determining 1. apogee and 2. main deployment. This filter would only be used for altitude (supplimentary to the barometer). Implementation would involve a SimpleKalman object that updates at every iteration and is used to make decisions toggled by a boolean flag. In case of an error, the filter could take action if nothing is done within a n-second time limit. Since the filter updates every time step, it can keep a buffer or past predictions for m steps in the future. If predictions begin to vary "too much" with that in the buffer, the filter can mark future readings as erroneous and use an average of its predictions. If this happens pre-apogee, the system will restart after deploying drogue in order to try and regain barometric readings for main. If this happens for main, the same solution is used for recovery.

Phase 3: the advanced kalman filter. Once we have a working model for rockets that can used for fairly accurate simulation purposes, we can use the more advanced model and a complimentary filter (for example, http://www.pieter-jan.com/node/11) for decision making. Since this could take years to perfect, a simple kalman filter is a better choice for the 2020-2021. In the case that CURE develops a fairly accurate model of rocket flight in the next year, we can explore phase 3 more.

Metadata

Metadata

Labels

documentationImprovements or additions to documentationenhancementNew feature or requesthelp wantedExtra attention is needed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions