-
Notifications
You must be signed in to change notification settings - Fork 65
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
Constrained IK (CLIK) for dual arms #56
Comments
@davetcoleman The original CLIK code simply constructed a dual arm jacobian using the DH parameters from both arms that related the joint motions to the velocities of the second tool point in the first robot's tool frame. This Jacobian is straight forward to build by walking the DH parameters in reverse down from the first robots tool to its base then up to the first robot's tool in forward order. Two 6DOF robots provide 6 redundant DOF. Now if you want to have zero motion between the tools while they grasp an object, it must be in the null-space of this jacobian. Obstacle and joint limit avoidance are also projected into the null-space. Routing edges of a part held by one robot only requires 5DOF int he task space, so this provides one more or 7 redundant DOF. Its been a while since I've looked at CLIK, so I don't have much memory of its implementation. It evolved considerably since others took it over. |
To accomplish the above comment you will need to implement your own constraint. I am on travel but I can provide links and additional information this evening. |
Thanks @Levi-Armstrong |
@davetcoleman Here is a cpp implementation. You will need to implement your constraint for the dual arm shown below. |
What do you suppose it would take to adapt the constraint_ik to dual arm capabilities, with overlapping toros joints? I have past experience with this kind of project but am not sure if there are any mathematical limitations to the way constraints are currently being applied to the null space. I understand that this solver originally did support dual arms but it no longer does? @drchrislewis
The text was updated successfully, but these errors were encountered: