Virtual Coupling Schemes for Position Coherency in ... - CiteSeerX

2 downloads 2695 Views 5MB Size Report
3.6 Comparison of the Client-server Virtual Coupling Schemes . ...... and they might have to connect to the virtual environment by a dedicated network or the.
Virtual Coupling Schemes for Position Coherency in Networked Haptic Virtual Environments

Ganesh Sankaranarayanan

A dissertation submitted in partial fulfillment of the requirements for the degree of

Doctor of Philosophy

University of Washington

2007

Program Authorized to Offer Degree: Electrical Engineering

University of Washington Graduate School

This is to certify that I have examined this copy of a doctoral dissertation by Ganesh Sankaranarayanan and have found that it is complete and satisfactory in all respects, and that any and all revisions required by the final examining committee have been made.

Chair of the Supervisory Committee:

Blake Hannaford

Reading Committee:

Blake Hannaford Eric Klavins Steven Craig Venema

Date:

In presenting this dissertation in partial fulfillment of the requirements for the doctoral degree at the University of Washington, I agree that the Library shall make its copies freely available for inspection. I further agree that extensive copying of this dissertation is allowable only for scholarly purposes, consistent with “fair use” as prescribed in the U.S. Copyright Law. Requests for copying or reproduction of this dissertation may be referred to Proquest Information and Learning, 300 North Zeeb Road, Ann Arbor, MI 48106-1346, 1-800-521-0600, to whom the author has granted “the right to reproduce and sell (a) copies of the manuscript in microform and/or (b) printed copies of the manuscript made from microform.”

Signature

Date

University of Washington Abstract

Virtual Coupling Schemes for Position Coherency in Networked Haptic Virtual Environments Ganesh Sankaranarayanan Chair of the Supervisory Committee: Professor Blake Hannaford Electrical Engineering

In networked haptic virtual environments (NHVEs), multiple users remotely collaborate sharing the same virtual space. Maintaining position coherency between the copies of the virtual object in these environments is necessary to achieve consistency in collaboration, especially in the presence of time delays between users. To this end, three virtual coupling schemes are introduced in this thesis to maintain position coherency. Two of these utilize a peer-to-peer architecture and the third is a client-server. An experimental collaborative haptic system was built to objectively test the performance of the virtual coupling schemes. The schemes were first tested for constant time delays with virtual coupling parameters that resulted in stable operation. The experimental results demonstrate that one of the virtual coupling schemes has a comparable performance to the server-based method. Several globalscale haptic collaboration experiments were performed using the Internet to test the three three virtual coupling schemes under realistic network conditions and at three fixed packet transmission rates of 1000 Hz, 500 Hz and 100 Hz. Locally, the haptic update rate was maintained at 1000 Hz during all the experiments. The results show that the position error and the force rendered to the users increased with the reduction in the packet transmission rate. The results also demonstrated that a global-scale haptic collaboration is possible with a peer-to-peer architecture and maintaining position coherency at the same time. Two time-delay compensation techniques, wave variables and time-domain passivity

controllers were used to stabilize the peer-to-peer scheme 1. The performance of these controllers was compared to a tuned PD controller in both stable and unstable regions of operation. The experimental results show that the tuned PD controller gave the best performance in terms of position error and wave variables in terms of force. In order to test the NHVE under repeatable network conditions, an emulator was implemented that can create realistic Internet-like characteristics in a laboratory setting. Experimental comparison of the performance of the virtual coupling schemes using the emulator and the Internet show that the emulator is best suited for testing NHVE under packet transmission rates below 1000 Hz.

TABLE OF CONTENTS Page List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Chapter 1:

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.1

Focus of This Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

1.2

Organization of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

Chapter 2:

Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

2.1

Centralized or Client-server Architecture . . . . . . . . . . . . . . . . . . . . . 10

2.2

Distributed or Peer-to-peer Architecture . . . . . . . . . . . . . . . . . . . . . 11

2.3

Previous Work with One-at-a-time Force Rendering Techniques . . . . . . . . 12

2.4

Previous Work with Simultaneous Force Rendering Techniques . . . . . . . . 13

2.5

Media Synchronization Techniques . . . . . . . . . . . . . . . . . . . . . . . . 13

Chapter 3:

Virtual Coupling Schemes . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1

Motivation

3.2

General Collaboration Framework

3.3

Virtual Coupling Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.4

Virtual Coupling Schemes Implementation Issues . . . . . . . . . . . . . . . . 22

3.5

Comparison to Other Virtual Coupling Schemes . . . . . . . . . . . . . . . . . 22

3.6

Comparison of the Client-server Virtual Coupling Schemes . . . . . . . . . . . 23

Chapter 4:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 . . . . . . . . . . . . . . . . . . . . . . . . 15

Experimental Collaborative Haptic System . . . . . . . . . . . . . . . . 25

4.1

Collaboration Software Framework . . . . . . . . . . . . . . . . . . . . . . . . 25

4.2

Experiment Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 i

Chapter 5:

Constant Delay Experiment . . . . . . . . . . . . . . . . . . . . . . . . 35

5.1

Motivation

5.2

Goals of This Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.3

Experiment Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.4

Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.5

Statistical Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.6

Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Chapter 6:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Experimental Internet Haptic Collaboration using Virtual Coupling Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.1

Motivation

6.2

Experiment Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

6.3

Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6.4

Statistical Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6.5

Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Chapter 7:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Time-varying Network Delay Characterization and Emulation . . . . . 61

7.1

Motivation

7.2

Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

7.3

Network Emulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

7.4

Goals of This Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

7.5

Experiment Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

7.6

Experimental Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

7.7

Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

7.8

Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Chapter 8:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Comparison of the Performance of Virtual Coupling Schemes for Haptic Collaboration using Real and Emulated Internet Connections . . . 82

8.1

Goals of This Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

8.2

Experiment Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

8.3

Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

8.4

Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Chapter 9:

Experimental Comparison of Internet Haptic Collaboration with TimeDelay Compensation Techniques . . . . . . . . . . . . . . . . . . . . . 92

9.1

Motivation

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

9.2

Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 ii

9.3 9.4 9.5 9.6 9.7

Methods . . . . . . . . Experiment Design . . Experimental Results . Statistical Analysis . . Discussion . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. 93 . 94 . 99 . 106 . 107

Chapter 10: Conclusion and Future Work . . . . . . . . . . . . . . . . . . . . . . . 109 10.1 Specific Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 10.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Appendix A:

Force, Tracking Profile, and Statistics Table For Constant Delay Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 A.1 Tracking and Force Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Appendix B:

Statistics Table For Chapter 6 . . . . . . . . . . . . . . . . . . . . . . . 134

Appendix C:

Statistics Tables for Chapter 9 . . . . . . . . . . . . . . . . . . . . . . 148

iii

LIST OF FIGURES Figure Number 1.1 1.2 1.3 1.4 1.5 1.6

Page

Two persons collaborating to install a windshield in a car. . . . . . . . Screen shot from Active Worlds application showing people interacting avatars in a NVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Typical CAD assembly environment in aerospace industry. . . . . . . . Relationship between mobility/error tolerance and force in a NHVE. . Relationship between bandwidth and delay in a NHVE. . . . . . . . . Relationship between dexterity and computational complexity/DOF NHVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . with . . . . . . . . . . . . in a . . .

.

2

. . . .

2 3 4 4

.

5

2.1 2.2 2.3

Shared virtual environment with dual displays . . . . . . . . . . . . . . . . . . 10 Client-Server Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Peer-to-Peer Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.1 3.2 3.3 3.4 3.5 3.6 3.7

General schematic . . . . . . . . . . General collaboration framework . . Virtual coupling scheme 1 . . . . . . Virtual coupling scheme 2 . . . . . . Virtual coupling scheme 3 . . . . . . Peer-to-peer virtual coupling scheme Client-server virtual coupling scheme

4.1 4.2 4.3 4.4 4.5 4.6

Haptic collaboration software architecture . . . . . . . . Snapshot of the simulation during the initial experiment Snapshot of the simulation after display modifications . Experiment setup . . . . . . . . . . . . . . . . . . . . . . Snapshot during a subject study . . . . . . . . . . . . . Experiment network topology . . . . . . . . . . . . . . .

5.1 5.2 5.3 5.4

Position of the two cubes for a delay of 200 ms . . . . . . . . Position of the two cubes for a delay of 250 ms . . . . . . . . Target tracking in Scheme 1 for 200 ms delay . . . . . . . . . RMS position error between Cube 1 and Cube 2 for the three iv

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

17 18 19 20 21 24 24

. . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

26 30 31 32 32 33

. . . . . . . . . . . . . . . schemes

. . . .

. . . .

. . . .

. . . .

37 38 39 40

5.5

Peak position error between Cube 1 and Cube 2 for the three schemes . . . . 41

5.6

RMS value of the force applied to User 1 for the three schemes . . . . . . . . 41

5.7

RMS value of the force applied to User 2 for the three schemes . . . . . . . . 42

6.1

a, Histogram of one-way time-varying delay. b, one-way delay between WS2 and WS1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.2

a, Positions of Cube 1 and Cube 2 tracking the target. b, Positions of Cube 1 and Cube 2 zoomed to show the variable delay and ZOH effect . . . . . . . 52

6.3

(a), RMS position error between Cube 1 and Cube 2 measured at WS 1 for Scheme 1. (b), Peak position error between Cube 1 and Cube 2 measured at WS1 for Scheme 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.4

(a), RMS position error between Cube 1 and Cube 2 measured at WS 1 for Scheme 2. (b), Peak position error between Cube 1 and Cube 2 measured at WS1 for Scheme 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6.5

(a), RMS position error between Cube 1 and Cube 2 measured at WS 1 for Scheme 3. (b), Peak position error between Cube 1 and Cube 2 measured at WS1 for Scheme 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6.6

(a), RMS force applied to User 1 for Scheme 1. (b), RMS force applied to User 2 for Scheme 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6.7

(a), RMS force applied to User 1 for Scheme 2. (b), RMS force applied to User 2 for Scheme 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6.8

(a), RMS force applied to User 1 for Scheme 3. (b), RMS force applied to User 2 for Scheme 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.9

(a), Percentage of out-of-sequence packets for all the experiments combined. (b), Percentage of packets lost in transmission for the experiments combined . 56

7.1

Network emulator with variable delay . . . . . . . . . . . . . . . . . . . . . . 64

7.2

Network topology for the delay characterization experiment . . . . . . . . . . 66

7.3

Abilene Internet2 backbone network . . . . . . . . . . . . . . . . . . . . . . . 66

7.4

GEANT2 research network . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

7.5

GARR research network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

7.6

Route between the Local and USA servers . . . . . . . . . . . . . . . . . . . . 68

7.7

Route between Local and Italy servers . . . . . . . . . . . . . . . . . . . . . . 69

7.8

Delay emulator experiment setup . . . . . . . . . . . . . . . . . . . . . . . . . 69

7.9

Round-trip delay distribution for packets from the Local server to Italy . . . 72

7.10 Round-trip delay distribution for packets from the Local server to USA . . . 72 7.11 Phase plot of round-trip delay for a packet interval of 1 ms . . . . . . . . . . 73 7.12 Phase plot of round trip delay for a packet interval of 100 ms . . . . . . . . . 73 v

7.13 Phase plot of round trip delay for a packet interval of 500 ms . . . . . . . . . 75 7.14 Round-trip delay plot emulated using NIST Net default parameters table for expected delay condition of 200 ms and std 7.07 ms . . . . . . . . . . . . . . 76 7.15 Round-trip delay plot emulated using measured Italy parameters table for expected delay condition of 200 ms and std 7.07 ms . . . . . . . . . . . . . . 76 7.16 Actual mean delay versus expected mean delay for 7.07 ms standard deviation 77 7.17 Actual standard deviation versus expected standard deviation for 100 ms, Italy acquired parameters table . . . . . . . . . . . . . . . . . . . . . . . . . . 78 7.18 Percentage of packets rejected at WS2 versus packet transmission rate . . . . 79 7.19 Phase plot of emulated round-trip delay for a packet transmission rate of 1000 Hz and input delay parameters of 200 ms mean delay and 14.14 ms standard deviation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 7.20 Phase plot of emulated round-trip delay for a packet transmission rate of 250 Hz and input delay parameters of 200 ms mean delay and 14.14 ms standard deviation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 7.21 Comparison of simulated versus emulated out of sequence packets for input delay condition of 100 ms mean delay and 7.07 ms standard deviation . . . . 80 8.1

Histogram of one-way time varying delay for 1000 Hz packet transmission rate using NIST net (a), and with data from the Italy experiment (b) . . . . 84

8.2

Histogram of one-way time varying delay for 500 Hz packet transmission rate using NIST Net (a), and with data from the Italy experiment (b) . . . . . . . 85

8.3

Histogram of one-way time varying delay for 100 Hz packet transmission rate using NIST Net (a), and with data from the Italy experiment (b) . . . . . . . 85

8.4

RMS position error between Cube 1 and Cube 2 for all the schemes using NIST Net (a), and with data from the Italy experiment (b) . . . . . . . . . . 87

8.5

Peak position error between Cube 1 and Cube 2 for all the schemes using NIST Net (a), and with data from the Italy experiment (b) . . . . . . . . . . 87

8.6

RMS force user applied to User 1 for all the schemes using NIST Net (a), and with data from the Italy experiment (b) . . . . . . . . . . . . . . . . . . . 88

8.7

RMS force user applied to User 2 for all the schemes using NIST Net (a), and with data from the Italy experiment (b) . . . . . . . . . . . . . . . . . . . 89

8.8

Comparison of out-of-sequence packets, and packets lost in transmission at WS1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

9.1

Peer-to-peer scheme with wave variable delay compensation . . . . . . . . . . 95

9.2

Peer-to-peer scheme with time domain PO/PC delay compensation . . . . . . 96

9.3

(a), Histogram of one-way time varying delay (b), Time series plot . . . . . . 100

9.4

(a), Tracking of the cubes for wave variables (b), Wave variables . . . . . . . 100 vi

9.5

(a), Tracking of the cubes for TDP controller (b), PC action during the trial (c), The input and output energy at both user ends (d), Passivity control force applied to stabilize the system . . . . . . . . . . . . . . . . . . . . . . . 102

9.6

RMS position error between Cube 1 and Cube 2 measured at User 1 with parameter A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

9.7

RMS position error between Cube 1 and Cube 2 measured at User 1 with parameter B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

9.8

Peak position error between Cube 1 and Cube 2 measured at User 1 with parameter A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

9.9

Peak position error between Cube 1 and Cube 2 measured at User 1 with parameter B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

9.10 RMS Force rendered to User 1 with parameter A . . . . . . . . . . . . . . . . 105 9.11 RMS Force rendered to User 1 with parameter B . . . . . . . . . . . . . . . . 105 9.12 RMS Force rendered to User 2 with parameter A . . . . . . . . . . . . . . . . 105 9.13 RMS Force rendered to User 2 with parameter B . . . . . . . . . . . . . . . . 106 10.1 1-DOF target tracking with planar target on the side of the cube. . . . . . . . 111 10.2 Coordination task experiment with two users balancing a ball to stay within the specified boundary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 A.1 Target tracking in Scheme 1 for 0 ms delay . . . . . . . . . . . . . . . . . . . 119 A.2 Force rendered to User 1 in Scheme 1 for 0 ms delay . . . . . . . . . . . . . . 120 A.3 Force rendered to User 2 in Scheme 1 for 0 ms delay . . . . . . . . . . . . . . 120 A.4 Target tracking in Scheme 1 for 0 ms delay . . . . . . . . . . . . . . . . . . . 121 A.5 Force rendered to User 1 in Scheme 1 for 200 ms delay . . . . . . . . . . . . . 121 A.6 Force rendered to User 2 in Scheme 1 for 200 ms delay . . . . . . . . . . . . . 122 A.7 Target tracking in Scheme 2 for 0 ms delay . . . . . . . . . . . . . . . . . . . 122 A.8 Force rendered to User 1 in Scheme 2 for 0 ms delay . . . . . . . . . . . . . . 123 A.9 Force rendered to User 2 in Scheme 2 for 0 ms delay . . . . . . . . . . . . . . 123 A.10 Target tracking in Scheme 2 for 200 ms delay . . . . . . . . . . . . . . . . . . 124 A.11 Force rendered to User 1 in Scheme 2 for 200 ms delay . . . . . . . . . . . . . 124 A.12 Force rendered to User 2 in Scheme 2 for 200 ms delay . . . . . . . . . . . . . 125 A.13 Target tracking in Scheme 3 for 0 ms delay . . . . . . . . . . . . . . . . . . . 126 A.14 Force rendered to User 1 in Scheme 3 for 0 ms delay . . . . . . . . . . . . . . 126 A.15 Force rendered to User 2 in Scheme 3 for 0 ms delay . . . . . . . . . . . . . . 127 A.16 Target tracking in Scheme 3 for 0 ms delay . . . . . . . . . . . . . . . . . . . 127 A.17 Force rendered to User 1 in Scheme 3 for 200 ms delay . . . . . . . . . . . . . 128 vii

A.18 Force rendered to User 2 in Scheme 3 for 200 ms delay . . . . . . . . . . . . . 129 A.19 RMS Position error between the target and cube 1 for three schemes . . . . . 129 A.20 RMS Position error between the target and cube 2 for three schemes . . . . . 130

viii

LIST OF TABLES Table Number

Page

3.1

Virtual coupling implementation issues . . . . . . . . . . . . . . . . . . . . . . 23

5.1 5.2

Virtual coupling parameters . . . . . . . . . . . . . . . . . . . . . . . . Two-factor design for the constant delay experiment. The 15 possible combinations are shown in numbers 1 - 15 . . . . . . . . . . . . . . . . Repeated-measures ANOVA summary (significant results only) . . . .

5.3 6.1 6.2 6.3 6.4 6.5 6.6

. . . . 38 trial . . . . 39 . . . . 43

Two-factor design for the Time-varying-delay experiment 1. The 12 possible trial combinations are shown in numbers 1 - 12 . . . . . . . . . . . . . . . . Three-factor design for the Time-varying-delay experiment 3. The 18 possible trial combinations are shown in numbers 1 - 18 . . . . . . . . . . . . . . . . Virtual coupling parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . Delay condition with packet reflector location . . . . . . . . . . . . . . . . . Repeated-measures ANOVA summary for Experiments 1 and 2 (significant results only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repeated-measures ANOVA summary for Experiment 3 (significant results only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 47 . 48 . 49 . 50 . 58 . 59

7.1 7.2

Emulator delay parameters input and expected round-trip characteristics . . 71 Average values from Internet delay characterization experiments . . . . . . . 74

8.1 8.2 8.3

NIST Net emulator delay parameters . . . . . . . . . . . . . . . . . . . . . . . 83 One-way emulated delay measured at WS1 . . . . . . . . . . . . . . . . . . . 86 Independent-samples t-test for all measures - significant results only . . . . . 89

9.1 9.2 9.3

Delay condition with packet reflector location . . . . . . . . . . . . . . . . Experiment parameters for time-delay compensation experiment . . . . . . Two-factor design for the time-delay compensation experiment. The 17 possible trial combinations are shown in numbers 1 - 17 . . . . . . . . . . . . . Paired-samples t-test - significant results only . . . . . . . . . . . . . . . . .

9.4

. 98 . 98 . 99 . 107

A.1 Test of Within Subjects Effects for Measure: RMSPE . . . . . . . . . . . . . 131 A.2 Pairwise Comparison Measure: RMSPE . . . . . . . . . . . . . . . . . . . . . 131 A.3 Test of Within Subjects Effects for Measure: PPSE . . . . . . . . . . . . . . . 132 ix

A.4 Pairwise Comparison Measure: PPSE . . . . . . . . . . . . . . . . . . . . . . 132 A.5 Test of Within Subjects Effects for Measure: RMSF1 . . . . . . . . . . . . . . 133 A.6 Pairwise Comparison Measure: RMSF1 . . . . . . . . . . . . . . . . . . . . . 133 A.7 Test of Within Subjects Effects for Measure: RMSF2 . . . . . . . . . . . . . . 133 A.8 Pairwise Comparison Measure: RMSF2 . . . . . . . . . . . . . . . . . . . . . 133 B.1 Test of Within Subjects Effects for Measure RMSPE From 1000 Hz Experiment134 B.2 Test of Within Subjects Effects for Measure PPSE From 1000 Hz Experiment 134 B.3 Test of Within Subjects Effects for Measure RMSF1 From 1000 Hz Experiment134 B.4 Test of Within Subjects Effects for Measure RMSF2 From 1000 Hz Experiment135 B.5 Test of Within Subjects Effects for Measure RMSPE From 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 B.6 Test of Within Subjects Effects for Measure PPSE From 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 B.7 Test of within Subjects Effects for Measure RMSF1 from 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 B.8 Test of Within Subjects Effects for Measure RMSF2 From 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 B.9 Pairwise Comparison of Schemes for Measure RMSPE from 1000 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 B.10 Pairwise Comparison of Delays for Measure RMSPE from 1000 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 B.11 Pairwise Comparison of Schemes for Measure PPSE from 1000 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 B.12 Pairwise Comparison of Delays for Measure PPSE from 1000 Hz Experiment 138 B.13 Pairwise Comparison of Schemes for Measure RMSPE from 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 B.14 Pairwise Comparison of Rates for Measure RMSPE from 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 B.15 Pairwise Comparison of Delays for Measure RMSPE from 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 B.16 Pairwise Comparison of Schemes for Measure PPSE from 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 B.17 Pairwise Comparison of Rates for Measure PPSE from 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 B.18 Pairwise Comparison of Delays for Measure PPSE from 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 x

B.19 Pairwise Comparison of Schemes for Measure RMSF1 from 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.20 Pairwise Comparison of Rates for Measure RMSF1 from 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.21 Pairwise Comparison of Delays for Measure RMSF1 from 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.22 Pairwise Comparison of Schemes for Measure RMSF2 from 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.23 Pairwise Comparison of Rates for Measure RMSF2 from 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.24 Pairwise Comparison of Delays for Measure RMSF2 from 500 Hz and 100 Hz Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.25 Independent-samples t-test for measure RMSPE . . . . . . . . . . . . . . . B.26 Independent-samples t-test for measure PPSE . . . . . . . . . . . . . . . . . B.27 Independent-samples t-test for measure RMSF1 . . . . . . . . . . . . . . . . B.28 Independent-samples t-test for measure RMSF2 . . . . . . . . . . . . . . . .

. 143 . 144 . 145 . 146 . 147

C.1 C.2 C.3 C.4 C.5 C.6 C.7 C.8

. . . . . . . .

Test of Within-Subjects Effects for Measure: RMSPE Pairwise Comparison Measure: RMSPE . . . . . . . . Test of Within-Subjects Effects for Measure: PPSE . . Pairwise Comparison Measure: RMSPE . . . . . . . . Test of Within-Subjects Effects for Measure: RMSF1 . Pairwise Comparison Measure: RMSF1 . . . . . . . . Test of Within-Subjects Effects for Measure: RMSF2 . Pairwise Comparison Measure: RMSF2 . . . . . . . .

xi

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. 141 . 141 . 141 . 142 . 143

148 149 150 151 152 153 154 155

GLOSSARY Networked Haptic Virtual Environment.

NHVE:

RMS:

Root Mean Square.

DOF:

Degrees of Freedom.

UDP:

User Datagram Protocal

TCP:

Transmission Control Protocal

3D:

Three Dimensional

GUI:

Graphical User Interface

HCOLGUI:

Haptic Collaboration Graphical User Interface

HC:

Haptic Controller

HO:

Human Operator

QOS:

Quality of Service

DC:

Direct Current

RMSPE:

PPSE:

Root Mean Square Position Error

Peak Position Error

RMSF1:

Root Mean Square Force Appplied to User 1 xii

RMSF2:

Root Mean Square Force Appplied to User 2

xiii

ACKNOWLEDGMENTS

I would like to express my sincere appreciation and gratitude to Dr. Blake Hannaford for his constant guidance, patience and motivation. His helpful nature, both academic and personal, have helped in easing my anxiety and allowed me to feel at home here. His ability to pierce through a problem simply amazes me. I am truly honored to have worked with him. I thank my committee members Dr. Steven Venema, Dr. Howard Chizeck and Dr. Eric Klavins for their guidance with my thesis work. Especially I want to thank Dr. Steven Venema for tirelessly going over several drafts of this thesis even with his busy schedule at the Boeing Company and Dr. Howard Chizeck on many valuable comments and insights during our weekly teleoperation meetings. I also want to thank Dr. Jim Troy, Dr. Kevin Puterbaugh and Dr. Steven Venema from Boeing Company for many of the initial discussions that lead to this thesis. This work could not have been possible without our collaborators who hosted the packet reflectors in their server. I want to thank, Dr. Tim Salcudean and Orcun Goskel from University of British Columbia, Canada, Dr. Oliver Tonet from Scuola Superiore Sant’Anna, Italy and Krish Karthik from North Carolina State University, USA for hosting the packet reflector network in their servers. I also want to thank all the members of the bioRobotics Laboratory for the great time I had during the course of this study. It is such a great place to work and I am glad I chose to come here to work on my PhD. I am truly going to miss them. I thank my wife Sol for being so kind and understanding during the final stages of my work. Her constant encouragement, tireless proofreading of this thesis have helped me tremendously. Its due to her strength and fortitude that I was able to invest the time and effort needed to complete this thesis work. xiv

I thank my parents for the sacrifices they have made to assist me during my studies here. I am truly indebted to them. Their love and affection from thousands of miles away have given me the much needed strength in pursuing my goals. Finally, I thank the Almighty, Lord Muruga for answering my prayers and giving me true wisdom.

xv

DEDICATION To my parents Sankaranarayanan and Saraswathy and to my wife Sol Vedovato.

xvi

1

Chapter 1 INTRODUCTION

As humans we are social creatures, interacting through speech, touch and vision. For instance, the experience of holding a piece of a particular rock in hand and learning about it gives far greater wisdom than learning about it through books. Moreover, we all learned to write by either our parents or the teachers holding our hands and guiding us to complete the alphabet. As an example, the task of windshield placement for a car is shown in Fig. 1.1. Here the two persons collaborate in the task by distributing the weight of the windshield and then maneuvering it to the right place to be fitted permanently. In this situation, one person could be a trainee and the other, an instructor teaching the process of installing the windshield. Visual, auditory and tactile cues are all used to complete the task. Modern day computers have evolved to be a single user interface, which greatly hinders our natural interaction process[1]. Nevertheless, they also have enormous computing power compared to systems just a decade ago; and even an off-the-shelf graphics card is capable of producing computer graphic scenes with moderate complexities, a far cry from the line drawings that early computers used to render. Internet connectivity is getting better and cheaper each day. These developments have spurred the growth of networked virtual environment (NVE) applications such as multiplayer games and interactive 3D virtual worlds were multiple users interact using avatars (Fig. 1.2). In [1], they cite an example of a street in foreign city that one could visit in this virtual space to converse with the local people and learn their native language. Virtual reality systems like CAVE [2] have been developed to give the users a complete immersive environment that mimics day-to-day natural interaction. Such systems also allow multiple users to share the same virtual space thereby enabling interaction among them. For example, in the windshield installation task, two users could interact in the virtual

2

Figure 1.1: Two persons collaborating to install a windshield in a car.

Figure 1.2: Screen shot from Active Worlds application showing people interacting with avatars in a NVE.

3

Figure 1.3: Typical CAD assembly environment in aerospace industry.

space holding a virtual windshield and placing it on a virtual car. With computer aided design (CAD) used in all manufacturing processes, a computer graphic model of the various manufacturing parts could be added in a virtual space which then could be used for making design decisions, and training of parts assembly tasks and maintenance tasks. An example of a CAD model from the aerospace industry is shown in Fig. 1.3. Haptics is an important sensory mode that has been lacking in many of the virtual reality systems. Virtual reality systems with haptic feedback could be in military training [3], surgery training [4], CAD assembly [5], virtual sculpting [6] and haptic painting, [7] among other applications. Many of these applications require collaboration among multiple users. For example, in a CAD assembly task, the experts might not be in the same location and they might have to connect to the virtual environment by a dedicated network or the Internet. This is increasingly true in today’s globalized manufacturing environment. A Networked Haptic Virtual Environment(NHVE) is an important necessity in such applications. Moreover, NHVEs have the potential to bring realistic force feedback to multi-player networked games, thereby vastly enhancing their realism. NHVEs are implemented as either peer-to-peer (distributed) or client-server (centralized) architectures using either a dedicated network or the Internet. Since NHVEs have a wide range of applications, the implementation of such systems poses several challenges. For

4

Figure 1.4: Relationship between mobility/error tolerance and force in a NHVE.

Figure 1.5: Relationship between bandwidth and delay in a NHVE.

5

Figure 1.6: Relationship between dexterity and computational complexity/DOF in a NHVE.

example, in gaming applications, the ability of users to move quickly and interact with virtual objects is more important, compared to CAD assembly tasks where importance is given to maintaining very low position errors between the copies of the virtual objects that the users share. In general, depending on the type of NHVE application, the design specifications for a NHVE includes: • Delay and bandwidth • Error tolerance • Force range • Mobility • Dexterity • DOF

6

• Computational complexity Figs. 1.4, 1.5 and 1.6 show the relationship among different design specifications based on three chosen applications, namely surgery training, virtual assembly training and entertainment/gaming. Fig. 1.4 shows a plot of mobility/error tolerance versus force range for a NHVE. Here the error tolerance refers to the magnitude of error between the copies of the virtual objects that the users share in a NHVE that is acceptable for a given application. Mobility is the ability of the users to move the virtual object in the NHVE. For the surgery training application, very low error tolerance is required and applications such as CAD virtual assembly task a low to medium error tolerance is required since any position drift between the copies of the virtual object would make the collaboration meaningless after certain time. Entertainment/gaming applications usually can tolerate larger position errors but mobility is crucial for them. In surgery and virtual assembly tasks, the mobility requirements usually ranges from low to medium respectively. Fig. 1.5 shows a plot of bandwidth versus delay for a NHVE. The delay is characterized as local, regional, and global corresponding to local area network (LAN), wide area network (WAN) with single backbone and WAN with multiple backbone networks. All three applications may be operated in all the delay conditions whereas entertainment/gaming applications usually occupy less bandwidth than surgery training or virtual assembly tasks. In addition, the latter might require medium to high bandwidth because of the high update rate of 1000 Hz required to feel stiffer objects, such as metal parts [8]. Fig. 1.6 shows a plot of dexterity versus computational complexity/DOF for a NHVE. The DOF refers to number of degrees of freedom of force feedback available to users in NHVE. Devices with more DOFs are also expensive. For entertainment/gaming applications, usually the force feedback is limited to one to two DOFs whereas in surgery training and virtual assembly tasks three to six DOFs are often required. High dexterity is required for the surgery training and virtual assembly tasks compared to low dexterity required for entertainment/gaming applications as well. Apart from these design specifications, a NHVE system should be guaranteed to remain stable during the entire duration of the collaboration. This is particularly important since

7

bilateral systems —in which energy flows in both directions— like those in NHVEs tend to quickly destabilize in the presence of time delays. Moreover in collaboration using networks such as Internet the system should also be resilient against delay variations (jitter) and loss of communication packets since this can adversely affect the stability of the system. 1.1

Focus of This Thesis

This thesis focuses on implementation of NHVEs that require low error tolerance such as for virtual assembly tasks and surgery training. It presents three different virtual coupling schemes, one using client-server and two using peer-to-peer architectures for maintaining position coherency among the copies of virtual objects in a NHVE. A client-server architecture with a central server which manages one copy of the virtual object is efficient in maintaining position coherency, but round-trip delay is added between the clients and the server. In contrast, in a peer-to-peer architecture, each peer maintains a copy of the virtual object and updates it locally. Therefore, this architecture has half the delay of the client-server architecture but is more susceptible to position discrepancy among the virtual objects. Hence the two peer-to-peer virtual coupling schemes are compared to a client-server based virtual coupling scheme in terms of how well they minimize the error between the positions of the virtual copy of the rigid body that multiple users share in a NHVE, as well as in terms of force, target tracking error, and other measures of performance. 1.1.1

Position Coherency

We define position coherency in a NHVE as the position discrepancy between the multiple copies of a virtual object at a single instant of global time. 1.2

Organization of the Thesis

This document is organized as follows: The Introduction chapter gives a brief overview of the research area and its problems, followed by the Background chapter, in which previous literature in this area is classified and explained. The motivation for introducing the schemes in terms of general collaboration setup is given in the Virtual Coupling Schemes chapter, and the three virtual coupling schemes are explained in detail. Subsequently, the

8

Experimental Collaborative Haptic System chapter expounds the experimental setup and procedure for the experiments, while the Constant Delay Experiments chapter presents a comprehensive explanation of the results from testing the virtual coupling schemes for constant time delay. The sixth chapter, Experimental Internet Haptic Collaboration using Virtual Coupling Schemes thoroughly explains the results from the global scale Internet haptic collaboration experiment using these virtual coupling schemes. In the Time Varying Network Delay and Characterization chapter, the experiments to characterize the Internet and emulation of similar characteristics in a laboratory setting are presented followed by the analysis of their performances in the chapter named Comparison of Performance of Virtual Coupling Schemes for Haptic Collaboration using Real and Emulated Internet Connections. Additionally, in Experimental Comparison of Internet Haptic Collaboration with Time-Delay Compensation Techniques, the performance of two time-delay compensation techniques and a tuned PD controller applied to one of the virtual coupling scheme was compared. The final chapter presents the conclusion and future work.

9

Chapter 2 BACKGROUND

It has been shown in [9, 10, 11] that the inclusion of haptics in a shared virtual environment increased the task performance and virtual presence felt by the users. The general scheme of testing used in these methods is shown in Fig. 2.1. The experiments consist of two display monitors and two haptic devices connected to a single computer. The second monitor and the haptic device are usually kept in a separate room connected by a long cable to the computer. In [11], there were five tasks comprised of jointly manipulating a set of cubes inside a virtual environment. The experiment was evaluated using a questionnaire. There were no time delays between the two users. In [10], a simple game called “ring on a wire” was used: In this game two users collaborate to thread a ring along a wire between two ends. The effectiveness of the collaboration was determined using the number of times the users make contact with the wire as they move the ring along the wire. In [12], the inclusion of network delays in a cooperative shared haptic virtual environment was found to reduce the task performance. Time delay in a closed loop system poses a serious problem by driving the system unstable. For example, teleoperation has been studied extensively and it has been shown that feedback delays in excess of one-third of a second become troublesome for the operator [13, 14, 15]. Bilateral teleoperation —in which forces are fed back to the master to enable the sense of touch and feel of the remote environment– requires the transmission of forces from DC to very high frequency to enable the operator to feel the normal and tangential forces. For larger delays, feedback bandwidth is either limited to very low frequencies or energy dissipating elements are added in the system making the device feel very sticky and difficult to operate. Previous work in NHVEs can be classified based on the type of control used as either a centralized (client-server) [16, 17, 18, 19, 20] or a distributed (peer-to-peer) architecture

10

Display 1

Room 1

Haptic device 1

Room 2

Display 2

Haptic device 2

Host Computer

Figure 2.1: Shared virtual environment with dual displays

[21, 22, 23, 24]. Based on the type of force rendering, NHVEs can be further classified into simultaneous [17, 18, 19, 23, 25, 24, 26], where the users manipulate a virtual object at the same time, and one-at-a-time [21, 22, 16], where each user takes turns in manipulating the virtual object.

2.1

Centralized or Client-server Architecture

The centralized architecture as shown in Fig. 2.2 consists of a central server to which multiple clients establish connection. Each client could be at a different location and would generally have different time delays in communicating with the server. The server maintains the status of the virtual objects that the clients share and manipulate. Each client interacts with these virtual objects using a haptic device, whose position is sent to the server usually at the same rate as the local servo loop. The server usually buffers the position input in order to use inputs from all the clients as a single net input. Collision detection between the position inputs of the multiple clients and the virtual objects is performed at the server and the position of the virtual objects is updated. The new position of the virtual objects is then transmitted back to clients for updating at their local computer. Each client uses this updated position locally to compute forces to be transmitted to the haptic device. The advantages of this architecture are:

11

Server Client 1 Client n Client 2

Client 3

Figure 2.2: Client-Server Architecture

• Since the position of the virtual objects is maintained and updated at the server as a single virtual environment model, there are no coherency discrepancies. • Clients can join or leave the simulation at any time. • Virtual objects can be added or deleted easily during the simulation. • By buffering the client inputs, fairness among clients having different delays is achieved. The disadvantages of client-server architecture include: • Each client experiences a round-trip time delay before their copy of virtual object is updated from the server. • By employing a buffering scheme, the clients nearer to server have to unnecessarily experience larger delays. • The connection to the server has to be maintained at all times to continue the simulation.

2.2

Distributed or Peer-to-peer Architecture

A simple peer-to-peer architecture is shown in Fig. 2.3. It consists of a network connecting multiple clients, each running their own simulation with copies of the virtual environment.

12

Client 1

Client 2

Client 3

Client n

Figure 2.3: Peer-to-Peer Architecture

Each client also uses the haptic device for input and output. During the simulation, each client multicasts its position information to all other clients. The clients then individually perform collision detection and update the position of the local copy of the virtual object and render appropriate forces. The advantages of this architecture are: • There is less delay compared to the client-server architecture since each client multicasts information to all other clients. • Since virtual objects are updated locally, the reaction to each client input is reflected immediately. The disadvantages of this architecture are: • Because of the distributed nature of the simulation, the coherency between the copies of the virtual object among the clients is not guaranteed. • It is often difficult to add or remove new clients during the simulation. 2.3

Previous Work with One-at-a-time Force Rendering Techniques

In [21], a haptic collaboration system over the Internet was developed introducing both static (anchored) and dynamic (movable) objects in their collaboration setup. The object database had information about all of the objects in the environment and the node database had information about the IP addresses, latency, and available bandwidth. The nodes that

13

had high bandwidth and low latency multicasted the position and orientation of the objects they own, whereas the nodes with high latency became passive observers. Forces felt by the users were as if they were the only ones interacting with the objects. In [22] a force feedback, multiplayer squash game was implemented using a peer-to-peer architecture on the Internet. An adaptive-dynamic bounder algorithm was used to restrict the maximum change in speed after the collision of the ball with a virtual object. A multi-user heterogeneous system was implemented in [16], which had a single object that each user manipulated. Each user got a short amount of time to manipulate the object and generate reaction forces, and perceived this environment as though all the users simultaneously manipulated the object. 2.4

Previous Work with Simultaneous Force Rendering Techniques

A two-user transatlantic distributed collaboration system was implemented in [23], whose emphasis was on evaluating virtual presence in the presence of large latency with jitter. Two users collaborated in the simple task of moving a cube up from the floor. Force applied by each user at their end was transmitted instead of position, and damping was added to the system at all contacts to make it stable. The virtual presence was evaluated using a questionnaire, which showed that collaboration is still possible in a system with large latency. In [26] a multi-rate control architecture for haptic collaboration was proposed and the stability and performance was studied for a fixed transmission rate of 128 Hz and with small communication latency. In [27], a peer-to-peer system with local and global representation of the virtual objects was used for collaboration. TCP/IP was used for communication at low packet transmission rates and locally an optimistic simulation predicted the position of the virtual objects until new information was updated through the network. The simulation was stopped if there were any large discrepancies in position of the local and global representations. 2.5

Media Synchronization Techniques

Attempts have also been made to implement media synchronization techniques available in video and audio streaming [28] for haptic media. The haptic media synchronization

14

consists of intra-stream, inter-stream, and group(or inter-destination) control. The intrastream media synchronization is used to preserve the timing information among the media units in a single media stream, while the inter-stream media synchronization is used in preserving temporal relationship among multiple media streams. Group synchronization control is used to adjust the output timing of the media streams from multiple clients to enforce fairness among them. A queue monitoring (QM) algorithm was used in [17] for intra-media synchronization of haptic media between a single client and a server. They also used dead reckoning for traffic control of haptic media. They showed improvement in their system with media synchronization using a subjective score of operationality. In [18] a temporal resolution control of haptic media by dynamically changing the output rate of the haptic media was implemented. Group synchronization control for haptic media was implemented in [19]. They used a synchronization “maestro” to adjust the output timing of the haptic media among multiple clients.

15

Chapter 3 VIRTUAL COUPLING SCHEMES 3.1

Motivation

Time delay has been a well known problem in teleoperation. Much work [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42] has been done in this area for maintaining stability in the presence of time delays. One might think that, if we could pose the NHVE problem similar to bilateral teleoperation, there would be several methods that could be readily available for maintaining stability in terms of time delays as well as position control of the virtual objects. An attempt will be made in this thesis to integrate NHVEs into an overall collaboration network of which bilateral teleoperation is a also a subpart. The collaboration framework is explained in the subsequent section. 3.2

General Collaboration Framework

The general collaboration framework is shown in Fig. 3.1. It consists of a computer network connecting multiple mechanical devices, which could be active or passive based on the type and application. These devices could interact with virtual or real environments and could be driven by a human operator or coupled to another device. Several interesting subsets of collaboration could be derived from this generalized diagram. To better understand the system, a simplified block diagram representing two haptic devices is shown in Fig. 3.2. Blocks B and G represent haptic devices 1 and 2. Blocks C and F represent the system or controller that the devices are connected to. The virtual environments that the haptic devices interact with are represented in blocks D and E. The human operator and the real environment are represented in blocks A and H respectively. Several interesting subsets that could be derived from the block diagram representation are:

16

• Blocks ABCFGH represent a bilateral teleoperation. Block H could be either HO or Environment.

• Blocks ABCD represent a single user interacting with the virtual environment. • Blocks ABCDEFGH represent a two-user haptic collaboration using a shared virtual environment.

• Blocks ABCDFGH represent a two-user collaboration with a single virtual environment. The subset that will be focus of this thesis is block ABCDEFGH. 3.3

Virtual Coupling Schemes

A virtual coupling is a simulated physical connection between the haptic device and the virtual environment. It may provide stable interaction regardless of the complexity of the virtual environment or the level of human grasp interaction. Such a coupling was first proposed by [43] and a similar god-object method was used in [8]. Furthermore, in [44], a two-port network was used to analyze virtual coupling schemes for both impedance and admittance type of haptic devices. In this work, an impedance-type virtual coupling is used to connect the haptic device and the virtual copies of the rigid bodies that are shared in the NHVE. Depending on the type of NHVE —either peer-to-peer or client-server— additional virtual couplings are proposed to couple the remote users haptic handle positions to the local copy of the rigid body and to track multiple copies of the rigid bodies. Based on the type of virtual coupling connections, two peer-to-peer virtual coupling schemes are proposed, one with a virtual coupling between the copies of the rigid body and the other that couples remote users haptic handle positions locally for each peer. Additionally, a virtual coupling scheme is proposed for the client-server architecture, where each client’s haptic handle positions are coupled to the rigid bodies maintained at the server using virtual couplings. A local virtual

17

HO1

HOi

MECH

MECH

COMPUTER NETWORK

VE1

MECH

REAL ENVIRONMENT

Figure 3.1: General schematic

MECH

18

D

E VE1

VE2

T

C

C1

C2

F

T

B

G HD1

HD2

A HO

Environment

H

Figure 3.2: General collaboration framework

coupling is used to render forces for each client, which provides them with undelayed force responses. Apart from the three schemes proposed in this work, two additional virtual coupling schemes —one representing a peer-to-peer and the other a client-server architecture as proposed in [26]— are also described; their advantages and disadvantages are compared to the virtual coupling schemes presented in this work.

3.3.1

Virtual Coupling Scheme 1

This two-user, one degree of freedom, simplified collaboration model is shown in Figs. 3.3, 3.4 and 3.5 for VC schemes 1-3 respectively. In this simplified model, the human operator input is position while reaction force is the output. A virtual copy of the position of the haptic devices in the collaboration environment is represented by the haptic handles H1−1 and H2−2 . The virtual copies of the rigid body that users manipulate are represented by O1−1 and O1−2 . KV C1 , BV C1 , KV C2 and BV C2 represent virtual couplings that transmit forces to users 1 and 2, respectively. The position of the haptic devices are x1 and x4 and the virtual copies of the rigid bodies are x2 and x3 . Collision detection between the user

19

Figure 3.3: Virtual coupling scheme 1

position input and the rigid body was computed using a bounding box method. The Figs. 3.3 and 3.4 represent the control structure in a peer-to-peer architecture. Fig. 3.5 represents the control structure in a client-server architecture. The objective of all three methods is to minimize the position error between x2 and x3 . The dotted lines separate the local and the remote user that are connected by a communication network. The communication latency between a client and the server and between peers are represented by delays T1 (t) for the communication path left to right and T2 (t) for the path right to left respectively.

F1 = KV C1 (x2 (t) − x1 (t)) + BV C1 (x˙2 (t) − x˙1 (t)) m x¨2 (t) = KT (x3 (t − T2 (t)) − x2 (t)) 2 +BT (x˙3 (t − T2 (t)) − x˙2 (t)) − F1 − Bd x˙2 (t) F2 = KV C2 (x3 (t) − x4 (t)) + BV C2 (x˙3 (t) − x˙4 (t)) m x¨3 (t) = KT (x2 (t − T1 (t)) − x3 (t)) 2 +BT (x˙2 (t − T1 (t)) − x˙3 (t)) − F2 − Bd x˙3 (t)

(3.1)

(3.2) (3.3)

(3.4)

In Scheme 1 (Fig.3.3), a direct virtual coupling is applied between two copies of the rigid body, each having half of the mass. This enables the two virtual copies of the masses to track each other and also to transmit forces between them. This approach is highly reminiscent of the PD controller in bilateral teleoperation [35]. In order for the total mass felt by the user

20

Figure 3.4: Virtual coupling scheme 2

to be consistent, they are equally divided among the two users virtual copies. The virtual coupling between the masses is implemented using a position-position architecture through the simulated communication link. The reaction force applied to Users 1 and 2 is computed using the local virtual coupling and it is given in equations 3.1 and 3.3. The force acting on each user’s copy of the rigid body depends on the user’s position input at the local end and also the position difference between the rigid bodies. Viscous damping Bd is added between the cube and the surface to keep the mass from drifting off when users were not in contact. Equations 3.2 and 3.4 describe the force acting on each user’s copy of the rigid body. 3.3.2

Virtual Coupling Scheme 2

Scheme 2 (fig. 3.4) represents a parallel control structure where each user manipulates the rigid body at his own end. Position input of the haptic device is coupled to the rigid body through a local virtual coupling. Forces are applied to each copy of the mass by a virtual coupling, one for each user. The equations describing Scheme 2 are:

F1 = KV C1 (x2 (t) − x1 (t)) + BV C1 (x˙2 (t) − x˙1 (t))

(3.5)

mx¨2 (t) = KV C21 (x4 (t − T2 (t)) − x2 (t)) +BV C21 (x˙4 (t − T2 (t)) − x˙2 (t)) − F1 − Bd x˙2 (t) F2 = KV C2 (x3 (t) − x4 (t)) + BV C2 (x˙3 (t) − x˙4 (t))

(3.6) (3.7)

21

Figure 3.5: Virtual coupling scheme 3

mx¨3 (t) = KV C12 (x1 (t − T1 (t)) − x3 (t)) +BV C12 (x˙1 (t − T1 (t)) − x˙3 (t)) − F2 − Bd x˙3 (t) 3.3.3

(3.8)

Virtual Coupling Scheme 3

Scheme 3 (Fig. 3.5) represents the client-server architecture where User 1 is on the server and User 2 is in the client. There is only one copy of the rigid body which is in the server. User 2’s position is transmitted to the server where the position of the rigid body is updated. The updated position of the rigid body is then transmitted to the User 2 and it is used to compute local forces using the virtual coupling KV C2 and BV C2 . In this scheme, User 1’s position is not delayed since User 1 is in the server. The equations describing Scheme 3 are:

F1 = KV C1 (x2 (t) − x1 (t)) + BV C1 (x˙2 (t) − x˙1 (t))

(3.9)

mx¨2 (t) = KV C21 (x4 (t − T2 (t)) − x2 (t)) +BV C21 (x˙4 (t − T2 (t)) − x˙2 (t)) − F1 − Bd x˙2 (t)

(3.10)

x3 (t) = x2 (t − T1 (t))

(3.11)

F2 = KV C2 (x3 (t) − x4 (t)) + BV C2 (x˙3 (t) − x˙4 (t))

(3.12)

22

3.4

Virtual Coupling Schemes Implementation Issues

In order to implement the three virtual coupling schemes, several factors need to be taken into account. First, the number of virtual couplings needed for each schemes varies and moreover for a 6-DOF implementation, twice the number of virtual couplings required for a 3-DOF are needed. With large number of users, managing and computing reaction forces would become cumbersome. The number of collision detections between the user’s haptic handle and the rigid body for each user needs to be minimum since many of the NHVEs will have complex scenes and collision routines are computationally expensive. Moreover, in Scheme 1 the mass of the virtual object is divided equally among the copies of the rigid body that the users share in a NHVE. For predetermined number of users, the implementation of Scheme 1 does not pose any problem. If for some reason a new user needs to be added in the middle of the collaboration, the the mass of the virtual object needs to be redistributed among the new number of copies of the virtual object. Redistributing the mass on the fly may seriously affect the stability and performance of the system. The collaboration may need to be stopped and restarted later after adding the new users and making necessary changes. Table 3.1 summarizes the implementation issues for the virtual coupling schemes in terms of number of virtual couplings and collision detection. It can be seen that Scheme 1 requires the lowest number of collision detection among the three schemes. Moreover, for more than three users, Scheme 3 requires a lesser number of virtual couplings compared to Schemes 1 and 2.

3.5

Comparison to Other Virtual Coupling Schemes

In [26], two virtual coupling schemes one representing peer-to-peer and the other a clientserver architecture was proposed. In this section the difference between their virtual coupling schemes and the ones proposed in this work are described.

23

Table 3.1: Virtual coupling implementation issues

3.5.1

Virtual coupling

No.

of virtual

schemes

couplings

No.

of collision

detections

3 DOF

6 DOF

User

Total

1

n(n+1) 2

n(n + 1)

1

n

2

n2

2n2

n

n2

3

2n

4n

1

2n

Comparison of the Peer-to-peer Virtual Coupling Schemes

A two-user peer-to-peer virtual coupling scheme as proposed in [26] is shown in Fig. 3.6. This scheme is a combination of Schemes 1 and 2 proposed in this work. In addition to the direct virtual coupling between the two copies of the rigid bodies, the user’s haptic handle positions are also coupled to the rigid body through a local virtual coupling. In this architecture, the mass of the rigid body was not equally divided among its multiple copies. Even under no communication delay, the mass of the rigid body felt by the users would be higher than the actual mass. Moreover, in terms of implementation, the number of virtual couplings and collision detections required for this method is more than that required for implementing either Scheme 1 or 2.

3.6

Comparison of the Client-server Virtual Coupling Schemes

A two-user client-server virtual coupling scheme as proposed in [26]is shown in Fig. 3.7. This scheme is similar to the Virtual coupling scheme 3 proposed in this work except that each client’s force feedback is computed at the server. Under zero communication delay, there is no difference between the two virtual coupling schemes. However, in the presence

24

Figure 3.6: Peer-to-peer virtual coupling scheme

Figure 3.7: Client-server virtual coupling scheme

of communication delays, the delayed force feedback to the clients from the server would allow each client to penetrate deeper into the rigid body, thereby making it unstable. In Scheme 3, a local virtual coupling provides immediate force feedback for each client using the most updated position of the rigid body received from the server. This local virtual coupling prevents clients from penetrating deeper into the rigid body in the presence of communication delay. Therefore, Scheme 3 could be used under arbitrary communication delays whereas the client-server scheme[26] cannot be used under communication delays without considerably reducing the impedances of the virtual couplings.

25

Chapter 4 EXPERIMENTAL COLLABORATIVE HAPTIC SYSTEM

In this chapter, I explain in detail the experimental collaborative haptic system built to test the virtual coupling schemes under constant and time-varying network delay conditions. The experimental collaborative haptic system consists of a collaboration software framework that implements the peer-to-peer and client-server NHVE system, collaboration hardware setup, and a network packet reflector setup which enables experiments using the Internet. 4.1

Collaboration Software Framework

The collaboration software framework is shown in Fig. 4.1. There are two separate programs for each user. The Haptic controller program (written in C++) manages communication with the haptic device, performs collision detection and dynamic updates of the virtual object, renders the appropriate forces to the user, and performs haptic UDP communications at variable rates. The graphical display is managed separately by the HColGUI, an application based on Qt 4.1.1.1 and OpenGL libraries.

4.1.1

Haptic Controller

The haptic controller program consists of a main process in which all the application threads are managed. The haptic process —which runs on a separate thread at 1000 Hz— manages communication to the haptic device and updates the collision and virtual coupling forces to the virtual object. The communication to other peers or a server and to the HColGUI are managed via TCP and UDP socket handlers. A collaboration database containing peer/server information is maintained in the haptic controller whose values are all loaded as a configuration file at the beginning of the collaboration. Whenever new information from another peer/server is available at the UDP socket,

26

Figure 4.1: Haptic collaboration software architecture

27

the UDP packet handler function is called by the UDP callback function, where the UDP packet information is processed for update of the peer/server information. Each UDP haptic data packet has a unique packet sequence number generated in the haptic servo loop and a checksum field generated using a simple checksum algorithm. This information is used by the UDP packet handler function to detect corrupt and out-of-sequence packets. For this work, both the corrupt and out-of-sequence packets were dropped and the last valid packet information was utilized until the information is updated; essentially, a zero-order hold (ZOH). The haptic data packets also contain a time stamp field that is applied to compute the network delay characteristics. The valid UDP haptic data from peers/server is then passed to the haptic process in a thread safe manner for force and position updates. The new information for other peers/server is sent from within the haptic process by the packet transmission rate controller function, where the packet transmission rate is precisely controlled by the haptic servo loop. The structure of the UDP haptic data packet is shown below: typedef struct{ unsigned long int servoTick; /* servo loop number */ RtUTCtime p_timestamp; /* peer timestamp */ double g_pos[3]; /* Goal position - Scheme 3 (HIP) */ double c_pos[3]; /* Constraint position - Scheme 2 (IHIP) */ double g_rb[3]; /* Rigid Body Position- Scheme 1*/ double v_rb[3]; /* Rigid Body Velocity - Scheme 1*/ double t_pos[3]; /* Haptic handle velocity - Scheme 2*/ int checksum; }udpPeerData; The event-based TCP/IP communication between the HColGUI and the haptic controller is modeled as a client/server communication with the TCP server running on the haptic controller and the HColGUI acting as a client. The TCP/IP communication from HColGUI is processed by the TCP callback function which in turn calls the TCP packet handler function. The collaboration commands are then enabled through the haptic device

28

interface function that facilitates communication to and from the haptic device at run-time. The peer information received from the TCP packet handler on TCP port 12346 is used to update the local peer database. The same TCP port is also used to exchange tracking information between peers, as explained later in the experiment procedure. The structure of the TCP communication packet is shown below; it consists of integer field containing a secret code for security that is verified before establishing a connection. The deviceAttach field is used to attach the haptic device for the collaboration, while the deviceNum field is for future use to support multiple haptic devices, and the gO field is used to start and stop the collaboration and the tracking field is used to initiate tracking during the collaboration. typedef struct{ int secret; /* secret code */ int deviceAttach; /* Attach specified haptic device */ int deviceNum; /* Haptic device number */ int gO; /* Start collaboration */ int tracking; /* Start target tracking */ }tcpGUI2HC; The graphic display updates from the haptic controller to the HColGUI are done at a rate of 30 Hz using a TCP/IP communication link on TCP port 12345. Whenever new graphic updates need to be sent to the HColGUI, the haptic thread is locked and all information is copied in a synchronous manner to the HColGUI. For the current implementation, the synchronous thread option provided by the OpenHaptics Toolkit is used to copy haptic data in a thread safe manner. The TCP packet structure for graphic display updated is given below: it consists of two position fields that represent the goal position of the haptic probe of the Users 1 and 2 and two position fields that represent the constraint position of the haptic probe of the same users. It also contains a field for the tracker position, which is currently unused, and a field for the position of the rigid body that is used in the collaboration. The integer fields fcolor2 and tracking holds the information about the current display color for the virtual object and the target. typedef struct{

29

double g_pos1[3]; /* User 1 goal position (HIP) */ double g_pos2[3]; /* User 2 goal position (HIP) */ double c_pos1[3]; /* User 1 constraint position (IHIP) */ double c_pos2[3]; /* User 2 constraint position (IHIP) */ double t_pos[3];

/* Target position*/

double position_rb[3]; /* Rigid body position */ int fcolor2; /* Rigid body color */ int tracking; /* Target color */ }tcpHC2GUI;

4.1.2

HColGUI

The graphics app HColGUI gets display updates from the haptic controller through a TCP/IP connection at 30 Hz. The Qt OpenGL Widget interface is used to graphically render the position of the virtual object and the positions of the local and remote users. The HColGUI also has two menu interfaces: the server connection dialog and the peer dialog. The server connection dialog is used by each peer/client to connect to their local haptic controller. This dialog is also used to choose a specific haptic device for collaboration and opt to start and stop the collaboration. The peer dialog is used for managing peers/clients connections. For example —in a peer-to-peer collaboration— the peer that is initiating the collaboration would start a TCP server on port 12346, followed by the other peers connecting to it for collaboration. Figure 4.2 shows the snapshot of the haptic virtual environment as seen by User 1. It consists of a cube that is restricted to one-degree-of-freedom movement on a floor in a threedimensional room. The local and remote user positions are represented by blue and yellow spheres respectively. The haptic virtual environment also contains a target sphere that moves at a constant speed along a solid white line. The task of the users is to jointly move the cube along the line and to make the target align at the center of the cube at all times. The users can feel all the sides of the cube but can contribute to motion only by pressing on the left or right side of the cube. In this work, User 1 was allowed to touch the left side of

30

Target sphere

User 1

User 2

Figure 4.2: Snapshot of the simulation during the initial experiment

the cube and User 2, the right side. Collision detection based on an accelerated bounding box method was chosen to compute collisions between user positions and the cube. The collision between the walls and the cube also restricts the latter to be in the visible scene at all times. Based on subject feedback during the initial experiment, the display was rotated and the cube was rendered translucent. This provides the subjects with a clear view of the side of the cube that he/she is interacting with (Fig. 4.3). A similar virtual environment is displayed for User 2 with its display rotated see the right side of the cube. The virtual environments also had additional attributes in order to aid the users during the experiments. The color of the cube —which is initially white— is changed to blue when the users make contact, and remains blue as long as the reaction force applied to the user exceeds 0.33N (to ensure that the users are in constant contact with the cube and contributing to the collaborations). The color of the cube changes to red when the user reaction force is greater than 3.3N (the maximum recommended continuous force for the Omni haptic device). The color of the target sphere changes from green to purple during tracking and the solid white line gives the user a hint about when the target is going to change direction.

31

Figure 4.3: Snapshot of the simulation after display modifications

4.1.3

Collaboration Hardware Setup

Fig. 4.4 shows the collaboration hardware setup in a network setting. WS1 and WS2 are the two workstations used in the experiment by Users 1 and 2 respectively. WS1 is an AMD Opteron 1.5 GHz with 1 GB RAM and WS2 is an Intel Pentium 4 2.66 GHz with 1GB RAM, both running Fedora Core 4 Linux. The two workstations are situated in the same laboratory but in different cubicles. Both WS1 and WS2 have static IPs assigned to them to enable opening specific ports for UDP and TCP communications. Both the haptic controller and graphics applications are run on WS1 for User 1 and on WS2 for User 2. Additionally, a TCP/IP link between the two users was set to initiate target tracking during the experiments. Two 6 DOF sensing and 3 DOF force rendering PHANToM Omni devices were used for the experiments. Figure 4.5 shows a snapshot taken during one of the experiments. Both users can be seen in their respective workbenches connected to workstations WS1 and WS2 and interacting with a PHANToM Omni haptic device.

32

Figure 4.4: Experiment setup

Figure 4.5: Snapshot during a subject study

33

Figure 4.6: Experiment network topology

4.1.4

Packet Reflector Network

In order to test the NHVE system using the Internet, UDP packet reflector programs have been placed at the servers of our collaborators. The UDP packet reflector program receives the haptic data packets and routes them to predefined IP addresses. In this work, the packet reflector program routed packets between WS1 and WS2. The major advantages of using a packet reflector is that: Human subjects can be located in the same laboratory. This simplified recruiting; gave consistent enforcement of experiment protocol and procedures; and avoided the difficulties with assorted time zones. Different networks with varying delays, number of hops, and bandwidths can be tested seamlessly by switching between the packet reflectors during the experiment. The network topology of our packet reflector set up is shown in Fig. 4.6. It consists of two packet reflector locations, one at the Image Analysis Laboratory at the North Carolina State University (USA), in Raleigh, USA, and the other at the CRIM Lab at Scuola Sup. Sant’Anna (Italy), in Pontedera, Italy. The packets are transmitted to these points from the experimenters’ location at the Biorobotics Laboratory of the University of Washington (Local ) in Seattle, USA. The Local and USA universities are partners in the NLR (National Lambda Rail), a gigabit research network and the NLR link directly connects both locations. The connection between Local and Italy is through NLR, GEANT2 and GARR network (both European gigabit research networks); a switching node

34

in New York City connects GEANT2 to NLR. 4.2

Experiment Procedure

In testing the NHVEs, 10 subjects were recruited for each experiment. Each subject was made to watch a four-minute instructional video that explains the experiment procedure. During the collaboration experiment, they used WS2 while the experimenter used WS1. They were given five practice trials each to get comfortable with the virtual environment and the interaction with the cube. Their performance was monitored at the same time, and if they successfully completed five trials, then the practice trials were stopped and they proceeded to the actual experiment. The subjects were asked to touch and apply forces on the right side of the cube as the experimenter interacted on the left side. They were encouraged to maintain contact with the cube at all times. The target motion was enabled by the experimenter by pressing the button on the stylus of the Omni haptic device. Each subject waited for the change of color in the target to start moving. The constant speed of the target was experimentally chosen as 1.333 mm/s in all the experiments so that the subjects can track the target even for the largest delay experienced in the system. They were also instructed to apply less force when the color of the cube changed to red until it reverted back to blue. In order to reduce the learning effect, the order of the control methods and delay conditions was randomized for the experiments and loaded as a configuration file during the beginning of each experiment. Each subject was also asked complete a questionnaire at the end of the experiment for a subjective evaluation of their experiences with the experimental system.

35

Chapter 5 CONSTANT DELAY EXPERIMENT

In this chapter, I will discuss the results from testing the virtual coupling schemes for constant time delay1 . 5.1

Motivation

In Chapter 3, three virtual coupling schemes were proposed to enforce position coherency in a NHVE. In Scheme 3 —representing the client-server architecture— a copy of the virtual objects is maintained at the server, which makes it the best method in terms of maintaining position coherency. Therefore, the performance of the two peer-to-peer schemes —Scheme 1 and Scheme 2— should be evaluated against Scheme 3. In real world collaboration situations, the users would be at different geographical locations and thus experience time delays between them, which are often time-varying and stochastic in nature. As a result, the performance of the virtual coupling schemes should be analyzed for constant time delays first and afterward they could be used to compare the performance under time-varying delay conditions. Moreover, the NHVE should also be stable during the entire collaboration for all subjected time delays, and as a consequence, the virtual coupling parameters should be chosen so that it would result in a stable operation. Since the focus of this thesis is on NHVEs with low error tolerance, position coherency is the most important measure in evaluating the virtual coupling schemes. Moreover, such NHVEs have applications in fields such as surgery training and virtual assembly training, and thus stability is also an important factor in choosing the virtual coupling parameters. In this work, stability outweighs transparency requirements in the NHVE system. As a result, a more transparent NHVE system with applications to the entertainement/gaming industry is not the focus of the current work. 1

Results from this work have been presented at the BioRob 2006 Conference [25]

36

5.2

Goals of This Study

The goal of this study is to evaluate the three virtual coupling schemes in terms of how well they minimize the error between the positions of the virtual copies of the rigid body that multiple users share in a haptic virtual environment for constant time delays. 5.3

Experiment Design

In order to test the three virtual coupling schemes for constant time delays, first the virtual coupling parameters were chosen, as shown in Table 5.1. The local virtual couplings between the copy of the haptic handle and the virtual objects were set to the recommended values provided in the PHANToM Omni device manual. The mass of the virtual object m was chosen so that the user can comfortably move the object without much difficulty. The viscous damping Bd was selected so that the cube came to rest within the boundaries of the virtual environment. The virtual coupling parameters for Scheme 1, KT and BT , were experimentally chosen to provide low position error between the virtual objects. In order to test the virtual coupling schemes for constant delays, stability was evaluated first, to find the maximum delay that could be applied for stable operation. Two types of stability exist for the schemes introduced in this work: One is the stability for impulse input by a single user, and the other one is the stability when both users are interacting. In this work, the single user input stability was considered for the upper bound of the time delay. An impulse position input x1 was given to the system and the response was analyzed. It can be easily seen that Schemes 2 and 3 were open loop for single user input and thus were stable. Scheme 1 was found to be unstable above a one-way delay of 200 ms (Figs. 5.1, 5.2). Therefore, the time delays vary from 0 to 200 ms one-way (0 to 400 ms round trip) for testing in an interval of 50 ms. A two factor, within-subject, repeated measures design was adopted to test the three virtual coupling schemes. In this design both the virtual coupling schemes and the delays were two independent variables with three and five levels for each respectively. The objective performance measures such as RMS position error, peak position error and RMS Force were the dependent variables. The experiment design is shown in Table 5.2.

37

Position of the two cubes 8 7 cube1 cube2

Position in mm

6 5 4 3 2 1 0

0

0.5

1 1.5 Time in msecs

2

2.5 4

x 10

Figure 5.1: Position of the two cubes for a delay of 200 ms

Ten subjects, seven male and three female, with ages ranging from 19 to 25 were selected for the experiment. Two of the subjects were left-handed and the rest were right-handed. There were a total of 15 trials for each subject corresponding to the three schemes and five delay conditions. The trials were not randomized for this experiment and the results may show some learning effect. 5.4

Experimental Results

We compare the performance of the three schemes for constant one-way time delays from 0 to 200 ms. Fig. 5.3 shows the position of the two cubes relative to the position of the target for a one-way delay of 200ms for Scheme 1. The independent axis represents the time and the dependent axis, the position x2 (t) and x3 (t − T ). The positions of the cubes are represented by the blue and red solid lines. The black dotted lines represent the boundary of the cube. The position of the target is characterized by a solid black line and its boundary, by solid lines in cyan. It can be seen that during the collaboration the target stayed within the boundaries of the cube at all times as a result of the two users tracking the target. Position coherency in terms of peak and RMS position error between x2 (t) and x3 (t − T ) was computed for all the three schemes as a function of time delay (Figs. 5.4 and 5.5). Both

38

Position of the two cubes 5 cube1 cube2

4.5 4

Position in mm

3.5 3 2.5 2 1.5 1 0.5 0

0

0.5

1 1.5 Time in msecs

2

2.5 4

x 10

Figure 5.2: Position of the two cubes for a delay of 250 ms

Table 5.1: Virtual coupling parameters

Parameters

Values

Schemes

Selection

m

0.25Kg

1, 2, 3

experimental

Bd

Ns 0.025 mm

1, 2, 3

experimental

KT

N 2.0 mm

1

experimental

BT

Ns 0.3 mm

1

experimental

N 0.5 mm

1, 2, 3

device manual

Ns 0.003 mm

1,2,3

device manual

KV C1 , KV C2 , KV C12 , KV C21 BV C1 , BV C2 , BV C12 , BV C21

39

Table 5.2: Two-factor design for the constant delay experiment. The 15 possible trial combinations are shown in numbers 1 - 15 Scheme

One-way Delay 0 ms

50 ms

100 ms

150 ms

200 ms

S1

1

2

3

4

5

S2

6

7

8

9

10

S3

11

12

13

14

15

60 cube1 cube1+w cube1−w cube2 target target+w target−w

40

Position in mm

20

0

−20

−40

−60

0

2

4

6 8 Time in msecs

10

12

14 4

x 10

Figure 5.3: Target tracking in Scheme 1 for 200 ms delay

40

4 0 ms 50 ms 100 ms 150 ms 200 ms

RMS Position Error in mm

3.5 3 2.5 2 1.5 1 0.5 0

1

2 Virtual Coupling Schemes

3

Figure 5.4: RMS position error between Cube 1 and Cube 2 for the three schemes

the peak position error and the RMS position error as a whole increased for all the three schemes with increasing time. The peak position error ranged from 0.76 mm to 1.48 mm for Scheme 1, 3.43 mm to 5.11 mm for Scheme 2, and 0.01 mm to 0.08 mm for Scheme 3. The RMS position error ranged from 0.34 mm to 0.56 mm for Scheme 1, 1.4 mm to 1.8 mm for Scheme 2 and 0.001 mm to 0.03 mm for Scheme 3. Scheme 2 showed substantially higher position errors by both measures.

The RMS value of the force applied to User 1 and User 2 was computed for all the three schemes as a function of time delay (Figs. 5.6, 5.7). The RMS value of the force for User 1 ranged from 0.69 N to 1.24 N for Scheme 1, 0.67 N to 0.71 N for Scheme 2, and 0.8 N to 0.91 N for Scheme 3. For User 2, it ranged from 0.73 N to 1.27 N for Scheme 1, 0.71 N to 0.75 N for Scheme 2, and 0.82 N to 0.94 N for Scheme 3. Scheme 2 had the lowest variation in force for both users and Scheme 1, the highest.

41

9 0 ms 50 ms 100 ms 150 ms 200 ms

Peak Position Error in mm

8 7 6 5 4 3 2 1 0

1

2 Virtual Coupling Schemes

3

Figure 5.5: Peak position error between Cube 1 and Cube 2 for the three schemes

3.5 0 ms 50 ms 100 ms 150 ms 200 ms

RMS Force Applied to User 1 N

3 2.5 2 1.5 1 0.5 0

1

2 Virtual Coupling Schemes

3

Figure 5.6: RMS value of the force applied to User 1 for the three schemes

42

3.5 0 ms 50 ms 100 ms 150 ms 200 ms

RMS Force Applied to User 2 N

3 2.5 2 1.5 1 0.5 0

1

2 Virtual Coupling Schemes

3

Figure 5.7: RMS value of the force applied to User 2 for the three schemes

5.5

Statistical Analysis

In order to find the statistical significance of the result, a two-way within-subjects repeated measures ANOVA2 was performed on the objective performance measures using the SPSS statistics software tool. The results from these measures are shown in Tables A.1-A.8. The significant ANOVA results are shown in Table 5.3. Both delay and scheme had a significant effect on all the objective measures. A significant interaction effect was seen as well, between the scheme and delay for all the measures with RMS position error, showing the least interaction at a P value of 0.037. Pairwise comparison of the three schemes shows significant difference for all three schemes. 5.6

Discussion

In our experimental results, Scheme 3 had the lowest peak and RMS position error between Cube 1 and Cube 2. This is not surprising since Scheme 3 represents a client-server architecture, which maintains the position of the cube at the server and where all clients are updated from the server. Between the two peer-to-peer schemes, 1 and 2, Scheme 1 was 2

Mauchly’s sphericity test was used to test the sphericity of the data and in the cases that it was violated, Huynh-Feldt-Test values were used.

43

Table 5.3: Repeated-measures ANOVA summary (significant results only)

Measure

Source

Sig.

RMSPE

Scheme

< 0.001

Delay

< 0.001

Scheme*Delay

0.037

Scheme

< 0.001

Delay

< 0.001

Scheme*Delay

0.024

Scheme

< 0.001

Delay

< 0.001

Scheme*Delay

< 0.001

Scheme

< 0.001

Delay

< 0.001

Scheme*Delay

< 0.001

PPSE

RMSF1

RMSF2

better at preserving position coherency and its performance was comparable to Scheme 3. In terms of force rendered to users, Scheme 1 had the largest force rendered to both users for all the delay values. Statistical analysis also confirms the above results. In Scheme 2, the parameters chosen for the local virtual coupling of remote haptic handle position were too low to correct for errors between the virtual copies of the cube. In Chapter 6, this parameter will be chosen to be same as the one of Scheme 1 for further testing to compare the two peer-to-peer schemes. In this work, constant time delays were simulated via a buffer in the same computer. In Chapter 6, the virtual coupling schemes were tested for time-varying delays by conducting experiment using the real Internet. No time delay compensation technique was used for this work. This becomes critical for applications in which users are located at geographically separate sites. Several methods

44

exist in the teleoperation literature, such as wave variables [30], which could be applied to these schemes for increasing the stability limit for large time delays. For example, Scheme 1 is very similar to a teleoperator system except that the virtual coupling is between the virtual objects (cubes in this paper) compared to the virtual coupling between the haptic devices in a traditional bilateral teleoperator system. In Chapter 9, two time delay compensation techniques based on wave variables and time-domain passivity control methods were applied to Scheme 1 and its performance against the tuned PD controller used in this experiment is compared.

45

Chapter 6 EXPERIMENTAL INTERNET HAPTIC COLLABORATION USING VIRTUAL COUPLING SCHEMES

In this chapter, I will discuss the results from testing the virtual coupling schemes for time-varying-delay conditions at three packet transmission rates1 . 6.1

Motivation

In Chapter 5, the virtual coupling schemes were tested in a NHVE for constant delays up to 200 ms each way. In realistic NHVE applications, either the Internet or some dedicated network has to be used for collaboration. In such networks the communication latency is typically time-varying with packet loss characteristics depending on the bandwidth and QOS of the network. Since a ZOH is used to fill in the missing packet information, the errors may build up considerably, resulting in increased position errors and increased force rendered to the users. This shows that the performance of the virtual couping schemes need to be tested in realistic network conditions. However, on many networks it would be hard to sustain the haptic data communication rates of 1000 Hz. Hence, the performance of the virtual coupling schemes need to be tested at lower packet transmission rates as well. In this work, using the packet reflector network as explained in Chapter 4, a global scale Internet haptic collaboration experiment was conducted at three fixed transmission rates of 1000 Hz, 500 Hz and 100 Hz.

6.1.1

Goals of This Study

Our objective in this paper is to evaluate the three virtual coupling schemes in terms of how well they minimize the error between the positions of the virtual copy of a rigid body that multiple users share in a haptic virtual environment in time-varying-delay network 1

Results from this work has been accepted for presentation in Haptic Symposium 2008 Conference [45]

46

conditions and at three fixed packet transmission rates. 6.2

Experiment Design

We wanted to test the three virtual coupling schemes under time-varying-delay conditions and at three different packet transmission rates. In addition, from the constant delay experiment, the Virtual coupling scheme 2 showed the largest error in terms of RMS and peak position error. In order to reduce this error, the Virtual coupling scheme 2 was also tested with a second set of virtual coupling parameters equal to those of Scheme 1. In order to reduce the number of trials, three different experiments were conducted to test the virtual coupling schemes. The virtual coupling parameters used in the three experiments are shown in Table 6.3. Two different virtual coupling parameters were used to test Scheme 2, distinguished by the labels 2-1 and 2-2.

• The first experiment, tested the three virtual coupling Schemes 1, 2-1 and 3 at the packet transmission rate of 1000 Hz with four delay conditions corresponding to the packet reflector locations Local, Canada, USA and Italy.

• The second experiment tested the virtual coupling Scheme 2-2 for the four delay conditions at packet transmission rate of 1000 Hz.

• The third experiment tested Scheme 1, 2-2 and 3 for the packet transmission rates of 500 Hz and 100 Hz. Only delay conditions Local, USA and Italy were used to reduce the number of trials for each subject.

For Experiment 1, a two-factor within-subjects repeated measures design was used to test the virtual coupling schemes. The virtual coupling schemes and the delays are the two independent variables with three and four levels respectively. The objective performance measures, such as RMS position error, peak position error and RMS force were the dependent variables. The experiment design is shown in Table 6.1. For each subject, there were a total of 12 trials corresponding to the three schemes and four delay conditions.

47

Table 6.1: Two-factor design for the Time-varying-delay experiment 1. The 12 possible trial combinations are shown in numbers 1 - 12 Scheme

Delay condition Local

Canada

USA

Italy

S1

1

2

3

4

S 2-1

5

6

7

8

S3

9

10

11

12

For Experiment 2, a within-subjects repeated measures design was used to test the virtual coupling Scheme 2-2 with four delay conditions. For each subject there were total four trials corresponding to one scheme and four delay conditions. For Experiment 3, a three-factor within-subjects repeated measures design was used to test the virtual coupling schemes. For each subject, there were total 18 trials corresponding to three schemes, two packet transmission rates and three delay conditions. The experiment design is shown in Table 6.2. In total, 18 subjects, 12 male and six female, with ages ranging from 19 to 50 participated in the experiments. Two subjects were left-handed and the rest were right-handed. The position and velocity of the two cubes, along with the position of the target and forces rendered to each user, the number of corrupt, out-of-sequence and lost packets, and the delay in ms computed from the time stamp information were recorded in a file for later analysis. 6.3

Results

The histograms of the one-way delay between WS1 and WS2 for the four delay conditions are shown in Fig. 6.1 (a). The independent axis in logarithmic scale is the time in ms and the dependent axis is the count of the one-way delays in ms measured at WS1. All the delay

48

Table 6.2: Three-factor design for the Time-varying-delay experiment 3. The 18 possible trial combinations are shown in numbers 1 - 18 Scheme, Transmission rate in Hz

Delay condition Local

USA

Italy

S 1, 500

1

2

3

S 1, 100

4

5

6

S 2-2, 500

7

8

9

S 2-2, 100

10

11

12

S 3, 500

13

14

15

S 3, 100

16

17

18

49

Table 6.3: Virtual coupling parameters

Parameters

Values

Schemes

Selection

m

0.25Kg

1, 2-1, 2-2, 3

experimental

Bd

Ns 0.025 mm

1, 2-1,2-2, 3

experimental

N 2.0 mm

1,2-2

experimental

Ns 0.3 mm

1,2-2

experimental

N 0.5 mm

1, 2-1, 3

device manual

Ns 0.003 mm

1,2-1,3

device manual

KT , KV C21 , KV C12 BT , BV C21 , BV C12 KV C1 , KV C2 , KV C12 , KV C21 BV C1 , BV C2 , BV C12 , BV C21

50

values had a peak value around their respective means and a long tail toward increasing delay. Delay condition 4 exhibited the longest tail among all the conditions. Fig. 6.1 (b) shows the time-varying delay as measured at WS1 from one of the trials from Experiment 1. The independent axis is the time in ms and the dependent axis is the measured one-way delay in ms.

Table 6.4: Delay condition with packet reflector location

Delay condition

UDP

Data

WS1 ↔ Reflector

WS2 → WS1

ping time (1000

via. Reflector

Hz)

Mean (ms)

Std (ms)

Mean (ms)

1-Local

1.27

0.35

0.10

2-Canada

43.8

0.53

30.46

3-USA

74.2

0.63

76.53

4-Italy

203.9

2.52

189.65

Fig. 6.2 (a) shows the position of the two cubes relative to the position of the target for Delay condition 4 and for Scheme 1 from Experiment 3. The packet transmission rate was set at 100 Hz. The independent axis represents the time in ms and the dependent axis, the positions x2 , x3 and the target in mm. The position of the two cubes shows the two users tracking the target. Fig. 6.2 (b) shows the zoomed view of Fig. 6.2 (a) to highlight the time-varying delay and ZOH effect on the position of Cube 2 received remotely from WS2. Figs. 6.3 (a), 6.4 (a) and 6.5 (a) show the RMS position error between x2 and x3 (t−T2 (t)) measured at WS1 for all the schemes and packet transmission rates. Due to a system clock drift between WS1 and WS2, the position errors are reported only with respect to WS1.

51

(a)

(b)

4

14

x 10

350

PR 1000 Hz 12

300

250 One−way Delay in ms

Delay Count

10

PR 1000 Hz

Local NCSU − USA

8

6 UBC − Canada 4

SSSUP, Italy

200

150 NCSU, USA

100 SSSUP − Italy

2

UBC, Canada

50 Local

0 0 10

1

2

10 10 One Way Time varying Delay log(ms)

(a)

3

10

0

0

2

4

6 8 Time in ms

10

12

14 4

x 10

(b)

Figure 6.1: a, Histogram of one-way time-varying delay. b, one-way delay between WS2 and WS1

The vertical error bars represent the standard deviation around mean error values. On the whole, the RMS position error increased for all the schemes with increasing time. For Scheme 1 the RMS position error ranged from 0.46 mm to 0.67 mm for the transmission rate of 1000 Hz, 0.75 mm to 0.83 mm for 500 Hz, and 0.71 mm to 0.86 mm for 100 Hz respectively. For Scheme 2-1 it ranged from 1.6 mm to 2.58 mm for a 1000 Hz transmission rate. For scheme 2-2 it ranged from 0.55 mm to 0.93 mm for 1000 Hz, 0.74 mm to 1.01 mm for 500 Hz, and 0.78 mm to 1.13 mm for 100 Hz. For Scheme 3 it ranged from 0 mm to 0.76 mm for 1000 Hz, 0 mm to 0.8 mm for 500 Hz, and 0.09 mm to 0.83 mm for 100 Hz. Figs. 6.3 (b), 6.4 (b) and 6.5 (b) show the peak position error between x2 and x3 (t−T2 (t)) measured at WS1 for all the schemes and packet transmission rates. On the whole, the peak position error increased for all the schemes with increasing time. For Scheme 1, the peak position error ranged from 0.9 mm to 1.6 mm for the transmission rate of 1000 Hz, 1.42 mm to 2.0 mm for 500 Hz, and 1.32 mm to 2.07 mm for 100 Hz. For Scheme 2-1 it ranged from 3.65 mm to 6.33 mm for a 1000 Hz transmission rate, while for Scheme 2-2 it ranged from 1.78 mm to 2.76 mm for 1000 Hz, 2.08 mm to 3.26 mm for 500 Hz, and 2.53 mm to 3.18 mm for 100 Hz. For Scheme 3 it ranged from 0.04 mm to 1.93 mm for 1000 Hz, 0.05 mm to 2.21 mm for 500 Hz, and 0.11 mm to 2.38 mm for 100 Hz.

52

(b)

60

−7

Cube1 Cube1+w Cube1−w Cube2 Target Target+w Target−w

40

Position in mm

20

−8

0

−8.5

−20

−9

−40

−9.5

−60

0

2

4

6 8 Time in ms

10

Cube1 X2 Cube2 X3

PR 100 Hz −7.5

Position in mm

(a)

12

14

−10 7.6

4

x 10

(a)

7.61

7.62

7.63

7.64 7.65 Time in ms

7.66

7.67

7.68 4

x 10

(b)

Figure 6.2: a, Positions of Cube 1 and Cube 2 tracking the target. b, Positions of Cube 1 and Cube 2 zoomed to show the variable delay and ZOH effect

(b)9

4 Delay 1 Delay 2 Delay 3 Delay 4

RMS Position Error in mm

3.5 3 2.5 2 1.5 1 0.5 0

Delay 1 Delay 2 Delay 3 Delay 4

8 Peak Position Error in mm

(a)

7 6 5 4 3 2 1

1, 1000 1, 500 1, 100 Scheme, Packet Transmission Rate in Hz

(a)

0

1, 1000 1, 500 1, 100 Scheme, Packet Transmission Rate in Hz

(b)

Figure 6.3: (a), RMS position error between Cube 1 and Cube 2 measured at WS 1 for Scheme 1. (b), Peak position error between Cube 1 and Cube 2 measured at WS1 for Scheme 1

53

(b)9

4 Delay 1 Delay 2 Delay 3 Delay 4

RMS Position Error in mm

3.5 3 2.5 2 1.5 1 0.5 0

Delay 1 Delay 2 Delay 3 Delay 4

8 Peak Position Error in mm

(a)

7 6 5 4 3 2 1 0

2−1, 1000 2−2, 1000 2−2, 500 2−2, 100 Scheme,Packet Transmission Rate in Hz

(a)

2−1, 1000 2−2, 1000 2−2, 500 2−2, 100 Scheme, Packet Transmission Rate in Hz

(b)

Figure 6.4: (a), RMS position error between Cube 1 and Cube 2 measured at WS 1 for Scheme 2. (b), Peak position error between Cube 1 and Cube 2 measured at WS1 for Scheme 2

(b)9

4 Delay 1 Delay 2 Delay 3 Delay 4

RMS Position Error in mm

3.5 3 2.5 2 1.5 1 0.5 0

Delay 1 Delay 2 Delay 3 Delay 4

8 Peak Position Error in mm

(a)

7 6 5 4 3 2 1

3, 1000 3, 500 3, 100 Scheme,Packet Transmission Rate in Hz

(a)

0

3, 1000 3, 500 3, 100 Scheme, Packet Transmission Rate in Hz

(b)

Figure 6.5: (a), RMS position error between Cube 1 and Cube 2 measured at WS 1 for Scheme 3. (b), Peak position error between Cube 1 and Cube 2 measured at WS1 for Scheme 3

54

(b) 3.5 Delay 1 Delay 2 Delay 3 Delay 4

3 2.5 2 1.5 1 0.5 0

RMS Force Applied To User 2 in N

RMS Force Applied To User 1 in N

(a)3.5

2.5 2 1.5 1 0.5 0

1, 1000 1, 500 1, 100 Scheme, Packet Transmission Rate in Hz

Delay 1 Delay 2 Delay 3 Delay 4

3

(a)

1, 1000 1, 500 1, 100 Scheme, Packet Transmission Rate in Hz

(b)

Figure 6.6: (a), RMS force applied to User 1 for Scheme 1. (b), RMS force applied to User 2 for Scheme 1

(b) 3.5 Delay 1 Delay 2 Delay 3 Delay 4

3 2.5 2 1.5 1 0.5 0

2−1, 1000 2−2, 1000 2−2, 500 2−2, 100 Scheme, Packet Transmission Rate in Hz

(a)

RMS Force Applied To User 2 in N

RMS Force Applied To User 1 in N

(a)3.5

Delay 1 Delay 2 Delay 3 Delay 4

3 2.5 2 1.5 1 0.5 0

2−1, 1000 2−2, 1000 2−2, 500 2−2, 100 Scheme, Packet Transmission Rate in Hz

(b)

Figure 6.7: (a), RMS force applied to User 1 for Scheme 2. (b), RMS force applied to User 2 for Scheme 2

55

(b) 3.5 Delay 1 Delay 2 Delay 3 Delay 4

3 2.5 2 1.5 1 0.5 0

3, 1000 3, 500 3, 100 Scheme, Packet Transmission Rate in Hz

RMS Force Applied To User 2 in N

RMS Force Applied To User 1 in N

(a)3.5

Delay 1 Delay 2 Delay 3 Delay 4

3 2.5 2 1.5 1 0.5 0

3, 1000 3, 500 3, 100 Scheme, Packet Transmission Rate in Hz

(a)

(b)

Figure 6.8: (a), RMS force applied to User 1 for Scheme 3. (b), RMS force applied to User 2 for Scheme 3

Figs. 6.6 (a) and 6.6 (b) show the RMS value of the force applied to User 1 and User 2 for Scheme 1 and for all three packet transmission rates. The RMS value of force for User 1 ranged from 0.92 N to 1.36 N for 1000 Hz, and 1.53 N to 1.65 N for 500 Hz, and 1.46 N to 1.72 N for 100 Hz. For User 2 the RMS value of force ranged from 0.95 N to 1.33 N for 1000 Hz, 1.54 N to 1.64 N for 500 Hz, and 1.47 N to 1.69 N for 100 Hz. Figs. 6.7 (a) and 6.7 (b) show the RMS value of the force applied to User 1 and User 2 for Scheme 2-1 and 2-2, and for all three packet transmission rates. For Scheme 2-1 the RMS value of force for User 1 ranged from 0.69 N to 0.88 N for 1000 Hz. For Scheme 2-2 it ranged from and 1.01 N to 1.17 N for 1000 Hz, and 1.3 N to 1.51 N for 500 Hz, and 1.47 N to 1.44 N for 100 Hz. For User 2 the RMS value of force for Scheme 2-1 ranged from 0.76 N to 0.8 N for 1000 Hz. For Scheme 2-2 it ranged from and 1.06 N to 1.32 N for 1000 Hz, 1.4 N to 1.57 N for 500 Hz, and 1.46 N to 1.51 N for 100 Hz. Figs. 6.8 (a) and 6.8 (b) show the RMS value of the force applied to User 1 and User 2 for Scheme 3 and for all three packet transmission rates. For User 1 it ranged from and 0.87 N to 1.02 N for 1000 Hz, 1.48 N to 1.59 N for 500 Hz, and 1.43 N to 1.58 N for 100 Hz respectively. For User 2 the RMS value of force for Scheme 2-1 ranged from 0.87 N to 1.2 N for 1000 Hz, and 1.55 N to 1.62 N for 500 Hz, and 1.45 N to 1.6 N for 100 Hz.

56

(b)

4.5

4.5

Out−of−Sequence Packets (%)

4

1000 Hz 500 Hz 100 Hz

3.5 3 2.5 2 1.5 1 0.5 0

1000 Hz 500 Hz 100 Hz

4 Packets Lost in Communication (%)

(a)

3.5 3 2.5 2 1.5 1 0.5

1

2

3 Delay Condition

(a)

4

0

1

2

3

4

Delay Condition

(b)

Figure 6.9: (a), Percentage of out-of-sequence packets for all the experiments combined. (b), Percentage of packets lost in transmission for the experiments combined

Figs. 6.9 (a) and 6.9 (b) show the network performance in terms of percentage of outof-sequence packets and packets that are lost in communication measured at WS1. Packet measurement data for four delay conditions from all the experiments were combined to calculate the lost and out-of-sequence packets as a percentage of total packets used during the experiments. For Delay condition 1 the out-of-sequence packet percentage were 0.0007% for 1000 Hz, and 0% for both 500 Hz and 100 Hz packet transmission rates. For Delay condition 2 it was 0.0064% for 1000 Hz. For Delay condition 3 it was 0.0086%, 0.0075% and 0.0078% for 1000 Hz, 500 Hz and 100 Hz respectively. For Delay condition 4 it was 0.0396%, 0.0224% and 0.0172% for 1000 Hz, 500 Hz and 100 Hz respectively. The percentage of packets lost in communication was 0% for Delay conditon 1 for all the three transmission rates. For Delay condition 2 it was 0.042% for 1000 Hz. For Delay condition 3 it was 0.0085%, 0.0113% and 0.0088% for 1000 Hz, 500 Hz and 100 Hz respectively. For Delay condition 4 it was 3.67%, 4.05% and 2.83% for 1000 Hz, 500 Hz and 100 Hz respectively. On the whole, the out-of-sequence packets percentage were negligible compared to UDP packets lost in communication. The lost packets percentage was highest for Delay condition

57

4, which was a transatlantic link to Italy from Seattle (Local). 6.4

Statistical Analysis

In order to determine the statistical significance of the results, a two-way within-subjects repeated measures ANOVA2 was performed on the objective performance measures using the SPSS statistics software tool. Results from Experiments 1 and 2 conducted at 1000 Hz packet transmission rate formed one set of data and the results from Experiment 3 conducted at the packet transmission rates of 500 Hz and 100 Hz formed the other set. Scheme 2-1 was not included in the statistical analysis of the data since it was tested only for 1000 Hz transmission rate. Also since Delay condition 2 was not used in Experiment 3, measures corresponding this delay condition from Experiments 1 and 2 was not included in the statistical analysis. The ANOVA results from Experiments 1 and 2 are given in Tables B.1-B.4, and from Experiment 3 in Tables B.1-B.4. Post hoc comparison using Sidak method was performed for the two ANOVA results and is shown in Tables B.9-B.12 for Experiments 1 and 2 and in Tables B.13-B.24 for Experiment 3. Using an independentsamples t-test, objective measures from Experiments 1 and 2 was then compared to measures from Experiment 3. For three virtual coupling schemes, two packet transmission rates (1000 Hz, 500 Hz and 1000 Hz, 100 Hz) and three delay conditions, a total of 18 independentsampled t-tests were performed for each measure. Tables B.25-B.28 show the results from the t-tests for all the measures. Significant results from the two-way repeated measures ANOVA are given in Tables 6.5 and 6.6. For RMS position error the delay had significant effect on all the schemes for all packet transmission rates and all the three schemes were significantly different from each other. Post hoc comparisons further revealed that for Scheme 1, packet transmission rate of 1000 Hz was significantly different from 500 Hz and 100 Hz for all the delay conditions. In Scheme 2-2, the packet transmission rate of 1000 Hz was significantly different from 500 Hz for Delay condition 1 and from 100 Hz for Delay conditions 1 and 3. For Scheme 3, the packet transmission rate of 1000 Hz was significantly different from 500 Hz for Delay 2

Mauchly’s Sphericity test was used to test the sphericity of the data and in the cases that it was violated, Huynh-Feldt-Test values were used.

58

Table 6.5: Repeated-measures ANOVA summary for Experiments 1 and 2 (significant results only) Measure

Source

Sig

RMSPE

Scheme

< 0.001

RMSPE

Delay

< 0.001

RMSPE

Scheme*Delay

0.009

PPSE

Scheme

< 0.001

PPSE

Delay

< 0.001

RMSF1

Delay

< 0.001

RMSF2

Delay

< 0.001

condition 1. Between 500 Hz and 100 Hz, no statistical significance was found for all the three schemes. For peak position error the delay had significant effect on all the schemes for all packet transmission rates and all the three schemes were significantly different from each other. Post Hoc comparisons further revealed that for Scheme 1, packet transmission rate of 1000 Hz was significantly different from 500 Hz and 100 Hz for Delay conditions 1 and 3. In both Scheme 2-2 and Scheme 3, the packet transmission rate of 1000 Hz was significantly different from 100 Hz for Delay condition 1. Between the 500 Hz and 100 Hz, no statistical significance was found for all the three schemes. Scheme 1 had higher values of force for User 1 and User 2. Scheme 2-2 had a lower value of force compared to Scheme 1 and 3. The force values for User 1 and 2 increased on the whole with decrease in the packet transmission rate. Repeated measures ANOVA of the data show that packet transmission rate had significant effect on both RMSF1 and RMSF2 and delay had significant effect on all the three schemes for 1000 Hz packet transmission rate. Post hoc comparisons further revealed that for all the three schemes, the packet transmission rate of 1000 Hz was significantly different from 500 Hz and 100 Hz.

59

Table 6.6: Repeated-measures ANOVA summary for Experiment 3 (significant results only)

6.5

Measure

Source

Sig

RMSPE

Scheme

< 0.001

RMSPE

Delay

< 0.001

RMSPE

Scheme*Delay

< 0.001

PPSE

Scheme

< 0.001

PPSE

Delay

< 0.001

PPSE

Scheme*Delay

< 0.001

RMSF1

Scheme

0.016

RMSF1

Rate

< 0.019

RMSF1

Scheme*Delay

0.007

RMSF2

Rate

0.05

RMSF2

Scheme*Delay

0.01

Discussion

In the experimental results, the peer-to-peer scheme (Scheme 1) showed a comparable performance to that of the server-based scheme, Scheme 3. Between Schemes 2-1 and 2-2, Scheme 2-2 was better in preserving position coherency. In our experiments with two fixed packet transmission rates, both the position error and the force rendered to the users increased with the reduction of the packet transmission rate for all three schemes. Scheme 2-1 showed a large position error due to the compliance between the remote and local user position at each user’s end. When the virtual coupling parameters were increased to the same value of Scheme 1, the position errors reduced to a level comparable to that of Scheme 1. The position error was sensitive to both delay and packet transmission rate. Scheme 1 was most sensitive to packet transmission rate showing significant difference between 1000 Hz and the other two transmission rates of 500 Hz and 100 Hz. Scheme 2 showed significant difference only for Delay conditions 1 and 3. In this Scheme, the ZOH

60

that holds the previous valid haptic data value until the new transmission arrives to each user, due to lost packets, time-varying delay and reduced transmission rate acted as a step disturbance to the local copy of the cube. This effect was dominant for the largest delay corresponding to Delay condition 4, which also has the higher percentage of lost packets. Scheme 3 had the least effect on packet transmission rate in terms of position error which is not surprising since the server maintains the copy of the cube and only positions are transmitted across the network. Both the RMS position error and force rendered to users increased with reduction in the packet transmission rates. As expected, this increase was due to the ZOH used for filling the missing haptic packet information. We plan to further investigate using a higher order hold and prediction techniques to mitigate this problem. In this work, the virtual coupling schemes were tested within its stable region of operation. In Chapter 9, we have implemented time delay compensation techniques using wave variables and time-domain passivity control methods for Scheme 1 and compared the performance to that of a tuned PD Control. In addition, in this work only two users were considered; subsequently, we plan to study the virtual coupling schemes for more than two users.

61

Chapter 7 TIME-VARYING NETWORK DELAY CHARACTERIZATION AND EMULATION

In this chapter, I will discuss results from my Internet delay characterization and emulation experiments1 . The focus of this chapter is to understand the characteristics of a network like the Internet at haptic data rates and efforts to recreate similar characteristics in a local network setting using a network emulator 7.1

Motivation

Global scale haptic collaboration using the Internet requires not only the design and implementation of virtual coupling schemes for position coherency, but also a thorough understanding of the time-varying nature of the network. In networks like the Internet, the delays are time-varying and the packet loss depends on the network traffic. These networks use a packet-switching mechanism to direct the packets to their destinations. As a result, the delay encountered by a packet consists of a fixed propagation delay between the routers, and a varying component that includes processing and queuing delays at each of these routers. Packets may also be dropped or rejected at these routers because of buffer overflows or packet errors. The drop rate and delay characteristics differ considerably depending on the rate and size of the data packets. In NHVEs, the information often needs to be exchanged at a rate of 1000 packets/sec. because of the high sampling rate that many of the haptic devices use [8]. Depending on the packet size, this can occupy a significant portion of the available bandwidth. Unlike the connection-oriented TCP —where there is a back and forth transmission of packets— UDP is faster and much better suited for high packet transmission rate NHVE applications, since it is a connection-less lightweight protocol. 1

Results from this work were presented at the Robocomm 2007 conference [46]

62

It is often difficult to test the robustness of a NHVE system unless it is exposed to a realistic network condition. At the same time, it is desirable to achieve this in a laboratory setting so that the systems can be fine-tuned for performance. These test systems could also be useful for other delay-sensitive systems such as teleoperation. Network characteristics are important to a variety of interactive applications including cooperating robots, teleoperated robots, and multi-user virtual reality. Future applications such as coupled multi-user, multi-robot teleoperation systems would be enabled by robust network performance. For example, a junior surgeon and a mentor surgeon could jointly control a surgical robot with both surgeons and the patient in three separate locations. The work in this chapter focuses on NHVEs. However, in this chapter we also study several different servo rates so that the results can map to multiple applications. 7.2

Background

In [47] the end-to-end packet delay and loss behavior of the Internet was studied using a UDP probe packet at different data rates. They found rapid fluctuations of queuing delays over small intervals, and that the compression of the probe packets and packet loss were random, unless the probe packets used a large amount of the available bandwidth. In [48], the Internet delay and loss behavior was studied using TCP packets to model out-oforder packets and reordering. They found that a large percentage of packet reordering was common throughout the Internet and it was correlated to routing fluctuations. 7.3

Network Emulators

Network emulators (Fig. 7.1) are a type of software that can locally recreate various network conditions such as delay, packet loss, bandwidth limitations, and router congestions in a laboratory setting. Several popular network emulator software packages exist, such as Dummynet for FreeBSD, and the Hitbox pseudo-device for SunOS, which can recreate different network conditions inside of a local area network. NIST Net [49] is a Linux-kernel based open source network emulator. It has features for inputting a user-defined delay table and some of its configurable parameters are: mean delay, standard deviation, bandwidth, packet drop percentage, and packet duplication. In addition, it has both graphical and

63

command line interfaces for user input. It is important to highlight the difference between the network emulator and a simulator: in network emulators, delay and other characteristics are applied to real packets in a local network setting. However, in a simulator, the delay and other characteristics are applied to virtual packets in a computer simulation. 7.3.1

Generation of Random Delay Variables

The NIST Net version 2.0.12 uses a very simple method to generate delay random variables with specified mean and standard deviation based on the input delay distribution table. Let X be the normalized random variable having a probability density function f (x). Then the cumulative distribution function cdf of the continuous random variable X is given by equation 7.1.

FX (x) = P [X < x] =

Z

x

f (t)dt

(7.1)

−∞

Assume that inverse of the cdf exists and is given in equation 7.2. ZY (y) = FX−1 (x)

(7.2)

Let U be a uniformly distributed random variable in the interval [0,1]. Then, a desired random variable Y can be obtained as shown in equation 7.3. The proof of this is straightforward and it is shown in equation 7.4.

Y = Z(U )

(7.3)

P [Y ≤ x] = P [Z(U ) ≤ x] = P [U ≤ FX (x)] = FX (x)

(7.4)

In NIST Net, FX (x) is the cdf of the normalized delay distribution which is obtained through measurements of a network like the Internet. Let the new distribution that is generated using FX (x) have a desired mean delay D ms and standard deviation σ ms. Then, the NIST Net generated delay time is given in equation 7.5.

64

Incoming Packets

Outgoing Packets

UDP

UDP Network Emulator

Figure 7.1: Network emulator with variable delay

Y = D + Z(U ) ∗ σ

(7.5)

For a more detailed implementation of correlation, random packet drop, and other parameters refer to [49]. 7.4

Goals of This Study

The objective of this work is to evaluate NIST Net for its suitability as a network emulator for NHVE systems. 7.5 7.5.1

Experiment Setup Delay Characterization Experiment Setup

To study the characteristics of the Internet for haptic data rates, a packet reflector program was hosted at a server in North Carolina State University, Raleigh, North Carolina USA, and a second reflector hosted at Scuola Superiore Sant’Anna, Pontedera, Italy Italy. The setup consists of two computers, one at our laboratory at the University of Washington, Seattle Local and the other at Raleigh or Pontedera, Italy. UDP data packets with similar data structure as the one used in our NHVE study were used for transmission. The structure of the data packets is given below; it consists of two time stamp fields for the server and client computers, an integer field for the packet sequence number, data arrays for transmitting position information, and a checksum field for doing a simple checksum-based error. typedef struct{ unsigned long int servoTick; /* Servo loop number */

65

RtUTCtime s_timestamp; /* Server timestamp */ RtUTCtime c_timestamp; /* Client timestamp */ double g_pos[3]; /*Goal position - Scheme 3 */ double c_pos[3]; /*Constraint position - Scheme 2 */ double g_rb[3];

/*Rigid Body Position - Scheme 1*/

double t_pos[3]; /* Haptic handle velocity - Scheme 2*/ int checksum; }commData;

The total size of the UDP payload was 120 bytes. The packet reflector program is a simple UDP server which receives predefined packets at a port and reflects them back to the sender with time stamp information. Packet round-trip time was used in analyzing the delay characteristics because of the potential drifts in system clocks at the server and the client computers. The packet sequence number was used to detect the out of sequence packets and the checksum field was used to detect corrupt packets. The simple checksum method used in this experiment is the integer value of the sum of all data arrays and the sequence number in the packet data structure. The network topology for the delay characterization experiment is shown in Fig. 7.2. Both the Local lab and the USA lab are connected via the Abilene2 Internet2 backbone network shown in Fig.7.3. It guarantees a 100Mbps connection between any two computers connected via this network. The connection to Italy consists of three main networks: the Abilene, GEANT2 (Fig. 7.4) and GARR (Fig. 7.5). Both GEANT2 and GARR are European research networks that guarantee high speed connectivity. A switching node at New York City connects GEANT2 to Abilene. The packet switching routes for the two servers were obtained using the traceroute application and are shown in Figs. 7.6 and 7.7. There were at least 17 hops to the USA server and 25 hops to Italy.

2

Experiments carried out in June 2006. In 2007 UW joined the National Lambda Rail (NLR) network

66

Figure 7.2: Network topology for the delay characterization experiment

abilene.gif

Figure 7.3: Abilene Internet2 backbone network

67

GEANT2.jpg

Figure 7.4: GEANT2 research network

GARR.gif

Figure 7.5: GARR research network

68

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

astrovac-V1.cac.washington.edu (128.95.205.100) uwbr-ads-01-vl1998.cac.washington.edu (140.142.155.23) hnsp2-wes-ge-0-0-0-0.pnw-gigapop.net (209.124.176.12) abilene-pnw.pnw-gigapop.net (209.124.179.2) dnvrng-sttlng.abilene.ucaid.edu (198.32.8.50) kscyng-dnvrng.abilene.ucaid.edu (198.32.8.14) iplsng-kscyng.abilene.ucaid.edu (198.32.8.80) chinng-iplsng.abilene.ucaid.edu (198.32.8.76) nycmng-chinng.abilene.ucaid.edu (198.32.8.83) washng-nycmng.abilene.ucaid.edu (198.32.8.85) rlgh1-gw-abilene-oc48.ncren.net (198.86.17.65) rlgh7600-gw-to-rlgh1-gw.ncren.net (128.109.70.38) ncsu7600-gw-to-rlgh7600-gw.ncren.net (128.109.70.26) ncsu7609-1-to-ncsu7600-gw.ncren.net (128.109.70.46) cmdfcore-6509-1-gi3-8.ipt.ncstate.net (152.1.6.205) cmdfhub-6509msfc-2.ncstate.net (152.1.7.73) surf.imaging.ncsu.edu (152.14.96.140)

Figure 7.6: Route between the Local and USA servers

7.5.2

Delay Emulator Experiment Setup

The delay emulator experiment setup consists of three workstations in a local network, with one acting as a router between the other two. The router (WS3) was a RedHat Linux AMD Athlon 1.2 GHz computer with 256 MB RAM and 10/100 Mbs network cards. The other two workstations are AMD Opteron 1.5 GHz with 1 GB RAM and Intel Pentium 4 2.66 GHz with 1 GB RAM with both running on Fedora Core 4. They also have 10/100 Mbs high speed Ethernet cards for communication. The local network configuration is shown in Fig. 7.8. The router has two network interface cards connected to it with IP addresses 192.168.0.1 and 192.168.1.1 respectively. The workstations WS1 and WS2 have IP addresses 192.168.0.5 and 192.168.1.5 and are connected to each of the network interfaces of the router and their default gateway is set appropriately. The router was configured to transfer packets from each of the two workstations by establishing a local network. NIST Net was running on WS3.

69

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

astrovac-V1.cac.washington.edu (128.95.205.100) uwbr-ads-01-vl1998.cac.washington.edu (140.142.155.23) hnsp2-wes-ge-0-0-0-0.pnw-gigapop.net (209.124.176.12) abilene-pnw.pnw-gigapop.net (209.124.179.2) dnvrng-sttlng.abilene.ucaid.edu (198.32.8.50) kscyng-dnvrng.abilene.ucaid.edu (198.32.8.14) iplsng-kscyng.abilene.ucaid.edu (198.32.8.80) chinng-iplsng.abilene.ucaid.edu (198.32.8.76) nycmng-chinng.abilene.ucaid.edu (198.32.8.83) 198.32.11.51 (198.32.11.51) so-7-0-0.rt1.ams.nl.geant2.net (62.40.112.133) so-6-2-0.rt1.fra.de.geant2.net (62.40.112.57) so-6-2-0.rt1.gen.ch.geant2.net (62.40.112.21) so-2-0-0.rt1.mil.it.geant2.net (62.40.112.34) garr-gw.it1.it.geant.net (62.40.103.190) rt1-mi1-rt-mi2.mi2.garr.net (193.206.134.190) rt-mi2-rt-to1.to1.garr.net (193.206.134.42) rt-to1-rt-pi1.pi1.garr.net (193.206.134.74) rt-pi1-ru-unipi-1.pi1.garr.net (193.206.136.14) ser-smr.unipi.it (131.114.191.186) jsmr-bd.unipi.it (131.114.191.206) sssup-gw.unipi.it (131.114.191.42) *** *** euron.sssup.it (193.205.82.131)

Figure 7.7: Route between Local and Italy servers

Figure 7.8: Delay emulator experiment setup

70

7.6 7.6.1

Experimental Procedure Delay Characterization Experiment Procedure

For the delay characterization experiment, the packet reflector program was started at our server sites. For each trial, 20,000 UDP data packets were transmitted to the servers. The packet rate was controlled by the haptic servo loop program. The packet reflector program waits for 100 seconds after the last packet was sent before starting the next trial. There were 20 trials in total, 10 for each of the two servers.

7.6.2

Delay Emulator Experiment Procedure

For delay emulation we used WS1 as the server and the packet reflector program was run on that machine. WS2 was used to send UDP data packets through the router. We also used 20,000 UDP packets for every trial. The NIST Net parameters, mean delay in ms, and standard deviation in ms were varied according to Table 7.1. Since delay was included in both directions from WS2 to WS1, the expected round-trip mean delay and standard deviation are also shown in Table 7.1. The NIST Net allows the input from a user-defined table to control the statistics of the generated delay values. In this case, we used tables from our characterization experiments to Italy. There were five trials for each delay condition and the trials were repeated for the packet rates of 1000, 500, 333, and 250 packets/sec respectively. Altogether, there were 120 trials combining all input delay conditions and packet rates. The entire experiment procedure was repeated to study the behavior of NIST Net with the default input table that comes with the software. 7.7 7.7.1

Results Delay Characterization Test Results

The test results from sending 20,000 UDP data packets to the USA and Italy servers are given in Table 7.2. The round-trip delay distribution from both experiments for one of the trials is shown in Figs. 7.9 and 7.10. The delay distribution to USA was mostly concentrated on two peaks close to the mean delay value of 82.52 ms as expected for the mean standard

71

Table 7.1: Emulator delay parameters input and expected round-trip characteristics Delay ms

Std ms

RT Delay ms

RT Std ms

50

5

100

7.07

50

10

100

14.14

100

5

200

7.07

100

10

200

14.14

150

5

300

7.07

150

10

300

14.14

deviation value of 1.69 ms. The delay distribution for Italy is characterized by a “long tail” to the right (longer delay times) compared to a symmetric normal distribution. To better understand the delay characteristics, a phase plot in which the current value of the round-trip delay n is plotted against the next value n+1 and it is shown in Fig. 7.11. At each router, the UDP data packets get in a queue along with other Internet packets like TCP and FTP. Since our test packets are generated and transmitted at a rate of 1000 Hz, which corresponds to a 1 ms time interval, some of the series of these packets get in queue behind other Internet packets in a buffer at the routers. The router then processes these packets after finishing up the Internet packets already in queue. This phenomenon is called “probe compression” [47], in which a sequence of probe UDP packets that are generated at very high rates gets compressed between other Internet packets at the queue. The delay time is highly correlated for such packets and they accumulate along the slope of a line as shown in Fig. 7.11. Two trials were also conducted with a packet transmission rate of 10 and 2 packets/sec and their phase plot is shown in Figs. 7.12 and 7.13. These show that the delay values are much less correlated for lower packet rates.

72

Histogram of Roundtrip time delay 2500

Packet Count

2000

1500

1000

500

0 180

200

220

240 260 Rountrip delay in ms

280

300

320

Figure 7.9: Round-trip delay distribution for packets from the Local server to Italy

Histogram of Roundtrip time delay 12000

10000

Packet Count

8000

6000

4000

2000

0 80

90

100

110 120 Rountrip delay in ms

130

140

Figure 7.10: Round-trip delay distribution for packets from the Local server to USA

73

Phase Plot of Rountrip delay ms 500 450 400

delay (n+1) (ms)

350 300 250 200 150 100 50 0

0

50

100

150

200 250 300 delay n (ms)

350

400

450

500

Figure 7.11: Phase plot of round-trip delay for a packet interval of 1 ms

Phase Plot of Round Trip Delay 700

600

delay (n+1) ms

500

400

300

200

100

0

0

100

200

300 400 delay n (ms)

500

600

700

Figure 7.12: Phase plot of round trip delay for a packet interval of 100 ms

74

Table 7.2: Average values from Internet delay characterization experiments

7.7.2

Location

RT mean ms

RT Std ms

Lost+Dropped packets %

Italy

222.12

38.38

4.4

NCSU

82.52

1.69

2.4

Results From the Delay Emulator Experiment

Data from the Italy experiments was used as input to the NIST Net emulator along with the default input table that comes with the software. On our initial run we found that there was more than 50% packet loss for trials at a packet rate of 1000 Hz. Most of the packet loss was due to out-of-sequence packets and happened at the FIFO of the output buffer of NIST Net. When each packet arrives at the network interface of the router, they are time-stamped and the output time for each packet is calculated based on statistically generated time using the empirical distribution curve provided at the input. When the desired standard deviation is greater or equal to the inter-arrival time of the data packets —which are 1, 2, 3 and 4 ms in this case— a lot of the UDP packets get swapped at the FIFO. This situation is unrealistic given that the real Internet routers have deterministic FIFOs. Therefore, we decided to use a NIST Net model with a modified FIFO, which prevents the datagram packets from swapping while it was waiting at the output buffer. This modification forces the packet to stay in the output queue until all other packets before it have exited. As a result of this modification there are noticibly two effects: • Each packet acquired additional queuing delay. • The resultant distribution was different from the expected distribution based on the input data table. The NIST Net-emulated delay distribution curves using both default and measured Italy parameters are shown in Figs. 7.14 and 7.15. The packet rate was 1000 Hz, corresponding

75

Phase Plot of Rountrip delay ms 500 450 400

delay (n+1) (ms)

350 300 250 200 150 100 50 0

0

50

100

150

200 250 300 delay n (ms)

350

400

450

500

Figure 7.13: Phase plot of round trip delay for a packet interval of 500 ms

to an expected mean delay value of 200 ms and a standard deviation of 7.07 ms. The mean delay emulated when using default parameters was 213 ms with a standard deviation of 5.4 ms. Using the Italy parameters the mean delay was 216 ms with a standard deviation of 3.8 ms. In Fig. 7.16, the measured mean delay in emulator experiments versus the mean specified to NIST Net using the Italy acquired parameters is shown. For an expected mean delay of 100 ms, the actual mean delay varied from 116 ms to 108 ms for packet transmission rates of 1000 Hz to 250 Hz. Similarly, for an expected mean delay of 200 ms, the actual mean delay varied from 216 ms to 208 ms and for an expected mean delay of 300 ms the actual mean varied between 316 ms to 308 ms. In Fig. 7.17, the measured standard deviation in emulator experiments versus the standard deviation specified to NIST Net using the Italy acquired parameters is shown. For an expected standard deviation of 7.07 ms, the actual standard deviation varied from 3.69 ms to 6.01 ms for a packet transmission rate of 1000 Hz to 250 Hz. Comparatively, for an expected standard deviation of 14.14 ms the actual standard deviation varied from 5.53 ms

76

Histogram of Roundtrip time delay 1500

Packet Count

1000

500

0 180

200

220

240 260 Rountrip delay in ms

280

300

320

Figure 7.14: Round-trip delay plot emulated using NIST Net default parameters table for expected delay condition of 200 ms and std 7.07 ms

Histogram of Roundtrip time delay 1600 1400

Packet Count

1200 1000 800 600 400 200 0 180

200

220

240 260 Rountrip delay in ms

280

300

320

Figure 7.15: Round-trip delay plot emulated using measured Italy parameters table for expected delay condition of 200 ms and std 7.07 ms

77

Actual Mean Delay Vs Expected Mean Delay For Std 7.07 ms, Italy Acquired Table 350

Actual Mean Delay in ms

300 1000 Hz 500 Hz 333 Hz 250 Hz

200

100 100

200 Expected Mean Delay in ms

300

Figure 7.16: Actual mean delay versus expected mean delay for 7.07 ms standard deviation

to 10.08 ms. In Fig. 7.18, the percentage of data packets rejected at WS2 out of 20,000 packets for the emulation experiment using the Italy acquired parameters at each packet transmission rate is shown. The packet rejection includes corrupt and out of sequence packets. At the packet transmission rate of 1000 Hz, the percentage of packets rejected was 27.6%, 27.5% and 28.3% for expected mean delay values of 100, 200 and 300 ms and a standard deviation of 7.07 ms. Analogously, for a packet transmission rate of 500 Hz the percentage of packets rejected was 21.9%, 21.5% and 21.7%; for a packet tranmission rate of 333 Hz it was 17.15%, 17.18% and 16.8%; and for a packet transmission rate of 250 Hz, it was 13%, 12.9% and 12.5%. In Figs. 7.19 and 7.20, the phase plot of emulated data using Italy acquired parameters for a packet transmission rate of 1000 and 250 Hz is shown. The delay parameters specified for NIST Net were a mean delay of 200 ms and a standard deviation of 14.14 ms. For the packet transmission rate of 1000 Hz, the delays varied from 212 ms to 254 ms, while for the packet transmission rate of 250 Hz, they varied from 189 ms to 253 ms. Both phase plots

78

Actual Std Vs Expected Std For 100 ms, Italy Acquired Table 14.14

Actual Std in ms

1000 Hz 500 Hz 333 Hz 250 Hz

7.07

0 0

7.07 Expected Std in ms

14.14

Figure 7.17: Actual standard deviation versus expected standard deviation for 100 ms, Italy acquired parameters table

show higher correlation for the delay values.

7.7.3

Simulation of Out of Sequence Packets

A simulation of time-varying delays was performed based on equation 7.5 to mathematically predict an expected number of out of sequence packets. This simulation refers to software code running on a computer that calculates and applies delays to virtual packets generated during the simulation, as opposed to an emulator where the delays are applied directly to real packets connected via hardware. A plot of the percentage of out of sequence packets rejected at WS2 for an expected delay of 100 ms and a standard deviation of 7.07 ms using the Italy acquired table is shown in Fig. 7.21. Also in the same plot the simulated expected percentage of out of sequence packets were plotted. The theoretical percentage value was 41.5%, 37.2%, 35.4% and 34.1% for packet transmission rates of 1000, 500, 333 and 250 Hz respectively. The percentage of packets rejected were 27.6%, 21.9%, 17.2% and 13%.

79

Packet Transmission Rate Vs Percentage of Data Packet Rejected At WS2 For Std 7.07 ms, Italy Acquired Table

Percentage of Data Packets Rejected at WS 2

30 100 ms, 7.07 ms 200 ms, 7.07 ms 300 ms, 7.07 ms linear

25

20

15

10

5

0

0

250 333

500 Packet Transmission Rate

1000

1200

Figure 7.18: Percentage of packets rejected at WS2 versus packet transmission rate

Phase Plot of Rountrip Delay ms (ItalyAcquired Table) 300 (200 ms, 14.14 ms) 1000 Hz

250

delay (n+1) (ms)

200

150

100

50

0

0

50

100

150 delay n (ms)

200

250

300

Figure 7.19: Phase plot of emulated round-trip delay for a packet transmission rate of 1000 Hz and input delay parameters of 200 ms mean delay and 14.14 ms standard deviation.

80

Phase Plot of Rountrip delay ms (Italy Acquired Table) 300 (200 ms, 14.14 ms) 250 Hz

250

delay (n+1) (ms)

200

150

100

50

0

0

50

100

150 delay n (ms)

200

250

300

Figure 7.20: Phase plot of emulated round-trip delay for a packet transmission rate of 250 Hz and input delay parameters of 200 ms mean delay and 14.14 ms standard deviation.

Percentage of Data Packets Rejected at WS 2 Simulated Out of Sequence Packet Percentage

Simulated Out of Sequence Packets and Percentage of Dropped Packets at WS 2 For Mean 100 ms and Std 7.07 ms 50 Theoritical Nist Net linear

45 40 35 30 25 20 15 10 5 0

0

250 333

500 Packet Transmission Rate

1000

Figure 7.21: Comparison of simulated versus emulated out of sequence packets for input delay condition of 100 ms mean delay and 7.07 ms standard deviation

81

7.8

Discussion

We have implemented a NIST Net network emulator and configured it to recreate time varying delay conditions for packet types, sizes, and rates typical of NHVEs. This emulator can take experimental distribution values to generate time varying random delays. We found that the emulated mean delay values were higher than desired for all the four packet transmission rates. In addition, the emulated standard deviation was lower than desired for all the four packet transmission rates. Also, the emulated delay distribution was different than the actual distribution obtained using the delay characterization experiments. This deviation was due to the FIFO modification needed to avoid packet reordering. The percentage of out of sequence packets were considerably reduced due to the modification. The comparison of the percentage of packets rejected at WS2 and the simulated expected percentage of out of sequence packets also confirms this. The packet loss was higher for a packet transmission rate of 1000 Hz, which is the typical rate of haptic applications. While it was lower for a packet transmission rate of 250 Hz, at this low packet transmission rate the networked haptic application may not perform well or may be unstable. The advantage of using this implementation of the network emulator consists in its ability to recreate various network conditions in a laboratory setting. The input parameters for the emulator can be modified to generate the expected delay values. Moreover, NIST Net has additional input parameters like bandwidth, congestion, and random drop that could be used to emulate varying bandwidth, QoS, and wireless like networks. The emulator can also be used in testing teleoperation and other similar systems. In Chapter 8, NIST Net is used to recreate one of the network condition from the Internet experiment in Chapter 6 and the virtual coupling schemes were tested under this network condition at three packet transmission rates and its performance is compared to the actual Internet experiment.

82

Chapter 8 COMPARISON OF THE PERFORMANCE OF VIRTUAL COUPLING SCHEMES FOR HAPTIC COLLABORATION USING REAL AND EMULATED INTERNET CONNECTIONS In this chapter, I will discuss the results from the testing of the virtual coupling schemes using an emulated Internet connection and compare them to the results of using a real Internet connection1 . In Chapter 7, NIST Net —a popular network emulator— was tested in its suitability in reproducing Internet-like network characteristics at haptic data communication rates. In this chapter, the network emulator is tested in an actual NHVE at haptic data communication rates for its effectiveness. 8.1

Goals of This Study

The objective for this work is to compare the performances of the three virtual coupling schemes with a time varying network delay condition emulated using NIST Net to the actual Internet network conditions at three fixed packet transmission rates. 8.2

Experiment Design

From our previous global scale Internet haptic experiment (Chapter 6) we chose to recreate, using the network emulator, the delay mean and standard deviation values corresponding to the packet reflector location in Italy. The delay distribution curve for packets from WS2 to WS1 from one of the experiments to Italy was given as input to NIST Net. Several trials were conducted by transmitting UDP haptic data packets between WS2 and WS1 and the emulator delay parameters were chosen so that they would give the closest possible match to the data from the Italy experiment, as shown in Table 6.4. The emulator delay parameters used in the experiment are shown in Table 8.1. Additional NIST Net parameters 1

Results from this work were presented at the Robocomm 2007 Conference [50]

83

like random drop and duplicate packets were not utilized. The delay conditions were applied only to the UDP communication between WS1 and WS2; the TCP-based target initiation signals between WS1 and WS2 were not delayed. Table 8.1: NIST Net emulator delay parameters

Delay Condition

Mean (ms)

Std (ms)

WS1 to WS2

197.0

2.4

WS2 to WS1

197.0

2.4

A within-subject repeated measures design was adopted to test the three virtual coupling schemes using the emulator at three different packet transmission rates. Ten subjects, eight male and two female, with ages ranging from 22 to 50 years old were selected for these experiments. The experiment was conducted for the three virtual coupling schemes using the parameters shown in Table 6.3. Every scheme was tested for three packet transmission rates: 1000, 500 and 100 Hz with nine trials per subject. The position and velocity of the two cubes, along with the position of the target and the forces rendered to each user, the number of corrupt, as well as out-of-sequence and lost packets, and the delay in ms computed from the time stamp information, were recorded in a file for analysis. Using an independent-samples t-test, each objective measure was then compared to data obtained using the Internet experiment as described in Chapter 6. For three virtual coupling schemes and three packet transmission rates, a total of nine independent-samples t-tests were performed for each measure. 8.3

Experimental Results

The histograms of the emulated one-way delay between WS1 and WS2 and the data from the Italy experiment for packet transmission rates of 1000, 500 and 100 Hz are shown in Figs. 8.1, 8.2 and 8.3 respectively. The independent axis represents the delay in ms and

84

(a)

(b)

4

12

x 10

12

10

8 Delay Count

Delay Count

Internet 1000 Hz

10

Emulator 1000 Hz

8

6

6

4

4

2

2

0 190

4

x 10

200

210 220 230 240 One−way Timevarying Delay in ms

250

260

(a)

0 190

200

210 220 230 240 One−way Timevarying Delay in ms

250

260

(b)

Figure 8.1: Histogram of one-way time varying delay for 1000 Hz packet transmission rate using NIST net (a), and with data from the Italy experiment (b)

the dependent axis, the count of the one-way delays in ms measured at WS1. All the delay values had a peak value around their respective means and a long tail toward increasing delay. Table 8.2 shows the mean delay and the standard deviation values obtained using the emulator for the three packet transmission rates. Figure 8.4 shows the RMS position error between x2 (t) and x3 (t − T2 (t)) measured at WS1 from the experiments using NIST Net and the Internet for the three packet transmission rates of 1000, 500 and 100 Hz. The vertical error bars represent the standard deviation around mean error values. In the experiment using NIST Net, the RMS position error ranged from 0.82 mm to 0.83 mm for Scheme 1, from 1.04 mm to 1.12 mm for Scheme 2, and from 0.73 mm to 0.80 mm for the Scheme 3. In contrast, in the experiment using the Internet, the RMS position error ranged from 0.67 mm to 0.86 mm for Scheme 1, from 0.93 mm to 1.13 mm for Scheme 2, and from 0.76 mm to 0.83 mm for the Scheme 3. The independent-samples t-test between the emulator and the Internet experiment (Table 8.3) show that the RMS position errors for Scheme 1 at 1000 Hz were significantly different, with a p value of 0.007. The significant measure is also shown in the graph with a red asterisk.

85

(b)

4

4

x 10

4

3.5

3.5

3

3

Emulator 500 Hz

2.5

Delay Count

Delay Count

(a)

2 1.5

Internet 500 Hz

2.5 2 1.5

1

1

0.5

0.5

0 190

4

x 10

200

210 220 230 240 One−way Timevarying Delay in ms

250

0 190

260

200

(a)

210 220 230 240 One−way Timevarying Delay in ms

250

260

(b)

Figure 8.2: Histogram of one-way time varying delay for 500 Hz packet transmission rate using NIST Net (a), and with data from the Italy experiment (b)

(a)

(b)

8000

8000

7000

7000

Emulator 100 Hz

5000 4000

5000 4000

3000

3000

2000

2000

1000

1000

0 190

200

210 220 230 240 One−way Timevarying Delay in ms

(a)

250

Internet 100 Hz

6000

Delay Count

Delay Count

6000

260

0 190

200

210 220 230 240 One−way Timevarying Delay in ms

250

260

(b)

Figure 8.3: Histogram of one-way time varying delay for 100 Hz packet transmission rate using NIST Net (a), and with data from the Italy experiment (b)

86

Table 8.2: One-way emulated delay measured at WS1

Packet Rate (Hz)

Mean (ms)

Std (ms)

1000

203.27

2.75

500

202.21

2.52

100

201.2

2.23

It should be mentioned that we need to interpret the statistical results with care since there is a large number of t-tests. Figure 8.5 shows the peak position error between x2 (t) and x3 (t − T2 (t)) from the experiments using NIST Net and the Internet for the three packet transmission rates of 1000, 500 and 100 Hz. In the experiment using NIST Net, the peak position error ranged from 1.80 mm to 2.21 mm for Scheme 1, from 2.74 mm to 3.39 mm for Scheme 2, and from 1.92 mm to 2.31 mm for the Scheme 3, while in the experiment using the Internet, the peak position error ranged from 1.59 mm to 2.00 mm for Scheme 1, from 2.76 mm to 3.26 mm for Scheme 2, and from 1.93 mm to 2.52 mm for the Scheme 3. The independent-samples t-test between the emulator and the Internet experiment show that the peak position errors for Scheme 1 at 1000 Hz were significantly different, with a p value of 0.029. Figure 8.6 shows the RMS force applied to User 1 for all the three schemes, from the experiments using NIST Net and the Internet for the three packet transmission rates of 1000, 500 and 100 Hz. The lower and upper force thresholds used for changing the color of the cube are shown in horizontal dotted lines. In the experiment using NIST Net, the RMS force ranged from 1.63 N to 1.66 N for Scheme 1, from 1.44 N to 1.50 N for Scheme 2, and from 1.45 N to 1.56 N for Scheme 3. Likewise, In the experiment using the Internet, the RMS force ranged from 1.36 N to 1.69 N for Scheme 1, from 1.17 N to 1.51 N for Scheme 2, and from 1.02 N to 1.50 N for the Scheme 3. All the force values were within the upper

87

(a)4.5

(b) 4.5 1000 Hz 500 Hz 100 Hz

Emulator

3.5 3 2.5 2 1.5 1 0.5

*

0

2 Virtual Coupling Schemes

Internet

3.5 3 2.5 2 1.5 1 0.5

1

1000 Hz 500 Hz 100 Hz

4 RMS Position Error in mm

RMS Position Error in mm

4

*

0

3

1

2 Virtual Coupling Schemes

(a)

3

(b)

Figure 8.4: RMS position error between Cube 1 and Cube 2 for all the schemes using NIST Net (a), and with data from the Italy experiment (b)

(a)4.5

(b) 4.5 1000 Hz 500 Hz 100 Hz

Emulator

3.5 3 2.5 2

*

1.5 1 0.5 0

1000 Hz 500 Hz 100 Hz

4

Internet Peak Position Error in mm

Peak Position Error in mm

4

3.5 3 2.5 2 1.5

*

1 0.5

1

2 Virtual Coupling Schemes

(a)

3

0

1

2 Virtual Coupling Schemes

3

(b)

Figure 8.5: Peak position error between Cube 1 and Cube 2 for all the schemes using NIST Net (a), and with data from the Italy experiment (b)

88

(b) 3.5 1000 Hz 500 Hz 100 Hz

RMS Force Applied to User 1 N

3

Emulator 2.5 2 1.5

*

*

*

*

1 0.5 0

3 RMS Force Applied to User 1 N

(a)3.5

1000 Hz 500 Hz 100 Hz

Internet 2.5 2 1.5 1

*

*

*

0.5

1

2 Virtual Coupling Schemes

(a)

3

0

1

2 Virtual Coupling Schemes

3

(b)

Figure 8.6: RMS force user applied to User 1 for all the schemes using NIST Net (a), and with data from the Italy experiment (b)

and lower force thresholds. The independent-samples t-test between the emulator and the Internet experiment show that the RMS force for all the three schemes at 1000 Hz were significantly different, with a p value of 0.007, 0.015 and 0.013 respectively. Figure 8.7 shows the RMS force applied to User 2 for all the three schemes, from the experiments using NIST Net and the Internet for the three packet transmission rates of 1000, 500 and 100 Hz. In the experiment using NIST Net, the RMS force ranged from 1.68 N to 1.73 N for Scheme 1, from 1.52 N to 1.61 N for Scheme 2, and from 1.49 N to 1.60 N for Scheme 3 respectively. Similarly, in the experiment using the Internet, the RMS force ranged from 1.33 N to 1.66 N for Scheme 1, from 1.32 N to 1.57 N for Scheme 2, and from 1.20 N to 1.55 N for Scheme 3. All the force values were within the upper and lower force thresholds. The independent-samples t-test between the emulator and the Internet experiment show that the RMS force for Scheme 1 and Scheme 2 at 1000 Hz was significantly different, with a p value of 0.004 and 0.034 respectively. Figure 8.8 shows the network packet loss characteristics as a percentage of the total packets used in the experiments with NIST Net and the Internet computed at WS1. The horizontal axis represents the packet transmission rate in Hz and the vertical axis, the packet

89

(b) 3.5 1000 Hz 500 Hz 100 Hz

RMS Force Applied to User 2 N

3

Emulator 2.5 2 1.5

*

*

1 0.5 0

3 RMS Force Applied to User 2 N

(a)3.5

1000 Hz 500 Hz 100 Hz

Internet 2.5 2 1.5 1

*

*

0.5

1

2 Virtual Coupling Schemes

3

0

1

(a)

2 Virtual Coupling Schemes

3

(b)

Figure 8.7: RMS force user applied to User 2 for all the schemes using NIST Net (a), and with data from the Italy experiment (b)

Table 8.3: Independent-samples t-test for all measures - significant results only

Measure

t

df

Sig.(2-tailed)

RMSPE, Scheme 1, 1000 Hz

3.061

17

0.007

PPSE, Scheme 1, 1000 Hz

2.386

17

0.029

RMSF1, Scheme 1, 1000 Hz

3.046

17

0.007

RMSF1, Scheme 2, 1000 Hz

2.702

18

0.015

RMSF1, Scheme 3, 1000 Hz

2.772

17

0.013

RMSF2, Scheme 1, 1000 Hz

3.325

17

0.004

RMSF2, Scheme 2, 1000 Hz

2.302

18

0.034

90

(b)

25

25

Internet Emulator

Out−of−Sequence Packets (%)

20

15

10

5

0

1000

500 Packet Transmission Rate in Hz

(a)

100

Internet Emulator Packets Lost In Communication (%)

(a)

20

15

10

5

0

1000

500 Packet Transmission Rate in Hz

100

(b)

Figure 8.8: Comparison of out-of-sequence packets, and packets lost in transmission at WS1

loss percentage. The network data from all the schemes for each packet transmission rate was combined to compute the percentage of out-of-sequence packets and the percentage of packets lost in transmission. The out-of-sequence packet percentages from the Internet experiments were 0.0465%, 0.02% and 0.0172% for 1000, 500 and 100 Hz packet transmission rates respectievly. From the experiments using NIST Net, it was 11.56%, 5.67% and 0.62%. Overall, the percentage of out-of-sequence packages was insignificant in the Internet experiment compared to the NIST Net one. The percentages of packets that were lost (transmitted from WS2 but never arrived to WS1) from the Internet experiment were 2.90%, 4.05% and 2.8% for 1000, 500 and 100 Hz packet transmission rates respectively. For the experiments using NIST Net, it was 21.81%, 6.87% and 2.29%. Overall, the percentages of packets that were lost in the transmission were significantly higher in the experiments using NIST Net for the 1000 Hz packet transmission rate. This packet loss using NIST Net occured even though it was configured not to drop any UDP packets. For the other two packet transmission rates, the loss percentage were within a 2% difference.

91

8.4

Discussion

From the experimental results, the objective performance measures of the virtual coupling schemes obtained by using the network emulator were found to be significantly different from that of the data obtained using the actual Internet experiment for the packet transmission rate of 1000 Hz. However, for the packet transmission rates of 500 and 100 Hz, the t-test did not report any significant differences between the two. Virtual coupling scheme 1 is found to be more sensitive to emulated network delays compared to the other two virtual coupling schemes. This is not surprising, since scheme 1 is more sensitive to delay conditions because of the direct coupling between the copies of the virtual object. The number of out-of-sequence packets was considerably higher while using the network emulator as compared to the experiment using the Internet. We had already adopted the modified FIFO in the NIST Net implementation to mitigate this problem, which greatly helped in reducing this number, but this proved insufficient for the NHVE application at 1000 Hz packet transmission rates. The number of packets that were lost in the transmission were also higher at the 1000 Hz transmission rate. These losses had a considerable effect on the force applied to the user because of the zero-order hold in the virtual coupling schemes. In conclusion, network emulators appear suitable for testing networked haptic virtual environments at lower packet transmission rates. Careful consideration of design parameters and system sensitivity to packet loss should be considered to test the system at higher packet transmission rates.

92

Chapter 9 EXPERIMENTAL COMPARISON OF INTERNET HAPTIC COLLABORATION WITH TIME-DELAY COMPENSATION TECHNIQUES

In this chapter, I will discuss results from the experimental comparison of the peer-topeer virtual coupling scheme with time-delay compensation techniques1 .

9.1

Motivation

In our work so far, we proposed virtual coupling schemes to enforce position coherency in two peer-to-peer architectures and a client-server architecture and tested them with constant time delays [25], and on a global scale Internet connection [45] for three different packet transmission rates. Of the three virtual coupling schemes, we had shown in [25] that one of the peer-to-peer schemes is sensitive to communication delays. The virtual coupling parameters in our previous work were chosen so that the system resulted in a stable operation for all tested delays. Using “Wave variables” [32] in the communication link based on scattering transformation and passivity theory [29] guarantees stability under arbitrary communication delays. Recently, a time-domain passivity based method was proposed for stable bilateral control of teleoperators under time-varying communication delay[51]. In this work both of these methods were used to stabilize a peer-to-peer NHVE system. In this work, we are interested in seeing the performance of the two time delay compensation techniques and the tuned PD controller in the stable region, and of the two time delay compensation techniques in the unstable region (when the PD controller is guaranteed to be unstable). 1

A paper based on this chapter has been accepted for publication in the ICRA 2008 Conference

93

9.1.1

Goals of This Study

Our objective for this work is to experimentally compare the performance of the peer-to-peer virtual coupling scheme implemented using a tuned PD controller against two different time delay compensation techniques, in terms of how well they each minimize the error between the position of the virtual copy of a rigid body that multiple users share in a haptic virtual environment in time-varying delay network condition at a fixed transmission rate of 1000 Hz. 9.2

Background

Time delay compensation techniques have been well studied in bilateral teleoperation. Several techniques for time delay compensation for both constant and time-varying delays have been proposed. For more details on the methods the interested readers can refer to [52]. In [53], a detailed experimental comparison of Internet-based bilateral teleoperation using seven control architectures was performed. 9.3

Methods

In Chapter 5 it was shown that virtual coupling scheme 1 was very sensitive to communication latency. The virtual coupling parameters were experimentally chosen for a stable operation for the largest possible delay during testing. Virtual coupling scheme 1 (Fig. 3.3) was presented in detail in Chapter 3. 9.3.1

Wave Variable Control (WV)

In wave variable control, the communication network is made stable for arbitrary delays by transmitting wave variables instead of power variables across the network [32]. The wave transform encodes the velocity and force into wave variables at both ends before transmitting them across the network. The wave variables are defined as: u=

bx˙ + F √ 2b

v=

bx˙ − F √ 2b

(9.1)

u and v are forward and returning waves from master to slave and vice versa. The wave impedance b is a positive constant that determines the behavior of the communication line.

94

Fig. 9.1 shows the wave variable control implementation in the peer-to-peer NHVE system. The Wave transformation blocks represent a symmetric wave variable implementation where the desired velocities of the virtual objects are extracted at locations 1 and 2. For this implementation u is computed at the User 1 end and v at User 2 end respectively. The corresponding wave variables are then transmitted across the network. In order to reduce wave reflection, the value of wave impedance b is chosen to be the same value as BT . 9.3.2

Time Domain Passivity Control (TDP)

In this compensation method for time varying communication delay in bilateral teleoperation [51], the input energy at the master and slave ports is calculated and transmitted across the network. The Passivity Observer (PO) then monitors the output energy at the master and slave ports and any excess energy is then dissipated using two series Passivity Controllers (PCs) attached to either end of the master and slave ports. Figure 9.2 shows the implementation of the time domain PO/PC method for time delay compensation in a peer-to-peer NHVE. It can be shown that the sufficient conditions for maintaining stability in the above system are:

Ein1 (k − D12 ) ≥ Eout2 (k),

∀k ≥ 0

(9.2)

Ein2 (k − D21 ) ≥ Eout1 (k),

∀k ≥ 0

(9.3)

where k denotes the k ′ th step of the sampling time tk and D12 and D21 represent the communication delay from User 1 to User 2 and User 2 to User 1 respectively. The input energy at User 1 is monitored by the PO Ein1 and transmitted across the network to User 2. The Eout2 at User 2’s end monitors the output energy and activates the damping element α2 to dissipate excess energy. Similarly, the Eout1 at User 1’s end dissipates excess energy using the damping element α1 . 9.4

Experiment Design

In order to compare the performance of the virtual coupling scheme using the tuned PD control, wave variable and time-domain passivity control, the experimental parameters for

Figure 9.1: Peer-to-peer scheme with wave variable delay compensation

95

96

Figure 9.2: Peer-to-peer scheme with time domain PO/PC delay compensation

97

each of the three types were made equal. For wave variable control, the wave impedance b was chosen to be same as the damping value used in PD control to reduce wave reflections. During the initial testing with time-domain passivity control with just proportional control with values same as that of the PD control, the cubes oscillated considerably and was found very difficult to collaborate. So in this work, a PD control was used for time-domain passivity control unlike just proportional control used in [51]. The two packet reflector locations along with the local network connection constitutes three time varying delay conditions whose values obtained during the experiments using UDP packets appear in Table 9.1. Round-trip delay time using ping routine is also shown in Table 9.1. Since we are interested in comparing the performance in both stable and unstable regions, two values of BT were chosen for the PD controller for all the three methods. The value of KT for the PD controller Ns , the PD controller was stable for was kept constant for this experiment. For BT = 0.3 mm

the largest delay, corresponding to the delay condition Italy. The control methods PD-A, TDP-A and WV-A corresponding to this value of BT were used to compare the performance Ns for the PD controller was chosen so under stable operation. Another value of BT = 0.15 mm

that the PD controller is unstable for the largest delay corresponding to the delay condition Italy. The control methods PD-B, TDP-B and WV-B corresponding to this value of BT were used to compare the performance under stable operation for delay conditions Local and USA and the performance of TD-B and WV-B control methods for the delay condition Italy. The experiment parameters are shown in Table 9.2.

A two factor within-subject repeated measures design was adopted to test the six control methods. In this design both the control methods and the delays are two independent variables with six and three levels for each respectively. The objective performance measures such as RMS position error, peak position error and RMS force were the dependent variables. The experiment design is shown in Table 9.3.

A total of 10 subjects, eight male and two female, with ages ranging from 19 to 50 years old were selected for the experiment. Two subjects were left-handed and the rest were right-handed.

98

Table 9.1: Delay condition with packet reflector location

Delay condition

UDP

Data

WS1 ↔ Reflector

WS2 → WS1

ping time (1000

via. Reflector

Hz)

Mean (ms)

Std (ms)

Mean (ms)

1-Local

0.006

0.58

0.10

2-USA

71.43

11.24

76.53

3-Italy

182.72

1.84

189.65

Table 9.2: Experiment parameters for time-delay compensation experiment

Parameters

Values

Control type

Selection

m

0.25Kg

All

experimental

Bd

Ns 0.025 mm

All

experimental

KV C1 , KV C2

N 0.5 mm

All

device manual

BV C1 , BV C2

Ns 0.003 mm

All

device manual

KT

N 2.0 mm

All

experimental

BT , b

Ns 0.3 mm

PD-A, WV-A, TDP-A

experimental

Ns 0.15 mm

PD-B, WV-B, TDP-B

experimental

99

Table 9.3: Two-factor design for the time-delay compensation experiment. The 17 possible trial combinations are shown in numbers 1 - 17 Control Type

Delay Local

NCSU

Italy

PD-A

1

2

3

PD-B

4

5

Xa

TD-A

6

7

8

TD-B

9

10

11

WV-A

12

13

14

WV-B

15

16

17

This condition is unstable for tuned PD control and was not included in testing. a

9.5

Experimental Results

The histograms of the one-way delay between WS1 and WS2 for the three delay conditions are shown in Fig. 9.3(a). The independent axis in logarithmic scale is the time in ms and the dependent axis is the count of the one-way delay measured at WS1. All the delay values had a peak value around their respective means and a long tail toward increasing delay. Fig. 9.3(b) shows the time-series plot of the measured delay during a trial. The independent axis is the time in ms and the dependent axis is the measured one-way delays measured in ms. The large spikes in the measured delay are due to queuing delays at the routers in the Internet. The position of the two cubes relative to the position of the target for delay condition 3 and for control type WV-A is shown in Fig. 9.4(a). The wave variables U, V from this trial is shown in Fig. 9.4(b). Fig. 9.5(a), shows the position of the two cubes relative to the position of the target for delay condition three and control type TDP-B. The passivity controller action over the duration of the trial is shown in Fig. 9.5(b). The I/O energy computed at both Cubes 1

100

(b)

4

14

x 10

700

12

600

10

500

8

One−way Delay in ms

Delay Count

(a)

NCSU, USA

6

Local

400

300 SSSUP, Italy 200

4 SSSUP, Italy

NCSU, USA

100

2

Local

0

0

−2

10

0

2

4

10 10 One−way Time Varying Delay log(ms)

0

10

2

4

6 8 Time in ms

(a)

10

12

14 4

x 10

(b)

Figure 9.3: (a), Histogram of one-way time varying delay (b), Time series plot

(a)

(b)

50 Cube1 X2 Cube2 X3 Target

40 30

Watt

4



10

Wave Variables in

Position in mm

20

0 −10 −20

2

0

−2

−4

−30 −40 −50

U V

6

−6 0

2

4

6 8 Time in ms

(a)

10

12

14 4

x 10

0

2

4

6 8 Time in ms

10

12

14 4

x 10

(b)

Figure 9.4: (a), Tracking of the cubes for wave variables (b), Wave variables

101

and 2 is shown in Fig. 9.5(c). The passivity controller force applied to Cube 1 and Cube 2 to keep the system stable is shown in Fig. 9.5(d).

Figures 9.6 and 9.7 show the RMS position error between the positions of the cube x2 and x3 (t − T2 (t)) measured at User 1 for the control types A and B. The vertical bars represent the standard deviation around mean error values and the horizontal bars represents the measured standard deviation for each delay condition. The RMS position error ranged from 0.5012 mm to 0.7328 for the control type PD-A, and 2.4182 mm to 2.4680 mm for WV-A and 0.5178 mm to 0.7074 mm for TDP-A. It ranged from 0.4944 mm to 0.5666 mm for PD-B, and 2.5601 mm to 2.7239 mm for WV-B and 0.5227 mm to 1.3658 mm for TDP-B.

Figures 9.8 and 9.9 show the peak position error between the cubes measured at User 1. The peak position error ranged from 0.9523 mm to 1.8848 mm for control type PD-A, and 3.6108 mm to 4.3553 mm for WV-A and 1.0035 mm to 1.7280 mm for TDP-A. It ranged from 1.0294 mm to 1.2585 mm for PD-B, and 3.3515 mm to 4.0754 mm for WV-B and 0.9851 mm to 4.3102 mm for TDP-B.

Figures 9.10 and 9.11 show the RMS Force applied to User 1 for the three control methods. The RMS value of force ranged from 1.0202 N to 1.4760 N for control type PD-A, 0.8718 N to 0.8849 N for WV-A and 1.0449 N to 1.4145 N for TDP-A. It ranged from 0.9979 N to 1.1431 N for PD-B, 0.7726 N to 0.8089 N for WV-B and 1.0563 N to 1.3328 N for TDP-B.

Figures 9.12 and 9.13 show the RMS Force applied to User 2 for the three control methods. The RMS value of force ranged from 1.0261 N to 1.4741 N for control type PD-A, 0.8759 N to 0.8963 N for WV-A and 1.0619 N to 1.4704 N for TDP-A. It ranged from 1.0158 N to 1.1031 N for PD-B, 0.7777 N to 0.8194 N for WV-B and 1.0563 N to 1.3328 N for TDP-B.

102

(b)

50

PC Activation Cube 1

(a)

Cube1 X2 Cube2 X3 Target

40 30

10

0.6 0.4 0.2 0

0

2

4

0 −10

PC Activation Cube 2

Position in mm

20

1

0.8

−20 −30 −40 −50

2

4

6 8 Time in ms

10

12

14

0

2

4

4

x 10

(a) x 10

Ein Cube 2 Eout Cube 1

4 2 0

0

10

14 4

x 10

12

14 4

x 10

(b)

5

6

6 8 Time in ms

12

(b) Passivity Control Force N

Energy in Nmm

(a)

10

1

0 0

6 8 Time in ms

2

4

6 8 Time in ms

10

12

14

5 Cube 1

0

−5

0

2

4

4

x 10

6 8 Time in ms

10

12

14 4

x 10

5

x 10

Passivity Control Force N

Energy in Nmm

6

Ein Cube 1 Eout Cube 2

4

2

0

0

2

4

6 8 Time in ms

(c)

10

12

14 4

x 10

5 Cube 2

0

−5

0

2

4

6 8 Time in ms

10

12

14 4

x 10

(d)

Figure 9.5: (a), Tracking of the cubes for TDP controller (b), PC action during the trial (c), The input and output energy at both user ends (d), Passivity control force applied to stabilize the system

103

4.5 PD−A WV−A TDP−A

4

RMS Position Error in mm

3.5 3 2.5 2 1.5 1 0.5 0

0

60 120 One−way Time Varying Delay in ms

180

Figure 9.6: RMS position error between Cube 1 and Cube 2 measured at User 1 with parameter A

4.5 PD−B WV−B TDP−B

4

RMS Position Error in mm

3.5 3 2.5 2 1.5 1 0.5 0

0

60 120 One−way Time Varying Delay in ms

180

Figure 9.7: RMS position error between Cube 1 and Cube 2 measured at User 1 with parameter B

104

7 PD−A WV−A TDP−A

Peak Position Error in mm

6

5

4

3

2

1

0

0

60 120 One−way Time Varying Delay in ms

180

Figure 9.8: Peak position error between Cube 1 and Cube 2 measured at User 1 with parameter A

7 PD−B WV−B TDP−B

Peak Position Error in mm

6

5

4

3

2

1

0

0

60 120 One−way Time Varying Delay in ms

180

Figure 9.9: Peak position error between Cube 1 and Cube 2 measured at User 1 with parameter B

105

3.5 PD−A WV−A TDP−A

RMS Force Applied to User 1 N

3

2.5

2

1.5

1

0.5

0

0

60 120 One−way Time Varying Delay in ms

180

Figure 9.10: RMS Force rendered to User 1 with parameter A

3.5 PD−B WV−B TDP−B

RMS Force Applied to User 1

3

2.5

2

1.5

1

0.5

0

0

60 120 One−way Time Varying Delay in ms

180

Figure 9.11: RMS Force rendered to User 1 with parameter B

3.5 PD−A WV−A TDP−A

RMS Force Applied to User 2 N

3

2.5

2

1.5

1

0.5

0

0

60 120 One−way Time Varying Delay in ms

180

Figure 9.12: RMS Force rendered to User 2 with parameter A

106

3.5 PD−B WV−B TDP−B

RMS Force Applied to User 2

3

2.5

2

1.5

1

0.5

0

0

60 120 One−way Time Varying Delay in ms

180

Figure 9.13: RMS Force rendered to User 2 with parameter B

9.6

Statistical Analysis

In order to determine the statistical significance of the results, a two-way within-subjects repeated measures ANOVA2 was performed on the objective performance measures using the SPSS statistics software tool. Since the control method PD-B was unstable for delay condition 3 and no measurements were taken, the resultant design is unbalanced. Hence, PD-B was not included in the two-way repeated measures ANOVA. A paired-samples t-test was used to compare PD-B to PD-A, TD-A and TD-B. The paired-samples t-test was also used to compare TD-B and WV-B and WV-A for the delay condition 3. For both RMSPE and PPSE, repeated measures ANOVA (Tables C.1, C.2, C.3 and C.4) of the results show that both delay and control types had significant effect. Multiple comparison tests show no significant difference between WV-A and WV-B. Both WV-A and WV-B was significantly different from other control types. As expected no significant difference was found between PD-A and TDP-A control types. The paired-samples t-test (Tables 9.4 and 9.4) futher show that for delay condition 3, both WV-A and WV-B control types were different from TDP-B control type for objective measure RMSPE. For both RMSF1 and RMSF2, repeated measures ANOVA (Tables C.5, C.6, C.5 and 2

Mauchly’s Sphericity test was used to test the sphericity of the data and in the cases that it was violated, Huynh-Feldt-Test values were used.

107

Table 9.4: Paired-samples t-test - significant results only

Measure

Pair

t

df

Sig.(2-tailed)

RMSPE

TDP-B, WV-A

-3.494

9

0.007

RMSPE

TDP-B, WV-B

-4.021

17

0.003

RMSF1

TDP-B, WV-A

8.020

9

0.000

RMSF1

TDP-B, WV-B

13.623

9

0.000

RMSF2

TDP-B, WV-A

7.366

9

0.000

RMSF2

TDP-B, WV-B

10.087

9

0.000

C.6 ) of the results show that both delay and control types had significant effect. Multiple comparison tests show no significant difference between WV-A and WV-B. No significant difference was found between PD-A and TDP-A and TDP-B. As expected, no significant difference was found between PD-A and TDP-A control types either. The paired-samples t-test (TABLES 9.4 and 9.4) futher show that for delay condition 3, both WV-A and WV-B control types were different from TDP-B control type.

9.7

Discussion

In the experimental results, both WV-A and WV-B control methods gave the highest RMS and peak position error between the two cubes. The forces rendered to both users were the lowest for the above methods. Because we used symmetric wave transformations and set the wave impedance equal to the damper value of the PD controller, the resultant wave impedance gave a high penalty for force at the expense of the velocity of the cube. The subjective feedback from users also confirms this as the users reported that during some of the trials, the cube was much more responsive than during other times. For implementation using just WV-A or WV-B control methods, the wave impedance b can be chosen to be much higher than the one used in this work and thus reduce the position error. Consequently, the force rendered to the user would also increase with the increment in the wave impedance.

108

The damper value in the PD controller should also be made equal to the wave impedance to minimize reflections. Among the PD and TDP control methods, both PD-A and PD-B gave the lowest RMS and peak position errors. The forces rendered to the users were much higher compared to the WV control method. The performance of the TDP and PD controllers were not significantly different except for the case of TDP-B with the global Internet delay condition. PD-B control was unstable but TDP-B control was stable with the passivity controller acting to stabilize the system. The TDP-B controller gave large position errors, but less than that of wave variables. Also for the Italy delay condition with TDP-B, the damping provided by the passivity controller to stabilize the system was not sufficient to prevent oscillations during the collaboration. The subjective feedback from the TDP-B experiments also confirmed that during the trial, the oscillations were large enough to be a distraction to the collaborators. Considering all three systems, the tuned PD controller gave the best performance in terms of position error and wave variables in terms of force.

109

Chapter 10 CONCLUSION AND FUTURE WORK 10.1

Specific Contributions

In this thesis we proposed three virtual coupling schemes, two representing a peer-to-peer or distributed architectures, and one, a client-server or centralized architecture. We also built an experimental test platform to objectively evaluate the performance of the three schemes. In Chapter 5 the three virtual coupling schemes were tested for constant time delays and their objective performance was measured. We chose experimental parameters so that the system would be stable for the largest delay experienced. We showed in this chapter that the client-server scheme, Scheme 3, was the best in terms of maintaining position coherency, and that the performance of the peer-to-peer scheme, Scheme 1, was comparable to that of Scheme 3. In Chapter 6, we tested the virtual coupling schemes on a global scale Internet-based haptic collaboration at three fixed transmission rates of 1000 Hz, 500 Hz and 100 Hz. We found that transmission rate has a significant effect on the force rendered to the users at the expense of minimizing the position error. Also, in terms of RMSPE, the 1000 Hz transmission rate was significantly different from both 500 Hz and 100 Hz. No significant difference was found between the 500 Hz and 100 Hz transmission rates. This is the first significant work in this area to objectively compare the performance between peer-to-peer and client-server architectures for haptic collaboration using real Internet at global scale and multi-rate. In Chapter 7, we studied the characteristics of the Internet and implemented a network emulator using NIST Net to recreate Internet-like characteristics at haptic data communication rates. With this implementation, NHVEs can be tested in a local network setting with various network characteristics generated by the emulator. This will also be greatly helpful for testing more than two users in a NHVE. Though this work is specific for a NHVE,

110

the emulator implementation is applicable to variety of interactive applications including cooperating robots, teleoperated robots, and multi-user virtual reality. In Chapter 8, we compared the performance of the virtual coupling schemes using real and emulated Internet connections. In this work, the network emulator was tuned to emulate the same Internet characteristics that existed during the global scale Internet haptic collaboration. We demonstrated that the network emulators are suitable for NHVEs at lower rates of 500 Hz and 100 Hz. At a haptic data rate of 1000 Hz, the performance was found to be statistically significant. This experimental result is not limited to just NHVEs but it is also applicable to other areas. For both constant delay and time-varying delay experiments, the virtual coupling parameters were tuned so that it resulted in stable operation. In Chapter 9, we applied two time-delay compensation techniques —the wave variables and time-domain passivity controllers— to compensate for the time varying delay in the peer-to-peer virtual coupling scheme (Scheme 1). We also compared their performance to a PD controller which was tuned to be stable for the largest possible delay in the network. Our work shows that the tuned PD controller outperformed both wave variables and the time-domain passivity controller in maintaining position coherency. This was also the first work that applied time delay compensation techniques to NHVEs and tested their performance objectively. This is a significant result not only in NHVE, but also in teleoperated systems where one has to choose between frequency and time-domain approaches for delay compensation. 10.2 10.2.1

Future Work Accurate Target Tracking

In the current work, the target for tracking was implemented as a 3D sphere. With the view of the virtual environment rotated to see the side of the cube at all times, it becomes difficult for users to align the cube to be at the center of the target at all times. Since the experimental task was a 1 DOF target tracking, a modification to the current system is shown in Fig.10.1. It consists of the same NHVE with the target represented as a circle at the front face of the cube, essentially a 2D target. Cross hairs are also drawn to show the

111

Figure 10.1: 1-DOF target tracking with planar target on the side of the cube.

center of the target and the center of the front face of the cube, which users could use to align the cube to the target perfectly. Experiments with the proposed modification might provide more accurate target tracking results.

10.2.2

Random Target Tracking

In the current work, during all the experiments, the target had a constant speed of 1.333 mm/s and moved on a fixed straight line trajectory parallel to the floor of the NHVE. The constant speed of the target was chosen so that the users could track it comfortably, even for the largest time delay used in this work, without exceeding the force limit. One of the drawbacks of using this constant speed tracking was that the motion of the target was predictable for the users in the NHVE. Two modifications to this tracking method are proposed in this future work: In the first modification, the lower and upper bounds for the speed of the target would be chosen based on the various time delays that the NHVE is subjected to. During the experiment, the speed of the target would be varied randomly within these bounds for the various

112

time delays. This proposed modification would make the target motion unpredictable and would challenge the users to track the target at all times. In the second modification, the position of the target would be varied randomly along the 1-DOF of motion of the cube and the users would then align the cube with the target after which the target would be each time moved to a new random location. This proposed modification could also be used to measure the index of difficulty in moving to the target using Fitts’ law[54].

10.2.3

Coordinated Task

In our current work, the experimental task consisted of tracking a target moving at a constant speed. NHVE tasks such as virtual assembly require a lot of coordination between the users to perfectly align and assemble parts. To this end, a more coordinated task, consisting of balancing a ball on a bar, is proposed as future work. Fig. 10.2 shows an example of this kind of task, where the two users have perfectly balanced the ball on the bar. The finite width bar is pivoted to ground at the center and the two users can apply force to the bar to balance the ball so that it stays within the specified width shown in purple. The proposed modification would be useful in testing the dexterity and mobility of the NHVE system.

10.2.4

Multi-user NHVE System

In this work, the performance of two-user collaborative haptic systems were studied experimentally using local network and global scale Internet. In real applications, oftentimes more than two users will be involved in collaboration and also, users might join and leave during the collaboration. First, to extend the virtual coupling schemes to n users, the number of virtual couplings required for each scheme is given in Table 3.1. In the peer-to-peer scheme (Scheme 1), the effect of users joining or leaving the collaboration has to be studied since the mass of the virtual object is divided based on the number of users and thus would have to be updated on the fly.

113

Figure 10.2: Coordination task experiment with two users balancing a ball to stay within the specified boundary.

10.2.5

6-DOF NHVE System

In this work an only 1-DOF haptic system was studied for performance. In practical applications like aircraft maintenance procedure training, 6-DOF haptic rendering is required to complete a task. The next logical step would be to enable 6-DOF haptic rendering capability to the experimental collaborative system and study its performance in real network conditions.

114

BIBLIOGRAPHY [1] Richard C. Waters and John W. Barrus. The rise of shared virtual environments. IEEE Spectrum, 34(3):20–25, March 1997. [2] Thomas A. DeFanti, Daniel J. Sandin, and Carolina Cruz-Neira. A ‘room’ with a ‘view’. IEEE Spectrum, 30(10):30–33, October 1993. [3] Michael Capps, Perry McDowell, and Michael Zyda. A future for entertainment-defense research collaboration. IEEE Comput. Graph. Appl., 21(1):37–43, 2001. [4] Chris Gunn, Matthew Hutchins, Duncan Stevenson, Matt Adcok, and Patricia Youngblood. Using collaborative haptics in remote surgical training. In Proc.First Joint Eurohaptics Conference and Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems(WHC’05), pages 481–482, 2005. [5] W. McNeely, K. Puterbaugh, and J. Troy. Six degree-of-freedom haptic rendering using voxel sampling. In Proc. ACM SIGGRAPH, pages 401–408, 1999. [6] M Foskey, M. A Otaduy, and M. C Lin. Artnova: Touch-enabled 3d model design. In Proc.IEEE Virtual Reality Conference, Orlando, FL, May 2002. [7] B. Baxter, M. C. Lin, and D. Manocha. Dab: Interactive haptic painting with 3d virtual brushes. In Proc. ACM SIGGRAPH Computer Graphics and Interactive Techniques, pages 461–468, 2001. [8] C.B.Zilles and J.K. Salisbury. A constraint-based god-object method for haptic display. In Proc.IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 146–151, Pittsburgh,PA, 1995. [9] Masanori Nakata Masahiro Ishii and Makoto Sato. Networked spidar: A networked virtual environment with visual, auditory, and haptic interactions. PRESENCE, 3(4):351– 359, 1994. [10] Cagatay Basdogan, Chih hao Ho, Mandayam A. Srinivasan, and Mel Slater. An experimental study on the role of touch in shared virtual environments. ACM Transactions on Computer-Human Interaction, 7(4):443–460, 2000. [11] Eva-Lotta Sallnas, Kirsten Rassmus-Grohn, and Calle Sjostrom. Supporting presence in collaborative environments by haptic force feedback. ACM Transactions on ComputerHuman Interaction, 7(4):461–476, 2000.

115

[12] M. Osama Alhalabi, Susumu Horiguchi, and Susumu Kunifuji. An experimental study on the effects of network delay in cooperative shared haptic virtual environment. Computer and Graphics, 27(2):205–213, 2003. [13] T. B. Sheridan and W. R. Ferrell. Remote manipulative control with transmission delay. IEEE trans. Human Factors in Electronics, 4:25–29, 1963. [14] Thomas B. Sheridan. Musings on telepresence and virtual presence. Presence: Teleoper. Virtual Environ., 1(1):120–126, 1992. [15] Thomas B. Sheridan. Space teleoperation through time delay: Review and prognosis. IEEE Trans. Robot. Automat., 9(5):592–606, 1993. [16] H.R.Choi, B.H.CHoi, and S.M.Ryew. Haptic display in the virtual collaborative workspace shared by multiple users. In Proc. IEEE International Workshop on Robot and Human Communication(RO-MAN’97), pages 478–483, 1997. [17] Kenji Hikichi, Hironao Morino, Yasuhiko Yasuda, Isamu Arimoto, and Kaoru Sezaki. The evaluation of adaptation control for haptics collaboration over the internet. In Proc. IEEE Communications Quality and Reliability(CQR) International Workshop, May 2002. [18] Yutaka Ishibashi, Takahiko Kanbara, Takahiko Hasegawa, and Shuji Tasaka. Traffic control of haptic media in networked virtual environments. In Proc. IEEE Workshop on Knowledge Media Networking, pages 11–16, 2002. [19] Yutaka Ishibashi, Takahiko Hasegawa, and Shuji Tasaka. Group synchronization control for haptic media in networked virtual environments. In Proc. IEEE International Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems(HAPTICS’04), pages 106–113, 2004. [20] Mee Young Sung, Yonghee Yoo, Kyungkoo Jun, Nam-Joong Kim, and Jinseok Chae. Experiments for a collaborative haptic virtual reality. In Proc. 16th International Conference on workshop on Artificial Reality and Telexistence-ICAT’06, pages 174– 179, Washington, DC, USA, 2006. [21] Joao P. Hespanha, Margaret McLaughlin, Gaurav S. Sukhatme, Minoo Akbarian, Rajiv Garg, and Weirong Zhu. Haptic collaboration over the internet. In Proc.Fifth PHANToM Users’ Group Workshop(PUG00), pages 9–13, Aspen,CO, 2000. [22] Pietro Buttolo, Roberto Oboe, and Blake Hannaford. Architectures for shared haptic virtual environments. Computer and Graphics, 21(4):478–483, 2000.

116

[23] Jung Kim, Hyun Kim, Hyun K. Tay, Manivannan Muniyandi, Mandayam A. Srinivasan, Joel Jordan, Jesper mortensen, Manuael oliveira, and Mel Slater. Transatlantic touch: A study of haptic collaboration over long distance. PRESENCE, 13(3):328–337, 2004. [24] Joono Cheong, Silviu-Iulian Niculescu, Anuradha Annaswamy, and Mandayam A. Srinivasan. Motion synchronization in virtual environments with shared haptics and large time delays. In WHC ’05: Proceedings of the First Joint Eurohaptics Conference and Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems, pages 277–282, Washington, DC, USA, 2005. IEEE Computer Society. [25] Ganesh Sankaranarayanan and Blake Hannaford. Virtual coupling schemes for position coherency in networked haptic environments. In Proc. BioRob 2006. The First IEEE/RAS-EMBS International Conference On Biomedical Robotics And Biomechatronics., pages 853–858, Pisa,Italy, 2006. [26] M. Fotoohi, S. Sirouspour, and D. Capson. Multi-rate control architectures for dextrous haptic rendering in cooperative virtual environments. In Proc. IEEE Conference on Decision and Control, pages 4478–4483, San Diego, CA, USA, 2006. [27] Mashhuda Glencross, Caroline Jay, Jeff Feasel, Luv Kohli, Marry Whitton, and Roger Hubbold. Effective cooperative haptic interaction over the internet. In Proc.IEEE Virtual Reality Conference, pages 115–122, Charlotte, NC, March 2007. [28] Yutaka Ishibashi and Shuji Tasaka. A comparative survey of sychronization algorithms for continuous media in network environments. In Proc. IEEE Local Computer Networks LCN 2000, pages 337–348, Tampa,Florida, 2000. [29] Robert J. Anderson and Mark W. Spong. Bilateral control of teleoperators with time delay. IEEE Trans. Automat. Contr., 34(5):494–501, May 1989. [30] Gunter Niemeyer and Jean-Jacques E.Slotine. Stable adaptive teleoperation. IEEE J. Oceanic Eng., 16(1):152–162, 1991. [31] Gnter Niemeyer. Using Wave Variables in Time Delayed Force Reflecting Teleoperation. PhD thesis, Massachusetts Institute of Technology, Cambridge, Massachusetts, 1996. [32] Gunter Niemeyer and Jean-Jacques E.Slotine. Telemanipulation with time delays. The International Journal of Robotics Research, 23(9):873–890, 2004. [33] J. Ueda and T. Yoshikawa. Force-reflecting teleoperation with time delay by signal filtering. IEEE Trans. Robot. Automat., 20(3):613–619, 2004.

117

[34] Won S. Kim, Blake Hannaford, and Antal K. Bejczy. Force-reflection and shared compliant control in operating telemanipulators with time delay. IEEE Trans. Robot. Automat., 8(2):176–185, 1992. [35] Blake Hannaford. A design framework for teleoperators with kinesthetic feedback. IEEE Trans. Robot. Automat., 5(4):426–434, 1989. [36] Blake Hannaford and Jee-Hwan Ryu. Time-domain passivity control of haptic interfaces. IEEE Trans. Robot. Automat., 18(1):1–10, 2002. [37] Saghir Munir and Wayne J.Book. Internet-based teleoperation using wave variables with prediction. IEEE/ASME Trans. Mechatron., 7(2):124–133, 2002. [38] P. Arcara and C. Melchiorri. Control schemes for teleoperation with time delay: A comparative study. Robotics and Autonomous Systems, 38(1):49–64, 2002. [39] Hubert Baier and Gunther Schmidt. Transparency and stability of bilateral kinesthetic teleoperation with time-delayed communication. Journal of Intelligent and Robotic Systems, 40(1):1–22, 2004. [40] Gary M. H. Leung, Bruce A. Francis, and Jacob Apkarian. Bilateral controller for teleoperators with time delay via µ-synthesis. IEEE Trans. Robot. Automat., 11(1):105– 116, 1995. [41] Yasuyoshi YokoKohji, Takashi Imaida, and Tsuneo Yoshikawa. Bilateral teleoperation under time-varying communication delay. In Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS’99), volume 3, pages 1854–1859, 1999. [42] Yasuyoshi YokoKohji, Teruhiro Tsujioka, and Tsuneo Yoshikawa. Bilateral control with time-varying delay including communucation blackout. In Proc. IEEE International Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Sytems(HAPTICS’02), volume 3, pages 285–292, 2002. [43] J.Edward Colgate, Paul E.Grafing, Michael C.Stanley, and Gred Schenkel. Implementation of stiff virtual walls in force-reflecting interfaces. In Proc.IEEE Virtual Reality Annual International Symposium, pages 202–208, Seattle,WA, 1993. [44] Richard J. Adams and Blake Hannaford. Stable haptic interaction with virtual environments. IEEE Trans. Robot. Automat., 15(3):465–474, 1999. [45] Ganesh Sankaranarayanan and Blake Hannaford. Experimental internet haptic collaboration using virtual coupling schemes. In Accepted for presentation in IEEE Conference on Haptic Interfaces for Virtual Environment and Teleoperator Systems, Reno, Nevada, CA, 2008.

118

[46] Ganesh Sankaranarayanan, Lauren Potter, and Blake Hannaford. Measurement and emulation of time varying packet delay with applications to networked haptic virtual environments. In proceedings of ROBOCOMM, the first International Conference on Robot Communication and Coordination, Athens, Greece, 2007. [47] Jean-Chrysotome Bolot. End-to-end packet delay and loss behavior in the internet. In SIGCOMM ’93: Conference proceedings on Communications architectures, protocols and applications, pages 289–298, New York, NY, USA, 1993. ACM Press. [48] Vern Paxson. End-to-end internet packet dynamics. 7(3):277–292, 1999.

IEEE/ACM Trans. Netw.,

[49] Mark Carson and Darrin Santay. Nist net: a linux-based network emulation tool. SIGCOMM Comput. Commun. Rev., 33(3):111–126, 2003. [50] Ganesh Sankaranarayanan and Blake Hannaford. Comparison of performance of virtual coupling schemes for haptic collaboration using real and emulated internet connections. In proceedings of ROBOCOMM, the first International Conference on Robot Communication and Coordination, Athens, Greece, 2007. [51] Jee-Hwan Ryu and C Preusche. Stable bilateral control of teleoperators under timevarying communication delay: Time domain passivity approach. In Proc.IEEE International Conference on Robotics and Automation, pages 3508–3513, Pisa, Italy, April 2007. [52] Peter F. Hokayem and Mark W. Spong. Bilateral teleoperation: An historical survey. Automatica, 42(12):2035–2057, 2006. [53] E.J Rodriguez-Seda, Dongjun Lee, and M.W. Spong. An experimental comparison study for bilateral internet-based teleoperation. In Proc.IEEE International Conference on Control Applications, pages 1701–1706, Munich, Germany, October 2006. [54] Paul M Fitts. The information capacity of the human motor system in controlling the amplitude of movement. Journal of Experimental Psychology, 47(6):381–391, 1954.

119

Appendix A FORCE, TRACKING PROFILE, AND STATISTICS TABLE FOR CONSTANT DELAY EXPERIMENT A.1

Tracking and Force Profile

In this section, the target tracking profile and force rendered to users from one subject are given for all the three schemes for one-way delay of 0 and 200 ms.

60 cube1 cube1+w cube1−w cube2 target target+w target−w

40

Position in mm

20

0

−20

−40

−60

0

2

4

6 8 Time in msecs

10

12

14 4

x 10

Figure A.1: Target tracking in Scheme 1 for 0 ms delay

120

0 −0.2

Force Applied to User 1 N

−0.4 −0.6 −0.8 −1 −1.2 −1.4 −1.6 −1.8 −2

0

2

4

6 8 Time in msec

10

12

14 4

x 10

Figure A.2: Force rendered to User 1 in Scheme 1 for 0 ms delay

2 1.8

Force Applied to User 2 N

1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0

0

2

4

6 8 Time in msec

10

12

14 4

x 10

Figure A.3: Force rendered to User 2 in Scheme 1 for 0 ms delay

121

60 cube1 cube1+w cube1−w cube2 target target+w target−w

40

Position in mm

20

0

−20

−40

−60

0

2

4

6 8 Time in msecs

10

12

14 4

x 10

Figure A.4: Target tracking in Scheme 1 for 0 ms delay

0

Force Applied to User 1 N

−0.5

−1

−1.5

−2

−2.5

−3

0

2

4

6 8 Time in msec

10

12

14 4

x 10

Figure A.5: Force rendered to User 1 in Scheme 1 for 200 ms delay

122

3 2.5

Force Applied to User 2 N

2 1.5 1 0.5 0 −0.5 −1

0

2

4

6 8 Time in msec

10

12

14 4

x 10

Figure A.6: Force rendered to User 2 in Scheme 1 for 200 ms delay

60 cube1 cube1+w cube1−w cube2 target target+w target−w

40

Position in mm

20

0

−20

−40

−60

0

2

4

6 8 Time in msecs

10

12

14 4

x 10

Figure A.7: Target tracking in Scheme 2 for 0 ms delay

123

0

Force Applied to User 1 N

−0.5

−1

−1.5

−2

−2.5

0

2

4

6 8 Time in msec

10

12

14 4

x 10

Figure A.8: Force rendered to User 1 in Scheme 2 for 0 ms delay

2.5

Force Applied to User 2 N

2

1.5

1

0.5

0

0

2

4

6 8 Time in msec

10

12

14 4

x 10

Figure A.9: Force rendered to User 2 in Scheme 2 for 0 ms delay

124

80 cube1 cube1+w cube1−w cube2 target target+w target−w

60

Position in mm

40

20

0

−20

−40

−60

0

2

4

6 Time in msecs

8

10

12 4

x 10

Figure A.10: Target tracking in Scheme 2 for 200 ms delay

0.5

Force Applied to User 1 N

0

−0.5

−1

−1.5

−2

0

2

4

6 Time in msec

8

10

12 4

x 10

Figure A.11: Force rendered to User 1 in Scheme 2 for 200 ms delay

125

2 1.8

Force Applied to User 2 N

1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0

0

2

4

6 Time in msec

8

10

12 4

x 10

Figure A.12: Force rendered to User 2 in Scheme 2 for 200 ms delay

126

60 cube1 cube1+w cube1−w cube2 target target+w target−w

40

Position in mm

20

0

−20

−40

−60

0

2

4

6 8 Time in msecs

10

12

14 4

x 10

Figure A.13: Target tracking in Scheme 3 for 0 ms delay

0.2 0

Force Applied to User 1 N

−0.2 −0.4 −0.6 −0.8 −1 −1.2 −1.4 −1.6 −1.8

0

2

4

6 8 Time in msec

10

12

14 4

x 10

Figure A.14: Force rendered to User 1 in Scheme 3 for 0 ms delay

127

2.5

Force Applied to User 2 N

2

1.5

1

0.5

0

−0.5

0

2

4

6 8 Time in msec

10

12

14 4

x 10

Figure A.15: Force rendered to User 2 in Scheme 3 for 0 ms delay

60 cube1 cube1+w cube1−w cube2 target target+w target−w

40

Position in mm

20

0

−20

−40

−60

0

2

4

6 8 Time in msecs

10

12

14 4

x 10

Figure A.16: Target tracking in Scheme 3 for 0 ms delay

128

0

Force Applied to User 1 N

−1

−2

−3

−4

−5

−6

0

2

4

6 8 Time in msec

10

12

14 4

x 10

Figure A.17: Force rendered to User 1 in Scheme 3 for 200 ms delay

A.1.1

Target Tracking Error

In this section the RMS position error between the target and cube 1 and cube 2 is shown in Figs. A.19 and A.20.

129

6

Force Applied to User 2 N

5

4

3

2

1

0

−1

0

2

4

6 8 Time in msec

10

12

14 4

x 10

RMS Position Error Between Target and Cube1

Figure A.18: Force rendered to User 2 in Scheme 3 for 200 ms delay

4 0 ms 50 ms 100 ms 150 ms 200 ms

3.5 3 2.5 2 1.5 1 0.5 0

1

2 Virtual Coupling Schemes

3

Figure A.19: RMS Position error between the target and cube 1 for three schemes

RMS Position Error Between Target and Cube2

130

4 0 ms 50 ms 100 ms 150 ms 200 ms

3.5 3 2.5 2 1.5 1 0.5 0

1

2 Virtual Coupling Schemes

3

Figure A.20: RMS Position error between the target and cube 2 for three schemes

131

Table A.1: Test of Within Subjects Effects for Measure: RMSPE Source

Type III Sum of Squares

df

Mean Square

F

Sig.

Scheme

64.113

1.236

51.886

726.787

0.000

Delay

2.436

4

0.609

30.361

0.000

Scheme*Delay

0.369

2.909

0.127

3.313

0.037

Table A.2: Pairwise Comparison Measure: RMSPE (i) Scheme

(j) Scheme

Mean Difference (i-j)

Std Error

Sig.

1

2

-1.198

0.049

0.000

3

0.321

0.017

0.000

1

1.198

0.049

0.000

3

1.519

0.051

0.000

1

-0.321

0.017

0.000

2

-1.519

0.051

0.000

2

3

132

Table A.3: Test of Within Subjects Effects for Measure: PPSE Source

Type III Sum of Squares

df

Mean Square

F

Sig.

Scheme

395.331

1.430

276.428

555.856

0.000

Delay

22.525

4

5.631

23.289

0.000

Scheme*Delay

3.577

8

0.447

2.384

0.024

Table A.4: Pairwise Comparison Measure: PPSE (i) Scheme

(j) Scheme

Mean Difference (i-j)

Std Error

Sig.

1

2

-3.041

0.147

0.000

3

0.698

0.065

0.000

1

3.041

0.147

0.000

3

3.739

0.130

0.000

1

-0.698

0.065

0.000

2

-3.739

0.130

0.000

2

3

133

Table A.5: Test of Within Subjects Effects for Measure: RMSF1 Source

Type III Sum of Squares

df

Mean Square

F

Sig.

Scheme

2.719

2

1.360

33.369

0.000

Delay

1.076

4

0.269

11.086

0.000

Scheme*Delay

1.087

8

0.136

5.738

0.000

Table A.6: Pairwise Comparison Measure: RMSF1 (i) Scheme

(j) Scheme

Mean Difference (i-j)

Std Error

Sig.

1

2

0.329

0.032

0.000

3

0.144

0.045

0.000

1

-0.329

0.032

0.000

3

-0.185

0.43

0.000

1

-0.144

0.45

0.000

2

0.185

0.43

0.000

2

3

Table A.7: Test of Within Subjects Effects for Measure: RMSF2 Source

Type III Sum of Squares

df

Mean Square

F

Sig.

Scheme

2.503

2

1.251

31.461

0.000

Delay

1.071

4

0.268

12.602

0.000

Scheme*Delay

0.944

8

0.118

5.107

0.000

Table A.8: Pairwise Comparison Measure: RMSF2 (i) Scheme

(j) Scheme

Mean Difference (i-j)

Std Error

Sig.

1

2

0.316

0.038

0.000

3

0.138

0.043

0.031

1

-0.316

0.038

0.000

3

-0.177

0.039

0.004

1

-0.138

0.044

0.031

2

0.177

0.039

0.004

2

3

134

Appendix B STATISTICS TABLE FOR CHAPTER 6

Table B.1: Test of Within Subjects Effects for Measure RMSPE From 1000 Hz Experiment Source

P

of Squares

df

Mean Square

F

Sig.

1.936

1.376

1.407

25.441

0.000

Delay

3.008

2

1.504

71.631

0.000

Scheme*Delay

0.742

1.773

0.418

6.936

0.009

Scheme

Table B.2: Test of Within Subjects Effects for Measure PPSE From 1000 Hz Experiment Source

P

of Squares

df

Mean Square

F

Sig.

28.781

2

14.391

25.160

0.000

Delay

21.155

2

10.577

31.056

0.000

Scheme*Delay

3.824

4

0.956

2.239

0.087

Scheme

Table B.3: Test of Within Subjects Effects for Measure RMSF1 From 1000 Hz Experiment Source

P

of Squares

df

Mean Square

F

Sig.

0.514

1.255

0.409

3.271

0.095

Delay

0.789

2

0.395

21.900

0.000

Scheme*Delay

0.258

4

0.065

2.345

0.076

Scheme

135

Table B.4: Test of Within Subjects Effects for Measure RMSF2 From 1000 Hz Experiment Source

P

of Squares

df

Mean Square

F

Sig.

0.455

2

0.228

2.723

0.096

Delay

1.427

2

0.713

41.061

0.000

Scheme*Delay

0.049

4

0.012

0.335

0.852

Scheme

Table B.5: Test of Within Subjects Effects for Measure RMSPE From 500 Hz and 100 Hz Experiment Source

P

of Squares

df

Mean Square

F

Sig.

6.848

2

3.424

132.65

0.000

Rate

0.160

1

0.160

5.106

0.054

Delay

4.476

2

2.238

176.870

0.000

Scheme*Rate

0.033

2

0.017

0.593

0.564

Scheme*Delay

2.057

4

0.514

29.597

0.000

Rate*Delay

0.002

2

0.001

0.066

0.937

Scheme*Rate*Delay

0.022

4

0.006

0.782

0.545

Scheme

Table B.6: Test of Within Subjects Effects for Measure PPSE From 500 Hz and 100 Hz Experiment Source

P

of Squares

df

Mean Square

F

Sig.

70.839

2

35.420

89.923

0.000

Rate

0.032

1

0.032

0.107

0.752

Delay

41.552

2

20.776

101.368

0.000

Scheme*Rate

0.063

2

0.031

0.126

0.883

Scheme*Delay

10.087

4

2.522

10.563

0.000

Rate*Delay

0.544

2

0.272

0.949

0.408

Scheme*Rate*Delay

1.274

4

0.319

1.749

0.164

Scheme

136

Table B.7: Test of within Subjects Effects for Measure RMSF1 from 500 Hz and 100 Hz Experiment Source

P

of Squares

df

Mean Square

F

Sig.

0.548

2

0.274

5.427

0.016

Rate

0.170

1

0.170

8.492

0.019

Delay

0.110

2

0.055

0.612

0.555

Scheme*Rate

0.007

2

0.003

0.116

0.891

Scheme*Delay

0.492

4

0.123

4.302

0.007

Rate*Delay

0.115

2

0.058

0.685

0.518

Scheme*Rate*Delay

0.167

4

0.042

1.082

0.329

Scheme

Table B.8: Test of Within Subjects Effects for Measure RMSF2 From 500 Hz and 100 Hz Experiment Source

P

of Squares

df

Mean Square

F

Sig.

0.249

2

0.125

3.126

0.071

Rate

0.109

1

0.109

5.333

0.050

Delay

0.237

2

0.119

1.701

0.214

Scheme*Rate

0.007

2

0.004

0.120

0.887

Scheme*Delay

0.421

4

0.105

3.950

0.010

Rate*Delay

0.066

2

0.033

0.296

0.747

Scheme*Rate*Delay

0.073

4

0.018

0.574

0.684

Scheme

137

Table B.9: Pairwise Comparison of Schemes for Measure RMSPE from 1000 Hz Experiment (i) Scheme

(j) Scheme

1

2

3

Sig.

2

0.091

3

0.000

1

0.091

3

0.001

1

0.000

2

0.001

Table B.10: Pairwise Comparison of Delays for Measure RMSPE from 1000 Hz Experiment (i) Delay 1

2

3

(j) Delay

Sig.

2

0.001

3

0.000

1

0.001

3

0.000

1

0.000

2

0.000

Table B.11: Pairwise Comparison of Schemes for Measure PPSE from 1000 Hz Experiment (i) Scheme 1

2

3

(j) Scheme

Sig.

2

0.03

3

0.170

1

0.003

3

0.002

1

0.170

2

0.002

138

Table B.12: Pairwise Comparison of Delays for Measure PPSE from 1000 Hz Experiment (i) Delay

(j) Delay

1

2

3

Sig.

2

0.065

3

0.000

1

0.065

3

0.002

1

0.000

2

0.002

Table B.13: Pairwise Comparison of Schemes for Measure RMSPE from 500 Hz and 100 Hz Experiment (i) Scheme

(j) Scheme

1

2

3

Sig.

2

0.025

3

0.000

1

0.025

3

0.000

1

0.000

2

0.000

Table B.14: Pairwise Comparison of Rates for Measure RMSPE from 500 Hz and 100 Hz Experiment (i) Rate 1

(j) Rate 2

Sig. 0.054

139

Table B.15: Pairwise Comparison of Delays for Measure RMSPE from 500 Hz and 100 Hz Experiment (i) Delay

(j) Delay

1

2

3

Sig.

2

0.000

3

0.000

1

0.000

3

0.000

1

0.000

2

0.000

Table B.16: Pairwise Comparison of Schemes for Measure PPSE from 500 Hz and 100 Hz Experiment (i) Scheme

(j) Scheme

1

2

3

Sig.

2

0.001

3

0.002

1

0.001

3

0.000

1

0.002

2

0.000

Table B.17: Pairwise Comparison of Rates for Measure PPSE from 500 Hz and 100 Hz Experiment (i) Rate 1

(j) Rate 2

Sig. 0.752

140

Table B.18: Pairwise Comparison of Delays for Measure PPSE from 500 Hz and 100 Hz Experiment (i) Delay 1

2

3

(j) Delay

Sig.

2

0.012

3

0.000

1

0.012

3

0.000

1

0.000

2

0.000

141

Table B.19: Pairwise Comparison of Schemes for Measure RMSF1 from 500 Hz and 100 Hz Experiment (i) Scheme

(j) Scheme

1

2

3

Sig.

2

0.010

3

0.116

1

0.010

3

0.190

1

0.116

2

0.190

Table B.20: Pairwise Comparison of Rates for Measure RMSF1 from 500 Hz and 100 Hz Experiment (i) Rate 1

(j) Rate

Sig.

2

0.019

Table B.21: Pairwise Comparison of Delays for Measure RMSF1 from 500 Hz and 100 Hz Experiment (i) Delay 1

2

3

(j) Delay

Sig.

2

0.326

3

0.450

1

0.326

3

0.841

1

0.450

2

0.841

142

Table B.22: Pairwise Comparison of Schemes for Measure RMSF2 from 500 Hz and 100 Hz Experiment (i) Scheme 1

2

3

(j) Scheme

Sig.

2

0.068

3

0.546

1

0.068

3

0.679

1

0.546

2

0.679

143

Table B.23: Pairwise Comparison of Rates for Measure RMSF2 from 500 Hz and 100 Hz Experiment (i) Rate 1

(j) Rate

Sig.

2

0.050

Table B.24: Pairwise Comparison of Delays for Measure RMSF2 from 500 Hz and 100 Hz Experiment (i) Delay 1

2

3

(j) Delay

Sig.

2

0.864

3

0.353

1

0.864

3

0.542

1

0.353

2

0.542

144

Table B.25: Independent-samples t-test for measure RMSPE

Measure

Between

t

df

Sig.(2-tailed)

Scheme 1, Delay 1

1000 Hz, 500 Hz

-4.867

17

< 0.001

Scheme 1, Delay 2

1000 Hz, 500 Hz

-3.785

17

0.001

Scheme 1, Delay 3

1000 Hz, 500 Hz

-3.263

17

0.005

Scheme 1, Delay 1

1000 Hz, 100 Hz

-3.892

17

0.001

Scheme 1, Delay 2

1000 Hz, 100 Hz

-4.929

17

< 0.001

Scheme 1, Delay 3

1000 Hz, 100 Hz

-3.054

17

0.007

Scheme 2, Delay 1

1000 Hz, 500 Hz

-2.588

18

0.019

Scheme 2, Delay 2

1000 Hz, 500 Hz

-2.084

18

0.052

Scheme 2, Delay 3

1000 Hz, 500 Hz

-0.551

18

0.589

Scheme 2, Delay 1

1000 Hz, 100 Hz

-2.974

17

0.009

Scheme 2, Delay 2

1000 Hz, 100 Hz

-2.543

17

0.021

Scheme 2, Delay 3

1000 Hz, 100 Hz

-1.337

17

0.199

Scheme 3, Delay 1

1000 Hz, 500 Hz

-3.950

17

0.001

Scheme 3, Delay 2

1000 Hz, 500 Hz

-1.880

17

0.077

Scheme 3, Delay 3

1000 Hz, 500 Hz

-0.546

17

0.592

Scheme 3, Delay 1

1000 Hz, 100 Hz

-1.291

17

0.214

Scheme 3, Delay 2

1000 Hz, 100 Hz

-1.916

17

0.072

Scheme 3, Delay 3

1000 Hz, 100 Hz

-0.834

17

0.416

145

Table B.26: Independent-samples t-test for measure PPSE

Measure

Between

t

df

Sig.(2-tailed)

Scheme 1, Delay 1

1000 Hz, 500 Hz

-3.174

17

0.006

Scheme 1, Delay 2

1000 Hz, 500 Hz

-3.894

17

0.001

Scheme 1, Delay 3

1000 Hz, 500 Hz

-1.657

17

0.116

Scheme 1, Delay 1

1000 Hz, 100 Hz

-2.631

17

0.018

Scheme 1, Delay 2

1000 Hz, 100 Hz

-4.150

17

0.001

Scheme 1, Delay 3

1000 Hz, 100 Hz

-1.649

17

0.117

Scheme 2, Delay 1

1000 Hz, 500 Hz

-1.278

18

0.218

Scheme 2, Delay 2

1000 Hz, 500 Hz

-0.517

18

0.612

Scheme 2, Delay 3

1000 Hz, 500 Hz

-1.211

18

0.242

Scheme 2, Delay 1

1000 Hz, 100 Hz

-2.624

17

0.018

Scheme 2, Delay 2

1000 Hz, 100 Hz

0.252

17

0.804

Scheme 2, Delay 3

1000 Hz, 100 Hz

-1.066

17

0.301

Scheme 3, Delay 1

1000 Hz, 500 Hz

-0.658

17

0.519

Scheme 3, Delay 2

1000 Hz, 500 Hz

-1.176

17

0.256

Scheme 3, Delay 3

1000 Hz, 500 Hz

-0.645

17

0.527

Scheme 3, Delay 1

1000 Hz, 100 Hz

-3.847

17

0.001

Scheme 3, Delay 2

1000 Hz, 100 Hz

-1.670

17

0.113

Scheme 3, Delay 3

1000 Hz, 100 Hz

-0.882

17

0.390

146

Table B.27: Independent-samples t-test for measure RMSF1

Measure

Between

t

df

Sig.(2-tailed)

Scheme 1, Delay 1

1000 Hz, 500 Hz

-5.037

17

< 0.001

Scheme 1, Delay 2

1000 Hz, 500 Hz

-3.785

17

0.001

Scheme 1, Delay 3

1000 Hz, 500 Hz

-3.229

17

0.005

Scheme 1, Delay 1

1000 Hz, 100 Hz

-3.993

17

0.001

Scheme 1, Delay 2

1000 Hz, 100 Hz

-4.917

17

< 0.001

Scheme 1, Delay 3

1000 Hz, 100 Hz

-3.075

17

0.007

Scheme 2, Delay 1

1000 Hz, 500 Hz

-2.698

18

0.015

Scheme 2, Delay 2

1000 Hz, 500 Hz

-3.205

18

0.005

Scheme 2, Delay 3

1000 Hz, 500 Hz

-3.302

18

0.004

Scheme 2, Delay 1

1000 Hz, 100 Hz

-3.242

17

0.005

Scheme 2, Delay 2

1000 Hz, 100 Hz

-4.159

17

0.01

Scheme 2, Delay 3

1000 Hz, 100 Hz

-2.534

17

0.021

Scheme 3, Delay 1

1000 Hz, 500 Hz

-6.563

17

< 0.001

Scheme 3, Delay 2

1000 Hz, 500 Hz

-3.943

17

0.001

Scheme 3, Delay 3

1000 Hz, 500 Hz

-3.451

17

0.003

Scheme 3, Delay 1

1000 Hz, 100 Hz

-4.764

17

< 0.001

Scheme 3, Delay 2

1000 Hz, 100 Hz

-5.780

17

< 0.001

Scheme 3, Delay 3

1000 Hz, 100 Hz

-2.953

17

0.009

147

Table B.28: Independent-samples t-test for measure RMSF2

Measure

Between

t

df

Sig.(2-tailed)

Scheme 1, Delay 1

1000 Hz, 500 Hz

-4.3666

17

< 0.001

Scheme 1, Delay 2

1000 Hz, 500 Hz

-3.599

17

0.002

Scheme 1, Delay 3

1000 Hz, 500 Hz

-2.887

17

0.010

Scheme 1, Delay 1

1000 Hz, 100 Hz

-3.523

17

0.003

Scheme 1, Delay 2

1000 Hz, 100 Hz

-4.443

17

< 0.001

Scheme 1, Delay 3

1000 Hz, 100 Hz

-3.093

17

0.007

Scheme 2, Delay 1

1000 Hz, 500 Hz

-2.616

18

0.017

Scheme 2, Delay 2

1000 Hz, 500 Hz

-2.705

18

0.015

Scheme 2, Delay 3

1000 Hz, 500 Hz

-2.853

18

0.011

Scheme 2, Delay 1

1000 Hz, 100 Hz

-2.951

17

0.009

Scheme 2, Delay 2

1000 Hz, 100 Hz

-3.177

17

0.006

Scheme 2, Delay 3

1000 Hz, 100 Hz

-3.125

17

0.006

Scheme 3, Delay 1

1000 Hz, 500 Hz

-6.694

17

< 0.001

Scheme 3, Delay 2

1000 Hz, 500 Hz

-3.983

17

0.001

Scheme 3, Delay 3

1000 Hz, 500 Hz

-2.367

17

0.03

Scheme 3, Delay 1

1000 Hz, 100 Hz

-4.617

17

< 0.001

Scheme 3, Delay 2

1000 Hz, 100 Hz

-5.288

17

< 0.001

Scheme 3, Delay 3

1000 Hz, 100 Hz

-1.979

17

0.064

148

Appendix C STATISTICS TABLES FOR CHAPTER 9

Table C.1: Test of Within-Subjects Effects for Measure: RMSPE

Source

Type III Sum of Squares

df

Mean Square

F

Sig.

Control type

125.085

1.497

83.552

28.165

0.000

Delay

2.283

2

1.141

8.208

0.003

Control type*Delay

2.694

4.475

0.602

2.197

0.080

149

Table C.2: Pairwise Comparison Measure: RMSPE

(i)

Control

(j)

Control

Mean Differ-

Std

Sig.

type

type

ence (i-j)

Error

PD-A

TDP-A

0.000

0.022

1.000

TDP-B

-0.223

0.019

0.000

WV-A

-1.838

0.297

0.002

WV-B

-2.017

0.376

0.005

PD-A

0.000

0.022

1.000

TDP-B

-0.223

0.019

0.000

WV-A

-1.838

0.297

0.002

WV-B

-2.017

0.376

0.005

PD-A

0.223

0.019

0.000

TDP-A

0.223

0.011

0.000

WV-A

-1.615

0.297

0.004

WV-B

-1.794

0.376

0.010

PD-A

1.838

0.297

0.002

TDP-A

1.838

0.294

0.002

TDP-B

1.615

0.291

0.004

WV-B

-0.179

0.231

0.998

PD-A

2.017

0.376

0.005

TDP-A

2.017

0.379

0.005

TDP-B

1.794

0.376

0.010

WV-A

0.179

0.231

0.998

TDP-A

TDP-B

WV-A

WV-B

150

Table C.3: Test of Within-Subjects Effects for Measure: PPSE

Source

Type III Sum of Squares

df

Mean Square

F

Sig.

Control type

209.047

1.551

134.774

36.432

0.000

Delay

51.643

2

33.270

95.064

0.000

Control type*Delay

30.474

7.074

4.308

12.683

0.006

151

Table C.4: Pairwise Comparison Measure: RMSPE

(i) Control type

(j) Control type

Mean Difference (i-j)

Std Error

Sig.

PD-A

TDP-A

0.003

0.072

1.000

TDP-B

-0.838

0.087

0.000

WV-A

-2.372

0.318

0.000

WV-B

-2.805

0.422

0.001

PD-A

-0.003

0.072

1.000

TDP-B

-0.840

0.107

0.000

WV-A

-2.375

0.275

0.000

WV-B

-2.808

0.405

0.001

PD-A

0.838

0.087

0.000

TDP-A

0.840

0.107

0.000

WV-A

-1.535

0.344

0.016

WV-B

-1.967

0.474

0.024

PD-A

2.372

0.318

0.000

TDP-A

2.375

0.275

0.000

TDP-B

1.535

0.344

0.016

WV-B

-0.433

0.266

0.775

PD-A

2.805

0.422

0.001

TDP-A

2.808

0.405

0.001

TDP-B

1.967

0.474

0.024

WV-A

0.433

0.266

0.775

TDP-A

TDP-B

WV-A

WV-B

152

Table C.5: Test of Within-Subjects Effects for Measure: RMSF1

Source

Type III Sum of Squares

df

Mean Square

F

Sig.

Control type

5.291

4

1.323

56.803

0.000

Delay

1.308

2

0.654

24.864

0.000

Control type*Delay

0.841

8

0.105

6.804

0.000

153

Table C.6: Pairwise Comparison Measure: RMSF1

(i) Control type

(j) Control type

Mean Difference (i-j)

Std Error

Sig.

PD-A

TDP-A

0.007

0.045

1.000

TDP-B

0.028

0.043

0.999

WV-A

0.349

0.044

0.000

WV-B

0.433

0.037

0.000

PD-A

-0.007

0.072

1.000

TDP-B

0.021

0.032

1.000

WV-A

0.342

0.35

0.000

WV-B

0.426

0.025

0.000

PD-A

-0.028

0.043

0.999

TDP-A

-0.021

0.032

1.000

WV-A

0.321

0.056

0.003

WV-B

0.405

0.037

0.000

PD-A

-0.349

0.043

0.000

TDP-A

-0.342

0.032

0.000

TDP-B

-0.321

0.056

0.003

WV-B

0.084

0.037

0.223

PD-A

-0.433

0.037

0.000

TDP-A

-0.426

0.025

0.000

TDP-B

-0.405

0.037

0.000

WV-A

-0.084

0.031

0.223

TDP-A

TDP-B

WV-A

WV-B

154

Table C.7: Test of Within-Subjects Effects for Measure: RMSF2

Source

Type III Sum of Squares

df

Mean Square

F

Sig.

Control type

5.143

4

1.286

61.950

0.000

Delay

1.440

2

0.720

30.358

0.000

Control type*Delay

0.874

8

0.109

5.596

0.042

155

Table C.8: Pairwise Comparison Measure: RMSF2

(i) Control type

(j) Control type

Mean Difference (i-j)

Std Error

Sig.

PD-A

TDP-A

-0.014

0.046

1.000

TDP-B

0.024

0.038

1.000

WV-A

0.332

0.039

0.000

WV-B

0.420

0.031

0.000

PD-A

0.014

0.046

1.000

TDP-B

0.038

0.042

0.993

WV-A

0.346

0.029

0.000

WV-B

0.435

0.035

0.000

PD-A

-0.024

0.038

1.000

TDP-A

-0.038

0.042

0.993

WV-A

0.308

0.046

0.001

WV-B

0.397

0.031

0.000

PD-A

-0.332

0.039

0.000

TDP-A

-0.346

0.029

0.000

TDP-B

-0.308

0.046

0.001

WV-B

0.089

0.031

0.168

PD-A

-0.420

0.031

0.000

TDP-A

-0.435

0.035

0.000

TDP-B

-0.397

0.029

0.000

WV-A

-0.089

0.031

0.168

TDP-A

TDP-B

WV-A

WV-B

156

VITA Ganesh Sankaranarayanan got his BE in Electrical Engineering from Annamalai University in 1997. After working in industry for few year, he went on to pursue graduate study at the University of Texas at Arlington and got is MS in Electrical Engineering in 2002. He has just graduated from PhD in Electrical Engineering from the University of Washington in December 2007.

Suggest Documents