Hi, I found some way to tune ode.World behavior (World.ERP, World.CFM, World.contact_surface_layer, etc).
I also found out the way to change contact joints properties during collision (contact.mode activation flags with the binary masks and its parameters : contact.bounce, contact.CFM, etc). When I reduce idler round value to 0.01 (instead of 0.03), add some mass and add contact.CFM and remove slide efect (mu=infinity) I manage to avoid penetration. But land seems spongy(sic?) and sticky (like marlemade). I cannot get the sphere bounce or roll when I throw it against the land. Nobody using soya.ODE to explain me what happens ? (I use soya 10.1) I will make some test without soya land to see if I get the same behavior... Bye. Jacques Le Samedi 22 Avril 2006 01:03, Jacques Rebourcier a écrit : > Hi, > > I try to understand ODE bindings with buggy.py script in tutorial. > > I replaced the car by a simple rigid body a sphere, wich is rendered with a > soya sphere volume. A removed all the group of joints for the car. I also > removed all the keyboard controler stuff to move the car. So the sphere is > just falling to the land. I expect to see my sphere bounces and roll on the > land. > > When the sphere enters in collision the land, it is blocked for a short > time, then continue to be "pulled" by its gravity through the land, after > some resistance and slow penetration, the sphere finally traverse > completly the land and continue its fall. > > I tried to change, the mass value of the body or the gravity of the ode > world. Without success. I have seen an explanation in ode manual, but I > don't know how to set these parameters with this soya binding. > > [ > Sometimes when rigid bodies collide without restitution, they appear to > inter-penetrate slightly and then get pushed apart so that they only just > touch. The problem gets worse as the time step gets larger. What is going > on? > > The contact joint constraint is only applied after the collision is > detected. If a fixed time step is being used, it is likely that the bodies > have already penetrated when this happens. The error reduction mechanism > will push the bodies apart, but this can take a few time steps (depending > on the value of the ERP parameter). > > This penetration and pushing apart sometimes makes the bodies look like > they are bouncing, although it is completely independent of whether > restitution is on or not. > > Some other simulators have individual rigid bodies take variable sized > timesteps to make sure bodies never penetrate much. However ODE takes fixed > size steps, as automatically choosing a non-penetrating step size is > problematic for an articulated rigid body simulator (the entire ARB > structure must be stepped to account for the first penetration, which may > result in very small steps). > > There are three fixes for this problem: > > * Take smaller time steps. > * Increase ERP to make the problem less visible. > * Do your own variable sized time stepping somehow. > ] > > Someone can help me ? > PS : Sorry for my bad English, not my first language (i am french) > > Good WE > > _______________________________________________ > Soya-user mailing list > [email protected] > https://mail.gna.org/listinfo/soya-user _______________________________________________ Soya-user mailing list [email protected] https://mail.gna.org/listinfo/soya-user
