Haptic Rendering
Stanford ME327: Design and Control of Haptic Systems — © Sonny Chan, 2014
Haptic Rendering
• “The process of computing and generating forces in response to user interaction with virtual objects”
- Kenneth Salisbury, 1995
Haptic Rendeing
Rendering DOF
1-DOF 3-DOF 6-DOF
How rendering works ?
Stiffness ?
Kinesthetic Impedance Type
1-DOF Virtual Wall Rendering
• Unilateral linear spring• Useful for mechanism design, control, stability
Potential Field Rendering
Virtual Box
Virtual Box
Virtual Box
Virtual Box
Virtual Box
Virtual Box
Virtual Box
Potential Field Problems
• Pop-out• Pop-through
• How do we deal with these ??
God-Object Algorithm
• Avata, virtual proxy, god-object, etc.
Geometric Representation
Polygonal Meshes
Other Representations
God-Object Main Idea
• Constrain a virtual proxy of the haptic interface to remain on the surfaces
Contact with a Surface
Contact with a Surface
Contact with a Surface
Contact with a Surface
Collision Detection
Simulation/Optimization
Force Feedback
Two Constraints
Two Constraints
Two Constraints
God-Object Location Computing
Partial derivative w.r.t. x,y,z, l1, l2, l3
Force Feedback
Tool-mediated Interaction
Needs higher than 3-DOF interaction
Proxy-Based Rendering
6-DOF virtual Coupling
• Translational and rotational spring/damper coupling– Force proportional
to displacement– Torque proportional
to orientation difference
Proxy Simulation in 3-DOF
Proxy Simulation in 6-DOF
How to Simulate Proxy ?
Soft Constraints
Proxy Motion Simulation
• Numerically integrate the ODE over time to obtain x, the position of the avatar:
• Do the same with moments to obtain orientation
Simulation may goes unstable
High Stiffness environments
Quasi-Static Equilibrium
Quasi-Static Equilibrium
Quasi-Static Equilibrium
Quasi-Static Proxy Motion
• Solve directly for the position x for which the net force acting on the proxy is zero
• Do the same with orientation to obtain net moment of zero
What if Hard Environments ?
Hard Constraints
How to Simulate Proxy ?
Gauss’ Principle
• The Proxy’s constrained motion is that which minimize the acceleration energy
• Subject to the contact constraints:
which is the augmented form of non-penentraion constraint
• Solution can be obtained via quadratic programming
Hard Constraints
• Can integrate acceleration to obtain position as in previous method– Constrained dynamics
• Can move proxy directly to position that does not violate constraints, and minimum distance– Quasi-static formulation
Taxonomy
Three Constraints