poseGraph3D

创建3-d姿态图形

描述

一个poseGraph3D对象存储用于3-d姿态图形表示。一个姿态图形中包含节点通过连接边缘,与定义的节点和在该测量中的不确定之间的相对姿势边缘约束。该optimizePoseGraph函数对节点进行修改,以考虑不确定性,改善整体图。

对于二维姿态图,见poseGraph

要迭代构造姿态图,请使用addRelativePose添加姿势,并把它们连接到现有的图形。指定使用信息矩阵相关联的不确定性。现有节点之间添加额外的边缘约束指定环封闭。

创建

描述

poseGraph = poseGraph3D创建了一个3-d姿态图形对象。使用添加姿势addRelativePose迭代地构造的姿势曲线图。

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

属性

展开全部

此属性是只读的。

在姿态图节点,指定为正整数的数目。每个节点代表在姿势图形作为一个姿势[arrow-QW QX QY QZ]向量和一个xyz位和四元数方向,[QW QX QY QZ]。要指定节点之间,使用相对位姿addRelativePose。要获得所有节点的列表,请使用节点

注意

四元数的顺序[QW QX QY QZ]使用标准的约定。有些车辆坐标系统,而不是指定的顺序为[QX QY QZ QW]。添加节点之前,请检查您的姿态图形数据的来源你poseGraph3D对象。

此属性是只读的。

位姿图中的边数,指定为非负整数。每条边连接姿态图中的两个节点。包括环闭包边。

此属性是只读的。

在姿态图形环闭合件,指定为一个非负整数的数目。要获得环闭合件的边缘ID,请使用LoopClosureEdgeIDs属性。

此属性是只读的。

循环闭包边id,指定为边id的向量。

对象函数

addRelativePose 相对位姿加入姿态图形
边缘 在姿态图形边缘
edgeConstraints 在姿态图形边缘约束
findEdgeID 查找边缘的边缘ID
节点 在姿态图形节点的姿势
optimizePoseGraph 在姿态图形优化节点
removeEdges 删除环路闭合从图中的边
表演 情节姿态图形

例子

全部收缩

基于优化的节点和边缘约束上的姿势曲线图。在此示例中使用的姿态图形被从取麻省理工学院的数据集并使用从一个停车库提取的信息生成的。

加载从MIT数据集中的姿态图形。检查poseGraph3D对象以查看节点和环闭合件的数量。

加载停车车库posegraph.matpgDISP(PG);
poseGraph3D与属性:NumNodes:1661个NumEdges:6275个NumLoopClosureEdges:4615个LoopClosureEdgeIDs:[1x4615双]

绘制与关ID的姿态图形。红色线表示在数据集中标识环封闭。

标题(“原始姿态图形”)节目(PG,“标识”“关”);视图(-30,45)

优化姿态图形。节点基于所述边缘约束环封闭件调节。画出优化的姿态图表看与环闭合节点的调整。

updatedPG = optimizePoseGraph(PG);图题(“更新的姿态图形”)表示(updatedPG,“标识”“关”);视图(-30,45)

参考文献

[1] Carlone,卢卡,罗伯特特隆,科斯塔斯Daniilidis,和弗兰克·德拉特。“初始化技术为3D SLAM:一个调查旋转估计及其在姿态使用图形优化。”2015年IEEE国际会议机器人与自动化(ICRA)。2015年,第4597-4604。

扩展功能

也可以看看

功能

对象

介绍了在R2019b