ros2_interfaces_rolling/radar_msgs/msg/
radar_track.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct RadarTrack {
5    pub uuid: crate::unique_identifier_msgs::msg::UUID,
6    pub position: crate::geometry_msgs::msg::Point,
7    pub velocity: crate::geometry_msgs::msg::Vector3,
8    pub acceleration: crate::geometry_msgs::msg::Vector3,
9    pub size: crate::geometry_msgs::msg::Vector3,
10    pub classification: u16,
11    pub position_covariance: [f32; 6],
12    pub velocity_covariance: [f32; 6],
13    pub acceleration_covariance: [f32; 6],
14    pub size_covariance: [f32; 6],
15}
16
17impl RadarTrack {
18    pub const NO_CLASSIFICATION: u16 = 0;
19    pub const STATIC: u16 = 1;
20    pub const DYNAMIC: u16 = 2;
21}
22
23impl Default for RadarTrack {
24    fn default() -> Self {
25        RadarTrack {
26            uuid: crate::unique_identifier_msgs::msg::UUID::default(),
27            position: crate::geometry_msgs::msg::Point::default(),
28            velocity: crate::geometry_msgs::msg::Vector3::default(),
29            acceleration: crate::geometry_msgs::msg::Vector3::default(),
30            size: crate::geometry_msgs::msg::Vector3::default(),
31            classification: 0,
32            position_covariance: [0.0; 6],
33            velocity_covariance: [0.0; 6],
34            acceleration_covariance: [0.0; 6],
35            size_covariance: [0.0; 6],
36        }
37    }
38}
39
40impl ros2_client::Message for RadarTrack {}