Cartographer总结(2:cartographer的外部封装)
cartographer有两个interface接口,分别是TrajectoryBuilderInterface, MapBuilderInterface。
其中,TrajectoryBuilderInterface中的 LocalSlamResultCallback是对外输出的回调函数,代码中的定义为:当local SLAM计算accumulated 'sensor::Rangedata’时调用该回调函数,如果数据被插入到了submap中,报告相应的NodeId,如果数据被过滤掉报告为‘nullptr’。
using LocalSlamResultCallback =
std::function<void(int /* trajectory ID */, common::Time,
transform::Rigid3d /* local pose estimate */,
sensor::RangeData /* in local frame */,
std::unique_ptr<const InsertionResult>)>;
MapBuilderInterface中定义的为同一个LocalSlamResultCallback:
using LocalSlamResultCallback =
TrajectoryBuilderInterface::LocalSlamResultCallback;
本文详细介绍了Cartographer中的两个关键接口——TrajectoryBuilderInterface和MapBuilderInterface。TrajectoryBuilderInterface包含了一个LocalSlamResultCallback,用于处理local SLAM的结果,当数据被插入到submap或被过滤时触发。MapBuilderInterface则同样使用此回调,用于更新全局地图构建。这个回调函数定义了如何处理传感器数据、本地坐标系中的range data以及插入结果。
309

被折叠的 条评论
为什么被折叠?



