ros2_interfaces_iron/marti_nav_msgs/msg/
tracked_object.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct TrackedObject {
5 pub header: crate::std_msgs::msg::Header,
6 pub id: u16,
7 pub pose: crate::geometry_msgs::msg::PoseWithCovariance,
8 pub velocity: crate::geometry_msgs::msg::TwistWithCovariance,
9 pub linear_acceleration: crate::geometry_msgs::msg::Vector3,
10 pub linear_acceleration_covariance: [f64; 9],
11 pub polygon: Vec<crate::geometry_msgs::msg::Point>,
12 pub length: f32,
13 pub length_quality: f32,
14 pub width: f32,
15 pub width_quality: f32,
16 pub classification: u8,
17 pub classification_quality: f32,
18 pub existence_probability: f32,
19 pub age_duration: crate::builtin_interfaces::msg::Duration,
20 pub prediction_duration: crate::builtin_interfaces::msg::Duration,
21 pub active: bool,
22}
23
24impl TrackedObject {
25 pub const VEHICLE: u8 = 0;
26 pub const PEDESTRIAN: u8 = 1;
27 pub const UNKNOWN: u8 = 255;
28}
29
30impl Default for TrackedObject {
31 fn default() -> Self {
32 TrackedObject {
33 header: crate::std_msgs::msg::Header::default(),
34 id: 0,
35 pose: crate::geometry_msgs::msg::PoseWithCovariance::default(),
36 velocity: crate::geometry_msgs::msg::TwistWithCovariance::default(),
37 linear_acceleration: crate::geometry_msgs::msg::Vector3::default(),
38 linear_acceleration_covariance: [0.0; 9],
39 polygon: Vec::new(),
40 length: 0.0,
41 length_quality: 0.0,
42 width: 0.0,
43 width_quality: 0.0,
44 classification: 0,
45 classification_quality: 0.0,
46 existence_probability: 0.0,
47 age_duration: crate::builtin_interfaces::msg::Duration::default(),
48 prediction_duration: crate::builtin_interfaces::msg::Duration::default(),
49 active: false,
50 }
51 }
52}
53
54impl ros2_client::Message for TrackedObject {}