13#ifndef _DEPTH_ODOMETRY_HPP
14#define _DEPTH_ODOMETRY_HPP
16#include <driver_msgs/msg/depth.hpp>
17#include <localization_msgs/msg/odometry.hpp>
18#include <rclcpp/rclcpp.hpp>
19#include <std_srvs/srv/trigger.hpp>
43 rclcpp::Publisher<localization_msgs::msg::Odometry>::SharedPtr pub_;
44 rclcpp::Subscription<driver_msgs::msg::Depth>::SharedPtr sub_;
45 rclcpp::Service<std_srvs::srv::Trigger>::SharedPtr srv_;
49 rclcpp::Time pre_time;
50 double pre_pos_z = 0.0;
53 std::array<double, DEPTH_SMA_SUMPLE_NUM> vel_z_list;
54 double offset_pos_z = 0.0;
63 void update_callback(
const driver_msgs::msg::Depth::UniquePtr msg);
70 const std_srvs::srv::Trigger::Request::SharedPtr request,
71 const std_srvs::srv::Trigger::Response::SharedPtr response);
Depth odometry class.
Definition: depth_odometry_component.hpp:41
void reset()
Set previous depth data to 0, and Reset timer.
Definition: depth_odometry_component.cpp:92
const int DEPTH_SMA_SUMPLE_NUM
Number of TAP for simple moving average.
Definition: depth_odometry_component.hpp:32
const float sea2fresh_scale
Convert to sea to fresh density.
Definition: depth_odometry_component.hpp:35
const float EMA_ALPHA
parameter of Exponential Moving Average
Definition: depth_odometry_component.hpp:29