ros2_interfaces_rolling/derived_object_msgs/msg/
object_with_covariance.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct ObjectWithCovariance {
5 pub header: crate::std_msgs::msg::Header,
6 pub id: u32,
7 pub detection_level: u8,
8 pub object_classified: bool,
9 pub pose: crate::geometry_msgs::msg::PoseWithCovariance,
10 pub twist: crate::geometry_msgs::msg::TwistWithCovariance,
11 pub accel: crate::geometry_msgs::msg::AccelWithCovariance,
12 pub polygon: crate::geometry_msgs::msg::Polygon,
13 pub shape: crate::derived_object_msgs::msg::SolidPrimitiveWithCovariance,
14 pub classification: u8,
15 pub classification_certainty: u8,
16 pub classification_age: u32,
17}
18
19impl ObjectWithCovariance {
20 pub const OBJECT_DETECTED: u8 = 0;
21 pub const OBJECT_TRACKED: u8 = 1;
22 pub const CLASSIFICATION_UNKNOWN: u8 = 0;
23 pub const CLASSIFICATION_UNKNOWN_SMALL: u8 = 1;
24 pub const CLASSIFICATION_UNKNOWN_MEDIUM: u8 = 2;
25 pub const CLASSIFICATION_UNKNOWN_BIG: u8 = 3;
26 pub const CLASSIFICATION_PEDESTRIAN: u8 = 4;
27 pub const CLASSIFICATION_BIKE: u8 = 5;
28 pub const CLASSIFICATION_CAR: u8 = 6;
29 pub const CLASSIFICATION_TRUCK: u8 = 7;
30 pub const CLASSIFICATION_MOTORCYCLE: u8 = 8;
31 pub const CLASSIFICATION_OTHER_VEHICLE: u8 = 9;
32 pub const CLASSIFICATION_BARRIER: u8 = 10;
33 pub const CLASSIFICATION_SIGN: u8 = 11;
34}
35
36impl Default for ObjectWithCovariance {
37 fn default() -> Self {
38 ObjectWithCovariance {
39 header: crate::std_msgs::msg::Header::default(),
40 id: 0,
41 detection_level: 0,
42 object_classified: false,
43 pose: crate::geometry_msgs::msg::PoseWithCovariance::default(),
44 twist: crate::geometry_msgs::msg::TwistWithCovariance::default(),
45 accel: crate::geometry_msgs::msg::AccelWithCovariance::default(),
46 polygon: crate::geometry_msgs::msg::Polygon::default(),
47 shape: crate::derived_object_msgs::msg::SolidPrimitiveWithCovariance::default(),
48 classification: 0,
49 classification_certainty: 0,
50 classification_age: 0,
51 }
52 }
53}
54
55impl ros2_client::Message for ObjectWithCovariance {}