I am trying to make a linkage assembly using inverse kinematics. I have two arms parallel to each other which are to rotate with one another, while a link connects the two and is to stay parallel to the ground. When I rotate the linkage, the IK flips at 180° of rotation. How do I ensure the connecting link stays parallel to the ground while the two rotating arms are locked in rotation? I've attached a video for reference. Thanks!

https://1drv.ms/v/s!AqKAv0U30ygKhSG67bzjTSVed0mK?e=xVM6FR

The IK solver generally seeks to minimize the rotation of every bone involved in the chain, from either their rest orientation or from their orientation prior to the evaluation of the IK. When your angle passes through 180 degrees, the IK's first bone changes direction in order to minimize the rotation required of the second bone.

We can change this behavior by changing the rest orientation of the IK chain:

By rotating the resting IK chain, the second bone in the chain no longer has a preference for any particular direction relative to the first bone, and any rotation is going to be distributed evenly between both bones.

It's not strictly necessary that this be built into the actual rest pose of the bones. This can be achieved by giving the chain bones pose mode rotation instead. This is easiest to do numerically, after changing the bone rotation mode to an Euler mode.

However, your overall goal-- "the two rotating arms are locked in rotation"-- is not best served by IK here. Instead of IK, we can use a copy rotation constraint on one bone and a damped track on the other bone:

The bone that was the first bone in the IK chain now copies the world space rotation of our control, shown in the properties viewport; the bone that was the second bone in the chain now damped tracks the tail of our control.

• Thank you so much for your thorough response! Working great now Commented Aug 15, 2023 at 0:22