# How to solve dynamics of cardan joint manipulator

We can use the Recursive Newton-Euler Algorithm to solve the dynamic problems of open chains manipulator, but how about the Cardan-joint manipulator?

For example, if we have one Cardan joint (Universal joint),2 degrees of freedom, like this picture, one is rotate around the z-axis,and another is rotate around the y-axis

In order to solve the inverse dynamics of this model, my idea is to set the virtual link between $$\theta_1$$(assume rotation axis is z-axis) and $$\theta_2$$(rotation around y-axis), and then the problems become open chains, so in forwarding iterations of Newton-Euler Algorithm, the velocity of $$\theta_1$$ can transfer to the velocity of $$\theta_2$$ by virtual link, and finally, the wrench of end-effector can be transfer by backward iterations. But the inertia matrix of virtual link is diag([0,0,0,0,0,0]), is my idea correct?

I didn't know how to transfer the velocity and wrench between $$\theta_1$$ and $$\theta_2$$ in the Recursive Newton-Euler Algorithm Framework, Or maybe I should use another method to build the dynamics of this model.

• It's hard for me to follow your description here. Please consider starting with just one joint, and once that's solved then you can add subsequent joints. I don't understand how your axes are defined, what $\theta_1$ or $\theta_2$ are, or where your "virtual link" would be located. I can say that, if you have an inertia matrix of zeros, any dynamics algorithm is going to fail because of a divide-by-zero in the acceleration calculation. The "cross" component in the joint does move, so again I'm not sure why you're needing a virtual link.
– Chuck
Apr 10, 2020 at 13:56
• Please edit your question to focus on one joint, label your components and axes, and show what you're referencing when you use $\theta_1$ and $\theta_2$ and how you're including a virtual link.
– Chuck
Apr 10, 2020 at 13:57
• @Chuck, thank you! I have improved my questions, $\theta_1$ and $\theta_2$ is the variables of the rotation axis of the across in the universal joint, I didn't know how to transfer the velocity and wrench between θ1 and 𝜃2 in the Recursive Newton-Euler Algorithm Framework.
– lumw
Apr 10, 2020 at 14:32

In your diagram now, if it were real and "unpaused," your end-effector would drop. I think the trouble you're having with your dynamics is that you're missing a constraint - what holds the end-effector stationary? To illustrate, if the following were a snapshot frozen in time:

And then you "unfroze" time, then the "dynamics" you would see would result in:

The cross, being an unactuated bearing, cannot support a moment. If it weren't for the faces or end-caps colliding with one another, the entire assembly would swing completely down:

This is what I meant when I said the cross moves - you have one joint between the base and the cross, and then you have another joint between the cross and the end-effector cylinder. The complex part here isn't the joint definitions, it's the addition of the constraint. You don't have one pictured here, so I'm not sure what you're expecting is going to hold the end-effector up.

You either need a bearing or support of some kind for the end-effector or you need to actuate the universal/Cardan joint.

• Thank you! I didn’t add constraints at end-effector, because I want to build a dynamic model to simulate the motion trajectory under the gravity(ignore the collision with base), the open chain is very easy, but the universal joint kind manipulator is confused me. By the way, how do you make those illustrate, it’s amazing, are you also use FreeCAD?
– lumw
Apr 10, 2020 at 15:55
• @Ben - haha thanks. I eyeballed your model and redrew approximately the same proportions in solidworks. Figured it would be easier to show with pictures than to explain with words. But yeah, unfortunately your dynamics are basically pendulum dynamics if the joint isn't actuated or constrained.
– Chuck
Apr 11, 2020 at 16:22
• Thank you, it’s great! And can you give me more advice for this kind pendulum? I think this is very interesting because of the universal joint, many lectures only talk single rotation joint pendulum.
– lumw
Apr 12, 2020 at 8:38
• @Ben - No, sorry, but I think it's an interesting problem. If the base or "input" axis (for lack of a better term) of the cross is exactly vertical then the output must be exactly horizontal, so the output arm would have exactly pendulum motion. As the input axis rotates off-vertical then you'd get more and more interference, but the nature of that interference would be dependent on the ratio of masses between the cross and output arm; if the cross were infinitely massive then it'd be like a pendulum on a slope, and if it were massless then it'd introduce strictly a rotational constraint.
– Chuck
Apr 13, 2020 at 18:29
• It would be a neat problem to study, but my approach would be to model it like a dynamic chain - base first, then the cross, then the output arm. You should be able to plot everything from there.
– Chuck
Apr 13, 2020 at 18:31