#include <pose_extrapolator.h>
Classes | |
struct | TimedPose |
Public Member Functions | |
void | AddImuData (const sensor::ImuData &imu_data) |
void | AddOdometryData (const sensor::OdometryData &odometry_data) |
void | AddPose (common::Time time, const transform::Rigid3d &pose) |
Eigen::Quaterniond | EstimateGravityOrientation (common::Time time) |
transform::Rigid3d | ExtrapolatePose (common::Time time) |
common::Time | GetLastExtrapolatedTime () const |
common::Time | GetLastPoseTime () const |
PoseExtrapolator & | operator= (const PoseExtrapolator &) |
PoseExtrapolator (common::Duration pose_queue_duration, double imu_gravity_time_constant) | |
PoseExtrapolator (const PoseExtrapolator &) | |
Static Public Member Functions | |
static std::unique_ptr < PoseExtrapolator > | InitializeWithImu (common::Duration pose_queue_duration, double imu_gravity_time_constant, const sensor::ImuData &imu_data) |
Private Member Functions | |
void | AdvanceImuTracker (common::Time time, ImuTracker *imu_tracker) const |
Eigen::Quaterniond | ExtrapolateRotation (common::Time time, ImuTracker *imu_tracker) const |
Eigen::Vector3d | ExtrapolateTranslation (common::Time time) |
void | TrimImuData () |
void | TrimOdometryData () |
void | UpdateVelocitiesFromPoses () |
Private Attributes | |
Eigen::Vector3d | angular_velocity_from_odometry_ = Eigen::Vector3d::Zero() |
Eigen::Vector3d | angular_velocity_from_poses_ = Eigen::Vector3d::Zero() |
TimedPose | cached_extrapolated_pose_ |
std::unique_ptr< ImuTracker > | extrapolation_imu_tracker_ |
const double | gravity_time_constant_ |
std::deque< sensor::ImuData > | imu_data_ |
std::unique_ptr< ImuTracker > | imu_tracker_ |
Eigen::Vector3d | linear_velocity_from_odometry_ = Eigen::Vector3d::Zero() |
Eigen::Vector3d | linear_velocity_from_poses_ = Eigen::Vector3d::Zero() |
std::deque< sensor::OdometryData > | odometry_data_ |
std::unique_ptr< ImuTracker > | odometry_imu_tracker_ |
const common::Duration | pose_queue_duration_ |
std::deque< TimedPose > | timed_pose_queue_ |
Definition at line 35 of file pose_extrapolator.h.
cartographer::mapping::PoseExtrapolator::PoseExtrapolator | ( | common::Duration | pose_queue_duration, |
double | imu_gravity_time_constant | ||
) | [explicit] |
Definition at line 28 of file pose_extrapolator.cc.
void cartographer::mapping::PoseExtrapolator::AddImuData | ( | const sensor::ImuData & | imu_data | ) |
void cartographer::mapping::PoseExtrapolator::AddOdometryData | ( | const sensor::OdometryData & | odometry_data | ) |
void cartographer::mapping::PoseExtrapolator::AddPose | ( | common::Time | time, |
const transform::Rigid3d & | pose | ||
) |
void cartographer::mapping::PoseExtrapolator::AdvanceImuTracker | ( | common::Time | time, |
ImuTracker * | imu_tracker | ||
) | const [private] |
Eigen::Quaterniond cartographer::mapping::PoseExtrapolator::EstimateGravityOrientation | ( | common::Time | time | ) |
transform::Rigid3d cartographer::mapping::PoseExtrapolator::ExtrapolatePose | ( | common::Time | time | ) |
Eigen::Quaterniond cartographer::mapping::PoseExtrapolator::ExtrapolateRotation | ( | common::Time | time, |
ImuTracker * | imu_tracker | ||
) | const [private] |
Eigen::Vector3d cartographer::mapping::PoseExtrapolator::ExtrapolateTranslation | ( | common::Time | time | ) | [private] |
common::Time cartographer::mapping::PoseExtrapolator::GetLastExtrapolatedTime | ( | ) | const |
common::Time cartographer::mapping::PoseExtrapolator::GetLastPoseTime | ( | ) | const |
static std::unique_ptr<PoseExtrapolator> cartographer::mapping::PoseExtrapolator::InitializeWithImu | ( | common::Duration | pose_queue_duration, |
double | imu_gravity_time_constant, | ||
const sensor::ImuData & | imu_data | ||
) | [static] |
PoseExtrapolator& cartographer::mapping::PoseExtrapolator::operator= | ( | const PoseExtrapolator & | ) |
void cartographer::mapping::PoseExtrapolator::TrimImuData | ( | ) | [private] |
void cartographer::mapping::PoseExtrapolator::TrimOdometryData | ( | ) | [private] |
void cartographer::mapping::PoseExtrapolator::UpdateVelocitiesFromPoses | ( | ) | [private] |
Eigen::Vector3d cartographer::mapping::PoseExtrapolator::angular_velocity_from_odometry_ = Eigen::Vector3d::Zero() [private] |
Definition at line 88 of file pose_extrapolator.h.
Eigen::Vector3d cartographer::mapping::PoseExtrapolator::angular_velocity_from_poses_ = Eigen::Vector3d::Zero() [private] |
Definition at line 77 of file pose_extrapolator.h.
Definition at line 84 of file pose_extrapolator.h.
std::unique_ptr<ImuTracker> cartographer::mapping::PoseExtrapolator::extrapolation_imu_tracker_ [private] |
Definition at line 83 of file pose_extrapolator.h.
const double cartographer::mapping::PoseExtrapolator::gravity_time_constant_ [private] |
Definition at line 79 of file pose_extrapolator.h.
std::deque<sensor::ImuData> cartographer::mapping::PoseExtrapolator::imu_data_ [private] |
Definition at line 80 of file pose_extrapolator.h.
std::unique_ptr<ImuTracker> cartographer::mapping::PoseExtrapolator::imu_tracker_ [private] |
Definition at line 81 of file pose_extrapolator.h.
Eigen::Vector3d cartographer::mapping::PoseExtrapolator::linear_velocity_from_odometry_ = Eigen::Vector3d::Zero() [private] |
Definition at line 87 of file pose_extrapolator.h.
Eigen::Vector3d cartographer::mapping::PoseExtrapolator::linear_velocity_from_poses_ = Eigen::Vector3d::Zero() [private] |
Definition at line 76 of file pose_extrapolator.h.
std::deque<sensor::OdometryData> cartographer::mapping::PoseExtrapolator::odometry_data_ [private] |
Definition at line 86 of file pose_extrapolator.h.
std::unique_ptr<ImuTracker> cartographer::mapping::PoseExtrapolator::odometry_imu_tracker_ [private] |
Definition at line 82 of file pose_extrapolator.h.
const common::Duration cartographer::mapping::PoseExtrapolator::pose_queue_duration_ [private] |
Definition at line 70 of file pose_extrapolator.h.
std::deque<TimedPose> cartographer::mapping::PoseExtrapolator::timed_pose_queue_ [private] |
Definition at line 75 of file pose_extrapolator.h.