Industrial robot arm: sudden change of direction with Inverse Kinematics

Hi guys,
does anyone have any idea how to prevent the sudden change of direction of the bones in this rig for a robot arm in IK mode (other than using Forward Kinematics for that)? Since the problem is hard to see in the picture, it’s better to start the animation in the attached blend file.

Already tried it with Pole Targets, but didn’t get anywhere with it on this rig.

Thanks!

Robotic-Arm.blend (1.2 MB)

The IK bones are all in a straight line, so the direction of bend is ambiguous. Mute IK for a moment, then rotate the last two bones in the X axis to give a preferred bend:

Keyframe these rotations if desired. Re-enable the IK. No more twitch.

If that’s not the direction you want them to bend, rotate them the other way. If you hit alt r on everything, it’ll go back to being ambiguous. It is typical to build the desired bend into the model + rig, which works just as well as posing it to indicate which way, but of course it will persist through alt r.

2 Likes

Thanks a lot for your help. With the temporary muting of the IK I honestly do not really get on, because when muting the IK the complete pose in the relevant frame is lost. For this, I had already planned in the rig, with difficult movements, to do without IK completely and to solve that manually via FK. But maybe I have missed something else …

I had not considered the built-in bending of the IK bones until now, because I have to stick to the specifications of real industrial robots and they are partly (or in certain axes) very flexible and have no predetermined direction. Nevertheless, I now think that this could make sense, at least for certain axes, and I will try it.

While experimenting, I tried to restrict the movement of the bones a bit more in the IK settings. I used an example based on the real restrictions of a Mitsubishi robot. The result is in any case better than before. At least for this model …

This is only so that you can see what you’re doing, and what I’m doing. You have to rotate the bones; you do not actually have to mute the IK. In any case, you’re not actually muting it for your animation, because after you rotate, you’re re-enabling the IK.

Then when that bend switches, that is something that you have to put into the animation, by changing the direction of the bend. Blender needs the bend because otherwise, there are many solutions to the IK and it can’t pick one (or, it would pick a different one for adjacent frames, and you’d get IK twitch.)

2 Likes

Ok, got it, works, thanks a lot!

I have now also changed the basic pose on some of my robot models so that the IK bones have a preset preferred rotation rather than simply forming a straight line. This has actually helped a lot too and prevents most uncontrollable rotations. Many thanks!

1 Like