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 ...
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>.