www.DLR.de • Slide 1 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Haptic Rendering in Complex EnvironmentsWorkshop zu interaktiven VR-Technologien für On-Orbit Servicing
Mikel SagardiaDLR, Institute of Robotics and Mechatronics
www.DLR.de • Slide 2 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Haptic Rendering Physical RenderingCollision Detection and
Force ComputationMovement Simulation
1 ms !!
LOGIC
I am the Demiurge that sees EVERYTHING…
www.DLR.de • Slide 3 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Overview
- Haptic Rendering: Collision Detection and Force Computation- Scenario and Structure Overview- Voxelmap-Pointshell (VPS) Algorithm at DLR
- Data Structures- Level-of-Detail Accurate Collision Detection
- Multi-Body Collision Environments- Net Operation- Data Traffic
- Physical and Haptic Force Post-Processing- Physical Meaning of the VPS Forces- Friction & Gravity- Normalization- Calibration- “God-Object” Methods for Haptic Display- Movement Simulation
www.DLR.de • Slide 4 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Data Structure Generation(Offline ~1 sec.)
Polygonalmodels
Voxmap Pointshell
Collision Detection and Force Computation(Online <1 msec.)
• Pointshell is transformed into voxmap coordinates
• Likely colliding points are checked for collision
• Normal vectors of colliding points are scaled with local and global penetration in the voxmap yielding single collision forces
Voxmap Pointshell (VPS) Algorithm: Principle
www.DLR.de • Slide 5 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Level-of-Detail Accurate Collision Detection
Classical Ideal Classical Ideal
Point-Sphere Hierarchy Interpolation with Distance Fields
Pointshells strongly influence the quality of the force direction and the
computation time
Voxmaps strongly influence the quality of the
force magnitude
www.DLR.de • Slide 6 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Point-Sphere Hierarchies (1/2)
1) Localize likely colliding regions: faster computation2) Use high resolutions in colliding areas: better force quality
www.DLR.de • Slide 7 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Point-Sphere Hierarchy (2/2)
www.DLR.de • Slide 8 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Local Penetration Interpolation (1/2)
Discrete layered voxmaps generate discontinuities in the force values
A continuous penetration would avoid these discontinuities
www.DLR.de • Slide 9 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Local Penetration Interpolation (2/2)
180º 360º
www.DLR.de • Slide 10 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Overview
- Haptic Rendering: Collision Detection and Force Computation- Scenario and Structure Overview- Voxelmap-Pointshell (VPS) Algorithm at DLR
- Data Structures- Level-of-Detail Accurate Collision Detection
- Multi-Body Collision Environments- Net Operation- Data Traffic
- Physical and Haptic Force Post-Processing- Physical Meaning of the VPS Forces- Friction & Gravity- Normalization- Calibration- “God-Object” Methods for Haptic Display- Movement Simulation
www.DLR.de • Slide 11 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Multi-Body Environments: Requirements
- Multi-body collision detection is in worst case a quadratic problem:
- N objects N(N-1)/2 checks- 11 objects 55 checks
- We need a graph/net of objects (vertices) and collision detection threads (edges)…
- able to compute collisions between arbitrary geometries
- able to deliver the collision force of each object every 1 ms
- easily scalable- modifiable online
www.DLR.de • Slide 12 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
LOGIC
I can see EVERYTHING
…
Multi-Body Environments: Online Workflow (1/4)
www.DLR.de • Slide 13 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
LOGIC
PAUSE!Handle grasped module: pause
collision detection
between them
Multi-Body Environments: Online Workflow (2/4)
www.DLR.de • Slide 14 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
LOGIC
PAUSE!Module in
Satellite: pause collision detection
between them
Multi-Body Environments: Online Workflow (3/4)
www.DLR.de • Slide 15 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
LOGIC
RESUME!Handle left
Module: resume collision detection
between them
Multi-Body Environments: Online Workflow (4/4)
www.DLR.de • Slide 16 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
1. Each object (Oi) gets independently its position xi2. Each collision detection algorithm (Aij) gets the position of its respective
objects (xi, xj) and computes the collision force (Fij) between both objects3. Each object (Oi) gets collision forces (Fij) from all its respective algorithms
(Aij), sums up all forces upon itself and delivers its total collision force (Fi)
Multi-Body Environments: Net Operation
www.DLR.de • Slide 17 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
www.DLR.de • Slide 18 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Overview
- Haptic Rendering: Collision Detection and Force Computation- Scenario and Structure Overview- Voxelmap-Pointshell (VPS) Algorithm at DLR
- Data Structures- Level-of-Detail Accurate Collision Detection
- Multi-Body Collision Environments- Net Operation- Data Traffic
- Physical and Haptic Force Post-Processing- Physical Meaning of the VPS Forces- Friction & Gravity- Normalization- Calibration- “God-Object” Methods for Haptic Display- Movement Simulation
www.DLR.de • Slide 19 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Physical Force Post-Processing Pipeline
VPS Friction & Gravity
Other Physical Forces
Contact Forces
Ideally forces should be a normalized signal
[0 1], scalable on demand
Movement Simulation
Force magnitude strongly affects the
solving of movement equations
God-Object Method for
Haptic Display
Objects should remain on surface and we should display hard
contacts
Fx
Fh
Fp
Normalization
Calibration
Forces should have a real physical meaning, not a
virtual one!
www.DLR.de • Slide 20 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Friction Computation (1/2): Contact Point
- Linear (vB) and angular (wB) velocities of pointshell can be derived from its transformation matrix BHW
- Artificial contact point* Q is defined as the point in the pointshell with maximum penetration
- Velocity field of rigid bodies enables computing velocity in contact point vQ
* We could have several contact points, but Q is likely a good and fast approximation
www.DLR.de • Slide 21 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Friction Computation (2/2): Contact Friction Force
- Coulomb dry friction model: friction force magnitude is at most a fraction of the normal contact force
- Contact point Q and its velocity*(vQ) define the direction of the friction force (FR)
- Friction coefficient μ should be function of contact area and contact point velocity (vQ)
* The breakthrough of this method is probably filtering appropriately the contact point velocity
www.DLR.de • Slide 22 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Physical Force Post-Processing Pipeline
VPS Friction & Gravity
Other Physical Forces
Contact Forces
Ideally forces should be a normalized signal
[0 1], scalable on demand
Movement Simulation
Force magnitude strongly affects the
solving of movement equations
God-Object Method for
Haptic Display
Objects should remain on surface and we should display hard
contacts
Fx
Fh
Fp
Normalization
Calibration
Forces should have a real physical meaning, not a
virtual one!
www.DLR.de • Slide 23 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Force Magnitude Correction Factor (1/2)
Main pitfall of the VPS algorithm: unlike in the reality, there must be an overlapping volume to compute a collision force (penalty based)
and this volume affects the magnitude of the resulting force
www.DLR.de • Slide 24 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Nn
Force Magnitude Correction Factor (2/2)
N number of pointshell pointsn number of colliding pointsp high stiffness percentage: 0.01α exponent: 2
Goal Force Scaling
www.DLR.de • Slide 25 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Physical Force Post-Processing Pipeline
VPS Friction & Gravity
Other Physical Forces
Contact Forces
Ideally forces should be a normalized signal
[0 1], scalable on demand
Movement Simulation
Force magnitude strongly affects the
solving of movement equations
God-Object Method for
Haptic Display
Objects should remain on surface and we should display hard
contacts
Fx
Fh
Fp
Normalization
Calibration
Forces should have a real physical meaning, not a
virtual one!
www.DLR.de • Slide 26 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Voxmap Pointshell (VPS) Algorithm:Physical Meaning
- Penalty based: there must be penetration to detect force
- Differentials replaced by voxels and points (higher resolutions)
- Volumetric forces: generalization of the Achimedes’ principle
- VPS forces require volume scaling?
www.DLR.de • Slide 27 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Voxmap Pointshell (VPS) Algorithm: Archimedes
www.DLR.de • Slide 28 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Calibration
- There is a deviation (ΔF) virtual and real forces
- Objective: find a correlation thatmaps online virtual forces to besimilar to real ones
- Method- Definition of parametrized
contact scenarios that abstractmost common contactscenarios: resolution, geometry(curvature), contact areas, etc.
- Experiments- Computation of equivalent
inner-trajectories (EA)- Identification of dependencies
between parameters- Finding the correlation function
www.DLR.de • Slide 29 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Physical Force Post-Processing Pipeline
VPS Friction & Gravity
Other Physical Forces
Contact Forces
Ideally forces should be a normalized signal
[0 1], scalable on demand
Movement Simulation
Force magnitude strongly affects the
solving of movement equations
God-Object Method for
Haptic Display
Objects should remain on surface and we should display hard
contacts
Fx
Fh
Fp
Normalization
Calibration
Forces should have a real physical meaning, not a
virtual one!
www.DLR.de • Slide 30 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
VPS God-ObjectUser Userxh
p, FVPS
xs
F
Key: compute God-Object position xs
xh
“God-Object” MethodDisplaying Objects on the Surface and Generating Hard Contacts
- Dynamic object A coupled with haptic device penetrates static object B (A: xh)
- God-Object A remains on the surface (A: xs)
- Difference between xs and xh is used to compute force
www.DLR.de • Slide 31 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Physical Force Post-Processing Pipeline
VPS Friction & Gravity
Other Physical Forces
Contact Forces
Ideally forces should be a normalized signal
[0 1], scalable on demand
Movement Simulation
Force magnitude strongly affects the
solving of movement equations
God-Object Method for
Haptic Display
Objects should remain on surface and we should display hard
contacts
Fx
Fh
Fp
Normalization
Calibration
Forces should have a real physical meaning, not a
virtual one!
www.DLR.de • Slide 32 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Physical Movement Simulation
- Object pose along time (movement) SHW(t)=[SRW(t)|xG(t)] can be obtained by solving the Newton-Euler equations*, subjected to all necessary constraints (gi)
- The input of these equations are the external forces (F) and torques (T), mainly computed by VPS the output movement will be strongly affected by the magnitude and quality of these variables (F,T)
* Most physics engines, however, integrate a state vector composed by
the position vector, rotation matrix, linear moment and angular moment
*
www.DLR.de • Slide 33 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Conclusions and Future Work (1/2)
- Haptic Rendering: Collision Detection and Force Computation- Scenario and Structure Overview- Voxelmap-Pointshell (VPS) Algorithm at DLR
- Improvements in force direction and magnitude quality by applying hierarachies in pointshell and distance field interpolation in voxelmaps
- Multi-Body Collision Detection and Force Computation- Analysis of time delays due to data traffic- Grouping of threads to avoid overflow and enable complex
scenarios with mechanisms
www.DLR.de • Slide 34 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Conclusions and Future Work (2/2)
- Physical and Haptic Force Post-Processing- Physical Meaning of the VPS Forces- Friction Computation
- Implement, test and evaluate different friction models- Calibration of Forces
- Find the correlation that maps real and virtual forces for more realistic haptic and physical display
- Haptic Display of Forces by Means of the “God-Object” Method- Full implementation for the 6 DoF case
- Movement Simulation- Stabilization of the Physics Engine
www.DLR.de • Slide 35 > VROOS: Haptics & Physcis > Mikel Sagardia > 2012.10.09
Thank you!Workshop on Virtual Reality for On-Orbit Servicing (VROOS)
Haptic Rendering in Complex Environments
… or trying to figure out the relation between bunnies, dragons, and satellites
Mikel SagardiaDLR-RMC2012.10.09