ORB-SLAM2代码笔记(三):KeyFrame

2019-07-20  本文已影响0人  liampayne_66d0

KeyFrame

由于KeyFrame中一部分数据会被多个线程访问修改,因此需要在这些成员中加线程锁,保证同一时间只有一个线程有访问权。涉及线程安全的有:

关键帧位姿的设置(lock(mMutexPose));

关键帧间连接关系的设置(lock(mMutexConnections));

关键帧对应地图点的操作(lock(mMutexFeatures)),

如果这个关键帧有自己的孩子关键帧,告诉这些子关键帧,它们的父关键帧不行了,赶紧找新的父关键帧。
1. 遍历每一个子关键帧,让它们更新它们指向的父关键帧
2. 子关键帧遍历每一个与它相连的关键帧(共视关键帧)
3. 如果子节点找到了可以作为其新父关键帧的帧,则更换父节点
4. 如果没找到,直接把父节点的父节点作为自己的父节点

上一篇 下一篇

猜你喜欢

热点阅读