IK Constraint - Bones jump around


I have a problem with my bone setup. I rigged a robot arm and tried to simply animate it with an IK constraint. It works fine most of the time, but at some positions the bones jump around or just fall back into rest position.

I attached the blend file. Simply move the “TrackMe”-Empty on the x-axis to the left. At position -2.0 the complete armature resets into rest position.
Move it around in the space and sometimes it jumps around for no reason.

Any ideas to fix this? I really don’t want to animate the arm by rotating every single element of the arm.

Thanks in advance


sia20_demo.blend (148 KB)

I think you have to set the IK constraint on “bone.005” with target “bone.006”, and “bone.006” don’t have to be a child of “bone.005”.
(sorry for my english)

No that doesn’t work.
It doesn’t even work, when I use the AutoIK feature.

You have encountered the old IK flipping issue :stuck_out_tongue: . This happens when the IK solver passes through the root axis of the armature and gets “confused” . This gets even worse when you lock IK rotations . And you are not helping matters with how you set up your rest pose (it is never a good idea to pose any set of bones that will be IKed in a straight line) . Adding bends in the initial pose will make the IK solver work much better .

But fortunately for you the devs added a new feature that will make your life easier . In stead of having to go into Edit Mode to change the rest pose, you can now just select your armature in Pose Mode and hit Ctrl-A -> Current Pose to Rest Pose (the pose you have it in now is good enough), et voila ! no more IK fliping :slight_smile:

On a technical note, it is recommended that you go back and clear the bone roll of all your bones (best practice and all that), but do not do this . You will get the flipping issue back as well as odd pose relationships if you do . In this case the bone roll keeps the IK running smoothly, so just leave it alone .

Also you do not need the Limit Rotation constraints on the bones, - the IK solver completely ignores all other constraints currently (it is the Lock XYZ setup in the Armature Bones panel that is actually constraining the rotations) and the Auto IK feature will will igore them during the IK part and then appy the constraint afterwards, which makes posing a bit imprecise in realtime (you can now lock rotations for Auto IK through the Transform Properties panel) .

And this is the Animations “Artwork” section of the forum , not Support/Animation … Good Luck !

1 Like

Thank your for your great explanation!
I fixed the rest position. It helped a lot, but it still flips at some angles.
Seems like IK Constrains are not the optimal solution for this.

I would suggest not trying to do it all with one IK chain! Break it up. For each bend in the chain, the IK solver has a harder time understanding the desired orientation.

If I were rigging a character for example, and I had an IK solver from the wrist to the hip… it would be completely unreasonable for me to expect any kind of refined control over the character.

Just something to keep in mind.