38 explicit Odometry(
size_t velocity_rolling_window_size = 10);
41 void init(
const rclcpp::Time & time);
43 "Replaced by bool update_from_pos(double left_pos, double right_pos, double "
45 bool update(
double left_pos,
double right_pos,
const rclcpp::Time & time);
47 "Replaced by bool update_from_vel(double left_vel, double right_vel, double "
49 bool updateFromVelocity(
double left_vel,
double right_vel,
const rclcpp::Time & time);
51 "Replaced by bool try_update_open_loop(double linear_vel, double angular_vel, double "
53 void updateOpenLoop(
double linear,
double angular,
const rclcpp::Time & time);
55 bool update_from_pos(
double left_pos,
double right_pos,
double dt);
56 bool update_from_vel(
double left_vel,
double right_vel,
double dt);
57 bool try_update_open_loop(
double linear_vel,
double angular_vel,
double dt);
60 double getX()
const {
return x_; }
61 double getY()
const {
return y_; }
62 double getHeading()
const {
return heading_; }
63 double getLinear()
const {
return linear_; }
64 double getAngular()
const {
return angular_; }
66 void setWheelParams(
double wheel_separation,
double left_wheel_radius,
double right_wheel_radius);
67 void setVelocityRollingWindowSize(
size_t velocity_rolling_window_size);
71#if RCPPUTILS_VERSION_MAJOR >= 2 && RCPPUTILS_VERSION_MINOR >= 6
72 using RollingMeanAccumulator = rcpputils::RollingMeanAccumulator<double>;
74 using RollingMeanAccumulator = rcppmath::RollingMeanAccumulator<double>;
77 [[deprecated(
"Replaced by void integrate(double linear_vel, double angular_vel, double dt).")]]
78 void integrateRungeKutta2(
double linear,
double angular);
79 [[deprecated(
"Replaced by void integrate(double linear_vel, double angular_vel, double dt).")]]
80 void integrateExact(
double linear,
double angular);
82 void integrate(
double linear_vel,
double angular_vel,
double dt);
83 void resetAccumulators();
86 rclcpp::Time timestamp_;
98 double wheel_separation_;
99 double left_wheel_radius_;
100 double right_wheel_radius_;
103 double left_wheel_old_pos_;
104 double right_wheel_old_pos_;
107 size_t velocity_rolling_window_size_;
108 RollingMeanAccumulator linear_accumulator_;
109 RollingMeanAccumulator angular_accumulator_;