比较单眼SLAM路径与地面实况

时间:2015-05-05 07:46:12

标签: compare computer-vision slam-algorithm

我已经在6DoF(位置和姿态)中创建了一个具有非常精确的基础事实的数据集,并且想用它来比较6DoF中不同单眼SLAM算法的路径精度。

基础事实导致6DoF相对于地面实况的坐标系的路径。 SLAM算法导致相对于SLAM坐标系的6DoF路径

由于单眼SLAM算法的性质,我没有路径规模。

如何使用我的数据集解决这个问题?有没有可用的脚本?

1 个答案:

答案 0 :(得分:1)

您要做的是找到本地坐标和全局坐标之间的转换。根据您的确切状态模型,方程式将发生变化。但基本思路是从两个帧中的已知点开始。在我们的全局框架的初始时间说( P osition g lobal)Pg=[xg0 yg0 zg0 rg0 pg0 yg0],机器人坐标为Pr =[xr0 yr0 zr0 rr0 pr0 yr0]此时我们需要创建从Pg到Pr的映射一旦我们有了这个,我们就可以表示所有数据。

从6dof映射到另一个6dof是非常困难和高度非线性的。通常可以分两步考虑

  1. 在xyz之间映射以获取同一区域中的轴。
  2. 映射两个轴(滚动,俯仰偏航)之间的方向
  3. 我无法同时找到两个来源,但是如果按顺序执行它们仍会有效(顺序很重要)这里有一个很好的帖子,xyz转换https://gamedev.stackexchange.com/questions/79765/how-do-i-convert-from-the-global-coordinate-space-to-a-local-space

    这个网站很棒(我用它来解决3D SLAM问题,它非常有帮助)并且它有关于滚动俯仰偏航变换的信息。 http://planning.cs.uiuc.edu/node104.html如果你浏览网站,你也应该找到xyz变换。有时它首先开始使用2D示例,因此您了解概念,然后在

    之后查看3D 祝你好运

    修改

    我最初发布了错误的链接到规划网站,但它是固定的。这是主要的等式enter image description here

    SLAM的标志点是此等式Global landmark = T * Landmark w/respect Robot的输出,每个点都表示为[x,y,z,1],保留翻译需要1。滚动(α)俯仰(β)和偏航(γ)是从全局坐标和机器人坐标之间的旋转矩阵获得的