我有两个矩阵,一个包含3D坐标,这个坐标是每个CAD模型的标称位置,另一个包含使用CMM的实际测量位置的3D坐标。每个标称点都有相应的测量值,换句话说,两个矩阵的长度和宽度相等。我不确定将测量点拟合到标称点的最佳方法是什么。我需要一种计算平移和旋转的方法,以应用于所有测量点,这些测量点产生每个标称/测量点对之间的最小距离,同时不超过任何其他点处的最大距离的允许公差。这类似于点云的配准,但不同之处在于每对标称/测量点对它们允许的距离具有唯一的容差/限制。某些配对的限制较高,而其他配对则较低。我在.Net中进行编程,并将Point Cloud Library(PCL),OpenCV,Excel和基本矩阵操作作为可能的方法。 这是数据样本
X Nom Y Nom Z Nom X Meas Y Meas Z Meas Upper Tol Lower Tol
118.81 2.24 -14.14 118.68 2.24 -14.14 1.00 -0.50
118.72 1.71 -17.19 118.52 1.70 -17.16 1.00 -0.50
115.36 1.53 -24.19 115.14 1.52 -23.98 0.50 -0.50
108.73 1.20 -27.75 108.66 1.20 -27.41 0.20 -0.20
下面是我需要计算的矩阵类型,以便最好地将测量点拟合到标称点。我将它乘以测量点矩阵,以最适合标称点矩阵。
Transformation
0.999897324 -0.000587540 0.014317661
0.000632725 0.999994834 -0.003151567
-0.014315736 0.003160302 0.999892530
-0.000990993 0.001672040 0.001672040
答案 0 :(得分:0)
这确实是刚性注册算法的工作。
为了处理您的容差,您有几个选择:
现在关于实现,对于选项1和2,您最快的结果可能是:
如果您真的想要选项3,您可以这样做: