Haptic Rendering Part 2 4/CY/B3 Part 1. Collision detection and response Nic Melder Part 2. Manipulation and polygon transitions Nic Melder.

Slides:



Advertisements
Similar presentations
Angular Quantities Correspondence between linear and rotational quantities:
Advertisements

Contact Mechanics B659: Principles of Intelligent Robot Motion Spring 2013 Kris Hauser.
2.4. Primitive Tests - Closest point
Extended Gaussian Images
Sampling From the Medial Axis Presented by Rahul Biswas April 23, 2003 CS326A: Motion Planning.
Visibility Graph and Voronoi Diagram CS Tutorial.
Informationsteknologi Wednesday, November 7, 2007Computer Graphics - Class 51 Today’s class Geometric objects and transformations.
Computational Geometry & Collision detection
A Fast Algorithm for Incremental Distance Calculation Paper by Ming C. Ling and John F. Canny Presented by Denise Jones.
Auxiliary Views – An Overview
1 Computer Graphics Chapter 7 3D Object Modeling.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
11-1 Space Figures and Cross Sections
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Haptic Rendering Max Smolens COMP 259 March 26, 2003.
Content Subdivision First some basics (control point polygon, mesh)
OBBTree: A Hierarchical Structure for Rapid Interference Detection Gottschalk, M. C. Lin and D. ManochaM. C. LinD. Manocha Department of Computer Science,
Providing Haptic ‘Hints’ to Automatic Motion Planners Providing Haptic ‘Hints’ to Automatic Motion Planners by Burchan Bayazit Department of Computer Science.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
Introduction to 3D Graphics Lecture 4: Scenes and Scene Graphs Anthony Steed University College London.
Basics of Rendering Pipeline Based Rendering –Objects in the scene are rendered in a sequence of steps that form the Rendering Pipeline. Ray-Tracing –A.
Haptic rendering Part 1 4/CY/B3 Part 1. Collision detection and response Nic Melder Part 2. Manipulation and polygon transitions (T.B.A.)
Waves Topic 4.5 Wave Properties. Wave Behaviour v Reflection in one dimension.
Vertex – A point at which two or more edges meet Edge – A line segment at which two faces intersect Face – A flat surface Vertices, Edges, Faces.
Collision handling: detection and response
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
Physically Based Modeling Let physics take over!.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Collisions & Contact.
Computer Graphics Basic 3D Geometry CO2409 Computer Graphics Week 5-1.
Solid Modeling. Solid Modeling - Polyhedron A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. A polyhedron.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
M. Zareinejad.  Use haptic device to physically interact with the VE – optical encoders measure position of end effector – actuators apply forces.
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
Collision Detection And Response Jae Chun KyungSoo Im Chau Vo Hoang Vu.
Torque on a Current Loop
12.1 Exploring Solids.
Auxiliary Views.
M. Zareinejad.  What ’ s Virtual Proxy? ◦ A substitute for the probe in the VE ◦ An extension of the ‘ God-Object ’ ◦ A finite sized massless sphere.
AP Physics C Montwood High School R. Casao. When a wheel moves along a straight track, the center of the wheel moves forward in pure translation. A point.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Particles and their home in Geometry Shaders Paul Taylor 2010.
polyhedron a three- dimensional figure whose surfaces are polygons faces edge vertex.
A Fast Algorithm for Incremental Distance Calculation Ming C. Lin and John F. Canny University of California, Berkeley 1991 Original slides by Adit Koolwal.
1 Haptic Systems Mohsen Mahvash Lecture 7 18/1/06.
A Fast Algorithm for Incremental Distance Calculation Ming C. Lin & John Canny University of California, Berkeley 1991 Presentation by Adit Koolwal.
Visible-Surface Detection Methods. To identify those parts of a scene that are visible from a chosen viewing position. Surfaces which are obscured by.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
Rigid Body: Rotational and Translational Motion; Rolling without Slipping 8.01 W11D1.
3D Ojbects: Transformations and Modeling. Matrix Operations Matrices have dimensions: Vectors can be thought of as matrices: v=[2,3,4,1] is a 1x4 matrix.
12.1 Exploring Solids Geometry. Defns. for 3-dimensional figures Polyhedron – a solid bounded by polygons that enclose a single region of shape. (no curved.
1 Haptic Systems Mohsen Mahvash Lecture 6 17/1/06.
Goal 1: Using Properties of Polyhedra Goal 2: Using Euler’s Theorem
Manipulator Dynamics 1 Instructor: Jacob Rosen
Surface Area and Volume
Forging new generations of engineers
Rolling, Torque, and Angular Momentum
Auxiliary Views.
Manipulator Dynamics 2 Instructor: Jacob Rosen
Solid Geometry.
Forging new generations of engineers
Forging new generations of engineers
Computer Animation Algorithms and Techniques
Forging new generations of engineers
Forging new generations of engineers
Haptic Systems Mohsen Mahvash Lecture 7 18/1/06.
Solid Geometry.
Presentation transcript:

Haptic Rendering Part 2 4/CY/B3 Part 1. Collision detection and response Nic Melder Part 2. Manipulation and polygon transitions Nic Melder

Friction Cone Algorithm GO – HIP α Force Vector to apply to Haptic Device Since Vector, will work in any number of dimensions (ie. 2D, 3D, 4D)  Surface point (SP) god-object (GO) tan -1  n (surface normal) HIP move

Manipulation of Virtual Objects With multi-point haptics, require a method to allow for realworld/natural manipulation of virtual objects. Direction vector from HIP to GO is proportional to force applied by haptic interface to object. Summing all force vectors on the object gives the residual force in the object (including gravity etc.) Residual force is input to a suitable movement algorithm. 2 Types of manipulation – Translation & Rotation.

Residual Force Algorithm ● Sum of Forces in virtual object required for translation.. ● Object requires a mass. ● Point Mass model used ie. all forces act on the Centre of Mass. ● Residual Force in Object = Mass x Acceleration ● v new = v old + a Δt (where Δt = loop time of the control algorithm) ● p new = p old +v new Δt

Residual Torque Algorithm ● Sum of Torques in virtual object required for rotation. ● Object requires inertias along each of the primary axes. ● Inertia stored in Matrix form ie, in 3D ● Torque = r x f

● Residual Torque in object: ● Angular acceleration given by: ● Can simplify and use: ● Angular Velocity and Rotation Estimate is given by: Residual Torque Algorithm

Object Manipulation ● Calculate new position. ● Calculate new rotation. ● Note: Must calculate position first then rotation since the residual forces are calculated with respect to the original object rotation.

Haptic Rendering of Complex Shapes ● Convexity & Concavity – A Polygon is convex if all internal angles < 180 o. – A Polygon is concave if any internal angle > 180 o. – An edge is convex if the internal angle between the polygons < 180 o. – A vertex ● Totally convex if all the adjoining edges are convex. ● Totally concave if all the adjoining edges are concave. ● Partially convex/concave if the edges are mixed (ie. concave and convex).

Mesh Data Storage Structures ● Require a means to store how each vertex, edge, face is connected to the other vertices, edges, faces. ● Memory usage vs. processor usage. ● Hierarchical Mesh Database. ● Face Directed Connection Graph (FDCG).

Hierarchical Mesh Database Polyhedron Vertex Line Polygon Normal Normal Neighbours Normal Neighbours Neighbours Vertices Polygons Lines Polygons Vertices Lines

Face Directed Connection Graph ● Made from Nodes, Connections & corners. ● Node contains: – Face plane – Array of Connections ● Connection: – SharedVertices – ConnectedNodes – EdgeVector – ConnectionType – VoronoiPlanes – EndPlanes ● Corner Contains: – Vertex – Array of Connections v2 v3 v4v v1 v4 v2 v8 v3 v5 v6 v7 v1 v5 v6 v7 F1 = Top face F2 = Bottom face F3 = Right face F4 = Left face F5 = Front face F6 = Back face

(Pseudo) Voronoi Regions and End Planes ● A features Voronoi region is an area of space around the feature that is closest to that feature. ● Each triangular face has 3 associated voronoi planes that pass through each of the face’s edges perpendicular to the face. ● Each edge has 2 associated end planes, that pass through each of the edge’s vertices perpendicular to the edge.

State Transitions FS – F determined by collision algorithm. FS = Free-space F = Face E = Edge V = Vertex F FS E V

Face to Edge When GO crosses a voronoi plane associated with the face, the GO has crossed onto the associated edge. The GO is repositioned to lie on the edge. GO on Polygon 1 GO crosses plane that Polygon 2 lies on P2 P1 P2 P1 = God-object (GO) = Old God-object position = Voronoi Region associated with polygon 1 = Voronoi Region associated with polygon 2

Edge to Face When HIP crosses a voronoi plane, associated face becomes active. The GO does not need to be repositioned. = God-Object = HIP when edge should be active = HIP when face should be active = Face normal = Area where face should be active

Edge to Vertex to Edge ● Edge to Vertex – When GO crosses an end plane associated with the edge, the corresponding Vertex is made active. – The GO is repositioned onto the vertex. ● Vertex to Edge – When the HIP moves into the Edge voronoi region the corresponding edge is made active. ie. the HIP is behind both voronoi planes of the edge.

Edge to Free Space If the edge is acute and convex and the HIP is in front of one connected face plane and behind the other face plane. = God-Object attached to edge = Haptic Interaction Point = Face normal = Spring that force is directed along

Other Transitions ● Vertex to Face – Need to determine which faces are connected to vertex. – If HIP is behind all voronoi planes of a face, then face is made active. ● Vertex to Free Space, Edge to Free Space, Face to Free Space – If HIP is in front of all appropriate faces, a V/E/F to FS transition has occurred.

FCA when on an Edge w V1V1 SP Ev HIP V2V2 V 1, V 2 = Vertices defining the edge HIP = Haptic Interaction Point Ev = Edge vector SP = Surface Point

Smoothing Transitions ● When transition occurs, check to see if GO still needs to be moved on the next iteration. ● If it needs to move, rerun to reposition the GO until GO is no longer moved. ● Ie. In one iteration the following may happen: – Face to Edge to Face to Edge to Face to Edge. ● The Small Plane problem

References ● ● N. Melder, W. S. Harwin and P. M. Sharkey, Translation and Rotation of Multi-Point Contacted Virtual Objects, Proceedings of Eurohaptics Conference, 2003 ● W. S. Harwin and N. Melder, Improved Haptic Rendering for Multi-Finger Manipulation Using Friction Cone based God-Objects, Proceedings of Eurohaptics Conference, 2002 ● C. B. Zilles and J. K. Salisbury, A Constraint-based God-object Method for Haptic Display, Proceedings of International Conference on Intelligent Robots and Systems, 1995 ● C. Ho, C. Basdogan, M. A. Srinivasan, Efficient Point-Based Rendering Techniques for Haptic Display of Virtual Objects, Presence 8(5) Oct 1999 pp