Optimize nodes in pose graph
adjusts the poses based on their edge constraints defined in the specified graph to
improve the overall graph. You optimize either a 2-D or 3-D pose graph. The returned
pose graph has the same topology with updated nodes. updatedGraph
= optimizePoseGraph(poseGraph
)
This pose graph optimization assumes all edge constraints and loop closures are
valid. To consider trimming edges based on bad loop closures, see the trimLoopClosures
function.
specifies the solver type for optimizing the pose graph.updatedGraph
= optimizePoseGraph(poseGraph
,solver
)
[
returns additional statistics about the optimization process in
updatedGraph
,solutionInfo
] = optimizePoseGraph(___)solutionInfo
using any of the previous syntaxes.
[___] = optimizePoseGraph(___,
specifies additional options using one or more Name,Value
)Name,Value
pairs.
For example, 'MaxIterations',1000
increases the maximum number of
iterations to 1000.
[1] Grisetti, G., R. Kummerle, C. Stachniss, and W. Burgard. "A Tutorial on Graph-Based SLAM." IEEE Intelligent Transportation Systems Magazine. Vol. 2, No. 4, 2010, pp. 31–43. doi:10.1109/mits.2010.939925.
[2] Carlone, Luca, Roberto Tron, Kostas Daniilidis, and Frank Dellaert. "Initialization Techniques for 3D SLAM: a Survey on Rotation Estimation and its Use in Pose Graph Optimization." 2015 IEEE International Conference on Robotics and Automation (ICRA). 2015, pp. 4597–4604.