MIT-SPARK / Kimera-VIO-ROS

ROS wrapper for Kimera-VIO
BSD 2-Clause "Simplified" License
371 stars 154 forks source link

source code #111

Open guoxiaoyang12 opened 3 years ago

guoxiaoyang12 commented 3 years ago

source code: In the Bacckend the regularity fatctors between point and plane may not be added in the optimizaton in open source code now.is this normal?

ToniRV commented 3 years ago

Hi @guoxiaoyang12 , The regularity factors are only added if you use the RegularBackend (see https://github.mit.edu/SPARK/Kimera-VIO/blob/master/params/Euroc/PipelineParams.yaml) And if you set the backend modality (in https://github.mit.edu/SPARK/Kimera-VIO/blob/master/params/Euroc/BackendParams.yaml) to number 4.

Technically speaking, the RegularBackend can be 4 types of backend:

See https://github.mit.edu/SPARK/Kimera-VIO/blob/f0f1dc27c889dd16e5e0975fd290b02806959ad3/src/backend/RegularVioBackEnd.cpp#L234 for the code that switches between backend modalities inside the RegularVioBackend.

guoxiaoyang12 commented 3 years ago

Thank you for your reply,ToniRV. As shown in the paper,the Mesher thread first calculate the 2D/3D Mesh depends on the current landmarks,secondly,using histograms to get a statistics about the norm of mesh which can calculate the Wall and floor; In the Mesher.cpp ,the spinOnce function call the updateMesh3D function to get the 3D Mesh and update the mesh3d...etc variables, but the variable planes used as Regularity factors may not be update . In other word ,the function clusterPlanesFromMesh which can extract planes may not be called by spinOnce,so plane variable may not be update; source source2 I hope to hear from you as soon as possible