erosbag_core/ros_messages/
nav_msgs.rs

1///! Implementation of the [`nav_msgs`] messages of ROS2.
2///!
3///! [`nav_msgs`]: https://github.com/ros2/common_interfaces/tree/rolling/nav_msgs/msg
4use super::geometry_msgs;
5use super::std_msgs;
6use crate::ros_messages::{MessageType, RosMessageType};
7use serde_derive::{Deserialize, Serialize};
8
9/// Implements the [`Odometry`] message of ROS2.
10///
11/// [`Odometry`]: https://github.com/ros2/common_interfaces/blob/rolling/nav_msgs/msg/Odometry.msg
12#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
13pub struct Odometry {
14    pub header: std_msgs::Header,
15    pub child_frame_id: String,
16    pub pose: geometry_msgs::PoseWithCovariance,
17    pub twist: geometry_msgs::TwistWithCovariance,
18}
19
20impl MessageType for Odometry {
21    fn ros_message_type(&self) -> &RosMessageType {
22        &RosMessageType::NavMessagesOdometry
23    }
24}