How to optimize the lidarSLAM object poseGraph after removing incorrect loop closures?

조회 수: 3 (최근 30일)
Hi,
I use the robotics.LidarSLAM offline SLAM example to build a map as in the example LidarSLAM implementation.
The problem is I detect some incorrect loop closures that mess up my SLAM. I found a way to remove the incorrect loop closures as shown below (assuming EdgeID :196 is the incorrect constraint) from the SLAM object slamAlg:
removeLoopClosures(slamAlg,[196])
Even after removing loop closure, the poseGraph remains the same (retains the incorrect shape). I would like to know if there is a way to reoptimize the poseGraph or updatePosegraph afterwards?
Evidently there is a way as it is used in the Matlab SLAM Mao builder application where you can correct/ignore loop closures and the map is reoptimized.
Thank you
Sooraj

채택된 답변

Yiping Liu
Yiping Liu 2019년 6월 21일
Calling removeLoopClosures does not automatically rerun the pose graph optimization, it only removes the LC from the pose graph object. You have to call optimizePoseGraph one more time on the pose graph.
  댓글 수: 1
soorajanilkumar
soorajanilkumar 2019년 6월 22일
Hi Liu,
Thank you for your response. After trying out different things I was able to implement it as below:
% Check the residual error and ignore the loop closures if its too high
if optimizationInfo.ResidualError > 1e-02 & optimizationInfo.IsAccepted
removeLoopClosures(slamAlg,loopClosureInfo.EdgeIDs)
temp = optimizePoseGraph(slamAlg.PoseGraph);
slamAlg.PoseGraph.updatePoseGraph(temp);
end
But here still I have to call the optimizePoseGraph outside of the SLAM object. Also the updatePoseGraph method is not available in the Matlab R2018b version.
Is there any alternate way to achieve the same without updatePoseGraph function? Or is there any other built in function in the robotics.LidarSLAM class that I can use to initiate the optimization?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 SLAM에 대해 자세히 알아보기

제품


릴리스

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by