Algorithm question in attitude_estimator_q_main.cpp

I have a question about the algorithm in attitude q estimator.
In attitude_estimator_q_main.cpp attached here:

		float gainMult = 1.0f;
	const float fifty_dps = 0.873f;

	if (spinRate > fifty_dps) {
		gainMult = fmin(spinRate / fifty_dps, 10.0f);

What is fifty_dps and gainMult used for? Any theoretic idea behind this?
Thank you.

Or just when spinrate is grater than 50 degree per second, then magnify the correction gain?

Here is Bill Premerlani’s paper from which this was taken:

1 Like