I am struggling with an IK animation. I am brand new to Rhino and Bongo but I figured out the animation pretty quickly. The problem is in setting up an inverse kinematics relationship to work the way I need. I’ve wasted two full days on something that an experienced user could probably do in under an hour. Please PM me with your contact info and rate if interested. Thanks.
A IK puzzle is always fascinating . Certainly for apprentices I’m happy to have a look and give a hand.
Please document me through this channel or via luc@mcneel.com (when the project is confidential). For large files you can eventually use WeTransfer or similar.
Hi Luc,
Thanks for offering to take a look at my IK puzzle. It is not confidential so I will upload a Rhino file. This image shows the goal.
There is a carriage that moves along a track. The carriage pulls the blue pivot plate along with it. The pivot plate holds a shaft. The shaft pivots at the end opposite of the carriage. The pivot plate has to stay on top of the carriage but also rotate so that it stays perpendicular to the shaft it holds.
The shaft cannot be “locked” to the pivot plate because as the shaft rotates, it must also “slide” through the pivot plate. (The pivot plate holds the shaft in a hole with a linear bearing so that the shaft can slide in and out.)
Thanks again.
Ray
Here you are : Ray.3dm (221.3 KB)
Below I’ll use the terms I introduce in my “Whys-of-IK” video tutorial (which I hope you’ve watched).
The ‘driver’ (and ‘head’) of the chain is (obviously) the carriage. The constraint is the pivot point of the shaft (I made a tiny spindle to make it manifest but it can as good as well be a line or even a point-object – after all it’s just its pivot that really matters). Since the pivot point should only rotate but not move, a constraint ‘Keep location the same’ is used. It prevents displacement but allows rotation. The first ‘joint’ in the IK-chain is the pivoting plate – child of the carriage - which is made a Hinge (Z-axis). The second joint is the shaft - child of the pivoting plate – made Telescopic hence allowing it to slide away from his parent along the Y-axis.
I hope you’ll gain some insight in IK this way.
Wow…thank you!
I had so many things wrong. I moved the pivot point of the shaft down to the spindle position and designated it as a hinge since after all it rotates on the Z-axis. But you have it telescoping. I have watched several of your videos but clearly I need to watch them again.
Thanks again!!!
Your welcome. That’s what the Forum is for. Any more questions or projects; just log in!
I can understand you moved the pivot of the shaft. The tricky part is that the shaft needs 2 kind of actions: sliding at one end and rotating at the other. Seemingly one would need 2 pivots, but 1 object = 1 pivot. The easiest way to deal with this is the introduction of a ‘helper’; what I did in the form of the spindle. By making it child of the shaft it acts as being part of it, but it holds its own pivot. That way the shaft is more or less equipped with 2 pivots.
The same technique is applied in the “The conception of an IK chain: a scissor arm” video tutorial.
Keep it up.
Luc
Seeing how you solved my puzzle helped a lot. I also watched your video again and what really surprised me is when you say that every IK chain needs a constraint. I already knew that an IK chain needs a driver and one or more joints but I didn’t realize a constraint was required.
I also realize my mistake in thinking that because the shaft rotates that it should be a hinge. I realize now that the parent of the shaft already pulls the shaft and thus rotates it so the shaft needs to be the type of joint which corresponds to a movement that is unique to itself—in this case the telescoping. I need to remember that children objects move as a combination of how their parents moves plus then their own movement.
Thanks again.