Houdini for product design risk assessment

   1037   5   2
User Avatar
Member
3 posts
Joined: June 2024
Offline
Hello all -first post!

I’m considering investing in Houdini (both $$ and a lot of time!) but have a particular need and wasn’t sure if Houdini has the capability or not.

I’m a product designer and I’m working on a particular product that could occasionally get dropped while in use. I’m trying to learn how likely it is that one component of this design could make contact with other objects when it’s dropped. I’m NOT looking to understand the severity of the drop (I’ll use ANSYS or Abaqus for that) but just the frequency of contact. The idea is to use Houdini to randomize starting rotational & translational components and have the simulation (rigid body) run thousands of times, each time slightly unique and some how get a report on how many times that surface contacted another surface. Is something like this possible? I guess you could pretend the object was a camera and it was the lens you wanted to learn about hitting things when it was dropped as an example. Thanks in advance!
User Avatar
Member
2120 posts
Joined: Sept. 2015
Offline
Short Answer: Yes this is possible.

Potential Caveats: For RBD collisions, the more 'refined' and 'accurate' the object collisions are, the more time intensive the simulation will take. So if your needing to refine your product in terms of the model dimensions, based on your RBD results, this may be an extremely long process.(depends on the complexity of your product model).

However, you could do RBD sims not so detailed which can give you many more general 'results' - just to get you in the ballpark after which you could do shorter segment sims that target 'hits' more specifically, with a RBD solver, or even your own set up determining interactions using TOPs.

Also, you could first test the waters with an apprentice version so you don't have to pay, except for your time in looking at how to set up what you intend to do.
Edited by BabaJ - June 4, 2024 12:46:51
User Avatar
Member
3 posts
Joined: June 2024
Offline
Thanks very much for the insights -much appreciated!
User Avatar
Member
4677 posts
Joined: Feb. 2012
Online
You can definitely do it.

Not exactly identical problem but I used Houdini when I was at Lyft to find optimal sensor placement configurations for self driving before. It does help reduce the trial and error the engineers used to do before.
Senior FX TD @ Industrial Light & Magic
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]

youtube.com/@pragmaticvfx | patreon.com/animatrix | pragmaticvfx.gumroad.com
User Avatar
Member
3 posts
Joined: June 2024
Offline
Update & question.

I’ve spent the last couple months learning the basics of Houdini so I could better ask my questions and hopefully understand the answers. It’s been almost like learning a new language that had a different alphabet to learn first but I’m getting there.

The Tops suggestion was spot on and I’ve learned a lot about RBD sims (still lots to learn). I have a sim that can randomize the starting conditions & have tops manage the iterations. I also have the object colliding and behaving as I would expect when it is virtually dropped.

The two outages I still have:

1. How do I detect when the particular face of the object I’m dropping contacts something (see original post for the camera analogy -it’s the “lens” I care about).
2. If the sim is going to run several thousand iterations, how can it report back the results? Ideally it would let me know the fragile surface in question hit other objects X number of times out of 1000 drops.

Thanks in advance!

-Rob
User Avatar
Staff
407 posts
Joined: Feb. 2008
Offline
For 1), on the RBD Bullet Solver node, in the output tab, enable Impact Data. Press the "Fetch Impacts" button - this will create a object merge pointing to the impact points from the sim.

With these points, impactobject and parentobject attributes tell you which objects are involved in the impact event.

Ground, when ground or heightfield collisions are enabled, is always 0
Collision Geometry (plugged into the 4th input) is 1 when ground collisions are enabled else 0
RBD Geometry is 2 when collisions and ground collisions are enabled, 1 when only collisions or ground collisions are enabled, or 0 when neither collisions nor ground collisions are enabled.

The impactprimnum and parentprimnum tell you which prims from their respective ground/collision/rbds objects are involved in the impact.

So, say you have 3 RBD pieces (object 1), a box (primnum 0), a sphere (primnum 1) and a lense (primnum 2), falling on top of one another and a ground collision (object 0), if you want to find all impacts that involve the lense, you'll have to find all impact points that have
(@impactobject==1 and @impactprimnum==2) or (@parentobject==1 and @parentprimnum==2)
  • Quick Links