Skip to content

VIO中的LRU相关疑问 #10

Description

@FweiI

首先感谢作者贡献的代码。
我阅读VIO的LRU后,只看到作者在“InsertPointIntoFeatureMapLRU”函数中,将TYPE_POINTCLOUD的视觉点放在了列表的最前面,
但是“RetrieveFromVisualSparseMapLRU”中TYPE_MAP的视觉点似乎并未在列表中更新,实际上这些点本来就在vp_map_ 中也是被视觉ESIKF使用了,需要被放在列表前面。
当我将VIO部分的lru_size_ 设置的较小的时候(大于一次视觉更新最多获取和添加的视觉点),发现似乎需要更新TYPE_MAP的视觉点,才会好一些,而不是仅仅更新TYPE_POINTCLOUD的视觉点。这是因为TYPE_MAP的视觉点如果不放在前面,后续进来TYPE_POINTCLOUD的视觉点会将原有的TYPE_MAP的视觉点排挤出去,导致后续UpdateVisualMapPoints出错。
我尝试在vio.cppRetrieveFromVisualSparseMapLRU函数中作出以下改动,希望是正确的。

Image

感谢作者,期待作者回复,希望有帮助。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions