Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Suture issues between rope and softbodies
#1
Hi,

So I have upgraded my design to a suture study. I have a needle with a dynamic particle attachment to an ObiRope, and then I am using a sphere as a dynamic particle attachment to anchor the rope. The sphere has an ObiCollider attached to it, so that it can't pass through the tissue.

I have two softbodies, one acting as the left tissue and the other as the right tissue. I have a static particle attachement on those connecting the particles at the bottom of the tissue to the tabletop, to keep them rigid.

I am using Unity 6.3, and Obi 7.1, and both actors are assigned the same solver.

What I would like to see is that when the rope passes through the two softbodies, and force is applied to the rope, the tissue pulls together, with the aim to have this occur when a knot is tied.

My graspers interact with the tissue and can move it around, and they can pickup the needle. I have setup that when the needle punctures the tissue it connects to the nearest traingle and attaches a gameobject for the entrance and exit points. Then, when the rope passes through the tissue, it creates pinholes so that the thread passes through the tissue. What I am struggling to do is create and attachment between the rope and the tissue to generate the tissue deformation I am expecting, or that I am going about this entirely wrong. I know there are a number of people that have created suturing demos on here, but most link back to either a DaVinci DVKR or haptic controllers, whereas I am trying to do it in the oculus. I have been trying to use this paper as an examplar, specifically fig 19.

If anyone can provide some assistance that would be wonderful.

Thanks.
Reply
#2
Hi,

Quote:I have setup that when the needle punctures the tissue it connects to the nearest traingle and attaches a gameobject for the entrance and exit points. Then, when the rope passes through the tissue, it creates pinholes so that the thread passes through the tissue.

This won't work at all. Pinholes are designed for velocity-level coupling between particles and rigidbodies, won't work for coupling particles to particles at a positional level. Plus pinholes are by definition a single point in space, while a suture thread is constrained to path inside a volume.

You'll need to implement your own position constraint for this, since this kind of constraint isn't offered by Obi out of the box.

Judging from fig 19 in the paper you linked, they've clearly generated the softbody using a cubic hexahedral lattice, likely to be able to express the suture path positions as a function of particle positions using barycentric coordinates on the faces of tetrahedrons. This makes the problem locally tractable, as deformation due to the suture is limited to the interaction between a 2-simplex (2 contiguous particles in the rope) and a 4-simplex (a tetrahedron, part of the hexahedral lattice). As a result you can express the suture as a positional constraint than constrains a point on a 2-simplex to a point on a 4-simplex leaving only one DOF (along the 2-simplex) possibly modulated by a user-defined friction coefficient between both that determines how easy it is for the thread to slide trough. This article details a similar approach: https://onlinelibrary.wiley.com/doi/abs/...2/cav.1940

Obi's default unstructured cluster-based approach to softbody blueprint generation wouldn't work in this case either since you can't easily parametrize the volume/surface of the softbody using it. You'll need to generate hexahedra instead. A simple approach is to voxelize the mesh (Obi's default blueprint implementation already does this) and then build exactly 6 clusters with 4 particles each from each voxel.

As you slide the rope trough the hexahedral face, you'll need to move the constraint to adjacent 2-simplices. Using Obi's built-in elements for this is good idea, as their relative order along the rope is guaranteed.

This is in no way a small task to tackle. Let me know if you need further help,

kind regards,
Reply