pub struct Odometry {Show 18 fields
pub time_usec: u64,
pub frame_id: MavFrame,
pub child_frame_id: MavFrame,
pub x: f32,
pub y: f32,
pub z: f32,
pub q: [f32; 4],
pub vx: f32,
pub vy: f32,
pub vz: f32,
pub rollspeed: f32,
pub pitchspeed: f32,
pub yawspeed: f32,
pub pose_covariance: [f32; 21],
pub velocity_covariance: [f32; 21],
pub reset_counter: u8,
pub estimator_type: MavEstimatorType,
pub quality: i8,
}Expand description
MAVLink ODOMETRY message.
The minimum supported MAVLink version is MAVLink 2.
§Description
Odometry message to communicate odometry information with an external interface. Fits ROS REP 147 standard for aerial vehicles (http://www.ros.org/reps/rep-0147.html).
§Encoding/Decoding
Message encoding/decoding are provided by implementing core::convert::TryFrom<Payload> for
Odometry (encoding) and [IntoPayload] (decoding) traits.
These traits are implemented by Message proc macro.
Fields§
§time_usec: u64MAVLink field time_usec.
Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
frame_id: MavFrameMAVLink field frame_id.
Coordinate frame of reference for the pose data.
child_frame_id: MavFrameMAVLink field child_frame_id.
Coordinate frame of reference for the velocity in free space (twist) data.
x: f32MAVLink field x.
X Position
y: f32MAVLink field y.
Y Position
z: f32MAVLink field z.
Z Position
q: [f32; 4]MAVLink field q.
Quaternion components, w, x, y, z (1 0 0 0 is the null-rotation)
vx: f32MAVLink field vx.
X linear speed
vy: f32MAVLink field vy.
Y linear speed
vz: f32MAVLink field vz.
Z linear speed
rollspeed: f32MAVLink field rollspeed.
Roll angular speed
pitchspeed: f32MAVLink field pitchspeed.
Pitch angular speed
yawspeed: f32MAVLink field yawspeed.
Yaw angular speed
pose_covariance: [f32; 21]MAVLink field pose_covariance.
Row-major representation of a 6x6 pose cross-covariance matrix upper right triangle (states: x, y, z, roll, pitch, yaw; first six entries are the first ROW, next five entries are the second ROW, etc.). If unknown, assign NaN value to first element in the array.
velocity_covariance: [f32; 21]MAVLink field velocity_covariance.
Row-major representation of a 6x6 velocity cross-covariance matrix upper right triangle (states: vx, vy, vz, rollspeed, pitchspeed, yawspeed; first six entries are the first ROW, next five entries are the second ROW, etc.). If unknown, assign NaN value to first element in the array.
reset_counter: u8MAVLink field reset_counter.
Estimate reset counter. This should be incremented when the estimate resets in any of the dimensions (position, velocity, attitude, angular speed). This is designed to be used when e.g an external SLAM system detects a loop-closure and the estimate jumps.
estimator_type: MavEstimatorTypeMAVLink field estimator_type.
Type of estimator that is providing the odometry.
quality: i8MAVLink field quality.
Optional odometry quality metric as a percentage. -1 = odometry has failed, 0 = unknown/unset quality, 1 = worst quality, 100 = best quality
Implementations§
Source§impl Odometry
impl Odometry
Sourcepub const fn spec() -> MessageInfo
pub const fn spec() -> MessageInfo
Returns specification for this message.
Sourcepub const fn message_id() -> u32
pub const fn message_id() -> u32
Message ID.
Sourcepub const fn min_supported_mavlink_version() -> MavLinkVersion
pub const fn min_supported_mavlink_version() -> MavLinkVersion
Minimum supported MAVLink version for this message.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Odometry
impl<'de> Deserialize<'de> for Odometry
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Odometry, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Odometry, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Flatten for Odometry
Source§impl IntoPayload for Odometry
impl IntoPayload for Odometry
impl Message for Odometry
Source§impl MessageSpec for Odometry
impl MessageSpec for Odometry
Source§impl MessageSpecStatic for Odometry
impl MessageSpecStatic for Odometry
Source§fn spec() -> MessageInfo
fn spec() -> MessageInfo
Source§fn message_id() -> u32
fn message_id() -> u32
ID.Source§fn min_supported_mavlink_version() -> MavLinkVersion
fn min_supported_mavlink_version() -> MavLinkVersion
Source§impl NamedType for Odometry
impl NamedType for Odometry
fn sid() -> SpectaID
Source§fn named_data_type(
type_map: &mut TypeCollection,
generics: &[DataType],
) -> NamedDataType
fn named_data_type( type_map: &mut TypeCollection, generics: &[DataType], ) -> NamedDataType
Source§fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
Source§impl Serialize for Odometry
impl Serialize for Odometry
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for Odometry
Source§impl Type for Odometry
impl Type for Odometry
Source§fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
Source§fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
definition will be put into the type map.