点云图和图图之间的关系


9

我最熟悉作为点云的SLAM映射,通常以矢量形式出现,如。我也了解如何使用EKF创建这样的地图。<x,y,θ,f1x,f1y,...,fnx,fny>

今天,我遇到了.graph文件格式,正如您所期望的那样,该文件格式由顶点和边组成:

VERTEX2 id x y orientation

EDGE2 observed_vertex_id observing_vertex_id forward sideward rotate inf_ff inf_fs inf_ss inf_rr inf_fr inf_sr

我知道矩阵和图之间存在联系(例如,邻接矩阵)。但是我不清楚地图的这种图形格式如何等效于我熟悉的点云地图。

有什么关系?顶点既是姿势又是地标?它们在全球参考框架中吗?如何从速度信息和距离/方位传感器中创建出来?在图谱图和点云之间有转换吗?

Answers:


4

就像在文件格式的描述中所说的,它是基于图的SLAM方法。这些工作可以最大程度地减少姿势约束网络的误差。您可以这样考虑:有许多参考框架(您的顶点),然后您对这些框架之间的转换有所了解。这些转换与不确定性相关。姿势图优化框架(例如TOROHogManG2O等)将在给定约束的情况下为您提供顶点位置的最大可能性。

用实际的机器人术语来说,这通常意味着:

  • 每个机器人在时间姿势具有其自己的参考系,因此具有顶点pkk
  • 根据您的方法,还可以将地标添加为顶点。但是您不必。
  • 每当您获得有关两个姿势之间关系的新信息时,就将其添加到约束图中。例如,里程表将为您提供和之间的转换。pkpk+1
  • 如果您的方法基于地标工作,则可以向地标添加变换。如果仅知道地标的位置,则在变换的旋转信息上设置了很高的不确定性。
  • 如果您的方法不了解地标,例如您拥有与ICP匹配的大型点云,则可以将ICP结果添加到约束图。

姿势约束通常存储为大小为稀疏矩阵,其中是图形中顶点的数量(再次是机器人的姿势和地标)。n×nn

文件格式本身为VERTEX2(对于2D模型)和VERTEX3(对于3D模型)提供了顶点位置的初始猜测。您不能将两者混在一起。添加了约束,以便您指定由from_id和给定的参考帧(顶点)之间的变换to_id。该变换由下式给出任一EDGE2EDGE3作为平移和旋转在欧拉角,以及不确定性的信息矩阵。在这种情况下,信息矩阵是变换向量的协方差矩阵的逆。[xyzrollpitchyaw]

根据您的框架,通常其中一个顶点会基于全局参考框架。

基于图的姿势图优化器被视为SLAM后端。如何根据范围数据生成约束是一个前端问题。这些讲义有一个很好的概述。


1

有一个论坛帖子,其中包含有关格式的更多澄清信息。看起来图节点的值是对自身姿势的初始估计,并且边缘对姿势约束进行编码,如信息过滤器(卡尔曼过滤器的对偶)所表示。

据我所知,这种地图格式仅包含自我姿势信息,不包括地标,因此不会从点云地图直接转换。


1
请说明姿势信息和地标之间的区别。通常,地标是根据其姿势估算的。
Josh Vander Hook

1
在同时进行的定位和制图过程中,通常会保持对自己在环境中移动的位置和方向的估计,以及在环境中通常被认为是固定的(通常称为地标)的环境中几个可识别点的估计。对地标的准确姿势估计有助于减少自己姿势的不确定性,反之亦然。我所说的姿势信息是对自身姿势的约束,尽管可以想象它们实际上是从涉及地标的计算中得出的。
surtur 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.