SV: [ODE] Iterative solution

Antonio_Martini@scee.net Antonio_Martini at scee.net
Tue Mar 18 03:07:02 2003


>so it seems that the body position drifts during the solution process?
more than drifting, the error correction is trying to enforce the
constraint
at positional level as well i would say.

>why not keep the position constant and just adjust the velocity? -
>because the constraints are (mostly) velocity constraints.
the problem is that after N iteration velocities would not be exact, so
there will be some error after they will be integrated, the error
correction
on the position could be performed only in the last step but probably it
would
be less accurate(more energy added to the system) than correcting in
subtimesteps as positions
are corrected by altering the contacts velocities.

antonio





Russ Smith <russ@q12.org>@q12.org on 18/03/2003 05:30:12

Sent by:    ode-admin@q12.org


To:    <david@csworkbench.com>
cc:    ode@q12.org
Subject:    Re: SV: [ODE] Iterative solution



hi,

i'm curious about your algorithm. you stated it like this (in summary):

> for i = 0 to maxIterations
>  ...
>  foreach joint
>   solve LCP problem for this joint
>   add resulting forces to each body's accumulators
>  next joint
>  foreach body
>   adjust velocity by force and torque accumulators
>   adjust body's position by velocity
>   reset force and torque accumulators to 0
>  next body
> next i

so it seems that the body position drifts during the solution process?
why not keep the position constant and just adjust the velocity? -
because the constraints are (mostly) velocity constraints.

your algorithm seems like a form of block-jacobi iteration for solving
the system matrix. i'm curious if this could be improved by converting
it to block-gauss-siedel or block-SOR. i'm also wondering what the
trade-off is between the blocking and non-blocking iterative matrix
schemes ... in the blocking scheme it seems like the maximum convergence
eigenvalue is lower (so convergence is faster) but you have so do the
extra work of the mini-LCP's at each step ... hmmmm, this is a
worthwhile subject of study. does anyone know if there are any existing
papers on this subject?

is your code a plug-in replacement for ODE's existing solver? i'm
looking forward to seeing it...

russ.

--
Russell Smith
http://www.q12.org
_______________________________________________
ODE mailing list
ODE@q12.org
http://q12.org/mailman/listinfo/ode










**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
postmaster@scee.net

This footnote also confirms that this email message has been checked
for all known viruses.

**********************************************************************
 SCEE 2002