Struct sbp::messages::navigation::msg_pose_relative::MsgPoseRelative
source · pub struct MsgPoseRelative {Show 23 fields
pub sender_id: Option<u16>,
pub tow: u32,
pub sensor_id: u8,
pub timestamp_1: u32,
pub timestamp_2: u32,
pub trans: [i32; 3],
pub w: i32,
pub x: i32,
pub y: i32,
pub z: i32,
pub cov_r_x_x: f32,
pub cov_r_x_y: f32,
pub cov_r_x_z: f32,
pub cov_r_y_y: f32,
pub cov_r_y_z: f32,
pub cov_r_z_z: f32,
pub cov_c_x_x: f32,
pub cov_c_x_y: f32,
pub cov_c_x_z: f32,
pub cov_c_y_y: f32,
pub cov_c_y_z: f32,
pub cov_c_z_z: f32,
pub flags: u8,
}
Expand description
Relative Pose
This solution message reports the relative pose of a sensor between two time instances. The relative pose comprises of a rotation and a translation which relates the sensor (e.g. camera) frame at a given time (first keyframe) to the sensor frame at another time (second keyframe). The relative translations is a 3x1 vector described in the first keyframe. Relative rotation is described by a quaternion from second keyframe to the first keyframe.
Fields§
§sender_id: Option<u16>
The message sender_id
tow: u32
GPS Time of Week
sensor_id: u8
ID of the sensor producing this message
timestamp_1: u32
Timestamp of first keyframe
timestamp_2: u32
Timestamp of second keyframe
trans: [i32; 3]
Relative translation [x,y,z] described in first keyframe
w: i32
Real component of quaternion to describe relative rotation (second to first keyframe)
x: i32
1st imaginary component of quaternion to describe relative rotation (second to first keyframe)
y: i32
2nd imaginary component of quaternion to describe relative rotation (second to first keyframe)
z: i32
3rd imaginary component of quaternion to describe relative rotation (second to first keyframe)
cov_r_x_x: f32
Estimated variance of x (relative translation)
cov_r_x_y: f32
Covariance of x and y (relative translation)
cov_r_x_z: f32
Covariance of x and z (relative translation)
cov_r_y_y: f32
Estimated variance of y (relative translation)
cov_r_y_z: f32
Covariance of y and z (relative translation)
cov_r_z_z: f32
Estimated variance of z (relative translation)
cov_c_x_x: f32
Estimated variance of x (relative rotation)
cov_c_x_y: f32
Covariance of x and y (relative rotation)
cov_c_x_z: f32
Covariance of x and z (relative rotation)
cov_c_y_y: f32
Estimated variance of y (relative rotation)
cov_c_y_z: f32
Covariance of y and z (relative rotation)
cov_c_z_z: f32
Estimated variance of z (relative rotation)
flags: u8
Status flags of relative translation and rotation
Implementations§
source§impl MsgPoseRelative
impl MsgPoseRelative
sourcepub fn time_source(&self) -> Result<TimeSource, u8>
pub fn time_source(&self) -> Result<TimeSource, u8>
Gets the TimeSource stored in the flags
bitfield.
Returns Ok
if the bitrange contains a known TimeSource
variant.
Otherwise the value of the bitrange is returned as an Err(u8)
. This may be because of a malformed message,
or because new variants of TimeSource
were added.
sourcepub fn set_time_source(&mut self, time_source: TimeSource)
pub fn set_time_source(&mut self, time_source: TimeSource)
Set the bitrange corresponding to the TimeSource of the flags
bitfield.
sourcepub fn relative_translation_status(
&self
) -> Result<RelativeTranslationStatus, u8>
pub fn relative_translation_status( &self ) -> Result<RelativeTranslationStatus, u8>
Gets the RelativeTranslationStatus stored in the flags
bitfield.
Returns Ok
if the bitrange contains a known RelativeTranslationStatus
variant.
Otherwise the value of the bitrange is returned as an Err(u8)
. This may be because of a malformed message,
or because new variants of RelativeTranslationStatus
were added.
sourcepub fn set_relative_translation_status(
&mut self,
relative_translation_status: RelativeTranslationStatus
)
pub fn set_relative_translation_status( &mut self, relative_translation_status: RelativeTranslationStatus )
Set the bitrange corresponding to the RelativeTranslationStatus of the flags
bitfield.
sourcepub fn relative_rotation_status(&self) -> Result<RelativeRotationStatus, u8>
pub fn relative_rotation_status(&self) -> Result<RelativeRotationStatus, u8>
Gets the RelativeRotationStatus stored in the flags
bitfield.
Returns Ok
if the bitrange contains a known RelativeRotationStatus
variant.
Otherwise the value of the bitrange is returned as an Err(u8)
. This may be because of a malformed message,
or because new variants of RelativeRotationStatus
were added.
sourcepub fn set_relative_rotation_status(
&mut self,
relative_rotation_status: RelativeRotationStatus
)
pub fn set_relative_rotation_status( &mut self, relative_rotation_status: RelativeRotationStatus )
Set the bitrange corresponding to the RelativeRotationStatus of the flags
bitfield.
Trait Implementations§
source§impl Clone for MsgPoseRelative
impl Clone for MsgPoseRelative
source§fn clone(&self) -> MsgPoseRelative
fn clone(&self) -> MsgPoseRelative
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl ConcreteMessage for MsgPoseRelative
impl ConcreteMessage for MsgPoseRelative
source§const MESSAGE_TYPE: u16 = 581u16
const MESSAGE_TYPE: u16 = 581u16
source§const MESSAGE_NAME: &'static str = "MSG_POSE_RELATIVE"
const MESSAGE_NAME: &'static str = "MSG_POSE_RELATIVE"
source§impl Debug for MsgPoseRelative
impl Debug for MsgPoseRelative
source§impl<'de> Deserialize<'de> for MsgPoseRelative
impl<'de> Deserialize<'de> for MsgPoseRelative
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl FriendlyName for MsgPoseRelative
impl FriendlyName for MsgPoseRelative
fn friendly_name() -> &'static str
source§impl From<MsgPoseRelative> for Sbp
impl From<MsgPoseRelative> for Sbp
source§fn from(msg: MsgPoseRelative) -> Self
fn from(msg: MsgPoseRelative) -> Self
source§impl PartialEq for MsgPoseRelative
impl PartialEq for MsgPoseRelative
source§fn eq(&self, other: &MsgPoseRelative) -> bool
fn eq(&self, other: &MsgPoseRelative) -> bool
self
and other
values to be equal, and is used
by ==
.