Class PoseExtrapolatorInterface

Nested Relationships

Nested Types

Inheritance Relationships

Derived Types

Class Documentation

class PoseExtrapolatorInterface

Subclassed by cartographer::mapping::ImuBasedPoseExtrapolator, cartographer::mapping::PoseExtrapolator

Public Functions

PoseExtrapolatorInterface(const PoseExtrapolatorInterface&) = delete
PoseExtrapolatorInterface &operator=(const PoseExtrapolatorInterface&) = delete
inline virtual ~PoseExtrapolatorInterface()
virtual common::Time GetLastPoseTime() const = 0
virtual common::Time GetLastExtrapolatedTime() const = 0
virtual void AddPose(common::Time time, const transform::Rigid3d &pose) = 0
virtual void AddImuData(const sensor::ImuData &imu_data) = 0
virtual void AddOdometryData(const sensor::OdometryData &odometry_data) = 0
virtual transform::Rigid3d ExtrapolatePose(common::Time time) = 0
virtual ExtrapolationResult ExtrapolatePosesWithGravity(const std::vector<common::Time> &times) = 0
virtual Eigen::Quaterniond EstimateGravityOrientation(common::Time time) = 0

Public Static Functions

static std::unique_ptr<PoseExtrapolatorInterface> CreateWithImuData(const proto::PoseExtrapolatorOptions &options, const std::vector<sensor::ImuData> &imu_data, const std::vector<transform::TimestampedTransform> &initial_poses)

Protected Functions

inline PoseExtrapolatorInterface()
struct ExtrapolationResult

Public Members

std::vector<transform::Rigid3f> previous_poses
transform::Rigid3d current_pose
Eigen::Vector3d current_velocity
Eigen::Quaterniond gravity_from_tracking