嗨,我正在尝试对我的骨架系统实施 IK,并且正在在线阅读一些文章,其中一种方法是使用雅可比矩阵的伪逆。但是,我已经看到了 2 种形式的伪逆,我想知道这两种表示的区别是什么。
第一种形式是 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
as J+ J x = I x = x = J+ b
)时使用第一种形式,当您有行向量(即x J = b
)时使用第二种形式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句