44 #include <g2o/stuff/misc.h>
56 VelMeasurement measurement;
57 measurement.v = twist.linear.x;
58 measurement.omega = twist.angular.z;
60 if (measurement.v > 0 && v_max>0)
61 measurement.v /= v_max;
62 else if (measurement.v < 0 && v_backwards_max > 0)
63 measurement.v /= v_backwards_max;
66 measurement.omega /= omega_max;
92 double n = (double)
buffer_.size();
97 int omega_zero_crossings = 0;
98 for (
int i=0; i < n; ++i)
101 omega_mean +=
buffer_[i].omega;
102 if ( i>0 && g2o::sign(
buffer_[i].omega) != g2o::sign(
buffer_[i-1].omega) )
103 ++omega_zero_crossings;
108 if (std::abs(v_mean) < v_eps && std::abs(omega_mean) < omega_eps && omega_zero_crossings>1 )