抱歉 - 我应该知道这一点,但我不知道。我通过两个不同的过程计算了参考系 (S1) 相对于基本参考系 (S0) 的位置,这两个过程给出了两个不同的 4x4 仿射变换矩阵。我想计算两者之间的误差,但不确定如何处理旋转分量。希望有任何建议。
谢谢你!
如果R0和R1是两个应该相同的旋转矩阵,那么R0*R1'应该是恒等的。对应于 R0*R1' 的旋转矢量的大小是恒等式的旋转(通常以弧度为单位)。通过罗德里格斯公式可以有效地将旋转矩阵转换为旋转向量。
要用常见用例 Python 和 OpenCV 回答您的问题,错误是
r, _ = cv2.Rodrigues(R0.dot(R1.T))
rotation_error_from_identity = np.linalg.norm(r)
Run Code Online (Sandbox Code Playgroud)