17 #ifndef CARTOGRAPHER_MAPPING_INTERNAL_OPTIMIZATION_OPTIMIZATION_PROBLEM_2D_H_ 18 #define CARTOGRAPHER_MAPPING_INTERNAL_OPTIMIZATION_OPTIMIZATION_PROBLEM_2D_H_ 27 #include "Eigen/Geometry" 33 #include "cartographer/mapping/proto/pose_graph/optimization_problem_options.pb.h" 41 namespace optimization {
59 const optimization::proto::OptimizationProblemOptions& options);
65 void AddImuData(
int trajectory_id,
const sensor::ImuData& imu_data)
override;
66 void AddOdometryData(
int trajectory_id,
68 void AddTrajectoryNode(
int trajectory_id,
70 void InsertTrajectoryNode(
const NodeId& node_id,
72 void TrimTrajectoryNode(
const NodeId& node_id)
override;
73 void AddSubmap(
int trajectory_id,
75 void InsertSubmap(
const SubmapId& submap_id,
77 void TrimSubmap(
const SubmapId& submap_id)
override;
78 void SetMaxNumIterations(
int32 max_num_iterations)
override;
81 const std::vector<Constraint>& constraints,
82 const std::set<int>& frozen_trajectories,
83 const std::map<std::string, LandmarkNode>& landmark_nodes)
override;
93 return landmark_data_;
100 return odometry_data_;
104 std::unique_ptr<transform::Rigid3d> InterpolateOdometry(
107 std::unique_ptr<transform::Rigid3d> CalculateOdometryBetweenNodes(
108 int trajectory_id,
const NodeSpec2D& first_node_data,
111 optimization::proto::OptimizationProblemOptions
options_;
123 #endif // CARTOGRAPHER_MAPPING_INTERNAL_OPTIMIZATION_OPTIMIZATION_PROBLEM_2D_H_ std::map< std::string, transform::Rigid3d > landmark_data_
const MapById< SubmapId, SubmapSpec2D > & submap_data() const override
transform::Rigid2d global_pose_2d
MapById< NodeId, NodeSpec2D > node_data_
const MapById< NodeId, NodeSpec2D > & node_data() const override
sensor::MapByTime< sensor::OdometryData > odometry_data_
sensor::MapByTime< sensor::ImuData > imu_data_
transform::Rigid2d local_pose_2d
UniversalTimeScaleClock::time_point Time
MapById< SubmapId, SubmapSpec2D > submap_data_
const sensor::MapByTime< sensor::OdometryData > & odometry_data() const override
transform::Rigid2d global_pose
const std::map< std::string, transform::Rigid3d > & landmark_data() const override
optimization::proto::OptimizationProblemOptions options_
const sensor::MapByTime< sensor::ImuData > & imu_data() const override
Eigen::Quaterniond gravity_alignment