86 double maxPoseInterval = 1.0,
87 double velocityWindow = 0.5,
88 double gravity = 9.80665);
90 double maxPoseInterval()
const {
return maxPoseInterval_;}
91 double velocityWindow()
const {
return velocityWindow_;}
92 double gravity()
const {
return gravity_;}
139 void addSample(
double stamp,
const Eigen::Quaterniond & orientation,
const Eigen::Vector3d & acceleration);
143 Eigen::Quaterniond orientation;
144 Eigen::Vector3d acceleration;
146 Eigen::Quaterniond orientationAt(
double stamp)
const;
147 Eigen::Vector3d accelerationAt(
double stamp)
const;
148 void integrate(
double from,
double to,
const Eigen::Quaterniond & rotation,
149 Eigen::Vector3d & velocity, Eigen::Vector3d & position)
const;
150 void updateIntegration()
const;
156 Eigen::Vector3d acceleration;
157 Eigen::Vector3d velocity;
158 Eigen::Vector3d position;
162 double maxPoseInterval_;
163 double velocityWindow_;
165 std::map<double, Sample> samples_;
167 std::map<double, rtabmap::Transform> poses_;
172 Eigen::Vector3d velocity_;
175 Eigen::Quaterniond worldToOdom_;
179 mutable std::map<double, Integrated> integrated_;
182 mutable bool integratedStartIsFinal_;