09.12.2012 Views

Development of a web-based laboratory for control experiments on ...

Development of a web-based laboratory for control experiments on ...

Development of a web-based laboratory for control experiments on ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

76 IEEE TRANSACTIONS ON EDUCATION, VOL. 44, NO. 1, FEBRUARY 2001<br />

<str<strong>on</strong>g>Development</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> a Web-Based Laboratory <str<strong>on</strong>g>for</str<strong>on</strong>g> C<strong>on</strong>trol<br />

Experiments <strong>on</strong> a Coupled Tank Apparatus<br />

C. C. Ko, Senior Member, IEEE, Ben M. Chen, Member, IEEE, Jianping Chen, Yuan Zhuang, and<br />

Kay Chen Tan, Member, IEEE<br />

Abstract—The Internet provides a new envir<strong>on</strong>ment <str<strong>on</strong>g>for</str<strong>on</strong>g> developing<br />

a variety <str<strong>on</strong>g>of</str<strong>on</strong>g> applicati<strong>on</strong>s <str<strong>on</strong>g>for</str<strong>on</strong>g> educati<strong>on</strong>al and research<br />

purposes. This paper presents the implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> a <str<strong>on</strong>g>web</str<strong>on</strong>g>-<str<strong>on</strong>g>based</str<strong>on</strong>g><br />

<str<strong>on</strong>g>laboratory</str<strong>on</strong>g> experiment <strong>on</strong> a coupled tank apparatus, a Multiinput–Multioutput<br />

(MIMO) system. The <str<strong>on</strong>g>web</str<strong>on</strong>g>-<str<strong>on</strong>g>based</str<strong>on</strong>g> <str<strong>on</strong>g>laboratory</str<strong>on</strong>g><br />

has been developed to serve students and staff in the Department<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> Electrical Engineering at the Nati<strong>on</strong>al University <str<strong>on</strong>g>of</str<strong>on</strong>g> Singapore<br />

(NUS). The <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> is an educati<strong>on</strong>al tool <str<strong>on</strong>g>for</str<strong>on</strong>g> teaching students<br />

the basic principles and methodology in per<str<strong>on</strong>g>for</str<strong>on</strong>g>ming a series <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>experiments</str<strong>on</strong>g><br />

<strong>on</strong> a coupled tank apparatus at any time and from any<br />

locati<strong>on</strong> through the Internet. With the capability to implement<br />

strategies <str<strong>on</strong>g>for</str<strong>on</strong>g> manual, proporti<strong>on</strong>al integral derivative (PID),<br />

general state-space, and fuzzy logic <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>, the <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> also<br />

provides a plat<str<strong>on</strong>g>for</str<strong>on</strong>g>m <str<strong>on</strong>g>for</str<strong>on</strong>g> research staff to test <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> algorithms.<br />

Video c<strong>on</strong>ferencing has been used to provide audio and video<br />

feedback, with a camera mounted <strong>on</strong> a movable plat<str<strong>on</strong>g>for</str<strong>on</strong>g>m so that<br />

the user can <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> both the zooming and viewing angle. The <str<strong>on</strong>g>laboratory</str<strong>on</strong>g><br />

can be accessed at http://vlab.ee.nus.edu.sg/vlab/<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>/.<br />

Index Terms—Internet, virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g>, <str<strong>on</strong>g>web</str<strong>on</strong>g>-<str<strong>on</strong>g>based</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>.<br />

I. INTRODUCTION<br />

THE CONCEPT <str<strong>on</strong>g>of</str<strong>on</strong>g> a <str<strong>on</strong>g>web</str<strong>on</strong>g>-<str<strong>on</strong>g>based</str<strong>on</strong>g> <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> is not new. Shor<br />

and Bhandari [2] developed a distance learning applicati<strong>on</strong><br />

that allowed a user to remotely c<strong>on</strong>duct <str<strong>on</strong>g>experiments</str<strong>on</strong>g> in the<br />

C<strong>on</strong>trol Engineering Laboratory at Oreg<strong>on</strong> State University. The<br />

applicati<strong>on</strong> permitted the <str<strong>on</strong>g>experiments</str<strong>on</strong>g> to be run via the World<br />

Wide Web (WWW). Only a basic <str<strong>on</strong>g>web</str<strong>on</strong>g> browser that ran Java<br />

is needed to gain access and a robot experiment was developed<br />

<str<strong>on</strong>g>for</str<strong>on</strong>g> dem<strong>on</strong>strati<strong>on</strong>. Bytr<strong>on</strong>ic Process C<strong>on</strong>trol unit [3], referred to<br />

as the process rig in the Process C<strong>on</strong>trol and Automati<strong>on</strong> Laboratory<br />

at Case Western Reserve University, can be accessed<br />

remotely via the Internet. Using a <str<strong>on</strong>g>web</str<strong>on</strong>g> browser, the user can<br />

log <strong>on</strong> and post the parameters from a remote client to a Laboratory<br />

Virtual Instrument Engineering Workbench (LabVIEW,<br />

from Nati<strong>on</strong>al Instruments [6]) <str<strong>on</strong>g>web</str<strong>on</strong>g> server that is c<strong>on</strong>nected to<br />

a process rig via a programmable logic <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> (PLC) module.<br />

The image is generated by a program and refreshed <strong>on</strong> the client<br />

side using server push technology. A remote <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> called<br />

VLAB [1] <strong>on</strong> an oscilloscope experiment was recently set up in<br />

the Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Electrical Engineering, Nati<strong>on</strong>al University<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> Singapore (NUS). These remote laboratories are actual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g><br />

<str<strong>on</strong>g>experiments</str<strong>on</strong>g> that are run remotely via a <str<strong>on</strong>g>web</str<strong>on</strong>g> interface,<br />

and are well suited to distance learning courses where students<br />

need not be physically present <strong>on</strong> campus. They also facilitate<br />

Manuscript received January 5, 2000; revised May 30, 2000.<br />

The authors are with the Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Electrical and Computer Engineering,<br />

Nati<strong>on</strong>al University <str<strong>on</strong>g>of</str<strong>on</strong>g> Singapore, Singapore 117576.<br />

Publisher Item Identifier S 0018-9359(01)01286-9.<br />

0018–9359/01$10.00 © 2001 IEEE<br />

Fig. 1. Laboratory setup <str<strong>on</strong>g>of</str<strong>on</strong>g> the equipment.<br />

the sharing <str<strong>on</strong>g>of</str<strong>on</strong>g> expensive instruments and equipment, and represent<br />

the next important step in remote distance learning.<br />

In this paper, the implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> a remote <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g><br />

experiment <strong>on</strong> a coupled tank apparatus is presented. Four<br />

comm<strong>on</strong>ly used <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> structures (manual <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>, proporti<strong>on</strong>al<br />

integral derivative (PID) <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>, general state-space <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>,<br />

and fuzzy logic <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>) are implemented. The experiment corresp<strong>on</strong>ds<br />

to an industrial <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>-related experiment <str<strong>on</strong>g>for</str<strong>on</strong>g> undergraduate<br />

and graduate students in NUS, with the virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g><br />

also providing a plat<str<strong>on</strong>g>for</str<strong>on</strong>g>m <str<strong>on</strong>g>for</str<strong>on</strong>g> researchers to test <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> algorithms.<br />

LabView [6], Java, HTML (Hyper Text Markup Language),<br />

as well as scripting languages like JavaScript and VB-<br />

Script have been used in the implementati<strong>on</strong>. A distinctive feature<br />

is the provisi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> audio and video feedback through the<br />

use <str<strong>on</strong>g>of</str<strong>on</strong>g> video c<strong>on</strong>ferencing <str<strong>on</strong>g>based</str<strong>on</strong>g> <strong>on</strong> Micros<str<strong>on</strong>g>of</str<strong>on</strong>g>t NetMeeting [8],<br />

with a camera mounted <strong>on</strong> a movable plat<str<strong>on</strong>g>for</str<strong>on</strong>g>m so that the user<br />

can <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> both the zooming and viewing angle. The equipment<br />

setup <str<strong>on</strong>g>of</str<strong>on</strong>g> the <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> is depicted in Fig. 1.<br />

This paper is organized as follows. Secti<strong>on</strong> II describes the<br />

structure <str<strong>on</strong>g>of</str<strong>on</strong>g> the virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g>, including its hardware and<br />

s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware structures. Discussi<strong>on</strong> is given <strong>on</strong> the use <str<strong>on</strong>g>of</str<strong>on</strong>g> transmissi<strong>on</strong><br />

<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> protocol (TCP) as opposed to comm<strong>on</strong> gateway interface<br />

(CGI) <str<strong>on</strong>g>for</str<strong>on</strong>g> client–server communicati<strong>on</strong> as well as other<br />

distinctive features <str<strong>on</strong>g>of</str<strong>on</strong>g> the implementati<strong>on</strong> from the point <str<strong>on</strong>g>of</str<strong>on</strong>g> providing<br />

audio–visual feedback. Secti<strong>on</strong> III presents a model <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

the coupled tank apparatus. Secti<strong>on</strong> IV presents the structures <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

the different <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers that can be used and the corresp<strong>on</strong>ding<br />

user interfaces. C<strong>on</strong>clusi<strong>on</strong>s are presented in Secti<strong>on</strong> V.


KO et al.: DEVELOPMENT OF A WEB-BASED LABORATORY FOR CONTROL EXPERIMENTS ON A COUPLED TANK APPARATUS 77<br />

II. STRUCTURE OF VIRTUAL LABORATORY<br />

A. Hardware Structure<br />

Fig. 2 depicts the hardware structure <str<strong>on</strong>g>of</str<strong>on</strong>g> the virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g>.<br />

As shown, a client PC is accessing the <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> remotely<br />

through a c<strong>on</strong>necti<strong>on</strong> to the HTTP server (provided with Lab-<br />

View [6] as part <str<strong>on</strong>g>of</str<strong>on</strong>g> its Internet Toolkit) which hosts the <str<strong>on</strong>g>web</str<strong>on</strong>g> site<br />

<str<strong>on</strong>g>for</str<strong>on</strong>g> c<strong>on</strong>ducting the experiment. The PC running LabView functi<strong>on</strong>s<br />

as the instrument <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler. C<strong>on</strong>nected to the coupled tank<br />

through a 50-pin Data Acquisiti<strong>on</strong> (DAQ) card, the PC implements<br />

local <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> the coupled tank apparatus by supplying<br />

two input voltages to the pumps <str<strong>on</strong>g>of</str<strong>on</strong>g> the apparatus. A camera c<strong>on</strong>nected<br />

to a PC (serving as the video server) running Micros<str<strong>on</strong>g>of</str<strong>on</strong>g>t<br />

NetMeeting provides visual feedback to the user <strong>on</strong> the changes<br />

in water levels in the coupled tank. A microph<strong>on</strong>e c<strong>on</strong>nected<br />

to the same PC captures the sound <str<strong>on</strong>g>of</str<strong>on</strong>g> the coupled tank’s motor<br />

and provides audio feedback. The pan and tilt <str<strong>on</strong>g>of</str<strong>on</strong>g> the camera as<br />

well as its zoom setting are <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>led by a circuit board c<strong>on</strong>nected<br />

to the instrument <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler. Live video captured by the<br />

camera and the sound captured by the microph<strong>on</strong>e are sent to<br />

the client through the use <str<strong>on</strong>g>of</str<strong>on</strong>g> a video c<strong>on</strong>ference sessi<strong>on</strong>. This is<br />

a point-to-point transfer implying that <strong>on</strong>ly <strong>on</strong>e user can view<br />

the video at a time.<br />

B. TCP <str<strong>on</strong>g>for</str<strong>on</strong>g> Client Server Communicati<strong>on</strong><br />

CGI and TCP are two popular methods <str<strong>on</strong>g>for</str<strong>on</strong>g> implementing<br />

client-server communicati<strong>on</strong>. As illustrated in Fig. 3, CGI programs<br />

running <strong>on</strong> a <str<strong>on</strong>g>web</str<strong>on</strong>g> server sending and receiving parameters<br />

from the users’ <str<strong>on</strong>g>web</str<strong>on</strong>g> browsers have become an Internet standard.<br />

The client uses an Internet browser to c<strong>on</strong>nect to the <str<strong>on</strong>g>web</str<strong>on</strong>g><br />

server, view the <str<strong>on</strong>g>web</str<strong>on</strong>g> page, send the CGI request to the server<br />

and finally receive the resp<strong>on</strong>se <str<strong>on</strong>g>for</str<strong>on</strong>g>m the server. Since CGI c<strong>on</strong>necti<strong>on</strong><br />

is <str<strong>on</strong>g>based</str<strong>on</strong>g> <strong>on</strong> HTTP, which is a per-sessi<strong>on</strong>-basis protocol,<br />

the c<strong>on</strong>necti<strong>on</strong> between the client and the server is closed <strong>on</strong>ce<br />

the client receives the resp<strong>on</strong>se from the server.<br />

In c<strong>on</strong>trast to a CGI c<strong>on</strong>necti<strong>on</strong>, a TCP c<strong>on</strong>necti<strong>on</strong> established<br />

by a client with a server remains in place until the client closes<br />

the c<strong>on</strong>necti<strong>on</strong>. Since the establishment <str<strong>on</strong>g>of</str<strong>on</strong>g> a TCP c<strong>on</strong>necti<strong>on</strong> implies<br />

that the c<strong>on</strong>necti<strong>on</strong> will be in place until the client closes<br />

it, TCP is the ideal communicati<strong>on</strong> protocol <str<strong>on</strong>g>for</str<strong>on</strong>g> implementing<br />

<str<strong>on</strong>g>web</str<strong>on</strong>g>-<str<strong>on</strong>g>based</str<strong>on</strong>g> instrument <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> that requires frequent parameter<br />

adjustments. CGI, <strong>on</strong> the other hand, is not so suitable <str<strong>on</strong>g>for</str<strong>on</strong>g> this<br />

purpose due to its operati<strong>on</strong> <strong>on</strong> a per-sessi<strong>on</strong> basis. Fig. 4 illustrates<br />

the communicati<strong>on</strong> between a client and server using<br />

TCP.<br />

Communicati<strong>on</strong> between the client and server can be set up<br />

c<strong>on</strong>veniently using Java. Java programs are compiled to plat<str<strong>on</strong>g>for</str<strong>on</strong>g>m<br />

independent codes, called bytecodes, <str<strong>on</strong>g>of</str<strong>on</strong>g> a hypothetical machine<br />

called the Java virtual machine (JVM). These bytecode<br />

programs, <str<strong>on</strong>g>of</str<strong>on</strong>g>ten called applet, can be included in a <str<strong>on</strong>g>web</str<strong>on</strong>g> page in<br />

the same way as an image. In additi<strong>on</strong>, they can be viewed and<br />

downloaded by a Java-enabled browser to be executed by the<br />

browser’s JVM. Using Java, the c<strong>on</strong>necti<strong>on</strong> between the client<br />

and the server side can be set up through sockets. When the<br />

user downloads a Java applet from the <str<strong>on</strong>g>web</str<strong>on</strong>g> server, the applet<br />

(running <strong>on</strong> the client machine) represents the client side <str<strong>on</strong>g>of</str<strong>on</strong>g> the<br />

c<strong>on</strong>necti<strong>on</strong>. Java was preferred to other programming languages<br />

Fig. 2. Hardware structure <str<strong>on</strong>g>of</str<strong>on</strong>g> the virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g>.<br />

Fig. 3. A typical CGI c<strong>on</strong>necti<strong>on</strong> process.<br />

Fig. 4. Client–server interacti<strong>on</strong> using TCP.<br />

<str<strong>on</strong>g>for</str<strong>on</strong>g> implementing client- server communicati<strong>on</strong> due to its plat<str<strong>on</strong>g>for</str<strong>on</strong>g>m<br />

independent nature and extensive network programming<br />

support.<br />

C. Audio and Video Feedback<br />

A striking feature <str<strong>on</strong>g>of</str<strong>on</strong>g> the implementati<strong>on</strong> is the use <str<strong>on</strong>g>of</str<strong>on</strong>g> video<br />

c<strong>on</strong>ferencing as opposed to multicast schemes to provide the<br />

user with audio-visual feedback. During the initial stages <str<strong>on</strong>g>of</str<strong>on</strong>g> development,<br />

real-time streaming <str<strong>on</strong>g>of</str<strong>on</strong>g> image data was attempted<br />

using the two most popular commercial soluti<strong>on</strong>s available at<br />

the time. These soluti<strong>on</strong>s involved the use <str<strong>on</strong>g>of</str<strong>on</strong>g> RealServer G2 [9]<br />

and NetShow [10] media servers to stream live video as well as<br />

the use <str<strong>on</strong>g>of</str<strong>on</strong>g> commercial decoders RealPlayer G2 and Windows<br />

Media Player at the client side. However, these soluti<strong>on</strong>s were<br />

observed to be impractical, as a time lag <str<strong>on</strong>g>of</str<strong>on</strong>g> the order <str<strong>on</strong>g>of</str<strong>on</strong>g> ten sec<strong>on</strong>ds<br />

was noticed between the actual occurrence <str<strong>on</strong>g>of</str<strong>on</strong>g> an event in<br />

the <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> and its presentati<strong>on</strong> at the client. This delay was<br />

caused predominantly due to s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware overheads, which arose<br />

because multicast systems were optimized to support a large<br />

number <str<strong>on</strong>g>of</str<strong>on</strong>g> clients. The multidatarate encoding (<str<strong>on</strong>g>based</str<strong>on</strong>g> <strong>on</strong> the


78 IEEE TRANSACTIONS ON EDUCATION, VOL. 44, NO. 1, FEBRUARY 2001<br />

bandwidth available to the target audience), Buffering (during<br />

network c<strong>on</strong>gesti<strong>on</strong>) and intelligent transmissi<strong>on</strong> (maintaining<br />

c<strong>on</strong>tinuity <str<strong>on</strong>g>of</str<strong>on</strong>g> video at the expense <str<strong>on</strong>g>of</str<strong>on</strong>g> quality during network<br />

c<strong>on</strong>gesti<strong>on</strong>) features <str<strong>on</strong>g>of</str<strong>on</strong>g> the multicast schemes were also identified<br />

as potential bottlenecks.<br />

Since the NUS campus network, NUSNET-III [11], provides<br />

the user with bandwidth comparable to a T1 c<strong>on</strong>necti<strong>on</strong>,<br />

bandwidth is not a c<strong>on</strong>straint <str<strong>on</strong>g>for</str<strong>on</strong>g> the implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> remote<br />

<str<strong>on</strong>g>laboratory</str<strong>on</strong>g> experiment within the campus and video c<strong>on</strong>ferencing<br />

was adopted to provide live video to the client. For this<br />

purpose, Windows NetMeeting 3.0 was chosen. NetMeeting<br />

uses the H.323 standard, which is comprised <str<strong>on</strong>g>of</str<strong>on</strong>g> Internati<strong>on</strong>al<br />

Telecommunicati<strong>on</strong>s Uni<strong>on</strong> (ITU) approved protocols <str<strong>on</strong>g>for</str<strong>on</strong>g><br />

audio, video, and data c<strong>on</strong>ferencing over TCP/IP networks. The<br />

standard is compatible with H.261 and H.263 video codecs.<br />

As NetMeeting 3.0 also supports the transfer <str<strong>on</strong>g>of</str<strong>on</strong>g> audio, a microph<strong>on</strong>e<br />

c<strong>on</strong>nected to the instrument <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler is used to capture<br />

the sound made by the coupled tank’s motor. The latter can<br />

then be heard at the client side by attaching speakers to the client<br />

computer. This feature is intended to provide the user as realistic<br />

a feel as possible while per<str<strong>on</strong>g>for</str<strong>on</strong>g>ming the experiment.<br />

The implementati<strong>on</strong> uses an ActiveX <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> to embed the<br />

live audio and video <strong>on</strong> <str<strong>on</strong>g>web</str<strong>on</strong>g> pages. This <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> is part <str<strong>on</strong>g>of</str<strong>on</strong>g> the<br />

Windows NetMeeting Resource Kit [12], and is invoked and<br />

<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>led using VBScript, a scripting language developed by<br />

Micros<str<strong>on</strong>g>of</str<strong>on</strong>g>t Corporati<strong>on</strong>. When the user activates ActiveX and<br />

calls the video server (explicitly by specifying the IP (Internet<br />

Protocol) <str<strong>on</strong>g>of</str<strong>on</strong>g> the video server), a call is placed. The NetMeeting<br />

program <strong>on</strong> the video server is c<strong>on</strong>figured to receive calls immediately<br />

without any user interventi<strong>on</strong> <strong>on</strong> the server side to accept<br />

the call. The program is also c<strong>on</strong>figured to send out live audio<br />

and video at the start <str<strong>on</strong>g>of</str<strong>on</strong>g> each call. The audio and video at the<br />

client side can be stopped in a similar manner through ending<br />

the call or clicking the “Stop A/V” butt<strong>on</strong>.<br />

From the above, it is apparent that <strong>on</strong>ly <strong>on</strong>e user can receive<br />

video at a time. This is logical since <strong>on</strong>ly <strong>on</strong>e user is allowed<br />

to access the <str<strong>on</strong>g>web</str<strong>on</strong>g>-<str<strong>on</strong>g>based</str<strong>on</strong>g> <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> at a time. In fact, this single<br />

user feature is implemented by restricting access to the experiment’s<br />

<str<strong>on</strong>g>web</str<strong>on</strong>g> pages. The user is authenticated by a CGI program<br />

residing <strong>on</strong> the HTTP server, and can access the <str<strong>on</strong>g>web</str<strong>on</strong>g> pages <str<strong>on</strong>g>for</str<strong>on</strong>g><br />

per<str<strong>on</strong>g>for</str<strong>on</strong>g>ming the experiment if no <strong>on</strong>e else is carrying out the experiment.<br />

D. Camera C<strong>on</strong>trol<br />

Yet another special feature <str<strong>on</strong>g>of</str<strong>on</strong>g> the implementati<strong>on</strong> is the<br />

camera’s pan, tilt, and zoom <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>. The camera is mounted<br />

<strong>on</strong> a pan and tilt unit, which can be <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>led through a circuit<br />

board. The board is in turn c<strong>on</strong>nected through RS-232 to the<br />

<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler PC’s serial port. The commands that the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler<br />

PC can issue are described in Table I.<br />

Web-<str<strong>on</strong>g>based</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> is implemented by c<strong>on</strong>tinuously running<br />

a camera <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> program <strong>on</strong> the machine housing the HTTP<br />

server to receive command strings from the client (through a<br />

TCP channel) <str<strong>on</strong>g>for</str<strong>on</strong>g> the local <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> the circuit board. At the<br />

client end, a Java applet sets up the sockets <str<strong>on</strong>g>for</str<strong>on</strong>g> TCP communicati<strong>on</strong><br />

with the server. When the user clicks a butt<strong>on</strong> intended<br />

<str<strong>on</strong>g>for</str<strong>on</strong>g> camera <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>, a procedure in the applet that generates the<br />

TABLE I<br />

COMMANDS FOR CAMERA CONTROL CIRCUIT<br />

corresp<strong>on</strong>ding command string and writes it to the TCP c<strong>on</strong>necti<strong>on</strong><br />

is invoked.<br />

E. S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware Structure<br />

This subsecti<strong>on</strong> explains how <str<strong>on</strong>g>web</str<strong>on</strong>g>-<str<strong>on</strong>g>based</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> the coupled<br />

tank is implemented. The PC running the LabView HTTP<br />

server also runs the LabView “G” language programs that set up<br />

the server side <str<strong>on</strong>g>of</str<strong>on</strong>g> the TCP communicati<strong>on</strong> with the client. Fig. 5<br />

gives the s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware structure <str<strong>on</strong>g>of</str<strong>on</strong>g> the system at runtime. As shown,<br />

there are four Java applets running <strong>on</strong> the client <str<strong>on</strong>g>for</str<strong>on</strong>g> handling<br />

the necessary communicati<strong>on</strong> with the server and plotting the<br />

resp<strong>on</strong>se curve using the data obtained from the server. A fifth<br />

applet communicates with a server program by sending it command<br />

strings <str<strong>on</strong>g>for</str<strong>on</strong>g> camera zoom and pan/tilt <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>. An ActiveX<br />

<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> executes <strong>on</strong> the client and receives audio and video data<br />

from the video server.<br />

On the server, there are four programs handling communicati<strong>on</strong><br />

with the client and receiving the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler parameters and<br />

the reference input (set point) values input by the user. These parameters<br />

are passed <strong>on</strong> to the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler modules (coded in Lab-<br />

View G) which implement the local <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> the coupled tank.<br />

In the case <str<strong>on</strong>g>of</str<strong>on</strong>g> manual <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>, however, the received voltage<br />

values are directly fed to the coupled tank. The program <str<strong>on</strong>g>for</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ling<br />

the mounting unit <str<strong>on</strong>g>of</str<strong>on</strong>g> the camera is coded in Visual Basic<br />

and also resides <strong>on</strong> the same machine. The functi<strong>on</strong>ality <str<strong>on</strong>g>of</str<strong>on</strong>g> the<br />

LabView G programs <str<strong>on</strong>g>for</str<strong>on</strong>g> receiving the parameters from the user<br />

is now described.


KO et al.: DEVELOPMENT OF A WEB-BASED LABORATORY FOR CONTROL EXPERIMENTS ON A COUPLED TANK APPARATUS 79<br />

Fig. 5. S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware structure <str<strong>on</strong>g>of</str<strong>on</strong>g> the virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g>.<br />

LabView supports network communicati<strong>on</strong> protocols, such<br />

as TCP and User Datagram Protocol (UDP), implemented in<br />

the <str<strong>on</strong>g>for</str<strong>on</strong>g>m <str<strong>on</strong>g>of</str<strong>on</strong>g> Virtual Instruments’ sub VI’s. LabView uses the<br />

following VI’s to communicate through the Internet.<br />

1) The TCP Listen.vi: This VI waits <str<strong>on</strong>g>for</str<strong>on</strong>g> an incoming TCP<br />

c<strong>on</strong>necti<strong>on</strong> request. It also returns a c<strong>on</strong>necti<strong>on</strong> ID when<br />

the TCP c<strong>on</strong>necti<strong>on</strong> is created.<br />

2) The TCP Read.vi: This VI receives a specified maximum<br />

number <str<strong>on</strong>g>of</str<strong>on</strong>g> bytes to read from the specified TCP c<strong>on</strong>necti<strong>on</strong>.<br />

3) The TCP Write.vi: This VI writes the string data to the<br />

specified TCP c<strong>on</strong>necti<strong>on</strong>.<br />

4) The TCP Close C<strong>on</strong>necti<strong>on</strong>.vi: This VI is used to release<br />

the TCP c<strong>on</strong>necti<strong>on</strong>.<br />

The server’s G programs receive in<str<strong>on</strong>g>for</str<strong>on</strong>g>mati<strong>on</strong> <strong>on</strong> the two set<br />

points and the parameters <str<strong>on</strong>g>for</str<strong>on</strong>g> the various <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers and pass<br />

these <strong>on</strong> to the two <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler blocks (<strong>on</strong>e <str<strong>on</strong>g>for</str<strong>on</strong>g> each input <str<strong>on</strong>g>of</str<strong>on</strong>g> the<br />

coupled tank). The output <str<strong>on</strong>g>of</str<strong>on</strong>g> each <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler block is c<strong>on</strong>verted<br />

to an analog voltage by the DAQ card and fed to the coupled<br />

tank. The two output analog signals from the coupled tank are<br />

sampled and the voltage in<str<strong>on</strong>g>for</str<strong>on</strong>g>mati<strong>on</strong> is sent to the client. At the<br />

client, the voltage in<str<strong>on</strong>g>for</str<strong>on</strong>g>mati<strong>on</strong> is then used to draw the curve<br />

corresp<strong>on</strong>ding to the system resp<strong>on</strong>se by means <str<strong>on</strong>g>of</str<strong>on</strong>g> a Java applet.<br />

III. MODELING THE COUPLED TANK APPARATUS<br />

As shown in Fig. 6, the coupled tank apparatus is designed <str<strong>on</strong>g>for</str<strong>on</strong>g><br />

the teaching and research <str<strong>on</strong>g>of</str<strong>on</strong>g> process <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> principles. It c<strong>on</strong>sists<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> two perspex tower-type tanks mounted above a reservoir<br />

which stores water. The head <str<strong>on</strong>g>of</str<strong>on</strong>g> water in the tanks can be read<br />

from the scale in fr<strong>on</strong>t <str<strong>on</strong>g>of</str<strong>on</strong>g> the tank. Each tank is fitted with an<br />

outlet, which is in turn c<strong>on</strong>nected to a plastic hose <str<strong>on</strong>g>for</str<strong>on</strong>g> returning<br />

water to the reservoir. The outflow rate <str<strong>on</strong>g>of</str<strong>on</strong>g> water returning to the<br />

Fig. 6. Coupled tank apparatus.<br />

reservoir is approximately proporti<strong>on</strong>al to the head <str<strong>on</strong>g>of</str<strong>on</strong>g> water in<br />

the tank. The water level in the tanks is m<strong>on</strong>itored by two capacitance<br />

probes, each <str<strong>on</strong>g>of</str<strong>on</strong>g> which, al<strong>on</strong>g with some electr<strong>on</strong>ic circuits,<br />

provides an output signal proporti<strong>on</strong>al to the level <str<strong>on</strong>g>of</str<strong>on</strong>g> water<br />

in the corresp<strong>on</strong>ding tank. This output voltage is in the range <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

0to 10 V. Complex tank arrangements are possible by varying<br />

the level <str<strong>on</strong>g>of</str<strong>on</strong>g> the internal baffle, which <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>s the inter-tank resistance.<br />

The <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ling PC feeds two analog input signals to<br />

the coupled tank through the DAQ card. The two analog outputs<br />

corresp<strong>on</strong>ding to the water level in the tanks are sampled<br />

at a rate set by the user.<br />

In general, with the baffle raised, the coupled tank can be<br />

modeled as a two-input–two-output system. The n<strong>on</strong>linear and<br />

linearized state-space models <str<strong>on</strong>g>of</str<strong>on</strong>g> the coupled tank are presented<br />

below.


80 IEEE TRANSACTIONS ON EDUCATION, VOL. 44, NO. 1, FEBRUARY 2001<br />

Fig. 7. User interface <str<strong>on</strong>g>for</str<strong>on</strong>g> manual <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>.<br />

Fig. 8. Block diagram <str<strong>on</strong>g>of</str<strong>on</strong>g> experimental system using a PID <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler.<br />

Specifically, the various parameters <str<strong>on</strong>g>of</str<strong>on</strong>g> the system are<br />

height <str<strong>on</strong>g>of</str<strong>on</strong>g> fluid in the tanks<br />

cross-secti<strong>on</strong>al areas <str<strong>on</strong>g>of</str<strong>on</strong>g> the tanks<br />

pump flow rate into tanks<br />

flow rate <str<strong>on</strong>g>of</str<strong>on</strong>g> fluid out <str<strong>on</strong>g>of</str<strong>on</strong>g> the tanks<br />

flow rate <str<strong>on</strong>g>of</str<strong>on</strong>g> fluid between the tanks<br />

Using Bernoulli’s equati<strong>on</strong> <str<strong>on</strong>g>for</str<strong>on</strong>g> steady n<strong>on</strong>viscous incompressible<br />

flow (which states that the outlet flow in each tank is proporti<strong>on</strong>al<br />

to the square root <str<strong>on</strong>g>of</str<strong>on</strong>g> the head <str<strong>on</strong>g>of</str<strong>on</strong>g> water in the tank), we<br />

have<br />

(1)<br />

(2)<br />

Similarly, as the flow between the two tanks is proporti<strong>on</strong>al to<br />

the square root <str<strong>on</strong>g>of</str<strong>on</strong>g> the head differential<br />

(3)<br />

The proporti<strong>on</strong>ality c<strong>on</strong>stants, , , and , in the above<br />

equati<strong>on</strong>s are dependent <strong>on</strong> the coefficient <str<strong>on</strong>g>of</str<strong>on</strong>g> discharge, the<br />

cross secti<strong>on</strong>al area <str<strong>on</strong>g>of</str<strong>on</strong>g> each orifice, and the gravitati<strong>on</strong>al<br />

c<strong>on</strong>stant. The coupled tank apparatus with two inputs and two<br />

outputs and the baffle completely raised can be modeled in<br />

state space as follows.<br />

Combining (1)–(3), the following set <str<strong>on</strong>g>of</str<strong>on</strong>g> n<strong>on</strong>linear, state-space<br />

equati<strong>on</strong>s representing the system dynamics <str<strong>on</strong>g>of</str<strong>on</strong>g> the coupled tank<br />

can be obtained<br />

(4)<br />

Furthermore, the dynamics <str<strong>on</strong>g>of</str<strong>on</strong>g> the pumps c<strong>on</strong>nected to the tanks<br />

can be approximated by<br />

(5)<br />

where and are the inflow rates <str<strong>on</strong>g>of</str<strong>on</strong>g> tanks 1 and 2, and<br />

are the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> signals <str<strong>on</strong>g>for</str<strong>on</strong>g> pumps 1 and 2, and and<br />

are the associated c<strong>on</strong>stants <str<strong>on</strong>g>for</str<strong>on</strong>g> pumps 1 and 2, respectively.<br />

PThus, if the coupled tank is <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>led with the prefeedback<br />

law<br />

(6)


KO et al.: DEVELOPMENT OF A WEB-BASED LABORATORY FOR CONTROL EXPERIMENTS ON A COUPLED TANK APPARATUS 81<br />

Fig. 9. User interface <str<strong>on</strong>g>for</str<strong>on</strong>g> PID <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>.<br />

Fig. 10. Block diagram <str<strong>on</strong>g>of</str<strong>on</strong>g> experimental system using a state-space <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler.<br />

the system can be simplified as<br />

Note that the above procedure is really a good example <str<strong>on</strong>g>of</str<strong>on</strong>g> feedback<br />

linearizati<strong>on</strong>, as the resulting system dynamics in (7) is<br />

linear.<br />

IV. CONTROLLING THE COUPLED TANK APPARATUS<br />

Four different types <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers which have been implemented<br />

will now be described.<br />

A. Manual C<strong>on</strong>trol<br />

Manual <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> c<strong>on</strong>sists <str<strong>on</strong>g>of</str<strong>on</strong>g> directly feeding the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> inputs<br />

given by the user to the pumps without the use <str<strong>on</strong>g>of</str<strong>on</strong>g> any automatic<br />

<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler. The user is expected to adjust the values <str<strong>on</strong>g>of</str<strong>on</strong>g> the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g><br />

inputs to achieve the desired water levels in the tanks. The<br />

user interface <str<strong>on</strong>g>for</str<strong>on</strong>g> manual <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> is shown in Fig. 7. Note that<br />

this can be used to determine critical frequencies <str<strong>on</strong>g>of</str<strong>on</strong>g> the process,<br />

(7)<br />

which will in turn provide useful in<str<strong>on</strong>g>for</str<strong>on</strong>g>mati<strong>on</strong> <str<strong>on</strong>g>for</str<strong>on</strong>g> selecting various<br />

gains in PID <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>.<br />

B. PID C<strong>on</strong>trol<br />

Fig. 8 shows the block diagram <str<strong>on</strong>g>of</str<strong>on</strong>g> the overall system, which<br />

comprises <str<strong>on</strong>g>of</str<strong>on</strong>g> the PID <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler and the plant or coupled tank.<br />

Here is the reference input or the set points <str<strong>on</strong>g>for</str<strong>on</strong>g> the water levels<br />

in the tanks. The c<strong>on</strong>tinuous time resp<strong>on</strong>se <str<strong>on</strong>g>of</str<strong>on</strong>g> a PID <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler<br />

is given by<br />

where is the tracking error, , , and are the<br />

proporti<strong>on</strong>al, integral, and derivative gains, respectively. In the<br />

coupled tank experiment, the PID <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler is realized through<br />

a s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware program and the appropriate discrete-time input is<br />

While PID <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> is selected, the user is expected to input the<br />

values <str<strong>on</strong>g>of</str<strong>on</strong>g> the two reference inputs (set points) and the values<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> the proporti<strong>on</strong>al, integral and differential gains. These values<br />

can be obtained by tuning the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler using various established<br />

procedures. The user interface <str<strong>on</strong>g>for</str<strong>on</strong>g> PID <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> is shown<br />

in Fig. 9.<br />

C. Generalized State-Space C<strong>on</strong>trol<br />

Fig. 10 shows the block diagram <str<strong>on</strong>g>for</str<strong>on</strong>g> the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> the coupled<br />

tank using a generalized <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler modeled in state space. Here,<br />

is the reference input, is the measured output <str<strong>on</strong>g>of</str<strong>on</strong>g> the coupled-<br />

(8)<br />

(9)


82 IEEE TRANSACTIONS ON EDUCATION, VOL. 44, NO. 1, FEBRUARY 2001<br />

Fig. 11. User interface <str<strong>on</strong>g>for</str<strong>on</strong>g> general state-space <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>.<br />

Fig. 12. User interface <str<strong>on</strong>g>for</str<strong>on</strong>g> input <str<strong>on</strong>g>of</str<strong>on</strong>g> matrices.<br />

tank, and<br />

is given by<br />

is the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> input. The state model <str<strong>on</strong>g>of</str<strong>on</strong>g> the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler<br />

(10)<br />

(11)<br />

where is the state <str<strong>on</strong>g>of</str<strong>on</strong>g> the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler, and , , , ,<br />

, and are c<strong>on</strong>stant matrices <str<strong>on</strong>g>of</str<strong>on</strong>g> appropriate dimensi<strong>on</strong>s.<br />

The user interface <str<strong>on</strong>g>for</str<strong>on</strong>g> per<str<strong>on</strong>g>for</str<strong>on</strong>g>ming general state-space <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g><br />

is shown in Fig. 11. In c<strong>on</strong>ducting experiment using this general<br />

state-space <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler structure, the user is first prompted<br />

to enter the order <str<strong>on</strong>g>of</str<strong>on</strong>g> the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler that he or she has designed.<br />

Based <strong>on</strong> this value, a user interface will automatically appear<br />

<str<strong>on</strong>g>for</str<strong>on</strong>g> the user to enter the various matrices. Fig. 12 shows the interface<br />

when the order is chosen to be two. The data entered will be


KO et al.: DEVELOPMENT OF A WEB-BASED LABORATORY FOR CONTROL EXPERIMENTS ON A COUPLED TANK APPARATUS 83<br />

sent to the s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler <strong>on</strong> the server <strong>on</strong>ce the user clicks<br />

the “OK” butt<strong>on</strong>.<br />

D. Fuzzy Knowledge-Based C<strong>on</strong>trol<br />

A fuzzy knowledge-<str<strong>on</strong>g>based</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler (FKBC) has also been<br />

developed to <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> the coupled tank. Fig. 13 shows the system<br />

block diagram, whereas Fig. 14 shows the principal comp<strong>on</strong>ents<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> the FKBC.<br />

As shown, the three principal blocks <str<strong>on</strong>g>of</str<strong>on</strong>g> the FKBC are the<br />

fuzzificati<strong>on</strong> module, the inference engine and the defuzzificati<strong>on</strong><br />

module. The fuzzificati<strong>on</strong> module includes a normalizati<strong>on</strong><br />

block <str<strong>on</strong>g>for</str<strong>on</strong>g> mapping the physical values <str<strong>on</strong>g>of</str<strong>on</strong>g> the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g><br />

state variables <strong>on</strong>to the normalized domain. This block also<br />

maps the normalized <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> output variable <strong>on</strong>to its physical<br />

domain. The knowledge base <str<strong>on</strong>g>of</str<strong>on</strong>g> the fuzzy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler c<strong>on</strong>sists<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> a database and a rule base. The <str<strong>on</strong>g>for</str<strong>on</strong>g>mer includes in<str<strong>on</strong>g>for</str<strong>on</strong>g>mati<strong>on</strong><br />

<strong>on</strong> the membership functi<strong>on</strong>s and the normalizati<strong>on</strong>/denormalizati<strong>on</strong><br />

scaling factors. The rule base represents the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g><br />

policy adopted. For implementing fuzzy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> <strong>on</strong> the coupled<br />

tank, the process state variables are the error ( ) and the<br />

change-<str<strong>on</strong>g>of</str<strong>on</strong>g>-error ( ). The <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> output variable is the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g><br />

output ( ). The term sets <str<strong>on</strong>g>of</str<strong>on</strong>g> , and are denoted by ,<br />

and , respectively. They c<strong>on</strong>tain the same set <str<strong>on</strong>g>of</str<strong>on</strong>g> linguistic<br />

values, i.e., NL (negative low), ZR (zero) and PL (positive<br />

low). Thus<br />

NL, ZR, PL<br />

The user interface developed <str<strong>on</strong>g>for</str<strong>on</strong>g> fuzzy logic <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> is shown<br />

in Fig. 15. The default rule base shown in two tables at the<br />

bottom right corner can be modified by the user by clicking<br />

<strong>on</strong> the table entries. The membership functi<strong>on</strong>s <str<strong>on</strong>g>for</str<strong>on</strong>g> err (error),<br />

derr (derivative <str<strong>on</strong>g>of</str<strong>on</strong>g> error), and out, (output) can be modified<br />

by clicking <strong>on</strong> the err, derr, and out butt<strong>on</strong>s respectively. On<br />

clicking these butt<strong>on</strong>s a new window pops up as shown in<br />

Fig. 16 to enable the user to edit the membership functi<strong>on</strong>.<br />

By clicking <strong>on</strong> the Left, Middle, and Right butt<strong>on</strong>s, the user<br />

can choose the functi<strong>on</strong> to be edited. A vertical line then appears<br />

which can be dragged using the mouse to the desired positi<strong>on</strong>.<br />

The default membership functi<strong>on</strong>s can be restored by pressing<br />

the Default butt<strong>on</strong>.<br />

The inference engine has been realized to use individual<br />

rule-<str<strong>on</strong>g>based</str<strong>on</strong>g> inference. The normalizati<strong>on</strong>/denormalizati<strong>on</strong><br />

scaling factors used are 10.0, 50.0, and 1.0 <str<strong>on</strong>g>for</str<strong>on</strong>g> , and ,<br />

respectively. Current ef<str<strong>on</strong>g>for</str<strong>on</strong>g>ts are focused <strong>on</strong> developing and implementing<br />

a learning algorithm <str<strong>on</strong>g>for</str<strong>on</strong>g> the rule base, membership<br />

functi<strong>on</strong>s, and scaling factors.<br />

V. IMPACTS OF VIRTUAL LABORATORIES IN TEACHING AND<br />

RESEARCH<br />

The virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> described in this paper is currently<br />

being utilized in the teaching <str<strong>on</strong>g>of</str<strong>on</strong>g> both undergraduate and postgraduate<br />

courses in the Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Electrical Engineering,<br />

Nati<strong>on</strong>al University <str<strong>on</strong>g>of</str<strong>on</strong>g> Singapore. The <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> sessi<strong>on</strong> <str<strong>on</strong>g>for</str<strong>on</strong>g> the<br />

undergraduate course c<strong>on</strong>sists <str<strong>on</strong>g>of</str<strong>on</strong>g> identifying a physical model<br />

<str<strong>on</strong>g>for</str<strong>on</strong>g> the coupled-tank system <str<strong>on</strong>g>based</str<strong>on</strong>g> <strong>on</strong> input–output data, as well<br />

as designing a PID <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler and different fuzzy logic <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers<br />

(such as Takagi-Sugeno, Mamdani, etc) <str<strong>on</strong>g>for</str<strong>on</strong>g> the system.<br />

Due to the complexity in tuning the PID <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler parameters,<br />

Fig. 13. Block diagram <str<strong>on</strong>g>of</str<strong>on</strong>g> experimental system using a fuzzy logic <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler.<br />

the membership functi<strong>on</strong>s, and the rule-bases <str<strong>on</strong>g>of</str<strong>on</strong>g> the fuzzy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler,<br />

students are <str<strong>on</strong>g>of</str<strong>on</strong>g>ten short <str<strong>on</strong>g>of</str<strong>on</strong>g> time in implementing their<br />

<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers within the scheduled <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> sessi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> 3 h.<br />

Through the virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g>, however, each student is<br />

now able to carry out the <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> according to his/her own<br />

pace and time schedule. The manual <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> in the virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g><br />

also allows students to collect real-time coupled-tank<br />

input–output data <str<strong>on</strong>g>for</str<strong>on</strong>g> the identificati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> a physical model.<br />

This is particular useful since an accurate model would help in<br />

the design <str<strong>on</strong>g>of</str<strong>on</strong>g> a good closed-loop <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler. Besides, students<br />

could also interplay or fine-tune the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler parameters and<br />

membership functi<strong>on</strong>s, and the resulted <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> per<str<strong>on</strong>g>for</str<strong>on</strong>g>mance<br />

could be visualized and compared since they are <str<strong>on</strong>g>based</str<strong>on</strong>g> up<strong>on</strong><br />

the same virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> plat<str<strong>on</strong>g>for</str<strong>on</strong>g>m.<br />

A postgraduate course <strong>on</strong> optimal <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> systems also<br />

incorporates the virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> in its <str<strong>on</strong>g>for</str<strong>on</strong>g>mal teaching. In this<br />

course, students are introduced to solve both classical optimal<br />

<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> system design problems, such as linear quadratic<br />

regulator (LQR) <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> and linear quadratic Gaussian (LQG)<br />

<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>, and advanced robust <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> problems, such as H<br />

optimal <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> and H <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>. Since half the class c<strong>on</strong>sists<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> part-time students holding full-time employment in industry,<br />

classes are c<strong>on</strong>ducted in 3-h sessi<strong>on</strong>s in evenings <strong>on</strong>ce a week.<br />

Due to security, manpower, and other c<strong>on</strong>straints, teaching<br />

laboratories are generally closed after working hours and it<br />

was almost impossible to schedule <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> <str<strong>on</strong>g>experiments</str<strong>on</strong>g> or<br />

to assign homework assignments <strong>on</strong> hardware implementati<strong>on</strong>s<br />

in the past.<br />

With the help <str<strong>on</strong>g>of</str<strong>on</strong>g> the virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g>, which is available<br />

24 h a day, the course lecturer is now able to introduce a new<br />

teaching element <strong>on</strong> actual experimentati<strong>on</strong>. The virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g><br />

is used throughout the course homework assignments,<br />

in which students are required to solve an actual problem <strong>on</strong><br />

the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> the flow levels in the coupled-tank system using<br />

techniques learned in the class, and implement their designs <strong>on</strong><br />

the actual system through the Internet. To the part-time students<br />

who can log<strong>on</strong> and use the system whenever they are free, the<br />

virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> provides a highly flexible access to a real experiment.<br />

Feedback and comments from the students are generally<br />

very positive. Many students feel that it is superb to see<br />

that the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers they have designed actually work in the real<br />

system.<br />

The virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g>fers an excellent and c<strong>on</strong>venient plat<str<strong>on</strong>g>for</str<strong>on</strong>g>m<br />

<str<strong>on</strong>g>for</str<strong>on</strong>g> researchers to test and implement their new algorithms<br />

as well. As an example, <str<strong>on</strong>g>based</str<strong>on</strong>g> <strong>on</strong> a robust and perfect tracking<br />

technique developed recently in [13], a <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler <str<strong>on</strong>g>for</str<strong>on</strong>g> the coupled-tank<br />

system in the virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> has been implemented<br />

by the authors. While the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler is theoretically capable <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

tracking any reference signal with arbitrary fast settling time


84 IEEE TRANSACTIONS ON EDUCATION, VOL. 44, NO. 1, FEBRUARY 2001<br />

Fig. 14. Principal comp<strong>on</strong>ents <str<strong>on</strong>g>of</str<strong>on</strong>g> fuzzy knowledge-<str<strong>on</strong>g>based</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler.<br />

Fig. 15. User interface <str<strong>on</strong>g>of</str<strong>on</strong>g> fuzzy knowledge-<str<strong>on</strong>g>based</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>.<br />

from any initial c<strong>on</strong>diti<strong>on</strong>, it requires in general an infinite gain<br />

to guarantee such a per<str<strong>on</strong>g>for</str<strong>on</strong>g>mance. With the flexibility <str<strong>on</strong>g>of</str<strong>on</strong>g> the vir-<br />

tual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g>, it is simple and easy to tune certain design parameters<br />

to meet the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> c<strong>on</strong>straints <str<strong>on</strong>g>of</str<strong>on</strong>g> the physical system


KO et al.: DEVELOPMENT OF A WEB-BASED LABORATORY FOR CONTROL EXPERIMENTS ON A COUPLED TANK APPARATUS 85<br />

Fig. 16. User interface <str<strong>on</strong>g>for</str<strong>on</strong>g> editing membership functi<strong>on</strong>s.<br />

with some trade<str<strong>on</strong>g>of</str<strong>on</strong>g>f in the overall per<str<strong>on</strong>g>for</str<strong>on</strong>g>mance. The design was<br />

very successful and the results have been submitted <str<strong>on</strong>g>for</str<strong>on</strong>g> possible<br />

publicati<strong>on</strong>. Last, it should be emphasized that the virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g><br />

enables making per<str<strong>on</strong>g>for</str<strong>on</strong>g>mance comparis<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> different<br />

techniques very easily and meaningfully, as the various techniques<br />

are all implemented under the same setting.<br />

VI. CONCLUSION<br />

This paper has described the design and development <str<strong>on</strong>g>of</str<strong>on</strong>g> a<br />

<str<strong>on</strong>g>web</str<strong>on</strong>g>-<str<strong>on</strong>g>based</str<strong>on</strong>g> <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> experiment <strong>on</strong> a coupled tank apparatus<br />

and discussed its impact from both a teaching and research<br />

points <str<strong>on</strong>g>of</str<strong>on</strong>g> view. New and attractive features, such as the use<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> video c<strong>on</strong>ferencing <str<strong>on</strong>g>for</str<strong>on</strong>g> providing audio–visual feedback to<br />

the user and the provisi<strong>on</strong> <str<strong>on</strong>g>for</str<strong>on</strong>g> adjustment <str<strong>on</strong>g>of</str<strong>on</strong>g> the pan/tilt and<br />

zoom <str<strong>on</strong>g>of</str<strong>on</strong>g> the camera capturing the real-time video, have been<br />

incorporated. Strategies that have been implemented include<br />

manual <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>, PID <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>, general state-space <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>, and<br />

fuzzy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>. Accessible at http://vlab.ee.nus.edu.sg/vlab/<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>/,<br />

the virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> has been used <str<strong>on</strong>g>for</str<strong>on</strong>g> the teaching <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

undergraduate and postgraduate courses as well as <str<strong>on</strong>g>for</str<strong>on</strong>g> research<br />

purposes. In teaching, the possibility <str<strong>on</strong>g>of</str<strong>on</strong>g> anytime anywhere<br />

access allows undergraduate students who are not able to<br />

finish the actual experiment to be able to c<strong>on</strong>tinue to work<br />

<strong>on</strong> the subject after the <str<strong>on</strong>g>for</str<strong>on</strong>g>mal <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> sessi<strong>on</strong> <strong>on</strong> their<br />

own time through the Internet. For part-time postgraduate<br />

students, the system solves security and manpower problems<br />

associated with the operati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> teaching laboratories in the<br />

evening. The virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> provides the course lecturer<br />

with the possibility to use a real couple-tank apparatus as a<br />

principal teaching tool <str<strong>on</strong>g>for</str<strong>on</strong>g> homework assignments <str<strong>on</strong>g>for</str<strong>on</strong>g> the first<br />

time. In research, the system has the advantage that important<br />

parameters can be remotely tuned easily. Also, per<str<strong>on</strong>g>for</str<strong>on</strong>g>mance<br />

comparis<strong>on</strong> with different techniques can be obtained very<br />

easily and meaningfully, as the various techniques are all<br />

implemented under the same setting.<br />

REFERENCES<br />

[1] C. C. Ko, B. M. Chen, S. H. Chen, V. Ramakrishnan, R. Chen, S. Y. Hu,<br />

and Y. Zhuang, “A large scale <str<strong>on</strong>g>web</str<strong>on</strong>g>-<str<strong>on</strong>g>based</str<strong>on</strong>g> virtual oscilloscope <str<strong>on</strong>g>laboratory</str<strong>on</strong>g><br />

experiment,” Inst. Elect. Eng Eng. Sci. Educ. J., vol. 9, no. 2, pp. 69–76,<br />

2000.<br />

[2] M. Shor and A. Bhandari, “Access to an instructi<strong>on</strong>al <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> <str<strong>on</strong>g>laboratory</str<strong>on</strong>g><br />

experiment through the World Wide Web,” in Proc. 1998 Amer. C<strong>on</strong>tr.<br />

C<strong>on</strong>f., Philadelphia, PA, 1998, pp. 1319–1325.<br />

[3] M. Shaheen, K. A. Loparo, and M. R. Buchner, “Remote <str<strong>on</strong>g>laboratory</str<strong>on</strong>g><br />

experimentati<strong>on</strong>,” in Proc. 1998 Amer. C<strong>on</strong>tr. C<strong>on</strong>f., Philadelphia, PA,<br />

1998, pp. 1326–1329.<br />

[4] “Web-<str<strong>on</strong>g>based</str<strong>on</strong>g> virtual <str<strong>on</strong>g>laboratory</str<strong>on</strong>g>, Nat. Univ. Singapore,”,<br />

http://vlab.ee.nus.edu.sg/vlab.<br />

[5] S. H. Chen, R. Chen, V. Ramakrishnan, S. Y. Hu, Y. Zhuang, C. C. Ko,<br />

and B. M. Chen, “<str<strong>on</strong>g>Development</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> remote <str<strong>on</strong>g>laboratory</str<strong>on</strong>g> experimentati<strong>on</strong><br />

through internet,” in Proc. 1999 IEEE H<strong>on</strong>g K<strong>on</strong>g Symp. Robot. C<strong>on</strong>tr.,<br />

H<strong>on</strong>g K<strong>on</strong>g, July 1999, pp. 756–760.<br />

[6] LabView, User Manual: Nati<strong>on</strong>al Instruments, 1998.<br />

[7] Coupled Tank C<strong>on</strong>trol Apparatus, Model: PP-100, Operator and Service<br />

Manual. Singapore: Kent Ridge Instruments, 1999.<br />

[8] Windows NetMeeting 3.0 Help: Micros<str<strong>on</strong>g>of</str<strong>on</strong>g>t Corporati<strong>on</strong>, 1999.<br />

[9] RealServer G2 Help: RealNetworks, 1999.<br />

[10] NetShow 3.0 Documentati<strong>on</strong>: Micros<str<strong>on</strong>g>of</str<strong>on</strong>g>t Corporati<strong>on</strong>, 1999.<br />

[11] “Home page <str<strong>on</strong>g>of</str<strong>on</strong>g> NUSNET-III,”, http://www.cc.nus.edu.sg/.<br />

[12] Window NetMeeting Resource Kit: Micros<str<strong>on</strong>g>of</str<strong>on</strong>g>t Corporati<strong>on</strong>, 1999.<br />

[13] B. M. Chen, Robust and H C<strong>on</strong>trol. New York: Springer-Verlag,<br />

2000.


86 IEEE TRANSACTIONS ON EDUCATION, VOL. 44, NO. 1, FEBRUARY 2001<br />

C. C. Ko (M’82–SM’93) received the B.Sc. (1st Class H<strong>on</strong>ors) and Ph.D. degrees<br />

in electrical engineering from Loughborough University <str<strong>on</strong>g>of</str<strong>on</strong>g> Technology,<br />

U.K.<br />

In 1982, he joined the Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Electrical Engineering, Nati<strong>on</strong>al University<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> Singapore, where he is presently an Associate Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>essor and Deputy<br />

Head (Research) <str<strong>on</strong>g>of</str<strong>on</strong>g> the Department. His current research interests include digital<br />

signal processing, adaptive arrays and mobile communicati<strong>on</strong>s and he has<br />

written more than 150 technical publicati<strong>on</strong>s in these areas.<br />

Dr. Ko has served as an Associate Editor <str<strong>on</strong>g>of</str<strong>on</strong>g> the IEEE TRANSACTIONS ON<br />

SIGNAL PROCESSING.<br />

Ben M. Chen (S’89–M’92) was born in Fuqing, Fujian, China, <strong>on</strong> November<br />

25, 1963. He received the B.S. degree in mathematics and computer science<br />

from Amoy University, Xiamen, China, in 1983, M.S. degree in electrical engineering<br />

from G<strong>on</strong>zaga University, Spokane, Washingt<strong>on</strong>, in 1988, and Ph.D.<br />

degree in electrical and computer engineering from Washingt<strong>on</strong> State University,<br />

Pullman, WA, in 1991.<br />

He was a S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware Engineer from 1983 to 1986 in the South-China Computer<br />

Corporati<strong>on</strong>, China, and was a Postdoctoral Associate from 1991 to 1992<br />

at Washingt<strong>on</strong> State University. He was with the Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Electrical Engineering,<br />

State University <str<strong>on</strong>g>of</str<strong>on</strong>g> New York at St<strong>on</strong>y Brook, from 1992 to 1993,<br />

as an Assistant Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>essor. Since August 1993, he has been with Electrical Engineering<br />

Department, the Nati<strong>on</strong>al University <str<strong>on</strong>g>of</str<strong>on</strong>g> Singapore, where he is currently<br />

an Associate Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>essor. His current research interests are in linear <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> and<br />

system theory, <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> applicati<strong>on</strong>s, development <str<strong>on</strong>g>of</str<strong>on</strong>g> internet-<str<strong>on</strong>g>based</str<strong>on</strong>g> virtual laboratories<br />

and internet security systems. He is the author <str<strong>on</strong>g>of</str<strong>on</strong>g> the books, Robust and<br />

H-infinity C<strong>on</strong>trol (L<strong>on</strong>d<strong>on</strong>: Springer, 2000), and H-infinity C<strong>on</strong>trol and Its Applicati<strong>on</strong>s<br />

(L<strong>on</strong>d<strong>on</strong>: Springer, 1998), and coauthor <str<strong>on</strong>g>of</str<strong>on</strong>g> the books, Loop Transfer<br />

Recovery: Analysis and Design (L<strong>on</strong>d<strong>on</strong>: Springer, 1993), H2 Optimal C<strong>on</strong>trol<br />

(L<strong>on</strong>d<strong>on</strong>: Prentice Hall, 1995), and Basic Circuit Analysis (Singapore: Prentice<br />

Hall, 1st Ed., 1996; 2nd Ed., 1998).<br />

Dr. Chen was an Associate Editor in 1997–1998 <strong>on</strong> the C<strong>on</strong>ference Editorial<br />

Board <str<strong>on</strong>g>of</str<strong>on</strong>g> IEEE C<strong>on</strong>trol Systems Society. He currently serves as an Associate<br />

Editor <str<strong>on</strong>g>of</str<strong>on</strong>g> IEEE TRANSACTIONS ON AUTOMATIC CONTROL.<br />

Jianping Chen was born in Fujian, China in 1971. He received the B.Eng. degree<br />

from Shanghai Jiaot<strong>on</strong>g University in 1993 and M.Eng degree from Xiamen<br />

University in 1999 respectively, both in <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> theory. From 1993 to<br />

1996, he researched <strong>on</strong> communicati<strong>on</strong> engineering in South-Cube High-Tech<br />

Co. Ltd, Xiamen.<br />

From January 1998 to June 1999, he researched <strong>on</strong> intelligent <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> and<br />

robotics in the State Key Laboratory <str<strong>on</strong>g>of</str<strong>on</strong>g> Intelligent Science and System,<br />

which is located in the Computer Science Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Tsinghua University.<br />

His current research interests include network security and intelligent <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>.<br />

Yuan Zhuang was born in Anhui, China, in 1975. He received the B.Eng. degree<br />

in electrical engineering from Zhejiang University, China, in 1997. Since<br />

1998, he had been pursuing the M.Eng. degree at in the Nati<strong>on</strong>al University <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

Singapore.<br />

Hiscurrentresearchinterestisremoteinstrument<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>,distributedsystem<br />

applicati<strong>on</strong> and <str<strong>on</strong>g>web</str<strong>on</strong>g> technology development.<br />

Kay Chen Tan (S’95–M’99) received the B.Eng. (First-class h<strong>on</strong>ors) and Ph.D.<br />

degrees in electrical and electr<strong>on</strong>ic engineering from the University <str<strong>on</strong>g>of</str<strong>on</strong>g> Glasgow,<br />

U.K., in 1994 and 1997, respectively.<br />

He was with the Centre <str<strong>on</strong>g>for</str<strong>on</strong>g> Systems and C<strong>on</strong>trol (CSC) and the Evoluti<strong>on</strong>ary<br />

Computing Group at Glasgow be<str<strong>on</strong>g>for</str<strong>on</strong>g>e joining the Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Electrical and<br />

Computer Engineering in Nati<strong>on</strong>al University <str<strong>on</strong>g>of</str<strong>on</strong>g> Singapore (NUS) as an Assistant<br />

Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>essor in 1997. He has published more than 30 technical papers and<br />

served as an IPC Member <str<strong>on</strong>g>for</str<strong>on</strong>g> many internati<strong>on</strong>al c<strong>on</strong>ferences. His research interests<br />

include evoluti<strong>on</strong>ary computati<strong>on</strong>, multiobjective optimizati<strong>on</strong>, intelligent<br />

<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>, and design automati<strong>on</strong>.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!