pub trait Controller<R: FlightFloat> {
type State;
type ControlOutput;
// Required methods
fn control(
&mut self,
state: &Self::State,
ctx: ControllerCtx<'_, R>,
) -> Self::ControlOutput;
fn update_gains(&mut self, params: &Params);
}