【问题标题】:distance calculation of Rotation and Translation matrices of 2 objects on the same plane同一平面上2个对象的旋转和平移矩阵的距离计算
【发布时间】:2012-01-27 18:14:41
【问题描述】:

我有一个关于旋转 (R) 和平移 (T) 矩阵的问题,希望有人可以帮助我,因为我们在机器人技术中经常使用 R 和 T 来查找机器人的位置。

相对于相机帧,我有一个对象帧的 R 和 T,相对于同一个相机,我有第二个对象的 R 和 T。如果两个对象都在一个共同的表面/平面上

问题#1:(在同一个表面/平面上)这意味着两个物体相对于相机的 R 是相同的!这个假设正确吗?

问题 #2:如何使用平移矩阵计算对象之间的距离(例如沿 x 或 y 轴)?

我有一个 1x3 平移矩阵和一个 3x3 旋转矩阵 => 我从 R 和 T 导出了一个 4x4 变换矩阵

提前致谢

【问题讨论】:

  • R 描述了对象在 x,y,z 方向上与其自身相关的旋转。与相机相关的运动是平移。如果两个对象具有相同的方向,那么它们的旋转是相同的
  • Plesar,如果对您有帮助,请给出有效答案;)

标签: opencv


【解决方案1】:

2)的答案: 如果平移是将 point2 的位置减去 point1 的位置得到的向量,则欧几里得距离遵循链接here 的公式。

然后你只需要计算 sqrt(x^2 + y^2 + z^2) 作为平移向量的 (x,y,z)(在 1 和 2 之间),因为它已经是两点之间的差异坐标。

这意味着你必须计算平移向量的euclidean norm

如果您有 2 个平移向量(每个点一个),则只需将它们相减,然后计算结果向量的欧几里德距离。

【讨论】:

    【解决方案2】:

    1) 是的。如果 2 个对象参考相同的坐标系,并且它们具有相同的平面(矢量视图相同),则它们具有相同的旋转矩阵。 您可以了解如何构建旋转矩阵HERE。如果您不知道如何构建,这将非常有用。它有一个很好的例子。 2)您可以使用同一点(每个对象的参考中心)使用Euclidean distance。翻译也是一样。

    记住:1º 进行所有旋转,然后进行平移。如果你平移 1º,你会做错的。

    希望对您有所帮助!

    【讨论】:

      【解决方案3】:

      计算翻译之间距离的最佳方法通常是使用欧几里得距离。 (通常在超过 3D 维度的情况下,您可以使用 L2 规范)。

      但是对于旋转,以可解释的方式量化距离的最佳方法是使用两个旋转矩阵之间的测地距离,这将返回一个角度,让您对两个旋转矩阵之间的角距离。

      【讨论】:

        猜你喜欢
        • 2012-03-05
        • 1970-01-01
        • 1970-01-01
        • 2023-03-28
        • 2014-08-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-27
        相关资源
        最近更新 更多