Vous êtes sur la page 1sur 9

346

IEEE TRANSACTIONS ON EDUCATION, VOL. 49, NO. 3, AUGUST 2006

A Laboratory Course in Real-Time Software for the


Control of Dynamic Systems
Dong-Jin Lim, Member, IEEE

AbstractThis paper describes a laboratory course in real-time


software for dynamic systems control. In the first part of the course,
real-time concepts employed by modern real-time operating systems are taught with laboratory assignments. In the second part,
students are required to write real-time software for dynamic systems control using the concepts that they learned in the first part.
Real-time programming is usually avoided in teaching a feedback
control laboratory course, since it has generally been considered
difficult. However, student evaluation results for this course show
that real-time programming can be successfully included in a feedback control laboratory course. From this course, students are able
to obtain working knowledge of both real-time concepts and realtime programming for dynamic systems control.
Index TermsDynamic control, laboratories, real-time control,
real-time operating system, real-time programming.

I. INTRODUCTION

ITH advancing digital computer technologies, the


processing capabilities of todays embedded microprocessors are improving, and software for embedded controllers
is becoming more intricate. To handle these complex software
functions, an increasing trend toward adopting real-time operating systems has developed for the embedded controllers.
Regarding the engineers responsible for designing control
systems, an understanding of real-time software for control
systems can be a big asset, even though they may not be
involved in the actual software coding. Sometimes, the control
engineers may have to write software to implement their control
algorithms.
At most universities, the laboratory courses for control systems include only the algorithms to control dynamic systems;
students usually do not have to write the software to test their
control algorithms because of rapid prototyping software tools,
such as Real-Time Workshop from The MathWorks, Inc.1
[1][3]. They usually implement the control algorithms using
graphical programming methods and do not need to know
how the real-time control software actually works to perform
the laboratory exercises. Since teaching a feedback control
laboratory course with real-time programming capabilities has
generally been considered difficult, many educators refrain
from including the details of real-time programming in their
control laboratories.

At the School of Electrical Engineering and Computer Science of Hanyang University, Ansan, Korea, a real-time control
laboratory course that incorporates real-time programming in
the control laboratory has been offered for senior undergraduate students since 2002 [4]. The course has been very successful, and most of the students have been satisfied with what
they have learned, even though it has been recognized as one
of the more difficult courses. In the class, students write control software using a programming environment based on the
real-time operating system VxWorks from WindRiver Systems
[5], [6]. Since interrupt processing is the only real-time feature
used by the students, they do not have an opportunity to learn
how to use other real-time concepts to write control software.
Some students have expressed interest in learning the features
of the real-time operating system itself.
Motivated by the successful introduction of real-time programming capabilities in the control laboratory, a second realtime control laboratory course was designed and offered. This
paper describes the second real-time control laboratory course,
which is an advanced version of the first course. The course described in this paper is intended for seniors and graduate students. Even though this laboratory course is based on the same
setups as the first one, the overlapping content is minimized so
that students who have already taken the first course can learn
new concepts in this course. Also, this course is designed to
be self-contained, so that students who have not taken the first
course can still follow the course material without difficulty.
However, taking this course after taking the first one is best.
The objective of this course is to teach the following items:
1) the real-time concepts that are employed in most modern
real-time operating systems;
2) ways to implement advanced modern control algorithms
using real-time concepts.
Students who take this course should have adequate knowledge of control system design using both frequency domain and
state space methods at the undergraduate level, and C language
programming. Knowledge of advanced control theories, such as
optimal control and robust control, may be helpful but is not
absolutely necessary. Also, prior knowledge of the operating
system is helpful but not required. Teaching real-time concepts
in the laboratory using real-time operating systems has been
attempted at other institutions; however, those courses concentrated on real-time concepts, such as task scheduling and semaphores [7][10]. The course described in this paper works primarily with the software for controlling dynamic systems.

Manuscript received April 8, 2005; revised March 28, 2006.


The author is with the School of Electrical Engineering and Computer Science, Hanyang University, Ansan, 426-791, Korea (e-mail:
limdj@hanyang.ac.kr).
Digital Object Identifier 10.1109/TE.2006.879243

A. Course Overview

1Available: http://www.mathworks.com/access/helpdesk/help/toolbox/rtw/
rtw.shtml

The course discussed in this paper is divided into two parts.


In the first part of the course, real-time concepts are taught.

II. COURSE STRUCTURE AND LABORATORY SETUP

0018-9359/$20.00 2006 IEEE

LIM: A LABORATORY COURSE IN REAL-TIME SOFTWARE FOR THE CONTROL OF DYNAMIC SYSTEMS

The most common features of a modern real-time operating


system are discussed in classroom lectures [11]. In the laboratory, sample source programs to test the features of a real-time
operating system are given to the students, who are then required
to compile and run the sample programs and watch the results.
Afterwards, they must modify the sample programs to perform
the laboratory exercises. Since the laboratory assignments for
real-time concepts are very similar to the course described in
the paper by Kornecki, the details of each assignment are not
repeated in this paper [7][9].
After completing the first part, students know how to use the
features offered by real-time operating systems, and are ready
to write real-time software for dynamic systems control. In the
second part of the course, students are required to write programs to control a dynamic system. As a controlled plant, an
analog dynamic simulator that is made of op-amps is used. The
analog dynamic simulator, which is very inexpensive to build,
and is not easily broken, has almost ideal responses and simulates a dynamic system in real time. Since the purpose of this
course is not to develop control algorithms for real plants but
to do the exercises necessary to write the control software, the
analog dynamic simulator can be an ideal choice.
B. Syllabus
This course is offered in a 16-week semester. The class meets
once a week and each class session lasts three hours. Lectures
and laboratories alternate on an every-other-week basis; in other
words, a lecture session is in the first week, and a laboratory
session in the second week, etc. Usually, laboratory sessions
last longer than three hours depending on how students do their
work. Also, students can borrow laboratory keys to finish their
work during their own time. The weekly topics taught in this
course are as follows.
Week 1 (lecture): Basics: Introduction; basic concepts of
real-time operating systems; the development environment
of the VxWorks real-time operating system.
Week 2 (laboratory): Development environment: Kernel
building; booting; test of a simple application program.
Week 3 (lecture): Kernel objects: Tasks; semaphores; message queues.
Week 4 (laboratory): Kernel objects: Multitasking tests;
semaphore tests; message queue tests.
Week 5 (lecture): Real-time issues: Synchronization and
communication; task scheduling; priority inversion.
Week 6 (laboratory): Real-time issues: Data flow control;
task scheduling tests; priority inversion tests.
Week 7 (lecture): Interrupts: Interrupt service routine;
real-time simulation of dynamic systems using interrupts.
Week 8: Midterm examination: Written test for real-time
concepts.
Week 9 (laboratory): Real-time simulation of a dynamic
system: Real-time simulation program using the template
with interrupt setups.
Week 10 (lecture): Lead/lag controller: Review of
leadlag controller design; digitization and sampling.
Week 11 (laboratory): Lead/lag controller: Design and
implementation of leadlag controller.

347

Fig. 1. Hardware configuration of the system.

Week 12 (lecture): LQG controller: Introduction to LQG


control; use of MATLAB for controller design.
Week 13 (laboratory): LQG controller: Linear quadratic
Gaussian (LQG) controller implementation and testing.
controller: Introduction to
Week 14 (lecture):
control; use of MATLAB for controller design; numerical
problem issues for implementation structures.
controller:
controller im Week 15 (laboratory):
plementation and testing.
Week 16: Final examination: Written test for dynamic
controls.
C. Textbook, Course Materials
The textbook Real-Time Concepts for Embedded Systems
[11] is used to teach real-time concepts in the first part of the
course. Laboratory manuals that describe each assignment and
sample programs for the assignments are distributed through the
Internet. Before the students come to the laboratory, they are
able to download the manuals and sample programs from the
course Web site and study them to prepare for the laboratory.
For the second part of this course, no single textbook covers
all the necessary material. Several references are recommended
to the students for controller design; for continuous-time and
digital control theory, [12] and [13] are recommended; while for
control, [14] and
modern control theories, such as LQG and
[15] are recommended. In addition, manuals describing each
laboratory project and the MATLAB programs for controller
design are available through the Internet.
D. Laboratory Setup
The laboratory environment is the same as in the first course.
The details of the setups and stations are found in the paper
that describes the first course [4]. To control the analog dynamic simulator, a Pentium 200-MHz MMX personal computer
is used. Pentium processors have built-in floating point processors, which are necessary to compute complex control algorithms in real time. Fig. 1 shows the hardware configuration of
the control system. To input analog signals from the dynamic

348

IEEE TRANSACTIONS ON EDUCATION, VOL. 49, NO. 3, AUGUST 2006

simulator, an Advantech PCL-818L analogdigital (A/D) converter board that employs a BurrBrown ADS574 12-b successive approximation A/D converter is used. To output control
signals to the dynamic simulator, an Advantech PCL-728 digitalanalog (D/A) converter board that employs an Analog Devices AD7541A 12-b D/A converter is used. The voltage range
for both the A/D and D/A converters is from 10 to 10 V.
III. REAL-TIME CONCEPTS FOR CONTROL
In the second part of the course (after the midterm examination), students are required to write real-time control programs using the concepts they have learned in the first part of
the course. The main real-time concepts to be used are multitasking, semaphores, message queues, and interrupts. From the
lectures and the laboratory assignments in the first part of the
course, students have learned and tested these concepts separately, as described briefly in the following listing.
Multitasking with preemptive scheduling: To demonstrate
the use of preemptive priority based task scheduling facilities. A sample program spawns several simple tasks with
different priorities. Students are required to modify the program to change the priorities of tasks and observe how the
output changes.
Semaphores: To demonstrate the use of semaphores for
synchronization. A sample program creates a semaphore
and spawns two simple tasks. Students are required to
modify the sample program so that two tasks are synchronized by semaphore control.
Message queues: To demonstrate the use of message
queues for communication between tasks. A sample program creates a message queue and spawns two simple
tasks that print out received messages. Students are required to modify the sample program so that two tasks
send messages to each other.
Interrupts: To demonstrate the processing of hardware
interrupts. A sample program shows how the interrupts
vector is set up, and the interrupt service routine is invoked.
To write complete real-time control programs, students must
combine the above real-time concepts, which they have learned
and tested in the previous laboratory assignments.
The program written by students should perform two functions: 1) real-time control of a dynamic system and 2) real-time
monitoring of the system output. For these purposes, two tasks
must be created.
1) Task 1: The main function of task 1 is running the control
algorithm. Task 1 must be synchronized with the interrupt
service routine using the binary semaphore. The interrupt
service routine serves only to synchronize the task. All the
functions to control the system, including A/D and D/A
conversion, should be done in task 1.
2) Task 2: The main function of task 2 is sending the captured
system output data to the graphing server running on a host
computer.
Fig. 2 shows the configuration of the real-time control software.
Communication between task 1 and task 2 is via a message
queue. Task 1 sends the captured system output data to task 2
through a message queue; task 2 receives the data and sends it
to the graphing server on the host computer using a TCP data

Fig. 2. Configuration of the real-time control software.

stream over the Ethernet. Details of sending data to the host


computer using a TCP data stream are found in [4]. On receiving
the data from the target computer, the host computer draws the
response of the system on the screen in real time.
Since students have already learned to implement the required
functions during the first part of the course, they are not expected to have difficulty writing their real-time software for
control. Since the above configuration has the basic schemes
for real-time control and monitoring, students are able to test
their knowledge about real-time concepts when they write the
program.
This program is the interrupt-driven software. If the students
had to write the interrupt-driven software from scratch, they
would never be able to make it work within the scheduled laboratory hours. Thus, a program template, the pseudocode of
which is shown in Fig. 3, is supplied.
The template has the basic setups for handling the interrupt
that is caused by A/D conversion. A/D conversion is triggered
periodically by a timer. The interrupt service routine in the program template only performs A/D and D/A conversion. By modifying the program template, students are required to write the
real-time control software using the concepts that they have
learned in the previous assignments. Fig. 4 shows the program
section which students are required to write to complete the
program. As shown in the figure, students must write program
sections that are responsible for tasks generation, synchronization, message communication, and sending data using TCP data
stream.

LIM: A LABORATORY COURSE IN REAL-TIME SOFTWARE FOR THE CONTROL OF DYNAMIC SYSTEMS

349

Fig. 3. Pseudocode for the program template.

controllers, students do not have to design


such as LQG and
controllers. Instead, MATLAB files that automate the controller
designs are supplied.
A. Digitization and Sampling Frequency

Fig. 4. Program section written by students.

IV. DYNAMIC CONTROL


Regarding the real-time control of dynamic systems, in addition to the real-time concepts, several issues are involved, such
as digitization, sampling frequency selection, and controller
design. Since the course described in this paper focuses on
real-time software issues for control computers, digital control
theory is only minimally discussed.
For the controller designs, students should have taken the
basic control theory course. Thus, students are required to design lead/lag controllers. However, for the advanced controllers,

A prerequisite of this course is knowledge of continuous-time


control theory at the undergraduate level, but some students may
know little about digital control theory. Teaching digital controller design is not a simple matter, and takes at least one full
semester of lectures. For those students who know only continuous-time control theory, the easiest way to teach digital control
is by the design of discrete equivalents via numerical integration
[16]. In the classroom lecture, brief details of the theory of the
numerical integration technique, such as the forward rectangular
rule (also known as Eulers rule), the backward rectangular rule,
and the trapezoidal rule (also known as Tustins method), are
discussed [16]. For each laboratory assignment, the laboratory
manual provides the digitization method to be used.
Sampling frequency selection is not discussed in this course.
Instead, the fixed sampling frequency of 2 kHz is used. Since
the crossover frequency of the analog dynamic simulator is only
1.25 Hz, the sampling frequency is sufficiently high to assume
that the sampling has negligible effect.
At the School of Electrical Engineering and Computer Science of Hanyang University, a digital control course is offered
for senior students in which digitization and sampling theory
are discussed in more detail. In the digital control course, several laboratory sessions are offered to the students besides the

350

IEEE TRANSACTIONS ON EDUCATION, VOL. 49, NO. 3, AUGUST 2006

Fig. 7. Block diagram of the simulator.

Fig. 7 shows a block diagram of the simulator. In the figure,


and represent the time constants of each stage and the values
are

0.1 (sec
Fig. 5. Typical response of the digital implementation of a second-order
system.

(2)

represents the parameter variation caused by changing the


positions of the switches to ON. The values are as follows:
;
No switch is ON:
;
Switch 1 is ON:
;
Switches 1 and 2 are ON:
.
Switches 1, 2, and 3 are ON:
After the controller has been implemented, students are able
to observe the changes in the system responses as the parameter
values vary. With all the switches OFF, the transfer function of
the system is as follows:

(3)

Fig. 6. Analog dynamic simulator.

lectures. In the laboratory sessions, the students have the opportunity to observe the effects that changing the sampling frequency and the digitization methods have on the responses of
the control system.

For this system, students are required to design a lead compensator and a lag compensator that give a phase margin of 55 .
Students implement the digital compensators, using the Euler
method, and observe the step responses.
D. LQG Control

B. Real-Time Digital Simulation of a Dynamic System


Before attempting to write the feedback control software, students need to familiarize themselves with the real-time digital
implementation of dynamic systems. For this purpose, they are
required to implement a simple stable second-order dynamic
system

(1)
in their programs and observe the system step response.
In this assignment, the A/D converter reads the output from
a function generator that generates a square wave; the output
of the D/A converter is the output of the implemented secondorder dynamic system. After implementing the above secondorder system, students are able to confirm that they have done
so correctly by observing the step response on oscilloscopes and
the graphing server on the host computer for various values of
and . Fig. 5 shows a typical response.
C. Lead/Lag Compensator
For this assignment and the following assignments, an analog
dynamic simulator, shown in Fig. 6, is used.

The basic structure of a LQG controller, which is one of


the most common forms of modern control, involves an estimator-based controller; students who understand the concept
of estimator-based control systems are, therefore, able to implement a LQG controller without knowing the mathematical
details of optimal control theory. In the classroom lecture, an
introduction to LQG control theory is presented very briefly,
and the MATLAB program that is used to design a LQG controller is supplied to the students. The MATLAB program allows
automatic design of a LQG controller by entering weighting
matrices for the performance indices.
With all the switches OFF, using the state variables defined in
Fig. 7, the state equation of the system is as follows:

(4)
Students are instructed to implement the LQG controller for the
above system using the Euler method. When the LQG controller
is implemented successfully, the output response of the closedloop system to a step reference input signal has responses typical
of those shown in Fig. 8.

LIM: A LABORATORY COURSE IN REAL-TIME SOFTWARE FOR THE CONTROL OF DYNAMIC SYSTEMS

351

Fig. 8. Experimental results for LQG controller.

For the responses in Fig. 8, the weighting matrices for the cost
function

(5)
are

(6)
The same weighting matrices are used for the design of an optimal state estimator. By changing the position of the switches
to the ON position, students are able to see the changes in the
response when the system parameter is varied. Fig. 8 shows the
step responses of the system for various parameter values. As
seen in the figure, the response of the closed-loop system using
a LQG controller changes significantly when the system parameters vary.
E.

Control

control is now becoming popular and even appears in


an introductory textbook on control theory [14]. Although uncontrol theory is not easy,
derstanding the mathematics of
using
control for applications is possible, because of computer software, such as the Mu-Analysis and Synthesis Toolbox
for MATLAB.2 In the classroom lecture, an introduction to
control theory is presented very briefly, and the MATLAB
program that is used to design an
controller is supplied
2Available

from The MathWorks, Inc., Nattick, MA.

to the students. With the MATLAB program, the design of


controller is achieved automatically by entering the
an
weighting function parameters. The MATLAB program uses
function based on Glovers and Doyles results
the
controller [17]. The function
to calculate the
generates the controller in state space form. To convert the
controller to digital form, students use the MATLAB function
with the Tustin method option. Designing an
controller is usually difficult, but by using the MATLAB program
students are able to obtain the final controller in digital form
easily.
controller that is robust with reIn this assignment, an
spect to the system parameter variations is designed. The system
parameter variations are simulated by changing the positions of
the switches to the ON positions. The parameter variation is considered to be an uncertainty, and the block diagram in Fig. 7 is
changed to that of Fig. 9(a) to pull the uncertainty out of the plant
model. By changing the block diagram to Fig. 9(a), the system
can be represented in the standard form of a general feedback
system with uncertainty, as in Fig. 9(b), for which a standard
control problem can be formulated [15].
is a first-order weighting matrix and chosen
In Fig. 9,
to be

(7)
For simplicity, weighting terms for possible disturbance inputs
are not considered. For the closed-loop system with the decontroller, the maximum gain between the input
signed
is found to be 1.137. By
and the output of the uncertainty

352

Fig. 9. Block diagram for

IEEE TRANSACTIONS ON EDUCATION, VOL. 49, NO. 3, AUGUST 2006

controller design: (a) changed block diagram and (b) standard form of a general feedback system with uncertainty.

the small-gain theorem, the closed-loop system is stable for ,


[14], [15].
whose absolute value is less than
Of course, since the structure of the entire uncertainty block,
which includes the fictitious uncertainty for disturbances, is not
control, the controller is conservative.
considered for the
To consider the structure of the entire uncertainty in the controller design, a -synthesis method has to be used. However,
-synthesis methods are not considered here, because they are
too advanced for the intended level of this course.
While the order of the LQG controller is the same as the concontroller is increased by the
trolled plant, the order of
order of the weighting matrix. Thus, depending on the weighting
controller may be high.
matrices introduced, the order of
When implementing the high-order controller, numerical problems of implementation structure must be considered [18]. In
the lecture, the numerical problems of canonical forms are explained, and several forms, such as series forms and parallel
forms to correct numerical problems, are introduced [13], [18].
In the laboratory assignment, students are instructed to use a series form with second-order modules.
Fig. 10 shows the responses of the closed-loop system using
controller. The same parameter variations are used as
an
with the responses of the LQG-based system shown in Fig. 8.

controller
Comparison of these two figures shows that the
produces significantly improved responses as the system undergoes parameter fluctuations.
V. ASSESSMENT OF STUDENT PERFORMANCE AND
STUDENT REACTIONS
This course was offered in the 2004 and 2005 fall semesters.
Evaluation of student performance was based on two examinations and laboratory reports. The first examination was taken
after completing the first part of the course and consisted of
questions about real-time concepts. At the end of the semester,
the final test examined students knowledge on the implementation of digital controllers. The laboratory reports were submitted
after each laboratory session. Officially, each laboratory assignment was three hours, but many students needed an additional
hour in the laboratory to finish their assignments.
At the end of the semester, students were asked to fill out standardized evaluation forms, which contained 15 standard multiple-choice questions and a space for written comments. Table I
shows the evaluation data for the questions related to the course
content.
In the table, the number in each cell is the number of students who selected that particular choice, and the averages were

LIM: A LABORATORY COURSE IN REAL-TIME SOFTWARE FOR THE CONTROL OF DYNAMIC SYSTEMS

Fig. 10. Experimental results for the

353

controller.

TABLE I
STUDENT EVALUATION RESULTS (KEY: SASTRONGLY AGREE, AAGREE, NNEUTRAL, DDISAGREE,
SDSTRONGLY DISAGREE, AVGAVERAGE): (a) 2004 AND (b) 2005

computed by assigning a score ranging from 1 to 5 to each


choice. For each question, the maximum score was 5. The students reactions to this course were relatively positive. However, as the results of the year 2004 show, some students had
difficulty in understanding the course material. For the first part
of the course, almost all of the students followed the material
pretty well. However, some students who did not have a solid
background in control theory had difficulty in understanding the

material related to control system design in the last half of the


course. However, even these students claimed that they were satisfied with what they had learned from the course.
About 30% of the students taking this course had previously
taken the first real-time laboratory course. Since they were already familiar with the environment, they usually progressed
quickly in the first part of the course. However, as the course
progressed, no obvious difference was noted between these stu-

354

IEEE TRANSACTIONS ON EDUCATION, VOL. 49, NO. 3, AUGUST 2006

dents and the rest of the class, showing that the overlapping of
the course material with the first course was minimized, as intended. For future classes, the control theory lecture portions
need to be reinforced to help the students who do not have adequate knowledge in the area of dynamic systems control.
VI. CONCLUSION
This paper describes a laboratory course in real-time software
for dynamic systems control. In the first part of the course, realtime concepts employed by modern real-time operating systems
are taught with laboratory assignments. In the second part, students are required to write real-time software for control using
the real-time concepts that they learned in the first part. The controllers that they are required to implement range from a simple
control. Real-time prolead/lag compensator to complex
gramming is usually avoided in teaching a feedback control laboratory course, since it has generally been considered difficult.
However, the student evaluation results for this course show that
real-time programming can be successfully included in a feedback control laboratory course. From this course, students are
able to obtain a working knowledge of both real-time concepts
and real-time programming for dynamic systems control.

[4] D.-J. Lim, An undergraduate laboratory course in real-time dynamic


control, IEEE Trans. Educ., vol. 48, no. 1, pp. 105110, Feb. 2005.
[5] VxWorks Programmers Guide 5.4, Wind River Systems, Alameda,
CA, 1999.
[6] Tornado 2.0 Users Guide, Wind River Systems, Alameda, CA,
1999.
[7] A. Kornecki, Real-time systems course in undergraduate CS/CE program, IEEE Trans. Educ., vol. 40, no. 4, pp. 295296, 1997, CD-ROM
Supplement.
[8] A. Kornecki, J. Zalewski, and D. Eyassu, Learning real-time programming concepts through VxWorks lab experiments, in Proc. 13th
SEE&T Conf., 2000, pp. 294301.
[9] Embry-Riddle Real-Time Laboratory Mar. 2005 [Online]. Available:
http://www.rt.db.erau.edu/
[10] M. Soklic, Laboratory for real-time and embedded systems, Comput.
Educ. J., vol. XII, no. 4, 2002, American Society for Engineering Education.
[11] Q. Li, Real-Time Concepts for Embedded Systems. San Francisco,
CA: CMP Books, 2003.
[12] G. F. Franklin, J. D. Powell, and A. Emami-Naeini, Feedback Control
of Dynamic Systems, 4th ed. Reading, MA: Addison-Wesley, 2002.
[13] C. L. Phillips and H. T. Nagle, Digital Control System Analysis and
Design, 3rd ed. Englewood Cliffs, NJ: Prentice-Hall, 1995.
[14] R. T. Stefani, B. Shahian, C. J. Savant, Jr., and G. H. Hostetter, Design
of Feedback Control Systems, 4th ed. Oxford, U.K.: Oxford Univ.
Press, 2002.
and
Methods. Reading,
[15] J. B. Burl, Linear Optimal Control:
MA: Addison-Wesley, 1999.
[16] G. F. Franklin, J. D. Powell, and M. Workman, Digital Control of Dynamic Systems, 3rd ed. Reading, MA: Addison-Wesley, 1998.
[17] J. C. Doyle, K. Glover, P. Khargonekar, and B. Francis, State-space
solutions to standard
and
control problems, IEEE Trans.
Autom. Control, vol. 34, no. 8, pp. 831847, Aug. 1989.
[18] K. J. Astrom and B. Wittenmark, Computer-Controlled Systems, 2nd
ed. Englewood Cliffs, NJ: Prentice-Hall, 1990.

REFERENCES
[1] P. S. Shiakolas, Development of a real-time digital control system
with a hardware-in-the-loop magnetic levitation device for reinforcement of controls education, IEEE Trans. Educ., vol. 46, no. 1, pp.
7987, Feb. 2003.
[2] A. B. Koku and O. Kaynak, An Internet-assisted experimental environment suitable for the reinforcement of undergraduate teaching of
advanced control techniques, IEEE Trans. Educ., vol. 44, no. 2, pp.
2428, Feb. 2001.
[3] A. Leva, A hands-on experimental laboratory for undergraduate
courses in automatic control, IEEE Trans. Educ., vol. 46, no. 2, pp.
263272, May 2003.

Dong-Jin Lim (S79M84) received the B.S. and M.S. degrees in electrical
engineering from Seoul National University, Korea, in 1979 and 1981, respectively, and the Ph.D. degree in electrical and computer engineering from the
University of Iowa, Iowa City, in 1988.
From 1988 to 1991, he was a Research Engineer at the Research Institute of
Science and Technology, Korea. Since 1991, he has been with the School of
Electrical Engineering and Computer Science of Hanyang University, Ansan,
Korea. His current research interests include real-time control and robust control
of dynamic systems.

Vous aimerez peut-être aussi