[ODE] Reseting World Params

David Whittaker david at csworkbench.com
Mon Apr 14 14:11:01 2003


Would you happen to be using the iterative solver?  If so, comment out
#define RANDOMIZE_JOINT_ORDER
(I think that's what I called it... it's close anyway.)

If not, are you trying to save the initial state of the system or it's
state after it has moved?  If it's the initial setup, and your code sets
up the system the same way it was set up the first time, then you should
have the same behavior.  If you're trying to save the state after the
system has begun moving (or even just one step), you need to save every
parameter you set in the setup code, plus all of the bodies' current
linear and angular velocities.

The list of state that you save should include body position, orientation,
mass, dimensions, and joint velocity and fmax.  Include body velocity
(linear and angular) in that list if it's not 0 when you save it.  I don't
know if it's been proven or not, but it's possible that the order the
joints are created in matters (position in system matrix changes, might
give you a different mix of round-off errors).  It definitely matters in
my iterative solver, without RANDOMIZE_JOINT_ORDER defined.  Body order
shouldn't matter though.

David

> I was wondering what I need to know about resetting world parameters.
> Basically, I am evolving a virtual creature, but when I save it, and
> reload it later, I am unable to reproduce the behavior of the saved
> individual exactly.
>
> Since I didn't see any reset functions for bodies, geometries, or
> joints, I just destroy and recreate them for each individual. I was
> hoping that that would take care of everything but it looks like there
> are some artifacts that remain. I am using double precision, and have
> high precision set when out I output to a file. Does anyone have any
> ideas what this could be? Are there any parameters, say in the planeGeom
> that need to be reset? Any other dynamics that I might not know about?
>
> I had the same problems with Vortex at one point, as there were certain
> values that weren't getting cleared with the reset functions.
>
> Best,
> RDL
>
>
> =============================
> Rob Leclerc
> University of Calgary
> Department of Computer Science
> Office: ICT 728
> ==============================
>
>
> _______________________________________________
> ODE mailing list
> ODE@q12.org
> http://q12.org/mailman/listinfo/ode