[ODE] Jittering bricks

Pete Baron sibaroni at hotmail.com
Sun Aug 8 02:24:06 MST 2004


Many thanks to Petr and Bo for their quick replies!

Unfortunately I can't increase the number of contact points beyond 3 because
the code limits it to 3 in the box/plane collision function anyhow, and if I
increase the "spongyness" of the simulation it does indeed cause these
larger structures to collapse under their own weight (as you surmised!).
Petr, your idea of using a huge cube as the ground plane is certainly worth
my time to investigate - although I've seen some weird effects when using
very long poles I haven't tried using a very large cube yet, and certainly
the box/box collision code looks like it should be more robust than the
box/plane code in exactly the way you suggest (3 points is NOT a stable
basis).

Bo's "breakable joints" suggestion is also worth examining, although I'm not
sure how to implement these using ODE?  As for making the blocks near the
top of a structure lighter (or smaller) than the ones at the bottom - I've
already tried a large range of densities, and I'm not sure that lighter
blocks will help much given that even a stack 3 blocks high has considerable
jitter.  The more I look at the problem the more sure I am that it's not
actually caused by the height of the walls (as I originally assumed).

cheers, and good ODE coding!

Pete
sibaroni at hotmail.com


----- Original Message ----- 
From: <ode-request at q12.org>
To: <ode at q12.org>
Sent: Saturday, August 07, 2004 8:00 PM
Subject: ODE Digest, Vol 12, Issue 7


> Send ODE mailing list submissions to
> ode at q12.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://q12.org/mailman/listinfo/ode
> or, via email, send a message with subject or body 'help' to
> ode-request at q12.org
>
> You can reach the person managing the list at
> ode-owner at q12.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of ODE digest..."
>
>
> Today's Topics:
>
>    1. Car Simulation(Lots of problems) (Robson Ito)
>    2. Car Simulation(Lots of problems) (Robson Ito)
>    3. Jittering bricks (Pete Baron)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 6 Aug 2004 16:20:35 -0300 (ART)
> From: Robson Ito <agemaniac at yahoo.com.br>
> Subject: [ODE] Car Simulation(Lots of problems)
> To: ode at q12.org
> Message-ID: <20040806192035.64979.qmail at web41405.mail.yahoo.com>
> Content-Type: text/plain; charset=iso-8859-1
>
> Thanks for the replies. I really got my car working
> better now. I have just one remaining problem.
> When i hit the RIGHT button the car move instantly to
> the right. its ok. But when i hit the LEFT button the
> car seen to have a little lag to turn. and when it
> turn the wheels have a full turn. This is my code:
>
> if(steer>0)
> {
>   joints[0]->Set_Param(dParamLoStop, XX);
>   joints[0]->Set_Param(dParamHiStop, XX);
>   joints[1]->Set_Param(dParamLoStop, XX);
>   joints[1]->Set_Param(dParamHiStop, XX);
> }
> else
> {
>   joints[0]->Set_Param(dParamLoStop, YY);
>   joints[0]->Set_Param(dParamHiStop, YY);
>   joints[1]->Set_Param(dParamLoStop, YY);
>   joints[1]->Set_Param(dParamHiStop, YY);
> }
>
> when i hit LEFT XX will start to decrease from 0 to
> -0.3 -> the wheel move properly.
> when i hit RIGHT YY will start increase from 0 to 0.3
> the wheel just start move when YY hits 0.3. Soh it
> will be imoveable from 0 too 0.3. When hits 0.3 the
> wheel got full steer and move instantly.
>
>
>
>
>
> _______________________________________________________
> Yahoo! Acesso Grátis - navegue de graça com conexão de qualidade! Acesse:
http://br.acesso.yahoo.com/
>
> ------------------------------
>
> Message: 2
> Date: Sat, 7 Aug 2004 03:24:19 -0300 (ART)
> From: Robson Ito <agemaniac at yahoo.com.br>
> Subject: [ODE] Car Simulation(Lots of problems)
> To: ODE at q12.org
> Message-ID: <20040807062419.77366.qmail at web41414.mail.yahoo.com>
> Content-Type: text/plain; charset=iso-8859-1
>
> I got it working..nevermind.......it was just the Hi
> and Lo param inverted
>
>
>
>
>
> _______________________________________________________
> Yahoo! Acesso Grátis - navegue de graça com conexão de qualidade! Acesse:
http://br.acesso.yahoo.com/
>
> ------------------------------
>
> Message: 3
> Date: Sat, 7 Aug 2004 11:13:26 +0100
> From: "Pete Baron" <sibaroni at hotmail.com>
> Subject: [ODE] Jittering bricks
> To: <ode at q12.org>
> Message-ID: <BAY7-DAV2Z24dsPkskq000067e4 at hotmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi folks,
>
> apologies if this question has been answered before - I dug through the
> older email collections but didn't find a solution that fits my problem.
> I've been playing with ODE for a couple of months (fantastic job Russell!)
> trying to get buildings and walls built of large numbers of blocks to be
> stable.  The problem is that the lowest layer of bricks jitters due (I
> think) to the pressure from all the bricks above them.  The size of the
> jitter can be reduced by decreasing the time-step, but it has to go down
to
> 0.01 or less to enable the blocks to 'sleep' and that's just too slow to
be
> useful - 0.05 seems to be about the slowest with a reasonable screen
update
> rate, and multiple calls takes too much time!
> I've experimented a lot with the various simulation parameters without
> success and I've also tried modifying the code with a variety of filters
and
> checks (as detailed on my home-page
> http://home.btconnect.com/pete/homepage.html) but in the end I gave up.
I'm
> still interested in getting this working though so any ideas would be
> gratefully received!  There are a couple of screen shots of the sort of
> thing I'm doing on my homepage.
>
> Here are my current ODE settings:
>
> // some ODE related constants
> #define NUM 2000     // max number of objects
> #define DENSITY REAL(0.1)   // density of all objects
> #define GPB 1      // maximum number of geometries per body
> #define MAX_CONTACTS 3    // maximum number of contact points per body
> #define CUBE_SIZE REAL(0.5)   // size of each side of the cubes
> #define REPETITIONS 1    // how many times does the physics run per video
> refresh
> #define ITERATIONS 6    // number of iterations of the LCP solver
> #define OVER_RELAXATION REAL(1.3) // SOR over-relaxation parameter
> #define GAME_TICK REAL(0.01)  // amount of time per frame
> #define GRAVITY REAL(-0.50)   // force of gravity
> #define ERP REAL(0.95)    // error reduction parameter (correct error by
> ERP*100% per frame)
> #define CFM REAL(0.01)    // constraint force mixing (closer to zero =
> harder surfaces)
> #define PUSHOUT 0.5f    // maximum velocity allowed when forcing
penetrating
> blocks out of each other
> #define PENETRATION REAL(0.001)  // amount of interpenetration allowed
> before pushing blocks out
>
> // friction values for various types of contact
> #define DEFAULT_FRICTION dInfinity
>
> #define BOX_PLANE_FRICTION dInfinity
> #define BOX_BOX_FRICTION REAL(1.00)
>
>  dWorldSetAutoDisableLinearThreshold(world, REAL(0.055));  // linear speed
> threshold for 'inactivity'
>  dWorldSetAutoDisableAngularThreshold(world, REAL(0.260));  // angular
speed
> threshold for 'inactivity'
>  dWorldSetAutoDisableSteps(world, 160);       // go to sleep after X steps
> of inactivity
>
>
> cheers,
>
> Pete Baron
> sibaroni at hotmail.com
>
> ------------------------------
>
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode
>
>
> End of ODE Digest, Vol 12, Issue 7
> **********************************
>


More information about the ODE mailing list