17 #ifndef CARTOGRAPHER_MAPPING_3D_SPARSE_POSE_GRAPH_OPTIMIZATION_PROBLEM_H_ 18 #define CARTOGRAPHER_MAPPING_3D_SPARSE_POSE_GRAPH_OPTIMIZATION_PROBLEM_H_ 26 #include "Eigen/Geometry" 30 #include "cartographer/mapping/sparse_pose_graph/proto/optimization_problem_options.pb.h" 34 namespace mapping_3d {
35 namespace sparse_pose_graph {
51 enum class FixZ { kYes, kNo };
54 const mapping::sparse_pose_graph::proto::OptimizationProblemOptions&
63 const Eigen::Vector3d& linear_acceleration,
64 const Eigen::Vector3d& angular_velocity);
65 void AddTrajectoryNode(
int trajectory_id,
common::Time time,
69 void SetMaxNumIterations(
int32 max_num_iterations);
72 void Solve(
const std::vector<Constraint>& constraints);
74 const std::vector<std::vector<NodeData>>& node_data()
const;
75 const std::vector<std::vector<SubmapData>>& submap_data()
const;
78 mapping::sparse_pose_graph::proto::OptimizationProblemOptions
options_;
83 double gravity_constant_ = 9.8;
90 #endif // CARTOGRAPHER_MAPPING_3D_SPARSE_POSE_GRAPH_OPTIMIZATION_PROBLEM_H_
std::vector< std::deque< ImuData > > imu_data_
std::vector< std::vector< NodeData > > node_data_
std::vector< std::vector< SubmapData > > submap_data_
UniversalTimeScaleClock::time_point Time
transform::Rigid3d point_cloud_pose
mapping::sparse_pose_graph::proto::OptimizationProblemOptions options_