i
Web Based Control and Robotics Education
ii
iii
Spyros G. Tzafestas, Editor
Web Based Control and Robotics Education
Springer
iv
v
The Web is a tremendous platform for innovation, but we face a number of challenges to making it more useful, in particular to people in underserved communities. One of the things I always remain concerned about is that the medium remains neutral.
Sir Tim Berners – Lee Director, World Wide Web Consortium (W 3 C) Co-Director, Web Science Research Initiative (WSRI) Founder, World Wide Web Foundation
The free flow of information is of paramount importance to communities in a democracy and maintaining the World Wide Web free is critical for the future of that free flow.
Alberto Ibargüen President and CEO, John S. and James L. Knight Foundation
vi
vii
Preface
For the things we have to learn before we can do them, we learn by doing them. Aristotle
Teaching should be such that what is offered is perceived as a valuable gift and not as a hard duty. Albert Einstein
The second most important job in the world, second only to being a good parent, is being a good teacher. S.G. Ellis
The fast technological changes and the resulting shifts of market conditions require the development and use of educational methodologies and opportunities with moderate economic demands. Currently, there is an increasing number of educational institutes that respond to this challenge through the creation and adoption of distance education programs in which the teachers and students are separated by physical distance. It has been verified in many cases that, with the proper methods and tools, teaching and learning at a distance can be as effective as traditional face-to-face instruction. Today, distance education is primarily performed through the Internet, which is the biggest and most powerful computer network of the World, and the World Wide Web (WWW), which is an effective front-end to the Internet and allows the Internet users to uniformly access a large repertory of resources (text, data, images, sound, video, etc.) available on the Internet. The World Wide Web Foundation (www.webfoundation.org), recently established, aims “to advance One Web that is free and open, to expand the Web’s capability and robustness, and to extend the Web’s benefit to all people on the planet”. This will be done by funding research, technology, and social development programs around the world. Academia, governments, NGOs, and other stakeholders will be brought together to synergetically cooperate and develop health care, nutrition, education, and other critical services.
viii For teachers and instructors the WWW offers an ideal novel way for distance teaching and learning, creation of classroom pages, and a suitable medium for developing remote virtual laboratories and remotely controlling physical plants and experiments. New and emerging web services and web tools are expected to offer unique opportunities, in the near future, for extending this technology to new levels and broader repertories of information sharing. This book provides a collection of contributions on a wide range of topics, methodologies and tools that fall within the domain of Internet / Web-based teaching of control and robotics analysis, design, and laboratory experiments. These contributions contain both review / tutorial material and fresh / hot results developed by the research and educational groups of the contributors. The majority of them place the emphasis on the development of virtual and/or remote physical labs and their effective utilization in the educational process. I am indebted to the contributors for their enthusiastic support in this project and their experience offered to the book, and to Springer’s Scientific Editor, Dr. Nathalie Jacobs, for her care and help throughout the book production.
Athens, December 2008
Spyros G. Tzafestas
ix
Contributors The only source of knowledge is experience. Albert Einstein The importance of information is directly proportional to its improbability. Jeremia Eugene Pournelle Who dares to teach must never cease to learn. John Cotton Dana
BUTTAZZO, Giorgio Scuola Superiore Sant’ Anna Via Moruzzi, 1 56124 Pisa Italy
[email protected] http://feanor.sssup.it/~giorgio/ CARNEVALI, Giuseppe Research and Development Unit O.C.E.M. S.p.A. Via 2 Agosto 1980, n.11 40016 San Giorgio di Piano Bologna Italy
[email protected] CASINI, Marco Dipartimento di Ingegneria dell’ Informazione Università di Siena Via Roma 56 53100 Siena Italy
[email protected] http://www.dii.unisi.it/casini CHEN, Bo Department of Mechanical Engineering – Engineering Mechanics and Department of Electrical and Computer Engineering Michican Technological University 815 R.L. Smith Building
x 1400 Townsend Drive Houghton, MI 49931 U.S.A.
[email protected] http://www.imes.mtu.edu CHENG, Harry H. Department of Mechanical and Aeronautical Engineering University of California One Shields Avenue Davis, CA 95616 U.S.A.
[email protected] http://iel.ucdavis.edu/people/cheng.html DORMIDO, Sebastian Departamento de Informática y Automática (DIA) Escuela Técnica Superior de Ingeniería Informática (ETSI) Universidad Nacional de Educacion a Distancia (UNED) Juan del Rosal 16 28040 Madrid Spain
[email protected] EDINBAROUGH, Immanuel A. Department of Applied Technology University of Texas at Brownsville Texas Southmost College Brownsville, Texas 78521 U.S.A.
[email protected] ELKADY, Ayssam Department of Computer Science and Engineering University of Bridgeport Bridgeport, CT 06604 U.S.A.
[email protected] [email protected] http://www1bpt.bridgeport.edu/~aelkady/ FERRETTI, Gianni Dipartimento di Elettronica e Informazione Politecnico di Milano Piazza Leonardo da Vinci 32 20133 Milano Italy
xi
[email protected] http://home.dei.polimi.it/ferretti/indice.htm
xii HERCOG, Darko Institute of Robotics Faculty of Electrical Engineering and Computer Science University of Maribor Smetanova 17 2000 Maribot Slovenia
[email protected] KO, David Department of Mechanical and Aeronautical Engineering University of California One Shields Avenue Davis, CA95616 U.S.A.
[email protected] MAGNANI, Gianantonio Dipartimento di Elettronica e Informazione Politecnico di Milano Piazza Leonardo da Vinci 32 20133 Milano Italy
[email protected] http://www.dei.polimi.it/people/magnani MARIN, Raul Department of Computer Science and Engineering University of Jaume I Avd Vte. Sos Baynat s/n 12071 Castellon Spain
[email protected] http://rmarin.act.uji.es MARTIN – VILLALBA, Carla Departamento de Informática y Automática (DIA) Escuela Técnica Superior de Ingeniería Informática (ETSI) Universidad Nacional de Educacion a Distancia (UNED) Juan del Rosal 16 28040 Madrid Spain
[email protected] http://www.euclides.dia.uned.es/carlam
xiii PRATTICHIZZO, Domenico Dipartimento di Ingegneria dell’ Informazione Università di Siena Via Roma 56 53100 Siena Italy
[email protected] http://www.dii.unisi.it/prattichizzo RAMKUMAR, S. Manian Center for Electronics Manufacturing and Assembly Rochester Institute of Technology Bldg.78-Room 1518 78 Lomb Memorial Drive Rochester, NY 14623 U.S.A.
[email protected] http://www.rit.edu/CAST/CEMA ROCCO, Paolo Dipartimento di Elettronica e Informazione Politecnico di Milano Piazza Leonardo da Vinci 32 20133 Milano Italy
[email protected] http://www.dei.polimi.it/people/rocco ROJKO, Andreja Institute of Robotics Faculty of Electrical Engineering and Computer Science University of Maribor Smetanova 17 2000 Maribor Slovenia RÜCKERT, Ulrich System and Circuit Technology Heinz Nixdorf Institute University of Paderborn Fuerstenallee 11 33102 Paderborn Germany
[email protected]
xiv ŠAFARIČ, Riko Institute of Robotics Faculty of Electrical Engineering and Computer Science University of Maribor Smetanova 17 2000 Maribor Slovenia
[email protected] SANZ, Pedro J. Department of Computer Science and Engineering University of Jaume I Avd Vte. Sos Baynat s/n 12071 Castellon Spain
[email protected] [email protected] http://www3.uji.es/~sanzp SOBH, Tarek Graduate Studies and Research & School of Engineering University of Bridgeport 221 University Avenue Bridgeport, CT06604 U.S.A.
[email protected] http://www.bridgeport.edu/~sobh TANOTO, Andry System and Circuit Technology Heinz Nixdorf Institute University of Paderborn Fuerstenallee 11 33102 Paderborn Germany
[email protected] TZAFESTAS, Costas S. Division of Signals, Control and Robotics School of Electrical and Computer Engineering National Technical University of Athens Zographou Athens, GR 15773 Greece
[email protected]
xv http://users.softlab.ece.ntua.gr/~ktzaf/ TZAFESTAS, Spyros G. School of Electrical and Computer Engineering & Institute of Communication and Computer Systems National Technical University of Athens Zographou Athens, GR 15773 Greece
[email protected] http://users.softlab.ece.ntua.gr/~sgt/ URAN, Suzana Institute of Robotics Faculty of Electrical Engineering and Computer Science University of Maribor Smetanova 17 2000 Maribor Slovenia
[email protected] URQUIA, Alfonso Departamento de Informática y Automática (DIA) Escuela Técnica Superior de Ingeniería Informática (ETSI) Universidad Nacional de Educacion a Distancia (UNED) Juan del Rosal 16 28040 Madrid Spain
[email protected] http://www.euclides.dia.uned.es/aurquia VICINO, Antonio Dipartimento di Ingegneria dell’ Informazione Università di Siena Via Roma 56 53100 Siena Italy
[email protected] http://www.dii.unisi.it/~vicino WIRZ, Raul Department of Computer Science and Engineering University of Jaume I Avd Vte Sos Baynat s/n 12071 Castellon Spain
[email protected]
xvi WITKOWSKI, Ulf System and Circuit Technology Heinz Nixdorf Institute University of Paderborn Fuerstenallee 11 33102 Paderborn Germany
[email protected] ŽAKOVÁ, Katarína Institute of Control and Industrial Informatics Faculty of Electrical Engineering and Information Technology Slovak University of Technology Ilkovičova 3 SK-81219 Bratislava Slovakia
[email protected]
xvii
xviii
Contents Preface Contributors Outline of the Book Terminology
vii ix xxiii xxix
Chapter 1
Teaching Control and Robotics Using the Web Spyros G. Tzafestas 1. Introduction 2. Review of the Web-Based Control and Robotics Educational Platforms 3. Web Telerobotics and Internet Delay 4. General Characteristics of Web-based Virtual Laboratories 5. General Characteristics of Web-Based Remote Laboratories 6. Some Examples 7. Concluding Remarks 8. Appendix : Software Environments for Developing Web-based Educational Platforms References
1 3 7 16 22 24 30 31 35
Chapter 2
Control System Design and Analysis Education via the Web Harry H. Cheng, Bo Chen and David Ko 1. 2. 3. 4.
Introduction Ch Control Systems Toolkit Web Based Control Design and Analysis Customized Design and Implementation of Web-Based Control Systems 5. Conclusion References
43 44 51 54 65 65
xix
Chapter 3
Web Based Control Teaching Suzana Uran and Riko Šafarič 1. 2. 3. 4. 5.
Introduction Motivation for Web Based Control Teaching Virtual Control Design Laboratory A DSP-based Remote Control Laboratory Conclusion References
67 68 71 78 87 89
Chapter 4
Web-based Control Education in Matlab Katarína Žáková 1. 2. 3. 4. 5.
Introduction Standard Solutions Alternative Solutions Client Applications Conclusions References
91 92 99 108 109 111
Chapter 5
Object-Oriented Modelling of Virtual-Laboratories for Control Education Carla Martin-Villalba, Alfonso Urquia and Sebastian Dormido 1. 2. 3. 4. 5. 6. 7.
Introduction Implementation of Virtual-labs with Batch Interactivity Implementation of Virtual-labs with Runtime Interactivity Case study I: Control of a Double-pipe Heat Exchanger Case study II: Control of an Industrial Boiler Case study III: Solar House Conclusions References
113 116 116 122 126 129 135 137
xx
Chapter 6
A Matlab-Based Remote Lab for Control and Robotics Education Marco Casini, Domenico Prattichizzo and Antonio Vicino 1. 2. 3. 4. 5. 6.
Introduction The Automatic Control Telelab ACT Experiments Description The ACT Architecture The Robotics and Automatic Control Telelab Conclusions References
139 140 143 155 157 164 165
Chapter 7
Implementation of a Remote Laboratory Accessible through the Web Giuseppe Carnevali and Giorgio Buttazzo 1. 2. 3. 4. 5. 6. 7.
Introduction Examples of Existing Virtual Labs User Interface Software Architecture Hardware Architecture Experiments Conclusions References
167 168 171 172 178 179 184 185
Chapter 8
Teaching of Robot Control with Remote Experiments Andreja Rojko and Darko Hercog 1. 2. 3. 4. 5. 6. 7.
Introduction Educational Strategy The DSP-based Remote Control Laboratory Control of a Mechanism with Spring Control of the SCARA Robot Students’ Feedback Conclusions References
187 188 190 192 203 209 210 211
xxi
Chapter 9
Web-Based Laboratory on Robotics: Remote vs. Virtual Training in Programming Manipulators Costas S. Tzafestas 1. 2. 3. 4. 5. 6.
Introduction Remote Labs: Literature Survey Research Motivation and Objectives Design of a Virtual and Remote Robot Laboratory Platform Pilot Study: Research Methodology and Results Conclusion – Future Research Directions References
213 215 216 226 235 240 243
Chapter 10
Design and Educational Issues within the UJI Robotics Telelaboratory : A User Interface Approach R. Wirz, R. Marín and P. J. Sanz 1. 2. 3. 4. 5. 6.
Introduction System Description: The Architecture System Description: The User Interface A New Network Protocol: SNRP Teaching Experiences with the Tele-laboratory Conclusions and Work in Progress References
245 247 253 257 260 264 266
Chapter 11
Web-Based Industrial Robot Teleoperation: An Application Gianni Ferretti, Gianantonio Magnani and Paolo Rocco 1. 2. 3. 4. 5. 6.
Introduction System Architecture Teleprogramming and Supervisory Control Functions Software Architecture Teleoperation User Interface Conclusions References
267 269 273 277 281 283 285
xxii
Chapter 12
Teleworkbench: A Teleoperated Platform for Experiments in Multi-Robotics Andry Tanoto, Ulrich Rückert and Ulf Witkowski 1. 2. 3. 4. 5.
Introduction The Teleworkbench System Robot Platform Application Scenarios in Research and Education Challenges for a Teleoperated Robotic Laboratory in Research and Education 6. Summary and Future Work References
287 288 297 300 312 314 315
Chapter 13
Web-Based Control of Mobile Manipulation Platforms via Sensor Fusion Ayssam Elkady and Tarek Sobh 1. 2. 3. 4. 5. 6.
Introduction Prior Work Design Specifications Applications Implementation and Results Conclusions and future work References
317 318 319 325 329 332 333
Chapter 14
Web Based Automated Inspection and Quality Management S. Manian Ramkuma and Immanuel A. Edinbarough 1. 2. 3. 4. 5. 6. 7. 8. 9.
Introduction Web-based AI and QM System – How it works? Literature Review System Architecture for AI and QM Metrology Hardware - Sensors and Instrumentation Metrology Hardware Integration Control System Integration Supervisory System Integration Enterprise/Management Information System Integration
335 337 338 339 340 345 350 351 352
xxiii 10.Overall System Integration – An Example 11.System Safety 12.Educational Impact 13.Conclusion References
353 353 355 356 357
Biographies Index
359 369
Outline of the Book The whole is more than the sum of its parts. Aristotle Our expectations for a technology rise with its advancement. Henry Petrovski If the Internet turns out not to be the future of computing, we’re toast. But if it is, we’re golden. Larry Ellison
The book contains fourteen timely contributed chapters that cover a wide range of concepts, techniques, technologies, tools and implementations of Web-based control and robotics educational environments. In overall, the material of these chapters reflect very well the current efforts and tendencies in the design, implementation and practical use of Web-based virtual labs and telelabs. A brief outline of these chapters is as follows. Chapter 1, by S. Tzafestas, which is actually the introductory chapter of the book, starts by providing a review of the principal Web-based control and robotics educational platforms, namely e-course environments, Web-based virtual labs, and Web-based remote labs. Then, the classical field of telerobotics that has a variety of applications, including the Web-based remote labs and the single-or-multiple user robotic web camera systems, is discussed. Special focus is given to the issues of random or varying time delays in the data transmission over the Internet, discussing the Quality of Service (QoS) model of communication networks and the dynamic modeling and estimation of the Internet delay. The general characteristics of Web-based virtual labs and remote labs (architectures, protocols, humancomputer interfaces, system modeling requirements, etc.) are examined. Finally, a set of examples drawn from the literature are given to clarify many of the concepts and issues considered in the chapter. An appendix reviews the definitions and uses of the typical general purpose software environments and languages employed for developing Web-based educational platforms and virtual / remote labs. Chapter 2, by Cheng, Chen and Ko, describes the design, implementation, and educational use of a Web-based interactive control design and analysis system (WCDAS) based on the Ch Control Systems Toolkit, which is available on the Internet. The main design idea of the system is to use the World Wide Web as a communication infrastructure to allow multiple users to access the Ch Control System Toolkit and other computational tools. A Web browser provides an environment for accepting user inputs and transmitting information to the Web server. A Web server supports the execution of a computation engine-control toolkit, and S.G.Tzafestas (ed.):Web-Based Control and Robotics Education, ISCA Series. ©Springer Science + Business Media B.V.2009
xxiv
S.G.Tzafestas(ed.):Web-Based Control and Robotics Education
interfaces with the clients. WCDAS covers many classical and modern techniques for control systems design and analysis. Most functions in the system support both continuous-time and discrete-time linear time-invariant systems modeled in state space, transfer functions, or zero-pole-gain representations. Users can select a design and analysis method, and specify the system model type, the system type, and the system parameters in the Web browser. The user inputs are transferred to the Web server for numerical computation, and the computation results, including values and images, are sent back to the Web browser for display. The system is available for use through the Web without any software installation, system configuration, or programming. WCDAS is open architecture and open source. It can be extended to solve many problems in design and analysis of control systems. As an example, a Web-based controller design module is developed based on WCDAS. With this design module, the synthesis and analysis of a control system can be merged, and the effect of the modification in the parameters can be observed immediately on the Web. Both WCDAS and the Web-based controller design tool have been used in the undergraduate course “Automatic Control of Engineering Systems” of the University of California, Davis. The student survey and evaluation of the Web-based control tool is very positive. Chapter 3, by Uran and Šafarič, presents the teaching of the control theory at the Faculty of Electrical Engineering and Computer Science, University of Maribor, for the Mechatronics study program. The main challenge described is the important modernization of the educational process through the new web based and remote rapid prototyping teaching methods. Several techniques of modern control theory teaching are presented, namely : (i) Web-based virtual laboratory, using MATLAB Web server, which has been used by professors for lecture demonstrations and student homework, (ii) more advanced DSP-based remote rapid prototyping laboratory based on an in-house developed DSP-2 learning module, which is sufficiently robust for massive use in an everyday educational process, where the student can gain valuable control theory hands-on experiences. Chapter 4, by Zăková, is devoted to the exploitation of Matlab in Web based control applications. Various approaches are explained. First, the attention is focused to possibilities that are incorporated directly in the Matlab environment. Starting with the Matlab Web Server, which is no more supported by the Math Works Inc., the chapter continues with the Matlab Builder for Java and the Matlab Builder for .NET, which are available in the last versions of Matlab. Besides these standard approaches, some other alternative ways for using the capabilities of Matlab for the web-based control are introduced. The communication can be done via Dynamic Data Exchange (DDE) conversation, Component Object Mode (COM) objects, TCP/IP, and share file. Several possibilities for communicating directly with the Java programming language, which is very often used for building Web applications, are also discussed.
Outline of the Book
xxv
Chapter 5, by Martin-Villalba, Urquia and Dormido, provides a review of the state-of-the-art in object-oriented modelling of virtual-labs for control education. The presentation emphasizes the main advantage of this methodology, i.e. the reduction in the modelling effort. The combined use of different languages and tools is addressed, namely : Modelica/Dymola, Sysquake, Easy Java Simulations (Ejs), and Matlab/Simulink. In particular, three approaches to virtual-lab implementation are discussed. The Modelica language is used in all of them for describing the model, and Dymola is used for translating the model into executable code. For the first approach, the user-to-model interactive interface (i.e., the virtual-lab view) is built using Sysquake. The next approach consists in implementing the virtual-lab view with Ejs, and using Matlab/Simulink as an interface between the model and the view of the virtual-lab. Finally, a procedure for describing the complete virtual-lab using the Modelica language and Dymola is outlined. These three approaches are illustrated by discussing the development of three complex virtual-labs for control education. These virtual-labs show the operation of an industrial boiler, a double-pipe heat exchanger, and the thermodynamic behaviour of a solar house. In conclusion, the methodology and tools, presented in the chapter, support the description of complex virtual-labs, facilitating the modelling task. Chapter 6, by Casini, Prattichizzo and Vicino, presents a remote control and robotics education laboratory, called Automatic Control Telelab (ACT), which has been developed at the University of Siena (Italy). This telelab allows the users to run experiments, change control parameters, and analyze and evaluate the results remotely. The student can also design personal controllers, using Matlab / Simulink, and test them on the real plant via a user friendly interface. Further, the student can besides control experiments, carry out remote system identification experiments, using selected or designed input signals, in both a deterministic and a stochastic context. Using ACT, groups of students can compete to develop the best controller for a given remote plant, on the basis of predefined control system performance specifications. The controllers’ performance is automatically scored, ranked, and reported to the students for their learning process. ACT was recently enriched with robot basic and advanced experiments. The resulting system is called Robotics and Automatic Control Telelab (RACT). ACT and RACT are available on the Web. Chapter 7, by Carnevali and Buttazo, describes the implementation of a remote laboratory environment which is used in the real-time systems course at the University of Pavia, and is accessible through the Web. The presentation starts with some examples of virtual control engineering laboratories, and then proceeds to the illustration of the characteristics and capabilities of a generic interface for a PID controller embedded in a feedback system. Next, the details of the software architecture of the proposed remote virtual laboratory, which is organized in three layers, are presented. This architecture offers increased flexibility and modularity by allowing the assignment of the system responsibility to the different layers, and the decoupling of the different components. As a result, the users are free to
xxvi
S.G.Tzafestas(ed.):Web-Based Control and Robotics Education
change, improve or modify the graphics without affecting the server layer. The principal characteristic of this virtual remote lab is that a specific hard real-time kernel, called Shark, is used. This kernel is suitable for modular real-time systems development, and can verify the sensitivity of task time constraints, such as periods and deadlines, on the control performance. Chapter 8, by Rojko and Hercog, describes a robot motion control course with increased flexibility for both the teacher and the learner, by introducing available course documentation and remote experiments on the web. Both elements together enable the learner to perform autonomous and time-space independent execution of the course. The course is built around two case studies which give insight to most of the problems of robot motion control. The process from the modelling of the plant, performing simulations and designing several motion controllers, to the tuning of controllers’ parameters by remote experiments for both case studies is outlined. After the implementation of the course, the students’ opinion was obtained and evaluated. It was found that students think positively about the introduction of remote experiments, although they find them most useful when combined with on-site lab experiments. Chapter 9, by C. Tzafestas, describes research related to the development and evaluation of a web-based laboratory platform, designed to support distance training in the field of robotics. One of the research directions is to explore the adaptation of concepts and techniques inspired by related work in the field of telerobotics and virtual reality, and to assess their integration in such e-laboratory settings. The chapter presents the results of a pilot study, providing a comparative evaluation for three training modes: real (hands-on), remote, and virtual. The results obtained reveal certain differences between the three modes, giving some insight regarding the “training dimensions” that seem to be mostly affected by the absence of physical (or realistic virtual) presence at the laboratory. Nevertheless, statistical analysis indicates that, despite these apparent differences, such e-laboratory modules can be integrated quite efficiently in practical scenarios, creating virtual training environments that can provide adequate learning elements, as related particularly to mid- and high-level skill acquisition. Chapter 10, by Wirz, Marin and Sanz, presents and discusses a number of interesting conclusions drawn from the recent efforts at the University Jaume – I (UJI), Spain, in teaching robotics using different tele-laboratories developed by the UJI research group concerned. Initially, the work was aimed to utilize some advanced facilities, including virtual and augmented reality and voice recognition, for user task specification and visually–guided robot performance. However, an important limitation for the students was that they needed to face some requirements, such as downloading a client program (including 3D libraries), having previous skills about Java programming, as well as other very specific programming requirements. The initial Telelaboratory contained only educational robots (instead of industrial ones), but currently new components and an industrial robot were added thus improving the usability, feasibility, reliability and robustness of
Outline of the Book
xxvii
this Tele-laboratory, and enabling new educational possibilities through a friendlier user interface. The chapter describes in detail the main aspects related to the hardware and software employed, the user interaction capabilities implemented, and to the teaching / learning experiences gained. Chapter 11, by Ferretti, Magnani and Rocco, presents a Web-based industrial robot teleoperation system consisting of the industrial robot COMAU SMART 3S, the robot controller COMAU C3G-9000, a PC-server connected to the robot controller, via a serial RS-232 link, and to the Internet, and three web cams with proper communications. The shared autonomy control concept is employed to implement a tele-sensor programming subsystem, called TeleSMART, using standard Internet-oriented low cost commercial hardware and software components. The PC server involves two principal components, i.e. : the image server and the telerobot server. The chapter describes in sufficient detail the system architecture, the teleprogramming and supervisory control issues, the remote operator teleoperation interface, and the functions implemented. The proposed system is suitable for advantageous use in robotics education for students trained in robotic programming, and in continuing education of industrial robotic technicians. Chapter 12, by Tanoto, Rückert and Witkowski, presents a teleoperated platform, called the Teleworkbench, which facilitates the tasks of performing experiments with single or multi minirobots. This system provides a typical environment where robot algorithms and programs can be tested, validated, and benchmarked using real robots. The special features of the Teleworkbench are the following : (i) downloading user-defined programs to particular robots, (ii) robot tracking for more than thirty robots simultaneously, (iii) live video of the experiment, and (iv) a visualization tool for the analysis and evaluation of the experiments. The system is available to remote areas over the Web, thus broadening the possibilities of applications. The chapter describes the system in detail, including its architecture, its components, the two robotic platforms used in the Teleworkbench and some application scenarios, and discusses some challenges for further work. Chapter 13, by Elkady and Sobh, presents a system that allows remote users to directly control a mobile robotic manipulator. The users can interact with remote environments while receiving visual and sensory feedback (provided by the sensors) via the World Wide Web. In order to reduce the uncertainty in localization, sensor fusion is used for creating efficient and effective user interfaces to facilitate teleoperation by enhancing the quality of information which is provided to the teleoperator. The chapter investigates a number of sensory-guided control strategies that are used in the authors’ work on the fusion of sensor data. A quick look on the previous similar work is made, and the design specifications for the data acquisition and the sensors (sonar, infrared) are fully discussed. The mobile manipulator platform, where the navigation, obstacle avoidance and control algorithms are applied is called RISCbot, and is actually a wheelchair base. The overall teleoperated system has three separate modules, namely the sensors’ module, the display module, and the communication link module.
xxviii
S.G.Tzafestas(ed.):Web-Based Control and Robotics Education
Chapter 14, by Ramkumar and Edinbarough, deals with the technologies that make manufacturing automation inspection and quality control a reality using the Web. The chapter shows how an automated inspection (AI) and quality management (QM) system works over the Web, and gives a review of the related literature. Then, the system architecture for the Web-based AI and QM system is presented, and the sensor and instrumentation subsystems (digital / analog sensors, discrete metrology instrumentation, vision systems, coordinate measuring machines) are outlined, also discussing their integration. Next, the issues of integrating the interface and control system hardware (PLCs, DAS, HMIs), including the supervisory system hardware, are investigated, and the integration of the enterprise / management information system is addressed. The chapter provides an example of implementing the overall AI –QM system, and concludes with the system safety issue, and the educational benefits of web-based AI-QM systems in automated manufacturing training processes. Teaching control and robotics theory and experiments over the Internet / WWW is receiving increasing popularity and many important results are now available. Taken together, the chapters of this book help the reader to obtain a global and sufficiently deep view of the problems, techniques, tools and implementations developed over the years, including both “stand-alone” systems and “generic” systems with high degrees of reusability and sharing, such as WCDAS, ACT, etc. The field is currently expanding, and so the book can be a basis for new developments in Web-based learning and experimentation in control and robotics analysis and design.
Terminology ACT
Automatic Control Telelab
AI
Artificial Intelligence / Automated Inspection
AMS
Access Management System
APF
Artificial Potential Field
API
Application Programming Interface
AR
Auto Regressive
ARIMA
Auto Regressive Integrated Moving Average
ARMA
Auto Regressive Moving Average
ARX
Auto Regressive eXogenous
ASP
Active Server Pages
ATS
Active Trasc Suspension
AWT
Abstract Windowing Toolkit
CAB
Cyclical Asynchronous Buffer
CAN
Control Area Network
CBS
Constant Bandwidth Server
CCD
Charge – Coupled Device
CCST
Ch Control Systems Toolkit
CGI
Common Gateway Interface
CIP
Common Industrial Protocol
CMM
Coordinated Measuring Machine
CMRP
Circulant Modulated Rate Process
CNC
Computer Numerical Control
COM
Common Object Model
CORBA
Common Object Request Broker Architecture
CS
Collaboration Server
CSS
Cascading Style Sheets (extension to HTML)
CTF
Component Technology File
DAC
Data Acquisition
DAE
Differential – Algebraic Equation
DAIR
Distributed Architecture for Internet Robot
DAS
Data Acquisition Systems
DCL
Distributed Control Laboratory
DDE
Dynamic Data Exchange
DOE
Design of Experiment
DOF
Degree of Freedom
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education, ISCA Series. ©Springer Science + Business Media B.V.2009
S.G.Tzafestas(ed.):Web-Based Control and Robotics Education
xxx DSP
Digital Signal Processor
DT
Data Transmission
DYMOLA
Dynamic Modeling Language
EDF
Earliest Deadline First
EJS
Easy Java Simulations
EQM
E-Quality for Manufacturing
ERPS
Enterprise Resource Planning System
ES
Experimentation Server
ESA
European Space Agency
FEC
Forward Error Correction
FPGA
Field Programmable Gate
GUI
Graphical User Interface
HCI
Human Computer Interface
HNI
Heinz Nixdorf Institute
HTML
HyperText Markup Language
HTTP
HyperText Transfer Protocol
IP
Internet Protocol
JAVA EE
Java Enterprise Edition
JAVA ME
Java Micro Edition
JAVA SE
Java Standard Edition
JDBC
Java Data Base Connectivity
JDK
Java Development Kit
JIT
Just-in-Time
JNI
Java Native Interface
JPEG
Joint Photographic Experts Group
J STAT COM
Java Statistical Computing
JVM
Java Virtual Machine
LabVIEW
Laboratory Virtual Instrumentation Engineering Workbench
LAN
Local Area Network
LLM
Lab-based Learning Model
LME
Linear Matrix Equation
LMS
Learning Management System
LTI
Linear Time Invariant
LVDT
Linear Variable Differential Transformer
MA
Moving Average
MATLAB
Matrix Laboratory
MCR
Matlab Component Runtime
MEMS
Micro-Electro-Mechanical System
MES
Manufacturing Execution System
Terminology
xxxi
MIMO
Multiple-Input Multiple-Output
MLNA
Modified Local Navigation Algorithm
MOMR
Multiple Operator Multiple Robot
MOSR
Multiple Operator Single Robot
MSE
Mean Square Error
MWS
Matlab Web Server
NCS
Networked Control System
NI
National Instruments
OLF
Online Laboratory Framework
OPC
Object linking and embedding for Process Control
P
Proportional (Control)
PD
Proportional plus Derivative
PDL
Programming Data Language
PHP
Hypertext Pre Processor
PIC
Programmable Interrupt Controller
PID
Proportional plus Integral plus Derivative
PLC
Programmable Logic Controller
PNG
Portable Network Graphics
PWM
Pulse Width Modulation
QM
Quality Management
QoS
Quality of Service
RACT
Robotics and Automatic Control Telelab
RAPI
Real-Time Application Programming Interface
RCP
Real Control Protocol
RECOLAB
Remote Control Laboratory
RISC
Robotics Intelligent Systems and Control Lab.
RISCBOT
RISC Robot
RLO
Reusable Learning Object
RMMS
Remote Machine Monitoring System
RPC
Remote Programming Control
RSVP
Resource Reservation Protocol
RTCA
Real Time Control Application
RTW
Real Time Workshop (of Matlab)
SCADA
Supervisory Control and Data Acquisition
SCARA
Selective Compliance and Robotic Assembly
SCF
Shared Communication File
SDL
Safety Design Layer
SISO
Single – Input Single – Output
SLAM
Simultaneous Localization and Map Building
SMS
Short Message Service
SNRP
Simple Network Robot Protocol
xxxii
S.G.Tzafestas(ed.):Web-Based Control and Robotics Education
SOAP
Simple Object Access Protocol
SOMR
Single Operator Multiple Robot
SOSR
Single Operator Single Robot
SQL
Structure Query Language
STC
Self Tuning Controller
SVG
Scalable Vector Graphics (XML Format)
TCP
Transfer Control Protocol
TCP/IP
Transfer Control Protocol / Internet Protocol
TF
Transfer Function
TeleSMART
Tele-sensor Programming of SMART Robot
UDP
Universal Datagram Protocol
URL
Uniform Resource Locator
VCL
Virtual Control Laboratory
VFF
Virtual Force Field
VFH
Vector Field Histogram
VI
Virtual Instrument
VR
Virtual Reality
VRML
Virtual Reality Mark-up (Modeling) Language
XML
Extensible Mark up Language
WCDAS
Web-Based Control Design and Analysis System
Chapter 1 Teaching Control and Robotics Using the Web Spyros G. Tzafestas
1 Introduction Web-based control and robotics distance education is a growing field of engineering education with a substantial amount of educational material and many teaching tools and platforms already available. Many educational institutes are adopting distance education programs in most of their courses including those which must be followed by hands-on experimentation. In distance education programs the traditional face-to-face teacher communication and interaction are replaced by technological tools (i.e., voice, video, data print, multimedia). Through a number of studies it was demonstrated that with the proper care (selection of method, technology, student / teacher interaction means, etc.), teaching and studying at a distance can be equally successful as traditional face-to-face instruction. Today, distance education is mainly implemented using the Internet and the World Wide Web (WWW). The WWW is an exciting innovative front-end to the Internet. The Internet is the biggest and most powerful computer network of the World. It is still growing at a good rate, although the growth rate differs from area to area over the World. It is not expected that the World rate will increase again substantially until broadband is further developed and its price reduced. The Internet usage and population statistics around the World are recorded by the Internet World Stats (http://www.internetworldstats.com/stats.htm) and compiled by the econsultancy company (http://www.e-consultancy.com). E-consultancy.com is a leading online publisher of best practice Internet marketing reports, research, and guides. Useful and accurate information about networks throughout the World is provided in (http://www.internettrafficreport.com), the web site of the Internet Traffic Report (ITR) Web-based training (WBT) is defined as any skill or knowledge transfer through the WWW as the distribution channel. In [1], the state-of the-art of WBT is provided, including its growth and the industry trends. The factors that drive Web-based training today, the Web’s inherent strengths, Web-based learning models, virtual learning spaces, content development, critical design elements, instruction design, and sorting out WBT, are deeply considered in this study. It is remarked that today there is actually a shift from “use” of software to “workspace competencies” (e.g., instead of teaching the “Word and Excel”, the topic “Creating Year-end Reports” is taught so that the learner is getting the skills to “use” of software as a by-product of learning what he/she really needs to learn). The Web S.G.Tzafestas (ed.):Web-Based Control and Robotics Education, ISCA Series. ©Springer Science + Business Media B.V. 2009
2
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
reduces the capital barriers for distributed learning and so it is a promising breakthrough. In [2], a thorough classification of WBT is provided on the basis of several characteristics, such as purpose types, learning skills, learner’s role, methods, interactions, etc.). In [3,4], a study of the characteristics of Websites as teaching and learning environments, is made. This study is based on a taxonomy of Webbased learning environments (using 100 variables in four dimensions) that was applied to 436 Websites concerning science, mathematics and technology. The overall conclusion of this study is summarized as “one step ahead for the technology, two steps back for the pedagogy”. The University of Idaho, College of Engineering Outreach, Moscow, has produced a set of 13 Guides for distance education (DE) that cover all issues from the definition of DE (Guide 1), to differences of DE from standard education and the need of DE, up to producing a convenient glossary of DE terminology (Guide 13) [5]. In the area of control and robotic engineering education we have today available the important results of several efforts toward the development of interactive web-based platforms that provide e-course material with on-line theoretical and laboratory exercises, course management, virtual classes etc., as well as virtual (simulation) laboratories and Web-based remote physical laboratories. Actually these Web-based platforms can be categorized as follows : • • • •
E-course material and e-classroom environments. Virtual laboratories. Remote (physical) laboratories. Combination of the above.
Our purpose in this chapter is to provide an introductory overview of the above platforms, some of which are extensively presented by their creators in this book, together with a presentation of the architectures that these platforms have followed, and the technological tools that are currently available for actual implementation The chapter is organized as follows. Section 2 gives a review of Web-based control and robotics educational platforms, namely e-course environments, Webbased virtual labs, and Web-based remote labs. Section 3 is concerned with Telerobotics, an old field with many applications that include the Web-based remote labs, and the single-or multiple-user robotic web camera systems. Particular attention is given to the problems arised from the existence of varying or random delays in the data transmission over the Internet. In this framework, the Quality of Service (QoS) model of communication networks is outlined, and the dynamic modeling and estimation of the Internet delay is treated. Section 4 provides the general characteristics of Web-based virtual labs (simulators) including architectural, communication-protocol, human-computer interface, and system modeling characteristics (requirements). The corresponding issues of the Web-based remote labs are discussed in Section 5, including the procedure that must be followed for a student (client, user) to get an appointment for work in an experiment available at the remote lab. In Section 6, five examples are given that clarify many of the
Teaching Control and Robotics Using the Web
3
concepts and techniques discussed in Sections 2 through 5. Section 7 includes some concluding remarks, and the Appendix (Section 8) provides the definitions and uses of the most common general purpose software environments and languages available for developing Web-based educational platforms and virtual / remote labs.
2 Review of the Web-Based Control and Robotics Educational Platforms
2.1 E-course / e-classroom Environments Today, in many Universities world-wide, especially those intended to offer open-education and confer distance-education degrees, e-courses and e-classroom (or virtual classroom) environments, operated through the Web, have been developed [6-12]. For example, the interactive educational support environment presented in [6] offers course material, course management, and online exercises. At the University of Drexel (Applied Engineering Technology Program), a laboratory curriculum integrated with Internet robotics and automation was developed and implemented with the cooperation of the Yamaha Robotics Company [7]. The remotely located students can program, control, and monitor the robotic functions via the WWW using the Windows-based graphical user interface. Details on the lab development for teaching the remote control of robots and PLCs, and on how to effectively offer Web-based robotics and automation education are provided. In [8], the web-based robotics and mechatronics educational framework developed at the University of Maribor is presented. This includes e-course material produced by hypertext and supported by multimedia. The students have to prepare the protocols of the lab exercises in electronic form. Special attention was paid to the availability of the educational material from various browsers and operating systems. In [9] several examples of effective combination of Internet and multimedia components in the electrical engineering courses offered at Ryerson Polytechnic University are given, with particular focus on the control courses. The e-course available on the Internet is complemented with Quick Time movies of several laboratory set ups and experiments, such as an inverted pendulum, a flexible robotic joint, a 3 d.o.f. helicopter simulator, and two different servo-positioning systems. The control concepts that are supported by multimedia include : (i) pole-zero location effects on system response, (ii) convolution, (iii) PID and lead-lag controller design, (iv) effects of sampling, and (v) filter design via truncated Fourier series expansion. A new approach to student assessment is applied following the guidelines provided in [10]. In [11] the so-called multiact approach is described, via which innovative teaching environments in control and robotics, with improved efficiency and cost efficiency, can be built. This approach mixes different instruc-
4
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
tional and constructional activities. The constructional activities are distinguished in “off-campus” and “on-campus” activities, and the instructional activities include on-line class, PC-based direct control, remote labs., and movement skills. Through a balance between instructional and constructional activities, the students can have an active role and enhance substantially their creative part in the education process. The multiact approach provides a good potential tool for developing new courses or updating existing ones offered by the traditional way. In [11] a successful application is demonstrated where a teaching environment was developed for the indoor mobile robotics field. In Germany the Fern University of Hagen became a fully distance teaching University, where all courses and educational services can be accessed and used via electronic communication and multimedia [12]. The web-based educational environment developed is actually an example of “Virtual University”. A major role in this approach is played by several “virtual laboratories”, particularly for engineering fields like the control and robotics field. Many other German Universities make beneficial use of this general-purpose educational platform developed at the University of Hagen [12]. The common feature in all the above efforts is that they try to place the emphasis of the engineering courses not only on the provision of a solid theoretical background, but also on the extension of the theory to practice (e.g., on the understanding and treatment of real system properties such as uncertainty and nonlinearities). To this end, the majority of the available e-courses/classes for control, robotics and other engineering fields, incorporate virtual and / or remote physical labs implemented using either widely available technology tools and software tools, or tools developed by particular groups (e.g., Modelica, Ch. Control System Toolkit, etc.) as we will see in many places of this book.
2.2 Web-Based Virtual Laboratories Two general review studies of Web-based Virtual labs and Remote (physical) labs available for the control and robotics field can be found in [13,14]. The Webbased virtuals labs are platforms where the students (clients) have continuous access to a simulation model on a remote station, very often accompanied by animation and multimedia facilities. These “virtual labs” are sometimes referred to as “web-based simulators” [15]. Most Web-based simulators use MATLAB/Simulink, LabVIEW and JAVA as the computational aid. Two early virtual control labs were presented in [16,17], where the simulator was based on MATLAB, and accessed from the Web browser available on the student (remote) station via a MATLAB plug-in. Additional plug-ins are required for displaying the MATLAB plots on the windows of the browser and rendering the simulation results via VRML (Virtual Reality Modeling Language) [18]. In [16] the virtual lab provides simulation models for three experimental systems, namely a “ball and beam system”, a “tank’s level control system”, and a “gyropendulum system”.
Teaching Control and Robotics Using the Web
5
Similarly, in [17], simulators are included for an “automated highway system” and a “magnetically levitated vehicle”. In [19], a virtual laboratory environment is presented which enables a remote student to interact with a real-time operating system for performing a control experiment with a “ball balancing” device. This system, which is actually a hybrid virtual / remote lab, was developed to support the real-time systems course at the University of Pavia, and uses a special hard real-time kernel, called Shark [20]. Three other hybrid virtual / remote physical labs are presented in [15,21-22]. In [15], the design issues a web-based simulator (virtual lab) for remote control experiments are studied. This simulator enables multiple geographically separated users to carry-out experiments collaboratively as a team with a real plant. An example of successful application of the web simulator to a “catalytic reactor” process is provided. In [21], a hybrid virtual / remote control lab (called recolab) is described, which is based on MATLAB / Simulink and allows the student to implement and execute physical process controllers via the Internet. A client-server communication structure using HTTP/HTML protocol was adopted together with the Common Gateway Interface (CGI) for interfacing the control applications of the MATLAB web server with the user. The remote system under control is a d.c. motor. The control functions implemented remotely are : identification, position PID control, and velocity PID control. Prior to using the designed controllers, the student simulates and tests them via Simulink. After the successful test, the student embeds them to the real system (d.c. motor). In [22], a MATLAB Web server-based virtual lab is presented, for learning control design methods, along with a remote control lab for an RC-oscillator experiment. In the RC oscillator experiment, interactivity between the controller parameters (using Root Locus and Bode plots) with the real experiment has been implemented for achieving full visualization of the controller design. In [23], a lab-based learning model (LLM) is proposed which employs the RLO (reusable learning object) concept for developing reusable and interoperable web-based laboratory courses. The advantages of LLM include the possibility of sharing resources among labs and Universities, the creation of e-learning based labs among different departments for cross – disciplinary learning experience, and the offer of an environment where many people, whether commercially or from academic institutions, can contribute and develop lab learning objects that could be used or re-used by Learning Management Systems (LMS). The learner can carry out experiments using real apparatus from anywhere at any time.
2.3 Web-Based Remote Laboratories The Web-based remote labs are physical laboratories / experiments that can be accessed remotely by the students via the Internet. Remote labs are typically supported by multimedia technology (video, audiostream). After authentized log-in,
6
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
the students can run the selected experiment, modify the controller parameters (or its type), monitor the results, and download desired data. Today there are many virtual / remote labs available on the Web and documented in the literature, including some of those presented in this book (e.g., The Automatic Control Telelab (ACT) [24], the Web-Based Control System Design and Analysis [25], and those of [26-30]). Here, a brief review of some additional remote labs, which obviously do not exhaust the vast amount of existing web-based control and robotics labs that have been described in the literature, is provided. In [31], a Java-based control telelaboratory is described which was designed so as to secure a minimum access time of a remote client (student) that manipulates the laboratory apparatus. The time delay due to the Internet was faced using a Web-embedded Server (WES). The multi-user capability was achieved using PHP-based dynamic pages implemented via an APACHE server in the local control system. In [32], a robotic lab experiment is presented, where the robot is controlled by a joystick via a CORBA event channel combined with the Simplex system that supports safe and reliable online upgrading of software components despite of possible errors in new models. This is a useful feature needed when embedding new control technologies into running systems. The Simplex replacement manager is accessed via a CORBA interface. The user requests the compilation of a new controller code communicating with the Simplex communication manager, and, if the compilation is successful, he/she requests the insertion of the controller into the Simplex system for execution and evaluation. In [33], a collaborative virtual platform for a remotely – operated laboratory is presented. Collaborative virtual platforms enable multiple users, distributed in distant places and connected via a network, to cooperate and develop skills as a team. Only standard Web browsers (and not any additional software) are needed be the users. This tele-operated lab was designed using a client – server architecture (like other tele-labs) which is implemented using Java. The first experiment which was controlled is the position / velocity control of a wheel driven omnidirectional robotic vehicle. Other experiments embedded later in this tele-lab platform are : (i) testing and programming of a Simatic S7 PLC controller (Siemens), and (ii) control of an inverted pendulum gantry crane teleoperated system [34]. In [35], the development of a remote-access control platform is presented, which again allows users to carry out control experiments over the Internet. The platform involves an internal distributed system, and an application linked by a DAC (data acquisition) interface card. A client-server structure is again employed with components : a Web server, a video server, and a LabVIEW controller server. A d.c. motor example is provided to validate the high performance of the system. In [36,37], two systems are presented that integrate the Web features with wireless technology [38]. The system of [36] permits distant students access remotely in real time an automation laboratory. It is based on a synergy of Web services from logmein.com [39-40] with the IEEE 802.11g wireless network [38], which allows remote programming of the PLC that controls the automation laboratory, while providing visual feedback with the help of wireless Web Cameras. Log Me In Pro possesses special features such as remote access control, secure file access / transfer, file sharing, and multilayered security that make it a suitable
Teaching Control and Robotics Using the Web
7
tool for the design of remote control labs. The system of [37] is based on a new timing scheme that uses clock-driven sensing and actuation with event driven control, and offers a number of advantages over other methods. It was implemented using standard PCs and the IEEE 802.11b wireless network. The control environment used is the MATLAB / Simulink combined with the Windows 2000 operating system. A precise timing for the control application was achieved. This system was applied to the stabilization, using linear quadratic control, of a rotating base pendulum system over a wide range of sampling periods and network conditions.
3. Web Telerobotics and Internet Delay
3.1 General Issues The first “master-slave” teleoperator was designed and built at Argonne National Laboratory [41]. Teleoperation systems are used to perform unstructured and hazardous tasks (space tasks, nuclear reactor tasks, deep-sea exploration tasks, military tasks, exploration tasks on Mars, medical operations, etc.). A comprehensive survey of teleoperation and telerobotics is provided in [42]. In [43] the use and importance of virtual reality in telerobotics is examined. A teleoperation system consists of two distant systems that are coupled such that both send and receive commands from each other (bilateral teleoperator). The master sends to the slave, position and/or velocity commands, and the slave, typically sends to the master a force command. Using the force feedback information, the master gets the feeling of the conditions existing to the slave and so the operator can perform the manipulations with small errors (which prevent the slave from exerting unnecessarily large forces on the environment). Web-based teleoperation uses the WWW as the communication channel, which introduces time varying or random communication delays. In online Web-based experimentation and teleoperation applications, including the educational remote lab applications, the time delay between the master controller and the slave robot can have many undesired effects such as destabilization, and loss of synchronization and transparency [44-46]. Therefore, control scientists and engineers have devoted a lot of effort to compensate and overcome the effects of the communication / Internet delay. An early technique was developed in [45], where a new communication architecture based on scattering theory was proposed. This technique was further studied in [46], where the wave variable technique was introduced for the teleoperation. In [47], the time-varying nature of the delay was studied, and a predictor (time-forward) observer was developed for supervisory control over the Internet. In [48], a Kalman filter-based predictor was presented for predicting the wave variables and compensating the time delays. In
8
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
[49] an adaptive motion / force controller for unilateral and bilateral teleoperation was employed. In [50], the transparency in teleoperation was studied, along with the stability. Transparency is the major desirable performance characteristic in all teleoperation projects. A teleoperation system is said to possess complete transparency if the slave reproduces accurately the master’s commands, the master feels correctly the slave forces, and the human operator experiences the same interaction forces as the slave does. Many other works exist toward minimizing the delay effects, including H ∞ robust control theory [51], sliding mode control theory [52], and neural estimation / control theory [53,54]. Well known “web robots” have been developed and are since long time available on the Web, e.g., the Mercury project telerobot [55], the Telegarden project robot [56], the Western Australia University’s telerobot [57], and the Netrolab project robot [58,59]. In [55-57] a web robotic camera identifies the robot position and terrain, and transmits them to the user via the WWW. The topic of controlling the Web robotic cameras has received a particular attention by the robotic workers. Very important in this area is the research described in [60-67]. In [60], an automated camera is positioned during teleoperation using the theory of “visual acts” in order to provide the operator with the required task information in a timely way. In [61], reconfigurable hardware and embedded software (namely, secure Virtual Private Network with 3DES encryption and Internet Camera Server with JPEG compression) are used for the design of the webcam system. The webcam system designed in [62] is suitable for surveillance applications. Other applications of webcams include teleconferencing, industrial robot testing, etc. [68,69]. In [63,64], the multi-user robot camera control problem (for videoconferencing) is treated using multiple cameras, i.e. panoramic cameras and a pan-tilt-zoom camera. The users control the pan-tilt-zoom camera on the basis of the panoramic view. This system needs the illumination to be continuously good as it happens in a videoconferencing environment. According to Goldberg [65,66], multiple cameras are good but not necessary in cases dynamic information is not required. The panoramic image can be produced by the same pantilt-zoom camera, and so a saving in bandwidth requirements is obtained. In [6567] a system, called ShareCam, consisting of a robotic pan-tilt-and zoom camera and two servers that communicate with users via the Internet is presented (Fig.1). The system is described in [65] (interface, architecture, implementation), and the algorithms are presented in [66,67]. Actually, the ShareCam problem is to find a camera frame that maximizes a measure of user satisfaction. The system input is the set of the camera frames requested from the n users, and the output is the optimum camera frame that maximizes user satisfaction. ShareCam belongs to the class of “multiple operator single robot” (MOSR) systems according to the taxonomy provided in [70], which classifies the teleoperation systems as : • • •
SOSR : Single Operator Single Robot SOMR : Single Operator Multiple Robot MOMR : Multiple Operator Multiple Robot
Teaching Control and Robotics Using the Web
•
9
MOSR : Multiple Operator Single Robot
Fig. 1. Structure of the ShareCam multi-user system.
Conventional control techniques for robotic cameras restrict the control to one user at a time, and so users have to wait in a queue for their turn to control and operate the camera. The algorithms proposed in [66,67] eliminate the necessity of a queue and enable multiple users to share control of the camera concurrently. These algorithms use rectangle – related problems of computational geometry that involve range searching and rectangle intersection. The frame vector is c=[x,y,z], where (x,y) is the center point of the input rectangle (which corresponds to the pan and tilt), and z=size (c) determines the rectangle’s size to be used for controlling the zoom. Given requests from n users, the system determines a single global frame c* which best satisfies the set of n requests. User satisfaction is a “generalized intersection of maximum” (GIOM) function. The two algorithms proposed in [66,67] are : • •
A lattice based approximation algorithm. A distributed algorithm.
In the lattice algorithm, the relationship between solution quality and computational speed is expressed as follows : “For a desired approximation bound ε, the approximately optimal frame can be found in O(n/ε3) time”. The branch and bound (BnB)-like implementation reduces the constant factor of the algorithm by more than 70%.
10
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
In the distributed algorithm, each of the n clients (users), actually his/her computer connected to the server, share in the computation, and so the overall computation time is reduced. Here, each user searches a coarse lattice with proper offsets. The previous algorithm is divided into client and server components, by dividing the lattice L into n sublattices L i , i=1,2,…,n, where L i is searched by the user i. As a result : “Each client finds its solution in O(1/ε3) time”. If one client fails to submit his/her result, the approximation bound increases a little. Clearly, the above algorithms of this single frame selection (SFS) approach prefer speed to accuracy.
3.1 The Quality of Service Model of Communication Networks The performance of a communication network is characterized by the following Quality of Service (QoS) model (Fig. 2), which involves four parameters [71,81] : • • • •
Time delay Jitter Bandwidth Package loss
Fig. 2. Structure of bilateral web-based teleoperation system with QoS.
Time delay : Time delay is defined to be the average time needed for a packet to be transmitted from the source (sender) to the receiver. The delay presented by the Internet involves the following components : the waiting time (delay) in the queue, the delay due to the processing time in the switches, and the propagation delay in the links. The performance (transparency, stability) of the network is improved if all of the above delay components are reduced as much as possible. To reduce the effects of the delay in the queue and the processing time delay, a
Teaching Control and Robotics Using the Web
11
tradeoff with the propagation delay must be accepted. Thus, QoS improvement can, in general, be obtained if the propagation delay is minimized. Jitter : Jitter represents requests the fluctuations of the packet to packet travel time, caused by the random queue delay in the network components. Suppose that the jitter J presents a maximum value of variation in the end-to-end delay time T ee =T+J. If this maximum jitter in the teleoperation system is smaller than half width of the strobe impulse of the D/A converter, then no effect appears on the signal. However, it is noted that in practice is typically greater than that. The jitter introduces high frequency disturbances that possibly may cause system destabilization. Bandwidth : The bandwidth of a link determines the data transmission rate over that link. The bandwidth needed in a teleoperation system depends on the desired resolution, on the sampling period (rate) of position and force signals, and on the protocol overhead. Teleoperation is actually sensitive on bandwidth. To successfully transmit position and force / haptic data, the communication links must have sufficient bandwidth, and the protocol overhead should be as small as possible. The protocol overhead in UDP (Universal Datagram Protocol) is much smaller than that of TCP (Transport Control Protocol), and also in UDP a consistent sampling rate with smaller fluctuations can be assured. Thus in teleoperation applications UDP is preferable. Packet loss : If a network is loaded in excess of its capacity, then packet loss occurs, i.e., some devices of the network drop packets. The packet drop level depends on the network load and the type of the queue employed in the network. Redundancy in transmitted packets, such as in the forward error correction (FEC) method, compensates for lost packets. Again UDP is preferred with regard to packet loss. The end-to-end packet delay dynamics has received great attention in the literature, since its understanding helps in the design of efficient congestion control mechanisms. The works documented in the literature can be divided in two categories, namely : • •
End-to-end and packet delay [72-74] End-to-end path characteristics [75,76]
For example, in [72] the end-to-end packet delay and packet loss in the Internet was investigated via small UDP probe packets. In [73] the correlation between the actual packet delay and the packet loss was studied. In [74], the delay dynamics of the Internet was examined using measurements in about 20,000 TCP data transfers. In [75], the end-to-end path properties were estimated, and in [76] the loss and delay characteristics of a transmission link were discussed using end-to-end multicast measurement. According to [71], in voice applications the jitter can be removed by prefacing each chunk with a sequence number, a time stamp, and delaying playout. The effect of jitter in teleoperation systems can be faced via the use of reconstruction filters [46]. All the above works were concerned with the statistical features of end-to-end packet delays and/or path characteristics, and not
12
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
with the delay dynamics that helps to design proper controllers for the delay compensation. This topic will be discussed in the next section.
3.3 Internet Delay Modeling and Estimation Within the framework of the control engineering approach to the modeling and estimation of the Internet delay(s), the delay is included in the control loop. A pure time delay T d has a nonrational transfer function of the form :
y (s ) / x (s ) = e − sTd
y ( s ) = L y ( t ) denotes the Laplace transform of the signal y (t ) , and s= a + jω is the complex frequency variable. The two classical techniques for where
treating the time delay are : (i) use of rational approximations of exp(-sT d ) (Pade approximations), and (ii) minimize the effect of the delay using Smith’s predictor [77]. A comprehensive survey of recent networked control systems (NCS) methodologies that handle efficiently the network delay effect can be found in [78]. Some works about the network traffic black-box modeling are provided in [7984]. In [79], a fast algorithm for constructing a “Circulant Modulated Rate Process” (CMRP) for traffic modeling is presented, and in [80] CMRP and ARMA (Autoregressive Moving Average) techniques are combined to model the traffic. In [81], the ARX (Autoregressive exogenous) model is used for the delay dynamics, and the relevant parameters are estimated to study the communication system behavior. The results indicate a periodic pattern of the Internet delay. In [82], an analytical approach is employed to study and control the Internet congestion and delay. Here we will provide an outline of the scattering / wave variable teleoperation technique [45,46,83], and the ARIMA modeling / identification technique [84]. The scattering / wave variables technique The scattering transformation as applied to a tele-operation system is depicted in Fig. 3.
Fig. 3. Scattering transformation (S.T.) in a tele-operated system.
13
Teaching Control and Robotics Using the Web
The velocity and force feedback variables are transformed by the scattering transformation to the wave variables u and v , i.e. :
us = vs =
1 2a 1 2a
(ax sd
+ Fs ) , u m =
(ax sd − Fs ) , vm
where : x m = master velocity,
=
1 2a 1 2a
(ax m + Fm ) (ax m − Fm )
(1)
x s = slave velocity, Fh = operator torque,
Fm = force reflected back to the master from the slave robot, Fs = force information sent from the slave to the master, xsd = slave velocity after the scattering transformation. It is assumed that the communication delay T is constant. Then :
us= ( t ) vs ( t − T ) ( t ) um ( t − T ) , vm =
(2)
A system is said to be passive (i.e., it does not produce energy) if and only if t
t
) dτ ∫ x (τ ) y (τ ) dτ ≥ E ∫ P (τ= T
in
o
where
stored
( t ) − Estored ( 0 )
(3)
o
Pin ( t ) = xT ( t ) y ( t ) is the power that enters in the system, x ( t ) is
the input vector, time t , and
y ( t ) is the output vector, Estored ( t ) is the energy stored at
Estored ( 0 ) is the initial stored energy in the system.
In our case the input power at the communication block at time
= Pin ( t ) xmd ( t ) Fm ( t ) − xsd ( t ) Fs ( t )
t is equal to : (4)
Therefore, the total energy stored in the communication block during the signal transmission between master and slave, under the assumption of zero initial energy, is given by :
14
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
= E (t )
t
Pin (τ ) dτ ∫= 0
t
∫ x (τ ) F (τ ) − x (τ ) F (τ ) dτ md
m
sd
s
0
t
=
1 uTm (τ ) u m (τ ) − vTm (τ ) v m (τ ) + vTs (τ ) v s (τ ) 2 ∫0
(5)
t
=
1 uTm (τ ) u m (τ ) + vTs (τ ) v s (τ ) dτ ≥ 0 ∫ 2 t −T
This inequality implies that if the wave variable representation is used, the time delay does not produce energy. Therefore, stability is assured for the time-delayed teleoperation independently of the magnitude of the delay T .
The ARIMA Internet delay estimation technique Queuing theory can be used for estimating and predicting the time delay under the assumption that the distributions of traffic inter-arrival and inter-departure time at the communication links are known, which however is not the case for the Internet. But even if the distribution is known, the computation time grows prohibitively with the network size. For this reason, control and communication scientists are using the time series approach which is easier to develop and less complex to use. It is noted that the time series approach has been widely used long time ago in all engineering and system applications areas; control, power, management, economics, etc. A time series is a collection of observations obtained sequentially in time. Therefore, the end-to-end Internet delay and the round-trip time, when measured at equally spaced time intervals, are typical time series data. It is important to remark here that the model fitting process on a time series does not need any assumption about the observed system. The alternative time series models available for use are the following : • • • • • •
MA : Moving Average. AR : AutoRegressive. ARX : AutoRegressive eXogenous. ARMA : Auto-Regressive Moving Average. ARMAX : Auto-Regressive Moving Average eXogenous. ARIMA : Auto-Regressive Integrated Moving Average.
These models, with the exception of the ARIMA model, are suitable for stationary time series. However, most time series data of the Internet delay are nonstationary. A simple way to make them applicable to the Internet end-to-end packet delay problem is to use the delay variation instead of the delay itself, as it was done for example in [81], where the ARX model was used. In general, a time series can be made stationary by differencing as many times as necessary. This is
15
Teaching Control and Robotics Using the Web
exactly the idea used by Box and Jenkins [85] for the development of the ARIMA technique. It is remarked that to each of the above models and to ARIMA there corresponds a state-space model (although not uniquely). Therefore one can combine time series methodology, and control theory to compensate the Internet delay effects. The ARIMA model : Let d be the degree of differencing needed to get a stationary and invertible time series. Then, the original time series (process) is said to be “integrated of order d” (symbolically An ARIMAX process of order
y ( k ) I ( d ) ).
( n, d , md , m, r ) is defined as :
An ( q −1 )(1 − q −1 )= y ( k ) Bm ( q −1 ) u ( k − nd ) + λCr ( q −1 ) e ( k ) d
where
(6)
u ( k ) is the exogenous input, y ( k ) is the output, e ( k ) is the dis-
turbance (noise),
k ) y (k − p) , q −1 is the backward unit shift operator q − p y (=
and :
An ( q −1 ) =1 + a1q −1 + + an q − n Bm ( q −1 ) = b0 + b1q −1 + + bm q − m
(7)
Cr ( q −1 ) =1 + c1q −1 + + cr q − r with
nd being the delay from the input to the output, and λ being the noise
standard deviation. If
d > 0 , then the model is clearly nonstationary, because the AR operator
( )(
)
d roots on the unit circle. If d = 0 , we get as special case an ARMAX model (n, n d , m, r ) , which is equivalent to an ARIMAX (n, o, nd , m, r ) model: An q −1 1 − q −1
d
( )
has
( )
( )
An q −1 y (k ) = Bm q −1 u (k − nd ) + λC r q −1 e(k )
(8)
An obvious question for the ARIMAX technique is “how does the order d affect prediction?”. A basic feature of the prediction for stationary models is that it tends toward the mean of the series as the prediction (lead) time increases.
(n, r ) process : An (q −1 )y (k ) = C r (q −1 )e(k )
Consider the ARMA
(9)
16
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
{ ( )}
where y k is a stationary time series. The process infinite MA representation :
y (k ) has the following
∞
y (k ) = ∑ f j e(k − j )
(10)
j =0
where
{f } are constant parameters, with j
f 0 = 1 . The optimal predictor
steps ahead is given by :
yˆ (T + T = ) E y (T + ) { yT }=
∞
∑f j =0
+ j
e (T − j )
(11)
where
= { yT }
{ y (T ) , y (T − 1) ,} . The mean square error (MSE) of the predictor is now given by :
MSE yˆ (T + T ) = ∑ f2− jσ 2
(12)
j =1
where
σ 2 is the variance of the noise λ e ( k ) .
The MSE of the predictor in the ARIMA model is given by the same formula (12) with the proper computation of the parameters f j . It is remarked that, since the MSE in (12) tends to increase quickly as the prediction time increases, the above models (ARIMA, etc.) are applicable to short-term prediction. Indeed, in Internet applications the routing process, the competing traffic, the available bandwidth and so on, are strongly dynamic, and the prediction time must not be too long. On the other hand, the end-to-end packet delays over the Internet possess a seasonal periodicity (e.g., the delay in the early hours and the late hours of the day is high, and much smaller in between during the day). If this periodicity of the time series is known (e.g., periodicity every s observations), then it may be used to simplify the methodology as shown in [84,85].
4 General Characteristics of Web-based Virtual Laboratories
4.1 General Architecture of VLabs As we already pointed out, Virtual labs (simulators) provide some learning advantages, and the combination of dynamic simulation with the Web features make a widespread and powerful teaching mix for control, robotics, and other engineer-
Teaching Control and Robotics Using the Web
17
ing fields with laboratory requirements. Of course, developing web-based dynamic simulators presents some challenges in software, interfacing, and networking. Among the primary features of the web virtual lab environment we mention the time delay, the unpredictable network performance, the conflict of control, and the uncertainty about the users, i.e. those who will work offline and those who will be connected online. In general, a Web-based Virtual lab contains a Web server, a computer for the teacher (where the plant simulator may also be hosted) and the students’ remote stations, as shown in Fig. 4 [15, 21-22]. The web server runs the server application(s), the teacher’s computer enables the tutor to monitor and evaluate the performance of the students, and sometimes incorporates the plant simulator software to save the server from excessive work load. Therefore the teacher’s station may also act as interface front-end to the plant simulation model. The web server sends data and control commands to the student stations and the process model via HTTP/TCP or other proper connection. A possible configuration layout of the virtual web-based lab has the form depicted in Fig. 5. At the server / teacher station site, Java applets or MATLAB can be used to implement the display and control functions for the teacher and the students. The student’s browser downloads the Java applets from the web server and runs them on the student’s own station, once the student loads the interface to his/her station. There is no need of any extra software to be installed at the teacher / students stations.
Fig. 4. General architecture of a virtual web-based lab.
18
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
Fig. 5. A typical layout of the web-based virtual lab.
The server station implements and controls the communication between the teacher / students and the plant simulator via proper sockets. This architecture allows a collaborative operation of the students who can operate the same simulator concurrently as a team. Of course, the students have to remain online during the cooperative session.
4.2 Communication Characteristics One of the basic communication issues in web-based virtual labs and remote physical labs is the protocol adopted. Protocols allow data to be taken apart for faster transmission, which are transmitted and reassembled at the destination in the correct order. Other issues include the bandwidth and the time delays which were discussed in a previous section. Here we will discuss the communication protocols. The server of the virtual lab passes the messages from the teacher station to the student station and vice versa using a particular protocol. Three protocols most often used in web-based virtual labs and telelabs are the following : • • •
CGI : Common Gateway Interface TCP/IP : Transport Control Protocol / Internet Protocol UDP/IP : Universal Datagram Protocol / Internet Protocol
CGI : This is a frequently used protocol in server-client communications. It runs on the web server, and sends and receives features and parameters from the user’s browser. The web users use their browsers to be linked to the server, watch
Teaching Control and Robotics Using the Web
19
the web page, send CGI requests to the server, and get the server’s response. Due to the “per session” operation, CGI is not appropriate for team-wise collaborative operation on the virtual or remote lab. TCP/IP : This is a connection oriented protocol and has inside a “sliding window” to keep changing its size in accordance to the bandwidth available for the connection, to allow for the data to go through fairly. A TCP connection (in contrast to CGI and UDP), established by a user with a server, remains in place until the user closes the connection. UDP/IP : This is connectionless and unreliable protocol. It has no congestion and flow control mechanisms, and supports fast communication, since it introduces less communication overhead. UDP cannot assure the delivery of the data in the right order. TCP is a little slower protocol, but secures that the data delivered will be correct and in the right order. TCP/IP is not suitable for real-time transmission, but UDP/IP is ideal. However, TCP is a good protocol for implementing webbased virtual laboratories (simulators). A good combination of TCP and UDP, that possesses a nice mixture of the features of both of them, was proposed in [86]. Normally, a network system involves two layers, i.e. the control application layer and the network layer. In the network architecture proposed in [86] three additional layers were added which are based on UDP. These layers are (See Fig. 6) : • RCP : Real Control Protocol • RAPI : Real-Time Application Programming Interface • SDL : Safety Design Layer RCP aims to provide simple and more predictable means to handle reliability and time issues. RAPI uses RCP to provide the required application interface for the control function, and SDL assures secure communication for real-time data. The Resource Reservation Protocol (RSVP) helps the applications to reserve bandwidth and allows them to get sufficient “Quality of Service” (QoS) for their data flow [87]. This end-to-end network architecture, with the new combined TCP/UDP protocol, replaces the complicated TCP protocol with a simple framework based on UDP, and can be used in web-based virtual reality / remote labs, and other teleoperation applications, more directly, more flexibly, and more efficiently.
4.3 Human-Computer Interface Characteristics Human – computer interface (HCI) design is crucial for the success of virtual and remote web-based labs. The interface available at the student station must enable him/her to understand very quickly the functioning of the simulation model
20
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
(or of the real experiment in remote labs) so as to provide the proper commands or initiate the proper problem – solving procedures. A fundamental requirement of the design should be to minimize the irrelevant information in the interface, in order to avoid any fuzziness or attraction of the attention of the student to unimportant information. Multimedia technologies and virtual reality can enhance further the capabilities of the human-computer interface. Of course, no specific interface software and no special type of computer are typically available in the Internet environment. Therefore, the users (students, teachers, etc.) have to do their work using computer screen, keyboard, mouse, and speaker. For the design and implementation of HCI in computer-assisted automated systems, there is a plythora of methods, tools and software / hardware available [88,89]. As a general rule the interface functions should include : dialoguing functions, operation functions, monitoring functions, and evaluation / assessment functions. In virtual labs or remote physical labs supported by simulators the Matlab or LabView interface facilities can be used, complemented by proper Java applets, or other appropriate special simulation environments (such as Modelica, Ch Control Systems Toolkit, etc.) [See Appendix, Section 8]. Here, we discuss briefly the following two interface functions : system operation and system monitoring.
Client Application
TCP
Server Application
RAPI
RAPI
Safety Design
Safety Design
RSVP
RCP
TCP
UDP
RCP
RSVP UDP
WWW
End system Network QoS
End system
Fig. 6. The TCP/UDP combined end-to-end Internet-based transmission architecture.
Operation of controlled system : Here, all elements concerning the controllers used and their influence on the operation of the system under control must be included. For example, windows should be provided for : (a) PID Controller, (b) other controllers, (c) control performance analysis, etc. These windows should allow the user to modify the controller and process parameters according to his/her requirements each time.
Teaching Control and Robotics Using the Web
21
System monitoring : Here, the historical evolution of the system’s data should be displayed (e.g., data concerning the system’s performance, the faults occurred, the faults restored, etc.). Also video and audio is typically required for warning purposes (alarms, etc.), so that the student can interfere quickly in the proper way. Finally, graphical representations of the controlled system components should be provided, in order for the student to be able to know the current states of the key plant variables and any other information required about the operating units of the plant. These graphical representations must be included in the student’s home page. Other monitoring displays should be accessed from the home page.
4.4 System Modeling Virtual labs contain two principal components, namely a model and a view. The model is the mathematical (and logical) model of the controlled system’s dynamics, and the view is the human-computer (model) interface. The purpose of the view is to provide a visual representation of the simulated behavior of the model and to enable the user to interact with the model during simulation. The changes of the values of model variables are automatically displayed by view, and conversely the interaction of the user and view modifies automatically the values of the respective model variables. The web-based model requirements are substantially different from those of the standard process simulators, which are primarily concerned with the enhancement of control and optimization. The basic characteristics that a web-based model (simulator) must have, in order to be usable online, are the following : • • • •
The model must cover the entire range of the system operation modes (start up, normal operation, faulty operation, shutdown). The model must cover the logical and discrete – event operational actions and procedures (e.g., on and off actions, etc.). The model must include the main equipment failures, to allow the user to perform the relevant special recovery experiments. The model must not require excessive computation efforts, and should avoid iterative computation as far as possible.
For extensive discussions of the above modeling issues the reader is referred to [90-92].
22
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
5 General Characteristics of Web-Based Remote Laboratories
5.1 General Requirements of Remote Labs We recall again that web-based remote labs are physical laboratories / experiments that can be accessed by the users via Internet. The WWW is actually the communication structure of the lab, and the Web browser is used as the user (student) interface. The basic general characteristics (requirements) of remote labs are the following [32-34] : • • • • •
• •
•
The controllers are implemented on a computer. The controller can be uploaded to the plant/experiment computer [93] or to the student (user) computer [94]. The remote user (student) should feel that he/she is actually performing a real experiment (video and audio streams are needed for this to be achieved). The server stores all the process data for identification and controller design and/or evaluation. Students can download the data at their computer for extra use and processing. The system is equipped with proper scheduling procedures to assure that only one student (or student team) receives access to the remote physical lab / experiment each time. The system is capable to analyze all commands given to the controlled plant/experiment so that any dangerous controller settings are recognized and restored. (It is remarked that plant instabilities may occur if the student is allowed to set the controller parameters without any attendance or limitation). The communication is of the synchronous type if the tele-operated plant / experiment is provided to a team of students (i.e., use of telephone, teleconferencing, chat, etc.). The system can optionally offer a collaborative environment to bring together students who are in different geographical places but are connected via Internet. A procedure should be available that enables a student to send information to other students about the interactions made in the shared environment. All students must have the same data / information of what is happening in real time. Details about collaborative environments can be found in [95,96]. The system must maintain a record of all communications between the student and the experiment, so that the evaluation of the student’s work can be done.
Teaching Control and Robotics Using the Web
23
5.2 General Architecture of Remote Labs In general, a Web-based remote lab contains an access management system (AMS), a collaboration server (CS), and the experimentation server (ES) as shown in Fig. 7 [82-84]. These components can be implemented using any proper combination of available technological tools (Matlab, LabView, VRML, JAVA, etc.). Here we will work on the basis that Java and Java applets are used throughout.
Fig. 7. General architecture of a web-based remote lab (experiment).
In the above architecture the client / server scheme is assumed, which is implemented in Java. The students can use any station equipped with a Web browser and a Java run time environment that eliminates the heterogeneity problem, and the students do not have any restriction in selecting their resources. In general, the students are not prepared to install specific software to perform their experiment. Thus, cross-platform client software is required, and any necessary additional software should be provided for free. The only interface between the student and the experiment is the local (student) web browser. The local browser loads the student software as Java applets from the server and starts them. Clearly, due to modularity any new features needed are easy to be added and implemented. The web server provides the web pages (HTML documents, VRML scene) and all the Java applets. The server hardware must incorporate a video card and a sound card for video and audio transmission. The real-time controller of the experiment is usually implemented on a different computer, in order to be able to use it in different experiments. The communication between the server and the data base is managed by the Java Data Base Connectivity (JDBC), which is an application programming interface (API) and allows cross DBMS connectivity to the SQL (Structure Query Language) data base. Here, the mSQL may be used which is freely available to Universities (Hughes Technologies, 1999). The communication between students and server via Internet can be performed using the TCP/IP pro-
24
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
tocol or better the TCP+UDP protocol. The student server messages must be encrypted before they are sent via Internet. The access management system (AMS) coordinates the accessibility of the students to the experiment. The lab administrator creates and deleted accounts, and defines time quotas for each experiment. In general, the procedure for a student to be allowed to access and perform an experiment is as follows : i)
ii)
iii)
The student requests a particular experiment, he/she downloads the instructions of this experiment and carries out all the preparatory work for modeling, analysis, and controller selection or design. The results of the preparatory work are sent to the instructor (Professor) in charge, who checks them and, if accepted, allows the student to get appointment for the experiment, and a certain time quota. Access to a list of time slots available for the experiment is granted to the student (with dates, etc.). The appointment should be made by the relevant access management system. The student interface to the access management system can be subdivided into : an administrator interface (which involves server dialog boxes for creating / deleting accounts, time quotas, etc.), and a student’s interface scheduler (which receives the information logged into the server by the student via the web browser and stores the booked appointment). At the booked time, the AMS allows the student to have exclusive access to the experiment until the time quota is reached.
During the experiment, all the input/output data of the experimental plant and the controller are stored on the server (in ASCII form). The student downloads this ASCII file for later off-line analysis, or he/she carries out the analysis on-line with the analyzer applet. This applet creates graphs from data and displays them in colored analysis sheets that can either be printed or stored for final evaluation of the experiment’s results. The students can apply and compare several controllers to evaluate them and record their relative advantages and disadvantages. In this way a fruitful competition among them is stimulated towards designing the best controller in the shortest time.
6. Some Examples In this section five examples are provided to support many of the concepts, tools, and methods considered in this chapter. The first two of them deal with internet delay (modeling, estimation, effect on teleoperation stability), and the next three examples present particular remote virtual / physical labs based on different software platforms.
25
Teaching Control and Robotics Using the Web
6.1 Example 1 : Internet Delay Estimation The ARX model : 1 An ( q −= ) y ( k ) Bm ( q −1 ) u ( k − nd ) + e ( k )
was applied in [81] both with simulated and real measured data. Two cases were considered : (a) each host sends UDP packets, and (b) each host sends both UDP and TCP packets. Here,
u ( k ) is the packet inter-departure time, and y ( k )
is the end-to-end packet delay variation. For the computations, input-output data of 100 packets were used. Table 1 shows the ARX parameters and their standard deviations found for UDP when
( n, m, nd ) = ( 6, 6,1) . The respective results for
(
UDP+TCP are shown in Table 2. Comparing the model output yˆ k
θ
are the parameters of the ARX model
θ ) , where
( n, m, nd ) = ( 20, 20,1) , it follows that
they almost coincide. The slight difference is due to that the end-to-end packet delay variation is distributed by some other unknown traffic not included in the model output
yˆ ( k ) .
Table 1 : ARX parameters and their standard deviations (UDP case).
a6
a5
a4
a3
a2
a1
0.231
0.053
0.136
0.282
0.248
0.261
coefficients
0.013
0.108
0.111
0.114
0.115
0.112
Std. Dev.
b6
b5
b4
b3
b2
b1
0.019
0.011
0.008
0.0007
0.021
0.004
coefficients
0.013
0.015
0.016
0.016
0.015
0.016
Std. Dev.
Table 2 : ARX parameters and their standard deviations (UDP+TCP case).
a6
a5
a4
a3
a2
a1
-0.11
-0.029
-0.052
0.018
0.129
0.107
coefficients
0.103
0.107
0.107
0.108
0.106
0.105
Std. Dev.
b6
b5
b4
b3
b2
b1
-0.03
0.028
-0.012
0.007
-0.026
0.008
coefficients
0.02
0.024
0.025
0.026
0.025
0.027
Std. Dev.
26
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
The model for the UDP+TCP case showed visibly better performance compared to the pure UDP case.
6.2 Example 2 : Effect of Time Delay on Teleoperation A set of simulations were carried out in [83] to study models of communication with and without delay in a simple teleoperation system represented with wave variables (Section 3.3). The teleoperation system considered consists of the master controller (a 1-d.o.f. joystick) and the slave robot (a 1-d.o.f. slider). Both the master and the slave subsystems were modeled using the Simmechanics blocks of Matlab / Simulink. The case with no delay corresponds to the situation in which the two subsystems are coupled perfectly. The delay case was firstly simulated without the wave variable technique for time delays of 0.1, 0.2 and 0.5 seconds. The results in this case show the effect of the delay in the stability of teleoperation. Finally, the system was simulated for the same time delay values using the wave variable technique to verify the improvement of the stability theoretically expected. It was really verified that without the wave variable technique the slave steady-state motion was oscillating without any damping. When the wave variable technique was introduced, the slave motion was dampened and converged to a point just above the set point value of 50 inches. Of course, although the wave variable technique has improved the stability performance of the teleoperation system, the speed of manipulation was shown to be decreased. It was also verified that an increase of the time delay resulted in an increase of the slave slider settling time.
6.3 Example 3 : The Wheel-Driven Robot Lab. of the University of Hagen The multi-user Java-based remote lab concept of the University of Hagen was firstly implemented on a mechanum wheeled vehicle. A brief discussion of how the students can use this remote lab follows [33,34]. This vehicle is ommidirectional and can provide any desired motion along x and y axes, and rotation φ about the z axis. The vehicle is equipped with electronic drives, and the input to the quadrature – axis servo controller is provided by resolver feedback. The vehicle has also available on-board a computer which provides several controller algorithms for fine-tuning and evaluation by the students during the experiment [33]. The student is connected to the server with a Web browser. The browser loads the experiment’s Web page which includes a Java applet to receive the live video and audiostream, and another applet to control the experiment. When the Web page
Teaching Control and Robotics Using the Web
27
loading is completed, the applet starts. After successful log-in (each student has a log-in name and password), the applet opens a TCP/IP connection to the access control module of the server. When the total time allocated to the student for the current experiment is exhausted, the server disconnects the student from the experiment. The communication between the student and the server is implemented in the form of telegrams via the open TCP/IP connection. During the experiment the student has access to the input-output data ASCII file for either on-line use or for downloading and subsequent analysis. The organization of the student / server communication structure is as shown in Fig. 8.
Fig. 8. Communication structure in the University of Hagen remote laboratory.
Other remote experiments of the University of Hagen open to the students are available in the respective site [34].
6.4 Example 4 : The Remote Control Lab (Recolab) The Recolab platform uses MATLAB / Simulink with some additional toolboxes, and has the general architecture shown in Fig. 9 [21]. The physical system under control is a d.c. 33-002 motor from Feedback with all its accessories. The video server (Sony EVI-D31/axis 2400) is based on Linux. The HTTP server is an Apache v.1.3.27 with PHP 4.3.2 module. The MATLAB R12 with Simulink V.4.1 is used, with MATLAB Web server V. 1.2.1, the RealTime Windows Target Toolbox V.2.1, the Workshop Toolbox V.4.1, and the Control System Toolbox 5.1. The software application involves the Web application (client-server based on HTTP/HTML protocol, user interface, user access control, and the main CGI application), and the Real-Time Control Execution. The non critical tasks, namely user interface, security access, and resource share were cod-
28
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
ed in PHP (v. 4.3.2). It is noted that PHP is a script language, and so it is not appropriate for real-time applications.
Fig. 9. General architecture of Recolab.
Every Simulink control scheme can be run in “simulation” or in “real-time (RT) over the physical system” using an acquisition board. The input data from the user are linked with the RT control Matlab program via the CGI application, which synchronizes the various modules and returns the output data to the user. To this end, the MATLAB Web Server Toolbox is employed. The Real-Time Control Application runs the specified real-time feedback control using Matlab, Simulink, Real Time Workshop, and Real Time Windows Target. Since there is not a direct way of communication between the MATLAB Web server and the MATLAB session running the real-time control task produced by the Real-Time Workshop and Real-Time Window Target toolboxes, a PHP-coded CGI starts the Matlab real-time task with the parameters requested by the student, and synchronizes its execution via a file-based semaphore mechanism. The purpose of the experiment is to perform several control actions in the local (student) site with the physical system (d.c. motor) in the remote site. The control experiments include the following : system identification, design of a PID position controller, and design of a PID velocity controller. Initially, the student runs a simulation of the designed controllers on his/her station, and sends the data of the designed controllers to the remote area for application to the physical system only if the simulation shows that they are correct.
Teaching Control and Robotics Using the Web
29
6.5 Example 5 : The Distributed Control Lab. (DCL) The Distributed Control Lab. (DCL) was developed at the Operating Systems and Middleware (OSM) Group of Hasso-Platner-Institute of the University of Potsdam [97,98]. It realized a remotely controlled test-bed for interconnected middleware-based components and embedded mobile systems, thus providing an open infrastructure carrying-out control and robotics experiments over the Internet, from a variety of client equipment. The management architecture of DCL involves user authentication, experiment management, result management, and queuing of jobs. Source code analysis is used for detecting malicious code. To overcome the problem of unpredictable number of user accessing an experiment or the entire framework, the approach of simulating the experiment code execution is followed, using grid technologies to compensate the resulting increased need for computing resources. The main components of the DCL architecture are depicted in Fig. 10 [97]. The principal components of DCL have been implemented on the Microsoft .NET platform. Behind the SOAP interface (where requests for experiment usage are abstracted as jobs that are executed serially), the main components of DCL realize their communication with .NET remoting mechanisms. The association of executed jobs with a physical user is done by the Ticket Server. All the other parts of DCL (Experiment Controller, Experiment Manager, Result Manager) use the tickets issued by the Ticket Server. The user sends to the Experiment Manager a valid ticket for the selected experiment and the code to be executed. If the requested experiment is available, the code is transferred to the respective Experiment Controller for compilation and installation on the physical experiment. After the completion of the experiment execution, the results are transferred to the Result Manager. The DCL framework was successfully used for performing several experiments. Three of them fully described in [97] are : The Foucault’s pendulum experiment, the Lego Mindstorm robot experiment, and the Higher Striker experiment. The first experiment consists of a pendulum with an iron ball swinging over an electromagnet, and the goal of the experiment is to switch on / off the magnet at the right time instants in order to keep the pendulum swinging. The user can be trained on the use of various controllers (e.g., for minimum energy consumption operation or for maximum acceleration within a given period, etc.). In the second experiment, the user can write C-type programs in order to carry out control studies within a predefined operation area.
30
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education Ticket Service Authenticate 1
4
Tickets
Check Ticket
Experiment Service
2 Ticket
User Interface
Code 1 View Result
Experimental Manager
S O A P
QUEUE
Result Manager
Store Results 5
Execute
Experiment
6
Experiment
Fig. 10. The DCL message flow architecture.
Finally, in the third experiment, the user can write control programs to accelerate an iron cylinder in a tube of glass, using six electromagnets placed along the tube. This experiment is a difficult real-time control experiment, because the physics (and mathematical equations) behind the movement of the cylinder are very complicated. The Higher Striker experiment is used to support the course on “embedded system development” at the Hasso – Plattner – Institute of the Potsdam University.
7 Concluding Remarks Currently, distance education in all of its modes (e-courses, e-classes, virtual labs, remote physical labs) is primarily implemented via the Internet / WWW. Although many Web-based virtual and physical telelabs are available for open use in the WWW, the majority of them represent “stand-alone” systems and platforms without any interoperability and reusability features. Therefore, a challenging area in the Web-based control and robotics education field is that of producing new software environments with maximum degrees of interoperability, reusability and sharing. The most popular general purpose software platforms for creating Web-based control and robotics course materials and remote labs are the Matlab (Math Works), the LabView (National Instruments) environments, and the C/C++ and Java languages.
Teaching Control and Robotics Using the Web
31
8 Appendix : Software Environments for Developing Web-based Educational Platforms For completeness and the convenience of the novice reader, this Appendix provides a minimum amount of information on the software environments and tools available for use in the design and running of Web-based control and robotics educational platforms. Prior to this, a short presentation of Web 2.0 which was recently introduced in the Internet field is made.
8.1 Web 2.0 The term Web 2.0 appeared for the first time in the “2004 Web 2.0 Conference” and refers to the new attitude in employing the WWW so as to stimulate and help improving the user creativity and information sharing, and, particularly, in strengthening the cooperation among developers and users. The concept of Web 2.0 does not include any upgrade of the technical features of the Web, but it rather guides to a new version of the WWW which changes the ways software developers and end-users employ the Web [99] (http://en.wikipedia.org/wiki/Web_2). According to the definition provided in [100] : “Web 2.0 is the business revolution in the computer industry caused by the move to the Internet as platform, and an attempt to understand the rules for success on that new platform”. The term and concept of Web 2.0 has been questioned by many scientists and has produced a strong debate among the Internet experts [101,102]. The use of Web 2.0 in elearning is discussed in [103], along with a discussion of the pedagogical theories that support the exploitation of Web 2.0 for creating personalized and collaborative learning environments via a socio – technical approach. The new skills that are enabled by Web 2.0 will unavoidably influence the capabilities offered by Web-based virtual and remote control and robotics labs.
8.2 Matlab The Matlab (Matrix laboratory) of the MathWorks Company (founded in 1984) is a numerical computation environment and computer language used widely all over the World in education of mathematics, science, and engineering. Matlab is constructed around the Matlab language (sometimes called M-code or simply M). Today, the tool called Matlab Builder is provided to deploy Matlab functions as library files which can be used with the .NET or Java application building environment. The computer to which the application has to be installed needs the Matlab Component Runtime (MCR) software tool, which is freely available with library files generated by the Matlab computer [104-106].
32
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
Educational material for computations in mathematics, physics, and engineering fields is provided in the sites of many Universities (e.g., Rice University, University of Michigan, University of New Hampshire, University of Berkeley, University of San Diego, etc.). In particular the Carnegie Mellon University offers control tutorials with Matlab, a Virtual Control Lab (VCLab) using Netscape plugins and Java applets with Matlab / Simulink to perform control experiments over the Web, and the Control Systems Tutorials where a collection of controller design tutorials in Matlab Notebook form is provided for free use. Other topics, for which plenty of tutorials, examples and exercises are provided, include : digital signal processing, image processing, fuzzy controls, vibration analysis, an robotics (see [107]). Detailed information and links to all of these University sites are given collectively in [108].
8.3 LabVIEW The LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) is a development environment for a visual programming language developed by NI (National Instruments). LabVIEW is typically used for data acquisition, instrument control, and industrial automation on a variety of platforms including Microsoft Windows, and several versions of UNIX, Linux, and MacOS [109]. The programming language used in LabVIEW is called G, and is a data flow programming language. The execution sequence of the LabVIEW graphical syntax is as well defined as with any textually coded language (C, Visual BASIC, etc.). LabVIEW embeds into the development cycle, the construction of user interfaces (called “front panels”). LabVIEW programs and subroutines are called virtual instruments (VIs), each one of which has three elements (block diagram, front panel, connector panel). The front panel exhibits controls and indicators that allow a user to input data into or extract data from a running VI. In addition, the front panel can also act as a programming interface. A benefit of LabVIEW over other development environments is the extensive support for accessing instrumentation hardware [110,111].
8.4 VRML VRML (Virtual Reality Markup Language) is a standard text file format for representing 3-dimensional (3D) interactive vector graphics, designed particularly for use in the WWW [112]. In VRML one can specify vertices and edges for a 3D polygon along with the surface color, UV mapped textures, brightness, transparency, and so on. URLs can be associated with graphical components. Thus, when the user clicks a particular graphical component, a Web page or a new VRML file can be brought by a Web browser from the Internet. The user can trigger via ex-
Teaching Control and Robotics Using the Web
33
ternal events (e.g., timers) animations, sounds, lighting, etc., or interact with them. The addition of a program code (written in Java or Java Script, etc.) to a VRML file can be done via a special Script Node. VRML, now reengineered as X3D, is extensively used in education and research, where an open specification is most preferred. VRML is also widely used as a file format for interchange of 3D models, particularly from CAD systems [113,114].
8.5 Java The Java programming language was released in 1995 by Sun Microsystems. Today, most of the Java technologies are offered as free and open source software according to the General Public License of GNU [115]. Java Standard Edition platform is licensed by Sun Microsystems for Linux, Solaris and Microsoft Windows. Java follows the object oriented programming approach, and is “platform independent”, i.e. programs written in the Java language can run on any supported hardware-operating system platform [116]. This is done by compiling the Java code to byte code (i.e. half way), which is then run or any Java virtual machine (JVM) regardless of computer architecture. JVM is a program written in native code on the host hardware which interprets and executes generic Java bytecode. The syntax of Java is basically derived from C and C++ but possesses a simpler object model and less low-level means. A Java program is executed by saving the code as a file and first compiled into bytecode via a Java compiler, the result being a “class” file. This class file is then launched. An applet of Java is a program which is embodied in other applications, usually in a Web page viewed on a Web browser [117]. An applet is placed in an HTML document. An Abstract Windowing Toolkit (AWT) component enable the applet to display a GUI and react to user events. Applets can be embedded using the applet tag or the object tag element [118]. The functionality of a Web server can be extended using the Java Servlet facility. Servlet provides responses (e.g., HTML pages) to requests (e.g., HTTP requests) from users. The Java platform is equipped with a Swing application, i.e. GUI library that creates respective windows. The software needed to run an application installed on the Java platform is the Java Runtime Environment (JRE). A JRE is usually run in software packages and Web browser plugins. Java offers libraries which are the compiled byte codes of source code developed by the JRE for supporting the development of Java applications. Java is available in three different platforms that accommodate different sets of APIs (Java Micro Edition (ME), Java Standard Edition (SE) and Java Enterprise Edition (EE)). Java ME is suitable for platforms with limited resources, Java SE is used in workstation environments, and Java EE is appropriate for large enterprise or the Internet environment. Sun offers rich tutorials for developers who want to use the Java programming language to create applications [119,120].
34
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
8.6 HTML and HTTP The Internet development started in 1989 at CERN as a result of the efforts to link textual information on several computers, created by different scientists. The result of this work is the concept of “hypertext” which allows information to be linked not in a linear hierarchical way but in a web-like structure. Information nodes can be linked to other nodes in multiple ways, allowing users to dynamically criss-cross the information web using pieces in the most convenient order. The outcome of the CERN project was the WWW front-end to the Internet. Later, the CERN product was pushed further at Illinois University developing the first Web browser : “Mosaic”. Now, we have available many other popular Web browsers, namely Netscape, Microsoft’s Internet Explore and Mozilla. A Web browser facilitates the access of information residing on another remote computer. The documents that are to be viewed by a browser are formatted using HTML (HyperText Markup Language). HTML is a markup language (not a programming language) used to construct the WWW.HTML uses a fixed set of markup tags (codes) embedded in the text, i.e. it can be thought of as a “presentation language”. But, to make pages interactive, programming code can be embedded in a HTML page (e.g., Java Script is typically interspread in Web (HTML) pages). To access a Web document, one must type-in the address (URL : Uniform Resource Locator) of the home page in his/her Web browser. Web browsers communicate with Web servers through the TCP/IP protocol. The browser sends to the server HTTP requests. The server replies with HTML pages and possibly with Java applets. HTTP (Hyper Text Transfer Protocol) is the standard application – level protocol employed for transporting files on the WWW.HTTP works in conjunction with the TCP/IP protocol. The basic operation of HTTP is to realize a connection with the Web server and return Web pages to the user’s browser. HTTP is also used to download server files to the user’s browser or to other applications that request these files via HTTP. The TCP connection between the server and the user is maintained during the files’ transfer. The connection is closed when the server completes the transfer of the requested file to the user.
8.7 PHP Hypertext Preprocessor PHP (Hypertext PreProcessor) has taken its original name from Personal Home Page (Rasmus Lerdorf) [121], and is a general-purpose scripting language appropriate for developing dynamic Web pages. On August 7, 2008 the PHP development has released the PHP 4.4.9 which is the last PHP 4.4 release [122]. PHP can run on a Web server with PHP code as input and Web pages as output. It is offered free of charge and can be installed on most web servers, platforms, and operating systems, (Mac OSX, Linux, Windows). It can work with many relational data base systems. If one wants to save considerable bandwidth, and develop
Teaching Control and Robotics Using the Web
35
locally, he/she can use a web server such as an Apache and install a data base such as MySQL. The PHP manual provides the proper installation instructions, and the PHP tutorial shows the basics of PHP [123]. PHP-enabled web pages can be created, edited, and handled in the same way as HTML pages.
8.8 CORBA CORBA (Common Object Request Broker Architecture) is an open vendorindependent architecture and infrastructure produced and offered by OMG [124]. Through the standard IIOP protocol, a CORBA-based program from any vendor (on almost any computer, operating system, programming language, and network) can interoperate with any other CORBA-based program. CORBA is a middleware suitable for servers that have to handle reliably large number of users at high hit rates. CORBA takes successful care of issues like load balancing, resource control, and fault tolerance on the server side. CORBA2 and CORBA3 represent complete releases of the entire CORBA specification [125].
References [1] G. Gallego, WBT : State – of – the art in Web-based training, . [2] M. M. Driscoll, Defining Internet and Web-based training, J. Performance and Instruction, Vol. 36, No.4, pp.5-9, 1997, . [3] D. Mioduser, R. Nachmias, U. Lahav, A. Oren, Web-based learning environments : Current pedalogical and technological state, J. Research on Computing in Education, Vol. 33, No.1, pp.55-76, 2000, . [4] D. Mioduser, R. Nachmias, A. Oren and O. Lahav, Web-based learning environments (WBLE) : Current State and emerging trends, Proc. World Conf. Educational Multimedia, Hypermedia and Telecommunications (EDMEDIA ’98), pp.753-758, 1998. [5] University of Idaho, Distance Education at a Glance (Guides 1 through 13), College of Engineering Outreach, Moscow, October 1995, . [6] G. J. C. Cpinga, M. H. G. Verhaegen, M.J.J.M. van de Ven, Toward a webbased study support environment for teaching automatic control, IEEE Control Syst. Magaz., Vol. 20, pp.8-19, Aug., 2000,.
36 [7]
[8]
[9]
[10] [11]
[12]
[13]
[14]
[15]
[16] [17]
[18] [19]
[20]
[21]
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
Drexel University, Laboratory development for robotics and automation education using Internet based technology, . M. Terbuc, S. Uran, A. Rojko, K. Jezernik, Web based education of robotics and mechatronics at the University of Maribor, Proc. CAITA 2004, Conf. on Advances in Internet Technologies and Applications, Purdue, U.S.A., July 811, 2004. M. S. Zywno, D. C. Kennedy, Integrating the Internet, multimedia components, and hands-on experimentation into problem-based control education, Proc. 30th ASEE/IEEE Frontiers in Education Conf., Kansas City, MO, USA, October, 2000. D. J. Hagreaves, Student learning and assessment are inextricably linked, Europ. J. of Engineering Education, Vol. 4, No.22, pp.401-410, 1997. Khamis, F. Rodriguez, M. Salichs, Multiact approach for building Webbased educational environments : Mobile robotics course as a case study, Proc. MED’03: 11th Medit. Conf. on Control and Automation, Rhodes, Greece, June 18-20, 2003. Masar, A. Bischoff, M. Gerke, Remote experimentation in distance education for control engineers, Proc. 5th Intl. Conf. on Virtual University, Bratislava, Slovakia, 16-17 Dec., 2004. S. E. Poindexter, B. S. Heck, Using the Web in your courses : What can you do? What should you do?, IEEE Control Syst. Magaz., Vol. 19, No.1, pp.83-92, 1999. S. G. Tzafestas, Teaching Control engineering over the Internet : A rapidly growing approach with future, In : S. Pennachio (ed.), Recent Advances in Control Systems, Robotics and Automation (3rd edition), Internationalsar.org, 2009. S. H. Yang, J. L. Alty, Development of a distributed simulator for control experiments through the Internet, Future Generation Computer Systems, Vol. 18, pp.595-611, 2002. C. Schmidt, The virtual lab VCLAB for education on the Web, Proc. ACC, Philadelphia, PA, pp.1314-1318, 1998. K. M. Lee, W. Daley, T. McKlin, An interactive learning tool for dynamic systems and control, Proc. Intl. Mech. Eng. Congress & Exposition, Anaheim, CA, pp.71-76, 1998, . G. Carnevali, G. Buttazo, A virtual laboratory environment for real time experiments, Proc. 5th IFAC Intl. Symp. on Intelligent Components and Instruments for Control Applications (SICICA ’03), Aveiro, Portugal, July 911, pp.39-44, 2003. P. Gai, L. Abeni, M. Giorgi, G. Buttazo, A new Kernel approach for modular real-time system development, Proc. 13th IEEE Euromicro Conf. on Real Time Systems, Delft, The Netherlands, 2001. R. Puerto, L. M. Limenez, O. Reinoso, C. Fernandez, R. Neco, Remote control laboratory using Matlab and Simulink : Application to a dc motor
Teaching Control and Robotics Using the Web
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
[30] [31]
[32]
[33]
[34]
[35]
37
model, Proc. Second IFAC Workshop on Internet Based Control Education (IBCE 2004), Grenoble, France, Sept. 5-7, 2004. S. Uran, D. Hercog, K. Jezernik, MATLAB Web server and Web-based control design learning, Proc. 3rd IEEE Annual Conf. on Industrial Electronics (IECON ‘2006), pp.5420-5425, 2006. B. Duan, K.-V. Ling, H. Mir, M. Hosseini, R. Kheng, Leng Gay, An online laboratory framework for control engineering courses, Int. J. Engineering Educ., Vol. 21, No.6, pp.1068-1075, 2005. M. Casini, D. Prattichizzo, A. Vicino, The Automatic Control Telelab : A Web-based technology for distance learning, IEEE Control Syst. Magaz., Vol. 24, No.3, pp.36-44, June 2004, . Q. Yu, B. Chen, H. H. Cheng, Web-based Control System Design and Analysis : Design, implementation, and salient features, IEEE Control Syst. Magaz. Vol. 24, No.3, pp.45-47, June 2004, . C. Martin, A. Urquia, S. Dormido, Implementation of interactive virtual laboratories for control education using Modelica, Proc. Europ. Control Conf. 2007 (ECC’07), Kos, Greece, pp.2679-2686, July, 2007. R. Safaric, M. Truntic, D. Hercog and G. Pacnic, Control and robotics remote laboratory for engineering education, iJOE : Intl. J. of Online Engineering, . Tanoto, U. Witkowski, U. Ruckert, Teleworkbench : A teleoperated platform for multi-robot experiments, Proc. AMiRE 2005, Fukui Univ., Japan, 21-22 Sept., 2005. C. S. Tzafestas, N. Palaiologou and M. Alifragis, Virtual and remote robotics laboratory, IEEE Trans on Education, Vol. 49, No.3, pp.360-369, 2006. M. Sedlak, K. Zakova, Remote experiments in Matlab, Proc. Europ. Control Conf. 2007 (ECC’07), Kos, Greece, pp.2707-2713, July, 2007. M. Chaabene, K. Mkaouar, M. Ouali, A Web-based interactive real laboratory for process engineering education, J. Computer Science, Vol. 3, No.7, pp.540-547, 2007. J. Schwarz, A. Polze, K. Wehner, L. Sha, Remote lab : A reliable telelaboratory environment, Proc. Intl. Conf. on Internet Computing (IC’2000), Las Vegas, NV, June 26-29, pp.55-61, 2000. H. Hoyer, A. Jochheim, C. Rohrig, A. Bischoff, A multiuser virtual-reality environment for a tele-operated laboratory, IEEE Trans. Education, Vol. 47, pp. 121-126, February 2004. Real Systems in Virtual Lab. Access to the remote web-based experiments of theFern Universitat in Hagen (Dept. of Electrical Engrg.), . K. Yeung and J. Huang, Development of a remote-access laboratory : A dc motor control experiment, Computers in Industry, Vol. 52, No.3, pp.305-311, 2003, .
38 [36]
[37]
[38]
[39] [40] [41] [42] [43]
[44]
[45]
[46]
[47] [48]
[49]
[50] [51]
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
J. Z. Zhang, A. K. Ball, M. Clare, W. Extine, Design of a real-time remote-access engineering laboratory using integrated Web service and wireless technology for distance learners, World Trans. Engrg. Technology Education, Vol. 4, No. 2, pp.231-234, 2005. N. J. Ploplys, P. A. Kawka, A. G. Alleyne, Closed-loop control over wireless networks, IEEE Control Syst. Magaz., Vol. 24, No.3, pp.58-71, 2004. H. Ye, G. Walsh, and L. Bushnell, Wireless local area networks in the manufacturing industry, Proc. 2000 American Control Conf., Chicago, IL, pp.236-2367, June 2000. Marton, Log MeIn in a corporate environment, White Paper 3am Labs., 2004, . Marton, Log MeIn security : An in-depth look, White Paper 3am Labs, 2004, . R. Goertz, R. Thompson, Electronically controlled manipulator, Nucleonics, 1954. T. B. Sheridan, Telerobotics, Automation and Human Supervisory Control, MIT Press, Cambridge, MA 1992. S. G. Tzafestas, C. S. Tzafestas, Virtual reality in telerobotics : An overview and two case studies, Proc. Electrosoft ’99 : The 4th Intl. Conf. on Software for Electrical Engineering Analysis and Design, Seville, Spain, May 17-19, 1999. T. Mirfakhrai, S. Payandeh, A delay prediction approach for teleoperation over the Internet, Proc. ICRA ’02, IEEE Intl. Conf. Robotics and Automaion, 2002. R. J. Anderson, M. W. Spong, Bilateral control of teleoperators with time delay, IEEE Trans. on Automatic Control, Vol. AC-34, No.5, pp.494501, May 1989. G. Niemeyer, J. Slotine, Towards force reflecting teleoperation over the Internet, Proc. Intl. Conf. Robotics and Automation (ICRA ’98), pp.19091915, Leuven, Belgium, 1998. K. Brady, T. J. Tarn, Internet-based remote teleopetation, Proc. IEEE Intl. Conf. Robotics and Automation, pp.65-70, 1998. S. Munir, W. J. Book, Internet-based teleoperation using wave variable with prediction, Proc. IEEE/ASME Trans on Mechatronics, Vol. 7, pp.124-133, 2002. W. H. Zhu, S. E. Salcudean, Stability guaranteed teleoperation : An adaptive motion / force control approach, IEEE Trans. Automatic Control, Vol. AC-45, No.11, pp.1951-1969, 2000. D. A. Lawrence, Stability and transparency in bilateral teleoperation, IEEE Trans. Robotics and Automation, Vol. 9, No.5, pp.625-637, 1993. Sano, H. Fujimwra, T. Tanaka, Gain scheduled compensation for time delay of bilateral teleoperation systems, Proc. IEEE Intl. Conf. on Robotics and Automation, Leuven, Belgium, pp.1916-1923, 1998.
Teaching Control and Robotics Using the Web
[52]
[53]
[54]
[55]
[56] [57] [58] [59] [60] [61]
[62] [63]
[64]
[65]
[66]
[67]
[68]
39
S. G. Tzafestas and P. A. Prokopiou, Compensation of teleoperator modeling uncertainties with sliding-mode controller, Robotics and ComputerIntegrated Manufacturing, Vol. 13, No.1, pp.9-20, 1997. P. A. Prokopiou, S. G. Tzafestas and W. S. Harwin, A Novel Scheme for Human-Friendly and Time Delays Robust Neuropredictive Teleoperation, J. Intelligent and Robotic Systems, Vol. 25, No.4, pp.311-340, 1999. P. A. Prokopiou, C. S. Tzafestas, E. S. Tzafestas, S. G. Tzafestas, Neural network robust-adaptive telemanipulator control : Comparison with sliding-mode control, Syst. Analysis Modell. Simul., Vol. 33, pp.259-294, 1998. K. Goldberg, M. Maschna, S. Gentner, N. Rothenberg, C. Sutter, J. Wiegley, Desktop teleoperation via the WWW, Proc. IEEE Intl. Conf. Robotics and Automation, pp.654-659, 1995. . . . G. T. Mc Kee, A virtual robotics laboratory for research, Proc. SPIE, Vol. 25:89, pp.162-171, 1995. B. G. Brooks, G. T. McKee, The visual acts model for automated camera placement during teleoperation, Proc. ICRA 2001, Korea, 2001. J.-Y. Mignolet, S. Vernalde and M. Engels, A low-power reconfigurable appliance camera, Revue Hf. Electronique Telecom., Vol. 4, No.4, pp.411, 2000. T. Kaga, S. Nojima, E. Nanma, M. Tamura, H. Nakagane, Internet camera system, Matsushita Technical J., Vol. 44, No.5, pp.66-73, 1998. D. Kimber, Q. Liu, J. Foote, L. Wilcox, Capturing and Presenting share multi-resolution video, Proc. SPIE ITCOM 2002, Vol. 48-62, pp.261271, Boston, July 2002. Q. Liu, D. Kimber, L. Wilcox, M. Cooper, J. Foote, J. Boreczky, Managing a camera system to serve different video requests, Proc. IEEE Intl. Conf. on Multimedia and Expo (ICME ‘2002), Lausanne, Switzerland, Vol. 2, pp.13-16, August 2002. D. Song, K. Y. Goldberg, ShareCam Part I : Interface, system architecture, and implementation of a collaboratively controlled robotic webcam, Proc. IEEE/RSJ Intl. Conf. on Intelligent Robots (IROS ’03), Nov. 2003, . D. Song, A. Pashkevich, K. Goldberg, Share Cam Part II : Approximate and distributed algorithms for a collaborative controlled robotic Webcam, Proc. IEEE/RSJ Intl. Conf. on Intelligent Robots (IROS ’03), Nov. 2003. D. Song, K. Y. Goldberg, Approximate algorithms for collaboratively controlled robotic camera, IEEE Trans. on Robotics, Vol. 23, No.5, pp.1061-2007, Oct. 2007. M. Perry, D. Agarwal, Remote control for video-conferencing, Proc. 2000 Information Resources Management Association Intl. Conf., Anchorage, AK, USA, 2000.
40 [69]
[70]
[71] [72] [73]
[74] [75] [76] [77]
[78]
[79]
[80] [81]
[82]
[83]
[84]
[85]
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
D. Schmidt, B. Maule, I. Roth, Performance teletests for industrial robots by Internet, Proc. 1st IFAC Conf. on Telematics Applications in Automation and Robotics (TA 2001), Weingraten, Germany, IFAC7, 2001. N. Chong, T. Kotoku, K. Ohba, K. Komoriya, N. Matsuhira, K. Tanie, Remote coordinated controls in multiple telerobot cooperation, Proc. IEEE Intl. Conf. on Robotics and Automation (ICRA ‘2000), Vol. 4, pp.3138-3143, April 2000. K. Kurose and K. Ross, Computer Networking, Addison-Wesley, Reading, MA, 2001. J. C. Bolot, Characterizing end-to-end packet delay and loss in the Internet, J. of High-Speed Networks, Vol. 2, pp.305-323, 1993. S. B. Moon, J. Kurose, P. Skelly, and D. Towsley, Correlation of packet delay and loss in the Internet, Technical Report, CS Dept., Univ. of Massachusetts, U.S.A., Jan. 1998. V. Paxson, End-to-end packet dynamics, Proc. of ACM SIGCOMM’97, pp.139-152, Sept. 1997. M. Allman and V. Paxson, On Estimating end-to-end path properties, Proc. of the ACM SIGCOMM ’99, Aug. 1999. Adams et.al., The use of end-to-end multicast measurements for characterizing internal network behavior, IEEE Communications, 2000. J. Huang, Neurocontrol and telerobotic systems with time delays, Ch.8 : in : F. L. Lewis, J. Campos, R. Selmic, Neuro-Fuzzy Control of Industrial Systems with Actuator Nonlinearities, SIAM Publ., Philadelphia, 2002. Y. Tipsuwan, M.-Y. Chow, Control methodologies in Networked Control Systems, Control Engineering Practice, Vol. 11, No.10, pp.1099-1111, 2003. H. Che and S.-Q. Li, Fast Algorithms for measurement-based traffic modeling, IEEE J. on Selected Areas in Communications, Vol. 16, June 1998. L. A. Kulkarni and S.-Q. Li, Measurement-based traffic modeling : Capturing Important Statistics, J. Stochastic Modeling, Vol. 14, No.5, 1998. E. Kamrani, H. R. Momeni, A. R. Sharafat, Modeling Internet delay dynamics for teleoperation, Proc. 2005 IEEE Conf. on Control Applications, Toronto, Canada, August 2005, pp.1528-1533. S. H. Low, F. Paganini, J. Wang, S. Adlakha, J. C. Doyle, Internet congestion control : An analytical perspective, IEEE Control Systems Magaz., February 2002. M. I. Can Dede, S. Tosunoglu, D. W. Repperger, Effects of time delay on force feedback teleoperation systems, Proc. 12th Medit. Conf. on Control and Automation (MED’04), Kusadasi, Aydin, Turkey, June, 2004. M. Yang, X. Rong Li, Predicting end-to-end delay of the Internet using time-series analysis, Univ. of New Orleans (Tech. Report), Lake front, Nov. 2003. G. E. Box, G. M. Jenkins, Time Series Analysis : Forecasting and Control, Holden-Day, San Francisco, 1976.
Teaching Control and Robotics Using the Web
[86]
41
H.-Y. Li and Y.-H. Ke, A novel network transmission architecture for Internet-based process control systems, Proc. IEEE-IECON’98, 31 Aug. – 4 Sept., pp.0-3-xxix, 1998. [87] R. Braden, Resource reservation protocol-Version 1 functional specification, IETF : RSVP Working Group, Draft-ietf-rsvp-spec-14, Nov. 1996. [88] S. G. Tzafestas, E. S. Tzafestas, Human-machine interaction in intelligent robotic systems : A unifying consideration with implementation examples, J. Intell. and Robotic Systems, Vol. 32, No.2, pp.119-141, 2001. [89] M. G. Helander, T. K. Landauer, P. V. Prabhu (eds.), Handbook of Human-Computer Interaction, North Holland, Amsterdam, 1997. [90] S. G. Tzafestas, Knowledge-Based System Diagnosis, Supervision and Control, Plenum Press, London, 1989. [91] S. G. Tzafestas (Guest Editor), Special Issue on Systems Modelling, Analysis and Design, Syst. Analysis Modell. Simul., Vol.38, No.2, 2000. [92] S. G. Tzafestas (ed.), Applied Control : Current Trends and Modern Methodologies, Marcel Dekker, New York, 1993. [93] Y. Piguet, D. Gillet, Java-based remote experimentation for control algorithms prototyping, Proc. 1999 American Control Conf., Vol. 2, pp.14651469, San Diego, CA, 1999. [94] J. W. Overstreet, A. Tzes, An Internet-based real-time control engineering laboratory, IEEE Control Syst. Magaz., Vol. 19, pp.19-34, 1999. [95] S. Shirmohammadi, J. C. Oliveira, N. Georganas, Applet-based telecollaboration : A network centric approach, IEEE Multimedia, Vol. 5, pp.6473, April-June, 1998. [96] J. C. Oliveira, S. Shirmohammadi, N. Georganas, Distributed virtual environment standards : A performance evaluation, Proc. 3rd IEEE/ACM Intl. Workshop on Distributed Interactive Simulation & Real Time Applications, pp.14-21, October, 1999. [97] Rasche, B. Rabe, P. Troeger, A. Polze, Distributed Control Lab, & . [98] Rasche, P. Troeger, M. Driska, A. Polze, Foucault’s pendulum in the distributed control lab., Proc. 9th IEEE Intl. Workshop on Object – Oriented Real-Time Dependable Systems, pp.289-296, 1-3 October, 2003. [99] T. O’Reilly, What is Web 2.0 (30 Sept. 2005), . [100] T. O’Reilly, Web 2.0 compact definition : Trying again (10 Dec. 2006), . [101] T. Berners-Lee, Developer Works Interviews (28 July 2006), . [102] D. Best, Web 2.0 : Next big thing or next big Internet bubble?, Lecture Web Information Systems, Eindhoven Tech. Univ., 2006.
42
S.G.Tzafestas (ed.):Web-Based Control and Robotics Education
[103]
M. Sigala, Integrating Web 2.0 in e-learning environments : A sociotechnical approach, Intl. J. Knowledge and Learning, Vol. 3, No.6, pp.628-648, 2007. Quarteroni, F. Saleri, Scientific Computing with Matlab and Octave, Springer, 2006. . . P. Corke, A robotics toolbox for Matlab, IEEE Robotics and Automation Magaz., Vol. 3, No.1, pp.24-32, March 1996, . . J. Travis, J. Kring, LabVIEW for Everyone : Graphical Programming Made Easy and Fun, Prentice Hall (3rd ed.), July, 2006. LabVIEW Pricing and Products, . LabVIEW Student Edition, . VRML Archives, . VRML and X3D Description, , . Extensible 3D : XML Meets VRML,. JAVA ONE : Sun – The bulk of Java is open sourced, . The Java Language Environment, . Java Applets, . Java Applet Tag, . Java Tutorials, . J. Gosling, B. Joy, G. Steele, G. Braha, The Java language specification ed.), Addison-Wesley, 2005, . PHP.Net History, . . . . .
[104] [105] [106] [107]
[108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118]
[119] [120]
[121] [122] [123] [124] [125]