Common
common packages for kyubic
 
Loading...
Searching...
No Matches
dvl_odometry_component.hpp
Go to the documentation of this file.
1
12#ifndef _DVL_ODOMETRY_HPP
13#define _DVL_ODOMETRY_HPP
14
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>
21
22#include "std_srvs/srv/trigger.hpp"
23
28namespace localization::dvl
29{
30
31const double RADIAN_SCALE = std::numbers::pi / 180.0;
32
36class DVLOdometry : public rclcpp::Node
37{
38private:
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_;
43
44 rclcpp::Time pre_time;
45
46 std::array<float, 3> offset;
47 std::shared_ptr<localization_msgs::msg::Odometry> imu_msg_;
48
49 double pos_x = 0.0;
50 double pos_y = 0.0;
51
58 void update_callback(const driver_msgs::msg::DVL::UniquePtr msg);
59
65 void update_imu_callback(const localization_msgs::msg::Odometry::UniquePtr msg);
66
71 void reset_callback(
72 const std_srvs::srv::Trigger::Request::SharedPtr request,
73 const std_srvs::srv::Trigger::Response::SharedPtr response);
74
75public:
81 explicit DVLOdometry(const rclcpp::NodeOptions & options);
82
86 void reset();
87};
88} // namespace localization::dvl
89
90#endif
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
localization
const double RADIAN_SCALE
Definition: dvl_odometry_component.hpp:31