ros2_interfaces_humble/rtabmap_msgs/msg/
sensor_data.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct SensorData {
5    pub header: crate::std_msgs::msg::Header,
6    pub left: crate::sensor_msgs::msg::Image,
7    pub right: crate::sensor_msgs::msg::Image,
8    pub left_compressed: Vec<u8>,
9    pub right_compressed: Vec<u8>,
10    pub left_camera_info: Vec<crate::sensor_msgs::msg::CameraInfo>,
11    pub right_camera_info: Vec<crate::sensor_msgs::msg::CameraInfo>,
12    pub local_transform: Vec<crate::geometry_msgs::msg::Transform>,
13    pub laser_scan: crate::sensor_msgs::msg::PointCloud2,
14    pub laser_scan_compressed: Vec<u8>,
15    pub laser_scan_max_pts: i32,
16    pub laser_scan_max_range: f32,
17    pub laser_scan_format: i32,
18    pub laser_scan_local_transform: crate::geometry_msgs::msg::Transform,
19    pub user_data: Vec<u8>,
20    pub grid_ground: Vec<u8>,
21    pub grid_obstacles: Vec<u8>,
22    pub grid_empty_cells: Vec<u8>,
23    pub grid_cell_size: f32,
24    pub grid_view_point: crate::rtabmap_msgs::msg::Point3f,
25    pub key_points: Vec<crate::rtabmap_msgs::msg::KeyPoint>,
26    pub points: Vec<crate::rtabmap_msgs::msg::Point3f>,
27    pub descriptors: Vec<u8>,
28    pub global_descriptors: Vec<crate::rtabmap_msgs::msg::GlobalDescriptor>,
29    pub env_sensors: Vec<crate::rtabmap_msgs::msg::EnvSensor>,
30    pub imu: crate::sensor_msgs::msg::Imu,
31    pub imu_local_transform: crate::geometry_msgs::msg::Transform,
32    pub landmarks: Vec<crate::rtabmap_msgs::msg::LandmarkDetection>,
33    pub ground_truth_pose: crate::geometry_msgs::msg::Pose,
34    pub gps: crate::rtabmap_msgs::msg::GPS,
35}
36
37impl Default for SensorData {
38    fn default() -> Self {
39        SensorData {
40            header: crate::std_msgs::msg::Header::default(),
41            left: crate::sensor_msgs::msg::Image::default(),
42            right: crate::sensor_msgs::msg::Image::default(),
43            left_compressed: Vec::new(),
44            right_compressed: Vec::new(),
45            left_camera_info: Vec::new(),
46            right_camera_info: Vec::new(),
47            local_transform: Vec::new(),
48            laser_scan: crate::sensor_msgs::msg::PointCloud2::default(),
49            laser_scan_compressed: Vec::new(),
50            laser_scan_max_pts: 0,
51            laser_scan_max_range: 0.0,
52            laser_scan_format: 0,
53            laser_scan_local_transform: crate::geometry_msgs::msg::Transform::default(),
54            user_data: Vec::new(),
55            grid_ground: Vec::new(),
56            grid_obstacles: Vec::new(),
57            grid_empty_cells: Vec::new(),
58            grid_cell_size: 0.0,
59            grid_view_point: crate::rtabmap_msgs::msg::Point3f::default(),
60            key_points: Vec::new(),
61            points: Vec::new(),
62            descriptors: Vec::new(),
63            global_descriptors: Vec::new(),
64            env_sensors: Vec::new(),
65            imu: crate::sensor_msgs::msg::Imu::default(),
66            imu_local_transform: crate::geometry_msgs::msg::Transform::default(),
67            landmarks: Vec::new(),
68            ground_truth_pose: crate::geometry_msgs::msg::Pose::default(),
69            gps: crate::rtabmap_msgs::msg::GPS::default(),
70        }
71    }
72}
73
74impl ros2_client::Message for SensorData {}