script: arx_ribsimulation_02.gh (52.4 KB)
I’ve only gotten as far as getting the object to drop under the -z load, but I am stuck as to why the anchor point is not having any effect.
Has anyone solved anything like this before? What have I got wrong? Any advice or suggestions would be most welcome! Thanks in advance.
I’m not a Kangaroo user, but from what I’ve read here I don’t think that your specific problem is what it’s used for. I believe you simply want the center of gravity of your object which can be found directly from Rhino using area or volume centroid under mass properties on the Analyze menu dropdown.
Taking it a bit further: If you place a pivot (axle) exactly at the CG (centroid) the object will balance and be neutrally stable (stays where you put it if you rotationally displace it) at any orientation around the axis. If your ultimate objective is to have it be positively stable (returns to original position if displaced) at some particular orientation then move your axle location slightly “up” in the gravitational field to crate a fancy pendulum. How far to offset the axis will depend on how much restoring force you need. That’s pretty much determined by how much axle friction and air resistance you have and how quickly you want the overshoot oscillations to damp out.
I’m not sure if Kangaroo can model friction effects.
Okay, thanks for the input, I will give your first suggestions a try.
Ideally, I’d like to simulate the weight and movement of this object pinned in space at its centre of mass, and evaluate how it moves when disturbed by another object hitting it. Maybe I didn’t phrase the “big picture” question right the first time.
I’d then like to evaluate how that changes when you move the axle location up/down to find the optimal location for the movement I’m after. Of course, this would be impacted by friction and air resistance as you say AIW, but for starters, I’m happy with a basic simulation.
Okay, thanks very much for this example. This will be very helpful in getting close to the idea I have in mind. Even if it can be done more simply without Kangaroo, I appreciate the learning opportunity!
Aha! So you can put damping into a Kangaroo simulation. I suppose it’s just arbitrary units rather than engineering units, or has Kangaroo become more capable in that respect than the earlier discussions I’ve read here?
The end state of the simulation can be calculated with real numerical elasticity values for things like cables and rods, but yes, when it comes to friction/damping it’s just arbitrary values.