主要内容

optimizePoses

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

描述

例子

vSetOptim= optimizePoses (vSet返回一个图像视图集,其绝对姿态被优化。vSetOptimvSetimageviewset对象。

optimizePoses函数对对象的绝对位姿进行位姿图优化的观点属性建立的相对位姿约束连接财产。您可以使用optimizePoses在检测回路闭合后纠正里程计中的漂移。

vSetOptimposeScale) = optimizePoses (vSet也返回与优化的绝对姿势相关的比例。该输出仅适用于RelativePose表示至少一个连接的affine3d对象。

vSetOptim= optimizePoses (vSetminNumMatches另外指定连接中匹配特征点的最小数目,以便将连接包括在优化中。

vSetOptim= optimizePoses (___名称,值使用由一个或多个名称、值对参数指定的附加选项。

例子

全部折叠

创建视图集。

vSet = imageviewset;

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

abspses = reelem (rigid3d, 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个闭环。

relpose = reelem (rigid3d, 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))
000 1000 2 0000 0000 0
disp (“优化绝对翻译:”
优化绝对翻译:
disp (vertcat (vSetOptim.Views.AbsolutePose.Translation))
00 00 1.8500 00 -0.1250 00

输入参数

全部折叠

图像视图集,指定为imageviewset对象。

最小连接数,指定为正整数。集minNumMatches到要纳入优化的连接中匹配特征点的最小数目。

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:MaxIterations”,300年

优化终止前的最大迭代次数,指定为逗号分隔的对,由'MaxIterations和一个正整数。增加这个值以获得更准确的结果。减少这个值以获得更快的结果。

优化代价函数在两次迭代之间的容差,指定为逗号分隔的对,由宽容'和一个正标量。当代价函数变化小于时,优化终止宽容值在两次迭代之间。

显示进度信息,由逗号分隔的对组成详细的和一个逻辑标量。设置”详细的真正的显示进度信息。

输出参数

全部折叠

包含优化的绝对姿态的图像视图集,返回为imageviewset对象。

优化的绝对姿态的比例,返回为一个正值的向量。该输出仅适用于RelativePose成对的连接属性中,至少有一个连接表示为affine3d对象。

提示

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

  • optimizepose对象函数固定第一个视图。

算法

optimizePoses函数使用Levenberg Marquardt优化算法和稀疏Cholesky分解,从一般(超)图优化(g2o)库,(1).

参考文献

Kuemmerle, R., G. Grisetti, H. Strasdat, K. Konolige, W. Burgard。g2o:图形优化的通用框架IEEE机器人与自动化国际会议。IEEE机器人与自动化国际会议论文集2011年,举行,“国际机器人与自动化会议”。

另请参阅

功能

对象

介绍了R2020a