12#ifndef _DVL_ODOMETRY_HPP
13#define _DVL_ODOMETRY_HPP
15#include <driver_msgs/msg/dvl.hpp>
16#include <driver_msgs/msg/imu.hpp>
17#include <localization_msgs/msg/odometry.hpp>
18#include <rclcpp/rclcpp.hpp>
19#include <rclcpp/service.hpp>
20#include <std_srvs/srv/trigger.hpp>
22#include "std_srvs/srv/trigger.hpp"
39 rclcpp::Publisher<localization_msgs::msg::Odometry>::SharedPtr pub_;
40 rclcpp::Subscription<localization_msgs::msg::Odometry>::SharedPtr sub_imu_;
41 rclcpp::Subscription<driver_msgs::msg::DVL>::SharedPtr sub_dvl_;
42 rclcpp::Service<std_srvs::srv::Trigger>::SharedPtr srv_;
44 rclcpp::Time pre_time;
46 std::array<float, 3> offset;
47 std::shared_ptr<localization_msgs::msg::Odometry> imu_msg_;
58 void update_callback(
const driver_msgs::msg::DVL::UniquePtr msg);
65 void update_imu_callback(
const localization_msgs::msg::Odometry::UniquePtr msg);
72 const std_srvs::srv::Trigger::Request::SharedPtr request,
73 const std_srvs::srv::Trigger::Response::SharedPtr response);
81 explicit DVLOdometry(
const rclcpp::NodeOptions & options);
DVL odometry class.
Definition: dvl_odometry_component.hpp:37
void reset()
Set position data to 0, and Reset timer.
Definition: dvl_odometry_component.cpp:110
const double RADIAN_SCALE
Definition: dvl_odometry_component.hpp:31