Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should Null space be computed using SR-Inverse? #1322

Open
garaemon opened this issue Aug 16, 2022 · 0 comments
Open

Should Null space be computed using SR-Inverse? #1322

garaemon opened this issue Aug 16, 2022 · 0 comments

Comments

@garaemon
Copy link
Contributor

The current implementation of ImpedanceController utilizes null space based on SR-Inverse.

I'm wondering whether null space should be spanned using an SR-inverse ( $J^{\sharp}$ ) or a simple pseudo-inverse ( $J^{+}$ ).

$$ dq = J^{\sharp}dx + (I-J^{\sharp}J)z $$

$$ Jdq = JJ^{\sharp}dx + J(I-J^{\sharp}J)z $$

The second term should be 0 according to the definition of null space.
However, If $J^{\sharp}$ is an SR-inverse, $J(I-J^{\sharp}J)z$ cannot be 0 because of the damping factor.
Instead of $J^{\sharp}$, if we modify the second term with $J^{+}$ like the following, the second term can be 0.

$$ dq = J^{\sharp}dx + (I-J^{+}J)z $$

$$ Jdq = JJ^{\sharp}dx + J(I-J^{+}J)z $$

I think null space should be computed using a simple pseudo-inverse. Is my understanding correct?
If we can use simple a pseudo inverse matrix for null space, the performance of convergence would be better.

CC: @k-okada

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant