Main Content

优化

Optimize absolute poses using relative pose constraints

描述

例子

vsetoptim.= optimizePoses(vset.的)返回一个点云视图集,其绝对姿势已优化。vsetoptim.andvset.PCViewSet.对象。

优化function performs pose graph optimization on the absolute poses for the意见在使用由此建立的相对姿势约束的视图中连接property. You can use优化to correct drift in odometry after detecting loop closures.

vsetoptim.= optimizePoses(vset.名称,价值的)specifies options using one or more name-value pair arguments. For example,'宽容'0.。2sets the tolerance of the optimization cost function to0.。2

例子

全部收缩

创建一个视图集。

vset = pcviewset;

添加四个节点并指定绝对姿势。

assposse = repelem(rigid3d,4,1);assposs(1).translation = [0 0 0];assposs(2).translation = [1 0 0];assposs(3).translation = [2 0 0];assposs(4).translation = [0.1 0 0];vset = addview(vset,1,assposs(1));vset = addview(vset,2,assposs(2));vset = addview(vset,3,assposs(3));vset = addview(vset,4,assposse(4));

Define 4 edges, 3 odometry and 1 loop closure.

RELPOSE = REBELEM(RIGID3D,4,1);relpase(1).translation = [1 0 0];relpase(2).translation = [1 0 0];relpase(3).translation = [-1.9 0 0];relpose(4).translation = [0.2 0 0];vset = addConnection(vset,1,2,relpose(1));%odometry.vset.= addConnection(vSet, 2, 3, relPoses(2));%odometry.vset = addConnection(vset,3,4,relpase(3));%odometry.vset = addConnection(vset,4,1,relpase(4));% loop closure

优化视图集。

vsetoptim =优化邮件(vset);

DIsplay original and optimized locations.

disp('原始绝对翻译:'的)
Original absolute translations:
DISP(VertCAT(vset.views.absolutepose.ranslation))
0 0 0 1.0000 0 0 2.0000 0 0 0.1000 0 0
disp('优化绝对翻译:'的)
Optimized absolute translations:
DISP(VertCAT(vsetoptim.views.absolutepose.ranslation))
0.0.0.0.。9250 0 0 1.8500 0 0 -0.1250 0 0

输入参数

全部收缩

点云视图集那specified as aPCViewSet.目的。

名称值对参数

指定可选的逗号分离对名称,价值arguments.姓名是参数名称和Valueis the corresponding value.姓名必须出现在引号内。您可以以任何顺序指定多个名称和值对参数姓名1那Value1,...,NameN,ValueN

例子:'最大',300设置最大迭代次数300

最大迭代次数before the function terminates optimization, specified as the comma-separated pair consisting of'发光'和一个正整数。在结果中提高此值以提高准确性。减少此值以获得更快的结果。

起公差优化代价函数的感情n two consecutive iterations, specified as the comma-separated pair consisting of '宽容'和一个正标量。如果成本函数的变化小于“宽容'两个连续迭代之间的值,该函数终止优化。

显示进度信息,指定为逗号分隔的配对组成verb和一个数字或逻辑0.错误的) 要么1true)。显示进度信息,设置'verb' 到true

输出参数

全部收缩

点云视图集包含优化的绝对姿势,指定为aPCViewSet.目的。

Tips

  • 要更新具有优化姿势的视图集,请使用updateView.对象功能。

  • 优化对象函数保持固定的第一个视图。

Algorithms

优化功能采用Levenberg-Marquardt优化算法与普通(超)图优化(G2O)库中的稀疏尖头分解,[1].

References

[1]Kümmerle,Rainer,Giorgio Grisetti,Hauke Strasdat,Kurt Konolige和Wolfram Burgard。“G2O:图优化的一般框架。”在2011 IEEE International Conference on Robotics and Automation, 3607–13, 2011.https://doi.org/10.1109/ICRA.2011.5979949.

也可以看看

职能

对象

在R2020A介绍