Introduction to Computer Haptics

Download Report

Transcript Introduction to Computer Haptics

Introduction to Computer Haptics
Chris Harding
[email protected]
Haptic (adj.) (from the Greek word haptesthai for to grasp or to touch) :
related to the sense of touch.
Graphical Rendering:
process of displaying synthetically generated 2D/3D visual stimuli to the user
Haptic Rendering:
process of displaying synthetically generated 2D/3D haptic stimuli to the user
Motors, cables, actuators, position sensors, …
F
End-effector (pen, thimble, surgical
instrument, …)
simulated
haptic
probe
Haptic Interface: device for touch
interactions in real and virtual worlds
Human vs Machine Haptics:
Machine Haptics:
Types of Haptic Devices
Force feedback Displays
(Kinesthetic: position)
Tactile Displays
(skin)
Types of Haptic Devices
Passive
Active
Force
keyboard, trackball,
mice, etc.
Types of Haptic Devices
Grounded
Attached
combined
Hulk strong –
crush Coke
can !!
Applications
Haptic Feedback for
Molecular Simulation
Haptic Feedback for
Medical Simulation and
Training
force
molecule
Haptic
Display
Visual
Display
Applications
Haptic Visualization
Haptic Feedback for Collaborative
Engineering Design
haptic display
collected
data
tangible data
Tangible Interfaces
• buttons
• dials
• slider bars
• folders
• layers
• force fields
Haptic User Interface (HUI)
Simulation of
repair and
maintenance tasks
Haptic Feedback for Crew
Training
Integration of Vision and Touch
HUMAN OPERATOR
~ 30 Hz
Images
Visual
Interface
STATE
•Geometry
•Color
•Stiffness
•Deformability
DISPLAY
VISUALS
STATE
Haptic
Interface
DISPLAY
FORCE
Visual
Thread
Shared
Database
Encoder
Positions
~1 kHz
Motor
Torques
Haptic
Thread
Point-based Haptic feedback

Problem:





simulating the Human hand (22 DOF) and tactile
sensations (skin pressure) is very difficult
(impossible) to simulate
Need very fast update rates (~1000 Hz)
Need Interface acceptable to everyday users
Affordable, with API for non-haptic specialists
Solution (Enter the PHANtOM):



Use only a single point (3DOF):
point with stylus (direction vector)
GHOST API, ReachIn API, OpenHL
Virtual Finger Tip
Stylus Tip
Haptic Rendering with a Force Display
virtual
wall
Position
Orientation
Collision
Detection
Object
Database
Geometry
Contact
Information
Material
F=
stiffness
* dist
Force
Collision
Response
point-object interaction
HIP = Haptic Interface Point: True (real world) position of stylus tip
Hand: always drawn outside the sphere
void calculate_force (Vector &force)
{
float X, Y, Z, distance;
float R = 20.0;
HIP
F
distance
Hand
X = HIP[0]; Y = HIP[1]; Z = HIP[2];
distance = sqrt(X*X + Y*Y + Z*Z);
if(distance < R) //collision check
{
force[0] = X/distance * (R-distance);
force[1] = Y/distance * (R-distance);
force[2] = Z/distance * (R-distance);
R
}
}
Assumption:
Stiffness = 1.0
Haptic Rendering of 3D Objects via Proxy
(point-object interaction)
d: Proxy to Tip
distance
HIP (stylus tip: actual position!)
F=k*d
(Hooke’s Law)
Spring with stiffness k
Proxy (displayed position)
(If in doubt: the visual sense will override the sense of touch …)
Haptic Rendering of Polygonal Surfaces
HIPt-1
HIPt-2
IHIPt
HIPt-3
HIP = actual tip position
IHIP = Proxy point
IHIPt+1
IHIPt+2
v2
v1
d
d
HIPt
HIPt+1
HIPt+2
v3
Haptic Display of Surface
Details



Haptic smoothing of object
surfacesding)(similar to Phong shag
Rendering of haptic textures
Haptic rendering of surfaces with friction (
Fuser Fn
n
tio ent
rec vem
i
D o
m
of
Ff
Ft
displayed
shape
actual
shape
Haptic Texturing
• image-based
s
two-stage mapping
Bier & Sloan, 1986
t
• procedural
bump mapping
h(x,y,z)
Blinn, 1978;
Max and Becker, 1994
Force-Reflecting Deformable Models:
Surgical Simulation
F
F
Haptic Sculpting/painting
Reachin Display







Phantom + Reachin
Display + Reachin API
3D stereo via mirror
Integrates 3D Vision with
haptics
After calibration:
real stylus = virtual stylus
Uses proxy method
3D haptic user interface
(HUI)
API: define VRML
scenegraph with graphics
and haptics properties
Sensable Omni Phantom






New, “cheap” version of
phantom line
Stiffness: 3 - 4 N
Firewire port
Windows, Linux (?)
OpenHL API: (low-level
OpenGL-like haptics)
Demo of virtual clay
sculpting (splodge?)
Conclusion




Point haptics: Reduction of hand to point
Separate Update loop at 1000 Hz
Same geometry as graphics but additional
haptic properties
Improvements in tool based interaction:




Surgical simulation and training
assembly/repair planning
Virtual clay sculpting (art, rapid prototyping)
Sculpting of subsurface layers (saltdome modelling)