ros2_interfaces_iron/marti_nav_msgs/msg/
tracked_object.rs

1use 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 {}