主要内容

optimizePoses

优化使用相对绝对姿势约束

描述

例子

vSetOptim= optimizePoses (vSet)返回一个点云视图集的绝对姿态进行了优化。vSetOptimvSetpcviewset对象。

optimizePoses函数执行构成图优化的绝对姿态的观点在视图中使用建立的相对姿态约束集连接财产。您可以使用optimizePoses纠正漂移在测程法检测循环闭包。

vSetOptim= optimizePoses (vSet,名称,值)使用一个或多个名称-值对参数指定选项。例如,“宽容”,0.2设置公差的优化代价函数0.2

例子

全部折叠

创建一个视图集。

vSet = pcviewset;

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

absPoses = repelem (rigidtform3d 4 1);absPoses (1)。翻译= (0 0 0);absPoses (2)。翻译= (1 0 0);absPoses (3)。翻译= (2 0 0);absPoses (4)。翻译= (0.1 0 0);vSet = addView (vSet 1 absPoses (1)); vSet = addView(vSet,2,absPoses(2)); vSet = addView(vSet,3,absPoses(3)); vSet = addView(vSet,4,absPoses(4));

定义4边,3测程法和1循环关闭。

relPoses = repelem (rigidtform3d 4 1);relPoses (1)。翻译= (1 0 0);relPoses (2)。翻译= (1 0 0);relPoses (3)。翻译= (-1.9 0 0);relPoses (4)。翻译= (0.2 0 0);vSet = addConnection (vSet, 1, 2, relPoses (1));%测程法vSet = addConnection (vSet, 2、3、relPoses (2));%测程法vSet = addConnection (vSet, 3、4、relPoses (3));%测程法vSet = addConnection (vSet 4 1, relPoses (4));%循环关闭

优化视图集。

vSetOptim = optimizePoses (vSet);

显示原始和位置进行了优化。

disp (“原始绝对翻译:”)
原始绝对翻译:
disp (vertcat (vSet.Views.AbsolutePose.Translation))
0.1000 2.0000 1.0000 0 0 0 0 0 0 0 0 0
disp (“优化绝对翻译:”)
优化绝对翻译:
disp (vertcat (vSetOptim.Views.AbsolutePose.Translation))
-0.1250 1.8500 0.9250 0 0 0 0 0 0 0 0 0

输入参数

全部折叠

点云视图集,指定为一个pcviewset对象。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:MaxIterations”,300年设置最大迭代次数300年

最大数量的迭代函数终止优化之前,指定为逗号分隔组成的“MaxIterations”和一个正整数。增加这个值更准确的结果。降低这个值更快的结果。

宽容的连续两次迭代之间的优化代价函数,指定为逗号分隔两人组成的“宽容”和积极的标量。如果低于成本函数变化的宽容连续两次迭代之间的价值函数终止优化。

显示进度信息,指定为逗号分隔组成的详细的和一个数字或逻辑0()或1(真正的)。显示进度信息,设置的详细的真正的

输出参数

全部折叠

点云优化视图集,包含绝对姿势,指定为一个pcviewset对象。

提示

  • 与优化提出了更新视图组,使用updateView对象的功能。

  • optimizePoses目标函数是固定的第一个视图。

算法

optimizePoses函数使用Levenberg-Marquardt优化算法的稀疏的柯列斯基分解一般(超)图优化(G2o)图书馆(1]。

引用

[1]Kummerle、Rainer Giorgio Grisetti Hauke Strasdat,库尔特·Konolige, Wolfram Burgard。“G2o:图优化的总体框架。“在2011年IEEE机器人与自动化国际会议上,3607 - 2011。https://doi.org/10.1109/ICRA.2011.5979949。

扩展功能

版本历史

介绍了R2020a

另请参阅

功能

对象