pub struct EndPoseState {
pub hardware_timestamp_us: u64,
pub system_timestamp_us: u64,
pub end_pose: [f64; 6],
pub frame_valid_mask: u8,
}Expand description
末端位姿状态(帧组同步)
更新频率:~500Hz CAN ID:0x2A2-0x2A4
Fields§
§hardware_timestamp_us: u64硬件时间戳(微秒,来自完整帧组的最后一帧)
system_timestamp_us: u64系统接收时间戳(微秒,系统接收到完整帧组的时间)
end_pose: [f64; 6]末端位姿 [X, Y, Z, Rx, Ry, Rz]
- X, Y, Z: 位置(米)
- 注意:
EndPoseFeedback1.x(),.y(),EndPoseFeedback2.z()返回的是毫米,需要除以 1000.0 转换为米
- 注意:
- Rx, Ry, Rz: 姿态角(弧度,欧拉角或旋转向量)
frame_valid_mask: u8帧组有效性掩码(Bit 0-2 对应 0x2A2, 0x2A3, 0x2A4)
Implementations§
Source§impl EndPoseState
impl EndPoseState
Sourcepub fn is_fully_valid(&self) -> bool
pub fn is_fully_valid(&self) -> bool
检查是否接收到了完整的帧组 (0x2A2, 0x2A3, 0x2A4)
返回值:
true:所有3个CAN帧都已收到,数据完整false:部分CAN帧丢失,数据不完整
Sourcepub fn missing_frames(&self) -> Vec<usize>
pub fn missing_frames(&self) -> Vec<usize>
获取丢失的CAN帧索引(用于调试)
返回值:丢失的CAN帧索引列表(0=0x2A2, 1=0x2A3, 2=0x2A4)
Trait Implementations§
Source§impl Clone for EndPoseState
impl Clone for EndPoseState
Source§fn clone(&self) -> EndPoseState
fn clone(&self) -> EndPoseState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EndPoseState
impl Debug for EndPoseState
Source§impl Default for EndPoseState
impl Default for EndPoseState
Source§fn default() -> EndPoseState
fn default() -> EndPoseState
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for EndPoseState
impl RefUnwindSafe for EndPoseState
impl Send for EndPoseState
impl Sync for EndPoseState
impl Unpin for EndPoseState
impl UnwindSafe for EndPoseState
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more