[ODE] RE: attn: Erin Catto, concerning: fixed path constraint

jnilson_99 at yahoo.com jnilson_99 at yahoo.com
Thu Jul 21 23:15:02 MST 2005


ok, using a universal joint makes sense. my only
question would be: how do i allow the user to change
the plane of the upper arm? this would be necessary to
change the type of throw,i.e. slider, side arm etc.

if "The first axis is the vertical axis", then to
change the plane at run time, do i just tweak the
direction of this vertical axis? 

thanks,

john

--- Erin Catto <erincatto at sbcglobal.net> wrote:

> Okay, this is clearer.
> 
> You have just two rotation axes:
> 
> 1. The first axis is the vertical axis.
> 2. The second axis is along the axis of the upper
> arm.
> 
> For this constraint you can use a universal joint.
> No ball joint or planar
> joint is needed.
> 
> Erin
> 
> -----Original Message-----
> From: jnilson_99 at yahoo.com
> [mailto:jnilson_99 at yahoo.com] 
> Sent: Thursday, July 21, 2005 9:03 PM
> To: Erin Catto; 'ode'
> Subject: RE: [ODE] RE: attn: Erin Catto, concerning:
> fixed path constraint
> 
> "Perhaps you could explain the specific thing you
> are
> trying to model."
> 
> i'm trying to model various motions in sports, like
> swinging, throwing, etc. all must use the
> ball/socket
> joint because that's the joint humans are using to
> accomplish this task.
> 
> take throwing a baseball for example, the upper arm
> moves along a plane roughly parallel to the ground
> while rotating the lower arm from back to front.
> this
> motion requires a ball/socket joint because all
> three
> axis are being used. i could use a hinge to restrict
> the upper arm to follow a plane, but then i couldn't
> twist the lower arm.
> 
> i could use Russ's CMAC/Fox controller but for
> various
> reasons i don't want to do that. the biggest reason
> being i want to allow the user to change the motion
> of
> the shoulder in realtime without requiring thousands
> of training steps. using mathematical constraints
> like
> requiring motion only along a plane i would be able
> to
> change the motion of the shoulder and arm
> immediately.
> 
> 
> john
> 
> --- Erin Catto <erincatto at sbcglobal.net> wrote:
> 
> > I guess I don't understand what you're after.
> > Perhaps you could explain the
> > specific thing you are trying to model.
> > 
> > Erin
> > 
> > -----Original Message-----
> > From: jnilson_99 at yahoo.com
> > [mailto:jnilson_99 at yahoo.com] 
> > Sent: Wednesday, July 20, 2005 1:32 AM
> > To: Erin Catto; 'ode'
> > Subject: Re: [ODE] RE: attn: Erin Catto,
> concerning:
> > fixed path constraint
> > 
> > "You cannot base a planar joint off a ball joint
> > because a ball joint has 3 position constraints
> > while
> > a planar joint has only 2. "
> > 
> > maybe i'm incorrect in using the word "planar".
> > after
> > a few google searches, it seems planar joints are
> in
> > fact a real joint type. by planar i simply mean
> > confining either a universal or ball/socket to
> > follow
> > a plane through the joint anchor. this would be
> > something like defining a spline and making an arm
> > follow the spline's path.
> > 
> > i'm also a little confused on constraints. yes a
> > ball
> > and socket has 3 constraints per se. but it also
> has
> > "limit" constraints which confine the joint to
> > certain
> > angle ranges of motion,i.e. hi/lo stops.
> > 
> > is it possible to add my planar constraint like an
> > additional limit constraint?  i could go through
> the
> > laborious process of updating the hi/lo stops
> every
> > time step to the exact angle made by the plane and
> > the
> > ball/socket joint arm. i'd rather find a more
> > elegant
> > solution though.
> > 
> > thanks,
> > 
> > john
> > 
> > 
> > 
> > 
> > 
> > john
> > 
> > --- Erin Catto <erincatto at sbcglobal.net> wrote:
> > 
> > > You cannot base a planar joint off a ball joint
> > > because a ball joint has 3
> > > position constraints while a planar joint has
> only
> > > 2. I would implement a
> > > completely new joint type and use the code for
> > other
> > > joint types as a guide.
> > > The planar joint needs to use the position
> errors
> > I
> > > wrote along with their
> > > Jacobian rows.
> > > 
> > > Erin
> > > 
> > > -----Original Message-----
> > > From: jnilson_99 at yahoo.com
> > > [mailto:jnilson_99 at yahoo.com] 
> > > Sent: Monday, July 18, 2005 1:36 AM
> > > To: Erin Catto; 'ode'
> > > Subject: attn: Erin Catto, concerning: fixed
> path
> > > constraint
> > > 
> > > Erin,
> > > 
> > > I've given this a lot of thought as I'd like to
> > > create
> > > an additional "planar" constraint for any joint.
> > > Take
> > > a ball and socket joint for example. You mention
> > "It
> > > is best to formulate constraints like other
> joints
> > > and
> > > let ODE's solver compute the appropriate forces
> to
> > > make the body movements honor the constraints."
> > > 
> > > By this I take it that you mean ADD a constraint
> > to
> > > the existing constraint matrix. For a ball and
> > > socket
> > > joint, the solver calls "ballGetInfo2" which in
> > turn
> > > calls "setBall". "setBall" merely populates the
> > > joint's "Info2" structure consisting of the
> > Jacobian
> > > matrix rows,cfm (constrain force mixing), and lo
> > and
> > > hi limits.
> > > 
> > > If I wanted to add a PLANAR constraint to this
> > > joint,
> > > would I have to add an addition member to the
> > > "Info2"
> > > structure? That is somehow add "information" to
> > the
> > > "Info2" structure that would add an additional
> row
> > > to
> > > the existing Jacobian Matrix, the additional row
> > > being
> > > the equation limiting the joint to a certain
> > > "Plane"?
> > > 
> > > 
> > > Thanks,
> > > 
> > > 
> > > John
> > > --- Erin Catto <erincatto at sbcglobal.net> wrote:
> > > 
> > > > It is best to formulate constraints like other
> > > > joints and let ODE's solver
> > > > compute the appropriate forces to make the
> body
> > > > movements honor the
> 
=== message truncated ===



More information about the ODE mailing list