Proximity Toolkit

48
PROXIMITY TOOLKIT Rob Diaz-Marino, Interactions Lab [email protected]

description

Proximity Toolkit. Rob Diaz-Marino, Interactions Lab [email protected]. Overview. Premise of Proximity Toolkit The Home Space Intro to Vicon System Intro to Proximity Server Proximity Data Model Presence Properties Relation Properties Using the Toolkit Controls - PowerPoint PPT Presentation

Transcript of Proximity Toolkit

Page 1: Proximity Toolkit

PROXIMITY TOOLKIT

Rob Diaz-Marino, Interactions [email protected]

Page 2: Proximity Toolkit

OVERVIEW Premise of Proximity Toolkit The Home Space

Intro to Vicon System Intro to Proximity Server

Proximity Data Model Presence Properties Relation Properties

Using the Toolkit Controls

Help & Resources Demo

Page 3: Proximity Toolkit

PREMISE OF PROXIMITY

TOOLKIT

Page 4: Proximity Toolkit

HARDWARE GENERALITY Any potential proximity input hardware

ProximityToolkit

Vicon

Motion Sensor

...

Your Application

Page 5: Proximity Toolkit

UNIFIED DATA MODELThe Space

Things that Change

(Subjects)

Fixed Features(Volumes)

Relations

Page 6: Proximity Toolkit

Computer A - Input

ACCESSIBILITY Potentially distributed applications

Computer B - Display

Mobile Device - Display

Page 7: Proximity Toolkit

USING THEHOME SPACE

Page 8: Proximity Toolkit

GENERAL MACHINE USE SmartBoard

Switch off after use 2nd Monitor

Input: DVI-D 2 Computer

Always onLeave logged in Ignore updates

Power Button

Page 9: Proximity Toolkit

INTRODUCTION TO VICONS

...Camera 1 Camera 2 Camera 8

UltranetComputer

ViconNexus Proximity

Server

Your Program

Page 10: Proximity Toolkit

VICON NEXUS APPLICATION

Page 11: Proximity Toolkit

SUBJECTSPencil WhiteHat BlackHat

Page 12: Proximity Toolkit

LOADING SUBJECTS Subjects Tab Load Subject button Check/Uncheck DO NOT TOUCH ANY OTHER

SETTINGS!

Page 13: Proximity Toolkit

INTRO TO PROXIMITY SERVER

Page 14: Proximity Toolkit

TRACKED SUBJECTS

Page 15: Proximity Toolkit

DISPLAYS

Page 16: Proximity Toolkit

VOLUMES

Page 17: Proximity Toolkit

EXPLORING THE SPACE

Page 18: Proximity Toolkit

VISUALIZING RELATIONS

Page 19: Proximity Toolkit

HOMESPACE SUMMARY Starup Procedure

Turn on Machine + Display(s) Turn on Ultranet (switch on

back) Run Vicon Nexus Load Subjects Run ProximityServer Connect ProximityServer to

Nexus

Shutdown Procedure Turn off Ultranet Turn off Display(s)

Page 20: Proximity Toolkit

PROXEMIC DATA

Page 21: Proximity Toolkit

PROXEMIC DATA Identity Base Decorator Data Model

Different Inputs = Different Data Optional Groups of Data

LocationMotionOrientationDirectionRotation

Certainty

Page 22: Proximity Toolkit

LOCATION

(300, 0, 300)

(300, 200, -300)

Page 23: Proximity Toolkit

MOTION

(300, 200, -500)(300, 200, 300)(300, 200, 0)

Velocity

(0, 0, -300)

(0, 0, -500)

(0, 0, -200)

Acceleration

Page 24: Proximity Toolkit

ORIENTATION

Front

Ground(XZ Axis)

Incline

30º

Up

Page 25: Proximity Toolkit

ORIENTATION

Front

Ground(XZ Axis)

AzimuthUp

180º

Page 26: Proximity Toolkit

ORIENTATION

Front

Ground(XZ Axis)

RollUp

Perp Up

-30º

Page 27: Proximity Toolkit

DIRECTION Simplification of Orientation

InclineAzimuthNO Roll

Anything Orientable is Directable Used for Pointers

Page 28: Proximity Toolkit

ROTATION

FrontUp

AngleAxis

Page 29: Proximity Toolkit

PROXEMIC RELATION DATA Client-Side Calculation on Request Relation Types

LocationMotionOrientationDirectionRotationPointingCollision

Page 30: Proximity Toolkit

LOCATION RELATION

A

B

Distance (X/Y/Z)Horizontal DistanceVertical DistanceIncline A to BIncline B to AA Moving Toward BA Moving From BEtc.

Page 31: Proximity Toolkit

MOTION RELATION

A

B

Is A MovingIs B MovingX/Y/Z Velocity AgreesX/Y/Z Acceleration AgreesVelocity DifferenceAcceleration Difference

Page 32: Proximity Toolkit

ORIENTATION RELATION

A

B

Incline AgreesIncline DifferenceAzimuth AgreesAzimuth DifferenceRoll AgreesRoll Difference

Page 33: Proximity Toolkit

DIRECTION RELATION

A

B

A Towards/From BB Towards/From AA Tangental to BB Tangental to AParralelHorizontally Purpendicular

Page 34: Proximity Toolkit

ROTATION RELATION

A

B

*Open to Suggestions

Page 35: Proximity Toolkit

POINTING RELATION

A

B

Points AtPoints TowardDistanceIs TouchingIntersection LocationIntersection Direction*Screen Coordinates

Page 36: Proximity Toolkit

COLLISION RELATION

A

B

CollisionContainmentDistanceIntersectionNearest Point

Page 37: Proximity Toolkit

USING THE TOOLKIT

Page 38: Proximity Toolkit

ADDING REFERENCES Proximity Toolkit Installation

C:/Program Files/ProximityToolkit Windows Forms

ProximityToolkit.dllProximityToolkit.WinForms.dll

WPFProximityToolkit.dllProximityToolkit.WPF.dllSystem.Drawing

Page 39: Proximity Toolkit

ADDING TOOLBAR ITEMS Add a Tab

Right click on Toolbox Choose “Add Tab” Give Tab a name like “ProximityToolkit”

Add Items Right click on Toolbox in new tab Choose “Choose Items...” Browse for .NET components & select libraries Ensure the following are checked

PresenceManager PresenceControl RelationControl

Page 40: Proximity Toolkit

WINFORMS PRESENCE MANAGER

Properties:- IP- Port- AutoDismissEmbodyDialog- MaintainEmbodiment

Events:- OnConnectionDropped(Asynch)- OnStarted(Asynch)- OnStopped(Asynch)- OnReadyChanged(Asynch)- OnUpdating(Asynch)- OnDataUpdated(Asynch)- OnUpdated(Asynch)

Page 41: Proximity Toolkit

WINFORMS PRESENCE CONTROLS

Set PresenceName (match ProximityServer) Set PresenceType

(Presence/Display/Volume/Device) Set Monitor

None, Location, Direction, Orientation, Rotation, Motion, All

Set IsOptional / CustomImage

Properties:- PresenceName- PresenceType- Monitor- IsOptional- CustomImage

Events:- OnLocationUpdated- OnDirectionUpdated- OnOrientationUpdated- OnRotationUpdated- OnMotionUpdated- OnUpdated

Page 42: Proximity Toolkit

WINFORMS RELATION CONTROLS

Properties:- A- B- Monitor

Events:- OnLocationUpdated- OnDirectionUpdated- OnOrientationUpdated- OnRotationUpdated- OnMotionUpdated- OnCollisionUpdated- OnPointingUpdated- OnUpdated

Set A to a Presence Control Set B to a Presence Control Set Monitor

None, Location, Direction, Orientation, Rotation, Motion, Collision, Pointing, All

Page 43: Proximity Toolkit

EMBODIMENT DIALOG Appears on Program Startup Availability Verifiction

ConnectionPresences

Page 44: Proximity Toolkit

WPF DIFFERENCES PresenceManager not a container

Can organize with Stack Panel, set to Hidden

PresenceControlMonitors are bool properties

MonitorLocation, MonitorDirection, etc. RelationControl

Monitors are bool properties MonitorPointing, MonitorCollision, etc.

Must specify NameA and NameB

Page 45: Proximity Toolkit

GUI-INDEPENDENT SUPPORT ProximityClientConnection PresenceBase for Presences

Space.GetPresence(“name”), .GetDisplay(“name”), .GetVolume(“name”), .GetDevice(“name”)

DataUpdating/DataUpdated eventsGetRelationInterface for types ILocatable,

IMovable, IOrientable, IDirectable, etc. RelationPair for Relations

Same Events as RelationControl, all Asynch

Page 46: Proximity Toolkit

HELP & RESOURCES

Page 47: Proximity Toolkit

HELP AND RESOURCES Cookbook Page

http://grouplab.cpsc.ucalgary.ca/cookbookReference

E-Mail [email protected]

Page 48: Proximity Toolkit

THE END(DEMO TIME?)