17 #ifndef CARTOGRAPHER_MAPPING_INTERNAL_2D_LOCAL_TRAJECTORY_BUILDER_2D_H_ 18 #define CARTOGRAPHER_MAPPING_INTERNAL_2D_LOCAL_TRAJECTORY_BUILDER_2D_H_ 30 #include "cartographer/mapping/proto/2d/local_trajectory_builder_options_2d.pb.h" 59 const proto::LocalTrajectoryBuilderOptions2D& options,
60 const std::vector<std::string>& expected_range_sensor_ids);
72 const std::string& sensor_id,
91 const Eigen::Quaterniond& gravity_alignment);
95 std::unique_ptr<transform::Rigid2d>
ScanMatch(
102 const proto::LocalTrajectoryBuilderOptions2D
options_;
122 #endif // CARTOGRAPHER_MAPPING_INTERNAL_2D_LOCAL_TRAJECTORY_BUILDER_2D_H_ void AddOdometryData(const sensor::OdometryData &odometry_data)
std::unique_ptr< InsertionResult > InsertIntoSubmap(common::Time time, const sensor::RangeData &range_data_in_local, const sensor::RangeData &gravity_aligned_range_data, const transform::Rigid3d &pose_estimate, const Eigen::Quaterniond &gravity_alignment)
~LocalTrajectoryBuilder2D()
transform::Rigid3d local_pose
sensor::RangeData TransformToGravityAlignedFrameAndFilter(const transform::Rigid3f &transform_to_gravity_aligned_frame, const sensor::RangeData &range_data) const
ActiveSubmaps2D active_submaps_
std::shared_ptr< const TrajectoryNode::Data > constant_data
LocalTrajectoryBuilder2D & operator=(const LocalTrajectoryBuilder2D &)=delete
static void RegisterMetrics(metrics::FamilyFactory *family_factory)
std::vector< std::shared_ptr< const Submap2D > > insertion_submaps
scan_matching::RealTimeCorrelativeScanMatcher2D real_time_correlative_scan_matcher_
void InitializeExtrapolator(common::Time time)
UniversalTimeScaleClock::time_point Time
const proto::LocalTrajectoryBuilderOptions2D options_
LocalTrajectoryBuilder2D(const proto::LocalTrajectoryBuilderOptions2D &options, const std::vector< std::string > &expected_range_sensor_ids)
sensor::RangeData range_data_in_local
std::chrono::steady_clock::time_point accumulation_started_
std::unique_ptr< PoseExtrapolator > extrapolator_
MotionFilter motion_filter_
std::unique_ptr< MatchingResult > AddAccumulatedRangeData(common::Time time, const sensor::RangeData &gravity_aligned_range_data, const transform::Rigid3d &gravity_alignment)
std::unique_ptr< const InsertionResult > insertion_result
void AddImuData(const sensor::ImuData &imu_data)
std::unique_ptr< MatchingResult > AddRangeData(const std::string &sensor_id, const sensor::TimedPointCloudData &range_data)
sensor::RangeData accumulated_range_data_
scan_matching::CeresScanMatcher2D ceres_scan_matcher_
std::unique_ptr< transform::Rigid2d > ScanMatch(common::Time time, const transform::Rigid2d &pose_prediction, const sensor::RangeData &gravity_aligned_range_data)
RangeDataCollator range_data_collator_