RTABMAP-ROS 调用RTABMAP的方法
CoreNode.cpp: new CoreWrapper --(CoreWrapper.cpp: process() -- mapsManager_.updateMapCaches)
Q:CoreNode如何与CoreWrapper建立关联?
MapsManager.cpp: iter; memory->getSignatureDataConst
RTABMAP 源码解析
Rtabmap.cpp: process() -- memory->update()
Memory.cpp: update()
定位点生成:
CoreWrapper.cpp -- process函数
首先确定输入的RGB和深度图类型
进入RTABMAP的process函数,接口为
process(const SensorData& data, Transform odomPose, const cv::Mat& covariance = cv::Mat::eye(6,6, CV_64FC1));
下面为RTABMAP sdk的代码分析
process函数: if RGB-D SLAM is enabled, a pose must be set.
(IncrementalMemory: 增量式构建标志位)
- !odomPose.isNull() && _memory->isIncremental(): 进入纯地图构建的模式
进入Memory.cpp -- update(data, o