poseGraph3D

创建三维构成图

描述

一个poseGraph3D对象存储信息三维姿势图表示。一个姿势图包含节点连接边缘,边缘约束定义节点和之间的相对姿态测量的不确定性。的optimizePoseGraph功能修改节点占的不确定性,提高整体图。

二维构成图,请参阅poseGraph

构建一个姿势图迭代,使用addRelativePose添加的姿态和将它们连接到现有的图。指定使用一个相关的不确定性信息矩阵。指定循环闭包添加额外的边缘约束现有节点之间。

创建

描述

例子

poseGraph = poseGraph3D创建一个3 d图形对象。添加的姿势使用addRelativePose构建一个姿势图迭代。

maxEdges poseGraph = poseGraph3D (‘MaxNumEdges’,‘MaxNumNodes’, maxNodes)指定一个上限的边数和节点允许生成代码时构成图。这个限制只需要在生成的代码。

属性

全部展开

这个属性是只读的。

在构成图的节点数量,指定为一个正整数。每个节点代表一个体式的图作为一个[x y z qw qx qy求)向量和一个xyz-安置和四元数取向,(qw qx qy求)。指定相对节点之间构成,使用addRelativePose。所有节点的列表,使用节点

请注意

四元数的顺序(qw qx qy求)使用标准的约定。一些车辆坐标系统指定的顺序[qx qy求qw]。之前检查你的姿势图数据的来源将节点添加到您的poseGraph3D对象。

这个属性是只读的。

造成的边缘图,指定为一个非负整数。每条边连接两个节点的构成图。循环闭合边缘。

这个属性是只读的。

构成的循环闭包图,指定为一个非负整数。循环的边缘IDs闭包,使用LoopClosureEdgeIDs财产。

这个属性是只读的。

循环闭合边缘id, id指定为一个向量的优势。

对象的功能

addRelativePose 添加相对对构成图
边缘 边构成图
edgeConstraints 边缘约束构成图
edgeResidualErrors 计算构成图边缘残留的错误
findEdgeID 找到边缘的边缘ID
节点 提出了构成图中的节点
optimizePoseGraph 优化节点构成图
removeEdges 从图删除循环闭合边缘
显示 情节构成图

例子

全部折叠

优化一个姿势图基于节点和边缘约束。这个示例中使用的姿势图是来自麻省理工学院的数据集生成和使用信息从一个停车场。

从麻省理工学院数据集加载构成图。检查poseGraph3D对象查看的节点数和循环闭包。

负载parking-garage-posegraph.matpgdisp (pg);
poseGraph3D属性:NumNodes: 1661 NumEdges: 6275 NumLoopClosureEdges: 4615 LoopClosureEdgeIDs: [1 x4615双]

情节构成图与IDs,红线表示循环闭包中标识的数据集。

标题(“原来的姿势图”)显示(pg,“id”,“关闭”);视图(-30,45)

优化构成图。基于约束和边缘节点调整循环闭包。情节优化构成图的调整节点与循环闭包。

updatedPG = optimizePoseGraph (pg);图的标题(“更新姿势图”)显示(updatedPG“id”,“关闭”);视图(-30,45)

引用

[1]Carlone,卢卡·罗伯托•特隆Kostas Daniilidis,弗兰克Dellaert。“初始化技术对3 d大满贯:调查旋转姿势图优化估计和它的使用。”2015年IEEE机器人与自动化国际会议上)举行(“国际机器人与自动化会议”。2015年,页4597 - 4604。

扩展功能

介绍了R2019b