Detecting contact between non-analytical shapes

Simbody is useful for internal coordinate and coarse grained molecule modeling, large scale mechanical models like skeletons, and anything else that can be modeled as bodies interconnected by joints, acted upon by forces, and restricted by constraints.
POST REPLY
User avatar
David John Saxby
Posts: 83
Joined: Mon May 09, 2011 8:39 pm

Detecting contact between non-analytical shapes

Post by David John Saxby » Sun Mar 13, 2016 8:53 pm

Hi All,

I am beginning a new project on femoroacetabular impingement. Briefly, this is a disease of the hip due to poor conformation of the head of the femur and the acetabulum.

I am curious if Simbody is well suited to solving the following problem?

1) I have .ply files that are finely defined representations of the bone geometries of the femur and pelvis.

2) I want to evaluate proximity/interpenetration between these two meshes at various postures.

I do not need to solve for contact forces, pressure, deformation, etc... simply evaluate proximity between the objects.

Does anyone have experience using Simbody in this way?

Best Regards,

David Saxby

User avatar
Michael Sherman
Posts: 807
Joined: Fri Apr 01, 2005 6:05 pm

Re: Detecting contact between non-analytical shapes

Post by Michael Sherman » Mon Mar 14, 2016 8:33 am

You could do that by creating Elastic Foundation meshes and looking at the detailed penetration information that Simbody has to calculate in order to generate EF forces (it calculates a penetration depth for each of the overlapping triangles). I'm not sure Simbody is the best program for this though since it is a purely geometric problem; maybe someone else knows a good mesh-handling code you could do this with?

If you do want to try doing this with Simbody you could use ExampleContactPlayground as a guide since it extracts contact patch details in order to show the pressure across the patch; depth is also available there. You would also have to convert your .ply files to formats Simbody accepts (.stl, .vtp, or .obj).

User avatar
David John Saxby
Posts: 83
Joined: Mon May 09, 2011 8:39 pm

Re: Detecting contact between non-analytical shapes

Post by David John Saxby » Wed Mar 16, 2016 9:42 pm

Hi Mr. Sherman,

Thank you very much for the quick reply.

I have implemented a version of mesh contact detection in Matlab, but as it is a numerical approach with a lot of evaluations it is time consuming. I'm looking into methods to spline the point clouds and to evaluate contact analytically to make it faster.

Also, I do not have a set of dynamically consistent forces for the different positions I'm testing. i.e. they are only described with kinematics and I cannot create forward simulations. Does this disqualify using Simbody's contact tools? i.e. can I use the patch detector without the contact forces solver?

Best,

David

User avatar
Michael Sherman
Posts: 807
Joined: Fri Apr 01, 2005 6:05 pm

Re: Detecting contact between non-analytical shapes

Post by Michael Sherman » Thu Mar 17, 2016 7:59 am

I do not have a set of dynamically consistent forces for the different positions I'm testing. i.e. they are only described with kinematics and I cannot create forward simulations. Does this disqualify using Simbody's contact tools? i.e. can I use the patch detector without the contact forces solver?
No, that wouldn't be a problem since Simbody's elastic foundation model generates forces from kinematics; it doesn't require forces as inputs. Also, you could always set the stiffness to zero in which case the output forces would be zero but all the geometric calculations would be the same.

User avatar
David John Saxby
Posts: 83
Joined: Mon May 09, 2011 8:39 pm

Re: Detecting contact between non-analytical shapes

Post by David John Saxby » Thu Mar 17, 2016 10:21 pm

Hi Mr. Sherman,

Great!

That is a really informative answer.

If I end up implementing this through Simbody, I will keep you updated with the progress and maybe the eventual code would be of some use to the user community.

Best,

David

POST REPLY