haptics - ucl · 2011. 4. 5. · haptic rendering using virtual proxies • the actual location of...

63
COMPM076, COMPGV07 Virtual Environments Haptics Simon Julier, David Swapp Department of Computer Science University College London http://www.cs.ucl.ac.uk/teaching/VE

Upload: others

Post on 03-Mar-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

COMPM076, COMPGV07 Virtual Environments

Haptics

Simon Julier, David Swapp

Department of Computer Science

University College London

http://www.cs.ucl.ac.uk/teaching/VE

Page 2: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Outline

• Introduction

• Perception of Haptic Stimuli

• Synthesis of Haptic Stimuli

Page 3: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

The Importance of Touch

• Touch is vital for normal interaction with the real world

• Provides information about:

– Surfaces

• Hot, cold, smooth, rough, slippery, rubbery

– 3D Space and 3D Shapes

• Size, curvature, where things are

– Feedback

• Holding objects, etc.

• Case studies show that no sense of touch is highly debilitating

– Must use mental effort at all times to confirm what’s going on

Page 4: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Example: Soft vs. Hard Keyboards

Touch-tone phones:

•Rich haptic cues

•Can be done without looking

•Effortless

Softkeyboard phones:

•Limited haptic cues

•Must be looked at

•Lots of development effort needed to be

usable

Page 5: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Why Simulate Touch in Virtual Environments?

• Interaction with objects very important for utility / presence of

virtual environments

• Touch provides valuable feedback and information

– Weight, strength give feedback on how well user is holding object

– Hardness, texture, vibration, interia or weight convey information about

the properties of objects

• Visual dominance can be used but

– It works only when you can see what’s doing the manipulating and what’s

being manipulated

– It does not give the fine-grained feeling of manipulating the actual object

Page 6: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Teleoperation

Page 7: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Medical Training

Page 8: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Medical Training

Training for Bone Milling, Stanford BioRobotics

QuickTime™ and a decompressor

are needed to see this picture.

Page 9: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Medical Training

The Virtual Haptic Back Project, University of Ohio

Page 10: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Industrial Training

SPIDAR Industrial putty gun training, Ortega and Coquillart

Page 11: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Design and Simulation

Haptics can be used to

provide a sculpting metaphor

and more organic designs

Page 12: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Using Haptics to Preview CAD

QuickTime™ and aYUV420 codec decompressorare needed to see this picture.

Page 13: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Cultural Heritage

Museum of PureForm / PERCO Exo-Skeleton

Page 14: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Science

UNC Nanomanipulator

Page 15: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

• Introduction

• Perception of Haptic Stimuli

• Synthesis of Haptic Stimuli

Page 16: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Haptic Information

• Tactile (Cutaneous)– Force receptors in the skin

• Proprioceptive (Kinesthetic)– Force receptors in the muscle

• Haptic– Combination of tactile and proprioceptive

– Active

• We do not discuss temperature and pain, although they are important and temperature-based interfaces have been developed

Page 17: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Tactile

• Measured through mechanoreceptors

• These lie in multiple layers of the skin

• Types of information include:

– Pressure

– Temperature

– Softness

– Wetness

– Friction

• Adhesion, slip

• Vibro-tactile extremely important

– Texture

Page 18: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Slow and Fast Adaptation in Receptors

• Receptors can be fast or slow

• Fast adaptation to onset and offset of skin deformation– FAI receptors: small, well-defined areas; respond to rate of deformation;

particularly important for manipulation

– FAII receptors: large, poorly-defined areas; respond to acceleration (and higher order derivative) of deformation

• Slowly adapting mechanoreceptors have a continual response to skin deformation– SAI receptors: strong dynamic sensitivity and irregular response to

sustained and small indentations (less than 1 µm!); particularly important for textures

– SA II receptors: less dynamic sensitivity but regular response to sustained indentation; skin stretch; detection of slippage

Page 19: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Processing of Receptors is Not Uniform

Page 20: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Two-Point Threshold

• One way to test tactile

“resolution” is to apply the

two-point threshold

– Touch subject in various parts

of the body with a two-headed

probe

– Keep widening the distance

until the subject can detect two

distinct points of contact

– Provides a measure of fidelity /

spatial actuation

Page 21: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Typical Two-Point Thresholds

Page 22: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Vibro-Tactile and Temporal Response

• Temporal “two point experiment”

– Pulses of 1ms duration have to be at least 5.5ms apart to be

perceived as two separate events

• Up to 700Hz can be detected in adult skin

Page 23: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Proprioception

• Measured by

mechanoreceptors

• They lie in muscles, tendons,

joints and the skin of the hand

Page 24: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Haptically Perceptible Properties

• Two main types of properties:

– Geometric

• Specific to a particular object

– Material

• Common for all objects of the same type

Page 25: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Haptic Geometric Properties

• Micro-geometric:

– Small enough to fall in a single skin region, e.g., fingertip

– Encodes the shape of the object which contacts the fingers

• Macro-geometric:

– Too large to fit in a single region

– Proprioception needed to map fingertips over the object

Page 26: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Haptic Material Properties

• Texture:

– Includes roughness, stickiness and spatial density

– Microtexture:

• Micron-level

– Macrotexture:

• One to two orders of magnitude greater

• Hardness (compliance):

– Tactile (e.g., cotton wool)

– Proprioceptive (e.g., piano key)

Page 27: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Perception of Weight

• The perception of weight is dependent upon many

factors

– Objects feel heavier if wielded than resting on the skin

– Smaller objects of the same weight feel heavier

– Objects with a higher inertia tensor feel heavier

– Cognitive factors (the golf-ball illusion)

Page 28: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Role of Manual Exploration

• Haptic systems are not passive

• User moves and adopts strategies to enhance feelings from objects

• Different strategies optimise discovery of different properties

Page 29: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Summary

• Touch is a proxal modality and is extremely important

for finding out properties of objects and providing

feedback for manipulation

• There are two main types: tactile and proprioceptive

– Tactile caused by deformation of the skin

– Proprioceptive caused by forces in the muscles and joints

• Users adopt exploration strategies to optimise finding

out about the environment

Page 30: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

• Introduction

• Perception of Haptic Stimuli

• Synthesis of Haptic Stimuli

– Haptic devices

– Haptic rendering

Page 31: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Hardware Platforms

• An ideal platform would:

– Be fully bi-directional

– High spatial and temporal resolution

– Produce both tactile and kinesthetic information

– Not encumber a user’s motion

• However, no practical display incorporates all of these features

and any haptic display is a compromise of one kind or another

• Haptic displays can be broadly classified as

– Tactile vs. kinesthetic

– World-grounded vs. body-grounded vs. hand-grounded

– Passive vs. active

Page 32: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Pin Arrays

Active, tactile, world-grounded

Page 33: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Finger Tip Vibro-Tactile Display

Active, tactile, hand-grounded

Page 34: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Tactors

Active, tactile, body-grounded or world-grounded

Page 35: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Air Jets

• High pressure air forced

onto user’s fingers

• Can be used to provide

short-duration high

frequency events

– Button clicks on a virtual

mobile phone

Air-Jet Button Effects in AR, Kim et al.

Page 36: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Robotic Arms

SENSABLE 6-DOF Phantom PERCRO GRAB

World-grounded, kinesthetic, active

Page 37: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Exoskeletons

World-grounded, kinesthetic, active

Page 38: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

PureForm Exoskeleton in Action

Page 39: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

PureForm Exoskeleton in Action

Page 40: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

String and Wire-Based Haptic Devices

World-grounded, kinesthetic, active

Page 41: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Stringed Workbench in Action

QuickTime™ and aYUV420 codec decompressorare needed to see this picture.

Page 42: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Forcefeedback Gloves

Active, kinesthetic, hand-grounded

Page 43: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Pneumatic Gloves

Page 44: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Novint Falcon

Active, tactile, world-grounded

Page 45: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Hybrid System

Page 46: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

• Introduction

• Perception of Haptic Stimuli

• Synthesis of Haptic Stimuli

– Haptic devices

– Haptic rendering

Page 47: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Haptic Rendering Loop

Interaction Device

Position Sensing

Collision Detection

Response Force

Computation

Force Feedback

Virtual Object

Database

1kHz

update

rate

Page 48: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Haptic Rendering Using Virtual Proxies

• The actual location of the

haptic device is the haptic

interface point (HIP)

• The virtual representation

which does not intersect the

objects is a sphere known as

the virtual proxy (VP)

• The haptic forces try to bring

the HIP and VP together

Page 49: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Penalty-Based Haptic Rendering

• Check if the haptic interface point (HIP) penetrates the object

• If so, find the closest point on the surface

• Compute the force proportional to the penetration

• The force is only a function of position, not of the trajectory taken

xF

Courtesy M. C. Lin,

UNC Chapel Hill

Page 50: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Problem with Penalty Methods

• Force discontinuities when crossing boundaries of

internal Voronoi cells.

F1

F2

Unexpected force

discontinuities (both in

magnitude and direction) are

very disturbing!

Courtesy M. C. Lin, UNC Chapel Hill

Page 51: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Problem with Penalty Methods

• Pop-through thin objects.

After the mid line is crossed,

the force helps popping

through.

motion

Courtesy M. C. Lin, UNC Chapel Hill

Page 52: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Using Constraint Planes

HIP(t)

Perform collision

detection between the

path of the HIP and

the C-obstacles

HIP(t+∆∆∆∆t)

Courtesy M. C. Lin, UNC Chapel Hill

Page 53: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Using Constraint Planes

Set the subgoal and the

constraint plane(s)

HIP(t+∆∆∆∆t)

Courtesy M. C. Lin, UNC Chapel Hill

HIP(t)

Page 54: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Using Constraint Planes

Find a new subgoal using

the active planes

Courtesy M. C. Lin, UNC Chapel Hill

HIP(t)

HIP(t+∆∆∆∆t)

Page 55: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Using Constraint Planes

Since the subgoal is in free

space, drop the constraints,

set the HIP as the new

subgoal and perform

collision detection between

the path and the C-obstacles

Courtesy M. C. Lin, UNC Chapel Hill

HIP(t)

HIP(t+∆∆∆∆t)

Page 56: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Using Constraint Planes

HIP(t)

Recompute subgoal

with new constraints

Courtesy M. C. Lin, UNC Chapel Hill

HIP(t+∆∆∆∆t)

Page 57: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Using Constraint Planes

The path to the new

subgoal intersects

another plane, so this

is added to the set of

constraints

HIP(t)

HIP(t+∆∆∆∆t)

Page 58: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Using Constraint Planes

Compute active

constraints (in 2D

there are only 2) and

find subgoal

The final position

of the virtual proxy

HIP(t)

HIP(t+∆∆∆∆t)

Page 59: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Haptic Shading

• Because objects are polygons,

shading is used to smooth the

effects of vertices

• Similar approach to Phong

shading:

– Linearly interpolate between

normals between vertices

– User-supplied normals

• However, the distance between the

HIP and VP can increase

– Puts energy in

– Users didn’t notice this

Unshaded

Shaded

Page 60: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Rendering Surface Stiffness

• If the surface is not perfectly

stiff, it will deform under

applied pressure

• The VP is moved closer to

the HIP according to the

affine combination

Page 61: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Haptic Textures

• Haptic textures correspond to fine-grained roughness of the surface

• Can be achieved with:– Image-based textures which specify friction, stiffness and normal properties over the surface

– Add additional constraint planes to reflect sharp discontinuities

Page 62: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Limitations in Frequency and Spatial Response

• Even though haptic loops run at a high update rate, there are problems:– Stability in the control loops means that the

spring stiffness between the VP and HIP is fairly low

– Mechanical compliance of the haptics device means that gratings as coarse as 10mm become distorted and the effective bandwidth is only a few tens of hertz

• Therefore, haptic displays are poor at exhibiting high frequency behaviours– Fine-grained textures

– Tapping is a common exploration strategy

• Most surfaces feel spongy

Page 63: Haptics - UCL · 2011. 4. 5. · Haptic Rendering Using Virtual Proxies • The actual location of the hapticdevice is the haptic interface point (HIP) • The virtual representation

Event-Based Haptics

• Detect when a collision event

occurs

• Play pre-recorded force

profiles in an open-loop

manner

• Scale the amplitude of the

response with the impact

speed