optimizePoseGraph
Optimize nodes in pose graph
Syntax
Description
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.
Examples
Input Arguments
Output Arguments
References
[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.
Extended Capabilities
Version History
Introduced in R2019b
See Also
Functions
trimLoopClosures
|addRelativePose
|removeEdges
|edgeNodePairs
|edgeConstraints
|findEdgeID
|nodeEstimates