[ODE] Universal Joint / Arm -> rotating about its own axis

Martin C. Martin martin at metahuman.org
Thu Apr 3 06:57:02 2003


> > What the universal joint will do is keep the vector, attached to the top
> > surface of the leg, that points from the back of the leg to the front,
> > perpendicular to the vector, attached to the bottom surface of the body,
> > that goes from the body's right to its left.  Is that what you observe?
>
> I observe this 90% of the time, but time to time, the leg rotates around
> its own axis

It's possible for the leg to rotate around its own axis while keeping
those two axes perpendicular.  That's why I asked the question.  If you
think about it, it can happen when the leg rotates 90 degrees so that its
own axis is along the universal axis attached to the body.  That's exactly
what happens in your video: when the leg is pointing out to the side of
the doll is when you get the motion.

On the other hand, I'm surprised it happens in such a wide range around
that perfect alignment.  Can you print out the angle between the two axes
to see how much its really being violated?

By the way, if you think about the problem for a second, you'll see that
it's kind of ill posed.  If, from the starting state, you rotate the leg
90 degrees to the side, it'll be horizontal with the toes pointing
forward.  If instead you rotate it forward, it'll be sticking out in front
of the doll with the toes pointing up.  If you then rotate it to the side,
it's main axis will be pointing out to the side as before, but now its
toes are pointing up.  Basically, you can't win.  When the long axis of
the leg is aligned along the joint axis attached to the body, the leg will
be able to rotate around its axis freely.  You'll need some other
mechanism to limit rotation in that case.

- Martin