Optimize pose graph and remove bad loop closures
optimizes the pose graph to best satisfy the edge constrains and removes any bad loop
closure edges based on the residual error parameters specified in
poseGraphUpdated
= trimLoopClosures(poseGraphObj
,trimParams
,solverOptions
)trimParams
. Create the solverOptions
input using
the poseGraphSolverOptions
function.
The function implements the graduated non-convexity (GNC) method with truncated least squares (TLS) robust cost in combination with the non-minimal pose graph solver [1].
[
returns additional information related to the trimming process.poseGraphUpdated
,trimInfo
] = trimLoopClosures(poseGraphObj
,trimParams
,solverOptions
)
[1] Yang, Heng, et al. “Graduated Non-Convexity for Robust Spatial Perception: From Non-Minimal Solvers to Global Outlier Rejection.” IEEE Robotics and Automation Letters, vol. 5, no. 2, Apr. 2020, pp. 1127–34. DOI.org (Crossref), doi:10.1109/LRA.2020.2965893.