Contact dynamics between sphere and SmoothHeightMap?

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
Andrés Hidalgo
Posts: 14
Joined: Wed Jun 09, 2021 2:52 pm

Contact dynamics between sphere and SmoothHeightMap?

Post by Andrés Hidalgo » Thu Sep 23, 2021 12:47 am

Hello,
I am trying to generate a contact dynamics simulation between a sphere and a contact surface built with SmoothHeightMap using a bicubic surface.

1) Is it possible to generate HuntCrossley contact forces between a SmoothHeightMap and other object (for instance a sphere or brick)?
2) Is it possible to generate Elastic foundation contact forces between a SmoothHeightMap and other mesh objects?

I have been trying to implement this experiment by modifying the examples provided with the open source distribution and, although I am able to introduce the SmoothHeightMap (for instance attaching this contact surface to mater.ground or other objects), there is no contact between this surface and the other objects.
I saw some examples where SmoothHeightMap is in contact with cables, but not with more general objects as sphere, ellipsoid or bricks.

I would appreciate any help on this matter or at least a simple example where the contact between the bicubic surface and other object different from a cable be in contact.
I can also provide the example I am working on so maybe is possible to fix it in order to compute the contact dynamics.

Best regards

Andres

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

Re: Contact dynamics between sphere and SmoothHeightMap?

Post by Michael Sherman » Thu Sep 23, 2021 5:47 pm

Hi, Andres.

The SmoothHeightMap has not been integrated into the contact subsystem yet. Looking through the code it appears that there are a few methods of SmoothHeightMap that are unimplemented that would be needed by the contact subsystem. Also a ContactTracker needs to be selected (or written) and registered with the ContactTrackerSubsystem here. (There has to be a ContactTracker for each potentially-contacting pair of geometries.)

Once the geometric code is in place, the rest of the code (contact patch characterization and force production) should work fine.

If you want to tackle this code and contribute it back to Simbody that would be great! Otherwise, please file an issue on Simbody's GitHub page describing what you would like to see.

Regards,
Sherm

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

Re: Contact dynamics between sphere and SmoothHeightMap?

Post by Michael Sherman » Thu Sep 23, 2021 5:51 pm

In the meanwhile you may want to consider replacing your SmoothHeightMap with a triangle mesh that approximates it.

User avatar
Andrés Hidalgo
Posts: 14
Joined: Wed Jun 09, 2021 2:52 pm

Re: Contact dynamics between sphere and SmoothHeightMap?

Post by Andrés Hidalgo » Fri Sep 24, 2021 5:03 am

Hi Michael,
Thank you for your answer clarifying this. My final aim is to be able to use these examples in OpenSim.

I want to compute the contact dynamics between sphere objects and some steps, for instance the steps of a stair. Since I was not able to use SmoothHeightMap to simulate contact dynamics I tried by using Brick objects from contactGeometry, but the spheres and bricks are like "transparent" to each other, i.e. I did an experiment using Brick and Sphere elements falling to the ground where I attached a halfspace and they both, Brick and Sphere get in contact with the halfspace but they do no mutually interact between them.

1) Is there any way to put in contact Brick and Spheres to compute contact dynamics with HuntCrossley method?
2) If it is not possible, is there any way to create a steps that can be in contact with Sphere elements using HuntCrossley method?

Regarding the point 2) I know it is possible to create steps using blocks created by triangles and mesh, but the problem of this approach is that the contact dynamic should be computed using Elastic foundation, not HuntCrossley approach.

In case it would be possible to put in contact bricks and spheres using HuntCrossley method, I would try to include Bricks into OpenSim, since they are not yet imported from Simbody.

As before, I can provide the code I have in order to compute the Brick and Sphere contact dynamic if necessary. I would really appreciate your help with this matter.

Thank you and best regards

Andres

POST REPLY