同一平面上2个物体的旋转和平移矩阵的距离计算

时间:2012-01-27 18:14:41

标签: opencv

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

对于相机镜头,我有一个物体框架的R和T,而对于同一个相机,我有第二个物体的R和T.如果两个物体都在共同的表面/平面上

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

问题#2:如何使用翻译矩阵计算物体之间的距离(例如沿x轴或y轴)?

我有1x3平移矩阵和3x3旋转矩阵=>我从R和T

导出了一个4x4变换矩阵

提前致谢

3 个答案:

答案 0 :(得分:4)

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

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

这意味着您必须计算翻译向量的euclidean norm

如果你有2个平移向量(每个点一个),那么只需减去它们,然后计算得到的向量的欧氏距离。

答案 1 :(得分:4)

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

记住:1º做所有旋转,然后进行翻译。如果你翻译1º,那你就错了。

希望有所帮助!

答案 2 :(得分:0)

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

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