Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality...

43
Augmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department of Mechanical Engineering Department of Computer Science Stanford University

Transcript of Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality...

Page 1: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Augmented Reality with Haptics

for Medical Applications

Allison M. Okamura

Associate ProfessorDepartment of Mechanical Engineering

Department of Computer ScienceStanford University

Page 2: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

hap·tic ('hap-tik)adj. Of or relating to the sense of touch.

[Greek haptikos, from haptesthai, to grasp, touch. (1890)]

TemperatureTexture

SlipVibration

Force

Location/configurationMotionForce

ComplianceCutaneous

Kinesthesia

The haptic senses work together with the motor control system to:- Coordinate movement- Enable perception

R. Johansson

Slide courtesy Ed Colgate

Page 3: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

sightcentralized

broadpassive

cognitive

touchdistributednarrowactivephysical

Slide courtesy Katherine Kuchenbecker

Page 4: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

AR with Haptics forRobot-Assisted Surgery

AR with Haptics forMedical Simulation

AR with Haptics forBehavioral Neuroscience

AR with Haptics forEducation

Page 5: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

AR with Haptics forRobot-Assisted Surgery

Page 6: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Surgeon

PatientImage source: www.physicianphotos.com

Open Surgery

Page 7: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Surgeon

Instrument/Camera

PatientImage source: www.womenssurgerygroup.com

Minimally Invasive Surgery

Page 8: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

© 2013 Intuitive Surgical, Inc.

Surgeon

Master Console

Teleoperated Robot-Assisted Minimally Invasive Surgery

Information-EnhancedRMIS

Patient-Side Robot

Patient

Instrument/Camera

Page 9: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Da Vinci Surgical System(Intuitive Surgical)

surgeon’sconsole

patient-siderobot

Page 10: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Force feedback:haptics and graphics

Page 11: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Effects of force feedback1. Haptic + Graphical2. Haptic Only3. Graphical Only

4. No Force Feedback

accuracy

erro

r (d

eg)

feedback

appliedforce

histogram

norm

aliz

ed t

ime

force (N)

Error (deg)

Gwilliam et al. (2010)

Page 12: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

What about manipulation?

no overlay dot overlay

In collaboration with D. D. Yuh of JHMI Cardiac Surgery

Graphical force feedback results in lower peak forces, lower variability of forces, and fewer broken

sutures for novice robot-assisted surgeons

Page 13: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Skin stretch haptic device

Quek et al. (2013)

Page 14: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Skin stretch haptic device

Page 15: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

porcine kidney

artificial lumps

fiducial markers

fiducial markers

fiducialmarkers

fiducialmarkers

fiducial markers

fiducial markers

fiducialmarkers

fiducialmarkers

porcine kidney

X-ray imageCamera image

Lump detection task

Page 16: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Experimental Results1 2

3 4

Page 17: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

AR with Haptics for Medical Simulation

Page 18: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

In medical simulation today, haptic feedback is typically restricted to that provided by:

artificial materials (e.g., mannequins)

resolved forces (e.g., force feedback haptic interfaces in virtual reality simulators)

Laerdal’s SimMan

Simon DiMaio, UBC

Page 19: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Kinetic System for Medical Simulation (KineSys MedSim)

In collaboration with T. Judkins (IAI), J. E. Colgate (Tangible Haptics), D. Gaba (Stanford)

Page 20: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Kinesthetic haptic display

Images courtesy T. Judkins (IAI)

Page 21: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Electrostatic tactile display

Disney Research

Tangible Haptics

Page 22: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Haptic Jamming: A Deformable Geometry, Variable Stiffness Tactile Display

using Pneumatics and Particle Jamming

Jim Gwilliam and Andrew Stanley

• Simultaneously controllable surface geometry and mechanical properties

• Uses pneumatics and “particle jamming”: a cell made from a flexible membrane filled with granular material solidifies when air is vacuumed out

Page 23: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Haptic Jamming Display

Page 24: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

10 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, MONTH 2015

Fig. 10. An STL file represents any three-dimensionalobject, like the human heart shown here, as a set oftriangular faces and vertices.

each point such that the force it applies to the cur-sor is defined by a contribution function dependenton the distance from the cursor to that point [18].The contribution function is typically defined to be”compact” such that each point only contributes forcefeedback if the cursor location falls within its radius ofinfluence, and these ”metaballs” can also be convertedinto implicit surfaces [19]. While this permits efficientrendering of highly complex surfaces with any con-tours, it limits the rendering at any given time step tothe location of the cursor. In contrast, shape changinginterfaces like a Haptic Jamming surface allow multi-point contact so that the user can not only trace theboundary of the surface but also obtain a sense of theobject’s overall form factor in his or her hand.

Ideally, a Haptic Jamming surface or any othershape changing interface would have the capacityto render the shape of any three-dimensional object.This would allow, for example, a designer usingCAD software or an online shopper to hold and feelthe product he or she is developing or consideringpurchasing without creating or encountering the realobject. In reality, however, the output capabilities ofthese interfaces often fall somewhere in between two-and three-dimensional in the sense that they typicallycannot display all of the three-dimensional detailsor contours, particularly concave surfaces that foldunderneath an object.

To account for this shortcoming, we actually firstconvert the 3D model data into a 2D image beforeconverting back to 3D heights that we can input as adesired surface into the shape control algorithm. Westart with and STL file, a set of vertices and triangularsurfaces commonly used to encode 3D objects, like theone shown in Figure 10. We then color this renderingin gray scale such that the intensity of each face cor-responds to the z-height of its vertices before taking atop-view 2D snapshot. The gray scale intensities inthis resulting image are then rescaled to the range

Fig. 11. The STL file is converted to a gray-scaleimage by coloring each face with an intensity corre-sponding to the z-height of its vertices. Surfaces thatfold underneath the object, like the end of the aorta inthis human heart, are lost in the rendering, which suitsthe output capabilities of tactile display interfaces like aHaptic Jamming surface.

510

1520

2530

3540

45

5

10

15

20

25

30

0

5

Input

510

1520

2530

3540

45

5

10

15

20

25

30

0

5

Output

Fig. 12. Desired input heights and resulting outputfrom the simulator for a 8⇥11 cell grid with four pointsper cell edge in the simulation.

0�1 such that the lowest surfaces visible from the topview, rather than the lowest surfaces in the 3D model,become the zero height. Figure 11 shows the resulting2D image from this process for the STL renderingshown in Figure 10.

From the resulting 2D gray scale image, we canuse the same methods described in Section 4.1 toconstruct 3D desired surface height data to input intothe shape control algorithm. Figure 12 shows a sample

10 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, MONTH 2015

Fig. 10. An STL file represents any three-dimensionalobject, like the human heart shown here, as a set oftriangular faces and vertices.

each point such that the force it applies to the cur-sor is defined by a contribution function dependenton the distance from the cursor to that point [18].The contribution function is typically defined to be”compact” such that each point only contributes forcefeedback if the cursor location falls within its radius ofinfluence, and these ”metaballs” can also be convertedinto implicit surfaces [19]. While this permits efficientrendering of highly complex surfaces with any con-tours, it limits the rendering at any given time step tothe location of the cursor. In contrast, shape changinginterfaces like a Haptic Jamming surface allow multi-point contact so that the user can not only trace theboundary of the surface but also obtain a sense of theobject’s overall form factor in his or her hand.

Ideally, a Haptic Jamming surface or any othershape changing interface would have the capacityto render the shape of any three-dimensional object.This would allow, for example, a designer usingCAD software or an online shopper to hold and feelthe product he or she is developing or consideringpurchasing without creating or encountering the realobject. In reality, however, the output capabilities ofthese interfaces often fall somewhere in between two-and three-dimensional in the sense that they typicallycannot display all of the three-dimensional detailsor contours, particularly concave surfaces that foldunderneath an object.

To account for this shortcoming, we actually firstconvert the 3D model data into a 2D image beforeconverting back to 3D heights that we can input as adesired surface into the shape control algorithm. Westart with and STL file, a set of vertices and triangularsurfaces commonly used to encode 3D objects, like theone shown in Figure 10. We then color this renderingin gray scale such that the intensity of each face cor-responds to the z-height of its vertices before taking atop-view 2D snapshot. The gray scale intensities inthis resulting image are then rescaled to the range

Fig. 11. The STL file is converted to a gray-scaleimage by coloring each face with an intensity corre-sponding to the z-height of its vertices. Surfaces thatfold underneath the object, like the end of the aorta inthis human heart, are lost in the rendering, which suitsthe output capabilities of tactile display interfaces like aHaptic Jamming surface.

510

1520

2530

3540

45

5

10

15

20

25

30

0

5

Input

510

1520

2530

3540

45

5

10

15

20

25

30

0

5

Output

Fig. 12. Desired input heights and resulting outputfrom the simulator for a 8⇥11 cell grid with four pointsper cell edge in the simulation.

0�1 such that the lowest surfaces visible from the topview, rather than the lowest surfaces in the 3D model,become the zero height. Figure 11 shows the resulting2D image from this process for the STL renderingshown in Figure 10.

From the resulting 2D gray scale image, we canuse the same methods described in Section 4.1 toconstruct 3D desired surface height data to input intothe shape control algorithm. Figure 12 shows a sample

10 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, MONTH 2015

Fig. 10. An STL file represents any three-dimensionalobject, like the human heart shown here, as a set oftriangular faces and vertices.

each point such that the force it applies to the cur-sor is defined by a contribution function dependenton the distance from the cursor to that point [18].The contribution function is typically defined to be”compact” such that each point only contributes forcefeedback if the cursor location falls within its radius ofinfluence, and these ”metaballs” can also be convertedinto implicit surfaces [19]. While this permits efficientrendering of highly complex surfaces with any con-tours, it limits the rendering at any given time step tothe location of the cursor. In contrast, shape changinginterfaces like a Haptic Jamming surface allow multi-point contact so that the user can not only trace theboundary of the surface but also obtain a sense of theobject’s overall form factor in his or her hand.

Ideally, a Haptic Jamming surface or any othershape changing interface would have the capacityto render the shape of any three-dimensional object.This would allow, for example, a designer usingCAD software or an online shopper to hold and feelthe product he or she is developing or consideringpurchasing without creating or encountering the realobject. In reality, however, the output capabilities ofthese interfaces often fall somewhere in between two-and three-dimensional in the sense that they typicallycannot display all of the three-dimensional detailsor contours, particularly concave surfaces that foldunderneath an object.

To account for this shortcoming, we actually firstconvert the 3D model data into a 2D image beforeconverting back to 3D heights that we can input as adesired surface into the shape control algorithm. Westart with and STL file, a set of vertices and triangularsurfaces commonly used to encode 3D objects, like theone shown in Figure 10. We then color this renderingin gray scale such that the intensity of each face cor-responds to the z-height of its vertices before taking atop-view 2D snapshot. The gray scale intensities inthis resulting image are then rescaled to the range

Fig. 11. The STL file is converted to a gray-scaleimage by coloring each face with an intensity corre-sponding to the z-height of its vertices. Surfaces thatfold underneath the object, like the end of the aorta inthis human heart, are lost in the rendering, which suitsthe output capabilities of tactile display interfaces like aHaptic Jamming surface.

510

1520

2530

3540

45

5

10

15

20

25

30

0

5

Input

510

1520

2530

3540

45

5

10

15

20

25

30

0

5

Output

Fig. 12. Desired input heights and resulting outputfrom the simulator for a 8⇥11 cell grid with four pointsper cell edge in the simulation.

0�1 such that the lowest surfaces visible from the topview, rather than the lowest surfaces in the 3D model,become the zero height. Figure 11 shows the resulting2D image from this process for the STL renderingshown in Figure 10.

From the resulting 2D gray scale image, we canuse the same methods described in Section 4.1 toconstruct 3D desired surface height data to input intothe shape control algorithm. Figure 12 shows a sample

STANLEY AND OKAMURA: DEFORMABLE MODEL SHAPE CONTROL FOR HAPTIC JAMMING 7

Algorithm 1 Array Configuration Matching1: while pressure < maxPressure do

2: pressure pressure + increment3: while equilibriumReached 6= true do

4: updateStates(array, timeStep)5: equilibriumReached checkForEquilibrium()6: allNodesPinned true7: for each pinnableNode in array do

8: zGoal goalConfig.pinnableNode.z9: if pinnableNode.z >= zGoal then

10: pinnableNode.fixed true11: else

12: allNodesPinned false13: allCellsJammed true14: for each cell in array do

15: curvatureGoal goalConfig.cell.curvature16: if cell.curvature >= curvatureGoal then

17: cell.jammed true18: else

19: allCellsJammed false20: if allNodesPinned && allCellsJammed then

21: break

pressure and run the simulator until it reaches staticequilibrium. If any node in the simulator’s arrayconfiguration passes the height of the correspondingpoint in the desired goal configuration, then that nodeis pinned at that height, and if any cell’s curvature inthe simulator’s array configuration exceeds the curva-ture of the corresponding cell in the goal configura-tion, then that cell is jammed. The algorithms finisheswhen the maximum chamber pressure is exceededor if all nodes and cells are pinned and jammed,respectively. One example input goal configuration fora 6⇥8 cell array with 4 point masses per cell edge,developed from a topographical map of Australia asexplained further in Section 4.1, and the resultingoutput from Algorithm 1 are shown in Figure 6.

In order for this algorithm to run, we must firstprovide a method to check if the array simulationhas reached static equilibrium as well as a methodto estimate the curvature of each cell. We definestatic equilibrium as any state where the sums ofthe magnitudes of the velocities and accelerations ofall the points are both within a tolerance ✏ of zero,a condition that we can easily check each time theEuler integrator updates the states in the dynamicsimulation. To estimate the curvature of a cell, wecan use the ✓ angles already being calculated for eachtorsional spring in that cell, where each point masswithin the cell has two torsional springs, orientedalong the horizontal and vertical axes. We definethe local single-axis curvature, i, for each torsionalspring at point i as

Fig. 6. A set of input point heights in a desiredshape (top) and the resulting output from the simulator(bottom) using Algorithm 1 to try to recreate the shapein a 6⇥8 cell grid.

i =

⇢⇡ � ✓i, ~

r

A/i · n̂

i +~r

B/i · n̂

i < 0✓i � ⇡, otherwise

�(12)

using the same vector notations defined in Figures3 and 5. This equation requires two lines to define thesign of the curvature due to the fact that ✓ is limited tovalues between 0 and ⇡, regardless of the orientationof the torsional spring in three-space. If the vectorspointing from the center of the torsional spring to eachof its endpoints are, on average, against the directionof the normal vector pointing out from the surface atthat point, as given by the sum of the dot products,then the torsional spring is bending inwards and thecell is ballooning outwards, which we define as apositive curvature. Conversely, if the cell is concaveat that point, we define the curvature as negative.We estimate c, the curvature of cell c, as the averagevalue of i for all torsional springs in the cell.

This averaging method for estimating the curvatureof the cell does lose some information about theoverall shape. The method ignores any eccentricity inthe cell shape, so a cell that is ballooned smoothlyacross its surface could have the same value of c

as a cell that is bent sharply on one side and flaton the other. Furthermore, saddle points where thecurvature is positive along one axis and negativealong another would have curvatures calculated closeto zero. However, given that Algorithm 1 does notinclude a means to control for these types of shapes,the averaging method for estimating curvature suf-fices for this purpose.

STANLEY AND OKAMURA: DEFORMABLE MODEL SHAPE CONTROL FOR HAPTIC JAMMING 7

Algorithm 1 Array Configuration Matching1: while pressure < maxPressure do

2: pressure pressure + increment3: while equilibriumReached 6= true do

4: updateStates(array, timeStep)5: equilibriumReached checkForEquilibrium()6: allNodesPinned true7: for each pinnableNode in array do

8: zGoal goalConfig.pinnableNode.z9: if pinnableNode.z >= zGoal then

10: pinnableNode.fixed true11: else

12: allNodesPinned false13: allCellsJammed true14: for each cell in array do

15: curvatureGoal goalConfig.cell.curvature16: if cell.curvature >= curvatureGoal then

17: cell.jammed true18: else

19: allCellsJammed false20: if allNodesPinned && allCellsJammed then

21: break

pressure and run the simulator until it reaches staticequilibrium. If any node in the simulator’s arrayconfiguration passes the height of the correspondingpoint in the desired goal configuration, then that nodeis pinned at that height, and if any cell’s curvature inthe simulator’s array configuration exceeds the curva-ture of the corresponding cell in the goal configura-tion, then that cell is jammed. The algorithms finisheswhen the maximum chamber pressure is exceededor if all nodes and cells are pinned and jammed,respectively. One example input goal configuration fora 6⇥8 cell array with 4 point masses per cell edge,developed from a topographical map of Australia asexplained further in Section 4.1, and the resultingoutput from Algorithm 1 are shown in Figure 6.

In order for this algorithm to run, we must firstprovide a method to check if the array simulationhas reached static equilibrium as well as a methodto estimate the curvature of each cell. We definestatic equilibrium as any state where the sums ofthe magnitudes of the velocities and accelerations ofall the points are both within a tolerance ✏ of zero,a condition that we can easily check each time theEuler integrator updates the states in the dynamicsimulation. To estimate the curvature of a cell, wecan use the ✓ angles already being calculated for eachtorsional spring in that cell, where each point masswithin the cell has two torsional springs, orientedalong the horizontal and vertical axes. We definethe local single-axis curvature, i, for each torsionalspring at point i as

Fig. 6. A set of input point heights in a desiredshape (top) and the resulting output from the simulator(bottom) using Algorithm 1 to try to recreate the shapein a 6⇥8 cell grid.

i =

⇢⇡ � ✓i, ~

r

A/i · n̂

i +~r

B/i · n̂

i < 0✓i � ⇡, otherwise

�(12)

using the same vector notations defined in Figures3 and 5. This equation requires two lines to define thesign of the curvature due to the fact that ✓ is limited tovalues between 0 and ⇡, regardless of the orientationof the torsional spring in three-space. If the vectorspointing from the center of the torsional spring to eachof its endpoints are, on average, against the directionof the normal vector pointing out from the surface atthat point, as given by the sum of the dot products,then the torsional spring is bending inwards and thecell is ballooning outwards, which we define as apositive curvature. Conversely, if the cell is concaveat that point, we define the curvature as negative.We estimate c, the curvature of cell c, as the averagevalue of i for all torsional springs in the cell.

This averaging method for estimating the curvatureof the cell does lose some information about theoverall shape. The method ignores any eccentricity inthe cell shape, so a cell that is ballooned smoothlyacross its surface could have the same value of c

as a cell that is bent sharply on one side and flaton the other. Furthermore, saddle points where thecurvature is positive along one axis and negativealong another would have curvatures calculated closeto zero. However, given that Algorithm 1 does notinclude a means to control for these types of shapes,the averaging method for estimating curvature suf-fices for this purpose.

Haptic Jamming Display

Page 25: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

! ! !

Personalized Robot Design and Use

Page 26: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Visualize patient-specific anatomy

Page 27: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Visualize concentric tube robot

Page 28: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Integration of hand tracking

Page 29: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department
Page 30: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

AcknowledgmentsPast PhD/Postdoc Lab MembersJake Abbott (Univ. Utah)Nasir Bhanpuri* (USC)Amy Blank* (Rice Univ.)Steven Charles*+ (BYU)Jessica Crouch+ (Old Dominion Univ.)Tricia Gibo* (TU Delft)David Grow (New Mexico Tech.)Paul Griffiths+ (Intuitive Surgical)Netta Gurari (IIT)Jim Gwilliam* (Exponent)Katherine Kuchenbecker+ (UPenn)Mohsen Mahvash+ (Boston Univ.)Panadda Marayong (Cal St Long Beach)Steven Marra+ (JHU)Sarthak Misra (U. Twente)Ilana Nisky+ (Ben-Gurion Univ.)Kyle Reed*+ (USF)Lawton Verner (Intuitive Surgical)Robert Webster* (Vanderbilt Univ.)Tom Wedlick (Exponent)Ryder Winck+ (Rose-Hulman)Tomonori Yamamoto (EndoMaster) *co-advised, +postdoc

Current Lab MembersTroy AdebarNick ColonneseLizmarie Comenencia OrtizDarrel DeoMargaret KoehlerTania MorimotoAnn MajewiczKirk NicholsZhan Fan QuekSam SchorrKamran Shamaei+Sean SketchAndrew StanleyJulie Walker… and many talented undergraduate researchers!

CollaboratorsAmy Bastian (KKI/JHU Neurosci.)Michael Choti (JHU Surgery)Noah Cowan (JHU Mech. Eng.)David Gaba (Stanford Medicine)Ken Goldberg (UCB IEOR)Gregory Hager (JHU Comp. Sci.)Steven Hsiao (JHU Neuroscience)Michael Hsieh (Stanford Urology)Peter Kazanzides (JHU Comp. Sci.)KT Ramesh (JHU Mech Eng.)Danny Song (JHU Radiology)Russell Taylor (JHU Comp. Sci.)Louis Whitcomb (JHU Mech. Eng.)David Yuh (JHU Surgery)Intuitive Surgical, Inc.

SupportNSFNIHDoDIntuitive SurgicalOculus/Facebook

Page 31: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Extra slides(not presented)

Page 32: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

AR with Haptics forBehavioral Neuroscience

Page 33: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

User guidance withwearable haptics

Page 34: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Rehabilitation Institute of Chicago

Page 35: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Motion Incoordination:Cerebellar Ataxia

Control Cerebellar

In collaboration with A. Bastian(Kennedy Krieger Institute and JHU Neuroscience/Neurology)

Page 36: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Correcting movement deficitsin cerebellar patients

Page 37: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Exoskeleton robot

Page 38: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Correcting movement deficitsin cerebellar patients

controlperturbations

model

Page 39: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

If a patient has hypermetria,use the robot to

decrease their inertia

If a patient has hypometria,use the robot to

increase their inertia

before after before after

Individuals Group

before after before after

Individuals Group

Correcting movement deficitsin cerebellar patients

Page 40: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

AR with Hapticsfor Education

Page 41: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

Warm Springs Elementary School Fremont, CA

Sequoia High SchoolRedwood City, CA

Page 42: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

K =

⎢⎢⎢⎣

k11 k12 . . . k1n

k21 k22 . . . k2n

......

......

kn1 kn2 . . . knn

⎥⎥⎥⎦

d

dt

!∂L

∂q̇j

"−

∂L

∂qj= Qj

Page 43: Augmented Reality with Haptics for Medical …msl.cs.uiuc.edu/icra15/Okamura.pdfAugmented Reality with Haptics for Medical Applications Allison M. Okamura Associate Professor Department

hapkit.stanford.eduhapticsonline.class.stanford.edu