carographer流程

node_main.cc  93   Run启动
              58   Node初始化
              64   node.StartTrajectoryWithDefaultTopics(trajectory_options);

node.cc       517  StartTrajectoryWithDefaultTopics
              520  AddTrajectory(options, DefaultSensorTopics());
              335  AddTrajectory
              340  map_builder_bridge_.AddTrajectory(expected_sensor_ids, options);

map_builder_bridge.cc  120 AddTrajectory
                       124 const int trajectory_id = map_builder_->AddTrajectoryBuilder
                       130 输出创建轨迹trajectory_id

map_builder_interface.h  54  虚函数AddTrajectoryBuilder
map_builder.h            45  重写虚函数AddTrajectoryBuilder
map_builder.cc           98  重写虚函数AddTrajectoryBuilder
                         102 trajectory_id = trajectory_builders_.size()
                         121 local_trajectory_builder = common::make_unique<LocalTrajectoryBuilder2D>(trajectory_options.trajectory_builder_2d_options(),SelectRangeSensorIds(expected_sensor_ids));
local_trajectory_builder_2d.cc   36  构造函数active_submaps_(options.submaps_options()),
submap_2d.cc             129  构造函数ActiveSubmaps2D
                         134  AddSubmap(Eigen::Vector2f::Zero());添加第一个submap
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××



collator_interface.h      54    虚函数AddSensorData
                          49    虚函数FinishTrajectory(int trajectory_id)
trajectory_collator.h     49    重写虚函数 AddSensorData
                          47    重写虚函数FinishTrajectory
collator.cc               36    重写虚函数Collator::FinishTrajectory(const int trajectory_id)
                          42    重写虚函数void Collator::AddSensorData(const int trajectory_id,std::unique_ptr<Data> data)
ordered_multi_queue.cc    54    MarkQueueAsFinished   60    Dispatch()
                          63    Add                   64    Dispatch()
                          92    Dispatch()
                          124   const common::Time common_start_time =GetCommonStartTime(next_queue_key.trajectory_id);
                          161   GetCommonStartTime(const int trajectory_id)
                          172   输出为轨迹0提供好传感器的时间


×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××8

sensor_bridge.cc        64    HandleOdometryMessage    69  trajectory_builder_->AddSensorData
                        75    HandleNavSatFixMessage   79  trajectory_builder_->AddSensorData
                        101   HandleLandmarkMessage    104 trajectory_builder_->AddSensorData
                        137   HandleImuMessage         141 trajectory_builder_->AddSensorData
                        222   HandleRangefinder        228 trajectory_builder_->AddSensorData
trajectory_builder_interface.h   96-107  虚函数AddSensorData
global_trajectory_builder.cc    52/94/103/113   虚函数重载AddSensorData
global_trajectory_builder.h     33/39 CreateGlobalTrajectoryBuilder2D/CreateGlobalTrajectoryBuilder3D
map_builder.cc          129/114  CreateGlobalTrajectoryBuilder2D/CreateGlobalTrajectoryBuilder3D
collated_trajectory_builder.cc  33  构造函数CollatedTrajectoryBuilder,继承TrajectoryBuilderInterface
trajectory_builder_interface.h  48  类定义TrajectoryBuilderInterface
map_builder.cc          126/111 trajectory_builders_.push_back
                        98      AddTrajectoryBuilder
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
global_trajectory_builder.cc    52/94/103/113   虚函数重载AddSensorData
                                52 AddSensorData  58 local_trajectory_builder_->AddRangeData
                                86 AddSensorData  89 local_trajectory_builder_->AddImuData(imu_data);  91 pose_graph_->AddImuData(trajectory_id_, imu_data);
                                94 AddSensorData  98 local_trajectory_builder_->AddOdometryData(odometry_data); 100 pose_graph_->AddOdometryData(trajectory_id_, odometry_data);

map_builder.cc                  119  std::unique_ptr<LocalTrajectoryBuilder2D> local_trajectory_builder;
local_trajectory_builder_2d.h   71  AddRangeData
                                74  AddImuData
                                75  AddOdometryData
local_trajectory_builder_2d.cc  112  range_data_collator_.AddRangeData(sensor_id, unsynchronized_data);
                                288  extrapolator_->AddImuData(imu_data);                              /初始化extrapolator_
                                298  extrapolator_->AddOdometryData(odometry_data);

---->
range_data_collator.cc          28   AddRangeData
pose_extrapolator.cc            91   AddImuData
                                98   AddOdometryData
*********************************************************************************************************************************************************
collated_trajectory_builder.cc   56   HandleCollatedSensorData
                                 46   回调函数HandleCollatedSensorData
collator_interface.h             43   AddTrajectory
trajectory_collator.h            43   AddTrajectory
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
submap_2d.cc                     187  输出添加submap信息
                                 177  AddSubmap
                                 148  AddSubmap(range_data.origin.head<2>());
                                 143  InsertRangeData
local_trajectory_builder_2d.cc   266  active_submaps_.InsertRangeData(range_data_in_local);
                                 251  InsertIntoSubmap
                                 240  InsertIntoSubmap(time, range_data_in_local, gravity_aligned_range_data,pose_estimate, gravity_alignment.rotation());
                                 210  AddAccumulatedRangeData
                                 199  AddAccumulatedRangeData
                                 108  AddRangeData
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
constraint_builder_2d.cc         281  输出约束信息
                                 270  RunWhenDoneCallback()
                                 154  设置回调函数when_done_task_->SetWorkItem([this] { RunWhenDoneCallback(); });
                                 146  WhenDone
pose_graph_2d.cc                 304  constraint_builder_.WhenDone
                                 384  constraint_builder_.WhenDone
                                 410  constraint_builder_.WhenDone
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
optimization_problem_2d.cc       306  LOG(INFO) << summary.FullReport();
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
constraint_builder_2d.cc         266 LOG(INFO) << info.str();
                                 180 ComputeConstraint
                                 97  ComputeConstraint    75   MaybeAddConstraint
                                 122 ComputeConstraint    107  MaybeAddGlobalConstraint

pose_graph_2d.cc                 214  constraint_builder_.MaybeAddConstraint
                                 219  constraint_builder_.MaybeAddGlobalConstraint
                                 192  ComputeConstraint
                                 276  ComputeConstraint(node_id, submap_id_data.id);
                                 235  ComputeConstraintsForNode
                                 131  ComputeConstraintsForNode(node_id, insertion_submaps,newly_finished_submap);
                                 103  AddNode
local_slam_result_2d.cc          39   AddNode(std::make_shared<const mapping::TrajectoryNode::Data>   29    AddToPoseGraph
global_trajectory_builder.cc     68   auto node_id = pose_graph_->AddNode                             52    AddSensorData
--->
global_trajectory_builder.cc     122  local_slam_result_data->AddToPoseGraph(trajectory_id_, pose_graph_);
                                 118  虚函数重载AddLocalSlamResultData
trajectory_builder_interface.h   111  虚函数 AddLocalSlamResultData
local_slam_result_2d.cc          25   trajectory_builder->AddLocalSlamResultData
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

原文地址:https://www.cnblogs.com/serser/p/11783349.html