IK 的雅可比矩阵的两个伪逆之间的区别?
Difference between the two pseudo inverses of Jacobian matrices for IK?
您好,我正在尝试将 IK 实现到我的骨架系统,并在网上阅读了一些文章,其中一种方法是使用雅可比矩阵的伪逆。
但是,我看到了伪逆的两种形式,我想知道这两种表示的区别是什么。
第一种形式是 J+ = ((Jt*J).inverse()) * Jt
第二种形式是J+ = Jt * ((J*Jt).inverse())
说实话,我也不知道他们是怎么得到第二个形式的,目前只能推导出第一个形式。
如有任何帮助,我们将不胜感激!
通常,矩阵的逆矩阵具有 属性,将它与原始矩阵的两边相乘得到单位矩阵。
A * A^-1 = A^-1 * A = I
然而,伪逆不再适用。对于伪逆,顺序很重要(仅从矩阵可能不是正方形的事实来看)。您的第一种形式用于左乘,第二种形式用于右乘:
J+ * J = I <= J+ = (J^T * J)^-1 * J^T
J * J+ = I <= J+ = J^T * (J * A^T)^-1
如果使用伪逆来求解线性系统,当您有列向量时使用第一种形式(即 J x = b
作为 J+ J x = I x = x = J+ b
),当您使用第二种形式时有行向量(即 x J = b
)。
您好,我正在尝试将 IK 实现到我的骨架系统,并在网上阅读了一些文章,其中一种方法是使用雅可比矩阵的伪逆。 但是,我看到了伪逆的两种形式,我想知道这两种表示的区别是什么。
第一种形式是 J+ = ((Jt*J).inverse()) * Jt
第二种形式是J+ = Jt * ((J*Jt).inverse())
说实话,我也不知道他们是怎么得到第二个形式的,目前只能推导出第一个形式。
如有任何帮助,我们将不胜感激!
通常,矩阵的逆矩阵具有 属性,将它与原始矩阵的两边相乘得到单位矩阵。
A * A^-1 = A^-1 * A = I
然而,伪逆不再适用。对于伪逆,顺序很重要(仅从矩阵可能不是正方形的事实来看)。您的第一种形式用于左乘,第二种形式用于右乘:
J+ * J = I <= J+ = (J^T * J)^-1 * J^T
J * J+ = I <= J+ = J^T * (J * A^T)^-1
如果使用伪逆来求解线性系统,当您有列向量时使用第一种形式(即 J x = b
作为 J+ J x = I x = x = J+ b
),当您使用第二种形式时有行向量(即 x J = b
)。