the da Vinci surgery robot using off-the-shelf hard-
ware, specifically a Razer Hydra game controller.
This paper continues the work, but focuses on the
software needed for cutting in a low-cost surgery sim-
ulator. Like Grande et al. (2013), this project is imple-
mented using the low-cost game engine Unity 4.0 and
focuses on training simulation for the da Vinci surgery
robot.
The da Vinci Skills Simulator from the same com-
pany focuses on teaching surgeons the robot controls
and not actual surgery procedures. This and other
similar training simulators are fairly expensive and
are perceived as unreasonably priced (Grande et al.,
2013). Current surgery simulators have only limited
support of cutting procedures. Two of the most ad-
vanced surgery simulators on the market are LapSim
and SEP Robot but these are mainly focused on tradi-
tional surgery (Surgical Science, 2013) (SimSurgery,
2013). These simulators simulate cutting by remov-
ing entire mesh elements. This approach is simple
and stable but can have too low resolution for preci-
sion cutting. For robotic surgery we have not been
able to find any commercial simulators that support
cutting of more than one-dimensional objects.
To simulate deformable objects, different methods
have been presented. A common and simple method
is the spring mass model. In this model, the object
is represented as a three-dimensional mesh, with ver-
tices representing fractions of the object mass. Edges
in the mesh represent structural springs, that give the
object its deformable properties. Bending springs and
shearing springs can be introduced to increase model
stability and rigidity (Erleben et al., 2005). These
springs can be abstracted to second neighbor springs
for non-grid meshes (Erleben et al., 2005). The spring
mass model creates a system of differential equations
that need an integration method. Mosegaard (2003)
suggests to use a Verlet solver for real time purposes
as it has the best combination of speed and stability.
A different approach to simulate deformable objects
is the finite element method, which is more physically
correct and precise (Georgii & Dick, 2012). However,
it is more difficult to change mesh topology in real
time with this method (Mosegaard, 2006).
Previous research on real-time cutting in de-
formable meshes can be coarsley grouped into three
categories: element removal, vertex moving and pro-
gressive remeshing (Ganovelli & O’Sullivan, 2001).
The simplest method presented is element removal.
This method removes a geometric element, like a
tetrahedron, when it comes into contact with the cut-
ting tool. This method is fast, but does not provide
realistic looking results and requires high resolution
meshes for precise cutting (Ganovelli & O’Sullivan,
2001). A mainly visual improvement is to move the
vertices from the removed element to the surface of
the cutting instrument, to make the cut the correct
size. This model looks more natural when cut, but
can cause simulation problems with the deformable
model. The last method of cutting is to remesh the
cut element, and have the newly created geometry re-
flect the cut. Using this method a much higher spa-
tial resolution can be achieved in the cut. However,
the method is fairly complex and can have problems
with the increase of model complexity with larger and
numerous cuts (Mor, 2001). A framework for medi-
cal simulation (SOFA, 2011) exists, however it is not
used in this paper as development appears to have
stopped and the paper wishes to expand on (Grande
et al., 2013) by using a commercial game engine.
3 METHOD
3.1 Deformable Model
The spring mass model is chosen as the deformable
model for this project, because of its simplicity and
flexibility in regard to mesh topology. It is applied to
tetrahedral meshes using second neighbor springs to
improve volume preservation and force propagation.
As most objects, especially in game engines, are
only surface representations of solid objects, a sur-
face mesh to volumetric mesh conversion is neces-
sary. For this procedure the program TetGen is inte-
grated with Unity. This program performs Delaunay
tetrahedralization to create a tetrahedral volume mesh
(Si, 2011). A user interface has been implemented for
Unity to enable developers to make this conversion
without any user interaction with TetGen (see Figure
1).
After this conversion, all necessary information is
stored in a comprehensive data structure as seen in
Figure 2. Most of this data structure specifies associa-
tions between the different elements in the tetrahedral
mesh.
Our spring mass model uses Hookes law for
springs to calculate the forces on each vertex. In addi-
tion damping is added to each spring. The force from
a spring on a vertex i is then Equation 1 and 2 com-
bined (Erleben et al., 2005).
~
F
i
= −c
s
l
R
−
~x
i
−~x
j
~x
i
−~x
j
~x
i
−~x
j
(1)
~
F
i
= −c
d
(~x
i
−~x
j
) · (~v
i
−~v
j
)
~x
i
−~x
j
~x
i
−~x
j
~x
i
−~x
j
(2)
SimulationofSurgicalCuttinginDeformableBodiesusingaGameEngine
343