Inversed Kinematics Constraint: Problem with Target Rotation

I try to simulate a handling robot, but I cannot get the Rotation part of the Inversed Kinematics Constraint to work.

I built a very simple basic armature with 5 bones, I even left all bones all degrees of freedom, but STILL: when I rotate the constraints target, a cylinder, nothing happens. When I just translate it, the arm follows nicely.

What am I doing wrong? I properly activated the “Rotation”-part of the constraint. I know that it basically works, because I have one sample where it works. But as soon as I scale this one to real life dimensions, the rotation part of the constraint stops working properly too.

Many thanks for any help! I attach a screenshot and the Blender file.


simtest2.blend (488 KB)

I attach my properly working example here. When you select and rotate the cylinder, then the robot follows as it should be. Now after I scale this robot to real world dimensions, the rotation part of the IK constraint stops working properly.

AssemblyBot1Final_e_working1b.blend (238 KB)


I guess I found the reason:

https://developer.blender.org/T28006

It seems the iTasc solver does not like the scaling. And when I build a rig with the true dimensions from the beginning, it seems to work.

I have just seen this and it is worth noting the following:

Whenever you need to rotate or scale an object, it could be a mesh or an armature or anything else for that matter, you should really do this in Edit mode, not Object mode. To scale in edit mode, just set the scaling point with your 3D cursor and set 3D cursor mode. Next select all the bones for an armature, or all vertices for a mesh, and key S a value and Return e.g. S 3 CR.

If you do scale or rotate in Object mode, you should apply the scale/rotation by selecting the object and key CTRL+A and then select “Rotation and Scale” from the popup menu. This will stop the issues you are having.

Cheers, Clock.