Large Shared Haptic Virtual Environments
Master Thesis Presentation
Nakul Chaudhari nakul.chaudhari@tum.de Supervisors: Clemens Schuwerk clemens.schuwerk@tum.de Marc-Oliver Pahl pahl@net.in.tum.de
Wednesday, April 3, 2013
Large Shared Haptic Virtual Environments Nakul Chaudhari - - PowerPoint PPT Presentation
Master Thesis Presentation Large Shared Haptic Virtual Environments Nakul Chaudhari nakul.chaudhari@tum.de Supervisors: Clemens Schuwerk clemens.schuwerk@tum.de Marc-Oliver Pahl pahl@net.in.tum.de Wednesday, April 3, 2013 Institute for
Nakul Chaudhari nakul.chaudhari@tum.de Supervisors: Clemens Schuwerk clemens.schuwerk@tum.de Marc-Oliver Pahl pahl@net.in.tum.de
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
resting actor using the device
point, HIP
movement along various DOF - video
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
resting actor using the device
point, HIP
movement along various DOF - video
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
4
Computer haptics - graphical rendering video surface effects - 1-smooth 2-water 3-rough 4-magnetic
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
4
Computer haptics - graphical rendering video surface effects - 1-smooth 2-water 3-rough 4-magnetic
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
4
Computer haptics - graphical rendering video surface effects - 1-smooth 2-water 3-rough 4-magnetic
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
5
scale world and collaborating users maintain consistency, transparency, and realistic feedback
collaborate on different tasks translate camera, zoom in / out
no change in camera state
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
6 Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
7 Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
8
Operator Visual Display Haptic Display Local Control Loop Local Control Loop Teleoperator Network Sensors and Actuators p
adopted from Steinbach et al., Haptic data compression and communication. IEEE Signal Processing Magazine
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
8
Operator Visual Display Haptic Display Local Control Loop Local Control Loop Teleoperator Network Sensors and Actuators p
adopted from Steinbach et al., Haptic data compression and communication. IEEE Signal Processing Magazine
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
9
Network Device position Loop 1kHz *P .D. Force, Audio, Video
*P .D. Perceptual deadband scheme for packet reduction Separate thread at 30 Hz
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
10
Position Sensing Collision Detection Response Force Computation Virtual Object Database Force Torque Network / Storage Haptic Feedback (1000 Hz) Human-System Interface Communication Visual Feedback (30-100 Hz) Visual Rendering Physics Engine
!"# !$#
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
11 Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
12
collaboration - video
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
12
collaboration - video
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
13
!"#$"# %&"#'( %&"#') %&"#'* +",-.#/
0.&1,1.2'.#'$"3.41,5'.6'789 :;0,14&<'$1=".<';>=1.
Graphics Engine Physics Engine Force Rendering
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
14
Physics Engine !"#$%&'#()*+',-', .%',*/
0$&1*("2)*"3*45
.%',*6
0$&1*("2)*"3*45
.%',*7
0$&1*("2)*"3*45
8'&0",9
2"%$&$"#*",*-':"($&)*"3*;<=
Graphics Engine Force Rendering
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
15
!"#$%&
'()*%+,-.%,/%01
!"#$%2
'()*%+,-.%,/%01
!"#$%3
'()*%+,-.%,/%01
4#)',$5
6(7($#+)(,89:%*9-)(+% +,;;<8(+9)(,8%6#)'##8%<"#$"
Graphics Engine Physics Engine Force Rendering
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
16
Naive p2p implementation
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
17 Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
18
2 4 6 8 10 12 14 10 20 30 40 160 640 1ms Time required in ms per module Number of objects
1ms - max limit on iteration time due to 1kHz update rate ConvertToGlobal detectCollision updateVEState Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
19 Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
20
A B Users Virtual objects AOI of a user
Top view of a VE
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
21
user moving slightly to the right grid of cubes user/ HIP
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
22
fully meshed P2P, considering user A AOI of user A and B
A B Figure 7.2: 1.5 A B Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
23
distant inconsistency - add a server, who can be queried for latest VE state A and B’s AOI intersect, exchange HIP only between intersecting users
A B A B Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
24
add multiple servers to reduce bottleneck local inconsistency - change these servers to consistency servers
1 2 5 6 3 4 Non-particpating zone servers Static zones
assign every server a particular volume of the VE
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
25 Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
26
1 2 5 6 3 4
border separating 2 neighboring zones Object crossing zone (Owned by user 1) stiff Object penetrating into other user Object owned by user2
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
27
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
28
A B C D E F G H I J K
Objects of same color are maintained by the master of same color who is a user in the same group
A B C D E F G H I J K Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
29
Objects of same color are maintained by the master of same color who is a user in the same group
A B C D E F G H I J K
Consistency server groups
A B C D E F G H I J K Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
30
A B C D E F 4 F G H I J K 4 E,F 4 E,F F E Collect latest position
E C Send latest state
C A Relay received Info
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
31
A B C 1 2 3 3 A User Master Collect latest position
position of A Master User Send latest state
are only in his AOI, here state of object 3
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
32
dedicated servers needed not needed, as users themselves take the responsibility of consistency servers multicasting is possible as we always have the same servers maintaining a zone not possible, due to constant changing of masters handover of users and objects is an issue dynamically expanding AOI automatically accommodates interacting users causes inconsistency when a server become unavailable if a server wishes to leave, we can elect another user as master
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
33
dynamically expanding AOI to form group - video user1 screen, user1 is near row1 user2 is near 2nd row from bottom
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
33
dynamically expanding AOI to form group - video user1 screen, user1 is near row1 user2 is near 2nd row from bottom
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
34 Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
35 a b c d 1 e f g h 2 a b c d 1 e f g h 2
Initially both users are placed far away from each
User2 now moves into users1’s AOI zoomed part of the VE
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
36
three levels of frequency exchange Level I - 1000 (Intra group) Level II -10 (Inter group) Level III- 1 (Inter group) Levels changes I-> II -> III
III->II->I
a b c d 1 e f g h 2 a b c d 1 2
a b c d 1 2 100 200 300 400 500 600 700 800 900 1000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Number of HIP packets sent [1/s] time [s]
send with high frequency when new in VE
Inter group
periodic updates
Intra group
# HIP packets time [s]
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
37
5 10 15 20 25 30 35
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Number of HIP packets sent [1/s] time [s]
haptic device is actually moving, reduction due to packet rate haptic device is stationary, prediction will not trigger any updates for such a case # HIP packets time [s]
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
38
1 2 3 4
2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 Number of Object state pakcets sent [1/ms] time [ms]
send latest state of all objects in AOI send latest of objects in AOI, the user might interact with in future #
state packets time [msec]
a b c d 1
2
a b c d 1 2
Wednesday, April 3, 2013
a b c d 1 2
Technische Universität München Institute for Media Technology
39
1 2 3 4
2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 Number of Object state packets sent [1/ms] time [ms]
1) to other groups updates of only the object who is not stationary 2) to group members 3) leaving group Object state updates are periodically sent when?
groups 2 - Periodically to own group members 3 - when group member is leaving group 4 - Once to users not in group, but might interact with an object in group soon 4)might interact with in future #
state packets time [msec]
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
40 Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
41
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
42
Wednesday, April 3, 2013
Technische Universität München Institute for Media Technology
43 Wednesday, April 3, 2013