0

嗨,我正在尝试在我的骨架系统中实现 IK,并且正在在线阅读一些文章,其中一种方法是使用雅可比矩阵的伪逆矩阵。但是,我已经看到了伪逆的 2 种形式,我想知道这两种表示的区别是什么。

第一种形式是 J+ = ((Jt*J).inverse()) * Jt

第二种形式是 J+ = Jt * ((J*Jt).inverse())

老实说,我什至不确定他们是如何得到第二种形式的,我目前只能推导出第一种形式。

任何帮助,将不胜感激!

4

1 回答 1

0

通常,矩阵的逆具有将其与任一侧的原始矩阵相乘产生单位矩阵的性质。

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 = bas J+ J x = I x = x = J+ b),当您有行向量时使用第二种形式(即x J = b)。

于 2018-10-27T12:40:18.397 回答