Inverse kinematics issue

Typically: "How do I... ", "How can I... " questions
Post Reply
LatvianStudent

Inverse kinematics issue

Post by LatvianStudent »

So I've got my KUKA robot model with 6 DoF, I have adjusted it to follow the target in IK mode as in the IK tutorial, it works fine mostly, but the problem is, when it idles in it's default (home) position, the 4th DoF sort of twitches for about +/- 20 degrees.

I've set the IK calculation modules to:

1) Pseudo Inverse, max it. 9 (restore if.. both checkmarks checked)
2) Pseudi Inverse, max it. 3 (restore if.. first checkmark checked)
3) DLS, max it. 99, damping 1.0 (restore if.. zero checkmarks checked)

coppelia
Site Admin
Posts: 10375
Joined: 14 Dec 2012, 00:25

Re: Inverse kinematics issue

Post by coppelia »

Hello,

your robot is very probably in a singular configuration (i.e. a configuration close to the workspace limit, or a configuration among an infinite for a given tooltip pose). Try chosing a different home position since IK cannot nicely handle those ambiguous situations. Also, 3 iterations are most of the time more than enough for a non-damped resolution method.

Cheers

LatvianStudent

Re: Inverse kinematics issue

Post by LatvianStudent »

choosing a different home position didn't help, scaling down the iteration count limited the twiching part to only the first 4 seconds of the simulation, after that is idled smoothly, but it's still not a sufficient solution. what do you mean with close to workspace limit? can I try some more possible fixes?

coppelia
Site Admin
Posts: 10375
Joined: 14 Dec 2012, 00:25

Re: Inverse kinematics issue

Post by coppelia »

Can you share your scene, so that we can have a closer look at it?

LatvianStudent

Re: Inverse kinematics issue

Post by LatvianStudent »

Yes, of course. Thanks!

http://files.fm/u/srkviil

coppelia
Site Admin
Posts: 10375
Joined: 14 Dec 2012, 00:25

Re: Inverse kinematics issue

Post by coppelia »

In your scene, you have joints joint6 and joint4 that are aligned in the home position: there is an infinity of configurations that satisfy the tooltip position and orientation. That's why you see that instability. If you set joint joint5 to 90 degrees as the home position, then you won't have that problem anymore. You really have to keep away from singularities when using IK. Or, you can disable the 2 undamped IK groups, and for the damped IK group use following settings:
  • Damping: 0.001
  • Max. iterations: 10
Another difficulty is that you have joint limits, and the IK module will not do motion planning: it will try to reach the target position/orientation on a straight path. Next release (V3.0.5) should also have a motion planning module ready for those situations.

Cheers

LatvianStudent

Re: Inverse kinematics issue

Post by LatvianStudent »

Thank you very much!

Post Reply