Optimize absolute poses using relative pose constraints
returns a point cloud view set whose absolute poses are optimized.
vSetOptim
= optimizePoses(vSet
)vSetOptim
and vSet
are pcviewset
objects.
The optimizePoses
function performs pose graph optimization on the
absolute poses for the Views
in the view set using the relative pose
constraints established by the Connections
property. You can use
optimizePoses
to correct drift in odometry after detecting loop
closures.
specifies options using one or more name-value pair arguments. For example,
vSetOptim
= optimizePoses(vSet
,Name,Value
)'Tolerance'
,0.2
sets the tolerance of the
optimization cost function to 0.2
.
To update a view set with optimized poses, use the updateView
object function.
The optimizePoses
object function holds the first view fixed.
The optimizePoses
function uses the Levenberg-Marquardt optimization
algorithm with sparse Cholesky decomposition from the general (hyper) graph optimization (G2o)
library, [1].
[1] Kümmerle, Rainer, Giorgio Grisetti, Hauke Strasdat, Kurt Konolige, and Wolfram Burgard. “G2o: A General Framework for Graph Optimization.” In 2011 IEEE International Conference on Robotics and Automation, 3607–13, 2011. https://doi.org/10.1109/ICRA.2011.5979949.