270 likes | 282 Views
Haptic rendering provides an additional channel for conveying information and interacting in various applications, such as medical simulations, industrial training, and entertainment. Learn about the motivation, background, types of haptic devices, rendering loop, challenges, and quality assurance in haptic rendering.
E N D
Pete Stein COMP 768 10/27/10 3-DoF Haptic Rendering
Haptics: Motivation • Additional channel to convey information and interact • Bilateral – force feedback maintains context for the user • Improves sense of immersion Applications (To name a few) • Medical simulations and surgery aid • Industrial training and prototyping • Hazardous material handling • Accessibility • Entertainment • Scientific visualization
Haptics: Background • Origins in robotics/telerobotics • Master/slave manipulator for handling nuclear material (Raymond Geortz, Argonne National Laboratory, 1951) “Worlds First Electro Tele-Manipulator” (Goertz and Thompson, Argonne National Laboratory, 1954) Modified from http://ftp.mcs.anl.gov/pub/futures-lab/slides/Vis99-Master.ppt
Three Degrees of Freedom • System renders output forces in 3 dimensions. • “Point probe” concept offers simplified 3D interaction versus the complexity of full 6 DoF. • Typically: • 3x Translation or • 3x Rotation Force Dimension delta.3 (3DOF translational) http://http://www.forcedimension.com
Types of Haptic Devices Admittance Impedance Haptic-Master Phantoms Motion → Force More affordable Force → Motion Less affordable
Haptic Loop “Haptics in virtual environments: taxonomy, research status, and Challenges” (Srinivasan and Basdogan, 1997)
Haptic Rendering Loop Fr force conveyed to user Fd interaction force (cursor ↔ virtual object) X cursor position S contacts Adapted from “Haptic Rendering: Introductory Concepts” (Salisbury et al., 2004)
Haptic Rendering Loop vh human operated velocity vm motor operated velocity ve response velocity Fh force to haptic device Fm force from haptic motors Fe force to virtual environment T sampling operator ZOH zero-order hold Adapted from “Haptic rendering: foundations, algorithms, and applications” (Lin and Otaduy, eds., 2008)
Goals Subject to performance constraints/trade-offs: Collision detection Penetration depth computation Contact force calculation
Challenges • Precision and accuracy of interaction • Noise/sampling errors • Speed (> 1khz haptic rendering) • Sampling and processing delays • Large virtual environments? • I.e., effectiveness and believability in the context of human perception
Quality Assurance How do we know we’re doing a good job? • Abstractly: a perceptually accurate proximal model (Rosenberg and Adelstein, 1993) • Dynamic range of impedance, and passivity of impedance (Colgate and Brown, 1994) • Responsiveness (high frequency necessary to avoid instabilities) (Brooks, Jr. et al. 1990)
Dynamic Range of Impedance • Impedance: relationship between velocity and force • Dynamic Range (“Z-Width”) • Low impedance: holding a pencil • High impedance: pushing a pencil against a surface • Assertion: broad range is desirable • Passivity is a good test for proper impedance dynamic range of impedance
Responsiveness Feeling and Seeing: Issues in Force Display (Minsky et al. 1990) Mystery: if neural-muscular response time is 200ms, how can the arm tell between 500 Hz and 1 KHz? Unlike vision, touch is more sensitive to small-amplitude vibrations (100 Hz-1 KHz) Instabilities may exist at 500 Hz that stabilize at 1 KHz Instabilities → vibrations, which the human hand is sensitive enough to perceive.
Simplified (1DOF) • Movement along one axis only (turning a knob, opening a door)
Penetration • User will always penetrate the surface (why?) • Obstacle may be so thin, the user skips right past it. • Don’t want false haptic feedback beyond the surface where the user should have been stopped
HIP IHIP God Object • “God-Object” (Zilles and Salisbury, 1995) tracks a virtual version of the user location that is bound by surface constraints. • Place a spring between god-object and actual user position to create feedback. • Steps • Find active constraints • Find new position as point within constraint that is closest to the current user position.
God Object Constraints computed using Lagrange multipliers: E = ½ · k · ( (xg – x)2 + ½(yg – y)2 + ½(zg – z) )2 Plane constraints: Anx + Bny + Cnz – Dn = 0 Minimize: C = E + λn· (plane constraints)n(n ≤ 3 for 3D) (x, y, z) HIP (haptic interface point) coordinates (xg, yg, zg) IHIP (god-object) coordinates E Energy C Cost
God Object Yields 6 linear equations Adapted from “Introduction to 3-DoF Haptic Rendering” (M. Lin, 2005)
Virtual Proxy • What if the god-object “slips through the cracks?” E.g., • Numerical inconsistencies (Ruspini et al. 1997) • Tiny gaps in the surface data • Virtual proxy (Ruspini et al., 1997) extends god-object as a small sphere • Formalizes constraints with some extra features
Virtual Proxy • Starting user position • First obstacle • Sub-goal, one constraint • Sub-goal, two constraints (complete) Adapted from “Introduction to 3-DoF Haptic Rendering (M. Lin, 2005)
Haptic Rendering Improvements H-COLLIDE: A Framework for Fast and Accurate Collision Detection for Haptic Interaction (Gregory et al. 1999) Techniques to improve collision detection • Spatial decomposition • Bounding volume hierarchies (OBB Trees) • Incremental computations based on cached contact information
H-Collide: Spatial Decomposition • Strategies • Decompose space into uniform grid, determine which primitives are in a given cell • But high storage requirement for large spaces • Hierarchical bounding method (OBB-Trees) • But complex models could have extensive trees • Approach: • Hybrid Hierarchical Representation: Off-line computation of OBB-Trees for object primitives in grid cells • Per-cell OBB Trees stored in hash table
H-Collide: Intersection Tests Fast line-OBB Tree intersection test • Also exploit frame-to-frame coherence • Check contacts in previous frame to see if they are still in contact (the probe probably hasn’t moved much) • Online mode, three phases: • Find cells along probe path using hash table • Traverse relevant OBB trees, use fast intersection test • For OBB contacts (leaf nodes of OBB trees), compute actual contact points
H-Collide: OBB-Tree Intersections Line segment with midpoint m and half-length |w| Let X = |wx|, Y = |wy|, Z = |wz| if |mx| > X + txdisjoint if |my| > Y + tzdisjoint if |mx| > X + txdisjoint if |mywz - mzwy| > tyZ + tzY disjoint if |mxwz - mzwx| > txZ + tzX disjoint if |mxwy - mxwy| > txY + tyX disjoint Else overlap
Additional Haptic Techniques • Force Shading • Similar in concept to Phong shading for light • Basdogan et al. (1997) • Precompute vertex normals as weighted average of face normals • Divide triangle into 3 subtriangles • Area-based interpolation of normal at contact point
Additional Haptic Techniques “Improving Contact Realism through Event-Based Haptic Feedback” (Kuchenbecker et al. 2006) • Adds special cues when an event (e.g., contact) is detected • Fixed pulse • Accelerated matching • Decaying sinusoid • Each technique compares favorably in a “tap test” to an actual wood block • Standard proportional response close to foam
References Basdogan, C., C.-H. Ho and M. A. Srinivasan (1997). A ray-based haptic rendering technique for displaying shape and texture of 3D objects in virtual environments. ASME Dynamic Systems and Control Division, DSC-Vol.61): 77-84. Brooks, Jr., F. P., Ouh-Young, M., Batter, J. J., and Kilpatrick, P. J. 1990. Project GROPE— Haptic displays for scientific visualization. In Computer Graphics (SIGGRAPH ’90 Proceedings), F. Baskett, Ed., vol. 24, 177–185. Colgate, J.E.; Brown, J.M.; , "Factors affecting the Z-Width of a haptic display," Robotics and Automation, 1994. Proceedings., 1994 IEEE International Conference on , vol., no., pp.3205-3210 vol.4, 8-13 May 1994 Gregory, A.; Lin, M.C.; Gottschalk, S.; Taylor, R.; , "A framework for fast and accurate collision detection for haptic interaction," Virtual Reality, 1999. Proceedings., IEEE , vol., no., pp.38-45, 13-17 Mar 1999. Jilin Zhou; Xiaojun Shen; Petriu, E.M.; Georganas, N.D.; , "Linear velocity and acceleration estimation of 3 DOF haptic interfaces," Haptic Audio visual Environments and Games, 2008. HAVE 2008. IEEE International Workshop on , vol., no., pp.137-142, 18-19 Oct. 2008 Laycock, S. and Day, A. 2007. A Survey of Haptic Rendering Techniques. Computer Graphics Forum, 26: 50–65. Lin, M. and Otaduy, M. A. (editors). Haptic Rendering: Foundations, Algorithms, and Applications. AK Peters. 2008. Minsky, M., Ouh-young, M., Steele, O., Brooks, Jr., F. P., and Behensky, M. 1990. Feeling and seeing: Issues in force display. In Computer Graphics (1990 Symposium on Interactive 3D Graphics), R. Riesenfeld and C. Sequin, Eds., vol. 24, 235–243. Otaduy, Miguel A., Lin, Ming C., Introduction to haptic rendering, ACM SIGGRAPH 2005 Courses, July 31-August 04, 2005, Los Angeles, California Rosenberg, L.B.; Adelstein, B.D.; , "Perceptual decomposition of virtual haptic surfaces," Virtual Reality, 1993. Proceedings., IEEE 1993 Symposium on Research Frontiers in , vol., no., pp.46-53, 25-26 Oct. 1993 Ruspini, D., Kolarov K., Khatib O.: The haptic display of complex graphical environments. In Proc. of ACM Siggraph 97, Los Angeles, CA, pp. 345–352, 1997. Salisbury, Kenneth, Conti, Francois, Barbagli, Federico. "Haptic Rendering: Introductory Concepts," IEEE Computer Graphics and Applications, pp. 24-32, March/April, 2004. Srinivasan, Mandayam A., Basdogan, Cagatay, Haptics in virtual environments: Taxonomy, research status, and challenges, Computers & Graphics, Volume 21, Issue 4, Haptic Displays in Virtual Environments and Computer Graphics in Korea, July-August 1997, pp. 393-404.