6
Suturing for Surface Meshes Paul Marshall, Shahram Payandeh, and John Dill Abstract - We present a suturing simulator for surgery op- erating on spring-mass surface meshes. The rope model we use for suturing is a geometry-based model which includes the ca- pability to form a knot. We extend a previous suture model to maintain a consistent flexibility when conflicting constraints cause the suture to stretch. The suture, which is attached to a needle, can be manipulated by the user to stitch a virtual cut on a surface. When the needle pierces the deformable model, the surface mesh is subdivided at the contact point using a novel subdivision algorithm. During suturing, the simulation of the pierced mesh differs depending on whether it is pierced by the needle, or has passed on to the suture. To aid the interactions between the deformable and the suture models, a novel quasi- spring tension method is presented. As an aid to creating tuto- rials for surgical students, we present a knot planner which can tie knots for demonstration. 1INTRODUCTION Laparoscopic surgery, also known as minimally invasive surgery, allows surgeons to operate while causing a mini- mum of trauma to the patient. Laparoscopic surgery is diffi- cult to master, and current training methods require expen- sive cadavers [1], animals whose physiology may be radi- cally different from humans [2], or cloth/plastic/rubber mod- els which must be replaced regularly [3,4]. Training nor- mally follows a master-and-apprentice model, requiring skilled surgeons to spend too much time away from the op- erating theater. Suturing is a skill that requires quite a bit of practice to master; unskilled suturing can rip the tissue being sutured, leave excessive scarring, or break the suture mate- rial. In this paper, we develop a suturing simulator, to be used in the larger Laparoscopic Training Environment [5,6]. The task contains a needle, one or more surgical graspers, and a surface mesh forming a deformable model to suture. Our model allows the user to suture a cut closed and tie knots. We focus on the interaction between the suture, nee- dle, and deformable model, while improving a previous su- ture model. The paper is organized as follows: Section 2 covers re- lated work, comparing our suture model to several others. Section 3 describes our suture model. Section 4 covers the knot planner for creating demonstrations. Section 5 de- scribes the suturing process, while section 6 reviews our results. We present our conclusions in section 6. All authors are with the Engineering Department of Simon Fraser University, Burnaby, BC, V5A 1S6, Canada. P. Marshall is with the Experimental Robotics Laboratory (email: [email protected]). S. Payandeh is with the Experimental Robotics Laboratory (phone: 604-291-4290; fax: 604-291-4951; email: [email protected]). J. Dill is with the Graphics Laboratory (email: [email protected] ). 2RELATED WORKS In [7], a model of a rope is represented by overlapping spheres representing mass-points, which are connected by simple springs. Each mass-point can collide with other mass points through instantaneous elastic collision model. As the rope stretches, extra spheres are inserted, with its mass pro- portional to its neighboring mass. These extra spheres are removed, and the mass restored to the original spheres, if the rope returns to close to its original length later. In [8], a suture is represented as a series of mass-points connected by springs, similar to [7]. No attempt is made to create self-collisions or to tie knots, but stability is main- tained by using quasi-static dynamics, where the velocity is not kept from timestep to timestep. The suture can pierce the deformable mesh at vertices, but pierced vertices only slip from one suture node to the next. Reference [9] models a rope by rigid links, preventing instability by using a geometric dynamics model where rope nodes move in response to constraints on the system, rather than forces. Pulling one end of the rope causes the entire rope to move geometrically, rather than causing forces to propagate along the rope. Knotting is accomplished through self-collision between dynamics steps, which prevents col- liding links from moving during the next dynamics step. Knots may be moved as a whole by creating “clusters” of collided nodes, which are moved after a simulation step. When the suture pierces the deformable model the soft con- straints generated may only exist at node points. The simula- tor interacts with a spring-mass model of a blood vessel. References [10] and [11] create a realistic model of a suture using splines with penalty methods to form knots. The model is rigid, similar to the real motion of a suture. The spline does not pull on a model once it pierces that model, unlike normal suture material. Reference [10] states that the knots formed are “unstable and breakable” with large user input; [11] mentions improvements in knots via a subdivi- sion method. Its stability and speed of simulation are en- sured by adaptive subdivision of the model, requiring fewer spline segments for a straight section. Reference [12] models intestines as a spline, similarly to [10] and [11], but adds linear and bending springs to assist in local calculations of strain energy in bending and elongation. Self-collision is accomplished by assigning a spherical collision volume to each control point, and checking for the amount of overlap between collision volumes, similar to our model. A spring- like force is added to colliding volumes, with its magnitude determined by the degree of overlap. A more realistic (if computationally expensive) model of a suture is presented in [13], which presents a method to model a suture that twists and curls similarly to the real thing. It cannot tie knots, but it models the dynamics of a suture quite accurately. Proceedings of the 2005 IEEE Conference on Control Applications Toronto, Canada, August 28-31, 2005 MA1.6 0-7803-9354-6/05/$20.00 ©2005 IEEE 31

[IEEE 2005 IEEE Conference on Control Applications, 2005. CCA 2005. - Toronto, Canada (Aug. 29-31, 2005)] Proceedings of 2005 IEEE Conference on Control Applications, 2005. CCA 2005

Embed Size (px)

Citation preview

Page 1: [IEEE 2005 IEEE Conference on Control Applications, 2005. CCA 2005. - Toronto, Canada (Aug. 29-31, 2005)] Proceedings of 2005 IEEE Conference on Control Applications, 2005. CCA 2005

Suturing for Surface Meshes Paul Marshall, Shahram Payandeh, and John Dill

Abstract - We present a suturing simulator for surgery op-erating on spring-mass surface meshes. The rope model we use for suturing is a geometry-based model which includes the ca-pability to form a knot. We extend a previous suture model to maintain a consistent flexibility when conflicting constraints cause the suture to stretch. The suture, which is attached to a needle, can be manipulated by the user to stitch a virtual cut on a surface. When the needle pierces the deformable model, the surface mesh is subdivided at the contact point using a novel subdivision algorithm. During suturing, the simulation of the pierced mesh differs depending on whether it is pierced by the needle, or has passed on to the suture. To aid the interactions between the deformable and the suture models, a novel quasi-spring tension method is presented. As an aid to creating tuto-rials for surgical students, we present a knot planner which can tie knots for demonstration.

1 INTRODUCTION

Laparoscopic surgery, also known as minimally invasive surgery, allows surgeons to operate while causing a mini-mum of trauma to the patient. Laparoscopic surgery is diffi-cult to master, and current training methods require expen-sive cadavers [1], animals whose physiology may be radi-cally different from humans [2], or cloth/plastic/rubber mod-els which must be replaced regularly [3,4]. Training nor-mally follows a master-and-apprentice model, requiring skilled surgeons to spend too much time away from the op-erating theater. Suturing is a skill that requires quite a bit of practice to master; unskilled suturing can rip the tissue being sutured, leave excessive scarring, or break the suture mate-rial.

In this paper, we develop a suturing simulator, to be used in the larger Laparoscopic Training Environment [5,6]. The task contains a needle, one or more surgical graspers, and a surface mesh forming a deformable model to suture. Our model allows the user to suture a cut closed and tie knots. We focus on the interaction between the suture, nee-dle, and deformable model, while improving a previous su-ture model.

The paper is organized as follows: Section 2 covers re-lated work, comparing our suture model to several others.Section 3 describes our suture model. Section 4 covers the knot planner for creating demonstrations. Section 5 de-scribes the suturing process, while section 6 reviews our results. We present our conclusions in section 6.

All authors are with the Engineering Department of Simon Fraser University, Burnaby, BC, V5A 1S6, Canada.

P. Marshall is with the Experimental Robotics Laboratory (email: [email protected]).

S. Payandeh is with the Experimental Robotics Laboratory (phone: 604-291-4290; fax: 604-291-4951; email: [email protected]).

J. Dill is with the Graphics Laboratory (email: [email protected]).

2 RELATED WORKS

In [7], a model of a rope is represented by overlapping spheres representing mass-points, which are connected by simple springs. Each mass-point can collide with other mass points through instantaneous elastic collision model. As the rope stretches, extra spheres are inserted, with its mass pro-portional to its neighboring mass. These extra spheres are removed, and the mass restored to the original spheres, if the rope returns to close to its original length later.

In [8], a suture is represented as a series of mass-points connected by springs, similar to [7]. No attempt is made to create self-collisions or to tie knots, but stability is main-tained by using quasi-static dynamics, where the velocity is not kept from timestep to timestep. The suture can pierce the deformable mesh at vertices, but pierced vertices only slip from one suture node to the next.

Reference [9] models a rope by rigid links, preventing instability by using a geometric dynamics model where rope nodes move in response to constraints on the system, rather than forces. Pulling one end of the rope causes the entire rope to move geometrically, rather than causing forces to propagate along the rope. Knotting is accomplished through self-collision between dynamics steps, which prevents col-liding links from moving during the next dynamics step. Knots may be moved as a whole by creating “clusters” of collided nodes, which are moved after a simulation step. When the suture pierces the deformable model the soft con-straints generated may only exist at node points. The simula-tor interacts with a spring-mass model of a blood vessel.

References [10] and [11] create a realistic model of a suture using splines with penalty methods to form knots. The model is rigid, similar to the real motion of a suture. The spline does not pull on a model once it pierces that model, unlike normal suture material. Reference [10] states that the knots formed are “unstable and breakable” with large user input; [11] mentions improvements in knots via a subdivi-sion method. Its stability and speed of simulation are en-sured by adaptive subdivision of the model, requiring fewer spline segments for a straight section. Reference [12] models intestines as a spline, similarly to [10] and [11], but adds linear and bending springs to assist in local calculations of strain energy in bending and elongation. Self-collision is accomplished by assigning a spherical collision volume to each control point, and checking for the amount of overlap between collision volumes, similar to our model. A spring-like force is added to colliding volumes, with its magnitude determined by the degree of overlap. A more realistic (if computationally expensive) model of a suture is presented in [13], which presents a method to model a suture that twists and curls similarly to the real thing. It cannot tie knots, but it models the dynamics of a suture quite accurately.

Proceedings of the2005 IEEE Conference on Control ApplicationsToronto, Canada, August 28-31, 2005

MA1.6

0-7803-9354-6/05/$20.00 ©2005 IEEE 31

Page 2: [IEEE 2005 IEEE Conference on Control Applications, 2005. CCA 2005. - Toronto, Canada (Aug. 29-31, 2005)] Proceedings of 2005 IEEE Conference on Control Applications, 2005. CCA 2005

3 SUTURE MODEL

The suture consists of a number of spherical overlapping linked nodes. The nodes overlap to maintain a fairly consis-tent collision volume. During each timestep, a few nodes have constraints caused by, for example, user interaction, piercing a deformable model, or colliding with another node in the suture; a constrained node is not moved during the dynamics step. These constrained nodes dictate the shape of the suture.

Similar to [9] when a node with a constraint is moved, the adjacent nodes move towards the constrained node’s new position until they are a preset distance from the constrained node. The adjacent nodes follow the same pattern, until all nodes have moved.

When a section of the suture has a constraint on each end, each node in that section follows each constraint in turn, saving the positions from each result. These positions are averaged for each node, weighted according to distance from each constraint. The end result of this method is that the nodes are evenly spaced between the two constraints, maintaining a consistent flexibility in the section between constraints (Fig. 1).

There are three types of constraints: collision, soft, and hard, in increasing strength. Each constraint type is treated identically in the dynamics step (constrained nodes do not move), but differs in its permanence and mobility relative to the suture. Collision constraints are generated when two nodes collide, and removed after the next timestep. Knots are formed when nodes collide repeatedly, continually form-ing collision constraints. A soft constraint exists where the suture pierces a deformable model, at both the entrance and exit points. Soft constraints are special cases for the suture: all other constraints exist at one of the nodes, but soft con-straints exist at any point between nodes, and slide smoothly as the suture is pulled through the deformable model. A hard constraint represents an immobile object holding onto the suture. A user holding the suture with the graspers, and the suture’s attachment to the needle, each create hard con-straints. Hard constraints will move in space due to user in-put, but never slide up or down the suture. Fig. 2 shows con-straints in action.

Self-collisions are managed by generating collision con-straints. When two nodes collide (checked at the end of each dynamics step), their spherical collision volumes overlap. The nodes are moved apart until they are not colliding, and a collision constraint is added to both nodes, ensuring they will not move in the next timestep. If a node collides with multiple other nodes, its final location is the average of the displacements of each collision.

To handle interaction between the suture and the de-formable model, we have created a “quasi-spring” method for calculating the tension of the suture. The links will stretch slightly when multiple constraints are pulling the suture in different ways, and tension is calculated from this stretch. The total length of suture from one soft or hard con-straint to the next soft or hard constraint is calculated, and then compared to the expected distance between the con-straints (number of nodes times the standard following dis-tance). The difference is the magnitude of the tension, which acts in the direction of the next node in the suture.

This method is similar to computing tension as a spring-like force, but the tension is not proportional to the strain of the suture, but rather the distance it has been stretched be-tween two contacts of interest. We simulate gravity by mov-ing each unconstrained node not adjacent to a constraint downwards prior to each dynamics step. The dynamics step then brings all of the nodes into a smooth curve. This gives a constant velocity for gravity for loose ends, but otherwise maintains a realistic simulation.

4 THE PROCESS OF SUTURING

Suturing passes through three distinct phases: piercing the deformable model, sliding the pierced model on the needle, and sliding the pierced model on the suture. When the mesh is pierced, a new vertex is generated at the point where it is pierced; this new vertex is the “pierced vertex.” When the pierced vertex is on the needle (controlled by the user), it cannot move except to slide on the needle. Once the vertex has been passed to the suture, though, the mesh will pull the suture and slide along the suture.

A. Piercing the Deformable Mesh The needle is an independent object, which must be held by a grasper under user control to do any suturing. Collision detection tests the straight-line path of the needle tip during a single timestep against each triangle. When the needle tip

Figure 1: computing tension and suture update method between two constraints. a) Shows the suture as con-

strained by the left constraint, b) shows the suture as con-strained by the right constraint, and c) shows the final

positions of the suture. Tension is the difference between the actual length and the expected length.

Figure 2: constraint types. Left: soft constraints used for piercing the deformable model as well as the hard con-

straint attaching the suture to the needle. Right: transient collision constraints used to maintain knots and other rope

collisions.

32

Page 3: [IEEE 2005 IEEE Conference on Control Applications, 2005. CCA 2005. - Toronto, Canada (Aug. 29-31, 2005)] Proceedings of 2005 IEEE Conference on Control Applications, 2005. CCA 2005

collides with a triangle, the pierced triangle is subdivided simply into three triangles, with a new vertex at the piercing point, and then the pierced triangle’s original edges are sub-divided using the edge mask in the Loop subdivision scheme [14]. Loop’s scheme is used, rather than the modified butter-fly [15] or other methods [16,17], because suturing can cause some areas of the mesh to be highly refined as a result of several piercings, while nearby portions of the mesh may be quite coarse. We used Loop’s scheme as a simple, reli-able method of ensuring the subdivided edges are moved away from the new vertex (Figs. 3 and 4).

When the edges are subdivided, the subdivision scheme ensures that the new vertices are a short distance from the edge, away from the piercing point. This prevents the newly-created triangles from being too small. Without the edge subdivision, a triangle pierced too close to one of the edges will look highly unrealistic in large deformations. The spring lengths of the new edges are 0.9 times the length of the edge at creation, to place the mesh under tension. (Tensioning the mesh is useful in cutting, but that is outside the scope of this paper.) The spring constants of the new edges are

max .meshedge

lk

l (1)

lmax is the longest edge in the mesh (computed at initializa-tion), ledge is the length of the new edge, and kmesh is the spring constant of the mesh [18]. For simulation purposes, the spring constant is limited to a range from kmesh to 4*kmesh,for stability. The mass of each vertex in the mesh is unity, so the new vertices also have a mass of unity, to prevent diver-gence in the simulation.

B. Slipping on the Needle Once a newly-generated vertex has been pierced by the nee-dle, it can slip in either direction on the needle. The needle, held by the user, is represented by displacement rather than

forces so the only factors that count in slippage on the needle are the tangent of the needle at the point where the vertex is pierced, and the summed spring forces on the vertex. The slip is calculated as

( )a nt mf∗ • . (2)

mf is the summed spring forces of the mesh at the vertex, and nt is the tangent of the needle at that point. “a” is a con-stant chosen to balance the mesh force against the distance traveled on the needle. A constant friction force is applied to the slip. We assume that the mesh is quasi-static: each node is assumed to be in static equilibrium. Therefore, the motion of each node during a timestep is due only to the forces ap-plied during that timestep; velocity from the previous timestep is ignored. The quasi-static assumption reduces computation time by roughly 10% for deformation in the mesh [f]; it also damps out oscillations entirely, up to the limit of the stability of the mesh. Once a pierced vertex has passed the end of the needle, it is passed to a point on the suture very close to the needle.

The deformable model is subdivided immediately on contact with the needle, but until it has been pierced further, it slips off of the tip very easily. This allows the user to use the needle to push the deformable model without piercing it. Pierced vertices cannot slip past each other on the needle. A list of pierced vertices, sorted by location on the needle, is kept in the needle. If a vertex is about to slip past another vertex, the slipping vertex is not moved, and the blocking vertex adds the slip value to its next slip calculation.

C. Slipping on the Suture Once the deformable model has been pierced by the needle, and then slipped off the end of the needle onto the suture, it will slide along the suture as forces are applied.

The analysis of tissue sliding along thread shows three force components acting at the interface between the suture and the deformable model: tension in each direction of the pierced point, and the summed internal spring forces of the mesh. Sliding occurs when the net force tangential to the suture overcomes the friction at the piercing point. Force that exceeds friction follows a quasi-static model: distance slipped is force times a constant. The suture bends as it passes through the tissue, so calculating these forces pre-cisely is difficult. A close approximation is

( )( ) .

length length

direction direction

a pt nt

b pt nt mf

∗ − +

∗ − • (3)

Where pt is the previous tension and nt is the next tension, expressed as vectors, and mf is the summed spring forces at that vertex. The first term is comparing the tension on either side of the pierced tissue: if there is greater tension on one side, then the suture is being pulled in that direction and the tissue will slide the other way. The second term is compar-ing the direction of the suture on each side of the constraint with the internal mesh forces at the pierced point. If the su-ture doubles back on itself through the pierced point, the difference between the two suture directions is small, reduc-ing the second term to almost zero. This matches with real

Figure 3: Loop’s subdivision mask for edges. Vertices’ weights in new vertex creation are next to each vertex.

Figure 4: the subdivision process when a portion of the mesh is pierced by the needle. a) Original mesh. b) After initial subdivision by being pierced by the needle at the

highlighted point. c) After final subdivision of original tri-angle’s edges. Note the new vertices in c) are moved a short

distance away from the pierced vertex.

33

Page 4: [IEEE 2005 IEEE Conference on Control Applications, 2005. CCA 2005. - Toronto, Canada (Aug. 29-31, 2005)] Proceedings of 2005 IEEE Conference on Control Applications, 2005. CCA 2005

world experience: if a thread passes through an object and doubles back on itself, it is more difficult to pull through material than if the thread goes straight through.

The constants “a” and “b” are constants chosen to bal-ance the spring constants in the mesh against the tension value of the suture. We selected a and b experimentally such that half of the slip magnitude arises from each half of (3); a doubled-over suture will slip roughly half as far as an unbent suture. Some cases are shown in Fig. 5. Soft constraints can-not slip through each other, or past a hard constraint.

D. Pulling a Pierced Vertex with the Suture A pierced vertex on the suture is simulated normally, by

integrating the forces from the each edge spring and the home spring, but with two additional forces: the tension force on the suture in each direction at the pierced vertex. In most cases, the tension force will be moderate or small, be-cause the suture will slip further through the pierced vertex if the tension is large. But if the suture is blocked from slip-ping through the vertex or both ends of the suture are being pulled, the tension forces can pull the pierced vertex a sig-nificant distance. The user can pull a cut closed with a taut suture. The soft constraint on the suture is moved to the pierced vertex’s new location after being simulated.

5 KNOT PLANNING

To teach knotting techniques to trainees, we have begun work on a knot planner to demonstrate. Videos, animations, and even scripted in-program demonstrations can show how to tie knots, but to the best of authors knowledge, there have been no previous publications address this issue. Knot theory is more concerned with identifying knots made from com-plete loops of rope than tying those knots interactively. A knot planner would be able to show a trainee how to tie a knot from any configuration, including how to proceed when a student is halfway through a simulated procedure.

The algorithm used here is original, though Schneider’s thesis [19] served as an extremely useful introduction to knot theory, and the identification of knots by their crossings served as an inspiration for our method.

A. Spans Any knot is made of a series of crossings: one section of suture crosses over another section. To make this definition

useful, the suture must be projected onto a plane. It is then easy to identify the crossings, and where each important part of a knot is. Any section of suture between crossings can be important, and might be targeted for crossing later. Consider tying an overhand knot (a.k.a. trefoil) (Fig. 6).

The first step is easy: cross under the suture, anywhere. The second step requires knowing which part to cross over. The program separates the suture into spans, where each span is a section of suture between crossings. From here, the planner is directed to cross the loop, and then to cross the loop again. Each time the suture is crossed, two new spans are created.

The projection plane for knot tying is chosen at the time that the user requests a demonstration. The user is suturing a groove closed, and thus has pierced the deformable model four times: in and out of both sides of the groove. The last three piercing points are used to form the projection plane.

The span structure overlays the basic suture structure of an array of nodes, showing the topology of the suture, in-cluding all crossings. Spans are detected at the same time that collisions are detected: while two links check their 3D distance to determine collision, each link is also projected onto a plane to test for 2D intersection. If the links intersect in 2D, and the spans that the links are part of don’t show the intersection (if the intersection was known previously, the spans should cross at their last links), then each crossing span is split into two spans. The crossing spans are short-ened, and the new spans exist between the new intersection and the end of the original spans. The crossing pointers on each original span now points to the far side of the new in-tersection.

B. Knot Planner The knot planner takes a heuristic approach to knot tying. Since each link has two degrees of freedom (any orientation from the previous link, at a set distance), the total number of degrees of freedom is R3 x (S2)n, where n is the number of links. Due to this great complexity, it is too expensive to plan entirely. For this work, we have limited the planner to only manipulating the ends of the suture, and to following a series of instructions.

The first part of an instruction is always the type of crossing: which end of the suture to move, cross over or un-der, and if there are any unexpected spans between the mov-ing end and its target, whether to cross over or under the intervening spans. The remaining parts of an instruction are how to traverse the span structure (from the first span on a

Figure 5: calculating the slip; gray indicates the suture. Black indicates the shape of the mesh and the summed

mesh force. In a), the suture will not slip. Part b) will slip downwards, due to both suture tension and mesh force. Part c) will slip due to suture tension only, because both

ends of the suture are in nearly the same direction.

Figure 6: The process of tying a trefoil knot, and the spans created as the knot progresses.

34

Page 5: [IEEE 2005 IEEE Conference on Control Applications, 2005. CCA 2005. - Toronto, Canada (Aug. 29-31, 2005)] Proceedings of 2005 IEEE Conference on Control Applications, 2005. CCA 2005

suture) to get to the target span.

C. Knot Planner Algorithm The planner makes four actions per timestep: check to see if a new target is needed, find the target point on the target span, calculate the direction to move the suture in, and fi-nally move the end of the suture it’s using.

Each time the suture-collision routine finds a new inter-section in 2D and splits the intersecting spans, it sends the information about the split to the planner. When the planner checks to see if it needs a new target, it merely looks over the list of new intersections and determines if the list in-cludes the target span and the span containing the moving end. If a new target is needed, the planner loads the next instruction.

The target to move to is simply the middle of the target span, or an obstructing link in the suture if the link lies on the projected line from the moving end to the target span. Once a target point is found, the actual movement of the suture end is found from four factors: 1) a straight line to the target, 2) the shortest direction to the target link’s perpen-dicular, 3) the distance in the z-direction (relative to the pro-jection plane) from the target, and 4) the current orientation of the suture. The line to the target will move the suture steadily towards its proper course. Since it is assumed most crossings should be at right angles to the target link, the sec-ond term will ensure that the crossing sets up the planner for the next part of the knot. The z-component ensures that the suture end moves to the proper height as quickly as possible, to make going over or under spans easy. The fourth term, used for inertia, is the most significant; the other three are equal in magnitude.

6 RESULTS

This suturing module was created as part of the Laparo-scopic Training Environment, under development at Simon Fraser University. All code relating to the simulation was developed in-house using C++, with OpenGL used for dis-play, a few low-level collision methods from the Wild Magic library, and libraries from Sensable and Immersion Corporation for their respective devices.

A. Order of Events During each timestep, the model in the environment runs two functions: first, collision detection with all of the user-controlled probes plus the needle and suture, and second, self-modification for all models (including deformation for deformable models, and the needle/suture interactions for the needle).

The needle/suture interactions need to occur in a par-ticular order for stability: 1) run one dynamics step, 2) calcu-late tension, 3) self-collision in suture, 4) add tension to and simulate pierced vertices. The suture self-collision method we use causes nodes to move discontinuously, so the tension must be calculated before the collisions.

B. Suturing Using a suture of 50 nodes, and a cut liver model of 1235

vertices and 2466 triangles, the simulation achieved an aver-age of simulation rate of 100 Hz at a display rate of 30 Hz on a 3.2 GHz Pentium 4 machine with 512 MB of ram. The collision volume of each suture node is a sphere, as shown in the wireframe screenshots, but the suture is rendered as a segmented cylinder for the non-wireframe version.

Like all spring-like forces, the interaction between the deformable model and the suture is not perfectly stable. The constants in equations (2) and (3) must be determined ex-perimentally, depending on the update rate of the system and other constants used throughout the simulator. Limiting the elongation of springs can reduce forces and eliminate insta-bility, but limiting forces can lead to the simulation being unrealistic.

Calculating the suture tension is linear in the number of nodes in the suture: the length of each link must be meas-ured, but only once. Suture-deformable model interaction complexity is linear in the number of pierced vertices. These interactions are local, and only affect a single node and ver-tex each. See Figs. 7-9.

Figure 7: a) subdivision on contact with mesh and b) dimpling of the mesh as the needle is pushed through.

Figure 8: Successive suturing images as a cut is closed (the end was “knotted” to prevent pierced vertices from slipping

off of the end)

Figure 9: tying suturing knots interactively. Gravity was disabled for knot tying.

35

Page 6: [IEEE 2005 IEEE Conference on Control Applications, 2005. CCA 2005. - Toronto, Canada (Aug. 29-31, 2005)] Proceedings of 2005 IEEE Conference on Control Applications, 2005. CCA 2005

C. Discussion Our current suture model can be used to tie knots, suture deformable models, and be grasped and manipulated by the user. At the moment, it has no velocity limit and only tests for collisions once per timestep. As a result, the suture may pass through itself if a large displacement occurs, and re-quires a significant suture radius to detect collisions easily.

The quasi-spring method of simulating suture tension allows easy interaction with deformable models. Its main advantage is that the suture appears to be nearly rigid over all but the shortest lengths. A displacement of one end of a short suture creates the same amount of tension as the same displacement on one end of a long suture. For short lengths between soft constraints, such as in a series of stitches, the suture stretches for each short stitch, leading to a significant elongation. Gravity, in the suture, causes a constant velocity, but since the suture does not resist bending, it makes tying knots difficult.

The simulator models interactions between deformable model, needle, and suture at an interactive rate. A pierced vertex will slide smoothly from the tip to the end of the nee-dle, and switch seamlessly to another smooth, continuous sliding method on the suture.

For the deformable model we use a quasi-static mass-spring model. As a result of our approach, creases on the mesh can be “folded” into the interior of the model if large forces are applied, and this often occurs along the sharp edge of a cut when it is sutured closed. The folded portions of the mesh usually lie between two nearby pierced vertices, and are often small, but the changing normals in these folded polygons can cause a noticeable effect in the lighting of ad-jacent polygons.

The knot planner can presently only tie a figure-eight knot and a trefoil, and requires a slightly curved rope to work properly, but it can tie knots effectively. It is easy to create additional knots for the planner to tie. The prime limi-tations of the planner are its inability to hold open loops and its limited ability in determining the target to move towards.

7. CONCLUSION AND FUTURE WORK

We have presented an interactive suturing simulator to assist in training surgeons for surgery. Suturing is one of the most difficult skills in surgery, requiring much practice. The prime contributions of this paper were the methods for inter-actions between the suture, needle, and deformable model, with some modifications of a previous suture model, as well as a knot planner. We have identified several areas for future work: a) Adding additional collision detection to permit large velocities relative to the suture thickness, but still pre-vent the suture from passing through itself. b) Adding haptic feedback to the simulator. Haptic cues in laparoscopic sur-gery are often small, but significant enough to model in a training application. c) Improving the friction model to re-flect the amount of tissue pierced by the suture or needle. d) Additional forces and constraints to allow the suture to curl and show stiffness.

REFERENCES

[1] R. Lewis, “Instructors reconsider dissection's role in biology classes,” The Scientist 11[22]:13, Nov. 10, 1997.

[2] J. Rosenson, J. Tabas, P. Patterson, “Teaching invasive procedures to medical students,” JAMA January 7, 2004 Vol. 291, Issue 1.

[3] D. Holmberg, J. Cockshutt, “A non-animal alternative for teaching introductory surgery” Humane Innovations and Alternatives, ISSN 1062-4805 Vol 8, 1994

[4] G. L. Adrales et al. “Evaluating minimally invasive surgery training using low-cost mechanical simulations” Surgical Endoscopy (2003) 17: 580–585.

[5] S. Payandeh, J. Dill, G. Wilson, H. Zhang, L. Shi, A. Lomax, C. L. MacKenzie, “Demo: a multi-modal training environment for surgeons,” International Conference on Multimodal Interfaces, pp. 301-302, 2003.

[6] H. Zhang, S. Payandeh, J. Dill, “On cutting and dissection of virtual deformable objects,” Proceedings of IEEE International Conference on Robotics and Automation, pp. 3908-3913, 2004.

[7] A. Ladd, “Simulated knot tying”, Proceedings of the 2002 IEEE Inter-national Conference on Robotics and Automation (ICRA), Washington D.C

[8] M. LeDuc, S. Payandeh, J. Dill, “Toward modeling of a suturing task”, Graphics Interface (GI), pp 273-279, Halifax, Nova Scotia, 2003.

[9] J. Brown, J. Latombe, K. Montgomery, “Real-time knot tying simula-tion”, The Visual Computer: International Journal of Computer Graphics, 20(2): 165-179.

[10] J. Lenoir, P. Meseure, L. Grisoni, C. Chaillou, “A suture model for surgical simulation.” 2nd International Symposium on Medical Simulation (ISMS'04) pp. 105-113, Cambridge, Massachusetts (USA).

[11] J. Lenoir, P. Meseure, L. Grisoni, C. Chaillou, “Surgical thread simula-tion” Modelling & Simulation for Computer-aided Medicine and Surgery (MS4CMS), November 2002

[12] L. France, "A layered model of a virtual human intestine for surgery simulation" Medical Images Analysis, Elsevier Sciences 2004

[13] D. Pai, “Strands: Interactive simulation of thin solids using cosserat models,” Computer Graphics Forum, 21(3):347--352, 2002. Proceedings of Eurographics'02.

[14] C. Loop, Smooth Subdivision Surfaces Based on Triangles. Master’s thesis, University of Utah, Department of Mathematics, 1987.

[15] D. Zorin, P. Schroder, W. Sweldens, “Interpolating subdivision for meshes with arbitrary topology,” Proceedings of the 23rd annual confer-ence on computer graphics and interactive techniques pp. 189-192, 1996.

[16] D. Doo, M. Sabin, “Behaviour of recursive division surfaces near extraordinary points,” Computer-Aided Design 10 (Sept. 1978), 356-360.

[17] D, Zorin et al, Subdivision for Modeling and Animation. SIGGRAPH 2000 Course Notes 37.

[18] J. Zhan, S. Payandeh, J. Dill, “Haptic subdivision: an approach to defining level-of-detail in haptic rendering,” Proceedings of the 10th Sym-posium on Haptic Interfaces for Virtual Environment and Teleoperator Systems, pp. 201-208, 2002.

[19] R. Schneider, Interactive Topological Drawing. Doctoral thesis, Simon Fraser University, Department of Computer Science, 1998.

36