Haptics Don t Lose Touch with Virtual Reality. Petr Kmoch Computer Graphics Group MFF UK http://cgg.ms.mff.cuni.cz/~kmoch/

Similar documents
Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine

Development of a Dental Skills Training Simulator Using Virtual Reality and Haptic Device

Scooter, 3 wheeled cobot North Western University. PERCRO Exoskeleton

Introduction to Computer Graphics

Programming 3D Applications with HTML5 and WebGL

Identification Accuracy and Efficiency of Haptic Virtual Objects Using Force-feedback

Development of Simulation Tools Software

CS 378: Computer Game Technology

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER

Virtual Reality. man made. reality. sense. world. What is Virtual Reality?

Broken Shard. Alpha Report. Benjamin Schagerl, Dominik Dechamps, Eduard Reger, Markus Wesemann. TUM Computer Games Laboratory

Making Dreams Come True: Global Illumination with Enlighten. Graham Hazel Senior Product Manager Sam Bugden Technical Artist

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

The Car Tutorial Part 1 Creating a Racing Game for Unity

Haptic interaction with a virtual 3D model: A multimodal interactive system for 3D solar system. Zhenxing Li

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

SOFA an Open Source Framework for Medical Simulation

Java game programming. Game engines. Fayolle Pierre-Alain

The Most Popular UI/Apps Framework For IVI on Linux

ME Week 11 Introduction to Dynamic Simulation

JavaFX Session Agenda

The 3D rendering pipeline (our version for this class)

Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Blender addons ESRI Shapefile import/export and georeferenced raster import

Low power GPUs a view from the industry. Edvard Sørgård

OctaVis: A Simple and Efficient Multi-View Rendering System

Introduce Web3D Development and Visualization. Moxie Zhang Esri R&D Center Beijing

Performance Optimization and Debug Tools for mobile games with PlayCanvas

An Introduction to OSVR

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Kankakee Community College

Thea Omni Light. Thea Spot Light. Light setup & Optimization

A Remote Maintenance System with the use of Virtual Reality.

DISPLAYING SMALL SURFACE FEATURES WITH A FORCE FEEDBACK DEVICE IN A DENTAL TRAINING SIMULATOR

My Materials. In this tutorial, we ll examine the material settings for some simple common materials used in modeling.

Tutorial 13: Object Animation

GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT. Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps

LibGDX játék fejlesztése és publikálása Google Play-en. Vörös Viktor, NNG

Maya 2014 Still Life Part 1 Texturing & Lighting

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Beginning Android 4. Games Development. Mario Zechner. Robert Green

Plug-in Software Developer Kit (SDK)

Structural Health Monitoring Tools (SHMTools)

COMP-557: Fundamentals of Computer Graphics McGill University, Fall 2010

Slide Basic system Models

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

CS 325 Computer Graphics

CHAPTER 6 TEXTURE ANIMATION

Alphacam Art combines Vectric s Aspire artistic design software with the market leading Alphacam manufacturing software.

TEACHING INTRODUCTORY COMPUTER GRAPHICS WITH THE PROCESSING LANGUAGE

An inertial haptic interface for robotic applications

AMD CodeXL 1.7 GA Release Notes

Game Programming with Groovy. James Sr. Software Engineer, BT/Ribbit

Behavioral Animation Simulation of Flocking Birds

Chapter 6 - The Scene Graph

3D Client Software - Interactive, online and in real-time

Integration of a Robotic Arm with the Surgical Assistant Workstation Software Framework

An Animation Definition Interface Rapid Design of MPEG-4 Compliant Animated Faces and Bodies

AutoCAD New Icon Quick Reference

Effects of Orientation Disparity Between Haptic and Graphic Displays of Objects in Virtual Environments

Dynamic Resolution Rendering

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Manufacturing Equipment Modeling

NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect

The Rocket Steam Locomotive - Animation

Medical and Volume Visualization with X3D

Unimanual, Bimanual and Bilateral Weight Perception of Virtual Objects in the Master Finger 2 Environment

Sprite Kit Programming Guide

Practical Data Visualization and Virtual Reality. Virtual Reality VR Software and Programming. Karljohan Lundin Palmerius

Time Domain and Frequency Domain Techniques For Multi Shaker Time Waveform Replication

NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA

PRODUCT LIFECYCLE MANAGEMENT COMPETENCY CENTRE RENDERING. PLMCC, JSS Academy of Technical Education, Noida Rendering 1 of 16

Software Tools for Virtual Reality Application Development

How To Teach Computer Graphics

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Optimizing AAA Games for Mobile Platforms

ICS : 435. Computer Graphics Applications. Instructor : Da'ad Albalawneh

VRSPATIAL: DESIGNING SPATIAL MECHANISMS USING VIRTUAL REALITY

Virtuelle Realität. Overview. Termin 9: Scene Graphs. Virtuelle Realität. Prof. Bernhard Jung

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

CPIT-285 Computer Graphics

Modelling 3D Avatar for Virtual Try on

Professor, D.Sc. (Tech.) Eugene Kovshov MSTU «STANKIN», Moscow, Russia

Information Technology Career Cluster Game Design: Animation and Simulation. Course Standard 1

Finger Paint: Cross-platform Augmented Reality

Using WPF for Computer Graphics

Transcription:

Haptics Don t Lose Touch with Virtual Reality Petr Kmoch Computer Graphics Group http://cgg.ms.mff.cuni.cz/~kmoch/

What is Haptics? Touch-based computer interface involving force Haptic tactile Force µpressure Broad sense: force feedback controllers Steering wheels, Nintendo Rumble Pak, Nintendo Wii, Sony DUALSHOCK, Narrow sense: force I/O devices PHANTOM, omega, CyberGrasp, Freedom, 2

Presentation User s view Practical notes, overview No claim of completeness Outline Introduction to haptics Device overview chai3d Live demo 3

Presentation User s view Practical notes, overview No claim of completeness Outline Introduction to haptics Device overview chai3d Live demo 4

Introduction to Haptics Another scene modality Sight Hearing Touch Haptics = force-based Sensing and applying forces (I/O) 3D shape Tactile = pressure-based (Fine) texture 5

Why Bother? Realistic haptic rendering 3D perception Material differentiation Non-realistic haptic rendering Helps visualization Potential fields, flow, Professional training Visually impaired users MPB F7S device Images MPB Technologies Inc. 6

Technical Issues Rendering frequency Visual: 25-30Hz Haptic: 1kHz Device costs Typically nµ 10,000 Device APIs Manufacturer-specific Some multi-device alternatives 7

Haptic Rendering (what) High level Surface properties Friction (static, dynamic) Stiffness Force fields Function of device position Low level Forces, torques 8

Haptic Proxy Common force computing mechanism Proxy object in scene Device (probe): copies physical position Proxy: blocked by virtual scene Collisions tested for proxy Force applied towards proxy Typically spring-like Depends on surface properties 9

Haptic Rendering (how) Haptic thread Push approach Custom thread running at 1kHz Reading position Writing forces & torques Callbacks Pull approach Haptic thread is in driver (or device) 10

Presentation User s view Practical notes, overview No claim of completeness Outline Introduction to haptics Device overview chai3d Live demo 11

Device Classification Input degrees of freedom 3DOF: position 6DOF: position & rotation 7DOF: 6DOF + extra (grip, scissors, ) Output degrees of freedom 3DOF: forces 6DOF: forces & torques 12

Technical Parameters Workspace dimensions Angular range Force range Sensitivity Force compensation 13

3-DOF Devices omega.3 Cubic3 PHANTOM Premium Falcon Force Dimension MPB SensAble Novint 14

6/3-DOF Devices omega.6 PHANTOM Omni PHANTOM Premium Virtuose 3D15-25 Force Dimension SensAble SensAble Haption 15

6-DOF Devices delta.6 FreedomS6 PHANTOM Premium 6DOF Virtuose 6D35-45 Force Dimension MPB SensAble Haption 16

Special Devices omega.7 Freedom 7S CyberGrasp Falcon Force Dimension MPB Immersion Novint Grasping Medical Glove add-on Cheap :-) 17

Presentation User s view Practical notes, overview No claim of completeness Outline Introduction to haptics Device overview chai3d Live demo 18

chai3d Open-source library (GPL) C++, OpenGL Windows, beta Linux Multi-device PHANTOM, delta/omega, Freedom, Falcon Virtual device Scene graph 19

Feature Overview Graphic display Viewport Scene graph Mesh, camera, material, light, tool, shader, Collision detection AABBs, spheres Force algorithms Point contact, potential field Devices Single-device, virtual device, meta-device Utilities Loaders, algebra, text labels, timers, arrows, 20

Setup Create scene graph (world) Lights, meshes, potential fields Camera, tool Create collision detectors Initialize haptic device Setup force algorithms Run 21

Scene Graph All nodes derived from cgenericobject Transformation matrix Global/local coordinates Collision detector Visualization options Bounding box Coordinate frame Scene graph tree 22

Mesh Node cmesh(sub)class Colors, textures Material Graphics (A/D/S color, shininess, transparency) Haptics (stiffness, friction) Visualization options Normals Wireframe 23

Potential Field Node cgenericpotentialfield subclass Force based on probe position No common properties Two sample classes provided Sphere Torus Properties set via material 24

Haptic Tool Node cgenerictool,cgeneric3dofpointer Workspace size, proxy Device position and velocity Force algorithms Device access (cgenericdevice) Stores computed forces Visualization options Proxy, device 25

Force Algorithms cgenericpointforcealgo subclasses cproxypointforcealgo Renders meshes Spherical proxy Manages contact state Moving object support cpotentialfieldforcealgo Renders potential fields 26

Other Nodes cgenericshader Shader applies to node s descendants cbitmap Uses gldrawpixels ccamera Projection, 2D foreground clight OpenGL light properties 27

Haptic Rendering Haptic thread Continuous or timer-based Haptic call sequence: tool->updatepose() tool->computeforces() tool->applyforces() Callbacks If device supports them (now just PHANTOM) 28

Virtual Device Software device Stand-alone.exe 3DOF Mouse-controlled Last resort for meta-device Can start automatically In theory 29

chai3d Summary High-level scene graph Also access to low-level force computing Multiple devices Force Dimension, MPB, Novint, SensAble Run-time automatic selection possible Virtual device Extensible virtual method mechanism Implementation a bit messy 30

Alternatives Device manufacturers SDKs Device dependent, optimized, closed-source Level varies H3D Open-source, high-level HAPI Open-source, low-level Used in H3D 31

Haptics Summary Another scene modality Touch Haptic tactile Force based Expensive devices Falcon an exception chai3d, H3D multi-device APIs Rendering frequency 1kHz 32

Presentation User s view Practical notes, overview No claim of completeness Outline Introduction to haptics Device overview chai3d Live demo 33