Universal Joint Not Behaving Correctly

I have a model of an universal joint which i generated following https://www.youtube.com/watch?v=veyaCkrAc68 .

When the joint is straight, the output follows the input correctly, however, when the joint is bent the motion is not consistant. Is this do to the non-linear relationship of the input to output given by a2 = atan(tan(a1)/cos(Beta)) which i got from this video https://www.behance.net/gallery/21902749/Cardan-Joints.?

I have attached the blend file.

Attachments

Universal Joint.blend (892 KB)

I’m not sure about the videos you linked, haven’t watched them. Just looked at the file. Seems, at frame 1, if you parent the Aim empty to the Cross object, with keep transform, it works smoothly.

Haven’t looked at the Video, Haven’t looked at your file, this is how I do it:


Blend file:

universal.blend (812 KB)

You should check “Autorun Python Scripts” in User Prefs => File tab as there is a scripted expression driver in there…

Dead easy, no maths - works every time. :smiley:

Now chaps, are we going to have a debate about the mechanical differences between a Universal Joint and a Constant Velocity joint - I do hope so… :wink:

Cheers, Clock.

PS. I understand the maths you have quoted above, but bones work this out for you, so you don’t need to know it yourself.

That’s it, thanks for your help