了解Project Tango和PCL中的坐标系,旋转和平移

时间:2016-10-29 22:00:02

标签: android 3d rotation point-cloud-library google-project-tango

我使用Project Tango获取深度数据,然后将3d点云发送到本机类以使用pcl库处理数据。我有几个问题,我认为它们将帮助我更多地了解pcl和tango中的旋转,平移和坐标系统。此外,他们将帮助我在我正在进行的项目中解决我的问题。

  1. 我在一个应该实时工作的障碍物检测系统中工作,我在Tango中使用默认坐标系?这是正确的吗?我不应该使用区域描述坐标系吗?

  2. 在我目前的情况下,我正在拍摄相机参照系中的3D云数据,并在不改变参照系的情况下处理它们。我在这里有三个相关的问题:

    • 在相机框架中直接处理数据是否可以?
    • 由于我使用PCL进行处理,pcl中的坐标系是什么是右边的x点,y指向底部,z从摄像机前进,就像Tango的摄像机坐标系一样?
    • 将云转变为设备的起点正在转变为原点(世界框架)?
  3. 在我项目的场景中,用户应该将设备保持在围绕x轴的X旋转度,我从其他已发布的问题中读到,俯仰/滚转/偏航不是获得旋转的可靠方式设备和我必须使用探戈提供的姿势数据,这是正确的吗?如何确定设备的正确旋转角度,以便我可以旋转云以确保地板的曲面法线与Y轴平行? (请查看图片,了解我的意思)

  4. the way users should hold the device

    The way I imagin my coordinate direction look Like

    The coordinate direction that I would like to reach to detect floor

    1. 如何使用姿势数据来转换和旋转pcl中的云数据?
    2. 注意:

      我对此有一个相关的问题,它显示了我的3d点云处理代码及其输出的结果: Related Question: how to detect the floor palne?

      谢谢

1 个答案:

答案 0 :(得分:1)

我会在问题上发布一些答案。

1和2.1 - 为了获得关于地板平面法线角度的更好结果,对我来说最好的坐标工作是OpenGL世界坐标。

2.2-请参阅此链接中的答案:answer link (pcl forum)

  1. 对于旋转和平移,我使用了Tango设备的姿势数据,我已经读过它们比获得设备本身的旋转更好。 因此,我在点云的同时获取姿势数据,然后将它们发送到本机代码并使用PCL库执行转换。
  2. 希望这会对某人有所帮助。