Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 ›...

57
Haptic Rendering Stanford ME327: Design and Control of Haptic Systems — © Sonny Chan, 2014

Transcript of Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 ›...

Page 1: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Haptic Rendering

Stanford ME327: Design and Control of Haptic Systems — © Sonny Chan, 2014

Page 2: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Haptic Rendering

• “The process of computing and generating forces in response to user interaction with virtual objects”

- Kenneth Salisbury, 1995

Page 3: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Haptic Rendeing

Page 4: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Rendering DOF

1-DOF 3-DOF 6-DOF

Page 5: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

How rendering works ?

Page 6: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Stiffness ?

Page 7: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Kinesthetic Impedance Type

Page 8: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

1-DOF Virtual Wall Rendering

• Unilateral linear spring• Useful for mechanism design, control, stability

Page 9: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Potential Field Rendering

Page 10: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Virtual Box

Page 11: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Virtual Box

Page 12: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Virtual Box

Page 13: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Virtual Box

Page 14: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Virtual Box

Page 15: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Virtual Box

Page 16: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Virtual Box

Page 17: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Potential Field Problems

• Pop-out• Pop-through

• How do we deal with these ??

Page 18: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

God-Object Algorithm

• Avata, virtual proxy, god-object, etc.

Page 19: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Geometric Representation

Page 20: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Polygonal Meshes

Page 21: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Other Representations

Page 22: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

God-Object Main Idea

• Constrain a virtual proxy of the haptic interface to remain on the surfaces

Page 23: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating
Page 24: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating
Page 25: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Contact with a Surface

Page 26: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Contact with a Surface

Page 27: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Contact with a Surface

Page 28: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Contact with a Surface

Page 29: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Collision Detection

Page 30: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Simulation/Optimization

Page 31: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Force Feedback

Page 32: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Two Constraints

Page 33: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Two Constraints

Page 34: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Two Constraints

Page 35: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating
Page 36: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

God-Object Location Computing

Partial derivative w.r.t. x,y,z, l1, l2, l3

Page 37: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Force Feedback

Page 38: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Tool-mediated Interaction

Needs higher than 3-DOF interaction

Page 39: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Proxy-Based Rendering

Page 40: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

6-DOF virtual Coupling

• Translational and rotational spring/damper coupling– Force proportional

to displacement– Torque proportional

to orientation difference

Page 41: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Proxy Simulation in 3-DOF

Page 42: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Proxy Simulation in 6-DOF

Page 43: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

How to Simulate Proxy ?

Page 44: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Soft Constraints

Page 45: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

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

Page 46: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Simulation may goes unstable

High Stiffness environments

Page 47: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Quasi-Static Equilibrium

Page 48: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Quasi-Static Equilibrium

Page 49: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Quasi-Static Equilibrium

Page 50: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

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

Page 51: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

What if Hard Environments ?

Page 52: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Hard Constraints

Page 53: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

How to Simulate Proxy ?

Page 54: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

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

Page 55: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

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

Page 56: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Taxonomy

Page 57: Lecture 3 Rendering - KAISTiris.kaist.ac.kr › wp-content › uploads › 2019 › 04 › rendering.pdf · 2019-08-13 · Haptic Rendering •“The process of computing and generating

Three Constraints