I’m working on a mechanical linkage for engine control, and would like to animate parts of the linkage assembly.
In the attached photo, you will see:
1) A dark gray plate, this is the “cam plate”. Anchor point is at the bottom “pin” of the plate
2) A lighter gray actuator lever, anchor point is the bottom pin
3) A brown colored “cam pin”. This pin transfers motion from the rotating actuating lever to the cam plate
4) Red alignment markings - the two red circles form the boundary of the brown cam pin rotation.
The straight lines show the 0 degree, 60 degree, and 90 degree cam pin positions.
As you can see, if the actuating lever is rotated anywhere between the 0 - 60 degree positions, there will be no rotation of the cam plate.
But when the actuating lever is rotated in the negative (counterclockwise) direction, it will transfer this motion to the plate via the pin, based on the track within the plate.
I have no idea how to animate something like this - due to the very odd shape of the plate track path. Any suggestions on where to begin?
Because the cam pin is always a fixed distance away from the center of your circle and because the cam slot is aligned with the arc of that circle there are ways of testing a position along the cam slot and its distance from the center of the rig. An invisible spline childed to the cam could be used to get a point along the cam slot and then test that point's distance from the center, then position the angle of the cam appropriately (the angle of the main arm with the cam pin at the end would determine the "point" you are looking for along the cam spline). You would have to change from arc math to sinusoidal math once you get into the squiggly bit (thats a technical term isn't it?).
You might also be able to do this with an inverse kinematic rig similar to how a foot is anchored to the ground but also (via the leg) to the hips, with the bending knee joint being your cam pin.
However, with the time to get that working right, would it make more sense to position the anchor points of each part at their natural pivot points and then keyframe rotation attribute at the extreme positions, add more rotation keyframes at important other positions and then tweak keyframes between those keyframes until it runs smoothly. Once that is done you could precompose all of that and the with time warp (or enable time remapping) run it at any speed you want over and over, even backwards.