pub struct State {
pub attitude: Attitude,
pub position: Position<Ned>,
pub velocity: Velocity<Ned>,
pub accel_bias: Acceleration<Body>,
pub gyro_bias: AngularRate<Body>,
pub status: Status,
pub validity: Validity,
}Expand description
The navigation estimate, returned by Eskf::state.
Small and Copy, so reading it every control cycle costs nothing. The status is a
field rather than a separate accessor so that the trust level travels with the numbers
it qualifies. Nothing forces a caller to read it — state().position compiles — but it
is in hand rather than behind a second call that is easy not to make.
Fields§
§attitude: AttitudeRotation from body to NED.
position: Position<Ned>Position relative to the navigation origin.
velocity: Velocity<Ned>Velocity in the navigation frame.
accel_bias: Acceleration<Body>Estimated accelerometer bias, to be subtracted from raw measurements.
gyro_bias: AngularRate<Body>Estimated gyroscope bias, to be subtracted from raw measurements.
status: StatusWhether the estimate is currently aided, and by how much.
validity: ValidityWhich parts of this estimate are good enough to use.
Alongside status rather than behind an accessor, for the same
reason: the trust travels with the numbers it qualifies. status is the summary a
human reads; this is what a controller branches on.
Trait Implementations§
impl Copy for State
impl StructuralPartialEq for State
Auto Trait Implementations§
impl Freeze for State
impl RefUnwindSafe for State
impl Send for State
impl Sync for State
impl Unpin for State
impl UnsafeUnpin for State
impl UnwindSafe for State
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.