By: Danske - danske |
Okay, I've been playing with joints and have some preliminary
findings. |
By: Martin Baker - martinbaker |
Can I suggest a slightly different structure (or perhaps the
same thing in different words). An object starts with 6
degrees-of-freedom. As you say, a joint constrains or takes away
some of these degrees-of-freedom which may be linear, rotational,
or both. |
By: Danske - danske |
The problem is how to mathematically describe the geometry of
the allowed motion so that you can determine the direction of
the forces/torques to maintain the joint constraints. I think
it's easier mathematically to start with the "joint"
that allows no translational or rotational movement between the
two objects so joined. Once you have defined how to do that with
force/torques in the appropriate directions then you can allow
movement by removing some of those mathematical
constraints. |
By: Martin Baker - martinbaker |
I've been thinking this over and I was wondering what
mathematical type we could use to specify the allowed movements.
Just taking the simple cases of straight movement for now. |
By: Danske - danske |
It seems to me so far that using normal vectors of planes is
the way to go. This provides both a nice scalar constraint
function by using the dot-product of the normal and the
point/vector we are confining to the plane, and necessarily the
direction of the force to maintain the constraint (it will be
parallel to the normal vector of the plane). This is nice
because we're only solving for the magnitude of the force
vector, not its direction. The constraint force should also
never have a component along the allowed direction of movement,
and defining it as normal to the plane of allowed movement
insures this. |
By: Danske - danske |
Oh, it occurs to me that complex joints may not be that
simple. ;) However, I think we can still use vectors to define
the prohibited directions of movement, and thus the directions
of constraining forces, even if those vectors are derived by
some equation instead of just being constant. If we can't
define the direction of movement a joint prohibits then we're
lost anyway. |
By: Danske - danske |
Oh, and the big equation we're primarily dealing with is the
linear acceleration of points on an object, since we're trying to
keep points on two different objects from acceleration away from
each other. The equation is: |
By: Martin Baker - martinbaker |
Do you think it would be practical to analyse the kinematics
first (analyse possible movements), use this to make any
simplifications, then do the dynamics (relate the forces to
accelerations)? |
By: Danske - danske |
How about an example of constraining a billiard ball to the
surface of the table? That's just removing one DOF from the
ball. So we can formulate that as follows: |
By: Martin Baker - martinbaker |
I was OK until the table started moving! Then I got a bit
lost. In fact this seems to go back to an earlier discussion we
were having about measuring things relative to other
things. |
By: Danske - danske |
Actually, since (n) is just a direction vector, then (n') is
how the plane of the table is *rotating* in space. So what we're
saying is that as the table bounces and flips through space the
ball is still constrained to lying in the defined plane. The
constraints on the ball depend entirely on the
position/orientation, velocity and acceleration of the
table. |
By: Martin Baker - martinbaker |
Do you think we can use this to infer any relationship between
linear and rotational constraints? |
By: Danske - danske |
I said before, I think, that any two points on an object
create a direction vector, which is one-half of the two
direction vectors needed to specify the complete orientation of
an object. By constraining two different points on an object
through translational constraints you are also creating a
rotational constraint. |
By: Martin Baker - martinbaker |
||||||||||||||||||||||||
Based on you last message I thought I would make one last
attempt at defining simple categories of joint/constraint which
could be combined in a program to build up more complex
mechanisms.
This seems to
work for some types of joint better than others, but there might
be some scope to develop it further? |
By: Danske - danske |
That looks about right to me, although I think the spherical
joint is 3 DOF; rotation isn't constrained at all. |
metadata block |
|
see also: |
|
Correspondence about this page | Open Forum discussion |
Book Shop - Further reading. Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them. |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Commercial Software Shop Where I can, I have put links to Amazon for commercial software, not directly related to the software project, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them. |
|
This site may have errors. Don't use for critical systems.
Copyright (c) 1998-2023 Martin John Baker - All rights reserved - privacy policy.