我已经创建了一个在6DoF中具有非常准确的地面实况(位置和姿态)的数据集,并希望使用它来比较不同单目SLAM算法在6DoF中路径的准确性。
地面实况导致6DoF中的路径相对于地面实况的坐标框架。SLAM算法在6DoF中产生相对于SLAM坐标框架的路径
由于单目SLAM算法的性质,我没有一个规模的路径。
我如何用我的数据集解决这个问题?有没有可用的脚本?
发布于 2015-05-06 03:10:51
您要做的是找到局部坐标和全局坐标之间的转换。根据您的确切状态模型,方程式将发生变化。但基本思想是从两个帧中的一个已知点开始。假设在我们的全局框架中的初始时间,我们有(Position g全局) Pg=[xg0 yg0 zg0 rg0 pg0 yg0],机器人坐标是Pr =[xr0 yr0 zr0 rr0 pr0 yr0],此时我们需要创建从Pg到Pr的映射,一旦有了这个映射,我们就可以在同一个映射中表示所有数据。
从6dof到另一个6dof的映射是非常困难的,并且是高度非线性的。通常可以将其分为两个步骤
在xyz之间进行
我找不到很多同时做这两件事的资源,但如果你按顺序做,它仍然可以工作(顺序很重要,所以要保持一致)这里有一个很好的帖子,它有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变换。有时,先从2D示例开始是有帮助的,这样您才能理解概念,然后再看3D
祝好运
编辑
我最初发布了错误的链接到规划网站,但它得到了修复。下面是主要的等式

SLAM的标志点是这个等式Global landmark = T * Landmark w/respect Robot的输出,每个点都被表示为[x,y,z,1],需要1来保持平移。滚动(Alpha)、俯仰(Beta)和偏航(Gamma)是从全局坐标和机器人坐标之间的旋转矩阵获得的
https://stackoverflow.com/questions/30047012
复制相似问题