`TJ
`217.7
`135
`2000
`
`IFAC
`International Federation of Automatic Control
`
`ALGORITHMS AND ARCHITECTURES
`FOR REAL-TIME CONTROL 2000
`
`A Proceedings volume from the 6th IFAC Workshop
`Palma de Mallorca, Spain, 15-17 May 2000
`
`Edited by
`V. HERNANDEZ and G.W. IRWIN
`
`Page 1 of 13
`
`Mercedes Exhibit 1006
`
`
`
`UK
`USA
`JAPAN
`
`Elsevier Science Ltd, The Boulevard, Langford Lane, Kidlington, Oxford, 0X5 1GB, UK
`Elsevier Science Inc., 660 White Plains Road, Tarrytown, New York 10591-5153, USA
`Elsevier Science Japan, Tsunashinm Building Annex, 3-20-12 Yushima, Bunkyo-ku, Tokyo 113, Japan
`
`Copyright © 2000 IFAC
`
`All Rights Reserved. No part of this publication may be reproduced, stored in a retrieval system or
`transmitted in any form or by any means: electronic, electrostatic, magnetic tape, mechanical,
`photocopying, recording or otherwise, without permission in writing from the copyright holders.
`
`First edition 2000
`
`Library of Congress Cataloging in Publication Data
`A catalogue record for this book is available from the Library of Congress
`
`British Library Cataloguing in Publication Data
`A catalogue record for this book is available from the British Library
`
`ISBN 0-08-043685 4
`
`These proceedings were reproduced from manuscripts supplied by the authors, therefore the reproduction
`is not completely uniform but neither the format nor the language have been changed in the interests of
`rapid publication. Whilst every effort is made by the publishers to see that no inaccurate or misleading
`data, opinion or statement appears in this publication, they wish to make it clear that the data and
`opinions appearing in the articles herein are the sole responsibility of the contributor concerned.
`Accordingly, the publisher, editors and their respective employers, officers and agents accept
`no
`responsibility or liability whatsoever for the consequences of any .such inaccurate or misleading data,
`opinion or statement.
`
`Printed in Great Britain
`
`Page 2 of 13
`
`
`
`IFAC WORKSHOP ON ALGORITHMS AND ARCHITECTURES
`FOR REAL-TIME CONTROL 2000
`
`Sponsored by
`. International Federation of Automatic Control (IFAC)
`Technical Committee on Algorithms and Architectures for Real-Time Control
`
`Organized by
`Departamento de Sistemas Informaticos y Computacion, Universidad Politecnica de Valencia.
`Departament de Ciencies Matematiques i Informatica, Universitat de les Hies Balears.
`
`EMS
`Lib.
`rj
`
`Socx>
`
`Workshop Chairman
`Hernandez, V. (SP)
`
`International Programme Committee (IPC)
`Irwin, G.W. (Chairman) (UK)
`
`Albertos, P. (SP)
`Alonso, A. (SP)
`Atherton, D.P. (UK)
`Bass, J. (UK)
`Bouliart, L, (B)
`Bulsari, A. (FIN)
`Carelli, R. (ARG)
`Crespo, A. (SP)
`Dodds, G. (UK)
`Fleming P. (UK)
`Garcia Nocetti, F. (MEX)
`Goodail, R.M. (UK)
`Halang, W. (D)
`Hernandez, V. (SP)
`Holding, D.J. (UK)
`lonescu, T.C. (ROM)
`Jones, D.I. (UK)
`Kopacek, P. (A)
`Kwon, W.H. (ROK)
`Lauwereins, R. (B)
`Lewis, F. (USA)
`Levy, D. (AUS)
`
`National Organizing Committee (NOC)
`Llamosi, A. (Chairman)
`
`Alonso, J.M.
`Alvarruiz, F.
`Arias, E.
`Blanquer, I.
`de Alfonso, C.
`
`Magnani, G. (I)
`Man, K. (HK)
`Marcos, M. (SP)
`Masten, M.K. (USA)
`Motus, L. (EST)
`Pashkevich, A.P. (BY)
`Pereira, C.E. (BR)
`Puente, J. (SP)
`Puigjaner, R. (SP)
`Ruano, A.E. (P)
`Sa da Costa, J. (P)
`Sanz, R. (SP)
`Shin, K.G. (USA)
`Skubich, J. (F)
`Solano, J. (MEX)
`Spong, M.W. (USA)
`Tokhi, O. (UK)
`Tornero, J. (SP)
`Tyrrell, A. (UK)
`Verbruggen, H.B. (NL)
`Zomaya, A.Y, (AUS)
`
`Guerrero, D.
`Roman, J.E.
`Ruiz, P.A.
`Vidal, A.M.
`
`Page 3 of 13
`
`
`
`PREFACE
`
`The 6"' IFAC Workshop on Algorithms and Architectures for Real-Time Control (AARTC’2000)
`was
`held at Palma de Mallorca, Spain. Previous workshops in this area have been held at Bangor-UK (1991),
`Seoul-Korea (1992), Ostend-Belgium (1995), Vilamoura-Portugal (1997) and Cancun-Mexico (1998).
`The objective, as in previous editions, was to show the state of the art and to present new developments
`and research results in software and hardware for real-time control, as well as to bring together
`researchers, developers and practitioners, both from the academic and the industrial world.
`
`The AARTC’2000 Technical Program consisted of 11 presented sessions, covering tlie major areas of
`software, hardware and applications for real-time control. In particular, sessions addressed robotics,
`embedded systems, modeling and control, fuzzy logic methods, industrial process control and
`manufacturing systems, neural networks, parallel and distributed processing, processor architectures for
`control, software design tools and methodologies, and SCADA and multi-layer control. A total of 38
`papers were selected from high-quality full draft papers and late breaking paper contributions (consisting
`of extended abstracts). Participants from 15 comitries attended the AARTC’2000 workshop.
`
`The technical program also included two plenary talks given by leading experts in the field. Roger
`Goodall (Department of Electronic & Electrical Engineering, Loughborough University, UK) presented
`“Perspectives on processing for real-time control”, and Ricardo Sanz (Universidad Politdcnica de Madrid,
`Spain), focused on “CORBA for Control Systems”. Another highlight in the program was the final
`session on industrial presentations which was held in common with the Workshop on Real-Time
`Programming (WRTP’2000). In this session, Abel Jimdnez (Industria de Turbo Propulsores S. A., Spain)
`presented the “Thrust Vectoring System Control Concept”, Ulrich Schmid (Technische Universitat Wien,
`Austria) made a presentation with the title “Applied Research: A Scientist's Perspective”, and Harold W.
`Lawson (Lawson Konsult AB, Sweden) addressed “Systems Engineering of a Successful Train Control
`System”.
`
`We are grateful to the members of the International Program Committee, who did a remarkable job in
`reviewing the papers submitted to the workshop within the e.stablished schedule. Special thanks also to
`tlie chairman of the Workshop on Real-Time Programming, Alfons Crespo, and the chairmen of the IPC
`of the same workshop, Wolfang Halang and Juan Antonio de la Puente, for the co-organization of the
`industrial session. We are also indebted to Juan Antonio de la Puente, for the development of the SW that
`made possible the organization of the workshop via Internet.
`
`Finally, thanks to the contributing autliors of the AARTC’2000 Workshop.
`
`Vicente Hernandez
`Workshop Chairman.
`
`George W. Irwin
`International Program Committee Chair
`
`Page 4 of 13
`
`
`
`CONTENTS
`
`PLENARY PAPER I
`
`Perspectives on Processing for Real-Time Control
`R. GOODALL
`
`ROBOTICS J
`
`Reference Architecture for Robot Teleoperation: Development Details and Practical Use
`B, ALVAREZ, A. IBORRA, A. ALONSO, J.A. de la PUENTE
`
`Industrial Robot Multirate Control witli the VxWorks Real-Time Operating System
`J, SALT, A. VALERA, A. CUENCA, A. IBANEZ
`
`Reducing Memory Access Time in the Real-Time Implementation of Signal Processing and Control Algoritlims
`U. KABIR, M.A. HOSSAIN, M.O. TOKHI
`
`Force and Position Control of Robotic Manipulators: An Experimental Approach
`L.F. BAPTISTA, J.M.G. Sa da COSTA
`
`EMBEDDED SYSTEMS
`
`DICOS; A Real-Time Distributed Industrial Control System for Embedded Application
`s
`J.C. CAMPELO, P. YUSTE, PJ. GIL, J.J, SERRANO
`
`Application-Level Time-Out Support for Real-Time Embedded Systems
`V. De FLORIO, G. DECONINCK, R. LAUWEREINS
`
`Towards Unified Compositional Design of Control Systems
`J. VAIN. M. KAARAMEES
`
`MODELLING AND CONTROL
`
`Robust and Efficient Software for Control Problems: The SLICOT Library
`I, BLANQUER, V, HERNANDEZ. A. VIDAL, E. ARIAS
`
`Interval Model Predictive Control
`J.M. BRAVO, C.G. VARET. E.F, CAMACHO
`
`Optimisation Algorithms for Inpul/Output Structure Selection of Large Multivariable Control Systems
`M. ZHANG, L.F. YEUNG
`
`FUZZY LOGIC METHODS
`
`Control of Power System Using Adaptive Fuzzy Controller
`0. CALVO
`
`Neural Network Optimisation Using Genetic Algorithm: A Hierarchical Fuzzy Method
`S.K. SHARMA, M.O. TOKHI
`
`Fuzzy Predictive Algorithms Applied to Force Control of Robotic Manipulators
`J.M. SOUSA, L.F. BAPTISTA, J.M.G. Sa da COSTA
`
`1
`
`11
`
`17
`
`23
`
`27
`
`33
`
`39
`
`45
`
`51
`
`57
`
`63
`
`69
`
`75
`
`81
`
`Page 5 of 13
`
`
`
`CORBA for Control Systems
`R. SANZ
`
`PLENARY PAPER n
`
`INDUSTRIAL PROCESS CONTROL AND MANUFACTURING SYSTEMS
`
`Real-1 ime Control of an Air Motor Incorporating a Pneumatic H-Bridge
`M.O. I’OKHI, M, AL-MISKIRY, M. BRISLAND
`
`Design of Distributed Manufacturing Systems Using UML and Petri Nets
`B, BORDBAR, L. GIACOMINl, D.,I. HOLDING
`
`NEURAL NETWORKS
`
`Probability Estimation Algorithms for Seif-Validating Sensors
`A.W, MORAN, P. O'REILLY, G.W. IRWIN
`
`A MLP Prediction Model for Power Plant NOx Emission
`S. THOMPSON, K. LI
`
`Identification of Aircraft Gas-lurbine Dynamics Using B-Splines Neural Networks
`J.C. LOPES, A.E. RUANO, P.J. FLEMING
`
`A Parallel Variable Memory BFGS Training Algorithm
`S. McLOONE
`
`ROBOTICS II
`
`High Performance Algorithm for Tracking Trajectories of Robot Manipulators
`J.C. FERNANDEZ, E. arias, V. HERNANDEZ, L. PENALVER
`
`Adaptive QoS Management System for Autonomous Vehicles
`H. HASSAN, A. CRESPO, J. SIMQ
`
`Communications Structure for Sensor Fusion in Distributed Real Time Systems
`J.L. POSADAS. P. PEREZ, J.E. SIMO, G. BENET, F. BLANES
`
`PARALLEL AND DISTRIBUTED PROCESSING
`
`Adaptive Generalized Predictive Control Algorithm Automatic Parallelization Using MAPS Environment
`H.A. DANIEL, A.E. RUANO
`
`Memory Management and Communication on Homogeneous and Heterogeneous Parallel Systems
`P. VENTURA, M. GRAQA RUANO, J. CARDOSO e CUNHA
`
`Towards the Simplified Computation of Time-Frequency Distributions for Signal Analysis
`F. GARCIA NOCETTI, J. SOLANO GONZALEZ, E. RUBIO ACOSTA. E. MORENO HERNANDEZ
`
`PROCESSOR ARCHITECTURES FOR CONTROL
`
`A Control System Processor Architecture for Complex LTI Controllers
`R. GOODALL, S. JONES, R. CUMPLIDO-PARRA, F. MITCHELL, S. BATEMAN
`
`Employing a Microcontroller Architecture for the Implementation of an Advanced PID Autotuner
`A. LEVA, R. MANENTI
`
`Interpreted Petri Net Approach for Design of Dedicated Reactive Systems
`M. ADAMSKI, M. WEGRZYN
`
`Vi
`
`87
`
`99
`
`105
`
`in
`
`117
`
`123
`
`129
`
`135
`
`143
`
`151
`
`157
`
`163
`
`169
`
`175
`
`181
`
`187
`
`Page 6 of 13
`
`
`
`SW DESIGN TOOL AND METHODOLOGIES
`Low Cost Implementation of Mathematical Functions Using Piecewise Interpolation
`LA. RODRIGUEZ MONDEJAR, F. de CUADRA GARCIa, 0. NIETO-TALADRIZ GARCIA
`
`MATLAB-Based Real-Time Framework for Distributed Control Systems
`M.M. MARCOS, J. PORTILLO, J.M. BASS
`
`An Object-Oriented Infrastructure for Distributed Process Control
`D.N. RAMOS-HERNANDEZ, P.J. FLEMING, S. BENNETT
`
`DLL's Simplify Process Tuning
`A. DOONAN, C. COX, R. MORRIS
`
`On Identifying and Evaluating Object Architectures for Real-Time Applications
`L.B, BECKER, C.E. PEREIRA, O.P. DIAS, I.M. TEIXEIRA, J.P. TEIXEIRA
`
`SCADA AND MULTI-LAYER CONTROL
`
`Supervised Real-Time Control with PLCS and SCADA in Ceramic Plant
`E. JIMENEZ, J.M. MIRURI, F.J. MARTINEZ de PIS6n, M. GIL
`
`Real-Time Video for Distributed Control Systems
`J.A, CLAVIJO, M.J. SEGARRA, R. SANZ, A. JIMENEZ, C. BAEZA, C. MORENO, R. VAZQUEZ,
`F.J. DIAZ, A, DIEZ
`
`INDUSTRIAL PRESENTATION
`
`Tlirust Vectoring System Control Concept
`A. JIMENEZ, D. ICAZA
`
`Author Index
`
`193
`
`199
`
`205
`
`211
`
`217
`
`223
`
`229
`
`235
`
`245
`
`Page 7 of 13
`
`
`
`1
`
`Copyright ® TFAC Algorithms and Architectures for
`Real-Time Control, Palma de Mallorca, Spain, 2000
`
`COMMUNICATIONS STRUCTURE FOR SENSOR FUSION IN DISTRIBUTED
`REAL TIME SYSTEMS
`
`J.L.Posadas, P.Perez, J.E.Simd, G.Benet, F.Blanes
`
`Departamento de Infonndtica de Sistemasy Computadores (D.I.S.C.A.)
`Universidad Politecnico de Valencia. Spain
`{jposadas.pperezjstmo.ghene!,pblanesj@disca.upv.es
`
`Abstract; This paper describes
`communication system called SC {Sistema de
`a
`Comunicaciones) that is suitable for real-time systems with distributed sensory architecture.
`This system has been implemented in the YAIR robot, an autonomous robot with intelligent
`sensors that produces different measurements about the environment and its position within
`it. To guarantee good response times, the sensory modules are connected using the CAN
`bus. The robots main controller executes a control algorithm that can be decomposed into
`smaller parts using a
`communications server. Thus, the execution can be shared between
`different processors connected through
`an Ethernet network. Copyright © 2000IFAC.
`Keywords: Mobile robots, Distributed
`instnimentation. Sensor fusion, Fieldbus.
`
`computer control systems. Intelligent
`
`using an application interface. The SC behaviour has
`been verified executing an application (a probabilistic
`data fusion algorithm) that uses the space/time tagged
`sensory infonnation broadcast from different modules
`to decide the optimal trajectory of the robot, and
`avoid obstacles found during its walk.
`
`The goals of the YAIR development are the
`following (fig. 1):
`
`1. INTRODUCTION
`YAIR' (Blanes, et al., 1998; Gil, 1997; Simo, ct al.,
`1997) is an autonomous robot that was built for the
`experimental study of reactive systems, sensor fusion
`and distributed computing. This paper describes
`a
`communication system suitable for hybrid systems.
`These systems have a reactive level based
`on
`computing and communication under real-time
`constraints. A deliberative level without real-time
`constraints also exists, but a good mean response time
`must still be guaranteed.
`
`The communications system presented includes two
`communication models: one model is vertical and
`based on the CAN bus - a fieldbus that enables real
`time features; the second model is hybrid-horizontal
`and supported by a distributed blackboard system
`(SC) (Posadas, et a!., 1997). The SC software enables
`the main robot controller (Windows NT based)
`to
`transparently through different
`communicate
`channels: CAN, ethemet, DDE, RS232, and so on.
`The coupling between these two models is possible
`
`YAiR .siands for Yet Anolhcr Iniclligciil Robot, and is cuircntly
`being developed under CICYT gram TAP98-0333-C03-02 fiom
`the Spanish Goveniincm
`
`L51
`
`HardKulTn
`'MMk
`mt
`
`|S<?3e
`
`I.Cltt
`
`;l'g)
`
`So(< KnlTit
`
`I.cvtl
`
`isccan/A sc
`
`s 1 Proceis
`
`PtOC€» jV.
`
`-St
`
`)
`
`Sj Prpccsi
`
`;<c“
`
`Mam Node. Delibenctvc Syiicm.
`
`Sens
`
`ActuaitKi
`
`Rc*ci(vc n
`U System ^J(
`]
`I'ig. 1; Communication System Stiuclure
`
`Development of intelligent, microprocessor-
`based, sensor and actuator modules. The sensors
`developed must supply the robot with diverse
`infonnation about the robot’s environment.
`Integration of the whole robot system using CAN
`as the main communication bus.
`
`□ G
`
`Page 8 of 13
`
`
`
`□ Development of a distributed objects structure
`over the bus CAN for sensory data access.
`□ Construction of a reactive system over the
`previous distributed objects architecture. This
`reactive system will allow the robot to avoid
`obstacles without high-level planning or local
`environment maps.
`Q Addition to the system of a deliberative level and
`sensor fusion level, by adding a Pentium
`processor that can access the distributed objects
`(sensor readings) by accessing the CAN bus,
`□ Provision of the neeessary software support so
`that any Windows application (local or remote)
`can access the communication system with all the
`necessary communications hidden (including
`CAN).
`□ Development of an application that uses the SC
`to accomplish several functions: sensor reading
`requests, sensor fusion and local map
`representation, objective specification (co
`ordinates to be reached by the robot), high-level
`task planning, and so on.
`
`In the following sections, the developed work and the
`results obtained together with the response times are
`described. Firstly, the global architecture of YAIR
`and its main sensors is described. Secondly, the CAN
`level of distributed objects (sensor readings) is
`presented. Thirdly, the implemented SC and its real
`time features are also described. Finally, the results of
`the tests carried out are presented, together with the
`conclusions.
`
`□
`
`□
`
`Motion controller and odomctry reckoning node.
`This module consists of three processors: a
`supervisor controller that handles the
`communications tasks as well as managing the
`other two processors in the node; and two
`HCTLIOOO motion controllers, one for each
`motor in the robot. These two motion controllers
`manage synchronously the motion of each robot
`wheel and compute the respective odometry.
`Finally, this node also includes a bumper ring to
`avoid direct collisions and generate emergency
`messages.
`Infrared node. Consists of a single processor that
`supervises the 16 IR detectors, delects objects
`and estimates, in a range from 10cm to Im, the
`distance from them and the robot. It can be
`operated by polling, or in autonomous scan
`mode. Also, it can generate emergency messages
`and distance messages.
`
`cf-’S
`Mow [ ]
`S!o«w<f;
`
`SOfW)
`coNisia
`MOOOlE
`
`WjyNCffljm
`KK1KIUC«M'
`
`MIWSO
`CONTftOl
`MOexiE
`
`(XKjTXXfC
`Socknt
`
`r
`ANAIOG
`\ CONTfta
`1 MOOUU
`HX
`/.%
`fftjmixa! i
`
`MOICN
`coNKia
`MODUli
`
`DcMM
`
`- CD®
`-C3®
`DC Motors
`
`II
`
`J BUS CAN
`AC more p/W)
`
`BMTEfiV
`swtus
`MDMIOn
`
`2. YAIR ROBOT ARCHITECTURE
`
`The backbone of YAIR is the CAN bus (Bosch,
`1991), a fieldbus initially developed for the
`automotive industry that is actually being used in
`numerous technological areas, specially in mobile
`robotics, due mainly to its reliability and versatility.
`Its medium access mechanism, its muliimaster
`capability, and the ability to detect transmission
`errors make it suitable for distributed real-time
`systems. Sensor modules and computing nodes use
`the bus to share the sensory information.
`
`In this work, YAIR has five sensory nodes, and a
`control node that manages the external
`communications and executes the main control
`application program (Fig. 2). Sensory nodes have
`reckoning capability, meaning that they pre-process
`the information and reduce the main processor load.
`This pre-processed data (sensations) is put on the bus,
`making it accessible to the remaining nodes, (i.e.: the
`speed vector computed by the motion controller can
`be used by the ultrasonic sonar module to point the
`sonar head towards the displacement direction).
`
`Figure 2 shows the global architecture of YAIR. The
`main nodes can be conci.scly described as follows:
`
`Fig. 2: YAIR architecture
`□
`
`Ultrasonic sonar node. This module also
`provides range information about environment
`objects, but it can reach up to 4 metres in
`distance. The sonar module can generate maps in
`two different ways:
`simple time-of-flight
`measurements, and deconvolution algorithms.
`This former approach requires co-operation with
`a DSP processor.
`Main control node. This is an embedded PC
`under Windows-NT, It has a digital colour
`camera, a floating point DSP board, a full CAN
`interface, and radio cthernel link that provides
`external IP communication. Currently, this
`module runs a control application whose main
`purpose is fusing sensor data to obtain an escape
`vector for collision avoidance (Braintenbcrg,
`1984)
`Auxiliary nodes. Some examples of this tyjje of
`module include: batteiy status monitoring, stereo
`audio microphones for sound tracking,
`temperature measurements, etc.
`
`□
`
`□
`
`152
`
`Page 9 of 13
`
`
`
`3. DISTRIBUTED CAN OBJECTS SYSTEM
`
`Communications between processes running in CAN
`nodes use shared memory. So. when a process needs
`to know data from a sensor, it only needs have to
`obtain the memoiy pointer where the information is
`Using this address, the process will gain access to
`data calling CAN interface functions.
`
`A.
`
`Dichonarv ^
`
`P2
`
`Ml
`M3
`I BusCowtoait
`
`M2
`M3'
`I B<aCONHoiuF|
`
`r-- T TN- •
`CAN(iM8n/si
`Fig. 3; Disti'ibuted CAN object system
`
`I he communication CAN system is structured using
`the following abstractions:
`□ Node; a node is a computer (physical entity)
`which can do two possible tasks. It
`can make
`numerical operations or control transducers
`(sensors) i.e.; central
`computer or motion
`controller. The system can have until 32 nodes.
`□ Handlers; logical entities that divide
`a node in
`different software units. Each handier
`executes a
`specific task that the node needs. For example,
`tasks could be controlling the infrared
`or
`communications. The system can have until 256
`handlers (NM).
`□ Communication objects (COB); communication
`objects are the shared variables.
`,
`_
`A shared
`variable is used in the system to obtain data fr
`om
`a sensor, or to set points in an actuator. For
`example, each one of the 200 radial
`measures
`that the ultrasonic sensor obtains
`can be a
`communication object. When a process needs to
`know data from
`sensor it needs only to gain
`a
`access to the shared variable or COB. Each
`handier can control
`up to 256 variables (NV). So,
`the system can have a maximum of NM*NV=2 '
`!6
`shared variables.
`□ Pointers to the
`variables {COBJD's):
`the
`pointers are the memory addresses of the shared
`variables or
`communication objects. A pointer
`has two different parts:
`• Handler; it is the process that shares
`memory block.
`* Offset; it is the index inside the
`memory
`block.
`□ COB_ID dictionary (fig, 3); a database that
`establishes a mapping between the COB_ID's
`and the CAN identifiers. Using the COB_ID
`(address of the variable) a process looks in the
`diciionaiy and obtains the
`associated CAN
`identifier. Using this identifier the
`. process will
`send a CAN
`message to read or write the
`
`a
`
`153
`
`I
`
`variable. Each node in the system holds its
`local copy of the dictionary.
`
`own
`
`The access to shared variables through handlers is
`implemented by a uniform interface. This interface
`implements three functions;
`
`XXX_Execute, to rcad/write a variable.
`□ XXX_Read, to read a variable.
`□ XXX_Request, to write a variable.
`
`Where XXX is the reference of the handler. These
`functions obtain, or send, the communication objects
`that are transmitted through the CAN bus.
`
`4. DISTRIBUTED BLACKBOARD SYSTEM (SC)
`
`High-level access to distidbuted data
`in WinNT
`processes has been provided by the development of..
`a
`system (SC) that hides communication details behind
`a uniform bind-notification interface (Fig. 4).
`
`The SC makes an internal representation of the data
`objects using a distributed blackboard architecture
`(Penny, 1989), The data stiucture that forms the
`blackboard is
`continually updated with the changing
`values of the objects through the SC established
`channels.
`
`The SC system requires
`a program instance to be
`executed
`in each
`computer belonging to the
`configuration,
`The
`programs instance will
`communicate with each other to control and update
`the distributed data. As a result, each computer has a
`partial eopy of the blackboard. It is important to
`emphasise that the processes, independently of their
`location, have only to execute local
`accesses to the
`corresponding SC program instance in order to
`contact all the system.
`
`Dtslribulcd CAN objoci system
`
`M00.1
`
`MOD.2
`
`MOD.
`
`r- CAN '
`
`SC;
`
`flllcl-
`llUld
`
`IYocc»
`
`(i)
`
`RADIO;
`
`CTHCRNRT
`
`•SC
`
`m*ck-
`
`sc:
`0
`
`iihzi
`
`sc
`
`illack-
`heUM]
`
`PfC^CU
`
`rroc«ii
`
`<2)
`
`I’ig. 4: Distrihuied blackboard structure.
`The SC
`system establishes
`,
`.
`the
`necessary
`communications to transmit the information between
`the computers and to ensure that the
`copies of the
`distributed blackboard
`are consistent.
`
`Page 10 of 13
`
`
`
`I,
`
`;i
`
`The system is event driven. In this way, it is possible
`to associate the execution of code with specific
`events (for instance an event could be a change on the
`blackboard), Thus, the processes, which are bound
`with SC objects, automatically receive the values they
`need from blackboard objects.
`I he YAIR robot is equipped with a Pentium
`processor which has a physical connection with the
`CAN bus (Figure 4, node 1). Processes that provide
`the robot a deliberative behaviour and
`a sensorial
`fusion level can be executed in every node of the IP
`network (Fig, 4),
`
`5.SC-CAN GATEWAY
`
`The distributed blackboard generated by the SC
`software is extensive to the data in the CAN network.
`Each computer node in the CAN network serves data
`to its running processes through the homogeneous SC
`software interface. The gateway software ISCCAN
`perfonns specific translations between CAN protocol
`and SC data.
`
`The ISCCAN gateway supports communication of
`the CAN raw data, as well as the mapped mode that
`consists of a bi-directional mirroring of CAN
`identifiers and objects in the distributed blackboard.
`The mapped mode allows processes running in every
`node in the IP network access to the CAN
`information through the SC software and the defined
`notification scheme.
`
`Two kind of problems arise in implementing the data
`chain linking low-level processes running in CAN
`nodes and high-level processes running in computer
`nodes;
`
`□ Data format conversions and serialisation
`coherence.
`□ Semantic guided data filtering.
`
`The ISCCAN gateway solves the data format
`conversion and serialisation
`using ASCII-Hex
`representation of CAN binary streams. SC distributes
`these streams for selective processing. Processes
`translate this information using a supplied object
`toolbox. The SC mapped mode allows the use of
`defined filtering by applying the SC general bind-
`notification scheme.
`
`The SC blackboard level is intended to provide
`communications for deliberative soft real-time
`processes. This kind of processes must manage
`communication overloads of 20ms introduced by the
`SC+ISCCAN system.
`
`data and control actions. The time properly attached
`to each SC blackboard object is in the fonn of a time
`firewall
`a register that accumulates all
`communication overloads. From this information,
`each process using data computes the W-tobscmiior.
`difference and uses it in data integration tasks.
`
`6. TESTING PROTOTYPE
`
`To validate the communication system, a module for
`reactive control based on a local map has been built.
`This module is called REC and is shown in Figure 5.
`It obtains sensory information and sends control
`actions to the robot using the defined communication
`structure (SC+ISCCAN).
`
`The REC test bed has been designed to stress the
`communication system in order to evaluate its
`performance. Reactive control actions for avoiding
`obstacles are computed from local map data that
`consist of a bundle of vectors. Each vector offers
`information regarding obstacle’s proximity, as well as
`time and probability properties used in data fusion.
`Periodically, the local map is transformed by
`translations and rotations based on dead-reckoning
`data. Local map information is also used to direct the
`ultrasonic sensor head by focussing data sampling
`on
`useftil information for the model. Figure 5 shows the
`graphical representation of the information in the
`model. On the left of the screen are some fusion
`indexes (i.e. probability used in the bayesian
`algorithm) and the central part shows the
`cument
`local map.
`
`f''','
`© i
`
`■i;-
`
`I
`
`Figure 5. Reactive control based on local map.
`
`During the test, the REC process was miming in a
`node outside the CAN network and communicated
`through a wireless IP network and the described
`SC+ISCCAN
`facilities. We obtained
`good
`communications performance running REC tasks
`with the following periodicity.
`
`Typically, deliberative processes are related to
`sensory integration, data fusion and map building. In
`this case, when temporal and spatial sensory fusion is
`essential, time properties must be attached to sensor
`
`□ Obtain odometric information: 100ms
`□ Send control action; 100ms
`□ Obtain ultrasonic information: .TOOms
`□ Obtain infrared information: 300ms
`
`154
`
`Page 11 of 13
`
`
`
`I
`
`These control periods are slow and force the robot to
`move slowly during the test.
`
`7. REAL TIME RESTRICTIONS.
`
`The YAIR architecture combines two domains
`differing in real-time restrictions. Soft real-time
`restricted processes, as before described, can run in
`every node connected to the IP network. Reasoning in
`time is allowed by the attachment of information
`about the communication overload.
`
`Hard real-time restrictions, defined by tlie real world
`interaction, are managed by a CAN network of local
`processors. Each processor runs specific algorithms
`using CAN distributed data. The use of shared
`resource, the CAN bus, is critical in the
`schcdulability of the set of tasks. Worst-case
`scenarios arc analysed in the following section.
`
`8. RESPONSE TIME ANALYSIS.
`
`This section describes the analysis of read/write
`temporary costs on sen-sorial distributed variables.
`This analysis enables us to study the system
`schcdulability.
`
`Distributed variable access time is split into the
`following factors:
`
`R<wc - Rcom,> + Rpc! +
`
`+ R
`
`resp
`
`(1)
`
`□ Tcomp*
`Computation lime, time from task
`activation until CAN controller queues messages.
`This depends on operating system and
`communication layers.
`□ Rpe, y Rresp- CAN latencies for request and
`response. These latencies depend mainly on the
`workload over each message identifier, and that
`means in CAN, over each priority,
`□ Tproc^ Processing time or local access time. This
`depends on the distributed variable type. Internal
`variables arc traditional distributed variables at
`robot nodes, for example, motion control type
`(PID control position or P control velocity),
`motivation coefficients in robot behaviours,
`(tracking or avoiding obstacles). On the other
`hand, external or sensor variables involve
`sensing, that is to say, digital signal processing.
`Reading variables means acquiring and
`processing signals; and writing variables means
`setting point actuators. Access time analysis of
`these variables depends mainly on the mapped
`sensor. Transducer nodes are one-task systems
`and their analysis consists in calculating
`processing time and workload peaks during the
`process.
`
`\55
`
`The first factor Tsc is the longest lime between task
`activation and the time the message can take part in
`arbitration. Since Tsc is included into CAN latency, it
`is not studied here.
`
`The analysis of the second factor is comparable to the
`schcdulability test by fixed priorities. (Tindell, et al.,
`1994). Timing analysis makes the following simple
`assumptions;
`
`□ Transmission periods T„, arc known and
`constant.
`□ Maximum jitters J,„ are also known.
`□ Message m has a bounded size (s,„ bytes).
`□ CAN controllers have prioritised communication
`queues.
`□ The length and identifiers of all messages arc
`known.
`
`The longest time from task activation until message
`m gains control of the bus R,„ can be calculated using
`the following extended schcdulability test equation,
`assuming that environment map variables (infrared or
`ultrasonic) are segmented in up to 37 CAN frames. In
`this case, the problem is equal to the worst-case
`response time of the last mansmiited frame of the
`message. The last transmitted frame of the message m
`is denoted by . Thus, we have the burst response
`time as;
`
`where,
`
`R.
`
`J + W ; + C ; < T
`n\f mf "
`
`w
`mf
`
`wh t -f ws t + wl
`</
`</
`
`mf
`
`(2)
`
`(3)
`
`wl ■ are latency increments of
`where, wli ■
`'/ m/
`higher, the same, and lower priority frames than the
`last frame of message m. These values can be
`calculated using the recursive method described in
`(Gil and Pont, 1996). Thus the following equation 4
`can be used.
`
`/r
`
`M'
`
`c,
`
`le
`
`(4)
`
`iVilp.n.)
`
`X X
`Vy6W(m)Vg6 F(J)
`X".
`
`/'ll
`m/
`
`x^.
`
`mil
`VhEF(m).htf
`
`.where:
`= number of frames of message m (depends on
`n m
`protocol),
`C,„f = physical transmission time of frame f.
`F(m), set of all frames coming from the message m.
`
`B
`
`■jslp(,m)-g€ FU)\b,
`
`(5)
`
`Page 12 of 13
`
`
`
`Ii
`
`a
`
`KI
`
`i
`
`e I
`
`t
`
`Table 1 Response time analysis (time units in ms~).
`' COB ID is the physical idemifier.
`^ and B^the maximum lencth and transmission times of these messages.
`
`J
`id
`0,0
`0,0
`6,0
`0,0
`2,0
`0,0
`0,0
`
`0,0
`
`Bid'
`0,548
`0,274
`0,135
`0,135
`0,135
`0,135
`0,274
`0,548
`
`W
`id
`0.959
`0.959
`0.959
`1,096
`1,233
`1,370
`1,781
`2,603
`
`R
`id
`1,096
`1,096
`7,096
`1,233
`3,370
`!,507
`1,918
`2,740
`
`communication based on the CAN bus has been
`presented. Also, the SC+ISCCAN combination solves
`the high-level data diffusion in the distributed
`blackboard system. Finally, timing analysis has been
`conducted showing real-time capabilities of both, low
`and high-level domains.
`
`11. REFERENCES
`
`Blancs, F., G. Benet, M. Martinez, J.Simo. (1998).
`Grid Map Building from Reduced Sonar Data.
`IFAC International Symposium on Intelligent
`Autonomous Vehicles. IAV’98. Madrid.
`Gil, J.A (1997). A CAN Architecture for an
`Intelligent Mobile Robot, 65-70. SICICA-97.
`Simo, J., A. Crespo, J.F. Blancs (1997). Behaviour
`Selection in the YAIR Architecture. Proceedings
`of IFAC Conference on Algorithms and
`Architectures for Real Time Control. Vilamoura,
`Portugal. AARTC’97.
`Posadas, J.L., J.Simo, F.BIanes (1997). Un modelo
`para el desarrollo de aplicaciones distribuidas.
`El Servidor de Comunicaciones. Jomadas
`espanolas de Automatica (JA’97). Ger