Accuracy of Bullet Collisions

   13743   17   1
User Avatar
Member
6 posts
Joined: July 2013
Offline
Hey,
i have a perhabs very noob question.
i have to compare the bullet solver with one written on my own for gran dynamics. Therefore i need very small objects (5 mm) colliding with each other.
So far so good. When they are colliding with each other, the interpenetration is very high. I want them not to interpenetrate…
The most basic idea i have (more substeps so smaller timestep) doesn't work. The more substeps i make the more instable the simulation gets.(Even with a timestep of 10^-5) I also tried to play arount with the Volume Collision parameters with no sucess so far.
Does somebody has any Idea how to solve this problem?
Thanks in advance
PS Appended a demo file where you can see the problem

Attachments:
001_rbd_test.hipnc (276.8 KB)

User Avatar
Member
72 posts
Joined: April 2011
Offline
I'm not sure but I think it comes from the volume representation of the object used in the solver to detect collisions not precise ennough. In your file, if you put the “geometry representation” to sphere inside Bullet data tab, you'll get better results, but only if your RBD is a sphere. Every time you do a RBD sim, it's a good habit to check the collision shape of your object before simulating.
User Avatar
Member
6 posts
Joined: July 2013
Offline
Thanks that helped for the collision of the spheres itself.
The collisions with the static spheres on the other hand doesn't look as I expected. Especially they do not stay on them (as i would expect)
A perhabs complete other question, why does the simulation gets more instable if I turn up the substeps…
User Avatar
Staff
433 posts
Joined: Oct. 2012
Offline
For the static spheres, you have the geometry representation set to “Convex Hull”, so you have a single collision shape that is the convex hull of all of those spheres. You probably want to set the collision shape to “Concave”, or use the “Convex Hull per Set of Connected Primitives” option, which creates a compound shape that contains a convex hull for each set of connected primitives. I'd suggest turning on the guide geometry to visualize each of these options.

You'll probably get the best results by using primitive spheres everywhere - see attached file.

Attachments:
001_rbd_test_883.hipnc (275.9 KB)

User Avatar
Member
6 posts
Joined: July 2013
Offline
cool thanks that helped a lot
User Avatar
Member
471 posts
Joined: Nov. 2013
Offline
seems in this case we miss bounce of our objects.
User Avatar
Member
471 posts
Joined: Nov. 2013
Offline
hey guys…
i have problem in houdini with bullet.
i try to done simulation in houdini so apple fall on the tray but the result is entirely unstable with bullet!
i know this simulation can done in RBD engine but i decide to use bullet solver.
if for apple you set geometry representation to convex hull the result is good but show guide geometry tell us top and bottom of apple not cover right!
if you set geometry representation to concave the result is bad but show guide geometry tell us apple cover as well.
mainly for complex shape how can we have good geometry representation for our model?
thank you.

Attachments:
Fall.zip (122.8 KB)

User Avatar
Member
3562 posts
Joined: Sept. 2007
Online
There is the Bake ODE SOP, lets you combine primitives into a compound collision shape. The name is old, from the days the ODE solver first became part of Houdini, but it works with both ODE and Bullet (not the RBD Solver though).

The documentation has a table for the Bullet Primitive - Houdini geometry conversion.

http://www.sidefx.com/docs/houdini13.0/nodes/sop/bakeode [sidefx.com]

See the attached example.

Attachments:
bake_ode.png (69.5 KB)
bake_ode_example.hipnc (283.6 KB)

I'm o.d.d.
User Avatar
Member
471 posts
Joined: Nov. 2013
Offline
thank you it's very useful.
i match your attachment project with my project apple and tray.
but when i click play apple don't fall on tray!
can you guide me where is wrong?
thank you.

Attachments:
Compound.zip (123.6 KB)

User Avatar
Member
74 posts
Joined: May 2012
Offline
thanks goldleaf

I always wondered how that compound option worked

very illustrative.

Edit: also I posted an answer for NimaNolan's problem on his other thread in case anyone that passes through with similar questions is interested
http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&p=146509#146509 [sidefx.com]
User Avatar
Staff
281 posts
Joined: July 2005
Offline
goldleaf
There is the Bake ODE SOP, lets you combine primitives into a compound collision shape.

There is a new parameter on the RBD Object in Houdini 13 that makes it easier to set up compound objects. You can remove the ODE SOP from your example leaving the geometry as a bunch of spheres then, on the RBD Object set “Geometry Representation” back to “Convex Hull” and enable “Create Convex Hull per Set of Connected Primitives”.
User Avatar
Member
3562 posts
Joined: Sept. 2007
Online
Oooh! Nice, I hadn't noticed that parameter! Thanks Derrick!
I'm o.d.d.
User Avatar
Member
471 posts
Joined: Nov. 2013
Offline
hi
i get new problem in houdini 13.0.376 i don't no it's bug or not!!!
when i create voronoi fracture on my cube and simulate that with bullet that it fall on the grid some piece of my cube Percolate to each other!!!!
it took long time from me but still it's not work!!!
thanks.

Attachments:
Problem.jpg (256.2 KB)
Collision Problem.hip (247.8 KB)

User Avatar
Member
74 posts
Joined: May 2012
Offline
Your pieces are quite thin, so when the collisions hulls are created and shrink even a bit some of those thin pieces' collision geometry disappear.

The RBD Packed Object DOP pre-shrinks the collision hulls by default to avoid initial interpenetration, You can adjust that shrinking amount with the Collision Padding parameter in the RBD Packed Object DOP of your scene.

Make that number smaller and you should stop having that problem.
User Avatar
Member
471 posts
Joined: Nov. 2013
Offline
hi
thanks for you help i reduce collision padding to 0.002 and my problem fix.
at now if i use RBD engine how can i fix this problem?
thanks.
User Avatar
Member
74 posts
Joined: May 2012
Offline
at the moment the RBD engine does not accept packed primitives so your setup does not work for that engine.

However if you want to use the RBD engine you have to import your objects unpacked with an RBD Object DOP or Fractured RBD Object DOP.
In that case the collision geometry is defined by the collision volumes so to increase accuracy you would just increase the volume divisions on the Collisions->RBDSolver->Volume tab.
User Avatar
Member
471 posts
Joined: Nov. 2013
Offline
i increase division for wall to 200 and in RBD solver set max substep to 10 but still i have problem and piece of wall Percolate to each other!!!
have we another way to doing that with RBD engine?
thanks.
User Avatar
Member
471 posts
Joined: Nov. 2013
Offline
hi again.
for have good collision between your fracture object and cloth you need to turn off volume base collision check box so in this case the piece of wall Percolate to each other when it fall on ground in RBD engine!!!!
how can fix this?
thanks.
  • Quick Links