One embodiment of the present invention is a method and system for physically-based modeling and interactive simulation of flexible objects such those used or encountered in medical procedures. The objects are modeled using finite elements with a linear elastic material model and corotational warping.
A catheter 108 is manipulated by a user and virtual reality images are displayed on a monitor 110 of computer 106 in response to such manipulations. Computer 106 can be any type of general purpose or specialized computer that includes a processor and a memory for storing instructions that are executed by the processor.
In addition to a catheter 108, human/computer interface 102 includes a barrier 112 and a “central line” 114 through which catheter 108 is inserted into the “body”. Barrier 112 is used to represent the portion of the skin covering the body of a patient. In one embodiment, barrier 112 is formed from a mannequin or other life-like representation of a body or body portion (e.g., the torso, arm or leg). Central line 114 is inserted into barrier 112 to provide an entry and removal point from barrier 112 for catheter 108, and to allow the manipulation of the distal portion of catheter 108 within the body of the patient while minimizing tissue damage. Catheter 108 can be any commercially available catheter, although in one embodiment the end of catheter 108 is removed to prevent any potential damage to persons or property since it is not required for the medical simulation.
Catheter 108 includes a handle or “grip” 116 and a shaft 118. Grip 116 can be any conventional device used to manipulate catheter 108, or grip 116 may comprise shaft 118 itself. Shaft 118 is an elongated flexible object and, in particular, is an elongated cylindrical object. System 100, in order to simulate catheter 108, tracks the movement of shaft 118 in three-dimensional space, where the movement has been constrained such that shaft 118 has only two, three or four degrees of motion. This is a feasible simulation of the typical use of a catheter because once the catheter is inserted into a patient's body, it is limited to about two degrees of freedom at some point along its length.
A haptic interface 120 receives shaft 118 and applies haptic feedback on shaft 118 that can be felt by the user and provides the user with a sensation that catheter 108 is entering an actual body. In one embodiment, haptic interface 120 includes one or more actuators and other devices that generate the haptic feedback. Haptic interface 120 can be any known device for generating haptic feedback on shaft 118, including the haptic interface disclosed in U.S. Pat. No. 5,821,920. Haptic interface 120 also determines the position of catheter 108 within the simulated body, including whether catheter 108 is being pushed, pulled or twisted by the user at grip 116.
Electronic interface 104 receives position information from haptic interface 120 via cable 122, and transmits the information to computer 106 via cable 124. In response, computer 106 models the position of catheter 108, as disclosed in more detail below, and generates a graphical image of the simulation on monitor 110. Further, computer 106 generates the required haptic effects based on the position of catheter 108, and provides signals to haptic interface 120 to generate the haptic effects that are felt by the user.
In simulating a flexible object such as catheter 108, one embodiment of the present invention initially uses a tetrahedral decomposition and node indexing method for creating a finite element model. Embodiments of the present invention then perform a fast simulation of the model using a direct numerical solver.
In one embodiment, the flexible object to be simulated is modeled as a serial chain of connected segments that form a segmented space curve. Each segment has length, radius, and material parameters associated with it in addition to two angles that specify the orientation of the segment relative to the previous segment in the chain. In one embodiment, it is assumed that the object has a circular cross-section, although in other embodiments different shapes can be modeled.
In one embodiment, maximum difference between the indexes of two nodes is bounded by s*k where s is the maximum number of segments connected at a node and k is the maximum number of nodes that belong to a segment. Therefore, for catheters and other long flexible objects, the bound is 2*k.
In one embodiment, the connectivity of the segments are modeled by a connected undirected graph “G” in which each segment is represented by a graph edge and all object nodes connecting two segments are represented by a graph node. Each object node is indexed so that a maximum difference between a first index of a first object node and a second index of a second object node is bounded by (1+b̂l)*k, where the first object node and the second object node are connected by an object edge, “l” is the number of branching levels of the spanning tree “T” of the connectivity graph,“b” is the maximum number of children for a node in the spanning tree T, and “k” is the maximum number of object nodes that belong to a segment. In this embodiment, the following parameters may apply for embodiments of the object to be simulated:
(1) Linear connectivity: b=1, l=0→2*k;
(2) A single loop: b=2, l=1→3*k;
(3) Two loops connected at a node: b=4, l=1→5*k;
(4) Two loops connected at an edge: b=3, l=2→10*k (this is not a tight bound, since it is also bounded by 5*k);
(5) Full 3-level binary tree: b=2, l=3→9*k.
One embodiment of the present invention simulates the motion of a flexible object by constantly calculating the position of the nodes surrounding each segment, such as the nodes shown in
Ma=f(x,v)
where x, v, and a are vectors containing the positions, velocities and accelerations of the nodes, M is a matrix representing the mass distribution in the object, and f includes the internal and external forces acting at the nodes. In one embodiment, the position of each of the nodes is updated based on the forces acting on the object at highly interactive rates (e.g.,>30 Hz). In one embodiment, this is accomplished by numerical integration of the equations of motion using a semi-implicit time-stepping method, such as disclosed in Baraff and Witkin, “Large Steps in Cloth Simulation”, SIGGRAPH (1998) (“Baraff”).
At 500, a tetrahedral finite element model and index is created for the flexible object to be simulated. In one embodiment, the tetrahedral finite element model is created as disclosed in conjunction with
At 520, the element rotations are calculated. In one embodiment, the rotations are calculated using a corotational warping method such as disclosed in Mueller and Gross, “Interactive Virtual Materials”, Graphics Interface (2004).
At 530, the node forces (f) and force derivatives (∂f/∂x and ∂f/∂v) are computed. In one embodiment, the node forces and force derivatives are computed using a semi-implicit time-stepping method, such as disclosed in Baraff.
At 540, “b” is computed for a given step h as
At 550, “A” is computed for a given step h as
At 560, the following linear system is solved based on the computed A and b values: AΔν=b. In one embodiment, a direct solver is used to solve the linear system. In one embodiment, the direct solver is a banded Cholesky matrix decomposition algorithm, such as disclosed in Gene H. Golub and Charles F. Van Loan “Matrix Computations”, Johns Hopkins University Press, p. 156 (1996). At 570, the result of the solution at 560, Δν, is used to update the node positions and velocities in the simulation loop. The loop then returns to 520.
The modeling and simulation of flexible objects as disclosed in
In addition, the result of the tetrahedral finite element model and index disclosed in conjunction with
In prior art methods, the linear system AΔν=b is typically solved via iterative methods, such as the conjugate gradient method. In contrast, embodiments of the present invention efficiently solve the linear system obtained from the model in
As disclosed, one embodiment of the present invention simulates a flexible object such as a catheter by creating a tetrahedral finite element model and indexing of the nodes and then executing a fast simulation of the model using a direct numerical solver. The result is an efficient and realistic simulation of the object.
Several embodiments of the present invention are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations of the present invention are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.
The U.S. Government has a paid-up license in this invention and the right in limited circumstances to require the patent owner to license others on reasonable terms as provided for by the terms of Grant No. DMI-0239344 awarded by the National Science Foundation.