Virtuelle Realität. Overview. Part 12: Interaction in VR: Manipulation. Virtuelle Realität. Prof. Bernhard Jung



Similar documents
System Control. Virtuelle Realität Wintersemester 2007/08. Overview. Part 10: Virtuelle Realität. Prof. Bernhard Jung

A Novel Multitouch Interface for 3D Object Manipulation

Human-Computer Interaction: Input Devices

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

3D Selection Strategies for Head Tracked and Non-Head Tracked Operation of Spatially Immersive Displays

Scooter, 3 wheeled cobot North Western University. PERCRO Exoskeleton

Design and Evaluation of Menu Systems for Immersive Virtual Environments

VRSPATIAL: DESIGNING SPATIAL MECHANISMS USING VIRTUAL REALITY

A study of techniques for selecting and positioning objects in immersive VEs: effects of distance, size, and visual feedback

Help. Contents Back >>

CATIA V5 Tutorials. Mechanism Design & Animation. Release 18. Nader G. Zamani. University of Windsor. Jonathan M. Weaver. University of Detroit Mercy

3D U ser I t er aces and Augmented Reality

CS-525V: Building Effective Virtual Worlds. Input Devices. Robert W. Lindeman. Worcester Polytechnic Institute Department of Computer Science

Chapter 5 Objectives. Chapter 5 Input

CREATE A 3D MOVIE IN DIRECTOR

Virtual Environments - Basics -

Gestures Body movements which convey meaningful information

A Generic Virtual Reality Interaction System and its Extensions Using the Common Object Request Broker Architecture (CORBA)

Autodesk Fusion 360: Assemblies. Overview

An introduction to 3D draughting & solid modelling using AutoCAD

Practical Work DELMIA V5 R20 Lecture 1. D. Chablat / S. Caro Damien.Chablat@irccyn.ec-nantes.fr Stephane.Caro@irccyn.ec-nantes.fr

DEVELOPMENT OF A COLLABORATIVE DESIGN TOOL FOR STRUCTURAL ANALYSIS IN AN IMMERSIVE VIRTUAL ENVIRONMENT

Multi-Touch Control Wheel Software Development Kit User s Guide

Working with Pressure Sensitive Tablets

Piston Ring. Problem:

CATIA Functional Tolerancing & Annotation TABLE OF CONTENTS

Creating Your Own 3D Models

Capacitive Touch Technology Opens the Door to a New Generation of Automotive User Interfaces

Scrybe: A Tablet Interface for Virtual Environments

Animations in Creo 3.0

A Comparison of Real and Virtual 3D Construction Tools with Novice Users

The Keyboard One of the first peripherals to be used with a computer and is still the primary input device for text and numbers.

HCI Lecture 11: Rich Interaction. Barbara Webb

Towards Intuitive Exploration Tools for Data Visualization in VR

mouse (or the option key on Macintosh) and move the mouse. You should see that you are able to zoom into and out of the scene.

The aims: Chapter 14: Usability testing and field studies. Usability testing. Experimental study. Example. Example

Go to contents 18 3D Visualization of Building Services in Virtual Environment

LogMeIn Ignition for Android User Guide

CATIA Basic Concepts TABLE OF CONTENTS

How To Run A Factory I/O On A Microsoft Gpu 2.5 (Sdk) On A Computer Or Microsoft Powerbook 2.3 (Powerpoint) On An Android Computer Or Macbook 2 (Powerstation) On

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Virtual CRASH 3.0 Staging a Car Crash

The Computer Mouse and Related Input Devices

The Advantages of a Virtual Reality Office

Twelve. Figure 12.1: 3D Curved MPR Viewer Window

Chapter 3 Input Devices

Tutorial for Assignment #2 Gantry Crane Analysis By ANSYS (Mechanical APDL) V.13.0

Intuitive Navigation in an Enormous Virtual Environment

SMART ENTRY WITH PUSH BUTTON START

Haptics Don t Lose Touch with Virtual Reality. Petr Kmoch Computer Graphics Group MFF UK

Collaboration Software

Kathy Au Billy Yi Fan Zhou Department of Electrical and Computer Engineering University of Toronto { kathy.au, billy.zhou }@utoronto.

CSE452 Computer Graphics

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

Tracking devices. Important features. 6 Degrees of freedom. Mechanical devices. Types. Virtual Reality Technology and Programming

Use fireworks and Bonfire night as a stimulus for programming

Autodesk Fusion 360 Badge Guide: Design an F1 in Schools Trophy

Improving Browsing Performance: A study of four input devices for scrolling and pointing tasks

Design Analysis of Everyday Thing: Nintendo Wii Remote

SimFonIA Animation Tools V1.0. SCA Extension SimFonIA Character Animator

Mac 101: Your input devices

Data Mining with Weka

Intuitive Interface Solutions

The following was taken directly from the ARD (Apple Remote Desktop) operator s manual:

How To Teach Blind People To Understand Three-Dimensional Concepts By Color

Applying Virtual Reality Techniques to the Interactive Stress Analysis of a Tractor Lift Arm

How to Develop Accessible Linux Applications

2/26/2008. Sensors For Robotics. What is sensing? Why do robots need sensors? What is the angle of my arm? internal information

A Comparison of System Dynamics (SD) and Discrete Event Simulation (DES) Al Sweetser Overview.

A Remote Maintenance System with the use of Virtual Reality.

OPTIMAL DISPATCH OF POWER GENERATION SOFTWARE PACKAGE USING MATLAB

3D Viewer. user's manual _2

Working With Animation: Introduction to Flash

Computer Science 474 Spring 2010 Virtual Reality

Using. An excerpt from Smart Technology's getting started manual explaining the basics of the SmartBoard and how to use it.

Chapter. 4 Mechanism Design and Analysis

EasyC. Programming Tips

Elements of robot assisted test systems

Mouse Control using a Web Camera based on Colour Detection

Selection and Zooming using Android Phone in a 3D Virtual Reality

Internet and Computing Core Certification Guide Module A Computing Fundamentals

GLOSSARY. 3D Object: An image created with polygons, which displays height, width and depth on a computer screen.

ChemPad3. a tutorial. Ben Shine and Dana Tenneson. May 21, 2008

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

The Rocket Steam Locomotive - Animation

Advanced Programming with LEGO NXT MindStorms

CMA ROBOTICS ROBOT PROGRAMMING SYSTEMS COMPARISON

Affordable Immersive Projection System for 3D Interaction

understanding sensors

2. More Use of the Mouse in Windows 7

Industrial Robotics. Training Objective

3D Interactive Information Visualization: Guidelines from experience and analysis of applications

Bb COLLABORATE (ONLINE ROOM) APPLICATION SHARING REFERENCE GUIDE

SpaceClaim Introduction Training Session. A SpaceClaim Support Document

TABLE OF CONTENTS. INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE...

Evoluent Mouse Manager for Windows. Download the free driver at evoluent.com. The primary benefits of the Mouse Manager are:

White Paper: Designing Resourceful Graphical User Interfaces (GUIs) for Healthcare Applications

TabletWorks Help Index 1

HYFLAM D3: Report of Scenarios 08/02/2012

Introduction to Computers

Transcription:

Part 12: Interaction in VR: Manipulation Virtuelle Realität Wintersemester 2006/07 Prof. Bernhard Jung Overview Control Methods Selection Techniques Manipulation Techniques Taxonomy Further reading: D. A. Bowman, E. Kruijff, J. J. LaViola, I. Poupyrev. 3D User Interfaces. Addison-Wesley Professional. 2004. Chapetr 5. W. R. Sherman & A. Craig. Understanding Virtual Reality: Interface, Application, and Design. Morgan Kaufmann. 2002. Chapter 6. D. A. Bowman (2002): Principles for the Design of Performance-oriented Interaction Techniques. In K. M. Stanney (Ed): Handbook of Virtual Environments. Lawrence Erlbaum Associates. 2002 1

Why Manipulation? Major method of interaction with physical environments touching, picking, manipulating objects using the hands is a main way for humans to affect their surroundings Major method of interaction with virtual environments voice, gaze, gesture are alternatives Affects the quality of entire 3D interface if user cannot efficiently manipulate objects in the virtual environment, then other highlevel tasks cannot be accomplished Design of 3D manipulation techniques is difficult Manipulation Techniques: Design Objectives Design 3D manipulation techniques that conform to used input and output devices that are effective in desired task conditions object distance: within/outside the reach object sizes and shape: small, large, flat objects object density accuracy that allow high user performance and comfort independent of user characteristics such as right- or left handedness, level of expertise, age, that are easy to learn that conform to external constraints e.g. can user move or not (i.e. how much physical space is available)? e.g. price.. 2

Control Methods for Manipulation Tasks Direct User Control Indirect Control Physical Control Virtual Control Agent Control Direct User Control Participant interacts with virtual objects as they would real objects (e.g. grabbing) Generally use gesture recognition to interpret user's actions needs VR gloves Virtual hand model with collision sensors 3

Physical Control Real buttons, switches, etc. By putting the interface in the real world, the user can receive some haptic feedback Controls mounted on prop can act independently (e.g. menus) or in concert (e.g. point + click) with the prop's position Virtual Controls Controls that are manifested entirely in the virtual world... although physical controls may be used to manipulate the virtual controls E.g. virtual representations of buttons, sliders, steering wheels, Allows a limited number of physical controls to be used to interact with a large number of virtual controls like a mouse can control sliders, dials, etc. in 2D GUIs May lose haptic feedback 4

Agent Control Tell another entity to do your bidding Using voice recognition and possibly gesture recognition "move <pointing> that table over <pointing> there" Manipulation Tasks Specific, complex manipulation tasks e.g. sculpting, operating a specific virtual machine, Canonical 3D manipulation tasks select object position, rotate, scale object (change object or environment attributes) Variables in manipulation tasks distance to object object size required object translation (amount, depth manipulation) amount of rotation 5

Selection and Manipulation Selection selecting direction selecting items selecting values Direction selection Direction selection useful for travel control (navigation) useful for item selection (select object in a direction) useful for object manipulation (e.g. specify a desired object position) Methods pointer-directed gaze-directed crosshair-directed torso-directed device-directed coordinate-directed landmark-directed selection 6

Direction selection Pointer-directed selection Familiar to most users from real world communication Requires tracking the hand Put-that-there, R. Bolt, MIT, 1980 Gaze-directed selection What I'm looking at is what I'm interested in Also familiar from real world interaction Requires only that the head be tracked Forces the user to look in the direction they are selecting Direction selection Crosshair-directed Vaguely familiar to many people Requires tracking both the head and the hand Requires use of both the head and the hand Torso-directed Good for indicating direction of travel (very common for self-locomotion in real world) Requires tracking of the torso Landmark-directed selection Direction can be specified relative to some object in the environment (e.g. "toward the water tower"). This requires some means of indicating the landmark object (e.g. voice). 7

Direction selection Device-directed Uses a physical control E.G. joystick, steering wheel May be relative to an absolute reference (e.g. north) or to current direction Coordinate-directed May be relative to an absolute reference (e.g. "30 degrees east of north"), or to current direction (e.g. "turn left 45 degrees"). Coordinates must be input by a value-selection technique (e.g. voice). Item Selection contact-select 3D-cursor-select point-to-select aperture-select image-plane techniques select-in-mini-world name-to-select menu-select Virtual hand technique (from Poupyrev et al., 1996) Virtual pointer technique (from Bowman et al, 1997) 8

Item Selection Selection by contact ("Virtual Hand") Part of the avatar of the user (or prop held by the user) must come in contact with the desired object. May require a trigger event to select, or may require a trigger event to manipulate, or the contact itself may trigger an event. Feedback is good. May be provided visually, aurally, hapticly + Most natural selection technique - Limited area of manipulation Item Selection Go-Go (Extension of simple contact-selection with "Virtual Hand") extends the virtual hand's reaching distance if the user's hand is close to body, the mapping between the physical and virtual hands' position is 1-to-1 if the hand is extended beyond a threshold, the mapping becomes non-linear Mapping function for the Go-Go (Poupyrev, et al. 1996) + seamless 6DOF manipulation in a large range of distances - Manipulation range is still limited - overshoot with large distances 9

Item Selection Selection by 3D cursor The user controls a 3D cursor by some means (e.g. flown by joystick) Selection is generated when the cursor comes in contact with an object If cursor is attached to a hand held prop, then this is very similar to selection-by-contact Item Selection Selection by pointing (Ray-Casting, Virtual Pointer) Use direction of pointing to indicate an object Similar to contact-selection, but object can be out of reach Familiar to most users from real world experience User only needs to control 2 DOFs Empirically proven to perform well Shape of beam ray (finite, infinite) cone ("flashlight", "aperture") may be visualized or not 10

Item Selection Selection by aperture Improvement of simple ray-casting (can control diameter of selection cone) "Aperture" is usually indicated with fingers of the user Requires tracking of "aperture" (e.g. fingers). Requires tracking of the eye location (i.e. head) Requires knowing which eye the user is using Similar to direction selection using crosshairs + interactive and intuitive object disambiguation - inefficient positioning / rotation Aperture technique (Forsberg, et al. 1996) Item Selection Image-Plane Techniques User selects an object by touching its position on an image plane (e.g. table-top of the responsive workbench, a wall of a cave, ) Select object underneath the users finger (occlusion, "sticky finger") or select object between thumb and index finger Manipulation: manipulate 2D projection or, scale object down & bring within user's reach ("Scaled-World-Grab"; Mine, 1997) sticky finger Pierce et al. 1997 + Easy, intuitive selection - remote object manipulation difficult 11

Item Selection Menu positioning fix head-centered Selection by menu Familiar to most computer users Requires a list of all possible items Items don't have to be objects in the world Requires some means of input to indicate that a menu choice is selected body-centered hand-centered Selection in Miniature World (World-in-Miniature, WIM) A subset of the real world is represented as a small model on a palette exocentric frame of reference i.e. not egocentric as virtual hand, virtual pointer + Allows 6DOF manipulation at any distance - Difficult to precisely manipulate small objects Item Selection Selection by naming Very familiar to users Requires voice recognition Requires that the user know the name of the object Possibly, more generic descriptions "the yellow object in the back" Might be ambiguous 12

Evaluation of Item Selection Techniques: Ray-casting v. Image-plane v. Go-Go Two experimental evaluations Poupyrev et al., 1998, and Bowman et al., 1999 Ray-casting and image-plane are generally more effective then Go-Go Exception: high precision selection, e.g. small or far away objects (about 4 degrees of field of view), can be easier with Go-Go. cf. Fitt's law Bowman et al., 1999 Alphanumeric Value Selection Avoided in most virtual reality interactions but sometimes necessary typically uses some form of physical or virtual control (e.g. dials, keyboard, tablet) May use a menu of pre-selected values May use voice input 13

Guidelines for Designing Selection Techniques Bowman, 2002 Use the natural virtual hand technique if all selection is within arms reach Use ray-casting techniques if speed of remote selection is a requirement Ensure that the chosen selection technique integrates well with the manipulation technique to be used Consider multimodal input for combined selection and command tasks If possible, design the environment to maximize the perceived size of objects Manipulation Once we've selected an object, we may want to manipulate it. A variety of operations we may wish to perform: object positioning and scaling exerting force on a virtual object object attribute modification altering state of virtual controls global attribute modification travel controls (see next lecture on Navigation in VEs) 14

Manipulation Object positioning and scaling Changing the shape and position of an object without regard to physics Can use any of the control methods (direct, physical, virtual, agent), but the direct method is the most common Scale and rotation operations also require specification of some origin or axis to operate about Constrained positioning: Snap-to-grid, lock-to-surface, snap-to-object, Exerting force on a virtual object Using a world model with physics Pushing, pulling, supporting, hitting objects, etc. Generally used for worlds that attempt to be more "realistic." Moving objects is done by pushing them, or picking them up and setting them down. Manipulation involves much more than just interaction Example: Constrained Manipulation in Virtual Design / Assembly Simulation 15

Manipulation Object attribute modification Changing the parameters that control how an object is rendered or behaves, add constraints, These operations typically do not mimic the real world (e.g. setting the color of a fence vs. painting it) Altering the state of virtual controls Depending on how the virtual control is designed, this can be viewed as a subset of "Object positioning" or of "Object attribute modification." The changed value of the virtual control may then be used to select, modify or steer some other object in the world. Global attribute modification Similar to specific object attribute modification, but without requiring the object to be selected. e.g. adjusting the overall volume of the world e.g. adjusting the time of day and therefore the ambient light in the world Common manipulation techniques Simple virtual hand HOMER Scaled-world grab World-in-miniature 16

Simple virtual hand technique Attach object to virtual hand, by making object a child of the hand On release, reattach object to world Also applies to Go-Go (and other armextension techniques) and ray-casting Root head hand building Root head hand building HOMER technique Bowman, D., & Hodges, L. (1997) Hand-Centered Object Manipulation Extending Ray-Casting Time Hybrid method: Select: ray-casting Manipulate: hand 1.0 m 0.3 m 0.6 m 2.0 m torso physical hand torso physical hand 17

Scaled-world grab technique Mine, M., Brooks, F., & Sequin, C. (1997) Often used with occlusion (imageplane item selection) At selection, scale user up (or world down) so that v. hand is actually touching selected object User doesn t notice a change in the image until he moves At release: Re-attach object to world Scale user down to original size Ensure that eye remains in same position select manipulate scale user Discussion of hybrid manipulation techniques HOMER (Bowman et al., 1997) World-scale grab (Mine et al., 1997) Advantages: Easy selection: ray-casting or image plane 6DOF Manipulation on a wide range of distances Mine: manipulation within normal area of reach Disadvantages Moving objects from within reach to far is problematic Inconsistency in mappings between physical and virtual hands movements 18

World-in-miniature (WIM) technique Stoakley, R., Conway, M., & Pausch, R. (1995) Dollhouse world held in user s hand Miniature objects can be manipulated directly Moving miniature objects affects fullscale objects Can also be used for navigation On selection: Determine which full-scale object corresponds to the selected miniature object Attach miniature object to v. hand (w/out moving object) Each frame: Copy local position matrix of miniature object to corresponding full-scale object Guidelines for Designing Manipulation Techniques Bowman, 2002 Reduce the number of degrees of freedom to be manipulated if the application allows it. Provide general or applicationspecific constraints or manipulation aids. Allow direct manipulation with the virtual hand instead of using a tool (e.g. virtual light ray) Avoid repeated, frequent scaling of the user or the environment Use indirect depth manipulation for increased efficiency and accuracy 19

Taxonomy of Selection and Manipulation Techniques (1/3): Selection Techniques Bowman & Hodges, 1999 Selection Feedback graphical force / tactile audio Indication of Object object touching pointing occlusion/framing indirect selection 2D 3D hand 3D gaze from list voice selection iconic objects Indication to Select gesture button voice command no explicit command Taxonomy of Selection and Manipulation Techniques (2/3): Manipulation Techniques Bowman & Hodges, 1999 Manipulation Object Attachment attach to hand attach to gaze hand moves to object object moves to hand user / object scaling Object Position no control 1-to-N hand to object motion maintain bodyhand relation other hand mappings indirect control Object Orientation no control 1-to-N hand to object rotation other hand mappings indirect control Feedback graphical force / tactile audio 20

Taxonomy of Selection and Manipulation Techniques (3/3): Release Techniques Bowman & Hodges, 1999 Release Indication to drop gesture button voice command Object final location remain in current location adjust position adjust orientation Two-Handed Interfaces Many natural manipulation tasks are two-handed Use of bimanual interfaces not common in VR applications extra costs for second VR glove conventional desktop interfaces commonly use only a single input device (mouse) Many bimanual tasks are asymmetric (Guiard, 1987) non-dominant hand defines a frame of reference, defines a spatial context dominant hand performs fine manipulations Bimanual interfaces allow the simultaneous specification of multiple parameters e.g. grasping an object with two hands implies an rotation axis in single handed interfaces, such actions often require several steps; e.g. specify rotation axis, specify rotation amount Voodoo Dolls technique for manipulation at a distance (Pierce et al. 1999) Tangible Interaction with Props (Hinkley et al. 1994) 21

Grasp Taxonomy by Cutkosky & Wright Grasp Analysis Low and Mid Level Grasp Features Weber, Heumer & Jung, 2005 Track finger and hand joint angle values with CyberGlove Modified by virtual collision sensors and joint constraints to realistic grasp posture Contact Points of Hand with Object (see Contact Web of Kang/Ikeuchi) Contact Web 22

Grasp Analysis - High Level Grasp Features Weber, Heumer & Jung, 2005 Based on low-level and mediumlevel features, grasp can be classified w.r.t. taxonomy Grasp Category yields further features: prehensile / non-prehensile, volar / non-volar, power / precision grasp Further reasoning can be performed based on object type and grasp features For instance grasp purpose: displacement or use etc. Basis for AI methods (object specific reasoning, ) Grasp Taxonomy by Schlesinger, 1919 cylindrical hook spherical palmar lateral tip G. Schlesinger Der Mechanische Aufbau der künstlichen Glieder, 1919 Summarized by C.L. Taylor und R.J. Schwarz in The Anatomy of Mechnics of the Human Hand, 1955 6 grasp types: Cylindrical, Tip, Hook, Palmar, Spherical und Lateral few, but elementary classes 23

Grasp Analysis Alternative Approach Heumer, Ben Amor, Weber & Jung, IEEE VR 2007 Direct classification of raw data glove sensor readings w.r.t. Schlesinger taxonomy No calibration of data glove! Evaluation of > 30 classifiers of data mining WEKA, data mining software, Waikato University, New Zealand 6 classifier categories Bayes: probabilistic reasoning Function approximators: learning of functions, e.g. neural nets Lazy Learners Decision Trees Rules: induction of logical rules Meta: combination of simple classifiers to hierarchies or cascades Grasp Analysis Alternative Approach Heumer, Ben Amor, Weber & Jung, IEEE VR 2007 24

Myths and Reality Poupyrev, SIGGRAPH 2000 Myth: Manipulation techniques should strictly imitate real-world manipulation. Reality: Most manipulation techniques depart from real world manipulation to a greater or lesser degree. Myth: We should develop universal manipulation techniques. Reality: There is no one best technique for every condition of immersive manipulation. Myth: Manipulation techniques should be 6DOF. Reality: Constraining DOF of manipulation can be an efficient method of making interaction easier. Myth: To improve interaction, we should design better devices and interaction techniques. Reality: We can design VE so that existing techniques allow for maximum performance. 25