Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
cartographer::mapping::PoseExtrapolator Class Reference

#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
 
PoseExtrapolatoroperator= (const PoseExtrapolator &)=delete
 
 PoseExtrapolator (common::Duration pose_queue_duration, double imu_gravity_time_constant)
 
 PoseExtrapolator (const PoseExtrapolator &)=delete
 

Static Public Member Functions

static std::unique_ptr< PoseExtrapolatorInitializeWithImu (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< ImuTrackerextrapolation_imu_tracker_
 
const double gravity_time_constant_
 
std::deque< sensor::ImuDataimu_data_
 
std::unique_ptr< ImuTrackerimu_tracker_
 
Eigen::Vector3d linear_velocity_from_odometry_ = Eigen::Vector3d::Zero()
 
Eigen::Vector3d linear_velocity_from_poses_ = Eigen::Vector3d::Zero()
 
std::deque< sensor::OdometryDataodometry_data_
 
std::unique_ptr< ImuTrackerodometry_imu_tracker_
 
const common::Duration pose_queue_duration_
 
std::deque< TimedPosetimed_pose_queue_
 

Detailed Description

Definition at line 35 of file pose_extrapolator.h.

Constructor & Destructor Documentation

◆ PoseExtrapolator() [1/2]

cartographer::mapping::PoseExtrapolator::PoseExtrapolator ( common::Duration  pose_queue_duration,
double  imu_gravity_time_constant 
)
explicit

Definition at line 28 of file pose_extrapolator.cc.

◆ PoseExtrapolator() [2/2]

cartographer::mapping::PoseExtrapolator::PoseExtrapolator ( const PoseExtrapolator )
delete

Member Function Documentation

◆ AddImuData()

void cartographer::mapping::PoseExtrapolator::AddImuData ( const sensor::ImuData imu_data)

Definition at line 91 of file pose_extrapolator.cc.

◆ AddOdometryData()

void cartographer::mapping::PoseExtrapolator::AddOdometryData ( const sensor::OdometryData odometry_data)

Definition at line 98 of file pose_extrapolator.cc.

◆ AddPose()

void cartographer::mapping::PoseExtrapolator::AddPose ( common::Time  time,
const transform::Rigid3d pose 
)

Definition at line 68 of file pose_extrapolator.cc.

◆ AdvanceImuTracker()

void cartographer::mapping::PoseExtrapolator::AdvanceImuTracker ( common::Time  time,
ImuTracker imu_tracker 
) const
private

Definition at line 196 of file pose_extrapolator.cc.

◆ EstimateGravityOrientation()

Eigen::Quaterniond cartographer::mapping::PoseExtrapolator::EstimateGravityOrientation ( common::Time  time)

Definition at line 149 of file pose_extrapolator.cc.

◆ ExtrapolatePose()

transform::Rigid3d cartographer::mapping::PoseExtrapolator::ExtrapolatePose ( common::Time  time)

Definition at line 134 of file pose_extrapolator.cc.

◆ ExtrapolateRotation()

Eigen::Quaterniond cartographer::mapping::PoseExtrapolator::ExtrapolateRotation ( common::Time  time,
ImuTracker imu_tracker 
) const
private

Definition at line 227 of file pose_extrapolator.cc.

◆ ExtrapolateTranslation()

Eigen::Vector3d cartographer::mapping::PoseExtrapolator::ExtrapolateTranslation ( common::Time  time)
private

Definition at line 235 of file pose_extrapolator.cc.

◆ GetLastExtrapolatedTime()

common::Time cartographer::mapping::PoseExtrapolator::GetLastExtrapolatedTime ( ) const

Definition at line 61 of file pose_extrapolator.cc.

◆ GetLastPoseTime()

common::Time cartographer::mapping::PoseExtrapolator::GetLastPoseTime ( ) const

Definition at line 54 of file pose_extrapolator.cc.

◆ InitializeWithImu()

std::unique_ptr< PoseExtrapolator > cartographer::mapping::PoseExtrapolator::InitializeWithImu ( common::Duration  pose_queue_duration,
double  imu_gravity_time_constant,
const sensor::ImuData imu_data 
)
static

Definition at line 35 of file pose_extrapolator.cc.

◆ operator=()

PoseExtrapolator& cartographer::mapping::PoseExtrapolator::operator= ( const PoseExtrapolator )
delete

◆ TrimImuData()

void cartographer::mapping::PoseExtrapolator::TrimImuData ( )
private

Definition at line 182 of file pose_extrapolator.cc.

◆ TrimOdometryData()

void cartographer::mapping::PoseExtrapolator::TrimOdometryData ( )
private

Definition at line 189 of file pose_extrapolator.cc.

◆ UpdateVelocitiesFromPoses()

void cartographer::mapping::PoseExtrapolator::UpdateVelocitiesFromPoses ( )
private

Definition at line 156 of file pose_extrapolator.cc.

Member Data Documentation

◆ angular_velocity_from_odometry_

Eigen::Vector3d cartographer::mapping::PoseExtrapolator::angular_velocity_from_odometry_ = Eigen::Vector3d::Zero()
private

Definition at line 87 of file pose_extrapolator.h.

◆ angular_velocity_from_poses_

Eigen::Vector3d cartographer::mapping::PoseExtrapolator::angular_velocity_from_poses_ = Eigen::Vector3d::Zero()
private

Definition at line 76 of file pose_extrapolator.h.

◆ cached_extrapolated_pose_

TimedPose cartographer::mapping::PoseExtrapolator::cached_extrapolated_pose_
private

Definition at line 83 of file pose_extrapolator.h.

◆ extrapolation_imu_tracker_

std::unique_ptr<ImuTracker> cartographer::mapping::PoseExtrapolator::extrapolation_imu_tracker_
private

Definition at line 82 of file pose_extrapolator.h.

◆ gravity_time_constant_

const double cartographer::mapping::PoseExtrapolator::gravity_time_constant_
private

Definition at line 78 of file pose_extrapolator.h.

◆ imu_data_

std::deque<sensor::ImuData> cartographer::mapping::PoseExtrapolator::imu_data_
private

Definition at line 79 of file pose_extrapolator.h.

◆ imu_tracker_

std::unique_ptr<ImuTracker> cartographer::mapping::PoseExtrapolator::imu_tracker_
private

Definition at line 80 of file pose_extrapolator.h.

◆ linear_velocity_from_odometry_

Eigen::Vector3d cartographer::mapping::PoseExtrapolator::linear_velocity_from_odometry_ = Eigen::Vector3d::Zero()
private

Definition at line 86 of file pose_extrapolator.h.

◆ linear_velocity_from_poses_

Eigen::Vector3d cartographer::mapping::PoseExtrapolator::linear_velocity_from_poses_ = Eigen::Vector3d::Zero()
private

Definition at line 75 of file pose_extrapolator.h.

◆ odometry_data_

std::deque<sensor::OdometryData> cartographer::mapping::PoseExtrapolator::odometry_data_
private

Definition at line 85 of file pose_extrapolator.h.

◆ odometry_imu_tracker_

std::unique_ptr<ImuTracker> cartographer::mapping::PoseExtrapolator::odometry_imu_tracker_
private

Definition at line 81 of file pose_extrapolator.h.

◆ pose_queue_duration_

const common::Duration cartographer::mapping::PoseExtrapolator::pose_queue_duration_
private

Definition at line 69 of file pose_extrapolator.h.

◆ timed_pose_queue_

std::deque<TimedPose> cartographer::mapping::PoseExtrapolator::timed_pose_queue_
private

Definition at line 74 of file pose_extrapolator.h.


The documentation for this class was generated from the following files:


cartographer
Author(s): The Cartographer Authors
autogenerated on Mon Feb 28 2022 22:00:59