JAMRIS 2010 Vol 4 No 1

Page 1


JOURNAL of AUTOMATION, MOBILE ROBOTICS & INTELLIGENT SYSTEMS

Editor-in-Chief Janusz Kacprzyk

Executive Editor: Anna Ładan aladan@piap.pl

(Systems Research Institute, Polish Academy of Sciences; PIAP, Poland)

Associate Editors: Mariusz Andrzejczak (PIAP, Poland) Katarzyna Rzeplińska-Rykała (PIAP, Poland)

Co-Editors: Dimitar Filev (Research & Advanced Engineering, Ford Motor Company, USA)

Kaoru Hirota

Webmaster: Tomasz Kobyliński tkobylinski@piap.pl

(Interdisciplinary Graduate School of Science and Engineering, Tokyo Institute of Technology, Japan)

Witold Pedrycz

Proofreading: Urszula Wiączek

(ECERF, University of Alberta, Canada)

Roman Szewczyk (PIAP, Warsaw University of Technology, Poland)

Editorial Office: Industrial Research Institute for Automation and Measurements PIAP Al. Jerozolimskie 202, 02-486 Warsaw, POLAND Tel. +48-22-8740109, office@jamris.org

Copyright and reprint permissions Executive Editor

Editorial Board: Chairman: Janusz Kacprzyk (Polish Academy of Sciences; PIAP, Poland) Plamen Angelov (Lancaster University, UK) Zenn Bien (Korea Advanced Institute of Science and Technology, Korea) Adam Borkowski (Polish Academy of Sciences, Poland) Wolfgang Borutzky (Fachhochschule Bonn-Rhein-Sieg, Germany) Oscar Castillo (Tijuana Institute of Technology, Mexico) Chin Chen Chang (Feng Chia University, Taiwan) Jorge Manuel Miranda Dias (University of Coimbra, Portugal) Bogdan Gabryś (Bournemouth University, UK) Jan Jabłkowski (PIAP, Poland) Stanisław Kaczanowski (PIAP, Poland) Tadeusz Kaczorek (Warsaw University of Technology, Poland) Marian P. Kaźmierkowski (Warsaw University of Technology, Poland) Józef Korbicz (University of Zielona Góra, Poland) Krzysztof Kozłowski (Poznań University of Technology, Poland) Eckart Kramer (Fachhochschule Eberswalde, Germany) Andrew Kusiak (University of Iowa, USA) Mark Last (Ben–Gurion University of the Negev, Israel) Anthony Maciejewski (Colorado State University, USA) Krzysztof Malinowski (Warsaw University of Technology, Poland)

Andrzej Masłowski (PIAP, Poland) Tadeusz Missala (PIAP, Poland) Fazel Naghdy (University of Wollongong, Australia) Zbigniew Nahorski (Polish Academy of Science, Poland) Antoni Niederliński (Silesian University of Technology, Poland) Witold Pedrycz (University of Alberta, Canada) Duc Truong Pham (Cardiff University, UK) Lech Polkowski (Polish-Japanese Institute of Information Technology, Poland) Alain Pruski (University of Metz, France) Leszek Rutkowski (Częstochowa University of Technology, Poland) Klaus Schilling (Julius-Maximilians-University Würzburg, Germany) Ryszard Tadeusiewicz (AGH University of Science and Technology in Kraków, Poland)

Stanisław Tarasiewicz (University of Laval, Canada) Piotr Tatjewski (Warsaw University of Technology, Poland) Władysław Torbicz (Polish Academy of Sciences, Poland) Leszek Trybus (Rzeszów University of Technology, Poland) René Wamkeue (University of Québec, Canada) Janusz Zalewski (Florida Gulf Coast University, USA) Marek Zaremba (University of Québec, Canada) Teresa Zielińska (Warsaw University of Technology, Poland)

Publisher: Industrial Research Institute for Automation and Measurements PIAP

If in doubt about the proper edition of contributions, please contact the Executive Editor. Articles are reviewed, excluding advertisements and descriptions of products. The Editor does not take the responsibility for contents of advertisements, inserts etc. The Editor reserves the right to make relevant revisions, abbreviations and adjustments to the articles.

All rights reserved ©

1


JOURNAL of AUTOMATION, MOBILE ROBOTICS & INTELLIGENT SYSTEMS VOLUME 4, N° 1, 2010

CONTENTS SPECIAL ISSUE

94

Modeling, simulation and control of high speed nonlinear hydraulic servo system D. Maneetham, N. Afzulpurkar

3

Pointwise completeness and pointwise degeneracy of standard and positive linear systems with statefeedbacks T. Kaczorek

104

Adaptive control of autonomous underwater vehicle based on fuzzy neural network Z. Qin, J. Gu

8

A programmable inference controller meeting highest safety requirements P. Vogrin, W.A. Halang

DEPARTMENTS

20

Signature recognition with a hybrid approach combining modular neural networks and fuzzy logic for response integration M. Beltrán, P. Melin, L. Trujillo, M. Lopez

IN THE SPOTLIGHT 114

28

A simple and cost-effective method to construct reliable real-time programs P.F. Elzer, M. Gollub, S. Trenkel 43

Optimal design of membership functions of a fuzzy logic controller for an autonomous wheeled mobile robot using ant colony optimization P. Martínez, O. Castillo, A. Alanis, M. Garcia, J. Soria 49

Shifted up cosine function as unconventional model of probability distribution Z.L. Warsza, M.J. Korczynski 56

Control of two wheel mobile manipulator on a rough terrain using reaction torque observer feedback P.K.W. Abeygunawardhana, T. Murakami 68

Topological localization using appearance-based recognition E.L. Akers, A. Agah 85

The efficiency of the inference system knowledge strategy for induction motor linear speed control of an urban electric vehicle A. Nasri, A. Hazzab, I.K. Bousserhane, S. Hadjeri, P. Sicard

2

112

EVENTS


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

POINTWISE COMPLETENESS AND POINTWISE DEGENERACY OF STANDARD AND POSITIVE LINEAR SYSTEMS WITH STATE-FEEDBACKS Received 4th May 2009; accepted 9th September 2009.

Tadeusz Kaczorek

Abstract: The pointwise completeness and pointwise degeneracy of standard and positive linear discrete-time and continuous-time systems with state-feedbacks are addressed. It is shown that: 1) the pointwise completeness and pointwise degeneracy of continuous-time standard systems are invariant under the state and output feedbacks, 2) for standard and positive discrete-time and positive continuous-time systems necessary and sufficient conditions are established for the existence of gain matrices of statefeedbacks such that the closed-loop systems are pointwise complete. Considerations are illustrated by numerical examples.

The following notation will be used in the paper. The set of real n´m matrices will be denoted by Ân´m and with nonnegative entries by Â+n´m and Â+n = Â+n´1 . The set of nonnegative integers will be denoted by Z+ and the n´m identity matrix will be denoted by In.

2. Standard linear systems 2.1. Discrete-time systems Consider the discrete-time linear system xi+1 = Axi , i ÎZ+ = {0,1,2,..}

(2.1)

where xi ÎÂn is the state vector and A ÎÂn´m. Keywords: pointwise completeness, pointwise degeneracy, positive linear systems, state-feedbacks.

1. Introduction A dynamical system described by homogenous equation is called pointwise complete if every given final state of the system can by reached by suitable choice of its initial state. A system, which is not pointwise complete, is called pointwise degenerated. The pointwise completeness and pointwise degeneracy of linear continuous-time systems with delays have been investigated in [3], [9], [12], [15]. The pointwise completeness of linear discrete-time cone-systems with delays has been analyzed in [14]. In positive systems inputs, state variables and outputs take only non-negative values [4], [5]. The pointwise completeness and pointwise degeneracy of positive discrete-time linear systems with delays have been considered in [2]. Mathematical fundamentals of fractional calculus are given in the monographs [10], [11], [13]. The positive fractional linear systems have been introduced in [6], [7] and the pointwise completeness and pointwise degeneracy of fractional linear systems have been investigated in [1], [8]. In this paper the pointwise completeness and pointwise degeneracy of standard and positive linear systems with state-feedbacks will be addressed. The structure of the paper is the following. In section 2 the basic definitions and theorems concerning the pointwise completeness and pointwise degeneracy are recalled and necessary and sufficient conditions are established for the pointwise completeness and pointwise degeneracy of the closed-loop systems. The same problem for positive systems is analyzed in section 3. Concluding remarks are given in section 4.

Definition 1. The system (2.1) is called pointwise n complete at i=q if for every final state xf ÎÂ there exists an initial state xq = xf such that Theorem 1. The system (2.1) is point wise complete if and only if the matrix A is nonsingular i.e det A ¹ 0. Proof. The solution of equation (2.1) at i=q for xq = xf is given by xf =Aq x0 and x0 =A-q xf

(2.2)

if and only if det A ¹ 0. ¢ Definition 2. The system (2.1) is called pointwise degenerated in the direction v at i=q if there exists n a non-zero vector vÎÂ such that for all initial states n x0 ÎÂ the solution of (2.1) for i=q satisfies the conT dition v xq = 0 where T denotes the transpose. Theorem 2. The system (2.1) is pointwise degenerated in the direction v at i=q if and only if the matrix A is singular i.e. det A = 0. Proof. Note that det Aq =(det A)q and there exists T n a vector v ÎÂ such that v Aq = 0 if and only if det A = 0 T T and from xq =Aq x0 we have v xq = v Aq x0 for every x0 n ÎÂ ¢ Now let us consider the discrete-time linear system xi+1 = Axi +Bui, i ÎZ+

(2.3)

with the state-feedback ui= Kxi

(2.4) m

where ui ÎÂ is the input vector, B ÎÂn´m and K ÎÂm´n is a gain matrix. Substitution of (2.4) into (2.3) yields the closed-loop system Articles

3


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

xi+1 = Ac xi, i ÎZ+

(2.5)

N° 1

2010

but the condition (2.7) is satisfied

where A = A+BK

(2.6)

Theorem 3. Let the system (2.3) be pointwise degenerated in the direction v at i = q. Then there exists a gain matrix K such that the closed-loop system is point wise complete at i = q if and only if the condition rank [A,B] = n

In this case the closed-loop matrix

(2.7)

is satisfied. Proof Necessity. The closed-loop system is pointwise complete at i = q if and only if det Ac ¹ 0. From the equality A+BK = [A,B]

In K

(2.8)

is follows det Ac ¹ 0 implies the condition (2.7). Sufficiency. Let the nonsingular matrix Ac contain A all r (r = rank A) linearly independent rows of the matrix A. The equation

is nonsingular for k1 ¹ 0 and arbitrary k2 and k3. Therefore, the closed-loop system is pointwise complete for k1 ¹ 0 and arbitrary k2 and k3. 2.2. Continuous-time systems Consider the continuous-time linear system (2.13)

BK = Ac - A

(2.9)

has a solution K since the condition (2.7) implies rank B = rank [B, Ac - A]. ¢

(2.10)

Theorem 4. Let the system (2.3) be pointwise degenerated in the direction v at i = q. Then there exists a gain matrix K such that the closed-loop system is pointwise complete at i = q if the pair (A,B) of the system (2.3) is reachable. Proof. The system (2.3) is reachable if and only if rank [Iz - A,B] = n for all z ÎC (the field of complex numbers).

(2.11)

For z = 0 from (2.11) we obtain the condition (2.7). Therefore, if the pair (A,B) is reachable then there exists K such that the closed-loop system is pointwise complete at i = q. ¢ Example 1. Consider the system (2.3) with the matrices

n

where x(t) ÎÂ is the state vector and A ÎÂn´n. Definition 3. The system (2.13) is called pointwise n complete at t = tf if for every final state xf ÎÂ there exists an initial state x(0) = x0 such that x(tf) = xf . Definition 4. The system (2.13) is called pointwise degenerated in the direction v at t = tf if there exists n a non-zero vector v ÎÂ such that for all initial states n x0 ÎÂ the solution of (2.13) for t = tf satisfies the T condition v xf = 0. Theorem 5. The system (2.13) is pointwise complete at every t = tf and for any matrix A. Proof. The solution of equation (2.13) at t = tf for x(tf) = xf is given by xf = eAtf x0

(2.14)

and x0 = e-Atf xf

(2.15)

since det[eAtf]¹ 0 for any A and tf . ¢ Therefore, we have the following corollary. Corollary. The system (2.13) is not pointwise degenerated for any A and tf . Now let us consider the continuous-time linear system

(2.12) (2.16) It is easy to check that the pair (2.12) is not reachable since

with the state-feedback u(t) = Kx(t)

(2.17) m

where u(t) ÎÂ is the input vector, B ÎÂn´m and K ÎÂm´n is a gain matrix.

4

Articles


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Substitution of (2.17) into (2.16) yields the closedloop system (2.18) where Ac= A+BK

(2.19)

From Theorem 5 and corollary we have the following. Theorem 6. The pointwise completeness and the pointwise degeneracy of the continuous-time system (2.13) are invariant under the state-feedback (2.17). Remark. The point wise completeness and the pointwise degeneracy of the continuous-time system (2.13) are also invariant under the output-feedback u(t) = Fy(t) where C ÎÂm´p is a gain matrix, y(t) = Cx(t) is the output vector and C ÎÂp´n. In this case the closed-loop system matrix has the form Ac= A+BFC.

3. Positive linear systems 3.1. Discrete-time systems Consider the discrete-time linear system (2.3). Definition 5 [4], [5]. The system (2.3) is called positive if xi Î Â+n , i ÎZ+ for any initial state x0 Î Â+n and all input sequences ui Î Â+m , i ÎZ+. Theorem 7 [4], [5]. The system (2.3) is positive if and only if A Î Â+n´n , B Î Â+n´m.

(3.1)

Definition 6 [1]. The positive system (2.3) is called pointwise complete at i = q if for every final state xf Î Â+n there exists an initial state x0 Î Â+ such that xq = xf. A matrix A Î Â+n´n is called monomial if and only if every its row and every its column contains only one positive entry and the remaining entries are zero. Theorem 8. The positive system (2.1) is pointwise complete at i = q if and only if the matrix A is a monomial matrix. Proof. It is easy to check that the matrix Aq for q = 1,2,... is monomial if and only if the matrix A is monomial. It is well known [5] that A-q Î Â+n´n if and only if A is a monomial matrix. In this case from (2.2) we have x0 ÎÂ+n for every xf ÎÂ+n . ¢ Definition 7. The positive system (2.1) is called point wise degenerated at i = q if there exists at least one final state xf Î Â+n , which is not reachable in q steps from any initial state x0 Î Â+n i.e. the equality xq = xf is not satisfied for any x0 ÎÂ+n . Theorem 9. The positive system (2.1) is pointwise degenerated at i = q if and only if the matrix A is not a monomial matrix. Proof. The equation xq = xf = Aqx0 has a solution x0 Î n Â+ for a given xf Î Â+n if and only the matrix A is a monomial matrix. ¢ Now let us consider the positive system (2.3) with the state-feedback (2.4). The closed-loop system (2.5) is positive if and only if Ac= A+BK Î Â+n´n.

N° 1

2010

Let the positive system (2.1) be pointwise degenerated at i = q. We are looking for a gain matrix K Î Âm´n such that the closed-loop system (2.5) is positive and pointwise complete at i = q. A vector (column) is called monomial if only one its component is positive and the remaining components are zero. Theorem 10. Let the positive system (2.1) be pointwise degenerated at i = q. There exists a gain matrix K Î Âm´n such that the closed-loop system (2.5) is positive and pointwise complete at i = q if and only if the following conditions are satisfied rank [A,B] = 0

(3.2a)

there exists a monomial matrix Ac such that rank B = rank [B, Ac - A] .

(3.2b)

Proof. From (2.5) it follows that there exists a gain matrix K Î Âm´n such that Ac = A+BK Î Â+n´n is monomial matrix only if the matrix (3.2a) holds. By Kronecker-Cappely theorem the equation BK = Ac - A has a solution K if and only if the condition (3.2b) is satisfied for a monomial matrix AcÎ Â+n´n . ¢ Example 2. Consider the positive system (2.3) with the matrices

(3.3)

It is easy to check that the pair (3.3) satisfies the conditions (3.2). We are looking for a gain matrix K = [k1 k2 k3] such that the closed-loop system matrix

(3.4) is a monomial matrix. From (3.4) it follows that the closed-loop system matrix is a monomial one for k1 = -1, k2 = -2 and k3 > -3. Example 3. Consider the positive system (2.3) with the matrices

(3.5)

The pair (3.5) satisfied the condition (3.2a) since

Articles

5


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

but the pair does not satisfy the condition (3.2b). It is easy to see that does not exist a monomial matrix Ac Î Â+3´3 such that for (3.5) rank [B, Ac - A] = 1. In this case we have

N° 1

2010

Let the positive system (2.16) be pointwise degenerated at t = tf. We are looking for a gain matrix K Î Âm´n such that the closed-loop system matrix (2.19) is a diagonal matrix. Theorem 14. Let the positive system (2.16) be pointwise degenerated at t = tf. There exists a gain matrix K Î Âm´n such that the closed-loop system is positive and pointwise complete if and only if there exists a diagonal matrix such that the condition (3.8)

(3.6) From (3.6) it follows that does not exist a gain matrix K = [k1 k2 k3] such that the closed-loop system matrix is a monomial one. 3.2. Continuous-time systems Consider the continuous-time linear system (2.16). Definition 8. The system (2.16) is called positive if x(t) Î Â+n , t ³ 0 for any initial state x(0) = x0 Î Â+n and all input vectors u(t) Î Â+m , t ³ 0. A matrix A = [aij] Î Ân´n is called Metzler matrix if aij ³ 0 for i ¹ j, i,j = 1,...,n. Let Mn be the set of n´n real Metzler matrix. Theorem 11 [4], [5]. The system (2.16) is positive if and only if A Î Mn and B Î Â+n´m.

(3.8) we see that the matrix (3.8) is monomial if and only if A is diagonal. ¢ Definition 10 [2]. The positive system (2.13) is called pointwise degenerated at t = tf if there exists at least one final state xf Î Â+n which is not reachable at t = tf from any initial state x0 Î Â+n , i.e. the equality x(tf) = xf is not satisfied for any x0 Î Â+n . Theorem 13. The positive system (2.13) is pointwise degenerated at t = tf if and only if the matrix A is not diagonal. Proof. For a given xf Î Â+n there exists x0 Î Â+n satisfying (2.15) if and only if the matrix e-Atf is monomial and this holds if and only if the matrix A is diagonal. ¢ Now let us consider the continuous-time system (2.16) with the state-feedback (2.17). The closed-loop system is positive if and only if the closed-loop system matrix (2.19) is a Metzler matrix. Articles

(3.9) has a solution K for any diagonal matrix and B Î Â+n´n if and only if the condition (3.8) is satisfied. ¢ Note that in particular case the matrix can be chosen as the diagonal matrix with the same diagonal entries as in the matrix A. In this case all diagonal entries of are zero. Example 4. Consider the positive system (2.16) with the matrices

(3.10)

(3.7)

Definition 9 [2]. The positive system (2.13) is called pointwise complete at t = tf if for every final state xf Î Â+n there exists an initial state x0 Î Â+n such that x(tf) = xf . Theorem 12 [2]. The positive system (2.13) is pointwise complete at t = tf if and only if the matrix A is diagonal. Proof. From (2.15) it follows that for any xf Î Â+n there exists x0 Î Â+n if and only if e-Atf is monomial matrix. Taking into account that

6

is satisfied. Proof. By Kronecker-Cappely theorem the equation

We are looking for a gain matrix (3.11) such that the closed-loop system matrix (2.19) is diagonal. Let (3.12) The condition (3.8) for (3.10) and (3.12) takes the form

and it is satisfied for k1=0 and k4=2. In this case the equation (3.9) has the form

(3.13)

and its solution is


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

References (k1, k3 are arbitrary) (3.14)

[1]

for k2=0 and k4=2. It is easy to check that for [2]

the matrix K has the form [3]

which can be obtained from (3.14) for k1=-1 and k3=0.

4. Concluding remarks The pointwise completeness and pointwise degeneracy of standard and positive linear discrete-time and continuous-time systems with state-feedbacks have been addressed. It has been shown that: 1) The pointwise completeness and pointwise degeneracy of continuous-time standard systems are invariant under the state and output feedbacks (Theorem 6). 2) If the discrete-time linear system is pointwise degenerated then there exists a gain matrix of the state-feedback such that the closed-loop system is pointwise complete if and only if the condition (2.7) is satisfied. 3) If the positive discrete-time linear system is pointwise degenerated then there exists a gain matrix of the state-feedback such that the closed-loop system is positive and pointwise complete if and only if the conditions (3.2) are satisfied (Theorem 10). 4) If the positive continuous-time linear system is point wise degenerated then there exists a gain matrix of the state-feedback such that the closed-loop system is positive and pointwise complete if and only if the pair satisfies the condition of Theorem 14. The considerations have been illustrated by numerical examples. The considerations can be easily extended for: 1) linear discrete-time and continuous-time systems with delays 2) linear fractional systems without and with delays.

[4] [5] [6]

[7]

[8]

[9]

[10] [11] [12]

[13]

Extensions of these considerations for standard positive and fractional 2D linear systems are open problem.

[14]

ACKNOWLEDGMENTS

[15]

This work was supported by Ministry of Science and Higher Education in Poland under work No NN514 1939 33.

Busłowicz M., “Pointwise completeness and pointwise degeneracy of linear discrete-time systems of fractional order.”, Zesz. Nauk. Pol. Śląskiej, Automatyka, no. 151, 2008, pp. 19-24 (in Polish). Busłowicz M., Kociszewski R., Trzasko W., “Pointwise completeness and pointwise degeneracy of positive discrete-time systems with delays”, Zesz. Nauk. Pol. Śląskiej, Automatyka, no. 145, 2006, pp. 55-56 (in Polish). Choundhury A. K., “Necessary and sufficient conditions of pointwise completeness of linear time-invariant delay-differential systems”, Int. J. Control, vol. 16, no. 6, 1972, pp. 1083-1100. Farina L., Rinaldi S., Positive Linear Systems; Theory and Applications, J. Wiley: New York, 2000. Kaczorek T., Positive 1D and 2D Systems, SpringerVerlag, London, 2002. Kaczorek T., “Reachability and controllability to zero of positive fractional discrete-time systems, Machine Intelligence and Robotic Control, vol. 6, no. 4, 2008, pp. 139-143. Kaczorek T., “Fractional positive continuous-time linear systems and their reachability”, Int. J. Appl. Math. Comput. Sci., vol. 18, no. 2, 2008, pp 223-228. Kaczorek T., Busłowicz M., “Pointwise completeness and pointwise degeneracy of linear continuous-time fractional order systems”, Journal of Automation, Mobile Robotics & Intelligent Systems, vol. 3, no. 1, 2009, pp. 8-11. Olbrot A., “On degeneracy and related problems for linear constant time-lag systems”, Ricerche di Automatica, vol. 3, no. 3, 1972, pp. 203-220. Ostalczyk P., Epitome of the Fractional Calculus, Wydawnictwo Politechniki Łódzkiej: Łódź 2008 (in Polish). Podlubny I., Fractional Differential Equations, Academic Press: San Diego 1999. Popov V.M., “Pointwise degeneracy of linear timeinvariant delay-differential equations“, Journal of Diff. Equation, vol. 11, 1972, pp. 541-561. Sabatier J., Agrawal O.P., Machado J.A.T. (Eds), Advances in Fractional Calculus, Theoretical Developments and Applications in Physics and Engineering, Springer London 2007. Trzasko W., Busłowicz M., Kaczorek T., “Pointwise completeness of discrete-time cone-systems with delays”. In: Proc. EUROCON 2007, Warsaw, pp. 606-611. Weiss L., Controllability for various linear and nonlinear systems models. Lecture Notes in Mathematics, vol. 144, Seminar on Differential Equations and Dynamic System II, Springer: Berlin 1970, pp. 250-262.

AUTHOR Tadeusz Kaczorek - Białystok Technical University, Faculty of Electrical Engineering, Wiejska 45D, 15-351 Białystok. Fax +4822 874 0209. E-mail: kaczorek@isep.pw.edu.pl.

Articles

7


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

A PROGRAMMABLE INFERENCE CONTROLLER MEETING HIGHEST SAFETY REQUIREMENTS Peter Vogrin, Wolfgang A. Halang

Abstract: A programmable controller suited for automation applications of highest safety criticality is presented. Its features are input conditioning by low-resolution analogue-to-digital converters, inference by look-up in rule set tables, strictly periodic and jitter-free operation, high speed and simplicity of design. A fail-safe supervisor immediately initiates an emergency shut-down in case of a malfunction. The software in form of rule base tables can easily be verified by inspection. This device is used to implement control algorithms working with set-point preprocessors, which calculate internal set-point graphs of controlled variables in such a way that very high controller gains are attainable and, thus, stability is increased. The performance of these „SPP” controllers is closer to the „best physically possible”, and much more predictable than the one of conventional control structures. The otherwise conficting design objectives stability, safety, high speed, small energy consumption, or steady and harmonic temporal controller output values can nearly all be achieved. Keywords: safety methoded control, safety-licensing, programmable electronic system, set-pair preprocessor, rule-based control, fuzzy control.

1. Introduction Safety-related devices and control systems are employed in many application areas of vital importance. With regard to the following two main reasons, the performance of state-of-the-art controllers employed in safety-critical systems is often very unsatisfying: 1. Owing to the overwhelming complexity of hardware and especially software, the thus restricted possibilities for safety-licensing, and the corres-

Fig. 1. Functional diagram of the inference controller. 8

Articles

ponding guidelines of the licensing authorities, the design principles of control equipment have to be quite elementary. In particular, according to the List of Type Approved Programmable Electronic Systems [2], it is prohibited to use PID or other more complex control algorithms in safety-related applications. 2. Another detriment to present controllers is their inherent lack of two aspects of speed: (a) Owing to their mathematical models, control systems react slowly after modifications of their set-points, and after unforeseen events, such as disturbances, defects and alterations of parameters of the technical processes being controlled. (b) Loop execution time. In this paper, a novel programmable electronic system is introduced, which addresses safety issues by perfection. It is not suitable for any computing or industrial automation tasks, but for a large class of control tasks as typically found in applications having to meet the requirements of Safety Integrity Level 4 as defined in IEC 61508 [4]. The presented design fascinates by its simplicity as it does not involve any kind of sequential programs and arithmetic calculations. Nevertheless, the controller’s behaviour is easily programmable by just inserting other memory modules containing different tables. The programmable controller conditions its input domains by relatively coarse rasterising carried out in hardware, viz., by linear or non-linear low-resolution analogue-to-digital converters. This leads to an inference scheme which does not require any numerical or Boolean computations, but just look-ups in tables containing rule sets, and the name “inference” or “IF” controller.


Journal of Automation, Mobile Robotics & Intelligent Systems

Thus, the controller neither needs a general-purpose processor nor software in form of sequential computer programs, both of which would make the controller’s safety-licensing practically impossible considering the present state-of-the-art. Instead, software only takes the form of rules in tables, lending itself to rigorous verification by inspection [1]. By design, the IF controller consists of a rather small number of relatively simple and long established hardware modules whose correct operation is permanently supervised by an inherently fail-safe circuitry. Upon any irregularity, this supervisor immediately causes an emergency shut-down of the controller and the technical process. Thus, safety-licensing of the hardware can follow well understood and already proven procedures. Generally, IF controllers have two major benefits as compared to controllers with conventional structures. Even though IF controllers are relatively simple to be safety-licensable, they can, in principle, approximate any control algorithm with sufficient precision. The second great advantage of IF controllers is their extremely short loop execution time. Control systems often exhibit a big gap between real and desired performance, which has its reason in their mathematical models. Employing set-point pre-processors (SPP) as introduced in the second part of this paper promises a clear improvement of control performance in many application cases. A set-point pre-processor computes the internal set-point graphs of a controller in such a way, that its real behaviour is as close as possible to its desired behaviour. The effort to design such a controller is relatively small if the mathematical model of the technical process does not contain any considerable dead time or lag elements, as is the case for robots. The attainable speed and stability of SPP robot controllers are several times higher than for conventional controllers, even if the mathematical model of the technical process to be controlled could only approximately be taken into consideration in designing their set-point pre-processors. In a case study, an SPP robot control algorithm is designed as a fuzzy controller with rectangular input membership functions and implemented on an IF controller.

2. An Electronic System Programmed by Rule Sets As shown in Fig. 1, the inference (IF) controller is designed with a condition interface producing rasterised values of several input variables. These are then subjected to an inference engine co-operating with a rule base. The outputs from the inference engine are directly pro-

VOLUME 4,

N° 1

2010

vided to an action interface, which finally performs process actuation. As inputs several analogue signals are provided to the controller in form of control errors, i.e., differences between actual measured values and desired values. For reasons of algorithmic simplification in the controller, and to use proven hardware as widely as possible, these differences are determined in analogue form with operational amplifiers. The transfer behaviour of the IF controller can be described by the static relations between its input and output values. Thus, if the raster intervals of the inputs are small enough, it is possible to approximate any static control algorithm with this type of controller. Moreover, dynamic controllers can be composed by adding integrators and differentiators. The main component of the IF controller is the inference engine. It operates under a strictly periodic regime. In contrast to industrial programmable logic controllers each loop execution tkes exactly the same amount of time, because the same operations are carried out in every iteration. Thus, the controller’s real-time behaviour is fully deterministic and easily predictable. Every loop execution comprises three steps: 1. input data generation by analogue-to-digital conversion in the condition interface, 2. inference by determining appropriate control rules, and 3. control actuation via digital-to-analogue converters in the action interface. These steps as well as the overall operation cycle are strictly synchronised with a system clock. The control errors are fed into the condition interface. The domains of the input variables are subdivided into intervals and, thus, a (coarse) discretisation of the input data is obtained. As the input values are given in analogue form, the most simple and straightforward way to directly obtain the corresponding digital coding is to employ analogueto-digital converters. Thus, if the intervals are equally long, the condition interface reduces to a set of standard A/D converters, whose number equals the number of input variables. By discrete implementation of the A/D converters or by non-linear pre-amplification in the input stage, non-equidistant domain partitions can be realised, thus providing different precision in different ranges. Typically, higher precision is selected around reference points. The inference engine’s rule base consists of one table for each output variable to be determined. Logically, these tables might be interpreted as cause effect tables, i.e., each rule has, in principle, the form:

Fig. 2. Architecture of the inference controller. Articles

9


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

if {causei} then {effectj} The tables may also have the form as shown in Table 1: A value of an output variable is assigned to any conjunctive combination of the values corresponding input variables can assume. Such tables are most easily implemented as random access memories which, for safety reasons, should be readable only, i.e., as ROMs, PROMs, or EPROMs. Actually, Boolean conjunction of input variables is not performed. Instead, the binary codes of the input values are concatenated to form addresses of table entries, i.e., memory locations, containing digital equivalents of the desired actuations. Fig. 2 shows the IF controller’s architecture. An input latch is needed to prevent jitter on address lines. The state of inputs is sampled and latched to provide the address bits of an EPROM. The thus read out data represent the output value associated with the given inputs. Latches hold the output values until new ones are provided. A sequencer, implemented with a PAL and consisting of a clock generator and dividers (counters), controls the latching of inputs, the generation of outputs, and their latching in a sequential way. The EPROM read-outs are finally provided to the action interface. This design avoids any further transformations by directly storing the digital equivalents of the desired actuations in the rule base tables (EPROM). Hence, the action interface reduces to a standard digital-to-analogue converter for each output signal to be generated by the controller. In order to make the IF controller apt for utilisation in safety-critical or vital environments, it is endowed by a device supervising correct operation. In case of a malfunction this supervisor generates a signal which can be

Articles

2010

used to initiate an emergency shut-down of both the controller and the technical process. Owing to these requirements, the supervisor must be implemented in a fail-safe logic. To this end, a dynamisation principle is applied. As shown in Fig. 3, a detailed functional diagram of the IF controller, each functional unit provides a ready signal indicating successful operation. These signals are logically conjugated, by fail-safe And-gates, with the clock signals initiating the particular operations to form enable signals provided to the subsequent operation each. The last digital-to-analogue conversion performed in the action interface enables the first analogue-todigital conversion in the condition interface to realise cyclic control operation. All enable signals are also input to a fail-safe Or-gate whose output drives an RC element. The temporal behaviour of the voltage at the capacitor C is depicted in Fig. 4. Only when the enable signals continue to permanently re-load the capacitor via the Orgate and the resistor R, the voltage at C remains higher than a certain threshold. If the signals cease for any reason whatsoever, the capacitor discharges causing a relay to switch to emergency-off.

3. Software Safety-licensing The contents of the rule base tables is the only “software” contained in IF controllers. All other functions are implemented in hardware. Here software does not mean executable sequential programs fetched from writable memory as in the classical Von Neumann computer architecture. Instead, it is better described as a parameterisation with which a general-purpose device is configured to perform a specific function. Since coded rule bases should always reside in some kind of read-only memories,

Fig. 3. Fail-safe supervision of the inference controller’s operation. 10

N° 1


Journal of Automation, Mobile Robotics & Intelligent Systems

the software takes on the form of firmware. Rigorous software verification is, in general, still an unsolved problem due to the complexity of software. Moreover, object code, i.e., the only version of a program actually visible to and executed by a machine, must be considered for purposes of safety-licensing, since the transformation of a program’s representation from source to object code by a compiler or assembler may introduce errors into the object code. The architecture of the IF controller greatly facilitates the rigorous verification of the software contained under the constraint that object code needs to be examined. Owing to this software’s very limited complexity, it is feasible to employ the safetylicensing method of back translation. This method was developed by a licensing authority, viz., TÜV Rheinland, and consists of reading loaded object code out of a machine and having it inspected by human licensors [5]. If they work without mutual interaction, the process fulfills the requirements of diversity. Inspection is essentially informal, easily understandable, and immediately applicable with-out training. Its ease of understanding and use inherently fosters error-free application of the method. Since rule base tables are machine executable on one hand, but also constitute formal problem specifications on the other, there is, by design, no semantic gap, except coding, in the IF controller’s architecture between the levels relating to humans and to the machine. Inspecting object code thus means to verify an implementation and to validate a problem specification at the same time. The effort involved to verify rule base tables and their correct implementation is by orders of magnitude less than for licensing sequential software and is, therefore, also economically feasible.

Fig. 4. Dynamisation principle for fail-safe supervision.

4. Case Study and Experimental Results The following simple example shows the principle of constructing a rule-based controller. We consider control of a pointer’s angle of rotation without friction or any other damping to provide for the most difficult case to control. As the pointer moves on a vertical plane, the gravity needs to be accounted for, and usually a torque is needed to hold the pointer at the desired angle. Let the pointer’s mass be 1 kg and its length 1 m. Therefore, the rotation of the pointer is mathematically described by the following differential equation for the angle as a function of time: (1)

VOLUME 4,

N° 1

2010

with MC being the torque controlling the pointer, MD the torque disturbing it, and I the current leading to the torque MC. If the control deviation is larger than 2 rad and MD is not too big, the pointer moves to the desired rotation angle with an angular velocity between 10 and 15 rad s , and the controller works as speed controller. After the acceleration period, the pointer moves to the desired angle nearly without actuations. Therefore, if the control error is 2 rad, the angular velocity is between 10 and 15 rad s . It is easy to construct and to improve a rule-based controller for this narrow speed range. If the control deviation is smaller than 2 rad, the controller works as an angle of rotation controller. It is also possible to control the speed of the pointer dependent on the control deviation. This approach could reduce the regulating time. Higher speed, however, certainly leads to higher mechanical forces. These considerations lead to the structure of a rule-based controller as shown in Fig. 5. For the domains of the input variables non-equidistant partitionings with higher precision around zero as shown in Figs. 6 and 7 are selected. The number of words required in the EPROM corresponds to the product of the numbers of input intervals. In this example 63 words are needed. Table 1 shows a part of the rule base table, in which ID is the digital equivalent of the current leading to the torque MC. These values are stored in the EPROM. Experiments and measurements were carried out to compare the performance of such rule-based controllers and of best possible classical PID controllers. They revealed that, in addition to the ones already mentioned, rule-based controllers have many advantages: • The overshoot after a set-point jump is much smaller (less than 0.1 rad) independent of the set-point. • The output error is smaller than 0.1 rad in a much shorter time. • If the disturbing torque MD is not too large, it is possible to freely determine the maximum speed of the pointer. This case study also shows that it is possible to build a rule-based controller with an EPROM of a very small capacity, only. Nevertheless, its performance turns out to be much better than the performance of a conventional approach. Moreover, it is easily feasible to improve the performance of the rule-based controller. The range of permanent control errors can, for instance, be reduced by • providing more input intervals, especially for the control deviation x1, close to zero, or by • providing an additional controller input for the integral of the rotation angle’s control deviation.

5. Control with Set-point Pre-processors The purpose of endowing a controller with a set-point pre-processor (SPP) is to calculate the internal set-point graph in such a way that the maximum difference between the set-point graph and the real position is much smaller than the maximum control error of a conventional controller. Then, the temporal graph of this difference is steady and harmonic, higher controller gains are possible and, therefore, feedback control systems become more stable. Another great advantage of such SPP controllers is Articles

11


Journal of Automation, Mobile Robotics & Intelligent Systems

Fig. 5. Structure of a rule-based controller of a pointer’s rotation.

Fig. 6. Input intervals of the rotation angle’s control deviation (A0–2).

Fig. 7. Input intervals of the angular velocity (A3–6). Table 1. Section of a rule base table for one output variable.

Fig. 8. Principle of a common conventional control system.

Fig. 9. Principle of a controller working with a set-point pre-processor (SPP controller). 12

Articles

VOLUME 4,

N° 1

2010


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

the continuous temporal behaviour of their actuations. Moreover, compared with conventional controllers such as PD or PID, the influence of disturbances on control performance is very small. The only differences between the design principle of a conventional controller for a single loop feedback system as shown in Fig. 8 and the one of an SPP controller as depicted in Fig. 9 are that the SPP controller contains a set-point pre-processor and that its correction element gains are higher. The set-point pre-processor input yS(t) is the desired temporal graph of the controlled value. Its output is the internal set-point graph ySA(t). Using the difference ySA(t) - y(t) instead of the control error yS (t) - y(t) as static controller relation inputs leads to the great advantage that the behaviour of the controlled system is much more predictable as the one of a conventional controller. Moreover, the real performance of a properly designed SPP controller is usually much closer to the “best physically possible” controller behaviour. Thus, in controller design priorities and objec-tives are almost freely selectable. As displayed in Fig. 10, we consider the elementary example of controlling the position of a sleigh on a horizontal line. We shall only show the basic design principle of controllers working with set-point pre-processors. Design and behaviour of a conventional PD controller (PD1) is compared with the ones of two PD controllers working with set-point pre-processors (SPP2 and SPP3). The mathematical model of the control system is characterised by the following differential equation:

Fig. 10. Sleigh on a horizontal line. 2

FC(t)+ FD(t)= m ×

d s(t) = m×a(t) dt2

(2)

The total force FC + FD and the speed of the sleigh v have to be zero in the stationary state. Discrete degrees of freedom of robots often have similar properties. The control problem is to guide the sleigh’s position s by adjusting the force FC. The controlled system has an integrative behaviour. Thus, the performance of the best PD controller is better than the performance of the best PID controller, if the disturbing force FD is zero. Design of the Conventional PD Controller PD1. In this example, the force controlling the sleigh FC(t) is limited between -25N and 25N. It was tried to design controllers with the best performance assuming that the maximum amount of the set-point jump is 100m. Moreover, the control errors due to disturbing forces FD(t) should be as small as possible. The control deviation sS(t) - s(t) of the conventional PD controller PD1 may be very large. The force FC(t) is about (sS(t) - s(t)) multiplied by the proportional amplification P. Thus, P has to be rather small, otherwise the controlled system will be unstable. The chosen mathematical algorithm of the correction element is described by the following equation: FD(t) = P × (sS(t) - s(t)) + PD × v(t) -1 -1 = 3.5Nm × (sS(t) - s(t)) - 3Nsm × v(t)

(3)

N° 1

2010

These assumptions lead to some great disadvantages, viz., inherent tardiness after a set-point jump and after a sudden change of FD(t). Another detriment is the large permanent control error if a permanent force disturbs the sleigh. Construction of the SPP Controllers SPP2 and SPP3. As described above, controller design objectives are nearly freely selectable. In this example, we consider the desired temporal graph of the force controlling the sleigh FA(t). The task of the set-point pre-processor is, therefore, to compute the internal set-point graph sSA(t) by assuming the desired temporal graphs sS(t) and FA(t), whereas sS is the set-point of the controlled value. There is a static relationship between the position of the sleigh s(t) and the force accelerating it. So, lag or dead time elements are not contained in the mathematical model of the controlled system. We do not consider occasionally occurring disturbing forces (FD = 0). The sleigh mass is m =1kg. These considerations lead to a simple equation of the setpoint pre-processor’s calculator: sSA(t1)=sSA(t0)+

1 × m

t1 t0

t t0

FA(t)× dtdt

(4)

Set-point pre-processor of the SPP controller SPP2: The set-point pre-processor calculates the fastest internal set-point graph physically possible by considering that the controlling force is within the controller’s actuation range (-25N £ FC(t) £ 25N). Therefore, FA(t) is either the maximum or the minimum of the controlling force FC(t) or zero. This property has the great disadvantage that the controller has small force reserves if the real technical process is different from the one considered in the design of the controller, e.g., due to disturbances or aging processes. An example of an internal set-point graph sSA(t) is shown in Fig. 11. Set-point pre-processor of the SPP controller SPP3: The design principles of the SPP controllers SPP2 and SPP3 resemble each other. The only difference is that FA(t) is limited between -6.25 N and 6.25 N. Thus, the theoretical reserve force of the SPP controller SPP3 is 25 N - 6.25 N = 18.75 N. On the other hand, as displayed in Fig. 11, the time after which the internal set-point graph sSA(t) reaches the set-point sS(t) is twice as long. Correction element of the SPP controllers: Generally, the design principle of controllers working with set-point pre-processors is to distinguish between the desired temporal graph of the controlled value (in this example, sS(t)) and its internal set-point graph (sSA(t)). The mathematical algorithm of a set-point pre-processor is designed in such a way that the difference between the internal set-point graph sSA(t) and the actual controlled value s(t) is rather small. Due to this property, it is both possible and essential that the amplifications of the controller are high. Owing to the small difference sSA(t)s(t), it is possible to design a controller with high amplification, even though its actuations are limited. The controller’s amplification also has to be large in order to decrease this difference. The temporal graph sSA(t)-s(t) and, thus, the performance of the controller primarily depends on the controller’s proportional amplification PP. Therefore, SPP controllers should be designed according to the following procedure: Articles

13


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

1. Design of the set-point pre-processor: The controlled values should be able to follow the internal set-point graphs even if the controlled technical process is disturbed by any anticipated fault. 2. Coarse determination of the controller’s proportional amplification PP: Afterwards, its differential and integral amplifications PD and PI are set. Meaningful values of PP, PD and PI mutually affect each other. These considerations lead to the following actuation function of the SPP controllers: FD(t) = PP × (sSA(t) - s(t)) + PD × v(t) -1 -1 = 250 Nm × (sS (t) - s(t)) - 26 Nsm × v(t) -1

(5)

Their proportional amplification PP is 250 Nm instead -1 of P =3.5 Nm by the conventional PD controller PD1.

Fig. 12. Control errors after a set-point jump from zero to s = 1 m.

Fig. 13. Controlling force FC(t) after a set-point jump from zero to s = 1 m. Articles

2010

Performance of the controllers: As shown in Figs. 11 and 12, at the moment t1 (in this example, t1 = 0) a setpoint jump immediately leads to a sudden change of the conventional controller’s control error. At the time t1 the control deviation jump sS(t1) - s(t1) corresponds to the amount of the set-point jump-with regard to the stability of the controlled system, the amplification of the controller has to be small, particularly if the maximum amount of the set-point jump is high. Therefore, conventional controllers are usually slow and not very stable. The aperiodic border case is assumed in the design of the conventional PD controller PD1. Thus, the sleigh reaches its desired values sS(t) without overshoots if it is not greatly disturbed. However, only small enlargements of the controller’s amplifications result in big overshoots, and still, the time after which the set-point is reached for the first time is much longer than the one for an SPP controller which exhibits a minute overshoot, at most. In contrast to the control deviation of a conventional

Fig. 11. Correction element inputs leading to a set-point jump from s(t) = 0 to 1 m.

14

N° 1


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

Table 2. Comparison of the performance of the PD controller PD1, the behaviour of the SPP controller SPP2, and the performance of the SPP controller SPP3 after a set-point jump from zero to sS =1 m or to sS = 100 m, respectively. The amount of the first overshoot is sB, tD is the time after which the output error is smaller than 0.1 m (tE:½D s½< 0.01 m; tF:½D s½< 0.001 m).

Fig. 14. Controlled value s(t) after a set-point jump from zero to s =1 m. controller, the SPP controller’s temporal graph of its difference sSA(t) - s(t) is continuous. Therefore, the actuations FC(t) of an SPP controller are very continuous. In this example, the actuation graph FC(t) roughly has the shape of one sine wave. The positive force half-wave speeds up the sleigh towards the set-point. Afterwards, the negative force half-wave decreases the sleigh’s speed and guides it to the desired position. The temporal graph of the controlling force FC(t) and, therefore, its maximum and minimum amounts can be well determined. Due to these properties, the maximum amount of FC(t) and the reaction speed of SPP controllers can be much larger than the ones of conventional controllers as depicted in Figs. 13 and 14 and Table 2. Nevertheless, the sleigh reaches its desired position without overshoots.

6. Case Study: Robot Control We consider position control of a robot with two degrees of freedom. The robot arm rotates on a horizontal plane around a pivot with the angular velocity w. The distance r between the burden and the pivot of the robot is changeable with the velocity v. Thereby, the axis of the translation movement runs through the pivot. The task is to control the position of the burden with the mass mL, which is located at the end of the robot arm, by adjusting the force FC and the torque MC. Design of a Conventional Robot Controller Cv - RC. The principle of non-linear decoupling of systems as presented in [3] is used as design principle for this controller. Its controlling force FC(t) and its controlling torque MC(t) are not limited. It was tried to find the parameters

of the fastest controller that leads to the assumption of the desired values without considerable overshoots by considering that mL = 20 kg. Thus, the conventional controller Cv - RC is described by the following equations for the distance r and the angle of rotation j as functions of time: -1 -1 FC(t) = 70Nm × (rS(t) - r(t)) - 119Nsm × v(t) -1 2 2 2 (6) {70Nm s × r(t) - 25Ns } × w (t) 2 2 MC(t) = {17.67kgm - 50kgm × r(t) + 70kg × r (t)}× -2 -1 {1s (jS(t) - j(t)) - 1.75s w(t)} + (7) {140kg × r(t) - 50kgm}× v(t) × w(t)

Design of an SPP Robot Controller SPP-RC. The conventional controller Cv-RC and the SPP controller SPPRC compensate for the centrifugal force and the Coriolis torque of the robot. Thus, the translation dynamics controller only affects the dynamics of the robot arm translation, and the dynamics of the robot rotation is only influenced by the rotation dynamics controller. As shown in Fig. 15, apart from the facts that the dynamics controllers work with a set-point pre-processor, and that the control algorithm is approximated by an IF controller, SPPRC has the same design as Cv-RC. The set-point preprocessor of SPP-RC calculates the internal set-point graphs of the controlled values rSA(t) and jSA(t) by assuming that the necessary actuations controlling the robot are within the ranges of possible actuations of the control system. Thus, the position of the burden r(t) and j(t) is, in principle, able to follow the internal set-point graphs.

Articles

15


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

With this example, we shall show that SPP controllers exhibit excellent performance under any type of stress, even if the technical process to be controlled is insufficiently understood when constructing the set-point preprocessor. Thereby, the following simplifications are made: The non-linearities of the mathematical process model, the disturbing force FD(t) and the disturbing torque MD(t), and the influences of the controllers’ differential parts on the actuations are all not considered. Thus, rSA(t) and jSA(t) have similar shapes as sSA(t) depicted in Fig. 11. An example of rSA(t) is shown in Fig. 16. As described above, the real position of the burden is very close to rSA(t) and jSA(t). Hence, the burden motion is of utmost continuity. The mathematical model of the SPP robot controller SPP-RC is characterised by the following equations, in which the first part each describes the dynamics controller and the final product the decoupling of the centrifugal force or of the Coriolis torque, respectively: FC(t)= PPr (rSA(t) - r(t)) + PDr × v(t) -1 2 2 2 {70 Nm s × r(t) - 25 Ns }× w (t)

(8)

MC(t)= PPj (jSA(t) - j(t)) + PDj × w(t)+ {140 kg × r(t) - 50 kgm}× v(t) × w(t)

(9)

It is both possible and essential that the constants PPr, PPj, PDr and PDj of the dynamics controllers are high. Furthermore, meaningful values of the proportional amplification, e.g., PPr, and of the differential amplification, e.g., PDr, of a single dynamics controller mutually affect each other. These amplifications are, however, otherwise almost freely selectable. Since the controller compensates for the centrifugal force and the Coriolis torque of the robot, it is possible to design a single dynamics controller without consideration of the robot’s other degrees of freedom. The compared controllers are optimised for simultaneous set-point jumps from zero to r =0.1 m and j =1 rad. The rotation and the translation set-point jumps need about the same build-up periods, and start at the same time to provide for the most difficult case to control. It was tried to find the parameters of the best controller with the properties described above. They are: PPr = 5800 -1 -1 Nm , PPj = 4000 Nm, PDr = -1260 Nsm and PDj = -450 Nms. In this example, the proportional amplifications of the SPP controller SPP - RC are more than 80 times larger than the proportional amplifications of the conventional controller Cv - RC.

Articles

2010

Design of IF Controllers as Execution Platforms. The dynamics controllers and the decouplings of the controllers (centrifugal force and Coriolis torque) are implemented on safety-licensable IF controllers. The rule base table controlling the translation is stored in EPROM 1, and the rule base table controlling the rotation is stored in EPROM 2. A section of the rule base table in EPROM 1 is shown in Table 3. For the signals rSA(t) - r(t), v(t), jSA(t) - j(t) and w(t) analogue-to-digital converters with unequally spaced input intervals featuring higher precision around zero as shown in Fig. 17 are selected. Due to this input interval spacing of the A/D converters, the EPROM storage space required is under the given conditions by orders of magnitude less than the storage space required for a controller with equally spaced input intervals. The IF controller implementing SPP - RC contains two 16 bits wide 0.5 Mwords EPROMs. A further effective way to reduce the storage space required is to cascade IF controllers (rule base tables). For instance, it is also possible to implement SPP - RC on an IF controller with one 16 Kwords EPROM, two 1 Kwords EPROMs and one 0.5 Kwords EPROM, only. It was tried to design the best controllers by considering that mL = 20 kg. In Table 4, we compare the performance of the conventional robot controller Cv - RC with the one of the SPP robot controller SPP - RC under a number of circumstances: mass of the burden mL = 20 kg (a); mL =0 kg (b); mL = 50 kg (c); mL = 20 kg by considering damping due to springs (d); mL = 20 kg by assuming coincident disturbing impulses FD(t) and MD(t) (e). Performance is expressed in terms of the size of the first overshoot r0 (j0), the time tr (tj) after which the output error is smaller than 0.0001m (rad), and the permanent control error Dr(t=¥)(Dj(t=¥)). The desired actuation functions of the SPP robot controller SPP - RC are approximated by rule bases and implemented on a safety-licensable IF controller, which works very well and shows excellent performance. This case study reveals that SPP - RC has, in addition to the ones mentioned in the Conclusion and the Introduction, many advantages as compared to the conventional robot controller Cv - RC: • The time after which the control error is smaller than 0.0001 m after a translation set-point jump is between 4 and 8 times shorter, and the time after which the control error is smaller than 0.0001 rad after a rotation set-point jump is between 6 and 8 times shorter. • A permanent force disturbing the robot arm leads

Table 3. Part of the rule base table (cause effect table) stored in EPROM 1.

16

N° 1


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 4,

N째 1

2010

Fig. 15. Principle of the SPP robot controller SPP - RC.

Fig. 16. Correction element inputs leading to a set-point jump from r(t)=0 to 0.1 m. Articles

17


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

Fig. 17. Typical unequally spaced input intervals (e.g., angular velocity w in rads ) -1

Table 4. Behaviour after simultaneous set-point jumps from zero to rS =0.1 m and jS =1 rad (a–d), and after disturbing impulses (100 N and 100 Nm) with the impulse width 1 s (e).

Table 5. Comparison of the properties of IF controllers and of conventional controllers.

to an about 80 times smaller control error, and a permanent disturbing torque leads to a 200 times smaller control error. • The permanent control error due to damping by springs Dr(t=¥) is about 35 times smaller, and Dj(t=¥) is more than 200 times smaller. • The over-shoot after a force impulse disturbing the robot arm is 43 times smaller, and a disturbing torque impulse leads to an about 120 times smaller overshoot. Furthermore, the duration between the time after which the disturbing force FD (torque 18

Articles

MD) vanishes after an FD (MD) impulse and the time after which the control error is smaller than 0.0001 m (rad) is about 10 times (30 times) shorter.

7. Conclusion The major advantages of the IF controller are its inherent safety and speed. Its main characteristics are input conditioning by analogue-to-digital converters and inference by look-up in rule tables. The controller consists of a few relatively simple, industry standard hardware


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

Table 6. Comparison of the properties of SPP and of conventional control algorithms.

modules. Hence, safety-licensing of the hardware can follow well understood and long established procedures. The main task of a safety proof is to verify an implemented rule set’s correctness by inspection. This method leads back in one easy step from machine code to problem specifications. For the architecture presented, the effort required to utilise inspection to safety-license control software is by several orders of magnitude smaller than to verify sequential programs running on Von Neumann computers. Owing to its simple construction and its software form’s utmost simplicity, the IF controller can be licensed for applications with the highest safety requirements, i.e., those of Safety Integrity Level 4. Working in a strictly periodic fashion with no jitter, the controller’s real-time behaviour is predictable in full. Its hardware operation is supervised by a fail-safe logic immediately initiating an emergency shut-down in case of a malfunction. Thus, the use of IF controllers for safety-related functions eliminates the disadvantages due to the restrictions imposed by the licensing authorities [2]. Basically, it is possible to approximate any control algorithm to any sufficient precision and with reasonable effort by a rule-based one. In general, the better the approximation and the larger the number of inputs are the higher is the EPROM capacity needed in an executing IF controller, which may be very large. In many practical cases and especially if the structure of an IF controller is customised to the mathematical model of a given control system, however, the memory requirements for the corresponding rule base table often become surprisingly small. Therefore, difficult control tasks can very easily and transparently be solved by IF controllers. Table 5 summarises the benefits achieved with them. A prototype of an IF controller with a 64 Kword EPROM was built. It is cheap and small, and runs very fast with a loop execution time of 800 ns. As controllers often need to provide certain functions such as timers, counters, internal storage as well as digital and analogue inputs and outputs, a range of such modules was implemented which can be plugged into the prototype. The approach of set-point pre-processors makes use of an advanced mathematical control algorithm. As described above and in Table 6, the use of SPP control normally leads to essential performance improvements, even if the

mathematical model of a technical process assumed in the design of a controller is very coarse and inaccurate. The SPP robot controller SPP - RC described above combines the advantages of SPP control algorithm and IF controller as execution platform.

AUTHORS Peter Vogrin, Wolfgang A. Halang* - Chair of Computer Engineering, Fernuniversität 58084 Hagen, Germany. E-mail: wolfgang.halang@fernuni-hagen.de. * Corresponding author

References [1]

[2]

[3]

[4]

[5]

Fagan M.E., „Design and Code Inspection to Reduce Errors in Program Development”. IBM Systems Journal, 1976, vol. 15, no. 3, 182-211. „TÜV Cooperation Functional Safety: List of Type Approved Programmable Electronic Systems (PES, PLCs)”, 2008, http://www.tuv-fs.com. Hoyer H., Freund E., „The Principle of Non-linear Decoupling of Systems with Application to Industrial Robots”. Regelungstechnische Praxis rtp, 22, 1980, pp. 8087 and pp. 116-126. „International Standard IEC 61508-1: Functional Safety of Electrical/Electronic/Programmable Electronic Systems: Generic Aspects - Part 1: General Requirements”. Geneva: International Electrotechnical Commission 1998. Krebs H., Haspel U., „Ein Verfahren zur Software-Verifikation”. Regelungstechnische Praxis rtp, 1984, 26, pp. 73-78.

Articles

19


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

SIGNATURE RECOGNITION WITH A HYBRID APPROACH COMBINING MODULAR NEURAL NETWORKS AND FUZZY LOGIC FOR RESPONSE INTEGRATION Received 22nd September 2009; accepted 14th October 2009.

Mónica Beltrán, Patricia Melin, Leonardo Trujillo, Miguel Lopez

Abstract: This paper describes a modular neural network (MNN) with fuzzy integration for the problem of signature recognition. Currently, biometric identification has gained a great deal of research interest within the pattern recognition community. For instance, many attempts have been made in order to automate the process of identifying a person’s handwritten signature; however this problem has proven to be a very difficult task. In this work, we propose a MNN that has three separate modules, each using different image features as input, these are: edges, wavelet coefficients, and the Hough transform matrix. Then, the outputs from each of these modules are combined using a Sugeno fuzzy integral and a fuzzy inference system. The experimental results obtained using a database of 30 individual’s shows that the modular architecture can achieve a very high 99.33% recognition accuracy with a test set of 150 images. Therefore, we conclude that the proposed architecture provides a suitable platform to build a signature recognition system. Furthermore we consider the verification of signatures as false acceptance, false rejection and error recognition of the MNN. Keywords: pattern recognition, neural networks, fuzzy logic.

1. Introduction Recently, there has been an increased interest in developing biometric recognition systems for security and identity verification purposes [2]. Such systems usually are intended to recognize different types of human traits, which include a person’s face, their voice, fingerprints, and specific hand-writing traits [2]. Particularly, the handwritten signature that each person posses is widely used for personal identification and has a rich social tradition. In fact, currently it is almost always necessary in all types of transactions that involve

legal or financial documents. However, it is not a trivial task for a computational system to automatically recognize a person’s signature for the following reasons. First, there can be a great deal of variability when a person signs a document. This can be caused by different factors, such as a person’s mood, free time to write the signature, and the level of concentration during the actual act of signing a document. Second, because signatures can be so diverse it is not evident which type of features should be used in order to describe and effectively differentiate among them. For instance, some signatures are mostly written using straight-line segments, and still others have a much smoother form with curved and circular lines. Finally, many signatures share common traits that make them appear quite similar depending on the types of features that are analyzed. In this work, we present a handwritten signature recognition system using Modular Neural Networks (MNNs) with the Sugeno fuzzy integral. We have chosen a MNN because they have proven to be a powerful, robust, and flexible tool, useful in many pattern recognition problems [13], [14]. In fact, we only extract simple and easily computed image features during our preprocessing stage, these features are: image edges, wavelet transform coefficients, and the Hough transform matrix. The MNN we propose uses these features to perform a very accurate discrimination of the input data used in our experimental tests. Therefore, we have confirmed that a MNN system can solve a difficult biometric recognition problem using a simple set of image features.

2. Problem statement and outline of our proposal The problem we address in this paper is concerned with the automatic recognition of a person’s signature that is captured on a Tablet PC. We suppose that we have

Fig. 1. General architecture of the proposed Modular Neural Network for signature recognition. 20

Articles


Journal of Automation, Mobile Robotics & Intelligent Systems

a set of N different people, and each has a unique personal signature. The system is trained using several samples from each person, and during testing it must determine the correct label for a previously unknown sample. The system we are proposing consists on a MNN with three separate modules. Each module is given as input the features extracted with different feature extraction methods: edge detection, wavelets transform, and Hough transform. The responses from each of the modules are combined using a Sugeno fuzzy integral, which determines the person to whom the input signature corresponds. A general schematic of this architecture is shown in Figure 1, where all of the modules and stages are clearly shown. In the following section we present a brief review of some of the main concepts needed to understand our work.

3. Background Theory In this section we provide a general review of artificial neural networks and modular architectures, we discuss how the output from the modular system can be integrated using Sugeno fuzzy integrals, and we describe the feature extraction methods that provide the input for each of the modules in our MNN. 3.1. Modular Neural Networks Artificial Neural Networks (ANNs) are information processing systems that employ a conceptual model that is based on the basic functional properties of biological neural networks. In the past twenty or thirty years, ANN research has grow very rapidly, in the development of new theories of how these systems work, in the design of more complex and intricate models, and in their application to a diverse set problem domains. Regarding the latter, application domains for ANN include pattern recognition, data mining, time series prediction, robot control, and in the development of hybrid methods with fuzzy logic and genetic algorithms, to mention but a few examples [7], [13], [14].

VOLUME 4,

N째 1

2010

In canonical implementations, most systems employ a monolithic network in order to solve the given task. However, when a system needs to process large amounts of data or when the problem is highly complex, then it is not trivial, and sometimes unfeasible, to establish a good architecture and topology for a single network that can solve the problem. For instance, in such problems a researcher might attempt to use a very large and complex ANN. Nevertheless, large networks are often difficult to train, and for this reason they rarely achieve the desired performance [13]. In order to overcome some of the aforementioned shortcomings of mo-nolithic ANNs, many researchers have proposed modular approaches [11]. MNNs are based on the general principle of divide-and-conquer, where one attempts to divide a large problem into smaller subproblems that are easier to solve independently. Then, these partial solutions are combined in order to obtain the complete solution for the original problem. MNNs employ a parallel combination of several ANNs, and normally contain two main components: (1) local experts; and (2) an integrating unit. The basic architecture is shown in Figure 1 [16]. Each module consists of a single ANN, and each is considered to be an expert in a specific task. After the input is given to each module it is necessary to combine all of the outputs in some way, this task is carried out by a special module called an integrator. The simplest form of integration is given by a gating network that basically switches between the outputs of the different modules based on simple criteria, such as the maximum level of activation. However, a better combination of the responses from each module can be obtained using more elaborate methods of integration, such as the Sugeno fuzzy integral [16]. 3.2. Sugeno Fuzzy Integral The Sugeno fuzzy integral is a nonlinear aggregation operator that can combine different sources of information [4], [8], [9]. The intuitive idea behind this operator is based on how humans integrate information

Fig. 2. Architecture of a Modular Network. Articles

21


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

during a decision making process. In such scenarios it is necessary to evaluate different attributes, and to assign priorities based on partially subjective criteria. In order to replicate this process on an automatic system, a good model can be obtained by using a fuzzy representation [5], [8], [12]. Finally, several works have shown that the use of a Sugeno fuzzy integral as a MNN integrator can produce a very high level of performance [6], [8], [11], and for these reasons we have chosen it for the system we describe here.

3.4.2. Wavelet Transform The wavelet transform decomposes a signal using a family of orthogonal functions, it accounts for both the frequency and the spatial location at each point. The most comon application is the Discrete Wavelet Transform (DWT) using a Haar wavelet [17]. The DWT produces a matrix of wavelet coefficients that allows us to compress, and if needed reconstruct, the original image. In Figure 4 we can observe the two compression levels used in our work.

3.3. Fuzzy Systems Fuzzy theory was initiated by Lotfi A. Zadeh in 1965 with his seminal paper “Fuzzy sets”. Before working on fuzzy theory, Zadeh was a well-respected scholar in control theory. A big event in the 70’s was the birth of fuzzy controllers for real systems. In 1975, Mamdani and Assilian established the basic framework of fuzzy controller and applied the fuzzy controller to control a steam engine. Their results were published in another seminal paper in fuzzy theory “An experiment in linguistic synthesis with a fuzzy logic controller”. They found that the fuzzy controller was very easy to construct and worked remarkably well [3], [15]. The fuzzy inference system is a popular computing framework based on the concepts of fuzzy set theory, fuzzy if-then rules, and fuzzy reasoning. It has found successful applications in a wide variety of field, such as automatic control, data classification, decision analysis, experts systems, times series prediction, robotics, and patter recognition [3], [15]. The basic structure of a fuzzy inference system consists of three conceptual components: a rule base, which contains a selection of fuzzy rules; a database, which defines the membership functions used in the fuzzy rules; and a reasoning mechanism, which performs the inference procedure upon the rules and given facts to derive a reasonable output or conclusion [3].

(a)

(b)

(c)

Fig. 4. (a) Original image of a signature. (b) First level of decomposition. (c) Second level of decomposition. 3.4.3. Hough Transform In the third and final module we employ the Hough transform matrix as our image features [1]. The Hough transform can extract line segments from the image. In Figure 5 we show a sample image of a signature and its corresponding Hough transform matrix. Finally, in order to reduce the size of the matrix, and the size of the corresponding ANN, we compress the information of the Hough matrix by 25%. (a)

(b)

3.4. Feature Extraction In this work, we employ three individual modules, and each receives different image features extracted from the original image of a person’s signature. Each of these feature extraction methods are briefly described next. 3.4.1. Edge detection For images of handwritten signatures, edges can capture much of the over-all structure present within, because people normally write using a single color on a white background. Hence, we have chosen to apply the Canny edge detector to each image that generates a binary image of edge pixels, see Fig 3. (a)

(b)

Fig. 3. (a) Original image of a signature. (b) Image edges. 22

Articles

Fig. 5 (a) Sample of a signature image with some of the lines found by the Hough transform (b) The Hough transform matrix. 3.4.4. Verification of signatures Currently, security practice always involves PIN number, password, and access card. However, these signs are not very reliable, since it can be forgotten or lost [2]. Automatic signature verification is one of the most practical ways to verify human's identify. Signature verification can be used in many applications such as security, access control, or financial and contractual matters. The process of signature verification often consists of a learning stage and a testing stage, as shown in figure 6. In the learning stage, the verification system uses the


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

feature extracted from one or several training samples to build a reference signature database. In the testing stage the user inputs the signature into input device. Then the system uses this information to extract the reference in the database, and compares the features extracted from the input signature with the reference. Finally the verification process out whether the test signature is genuine or not.

N° 1

2010

different cases: 1. False acceptance (FRA). 2. False rejection (FRR). 3. Error. 4. Signature Authentic. After taking as reference the average of activations, 85 samples were collected from forged signatures of 17 persons and 65 authentic samples of 13 persons, giving a total of 150 samples between false and authentic signatures of 30 persons. In total 210 images of signatures of each module for the training signatures are authentic. Table 1 shows the case that can be given upon verification of signatures, taken as a basis the average activations. Table 1. Signature verification procedure. Recognizes Overcome Original Result threshold signature Yes Yes No False Acceptance No Yes Yes False Rejection Yes No Yes Error No No Yes Error No No No Correct Yes No No Correct

4. Experiments

Fig. 6. Signature verification process. In the research area of signature verification, a type I error rate and type II error rate are usually called false reject rate (FRR) and false acceptance rate (FAR) respectively. To minimize the type II errors, which represent the acceptance of the counterfeited signatures will normally increase the type I errors, which are the rejections of genuine signature. In most case, type II error rate is considered to be more important, but it is not a must. This will depend on the purpose, design, characteristics and application of the verification systems. If the system requests a high security, false accept rate should reduced to its lowest; if the security is not so strict, the system can be adjust to its lowest average false rate.[2] The fuzzy system will answer the greater activation of the 3 modules signing, taking the form of higher activation winner; this means the 27 rules in the system are considered fuzzy. Once the winner module did a signature verification process to know whether the signature that shows fuzzy integrator corresponds to the person. For this we also conducted 30 trainings with 150 different samples of genuine signatures, to make activation and get an average of this activation. The average of the activations is used as to whether a signature is forged or genuine. Typically when the signature is authentic we obtain a high activation and when the signature is false the activation is low, although not necessarily, as may happen if there is a high activation but the signature is false activation or a low but firm is true, so we take into account four

In this section we present our database of signature images, describe our experimental set-up, and detail the experimental results we have obtained using monolithic and modular networks. 4.1. Image Database For this work we build a database of images with the signatures of 30 different people, students and professors from the computer science department at the Tijuana Institute of Technology, BC, MĂŠxico. We collected 12 samples of the signature from each person; this gives a total of 360 images in total. Sample images from the database are shown in Figure 7.

Fig. 7. Images from our database of signatures. Each row shows different samples from the signature of the same person. Articles

23


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

4.2. Experimental setup In this work, we are interested in verifying the performance of our proposed MNN for the problem of signature recognition. Therefore, in order to obtain comparative measures we divide our experiments into four separate tests. 1. First, we use each module as a monolithic ANN for signature recognition. Therefore, we obtain three sets of results, one for each module, where in each case a different feature extraction method is used. 2. Second, we train our MNN using all three modules concurrently and the Sugeno fuzzy integral as our integration method. 3. Third, we train our MNN using all three modules concurrently and the Fuzzy System as our integration method. 4. Fourth, Signature verification: false acceptance, false rejection. In all tests 210 images were chosen randomly and used for training, and the remaining 150 were used as a testing set. Additionally, after some preliminary runs it was determined that the best performance was achieved when the ANNs were trained with the Scaled Conjugate Gradient (Trainscg) algorithm, with a goal error of 0.001. Moreover, all networks had the same basic ANN architecture, with two hidden layers. In what follows, we present a detailed account of each of these experimental tests. 4.2.1. Monolithic ANNs The results for the first monolithic ANN are summarized in Table 2. The table shows a corresponding ID number for each training case, the total epochs required to achieve the goal error, the neurons in each hidden layer, and the total time required for training. Recognition performance is shown with the number of correct recognitions obtained with the 150 testing images, and the corresponding accuracy score. In this case, the best performance was achieved in the third training run where the algorithm required 78 epochs, and the ANN correctly classified 131 of the testing images.

N째 1

2010

correctly classified images. It is obvious that wavelet features provide a very good discriminative description of the signature images we are testing. Table 3. Performance for a monolithic ANN using wavelet features. Train Epochs Neurons 01 02 03 04 05 06 07 08 09 10

12 30 05 09 06 05 10 07 10 05

100-100 100-100 100-100 100-100 80-90 80-90 80-90 80-90 80-90 80-90

Time 00:00:18 00:00:25 00:00:08 00:00:11 00:00:08 00:00:05 00:00:14 00:00:09 00:00:15 00:00:06

Correct Accuracy (%) 135/150 90 138/150 92 144/150 96 140/150 93 142/150 95 140/150 93 141/150 94 138/150 92 140/150 93 137/150 91

Finally, the third monolithic ANN uses the Hough transform matrix, and the corresponding results are shown in Table 4. The best performance is achieved in the fourth training run, with a total of 6 epochs and 141 correctly classified images. Table 4. Performance for a monolithic ANN using the Hough transform. Train Epochs Neurons 01 02 03 04 05 06 07 08 09 10

63 65 68 06 04 45 08 05 05 33

100-100 100-100 100-100 80-90 80-90 80-90 80-90 80-90 80-90 50-50

Time 00:00:19 00:00:51 00:00:19 00:00:08 00:00:05 00:00:11 00:00:09 00:00:08 00:00:06 00:00:20

Correct Accuracy (%) 135/150 90 140/150 93 141/150 94 141/150 94 140/150 93 138/150 92 138/150 92 137/150 91 137/150 91 138/150 92

Table 2. Performance for a monolithic ANN using edge features; bold indicates best performance. No Epochs Neurons 01 80 100-100 02 59 100-100 03 78 100-100 04 90 100-100 05 80 100-100 06 78 100-100 07 53 100-100 08 79 80-90 09 55 80-90 10 58 80-90

Time 00:01:11 00:01:18 00:01:07 00:01:26 00:01:08 00:01:34 00:00:46 00:01:08 00:00:56 00:00:58

Correct Accuracy (%) 123/150 82 120/150 80 131/150 87 117/150 78 119/150 79 123/150 82 123/150 82 123/150 82 128/150 85 122/150 81

The second monolithic ANN uses the wavelet features as input, and the obtained results are summarized in Table 3. In this case the best performance was obtained in the third training run, with a total of 5 epochs, and 144 24

Articles

It is important to note that in all three cases, the monolithic methods did achieve good results. The best performance was obtained using wavelet features, and the Hough transform matrix also produced very similar results. On the other hand, the simple edge features produced a less accurate recognition than the other two methods. 4.2.2. Modular Neural Network with Sugeno Fuzzy Integral The final experimental results correspond to the complete MNN described in Figure 1, and Table 5 summarizes the results of ten independent training runs. For the modular architecture, performance was consistently very high across all runs, and the best recognition accuracy of 98% was achieved in half of the runs. In fact, even the worst performance of 95% is better or equal than all but one of the monolithic ANNs (see Table 3).


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Table 5. Results for the Modular Neural Network with fuzzy Sugeno Integral. Train

Epochs

Time

Correct

01 02 03 04 05 06 07 08 09 10

55 150 180 300 150 155 320 310 285 03

00:00:49 00:01:34 00:01:53 00:02:20 00:01:30 00:01:45 00:02:49 00:02:38 00:01:58 00:00:02

147/150 146/150 144/150 147/150 147/150 146/150 147/150 148/150 145/150 143/150

Accuracy (%) 98 97 96 98 98 97 98 98 96 95

N째 1

2010

4.2.3. Modular Neural Network with a Fuzzy System We use a fuzzy systems integrator for the three modules of the network. The fuzzy systems are of Mamdani type, contain three inputs (module 1, module 2, module 3) output (winner module), and 27 rules. Several tests were performed with the fuzzy systems that have the same input, and out-put rules, but with different functions of membership: Triangular, trapezoidal and Gaussian. In figures 8, 9, 10 we show the fuzzy systems with trapezoidal Membership functions, Triangular and Gaussian. The results obtained with the fuzzy system as an integrator of MNN with different membership functions (see table 6), were good, in this case the best result was obtained in the training with 9 Gaussian membership function, with a total of 223 epochs, and 149 images are classified cor-rectly. The method of training is scaled conjugate gradient (Transcg). Overcoming the best result with fuzzy Sugeno integral (see Table 5).

Fig. 8. Representation of fuzzy systems with trapezoidal membership functions.

Fig. 9. Representation of fuzzy systems with Triangular membership functions.

Fig. 10. Representation of fuzzy systems with Gaussian membership functions. Articles

25


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

Table 6. Results for the Modular Neural Network with fuzzy system. Train Membership Funtion Error goal Epochs Time Correct Accuracy (%) 01 Triangular 0.001 232 00:03:42 148/150 98.66 02 Triangular 0.001 560 00:09:15 146/150 97.33 03 Triangular 0.001 710 00:11:05 148/150 98.66 04 Trapezoidal 0.001 96 00:01:37 147/150 98.00 05 Trapezoidal 0.001 302 00:08:01 147/150 98.00 06 Trapezoidal 0.001 304 00:08:03 146/150 97.33 07 Gaussian 0.001 150 00:02:50 146/150 97.33 08 Gaussian 0.001 257 00:06:02 149/150 99.33 09 Gaussian 0.001 223 00:03:17 149/150 99.33 4.2.4. Modular Neural Network with a Fuzzy System adding uniform random noise After multiple tests done with the fuzzy system, and taking into account that the best result was obtained with Gaussian membership functions, we applied noise to the images of signatures, using “uniform random noise”. The noise level of 0.5 was applied. Table 7 shows the top 10 results. The best training is the one in the second row, with a total of 146 correctly classified images. Table 7. Result with uniform random noise. Train Method 01 02 03 04 05 06 07 08 09 10

Trainscg Trainscg Trainscg Trainscg Trainscg Trainscg Trainscg Trainscg Trainscg Trainscg

Time

Correct

00:02:56 00:02:57 00:04:50 00:03:25 00:04:20 00:03:09 00:06:50 00:02:54 00:03:33 00:05:56

141/150 146/150 144/150 143/150 144/150 141/150 139/150 141/150 146/150 144/150

Accuracy (%) 92.66 97.33 96.00 95.33 96.00 94.00 92.66 94.00 97.33 96.00

4.2.5. Results of verification of signatures Table 8 shows the results as a percentage for each case: false acceptance, false rejection, error recognition and the percentage of correct signatures.

5. Summary, conclusions and future work In this paper we have addressed the problem of signature recognition, a common behavioral biometric measure. We proposed a modular system using ANNs and three types of image features: edges, wavelet coefficients, and the Hough transform matrix. In our system, the responses from each module were combined using a Sugeno fuzzy integral and a fuzzy inference system. In order to test our system, we built a database of image signatures from 30 different individuals. In our experiments, the proposed architecture achieves a very high recognition rate, results that confirm the usefulness of the proposal. In our tests, we have confirmed that the modular approach always out-performs, with varying degrees, the monolithic ANNs tested here. However, in some cases the difference in performance was not very high, only 3 or 2 percent. Nevertheless, we believe that if the recognition problem is made more difficult then the modular approach will more clearly show a better overall performance. Furthermore, our results also show that even with the simple image features used in this work, each of the ANN modules is indeed capable of learning very good discriminating functions that can correctly differentiate between our set of image signatures. Moreover, the fuzzy system as a unit exceeds the percentage achieved with recognition of Sugeno fuzzy integral. For this reason the last experiments were conducted with the fuzzy system integrator.

Table 8. Results from the verification of signatures.

26

Train

Time

01 02 03 04 05 06 07 08 09 10

00:06:32 00:06:03 00:07:32 00:08:03 00:08:02 00:09:00 00:06:06 00:06:42 00:06:52 00:06:13

Articles

False False Error Correct Acceptance (%) Rejection (%) Recognition (%) Sgnatures (%) 8.00 9.33 1.33 81.33 18.00 7.33 0.66 74.00 5.33 10.00 2.00 82.66 2.00 14.66 1.33 82.00 18.00 7.33 0.66 74.00 4.00 16.00 1.33 78.66 14.00 6.66 1.33 78.00 10.66 11.33 1.33 76.66 4.66 15.33 2.00 78.00 6.00 12.00 2.66 79.33


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Finally, the results we have obtained suggest several possible extensions for our work, which include the following: 1. Test the system with a more challenging image database, using more signatures and a smaller set of training samples, in order to verify the robustness of our approach. 2. Optimizing the MNN architecture with a genetic algorithm.

[13]

[14]

AUTHORS Mónica Beltrán, Patricia Melin*, Leonardo Trujillo, Miguel Lopez - Tijuana Institute of Technology, Tijuana, México. Email: epmelin@hafsamx.org. * Corresponding author

References [1]

[2]

[3 ]

[4]

[5]

[6]

[7]

[8]

[9]

[10]

[11]

[12]

Ballard D., “Generalizing the Hough transform to detect arbitrary shapes”, Pattern Recognition, vol. 13, no. 2, 1981, pp. 111-122. Zhang D., “Automated Biometrics Technologies and Systems”, Hong Kong Polytechnic University, Kluwer Academic Publishers, 2000, Chapter 10, pp. 203-206. Jang J., Sun C., Mizutani E., “Neuro-Fuzzy and Soft Computing, Prentice-Hall, upper Sanddle River”, 1997, pp. 1-70. Keller J., Gader P., Hocaoglu A., “Integrals in image processing and recognition”. In: M. Grabisch et al., eds., Fuzzy Measures and Integrals: Theory and Applications, Physica-Verlag: NY. 2000, pp. 435-66. Grabisch M., “A new algorithm for identifying fuzzy measures and its application to pattern recognition”. In: Proc. of 4th IEEE Int. Conf. on Fuzzy Systems, Yokohama, Japan, 1995, pp. 145-50. Grabisch M., Murofushi T., Sugeno M., “Fuzzy Measures and Integrals: Theory and Applications”, Physica-Verlag: NY, 2000, pp. 348-73. Castillo O., Melin P.P., Kacprzyk J., Pedrycz W., “Hybrid Intelligent Systems Analysis and Design”, ed. Springer, 2007. Mendoza O., Melin P.P., “The Fuzzy Sugeno Integral as a Decision Operator in the Recognition of Images with Modular Neural Networks”, Tijuana Institute of Technology, México, Springer, 2007. Melin P.P., Mancilla A., González C., Bravo D., “Modular Neuronal Networks with Fuzzy Sugeno Integral Response Integration for Face and Fingerprint Recognition”. In: The International MultiConference in Computer Science and Computer Enginnering, Las Vegas, USA, vol. 1, 2004, pp. 91-97. Melin P.P., Mancilla A., Lopez M., Solano D., Soto M., Castillo O., “Pattern Recognition for Industrial Security using the Fuzzy Sugeno Integral and Modular Neural Network”, In: Soft Computing in Industrial Applications, Springer Berlin/Heidelberg, vol. 39, 2007, pp. 4-9. Melin P., Felix C., Castillo O., “Face Recognition using Modular Neural Networks and the Fuzzy Sugeno Integral for Response Integration”, Journal of Intelligent Systems, vol. 20, no. 2, 2005, pp. 275-29. Melin P., Gonzalez C., Bravo D., Gonzalez F., Martinez

[15]

[16]

[17]

N° 1

2010

G., “Modular Neural Networks and Fuzzy Sugeno Integral for Pattern Recognition: Then Case of Human Face and Fingerprint”, Tijuana Institute of Technology, Tijuana, Mexico, Springer 2007. Melin P., Castillo O., “Hybrid Intelligent Systems for Pattern Recognition Using Soft Computing: An Evolutionary Approach for Neural Networks and Fuzzy Systems (Studies in Fuzziness and Soft Computing)”, Springer, 1st edition, 2005. Melin P., Castillo O., “Hybrid Intelligent Systems for Pattern Recognition”, Springer-Verlag, 2005. Sepulveda R., Montiel O., Castillo O., Melin P., “Fundamentals of Fuzzy Logic”, Ed. ILCSA, Tijuana B.C., Mexico, 2002, pp. 15-124. Kung S., Mak M., Lin S., “Biometric authentication a machine learning approach”, Ed. Thomas Kailath, Series Editor, Prentice Hall Information and System Sciences Series, 2005, pp. 27-49. Santoso S., Powers E., Grady E., “Power quality disturbance data compression using wavelet transform methods”, IEEE Trans. On Power Delivery, vol. 12, no. 3, 1997, pp. 1250-1257.

Articles

27


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 1

2010

A SIMPLE AND COST-EFFECTIVE METHOD TO CONSTRUCT RELIABLE REAL-TIME PROGRAMS Received 4th May 2009; accepted 11th September 2009.

Peter F. Elzer, Martin Gollub, Sven Trenkel

Abstract: This paper presents a proposal for structuring real-time programs in a way that improves their reliability. Basically, it consists of five constructs that have been designed after the model of classical "structured programming", together with a generalized way of dealing with resources. After some considerations about reliability these constructs are presented and explained. Then, a test implementation for two different programming languages and operating systems is briefly described. Finally, some pieces of code give an impression of the character of the method. Keywords: real-time systems, real-time programming, structured programming, reliability, graphical repre-sentation.

1. Introduction In the dawn of the upcoming era of mechatronics, research concerning real-time systems is becoming a central issue of computer science. A broad variety of problems is discovered that need to be solved. Fortunately, real-time systems have already been the subject of intensive research for decades in the context of electrical and process engineering, and many useful research results as well as applicable engineering traditions have been accumulated. One area has been of paramount importance in all the discussions over the years: reliability of real-time systems. Of course, there is a great number of aspects that have to be taken into account during the construction of systems with this desirable property. System structure, hardware quality, design methods, simulation, programming languages and guidelines, algorithms and operating systems are just the most important ones. In his teaching, the first author has tried to do justice to as many of these as possible in order to make students aware of the fact that all of them have to be taken into account if a resulting system is to deserve the attribute "reliable". One part of this effort was in 2004 a joint student project [1]. In this project, a simple and easy to learn method for structured design of reliable real-time systems has been implemented and applied for the first time. Its theoretical foundations have been described before at several occasions [2], [3], [4], [5]. In contrast to the usual approaches to (formal) specification, it is conceptually simple and easy to use. In particular, it is independent of existing programming languages and operating systems. Besides, it can be implemented with relatively little effort and is - after all - directly related to the realtime domain. 28

Articles

In the following two sections the theoretical foundations of the method are briefly presented. Then, the test implementation for the programming languages PEARL [6], [7] and "Real-Time C" [8] is described and, finally, its application is illustrated by means of programming examples.

2. Underlying Design Criteria 2.1. General Considerations As mentioned above, much work has been done over the past decades with respect to reliability of software (and related properties). As an example (and because it brings some structure into the variety of aspects related to this topic), the work of Laprie [9] shall be used here. According to a taxonomy he proposes, "reliability" is one attribute (out of six) of a more general property of technical systems: "dependability". He defines it as: "the ability to provide continuity of service". Dependability, in turn, has been defined as: "the extent to which the system can be relied upon to perform exclusively and correctly the system task(s) under defined operational and environmental conditions over a defined period of time, or at a given instant of time" [10]. The other five attributes of dependability are: availability, safety, confidentiality, integrity and maintainability. However, in order to achieve safety, confidentiality and integrity, it is necessary to apply more means than those that are provided by software technology (in a strict sense). But of the remaining three (of the abovementioned six) attributes, reliability and maintainablity are well within the reach of software technology. So, what can be done about them? Following Laprie's line of thought, reliability is usually impaired by system failures, resulting from errors which, in turn, are consequences of faults. Having stated this, after some elaborations about fault classes and their respective properties and causes, he arrives at the following statement: "Software, and thus design faults, are generally recognized as being the current bottleneck for dependability in critical applications, be they money- or life-critical. A simple reason is that the computer systems involved in such applications are tolerant to physical faults". The last sentence is particularily interesting insofar as it expresses the observation that - in contrast to the situation some decades ago - in the meantime hardware has obviously reached a satisfactory state. Design engineers, however, now want to know what can be done to avoid such software design faults. For this purpose, the following means are recommended: a) fault prevention,


Journal of Automation, Mobile Robotics & Intelligent Systems

b) fault tolerance, c) fault removal, d) fault forecasting. 2.2. Possible Benefits of the Proposed Method From such considerations Laprie basically derives the necessity of extending complete existing software development models in such a way that they provide such means and thus are appropriate for the development of reliable software systems. However, such an approach includes a great number of individual measures and therefore has not been chosen by the authors. The presented method is merely intended as a contribution to the reduction of some of the most pressing problems connected with aspects of parallelism in programs written in procedural languages. One of them is the observation that even program developers, who are very competent as far as "classical" algorithms (e.g., in numerical mathematics or numeric control) are concerned, run into difficulties when they have to solve problems of coordination of parallel processes using the usually available means (e.g., free manipulation of processes, signals, semaphores, etc.). It appears, therefore, obvious to separate these tasks from the algorithmic parts of a program, and to provide program developers with higher level constructs for a number of frequent cases that are easy to understand and fit for easily useable tools like, e.g., macroprocessors or interactive graphical tools. This means that the "descriptional level" has to be above that of usual programming languages. In particular, their functionality concerning coordination of processes or handling of resources should not replace the respective (traditional) mechanisms provided by existing operating systems, but rather build upon and use these. Finally, they have to be conceptually simple and suitable for a graphical notation. From such an approach the following contributions to the abovementioned means can be expected: a) Fault prevention will be enhanced by a reduction of the number of programming errors, because: a1) less Lines Of Source Code (LOSC) should have to be written (and the number of faults is basically proportional to the number of LOSC), a2) the complexity of programs is reduced (again the number of errors in a piece of software increases with increasing complexity), and a3) there is a reduction of design complexity by the separability of development tasks (specialists normally make less errors in their domain than "allrounders"). b) Fault tolerance can be supported by mechanisms for error detection and error recovery in the software components. In the first place, this can be achieved by means of a comprehensive mechanism for exception handling.

VOLUME 4,

N째 1

2010

tems. Usually, it is attempted to achieve this goal by means of standardization. However, experience has shown that it is not possible to standardize any component of or tool for the development of computer systems over more than a few years or outside a limited area of applications. Therefore, the proposed method has to be of a sufficiently high level and - as already mentioned above - independent of any programming language, operating system or computer hardware. It turned out that a generalization of the principles of "structured programming" fulfils these criteria. For reasons of completeness the basic concepts of that technique shall be briefly presented here. 2.3. "Classic" Structured Programming One of the real breakthroughs in classical programming was the development of "structured programming" (as, e.g., advocated for by Parnas [11]) in the 1960ies and early 1970ies. One of the most important results of the respective research was the discovery that the control flow of even the most complex sequential programs can in principle - be described by very few basic constructs. One of the most popular and useful graphical representations of these constructs are the diagrams that have been proposed by Nassi and Shneiderman in the early 1970ies [12]. Basically they visualize the fact that any sequential program can be represented by a linear sequence of "structure blocks", each of which represents one of these constructs. One of various representations of these diagrams is shown in Fig. 1. As structure blocks it uses the codesequence, the repetition of a code-sequence under a certain condition, the execution of a number of code-sequences depending on certain conditions, and the alternative execution of two code-sequences.

Fig. 1. Nassi-Shneiderman Diagrams. It is certainly true that in the meantime "objectoriented programming" has helped to eliminate many of the problems and risks created by careless procedural programming. But due to certain other inherent problems object-oriented programs cannot always reliably guarantee the necessary response times for real-time systems (cf., e.g., Zalewski [13]). "Conventional" programs will, therefore, still be essential components of embedded systems for a long time to come.

Derived from experience in industry, an additional requirement is the following: due to the long life-expectancy of modern embedded systems, any method should be able to survive several generations of software sysArticles

29


Journal of Automation, Mobile Robotics & Intelligent Systems

3. Structured Real-Time Programming 3.1. General Principles 3.1.1. The Principle of the "Self-Contained Jobs" One property of the abovementioned "structure block" appears to be of particular interest to the design of systems with parallel processes: the "principle of selfcontained jobs". In classic structured programming it basically means that any significant step in the progress of a program’s execution can only be started after its predecessor has been completely finished and all "side effects" been taken care of. Applied to systems with parallel processes this principle could be extended insofar as to mean that a piece of program can do its job "without looking to the left or to the right". In particular, it does not explicitely interfere with the dynamic behaviour of other such pieces of code (e.g., by suspending or terminating them) but just emits signals that may be interpreted in such a sense by other "autonomous" pieces of code. In turn, it reacts to such signals in an appropriate way - specified by the designer. On the other hand, it has to be able to rely upon its designer to have provided all necessary resources for its normal functions and/or rules for dealing with unexpected events. This property appears to be particularly useful in distributed systems, in systems consisting of components written in different programming languages, or in systems containing active hardware components. A (software) designer, constructing such a component, needs only to make sure that all necessary resources are available when the component becomes active and to provide rules for dealing with all possible exceptions he knows of (when designing the component), but he need not be concerned about the behaviour of other components. Such a (self-contained) piece of code together with references to all the (static and dynamic) resources it may eventually need during its execution shall in the following be called "protoprocess". 3.1.2. The Principle of Virtual Resources Based on research in operating systems, it can be shown that the concept of a "resource" (that is usually meant to comprise physical entities like devices or data buffers) can be generalized to include "consumeable resources" like, e.g., signals, interrupts, or events (like "buffer full"). As a consequence, they may be treated alike with respect to their reservation and use, resulting in a reduction of the number of mechanisms for the administration of resources. A further reduction of the number of concepts - and thereby simplification - of the proposed method can be achieved by the introduction of the notion of the "virtual resource". Such a virtual resource can either be a real (permanent or consumeable) resource or one particular access right to a real resource [14]. One purpose of this approach is the possibility to separate the design of the real-time program proper from the construction of device handlers that might, e.g., allow prioritized access of processes to certain critical real resources. 3.1.3. Independence of Operating System Properties 30

Articles

VOLUME 4,

N° 1

2010

Experience has shown that mostly the operating systems which are appropriate for real-time applications differ considerably as far as the functionality of the concrete elements for this purpose are concerned. The simplest example may be that some support semaphores, others still rely upon "signals" or "events". This may mean that an application has to be completely redesigned once it has to be ported from one operating system to another with all the consequences of errors, retesting, etc. Therefore, one basic principle of the proposed method is to refrain from explicitely using any of the known basic mechanisms for process interaction and manipulation, but just to express "wishes" to an operating system regarding the required behaviour of processes. The designer of the preprocessor (who usually knows better how to exploit the mechanisms of the particular OS than an application specialist) can then provide the most appropriate, reliable and efficient implementation. The application designers who, in turn, normally are not real experts as far as details of the operating systems are concerned - can then use these mechanisms and rely on their proper functioning. 3.1.4. The Proposed Concepts On the basis of these considerations five constructs have been identified. Three of them are related to the handling of parallel processes: 1) the protoprocess, 2) structured exception handling, and 3) the process cluster. The other two deal with the use of resources: 4) the synchronization block and 5) integrated signalling. These concepts are described in detail in the following sections. 3.2. The Protoprocess In Subsection 3.1.1 the term "protoprocess" (PPC) has been introduced, denoting a self-contained "unit of parallelism", i.e., a piece of code that may eventually (but not necessarily) be executed in parallel to other PPCs. It might also be regarded as an analogy to a "program module" (which is usually understood as a "unit of compilation"). It consists of three components: 1) the code-sequence to be executed, together with its local data; 2) the "resource claim", i.e., a list of all those virtual resources that may eventually be needed during the execution of the PPC; if a resource is used in the code sequence that has not been listed here, this is regarded as an error and, e.g., causes an error message of the preprocessor; 3) all exception handlers that may eventually be necessary to cope with the exceptions that may be raised during execution of the PPC (one of these may, e.g., be "time elapsed"); it is not allowed not to handle an exception. The proposed graphical notation for a protoprocess (Fig. 2) is that for a code sequence (cf. Fig. 1), complemented by the resource claim.


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Fig. 2. Proposed graphical notation for a protoprocess. A proposed alphanumeric syntax is: S1 ppc-declaration ::= ppc-name task [claim formalresource-list] [complete-code] taskend where "complete code" denotes the program code together with the necessary exception handlers (cf. S2, S3, S4) and "ppc-name" is the (user-defined) name by which this protoprocess can later be referenced in the program for the purpose of activating it (cf. S7). The term "formal-resource-list" has a similar meaning as the "formal parameters" in a procedure declaration, i.e., the actually used resources are only inserted at the time of activating the protoprocess - like the actual parameters during a procedure call. This also implies that the code of a protoprocess can be activated several times with a different set of virtual resources - if the underlying system allows this. Careful readers may have observed that the text in the graphical notation in Fig. 2 (like in some following ones) does not exactly match the proposed alphanumeric syntax. It is the opinion of the authors that this is not necessary, because - like in classic structured programming the proposed concepts (as visualized by structograms) can be implemented in slighty different ways in different programming languages. Therefore, the graphical symbols cannot represent a really binding syntax. They are rather a "graphic shorthand" for fairly complex concepts. Should, therefore, the more concrete alphanumeric syntax in this paper differ from that used in the graphic symbols, this has no technical meaning. With regards to the proposed alphanumeric syntax a similar caveat holds: during the development and implementation of a programming language it quite often happens that the syntax of the original proposal (thoroughly as it may have been conceived) meets difficulties when implementing it for the first time and therefore will have to be modified. A really consolidated and stable syntax usually only emerges after a few test implementations have been undertaken and their results fed back into the design of the language (maybe through an appropriate committee). 3.3. Structured Exception Handling Today, real-time programs are mostly parts of embedded systems and, therefore, during operation normally not accessible to human intervention in cases of disturbances or malfunctions. Hence, it is particularly important to provide a mechanism to cope with irregular events or "exceptions". Fortunately, exception handling mechanisms have already been included very early in general-purpose programming languages like, e.g., in PL/I, ALGOL 68, or Ada.

N째 1

2010

A particularly comprehensive and consistent proposal for exception handling in programs was published by Goodenough as early as 1975 [15] and is still valid. It has, therefore, been used as a basis for the purposes of this proposal. As a detailed description would by far exceed the framework of this paper, Fig. 3 (left part) illustrates the basic principle: the designer of a real-time system can specify in an "exception handler" which action shall be taken in case a certain exception occurs during the execution of a process P. After completion of that action the original process can either be - continued at the point of disturbance, whereby an empty exception handler means that the exception is ignored, - repeated from the beginning, or - aborted.

-

It can also wait until the cause of the exception disappears, and continue at this point. This may, e.g., be the case when a certain resource becomes available again, the temporary unavailability of which has caused the exception. Wait can also be temporarily bounded for other reasons, as shown in Subsection 3.7.1.

Of course, one might argue that this basically represents the functionality of a classic "semaphore" [16] and it would therefore be better to use this instead of the somewhat unusual mechanism proposed in this paper. However, this would be a violation of the principle described in 3.1.3: independence of operating system properties. If, e.g., an operating system does not support semaphores, the mechanism described above could be implemented in a different way and still look the same in the application program.

Fig. 3. Structured exception handling. A proposed alphanumeric syntax is the following: S2 complete-code ::= begin main-code [ exceptionhandling-list exend ] end.

Articles

31


Journal of Automation, Mobile Robotics & Intelligent Systems

S3 exception-handling-list ::= exception-handlingclause [ { , exception-handling-clause } . . . ] S4 exception-handling-clause ::= on exception-name [ (exception-handler) ] { continue | repeat | abort | wait } The functionality of this construct can also be represented by a graphical notation (Fig. 3, right part) in a rather straightforward way. For reasons of economy of space, the figure had to be somewhat simplified. The rectangles (1 to n) shaded in grey represent the exception handlers together with their respective termination commands (continue, etc.). 3.4. The Process Cluster Experience has shown that the proper coordination of parallel processes is an extremely demanding task for human designers and, therefore, very error-prone. Hence, it appears to be appropriate to sacrifice some flexibility in favour of predictability and simplicity. A very early proposal has been the "fork-and-join" mechanism [17] that also appears in the form of the "parallel clause" in ALGOL 68 [18] and later in OCCAM [19]. Based on this concept the – error-prone - constructs for independent activation and termination of individual processes (like in nearly all known real-time programming languages) can be replaced by a "parallel clause" or "process cluster". By now, this is also widely known under the name of "structured parallelism". The process cluster can be represented by means of a graphical notation, as shown in Fig. 4. The representation might be criticized for implying sequential instead of parallel execution of the protoprocesses, but its design had to be a compromise between rigour, readability, and the necessity to fit into nested structure diagrams. A proposed alphanumeric syntax for this mechanism is the following:

Fig. 4. Strictly controlled parallelism. 32

Articles

VOLUME 4,

N° 1

2010

S5 parallel-clause ::= parallel ppc-activation-list parend S6 ppc-activation-list ::= ppc-activation [ {, ppcactivation} . . . ] S7 ppc-activation ::= execute ppc-name [with actualresource-list] [priority priority-specification] where ppc-name denotes the name of a protoprocess, actual-resource-list is the list of resources the ppc is actually using during its execution as a process, and priority-specification a value for the priority of that process after its activation. In the form described in this paper, the parallel statement block can only include execute statements. Of course, one could imagine that it might as well directly include ppc-declarations. In such a case, these would not even need a ppc-name any more. However, such a solution would require that the entire construct be written in the same programming language. One would lose the possibility of putting together a system from components written in different programming languages or even implemented as separate hardware (as e.g. mentioned in 3.1.1). 3.5. The Synchronization Block It turned out that all cases of access to resources can be expressed by a construct that operates like a "critical section" with the modification that a set of exception handlers (cf. 3.3) specifies what is to happen if a resource is unavailable, breaks down, is requested by another process with higher priority, etc. According to the considerations in Section 3.1.2 this holds for all types of virtual resources. By means of proper rules it can also be made sure that resources are released in an appropriate way after their use. Compliance with these rules can even be checked before runtime. Thereby, many very frequent program-


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 4,

N° 1

2010

Fig. 5. Use of resources. ming errors and runtime problems can be avoided like, e.g., deadlocks that result from blocking and releasing resources in the wrong order. It should be mentioned that all resources are released if the demand block cannot be executed because one resource is not available. Fig. 5 illustrates this behaviour and shows the respective graphical notation. As far as the choice of the keyword "demand" is concerned, it should be noted that it is a consequence of the underlying concept of "virtual resources" (cf. 3.1.2). In this case it means that an individual programmer (e.g., in a design team) cannot reserve a resource for exclusive use without any precautions – and, thereby, eventually interfere with the system’s resource administration mechanism, or with a safety-oriented allocation strategy that has been agreed upon in advance. He has to make sure that he has the (access) right to do so.

resource by other processes using the demand statement. The behaviour of this construct is comparable to the uninterruptibility of the classical semaphore operation - but on a higher level. Emit enters a code section only if the consumable resource does not currently exist. The resource is created when "emend" is executed.

Fig. 6. Signalling the completion of a code sequence. A proposed alphanumeric syntax is the following: The proposed alphanumeric syntax is: S8 resource-reservation ::= demand resource-list [main-code] free 3.6. Integrated Signalling A frequent class of runtime problems in multi-process systems is caused by the fact that a process waits for the completion of an action of another process which, in turn, is interrupted by still another process just before it can signal the completion of that action. Even in the case that the processes communicate correctly by means of semaphores, there may be unnecessary delays for the waiting process. One reason for this problem is that - despite of the fact that correctly implemented semaphore operations proper are uninterruptible - the execution of the program, containing these operations, can be interrupted just before the statement containing the semaphore operation is reached. It, therefore, appears appropriate to introduce a kind of "higher-level uninterruptiblity" of the code sequence containing the release of a signal. These considerations led to the definition of another construct, the "integrated signalling" (Fig. 6). It is specified as follows: if a certain code sequence has been successfully completed, a signal is emitted ("a consumable resource is created"). This can be consumed like any other

S9 signal-emission ::= emit signal-list [main-code] emend 3.7. Potential of the Proposed Constructs 3.7.1. Treatment of Deadlines and Timeouts One of the most important features of real-time programs is their ability to cope with the fact that the time allowed for the execution of a process is running out, or that something has to be done if a process has waited too long for the availability of a resource. The following two examples shall illustrate how this can be achieved with the proposed constructs. In both cases it is assumed that the underlying operating system contains a mechanism, e.g., called "timer", that can be set by the program and emits a signal after this preset time interval has elapsed. The first example (Fig. 7) illustrates the case that the execution time of a process for some reason exceeds the allowed limit. The second example (Fig. 8) shows how the case can be handled when a resource does not become available after a certain time and some alternative action has to be taken.

Articles

33


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 1

2010

by terminating them-selves, after which their parallel clause is terminated as well and the processes of class 3 start; Class 3 processes which are designed to deal with this emergency and, therefore, have to be activated in that case. Fig. 7. Supervision of process timeout.

Fig. 8. Quit waiting for a resource after a predefined time interval. 3.7.2 Reaction to Emergency Conditions A thorough analysis of the potential of such a complete exception handling mechanism shows that it can compensate the presumed rigidity of the parallel clause. A combination of both constructs results, therefore, in a mechanism - the "emergency group" - capable of describing practically all possible dynamic structures in realtime systems in a very flexible way. Nevertheless, it leads to a predictable behaviour of the program system. The underlying principle is that the processes of a computing system controlling a technical system can basically be divided into three classes: Class 1 processes which always have to run - whatever happens to the technical system; Class 2 processes which have to be terminated in case of an emergency (e.g., breakdown of a vital component of the technical process under supervision), because they are either useless or even constitute a risk and, therefore, all have to listen to the same globally triggered exception (e.g., temperature too high) and react

Fig. 9. The Emergency Group. 34

Articles

These classes then form three separate process clusters that are grouped according to the principle shown in Fig. 9: contains the processes of class 2, Cluster a equipped with exception handlers that first deal with the exception raised in that particular case of emergency and then finish with "abort"; contains the processes of class 3, which Cluster b are activated in that case and terminate after the emergency has been dealt with. Clusters a and b are then surrounded by a "repeat block" that makes sure that the processes of class 2 are reactivated after the disappearance of the emergency. Cluster c

finally contains the processes of class 1 together with this repeat block.

In Fig. 10 it is tried to give an impression how this construction can be realized using the proposed concepts. For reasons of limited space it has been restricted to process cluster c, the repeat clause, containing clusters a and b, and one class 2 process. This structure makes sure that reactions of the program system to emergencies in a technical system under supervision and control are planned in advance in a clear and consistent manner. Thus, an important criterion for the design of robust program systems is fulfilled. At runtime, the structure guarantees that no unplanned or uncoordinated (re)actions onto the technical process can be initiated by computing processes that were left in an undefined state at the time of occurrence of the emergency. This fulfils another important criterion for predictable and reliable system behaviour. Of course, in practical applications there may be more


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

than one "fatal exception" in the system and therefore the pre-planned reactions will have to be more complex than in this example. However, the authors hold that the rigidity of the proposed method will be beneficial in terms of reliability of the resulting system because it will force designers to plan the dynamic structures much more in advance than it is usually done today. In particular, there will be much less ad-hoc reactions that are patched into the code "in hindsight" and which are therefore extremely error-prone. Thus, they trust, the proposed method will considerably contribute to the reliability of the resulting system.

N° 1

2010

used for this purpose (cf. Fig. 2). On this basis a deadlock prevention technique can be integrated in the proposed method. It is based on a proposal by Habermann [20], that can be summarized as follows: • arrange all resources that will be needed during the execution of a program system in a linear order, • use them only in this order, and • release them in reverse order. In order to achieve this, the declaration of a protoprocess has to contain a list of all resources that will eventually be needed during its execution in the form of a resource-claim. In a demand-clause, then, of course only those resources, that are actually needed, are listed in the same order. By means of this rule, already a preprocessor can check whether this correct sequence is followed, and can eventually even enforce that the resources are released in the correct order. As a result, the application of the design method presented in this paper practically guarantees that the resulting real-time systems are free of deadlocks. This is a very important aspect for real-time systems that have to work autonomously. Of course, the authors are aware of the fact that this is a very strict rule, which cannot always be followed easily. But sometimes the only remaining alternative might be an unreliable system behaviour - and that should of course be avoided. However, if a system designer bears that rule in mind already during early states of system development and tries to avoid such situations, it can lead to a better overall architecture of the system.

4. A Test Implementation

Fig. 10. The Principle of the Emergency Group in Graphical Syntax.

4.1. Technical Basis As a feasibility test, the proposed constructs have been implemented in the framework of a student project [1], comprising two persons and approximately three person months. Although this narrow time-frame and the shortage of financial means required some technical compromises regarding the completeness of the implementation, the results can be regarded as a success. The ideal implementation of the proposed method would have been an interactive programming tool on a graphical basis. But this would have required much too high an effort. Therefore, a text-oriented method on the basis of a macropreprocessor was chosen. Because the preprocessor available for "C" was not powerful enough, "M4"© from the UNIX© Environment was employed. The following target languages were selected: • "C", because it is currently the most widely used language for system programming, and • PEARL, because this language has explicitly been developed for real-time programming.

3.7.3. Deadlock Prevention Finally, it is necessary to make sure that a real-time system for critical applications is free of deadlocks. It is known that deadlock detection and prevention mechanisms can be applied to a program system if each process indicates its intended use of resources prior to its execution. The resource claim, introduced in Section 3.2, can be

The implementation for "C" was based on "Realtime-C M7©" on a Siemens process control computer with the operating system "Rmos32©". The implementation for PEARL used a Windows©-PC with the operating system "RTOS-UH©" of the University of Hanover. A programmer who wishes to use the macros would create his programs with any editor or IDE he chooses,

Declarations of other protoprocesses

Articles

35


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

feed his finished program files (which use the macros) to "M4"© and, then, feed the "M4"© output to the C or PEARL compiler. PEARL programs need to include the RTS.ph file, Realtime-C programs include the RTS.h file. Two different sets of macros were written, one for each of the chosen programming languages. Both have, however, the same syntax and the same functionality. The challenge was to find a common base of functionality between C (allows the user to do almost anything) and PEARL (focusses on readability, but does not allow the same things as other languages). It could be shown that most of the required functionality is available (more or less directly) in both languages. Implementations for "Java©" und "Ada©" were also taken into consideration, but could not be realized because of lack of time. It was also discussed whether a suitable object-oriented language could be used as a basis. However, some doubts concerning the predictability of the time behaviour of object-oriented programs remained (cf. Section 2.3). As examples for necessary modifications two cases shall shortly be mentioned: - The proposed notation for exception handling could not quite be realized. The exception macro cannot refer to arbitrary preceeding blocks, because e.g. labels and counters for the signal-group-reaction have to be initialized. Therefore, similar to usual notations (C++, Java), the macro "Try" was introduced, that opens a block containing exceptions. Additionally, the syntax for exceptions had to be modified. - Another example for an indirect implementation of a macro is the parallel tasks macro: the version of Realtime-C that has been used for the test implementation only supports binary semaphores. However, if two or more tasks end before ParEnd requests the semaphore of the first task (cf. Subsection III.1), it will be released more than once. But, as its value cannot be increased to more than one, tasks have to request a second semaphore to be allowed to finish themselves. The implementation was tested and demonstrated by means of two examples: I) Code in PEARL . Exclusive (Display, Disp); Signal (Sig); . I. 1)

The Producer Process

Articles

2010

a producer-consumer problem (4.2.1) and sending and processing of signals (4.2.2).

These are described in the following section. As far as the syntax of some of the implemented constructs is concerned, the reader will note that it differs in some places from the proposed form, because not all concepts could syntactically be implemented as originally proposed. The authors, however, chose to leave these inconsistencies visible instead of "covering them up" by modifiying the proposed syntax in order to fit this first experimental implementation. They would rather encourage a process of several test implementations in order to find out the best way of implementing the proposed concepts and arriving at a really consolidated syntax by a proper process of discussion among interested people. In order to encourage interested software designers to test the implemented macros, they have been made publicly available on the Internet [21]. They can be used under the terms and conditions of the GNU General Public Licence [22]. 4.2. Demonstration Examples 4.2.1. The Producer-Consumer Problem Basically, this problem consists of two processes: a producer process that calculates the squares of natural numbers, and a consumer process that displays the results on a screen. The results to be displayed are passed from the first process to the second one using a (non-protected) buffer in memory. For the synchronization between the two processes signals are used, because no critical behaviour of this miniature system is to be expected. The following parts of the entire program shall now give an impression as to how programs look alike in the proposed notation and, how much their lengths increase after expansion of the macros. In particular, it can be seen how much more lines of code would have to be written in a conventional programming language in order to achieve a comparable functionality which, of course, would result in a proportionally higher number of programming errors (cf. Section 2.2). Using the macros developed in the student project, the code of this program example is the following:

// exclusive resource // signal

Task(Producer) Claim(Sig); FOR i FROM 0 TO MaxValue REPEAT Try; Emit(Sig); Value = i * i; EmEnd; Exceptions(EXCEPTION_SignalInUse); Wait; ExEnd; END; TaskEnd; 36

-

N° 1


Journal of Automation, Mobile Robotics & Intelligent Systems

I.2)

VOLUME 4,

N째 1

2010

The Consumer Process

Task(Consumer) Claim(Sig, Display); DCL ValueCopy FIXED INIT(0); WHILE ValueCopy < MaxValue*MaxValue REPEAT Try; Demand(Sig, Display); ValueCopy = Value; PUT Value, NL TO Disp; Free; Exceptions(EXCEPTION_ResourceInUse, EXCEPTION_SignalNotSent); Wait; ExEnd; END; TaskEnd; II)

Code in C

. Exclusive (Display, stdout); Signal (Sig); .

// exclusive resource // signal

II.1) The Producer Process TASK(Producer) Claim(Sig) { int i ; for (i = 0; i <= MaxValue; ++i) { Try; Emit(Sig); Value = i * i; EmEnd; Exceptions(EXCEPTION_SignalInUse); Wait; ExEnd; } } TaskEnd; II.2) The Consumer Process Task(Consumer) Claim(Sig, Display) { int ValueCopy = 0; while (ValueCopy < MaxValue * MaxValue) { Try; Demand(Sig, Display); ValueCopy = Value; fprintf(stdout, "%d\n", Value); Free; Exceptions(EXCEPTION_ResourceInUse, EXCEPTION_SignalNotSent); Wait; ExEnd; } } TaskEnd; As can be seen from these examples, the written code is very short and easy to read, although it contains rather powerful constructs for process coordination and resource administration. In order to give an impression of the amount of code programmers would have to write in order to achieve the same quality of the coordination mechanisms, parts of the code, that has been produced by means of the macrogenerator, are shown in the next section. III)

Expanded Code in PEARL

III.1) The Producer Process Articles

37


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 4,

N째 1

2010

Producer:TASK; FOR i FROM 0 TO MaxValue REPEAT BEGIN; DCL (RTS_ContinueAt1,RTS_ThrownException1,RTS_Wait1) FIXED INIT(0,0,0); RTS_TryLabel1: CASE RTS_ThrownException1 ALT(0); IF RTS_Wait1 == 0 THEN IF NOT(TRY(EmitSema_Sig)) THEN RTS_ContinueAt1 = 1; RTS_ThrownException1 = 1; GOTO RTS_TryLabel1; RTS_ThrowLabel1_1:; FIN; ELSE REQUEST EmitSema_Sig; FIN; Value = i * i; RELEASE ResourceSema_Sig; ALT(1); RTS_Wait1 = 1; RTS_ContinueAt1 = 0; RTS_ThrownException1 = 0; GOTO RTS_trylabel1; FIN; RTS_ExEndLabel_1: END; END; RELEASE RTS_TaskSema(1); END; Remark: the Semaphore "RTS_TaskSema" is necessary in the parend-clause of the main function. Its purpose is to detect that all parallel tasks have been completed. It is, therefore, automatically generated and inserted by the macro generator. III.2) The Consumer Process Consumer:TASK; DCL ValueCopy FIXED INIT(0); WHILE ValueCopy < MaxValue * MaxValue REPEAT BEGIN; DCL (RTS_ContinueAt2,RTS_ThrownException2,RTS_Wait2) FIXED INIT(0,0,0); RTS_TryLabel2: CASE RTS_ThrownException2 ALT(0); IF RTS_Wait2 == 0 THEN IF NOT(TRY(ResourceSema_Sig)) THEN RTS_ContinueAt2 = 1; RTS_ThrownException2 = 3; GOTO RTS_TryLabel2; RTS_ThrowLabel2_1:; FIN; ELSE REQUEST ResourceSema_Sig; FIN; IF RTS_Wait2 == 0 THEN IF NOT(TRY(ResourceSema_Display)) THEN RELEASE ResourceSema_Sig; RTS_ContinueAt2 = 2; RTS_ThrownException2 = 2; GOTO RTS_TryLabel2; RTS_ThrowLabel2_2:; FIN; ELSE REQUEST ResourceSema_Display; 38

Articles


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 4,

N째 1

2010

FIN; ValueCopy = Value; PUT Value, NL TO Disp; RELEASE ResourceSema_Display; RELEASE EmitSema_Sig; ALT(2,3); RTS_Wait2 = 1; RTS_ContinueAt2 = 0; RTS_ThrownException2 = 0; GOTO RTS_TryLabel2; FIN; RTS_ExEndLabel_2: END; END; RELEASE RTS_TaskSema(1); END; IV)

Expansion of the Producer Process in C

void _FAR _FIXED Producer(void) { do { int i; for (i = 0; i < maxvalue; ++i) { do { int RTS_ContinueAt = 0, RTS_ThrownException = 0, RTS_Wait =0; RTS_TryLabel1: switch (RTS_ThrownException) { case(0): do { if (RTS_Wait1 == 0) { if (RmGetbinSemaphore (RM_CONTINUE, EmitSema_Sig)!=RM_OK) { RTS_Continueat = 1; RTS_ThrownException = 1; goto RTS_TryLabel1; RTS_ThrowLabel1_1:; } } else { RmGetBinSemaphore(RM_WAIT, EmitSema_Sig); } } while (0); Value = i * i; RmReleaseBinSemaphore(ResourceSema_Sig); break; case 1:; /* In case the signal is used,*/ /* wait until it is free again*/ RTS_Wait = 1; RTS_ContinueAt = 0; RTS_ThrownException = 0; goto RTS_TryLabel1; break; } }while(0); } } while(0); RmGetBinSemaphore(RM_WAIT, RTS_TaskReleaseSema[0]); RmReleaseBinSemaphore(RTS_TaskSema[0]); RmDeleteTask(RM_OWN_TASK); };

Articles

39


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

The consumer process in C has been left out in order to save space. It consists of still more lines of code than the expanded example in PEARL, and the authors believe that the character of the proposed method is sufficiently illustrated by the examples given. 4.2.2. The Signal Transmission Problem This example demonstrates the transmission of signals from one computer to another one. On the first computer coordinates are input by means of a mouse, on the second one they are displayed graphically. It was chosen, because the user interaction and visualisation of the input reflect some real-time requirements. In this case, they are the result of the necessary interaction with a human user. Therefore, unbounded wait statements are adequate. However, these should not be applied in hard real-time applications, where continue, repeat and cancel offer better predictability of the program execution behaviour. Fig. 11 shows the structograms used for the specification of the program code in order to give an impression of the applicability of the proposed graphical notation. Unfortunately, the example could only be programmed in PEARL, because the process control computer (which could run "C") did not have the necessary equipment. 4.3. Discussion of Results As already mentioned in Section 4.1, the effort for the test implementation of the preprocessor only amounted to approximately three person months. In this short time more of the proposed concepts were implemented than had been expected. To the opinion of the authors this compares rather favourably with the usual implementation costs of software tools. As could be expected, some problems arose with respect to a complete implementation of the proposed constructs in a one-to-one fashion. But they were also smaller than expected. Most of the necessary modifications were related to the syntax, because a macropreprocessor is less powerful in that respect than an interactive graphical programming tool. However, the expected reduction of the complexity of the programming process has been achieved. First of all, the length of the programs to be written is typically more than 50% shorter than until now, when the described programming mechanisms would have to be programmed manually - and provided the same reliability-oriented mechanisms. Of course, one might argue that part of this reduction could have been achieved without the proposed constructs by means of the use of macros alone. However, the authors hold that the much more flexible character of "classic" programming elements for real-time applications (according to experience) usually leads to many different ("individualistic") implementations of the same functionality and therefore would not really allow a comparable implementation in the form of macros. Therefore, according to the well-known direct relationship between the number of written "lines of source code" and the number of errors in a program this already means a considerable increase in the reliability of the resulting programs. In addition, the proposed constructs are much easier to comprehend than conventional real40

Articles

N째 1

2010

time programs. This leads to a further reduction of design errors. In addition to the benefits that have been mentioned in Section 2.2, discussion turned out that some further means (cf. Section 2.1) for the support of reliability are provided by the proposed method: It is possible to model the behaviour of a software system in order to discover conceptual errors. For this purpose one could, e.g., imagine a preprocessor that separates the real-time constructs from the algorithmic parts and replaces these by dummies, containing runtime estimates. The result could then be used as input for a simulator. This possibility of modelling the real-time behaviour of a system also allows - to a certain degree fault forecasting, at least as far as timing and synchronization problems are concerned. Last but not least, the method supports (as far as can reasonably be expected) software re-use which, in turn, helps in fault prevention. The basis for this is the separation of the computational parts of a program from the ones determining its real-time behaviour. On this basis, it is either possible to re-use tested and proven algorithms in a new real-time framework, or to replace outdated algorithms in a stable real-time structure without running the risk of disturbing or destroying critical timing relations.

5. Conclusions By means of the test implementation presented in this paper, it could be demonstrated that the proposed constructs indeed work, and can be applied to the construction of reliable real-time programs. It could be shown that the proposed "real-time structograms" can be applied to a variety of programming languages, and that they allow the specification of real-time systems independent of the underlying operating system. Therefore, the authors hold that this method is an excellent means for the design of safe and reliable realtime systems in the future, because it does not affect the customary use of common programming languages, operating systems, or hardware product lines. A very interesting feature appears to be the possibility to extract information from the design of a real-time system that can be used as input for simulators or queuing models in order to test the behaviour of a real-time system under design already in very early phases. A closer look even reveals that it can also be used for the design of entire systems - including hard-ware components. The reason for this is that the abstraction level of the structural elements is so high that they can also represent the functions of hardware components. Basically, this is already a property of structograms in general. These do not describe a flow of control as a sequence of detailed single statements, but more or less in the form of "action groups". Such an action group could, therefore, be implemented as a completely independent program, running on some remote processing unit. This, in turn, may well be implemented in the form of a custom-made chip. The process cluster is a still more instructive example: the individual processes of a cluster might be running on completely separate processing units. It is only necessary


Journal of Automation, Mobile Robotics & Intelligent Systems

that a mechanism exists for starting them at the same time, and for making sure that their termination is coordinated according to the rules of the flow of control "of higher order", of which they are part according to the specification given by the overall structogram. However, a complete description of this approach would require a separate paper. The authors hope that the presented method turns out to be a useful contribution to the solution of some

VOLUME 4,

N째 1

2010

problems connected with the design of real-time systems and look forward to comments and discussions. Finally, they want to thank the reviewers for their numerous detailed and useful comments. These certainly helped to identify a number of points that had not been made completely clear in the first place. The authors hope that this revised version now gives the reader a sufficiently complete impression.

Fig. 11. Structograms of the Signal Transmission Problem. Articles

41


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

AUTHORS Peter F. Elzer* - retired director of the Institute for Process and Production Control Technology, Technical University of Clausthal, now living at: Paradiesstr. 4, D-80538 München, Germany. E-mail: elzer.home@tonline.de. Martin Gollub - Werum Software & Systems AG, WulfWerum-Straße 3, D-21337 Lüneburg, Germany. E-mail: martin.gollub@werum.de. Sven Trenkel - Schlesienstr. 7, D-21391 Reppenstedt, Germany. * Corresponding author

[13]

[14]

[15]

[16] [17]

References [1]

[2]

[3]

[4]

[5]

[6] [7]

[8]

[9]

[10]

[11]

[12]

42

Trenkel S., Gollub M., Implementation von Methoden zur zuverlässigen Programmierung von Echtzeitsystemen (Implementation of Methods for Reliable Programming of Real-Time Systems); Student Project in the Department of Mathematics and Computer Science of the Technical University of Clausthal Prof. K. Ecker, 2004. Elzer P., “A Mechanism for the Design of Structured Real-time Programs for Process Automation”; Conference Proceedings "Prozessrechner 77", InformatikFachberichte, vol. 7, Springer-Verlag: Berlin-Heidelberg-New York, 1977, pp. 137-148. Elzer P., Structured Description of Process Systems; Dissertation, Report of the Institute for Mathematical Machines and Data Processing of the University of Erlangen-Nuernberg, vol. 12, no. 1, 1979. Elzer P., “Missed Opportunities in Real-time Programming?”. In: Wolfinger B. (ed.), Innovationen bei Rechen- und Kommunikationssystemen, Proceedings of the 24th Annual Conference of the German Computer Society in the framework of the 13th IFIP World Congress, Springer-Verlag: Berlin-Heidelberg-New York, 1994, pp. 328339. Elzer P., “A Method for the Construction of Reliable Real-Time Programs”. In: Proceedings of the Conference on Embedded Systems, Munich, 2004. DIN 66253-2 PEARL 90; Beuth Verlag, Berlin, Köln, 1998. Frevert L., Beschreibung der PEARL90-Syntax (Description of the Syntax of PEARL); http://www.irt.uni-hannover.de/pub/pearl/Frevert/ PEARL90Syntax.pdf Siemens SIMATIC Software, System Software for M7300/400, System and Standard Functions; Reference Manual, 1997. Laprie J.-C., Dependability of Computer Systems: from Concepts to Limits; 1998 IFIP International Workshop on Dependable Computing, Johannesburg. Industrial-process measurement and control - Evaluation of system properties for the purpose of system assessment. Part 5: Assessment of system dependability, Draft, Publication 1069-5, CEI Secretariat, 1992. Parnas D.L., A Technique for Software Module Specification with Examples; Comm. ACM, vol. 15, no. 5, 1972, pp. 330-336. Nassi B., Shneiderman A., “Flowchart Techniques for Structured Programming”, SIGPLAN Notices, vol. 8, no.

Articles

[18]

[19] [20] [21] [22]

N° 1

2010

8, 1973, pp. 12-26. Zalewski J., “Object-Orientation vs. Real-Time Systems”, Real-time Systems Journal, vol. 18, 2000, pp. 7577. Elzer P., “Resource Allocation by Means of Access Rights, an Alternative View on Real-time Programming“. In: Proceedings of the IFAC/IFIP Workshop on Real-time Programming, Pergamon Press: Oxford-New York, 1980, pp. 73-77. Goodenough J.B., “Exception Handling - Issues and a Proposed Notation”, Comm. ACM, vol. 18, no. 12, 1975, pp. 683-696. Dijkstra E.W., “Cooperating Sequential Processes”. In: Genuys (ed.) Programming Languages, London, 1969. Van Horn D., “Programming Semantics for Multiprogrammed Computations”, Comm. ACM, vol. 9, no. 3, 1966, pp. 143-155. Van Wijngarden A., Mailloux B.J., Peck J.E.L., Koster C.H.A. “Report on the Algorithmic Language AL-GOL 68“, Num. Math., vol. 14, 1969, pp. 79-218. Jones G., Programming in OCCAM, Prentice Hall International: Englewood Cliffs, London, 1987. Habermann N., Prevention of System Deadlocks; Comm. ACM, vol. 12, no. 7, 1969, pp. 373-385. http://home.tu-clausthal.de/student/software/ http://www.gnu.org/licenses/gpl.txt


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

OPTIMAL DESIGN OF MEMBERSHIP FUNCTIONS OF A FUZZY LOGIC CONTROLLER FOR AN AUTONOMOUS WHEELED MOBILE ROBOT USING ANT COLONY OPTIMIZATION Received 22nd September 2009; accepted 12th October 2009.

Pascual Martínez, Oscar Castillo, Arnulfo Alanis, Mario Garcia, José Soria

Abstract: In this paper we describe the application of a Simple ACO (S-ACO) as a method of optimization for membership functions' parameters of a fuzzy logic controller (FLC) in order to find the optimal intelligent controller for an Autonomous Wheeled Mobile Robot. Simulation results show that ACO outperforms a GA in the optimization of FLCs for an autonomous mobile robot. Keywords: fuzzy control, ant colony optimization, autonomous mobile robots.

1. Introduction Nowadays, fuzzy logic is one of the most used methods of computational intelligence and with the best future; this is possible thanks to the efficiency and simplicity of fuzzy systems since they use linguistic terms similar to those that human beings use. The complexity for developing fuzzy systems can be found at the time of deciding which are the best parameters of the membership functions, the number of rules or even the best granularity that could give us the best solution for the problem that we want to solve. A solution for the above mentioned problem is the application of evolutionary algorithms for the optimization of fuzzy systems. Evolutionary algorithms can be useful tools since its capabilities of solving nonlinear problems, well-constrained or even NP-hard problems. Among the most used methods of evolutionary algorithms we can find: Genetic Algorithms, Ant Colony Optimization, Particle Swarm Optimization, etc. This paper describes the application of evolutionary algorithms, such as the Ant Colony Optimization as a method of optimization of the parameters of the membership functions of the FLC in order to find the best intelligent controller for an Autonomous Wheeled Mobile Robot. This paper is organized as follows: Section 2 shows the concept of Ant Colony Optimization and a description of S-ACO, which is the technique that was applied for optimization. Section 3 presents the problem statement and the dynamic and kinematic model of the unicycle mobile robot. Section 4 shows the fuzzy logic controller proposed and in Section 5 it's described the development of the evolutionary method. In the Section 6 the simulation results are shown. Finally, Section 7 shows the conclusions.

2. S-ACO algorithm Ant Colony Optimization (ACO) is a probabilistic technique that can be used for solving problems that can be

reduced to finding good path along graphs. This method is inspired on the behavior presented by ants in finding paths from the nest or colony to the food source. The S-ACO is an algorithmic implementation that adapts the behavior of real ants to solutions of minimum cost path problems on graphs [11]. A number of artificial ants build solutions for a certain optimization problem and exchange information about the quality of these solutions making allusion to the communication systems of the real ants [5]. Let us define the graph G = (V, E), where V is the set of nodes and E is the matrix of the links between nodes. G has nG = ½V½nodes. Let us define as the number of hops in the path built by the ant V k from the origin node to the destiny node. Therefore, it is necessary to find: Q = {qa,...,qf½q1 ÎC}

(1)

Where Q is the set of nodes representing a continuous path with no obstacles; qa,...,qf are former nodes of the path and C is the set of possible configurations of the free space. If xk(t) denotes a Q solution in time t, f(xk(t)) expresses the quality of the solution. The general steps of S-ACO are the followings: · Each link (i,j) is associated with a pheromone concentration denoted as tij. · A number k = 1,2,...,nk are placed in the nest. · On each iteration all ants build a path to the food source (destiny node). For selecting the next node a probabilistic equation is used:

(2) Where, is the set of feasible nodes (in a neighborhood) connected to node i with respect to ant k, tij is the total pheromone concentration of link ij, and a is a positive constant used as again for the pheromone influence. · Remove cycles and compute each route weight f(xk(t)). A cycle could be generated when there are no feasible candidates nodes, that is, for any i and any k, ; then the predecessor of that node is included as a former node of the path. · Pheromone evaporation is calculated with equation (3): (3) Articles

43


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Where r Î [0,1] is the evaporation rate value of the pheromone trail. The evaporation is added to the algorithm in order to force the exploration of the ants, and avoid premature convergence to sub-optimal solutions [11]. For r = 1 the search becomes completely random [11]. · The update of the pheromone concentration is realized using equation (4): (4) Where is the amount of pheromone that an ant k deposits in a link ij in a time t. · Finally, the algorithm can be ended in three different ways: o When a maximum number of epochs have been reached. o When it has been found an acceptable solution, with f(xk(t)) < e. o When all ants follow the same path.

3. Problem statement The model of the robot considered in this paper is a unicycle mobile robot (see Figure 1) that consists of two driving wheels mounted of the same axis and a front free wheel.

N° 1

2010

the wheels of the robot where t1 and t2 denote the torques of the right and left wheel respectively (Figure 1); Fext Îú2 uniformly bounded disturbance vector; M(q) is Îú2´2 is the positive-definite inertia matrix; the vector of centripetal and Coriolis forces; and D Îú2´2 is a diagonal positive-definite damping matrix. Equation (6) represents the kinematics of the system, where (x,y) is the position of the mobile robot in the X-Y (world) reference frame, q is the angle between heading direction and the x-axis v and w are the angular and angular velocities, respectively. Furthermore, the system (5)-(6) has the following non-holonomic constraint: (7) which corresponds to a no-slip wheel condition preventing the robot from moving sideways[9]. The system (6) fails to meet Brockett's necessary condition for feedback stabilization [2], which implies that anon-continuous static state-feedback controller exists that stabilizes the close-loop system around the equilibrium point. The control objective is to design a fuzzy logic controller of t that ensures: (8) for any continuously, differentiable, bounded desired trajectory qd Î ú3 while attenuating external disturbances. A more detailed description can be found on reference [10].

4. Fuzzy logic control design Fig. 1. Wheeled Mobile Robot [10]. A unicycle mobile robot is an autonomous, wheeled vehicle capable of performing missions in fixed or uncertain environments. The robot body is symmetrical around the perpendicular axis and the center of mass is at the geometrical center of the body. It has two driving wheels that are fixed to the axis that passes through C and one passive wheel prevents the robot from tipping over as it moves on a plane. In what follows, it's assumed that motion of the passive wheel could be ignored in the dynamics of the mobile robot presented by the following set of equations [8]:

In order to satisfy the control objective it is necessary to design a fuzzy logic controller for the real velocities of the mobile robot. To do that, a Takagi-Sugeno fuzzy logic controller was designed, using linguistic variables in the input and mathematical functions in the output. The error of the linear and angular velocities (vd, wd respectively), were taken as inputs variables, while the right t1 and left t2 torques as outputs. The membership functions used on the input are trapezoidal for the negative (N) and positive (P), and a triangular was used for the zero (C) linguistic terms. The interval used for this fuzzy controller is [-50 50] [10]. Figure 2 shows the input and output variables, and Figure 3 shows the general FLC architecture. 2(a)

(5)

(6) Where is the vector of the configuration coordinates; is the vector of linear and angular velocities; t = (t1,t2) is the vector of torques applied to 44

Articles

2(b)


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

Table 2. Parameters of the membership functions.

2(c)

MF TYPE

POINT

Trapezoidal

a b c d a b c a b c d a a a

2(d) Triangular

Trapezoidal Fig. 2. a) Linear velocity error; b) Angular velocity error; c) Right output (t1); d) Left output (t2). Constant (N) Constant (C) Constant (P)

MINIMAL VALUE -50 -50 -15 -1.5 -5 0 1.8 0.5 5.1 50 50 -50 0 50

MAXIMAL VALUE -50 -50 -5.1 -0.5 -1.8 0 5 1.5 15 50 50 -50 0 50

5. ACO architecture A S-ACO algorithm was applied for the optimization of the membership functions for the fuzzy logic controller. For developing the architecture of the algorithm it was necessary to follow the next steps:

Fig. 3. Fuzzy logic controller architecture. The rule set of the FLC contains 9 rules, which governs the input-output relationship of the FLC and this adopts the Takagi-Sugeno style inference engine [10], and it is used with a single point in the outputs, this mind that the outputs are constant values, obtained using weighted average defuzzification procedure. In Table 1 we present the rule set whose format is established as follows: Rule i : if ev is G1 and ew is G2 then F is G3 and N is G4 where G1...G4 are the fuzzy set associated to each variable i=1,2,…,9.

N N/N C/N P/N

5.1. Limiting the problem and graph representation One of problems found on the development of the S-ACO algorithm was to make a good representation of FLC. First we reduced the number of elements that the method needed to find by deleting the elements whose minimal value and maximal values are the same (see Table 2) and therefore if they were included they will not change any way. Table 3 shows the parameters of the membership functions included in the search. Table 3. Parameters of the membership functions included in S-ACO search.

Table 1.Fuzzy rules set. ev/ew N C P

1. Marking the limits of the problem in order to eliminate unnecessary complexity. 2. Representing the architecture of the FLC as a graph that artificial ants could traverse. 3. Achieving an adequate handling of the pheromone but permitting the algorithm to evolve by itself.

C N/C C/C P/C

P N/P C/P P/P

MF TYPE

POINT

Trapezoidal

c d a c a b

Triangular To find the best FLC, we used a S-ACO to find the parameters of the membership functions. Table 2 shows the parameters of the membership functions, the minimal and maximum values in the search range for the S-ACO algorithm to find the best fuzzy logic controller. It is important to remark that values shown in Table 2 are applied to both inputs and both outputs of the fuzzy logic controller.

Trapezoidal

MINIMAL VALUE -15 -1.5 -5 1.8 0.5 5.1

MAXIMAL VALUE -5.1 -0.5 -1.8 5 1.5 15

The next step was to represent those parameters shown in table 3; to that, was necessary to discretize the parameters in a range of possible values in order to represent every possible value as a node in the graph of search. The level of discretization between minimal and maximal value was of 0.1 (by example: -1.5, -1.4, -1.3,…, -0.5).

Articles

45


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Table 4 shows the number of possible values that each parameter can take.

N° 1

2010

by Equation (5) and Equation (6), where the matrix values

Table 4. Number of possible values of the parameters of membership functions. MF TYPE Trapezoidal Triangular Trapezoidal

POINT c d a c a b

COMBINATIONS 100 15 33 33 15 100

and

Figure 4 shows the search graph for the proposed S-ACO algorithm, the graph can be viewed as a tree where the root is the nest and the last node is the food source. 5.2. Updating Pheromone trail An important issue is that the update of pheromone trail be applied in the best way possible. In this sense we need to handle the evaporation (Equation 3), and increase or deposit of pheromone (Equation 4), where the key parameter in evaporation is denoted by r that represents the rate of evaporation and in deposit of pheromone is denoted by Dt that represents the amount of pheromone that an ant k deposits in a link ij in a time t. For r we assign a random value and Equation 9 shows the way how the increase of pheromone is calculated. (9) Where emax is the maximum error of control permitted and ek is error of control generated by a complete path of an ant k. We decided to allocate emax = 10 in order to stand Dt Î[0,1].

6. Simulation results In this section we present the results of the proposed controller to stabilize the unicycle mobile robot, defined

Fig. 4. S-ACO architecture. 46

Articles

were taken from [6]. The evaluation was made through computer simulation performed in MATLAB® and SIMULINK®. The desired trajectory is the following one:

d

t

vd t 0.2 1 exp t wd t 0.4 sin 0.5t

(10)

and was chosen in terms of its corresponding desired linear vd and angular wd velocities, subject to the initial conditions

The gains gi, i=1, 2, 3 of the kinematic model (see [10]) are g1=5, g2=24 and g3=3 were taken from [10]. 6.1.

S-ACO algorithm results for the optimization of the FLC. Table 5 shows the results of the FLC, obtained varying the values of maximum iterations and number of artificial ants, where the highlighted row shows the best result obtained with the method. Figure 5 shows the evolving of the method.


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 1

2010

Table 5. S-ACO Results of Simulations for FLC optimization. Iterations Ants 20 20 25 25 25 25 25 25 25 25 25 25 25 10 10 40 40 40 40 50 50 50 50 25 25 25 25 50 62 50 50 60 60 60

10 10 10 10 10 10 10 100 100 100 100 100 100 15 15 65 65 65 65 70 70 70 70 80 80 80 80 80 50 80 80 90 90 90

a

r

0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2

random random random random random random random random random random random random random random random random random random random random random random random random random random random random random random random random random random

Average Error 1.5589 1.451 1.5566 1.4767 1.4739 1.6137 1.6642 1.3484 1.3413 1.3360 1.2954 1.4877 1.2391 1.6916 1.4256 1.2783 1.4011 1.2216 1.2487 1.3782 1.0875 1.4218 1.475 1.4718 1.4212 1.3221 1.1391 1.2148 1.0322 1.1887 1.2158 1.3493 1.3060 1.3161

Time 00:01:30 00:01:34 00:01:46 00:01:51 00:02:05 00:02:08 00:01:54 00:20:30 00:18:44 00:18:31 00:18:32 00:18:41 00:18:31 00:01:14 00:01:09 00:19:17 00:19:45 00:19:33 00:19:49 00:26:09 00:27:35 00:33:45 01:08:48 00:14:55 00:15:00 00:14:52 00:15:41 00:28:43 00:24:49 00:29:55 00:29:56 00:41:56 00:39:48 00:40:00

Fig. 5. Evolution of the S-ACO for FLC optimization. Figure 6 shows the membership functions of the FLC obtained by S-ACO algorithm. (a)

(b)

Fig. 6. (a) Linear velocity error, and (b) angular velocity error optimized by S-ACO algorithm.

Figure 7 shows the block diagram used for the FLC that obtained the best results.

Fig. 7. Block diagram for simulation of the FLC.

Figure 8 shows the results of linear and angular errors, and Figure 9 shows the output results of the fuzzy controller that represents the torque applied to the wheels of the autonomous mobile robot. Articles

47


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

7. Conclusions A trajectory tracking controller has been designed based on the dynamics and kinematics of the autonomous mobile robot through the application of ACO for the optimization of membership functions for the fuzzy logic controller with good results obtained after simulations. ACKNOWLEDGMENTS We would like to express our gratitude to the CONACYT and Tijuana Institute of Technology for the facilities and resources granted for the development of this research.

Fig. 8. Linear and angular velocity errors. AUTHORS Pascual Martínez, Oscar Castillo*, Arnulfo Alanis, Mario Garcia, José Soria - Tijuana Institute of Technology, Tijuana México. E-mail: ocastillo@hafsamx.org. * Corresponding author

References Bloch A.M., Nonholonomic mechanics and control, Springer Verlag, New York, 2003. [2] Brockett R.W., Asymptotic stability and feedback stabilization. In: R.S. Millman and H.J. Susman (Eds.), Diferential Geometric Control Theory, Birkhauser Boston, 1983, pp. 181-181. [3] Castillo O., Melin P., Soft Computing for Control of Non-Linear Dynamical Systems, Springer-Verlag, Helderberg, Germany, 2001. [4] Dorigo M., Birattari M., Stützle T., ”Ant Colony Optimization”, IEEE Computational Intelligence Magazine, November 2006, pp. 28-39. [5] Dorigo M., Stützle T., Ant Colony Optimization, Bradford, Cambridge, Massachusetts, 2004. [6] Duc Do K., Zhong-Ping Pan J., “A global out-put-feedback controller for simultaneous tracking and stabilizations of unicycle-type mobile robots”, IEEE Trans. Automat. Contr., vol. 20, issue 3, 2004, pp. 589-594. [7] Engelbrecht A.P., Fundamentals of Computational Swarm Intelligence, Wiley, England, 2005. [8] Lee T.-C., Song K.-T., Lee C.-H., Teng C.-C., “Tracking control of unicycle-modeled mobile robot using a saturation feedback controller”, IEEE Trans. Contr. Syst. Technol., vol. 9, issue 2, 2001, pp. 305-318. [9] Liberzon D., Switching in Systems and control, Bikhauser, 2003 [10] Martínez R., Castillo O., Aguilar L., “Intelligent control for a perturbed autonomous wheeled mobile robot using type-2 fuzzy logic and genetic algorithms.”, Journal of Automation, Mobile Robotics and Intelligent Systems, vol. 2, no. 1, 2008, pp. 12-22. [11] Porta-García M., Montiel O. and Sepulveda R., “An ACO path planner using a FIS for a Path Selection Adjusted with a Simple Tuning Algorithm”, Journal of Automation, Mobile Robotics and Intelligent Systems, vol. 2, no. 1, 2008, pp. 5-11. [12] Sepúlveda R., Castillo O., Melin P., Montiel O., “An Efficient Computational Method to Implement Type-2 Fuzzy Logic In control Applications, Analysis and Design of Intelligent Systems Using Soft Computing Techniques”, Advances in Soft Computing, vol. 41, June 2007, pp. 45-52.

[1]

Fig. 9. Right and left torques. The positions errors of the autonomous mobile robot can be observed in Figure 10. Figure 11 shows the desired trajectory and obtained trajectory.

Fig. 10. Position errors in x, y, q.

Fig. 11. Obtained trajectory.

48

Articles


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

SHIFTED UP COSINE FUNCTION AS UNCONVENTIONAL MODEL OF PROBABILITY DISTRIBUTION Received 17th March 2009; accepted 27th August 2009.

Zygmunt Lech Warsza, Marian Jerzy Korczynski

Abstract: The shifted up one period of cosine function with field under it normalized to 1 is proposed to be use as the unconventional model of probability density function (PDF). It could also approximate Normal probability distribution in the range ± 2.5 standard deviation with accuracy of about ±0.02, which is fully acceptable in the evaluation of measurement uncertainty. In this paper the properties of the above cosine based PDF are considered. The possibility of its applications in the routine data assessment and in virtual instruments with automatic uncertainty calculations is recommended. Keywords: probability density function PDF, cosines approximation of normal distribution.

1. Introduction Normal (Gaussian) probability density function - PDF is the most commonly applied as a model of error and uncertainty distributions including recommendations in international Guide to the expression of uncertainty in measurement, known under acronym GUM [1]. This application is valid due to the assumption that a large number of independent factors are randomly influencing upon the measured object and/or the measuring chain. In practice, one of the inconveniences of applying Normal PDF is non-limited range of the measurand values ± infinity. In measuring experiments there is a limited number of influencing variables and there are physical limits of collected data values. The additional information that data values are limited allows for using a function of limited width as a model of distribution, which estimates the data dispersion better than unlimited Gauss PDF. This difficulty is not solved good enough by the Gauss distribution of cut off both end tails and of normalized left area under the curve to 1. The description of such tails' truncated Gauss function is rather complex [8]. Then, non-Gaussian different distributions are also applied to uncertainty evaluations. Some of them, which are recommended for uncertainty evaluation by Monte Carlo method, are given in Table 1 of Supplement 1 to GUM [2]. More accurate estimators than the mean value may be also obtained for non-Gaussian distributions [4], [9]. No matter if the Monte Carlo method or the convolution based method is used, the simplification of Normal and tStudent distributions are a great assistance to reduce a number of mathematical operations as in both cases data tables of consume a lot of memory space. Furthermore the authors started developing instruments, where the automatic function of uncertainty calculation is im-

plemented [5], [6]. Different distributions have to be applied for online processing of signal uncertainty. In smaller and simpler intelligent transducers and even in instruments applying DSP the memory is rather limited. Generation of simple PDF model, which approximates Normal distribution, would be considered very helpful in this case. One of us (ZLW) suggests using as a distribution model of random data of limited values other then Gauss smooth function, e.g. the shifted up cosine in the range of -p to +p. In the simpler case this function may touch horizontal axe "x" - see Fig. 1 or even may be located above this axe. When we elaborated theoretical bases of that unconventional model, a mention of similar type model was found in the short paper by H. Green and D. Rabb published long ago - in 1961 [7]. Green proposed for psychometrics data to use arbitrarily chosen a particular nonoptimal shifted up cosine function in the range ±p as an approximation of Normal distribution. There is neither method how to find the cosine based function of optimal parameters nor the accuracy of approximation has been elaborated. That may be why Green's proposal was not later developed in statistical and metrology publications. Today's computer based possibilities of calculations do not limit estimating the best parameters of any type of PDF curve proposed for approximation of the measurement data distribution.

2. Theoretical bases 2.1. Formula of cosine-based PDF Proposed is unconventional model of probability density distribution function - PDF in the generalized form f(x) = B+A cos 2p

x for -0.5XT £ x £ +0.5XT (1) XT

Where: x - value of observations, f(x) > 0, XT=2X range equal to one period of cosines, 1/XT - reciprocal of XT (as frequency in time functions), A, B - constant parameters: cosine amplitude and value of shifting up. Form of PDF (1) normalized to X=0.5XT as f(x/X) and its cumulative distribution CPDF are given in Fig. 1 for A=B and x/X= 1. Because of the constant positive value B the function f(x) of (1) may be named as shifted up cosine function with proposed symbol +COS for general case A¹B. As model of the PDF distribution is valid for f(x)>0 only and its field is equal 1, then the function +COS could be applied in the range of one period ±(x = 0.5XT). Function f(x) of (1) generally has three independent parameters (A, B, X). So, to find them three relations are Articles

49


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

needed, i.e.: - field under curve in its range S=1, or S<1, e.g. as equal for Gauss curve in the same range, - range of approximation XAPROX<X or point to cross Gauss function or particular parameter of +COS function, e.g.: ±s, ±2s,… similarly as for Gauss, - minimum difference between two curves: experimental and +COS distribution, according to some criterion: LSM or LMM - minimum sum of difference squares or modules, Kolgomorov-Smirnov or Chebyshev criterion and others.

N° 1

2010

such function is e.g. covering the top point of Gauss distribution of standard deviation s - see curve 2 in Fig. 2, then the amplitude of its cosine component is: (4a) and as the field under curve (2) is S=1, then from (3) half of cosine range

For normalized Gauss distribution, i.e. when its standard deviation s =1 it is and

.

2.3. Cosine shifted up by B >A In the case when one period of cosine function is shifted more then its amplitude, i.e. by B>A, the field under curve S=2X B. From S =1 half range X of cosine function is X=1/(2B)

Fig 1. f(x/X) - normalized probability density function (PDF) of +COS distribution and F(x/X) - its cumulative function (CPDF), when mean x- =0, A=B and X=0.5XT . 2.2. Cosine shifted up by its amplitude A For unconventional model of PDF to use in practice is proposed the simplest shifted up cosine function when B=A as it is shown on Fig 1. In two its minimum it is tangential to x axe for x = ±X and from (1) is

(5)

Value of X is now smaller than for A=B. The function (1) can be expressed as f(x) = B + A cos(2pxB)

(6)

Function (6) has two independent parameters, i.e. A and B (or A and X). This function could be taken also for approximation of Gauss PDF, but only if higher accuracy than for A=B is needed. When X=1/2B the cumulative distribution CPDF as integral of (6) is described by following relation

(2) To obtain cumulative distribution CPDF of f(x) the range of integration is -X = x = +X. Field for this range S=1 and after integration of (2): A·2X = 1 and 2sin(x = ±X) = 0.

for -X £ x £ +X

In particular case (4) of A=B and then X=1/(2A) it is

Then:

(7a)

X=1/(2A)

(3) Some values of F(x) for and then below in Table 1.

and f(x) = A(1+cos2pAx) = 2A cos2pAx

(4)

Parameters A and X are mutually dependent as in (3) and it is enough to have one of them as given or from histogram of data or from approximation of Normal PDF by the above function according to a given rule. Function +COS of (4) with A=B is named below as COS2. It may be so chosen to passing the given point. If

Articles

are given

2.4. Standard deviation of B+Acos(·) distribution Standard deviation s+COS of the PDF model +COS function in general case (6) is (8) In the solution of (7) the generalized formula of n 2 ò x cos cx dx solution adopted for x , is applied.

Table 1. Values of COS2 model cumulative distribution CPDF.

50

(7)


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

(8a) Where: c=2pB and for x=X, B=1/2X or X=1/2B, B³A. Two parameters are independent and solution of (8) could be presented in a double form as (9) Solution is possible only for limited ratio of A/B as

In the case of COS2 when shifted up cosine is tangential to axe x, from (3) A=B=1/2X and then

N° 1

2010

In Fig 2 are shown: curve 1 - normalized Gauss PDF of , s=1 and N(0,1), i.e. three COS2 functions f(x)=A(1+cos2pAx): curve 2 - of going through the top point of 1 , curve 3 - of standard deviation s+COS=1 and curve 4 - of proposed by Green [7]. Fields S under curves are 1. Differences DPDF between each of COS2 distributions and Gauss of s = 1 are in Fig. 3a and of their cumulative distributions CPDF DCPDF - in Fig. 3b. Values of main parameters of above three COS2 functions are in columns 2 to 4 of Table 3. From Fig. 3a, b and data of Table 3 it is possible to conclude that difference DPDF of COS2 distribution 2 and normalized Gauss PDF, as well DCPDF of curves 2 and 3, do not exceed range ±2.1%.

(9a) If that standard deviation s+COS is given, it is possible to find mutually joint values A and X. For example if s+COS=1 is: A=0.1808, X= 2.766. Or in opposite, for a given range X , e.g. X = 2.5 from (9) s+COS=0.9060. For extended uncertainty calculations of COS2 PDF cover factors kPC for given P and large n>10 are put below in Table 2. Table 2. Extended uncertainty cover factors of COS2 PDF. P [%] 50 68.3 90 95 99 99.7 100 kPC(x/X) 0.265 0.385 0.596 0.683 0.816 0.878 1 For smaller n=10 additional extension than kPC in Table 2, nearer to the Student-Gosset PDF values, should be applied.

Fig. 3a). Differences DPDF of COS2 no 2, 3, 4 distributions and Normal distribution N (0,1) of s=1.

3. Approximation of normal distribution by function +COS

Fig. 3b). Differences DCPDF of COS2 2, 3, 4 and Normal N(0,1) cumulative distributions.

Fig. 2. PDF distributions: 1 - Normalized Gauss N(0,1) (i.e. s=1) and three tangential to axe x functions A(1+cos2pAx): 2 - passing through the top point of Gauss PDF, 3 - of standard deviation s+COS=1, 4 - Green proposal fGR(x) [7].

DPDF of Gauss and COS2 function 3, both of standard deviation s=1, are changed in the little broader range (+2,8, -3,7)%. Even this accuracy could be fully accepted to the most uncertainty type A evaluations. In column 4 are also given for comparison parameters of function fGR(x) proposed by Green in [7]. It has A=1/(2p), standard deviation s+COS » 1,14. Differences DPDF and DCPDF of Green function fGR(x) and normalized Gauss distributions are much higher up to (+4.5, -8.1)% then of top point function 3 and is not acceptable for the most research and technical measurements. Articles

51


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

Table 3. Parameters of few +COS distributions and of their differences DPDF, DCPDF to Gauss of s =1.

For approximation of the Gauss PDF two other COS2 functions of the single optimal parameter A=B are given in columns 5 and 6 of Table 3. Value A of curve 5 is calculated from differences DPDF by commonly known least square method LSM and of curve 6 by LMM method - min sum of modules. Differences DPDF and DCPDF of distributions 5 and 6 together with 2 in relation to Gauss PDF are compared in Fig. 4a, b. The accuracy of Gauss approximation by functions 5, 6 in the full period of cosine are very near to the accuracy of the top point curve 2.

Fig. 4a). Differences between few +COS PDFs of Table 3 and Normal PDF of s =1.

For shorter range of approximation it is possible to obtain a little better accuracy. Dependence of optimal values of A and of half range X of the +COS on the range of approximation XAPROX is given on Fig 5a. Changes of DPDF and DCPDF main parameters are in Fig. 5 b, c. Cosine amplitude A is decreasing with the approximation range XAPROX and its period X is increasing according to (3). Min and max differences of DPDF and DCPDF are changing very little. The best results is possible to receive for the simultaneous two-parameter optimisation of A and B columns 7 and 8 of Table 3 and curves 7 and 8 in Fig. 4 a, b. Accuracy of PDF and CPDF approximation of Normal distribution by +COS functions (7) or (8) of optimal two parameters A and B>A is twice better (» ± 0,01) than those of optimal single parameter A=B. But these +COS distributions look as Gauss with cut off tails and is not so simple to operate with them as with the first simpler COS2 function (2), which is tangential to axe x. Mean, extreme values and standard deviations of DPDF and DCPDF of all +COS functions considered above for approximation of the normalized (s=1) Gauss distribution are given together in Table 3 for comparison. Also each Normal distribution with arbitrary si may be similarly approximated by some COS2 function of Ai=Bi and Xi=1/(2Ai) from columns 2-6 of Table 3. From 9a results Aisi =As and

Fig. 4b). Differences between few +COS CPDFs of Table 3 and Normal CPDF of s =1. 52

Articles

Xi s= X si

(10)

Fig. 5. a) Changes of A and X on range of approximation XAPROX .


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

b)

N° 1

2010

a)

b)

c)

Fig. 7. a) PDF of: 1 - COS2 distribution and 3 - convolution of two identical COS2; 2 - and 4 - their best fitting Gauss PDFs (dotted lines); b. Differences DPDF: of Gauss and COS2 curve 1, of their convolutions PDFs - curve 2. Fig. 5. b) -DPDF and c) DCPDF parameters of ranges XAPROX of approximation the Gauss distribution by +COS of LSMoptimal A. Three examples of +COS approximations for Gauss PDFs of s=(0.5, 1, 2) are given in Fig. 6.

For this example of +COS = COS2 function A=B=0.2, X=2.5, s+COS=0.904 sG=0.997. Excess =2.4 (as for triangular PDF). Convolution result is not COS2 function, it is nearer to Normal PDF. Standard deviation of convoluted two similar non-correlated functions type +COS is

Its SD s2(+COS)=1.28. Excess =2.71. Full (Âą) range is 4X=10, sBest Gauss=1.33. Convolution of COS2 with various PDF gives results very near to the same convolutions of Normal PDF. Differences of convolution function of two +COS PDF and its Gaussian function (Fig. 7b) are twice as smaller than those of single COS2, DPDF =(0.0011, 0.0022).

5. Example of uncertainty calculations

Fig. 6. Gauss PDFs of and s =(1/2, 1, 2) and their +COS approximates.

4. Short note about convolusions of +COS function Result of convolution of two similar +COS distributions f(x)=A(1+cos 2pxA) is shown in Fig 7a.

Given is the sample of 200 xi values of repeated measurement observations obtained by regular sampling of the simulated random population. Trend was removed from collected data similarly as in [3], [5]. Accuracy of their mean value as estimator has to be found. It will be done with application of Gauss and COS2 PDF models and then the results should be compared. Histogram of deviations from the sample mean value x of 17 subranges is shown as 1 in Fig. 8. There are also: Gauss PDF - 2 and two +COS PDF, i.e. 3 - of the half-range Articles

53


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

X1=2.35 equal distance from 0 to extreme data xMAX and 4 - of X2 a little wider then found by Fig. 9a) for the calculated sample SD S(xi)=0.978. Half-ranges X of COS2 and extended uncertainties U of various confidence levels kP are given in Table 4. Matching of Gauss and COS2 PDF to histogram data is tested by SD of their differences - last two lines. Commonly used compliance test c2 is not proper for COS2 PDF.

Fig. 8. 1 - histogram hi of the sample of simulated data, 2 sample Gauss PDF and two COS2 PDF models: 3 - of the range 2X1 between extreme x1, xn observations, and 4 - of the range 2X2 obtain from SD of sample by (9a). Table 4. Mean x extended uncertainty of confidence levels kP of COS2(0, Xi) and Normal N (0, s) distributions.

Results of measurand x=x±U with the extended uncertainty U of probability P=kP are: Gauss model:

P=0.997

+COS model:

P=0.997

or

P=0.997

Extended uncertainty with confidence level 0.997 of the Gauss model is of 43.4 % or 33.1% higher than of the COS2 model of X1 or X2 half-ranges. The mean value in the case of COS2 model is inside the range ±(2.38 or 2.49)uA of Gauss PDF with the probability nearly 1.

54

Articles

N° 1

2010

6. FINAL CONCLUSIONS The additional information that experimental data values of the sample are distributed in limited range allows using the non-Gaussian distributions of limited width as model of their histogram. Some of them are given in Table 1 of Supplement 1 to GUM [2]. To achieve that the unconventional model not commonly used is also proposed. This suggested model of measurand probability density function is a shifted up (upward moved) one period of cosine function. This is the two-parameter model only as the Gauss distribution is and provides a useful tool for evaluation of uncertainties. This function of properly chosen parameters approximates very well the central region of Gauss PDF in the range up to about ± 2.5 standard deviation and gives better estimated uncertainty of the data of limited dispersion than unlimited Gauss PDF. An especially useful form of cosine distribution is when the amplitude A of cosine and shifting value B are equal. It means that the range of the random variable density has limits in points, where cosine is touching the horizontal axe. In radians it is ±p. It is also equal to cos2. The proposed distribution does not have such inconvenience, which is characteristic for Gaussian distribution of which its left and right borders of tails are not limited up to ±¥. In practice it is impossible for empirical observations to get values so widely distributed even with very small probability. The unconventional cosine based model of distribution of proposed symbol COS2 is expressed by a well known, easy to generate trigonometric function. The COS2 distribution is very similar to Normal distribution and for the most cases the precision of fitting about in the range of its one full period is obtained. For more narrow ranges the better accuracy of approximation ±1% can be achieved. The best fitting, near of approximation of Gaussian distribution by cosine PDF, is possible to achieve if cosine function is upward moved just a bit more than the value of cosine amplitude A. However, in such a case the cosine distribution is bounded similarly to a Normal distribution with cut off tails. Distribution COS2 has value of kurtosis nearly equal to triangular one, so it is also possible to use for it more accurate two-component estimator of PDF [9]. The convolutions of cosine-based distributions approached Normal distribution; some operations are easier, use less time and memory consuming. As the generation and simulations of cosine based distribution function are simpler, so they can be implemented in single chip computers or in small micro-calculators. The discussed cosine based distribution would be implemented in transducers and simpler instruments equipped with automatic uncertainty estimation to indicate results on line with required confidence [5], [6]. It may be also worth including the cosine-based distribution to basic PDF distributions used in the routine data assessment.


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 4,

N° 1

2010

AUTHORS Zygmunt Lech Warsza* - Polish Metrological Society, Warsaw, Poland. E-mail: zlw@op.pl. Marian Jerzy Korczyński - Technical University of Lodz, Poland. E-mail: jerzykor@p.lodz.pl. * Corresponding author

References [1] [2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

Guide to the expression of uncertainty in measurement (GUM), JCGM OIML, 1993. Supplement 1 to the Guide to the expression of uncertainty in measurement (GUM). Propagation of distributions using a Monte Carlo method, Guide OIML G 1101, Edition 2007 (E). Warsza Z.L., Dorozhovets M., Korczynski M.J., “Methods of upgrading the uncertainty of type A evaluation (1). Elimination the influence of unknown drift and harmonic components”. In: Proc. of 15th IMEKO TC4 Symposium, Iasi, Romania, 2007, pp. 193-198. Dorozhovets M., Warsza Z., “Methods of upgrading the uncertainty of type A … (2). Elimination of the influence of autocorrelation of observations and choosing the adequate distribution”. In: Proceedings of 15th IMEKO TC4 Symposium, Iasi, Romania, 2007, pp. 199204. Warsza Z.L., Korczynski M.J., “On-line cleaning of the raw data and uncertainty type A evaluation - development aspects”. In: Proceedings of 18th Symposium Metrology and Metrology Assurance, 10-14 Sept. 2008, Sozopol, Bulgaria, p. 330-337. Korczynski M.J, Warsza Z.L., ”A New Instrument Enriched by Type A Uncertainty Evaluation”. In: Proc. of 16th IMEKO TC4 International Symposium, Florence, 22nd - 24th Sept. 2008, paper 1181 (CD). Raab D.H., Green E.H.,“A cosine approximation to the normal distribution”, Psychometrika, vol. 26, no. 4, 1961, p. 447-450. Levin S.F., Levin S.S.: “Contour evaluation of truncated distributions in measurement”, Measurement Techniques, vol. 51, no. 1, 2008, Translated from: Izmeritel'naya Tekhnika, no. 1, January, 2008, pp. 10-13. Warsza Z.L., Galovska M., “The best measurand estimators of trapezoidal distributions”, Przegląd Elektrotechniki - Electrical Review, no. 5, 2009, pp. 86-91.

Articles

55


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 1

2010

CONTROL OF TWO WHEEL MOBILE MANIPULATOR ON A ROUGH TERRAIN USING REACTION TORQUE OBSERVER FEEDBACK Received 6th March 2009; accepted 24th September 2009.

Pradeep Kumara W. Abeygunawardhana, Toshiyuki Murakami

Abstract: The two-wheel mobile manipulator has the potential to become an efficient industrial robot due to its mobility and dexterity. Moreover, it has expanded the operational area of the mobile manipulator due to its ability to work in a limited space. However, adaptability to unknown environments has still not been developed to date. Therefore, adaptation of the two-wheel mobile manipulator for unknown environments especially for rough/irregular terrain is discussed in this paper. Information about the environment, a key factor when aiming for compliance with an unknown and/or unstructured environment, was collected using a reaction torque observer. In order to adapt to the environment, compliance control was applied to the twowheel mobile manipulator. In this paper, we present a novel control strategy we have developed that can deal with unknown environments through the effective use of inverted pendulum control. Simulation and experiments were carried out to ensure the validity of the proposed method. The method could be confirmed as effective according to the results obtained. Keywords: two-wheel mobile manipulator, inverted pendulum control, environment interaction, reaction torqueo, compliance control.

1. Introduction Mobility in outdoor unstructured or semi-structured environments is an important consideration for mobile robotic systems. The intelligence for generating adaptive motor function is important when improving mobility under such an environment. This paper addresses the robot environment interaction of the two-wheel mobile manipulator using a reaction torque observer. We have developed adaptive motor functions of wheel motors for uneven floor surfaces for the two-wheel mobile manipulator. Mobile manipulation provides the dual advantage of mobility and dexterity offered by the platform and the manipulator, respectively. The degree of freedom of the platform is also added the redundancy of the system. These systems can be effectively used for a variety of tasks such as industrial robots, service robotics etc. The two-wheel mobile manipulator has the ability to balance on its two-wheels and spin on the spot. This additional maneuverability allows easy navigation on various terrains, the turning of sharp corners and making of traverse small steps or curbs. The inverted pendulum problem is one of the common problems in the field of control engineering. The technology that has evolved from this 56

Articles

unstable system is popular among researchers around the world [1],[2]. Consequently, it has been used to implement self-balanced robots by many research groups [3], [4],[5]. The two-wheel mobile manipulator is one of the most recent self-balanced robots in which inverted pendulum control has been used [6]. More recently stability improvements have been proposed using null space control [7] and control gain switching [8]. However, the two-wheel mobile manipulator is expected to work in a dynamic environment in industry. Therefore this robot should be intelligent enough to cope with an unknown or unstructured environment. This paper proposes an embedded motor function, which develops the affinity and adaptability of the two-wheel mobile manipulator to the environment. In a real environment, there are different kinds of agents such moving objects, immobile objects and rough surfaces. Detecting the environment is a critical issue in developing intelligent motor functions resistant to environmental disturbances. Researchers have utilized in the recent past different kinds of detection methods such as sonar sensors, cameras, sensors with additional memory functions and force sensors [9],[10],[11] etc. Even though many detection methods have been reported on, an enduring problem has been that it is not easy to get precise information about floor due to viscous friction and floor elasticity. However, the reaction torque observer is a good candidate for obtaining this kind of environmental information [11]. Hence our choice to use the reaction torque observer to gather information on rough floors as described in this paper. Another advantage of this system is its low cost implementation due to being a sensor less application. The robot should be adapted to the environment and this adaptation can be implemented based on the remote and contact information collected. Trajectory tracking and obstacle avoidance derived from positional information are important considerations for adaptation by remote information. Among the significant applications, certain functions can be highlighted, namely: obstacle avoidance and robot navigation using potential functions [13],[14], obstacle avoidance control via sliding mode approach [15], near time optimal trajectory planning for wheeled mobile robots [16] and route planning for mobile robots amidst moving obstacles [17]. A versatile controller against environment change has been developed for a power assistant platform [18] and also a wheelchair robot [19] based on contact information. This paper uses the compliance control as a compensation method, which can smoothly compensate the environmental disturbances [20],[25]. Wheel and manipulator controllers are combined by means of a virtual


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

inverted pendulum model. Here, balancing of robot should be accomplished while achieving other motion targets. No research work has been reported to date reporting on the use of a reaction torque observer with inverted pendulum control. Therefore, this paper proposes an innovative embedded motor function, which can deal with the environment for the two-wheel mobile manipulator. In summary, this paper presents a control method that compensates the environment. Disturbances, which are detected through the reaction torque observer, do not affect the inverted pendulum control and trajectory control.

Fig. 1. Two-wheel vehicle. This paper is presented in seven sections. Following this introduction section II describes the modeling of the robot. Section III explains the double inverted pendulum and section IV describes the development of a robust wheel controller. Section V presents the manipulator control and Section VI gives a brief introduction to the disturbance observer and the reaction torque observer. Section VII has been organized in two parts as the simulation and the experiment. Each parts gives test procedure, parameters and results. Finally, we close the paper with the conclusion.

N° 1

2010

the passive joint, is also assumed to be a manipulator link. Therefore, the robot has the form of a two-wheel robot with four degrees of freedom manipulator. A. Dynamics The dynamic modeling is described in this section. The model of the robot is shown in Fig. 2. Variables of this model are given in Table 1. Table 1. Dynamic model parameters. q0 m0 qi mi mw qw l0 li R Su SR

Inclination angle of the vehicle body Mass of the vehicle body i=1,2,3 Joint angle of link i i=1,2,3 Mass of link i Mass of a wheel Rotation angle of wheels Distance between wheel center and center of body The length of the ith link Radius of wheels Universal coordinate Robot coordinate

In this derivation, we have assumed that mass of a link is located at the top of the link. q0 is the angle of the passive joint and the manipulator works in X-Z plane. X axis is selected horizontally parallel to the floor and Z axis is selected vertically. xR and zR are the robot's coordinates. Clockwise rotation of the vehicle body, wheels and all links are positive. In this model, dynamic equations are formulated using the Lagrange equation of motion. The Lagrange equation is shown in (1). (1) L is called Lagranrian function and is given by “L = T U”. Definitions of parameters are given by (Table 2). Table 2. Dynamic model parameters.

2. Modeling The model for the proposed device is described in this section. The two-wheel robot has a coaxial two-wheel system. A Direct Current (DC) servo motor with an encoder used to measure wheel angles has been mounted on one wheel. A vehicle body with three link manipulators and a wheel system are assembled together. Each manipulator link is controlled using a DC servo motor with encoder. The body is connected to the wheel system via a passive joint. The angle of the passive joint is measured using an inclination sensor. The body connected through

L T U ti qi

Lagranrian function Kinetic energy of the system Potential Energy of the system External torques i=w,0,1,2,3 angles of wheel, passive joint and links 1,2,3 Kinetic energy of this system is given by eq. (2) (2)

(3) where v denotes the linear velocity and h represents height from the wheel center to mass center of the link. I is the moment of inertia of the corresponding links. By simplifying (2) and (3) with (1), we can obtain dynamics of the system as (4). Fig. 2. Model of two-wheel mobile robot.

(4) Articles

57


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

where, t is the vector of motor torques. M is inertia matrix. H represents coriolis acceleration coefficient and centrifugal acceleration coefficient. G represents gravity.

N째 1

2010

A dynamic equation of the double inverted pendulum is derived by using equation (1) and is given as shown in (10). (10)

B. Double inverted pendulum Inverted pendulum having two stages is called double inverted pendulum. The stability margin of a double inverted pendulum is larger than that of a single inverted pendulum. The former is used in this paper and a model of it is shown in Fig. 3.

Where, is a 3 x 3 symmetric matrix and components are given in (III). Matrices and are given by equations (11) and (12).

(11)

(12) Fig. 3. Double inverted pendulum model. Table 3. Elements Md(q). Gx Gz ld qd

x position of COG (Center Of Gravity) z position of COG Length of second pendulum Angle of second pendulum

In our system, we have three link manipulators and the robot body. Therefore the manipulator system has four degrees of freedom. Equivalent mass center and its position for the input into the manipulator system can be calculated for this system as (5) and (6). At this point we have a virtual robot body and an inverted pendulum. Ultimately it becomes a virtual double inverted pendulum system [6]. We used abbreviations to express equations (5) and (6) and those are given in (7). (5)

(6)

md11 = (mw + m0 + M2) md13 = M1 ld cosqd md22 = (m0 + M1)l02 md31 = M1 ld cosqd md33 = M1 ld2

md12 = (m0 + M1)l0cosq0 md21 = (m0 + M1)l0cosq0 md23 = M1 l0 ld cosqd(q0 - qd) md32 = M1 l0 ld cosqd(q0 - qd)

Here mw is the mass of wheels m0 is the mass of Body and M1 is the mass of the second pendulum and it is calculated as M1 = m1 + m2 + m3. The dynamics of the double inverted pendulum are given in matrix form as explained by (10)-(12). Assuming that the passive joint angle, q0 and the angle of the second pendulum, qd are small angles, we simplify the second equation of (10). Since l0 is not equal to zero, (13) was obtained. The relationship between the linear acceleration and the angular acceleration of wheels is shown as (14). Stabilization control of the two-wheeled mobile manipulator was implemented using (13) and (14). (13)

(14) In our system, q0 which does not have a control input is the angle of passive joint. In order to stabilize the whole system, it is necessary to control q0. The only way that q0 can be controlled, is to control the wheel acceleration. Hence, the control equation (15) is approximated. (7) The length of the second pendulum and the angle of the second pendulum are given by equations (8) and (9).

(15)

(8) (9)

58

Articles

Kpd is the position gain of wheel command estimation and Kvd is the velocity gain of wheel command estimation. and are angle and angular velocity of robot


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

body or passive joint, which are, measured a using gyro sensor. and are command values and equal to zero. is the interactive effect of the second pendulum. Equation (15) was substituted with (13) and (14) combined and a Laplace transformation was performed for resultant equation. Finally, G(s) can be obtained.

N° 1

2010

Proportional and Derivative (PD) controller. Angular velocity command, and angular position command of wheel, were reckoned using the double inverted pendulum model as described in the previous section. These angular commands can be converted into linear commands as shown in (20) and (21). Hence, the acceleration reference of the wheel was drawn as described by (22). Kp and Kv are proportional gain and velocity gain of wheel controller. (20) (21)

(16) (22) (17) This is a second order transfer function. Natural angular frequency, and damping coefficient, are given in (17). Kpd and Kvd were selected such that the system is stable. To realize the wheel control, the angular acceleration of wheel, , which was estimated as described in (15) was taken as an acceleration command to the wheel motors. Then, estimated angular position and angular velocity are generated by integrating the angular acceleration command. The calculation process is represented by (18). Finally, estimated angular position and angular velocity are taken as angular position command, and angular velocity command, to the wheel motor as described in (19).

This simple controller was modified by including a compliance control. Reaction torque estimated through the reaction torque observer is used for compliance control. Fig. 4 illustrates the translational and rotational direction force components. In this approach the force component in the rotational direction is zero.

(18) (19)

3. Development of robust wheel controller using compliance control In rough terrain, there may be some steps and random items such as pieces of stone. When the robot collapses due to such an item, it is because there have been forces acting on the wheels of the robot. The controller should have been robust enough to handle these forces. In this section we explain the implementation of a robust controller for rough terrain. List of symbols that we used in this section is given by Table 4. Table 4. Wheel controller parameter. xcmd .v xcmd v xres .v xres v Fenv treac .. xenv . xenv xenv Kp Kv Ă™

Linear position command of the wheel Linear velocity command of the wheel Linear position response of the wheel Linear velocity response of the wheel Force from the environment Estimated reaction torque Estimated acceleration of the environment Estimated velocity of the environment Estimated position of the environment Position gain of wheel controller Velocity gain of wheel controller

Fig. 4. Translational and rotational force component of the robot. When the wheels of the robot collide with some object on the floor, it produces forces back on wheels. These forces are estimated by reaction torque observers implemented on wheel motors as torques. These reaction torques are transformed into the translational direction as explained in (23). (23) Estimated forces are converted into position characteristics using compliance control. If the virtual impedance characteristics of the environment are Menv, Denv and Kenv, the conversion of reaction force into the position command is shown in (24). Aenv is feedback gain of external force. (24) Using (24), it is possible to calculate the position feedback and velocity feedback from the environment. The acceleration reference command to the wheel motor is modified as shown in (25).

(25) Obviously, the wheel controller is basically a simple Articles

59


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Final acceleration reference value to the wheel motor is implemented as in (25). An acceleration command is produced by the robust control system based on the disturbance observer and is transformed into torque by motor inertia. Here, if only the ingredient of one degree of freedom is taken out and the Laplace conversion is carried out, it yields,

(26)

(27)

Where, , - Position response characteristics with respect to position command , , - Position response characteristics with respect to environment force Fenv, - Compliance characteristics. Cenv, By this method, separate designs of characteristics for each input ( , Fenv) can be obtained. It is possible to attain the desired compliance characteristic Cenv, maintaining performance of its position control. Fig. 5 shows a block diagram of the wheel controller. The control strategy has already been elaborated on; describing how a velocity reference is generated to the

Fig. 5. Wheel controller with compliance control. 60

Articles

N째 1

2010

wheel motor. The robot presented in this paper is commanded through a pendulum model. A virtual double inverted pendulum model was constructed utilizing manipulator dynamics and wheel dynamics. Acceleration commands to the wheel are generated using inverted pendulum control so that the body can maintain its balanced position. Desired body angle ( ) is determined by the pendulum model according to the commanded COG position. The inclination sensor that was mounted on the robot body is used to measure the actual angle of the body ( ). With the help of this data, an acceleration command is derived and elaborated inside the pendulum controller in Fig. 5 and this process was explained by section 2B. The angular acceleration command is converted into linear mode. Velocity and position commands for the wheel motor are calculated by integrating the linear acceleration command. A reference motor current is calculated using motor inertia, gear ratio and current constant. A disturbance observer compensates the disturbances of the wheel motor. Reaction torque feedback is used to modify the trajectory in such a way that the robot can adapt to the changing environment. Reaction torque observers are implemented for each wheel motor and the outputs of those are taken as the input to the compliance controller. The strategy that was used to modify the wheel PD controller is depicted in Fig. 5 as a compliance controller.

4. Posture control of manipulator using cog control Kinematic relationship can be expressed as shown in (28)-(30). q is the joint angle vector and is defined by


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

q =( , workspace.

,

,

) and x is the position vector in

The workspace acceleration reference (35).

N째 1

2010

is given in

(28)

(35)

(29)

where J(q) is Jacobean matrix. Position vector in workspace, x becomes COG positions of virtual inverted pendulum. Therefore kinematics represented by f(q) is explained by (31).

where, Khp and Khv are the proportional gain and derivative gain respectively. x is the COG position vector in the workspace of the inverted pendulum and xcmd is the COG position vector in the workspace of the inverted pendulum. Null space acceleration reference, is calculated as shown in (36). and are angular position command and angular position response respectively.

(31)

(36)

Abbreviations are defined in (7). In the redundant manipulator, joint space acceleration reference, which was obtained using pseudo inverse matrix, can be written as (32). In (32), the first term is the workspace acceleration and the second term represents the null space motion.

Fig. 6 shows the detailed block diagram of the posture control of the manipulator. ) was calcuThe angular acceleration reference ( lated as shown in (34). Motor inertias were used to derive the input torques of the manipulator motors. Position responses of all links were used to model the virtual inverted pendulum. In addition to this, position and velocity responses were used to calculate the feedback signals to the workspace. Disturbance observers were implemented to each and every motor. A workspace observer was constructed to compensate the workspace error and Fig. 7 illustrates a diagram of it.

(30)

(32) where, is the weighted pseudo inverse matrix and defined as (33). (33) W of the above equation is a diagonal weighting matrix. In the joint space a disturbance observer based acceleration controller, W corresponds with the virtual inertia matrix Ivn and can be selected arbitrary [22]. By using the joint space and workspace observers in (32), it can be rewritten as (34) without calculating the + and (I - J J) terms [23]. (34)

Fig. 7. Block Diagram of workspace observer.

Fig. 6. Block diagram of manipulator control. Articles

61


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Reference acceleration and velocity in the workspace are the inputs to the workspace observer and gw is the workspace gain. is the acceleration reference of the position vector and is the acceleration error of the position vector. and are linear velocity response and angular velocity response respectively.

5. Disturbance observer, reaction torque observer and compliance control

N째 1

2010

(43) Ktn and Mn are the nominal torque coefficient and the inertia, respectively. DKt and DM are torque coefficient fluctuation and inertia fluctuation respectively. However, dynamic equation yields, (44)

A. Disturbance Observer Disturbance observers were implemented on the motor controllers to cancel the disturbance effects [21]. This section describes the architecture and characteristics of a disturbance observer. When a servomotor with one degree of motion is considered, under an ideal motor driver, a servomotor in the joint space can be represented as (37), (37) Where, Generated torque of the motor, Load torque, Motor inertia, Angular acceleration.

Rearranging (44), equation (45) can be obtained. Therefore disturbance torque can be obtained as (46). (45) (46) It is hard to implement an ideal differentiator. Therefore, a pseudo-differentiator is used to obtain the acceleration. In addition, noise is included in velocity signal. Low pass filler is inserted to reduce the effect of this noise. Total calculation process of the disturbance can be represented as shown in (47). Fig. 8 depicts the disturbance observer. gob is the disturbance observer gain. (47)

The total generated torque can be expressed as (38) Kt is a function of flux position and expanded in Fourier series and is called a torque coefficient. Ia is torque current. In most cases, it is possible to regard Ia as ref torque current reference Ia . (39) Where, is the interactive torque including the Coriolis term, the centrifugal term and gravity term. is the reaction torque when the mechanical system does the force task. F and are Coulomb and viscous friction, respectively. Substituting (38) and (39) into (37) yields (40). (40) The parameters in (40) are the inertia and the torque coefficient. The inertia will change according to the mechanical configuration of the motion system. (41) The torque coefficient will vary according to the rotor position of the electric motor due to irregular distribution of magnetic flux on the surface of rotor. (42) Total disturbance torque

Fig. 8. Block diagram of disturbance observer. B. Reaction Torque Observer The disturbance torque estimated by (47) in the previous section, is used for a realization of robust motion control. It is effective not only for the disturbance compensation but also the parameter identification in the mechanical system. The output of the disturbance observer is only the friction effect under the constant angular velocity motion. This feature makes it possible to identify the friction effect in the mechanical system. The external force effect is also identified by using the estimated disturbance [12]. Here, it is assumed that the friction effects are known beforehand by the above identification process. By implementing the angular accelerated motion the system parameters are adjusted in the observer design so that they are close to the actual values. As a result, can be calculated as in (48).

can be defined as follows. (48)

62

Articles


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

F Mn Ktn

N째 1

2010

The compliance control based position control system is implemented by applying disturbance observer. Equation (51) and Fig. 10 is explained compliance control based position control system.

Reaction torque, Interactive torque, Coulomb friction, Viscous friction, Nominal value of motor inertia, Nominal value of current coefficient, Estimated reaction torque.

(51) Here, it is assumed that the nominal values of Mn and Ktn have been finely adjusted such that it is almost equal to the actual values. Total calculation process of reaction torque observer is shown in (49).

(49) Fig. (9) depicts the reaction torque observer.

6. Validation of proposed method In order to verify the proposed method simulation and experiment was conducted. First, we explain the simulation method and its result. Then experiment and results are described. A. Simulation Simulation was carried out to check the validity of proposed method. Spring-damping model used to model the environment [26]. Environment was modeled by using spring damper model and modeling is explained by (52). Ke and De are damping coefficient and viscous damper of damping model, respectively.

(52)

(53) Fig. 9. Block diagram of reaction torque observer.

OpenGL simulation set up was used and it is shown in Fig. 11. Simulation parameters are given in table (V).

C. Compliance Control The compliance control is the control system of compensating trajectory so that external force may be followed, when force is received from the external world. It is possible to realize stable contact with the environment by this, and it becomes possible to give the robot flexibility [19],[20]. Virtual impedance characteristics are set as a mass damper-spring model. If the virtual impedance characteristics are MC, DC, KC and force feedback gain is AC, Equation (50) explains the conversion of force command into position command, . and are acceleration command and velocity command of the compliance controller.

Table 5. Simulation parameter. Symbol

Value 6000.0 10.0 0.0001

Symbol

Value 600.0 1.0

(50)

Fig. 11. Simulation setup.

Fig. 10. Block diagram of compliance control.

In simulation, we injected the force to the wheel controller during 4.5 seconds and 5 seconds. Physical meaning of this is, wheel collides an object on the floor after 4.5 seconds and goes over that objects for 0.5 seconds. Articles

63


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Then we observed the resultant torque from the damping model and proposed reaction torque observer and results are shown in Fig. 12. Fig. 13 clarifies that there is a torque riffle when colliding and releasing an object. Variation of passive joint angle is shown in Fig. 14 and variation of COG positions are shown in Fig. 15 and Fig. 16. Simulation results are proved that the proposed controller is strong enough to stabilize the system quickly.

N째 1

2010

utilizing disturbance torque, which is measured through the disturbance observer. According to the definition, terms of gravity and friction effect should be removed from disturbance torque to calculate the reaction torque. By performing several constant velocity tests, the gravity and friction effect can be estimated [12]. Therefore, a constant velocity test was carried out for the wheel motors. Equation (54) shows the equation of friction effect. In this case the gravity effect is relatively small.

(54) Thereafter, the experiment was carried out in an environment with an irregular floor. Since the laboratory floor is a smooth surface, it was made rough by laying floor carpets as shown in Fig. 17.

Fig. 12. Torques from the environment.

Fig. 15. X position of the pendulum.

Fig. 13. Wheel motor torque.

Fig. 16. Z position of the pendulum.

Fig. 14. Angle of passive joint. B. Experiment An experiment was conducted to check the validity of the proposed method using the two-wheel mobile manipulator, which is shown in Fig. 1. Before the experiment itself, a constant velocity test was carried out to estimate the reaction torque. Reaction torque was estimated by 64

Articles

Fig. 17. Experiment set up.


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Initially the robot was moved on a straight-line trajectory without the proposed environmental interaction method. It failed to deal with this successfully. Thereafter, the proposed compliance control based PD controller was applied to the robot wheels and the experiment was repeated for same trajectory. The robot moved successfully over the rough floor this time and the data was collected. Robot details are shown in Table 6 and experimental parameters are given in Table 7 with the descriptions.

N째 1

2010

Fig. 19 depicts torque variation of the wheel motor. It is clear that torque has been increased at the barriers. However, the controller was strong enough to stabilize the motor torque. Fig. 20 shows the position variation of the two-wheel mobile robot over time. Until body balance was achieved, the robot did not move forward. After achieving the balancing of the body, the robot started to move forward. While moving, it went over the carpets that had been laid.

Table 6. Robot parameter used in experiment. Description Mass of a wheel Mass of the body Mass of the link 1 Mass of the link 2 Mass of the link 3

Mass kg 8.5 13.0 1.06 0.84 0.5

Description Radius Length of the link 0 Length of the link 1 Length of the link 2 Length of the link 3

Length m 0.2 0.125 0.2 0.2 0.18

Table 7. Experimental parameter. Symbol Kp Khv gob

Value 900.0 60.0 30.0 5.0

Symbol Kv Kpd gw

Value 60.0 10.5 60.0 1.0

Symbol Khp Kvd greac

Value 900.0 27.2 30.0 0.00005

In our experimental work without the proposed method only the conventional PD control was used for wheel control. Then we applied the controller modified using compliance control. The two-wheel mobile manipulator is a self-balancing robot, which does not have any supportive wheels or castors. Therefore it is likely to become unstable even when submitted to small disturbances from the environment. Therefore we used two floor carpets, which were not very thick. With only conventional PD control, the robot failed to get over the carpets. However with the modified controller the experiment succeeded and the robot was able to move over carpets. The inclination angle of the body is depicted by Fig. 18. When the robot passed over the step on the floor, the inclination angle increased slightly. However, after passing the barrier, our proposed controller reduced the inclination angle variation back to its normal.

Fig. 19. Reaction torque from environment.

Fig. 20. Position response of robot.

Fig. 21. x position of COG.

Fig. 18. Inclination angle (passive joint).

Fig. 21 and Fig. 22 illustrate the COG positions of the virtual inverted pendulum. Dot lines are the command values in both cases. COG response shows a small amount of variation when going over the floor barrier. However, it Articles

65


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

becomes stable very quickly and this proves the effectiveness of the proposed controller.

[6]

[7]

[8]

Fig. 22. z position of COG.

[9]

7. Conclusion In this paper, a robust wheel controller for rough terrain has been proposed using a reaction torque observer. The two-wheeled mobile manipulator should be stable in the face of external disturbance coming from the environment. A control system, which can handle the environmental disturbances, was developed using reaction torque feedback and compliance control. First, simulation was implemented to check the validity of proposed method. Then, an experiment was conducted to check the validity of the proposed method. In the experiment, with the proposed method the mobile manipulator could run over the barriers, which were laid, on the floor. Without the proposed method, the system became unstable when confronted with the barrier. Therefore the effectiveness of the proposed method is justified.

AUTHORS Pradeep Kumara W. Abeygunawardhana, Toshiyuki Murakami* - Keyo University, Yokohama, Japan. E-mail: abeygunawardhana@yahoo.com * Corresponding author

[10]

[11]

[12]

[13]

[14]

References [1]

[2]

[3]

[4]

[5] 66

Ch.-I., Fu L.-Ch., “Passivity based control of the double inverted pendulum driven by a linear induction motor”. In: Proceedings of 2003 IEEE Conference on Control rd th Applications (CCA) 2003, 23 -25 June 2003, vol. 2, pp. 797-802. Yasunobu S., Iwasaki T., “Swing up intelligent control of double inverted pendulum based on human knowth th ledge”. In: SICE 2004 Annual Conference, 4 -6 August 2004, vol. 2, pp. 1869-1873. Grasser F., Aldo D’Arrigo, Silvio Colombi, “JOE: A Mobile, Inverted Pendulum”, IEEE Transactions on industrial electronics, vol. 49, no. 1, 2002. Hiroshi N., Murakami T., “An Approach to self Stabilization of Bicycle Motion by Handle Controller”. In: Proceedings of the First Asia International Symposium on Mechatronics, September 2004. Iuchi K., Hiroshi N., Murakami T., “Attitude Control of

Articles

[15]

[16]

[17]

[18]

N° 1

2010

Bicycle Motion by Steering Angle and Variable COG nd Control”. In: IECON 2006. 32 Annual Conference of th th IEEE Industrial Electronics Society, 6 -10 Nov. 2006, pp. 2065-2070. Abe H., Shibata T., Murakami T., “A Realization of Stable Attitude Control of two-wheels Driven Mobile Manipulator”. In: IEEE AISM Conference, December 2006. Shibata T., Murakami T., “A Null Space Control of twowheels Driven Mobile Manipulator Using Passivity Theory”. In: Second Asia International Symposium on Mechatronics (AISM 2006). Abeygunawardhana P.K.W., Murakami T., “Industrial nd Electronics Society, 2007. IECON 2007. 33 Annual Conference of IEEE”. In: Second Asia International th th Symposium on Mechatronics (AISM 2006), 5 -8 Nov. 2007, Taipei, Taiwan, pp. 2712-2717. Miyashita T., Ishiguro H., “Behavior Selection and Environment Recognition Methods for Humanoids based on Sensor History”. In: Proceedings of the 2006 IEEE/RSJ International Conference on Intelligent Robots th th and Systems, 9 –15 October 2006, Beijing, China, pp. 3468-3473. Perez-Mendoza S.J., Ayala-Ramirez V., “Visual servoing th for micro robotic platforms”. In: Proceedings of the 14 International Conference on Electronics, Communicath th tions and Computers (CONIELECOMP’04), 16 -18 Feb. 2004, pp. 18 – 22. Zha H., Tanaka K., Hasegawa T., “Detecting Changes in a Dynamic Environment for Updating its Maps by Using a Mobile Robot”. In: IROS’97. Proceedings of the IEEE/ RSJ International Conference on Intelligent Robots and th th Systems, 7 -11 Sept. 1997, vol. 3, pp. 1729-1734. Murakami T., Yu F., Ohnishi K., “Torque Sensorless Control in Multi degree of Freedom Manipulator”, IEEE Transaction on Industrial Electronics, vol. 40, no. 2, April 1993, pp. 259-265. Kim J.-O., Khosla P. K., “Real-time obstacle avoidance using harmonic potential functions”, IEEE Transactions on Robotics and Automation, vol. 8, issue 3, June 1992, pp. 338-349. Rimon E., Koditschek D. E., “Exact robot navigation using artificial potential functions”, IEEE Transactions on Robotics and Automation, vol. 8, issue 5, October 1992, pp. 501-518. Utkin V.I., Drakunov S.V., Hashimoto H., Harashima F., “Robot path obstacle avoidance control via sliding mode approach”. In: Proceedings IROS. IEEE/RSJ International Workshop on Intelligent Robots and Systems rd th Intelligence for Mechanical Systems, 3 -5 November 1991, vol. 3, pp. 1287-1290 . Choi J.-S., k Kim B.-K., “Near-time-optimal trajectory planning for wheeled mobile robots with translational and rotational sections”, IEEE Transactions on Robotics and Automation, vol. 17, issue 1, February 2001, pp. 85- 90. Fujimura K., “Route Planning For Mobile Robots Amidst Moving Obstacles”. In: Proceedings of the 1992 EEE/RSJ International Conference on Intelligent Robots and th th Systems, 7 -10 July 1992, vol. 1, pp. 433-438. Nagami A., Murakami T., Ohnishi K., “A power-assistant platform taking environmental disturbance into ac-


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 4,

N° 1

2010

th

[19]

[20]

[21]

[22]

[23]

[24]

[25]

[26]

count”. In: Proceedings of the 6 International Workshop on Advanced Motion Control, 2000, pp. 152-157. Katsura S., Ohnishi K., “Human Interaction by a Wheelchair”. In: IECON’02. Industrial Electronics Society, IEEE th th th 28 Annual Conference, vol., 5 -8 Nov. 2002, pp. 2758-2763. Katsura S., Ohnishi K., “A Wheelchair type mobile robot Taking Environment Disturbance into Account”, In: th 7 International Workshop on Advanced Motion Control, rd th 3 -5 July 2002, pp. 500-505. Kouhei O., Murakami T., Masaaki S., “Motion control for Advanced Mechatronics”, IEEE/ASME Transactions on Mechatronics, vol. 1, no. 1, March 1996, pp. 56-67. Oda N., Murakami T., Ohnishi K., “A force based motion control strategy for hyper-redundant manipulator”. In: rd IECON‘97. 23 International Conference on Industrial th th Electronics, Control and Instrumentation, 9 -14 Nov. 1997, vol. 3, pp. 1385-1390. Murakami T., Kahlen K., De Doncker R.W.A.A., “Robust motion control based on projection plane in redundant manipulator”, IEEE Transactions on Industrial Electronics, vol. 49, issue 1, February. 2002, pp. 248-225. Abeygunawardhana P.K.W., Murakami T., “Environmental Interaction of two-wheel Mobile Manipulator using Reaction Torque Observer”. In: Proceedings of the 2008 IEEE International Conference on Advance Motion th th Control. AMC’08, 26 – 28 March 2008. Huang Q., Chen X.D., Oka K., “Phased Compliance Control with Virtual Force for Six Legged Robot”, International Journal of Innovative Computing Information and Control, vol. 4, issue: 12, December 2008, pp. 33593373. Morisawa M., Kouhei O., “Parallel Link Biped Robot Motion Control”, PhD Dissertation, 2003, pp. 45-46.

Articles

67


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

TOPOLOGICAL LOCALIZATION USING APPEARANCE-BASED RECOGNITION Received 20th July 2009; accepted 3rd December 2009.

Eric L. Akers, Arvin Agah

Abstract: Localization is a fundamental problem of autonomous mobile robots. Localization is the determination of the position and orientation of a robot. Most localization systems are made up of several sensors and a map of the environment. Sophisticated localization systems can solve both the global location problem and the kid-napped robot problem. Global localization is the process of placing the robot into an unknown location within the map, and the robot should be able to locate itself within a relatively short period of time. The kidnapped robot problem is similar to global localization, as it is a test of how well the robot is able to recover after becoming lost. The robot is “teleported� to a new location, and the robot should again be able to determine its new location within a relatively short amount of time. CReSIS (Center for Remote Sensing of Ice Sheets) is developing autonomous robots in an effort to measure ice sheets characteristics in Greenland and Antarctica. These robots currently rely on differential GPS for localization and navigation. In order to survive for long periods of time in these environments, however, the robots need to be able to return to campsites in order to refuel and unload the data that has been acquired. In order to perform this task effectively and safely, a more elaborate system is required. A localization system that can recognize the dfferent locations of the campsites is the beginning of this process. The approach is to use a single camera for use in multiple types of large-scale environments, indoors and outdoors using a topological map. The system described uses an appearance-based approach for recognizing the different locations. The appearance-based methods attempt to recognize the appearance of a scene rather than specific objects. Several different types of features are tested including histograms, eigenimages, and Hu Moments. Using these simple features, the system is able to determine its location within the map at 95% accuracy. Keywords: topological localization, mobile robotics, computer vision, appearance-based methods.

1. Introduction The localization of mobile robots is the fundamental problem of determining the position and orientation of the robot. Researchers have looked into many different methods of solving the problem several kinds of sensors. The first solutions to this problem relied on techniques that had been used in the past by sailors and the military. These solutions are sometimes referred to as position tracking. These require that you begin in a known 68

Articles

location; and by measuring how far you have gone in a specific direction, you can determine where you are. These solutions usually rely on odometry or inertial measuring units. Odometry is the measuring of the rotation of the wheels to measure how far the robot has gone. These systems usually accumulate error as they move because of the slippage of wheels, especially when turning. Inertial measuring units tend to drift after some time, also causing errors. Most solutions usually rely on a specific type of environment such as indoor environments. Few solutions have worked both indoors and outdoors. More recently, SLAM (simultaneous localization and mapping) has become more popular. This is a problem where the robot is placed into a new environment without a map, and it must be able to both map an area and localize itself at the same time. This could be a requirement of a search and rescue robot. Some claim that in order to have a truly autonomous robot, the robot must be able to solve this problem. However, many robots will always require a priori maps in order to be able to perform a specific task such as a delivery robot or the autonomous vehicles in the Darpa Grand Challenge [10]. 1.1. Topological Localization Many localization systems can be described by the type of map that is being used: geometric, topological, or a hybrid map. This work uses a topological approach with the intention of using a hybrid approach later on. A topological map is just an adjacency graph. Nodes are connected to other nodes with edges. A pure topological map contains no information about size or the distance between nodes. However, as part of a navigation system, some extra information such how to move from one location to another may be stored inside the map as well. Some examples of a topological localization system include [31], [17], [29], [5]. In contrast, a geometric based system relies on maps that show edges, lines, and geometric objects that represent the map. These maps contain more information and can localize to a much more fine position. The topological system can tell you what location you are in, but not necessarily where in that location. Some geometric systems are described in [7], [28], [1]. The goals of these systems are somewhat different. The goal of a topological system is to tell you which location you are in, such as room 314 in Nichols Hall. The goal of a geometric system is to give a precise determination of the current location within a specific area. The hybrid approach attempts to utilize both me-


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 1

2010

thods. In this approach, the topological map usually stores a geometric map of its area.

of the individuals on the tour as well as other interesting locations and provide information about them.

1.2. Motivation This paper describes the research working towards a localization system that can operate in several di erent environments using only a camera. This kind of a system has the advantages of being able to use a simple and relatively inexpensive sensor that is easily portable. It can be used standalone or in addition to another system to improve the reliability.

1.2.2. Service Robots Service robots provide assistance to humans in many different ways. Wheel chair service robots have been used such as the Bremen Autonomous Wheelchair as discussed in [20]. Wheel chair service robots, autonomous or not, can benefit from having a lightweight localization system. Assuming that a PDA with a camera or a laptop and a camera can be mounted on the wheel chair, the proposed system could be used in known environments. For example, an autonomous wheel chair could be told to go to a specific building on a college campus from any location on campus. The person can go to his or her next class with little e ort. Uninhabited Ground Vehicles (UGV) UGVs have been tested recently in the DARPA Grand Challenge [10] and have been featured in many sci-fi movies. These vehicles could be used in industry or by the average commuter. For example, a self-driving truck could be used to haul salt out of a salt mine. Some of these large trucks are expensive so that they must be run 24 hours a day in order to recoup the cost of the vehicle. An automated driving system could help improve the effciency. These vehicles will most likely rely on GPS for long distance traveling, but will not work well in areas where the GPS signal is low or in construction or mining sites such as a salt mine. Therefore, another system will have to be used to help localize the vehicles for everyday use.

1.2.1 PRISM/CReSIS The Polar Radar for Ice Sheet Measurements (PRISM) project is [19] is part of the Center for Remote Sensing of Ice Sheets (CReSIS) [9] at the University of Kansas. This project's goal is to develop radar systems to measure polar ice sheet properties in order to accurately determine their mass and other characteristics. Such data will help researchers determine the contributions of polar ice sheet melting to global climate change and its effects on the rising sea levels. Different radar systems have been developed for this task [19]. In order to accommodate these radar systems, an autonomous robot is being developed to tow the radar equipment over a large area. After the robot completes its traversal, it needs to return to camp to refuel and unload the data. For the traversal over the ice sheets, the robot utilizes GPS for navigation. However, once the robot returns to camp, it is desirable for the vehicle to use other sensors for navigation in order to drive through the camp safely and accurately. A system like the one described in this paper will allow the robot to safely find the fuel station and the location for unloading the data without driving through tent city, the area used for gathering snow for the camp water supply, or other areas that may be off limits. If the tasks of fueling and unloading the data can be automated as well, then the time to get the robot out of camp and performing collecting data again can be greatly reduced and require less human assistance. In order to operate autonomously for several weeks at a time, this is a task that must be solved by the robot [3]. Package Delivery Delivery of packages by either a service robot or a human can benefit from a localization system. Truck drivers already use GPS systems to direct them to their next location. Assuming the GPS system has enough accuracy and an accurate map, it could be used in an area such as an industrial park or a college campus where there are many buildings and possible locations for delivery. For delivering packages to specific locations within buildings such as a college campus mail system, a more complex localization could be used to direct the delivery person to the specific location using a PDA with a camera or automated delivery robots could be used. Tourism A PDA with a camera could be used as a tour guide for locations like the Smithsonian or Disneyland. A map of the area could show the current location and orientation

2. Related Work Related works are described in this section to provide a brief background of some of the projects that have done research in the area of localization and mapping. 2.1. Mobile Robotics There are several robots that use localization as a key part of their navigation. DERVISH was designed by researches at Stanford University and won the Office Delivery event of the 1994 Robot Competition and Exhibition [23]. DERVISH was an indoor operating robot and used sonar as its main method of sensing the world. The sonar was placed so that it could detect both short objects and tall objects like a shelf that it might not fit under. For the competition, each robot was given a topological map of the office and a goal room that had two different doors to enter. A Markov probabilistic algorithm was used to determine its location based on features that DERVISH would detect, such as open and closed doors, hallways, foyers, and walls. A probability table was given for each of the features that gave the likelihood of detecting each feature when that feature appeared, as well as the likelihood of detecting it as another feature. For instance, the probability of detecting an open door as an open door was 0.9, and the probability of detecting it as a wall was 0.05. With five features, the table had 25 probabilities. The robot did not use odometry; it used events to deArticles

69


Journal of Automation, Mobile Robotics & Intelligent Systems

termine when to update its state. An event happened when the sonar detected one of the features listed. When an open door was detected, the Markov algorithm updated every possible state. Every state must be updated because the sonar might have missed detecting some features. When a feature was detected, the robot was possibly in a new node. Without odometry, it was possible to move a long ways and miss several features. Researchers at the University of Bonn, Aachen University of Technology, and Carnegie Mellon University worked together to design Rhino, which was deployed at the Deutches Museum in Bonn, Germany [7]. The robot used four sensor systems: laser, sonar, infrared, and tactile. It relied on the laser range finder for localization. The software consisted of 25 modules, which ran on three on-board PCs, and three SUN workstations, which were on-board. The localization system used a metric map and the Markov algorithm. Because the robot was deployed in a museum, the people surrounding the robot made the environment very dynamic. This violated the Markov assumption of a static environment. Therefore, filters were used to sort the measurements into corrupt and uncorrupted categories. It did this by determining if the measurement increased or decreased the certainty of the robot. Measurements that did not increase the certainty were assumed to be corrupt and were not used to update the belief. An occupancy grid map was used as the metric map. The map approximated the probability that a grid on a discretized approximation of the environment was occupied. The map was discretized into 2D grids, which determined how fine grain of accuracy was needed. Afterwards, a variation of the Markov algorithm, called the Dynamic Markov Localization (DML) algorithm [8] was implemented for the robot. This algorithm differed in that it attempted to perform both position tracking and global localization. It performed position tracking by reducing the amount of state space that the algorithm had to search over. In situations where the robot was almost certain about its position, i.e., the distribution was centered around one location, the remaining states had extremely small probabilities. DML used an octree to represent the state space, where states with extremely small probabilities (less than a threshold) were grouped together. An octree is a struc-ture that spatially divides a three-dimensional space into cubes of varying size into a tree-like structure. The states in this grouping were updated only once, applying the same update to every one. The algorithm also simultaneously calculated the likelihood that the robot's position was not contained in the currently considered states. If this happened, more states could be considered by changing the octree. This allowed for a dynamically evolving state space that was considered based on the certainty of the robot, thus improving efficiency when the robot was certain about its location. Minerva, created after Rhino, is the second version of a museum tour guide robot [28]. It was deployed in the Smithsonian and required some improvements in order to successfully operate in the significantly larger museum 70

Articles

VOLUME 4,

N째 1

2010

with significantly more people. Localization still relied on a laser range finder as the main sensor, but a camera, which pointed at the ceiling, was used to augment the system because of the wideopen spaces. A texture map of the ceiling was created and this was used to localize using the camera. Minerva also had the ability to learn its maps from scratch whereas Rhino was given a manually created map with no ability to create its own. 2.2. Appearance-Based Localization At the University of Amsterdam an active appearancebased method has been used for localization of a robot named Lino [24]. Active systems have some control over the navigation of the robot in order to move to a location to make the system more certain about its location. For example, moving closer to a land-mark in order to be certain about which object it is, and therefore being more certain about its position would be an active system.The system uses a Monte Carlo proba-bilistic algorithm with stereo cameras on a pan-tilt device as the main sensors. Because appearance-based techniques can have trouble localizing in dynamic environments, their approach is to move the stereo head to look at a location that has not changed as much. Their appearance-based technique is based on using disparity maps. The disparity map is a two-dimensional depth map similar to that of a laser rangefinder one-dimensional map, but with one more dimension. Features can be selected from the disparity map and compared with the disparity maps that are stored in the map of the environment, similar to a map-matching technique. They found that edges extracted as features work well for dealing with illumination changes in the environment. Using this approach, along with the active vision technique of looking for a less changed location makes for a robust algorithm that works well. Because the system is dependent on depth maps, this system may not work as well in all outdoor areas. Outdoor areas that have lots of structures should work, however. An appearance-based method that is insensitive to illumination changes is proposed in [16]. The researchers use an omni-directional camera in order to view more of the environment at a time. This gives more features to compare with a map at any given time. Eigenimages [21] are used to define the environment in this method. Eigenimages represent a set of training images in an eigenspace. If the images are highly correlated, the dimension can be reduced significantly using principle component analysis. Images that are not part of the training set can be projected onto the eigenspace. The coefficients from this projection are compared with those of the training set by determining the smallest angle between them (using a dot product). Researchers at Carnegie Mellon University have developed an appearance-based approach that also uses an omni-directional or panoramic camera [31]. A topological map is used and defines the locations of the images. Training images are taken by using a camera to retrieve images while going through the environment, and grouped later into their locations. Color histograms are crea-


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

ted from the images from two color spaces, RGB (red, green, blue) and HLS (hue, lumi-nance, saturation). Color histograms are vectors that count the number of specific pixel colors that appear in the image: one vector for each band of color. A nearest-neighbor approach is used for comparing images. The color histogram created from the current image in the environment is compared to only the location where the robot is believed to be in, and its neighbors. A voting mechanism is used to determine to which location the image belongs. This algorithm is similar to a non-probabilistic position-tracking algorithm in that it cannot recover from getting lost and it cannot perform global localization, as it must know its initial location. The algorithm was tested over a small area that included both outdoor and indoor locations, and it was reported to have performed reasonably well.

3. Approach The approach proposed in this work is to use only a camera to perform localization in multiple environments including indoors, outdoors, and at polar campsites in Greenland and Antarctica. A topological map is used where each node in the map is represented by a set of images. The problem then becomes to recognize specific locations within the topological map based in images captured from the camera on the robot. A probabilistic localization system was designed that uses appearance-based features and a hidden Markov model as the classifier to attempt to solve this problem. The topological map was created manually of an area inside and outside a single building. Each node of the map is a set of images that are representative of the location. After the images for the map are acquired, the appearance-based features are extracted and modeled using a Gaussian mixture model. After this step, the topological map is represented by a set of Gaussian mixture models. The likelihood that an image is part of a specific node in the map is generated by extracting the proper feature from the image and applying it to the Gaussian mixture model. All the processing in this work was done offline to simplify the evaluation. 3.1. Appearance-Based Method The appearance-based method uses the appearance or texture of an image in order to recognize a location. Appearance based methods have been used in [31], [24], [18]. Instead of using a geometric (explicit) representation where the images are used to find walls or objects, the images themselves represent the model of the environment. Some of the feature descriptors that were used include color and gray histograms [14], Hu Moments [14], and eigenimages [21, [22]. Using pixel values in images that range from 0-255, a gray histogram is a count of all of the pixel values in the image. The color histogram is the same, except the count exists for all three bands of the RGB images. The histogram in this case is actually three separate histograms. Images can also be described using statistical moments such as mean, variance, skewness, and higher order moments. [15] describes a set of seven moments that are

N째 1

2010

invariant to rotation, translation, and scale changes. These moments are referred to as Hu Moments. Eigenimages are a set of basis images that are used reduce the dimensionality of an image. The eigenimages are created from a set of images. Images are projected onto the eigenimages to give adescriptor that is much smaller than the image itself. 3.1.1. Gaussian Mixture Model A Gaussian mixture model (GMM) was used to model the feature descriptors. A Gaussian mixture consists of a linear combination of Gaussians (normal distributions). Each Gaussian in the mixture has its own weight and the final probability is given by linearly combining the results of each Gaussian in the mixture. The EM [11], [26] algorithm is used to generate the parameters of the mixture, which include the mean, covariance, and weight. The program described in [6] was used to generate the Gaussian mixture models for this work and also gives a good description of the Gaussian mixture model. The GMM is used to generate the likelihood probabilities in this testing, as described in Equation 1. P (X = x|Q = q) = 책wk * Nk

(1)

k

Where x is the current feature, q is the current location, k is the number of Gaussians in the mixture, w is the weight of the kth Gaussian, and Nk is the kth Gaussian in the mixture. This is the probability of seeing the feature x at location q. A GMM is typically used to model data where the normal distribution does not work well by itself. The GMM can work well even in cases where the data is not normal, or the assumption of normal data is incorrect. 3.2. Hidden Markov Model The hidden Markov model (HMM) is one of the simplest Bayes networks. It consists of a set of N states, the initial probability distribution, and a set of transition probabilities. The HMM can be used to model temporal data. It has been used extensively for speech recognition [25]. The HMM relies on the Markov assumption, that the value of the next state is dependent only on the value of the current state [26]. The hidden Markov model-decoding algorithm described in [12] on page 135 was used for determining which node in the map has the highest probability. This decoding problem is that of determining the sequence of hidden states given a sequence of visible states. The visible states in this case are images captured from a camera and the hidden states are the locations in the map. The results for the localization are compared with those of two other simple classifiers, ML (maximum likelihood) and a variation of the HMM where all the transition probabilities are equal, thus turning o the hidden Markov model and acting more like the naive Bayes classifier.

Articles

71


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Table 1. Transition weights for the Hidden Markov Model. All weights are based on the shortest distance from one node to another. The weight is the total probability given to all nodes at a given distance. These values are the same values used for this work. These are based on a zero mean Gaussian with a variance of 1.0 and minimum probability of 0.001. Distance 0 1 2 3 Âł4

Weight 1.000 0.607 0.135 0.011 0.001

The ML classifier selects the node with the highest likelihood (from the GMM) and has no memory, see Equation 2. In contrast, the naive Bayes algorithm stores a posterior probability. The likelihood for a node is multiplied by its posterior, and then the node with the highest posterior value, maximum a posterior (MAP), is chosen as the selected node, see Equation 3. ML Location = argmax[P (X = x|Q = q)]

(2)

Naive Bayes Location = argmax[ĂĄP (X = x|Q = q)* P (Q)]

(3)

3.2.1. Transition Probability The transition probability was modeled using a zero mean normal distribution based on the distances of nodes in the topological map. The variance was a preset constant parameter, 1.0 in this case. A minimum value was set so that once the probability went below that minimum value; all distances from that point were given the same minimum value. These values represent the probability of moving from one node to another node, with the highest

First Floor

N° 1

2010

probability being to stay in the current location; and the probabilities progressively getting lower the further away the node is from the current node. The probability given for a specific distance was used as a total weight value for all nodes of that distance to add up to. For example, if there are four adjacent nodes j to node i, and the probability of being at distance one is 0.80, then the probability of moving from node i to mode j is 0.20. After determining the probabilities for the transition from node i to every node in the map, the values are normalized to 1.0. Using the probabilities, as a total weight is important because it is possible to have the probability of moving to another location be higher than staying in the current location. This can happen ifthe current location has many connections. This would mean that each of these connections is at distance 1.0. If the probability of moving to a location of distance 1.0 is 0.8, then the total probability of moving to an adjacent location can be higher than not moving, which is not desirable. Therefore, normalizing the total probability of all the adjacent locations to 0.8 helps to prevent this from occurring. The actual distance weights used in this work are included in Table 1. The distance is determined by the fewest number of connections from one node to another. This algorithm requires finding the shortest distance to other nodes on the map. Moreover, depending on the variance and the minimum probability selected, the distances only had to be calculated for the nodes up to a small distance (three in this case). 3.3. Topological Maps Two different maps were used to test the system. The first map, see Figure 1, was a smaller version of the second, not including many of the outdoor locations. The locations to use in the map are from one building. They

Third Floor

1P2 0318

0326

0320

0327

Entry Way Back Door Hallway 3

Hallway 2

0317

Catwalk

3BH1

0334

Walkway 1

0345

Hallway 1

0334W

Walkway 2

0337

Patio

Walkway 3

Elevator

0343D

0343B

0343C

Walkway 4 Outside location Fig. 1. Adjacency graph representing the first topological map used for evaluation. The building has three floors, but the map was created from locations on only the first and third floors. 72

Articles


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 1

2010

Third Floor

First Floor

0318

0326

0320

0327

Hallway 3

Hallway 2

0317

Catwalk

3BH1

0334

Entry Way

0345

Hallway 1

0334W

Back Door

0337

1P2

Elevator

Outside Patio

0343D

0343B

0343C

Fig. 2. Adjacency graph representing the second topological map used for evaluation. This map is broken into three different general locations: first floor, third floor, and the outside areas. were chosen based on availability and accessibility. Once a location was chosen, a robot platform with a camera was driven using remote control through the areas while capturing and saving all images. These images were grouped together by location and became the database for all tests performed. The first map has 22 locations made up of over 22,000 images total. The map contains 12 offices, 10 hallway locations, and 1 elevator that span over two floors of the three-floor building. Figures 3, 4, 5, and 6 show a sample of some of the images used to make up inside nodes 334, 335, Hallway 1, and Hallway 2, respectively. Each image was captured at a resolution of 640x240. The second map has four more nodes than the first. The map was built using over 26,000 images. These added nodes are all outside locations, shown in Figure 2 as Walkway 1, Walkway 2, Walkway 3, and Walkway 4. These nodes are connected from the patio back to the front entryway,

1P2. These were added because the single outside location from the first map, Figure 1, does not give a good indication of how well the system works outdoors. Figures 7 to 9 show images from some of the added outside locations. 3.4. Features Several feature descriptors were used to test the system, color and gray histograms [14], Hu Moments [15], and eigenimages [21], [22]. Variants of the color and gray histograms were also used. Table 3 includes a list of all the descriptors used for this work. In order to get a single descriptor for the color histograms from the RGB images, a histogram for each band of the RGB image is obtained separately then appended to the end of the previous one. Therefore, each color histogram is three times the size of its corresponding gray his-

Fig. 3. Room 334 sample images. Articles

73


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 4,

N째 1

2010

Fig. 4. Room 335 sample images.

Fig. 5. Hallway 1 sample images. togram. A variation that was used was to divide each image up into equally sized columns and rows. Then a separate histogram (color or gray) was calculated for each section of the image, again appending each descriptor to the end of the previous. This was done on sizes of 2x2 and 3x3. Also, the number of bins used to calculate the histograms could be varied. The number of bins determines the size of the histogram. For example, 256 bins can be used for an image with pixel values ranging from 0 to 256. However, 128 bins can also be used causing a loss of information. This combines the pixel values of zero and one into a single bin in the histogram. This happens through74

Articles

out the entire range of the histogram in this case. This is mainly used to reduce the amount the information in the histogram. The histograms of the 1x1 and the 2x2 all used 256 bins, and the 3x3 descriptor was calculated on 128 bins in order to try and reduce the size of the descriptor. Table 2 lists all the variations of the histograms that were used for testing. Two versions of the Hu Moments descriptor were used. One descriptor is calculated from a gray scale image, the other calculated each of the seven Hu Moments on each band of the RGB image separately, and appended them similar to the color histograms. Therefore, the color Hu


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 4,

N째 1

2010

Fig. 6. Hallway 2 sample images.

Fig. 7. Walkway 1 sample images. Moments descriptor was three times the size of the gray Hu Moments descriptor. Table 2. Variations of the color and gray histogram feature descriptors. Color/Gray Gray Color Gray Color Gray Color

Rows 1 1 2 2 3 3

Cols 1 1 2 2 3 3

Bins 256 256 256 256 128 128

Size 256 768 1024 3072 1152 3456

The eigenimage descriptor is described in [22]. This descriptor uses each image in the training set as a single vector and principle component analysis is performed to reduce the size of the descriptor. It was calculated on gray scale images. 3.4.1. Principle Component Analysis Most of the features used in this work were reduced using PCA. A suitable number of components had to be determined that would adequately represent the features and still allow distinguishing between the features. It was found [27] that 20 components were sufficient to describe the eigenimage descriptors. The color and gray histoArticles

75


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 4,

N째 1

2010

Fig. 8. Walkway 2 sample images.

Fig. 9. Walkway 3 sample images. grams were reduced to a similar number, i.e. 25. Because this number worked well, testing with a higher number was not performed. However, it is intuitive that the smallest number as possible that still allows for recognition should be used. Extremely high dimension Gaussian mixtures can cause problems for the Hidden Markov Model [30]. The numbers used in this work are not optimum numbers that provide the best solution. They were numbers that seemed to perform well for this approach. The numbers used can depend on several factors, including the size of the original descriptor and the number of images, 76

Articles

or the size of the map. Table 3 lists the sizes of each feature descriptor used, before and after PCA. Three of the descriptors, the Hu Moments descriptors and the eigenimage descriptor were not changed in this step. The Hu Moments descriptors were small enough, that a reduction of information was not necessary. The eigenimage descriptor already uses PCA to reduce its dimensionality; therefore it was not necessary to reduce it again.


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Table 3. Feature descriptor descriptions. The size of the descriptors before and after PCA has been performed. Descriptor 1 Gray Histogram 1x1 with 256 bins 2 Color Histogram 1x1 with 256 bins 3 Gray Histogram 2x2 with 256 bins 4 Color Histogram 2x2 with 256 bins 5 Gray Histogram 3x3 with 128 bins 6 Color Histogram 3x3 with 128 bins 7 Hu Moments (Gray Image) 8 Hu Moments (RGB image) 9 Eigenimages

Original Size Size after PCA 256 25 768

25

1024

25

3072

25

1152

25

3456

25

7

7

21

21

20

20

N째 1

2010

global localization problem where the robot is placed in some random location in the map and it must determine its location, except that the robot is transported to a new location in a completely different part of the map after already localizing itself. The robot must be able to 'unlearn' where it believes it is at, and then 'relocalize' itself to the new location. The last two tests are similar to the first three, but are performed on the second topological map and are designed to test moving outdoors. Table 4. Nodes visited for each test run in the order they were visited. Four and five were used for the kidnapped robot tests. The asterisk represents the node in which the robot was 'teleported' to another location not directly adjacent to its previous. Six and seven were used for the outdoor tests. Test

Nodes Visited (in order)

One

O343C, O343D, O343B, O343D, HALLWAY 1, 3BH1, HALLWAY 2, HALLWAY 3, HALLWAY 2, O320

Two

O343C, O343D, O343B, O343D, HALLWAY 1, O337, HALLWAY 1, 3BH1, O334, 3BH1, CATWALK3, ELEVATOR, 1P2, ENTRY WAY, BACK DOOR, PATIO, BACK DOOR, ENTRYWAY

Three

HALLWAY 3, HALLWAY 2, O326, HALLWAY 2, O317, HALLWAY 2, O318, HALLWAY 2, O320, HALLWAY 2, O327, HALLWAY 2, 3BH1, HALLWAY 1, O337, HALLWAY 1, O344W, HALLWAY 1, O345, HALLWAY 1, O343D, O343C, O343D, O343B,O343D, HALLWAY 1, 3BH1, CATWALK3, ELEVATOR, 1P2, ENTRY WAY, BACK DOOR, PATIO

Four

O343C, O343D, O343B, O343D, HALLWAY 1, 1P2*, ENTRY, BACK DOOR, PATIO, BACK DOOR

Five

O327, HALLWAY 2, O317, HALLWAY 2, O327, O327, BACK DOOR*, PATIO, BASK DOOR, ENTRY, 1P2, ELEVATOR, CATWALK3, 3BH1, HALLWAY 2, O327

Six

HALLWAY 3, HALLWAY 2, O326, HALLWAY 2, O317, HALLWAY 2, O318, HALLWAY 2, O320, HALLWAY 2, O327, HALLWAY 2, 3BH1, HALLWAY 1, O337, HALLWAY 1, O344W, HALLWAY 1, O345, HALLWAY 1, O343D, O343C, O343D, O343B, O343D, HALLWAY 1, 3BH1, CATWALK3, ELEVATOR, 1P2, ENTRY WAY, BACK DOOR, PATIO, WALKWAY 1, WALKWAY 2, WALKWAY 3, WALKWAY 4

Seven

PATIO, WALKWAY 1, WALKWAY 2, WALKWAY 3, WALKWAY 4, WALKWAY 3, WALKWAY 2, WALKWAY 1, PATIO

4. Evaluation The tenfold testing procedure was used to evaluate the system. The image database was broken into ten random sets. Each set needed to contain images from every location in the map, therefore each location was broken into ten random sets. These sets were combined with the sets from other locations to create an entire set of images. Each of the sets was selected to be used as a test set with the other nine being used as its training set. Ten separate training and test sets were used to test the system. Every test was then run ten times, using each different test set with its corresponding training data. The results from each of the ten runs were averaged together to get an overall result. All of the results given from this paper are the result of the ten fold experiments. As was stated earlier, most of the processing was done offline. The extracting of features, performing PCA, and modeling the features with a Gaussian mixture model were all done o ine. The images used for the tests were taken from the test set. A predetermined route was selected. Then a random number of images were selected from the pool of images for the specific locations to represent the images that would be captured from the camera as if the robot were moving through the map. The features are then extracted from these images, their size is reduced using the eigenvectors from the PCA step on the training set, and these features are written to a file to be classified in the order they were selected, allowing the same features to be classified several times on different tests. These steps are performed once for every test set. The results from three different classifiers are given: hidden Markov model, maximum likelihood, and an approach similar to the naive Bayes classifier, described previously in Section 3.2. The results from seven different tests are given. The first three tests are used to determine how well the system solves the global localization problem through a normal traversal of the first topological map. Tests four and five are used to determine how well the system can handle the kidnapped robot problem. This problem is similar to the

Articles

77


Journal of Automation, Mobile Robotics & Intelligent Systems

Fig. 10. Topological test one: position accuracy.

Fig. 11. Topological test two: position accuracy.

Fig. 12. Topological test three: position accuracy.

78

Articles

VOLUME 4,

N째 1

2010


Journal of Automation, Mobile Robotics & Intelligent Systems

4.1. Testing Results The results for the Bayes like classifier are almost identical to those of the maximum likelihood results. This is because the likelihood values dominate the posterior value because most of the likelihoods are zero or near zero. This resulted in the posterior value being a minimum value for most of the locations. Then the (usually) single node that has likelihood greater than zero dominates the results, causing the maximum a posterior location to be equal to the maximum likelihood location. Because of this, the results from this classifier are not discussed in any detail, but they are provided in all the tables of results. Table 4 gives the locations visited for each test run. Test one was the shortest, visiting ten locations: five office locations and five hallway locations. Test two was a longer test, visiting 18 nodes: seven of those being office locations. This test run also visited the outdoor location, Patio. The third test was the longest, visiting every node in the map: 33 locations total, 14 office locations. The locations for the last two tests are less important, but it is easy to tell the route that was taken before and after the robot was 'teleported.' The asterisk represents the loca-tion where the robot was teleported. The teleported node was far away from its previous node so that the system would not have any substantial probability of moving from its previous location to the teleported location. This is important because the system contains higher probabilities for moving to locations that are closer to the current location. Figure 1 includes a reference of the locations visited. Figures 10 to 12 summarize the results for the location accuracy for the first three tests. The results shown are the average of all ten tests. All three tests showed that the HMM proved to give the best results, with several classifying over 92% correctly. The Hu Moments (Gray) classifier proved to be inadequate for these tests, and the Hu Moments (Color) feature was much better, but still inadequate to perform localization. The HMM tested better than the ML in every case. The best results for Test one are obtained using the Color Histogram 3x3 feature, which classified over 95% correctly. However, this result was only slightly better than those from several other features including: Color

VOLUME 4,

N째 1

2010

Histogram 1x1, Color Histogram 2x2, Gray Histogram 3x3, and Gray Histogram 2x2. All of these provided excellent results. The best results for the ML (Maximum Likelihood) classifier for this test are from the Color Histogram 1x1 feature, correctly classifying over 88% or the images correctly. Again, several others had results similar to that of the Color Histogram 1x1: Color Histogram 3x3, Gray Historam 3x3, and Color Histogram 2x2. The best results from test two resulted from using the Color Histogram 1x1, 95%, and Color Histogram 2x2, 87%, for the HMM and ML, respectively. Test three best results are from the Color Histogram 1x1 feature for both HMM, 95%, and ML, 88%. The Color and Gray Histograms for these three tests performed better than the other features, with the Gray 1x1 feature performing the worst of these. In most cases, the Color Histogram outperforms its corresponding Gray Histogram, however, the results are usually too close to be well differentiated by these tests. Several of the results show that many of the Color and Gray Histogram features classify over 95% correctly. As a result, a single feature cannot be chosen as giving the best results overall. The results do show that the histogram features do perform adequately for classifying the indoor locations. The HMM model still requires that the ML classify a sufficient number of the locations correctly in order to perform adequately. The greatest improvement on the ML results is from the Hu Moments RGB feature in Test three where the ML classifies over 28% correctly and the HMM classifies over 62% correctly. When the ML jumps around, the nodes with the most connections tend to gain the higher probabilities. However, the Color and Gray Histogram features are usually better than its corresponding ML results by around 10%, which is significantly higher. The ML classifier solves the global localization problem faster than the HMM as expected, because of its lack of 'memory.' However, the HMM was usually only somewhat worse than the ML, and was still very fast. Figures 13 to 15 show the summary of the localization time results. The time is measures in number of images. Because the experiments were performed offline, and the images can be captured at different rates, time in seconds does not give an accurate assessment.

Fig. 13. Topological test one: localization time. Articles

79


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 1

2010

Fig. 14. Topological test two: localization time.

Fig. 15. Topological test three: localization time. The number of images needed to be by the system gives an accurate assessment of how long it takes to localize the system. With the exception of the Hu Moments features, these tests show that the global localization time is sufficient for use on an autonomous mobile robot, usually requiring only two to three images before the system has determined where it is in the map. The Kidnapped Robot Problem tests (tests four and five), showed that again, because of its lack of memory, ML performed the best, as was expected, and that the HMM was not very far behind. Figures 16 and 17 show the results of the kidnapped robot tests. The results show the number of images, like the global localization results, required to relocalize after being teleported to another location. The results for all but the Hu Moments features show very good performance. The Hu Moments features again performed inadequately. Tests six and seven, were performed in the second topological map, Figure 2. These were meant to test how well the system performs outdoors. Test six visited every node in the map, similar to Test three for the other map. Test seven visited only the outside locations in the map, visiting all but one of them twice. The number of features used in these tests was reduced to the ones that perfor80

Articles

med the best in the previous tests. The features used were all histogram features, numbers 2, 3, 4, and 5 listed in Figure 3. Both of these tests performed similar to those of the previous tests. Figures 18 to 21 show the summary of the results. Each feature was classified correctly by the HMM over 95% of the time for Test six, and over 94% for Test seven. The localization times for both tests were similar to those of the other map as well.

5. Conclusion The experimental results from the tests illustrate that the appearance-based localization method is a viable approach. The method works extremely well, at times over 95% of the time, on these experiments. These experiments also show the ability of the system to recognize several locations that look very similar. The hallways, for example, Figures 5 and 6, where the tests were performed are extremely similar, in color, size, and structure. The HMM proved to work very well for this system, improving the ML results by around 10%. These results show this system to have merits, in both indoor and outdoor environments.


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 4,

N째 1

2010

Fig. 16. Topological test four: kidnapped robot problem.

Fig. 17. Topological test five: kidnapped robot problem.

Fig. 18. Topological test six: position accuracy.

Articles

81


Journal of Automation, Mobile Robotics & Intelligent Systems

Fig. 19. Topological test seven: position accuracy.

Fig. 20. Topological test six: localization time.

Fig. 21. Topological test seven: localization time.

82

Articles

VOLUME 4,

N째 1

2010


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

The features used in these tests were not complex and can be calculated quickly, allowing this system to run in real time. However, as stated previously, all the tests were done offline in order to simplify evaluation and allow for multiple tests to be performed using the same images. The system described determines only the location in a topological map. See [1] to how the system can be used to determine the location at a finer scale as well as the orientation. 5.1. Limitations The proposed approach was evaluated using a map with 26 locations. A larger map will be needed to get a better determination of how well the system works for larger areas such as a college campus environment. The system also needs to be tested on maps of base camps in Antarctica and Greenland again, as there were not enough images of these camps to get sufficient results. Another limitation is that the system was not tested under significantly varying lighting condition or other noise. The lighting condition inside the building does not change much, and the outdoor locations were all imaged under the same lighting conditions. Also, there was never a large crowd of people at the time the images were being captured. Of course, images that consist of only people could potentially cause the system to lose its position. The database has not yet been built for multiple lighting conditions, and the results from how well the system works under the varying lighting conditions would be of interest. The lighting conditions in Greenland and Antarctica do vary as well from cloud cover and the direction of the light. As implied however, the simplest solution to varying lighting conditions is to capture images for the training set at different times of the day. The system also relied on a single feature to localize. This was sufficient for the environments tested, but other environments may require a combination of weighted features or different features altogether. Not all features could be tested, and indeed there exist many more than were described in this work. 5.2. Future Work The future work will be based on testing the system in Greenland and Antarctica and increasing the size of the map. In these environments, other features may need to be tested in order to localize sufficiently. Also, the area must include some structure or texture that does not disappear after a short time. So the system in Antarctica and Greenland would be limited to within camps where there are some structures. This work was based on extracting a single feature from images. For environments such as in the polar regions, a single feature may not be sufficient. Work will also be done in determining if combining features results in better performance, especially in the polar regions where the images contain little texture. Maps of larger environments, such as that of a college campus, will also be created to evaluate the system. The system could potentially be used in automobiles to guide drivers to parking lots near their buildings, or in selfdriving automobiles.

N° 1

2010

5.3. PRISM/CReSIS Robotics The localization system can also be used in a team based multiple robot scenario like the one described in [13]. The system could use the geometric localization to determine its location relative to the other robots. If a combination of sensors is used, for instance the lead robot uses a GPS to determine where it needs to be, then all the other robots could use the system to create a formation based on the location of the lead robot. Currently, a UAV is being designed to help take radar measurements. The carrying capacity of the UAV is extremely limited. The load is mostly made up of the radar equipment and antennas. The UAV is currently remote controlled when landing or taking off. Adding a localization system could help it to locate and stay on the runway when trying to take o or land. For CReSIS robot [2], [4] to be completely autonomous. This requires the robot to be able to return to a polar camp to unload its data and to refuel. In order to do this without endangering the people in the camp, the robot will need a localization similar to the one described in this work to be able to find the locations to unload the data and refuel before returning to the field to take more measurements. ACKNOWLEDGMENTS This work was supported by the National Science Foundation (grant #OPP-0122520), the National Aeronautics and Space Administration (grants #NAG5-12659 and NAG5-12980), the Kansas Technology Enterprise Corporation, and the University of Kansas.

AUTHORS Eric L. Akers - Department of Mathematics and Computer Science, Elizabeth City State University. Arvin Agah* - Department of Electrical Engineering and computer Science, University of Kansas, Lawrence, KS 66045-7621 USA . E-mail: agah@ku.edu. * Corresponding author

References [1]

[2]

[3]

[4]

Akers E.L., Agah A., „Large-scale localization using only a camera”. In: Proceedings of the 2008 IEEE International Conference on Technologies for Practical Robotics Applications (TePRA), Woburn, Massachusetts, 2008, pp. 25-30. Akers E.L., Harmon H.P., Stansbury R.S., Agah A., „Design, fabrication, and evaluation of a mobile robot for polar environments”. In: Proceedings of the IEEE International Geoscience and Remote Sensing Symposium (IGARSS), Anchorage, Alaska, 2004, pp. 109-112. Akers E.L., Stansbury R.S., Agah A., „Long-term survival of polar mobile robots”. In: Proceedings of the 4th International Conference on Computing, Communications and Control Technologies (CCCT), Orlando, Florida, vol. II, 2006, pp. 329-333. Akers E.L., Stansbury R.S., Agah A.,, Akins T.L., „Mobile robots for harsh environments: lessons learned from field experiments”. In: Proceedings of the 11th International Symposium on Robotics and Applications (ISORA), Articles

83


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

[5]

[6]

[7]

[8]

[9] [10] [11]

[12] [13]

[14] [15]

[16]

[17]

[18]

[19] [20]

[21]

[22]

84

Budapest, Hungary. 2006, p. 16. Blaer P., Allen P. K., „Topological mobile robot localization using fast vision techniques”. In: Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Washington D.C., 2002, pp. 10311036. Bouman C.A., „Cluster: An unsupervised algorithm for modeling Gaussian mixtures”, 1997. Available from http://www.ece.purdue.edu/~bouman. Burgard W., Cremers A.B., Fox D., Hahnel D., Lakemeyer G., Schulz D., Steiner W., Thrun S., „The interactive museum tour-guide robot”. In: AAAI/IAAI, 1998, pp. 1118. Burgard W., Derr A., Fox D., Cremers A., „Integrating global position estimation and position tracking for mobile robots: the dynamic Markov localization approach”. In: Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS '98), Victoria, BC, Canada, 1998, pp. 730-735. CReSIS. Center for Remote Sensing of Ice Sheets, 2007. URL: http://www. cresis.ku.edu. DARPA grand challenge, 2006. http://www.darpa.mil/ grandchallenge/index.asp. Dempster A., Laird N., Rubin D., „Maximum likelihood from incomplete data via the em algorithm (with discussion)”. Journal of the Royal Statistical Society, 1977, 39, pp. 1-38. Duda R.O., Hart P.E., Stork D.G. Pattern Classification. Wiley-Interscience, 2nd edition, 2000. Gifford C.M., Agah A., „Precise formation of multi-robot systems”. In: Proceedings of the IEEE International Conference on Systems of Systems Engineering (SoSE), San Antonio, Texas, 2007, no. 105, pp. 1-6. Gonzalez R.C., Woods R.E. Digital Image Processing. New Jersey: Prentice Hall, 2nd edition, 2002. Hu M.-K., „Visual pattern recognition by moment invariants”. Information Theory, IEEE Transactions on, 1962, vol. 8, no. 2, pp. 178-187. Jogan M., Leonardis A., Wildenauer H., Bischof H., „Mobile robot localization under varying illumination”. In: Proceedings of the International Conference on Pattern Recognition (ICPR), Quebec, Canada, 2002, pp. 1-4. Kosecka J., Li F., „Vision based topological markov localization”. In: Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2004, vol. 2, pp. 1481-1486. Kr¨ose B., Vlassis N., Bunschoten R., Motomura Y., „A probabilistic model for appearance-based robot localization”. Image and Vision Computing, 2001, vol. 19, no. 6, pp. 381-391. KU PRISM Team. Polar Radar for Ice Sheet Measurements, 2004. URL: http://www.ku-prism.org. Lankenau A., Rofer T., „Mobile robot self-localization in large-scale environments”. In: Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Washington D.C., 2002, vol. 2, pp. 1359-1364. Leonardis A., Bischof H., „Robust recognition using eigenimages”. Computer Vision and Image Understanding, 2000, vol. 78, no. 1, pp. 99-118. Murase H., Nayar S.K., „Visual learning and recognition of 3-D objects from appearance”. International Journal of Computer Vision, 1995, vol. 14, no. 1, p. 524.

Articles

[23]

[24]

[25]

[26]

[27]

[28]

[29]

[30]

[31]

N° 1

2010

Nourbakhsh I., Powers R., Birchfield S., „Dervish an o ce-navigating robot”. AI Magazine, 1985, vol. 16, pp. 53-60. Porta J., Verbeek J., Krse B., „Active appearance-based robot localization using stereo vision”. Autonomous Robots, 2005, vol. 18, no. 1, pp. 59-80. Rabiner L.R., „A tutorial on hidden Markov models and selected applications in speech recognition”. Proceedings of the IEEE, 1989, vol. 77, no. 2, pp. 257-286. Russell S.J., Norvig P., „Artificial Intelligence: A Modern Approach”. Englewood Clis, New Jersey: Pearson Education, 2003. Sim R., Dudek, G., „Comparing image-based localization methods”. In: Proceedings of the Eighteenth International Joint Conference on Artificial Intelligence (IJCAI), Acapulco, Mexico, 2003, pp. 1560-1562. Thrun S., Bennewitz M., Burgard W., Cremers A., Dellaert F., Fox D., Haehnel D., Rosenberg C., Roy N., Schulte J., Schulz D., „Minerva: A second generation mobile tour-guide robot”. In: Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 1999. Thrun S., Gutmann J.-S., Fox D., Burgard W., Kuipers B., „Integrating topological and metric maps for mobile robot navigation: A statistical approach”. In: Proceedings of the National Conference on Artificial Intelligence (AAAI), Orlando, FL, 1998, pp. 989-996. Torralba A., Murphy K., Freeman W., Rubin M., „Contextbased vision system for place and object recognition”. In: International Conference on Computer Vision Nice, France, 2003. Ulrich I., Nourbakhsh I., „Appearance-based place recognition for topological localization”. In: Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), San Fransisco, 2000, vol. 2, pp. 10231029.


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

THE EFFICIENCY OF THE INFERENCE SYSTEM KNOWLEDGE STRATEGY FOR INDUCTION MOTOR LINEAR SPEED CONTROL OF AN URBAN ELECTRIC VEHICLE Received 13th July 2009; accepted 4th December 2009.

Abdelfatah Nasri, Abdeldjabar Hazzab, Ismail K. Bousserhane, Samir Hadjeri, Pièrre Sicard

Abstract: This paper presents a real induction vehicle motor speed estimation technique, based on the fuzzy logic inference system knowledge for electric vehicle safety based on differential electronics as essential element for two wheeled electric vehicle driving which utilize the two back separately induction motors for motion. The aim object of the fuzzy logic controller is to give more and more safety for the electric propulsion system safety during motion against road topology. Our electric vehicle fuzzy inference system control’s simulated in Matlab SIMULINK environment, the results obtained present the efficiency and the robustness of the proposed control with good performances compared with the traditional PI speed control, the FLC induction traction machine presents not only good steady characteristic, but with no overshoot too. The electronic differential system ensures the robust control of the vehicle behavior on the road. It also allows controlling, independently, every driving wheel to turn at different speeds in any curve.

handling and stability. The researchers assumed that wheel motors were all identical with the same torque constant; neglecting motor dynamics the output torque was simply proportional to the input current with a prescribed torque constant. The reminder of this paper is organized as follows: Section II reviews the principle components of the Electric traction chain with their equations model. Section III shows the fuzzy logic control strategy of the electric vehicle motorization. The proposed structure of the studied propulsion system is given in the section IV. Section V gives some simulation results of the different studied cases. Finally, the conclusion is drawn in section VI.

2. Electric traction system elements modeling Figure 1 represents the general diagram of an electric traction system using an induction motor (IM) supplied by voltage inverter [4], [8].

Keywords: electric vehicle, electronic differential, induction motor, vector control, fuzzy logic speed control.

1. Introduction Electric vehicles (EVs) are developing fast during this decade due to drastic issues on the protection of environment and the shortage of energy sources. While commercial hybrid cars have been rapidly exposed on the market, fuel-cell-powered vehicles are also announced to appear in 5-10 years. Researches on the power propulsion system of EVs have drawn significant attention in the automobile industry and among academics. EVs can be classified into various categories according to their configurations, functions or power sources. Pure EVs do not use petroleum, while hybrid cars take advantages of energy management between gas and electricity [1]. Indirectly driven EVs are powered by electric motors through transmission and differential gears, while directly driven vehicles are propelled by in-wheel or, simply, wheel motors [2]. The basic vehicle configurations of this research has two directly driven wheel motors installed and operated inside the driving wheels on a pure EV. These wheel motors can be controlled independently and have so quick and accurate response to the command that the vehicle chassis control or motion control becomes more stable and robust, compared to indirectly driven EVs. Like most research on the torque distribution control of wheel motor, wheel motors [3] proposed a dynamic optimal tractive force distribution control for an EV driven by four-wheel motors, thereby improving vehicle

Wheel

R

Fig. 1. General diagram of an electric traction system using an induction motor (IM) supplied by voltage inventer. A. Energy source The battery considered in this paper is of the LithiumIon [9], the battery current is calculated by:

(1) where: Pb: Output power of battery Rint: Internal resistance Voc: The open circuit voltage Rt: The terminal voltage of the battery B. Static converter In this electric traction system, we use a three-balanced phases of alternating current inverter with variable frequency from the current battery [4].

Articles

85


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 1

2010

(8) We obtain finally the total resistive torque: (2) (9) The Si are logical switches obtained by comparing the control inverter signals with the modulation signal. C. Traction motor The used motorization consists of three-phase induction motor (IM) supplied by a voltage inverter controlled by Pulse Width Modulation (PWM) techniques. The dynamic model of three-phase, Y-connected induction motor can be expressed in the d-q synchronously rotating frame as [4], [6], [13]:

E. Gear The speed gear ensures the transmission of the motor torque to the driving wheels. The gear is modelled by the gear ratio, the transmission efficiency and its inertia. The mechanical equation is given by: (10) with: (11)

(12) The modelling of the traction system allows the implementation of some controls such as the vector control [4], [13], [14] and the speed control in order to ensure the globally system stability.

3. Fuzzy logic speed control strategy (3) Where s is the coefficient of dispersion and is given by: (4) Ls,Lr, Lm Rs, Rr we, wr wsl tr P

Stator, rotor and mutual inductances; Stator and rotor resistances; Electrical and rotor angular frequency; Slip frequency; Rotor time constant; Pole pairs

D. Electric vehicle Mechanical Load's: The vehicle is considered as a load is characterized by many torqueses, which are mostly considered as resistive torques [4], [ 8], [12], [15], [17], [18]. The different torques includes: - The vehicle inertia torque defined by the following relationship: (5) -

The aerodynamics torque is: (6)

-

To be fitted with complex load environment of electric vehicles, induction traction machine needs higher specific power, efficiency and rotation speed than common industrial machines. Therefore, dimension of stator and rotor iron core of induction traction machine is smaller, and wound specific current is larger. Although small resistance and inductance is helpful to use voltage, it also produces large current wave and easy saturation magnetic circuit, which results in controlling machine difficultly. Fuzzy logic control (FLC) has been applied to induction machine drive, which makes drive less sensitive to parameter variation [1], [4], [5], [7], [16] and more efficient [6], [10], [11], [16]. In this paper, the fuzzy logic control drive system of induction traction machine is presented, on which the fuzzy logic is applied to Improve machine's speed control performance to start up quickly and smoothly. Design of fuzzy logic speed regulator: According to indirect field orientation mathematical model of induction machine [4] speed control drive system based on dual PI current regulators is shown as Fig. 5. This fuzzy logic control is nonlinear regulator, which Control the torque current quantity adaptive to pedal input by motor speed error and its difference. (13)

The slope torque is: (14) (7)

The maximal torque of the tire, which can be opposed to the motion, has the following expression:

86

Articles

Where Dt is sample cycle, wr(k) is real time sample value, and is wref reference value of motor speed. Generally, a fuzzy logic controller needs input, output variables and inference, which is a term set based on rule


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

base. (13) and (14) determine the input variables. Clearly, Output variable is also determined by fuzzy logic speed regulator. Because of no particular theory in designing a best rule-base on terms, fuzzy inference [1], [4], [5], [7], [16] based on rule base is artificial from the designer's experiences and experts' knowledge. More terms, and more rules will result in more Complicated fuzzy inference. In the proposed fuzzy logic control, a five-term set {negative big (NB), negative small (NS), zero (ZE), positive small (PS), positive big (PB) is applied to defining input and output linguistic variable. This present fuzzy logic control is shown in Fig. 5. In this figure, ke, kde, and ku are gains of the speed error e, speed error difference and torque current variety output control u here u mean the stator current estimed. A fuzzy set can convert fuzzy input-out term into quantitative description, which is called fuzzification. Meanwhile, membership function and its discretization are first. to be qualified. The corresponding quantitative input field is defined as {-4, -2, 0, 2, 4} and {-4, -2, 0, 2, 4} as it shown in Figures 2, 3.

N째 1

2010

Fig. 4. Output control membership functions. And the output field is selected as {-4. -1, 0, 1, 4}. The proposed membership function is figured as Fig. 4. Building fuzzy logic rule is the key step in the improve-ment of system performance, which is a set of Statements as {IF. . . , THEN . . .}. For instance, IF input1 is NB and input2 is NB, THEN output is PB. These rules can be produced by rule base as Table 1. After rules finished, this fuzzy inference and defuzzification can be doned, which is based on the min-max method (Mamdani) [1], [4], [5], [7], [16]. By off-line calculation and regulation, this fuzzy logic inference rules is shown as Table 1. This fuzzy inference process is fussy. However, one can conveniently design a good fuzzy logic by MATLAB tools. Table 1. Fuzzy inference rules. u(t)

Fig. 2. Speed error derivate membership functions.

NB NS de(t) Z PS PB

NB NB NB NS NS Z

NS NB NS NS Z PS

e(t) Z NS NS Z PS PS

PS NS Z PS PS PB

PB Z PS PS PB PB

Where: FUZZIFICA is the Fuzzification process and DEFFUZIFF is the Deffuzification process.

4. Structure of the studied system

Fig. 3. Speed error membership functions.

The general scheme of the driving wheels control is represented by Figure 7. It's an electric vehicle, which the back driving wheels are controlled independently by two IM. The reference blocks must provide the speed references of each motor taking into consideration information from the different sensors.

Fig. 5. Fuzzy Logic Controller Structure.

Articles

87


Journal of Automation, Mobile Robotics & Intelligent Systems

Fig. 6. Block diagram of the electric differential system. The Figure 7 shows the vehicle geometry of the electronic differential studied system.

VOLUME 4,

N° 1

2010

If the vehicle is turning left, the right wheel speed is increased and the left wheel speed remains equal to the common reference speed wref [8], [15], [17], [18]. Usually, a driving trajectory is adequate for an analysis of the vehicle system model. We therefore adopted the Ackermann-Jeantaud steering model [17], as it is widely used as a driving trajectory. In fact, the Ackermann steering geometry is a geometric arrangement of linkages in the steering system of a car or other vehicles designed to solve the problem of wheels on the inside and outside of a turn needing to trace out circles of different radii. Modern cars do not use pure Ackermann-Jeantaud steering, partly because it ignores important dynamic and compliant effects, but the principle is sound for low speed maneuvers [17], [18]. It is illustrated in Fig. 1. From this model, the following characteristic can be calculated: (15) where d is the steering angle. Therefore, the linear speed of each wheel drive is given by: (16)

Fig. 7. Vehicle geometry. (17) Speed references computation. Fig. 1 illustrates the implemented system (electric and mechanical components) in the Matlab-Simulink environment. It should be noted that the two inverters share the same dc bus whose voltage is supposed to be stable. Regenerative braking is not taken into account in this paper. The proposed control system principle could be summarized as follows: 1) A speed Fuzzy logic control is used to control each motor torque; 2) The speed of each rear wheel is controlled using speed difference feedback. Since the two rear wheels are directly driven by two separate motors, the speed of the outer wheel will need to be higher than the speed of the inner wheel during steering maneuvers (and vice-versa). This condition can be easily met if the speed estimator is used to sense the angular speed of the steering wheel. The common reference speed wref is then set by the accelerator pedal command as it shown on figure 6. The actual reference speed for the left drive wref–left and the right drive wref–right are then obtained by adjusting the common reference speed wref using the output signal from the fuzzy logic speed estimator. If the vehicle is turning right, the left wheel speed is increased and the right wheel speed remains equal to the common reference speed wref.

Fig. 8. The driving wheels control system. 88

Articles

Where: Lw is the distance between front and rear wheels and Rw is the wheel radius and dw is the distance between two driving heels and d the steering wheel angle. [4], [15], [17] and their angular speed by:

(18) where wv is the vehicle angular speed according to the center of turn. The difference between wheel drive angular speeds is then (19) and the steering angle indicates the trajectory direction


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

(20) In accordance with the above described equation, Figure 8 shows the electric differential system block diagram as used for simulations, where K1 = 1/2 and K2 = -1/2. Where: VT is the Vehicle resistive torque and FLC the fuzzy logic speed controller.

5. Simulation results In order to characterize the driving wheel system behavior, simulations were carried using the model of Figure 8. They show vehicle speed variation for PI controllers and the Fuzzy logic speed controller.

Fig. 9a). Vehicle speed variations for two controller cases.

N° 1

2010

the tracking error. In addition to these dynamic performances, it respects the imposed constraints by the driving system such as the robustness of parameter variations. We can summaries the vehicle speed results in the following tables: Table 2 Performances of the PI and Fuzzy logic controllers in the speed response. Results Rising Overtaking Steady Disturbance time [%] state error application time [Sec] (slope torque) [%] PI 0.1564 11.6666 At 2 Sec 0 FLC 0.7581 At 2 Sec 0 2.7Ă—10-5 A. Case of straight way Flat road with 10% slope at 60km/h speed at time 2 sec In this test, the system is submitted to the same speed step. The driving wheels speeds stay always the same and the road slope does not affect the control of the wheel and the Fuzzy control act immediately to reduce the speed error caused by the slope road constraints and give's more and more efficiency to the electronic differential output references. We can say the slope sensitize the motorization to develop efforts in order to satisfy the electric traction chain demand. The system behaviour of theses speeds is illustrated by figures 10d), 10b) and 10c) that describe the electromagnetic torque and driving forces variations. The resistant torques is shown in Figure 10a).

Fig. 9b). Vehicle Error speed variations for two controller cases. In order to simplify the control algorithm and improve the control loop robustness, instead of using classical control, we use the Fuzzy logic control [1], [4], [5], [7], [10], [11], [16]. The advantage of this control is its robustness, its capacity to maintain ideal trajectories for two wheels control independently and ensure good disturbances rejections with no overshoot and stability of vehicle perfected ensured with the speed variation and less error speed. To compare the effect of disturbances on the vehicle speed in the cases of two types of control, Figure 9a) and Figure 9b) shows the system response in two cases (robust and classical control). From the Figure 9a) and Figure 9b) and the table we can say that: the effect of the disturbance is neglected in the case of the Fuzzy controllers. It appears clearly that the classical control with PI controller is easy to apply. However, the control with the Fuzzy controllers offers better performances in both of the overshoot control and

Fig. 10a). Vehicle Resistive Torques.

Fig. 10b). Vehicle Driving Forces. Articles

89


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Fig. 10c). Vehicle Electromagnetique Torque.

N째 1

2010

The vehicle driver turns the steering wheel on a curved road at the right side with 60 km/h speed. The assumption is that the two motors are not disturbed. In this case the driving wheels follow different paths, and they turn in the same direction but with different speeds. The electronic differential acts on the two motor speeds by decreasing the speed of the driving wheel on the right side situated inside the curve, and on the other hand by increasing the wheel motor speed in the external side of the curve. The Fuzzy controller ensure the stability of the propulsion system by maintaining the motorization error speed equal zeros and gives a good rising time and no over tracking error too. The behavior of these speeds is given by Figure 11c), the variation of the vehicle torques and the electromagnetic torques are illustrated in Figures 11a) and 11d), when the driving forces variations are shown in Figure 11b).

Fig. 10d). Vehicle speed variation. B. Case of curved way Curved road at right side with speed of 60km/h at time 2 sec

Fig. 11a). Vehicle electromagnetique torque.

Fig. 11c). Vehicle speed variation.

Fig. 11d). Vehicle resistive torques. C. The Electric vehicle Stability against vehicle torque variation impact: - The Slope torque effect on Electric Vehicle Motion Stability in Straight way: In this case and according to the formula number (7), we introduce the slope torque effect's as a very important factor in the globally vehicle resistive torque tuning parameters in the straight way slopped case's. We can obtain a table, which summarise results simulated in Matlab Work Space given as follow:

Fig. 11b). Vehicle driving force. 90

Articles


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 1

2010

Table 3. Vehicle Slope torque effect. a째 (Slope angle) Slope Torque [Nm] Globally Vehicle Resistive Torque [Nm] Slope Torque Impact in %

3 47.7 80.22 59.46%

5 79.43 111.9 70.98%

8 126.8 159.3 79.59%

10 158.3 190.7 83.09%

15 235.9 268.1 87.98%

20 311.7 343.7 90.68%

Fig. 12. Vehicle slope effect on the globally vehicle torque.

Fig. 13. Vehicle angle road stability effect.

According to the result obtained in Figure 1. and the Table 3 it's appear clearly that: When the slope torque constitute the 80 percent of the globally resistive torque, the vehicle haven't the ability to climb the slope by means that the effort developed on the motor drive shaft isn't sufficient to satisfy the hall demand of the vehicle traction chain, in this situation the vehicle became instable, furthermore the power torque developed produce a high temperature around the motor drive shaft as it shown in Figure 12 and all results are summarized in Table 3. 3.

Based on the formula (16 ,17,19) which gives the relationship between the grade angle of road and the speed references computation's, we say that when the driver turn the steering wheel in the curved road situation the angle of steer's must should be taken the values between 5 and 9 degrees in order to obtain the globally vehicle stability by means that the vehicle driver drive easily his engine when the steer's is less than 10 degrees, the second case when the steer's exceeds the 9 degrees and it's between 10 and 15 degree in this pseudo stability situation case's the vehicle driver has some difficulties to control the vehicle motion because there's an important difference between the left and the right speed reference as it shown in Figure 13 and Table 4, finally when the steers exceeds the 15 degrees the vehicle over go the curve because there's huge difference between the right and the left speed references.

After computations we can substitute a linear formula between the vehicle torque and Slope torque this Formula is given as follow:

6. Conclusion

Where: Vt and Tslope are the globally vehicle resistive torque and the Slope Torque respectively P1 and P2 are constants P1= 15.59 and P2= 33.543.

This paper has demonstrate the feasibility of an improved urban electric vehicle dynamic stability which utilize two independent rear driving wheels for motion by using the fuzzy inference system - control. In the second part of this paper several simulations where carried in order to precise the electrical vehicle behavior against the

The Grade angle of the Road effect on Electric Vehicle Motion Stability Table 4. Vehicle speed angle road effect. d째 (Grade angle of Road) w WrefR WrefL Vehicle Linear speed Stability State

5 5 55 65 60 S

7 7 53 67 60 S

9 9 51 69 60 S

11 11 49 71 60 PS

13 13 47 73 60 PS

15 15 45 75 60 PS

17 17 43 78 60 In

19 19 41 79 60 In

21 21 39 81 60 In

23 23 37 83 60 In

25 25 35 85 60 In

S: Vehicle Stable PS: Vehicle Pseudo Stability 60 % Stable In: Vehicle Instable

Articles

91


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

slope torque variation and the stability limits of he slopped angle in the other hand the steering angle take a great interest in the electronic vehicle speed computing. The results obtained by simulation show that this structure permits the realization of the robust control based on Fuzzy inference system, with good dynamic and static performances for the multi-converters/multi-machines propulsion system. The proposed Fuzzy controller model improve the driving wheels speeds control with high accuracy either in flat roads or curved ones. The disturbances do not affect the performances of the driving motors and the control law's efficiency gives a good dynamic characteristics of the traction chain. Appendix Table 5. Electric vehicle Parameters. Te Je R a h M fe Kd A fv

Motor traction torque Moment on inertia of the drive train Wheel radius Total gear ratio Total transmission efficiency Vehicle mass Bearing friction coefficient Aerodynamic coefficient Vehicle frontal area Vehicle friction coefficient Grade angle of the road Distance between two wheels and axes Distance between the back and the front wheel

247 Nm 2 7.07 Kgm 0.36 m 10.0 93% 3904 Kg 0.001 0.46 2 3.48 m 0.01 rad 2.5 m

r S Cx M g a fr Udc Kb DW WrR WrL W*mR W*mL d b FLC Vh IFOC PI

2010

Report of speed gear % Gear box Transmission efficiency % Distance between two wheels m Distance between the back and the front wheel m Air density Frontal vehicle surface m2 Aerodynamic drag coefficient Vehicle mass Kg Gravitational acceleration N/m Angle grade of road rad Wheels Rolling resistance coefficient Battery voltage Volt Choice of direction coefficient Rad/sec Angular speed variation given by electronic differential Rad/sec Right wheel angular speed Rad/sec Left wheel angular speed Rad/sec Right wheel angular speed of reference Rad/sec Left wheel angular speed of reference rad Reel angle wheel curve's rad Vehicle slip angle rad Fuzzy Logic control Linear Speed Km/h Indirect Field Oriented Control Proportional integral

1.5m

Table 6. Induction Motors Parameters. Rr Rotor winding resistance (per phase) Rs Stator winding resistance (per phase) Ls Stator leakage inductance (per phase) Lm Magnetizing inductance (per phase) Lr Rotor leakage inductance (per phase) fc Friction coefficient P Number of poles

Nred G h Lw dw

N° 1

0.003 W 0.0044 W 16.1 μH 482 μH 12.9 μH 0.0014 4

AUTHORS Abdelfatah Nasri*, Abdeldjabar Hazzab, Ismail. K. Bousserhane - Bechar University, B.P 417 Bechar (08000), Algeria. E-mail: nasriab1978@yahoo.fr. Samir Hadjeri - University of Djillali Liabes, B.P 98 Sidi Bel-Abbes (22000), Algeria. Pièrre Sicard - University of Quebec, Canada. * Corresponding author

References [1]

Table 7. Symbols, Designation and Units. Symbols P J Je Jv Tem Tv Tslope Taero Ttire Tin

92

Articles

Nomenclature Pole pairs Rotor inertia Moment of inertia of the drive train Vehicle inertia Electromagnetic torque Vehicle torque Slope torque Aerodynamique torque Tire torque Inertia vehicle torque

units [2] 2

Kg.m 2 Kg.m 2 Kg.m Nm Nm Nm Nm Nm Nm

[3]

[4]

Poursamad A., Montazeri M., ”Design of Genetic-Fuzzy Control Strategy for Parallel Hybrid Electric Vehicles““, Control Engineering Practice, DOI:10.1016/j.conengprac.2007.10.003. Pien Yang Y., Pin Lo C., “Current Distribution Control of Dual Directly Driven Wheel Motor for Electric Vehicles”, Control Engineering Practice, vol.16, 2008, pp. 12851292. Hartani K., Bourahla M., Miloud Y., ”Electric Vehicle Stability Improvement Based on Anti-Skid Control Using Behaviour Model Control”, Electro motion ClujNapoca, vol. 14, part 4, pp. 209-171. Nasri A., Hazzab A., Bousserhane I.K., Hadjeri S., Sicard P., "Two Wheel Speed Robust Sliding Mode Control For Electric Vehicle Drive", Serbian Journal of Electrical Engineering , vol. 5, no. 2, November 2008 , pp. 199-216.


Journal of Automation, Mobile Robotics & Intelligent Systems

[5]

[6]

[7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]

[15]

[16]

[17]

[18]

[19]

VOLUME 4,

N° 1

2010

Allaoua B., Laoufi A., Nasri A.,"Intelligent Controller design of DC motor speed control based on Fuzzy Logic Genetic Algorithms Optimisations", Leonardo Journal of Sciences, issue 13, December 2008, pp. 90-102. Rehman H., Dhaoudi R., “A fuzzy Learning-Sliding Mode Controller for Direct Field Oriented Induction Machines”, Neurocomputing, Elsevier, vol. 71, 2008, pp. 2693-2701. Aissaoui Ghani A., Abid M., Abid H., Tahour A., Zeblah A.,"A Fuzzy logic Controller for Synchronous machine”, Journal of Electrical Engineering, vol., 58, no. 5, 2007, pp. 285-290. Yoichi H., Yasushi T., Yoshimasa T., “Traction Control of Electric Vehicle: Basic Experimental Results Using the Test EV UOT Electric March". IEEE Transactions on Industry Applications, vol. 34, no. 5, September/October 1998, pp. 1131-1138. Kim I., ” Non Linear State of Charge Estimator for Hybrid Electric Vehicle Battery”, IEEE Transactions, vol. 23, no. 4, July 2008, pp. 2027-2034. Tahour A., Hamza A., Aissaoui A.G.,”Speed Control of Switched Reluctance Motor Using fuzzy Sliding Mode”, Advances in Electrical and Computer Engineering, vol. 8(15), no. 1(29), 2008. Shi G., Jing Y., Xu A., Ma J.,“Study and Simulation of Based fuzzy logic parallel Hybrid Electric Vehicles”. In: Proceeding of the 6th international Conference on intelligent System Design and Applications (ISDA 06), IEEE 2006, vol. 1, pp. 280-284. Chen C.Y., Li T.-H.S., Yeh Y.C.,"EP-based kinematic control and adaptive fuzzy sliding-mode dynamic control for wheeled mobile robots", Information Sciences, vol. 179, issue 1-2, 2009, pp. 180-195 Hazzab A., Bousserhane I.K., Kamli M., Rahli M., “New Adaptive fuzzy PI-Sliding Mode Controller for Induction Machine Speed Control”. 3rd IEEE International Conference on Conference on Systems, Signals & Devices SSD'05, Tunisia, 2005. Lin C.M, Hsu C.-F., “Adaptive Fuzzy Sliding-Mode Control for Induction Servomotor Systems”, IEEE Transactions on Energy Conversion, vol. 19, no. 2, June 2004, pp. 362-368. Keyun C., Alain B., Walter L., ”Energetic Macroscopic Representation and inversion-based control Application to an Electric Vehicle With An Electrical Differantial”, Journal of Asian Electric Vehicles,vol. 6, no. 1, June 2008, pp. 1097-1102. Allaoua B., Abderahmani A., Gasbaoui B., Nasri A., “The Effeciency of particle Swarm Opti;iwqtion Applied On Fuzzy Logic DC Motor Speed Control”, Serbian Journal of Electrical Engineering, vol. 5, no. 2, November 2008, pp. 247-262. Haddoun A., Benbouzid M., Diallo D., “Modeling, Analysis, and Neural Network Control of An EV Electrical Differantial”, IEEE Transactions, vol. 55, no. 6, June 2008, pp. 2286-2294. Pin Yang Y., Pin Lo C.,”Current Distribution Control of Dual Directly Driven Wheel Motors for Electric Vehicles”, Control Engineering Practice, vol. 16, 2008, pp. 1285-1292. Larminie J., Lowry J., Electric Vehicle Technology Explained, John Wiley & Sons Ltd., England, 2003. Articles

93


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 1

2010

MODELING, SIMULATION AND CONTROL OF HIGH SPEED NONLINEAR HYDRAULIC SERVO SYSTEM Received 29th August 2009; accepted 3rd December 2009.

Dechrit Maneetham, Nitin Afzulpurkar

Abstract: The purpose of this paper is to present for modeling and simulation a hydraulic servo system (HSS). This work describes the design and implementation of a control system for the operation of a hydraulic mini press machine. First, the system develops mathematical models for obtaining the system responses. While, the closed loop system is based on linearized model of feedback regulator of PD controller for high-speed control. The simulation experiment is performed using MATLAB and SIMULINK. An experimental set-up is constructed, which consists of microcontroller PIC 18F458 as controller. The simulation results, showing the effectiveness of the proposed approach. Keywords: modeling and simulation, hydraulic servo system, high speed hydraulic machine control.

94

controller is demonstrated through its application in a hydraulic servo system and its performance is evaluated by comparison with other high-speed controller developed by [3], [4], [5]. For industrial applications, which need algorithms that can adapt to nonlinear behavior tracking position and velocity, which are fully matched by the processing speed of microcontroller. At the same time, PD controller is designed to verify the performance of the model, which is developed by simulation and compared to experimental results. The paper is organized as follows, In Section 2, a linearized mathematical model for the system is presented. Section 3 presents the development and stability analysis of PD controller. Section 4 describes hardware system architectures. Simulations and experimental results are presented in Section 5 and finally the paper is concluded.

1. Introduction

2. Mathematical Model

HSS has been used in a wide range of modern industrial applications by virtue of their small size to power ratios and its ability to apply very large force and torque. However, the dynamics of hydraulic systems are highly nonlinear [6]. Stamping stroke of a typical hydraulic mini press machine is traveling 200 mm stamping distance with high speed. Closed loop feedback control for HSS provides the ability to apply very large forces and torques. The problems for HSS drives are their nonlinearities and low damping, and hence for some applications these systems are difficult for accurate control. The system conditions and parameters changes, depending on the operating conditions such as the mode of operation, which product is going to be made or what part of the process the machine is doing. Design of suitable controller to handle such type of situations is very important. The designed controller must operate properly to deal with nonlinear phenomenon and dynamics of the system parameters. The control signal errors are generally compared with velocity, position, force, pressure, and other system parameters. A HSS is a system consisting of motor, servo, controller, power supply, and other system accessories. In HSS essentially, the system controls the cylinder position to track the velocity and acceleration trajectory values enforced by the operator. The cylinder movement must precisely follow position, speed, and acceleration profiles. In [9] have proposed a controller (not adaptive), which is compared with standard PD controller but applicable to industrial practice. In [2] proposed a hydraulic press control using spring back analysis. In this paper, which have presented a new PD controller for high-speed nonlinear hydraulic servo system. The

The system describes detailed mathematical modeling of HSS for hydraulic mini press machine. The system consists of high-speed, electronic drives, hydraulic actuators, and position transducers. The mathematical model behavior of servo valves can be developed from the relationship between the displacement (xp) and input voltage (m) for the proportional valve. A third order model is sufficient for HSS, which is described by the equations given in following sections [11].

Articles

2.1.

System Modeling

Fig. 1. A hydraulic actuator with four-way valve configuration. In pressing machine, the hydraulic actuator is typically a double-acting hydraulic cylinder. The cylinder ports are connected to a proportional valve, and piston motion is obtained by modulating the oil flow into and out of the cylinder chambers. A servo valve provides this modulation as shown in Fig 1. The actuator can be pre-


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

cisely controlled by regulating theflow rates Q1 and Q2. However, the relationship between the piston position, xp , and the flow rates depends on the dynamic properties of the load acting on the piston [1]. The mathematical model used in simulation is represented by the following system of equations: . Vt . P = -Ax - Ctp PL + QL 4be L where Vt : be : PL : A : xp : Ctp : QL :

(1)

2010

(7)

(8)

where

: :

total actuator volume effective bulk modulus load pressure actuator ram area actuator piston position total coefficient of leakage load flow

: Combining Eq. (1)-(5) with other system parameter, results in the system state equations given below:

2.2. Hydraulic Actuator System Dynamics The objective for developing the actuator system dynamics is to construct a strict - feedback control with fixed boundary layer to obtain precise position control of a nonlinear electro-hydraulic servo system. The relation between the servo valve spool position xv and the input voltage u can be considered as a second order system. T(s) =

N째 1

2.3.

we2 xv(s) = 2 u(s) s + 2zwe s + we2

xv s2 = -we2 xv - 2zwe xv s + we2 m xv s2 + 2zwe xv s + we2 xv= we2 m .. . xv = -we2 xv - 2zwe2 xv + we2 m

(2)

.. . . Substituting xv = x5 we obtain the valve velocity x5 as . . x5 = -we2 x4 - 2zwe2 x5 + we2 m

Hydraulic Servo System Parameter Identification The data is separated into estimation data, which is used for identifying unknown system parameters and measurement data. Both factors are used for modeling in the experiments. In order to excite all the relevant frequencies of the systems and to construct a good model, the frequencies are set for sinusoidal inputs with range of 1 to 6 Hz and pressure of 5 Mpa. In conventional design of a hydraulic servo system, third order transfer function is generally used, as given below

(3)

Where, T(s) is the transfer function, we is the undamped natural frequency and z is the damping ratio of the system. Defining the load pressure PL as PL = P1 - P2 and the load flow QL as QL = (Q1 + Q2 )/2 , the relationship between the load pressure PL and the load flow QL for an ideal critical servo valve with a matched and symmetric orifice can be expressed as follows: (4) The piston force equation is given by (5) . The equation of motion of the load mass is mx2= Fhyd , where m is the total mass of the load, and Fhyd = APL is the hydraulic force due to pressure differential across area, we obtain . mx2= Fhyd = APL

(9)

(6)

Defining the load pressure from equations (1) and (4).

(10)

In frequency response analysis, which measure the amplitude of oscillations at the signal frequency. At first, which carried out a set of experiments using the open loop system to determine the amplitudes of oscillations, which occur at the signal frequency. In order to observe the signal frequency component of the response only, experiments are carried out using signal frequencies of 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5 and 6 Hz at 5 Mpa pressure. Two different values of signal frequency are used in the experimental determination of sine wave and step response. Overall, the system identification is done by fitting a third order polynomial. The system transfer function is found to be: (11) The correspondence levels between predicted model and the experimental data for second order and the third order models are about 74.16% and 80.77 %, respectively. Fig. 2 shows a comparison between measured frequency responses. Articles

95


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

Fig. 2. Bode plot of the open loop transfer function: (esti-mated 1) second order and (estimated 2) third order. 2.4. Simulink Model The parameter variations used in simulations for input, output, velocity, pressure, and flow rate. The system parameters were varied so as to keep the damping coefficient (z) constant. The values of the system and observer parameters are given in Table 1.

result in terms of

velocity and its top most displacement range is ±0.16 m/s. Referring the equation (9)............................. where is

Table 1. Physical parameters for the HSS.

. The response is a set of the

gain. The line block is required for each

. channel, where velocity x2 is calculated. For that, area & force is added in to the block & friction is subtracted from the block. The third method is load pressure system (x3). This is the most effective method. The pressure of the system is set considering the pressure of the load. Pressure . limit is the supply pressure PL :. 5MPa. The value of PL is determined by substituting PL =x3. To solve this equation, we may assume a solution x3 of the form

(12)

Overall, the main idea of the modified hydraulic sub. systems is to use valve position (xv), valve velocity (xv) and input current (m). The upper and lower limits in servo valve areequal to the stroke of the servo valve xv : ± 2.38*10-4 m and the maximum flow limit through the valve QL : 2.5*10-5 m3/s. The main idea of a new structure of HSS is the simu-link model of an open loop system. Equation (10) is obtained in system state equation of HSS. At first, the system is characterized by position control (x1). The piston stroke is ±0.2m, mass of actuator and load m= 9.19Kg. The friction relation is measured as linear Ef : 0.3063N. Secondly, the system is charac. terized by velocity control (x2). Let x1 = x2 be a differentiable function, given by ie. we obtain the

96

Articles

2.5. Simulation Result The results of an open loop test and corresponding simulation model is presented for 1 Hz sin signal. From the result the correlation between the control signal frequency and error signal can be compared as follows:


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 4,

N째 1

2010

Fig. 3. The simulink model of the open loop system.

Fig. 4. Experimental of the open loop system for 5 Mpa and 1 Hz sine wave.

Fig. 5. Simulink model of the open loop system for 5 Mpa and 1 Hz sine wave.

Fig. 6. Experimantal: velocity of the open loop system for 5 Mpa and 1 Hz sine wave.

Fig. 7. Simulink model: velocity of the open loop system for 5 Mpa and 1 Hz sine wave.

Fig. 8. Experimental: velocity of the open loop.

Fig. 9. Simulink model: velocity of the open loop system for 5 Mpa and step response. Articles

97


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 1

2010

3. PD Control Design The PD regulators for process control are the basis for many hydraulic control systems. Many variations in the basic PD algorithm substantially improve its performance and operability. A PD controller is parameterized by the following transfer function. (13) This can be compared wit the following, general thirdorder characteristic equation. (14) Thus from equation (14), we obtain

(15) The parameters of the PD controller are obtained as Kd =10.46 and Kd = 0.074. This controller is applied to both the plant and model.

4. Hardware System Architecture The HSS must follow the control theory guidelines, which is the main purpose to improve the velocity of piston in HSS. The hardware system of HSS is divided into two parts, which are explained below. 4.1. Hardware Design Firstly, which construct the mechanical model of an electro-hydraulic system. The simulated response of the model provides insight into the behavior of electrohydraulic system.

Fig. 11. Electro-hydraulic servo system model.

98

Articles

Fig. 10. Schematic diagram of the electro-hydraulic position control system. As shown in Fig 10, (1) is the linear potentiometer; (2) is double cylinder; (3) is servo valve; (4) pressure relief valve represent fluid flows in out of the valve; (5) pressure unit is the input and output line pressures and (6) is the microcontroller to control system. The HSS consists of a hydraulic pump, servo valve, actuator, transducer, power supply, and microcontroller. Hydraulic system model is shown in Fig.11.


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 4,

N째 1

2010

Fig. 12. Schematic of microcontroller system design. A microcontroller based control system has been developed and used to control the hydraulic servo system. We used microcontroller PIC 18F458 to control the hydraulic servo system, in conjunction with the data acquisition processor. The schematic of microcontroller system design is shown in Fig. 12. The mass flow rate across the five-port valve is controlled by manipulating the spool offset, by controlling the current supplied to the solenoid.

5. Simulation and Experiment Results The model is based on electro-hydraulic system control. A simulation of Matlab/Simulink based study is used to evaluate the performance of the PD controllers on the nonlinear model of HSS and compared with the performance of the controllers on linearized approximation of the system for displacement and velocity control.

Fig. 13. Matlab Simulink Model of closed loop system. Articles

99


Journal of Automation, Mobile Robotics & Intelligent Systems

5.1. Simulink Model for Closed Loop Control The core of simulink is the HSS for hydraulic mini press machine. The parameters of a model must be identified for designing control algorithm and the steps of the identifying dynamic models of the hydraulic system involved designing an experiment, selecting a model structure, choosing a criterion to fit, and devising a procedure to validate the chosen model. Figure 13 shows the simulink model with Matlab program. In simulink model, recall that for open loop system we used simulation for input and output with frequency response. Matlab simulink model is built such as, continuous microcontroller controls block, discrete microcontroller

Fig.14. Block diagram of continuous microcontroller control.

Fig. 15. Block diagram of discrete microcontroller control.

Fig. 16. Block diagram of velocity, force, and friction control. 100

Articles

VOLUME 4,

N째 1

2010

controls block, velocity, force and friction block and linear potentiometer block. The proposed model system is designed based on the use of a single-chip microcontroller PIC 18F458 with the EPROM emulator for programming the computer software. Discrete microcontroller block needs digital delay line block and two input (addition & subtraction) block for each channel. The addition point is fed with the direct input signal, while this signal was fed to the subtracted point after passing through the measurement line. The digital delay line parameter must be chosen to be equal with the number of the quantized duration samples. Figure below shows the details of the controller subsystem.


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

Fig. 17. Block diagram of linear potentiometer. 5.2. Simulation Results The simulation is used to examine the effect of errors in the system parameters. These parameters include the total leakage coefficient, effective bulk modulus system mass, friction terms and so on. The results of simulations are presented in this section. Following are the system parameters used for simulation: m = 9.19 kg, A = 2.4e-4, Ps = 5e6 Pa, Vt = 2.44e-5 m3, Ff = 0.247 N, be = 3.6e8 N/m2 , w = 0.00239 m, alpha = 7.2e9, beta = 29.5, gamma = 2 .917 e9, C0 = 4.9427e-5, Cd = 0.61, z = 0.7, and Ctm = 7.52 -12 m 3 /(s.Pa). 5.3. Experimental Set Up A set of experiments is performed to study the effect of variation in supply pressure, hydraulic parameters, and environmental stiffness and position control on velocity

N째 1

2010

piston in HSS. In order to test the performance of developed system, which compared the system output with simulink model. A typical closed loop control hydraulic system consists of power supply with 4 lit/min flow rate and 5 Mpa supply pressure. Load piston position is measured by FESTO Model TP 501 with 200 mm length of stroke and four way 3 state proportional directional control valve, which is measured by VICKERS Model KBSDG4V-3. Linear potentiometer from FESTO Model FP1120 is used to record the position of the cylinder and DUPOMATIC Model PTH-100/20E0 pressure sensors are used to measure P1 and P2 (Vickers). 5.3.1. Validation To verify the model, both static and dynamics tests are performed in simulation and compared with the experimental results. In case of the model validation and PD controller experiments, the controller is modeled using simulink approach in Matlab program. Experimental results for PD controller which are based on the control of position and velocity of position at an operating supply pressure of 5 Mpa are given below.

Fig. 18. Observer performance of step responses with Kp = 10 and Kd = 0.074.

Fig. 19. Unit step responses of experiment with Kp = 10 and Kd = 0.074.

Fig. 20. Unit step responses of simulation with Kp = 10 and Kd = 0.074. Articles

101


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 1

Fig. 21. Unit velocity responses experiment with Kp = 10 and Kd = 0.074.

Fig. 22. Unit velocity responses simulation with Kp = 10 and Kd = 0.074.

Fig. 23. Unit velocity responses simulation [4].

Fig. 24. Unit velocity responses simulation [8].

2010

Fig. 25. Unit velocity responses simulation [5]. During the experimental test, only linear position of the movable cylinder is measured for feedback information. The velocity is obtained via differentiating the position with respectto time at high speeds and pressure. To test the effectiveness of the proposed controllers, we first compared it with a high-speed control system. The proposed control velocity is shown in Figure 22 with the gains Kp =10, Kd = 0.074, Ps = 5 MPa, mass = 9.19 Kg, be = 3.60*108 Pa, velocity = 0.125 m/s, rise time = 0.28 s, and microcontroller control system. In [4], the control result of the proposed controller is shown in Figure 23, with corresponding feedback gains Ps = 5 MPa, be = 5*109 Pa, mass = 20 Kg, Q = 28 l/min, velocity = 0.165 m/s, and computer control system. In [8], the control result of the proposed controller is shown in Figure 24, with corresponding feedback gains Ps = 20 MPa, be = 8.5*108 Pa, mass = 5 Kg, distace = 200 mm, velocity = 0.13 m/s and computer control system. In [5], the control result of the proposed controller is shown in Figure 25, with corresponding feedback result velocity 102

Articles

=1.25 m/s, rise time = 0.35 s, overshooting is less than 5% and computer control system. The control result of the proposed controller [3], with corresponding feedback gains Ps =13.78 Pa, be = 3*108 Pa, Vt = 2.0 m3, velocity = 0.8 m/s and computer control system. The difference in the results shown in Figure 22 demonstrates that the proposed controller is much better than Figures 23, 24 and 25 in terms of high speed, transient response and settling time. For the hydraulic mini press machine, the smaller the settling time is, the higher the production rate will be. Therefore, it is significant for practical applications. In addition, overshoot is much smaller. This is essential for hydraulic mini press machine, because a large overshoot will generate a large impact force, which would damage the sheet metal forming.

6. Conclusion The system has presented deviation, simulation, and implementation of the nonlinear control law for HSS. The proposed controller provides performance of the PD con-


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

troller for high-speed control. PD controller theory is introduced as the control technique to accomplish this goal in this study, and the controllers designed using this method are validated using experimental tests. From these tests, it can be seen that, for hydraulic systems, which have nonlinear characteristics, control theory provides a powerful control strategy that clearly improves on PD control in terms of high speed and transient response. The result shows the time constant of simulation and experiment, proportional-derivative controller with Kp = 10, Kd = 0.074. The comparison of the results between simulink and hardware system for optimal PD controller indicates the improvement of the simulation research, where the reference velocity is 0.125 m/s and position is 39 mm. Thus, the response of the model gives a good control performance prediction of the PD controller.

[9]

[10] [11]

N° 1

2010

Technology, 2006, pp. 55-61. Sirouspour R.M., Salcudean E.S., “On the Nonlinear Control of Hydraulic Servo systems”, International Conference on Robotics & Automation, San Francisco CA, 2000. Vickers Product: Proportional Directional valve with Feedback. Zhao T., Virvalo T., “Fuzzy control of a hydraulic position servo with unknown Load”, IEEE, 1995, pp. 785788.

ACKNOWLEDGMENTS This support of this work by Ragamangala University of Technology Thanyaburi (RMUTT) and by the Asian Institute of Technology (AIT) is gratefully acknowledged.

AUTHORS Dechrit Maneetham* - School of Engineering and Technology, Asian Institute of Technology, Thailand. E-mail: st104392@ait.ac.th. Nitin Afzulpurkar - School of Engineering and Technology Asian Institute of Technology, Thailand. Phone: +66(0)5245675, Fax: +66(0) 5245697. E-mail: nitin@ait.ac.th. * Corresponding author

References [1]

[2]

[3]

[4]

[5]

[6] [7] [8]

Alleyne A., Liu R., “Systematic control of a class of nonlinear systems with application to electrohydraulic cylinder pressure control”, IEEE transactions on control systems technology, vol. 8, 2000, pp. 623-634. Ferreira A.J., P. Sun andJ. Gracio, “Close loop control of a hydraulic press for springback analysis”, Journal of Materials Processing Technology, 177, 2006, pp. 377381. Fung F.R., Wang C.Y., Yang T.R., Huang H.H., “A variable structure control with proportional and integral compensations for electrohydraulic position servo control system”, Mechatronics, vol. 7, 1996, pp. 67-81. Khan H., Abou C.S., Sepehri N., “Nonlinear observer based fault detection technique for electro-hydraulic servo-positioning systems”, Mechatronics, 2005, pp. 1037-1059. Lin C., Ren L., “The Integrated Simulation Analysis on 6 - DOF Electrohydraulic Servo Control Parallel Platform”,JSME International Journal, vol. 48, 2005, pp. 234-239. Merritt, “Hydraulic Control System“, John Wiley & Son, Inc, 1967. Moog, Industrial Control Division. Sun P., Gracio J.J., Ferreira A.J., “Control system of a mini hydraulic press for Evaluating springback in sheet metal forming”, Journal of Material Processing Articles

103


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

ADAPTIVE CONTROL OF AUTONOMOUS UNDERWATER VEHICLE BASED ON FUZZY NEURAL NETWORK Received 20th April 2009; accepted 15th September 2009.

Zheng Qin, Jason Gu

Abstract: This paper presents an adaptive control method based on fuzzy neural network for Autonomous Underwater Vehicle (AUV). The Fuzzy Neural Network (FNN) could build the inverse model of AUV through on-line learning algorithm, which is free of fuzzy neural network structure knowledge and prior fuzzy inference rules. The adaptive controller for AUV based on FNN is proposed, and then the stability of the resulting AUV closed-loop control system is analyzed by Lyaponov stability theory. The validity of the proposed control method has been verified through computer simulation experiments. Keywords: autonomous underwater vehicle, fuzzy neural network, adaptive control, stability.

1. Introduction An autonomous underwater vehicle may be defined as a vehicle with a sensorial system and an actuator system, working in an uncertain and unstructured underwater environment (unknown and under severe disturbance), managed by control system and able to undertake a user specified mission (such as ocean mapping, surveying or monitoring). Because of the highly nonlinear dynamics of an autonomous underwater vehicle (AUV) and the difficulty in modeling the environment and its interaction with the AUV, controlling an AUV in an underwater environment presents many theoretical and engineering challenges. Various advanced control systems have been proposed such as sliding-mode, robust and nonlinear control strategies have been applied with some success [1]–[5]. Adaptive control as well as fuzzy-logic control and neural-network-based control have also been proposed [6]–[13]. One of the earlier researches in AUV control was developed by Yoerger and Slotine [5]. They proposed a sliding-mode controller and investigated the effects of uncertainty of hydrodynamic coefficients and negligence of cross-coupling terms. The result showed that the adaptive sliding-mode controller outperformed a conventional linear controller for a wide range of velocity. Fossen and Blanke [3] derived an output feedback controller using nonlinear control theory and feedback from the axial water velocity. They proved that a nonlinear observer combined with an output feedback integral controller provides exponential stability. Healey and Lienard [4] designed a sliding-mode controller for a six-degrees-offreedom (DOF) AUV control. They decomposed the system into noninteracting subsystems and grouped certain key functions for the separate functions of steering, diving 104

Articles

and speed control. Choi and Yuh [6] developed an adaptive controller based on bound estimation and implemented it for AUV control. Ishii et al. [7] proposed a neuralnetwork-based controller associated with an adaptation method named “Imaginary Training” for heading-keeping control of an AUV called “Twin-Burger.” In view of the versatilities of neural networks and fuzzy logic, a fuzzy neural network can be expected to exhibit many advantages. The combination of fuzzy inferences and neural networks has been researched extensively recently. Fuzzy Neural systems are multilayered connected networks that realize the elements and functions of traditional fuzzy logic control, decision systems. A trained fuzzy neural system is isomorphic to a fuzzy system extracted and interpreted from the network. The system can automatically and simultaneously identify fuzzy logic rules and adapt its membership function. By utilizing the learning capability of neural network, the systems can construct input-output mapping for many applications. Jang [14] proposed architecture of fuzzy neural network called Adaptive-Network-Based Fuzzy Inference System (ANFIS), which can be taken as a basis for constructing a set of fuzzy rules, and generate the stipulated input-output pairs. Pattern learning or on-line learning is adopted to update the network. Cho and Wang [15] used the number of input variables and number of rules to determine the structure of their neural network. Then the network is trained by using back-propagation algorithm. Although the above methods can construct the inputoutput mapping for many applications. However no efficient process for reducing the complexity of a fuzzy neural network has been suggested. To increase the efficiency and reduce the complexity of the network, many selfconstructing fuzzy neural networks have been proposed in the literature. These systems are inherently modified Takagi-Sugeno-Kang type fuzzy rule based models processing neural network’s learning ability. Juang and Lin [16] proposed such a system. There were no rules in that SONFIN initially. The inference rules were created and adapted as on-line learning process via simultaneous structure and parameter identification. Based on that generalized fuzzy neural networks, Juang and Lin [17] also designed an adaptive controller for the robotic manipulators. The simulation results showed that the error convergence rate with the Adaptive Fuzzy Neural Control (AFNC) was fast, the flexibility adaptation and tracking performance of this adaptive control system was verified theoretically. The asymptotic stability of the MIMO control system was also established and analyzed using Lyapunov approach [18]. Wang and Lee [19] develop their previous feed for-


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

ward neuro-fuzzy systems to recurrent neuro-fuzzy systems with better control performance and learning convergence. They use recurrent neuro-fuzzy network to model the inverse dynamics of an AUV and the feedbackerror-learning method to on-line fine-tune the parameters of the recurrent Neuro-fuzzy controllers. This paper extends the previous fuzzy-neural control approaches and presents an adaptive controller based on FNN to learn the inverse model of AUV. The research aims to develop an AUV motion controller, which is free of the pre-designed structure of Neural Network and is free of the pre-training process. The inverse dynamic model of AUV could be obtained through on-line adaptive learning, resulting in improved flexibility and robustness of AUV control system. The rest of the paper is organized as follows. Section II briefly describes the structure and learning algorithm of FNN. The dynamic model for AUV is proposed in section III. In section IV, the adaptive controller based on FNN is designed and its stability is proved in section V. In section VI computer simulations of the proposed control scheme and PD controller are conducted and their performances are compared to validate the effectiveness of the proposed approach. Finally, section VII concludes the paper.

N째 1

2010

(2) j=1,2,... u Where X=(x1, x2 ,... xr) and Cj is the center of jth RBF unit. Layer 4: We refer to these nodes as N (normalized) nodes. Obviously, the number of N nodes equals to that of R nodes. The output of the Nj node is:

, j=1,2,... u

(3)

Layer 5: Each node in this layer represents an output variable as the summation of incoming signals

(4)

2. The Architecture and Learning Algorithm of FNN Where y is the value of an output variable and w2k is the weight of each rule. (4) can be also written as Y=W T Y

Fig. 1 Architecture of FNN. The FNN is based on extended RBF neural network. The architecture is shown in Fig. 1, which includes 5 layers, where Layer 1: Each node in layer 1 represents an input linguistic variable. Layer 2: Each node in layer 2 represents a membership function (MF), which is in the form of Gaussian functions: , i=1,2,... r ; j=1,2,... u

(1)

Where mij is jth membership function of xi ; cij is the center of the jth Gaussian membership function of xi ; sj is the width of the jth Gaussian membership function of xi ; r is member of input variables; u is the member of membership functions. Layer 3: Each node in layer 3 represents a possible IFpart for fuzzy rules. For the jth rule Rj, its output is:

(5)

An on-line GD-FNN learning algorithm can be applied for the above network, which is described in detail in [21] and [22]. The learning algorithm includes structure identification and parameters estimation, which are performed automatically and simultaneously. Where the structure identification is to determine the number of membership functions and gain fuzzy rules. Parameters estimation include modification the parameters in IF parts and THEN parts of the fuzzy rules. There are two criteria on the new fuzzy rules generation, that are the system error must be larger than threshold Ke, and the minimum Mahalanobis distance must be larger than the threshold Kmd. When a new rule is generated, the parameters of GDFNN would be updated. The current training sample inputting to the network are used as the center of a Gussian membership function of a new rule. The initial weights of GD-FNN can be determined by orthogonal least squares algorithm. The test results with an articulated two-link manipulator show that the learning algorithm is superior in terms of learning efficiency and performance.

3. Dynamic model for AUV In order to research on the controller, we are considering the 6-DOF dynamic model of AUV described in [23]. In general, the nonlinear dynamic equations of motion of a six- DOF AUV expressed in the body-fixed coordinate frame can be written as: Articles

105


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

(6)

N° 1

2010

vector in the global coordinate frame; hd is a positive constant.

(7) The filtering tracking error of AUV can be defined as: Where M is the inertial matrix including both rigidbody mass and added mass; C(v) is the coriolis and centripetal matrix including rigid-body mass and added mass; D(v) is the total hydrodynamic matrix that includes radiation-induced potential damping, linear skin friction, wave drift damping and damping due to vortex shedding; g(h) contains the restoring terms formed by the vehicle’s buoyancy and gravitational terms; td represents disturbances (e.g., wave and current) from environmental forces and moments acting on the vehicle. t includes the control forces and moments; J(h) is a velocity transformation matrix (a Jacobian matrix) that transforms the vehicle-fixed velocities to those of the earth-fixed reference frame; Translational and rotational movements in the global reference frame are represented by h that includes earth-fixed position and Euler angles; v consists of six velocity components of motion (surge, sway, heave, roll, pitch, and yaw) in the vehicle coordinate system. In the body fixed frame, the dynamic model has the following characteristics:

(12) Where tant.

, and l is a positive cons-

Therefore (12) can be described as the following equations (13) (14) Where, is the virtual reference track in the global coordinate frame. The virtual reference track meets with the following equations: (15)

M = M T >0, M = 0; C(v) = -C T (v); D(v) = 0.

(16)

The dynamic model can be written in the global coordinate frame as follows:

Taking derivatives to both sides of (13) and substituting the dynamic model of AUV, the dynamic equation of system error of AUV can be organized as following:

(8) Where

; ; (17) ; ;

To obtain (17), the following equation has been applied:

; (9)

(18)

(10) In the global coordinate frame, the dynamic model has the following characteristics:

Define that (19)

,

; ;

The FNN and its learning algorithm are adopted to approach , yielding

.

4. The adaptive controller based on fuzzy neural network

(20)

Suppose that the expected motion state of AUV is limitary, that is:

Where, is the approaching error, and , , W is positive constant; is the vector of weights of the ideal FNN after learning. The control instance is designed as:

(11) (21) Where, hd is the expected position vector in the global coordinate frame; hd is the expected velocity vector in the global coordinate frame; hd is the expected acceleration 106

Articles

(22)


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

weights satisfy wk(t) Î G, "t>0. (23) Substituting (19), (21) and (23) into (17), gives the dynamic equations of error of the closed-loop system:

Proof: We consider the following Lyapunov function candidate: (31)

(25)

Taking the derivative of the Lyapunov function with respect to time, we have (32)

(26) When (27) Where,

is the estimated error; is the estimation of

be guaranteed that and

;

and

,

,

thus it can

when . Thus

is also gua-

ranteed. W is bounded by constraint set G for all t ³ 0.

is the estimation of matrix ; Kd is the gain matrix, which meets with Kd = Kd > 0; a is the robust controller which is used to increase system robustness to approaching error of the neural network and the environment disturbances. From (21) we can see that the adaptive controller is the integration of fuzzy neural network

Theorem 2. Suppose that the expected trajectory of AUV is bounded; the unknown external force disturbance td and the approaching error of neural network e are both zero. If the input to the controller is:

, PD controller J Kd s and robust

And the adaptive law of neural network is given by (30), and then the tracking error s(t) will approach to zero.

controller controller a.

(33)

5. Stability analysis In order to guarantee the stability of the control system, the Fuzzy Neural Network must be convergent. In other words, the parameters of fuzzy neural network must be bounded. From (5), we know that if the weights of the network W are bounded, then the network must be bounded. Define the constraints set G for resulting weight matrix W:

Proof: Now that the assumption of the conditions are satisfied and the control law (33) is adopted, thus the error dynamic equation of closed loop system will be:

(28)

(35)

Also define

(34) We consider the following Lyapunov function

Taking the derivative to the above Lyapunov function gives: (29)

The adaptive law of the weights of network can be described as:

(36) Substituting

and into (36) yields:

(30) Where, k is a positive constant. Theorem 1. If the initial values of the weights satisfy wk(0) Î G, and the adaptive law (30) is adopted, then the

(37)

Articles

107


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

Under the condition 1 of (30), (37) becomes

(41)

6. Simulation results (38) Under the condition 2 of (30), (37) becomes

(39) Theorem 3. Suppose that the expected trajectory of AUV is bounded; the unknown external force disturbance td and the approaching error of neural network e are both zero. If the input to the controller is (21), the adaptive law of neural network is (30), and robust controller is defined as:

The simulation could be done by substituting some parameters into the 6 DOF dynamic AUV model (8)-(10). The goal of the simulation is to verify the validity of the proposed adaptive control based on fuzzy neural network by having AUV track a series of predetermined trajectories under the disturbance of the ocean current and comparing the proposed control with other control methods. The current velocity function is defined as 0.5 + 0.1sin(0.01t) (knot); the current direction function is defined as 50 + 10sin(0.01t) (degree). The key parameters in the controller are assumed as following: The width of Gaussian function is determined as 0.1; k = 1000; ke = 100; kmd = 0.083; l = diag (0.1 0.1 0.1 0.1 0.1 0.1); kd = diag (2´104 2´104 2´104 3´105 3´105 3´105). In the simulation experiments, AUV is required to track a user-planned trajectory at constant speed 4kn. After finishing the simulation experiment, there are inference rules that have been generated. The system takes about 300s-400s to learn the new rules. From the errors analysis in table 1, Fig. 2(b), Fig. 3(b), Fig. 4(b) and Fig. 5(d), we can see at the beginning of the simulation, the results of PD and the adaptive controller („output of controller” in the following plots) are similar. While after the learning process being accomplished, the output of the adaptive controller and the output of fuzzy neural network are very close, and are superior to PD controller output. From the effects of trajectory tracking in Fig. 2(a), Fig. 3(a), Fig. 4(a) and Fig. 5(a)-(c), we can conclude that our proposed adaptive controller is advanced in its self constructing and self learning. The controller is also robust to the disturbance of complex ocean current. (a) Trajectories

(40) Then the tracking error s(t) will approach to zero. Proof: We consider the Lyapunov function (35), thus

(b) Tracking Errors

Fig. 2. Tracking a triangle trajectory. 108

Articles


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

(a) Trajectories

(a) 3D Trajectories

(b) Tracking Errors

(b) Trajectories projection on Northeast plane

N째 1

2010

Fig. 3. Tracking a rectangular trajectory. (c) Trajectories projection on Depth-east plane (a) Trajectories

(b) Tracking Errors

(d) Tracking Errors

Fig. 4. Tracking a comb-shape trajectory.

Fig. 5. 3D trajectory tracking.

Articles

109


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

Table 1. Performance comparison. Simulation

Triangle trajectory rectangular trajectory Comb-shape trajectory 3D trajectory

Root mean square error (m)

Maximum error (m)

Minimum error (m)

PD

Adaptive

PD

Adaptive

PD

Adaptive

16.11 10.47 6.25 17.63

5.44 2.26 1.31 4.87

37.13 27.61 25.45 36.32

16.26 13.75 10.56 15.71

0.55 0.51 0.42 0.53

0.06 0.02 0.03 0.05

7. Conclusion An adaptive controller based on Fuzzy Neural Network is proposed and its stability for the closed loop control system is proved theoretically. The stability and robustness of the controller are also verified by simulation experiments in which AUV is required to track trajectories with current disturbance. Through the theoretical analysis and simulation verification, we can conclude: The on-line learning algorithm of the fuzzy neural network is advanced in its self-constructing and self-learning properties, so that the complex unknown model can be approached precisely based on this kind-learning algorithm. The fuzzy neural network is also able to learn the disturbance to AUV under complex underwater environment, so that the disturbing effects to AUV motion control would decrease efficiently. The adaptive controller based on fuzzy neural network can be applied in trajectory tracking control for AUV. The system tracking error decreases as the on-line learning processes.

AUTHORS Zheng Qin* - Department of Electrical and Computer Engineering, Dalhousie University, Halifax, B3J 2X4, Canada. E-mail: Zheng.Qin@dal.ca. Jason Gu - Department of Electrical and Computer Engineering, Dalhousie University, Halifax, B3J 2X4, Canada. E-mail: Jason.Gu@dal.ca. * Corresponding author

[5]

[6]

[7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]

References [1]

[2]

[3]

[4]

110

Song X., Ye J., Wu L., „Integral sliding mode controller based on fuzzy logic for the heading control of the submersible vehicle”, ICICIC '06. First International Conference on Innovative Computing, Information and Control, 2006, pp. 183-186. Tangirala S., Dzielski J., „A variable buoyancy control system for a large AUV”, IEEE Journal of Oceanic Engineering, vol. 32, no. 4, 2007, pp. 762-771. FossenT.I., Blanke M., „Nonlinear output feedback control of AUV propellers using feedback form estimated axial flow velocity”, IEEE Journal of Oceanic Engineering, vol. 25, no. 4, 2000, pp. 241-255. HealeyA.J., Lienard D., „Multivariable sliding mode control for autonomous diving and steering of unmanned AUVs”, IEEE Journal of Oceanic Engineering, vol. 18, no. 7, 1993, pp. 327-339.

Articles

[15]

[16]

[17]

[18]

Yoerger D.N., Slotine J.E., „Robust trajectory control of AUVs”, IEEE Journal of Oceanic Engineering, vol. 10, no.9, 1985, pp. 462-470. Choi S.K., Yuh J., „Experimental study on a learning control system with bound estimation for AUVs”, Underwater Robots, Norwell, MA: Kluwer, 1996, pp. 113-120. Ishii K., Fujii T., Ura T., „An on-line adaptation method in a neural network-based control system for AUVs”, IEEE Journal of Oceanic Engineering, vol. 20, no. 7, 1995, pp. 221-228. Jordan M.A., Bustamante J.L., „Guidance of AUVs with cable tug perturbations under fixed and adaptive control systems”, IEEE Journal of Oceanic Engineering, vol. 33, no. 4, 2008, pp. 579-598. Cavalletti M., Ippoliti G., Longhi S., „Switching adaptive control for a remotely operated vehicle”, American Control Conference, 2007, pp. 2799-2806. Kim H., Shin Y., „Design of adaptive fuzzy sliding mode controller using FBFE for UFV depth control”, SICEICASE, 2006, pp. 3100-3103. Kim H., Shin Y., „Design of expanded adaptive fuzzy sliding mode controller using FBFE for UFV depth control”, International Conference on Automation and Systems, 2007, pp. 2654-2657. Moattari M., Khayatian A., „A neural network controller for diving of a variable mass autonomous underwater vehicle”, 2008 SICE Annual Conference, 2008, pp. 13391344. Xu J., Zhang M., „Neural network modeling and generalized predictive control for an autonomous underwater vehicle”, 6th IEEE International Conference on Industrial Informatics, 2008 pp. 487-491. Jang J.S.R., „ANFIS: adaptive-network-based fuzzy inference system”. IEEE Transactions on Systems, Man, and Cybernetics, vol. 23, no. 3, 1993, pp. 665-684. Cho K.B., Wang B.H., „Radial basis function based adaptive fuzzy systems and their applications to system identification and prediction”, Fuzzy Sets Systems, vol. 83, no. 3, 1996, pp. 325-339. Juang C.F., Lin C.T., „An online self-constructing neural fuzzy inference network and its applications”, IEEE Transactions on Fuzzy Systems, vol. 6, no. 1, 1998, pp. 12-32. Juang C.F., Lin C.T., „A recurrent self- organizing neural fuzzy inference network”, IEEE Transactions on Neural Networks, vol. 10, no. 4, 1999, pp. 828-845. Er M.J., Gao Y., „Robust adaptive control of robot manipulators using generalized fuzzy neural networks”, IEEE Transactions on Industrial Electronics, vol. 48, no. 6, 2001, pp. 1274-1278.


Journal of Automation, Mobile Robotics & Intelligent Systems

[19]

[20]

[21]

[22]

[23]

VOLUME 4,

N° 1

2010

Wang J.S., Lee C.S.G., „Self-adaptive recurrent neurofuzzy control of an autonomous underwater vehicle”, IEEE Transactions on Robotics and Automation, vol. 11, no. 4, 2003, pp. 462-477. Wang J.S., Lee C.S.G., „Structure and learning in selfadaptive neural fuzzy inference systems”, International Journal of Fuzzy Systems, vol. 2, no. 1 2000, pp. 12-22. Er M.J., Gao Y., „Robust adaptive control of robot manipulators using generalized fuzzy neural networks”, IEEE Transactions on Industrial Electronics, vol. 50, no. 3, 2003, pp. 620-628. Gao Y., Er M.J., „Online adaptive fuzzy neural identification and control of a class of MIMO nonlinear systems”, IEEE Transactions on Fuzzy Systems, vol. 11, no. 4, 2003, pp. 462-477. Yuh J., „Underwater Robotic Vehicles: Design and Control?”, USA: TSI Press Series Networks, 1995, pp. 15 40

Articles

111


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

INFocus THE SPOTLIGHT on new n Revolution in struggling with noise? Johan Wesselink, PhD student of the University of Twente, The Netherlands, has developed a first device to actively combat noise nuisance. Until now only passive solution have been applied. This invention curtails sound waves and vibrations by producing anti-noise. The inventor is confident that his device will be used in the transport and industrial sectors within a matter of years. The device uses microphones to capture sound and can curtail sound waves by producing antinoise through loudspeakers. This is achieved by means of a rapid-response algorithm, implemented efficiently using specially developed hardware.It involves building noise barriers or fitting soundproofing materials, often resulting in an increase in the bulk and weight of the object being soundproofed. Johan hopes that his device will one day replace all those thick layers of insulation. One effect will be to decrease the weight of motor vehicles, thereby reducing their fuel consumption.The new system is now being tested by TNO Research Institute on navy frigates, canal barges, extractor fans, heavy goods vehicles and optical precision equipment. The system can also be used to reduce the noise made by MRI scanners. Source: http://www.physorg.com n Canaries retired - new optical sensor can revolutionize gas detectors New generation of optical sensors enables making of dependable, fast and long-working gas detectors that can be applied in industry, safety devices, and households. Canaries, primary gas detectors, last time were supplanted by electrochemical sensors, but even this method is unsatis factory now. The sensor of new kind, based on most advanced technologies, able to quick detection and identification of rare gases is needed. In 2006 European Union started NEMIS (New Mid-Infrared Sources for Photonic Sensors) project, which has been finished recently. The objectives of the NEMIS project are the development and realisation of compact and packaged vertical-cavity surface-emitting semiconductor laser diodes (VCSEL) for the 2-3.5 Îźm wavelength range and the demonstration of a pilot photonic sensing system for trace gas analysis using these new sources. The availability of electrically pumped VCSELs with their low-cost potential, low power consumption, small beam divergence and compactness in this wavelength range that operate continuously at or at least near room-temperature and emit in a single transverse and longitudinal mode (i. e. single-frequency lasers) is considered a basic breakthrough for laser-based optical sensing applications. These devices are also mode-hop-free tunable over a couple of nanometers via the laser current or the heat sink temperature. It is the purpose of the project to develop the underlying semiconductor technology based on Gallium Antimonide, the VCSELs as well as pilot applications in sensing systems to demonstrate the potential and performance of these novel lasers for tunable diode laser spectroscopy (TDLS). The NEMIS consortium consists of partners from five European countries: one of the world leader manufacturers of photonics systems, small and medium enterprises, and four universities. When scientists done their part of the task, industrial partners constructed a prototype detecting ammonia and carbon monoxide. Research work on sensors detecting carbon dioxide and hydrogen sulfide. 112

In the spotlight

Fig. 1. BTJ-design.

Fig. 2. Oxide-/mesa-confined design. Source: http://www.nemis.eu/


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 4,

N° 1

2010

n SMARTIEHS: Smart inspection system for high speed and multifunctional testing of MEMS and MOEMS For the present, MEMS have to be tested one by one, so the whole process is very expensive and time consuming. The SMARTIEHS is EU project, which is aimed at cheaper and faster method of testing for the market. SMARTIEHS develops a smart, high-speed, cost effective and flexible inspection system for production of Micro-Opto-Electro-Mechanical Systems (MOEMS). 8 project partners come from 6 European countries: Norway, France, Poland, Switzerland, Germany, and Italy. The co-coordinator is Kay Gastinger from SINTEF ICT (Norway).The prototype can test 5 chips at the same time. After finishing the project in 2011 researches expect to will decrease the inspection time of a wafer by a factor of 100. Shortening testing time from over 20 minutes to less than 30 seconds is expected. To achieve this, SMARTIEHS develops an innovative measurement concept: a probing wafer consisting of an array of micro optical sensors is adapted to and aligned with the wafer under test. The design and production of the micro-optical interferometer array inspects 100 M(O)EMS structures within only one measurement cycle. A multifunctional approach of the measurement concept allows the inspection of passive and active parameters within one inspection system. A novel smart pixel detector array is developed. SMARTIEHS provides a multi-functional design with two interferometer configurations; a low coherent interferometer and a laser interferometer. The project focuses on the measurement of shape and deformation, resonance frequency and vibration amplitude distribution. The new technology will be validated and demonstrated with industrial end users. The work in SMARTIEHS will be organised in eight work packages: Project management, Inspection system design, Micro-optical interferometer system design, Micro-optical wafer production, Smart pixel camera development, Inspection system integration, Inspection system test and validation, Exploitation and dissemination. Source: http://www.sintef.no http://www.ict-smartiehs.eu/ n Robots with the human touch A student Jeroen Missinne and colleagues at Ghent University in Belgium developed a flexible „skin” containing optical sensors which could help robots develop a more human touch. The „skin” consists of two layers of parallel polymer strips lying perpendicular to each other to form a grid. These are separated by a thin sheet of plastic. Light is constantly fed into the polymer strips, which act like optical fibers in that their geometry encourages internal reflection and reduces light loss. When pressure is applied anywhere on the skin it causes the strips to be pushed closer together and allows light to escape from one set into the other. The detection of this leakage of light provides a highly sensitive feedback mechanism. Because they are optical, neighbouring polymer strips do not interfere with each other, allowing them to be packed tightly together - as close as 125 micrometres so far. This sensor-rich „skin” could be applied for surgical robots. Missinne presented his latest findings, demonstrating that pressure triggers light to escape from one set of polymer strips to another, at the IMEC Flexible and Stretchable Electronics workshop in Ghent last week. He is now working on developing a full prototype and hopes to begin more detailed tests by the end of the year. Source: http://www.newscientist.com/

In the spotlight

113 ?


VOLUME 4,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 1

2010

EVENTS WINTER-SPRING 2010 January 22 – 24

ICCMS 2010 – The 2nd International Conference on Computer Modeling and Simulation, Sanya, Hainan, China. http://www.iccms.org

22 – 24

ICFN 2010 – The 2nd International Conference on Future Networks, Sanya, China. http://www.icfn.org/

February 12 – 13

ICMLC 2010 – The 2nd International Conference on Machine Learning and Computing, Bangalore, India. http://www.icmlc.org

26 – 28

ICCAE 2010 – The 2nd International Conference on Computer and Automation Engineering, Singapore, Singapore. http://www.iccae.org

26 – 28

ICDIP 2010 – The 2nd International Conference on Digital Image Processing, Singapore, Singapore. http://www.icdip.org

26 – 28

ICILT 2010 – The 2nd International Conference on Industrial and Logistics Technology, Singapore, Singapore. http://www.iacsit.org/icilt/index.htm

March 19 – 17

International MultiConference of Engineers and Computer Scientists, Hong Kong, Hong Kong. http://www.iaeng.org/IMECS2010/

22 – 26

ACM SAC 2010 – 25th ACM Symposium on Applied Computing Sierre Intelligent Robotic Systems Track, Lausanne, Switzerland. http://www.icmc.usp.br/~lrm/sac2010/

24 – 26

AUTOMATION 2010 – Warsaw, Poland. http://www.piap.pl/automation/

April 12 – 16

TMCE 2010 – International Symposium series on Tools and Methods of Competitive Engineering, Ancona, Italy. http://www.tmce.org.

June 13 – 17

10th International Conference on Artificial Intelligence and Soft Computing, Zakopane, Poland. http://icaisc.org

28 – 30

Design and Nature 2010: Fifth International Conference on Comparing Design in Nature with Science and Engineering, Pisa, Italy. http://www.wessex.ac.uk/10-conferences/design-and-nature-2010.html

August 1–3

ICMEE 2010 – 2nd IEEE International Conference on Mechanical and Electronics Engineering, Tokyo, Japan. http://www.icmee.org

31 – 2 September COMPRAIL 2010 – 12th International Conference on Computer System Design and Operation in the Railway and other Transit Systems, Bejing, China. http://www.wessex.ac.uk/10-conferences/comprail-2010.html 114

Events


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.