Hello, I’m hoping for some help understanding Inverse Kinematics with Bongo 2.0.
I am having some trouble connecting multiple pivot points to the same object while trying to animate a Blum hinge. It has 2 arms connecting to the hinge cup and I can’t get them both to affect the cup at different points. I’ve watched a few videos and tried a few different methods, but I was only able to get the hinge to work with some manual keyframing to match the top arm rotation
Hinge-Test_Importing.3dm (1.5 MB)
This isn’t a big issue, as I was able to get a decent solution with manual keyframing, but I would really like to learn if this is possible for future reference.
I am really new to this software and I have a feeling that I am using these functions wrong or not using the right ones.
Any help would be greatly appreciated!
As explained in the video Whys of IK in Bongo 2.0 - YouTube the basis for IK is a linear hierarchical chain. The stumbling block is to recognize that linear structure in the machine you are trying to animate.
Thereafter it must be decided what will be the head and what will be the tail of the IK-chain, and how the motion will be driven (I use the terminology that is being used in the video above).
The “Hinge Mount” part can be omitted from the chain because it doesn’t play an active role in the movement - it merely stays put. The rotating parts can just as well be attached to the World.
In Hinge-Test_Importing 001.3dm (1.8 MB) Figure 1 uses the “Bottom Arm” as the head of the chain. The end of the chain is marked by an auxiliary point (I assume you have seen The scissor arm: the conception of an IK chain in Bongo 2.0 - YouTube ?).
This auxiliary point is constrained to the ‘World’.
This type of constraint allows the object to rotate, hence it can function as a hinge.
The head of the chain is keyframed to rotate. It is the ‘driver’.
You’ll notice that at the end of the movement the “Hinge Cup” part is kind of thrown back. This is caused by the design of the Blum Hinge combined with the choice of the ‘driver’. In the nearly-open position of the Bloom Hinge a small amount of rotation of the inner arm causes a big swing of the cup.
In order to fix this the identical chain can be used but ‘driven’ by the “Hinge Cup” part. This is shown in Figure 2. The chain now starts off with a IK-joint-hinge at its head. The “Hinge Cup” part is made a ‘standard’ Bongo object, keyframed to rotate (just like the ‘head’ is in Figure 1).
Because it is “Bottom Arm”’s child the rotation of the “Hinge Cup” is relative to “Bottom Arm”.
The movement of Figure 2 is much smoother!
In Figure 3 - as a bonus - an attempt is made to turn the IK-chain upside down - which often can be done for this kind of mechanisms.
However, this is not very successful in this case. As can be seen in Figure 2, in the endphase of opening the “Top Arm” part slightly has to rotate in reverse. Thus selecting the “Top Arm” as driver isn’t a good choice.
– In your initial model you use (in each of both configurations) 2 chains of which the ends are constrained to each other. Such reciprocal constructions cannot be solved by Bongo’s IK-solver.
– I notice in your initial model that you tried to use a “Simple Constraint” within an “IK-chain”. This cannot be done. Info on this issue can be found in Simple constraint versus IK in Bongo 2.0: a clarification. - YouTube.