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
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
carographer流程的更多相关文章
- Linux下服务器端开发流程及相关工具介绍(C++)
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...
- 基于netty http协议栈的轻量级流程控制组件的实现
今儿个是冬至,所谓“冬大过年”,公司也应景五点钟就放大伙儿回家吃饺子喝羊肉汤了,而我本着极高的职业素养依然坚持留在公司(实则因为没饺子吃没羊肉汤喝,只能呆公司吃食堂……).趁着这一个多小时的时间,想跟 ...
- 通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流程[下]:管道是如何构建起来的?
在<中篇>中,我们对管道的构成以及它对请求的处理流程进行了详细介绍,接下来我们需要了解的是这样一个管道是如何被构建起来的.总的来说,管道由一个服务器和一个HttpApplication构成 ...
- nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)
本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,上一篇分享文章制作是在windows上使用的nginx,一般正式发布的时候是在linux来配 ...
- 8、Struts2 运行流程分析
1.流程分析: 请求发送给 StrutsPrepareAndExecuteFilter StrutsPrepareAndExecuteFilter 询问 ActionMapper: 该请求是否是一个 ...
- Hawk 6. 高级话题:子流程系统
子流程的定义 当流程设计的越来越复杂,越来越长时,就难以进行管理了.因此,采用模块化的设计才会更加合理.本节我们介绍子流程的原理和使用. 所谓子流程,就是能先构造出一个流程,然后被其他流程调用.被调用 ...
- 流程开发Activiti 与SpringMVC整合实例
流程(Activiti) 流程是完成一系列有序动作的概述.每一个节点动作的结果将对后面的具体操作步骤产生影响.信息化系统中流程的功能完全等同于纸上办公的层级审批,尤其在oa系统中各类电子流提现较为明显 ...
- zookeeper源码分析之五服务端(集群leader)处理请求流程
leader的实现类为LeaderZooKeeperServer,它间接继承自标准ZookeeperServer.它规定了请求到达leader时需要经历的路径: PrepRequestProcesso ...
- zookeeper源码分析之四服务端(单机)处理请求流程
上文: zookeeper源码分析之一服务端启动过程 中,我们介绍了zookeeper服务器的启动过程,其中单机是ZookeeperServer启动,集群使用QuorumPeer启动,那么这次我们分析 ...
随机推荐
- nofollow标签浪费了多少站长做外链的时间
对于rel=“external nofollow”和rel=“nofollow”,这两句代码,使用起来效果基本是一致的,只是前者较后者更为规范一点,两者翻译过来的意思就是:rel=“external ...
- loj 2759「JOI 2014 Final」飞天鼠
loj 这题有在一棵树上上升或者下降的操作,稍加分析后可以发现上升操作如果不是一定要做(指高度不足以到下一棵树或者是最后到达\(n\))就不做,下降操作也是如果不是一定要做(指到达下一棵树时高度过高) ...
- 微信小程序子传父
子组件 父组件
- ios上滚动不顺畅css处理方式
overflow-y: auto; -webkit-overflow-scrolling: touch;
- Windows defender怎么才能彻底关闭?
据不久前的一项测试表明,Windows系统自带的Windows defender软件在所有参与测试的杀毒安全软件中对win10的运行速度影响最大. 而Win10系统的Windows defender会 ...
- 从 Android 源码到 apk 的编译打包流程
文中涉及到的工具所在目录:Android/sdk/build-tools.下面开始分解并逐步实现对源码的打包. 编译流程 1. 生成仅包含资源文件的 apk 包和 R.java 文件 根据资源文件和 ...
- Delphi MSComm 控件方法
- XML和XML解析
1. XML文件: 什么是XML?XML一般是指可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 2.XML文件的优点: 1)XML文档内容和结构完全分离. 2 ...
- QTP(2)
注意: 在使用QTP录制代码时,能使用鼠标点击的就不要使用键盘操作,能单击的操作就不要使用双击 一.QTP的工作流程 1.录制测试脚本前的准备: a.分析被测系统是否可以实现自动化测试 b.分析被测系 ...
- chrome插件开发-notification API注意事项
1.win10系统,在系统设置里面,设置开启Google Chrome通知 2.iconUrl必须设置,且图片为ico格式