robotics_signals/sensors/
imu.rs

1use crate::{
2    geometry::{Quarternion, Vector3},
3    standard::Header,
4};
5use cdds_derive::*;
6use cyclonedds_rs::*;
7use serde_derive::{Deserialize, Serialize};
8
9#[repr(C)]
10#[derive(Serialize, Deserialize, Topic)]
11pub struct Imu {
12    pub header: Header,
13
14    pub orientation: Quarternion,
15    /// Row major about x, y, z axes
16    pub orientation_covariance: [f64; 9],
17
18    pub angular_velocity: Vector3,
19    ///  Row major about x, y, z axes
20    pub angular_velocity_covariance: [f64; 9],
21
22    pub linear_acceleration: Vector3,
23    /// Row major x, y z
24    pub linear_acceleration_covariance: [f64; 9],
25}