Neural Networks Modeling and Control: Applications for Unknown Nonlinear Delayed Systems in Discrete Time 0128170786, 9780128170786

Neural Networks Modelling and Control: Applications for Unknown Nonlinear Delayed Systems in Discrete Time focuses on mo

790 212 13MB

English Pages 158 [151] Year 2020

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Neural Networks Modeling and Control: Applications for Unknown Nonlinear Delayed Systems in Discrete Time
 0128170786, 9780128170786

Table of contents :
Cover
Neural Networks Modeling and
Control:
Applications for Unknown Nonlinear Delayed Systems
in Discrete Time
Copyright
Dedication
Contents
About the authors
Preface
Acknowledgments
1 Introduction
1.1 Systems with delay
1.2 System model
1.3 Neural identification
1.4 Neural state observers
1.5 Neural block control
1.5.1 Discrete sliding modes
1.5.2 Inverse optimal control
1.6 Problem statement
1.7 Background
1.7.1 Previous work on systems with time delay
1.7.2 Advantages of our schemes
2 Mathematical preliminaries
2.1 Time delay systems
2.1.1 Delay
2.1.2 System with time delay
2.1.3 Nonlinear discrete system with time delays
2.2 Recurrent high-order neural networks
2.2.1 Discrete high-order recurrent neural networks
2.2.2 Extended Kalman filter training
2.2.2.1 RHONN training using EKF
3 Neural identification using recurrent high-order neural networks for discrete nonlinear systems with unknown time delays
3.1 Identification of the system
3.2 Neural identification
3.3 Identifier design based on recurrent high-order neural networks for uncertain nonlinear systems with delay
3.4 Results of RHONN identifier
3.4.1 Simulation results: Van der Pol oscillator
3.4.1.1 Observer based on high-order neural network
3.4.1.2 RHONN-based identifier
3.4.1.3 Simulation results
3.4.2 Simulation results: differential robot
4 Identifier-controller scheme for uncertain nonlinear discrete systems with unknown time delays
4.1 Identifier-controller scheme, sliding modes
4.1.1 Block control with sliding modes
4.2 Results of identifier-controller scheme, sliding modes
4.2.1 Real-time results: linear induction motor with variant delays Test 4.1
4.2.2 Real-time results: linear induction motor with variants delays Test 4.2
4.2.3 Real-time results: linear induction motor with varying delays Test 4.3
4.3 Identifier-controller scheme, inverse optimal control
4.3.1 Inverse optimal control
4.4 Results of identifier-controller scheme, inverse optimal control
4.4.1 Application to a tank differential robot
4.4.1.1 Inverse optimal control for a tank differential robot
4.4.2 Real-time results: differential robot Test 4.4
4.4.3 Real-time results: differential robot Test 4.5
5 Neural observer based on a RHONN for uncertain nonlinear discrete systems with unknown time delays
5.1 Neural observer
5.2 Full-order neural observer design based on a RHONN for discrete-time nonlinear systems with unknown delays
5.2.1 Results of full-order RHONN observer
5.2.1.1 Simulation results
5.2.1.2 Experimental results
5.3 Reduced-order neural observer design based on RHONNs for discrete-time nonlinear systems with unknown delays
5.4 Results of reduced-order neural observer
5.4.1 Simulation results
5.4.2 Real-time results
6 Observer-controller scheme for uncertain nonlinear discrete systems with unknown delays
6.1 RHONN observer-controller scheme for uncertain nonlinear discrete systems with unknown delays
6.1.1 Simulation results: reduced-order RHONN observer-controller
6.1.2 Real-time results: reduced RHONN observer-controller
7 Conclusions
7.1 Conclusions
APPENDIX
A Artificial neural networks
A.1 Biological neural networks
A.1.1 Biological neuron
A.1.2 Biological synapse
A.1.3 Types of neurons
A.2 Artificial neural networks
A.2.0.1 Artificial neuron
A.3 Activation functions
A.4 Classification of neural networks
A.4.1 Single-layer neural networks
A.4.2 Multilayer neural networks
A.4.3 Recurrent neural networks
A.5 Neural network training
APPENDIX
B Linear induction motor prototype
B.1 Linear induction motor
B.1.1 How a LIM works
B.1.2 Model of a LIM
B.1.3 Flux observer
B.2 Linear induction motor prototype
B.2.1 Electric drive by induction motor
B.2.2 LIM prototype
APPENDIX
C Differential tracked robot prototype
C.1 Tracked robot
C.1.1 Tracked robot model
C.2 Prototype
Bibliography
Index
Back Cover

Citation preview

Neural Networks Modeling and Control Applications for Unknown Nonlinear Delayed Systems in Discrete Time

Neural Networks Modeling and Control Applications for Unknown Nonlinear Delayed Systems in Discrete Time Jorge D. Rios Alma Y. Alanis Nancy Arana-Daniel Carlos Lopez-Franco University of Guadalajara, University Center for Exact Sciences and Engineering, Guadalajara, Jalisco, Mexico Series Editor

Edgar N. Sanchez

Academic Press is an imprint of Elsevier 125 London Wall, London EC2Y 5AS, United Kingdom 525 B Street, Suite 1650, San Diego, CA 92101, United States 50 Hampshire Street, 5th Floor, Cambridge, MA 02139, United States The Boulevard, Langford Lane, Kidlington, Oxford OX5 1GB, United Kingdom Copyright © 2020 Elsevier Inc. All rights reserved. MATLAB® is a trademark of The MathWorks, Inc. and is used with permission. The MathWorks does not warrant the accuracy of the text or exercises in this book. This book’s use or discussion of MATLAB® software or related products does not constitute endorsement or sponsorship by The MathWorks of a particular pedagogical approach or particular use of the MATLAB® software. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher’s permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions. This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein). Notices Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods, professional practices, or medical treatment may become necessary. Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information, methods, compounds, or experiments described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility. To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein. Library of Congress Cataloging-in-Publication Data A catalog record for this book is available from the Library of Congress British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library ISBN: 978-0-12-817078-6 For information on all Academic Press publications visit our website at https://www.elsevier.com/books-and-journals Publisher: Mara Conner Acquisition Editor: Chris Katsaropoulos Editorial Project Manager: Joshua Mearns Production Project Manager: Selvaraj Raviraj Designer: Mark Rogers Typeset by VTeX

Dedication

Jorge D. Rios dedicates this book to his parents Rosa and Jaime, and his siblings Isabel and Jaime. Alma Y. Alanis dedicates this book to her husband Gilberto, her mother Yolanda, and her children, Alma Sofia and Daniela Monserrat. Nancy Arana-Daniel dedicates this book to her husband Angel, her children Ana, Sara, and Angel, her parents Maria and Trinidad, and her brothers and sisters Rodolfo, Claudia, Nora, Carlos, Ernesto, Gerardo, and Paola. Carlos Lopez-Franco dedicates this book to his wife Paty, and his children Carlos Alejandro, Fernando Yhael, and Iker Mateo.

v

Contents Dedication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

v

About the authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xi

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xiii

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xv

Chapter 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Systems with delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 System model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Neural identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Neural state observers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Neural block control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 2 2 2 3

1.5.1 Discrete sliding modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.2 Inverse optimal control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.1 Previous work on systems with time delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.2 Advantages of our schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 3 3 4 4 6

Chapter 2: Mathematical preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Time delay systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9 9

2.1.1 Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 System with time delay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Nonlinear discrete system with time delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recurrent high-order neural networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Discrete high-order recurrent neural networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Extended Kalman filter training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10 10 11 11 12 14

Chapter 3: Neural identification using recurrent high-order neural networks for discrete nonlinear systems with unknown time delays . . . . . . . . . . . . . . . . . .

17

1.6 1.7

2.2

vii

Contents

3.1 3.2 3.3

Identification of the system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Neural identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Identifier design based on recurrent high-order neural networks for uncertain nonlinear systems with delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Results of RHONN identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Simulation results: Van der Pol oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Simulation results: differential robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20 24 24 29

Chapter 4: Identifier–controller scheme for uncertain nonlinear discrete systems with unknown time delays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Identifier–controller scheme, sliding modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35 35

4.1.1 Block control with sliding modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Results of identifier–controller scheme, sliding modes . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Real-time results: linear induction motor with variant delays Test 4.1 . . 4.2.2 Real-time results: linear induction motor with variants delays Test 4.2 . 4.2.3 Real-time results: linear induction motor with varying delays Test 4.3 . . Identifier–controller scheme, inverse optimal control . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Inverse optimal control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Results of identifier–controller scheme, inverse optimal control . . . . . . . . . . . . 4.4.1 Application to a tank differential robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Real-time results: differential robot Test 4.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.3 Real-time results: differential robot Test 4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35 43 44 48 52 55 56 57 57 60 63

3.4

4.2

4.3 4.4

Chapter 5: Neural observer based on a RHONN for uncertain nonlinear discrete systems with unknown time delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Neural observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Full-order neural observer design based on a RHONN for discrete-time nonlinear systems with unknown delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 5.4

17 19

71 71

72 5.2.1 Results of full-order RHONN observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Reduced-order neural observer design based on RHONNs for discrete-time nonlinear systems with unknown delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Results of reduced-order neural observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.4.1 Simulation results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.4.2 Real-time results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Chapter 6: Observer–controller scheme for uncertain nonlinear discrete systems with unknown delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 RHONN observer–controller scheme for uncertain nonlinear discrete systems with unknown delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

95

95 6.1.1 Simulation results: reduced-order RHONN observer–controller . . . . . . . . . 104 6.1.2 Real-time results: reduced RHONN observer–controller . . . . . . . . . . . . . . . . . 109 viii

Contents

Chapter 7: Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 7.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Appendix A: Artificial neural networks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 A.1 Biological neural networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

A.2 A.3 A.4

A.5

A.1.1 Biological neuron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.2 Biological synapse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.3 Types of neurons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Artificial neural networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Activation functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classification of neural networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.4.1 Single-layer neural networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.4.2 Multilayer neural networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.4.3 Recurrent neural networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Neural network training. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

118 118 119 120 121 121 122 122 122 123

Appendix B: Linear induction motor prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 B.1 Linear induction motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

B.2

B.1.1 How a LIM works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.1.2 Model of a LIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.1.3 Flux observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Linear induction motor prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2.1 Electric drive by induction motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2.2 LIM prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

125 126 127 128 128 129

Appendix C: Differential tracked robot prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 C.1 Tracked robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 C.2

C.1.1 Tracked robot model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

ix

About the authors Jorge D. Rios received a BSc degree in Computer Engineering in 2009 and an MSc degree in Electronics and Computer Engineering in 2014 from the University of Guadalajara. He received a PhD degree in Electronics and Computer Science at the University of Guadalajara in 2017. He is also a member of the Mexican National Research System (SNI-1). His research interest centers on automatic control and intelligent systems. Alma Y. Alanis received a BSc degree from the Instituto Tecnologico de Durango (ITD), Durango in 2002, and MSc and PhD degrees in Electrical Engineering from the Advanced Studies and Research Center of the National Polytechnic Institute (CINVESTAV-IPN), Guadalajara, in 2004 and 2007, respectively. Since 2008, she has worked at the University of Guadalajara, where she is currently a Chair Professor at the Department of Computer Science and a member of the Intelligent Systems Research Group. She is also a member of the Mexican National Research System (SNI-2). Her research interest centers on neural control, backstepping control, block control, and their applications to electrical machines, power systems, and robotics. Nancy Arana-Daniel received a MSc degree in Computer Science in 2003 and a PhD in Computer Science in 2007, both from the Center of Research and Advanced Studies, CINVESTAV, Guadalajara. She is currently a research fellow at the Department of Computer Science at the University of Guadalajara, where she works in the Intelligent Systems Research Group. Her research interests focus on applications of geometric algebra, Machine Learning, optimization, computer vision, pattern recognition, and visually guided robot navigation. Carlos Lopez-Franco received a PhD degree in Computer Science in 2007 from the Center of Research and Advanced Studies, CINVESTAV, Mexico. He is currently a professor at the Computer Science Department at the University of Guadalajara and a member of the Intelligent Systems group. His research interests include geometric algebra, computer vision, robotics, and intelligent systems.

xi

Preface Internet communication has become an essential part of today’s world. Extensive research on the possible applications of remote-control technology implemented over a communication line in the field of control engineering has led to recent progress in the development of communication technologies. Nevertheless, a networked control system is permanently affected by negative factors, such as induced time delay and packet loss, which is always characteristic during network operation. Then, a possible solution can be updating the network equipment. However, this solution is costly; other solutions can be obtained through the use of robust and reliable control methodologies to decrease the negative impact of time delay and packet losses. Apart from these problems, the proposed controller should deal with other common problems of real-life systems, like complex interactions among potentially conflicting actuations, continuous and discrete dynamics with discrete controllers, unknown and unmodeled dynamics, noises, unreliable sensors, very expensive sensors or the lack of the necessary sensors, internal and external unknown uncertainties, large delays that imply reduced stability regions, and unknown variable time delays. In recent years intelligent control, particularly neural control, has shown its ability to control complex systems subject to hard complications as mentioned above, even when the mathematical model of the system is unknown or if the application is complex; therefore neural control is an obvious methodology for modeling and control of real-life systems. Particularly, this book is focused on modeling and control of discrete-time unknown nonlinear delayed systems under uncertainties based on artificial neural networks. In a first stage a recurrent high-order neural network (RHONN) is used to identify discrete-time unknown nonlinear delayed systems under uncertainties; then a RHONN is used to design neural observers for the same class of systems; and then both neural models are used to synthesize controllers for trajectory tracking based on two methodologies: sliding mode control and inverse optimal neural control. The designed neural controllers are applied in real time first to a linear induction motor prototype and then to a networked robotic system. For all the proposed schemes the respective stability analyses have been developed based on Lyapunov methodology and for all of them, both simulation and real-time results are included in order to show the applicability of the proposed methodologies. xiii

Preface Therefore, this work is organized as follows: • •

• •

• • •

Chapter 2 presents the fundamental concepts of this work, concepts that are used in Chapters 3, 4, 5, and 6. Chapter 3 presents the process of neural identification design for uncertain nonlinear systems with unknown time delays. The process described is based on RHONNs trained with the extended Kalman filter (EKF). Chapter 4 presents the identifier–controller scheme based on the identifier from Chapter 3. Chapter 5 presents the design process of the neural observer for uncertain nonlinear systems with unknown time delays. The process described is based on RHONNs trained with EKF. This chapter includes the observer–controller scheme. Chapter 6 presents the observer–controller scheme based on the observer from Chapter 5. Chapter 7 presents the conclusions of this work. Finally, appendices include complementary information about artificial neural networks, the linear induction motor model, the differential robot model, and their respective prototypes, used to develop experimental tests presented throughout the book.

This book could be used for self-learning and as a textbook. Our target audience includes, but is not limited to, professors, research engineers, and graduate students carrying out work in the areas of artificial intelligence, robotics, Machine Learning, modeling, estimation, identification, and control. However, due to intelligent systems having become a well-established research area with many applications in different scientific fields, it is not possible to restrict the scope that this book can have regarding the possible applications of the methodologies presented herein. Jorge D. Rios Alma Y. Alanis Nancy Arana-Daniel Carlos Lopez-Franco

xiv

Acknowledgments The authors thank the National Council of Sciences and Technology (CONACYT, Spanish acronym), Mexico, for financially supporting the following projects: CB-256769, CB-256880, and PN-2016-4107. They also thank the University Center of Exact Sciences and Engineering of the University of Guadalajara (CUCEI-UDG, Spanish acronym), Mexico, for the support provided to write this book. Our work would not have been possible without these supports. We also wish to thank our colleagues and students for all the exciting discussions to help us to find a way to achieve the results presented here. Jorge D. Rios Alma Y. Alanis Nancy Arana-Daniel Carlos Lopez-Franco April, 2019

xv

CHAPTER 1

Introduction Contents 1.1 1.2 1.3 1.4 1.5

Systems with delay 1 System model 2 Neural identification 2 Neural state observers 2 Neural block control 3 1.5.1 Discrete sliding modes

3

1.5.2 Inverse optimal control

3

1.6 Problem statement 1.7 Background 4

3

1.7.1 Previous work on systems with time delay 1.7.2 Advantages of our schemes

4

6

Chapter points •

Introduction to concepts



Introduction to the problem



Presentation of background

1.1 Systems with delay Whenever information, material, or energy is transported from one point to another there is an associated delay; responses are not instantaneous. According to this approach all systems have delays; however, only those systems where the delay time between the application of the inputs or state variables and their response is significant are considered as systems with time delay [46,77]. Delays occur due to limitations of system components for processing information or transporting information or materials [46,77]. Neural Networks Modeling and Control https://doi.org/10.1016/B978-0-12-817078-6.00009-X Copyright © 2020 Elsevier Inc. All rights reserved.

1

2 Chapter 1

1.2 System model A system model is a mathematical representation of a system; it is represented in the form of differential equations for dynamic systems in continuous time and in the form of difference equations for dynamic systems in discrete time [3,51]. A model of a system is usually required for designing a control law for such a system. Furthermore, with a model of a system, among other things, it is possible to make simulations, predictions, emulations, failure detection, analysis, etc. [51].

1.3 Neural identification System identification is the process of obtaining a mathematical model of a system based on data obtained from previous experiments performed with the system under consideration. There are several methodologies to carry out system identification; however, the ones based on artificial neural networks stand out [23,51]. Neural identification consists of selecting a neural network model and adjusting its weights according to an adaptation law so that the response to an input, the response of the neural network, and the response of the system are the same [51].

1.4 Neural state observers Most of modern control techniques require the knowledge of all the state variables of the system to be controlled [19,51]. This matter can be managed using a sufficient number of sensors, which are electronic components that detect and respond to an input from the environment and whose output is a value that can be used in a subsequent process [61]. However, sensors usually present the following disadvantages: they can be expensive, they can become very noisy, they can in some cases induce delays in the system, and occasionally, there are no existing sensors to measure all the variables that are required, among others [19,51,61]. Observers estimate system variables based on the available signals and previous information of the system [19]. The observers which use neural networks are called neural observers. They use the neural networks to estimate unmodeled dynamics or even the whole system. These observers have advantages such as adaptability, ease of design, and robustness against noise [63].

Introduction 3

1.5 Neural block control Neural block control is a methodology used for the controlling of nonlinear systems. This methodology, in order to synthesize a control law, uses a model of a system in controllable block form, which is obtained by a neural identifier or a neural observer based on recurrent high-order neural networks [60].

1.5.1 Discrete sliding modes Control by sliding modes is a widely used tool for the control of nonlinear systems; it enables tracking of trajectories even in the presence of external and internal disturbances [60,67]. The control law of continuous sliding modes requires an infinite commutation frequency that excites unmodeled dynamics causing chattering phenomena [67]. The control action of discrete sliding modes depends on a control action known as an equivalent control which is a continuous function of the state [60].

1.5.2 Inverse optimal control The principle of optimal control is to determine a control law that forces the system to satisfy certain restrictions and at the same time minimizes a performance criterion. Nonetheless, this requires the solution of the Hamilton–Jacobi–Bellman equation, which is not an easy task. The inverse optimal control evades solving this equation. First, a stabilization feedback control is developed and then it is established which cost function is optimized [59].

1.6 Problem statement The study of systems with time delay has become an important field of research due to its frequent appearance in engineering applications [36,72]. To design a control law for a system a mathematical representation, known as system model, of the system is needed. Such a model can also be used for other motives, such as fault detection, simulation, and system control. System identification is a practical option to infer a system model [51] where the neural identification techniques stand out. Also, the knowledge of all the state variables is usually needed for controlling purposes. However, knowing all the state variables is not always possible, and the use of sensors and observers is an option to get estimations of those nonaccessible state variables. In this manner, neural networks have been incorporated in the state observer design due to their characteristics which allow them to approximate nonmodeled dynamics and nonaccessible state variables [19,63].

4 Chapter 1 Among the neural networks used for system identification and state observers, the recurrent high-order neural networks (RHONNs) have characteristics like flexibility, capacity of approximation, robustness against noise, dynamic behavior, and online and offline trainability [63], which render them good candidates for the identification of complex nonlinear systems as well as state estimation of this kind of systems. Furthermore, most systems are implemented in discrete time; this trend is mainly due to the advantages of working with digital systems instead of analog ones [52]. In this book, it is proposed to use RHONNs trained online using an algorithm based on the extended Kalman filter (EKF), to design identifiers and observers for discrete-time nonlinear systems with unknown delays. These RHONNs will have as their primary characteristic that they only need the measurements of the available state variables without the need of other knowledge of the real mathematical model to perform their task. In the case we do not have access to the measurement of all state variables, these RHONNs can also be designed to estimate those missing state variables. Also, with the model obtained by the RHONN identifier or the RHONN observer, the identifier–controller scheme and observer–controller scheme are presented in this book.

1.7 Background Nowadays a large number of systems have delays as well as modeling problems and a lack of sensors to measure all system signals [53]. Therefore, identifiers and observers serve as tools to proofread modeling errors and estimate necessary signals so that the control can work effectively. There are several works on the design of identifiers and state observers for nonlinear systems with time delay which share a common disadvantage: they require knowledge of the system model, at least an approximation of the time delay, or both. Besides, most publications have been developed in continuous time, and there are only a few publications that work with neural networks. The decision of using RHONNs trained with the Kalman filter is because they have been proven to be good candidates to identify and estimate the states of complex systems [2,60]. They offer the advantage of being able to work even if the system model is unknown; a mathematical model that represents the system can be obtained.

1.7.1 Previous work on systems with time delay In this section a list of some previous works for systems with time delays is presented. Then, advantages offered by the proposed schemes are discussed.

Introduction 5 •

• •













• • •



In [13], a continuous-time observer is presented for single-input and single-output systems with delays. This observer is based on an estimated delay and can reconstruct the state under parameter variations. Such methodology requires a mathematical model of the system even if it is not a very accurate one. In [14], an improved version of [13] with a minor number of restrictions in the selection of the gains and a smaller error in the reconstruction of the state is presented. In [44], an H∞ robust observer is presented for discrete nonlinear systems with delays and uncertainty in the parameters. Such methodology needs the model of the system to design the observer. In [17], authors present a discrete-time sliding mode controller based on neural networks. This work is exclusively designed for single-input and single-output systems and only gives a simulation result without considering delays. In [54], a continuous observer is presented based on the EKF for nonlinear systems with delay. This methodology takes into account the delayed states and the knowledge of the system model, and it is based on a modification of the Riccati differential equation. In [32], authors present a continuous neuro-fuzzy control system for nonlinear systems with delays. An exact model of the system is not necessary, but two approximations of the delay are required to simplify the design process. Only simulation results are presented. In [50], a neural observer based on a high-order neural network for systems with time delay is presented. Although this work uses a neural network, it needs the model of the system and an approximation to the delay in its design process. In [69], an adaptive control in continuous time is presented, which is based on a neural observer for systems with time delay. This method uses a radial basis function network and also uses knowledge of the system model in its design process. In [57], a neural observer in continuous time is presented for nonlinear systems with time delay with unmodeled dynamics. This methodology compensates for the time delay by using Young’s inequality. In [76], a discrete observer is presented for systems with delay. This observer is based on the idea of using two observers to compensate for the delay. In [34], authors propose an optimal robust control. This work includes stability analysis but does not include real-time results or simulation. In [42], authors propose a fuzzy logic system with delays to handle the perturbations and uncertainties of a continuous system with delays and a law of control of sliding modes that needs information of the delay. This work only presents simulation results. In [5], authors present a sliding mode controller and a neural identifier based on a multilayer perceptron trained with a backpropagation algorithm. This method has the following disadvantages: (1) it is exclusive for systems of single input and single output of relative degree 1; (2) it does not present a stability analysis; (3) it does not consider time delays; and (4) it only presents simulation results.

6 Chapter 1 •



• •

In [24], authors present a trajectory tracking control for fuzzy delta operator systems with time delay. In this work, the delay is approximated to obtain a transformation of the model, and then an H∞ controller is designed. This work only presents simulation results. In [68], authors propose trajectory control for nonlinear discrete systems with a fuzzy observer-based approach based on the Takagi–Sugeno system. The tracking problem is converted into a stabilization problem, and a fuzzy observer is used. The gains for the controller and the state observer are obtained with a nonquadratic Lyapunov function with delay. The effectiveness of the proposal is shown with simulation results. In [41], authors present two control schemes based on H∞ for power systems with multiple delays. This work presents results in simulation. In [78], authors propose a robust controller for trajectory tracking of linear systems with time delays and disturbances. In this work, the time delay system is transformed into a system without delays, and an observer is used to compensate for the disturbances. The work presents simulation results.

1.7.2 Advantages of our schemes It is important to remark that most of the previously mentioned works are designed to perform in continuous time, and only some of them make use of neural networks to deal with unmodeled dynamics. Besides, all the cited works need knowledge of a system model even if it is not a very accurate one. In comparison with the mentioned works, the following advantages are reached with the schemes presented in this book: •



Our proposed schemes work for discrete systems, which seems to be an advantage due to the trend of digital versus analog systems. Working with digital signals offers the following advantages [18,52,58]: • Digital systems can tolerate considerable variation in signal values. • Digital implementation allows the use of a wide variety of hardware options, including computers, microprocessors, digital signal processors, and field-programmable gate arrays (FPGAs). • They have a lower cost. In the proposed schemes, the following is not necessary: • Prior knowledge of the model of the system. The mathematical model is considered unknown. • Time delay knowledge, estimation or their bounds. • Measurement, estimation, or bounds of the disturbances.

Introduction 7 •

• • •

Once the training process has started, the mathematical structure of the RHONN identifier gives a mathematical model which is close to the system model. This model can be used to design a control law. It performs properly in the presence of internal and external disturbances as well as in the presence of nonmodeled dynamics. Stability analyses based on the Lyapunov methodology are presented, without the need for the persistent excitation assumption. Both simulation results and real-time results are presented.

These characteristics establish the presented schemes as ideal ones to implement in digital systems in real time.

CHAPTER 2

Mathematical preliminaries Contents 2.1 Time delay systems

9

2.1.1 Delay 10 2.1.2 System with time delay 10 2.1.3 Nonlinear discrete system with time delays 11

2.2 Recurrent high-order neural networks 11 2.2.1 Discrete high-order recurrent neural networks 12 2.2.2 Extended Kalman filter training 14

Chapter points •

Uncertain nonlinear systems



High-order neural networks

2.1 Time delay systems Due to the frequent appearance of time delays in engineering applications, the study of time delay systems has become an important field. Delays make the analysis and control design a more complicated task. Moreover, they are a cause of instability and poor system performance [71,73,77]. In general, any transportation of material or information has an associated time delay. Considering this, the delay in the systems is inherited from its components. Moreover, internal processes, actuators, and controllers can induce delays in the systems [9,46,77]. Even if all systems have an associated time delay, only those systems whose time delay is long enough to affect its performance are known as time delay system. These systems can be classified as deterministic or stochastic, varying in time or invariant, and known or unknown, among others. Neural Networks Modeling and Control https://doi.org/10.1016/B978-0-12-817078-6.00010-6 Copyright © 2020 Elsevier Inc. All rights reserved.

9

10 Chapter 2

2.1.1 Delay A delay is a physical property, which can be defined as the time lapse between the application of the input or state variables and the response of the system to them. [46,77]. Its value is determined by the distance and the transmission speed [46]. There are short, long, and too long time delays. Short time delays can be ignored in the system analysis. Long time delays complicate the analysis of the system and its control design process. Too long time delays can be so long that they are not detected, and it could be thought that the system has no delays at all. Keep in mind that in most cases the delay cannot be neglected [9,46]. Delays in systems occur due to the limited capabilities of the system components to process and transmit information or materials. Therefore, the sources of the delays can be classified according to [46]: •





Nature of the process. Delay occurs when the system has to wait for a process to be able to continue to a next step. Delay of transport. It arises when the system has to transport some material, and the controller takes some time to influence the process. Communication delay. This type of delay can occur in two ways: • Propagation of the delay signals through the actuators, controllers, sensors, and the network. • Access time as the result of the finite time needed to access a shared resource. The information and the control signal are previous versions of the system state. The control action suffers a delay when it is sent.

In addition to the source that generates the delay, the delays can be constant or variable in time, known or unknown, and deterministic or stochastic, depending on the system under consideration.

2.1.2 System with time delay Systems with time delays are common and are found in several fields, for example [9,37,77, 46] chemical processes, cooling systems, hydraulic systems, irrigation channels, metallurgical processes, robotics, and network systems. Systems with delay can be classified as deterministic or stochastic, with constant or variable delays, and with known or unknown delay [9].

Mathematical preliminaries 11 Systems with delay can also be classified as [45]: •



Systems with grouped delays. With a finite number of parameters the system delays can be described. Examples include conveyor belts and rolling mills. Systems with distributed delays. It is not possible to find a finite number of parameters to describe their delays. Example include heat exchange systems.

2.1.3 Nonlinear discrete system with time delays For this work, let us consider the following discrete-time nonlinear system with unknown delays of multiple inputs and multiple outputs: x (k + 1) = F (x (k − l) , u (k)) + d(k), y (k) = Cx(k),

(2.1)

where x ∈ n is the system state vector, u ∈ m is the input vector, y ∈ p is the output vector, C ∈ p×n is the output matrix, d ∈ n is the vector of disturbances, F ∈ n × m → n is a nonlinear function, and l = 1, 2, · · · is the unknown delay.

2.2 Recurrent high-order neural networks Artificial neural networks (ANNs), or just commonly known as neural networks, are simplified mathematical models of biological neural networks. Neural networks are implemented in computers with the objective of simulating in a very simplified way the behavior of biological neural networks, especially the behavior of the human brain, which can be seen as a highly complex parallel computer more efficient than any currently existing computer [29]. A brief introduction to the basic concepts of neural networks can be found in Appendix A. Recurrent neural networks allow a dynamic behavior by integrating feedback connections. This kind of neural network contains memory, which enables them to behave as a dynamic system does [35,51]. Among the recurrent neural networks, RHONNs offer several advantages to model nonlinear systems [33,40,74] like their characteristic of having high-order connections and the possibility of adding a priori information of the system in the neural network model [60]. RHONNs are a generalization of the first-order recurrent neural networks known as Hopfield networks [60]. In a high-order neural network, the total input to a neuron is not only a linear combination of the components yj ; also its products are included, yk yj , yi yj yk , and so

12 Chapter 2 forth. Then, it is possible to obtain high-order interactions. These networks have greater approximation properties, superior convergence capacity, better storage capacity, and larger fault tolerance than first-order networks [31,75]. Among the main characteristics of the RHONNs are [56,60]: • • • • • • •

They allow the efficient modeling of complex dynamic systems. They are good candidates for system identification, state observers, and control. They are robust against noise. They are easy to implement. Their structure is relatively simple. A priori information of the system can be incorporated into the model of the network. The parameters can be adjusted with online or offline training.

Discrete-time RHONNs (Fig. 2.1) present the same characteristics as the continuous ones (Fig. 2.2). Also, they are ideal for modeling, identification, and control of complex discrete nonlinear dynamic systems [60].

Figure 2.1: Discrete-time RHONN.

2.2.1 Discrete high-order recurrent neural networks There are two models of RHONNs [60]: •

Parallel model,  xi (k + 1) = wi zi ( x (k), u(k)).

(2.2)

Mathematical preliminaries 13

Figure 2.2: Continuous-time RHONN. •

Series-parallel model,  xi (k + 1) = wi zi (x(k), u(k)),

(2.3)

where n is the dimension of the state, i = 1, · · · , n,  x is the state vector of the neural network, w is the weight vector, x is state vector of the plant, and u = [u1 , u2 , . . . , um ] is the input vector to the neural network. For the series-parallel model zi (·) is defined as follows: ⎡ di j (1) ⎤ ⎡ ⎢ j ∈I1 ξij zi1 ⎢ ⎢ zi2 ⎥ ⎢ j ∈I ξ di j (2) ⎥ ⎢ ⎢ 2 ij zi (x(k), u(k)) = ⎢ . ⎥ = ⎢ .. ⎣ .. ⎦ ⎢ ⎢ . ⎣ ziLi di (Li ) j ∈ILi ξij j

⎤ ⎥ ⎥ ⎥ ⎥ ⎥, ⎥ ⎥ ⎦

(2.4)

with Li being the respective number of high-order connections, {I1 , I2 , · · · , ILi } is a collection of unordered subsets of {1, 2, · · · , n + m}, dij (k) are nonnegative integers, ξi is defined as ⎤ ⎡ ⎤ ⎡ ξi1 S(x1 ) ⎢ . ⎥ ⎢ . ⎥ ⎢ .. ⎥ ⎢ .. ⎥ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎢ ξin ⎥ ⎢ S(xn ) ⎥ ξi = ⎢ (2.5) ⎥=⎢ ⎥, ⎢ ξin+1 ⎥ ⎢ u1 ⎥ ⎥ ⎢ ⎥ ⎢ ⎢ .. ⎥ ⎢ .. ⎥ ⎣ . ⎦ ⎣ . ⎦ ξin+m um

14 Chapter 2 and S(·) is defined as any sigmoid function, like a logistic one such as S (ς) =

1 1+exp(−βς) ,

β > 0,

(2.6)

where ς is a variable with any real value. For the parallel model zi (·) is (2.4) with the modification of changing x to x, ˆ i.e., ⎤ ⎡ ⎤ ⎡ ξi1 S( x1 ) ⎢ . ⎥ ⎢ . ⎥ ⎢ .. ⎥ ⎢ .. ⎥ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ xn ) ⎥ ⎢ ξin ⎥ ⎢ S( ξi = ⎢ ⎥=⎢ ⎥. ⎢ ξin+1 ⎥ ⎢ u1 ⎥ ⎥ ⎢ ⎥ ⎢ ⎢ .. ⎥ ⎢ .. ⎥ ⎣ . ⎦ ⎣ . ⎦ ξin+m um

(2.7)

2.2.2 Extended Kalman filter training There are several algorithms to train neural networks. Most of them have a slow learning rate and a high sensitivity to initial conditions. Algorithms based on the Kalman filter are presented as an alternative [28,60]. The Kalman filter estimates the state of a linear system with additive white noise, both in the state and in the output using a recursive solution in which the estimated state is calculated from the previous state and the current input [15]. In the case of neural networks, the weights of the neural network are the state variables to be estimated by the Kalman filter, and the error between the measured output and the network output is considered additive white noise. The goal of the training is to find the optimal weight vector that minimizes the prediction error [28,60]. The EKF is used because the mapping of the neural network is nonlinear [28,60]. 2.2.2.1 RHONN training using EKF The training algorithm based on the EKF used in this work to train RHONNs in series-parallel model (2.3) is defined as follows: ωi (k + 1) = ωi (k) + ηi Ki (k)ei (k), Ki (k) = Pi (k)Hi (k)Mi (k), Pi (k + 1) = Pi (k) − Ki (k)Hi (k)Pi (k) + Qi (k),

(2.8)

Mathematical preliminaries 15 with Mi (k) = [Ri (k) + Hi (k)Pi (k)Hi (k)]−1 ,

(2.9)

ei (k) = xi (k) −  xi (k),

(2.10)



∂ xˆi (k) Hij = ∂ωij (k)

 ,

(2.11)

where ei ∈  is the identification error, η ∈  is the learning factor of the Kalman filter, Pi ∈ Li ×Li is the covariance matrix of error prediction, ωi ∈ Li is the vector of weights adapted online, xˆi is the i-th state variable of the neural network, Ki ∈ Li is the Kalman gain vector, Qi ∈ Li ×Li is the covariance matrix of the estimation noise, Ri ∈  is the covariance matrix of the noise of the output error, and Hi ∈ Li is a vector in which each entry is defined as Hij which is the derivative of the state of the neural network (xˆi ) with respect to a weight of the neural network (ωij ) and is defined by (2.11), where i = 1, ..., n and j = 1, ..., Li . In the case of the parallel model (2.2) the training is a modification of (2.8) with the following modifications: ei ∈ p , Ri ∈ p×p , and Hi ∈ Li ×p , where e and Hij are defined as follows: ei (k) = yi (k) −  yi (k), Hij =

∂ yˆi (k) ∂ωij (k)

(2.12)

 .

(2.13)

∂ y(k) ˆ ∂ x(k) ˆ ∂ y(k) ˆ = . ∂ω(k) ∂x(k) ∂ω(k)

(2.14)

By the chain rule we obtained

We rewrite (2.2) as x(k ˆ + 1) = F (x(k), u(k), w(k)),

(2.15)

where F (·, ·, ·) is a nonlinear function that determines the transition of the state of the neuron ∂ x(k ˆ + 1) ∂ω(k)

=

∂F (x(k), u(k), w(k)) ∂x(k) ∂x(k) ∂ω(k)

+

∂F (x(k), u(k), w(k)) ∂u(k) ∂u(k) ∂ω(k)

+

∂F (x(k), u(k), w(k)) ∂ω(k) ∂ω(k) ∂ω(k)

(2.16)

16 Chapter 2 as

∂ x(k ˆ + 1) ∂ω(k)

= +

∂u(k) ∂ω(k)

= 0,

(2.17)

∂ω(k) ∂ω(k)

= 1,

(2.18)

∂F (x(k), u(k), w(k)) ∂x(k) ∂x(k) ∂ω(k) ∂F (x(k), u(k), w(k)) . ∂ω(k)

(2.19)

Because it is assumed that the initial state of the neural network does not have a functional dependence on the weights [63], it is specified that Hij (0) = 0; Pi and Qi are initialized as diagonal matrices with inputs Pi (0) and Qi (0), respectively. Additionally, it is important to note that Hi (k), Ki (k), and Pi (k) for the EKF are bounded [64].

CHAPTER 3

Neural identification using recurrent high-order neural networks for discrete nonlinear systems with unknown time delays Contents 3.1 Identification of the system 17 3.2 Neural identification 19 3.3 Identifier design based on recurrent high-order neural networks for uncertain nonlinear systems with delay 20 3.4 Results of RHONN identifier 24 3.4.1 Simulation results: Van der Pol oscillator 24 3.4.2 Simulation results: differential robot 29

Chapter points •

Neural identifier



Stability analysis



Simulation results

3.1 Identification of the system The model of a system is important for modern control system techniques. The main ways to obtain a model for a system are the following [20,51]: 1. Deductive. The model of the system is obtained using the laws of physics. This method can be simple, but in most cases a large amount of time is necessary, and it is unlikely or even impossible to obtain an exact model of the system mainly due to the difficulty of modeling disturbances, delays, and saturation and dynamics of the actuators. Neural Networks Modeling and Control https://doi.org/10.1016/B978-0-12-817078-6.00011-8 Copyright © 2020 Elsevier Inc. All rights reserved.

17

18 Chapter 3 2. Identification. The model is inferred from a set of data obtained from a practical experiment with the system in its operating range. It can be practical as a shortcut to deriving mathematical models. However, the identification of a system does not always give an exact model of the system, but instead, a satisfactory model is obtained from a reasonable effort. There are a considerable number of methods to identify systems, such as [23] neural networks, linear models, fuzzy logic, auxiliary models, and hierarchical identification. Among the system identification methods the ones that use neural networks stand out due to the neural network characteristics, like the ability to approximate nonlinear functions, which makes them ideal for working with complex nonlinear systems [29,51]. System identification process consists mainly of four stages (Fig. 3.1) [51].

Figure 3.1: Basic system identification process.

1. Experimentation. The process of obtaining a set of data that describe the behavior of the system. 2. Selection of the structure of the model. The process of selecting a structure to describe the system. 3. Estimation of the model. The process of estimating the parameters of the model that describe the behavior of the system represented by the obtained data set.

Neural identification for discrete nonlinear systems with time delays

19

4. Validation. The evaluation process of the obtained model to check if it meets the requirements. 5. Go back to any step of the process. This point indicates that in case of failure at any point it is possible to return to a previous step.

3.2 Neural identification The use of neural networks simplifies the modeling process and the control design process. Neural networks can be used in highly specialized controllers or general-purpose controllers [51]. Their most significant contribution is found in general-purpose controllers due to their ability to model a wide variety of systems, leading to a reduction in development time and to better performances than with conventional control techniques [51]. There are other reasons to use neural networks for system identification, such as: • • •

Physical reasons. Because a linear method failed. A nonlinear model is needed either because the existing model does not adequately describe the behavior of the system, because the system is too complex to be modeled with the traditional method, or because there is no access to the measurement or the description of all the variables involved in the system.

Neural identification can be defined as [51,56] follows: A technique to obtain a model of a system that consists of selecting an appropriate model of a neural network and adjusting its weights according to an adaptation law so that the neural network satisfactorily approximates the response of the real system to the same input. The steps mentioned in Fig. 3.1 for the neural identification process used in this work are applied as follows: • • • • •

Step 1, start the system to obtain information to be used in the process of neural identification. Step 2, select a neural network model, in our case a series-parallel RHONN. Step 3, the training process with the algorithm based on the Kalman filter. Step 4, validate the results; they must meet a small error between the outputs of the system and the outputs of the identifier for the same inputs. Step 5, using an online training, training ends when the application stops its execution.

20 Chapter 3

3.3 Identifier design based on recurrent high-order neural networks for uncertain nonlinear systems with delay Consider the problem of estimating the nonlinear discrete system with unknown delays (2.1) by the following RHONN in a series-parallel model: xˆi (k + 1) = wi zi (x(k − l), u(k)) + zi , i = 1, · · · , n,

(3.1)

where zi is a bounded approximation of the error that can be reduced or enlarged by increasing the number is an ideal weight vector wi∗   of adjustable weights [56]. Suppose that there L   i such that zi can be minimized in a compact set zi ⊂  . The ideal weight vector wi∗ is an artificial quantity required for analytical purposes [56]. In general, it is assumed this vector exists and it is constant and unknown. Let us define its estimation as wi and the estimation error as w i (k) = wi∗ − wi (k) .

(3.2)

Then, considering (2.8), the dynamics of (3.2) could be defined as w i (k + 1) = w i (k) − ηi Ki (k) e (k) .

(3.3)

The identification error is defined as ei (k) = xi (k) − xˆi .

(3.4)

The dynamics of (3.4) can be expressed as i (k) zi (x(k − l), u(k)) + zi . ei (k + 1) = w

(3.5)

Theorem 3.1. The model (3.1) trained with the algorithm based on the EKF (2.8) to identify the nonlinear plant with time delays (2.1) ensures that the identification error (3.4) is semiglobally uniformly ultimately bounded (SGUUB); in addition, the weights of the network are maintained bounded. Proof of Theorem 3.1. Step 1, for V (k). Consider the following equations for each i-th neuron (i = 1, ..., n): iT (k) Pi (k) w i (k) , Vi (k) = γi ei2 (k) + w Vi (k) = V (k + 1) − V (k) iT (k + 1) Pi (k + 1) w i (k + 1) = γi ei2 (k + 1) + w i (k) − γi ei2 (k) . − wiT (k) Pi (k) w

(3.6)

Neural identification for discrete nonlinear systems with time delays

21

Using (3.5) and (3.3) in (3.6), Vi (k) =

 T w i (k) − ηi Ki (k) ei (k) [Pi (k) − Ai (k)]   w i (k) − ηi Ki (k) ei (k)  2 +γi w i (k) zi (x(k − l), u(k)) + zi

(3.7)

i (k) − γi ei2 (k) − wi (k) Pi (k) w with Ai (k) = Ki (k) Hi (k) Pi (k) + Qi (k) . Then (3.7) can be expressed as iT (k) Pi (k) w i (k) Vi (k) = w i (k) −ηi ei (k) KiT (k) Pi (k) w i (k) − wiT (k) Ai (k) w i (k) +ηi ei (k) KiT (k) Ai (k) w iT (k) Pi (k) Ki (k) −ηi ei (k) w +ηi2 ei2 (k) KiT (k) Pi (k) Ki (k) iT (k) Ai (k) Ki (k) +ηi ei (k) w −ηi2 ei2 (k) KiT (k) Ai (k) Ki (k) wi (k) zi (x(k − l), u(k)))2 +γi ( +γi 2zi w i (k) zi (x(k), u(k)) i (k) − γi ei2 (k) . iT (k) Pi (k) w +γi z2i − w

(3.8)

Using the inequalities (3.9), i.e., XT X + Y T Y

≥ 2X T Y,

XT X + Y T Y

≥ −2X T Y,

−λmin (P ) X 2 ≥ −X T P X ≥ −λmax (P ) X 2 , which are valid ∀X, Y ∈ n , ∀P ∈ n×n , P = P T > 0, Eq. (3.8) can be described as wiT (k) Ai (k) w i (k) Vi (k) ≤ − −ηi2 ei2 (k) KiT (k) Ai (k) Ki (k) i (k) + ei2 (k) + wiT (k) w +ηi2 ei2 (k) KiT (k) Pi (k) PiT (k) Ki (k)

(3.9)

22 Chapter 3 i (k) +ηi2 w iT Ai (k) Ki (k) KiT (k) ATi (k) w +ηi2 ei2 (k) KiT (k) Pi (k) Ki (k) +2γi ( wi (k) zi (x(k − l), u(k)))2 +2γi z2i − γi ei2 (k) .

(3.10)

Then Vi (k) ≤ −  wi (k) 2 λmin (Ai (k)) −ηi2 |ei (k)|2 Ki (k) 2 λmin (Ai (k)) +ηi2 |ei (k)|2 Ki (k) 2 λ2max (Pi (k)) +2ηi2 |ei (k)|2 Ki (k) 2 +  wi (k) 2 λmax (Pi (k)) +  wi (k) 2 λ2max (Ai (k)) wi (k) 2 zi (x(k − l), u(k)) 2 +2γi  +2γi z2i − γi |ei (k)|2 .

(3.11)

Defining Ei (k) = λmin (Ai (k)) − λ2max (Ai (k)) −2γi zi (x(k − l), u(k)) 2 + λmax (Pi (k)) , Fi (k) = γi + ηi2 Ki (k) 2 λmin (Ai (k)) −ηi2 Ki (k) 2 λ2max (Pi (k)) − 2ηi2 Ki (k) 2 and selecting ηi , γi , Qi , and Ri, such that Ei > 0 and Fi > 0, ∀k, Eq. (3.11) can be expressed as Vi (k) ≤ − ω˜ i (k) 2 Ei (k) − |ei (k)|2 Fi (k) + 2γi δεz2i .

Then Vi (k) < 0 when

(3.12)



 wi (k) >  |ei (k)| >

2γi z2i Ei (k)

2γi z2i Fi (k)

≡ κ1 ,

≡ κ2 .

(3.13)

(3.14)

Neural identification for discrete nonlinear systems with time delays

23

Step 2. Now for V (k), consider the following candidate Lyapunov function: n i (k) + γi ei2 (k) , w iT (k) Pi (k) w V (k) = i=1  n V (k) = i=1 i (k + 1) w iT (k + 1) Pi (k + 1) w

(3.15)

 iT (k) Pi (k) w i (k) − γi ei2 (k) . +γi ei2 (k + 1) − w

Using (3.5) and (3.3) in (3.6), we obtain 

T w i (k) − ηi Ki (k) ei (k)   i (k) − ηi Ki (k) ei (k) ×[Pi (k) − Ai (k)] w  2 +γi w i (k) zi (x(k − l), u(k)) + zi  i (k) − γi ei2 (k) . − wi (k) Pi (k) w

n V (k) = i=1

(3.16)

Defining Ai (k) = Ki (k) Hi (k) Pi (k) + Qi (k) , Ei (k) = λmin (Ai (k)) − λ2max (Ai (k)) −2γi zi (x(k − l), u(k)) 2 + λmax (Pi (k)) , Fi (k) = γi + ηi2 Ki (k) 2 λmin (Ai (k)) −ηi2 Ki (k) 2 λ2max (Pi (k)) − 2ηi2 Ki (k) 2 and selecting ηi , γi , Qi , and Ri, such that Ei > 0 and Fi > 0, ∀k, Eq. (3.7) can be expressed as n (−  wi (k) 2 Ei (k) − |ei (k)|2 (k) Fi (k) + 2γi z2i ). V (k) ≤ i=1

Then V (k) < 0 when (3.13) or (3.14) is fulfilled. Therefore, considering Step 1 and Step 2 for (3.6), the solution of (3.5) and (3.3) is SGUUB. Remark 3.1. Considering Theorem 3.1 and its proof, it can be demonstrated that the result can be extended for systems with multiple delays such as x (k − li ) with i = 1, 2, · · · used instead of x (k − l) in (2.1) and for systems with time-varying delays x (k − li (k)) with li (k) bounded by li (k) ≤ l.

24 Chapter 3

3.4 Results of RHONN identifier 3.4.1 Simulation results: Van der Pol oscillator Consider the following nonlinear system with constant delays but considered unknown for the design of the neural identifier: x˙1 (t) = x2 (t) + 0.001x1 (t) u (t) ,   x˙2 (t) = 1 − x12 (t) x2 (t) − x1 (t) + x3 (t) u (t) + 2 cos (x1 (t − 3)) , x˙3 (t) = x4 (t) + 0.01x2 (t) x3 (t) exp (u (t)) ,   u (t)

x˙4 (t) = 1 − x32 (t) x4 (t) − x3 (t) + 2 1 + x2 (t) x42 (t)   +2 x12 (t − 3) + x22 (t − 3) sin(x2 (t − 3)), y1 (t) = x1 (t) + x2 (t) , y2 (t) = x3 (t) + x4 (t) .

(3.17)

The system (3.17) is a chaotic oscillator similar to the Van der Pol system [50]. To perform the tests, the system (3.17) is simulated using MATLAB®1 /Simulink2 2013a and their state is discretized using zero-order hold blocks from Simulink with a sampling time equal to 0.2 s T  and initial conditions x (0) = 1 1 1 1 . 3.4.1.1 Observer based on high-order neural network To perform a comparative analysis with similar results in the existing literature, consider the following observer based on a high-order neural network designed in [50]:

xˆ (k + 1) = Axˆ (k) + B Wˆ 1T (k) 1 xˆ (k) , u (k)      +h xˆ k − dˆ + K y (k) − yˆ (k) + Du (u) , yˆ (k) = C xˆ (k) ,

(3.18)

where xˆ (k) is an estimation of x (k), h is a function with a constant delay, dˆ is the estimation ˆ of d which is the unknown delay, W1 is the matrix of weights of the high-order neural network, x, ˆ u is the base function vector, and K is the matrix gain of the observer [50], with

Wˆ 1 (k + 1) = (1 − σ1 ) Wˆ 1 (k) + 1 1 xˆ (k) , u (k) y˜ T (k) F T . (3.19) 1 MATLAB is a registered trademark of MathWorks, Inc. 2 Simulink is a registered trademark of MathWorks, Inc.

Neural identification for discrete nonlinear systems with time delays

25

The values of the parameters are established as in [50]: the delayed functions (3.20) are known with an estimate of the delay equal to d = 3 s and dˆ = 3.2 s; u (t) = sin (0.3t) and we have h1 (x) = 0, h2 (x) = 2 cos (x1 (t)) , h3 (x) = 0,   h3 (x) = 2 x12 (t) + x22 (t) sin (x2 (t)) . Matrices A, C, F , and K are established as follows: ⎡ ⎤ ⎡ 1 0.2 0 0 1 1 ⎢ 0 1 0 0 ⎥ ⎢ 1 1 ⎥ ⎢ A=⎢ ⎣ 0 0 1 0.2 ⎦ , F = ⎣ 1 1 0 0 0 1 1 1 ⎡

1 ⎢ 1 C=⎢ ⎣ 0 0

⎤ 0 0 ⎥ ⎥, 1 ⎦ 1



0.3 ⎢ 1 K =⎢ ⎣ 0 0

(3.20)

⎤ ⎥ ⎥, ⎦

⎤ 0 0 ⎥ ⎥. 0.3 ⎦ 1

We have B = I4×4 , D = 0, and as the activation function we have

1 − e−0.01x

, σ (x) = (3.21) 1 + e−0.01x  T with 1 = diag(0.2, · · · , 0.2) and σ1 = 0.6, l1 = 16, and xˆ (0) = 0 0 0 0 as initial condition. The observer based on the high-order neural network (3.18) is used for comparison purposes with the proposed RHONN identifier (3.1) for the system (3.17). It is important to denote that the identifier can be considered as an observer with y (k) = x (k). Then, this comparison is valid. 3.4.1.2 RHONN-based identifier For this test the RHONN identifier shown in (3.22) is used, with an activation function (3.21) and values for the matrices Pi (0), Qi (0), and Ri of the training based on the EKF (3.23). We have xˆ1 (k + 1) = w11 S(xˆ1 (k)) + w12 S(xˆ1 (k))S(xˆ2 (k))S(xˆ3 (k))S(xˆ4 (k))u(k),

26 Chapter 3 xˆ2 (k + 1) = w21 S(xˆ2 (k)) + w22 S(xˆ1 (k))S(xˆ2 (k)) + w23 S(xˆ3 (k))S(xˆ2 (k)) +w24 S(xˆ1 (k))S(xˆ2 (k))S(xˆ3 (k))S(xˆ4 (k))u(k), xˆ3 (k + 1) = w31 S(xˆ3 (k)) + w32 S(xˆ1 (k))S(xˆ3 (k)) + w33 S(xˆ3 (k))u(k) +w34 S(xˆ1 (k))S(xˆ2 (k))S(xˆ3 (k))S(xˆ4 (k))u(k), xˆ4 (k + 1) = w41 S(xˆ4 (k)) + w42 S(xˆ1 (k))S(xˆ4 (k)) + w43 S(xˆ3 (k))S(xˆ4 (k)) +w44 S(xˆ1 (k))S(xˆ2 (k))S(xˆ3 (k))S(xˆ4 (k))u(k),

(3.22)

P1 (0) = P2 (0) = P3 (0) = P4 (0) = 1x108 × diag(4), Q1 (0) = Q2 (0) = Q3 (0) = Q4 (0) = 5x105 × diag(4), R1 = R2 = R3 = R4 = 1 × 104 .

(3.23)

3.4.1.3 Simulation results Figs. 3.2, 3.4, 3.6, and 3.8 show the signals of the state variables xi compared to the observed signals. Figs. 3.3, 3.5, 3.7, and 3.9 show the signals of the state variables xi compared to the identified signals for Test 3.1 with sampling time equal to 0.2 s. Tables 3.2 and 3.1 show the root mean squared error (RMSE) and absolute deviation of the errors between the measured signals (real signals) of the system state variables (3.17) and those obtained by the observer and the identifier for Test 3.1. Tables 3.3 and 3.4 show the RMSE and absolute deviation of the errors between the measured signals of the system state variables (3.17) and those obtained by the observer and the identifier for Test 3.2 with sampling time equal to 0.02 s. It can be seen that the results of the observer and the identifier are similar. Also, both the identifier and the observer improve their performance using a smaller sampling time.

Figure 3.2: Real signal x1 (k) versus observed signal xˆ 1 (k) for Test 3.1.

Neural identification for discrete nonlinear systems with time delays

Figure 3.3: Real signal x1 (k) versus identified signal xˆ 1 (k) for Test 3.1.

Figure 3.4: Real signal x2 (k) versus observed signal xˆ 2 (k) for Test 3.1.

Figure 3.5: Real signal x2 (k) versus identified signal xˆ 2 (k) for Test 3.1.

27

28 Chapter 3

Figure 3.6: Real signal x3 (k) versus observed signal xˆ 3 (k) for Test 3.1.

Figure 3.7: Real signal x3 (k) versus identified signal xˆ 3 (k) for Test 3.1.

Figure 3.8: Real signal x4 (k) versus observed signal xˆ 4 (k) for Test 3.1.

Neural identification for discrete nonlinear systems with time delays

29

Figure 3.9: Real signal x4 (k) versus identified signal xˆ 4 (k) for Test 3.1. Table 3.1: Absolute deviation for Test 3.1. Absolute deviation

x1

x2

x3

x4

Observer Identifier

0.06331 0.19940

0.32323 0.19558

0.09719 0.20089

0.71550 0.36338

Table 3.2: Root mean squared error for Test 3.1. Root mean squared error

x1

x2

x3

x4

Observer Identifier

0.12869 0.32413

0.53040 0.32221

0.18226 0.32818

1.52967 0.36338

Table 3.3: Root mean squared error for Test 3.2. Root mean squared error

x1

x2

x3

x4

Observer Identifier

0.88019 0.09345

0.06228 0.07953

1.37058 0.08431

0.14963 0.08856

Table 3.4: Absolute deviation for Test 3.2. Absolute deviation

x1

x2

x3

x4

Observer Identifier

0.54382 0.04952

0.03168 0.03965

0.77253 0.03586

0.07352 0.03708

3.4.2 Simulation results: differential robot Test 3.3 for the identifier based on RHONNs is described in the previous section. Delays are added to a model of a differential tank robot which is presented in Appendix C. These delays consist in simulating that for a time of 0.1 s it is not possible to update information. The simu-

30 Chapter 3 lations are done in MATLAB/Simulink 2013a, the sampling time for Test 3.3 is set as 0.01 s, and the total time is equal to 15 s, with u1 (t) = sin(c(t)) and u2 (t) = cos(c(t)), where c(t) is a chirp type signal generated by MATLAB. Delays start at times 13 s, 9 s, 5 s, 8 s, 6 s, 1 s, and 4 s, respectively, for each state variable of the robot. Table 3.5 shows the absolute deviation and the RMSE of identification errors of Test 3.3. Table 3.5: Absolute deviation and the root mean squared error of the identification errors of Test 3.3. Absolute deviation

RMSE

Position X

1.72779 · 10−3

2.31102 · 10−2

Position Y

7.16522 · 10−4

7.59874 · 10−3

Theta

1.63137 · 10−3

6.93572 · 10−3

Velocity 1

2.62689 · 10−3

1.19412 · 10−2

Velocity 2

1.02881 · 10−2

1.63750 · 10−2

Current 1

3.60196 · 10−3

2.26067 · 10−2

Current 2

6.64885 · 10−3

2.03897 · 10−2

Figs. 3.10–3.16 show the behavior of the neural identifier before and after the mentioned delay start.

Figure 3.10: Identification of position X of the differential tank robot of Test 3.3.

Neural identification for discrete nonlinear systems with time delays

Figure 3.11: Identification of position Y of the differential tank robot of Test 3.3.

Figure 3.12: Identification of position θ of the differential tank robot of Test 3.3.

31

32 Chapter 3

Figure 3.13: Identification of angular velocity 1 of the differential tank robot of Test 3.3.

Figure 3.14: Identification of angular velocity 2 of the differential tank robot of Test 3.3.

Neural identification for discrete nonlinear systems with time delays

Figure 3.15: Identification of current 1 of the differential tank robot of Test 3.3.

Figure 3.16: Identification of current 2 of the differential tank robot of Test 3.3.

33

CHAPTER 4

Identifier–controller scheme for uncertain nonlinear discrete systems with unknown time delays Contents 4.1 Identifier–controller scheme, sliding modes 35 4.1.1 Block control with sliding modes 35

4.2 Results of identifier–controller scheme, sliding modes 43 4.2.1 Real-time results: linear induction motor with variant delays Test 4.1 44 4.2.2 Real-time results: linear induction motor with variants delays Test 4.2 48 4.2.3 Real-time results: linear induction motor with varying delays Test 4.3 52

4.3 Identifier–controller scheme, inverse optimal control 55 4.3.1 Inverse optimal control 56

4.4 Results of identifier–controller scheme, inverse optimal control 57 4.4.1 Application to a tank differential robot 57 4.4.2 Real-time results: differential robot Test 4.4 60 4.4.3 Real-time results: differential robot Test 4.5 63

Chapter points •

Neural identifier–controller scheme



Stability analysis



Real-time results

4.1 Identifier–controller scheme, sliding modes Considering the system (2.1) with C = I and the RHONN identifier (3.1), now trajectory tracking control will be added to the scheme (see Fig. 4.1).

4.1.1 Block control with sliding modes Consider the following system: x(k + 1) = f (x(k)) + B(x(k))u(k) + d(k), Neural Networks Modeling and Control https://doi.org/10.1016/B978-0-12-817078-6.00012-X Copyright © 2020 Elsevier Inc. All rights reserved.

35

36 Chapter 4

Figure 4.1: Identifier–controller scheme.

y(k) = x(k),

(4.1)

where x ∈ n is the system state vector, u(k) ∈ m is the input vector, y(k) ∈ p is the output vector, and d(•) is a vector of disturbances. Vector f (·), the columns of B(·), and vector d(·) are smooth vector fields. The system (4.1) using a nonsingular transformation [60] can be represented in block controllable form as follows: xi (k + 1) = fi (x i (k)) + Bi (x i (k))xi+1 (k) + di (k), xr (k + 1) = fr (x(k)) + Br (x(k))u(k) + dr (k), y(k) = x1 (k),

(4.2)

where we have x(k) = [ x1 (k) . . . xi (k) . . . xr (k) ] , x i (k) = [ x1 (k) . . . xi (k) ] , d(k) = [ d1 (k) . . . di (k) . . . dr (k) ] , i = 1, · · · , r − 1, and a set of numbers (n1 , · · · , nr ), which define the structure of the system (4.2), following n1 ≤ n2 ≤ · · · ≤ nr ≤ m. Defining the following transformation for trajectory tracking from the first block of (4.2), the tracking error is defined as ζ1 (k) = x1 (k) − x1d (k),

(4.3)

Identifier-controller scheme for discrete nonlinear systems with time delay

37

where x1d (k) is the desired trajectory. Taking a step forward in (4.3), we obtain the following: ζ1 (k + 1) = f1 (x 1 (k)) + B1 (x 1 (k))x2 (k) + d1 (k) − x1d (k + 1).

(4.4)

Eq. (4.4) is seen as a block with state ζ1 (k) and x2 (k) is considered as a pseudocontrol entry. The desired dynamics can be imposed as follows: ζ1 (k + 1) = f1 (x 1 (k)) + B1 (x 1 (k))x2 (k) + d1 (k) − x1d (k + 1) = G1 ζ1 (k),

(4.5)

where G1 is a Schur matrix such that G1 ζ1 (k) is a stable dynamic. Then, the desired behavior for x2 (x) is calculated as x2d (k) = B1 (x 1 (k))−1 × (x1d (k + 1) − f1 (x 1 (k)) + G1 ζ1 (k) − d1 (k)).

(4.6)

Following the same process, a second variable in the new coordinates is defined as ζ2 (k) = x2 (k) − x2d (k)

(4.7)

and the desired behavior for x3 (k) can be calculated. Taking these steps iteratively, the last variable is defined as ζr (k) = xr (k) − xrd (k).

(4.8)

Using this change of variables, the system (4.2) is rewritten as ζ1 (k + 1) = G1 ζ1 (k) + B1 ζ2 (k), .. . ζr−1 (k + 1) = Gr−1 ζr−1 (k) + Br−1 ζr (k), ζr (k + 1) = fr (x(k)) + Br (x(k))u(k) + dr (k) − xrd (k + 1).

(4.9)

Then, the control law is designed using the sliding mode control methodology. A selection for the sliding surface is SD (k) = ζr (k) = 0. Then, system (4.9) is represented with the new variables as ζ1 (k + 1) = G1 ζ1 (k) + B1 ζ2 (k), .. .

(4.10)

38 Chapter 4 ζr−1 (k + 1) = Gr−1 ζr−1 (k) + Br−1 SD (k), SD (k + 1) = fr (x(k)) + Br (x(k))u(k) + dr (k) − xrd (k + 1). Once the sliding surface is selected the next step is to define u(k) as ⎧   ⎨ ueq (k) for ueq (k) ≤ u0 ,   u (k) = ⎩ u0 ueq (k) for ueq (k) > u0 ,

(4.11)

(4.12)

ueq (k)

where the following equivalent control is calculated from SD (k + 1) = 0: ueq (k) = [Br (x(k))]−1 (−fr (x(k)) + xrd (k + 1) − dr (k)).

(4.13)

Theorem 4.1. The control law (4.12) applied to the RHONN identifier (3.1) trained with the algorithm based on the EKF (2.8) for system (2.1) ensures that the identification error (3.4) and the trajectory tracking error (4.11) are SGUUB. Besides, the weights of the network remain bounded. Proof of Theorem 4.1. Consider the following candidate Lyapunov function: V (k) = V1 (k) + V2 (k)

(4.14)

 V1 (k) = SD (k) SD (k) ,

(4.15)

with V1 and V2 defined as follows:

V2 (k) =

n 

i (k) Pi (k) w i (k) . γi ei2 (k) + w

(4.16)

i=1

Then the first difference of (4.14) is V (k) = V1 (k) + V2 (k) = V1 (k + 1) − V1 (k) + V2 (k + 1) − V2 (k)   = SD (k + 1) SD (k + 1) − SD (k) SD (k) n   + ω˜ i (k + 1) Pi (k + 1) ω˜ i (k + 1) i=1

+ei2 (k + 1) − ω˜ i (k) Pi (k) ω˜ i (k) + ei2 (k) .

(4.17)

Case 1, for V1 (k). Using Eq. (4.8) and Eq. (4.10), the last subsystem of (4.11) can be written as

Identifier-controller scheme for discrete nonlinear systems with time delay  SD (k + 1) = SD (k) − xr (k) + xrd (k) + fr x 1 (k) + Br u (k)

39

(4.18) +dr (k) − xrd (k + 1)   when the equivalent control ueq (k) ≤ u0 is applied, producing movement on the sliding   u (k) surface SD (k) = 0. For ueq (k) > u0 , the proposed control strategy is u0  eq  , and the ueq (k)

closed loop system becomes  ueq (k)  SD (k + 1) = SD (k) − xr (k) + xrd (k) + fr x 1 (k) + Br u0  ueq (k) +dr (k) − xrd (k + 1)

u0  = σ (k) 1 −  ueq (k) with

 σ (k) = SD (k) − xr (k) + xrd (k) + fr x 1 (k) + dr (k) − xrd (k + 1) .

(4.19)

(4.20)

Then, throughout any solution of the system, the Lyapunov candidate function V1 (k) =  (k) S (k) gives SD D   (k + 1)SD (k + 1) − SD (k)SD (k) V1 (k) = SD



= (SD (k) + fs (k))(1 − C(k)) × (SD (k) + fs (k))(1 − C(k))  −SD (k)SD (k)



≤ SD (k) + fs (k) (1 − C(k)) × SD (k) + fs (k) (1 − C(k))

− SD (k)2 ≤ (SD (k) + fs (k) − B) × (SD (k) + fs (k) − B) − SD (k)2 ≤ (SD (k) + fs (k) − B)2 − SD (k)2 ≤ −2 SD (k) (B − fs (k)) + (B − fs (k))2

(4.21)

with u0 u  , C(k) =  0  , B=  −1  ueq (k)  Br  fs (k) = −xr (k) + xd (k) + fr (x (k)) + dr (k) − xrd (k + 1) ,

(4.22)

40 Chapter 4 and if

      −1   Br  fs (k) ≤ u0 ≤ Br−1  (2 SD (k) + fs (k)) ,

  then V1 (k) ≤ 0, thus SD (k) and ueq (k) decrease monotonically. Note that      −1  Br  (2 SD (k) + fs (k)) ≥ ueq (k) ≥ u0 . Therefore, the only condition to be fulfilled is    −1  Br  fs (k) ≤ u0 . Case 2, for V2 (k). First, consider the equation for each i-th neuron (i = 1, ..., n) i (k) Pi (k) w i (k) V2i (k) = γi ei2 (k) + w

(4.23)

and its first difference V2i (k) = V2i (k + 1) − V2i (k) i (k + 1) Pi (k + 1) w i (k + 1) = γi ei2 (k + 1) + w i (k) − γi ei2 (k) . − wi (k) Pi (k) w

(4.24)

Using (3.5) and (3.3) in (4.24), V2i (k) =



 w i (k) − ηi Ki (k)ei (k) × [Pi (k) − Ai (k)]

2

i (k)zi (x(k − l), u(k)) + zi × w i (k) − ηi Ki (k)ei (k) + γi w − wi (k)Pi (k) wi (k) − γi ei2 (k)

(4.25)

with Ai (k) = Ki (k) Hi (k) Pi (k) + Qi (k) . Then (4.25) can be expressed as i (k)Pi (k) wi (k) − ηi ei (k)Ki (k)Pi (k) wi (k) V2i (k) = w

− wi (k)Ai (k) wi (k) + ηi ei (k)Ki (k)Ai (k) wi (k)

−ηi ei (k) wi (k)Pi (k)Ki (k) + ηi2 ei2 (k)Ki (k)Pi (k)Ki (k)

+ηi ei (k) wi (k)Ai (k)Ki (k) − ηi2 ei2 (k)Ki (k)Ai (k)Ki (k)

+γi ( wi (k)zi (x(k − l), u(k)))2 + γi 2zi w i (k)zi (x(k), u(k)) i (k) − γi ei2 (k) . +γi z2i − w i (k) Pi (k) w

(4.26)

Identifier-controller scheme for discrete nonlinear systems with time delay

41

Using the inequalities X X + Y  Y

≥ 2X Y,

X X + Y  Y

≥ −2X  Y,

−λmin (P ) X

2

(4.27)



≥ −X P X ≥ −λmax (P ) X , 2

valid ∀X, Y ∈ n , ∀P ∈ n×n , and P = P  > 0, Eq. (4.26) can be rewritten as wi (k)Ai (k) wi (k) − ηi2 ei2 (k)Ki (k)Ai (k)Ki (k) V2i (k) ≤ −

+ wi (k) wi (k) + ei2 (k) + ηi2 ei2 (k)Ki (k)Pi (k)Pi (k)Ki (k)

i Ai (k)Ki (k)Ki (k)A wi (k) + ηi2 ei2 (k)Ki (k)Pi (k)Ki (k) +ηi2 w i (k) +2γi ( wi (k)zi (x(k − l), u(k)))2 + 2γi z2i − γi ei2 (k).

(4.28)

Then wi (k)2 λmin (Ai (k)) − ηi2 |ei (k)|2 Ki (k)2 λmin (Ai (k)) V2i (k) ≤ −  +ηi2 |ei (k)|2 Ki (k)2 λ2max (Pi (k)) + 2ηi2 |ei (k)|2 Ki (k)2 wi (k)2 λ2max (Ai (k)) +  wi (k)2 λmax (Pi (k)) +  wi (k)2 zi (x(k − l), u(k))2 + 2γi z2i − γi |ei (k)|2 . +2γi 

(4.29)

Defining Ei (k) = λmin (Ai (k)) − λ2max (Ai (k)) −2γi zi (x(k − l), u(k))2 + λmax (Pi (k)) , Fi (k) = γi + ηi2 Ki (k)2 λmin (Ai (k)) −ηi2 Ki (k)2 λ2max (Pi (k)) − 2ηi2 Ki (k)2 and selecting ηi , γi , Qi , and Ri such that Ei > 0 and Fi > 0, ∀k, Eq. (4.29) can be expressed as V2i (k) ≤ −ω˜ i (k)2 Ei (k) − |ei (k)|2 Fi (k) + 2γi δεz2i . Therefore Vi (k) < 0 when

  wi (k) >

or

 |ei (k)| >

2γi z2i

≡ κ1

(4.31)

≡ κ2 .

(4.32)

Ei (k) 2γi z2i Fi (k)

(4.30)

42 Chapter 4 Now for V2 (k), consider n 

V2 (k) =

i (k) + γi ei2 (k) , w i (k) Pi (k) w

(4.33)

i=1 n  

i (k + 1) w i (k + 1) Pi (k + 1) w

V2 (k) =

i=1

i (k) Pi (k) w i (k) − γi ei2 (k) . +γi ei2 (k + 1) − w

(4.34)

Applying (3.5) and (3.3) in (4.34), we obtain V2 (k) =

n  

w i (k) − ηi Ki (k) ei (k)



× [Pi (k) − Ai (k)]

i=1



2 i (k) zi (x(k − l), u(k)) + zi × w i (k) − ηi Ki (k) ei (k) + γi w i (k) − γi ei2 (k) . − wi (k) Pi (k) w (4.35) Defining Ai (k) = Ki (k)Hi (k)Pi (k) + Qi (k), Ei (k) = λmin (Ai (k)) − λ2max (Ai (k)) − 2γi zi (x(k − l), u(k))2 +λmax (Pi (k)), Fi (k) = γi + ηi2 Ki (k)2 λmin (Ai (k)) − ηi2 Ki (k)2 λ2max (Pi (k)) −2ηi2 Ki (k)2 and selecting ηi , γi , Qi , and Ri such that Ei > 0 y Fi > 0, ∀k, Eq. (4.35) can be expressed as V2 (k) ≤

n 

(−  wi (k)2 Ei (k) − |ei (k)|2 (k) Fi (k) + 2γi z2i ).

i=1

Hence V2 (k) < 0 when (4.31) or (4.32) is met. Therefore, considering Case 1 and Case 2, for (4.14), the solution of (3.3), (3.5), and (4.11) is SGUUB. Remark 4.1. Considering Theorem 4.1, Case 2 and its test, it can be shown that the result can be extended to systems (3.1) with multiple delays where x (k − li ) with i = 1, 2, · · · can be used instead of x (k − l) in (3.2) and/or for time-variant delays x (k − li (k)) with li (k) bounded by li (k) ≤ l.

Identifier-controller scheme for discrete nonlinear systems with time delay

43

4.2 Results of identifier–controller scheme, sliding modes The following results were obtained using the neural identifier (3.1) trained online with the algorithm based on the EKF (2.8) and block control using discrete sliding modes (4.13) applied to a linear induction motor. The linear induction motor prototype presented in Appendix B is used for testing the real-time performance of the proposed identifier–controller scheme. To add variable time delays to the tests, the Simulink block “Variable Transport Delay” is configured as variable time delay. In this implementation, that block receives as input a random number in each time step. In the scheme there is a block that generates those random numbers which have values from 0 to 10, and then those numbers are multiplied by the sampling time to indicate the delay time at each instant of time. The sampling time for the tests is 0.0003 s. The neural identifier based on RHONN designed to identify the model of the linear induction motor is χ1 (k + 1) = ω65 S(qm (k)) + ω66 v(k), χ2 (k + 1) = ω11 (k)S(v(k)) + ω12 (k)S(ψrα (k)) + ω13 (k)S(ψrβ (k))

(4.36)

−ω14 (k)S(ψrα (k))ρ1 isα (k) − ω14 (k)S(ψrβ (k))ρ2 isα (k) +ω15 (k)S(ψrα (k))ρ2 isβ (k) − ω15 (k)S(ψrβ (k))ρ1 isβ (k), χ3 (k + 1) = ω21 (k)S(v(k)) + ω22 (k)S(ψrα (k)) + ω23 (k)S(ψrβ (k)) +ω24 (k)ρ2 isα (k) + ω25 (k)ρ1 isβ (k), χ4 (k + 1) = ω31 (k)S(v(k)) + ω32 (k)S(ψrα (k)) + ω33 (k)S(ψrβ (k)) −ω34 (k)ρ1 isα (k) + ω35 (k)ρ2 isβ (k), χ5 (k + 1) = ω41 (k)S(v(k)) + ω42 (k)S(ψrα (k)) + ω43 (k)S(ψrβ (k)) +ω44 (k)S(isα (k)) + ω45 (k)uα (k), χ6 (k + 1) = ω51 (k)S(v(k)) + ω52 (k)S(ψrα (k)) + ω53 (k)S(ψrβ (k)) +ω54 (k)S(isβ (k)) + ω55 (k)uβ (k), S(x) = α tanh(βx),

(4.37)

where χ1 identifies the position (x1 ), χ2 identifies the linear velocity (x2 ), χ3 and χ4 identify the ψα (x3 ) and ψβ (x4 ) fluxes, and χ5 and χ5 identify the iα (x5 ) and iβ (x6 ) currents in the linear induction motor primary module (see Appendix B).

44 Chapter 4 The weights ωij are updated online using the training algorithm based on the EKF (2.8), S(·) is described by (4.37), the weights ω14 , ω15 , ω24 , ω25 , ω34 , ω35 , ω45 , and ω55 are fixed (to avoid the loss of controllability), in addition ω24 = ω25 = ω34 = ω35 = ωf with a constant value, and α and β are designed parameters. It is worth mentioning that for the neural identifier design the real model of the linear induction motor is considered unknown; it is only included in this work (in Appendix B) as a reference for the reader.

4.2.1 Real-time results: linear induction motor with variant delays Test 4.1 Description of Test 4.1: The control objective is velocity tracking of a sinusoidal reference signal. The test starts without delays, and then, at time 5 s, a switch in Simulink activates the block “Variable Transport Delay” to enable the signal with time delay in the position, velocity, and current signals. It is important to mention that the delay for each of the state variables is different at each instant of time. Results of Test 4.1 are shown in Figs. 4.2 to 4.13. These graphs show the comparison between the real signals (measured values) and the identified signals; in the case of fluxes the observed signals are shown compared with the identified signals. Signals u1 and u2 are also shown. In addition, Table 4.1 shows information of the identification errors. In Fig. 4.4 it can be seen that the trajectory tracking is achieved. The signal looks noisy due to the limitations of the encoders.

Figure 4.2: Test 4.1: Comparison x1 .

Identifier-controller scheme for discrete nonlinear systems with time delay

Figure 4.3: Test 4.1: Comparison x1 , zoomed graph.

Figure 4.4: Test 4.1: Comparison x2 .

Figure 4.5: Test 4.1: Comparison x2 , zoomed graph.

45

46 Chapter 4

Figure 4.6: Test 4.1: Comparison x3 .

Figure 4.7: Test 4.1: Comparison x4 .

Figure 4.8: Test 4.1: Comparison x5 .

Identifier-controller scheme for discrete nonlinear systems with time delay

Figure 4.9: Test 4.1: Comparison x5 , zoomed graph.

Figure 4.10: Test 4.1: Comparison x6 .

Figure 4.11: Test 4.1: Comparison x6 , zoomed graph.

47

48 Chapter 4

Figure 4.12: Test 4.1: Control signal 1 (u1 ).

Figure 4.13: Test 4.1: Control signal 2 (u2 ). Table 4.1: Test 4.1: Identification errors. Root mean squared error Position (x1 ) Velocity (x2 ) ψα flux (x3 ) ψβ flux (x4 ) iα current (x5 ) iβ current (x6 )

8.94 · 10−05 m 1.19 · 10−03 m/s 1.11 · 10−05 Wb 2.47 · 10−05 Wb 5.77 · 10−01 A 5.48 · 10−01 A

4.2.2 Real-time results: linear induction motor with variants delays Test 4.2 Description of Test 4.2: The control objective is trajectory tracking of a triangular reference signal. The test starts without time delays, and at time 4 s, a switch in Simulink activates

Identifier-controller scheme for discrete nonlinear systems with time delay

49

the block “Variable Transport Delay” to add the delays to the α current signal, then another switch at 5 s activates the delay for the position and velocity, and finally, at time 6 s, another switch activates the delay for the β current. Once the delays have been activated, each “Variable Transport Delay” block has its own random number generator block so at each instant of time all of them have a different time delay. Results of Test 4.2 are shown in Figs. 4.14 to 4.21. These graphs show the comparison between the real signals (measured values) and the identified signals; in the case of fluxes, the observed signals are shown compared with the identified signals. Signals u1 and u2 are also shown. In addition, Table 4.2 shows information of identification errors.

Figure 4.14: Test 4.2: Comparison x1 .

Figure 4.15: Test 4.2: Comparison x2 .

50 Chapter 4

Figure 4.16: Test 4.2: Comparison x3 .

Figure 4.17: Test 4.2: Comparison x4 .

Figure 4.18: Test 4.2: Comparison x5 .

Identifier-controller scheme for discrete nonlinear systems with time delay

Figure 4.19: Test 4.2: Comparison x6 .

Figure 4.20: Test 4.2: Control signal 1 (u1 ).

Figure 4.21: Test 4.2: Control signal 2 (u2 ).

51

52 Chapter 4 Table 4.2: Test 4.2: Identification errors. Root mean squared error Position (x1 )

4.58 · 10−05 m

Velocity (x2 )

1.14 · 10−03 m/s

ψα flux (x3 )

1.01 · 10−05 Wb

ψβ flux (x4 )

2.14 · 10−05 Wb

iα current (x5 )

5.60 · 10−01 A

iβ current (x6 )

5.82 · 10−01 A

4.2.3 Real-time results: linear induction motor with varying delays Test 4.3 Description of Test 4.3: The control objective is the trajectory tracking of a triangular reference signal. The test starts with all “Variable Transport Delay” blocks activated for position, velocity, α current, and β current. As in the previous tests, each block is fed by its own random number generator block and in this way the signals have different time delays at each instant of time. Results of Test 4.3 are shown in Figs. 4.22 to 4.29. These graphs show the comparison between the real signals (measured values) and the identified signals; in the case of fluxes the observed signals are shown compared with the identified signals. Signals u1 and u2 are also shown. In addition, Table 4.3 shows information of identification errors. From the test results, it can be observed that both the identification of the system and the trajectory tracking of the reference, even in the presence of noisy signals and time delays, exhibit a good performance. It is important to mention that both the identification and tracking errors are within a bounded error.

Figure 4.22: Test 4.3: Comparison x1 .

Identifier-controller scheme for discrete nonlinear systems with time delay

Figure 4.23: Test 4.3: Comparison x2 .

Figure 4.24: Test 4.3: Comparison x3 .

Figure 4.25: Test 4.3: Comparison x4 .

53

54 Chapter 4

Figure 4.26: Test 4.3: Comparison x5 .

Figure 4.27: Test 4.3: Comparison x6 .

Figure 4.28: Test 4.2: Control signal 1 (u1 ).

Identifier-controller scheme for discrete nonlinear systems with time delay

55

Figure 4.29: Test 4.2: Control signal 2 (u2 ). Table 4.3: Test identification errors 4.3 from the identifier–controller scheme. Root mean squared error Position (x1 ) Velocity (x2 ) α flux (x3 ) β flux (x4 ) α current (x5 ) β current (x6 )

6.41 · 10−05 m 1.18 · 10−03 m/s 1.06 · 10−05 Wb 3.02 · 10−05 Wb 5.48 · 10−01 A 5.74 · 10−01 A

Another important note is that for the proposed identifier–controller scheme, the real model of the linear induction motor is unknown; the scheme works with the model of the neural RHONN identifier.

4.3 Identifier–controller scheme, inverse optimal control Considering the neural identifier (3.1), now an inverse optimal control for trajectory tracking will be added to the scheme. To show the performance of this identifier control scheme the all-terrain tank robot presented in Appendix C is used. This all-terrain robot has the following characteristics: • •

The model is unknown. The system has been modified; the original board has been replaced by an Arduino1 -based system.

1 Arduino is a registered trademark of Arduino LLC.

56 Chapter 4 •

The communication is through wifi; this type of connection can be a source of delays, among other problems.

4.3.1 Inverse optimal control Consider the following affinity discrete nonlinear system: x(k + 1) = f (x(k)) + g(x(k))u(k),

(4.38)

where x ∈ n is the system state vector, u ∈ m is the control input, and f : n → n and g : n → n×m are smooth functions. It is supposed that the system (4.38) has an equilibrium point x(0) = 0. Also, the complete state is assumed x(k) available. In the inverse optimal control [59] a control Lyapunov function (CLF) is designed to satisfy the passivity condition that establishes that a passive system can be stabilized by making a negative feedback of the output u(k) = −αy(k) with α > 0. Eq. (4.39) is proposed as a Lyapunov control function [59] to ensure the stability of the system (4.38). We have 1 V (x(k)) = x(k) P x(k), 2

P = P  > 0.

(4.39)

Also, instead of solving the associated Hamilton–Jacobi–Bellman equation, the inverse optimal control is based on the available information of V (x(k)). The inverse optimal control law for system (4.38) with (4.39) is ∂V (x(k)) 1 u(k) = − R −1 (x(k))g  (x(k)) 2 ∂x(k + 1) 1  1 = − (R(x(k)) + g (x(k))P g(x(k)))−1 g  (x(k))Pf (x(k)), 2 2

(4.40)

where R(x(k)) = R(x(k)) > 0 is a matrix whose elements can be fixed functions or functions of the state; P is a matrix such that the following inequality is fulfilled: 1 Vf (x(k)) − P1 (x(k))(RP (x(k)))−1 P1 (x(k)) ≤ −x  (k)Qx(k) 4

(4.41)

with RP (x(k)) = R(x(k)) + P2 (x(k)), 1  Vf (x(k)) = f (x(k))Pf (x(k)) − V (x(k)), 2

(4.42) (4.43)

Identifier-controller scheme for discrete nonlinear systems with time delay P1 (x(k)) = g  (x(k))Pf (x(k)), 1  g (x(k))P g(x(k)), P2 (x(k)) = 2 Q = Q > 0.

57

(4.44) (4.45) (4.46)

In [59] it is proven that the control law (4.40) is globally asymptotically stable. Furthermore, (4.40) is inverse optimal in the sense that it minimizes a cost function [59].

4.4 Results of identifier–controller scheme, inverse optimal control 4.4.1 Application to a tank differential robot Based on the RHONN identifier (3.1), the following identifier is proposed to identify a tank differential robot (see Appendix C): χˆ 1 (k + 1) = ω11 (k)S(x11 (k)) + ω12 (k)S(x12 (k)) +ω13 (k)S(x13 (k)) + ω14 (k)x21 (k) +ω15 (k)x22 (k), χˆ 2 (k + 1) = ω21 (k)S(x11 (k)) + ω22 (k)S(x12 (k)) +ω23 (k)S(x13 (k)) + ω24 (k)x21 (k) +ω25 (k)x22 (k), χˆ 3 (k + 1) = ω31 (k)S(x11 (k)) + ω32 (k)S(x12 (k)) +ω33 (k)S(x13 (k)) + ω34 (k)x21 (k) +ω35 (k)x22 (k), χˆ 4 (k + 1) = ω41 (k)S(x11 (k)) + ω42 (k)S(x12 (k)) +ω43 (k)S(x21 (k)) + ω44 (k)S(x31 (k)) +ω45 (k)x31 (k), χˆ 5 (k + 1) = ω51 (k)S(x11 (k)) + ω52 (k)S(x12 (k)) +ω53 (k)S(x22 (k)) + ω54 (k)S(x32 (k)) +ω55 (k)x32 (k), χˆ 6 (k + 1) = ω61 (k)S(x11 (k)) + ω62 (k)S(x12 (k)) +ω63 (k)S(x21 (k)) + ω64 (k)S(x31 (k)) +ω65 (k)u1 (k),

(4.47)

58 Chapter 4 χˆ 7 (k + 1) = ω71 (k)S(x11 (k)) + ω72 (k)S(x12 (k)) +ω73 (k)S(x22 (k)) + ω74 (k)S(x32 (k)) +ω75 (k)u2 (k), where χˆ 1 , χˆ 2 , χˆ 3 , χˆ 4 , χˆ 5 , χˆ 6 , and χˆ 7 identify position x, position y, orientation θ, velocity v1 , velocity v2 , current ia1 , and current ia2 , respectively. The identifier (4.47) is trained online using the training algorithm based on the EKF (2.8). 4.4.1.1 Inverse optimal control for a tank differential robot The control objective is to design a control law u to follow a desired trajectory generated by the following reference robot: x˙ r

= vr cos(θr ),

y˙ r

= vr sin(θr ),

θ˙r

= ωr ,

(4.48)

where xr , yr , and θr are position and orientation of the robot; vr and ωr are the linear and angular velocity of the reference robot, respectively. For the design of the inverse optimal controller for the tank robot, a model of the system is needed, which in this work is obtained by the use of the RHONN identifier (4.47). The reference model (4.49) is discretized using the Euler methodology. Then, the model of the identifier (4.47) is rewritten in block controllable form to simplify the design of the controller. We have χˆ a (k + 1) = ω1 (k)za (k) + ωa (k)xb (k), χˆ b (k + 1) = ω2 (k)zb (k) + ωb (k)xc (k),

(4.49)

χˆ c (k + 1) = ω3 (k)zc (k) + ωc (k)u2 (k), where χˆ a = [χˆ1 , χˆ2 , χˆ3 ] , χˆ b = [χˆ4 , χˆ5 ] ,

(4.50)



χˆ c = [χˆ6 , χˆ7 ] , xb = [v1 , v2 ], xc = [ia1 , ia2 ],

(4.51)

Identifier-controller scheme for discrete nonlinear systems with time delay with



ω11 ω1 (k) = ⎣ω21 ω31 ⎡ ω14 ⎣ ωa (k) = ω24 ω34

⎤ ω12 ω13 ω22 ω23 ⎦ , ω32 ω33 ⎤ ω15 ω25 ⎦ , ω35

 ω41 ω42 ω43 ω44 ω2 (k) = , ω51 ω52 ω53 ω54   ω45 0 , ωb (k) = 0 ω55

59

(4.52)

(4.53)



  ω61 ω62 ω63 ω64 ω3 (k) = , ω71 ω72 ω73 ω74   ω65 0 . ωc (k) = 0 ω75

(4.54) (4.55)

(4.56) (4.57)

In this way, the control objective is to force xa to follow a desired reference signal xaδ (k + 1) = [xr , yr , θr ] that is achieved with the design of a control signal xb (k) = u1 (k) based on the inverse optimal control approach [59]. Moreover, xb is forced to follow the previous control signal; this can be achieved designing a control law as follows: xc = ωb−1 (−ω2 (k)zb (k) + u1 (k)).

(4.58)

In addition, the reference signal for the control signal u2 is xcδ (k + 1) = xc . The inverse optimal control signals are defined as ui (k) = −[Im + Ji (x(k))]−1 hi (x(k), xδ (k + 1))

(4.59)

with hi (xi (k), xiδ (k + 1)) = gi (x(k))Pi (fi (xi (k))

(4.60)

− xiδ (k + 1)), 1 Ji (x(k)) = gi (x(k))Pi gi (x(k)), 2 where i = 1, 2.

(4.61)

60 Chapter 4

4.4.2 Real-time results: differential robot Test 4.4 The parameters for the real-time Test 4.4 are ⎡ ⎤ 162 1 2 P1 (k) = 72000 ⎣ 1 162 3 ⎦ , 2 3 162  1 0 , P2 (k) = 10000 0 1

(4.62)



⎤ cos(x13 ) cos(x13 ) ⎥ ⎢ g1 = 0.5rT ⎣ sin(x13 ) sin(x13 ) ⎦ , R −1 −R −1

(4.63)



  1 0 g2 = , 0 1 T = 0.003 s

(4.64)

(4.65) (4.66)

Figs. 4.30 and 4.31 show the linear velocity reference and angular velocity reference. Figs. 4.32, 4.33, and 4.34 show the reference signals, real signals, and identified signals of x, y, and θ . Figs. 4.35 and 4.36 show the velocities v1 and v2 , respectively.

Figure 4.30: Linear reference for real-time Test 4.4.

Identifier-controller scheme for discrete nonlinear systems with time delay

Figure 4.31: Angular reference for real-time Test 4.4.

Figure 4.32: Test 4.4: Comparison position x.

Figure 4.33: Test 4.4: Comparison position y.

61

62 Chapter 4

Figure 4.34: Test 4.4: Comparison position θ .

Figure 4.35: Test 4.4: Comparison velocity v1 .

Figure 4.36: Test 4.4: Comparison velocity v2 .

Identifier-controller scheme for discrete nonlinear systems with time delay

Figure 4.37: Test 4.4: Comparison current i1 .

Figure 4.38: Test 4.4: Comparison current i2 .

Figs. 4.37 and 4.38 show the currents i1 and i2 , respectively. Figs. 4.39 and 4.40 show the control signals for Test 4.4. Table 4.4 shows information about identification RMSEs.

4.4.3 Real-time results: differential robot Test 4.5 A second test of the proposed scheme was carried out using different reference signals. Figs. 4.41 and 4.42 show the generated references for linear and angular velocities. Figs. 4.43, 4.44, and 4.45 show the reference signals, real and identified from x, y, and θ .

63

64 Chapter 4

Figure 4.39: Test 4.4: Control signal u1 .

Figure 4.40: Test 4.4: Control signal u2 . Table 4.4: Identified root mean squared errors of real-time Test 4.4 (tank differential robot). Root mean squared error x y

θ v1 v2 i1 i2

0.0071 m 0.0013 m 0.0035 rad 0.0280 m/s 0.0204 m/s 0.1389 A 0.1309 A

Identifier-controller scheme for discrete nonlinear systems with time delay

65

Figure 4.41: Linear reference for real-time Test 4.5.

Figure 4.42: Angular reference for real-time Test 4.5.

Figs. 4.46 and 4.47 show the velocities v1 and v2 , respectively. Figs. 4.48 and 4.49 show the currents i1 and i2 , respectively. Figs. 4.50 and 4.51 show the control signals for Test 4.5. Table 4.5 shows information about identification RMSEs. It is noted from Test 4.4 and Test 4.5 that trajectory tracking and identification objectives are met. However, it is important to note the existence of more visible errors is due to: • •

Loss of communication packages. Saturation of the actuators.

66 Chapter 4

Figure 4.43: Test 4.5: Comparison position x.

Figure 4.44: Test 4.5: Comparison position y.

Figure 4.45: Test 4.5: Comparison position θ .

Identifier-controller scheme for discrete nonlinear systems with time delay

Figure 4.46: Test 4.5: Comparison velocity v1 .

Figure 4.47: Test 4.5: Comparison velocity v2 .

Figure 4.48: Test 4.5: Comparison current i1 .

67

68 Chapter 4

Figure 4.49: Test 4.5: Comparison current i2 .

Figure 4.50: Test 4.5: Control signal u1 .

Figure 4.51: Test 4.5: Control signal u2 .

Identifier-controller scheme for discrete nonlinear systems with time delay

69

Table 4.5: Identification root mean squared errors of real-time Test 4.5 (tank differential robot). Root mean squared error x y

θ v1 v2 i1 i2

• •

0.0026 m 0.0146 m 0.0098 rad 0.0343 m/s 0.0210 m/s 0.1510 A 0.1404 A

Noise and imprecise sensors. Nonmodeled dynamics.

Nevertheless, the systems have the desired dynamics, and their identification errors are small and SGUUB. It is important to remark that for a RHONN identifier the model of the system under consideration is not necessary and it is usually unknown; moreover, the design of the controller is done using the model obtained in the identification process.

CHAPTER 5

Neural observer based on a RHONN for uncertain nonlinear discrete systems with unknown time delays Contents 5.1 Neural observer 71 5.2 Full-order neural observer design based on a RHONN for discrete-time nonlinear systems with unknown delays 72 5.2.1 Results of full-order RHONN observer 77

5.3 Reduced-order neural observer design based on RHONNs for discrete-time nonlinear systems with unknown delays 86 5.4 Results of reduced-order neural observer 87 5.4.1 Simulation results 87 5.4.2 Real-time results 88

Chapter points •

Neural observer



Stability analysis



Real-time results



Simulation results

5.1 Neural observer An observer is a mathematical structure that estimates the state of a system (all state variables or only a part of them) based on available measured signals and information of the system under consideration [19]. A state observer that estimates all the state variables of a system is called full-order observer; a state observer that only estimates part of the state variables of the system is known as reduced-order observer [19]. Most of the reported state observers in the literature use transformations or linearization techniques. Such methods can be considered simple. However, they do not consider uncertainties, Neural Networks Modeling and Control https://doi.org/10.1016/B978-0-12-817078-6.00013-1 Copyright © 2020 Elsevier Inc. All rights reserved.

71

72 Chapter 5 saturation, unmodeled dynamics, delays, and other problems, usually found in real-world systems. There are also state observers called robust observers, which perform well even in the presence of uncertainties and disturbances, but they have the main disadvantage of having complex models or requiring prior knowledge of a mathematical model of the system, which is not always available. Another kind of state observers are neural observers. Neural observers use ANNs to model unknown dynamics of the system and in some cases they can model the entire state of the system [1,63]. Neural observers have proven to perform well even in the presence of uncertainties and disturbances [1,63]. It is important to mention the difference between the neural identifier presented in Chapter 3 and the neural observer presented in this chapter. The main difference is the configuration of RHONN used by them; the neural identifier uses the series-parallel and neural observer uses the parallel one (please see Chapter 2, Section 2.2 for details). Using the parallel configuration allows the neural observer to estimate unknown state variables (state variables that are not accessible for measurement) of the system. This work considers uncertain nonlinear discrete systems with time delays, and two schemes are presented in this chapter: A full-order RHONN observer and a reduced-order RHONN observer scheme.

5.2 Full-order neural observer design based on a RHONN for discrete-time nonlinear systems with unknown delays Consider the following multiple-input and multiple-output system: x (k + 1) = F (x (k − l) , u (k)) + d(k), y (k) = Cx(k),

(5.1)

where x ∈ n is the system state vector, u ∈ m is the input vector, y ∈ p is the output vector, C ∈ p×n is a known matrix, d ∈ n is the vector of disturbances, F ∈ n × m → n is a nonlinear function, and l = 1, 2, · · · is the unknown delay. The system (5.1) can be rewritten as x(k − l) = [x1 (k − l) · · · xn (k − l)] , d(k) = [d1 (k) · · · dj (k) · · · dn (k)] , xi (k + 1) = Fi (x(k − l), u(k)) + di (k), y(x) = Cx(k), i = 1, 2, · · · , n.

(5.2)

Neural observer for discrete nonlinear systems with time delays

73

To estimate the state of system (5.2), the following full-order RHONN observer is proposed:  x (k) = [ x1 (k) · · · xn (k)] ,  xi (k + 1) = wi zi ( x (k), u(k)) + gi e(k),

(5.3)

 y (k) = C x (k), i = 1, 2, · · · , n, where gi ∈ p , zi is like described in (2.4), and wi is the respective i-th online adapted weight vector, as training algorithm (2.8) described in Section 2.2.2.1. The full-order RHONN observer (5.4) is based on the parallel configuration of RHONNs (2.2), allowing it to estimate all the state variables of system (5.2). The inputs to the RHONN observer (5.4) are the previous estimated state and the same control input u(k) of the system; for training only the error (5.6) between the output of the system and the output of the RHONN observer is necessary. A graphical representation of the full-order RHONN observer is depicted in Fig. 5.1.

Figure 5.1: RHONN observer scheme.

If we define w∗ as the ideal weight vector and wi as its estimate, then: •



The i-th weight estimation error is w˜ i (k) = wi∗ − wi (k).

(5.4)

xi (k). x˜i (k) = xi (k) − 

(5.5)

The i-th estimation error is

74 Chapter 5 •

The output error is e(k) = y(k) − y(k). ˆ

(5.6)

Then, considering (2.8) and w∗ as a constant vector, the dynamics of (5.4) are w˜ i (k + 1) − w˜ i (k) = wi (k + 1) − wi (k). w˜ i (k + 1) = w˜ i (k) − ηi Ki (k)ei (k).

(5.7)

The dynamics of (5.5) of system (2.1) can be approximated by the neural model described in Chapter 3, so we have xi (k + 1) = wi∗  zi (x(k − l), u(k)) + zi ,

(5.8)

where zi is a bounded approximation of the error that can be reduced by increasing the number of adjustable weights [60], hence x˜i (k + 1) = xi (k + 1) −  xi (k + 1), x˜i (k + 1) = wi∗  zi (x(k − l), u(k)) + zi

−wi zi ( x (k), u(k)) − gi e(k),

(5.9)

xi (k), u(k)), adding and subtracting wi∗  zi ( x˜i (k + 1) = w˜ i (k)zi ( xi (k), u(k)) + z i − gi e(k),

(5.10)

with ˜ u(k)) + zi , z i = wi∗  zi (x(k), zi (x(k), ˜ u(k)) = zi (x(k − l), u(k)) − zi ( x (k), u(k)).

(5.11) (5.12)

Theorem 5.1. For system (5.2), the neural observer (5.4) trained with the algorithm based on the EKF (2.8) ensures that the estimation error (5.5) and the output error (5.6) are SGUUB. Proof. Consider the following Lyapunov candidate function: Vi (k) = w˜ i (k)Pi (k)w˜ i (k) + x˜i (k)Pi (k)x˜i (k), whose first increment is defined as V i (k) = V (k + 1) − V (k),

(5.13)

Neural observer for discrete nonlinear systems with time delays

75

V i (k) = w˜ i (k + 1)Pi (k + 1)w˜ i (k + 1) + x˜i (k + 1)Pi (k + 1)x˜i (k + 1) −w˜ i (k)Pi (k)w˜ i (k) − x˜i (k)Pi (k)x˜i (k).

(5.14)

Using (2.8), (5.7), and (5.5) in (5.14), we have  V i (k) = [w˜ i (k) + ηi Ki (k)C x(k)] ˜ [Ai (k)][w˜ i (k) + ηi Ki (k)C x(k)] ˜  ˜ [Ai (k)][f (k) − gi C x(k)] ˜ +[f (k) − gi C x(k)]

−w˜ i (k)Pi (k)w˜ i (k) − x˜i (k)Pi (k)x˜i (k),

(5.15)

V i (k) = −w˜ i (k)Bi (k)w˜ i (k) − ηi w˜ i (k)Ai (k)Ki (k)C x(k) ˜

˜ −ηi x˜  (k)C  Ki (k)Ai (k)w˜ i (k) + ηi2 x˜  (k)C  Ki (k)Ai (k)Ki (k)C x(k) +f  (k)Ai (k)f (k) − f  (k)Ai (k)gi C x(k) ˜ − x˜  (k)C  gi Ai (k)f (k)

˜ − x˜i (k)Pi (k)x˜i (k), +x˜  (k)C  gi Ai (k)gi C x(k)

(5.16)

with Ai (k) = Pi (k) − Bi (k), Bi (k) = Ki (k)Hi (k)Pi (k) + Qi (k), f (k) = w˜ i (k)z(x(k), ˆ u(k)) + z i .

Using the inequalities X X + Y  Y

≥ 2X  Y,

X X + Y  Y

≥ −2X  Y,

−λmin (P )X 2 ≥ −X  P X ≥ −λmax (P )X 2 , which are valid ∀X, Y ∈ n , ∀P ∈ n×n , P = P  > 0 Eq. (5.16) can be written as V i (k) ≤ −w˜ i (k)Bi (k)w˜ i (k) + ηi2 x˜  (k)C  Ki (k)Ai (k)Ki (k)C x(k) ˜

+w˜ i (k)w˜ i (k) + ηi2 x˜  (k)C  Ki (k)A ˜ i (k)Ai (k)Ki (k)C x(k)

˜ +f  (k)Ai (k)f (k) + x˜  (k)C  gi Ai (k)gi C x(k)

+f  (k)f (k) + x˜  (k)C  gi A ˜ i (k)Ai (k)gi C x(k) −x˜i (k)Pi (k)x˜i (k),

and then 2 V i (k) ≤ − w˜ i (k) 2 λmin (Bi (k)) + ηi2 x(k) ˜ CKi (k) 2 λmax (Ai (k)) 2 + w˜ i (k) 2 + ηi2 x(k) ˜ CKi (k) 2 λ2max (Ai (k))

(5.17)

76 Chapter 5 2 + f (k) 2 λmax (Ai (k)) + x(k) ˜ Cgi 2 λmax (Ai (k)) 2 2 + f (k) 2 + x(k) ˜ Cgi 2 λ2max (Ai (k)) − x(k) ˜ λmin (Pi (k)).

(5.18) Substituting f (k), we have 2 ˜ CKi (k) 2 λmax (Ai (k)) V i (k) ≤ − w˜ i (k) 2 λmin (Bi (k)) + ηi2 x(k) 2 + w˜ i (k) 2 + ηi2 x(k) ˜ CKi (k) 2 λ2max (Ai (k))

ˆ u(k)) 2 λmax (Ai (k))+ | z i |2 λmax (Ai (k)) + w˜ i (k) 2 z(x(k), 2 Cgi 2 λmax (Ai (k)) + w˜ i (k) 2 z(x(k), ˆ u(k)) 2 + x(k) ˜ 2 2 + | z i |2 + x(k) ˜ Cgi 2 λ2max (Ai (k)) − x(k) ˜ λmin (Pi (k)).

(5.19) Defining Ei (k) = −η2 CKi (k) 2 λmax (Ai (k)) − η2 CKi (k) 2 λmax (A2i (k)) − Cgi 2 λmax (Ai (k)) − Cgi 2 λmax (A2i (k)) + λmin (Pi (k)), Fi (k) = −1 + λmin (Bi (k)) − z(x(k), ˆ u(k)) 2 λmax (Ai (k)) − z(x(k), ˆ u(k)) 2 ,

(5.20)

Eq. (5.19) can be expressed as 2 V i (k) ≤ − x(k) ˜ Ei (k) − w˜ i (k) 2 Fi (k)

+ | z i |2 (1 + λmax (Ai (k))).

(5.21)

Thus, V i (k) < 0 when  x(k) ˜ >

| z i |2 (1 + λmax (Ai (k))) Ei (k)

≡ κ1

(5.22)

≡ κ2 .

(5.23)

or  w˜ i (k) >

| z i |2 (1 + λmax (Ai (k))) Fi (k)

Therefore, the solutions of (5.10) and (5.7) are stable, so the estimation error and the neural observer weights (5.4) are SGUUB.

Neural observer for discrete nonlinear systems with time delays

77

Considering (5.4) and (2.12), it is easy to see that the output error has an algebraic relationship with x(k). ˜ For that reason, if x(k) ˜ is bounded, then e(k) is also bounded, so we have e(k) = C x(k), ˜ e(k) = C x(k) . ˜ Remark 5.1. Considering Theorem 5.1 and its proof, it can be shown that the result can be extended for systems with multiple delays, such as x (k − li ) with i = 1, 2, · · · instead of x (k − l) in (5.2) and also for variant delays in time, x (k − li (k)), with li (k) bounded by li (k) ≤ l.

5.2.1 Results of full-order RHONN observer 5.2.1.1 Simulation results Test 5.1 – Simulation test. The time-delay system (TDS) (5.24) is used to show the performance of the proposed RHONN observer. TDS (5.24) is a chaotic oscillator similar to the Van der Pol system [50], i.e., x˙1 (t) = x2 (t) + 0.001x1 (t) u (t) ,   x˙2 (t) = 1 − x12 (t) x2 (t) − x1 (t) + x3 (t) u (t) + 2 cos (x1 (t − 3)) , x˙3 (t) = x4 (t) + 0.01x2 (t) x3 (t) exp (u (t)) ,   u (t)  x˙4 (t) = 1 − x32 (t) x4 (t) − x3 (t) +  2 1 + x2 (t) x42 (t)   +2 x12 (t − 3) + x22 (t − 3) sin(x2 (t − 3)) y1 (t) = x1 (t) + x2 (t) , y2 (t) = x3 (t) + x4 (t) .

(5.24)

For the test, system (5.24) is simulated in MATLAB® /Simulink using “Zero order hold” blocks with a sampling time equal to 0.2 s. The following full-order RHONN observer is proposed to estimate the state of system (5.24): xˆ1 (k + 1) = w11 S(xˆ1 (k)) +w12 S(xˆ1 (k))S(xˆ2 (k))S(xˆ3 (k))S(xˆ4 (k))u(k), xˆ2 (k + 1) = w21 S(xˆ2 (k)) + w22 S(xˆ1 (k))S(xˆ2 (k)) + w23 S(xˆ3 (k))S(xˆ2 (k)) +w24 S(xˆ1 (k))S(xˆ2 (k))S(xˆ3 (k))S(xˆ4 (k))u(k),

78 Chapter 5 xˆ3 (k + 1) = w31 S(xˆ3 (k)) + w32 S(xˆ1 (k))S(xˆ3 (k)) + w33 S(xˆ3 (k))u(k) +w34 S(xˆ1 (k))S(xˆ2 (k))S(xˆ3 (k))S(xˆ4 (k))u(k), xˆ4 (k + 1) = w41 S(xˆ4 (k)) + w42 S(xˆ1 (k))S(xˆ4 (k)) + w43 S(xˆ3 (k))S(xˆ4 (k)) +w44 S(xˆ1 (k))S(xˆ2 (k))S(xˆ3 (k))S(xˆ4 (k))u(k).

(5.25)

Table 5.1 shows the EKF values for training. Table 5.1: Matrix values for EKF training of the RHONN observer for Test 5.1. i

Pi

Qi

Ri

ηi

1

1.0 · 103 × diag(2)

9.7 · 105 × diag(2)

1.0 · 105 × diag(2)

0.4320

2

1.0 · 107 × diag(4)

2.2 · 104 × diag(4)

1.0 · 104 × diag(2)

−0.2440

3

1.0 · 105 × diag(4)

7.17 · 105 × diag(4)

7.85 · 102 × diag(2)

0.3890

4

20 × diag(4)

1.0 · 102 × diag(4)

1.005 · 103 × diag(2)

−39

Vectors gi are set as  g1 =  g3 =

0.1 −0.0460 −0.0251 0.0600



 , g2 =



 , g4 =

0.9150 −0.0090 −0.0390 1.1680

, .

(5.26)

Figs. 5.2 to 5.5 show the comparison between real signals xi and observed xˆi . These figures show that the estimation error of system state variables (5.24) is bounded. Table 5.2 shows estimation errors obtained in the test. Errors of the high-order neural network observer and RHONN observer are similar, errors for state variables x1 and x2 are smaller for the RHONN observer.

Figure 5.2: Test 5.1: x1 state estimation for system (5.24).

Neural observer for discrete nonlinear systems with time delays

79

Figure 5.3: Test 5.1: x2 state estimation for system (5.24).

Figure 5.4: Test 5.1: x3 state estimation for system (5.24).

Figure 5.5: Test 5.1: x4 state estimation for system (5.24).

It important to remark that the RHONN observer does not need knowledge about the system model or delay approximations; on the other hand, this information is necessary for the design of the high-order neural network observer presented in [50], which is used only for comparison purposes.

80 Chapter 5 Table 5.2: Test 5.1: Absolute deviation of estimation errors. Absolute deviation

x1

x2

x3

x4

RHONN observer

0.1616

0.3530

0.2811

0.5997

HONN observer

0.1761

0.3033

0.1860

0.6438

The results show that the RHONN observer achieves a reasonable estimation of the state of system (5.24). Besides, the estimation errors are similar to those obtained using the high-order neural network observer presented in [50], which requires knowledge of the system model and an estimate of the delay. 5.2.1.2 Experimental results Test 5.2 – Real time. For this test, the prototype presented in Appendix B is used. This prototype is based on a dSPACE board RTI 1104 and a linear induction motor (LIM) LabVolt model 8228. The LIM prototype is represented by an α–β model [7], which is represented by the following state variables: position, velocity, α magnetic flux, β magnetic flux, α current, and β current. Knowledge of this mathematical model and its parameter values is not necessary for the design of the RHONN observer; however, it is presented in Appendix B as a reference. It is important to mention that for the LIM prototype it is not possible to get measurements for the magnetic fluxes. Then, for the RHONN observer the α flux and β flux are not available state variables to be estimated. The real-time Test 5.2 was performed as follows: • •

• •

Sampling time was selected as 0.001 s. Delays are added to position, α current, and β current signals in accordance with the following two cases: • Case 1: “Transport delay.” The Simulink block “Transport Delay” is used with the delay parameter set at 0.003 s. This process generates a delayed signal that will replace the real signal for a period equal to 0.003 s. • Case 2: The signal is not updated. In this case, it will be simulated that for a time equal to 0.003 s it is not possible to update the value of the signal. The simulation time of Test 5.2 is set as 10 s. Test 5.2 is performed in open loop using chirp signals as control inputs.

Neural observer for discrete nonlinear systems with time delays

81

The RHONN observer for Test 5.2 is xˆ1 (k + 1) = ω11 S(xˆ1 (k)) + ω12 S(xˆ2 (k)) + g1 e(k), xˆ2 (k + 1) = ω21 S(xˆ2 (k)) + ω22 S(xˆ3 (k))

(5.27)

+ω23 S(xˆ4 (k)) + ω24 S(xˆ2 (k))S(xˆ3 (k)) +ω25 S(xˆ2 (k))S(xˆ4 (k)) + ω26 S(xˆ3 (k))S(xˆ4 (k)) −ωv S(xˆ3 (k)) sin(np xˆ1 (k))x5 (k) − ωv S(xˆ4 (k)) cos(np xˆ1 (k))x5 (k) +ωv S(xˆ3 (k)) cos(np xˆ1 (k))x6 (k) − ωv S(xˆ4 (k)) sin(np xˆ1 (k))x6 (k) +g2 e(k), xˆ3 (k + 1) = ω31 S(xˆ2 (k)) + ω32 S(xˆ3 (k)) + ω33 S(xˆ2 (k))S(xˆ3 (k)) +ω34 S(xˆ1 (k))S(xˆ2 (k)) + ω35 S(xˆ1 (k))S(xˆ3 (k)) +ωf a cos(np xˆ1 (k))x5 (k) + ωf a sin(np xˆ1 (k))x6 (k) + g3 e(k), xˆ4 (k + 1) = ω41 S(xˆ2 (k)) + ω42 S(xˆ4 (k)) + ω43 S(xˆ2 (k))S(xˆ4 (k)) +ω44 S(xˆ1 (k))S(xˆ2 (k)) + ω45 S(xˆ1 (k))S(xˆ4 (k)) −ωf a sin(np xˆ1 (k))x5 (k) + ωf a cos(np xˆ1 (k))x6 (k) + g4 e(k), xˆ5 (k + 1) = ω51 S(xˆ2 (k)) + ω52 S(xˆ3 (k)) + ω53 S(xˆ4 (k)) +ω54 S(xˆ5 (k)) + ω55 S(xˆ2 (k))S(xˆ3 (k)) + ω56 S(xˆ2 (k))S(xˆ4 (k)) +ω57 S(xˆ3 (k))S(xˆ4 (k)) + ω58 u1 + g5 e(k), xˆ6 (k + 1) = ω61 S(xˆ2 (k)) + ω62 S(xˆ3 (k)) + ω63 S(xˆ4 (k)) +ω64 S(xˆ6 (k)) + ω65 S(xˆ2 (k))S(xˆ3 (k)) + ω66 S(xˆ2 (k))S(xˆ4 (k)) +ω67 S(xˆ3 (k))S(xˆ4 (k)) + ω68 u1 + g6 e(k). Figs. 5.6 to 5.13 show the comparison between real (measured) signals and estimated signals by the RHONN observer. Besides, this section includes zoomed images around the mentioned cases; the delays in this test are around 3.1 s and 4.1 s for position and velocity, and 6.4 s and 7.6 s for α current and β current, respectively. For comparison purposes, estimated α flux and β flux are compared with the estimated signals by the reduced-order observer presented in [43]. This comparison is shown in Figs. 5.14 and 5.15. The chirp signals used for Test 5.2 are shown in Figs. 5.16 and 5.17. From the results, it is observed that the full-order neural observer based on RHONNs trained with the algorithm based on the EKF manages to estimate the state variables of the LIM prototype without having previous knowledge of the LIM prototype model, parameters, disturbances, and delays.

82 Chapter 5

Figure 5.6: Test 5.2: Comparison of the estimated position signal and the real measured signal.

Figure 5.7: Test 5.2, zoomed graph: Comparison of the estimated position signal and the real measured signal.

Figure 5.8: Test 5.2: Comparison of the estimated velocity signal and the real measured signal.

Neural observer for discrete nonlinear systems with time delays

83

Figure 5.9: Test 5.2, zoomed graph: Comparison of the estimated velocity signal and the real measured signal.

Figure 5.10: Test 5.2: Comparison of the estimated α current signal and the real measured signal.

Figure 5.11: Test 5.2, zoomed graph: Comparison of the estimated α current signal and the real measured signal.

84 Chapter 5

Figure 5.12: Test 5.2: Comparison of the estimated β current signal and the real measured signal.

Figure 5.13: Test 5.2, zoomed graph: Comparison of the estimated β current signal and the real measured signal.

Figure 5.14: Test 5.2: Comparison of the estimated α flux signal and the real measured signal.

Neural observer for discrete nonlinear systems with time delays

85

Figure 5.15: Test 5.2: Comparison of the estimated β flux signal and the real measured signal.

Figure 5.16: Test 5.2: Chirp signal u1 .

Figure 5.17: Test 5.2: Chirp signal u2 .

86 Chapter 5

5.3 Reduced-order neural observer design based on RHONNs for discrete-time nonlinear systems with unknown delays First, consider the following multiple-input and multiple-output system: x (k + 1) = F (x (k − l) , u (k)) + d(k), y (k) = Cx(k),

(5.28)

where x ∈ n is the system state vector, u ∈ m is the input vector, y ∈ p is the output vector, C ∈ p×n is a known matrix, d ∈ n is the vector of disturbances, F ∈ n × m → n is a nonlinear function, and l = 1, 2, · · · is the unknown delay. System (5.28) can be rewritten as x(k − l) = [x1 (k − l) · · · xj (k − l), xj +1 (k − l) · · · xn (k − l)] , d(k) = [d1 (k) · · · dj (k) · · · dn (k)] , xi (k + 1) = Fi (x(k − l), u(k)) + di (k), y(x) = Cx(k), i = 1, 2, · · · , n,

(5.29)

where the state variables from x1 to xj are available (measurable) state variables, and state variables from xj +1 to xn are nonaccessible (nonmeasurable) state variables. Then, considering (5.29) an estimation of the values of nonaccessible state variables is necessary. In previous sections, a RHONN observer was used to estimate all the state variables of a system, besides obtaining a model of the system. Using the following scheme, a RHONN observer will estimate the values and mathematical model only for the nonaccessible state variables, and the rest of the model will be obtained through a RHONN identifier. In this way, a complete model is also obtained, as well as estimates for the entire state. The main advantage of this scheme is a considerable reduction of mathematical operations, resulting in a lower computational cost; this reduction of mathematical operations is because in the case of the RHONN observer which uses a parallel-model, the EKF algorithm works with matrices and in the case of the RHONN identifier which uses a series-parallel model, the EKF algorithm works with vectors. This reduction of operations can be used in favor of smaller sampling times. Another advantage is that for accessible state variables smaller estimation errors will be obtained, compared to the ones obtained by a full-order RHONN observer. To get the mathematical model of system (5.2) and estimation of its nonmeasurable state variables, the reduced-order observer (5.30) based on RHONNs is proposed. The scheme of the proposed reduced-order RHONN observer is displayed in Fig. 5.18. We have

Neural observer for discrete nonlinear systems with time delays

87

Figure 5.18: Scheme of reduced-order RHONN observer.

xˆi (k + 1) = ωi zi (xa (k − l), xˆb , u(k)),

xˆj (k + 1) = ωi zj (xa (k − l), xˆb , u(k)) + gj e(k),

(5.30)

y(k) ˆ = C x(k), ˆ with xa = [x1 , · · · , xi , · · · , xp ], xˆb = [xˆi+1 , · · · , xˆj , · · · , xˆn ], where i = i, ·, p, i = j, ·, n, xˆi represents the dynamics of the identifier and xˆj the dynamics of the reduced-order observer. The weight estimation error remains as in (5.4), the estimation error as in (5.5), and the output error as in (5.6). As training algorithm the algorithm based on the Kalman filter described in Chapter 5 is used. It is important to recall that for the series-parallel model of RHONN trained with the EKF algorithm, the estimation error of each state variable is used to calculate its weights. On the other hand, for the parallel model the output error is used for the EKF algorithm to calculate the weights for the nonaccessible state variables.

5.4 Results of reduced-order neural observer 5.4.1 Simulation results Test 5.3: The reduced-order RHONN observer (5.31) is designed to estimate the state of system (5.24), a chaotic oscillator similar to the Van der Pol system with added time delays, as follows:

88 Chapter 5 xˆ1 (k + 1) = w11 S(xˆ1 (k)) + w12 S(xˆ1 (k))S(xˆ2 (k))S(xˆ3 (k))S(xˆ4 (k))u(k), xˆ2 (k + 1) = w21 S(xˆ2 (k)) + w22 S(xˆ1 (k))S(xˆ2 (k)) + w23 S(xˆ3 (k))S(xˆ2 (k)) +w24 S(xˆ1 (k))S(xˆ2 (k))S(xˆ3 (k))S(xˆ4 (k))u(k) + g2 e(k), xˆ3 (k + 1) = w31 S(xˆ3 (k)) + w32 S(xˆ1 (k))S(xˆ3 (k)) + w33 S(xˆ3 (k))u(k) +w34 S(xˆ1 (k))S(xˆ2 (k))S(xˆ3 (k))S(xˆ4 (k))u(k), xˆ4 (k + 1) = w41 S(xˆ4 (k)) + w42 S(xˆ1 (k))S(xˆ4 (k)) + w43 S(xˆ3 (k))S(xˆ4 (k)) +w44 S(xˆ1 (k))S(xˆ2 (k))S(xˆ3 (k))S(xˆ4 (k))u(k) + g4 e(k),

(5.31)

where e = [x1 − xˆ1 , x3 − xˆ3 ] . The accessible state variables are x1 and x3 , and the nonaccessible state variables are x2 and x4 (see Figs. 5.19 to 5.22).

Figure 5.19: Test 5.3: x1 identified signal versus real signal of system (5.24).

From the results, identification and estimation of state variables x1 and x3 stand out due their small error compared to the obtained estimation of x2 and x4 , where the estimation error is bigger but it is bounded; however, it is worth mentioning that the network achieves the estimation of x2 and x4 based on the estimation error of the available state variables x1 and x3 and the control input without any knowledge of the system model or delay estimations.

5.4.2 Real-time results The following real-time test is based on the reduced-order RHONN observer scheme (5.18). This test is implemented on the linear induction prototype (Appendix B) and coded in MATLAB/Simulink.

Neural observer for discrete nonlinear systems with time delays

89

Figure 5.20: Test 5.3: State estimation of x2 of system (5.24).

Figure 5.21: Test 5.3: x3 identified signal versus real signal of system (5.24).

Description of Test 5.4: The test starts with added delays from the beginning. The delays are added using Simulink blocks “Variable Transport Delay,” one for position and velocity, and two blocks for α current and β current. Each block receives at each time a random number from 1 to 10 that is multiplied by the sampling time to indicate the delay at each step; the sampling time is set to 0.0005 s. Figs. 5.23 and 5.24 show the results of Test 5.4 for position and velocity; the identified signal is compared to the real measured signals.

90 Chapter 5

Figure 5.22: Test 5.3: State estimation of x4 of system (5.24).

Figure 5.23: Test 5.4: Comparison of estimated position by the reduced-order RHONN observer.

Figs. 5.25 and 5.26 show the results of Test 5.4 for α flux and β flux. For comparative purposes the signal obtained by the RHONN observer is compared to the signal obtained by the observer of Section B.1.3 of Appendix B. Figs. 5.27 and 5.28 show the results of Test 5.4 for α current and β current. The identified signal is compared to the real measured signals.

Neural observer for discrete nonlinear systems with time delays

91

Figure 5.24: Test 5.4: Comparison of estimated velocity by the reduced-order RHONN observer.

Figure 5.25: Test 5.4: Comparison of estimated α flux by the reduced-order RHONN observer.

Figs. 5.29 and 5.30 show the chirp signals used as input control signals for Test 5.4. Table 5.3 shows the estimation errors for the identified signal for which the real measured signal is available.

92 Chapter 5

Figure 5.26: Test 5.4: Comparison of estimated α flux by the reduced-order RHONN observer.

Figure 5.27: Test 5.4: Comparison of estimated α current by the reduced-order RHONN observer.

Neural observer for discrete nonlinear systems with time delays

Figure 5.28: Test 5.4: Comparison of estimated α current by the reduced-order RHONN observer.

Figure 5.29: Test 5.4: u1 chirp signal.

93

94 Chapter 5

Figure 5.30: Test 5.4: u2 chirp signal. Table 5.3: Estimation errors of real-time Test 6.4. Root mean squared error Position

3.5017 · 10−05 m

Velocity

1.6030 · 10−04 m/s

α flux

0.1872 A

β flux

0.1061 A

CHAPTER 6

Observer–controller scheme for uncertain nonlinear discrete systems with unknown delays Contents 6.1 RHONN observer–controller scheme for uncertain nonlinear discrete systems with unknown delays 95 6.1.1 Simulation results: reduced-order RHONN observer–controller 104 6.1.2 Real-time results: reduced RHONN observer–controller 109

Chapter points •

Neural observer–controller scheme



Stability analysis



Simulation results



Real-time results

6.1 RHONN observer–controller scheme for uncertain nonlinear discrete systems with unknown delays The design process of a RHONN observer–controller scheme for uncertain nonlinear discrete systems with unknown delays is similar to the design process of the identifier–controller scheme presented in Chapter 4. A RHONN observer–controller scheme consists mainly in the following two steps. First, a reduced-order RHONN observer is designed to estimate the nonmeasurable state variables of the system, identify available variables, and model the system. Second, a controller is designed based on the obtained model. A graphical representation of a reduced-order RHONN observer–controller scheme is depicted in Fig. 6.1. Theorem 6.1. The control law (4.12) can be applied to the reduced-order RHONN observer (5.30) trained with the EKF training algorithm (2.8) for both series-parallel and parallel models. The state identification and estimation for system (5.29) are ensured, such that Neural Networks Modeling and Control https://doi.org/10.1016/B978-0-12-817078-6.00014-3 Copyright © 2020 Elsevier Inc. All rights reserved.

95

96 Chapter 6

Figure 6.1: Reduced-order RHONN observer–controller.

the identification error (3.4), estimation error (5.5), and tracking error (4.11) are SGUUB. Besides, the weights of the RHONN remain bounded. Proof of Theorem 6.1. First, consider the following definition: Step 1. For RHONN identifiers. A system described by (2.1) where all the state variables are measurable can be approximated by the following RHONN for a series-parallel model (see Chapter 3): xi (k + 1) = ωi∗ z(x(k − l), u(k)) + zi ,

(6.1)

with i = 1, · · · , n and where zi is a bounded approximation error which can be reducedby  increasing the number of the adjustable weights; ωi∗ is the ideal weight vector such that zi  can be minimized on a compact set zi ⊂ Li , and it is assumed that it exists and it is constant but unknown. The estimation of ω∗ is defined as w. Then the estimation error and its dynamic are defined as  ωi (k) = ωi∗ − ωi (k) ,  ωi (k + 1) =

ωi∗

− ωi (k + 1),

(6.2) (6.3)

and using the EKF training algorithm (2.8) for the training of a RHONN series-parallel model in Eq. (6.3), we have  ωi (k + 1) = ωi∗ − (ωi + ηi Ki ei ), w i (k + 1) = w i (k) − ηi Ki ei (k).

(6.4)

Identifier-controller scheme for discrete nonlinear systems with time delay

97

The state estimation is defined as (3.4) and its dynamic as ei (k + 1) = xi (k + 1) − xˆi (k + 1),

(6.5)

and using (6.1) and the first equation of (5.30), Eq. (6.5) can be rewritten as ei (k + 1) = ωi∗ zi (x(k − l), u(k)) + zi − ωi zi (xa (k − l), xˆb , u(k)).

(6.6)

Adding and subtracting ωi∗ zi (xa (k − l), xˆb (k), u(k)) in (6.6), we obtain ωi (k)zi (xa (k − 1), xb (k), u(k)) + z i ei (k + 1) = 

(6.7)

x (k), u(k)) + zi , z i = ωi∗ (k)zi (

(6.8)

x (k), u(k)) = zi (x(k − l), u(k)) − zi (xa (k − l), xˆb (k), u(k)). ωi∗ (k)zi (

(6.9)

with

Remark 6.1. The first equation of (5.30) is the RHONN identifier for the accessible (measurable) state variables of system (5.29) as part of the reduced-order RHONN observer scheme as seen in Fig. 6.1. Step 2. For RHONN observers. Now consider the second equation of (5.30), which is the state observer for the nonavailable state variables. Using the training algorithm (2.8) for RHONNs in parallel configuration and the state estimation error (6.10), the output error is defined as (6.11), and the weight estimation error and its dynamic are defined as Eqs. (6.12) and (6.13), respectively. We have x(k) ˜ = x(k) − x, ˆ

(6.10)

e(k) = C x (k),

(6.11)

 ωj (k + 1) = ωj∗ − ωj (k + 1),

(6.12)

w j (k + 1) = w j (k) − ηj Kj C x (k).

(6.13)

Moreover, for the output error  xj (k + 1) = xj (k + 1) − xˆj (k + 1),  xj (k

+ 1) = ωj∗ zj (x(k

(6.14)

− l), u(k)) + zj − ωj zj (xa (k

− l), xˆb , u(k))

− gj C x (k),  xj (k

+ 1) =  ωj (k)zj (xa (k

(6.15) (6.16)

− 1), xb (k), u(k)) + z j

− gj C x (k),

(6.17)

98 Chapter 6 with z j = ωj∗ (k)zj ( x (k), u(k)) + zj , ωj∗ (k)zj ( x (k), u(k)) = zj (x(k

− l), u(k)) − zj (xa (k − l), xˆb (k), u(k)).

(6.18) (6.19)

The terms z i and z j are bounded since ωi∗ (k)zi ( x (k), u(k)), ωj∗ (k)zj ( x (k), u(k)), zi , and zj are individually bounded. Step 3. Now, consider the following Lyapunov candidate function: V (k) = V1 (k) + V2 (k) + V3 (k),

(6.20)

with V1 (k), V2 (k), V3 (k) defined as  V1 (k) = SD (k)SD (k), p   V2 (k) = ωi (k) + γi ei2 (k) ,  ωi (k)Pi (k)

V3 (k) =

i=1 n 

  ωj (k) +  xj (k) xj (k) .  ωj (k)Pj (k)

(6.21) (6.22)

(6.23)

j =p+i

The respective first increments of (6.21), (6.22), and (6.23) are   (k + 1)SD (k + 1) − SD (k)SD (k), V1 (k) = SD p    ωi (k + 1)Pi (k + 1) V2 (k) = ωi (k + 1) + γi ei2 (k + 1)

(6.24)

i=1

 ωi (k) − γi ei2 (k) , − ωi (k)Pi (k)

V3 (k) =

(6.25)

n    ωj (k + 1)Pj (k + 1) ωj (k + 1) +  xj (k + 1) xj (k + 1) j =p+i

 ωj (k) −  xj (k) xj (k) . − ωj (k)Pj (k)

(6.26)

Then, the first increment of (6.20) is V (k) = V 1 (k) + V 2 (k) + V 3 (k).

(6.27)

Case 1. Controller. For V1 (k), using (4.8) and (4.10), the last subsystem of Eq. (4.11) can be written as SD (k + 1) = SD (k) − xr (k) + xrd (k) + fr (x 1 (k)) + Br u(k) + dr (k) − xrd (k + 1).

(6.28)

Identifier-controller scheme for discrete nonlinear systems with time delay

99

Applying the equivalent control ueq (k) ≤ u0 yields motion on the sliding manifold SD (k) = 0. For ueq (k) > u0 , the proposed control strategy is ueq (k)  u0  ueq (k)

(6.29)

and the closed loop system becomes ueq (k)  + dr (k) − xrd (k + 1) SD (k + 1) = SD (k) − xr (k) + xrd (k) + fr (x 1 (k)) + Br u0  ueq (k) u0 ) = σ (k)(1 −  (6.30) ueq (k) with σ (k) = SD (k) − xr (k) + xrd (k) + fr (x 1 (k)) + dr (k) − xrd (k + 1).

(6.31)

Along any solution of the system, the Lyapunov candidate function (6.21) gives   V1 (k) = SD (k + 1)SD (k + 1) − SD (k)SD (k)

 (k)SD (k) = [(SD (k) + fs (k))(1 − C(k))] [(SD (k) + fs (k))(1 − C(k))] − SD

≤ [SD (k) + fs (k) (1 − C(k))] [SD (k) + fs (k) (1 − C(k))] − SD (k)2

≤ (SD (k) + fs (k) − B) × (SD (k) + fs (k) − B) − SD (k)2 ≤ (SD (k) + fs (k) − B)2 − SD (k)2 ≤ −2SD (k)(B − fs (k)) + (B − fs (k))2 ,

(6.32)

with u0 , B=  −1  Br  u0 , C(k) =  ueq (k)

and if

(6.33) (6.34)

fs (k) = −xr (k) + xd (k) + fr (x(k)) + dr (k) − xrd (k + 1),

(6.35)

     −1   −1  f (k) ≤ u ≤ B B  r  s  r (2SD (k) + fs (k)), 0

(6.36)

then V1 (k) ≤ 0, hence SD (k) and ueq (k) decrease monotonically. Note that      −1  B  r (2SD (k) + fs (k)) ≥ ueq (k) ≥ u0 .

(6.37)

100 Chapter 6 Therefore, the only condition to be fulfilled is    −1  Br fs (k) ≤ u0 .

(6.38)

Case 2. Measurable state variables. For V2 (k), first consider for each i-th neuron, with i = 1, · · · , p, V2i (k) =  ωi (k)Pi (k) ωi (k) + γi ei2 (k), ωi (k V2i (k) = 

+ 1)Pi (k + 1) ωi (k

(6.39)

+ 1) + γi ei2 (k

+ 1) −  ωi (k)Pi (k) ωi (k) − γi ei2 (k). (6.40)

Using (6.7), (6.4), and (2.8) in (6.40), we find ωi (k) − ηi Ki (k)ei (k)] [Pi (k) − Ai (k)][ ωi (k) − ηi Ki (k)ei (k)] V2i (k) = [ +γi ( ωi (k)zi (xa (k − 1), xb (k), u(k)) + z i )2 − ωi (k)Pi (k) ωi (k) − γi ei2 (k)

(6.41)

with Ai (k) = Ki (k)Hi (k)Pi (k) + Qi (k).

(6.42)

Then (6.41) can be written as ωi (k)Pi (k) ω − ηi ei (k) ωi (k)Pi (k)Ki (k) − ηi ei (k)Ki (k)Pi (k) ωi (k) V2i (k) =  +ηi2 ei2 (k)Ki (k)Pi (k)Ki (k) −  ωi (k)Ai  ωi (k) + ηi ei (k) ωi (k)Ai (k)Ki (k) +ηi ei (k)Ki (k)Ai (k) ωi (k) − ηi2 ei2 (k)Ki (k)Ai (k)Ki (k) +γi ( ωi (k)zi (xa (k − 1), xb (k), u(k)))2 +2γi ( ωi (k)zi (xa (k − 1), xb (k), u(k)))z i +z i2 −  ωi (k)Pi (k) ωi (k) − γi ei2 (k).

(6.43)

Now, using the following inequalities, which are valid ∀X, Y ∈ n , ∀P ∈ n×n , and P = P  > 0: X X + Y  Y

≥ 2X  Y,

X X + Y  Y

≥ −2X  Y,

−λmin (P)X Eq. (6.43) can be written as

2



(6.44)

≥ −X PX ≥ −λmax (P)X , 2

Identifier-controller scheme for discrete nonlinear systems with time delay 101 V2i (k) ≤ − ωi (k)Ai (k) ωi (k) − ηi2 ei2 (k)Ki (k)Ai (k)Ki (k) +  ωi (k) ωi (k) + ei2 (k)

+ηi2 ei2 (k)Ki (k)Pi (k)Pi (k)Ki (k) + ηi2  ωi Ai (k)Ki (k)Ki (k)A ωi (k) i (k) ωi (k)zi (xa (k − 1), xb (k), u(k)) +ηi2 ei2 (k)Ki (k)Pi (k)Ki (k) + 2γi (

+2γi z i2 − γi ei2 (k).

2

(6.45)

Then (6.45) can be expressed as V2i (k) ≤ − ωi (k)2 λmin (Ai (k)) − ηi2 |ei (k)|2 Ki (k)2 λmin (Ai (k)) +ηi2 |ei (k)|2 Ki (k)2 λ2max (Pi (k)) + 2ηi2 |ei (k)|2 Ki (k)2 + ωi (k)2 λmax (Pi (k)) +  ωi (k)2 λ2max (Ai (k)) ωi (k)2 zi (xa (k − 1), xb (k), u(k))2 +2γi  +2γi z i2 − γi |ei (k)|2 .

(6.46)

Defining Ei (k) = λmin (Ai (k)) − λ2max (Ai (k)) − 2γi zi (xa (k − 1), xb (k), u(k))2 Fi (k) =

+λmax (Pi (k)),

(6.47)

γi + ηi2 Ki (k)2 λmin (Ai (k)) − ηi2 Ki (k)2 λ2max (Pi (k)) −2ηi2 Ki (k)2

(6.48)

and selecting ηi , γi , Qi , and Ri , such that Ei > 0 and Fi > 0, ∀k, Eq. (6.46) can be expressed as V2i (k) ≤ − ωi (k)2 Ei (k) − |ei (k)|2 Fi (k) + 2γi z i2 . Therefore V2i (k) < 0 when

  ωi (k) >

or

 |ei (k)| >

2γi z i2 Ei (k)

2γi z i2 Fi (k)

(6.49)

≡ κ1

(6.50)

≡ κ2 .

(6.51)

Now, consider the above for V2 (k). Using (6.7), (6.4), and (2.8) in (6.25), we have V2 (k) =

p  

ωi (k) − ηi Ki (k)ei (k)] [ ωi (k) − ηi Ki (k)ei (k)] [Pi (k) − Ai (k)][

i=1

(6.52)

 +γi ( ωi (k)zi (xa (k − 1), xb (k), u(k)) + z i )2 −  ωi (k)Pi (k) ωi (k) − γi ei2 (k) .

102 Chapter 6 Considering the definition (6.42), (6.47), and (6.48) and selecting ηi , γi , Qi , and Ri such that Ei > 0 and Fi > 0, ∀k, Eq. (6.52) can be expressed as V2 (k) ≤

p  

 − ωi (k)2 Ei (k) − |ei (k)|2 Fi (k) + 2γi z i2 .

(6.53)

i=1

Hence V2 (k) < 0 when (6.51) or (6.50) is fulfilled. Case 3. Nonmeasurable state variables. For V3 (k), first consider for each j -th neuron, with j = p + 1, · · · , n, ωj (k)Pj (k) ωj (k) +  xj (k) xj (k), V3j (k) = 

(6.54)

V3j (k) =  ωj (k + 1)Pj (k + 1) ωj (k + 1) +  xj (k + 1) xj (k + 1) −  ωj (k)Pj (k) ωj (k) − xj (k) xj (k).

(6.55)

Using (6.13) and (2.8) in (6.55), we obtain ωj (k) − ηi Kj C x (k)] [Gj (k)][ ωj (k) − ηj Kj C x (k) V3j (k) =[

(6.56)



+ [fj (k) − gj C x (k)] [fj (k) − gj C x (k)] − ωj (k)Pj (k) ωj (k) −  xj (k) xj (k), V3j (k) = −  ωj (k)Ij (k) ωj (k) − ηj  ωj (k)Gj (k)Kj C x (k) 

(6.57)



x (k)C Kj (k)Gj (k) ω(k) + ηj2 x  (k)C  Kj (k)Gj (k)Kj C x (k) − ηj  + fj (k)fj (k) − fj (k)gj C x (k) −  x  (k)C  gj fj (k) + x  (k)C  gj gj C x (k) −  x  (k) x (k), with Gj (k) = Pj (k) − Ij (k),

(6.58)

Ij (k) = Kj (k)Hj (k)Pj (k) + Qj (k), fj (k) =  ωj (k)zj (xa (k − 1), xb (k), u(k)) + z j .

(6.59) (6.60)

Using the inequalities (6.45), ωj (k)Ij (k) ωj (k) + ηj2 x  (k)C  Kj (k)Gj (k)Kj C x (k) +  ω (k) ω(k) (6.61) V3j (k) ≤ −  + ηj2 x  (k)C  K  G x (k) + 2fj (k)fj (k) j (k)Gj (k)Kj (k)C + 2 x  (k)C  gj gj C x (k) −  x  (k) x (k),

Identifier-controller scheme for discrete nonlinear systems with time delay 103  2 2  x (k)2 C(k)2 Kj (k) λmax (Gj (k)) V3j (k) ≤ −  ωj (k) λmin (Ij (k)) + ηj2  (6.62)  2       2 2 2 x (k)2 Cj (k) Kj (k) λ2max (Gj (k)) + 2fj (k) +  ωj (k) + ηj2   2 + 2 x (k)2 C2 gj  −  x (k)2 . Substituting (6.60) in (6.62), we obtain  2 2  x (k)2 C(k)2 Kj (k) λmax (Gj (k)) V3j (k) ≤ − ωj (k) λmin (Ij (k)) + ηj2  (6.63)  2     2 2 x (k)2 Cj (k) Kj (k) λ2max (Gj (k)) + ωj (k) + ηj2   2  2  2  2   +2 x (k)2 C2 gj  ωj (k) zj (xa (k − 1), xb (k), u(k)) + 2z j  + 2 − x (k)2 . Defining  2 Jj (k) = − 1 + λmin (Ij (k)) − 2zj (xa (k − 1), xb (k), u(k)) , (6.64)     2 2 Mj (k) =1 − ηj2 C(k)2 Kj (k) λmax (Gj (k)) − ηj2 C(k)2 Kj (k) λ2max (Gj (k)) (6.65)  2 − 2C2 gj  , inequality (6.64) can be written as  2  2   V3j (k) ≤ − ωj (k) Jj (k) − x(k)2 Mj (k) + 2z j  . Therefore V3j (k) < 0 when    ωj (k) > or



  x (k) >

2z j2 Jj (k)

2z j2 Mj (k)

(6.66)

≡ κ3

(6.67)

≡ κ4 .

(6.68)

Now, for V3 (k), using (6.13) and (2.8) in (6.26) and considering the above, (6.26) can be expressed as n  2

 2    2   V3 (k) ≤ −  (6.69) ωj (k) Jj (k) − x(k) Mj (k) + 2z j  , j =p+i

  x (k) > κ4 ∀j = p + 1 · · · n, then V3 (k) ≤ 0. Therefore, the solution and if  ωj (k) > κ3 or  of (6.17) and (6.68) is SGUUB, hence the estimation error and the weights of the RHONN are

104 Chapter 6 SGUUB. Finally, the output error has an algebraic relation with  x , and if  x is bounded e(k) is bounded too, i.e., e(k) = C x,

(6.70)

e(k) = C  x . Remark 6.2. It can easily be shown that the result can be extended to a system (2.1) with multiple delays like x (k − li ) with i = 1, 2, · · · , and it can be used instead of x (k − l) in the reduced-order RHONN observer (5.30) and/or for time-varying delays x (k − li (k)) with li (k) bounded by li (k) ≤ l. It can even be used for stochastic bounded delays.

6.1.1 Simulation results: reduced-order RHONN observer–controller For the following simulation results, the previously described reduced-order RHONN observer–controller scheme coded in MATLAB® /Simulink was used; the objective is the trajectory tracking of the desired velocity and flux magnitude of a LIM. The LIM model is not necessary for the design of the scheme; however, the model can be found in Appendix B for the reader’s reference. Description of Test 6.1: The control objective is trajectory tracking of a sinusoidal reference signal. This test starts without time delays, and at time 5 s a switch in Simulink activates the block “Variable Transport Delay” to add delays to position and velocity, and another switch at 10 s activates the delays for α and β current signals. Once delays have been activated, each “Variable Transport Delay” block has its own random number generator block so at each instant of time all of them have a different time delay (see Fig. 6.2).

Figure 6.2: Scheme that activates random delays.

Figs. 6.3 to 6.9 show the results of Test 6.1. The results of trajectory tracking for velocity and flux magnitude are shown in Figs. 6.4 and 6.9. Also, it is important to remark that estimation for α flux and β flux is achieved based on the errors and estimation of the other state variables. Flux magnitude is defined as φ(k) = xˆ32 + xˆ42 .

Identifier-controller scheme for discrete nonlinear systems with time delay 105

Figure 6.3: Test 6.1: Comparison of estimated position by the reduced-order RHONN observer–controller scheme.

Figure 6.4: Test 6.1: Comparison of estimated velocity by the reduced-order RHONN observer–controller scheme.

106 Chapter 6

Figure 6.5: Test 6.1: Comparison of estimated α flux by the reduced-order RHONN observer–controller scheme.

Figure 6.6: Test 6.1: Comparison of estimated β flux by the reduced-order RHONN observer–controller scheme.

Identifier-controller scheme for discrete nonlinear systems with time delay 107

Figure 6.7: Test 6.1: Comparison of estimated α current by the reduced-order RHONN observer–controller scheme.

Figure 6.8: Test 6.1: Comparison of estimated β current by the reduced-order RHONN observer–controller scheme.

108 Chapter 6

Figure 6.9: Test 6.1: Comparison of estimated flux magnitude by the reduced-order RHONN observer–controller scheme.

Figure 6.10: Test 6.1: u1 control signal.

Figs. 6.10 and 6.11 show the control signals for Test 6.1. The identification errors for Test 6.1 are shown in Table 6.1.

Identifier-controller scheme for discrete nonlinear systems with time delay 109

Figure 6.11: Test 6.1: u2 control signal. Table 6.1: Estimation errors of real-time Test 6.2. Root mean squared error Position

2.4314 · 10−04 m

Velocity α flux β flux

7.9304 · 10−04 m/s 0.3998 A 0.4494 A

6.1.2 Real-time results: reduced RHONN observer–controller Test 6.2 is based on the scheme presented in Fig. 6.1. For this test a modified version of observer (5.28) is used, with state variables x3 and x4 as the nonaccessible states, and as controller a discrete sliding mode control as described in Section 4.1.1 of Chapter 4 is used. Also, the test is performed using the LIM prototype presented in Appendix B. Description of Test 6.2: The control objective is the velocity tracking of a sinusoidal reference signal. The model includes blocks to add delays as described in Fig. 6.2. The sample time is set to 0.0006 s. Test 6.2 starts with all the “Variable Transport Delay” blocks deactivated for the state variables position, velocity, and α and β currents. Results of Test 6.2 are shown in Figs. 6.12 to 6.20. These graphs show the comparison between the real measured signal and the estimated signals. Signals u1 to u2 are also included. In addition, Table 6.2 shows information of estimation errors.

110 Chapter 6

Figure 6.12: Comparison of position signals of real-time Test 6.2.

Figure 6.13: Comparison of velocity signals of real-time Test 6.2.

It is clear that trajectory tracking of real-time Test 6.2 is less precise than the one observed in simulation Test 6.1; however, there are several factors to consider, such as the longer sampling time due to equipment limitations and noise from the sensors, especially velocity, which is obtained by deriving the position. Moreover, it was a real-time test.

Identifier-controller scheme for discrete nonlinear systems with time delay 111

Figure 6.14: Alpha flux signal comparison of real-time Test 6.2.

Figure 6.15: Beta flux signal comparison of real-time Test 6.2.

112 Chapter 6

Figure 6.16: Comparison of α current signal of real-time Test 6.2.

Figure 6.17: Comparison of β current signal of real-time Test 6.2.

Identifier-controller scheme for discrete nonlinear systems with time delay 113

Figure 6.18: Flux magnitude of real-time Test 6.2.

Figure 6.19: Signal u1 for real-time Test 6.2.

114 Chapter 6

Figure 6.20: Signal u2 for real-time Test 6.2. Table 6.2: Estimation errors of real-time Test 6.2. Root mean squared error Position

0.0018 m

Velocity

0.0040 m/s

α flux

5.1566 A

β flux

6.3849 A

CHAPTER 7

Conclusions Contents 7.1 Conclusions 115 Chapter points •

Conclusions

7.1 Conclusions Time delay in systems is a recurrent issue in engineering applications. This book presents four schemes for uncertain nonlinear discrete systems with unknown delays. These schemes are based on RHONNs. These four schemes are: • • • •

RHONN identifier scheme for uncertain nonlinear discrete systems with unknown delays, presented in Chapter 3. RHONN identifier–controller scheme for uncertain nonlinear discrete systems with unknown delays, presented in Chapter 4. RHONN observer scheme for uncertain nonlinear discrete systems with unknown delays, presented in Chapter 5. RHONN observer–controller scheme for uncertain nonlinear discrete systems with unknown delays, presented in Chapter 6.

Applicability and performance of the proposed schemes are shown in simulation tests and real-time tests presenting different scenarios of time delay. Also, stability analyses based on the Lyapunov approach are included to prove the four schemes are SGUUB. Real-time tests are conducted using a LIM and an all-terrain tank robot prototype. The used LIM prototype for the tests is based on a LabVolt 8228 LIM and a dSPACE RTI 1104; more information about this prototype can be found in Appendix B. The used all-terrain tank robot prototype is based on a modified HD2 Treaded ATR Tank Robot Platform and wireless communication; more information about this prototype can be found in Appendix C. Is important to remark that the mathematical models of both the LIM and the all-terrain tank robot are included in the Appendices of this book only as references since their mathematical models are not needed in the design process of either the RHONN identifier or the RHONN observer. Neural Networks Modeling and Control https://doi.org/10.1016/B978-0-12-817078-6.00015-5 Copyright © 2020 Elsevier Inc. All rights reserved.

115

116 Chapter 7 The results show that proposed schemes are capable of system identification giving as result a model for the system under consideration. The proposed observers are also capable of estimating nonmeasurable state variables. The identified models can be used to design a control law. It is important to highlight reasons behind the better performance of simulation tests compared with real-time tests. In a simulation tests problems found in real-time tests are not taken into account; among this problems are modification of the value of the parameters in real time due to the heating of the equipment, noise from the sensors, imperfections in the equipment, saturation of the signals of the actuators, and dynamics not modeled, and even so, proposed algorithms achieve the desired objectives. The RHONN identifier and the RHONN observer, in general, both offer the same advantages. However, the number of calculations required by the identifier is lower, which facilitates its use with smaller sampling times. Nevertheless, the observer can estimate unknown states. Taking this into consideration the presented reduced-order observer scheme can be used which uses the design of the identifier for known states and the design of the observer for the unknown ones. To conclude, the advantages of the presented work are listed. For both the neural identifier and the neuronal observer, the following points have been demonstrated in this book: • • • • • • •

In the design, no previous information of the system is necessary. The mathematical model of the system is considered as unknown. Information about the delay as an estimate or knowledge of its bounds is not necessary. Information about disturbances such as measurements, estimation, or bounds is not necessary. Once the training process has begun, the mathematical structure of the RHONN represents a close approximation to the one of the identified system. The model obtained can be used for the design of a control law. Real-time applicability. Designed for discrete time.

APPENDIX A

Artificial neural networks Contents A.1 Biological neural networks 117 A.1.1 Biological neuron 118 A.1.2 Biological synapse 118 A.1.3 Types of neurons 119

A.2 Artificial neural networks 120 A.3 Activation functions 121 A.4 Classification of neural networks 121 A.4.1 Single-layer neural networks 122 A.4.2 Multilayer neural networks 122 A.4.3 Recurrent neural networks 122

A.5 Neural network training 123 Chapter points •

Biological neural networks



Artificial neural networks



Artificial neural network training

Artificial neural networks (ANNs), or simply known as neural networks, are simplified mathematical models of biological neural networks. They are usually implemented using electronic components or simulated with software, and their objective is to simulate the behavior of a biological neural network, especially the behavior of the human brain, which can be seen as a highly complex parallel computer more efficient than any currently existing computer [29]. Moreover, neural networks are highly interconnected nonlinear systems that have important properties that make them very useful tools to solve complex problems in engineering [35].

A.1 Biological neural networks Current knowledge of structure and composition of neurons is mainly due to Santiago Ramón y Cajal, who proved that the nervous system is composed of a network of individual cells called neurons [11,22]. Neurons are connected forming groups of specialized active neurons 117

118 Appendix A that learn tasks from the stimuli they obtain from their environment operating in a parallel scheme [11,22,29].

A.1.1 Biological neuron The term neuron was introduced by Waldeyer in 1891. However, Deiters in 1865 was the first to observe global morphology of these cells [38].

Figure A.1: Biological neuron.

A biological neuron (Fig. A.1) is a composite cell and its main components are [11,29]: •





Dendrites Dendrites are the receptor element. They receive information from other cells or from outside; they are nerve fibers that carry electrical signals to the body of the cell; during growth the number of dendrites increases, then the specialization predominates. Soma The soma is the cell body. It combines the input signals and generates a single output. The soma includes the nucleus, and the soma is where most energy is produced. Unlike other cells, neurons do not divide. Axon The axon is the output channel. It is a long fiber that carries the signal from the body of the cell to other cells; the size of the axon varies according to its place (for example, in the brain axons are short and in the legs they are long).

A.1.2 Biological synapse The term synapse was introduced by Sherrington at the end of the 19th century, to denote the zone of connection between the dendrite of one neuron and the axon of another neuron. This term is also used to name the contact zone between a neuron and a skeletal muscle fiber [49].

Artificial neural networks

119

Figure A.2: Biological synapse.

An action potential arriving along the axon causes the neuron to transmit this output to other cells; in this manner signals can be transmitted to other neurons [11,49]. The biological synapse (Fig. A.2) can be divided into two types [10]: 1. Chemical synapse This synapse is slow because the presynaptic or emitting neuron has to release a chemical, called neurotransmitter, which is released by the axon and received as a signal by the dendrites of the postsynaptic or receptor neuron. 2. Electric synapse This synapse is faster, making it suitable for fast and stereotyped behaviors.

A.1.3 Types of neurons There are different types of neurons, and according to their function they can be classified as [11,65]: •





Sensory neurons These are sensitive to several nonneural impulses. There are sensory neurons in skin, muscles, joints, and internal organs to register, e.g., pressure, temperature, and pain. Motor neurons These are able to stimulate muscle cells throughout the body, including the muscles of the heart, diaphragm, intestines, bladder, and glands. Interneurons These provide connections between sensory neurons, motor neurons, and other interneurons.

120 Appendix A

A.2 Artificial neural networks An artificial neural network (ANN) is an adaptive machine that is made from the interconnection of artificial neurons which act as simple processors. This network, through a learning process, acquires knowledge from the environment, and such knowledge is stored in the synaptic weights of the network [29]. Among the main characteristics of ANNs are [29,63]: • • • • • •

Nonlinearity. Input–output transformation. Adaptability. Fault tolerance. Uniformity in analysis and design. Analogy with biological networks.

A.2.0.1 Artificial neuron

Figure A.3: Artificial neuron.

An artificial neuron or simply neuron (Fig. A.3) is the processing unit from which neural networks are formed. An artificial neuron is composed mainly of the following elements [29,63]: 1. Synapses Also known as connecting links, these are found at the receptor elements (dendrites) of the artificial neuron. The synapses are parametrized by the synaptic weights, where the first subscript indicates the receptor neuron and the second the emitting neuron. If the value of ωnj > 0, the connection is exciting, otherwise the connection is inhibitory. 2. Summation junction This carries out the summation of the components xj ωnj .

Artificial neural networks

121

3. Activation function. This is a function that defines the neuron output; it receives as an argument the result of the summation junction. 4. Bias. This displaces the entry.

A.3 Activation functions Activation functions define the output of the neuron in a range of values. There are different types of activation functions of which the basic ones are [63]: •

Step or threshold function, i.e.,  ϕ (v) =



1 if v ≥ 0, 0 if v < 0.

Piecewise linear function, i.e., ⎧ ⎨ 1 if v ≥ 1, ϕ (v) = v if 0 < v < 1, ⎩ 0 if v ≤ 0.



Sigmoid function – logistic function, i.e., ϕ (v) =



1 . 1 + e−av

Sigmoid function – hyperbolic tangent, i.e., ϕ (v) = tanh (v) .

A.4 Classification of neural networks Neural networks are formed from joining two or more neurons. There are several ways to make these unions, which are known as neural network architectures, and each one follows its own philosophy and presents different results. These architectures are classified as follows [21,22,29]: •

Static architecture These are also known as feedforward neural networks. This type of network can approximate any continuous function; to achieve this, they perform a static mapping. These networks present single-layer and multilayer architectures.

122 Appendix A •

Dynamic architecture These are also called recurrent or feedback neural networks. These networks achieve a dynamic mapping using feedback loops and the use of delays.

A.4.1 Single-layer neural networks Single-layer neural networks represent the simplest case of an organization of a neural network; the input layer connects directly to the output neuron layer. They are called single-layer because they only have one layer of computational nodes (Fig. A.4). Examples of this type of neural network are the perceptron and adaline [29].

Figure A.4: Single-layer neural network.

A.4.2 Multilayer neural networks Multilayer neural networks are distinguished by having one or more hidden layers of neurons (Fig. A.5); the hidden nodes are called hidden neurons or hidden units. If all the layer nodes in the network are connected to all the other nodes in the next layer, it is said that the network is fully connected; otherwise, the network is said to be partially connected [29].

A.4.3 Recurrent neural networks Recurrent neural networks are distinguished from the single-layer and multilayer in that they possess at least one loop of feedback (Fig. A.6). The presence of a recurrent structure has a profound impact on the learning and representation capacity of the neural network. The use of such feedback loops involves the use of delay units (denoted as z−1 ) for the discrete case and integration units (denoted as 1/s) for the continuous case [1,63].

Artificial neural networks

123

Figure A.5: Multilayer neural network.

Figure A.6: Multilayer neural network.

Recurrent neural networks have a large number of architectures that allow them to be used for a series of applications that are not possible to solve with static networks [1,63].

A.5 Neural network training To learn, a neural network needs an adaptation process which uses a learning algorithm. In this learning process, the weights of the network are adjusted so that the network responds in the desired way to the provided inputs [27,29,63]. This learning process can be conducted in two ways [27,29,63]: •

Offline In offline training, the examples are presented to the neural network by updating the weights at each step until it reaches a stable state. Once the training ends the weights will remain fixed. In this type of training the network learns.

124 Appendix A •

Online In online training, the learning process will only end when the application of the neural network stops. The weights in this type of learning are varying to adapt to the problem.

A learning process, besides being online or offline, follows on the following paradigms [29, 63]: •





Supervised In supervised learning a teacher provides the network with the desired responses to the given inputs; then, the network adjusts its weights to emulate the teacher. In this way, the knowledge of the teacher is transferred to the network through training, and it is stored in the synaptic weights. Unsupervised In unsupervised learning, there is no teacher. The neural network can form representations of the characteristics of the inputs; consequently, it creates new classes automatically. In this learning, an independent measure of tasks is defined to measure the quality of representation that the learning system learns. The parameters are adjusted to optimize this measurement. Reinforcement In reinforcement learning, a cost function is defined as the accumulated cost of the actions taken in a sequence of weights instead of immediate cost. The system works under a positive or negative reinforcement given by a critical observer to generate a reinforcing heuristic signal.

Most common algorithms to train both static and dynamic neural networks are those based on backpropagation methods [27,29].

APPENDIX B

Linear induction motor prototype Contents B.1 Linear induction motor 125 B.1.1 How a LIM works 125 B.1.2 Model of a LIM 126 B.1.3 Flux observer 127

B.2 Linear induction motor prototype 128 B.2.1 Electric drive by induction motor 128 B.2.2 LIM prototype 129

Chapter points •

Linear induction motor



Linear induction motor prototype

B.1 Linear induction motor Linear induction motors (LIMs) belong to the class of electrical machines that convert electrical energy into translational movement. LIMs have gained a reputation in the industry, automation, and transportation thanks to features such as high starting thrust force, reduced mechanical losses, and lane configuration [8,25]. A LIM consists of a stationary rail and a mobile vehicle. The configuration of a LIM can be seen as the result of cutting and unfolding a rotary induction motor (Fig. B.1), where the stator becomes the primary sector and the rotor becomes the secondary sector [8]. A LIM can be short primary or short secondary; in both cases, one of the two can be the moving part [8,25, 66].

B.1.1 How a LIM works The working process of a LIM can be described in the following steps. First, when the primary sector is excited by the three-phase connection a linear flux is induced and travels through the surface of the primary. Then, an electric current is induced in the secondary 125

126 Appendix B

Figure B.1: Rotary induction motor to a linear induction motor.

caused by the relative motion between the flux and the secondary. Then, the induced currents interact with the flow wave, producing a linear force or a push. Finally, if the secondary is fixed and the primary is free to move, the primary will move in the direction of force [25]. The operating principles of a LIM are similar to those of a rotary induction motor. However, the control of a LIM and its characteristics are more complex; also, its parameters vary with time due to changes in operation [25,39].

B.1.2 Model of a LIM The model of a LIM (B.1) is a discrete representation of an α–β model [6,30]. It is important to remark that it is only presented as a reference since this model is not necessary for the RHONN identifier and observers presented in this book. We have qm (k + 1) = qm (k) + v(k)T, v(k + 1) = (1 − k2 T )v(k) − k1 T λrα (k)ρ1 isα (k) − k1 T λrβ (k)ρ2 isα (k) +k1 T λrα (k)ρ2 isβ (k) − k1 T λrβ (k)ρ1isβ (k) − k3 T FL , λrα (k + 1) = (1 − k6 T )λrα (k) + k4 T v(k)ρ1 isα (k) − k4 T ρ1 isα (k) +k5 T ρ2 isα (k) + k4 T ρ2 isβ (k) − k4 T v(k)ρ2 isβ (k) +k5 T ρ1 isβ (k), λrβ (k + 1) = (1 − k6 T )λrβ (k) + k4 T v(k)ρ2 isα (k) − k4 T ρ2 isα (k) −k5 T ρ1 isα (k) − k4 T ρ1 isβ (k) + k4 T v(k)ρ1 isβ (k) +k5 T ρ2 isβ (k), isα (k + 1) = (1 + k9 T )isα (k) − k7 T λrα (k)ρ2 − k8 T λrα (k)v(k)ρ1 +k7 T λrβ (k)ρ1 − k8 T λrβ (k)v(k)ρ2 + k10 T uα (k), isβ (k + 1) = (1 + k9 T )isβ (k) + k8 T λrα (k)v(k)ρ2 − k7 T λrα (k)ρ1 −k7 T λrβ (k)ρ2 − k8 T λrβ (k)v(k)ρ1 − k10 T uβ (k),

(B.1)

Linear induction motor prototype 127 with ρ1 = sin(np qm (k)),

ρ2 = cos(np qm (k)),

np Lsr Dm Lr ,

k2 =

Rm Dm ,

k4 = np Lsr ,

k5 =

Rr Lsr Lr ,

k7 =

Lsr Rr , Lr (L2sr −Ls Lr )

k8 =

Lsr np , L2sr −Ls Lr

k9 =

L2r Rs +L2sr Rr , Lr (L2sr −Ls Lr )

k10 =

Lr , L2sr −Ls Lr

k1 =

k3 =

1 Dm ,

k6 =

Rr Lr ,

where qm (m) is the position of the secondary, v (m/s) is its velocity, λrα and λrβ (Wb) are α flux and β flux, respectively, isα and isβ (A) are α current and β current, respectively, usα and usβ (V) are α and β voltages of the primary, Rs () is winding resistance per phase, Rr () is secondary resistance per phase, Lsr (H) is magnetizing inductance per phase, Ls (H) is primary inductance per phase, Lr (H) is secondary inductance per phase, FL (N) is disturbance of the load, Rm (kg/s) is viscous friction and the coefficient of iron loss, Dm (kg) is mass of the secondary, np is the number of pairs of poles, and T (s) is the sampling period [6].

B.1.3 Flux observer In the LIM prototype, presented in Section B.2, it is not possible to measure the fluxes; in order to estimate them, an option is the reduced-order observer presented in [12,31,60]. Such an observer uses the dynamics of fluxes of the model (B.1). A description of this observer is presented next. The dynamics of fluxes are described as (k + 1) = (k) − k6 T (k) − k4 T T J Is (k)

(B.2)

+k4 T  J Is (k)v(k) + k4 T  Is (k), T

with

T

   0 −1 cos(np qm ) − sin(np qm ) , J= , (k) = sin(np qm ) cos(np qm ) 1 0     Isα (k) ψrα (k) , I (k) = . (k) = ψrβ (k) Isβ (k) 

The proposed observer in [12,31,60] is ˜ + 1) = (k) ˜ ˜ (k − k6 T (k) − k4 T T J Is (k) +k4 T  J Is (k)v(k) + k4 T  Is (k), T

T

(B.3)

128 Appendix B and the following error is defined as  (k), e(k) = (k) − 

(B.4)

with e(k + 1) = (k) − k6 T (k) − k4 T T J Is (k) + k4 T T J Is (k)v(k)  (k) + k6 T   (k) + k4 T T J Is (k) +k4 T T Is (k) −  −k4 T T J Is (k)v(k) − k4 T T Is (k) = e(k) − k6 T e(k) = (I − k6 T )e(k).

(B.5)

To test stability of e(k), the following Lyapunov function is proposed [12,31,60]: V (k) = eT (k)e(k),

(B.6)

with

V

= V (k + 1) − V (k) = eT (k + 1)e(k + 1) − eT (k)e(k) = (1 − k6 T )2 eT (k)e(k) − eT (k)e(k) = [((1 − k6 T )2 ) − 1]eT (k)e(k).

(B.7)

As the term (1 − k6 T )2 < 1, we have V < 0, so e(k) tends asymptotically to 0.

B.2 Linear induction motor prototype B.2.1 Electric drive by induction motor An electric drive is a system used to convert electrical power, taken from a three-phase current network, into mechanical power using an electromechanical converter. The drive must allow varying the velocity [47,55]. A complete drive usually consists of the following elements [47,55]: • • • • •

Electric motor. Electromechanical power converter. Sensors for data acquisition. Computer equipment. Control of the converter.

Linear induction motor prototype 129 However, a number of possible variants for electric drives exist, depending on the type of motor or used power converter. The power converter takes the three-phase voltage with constant frequency and amplitude and must feed the motor with variable voltages and frequencies to ensure that operation is adjusted as needed [4,55].

B.2.2 LIM prototype

Figure B.2: (A) Computer. (B) dSPACE connector panel 1104. (C) Mobile part. (D) Rail. (E) Linear encoder. (F) IGBT module (or insulated-gate bipolar transistor). (G) Autotransformer. (H) Power supply.

This section presents the LIM prototype used in the tests of this book. The picture of the prototype is shown in Fig. B.2. This prototype is based on a LIM LabVolt1 model 8228 (Fig. B.2C and D) and a dSPACE2 controller board DS1104 R&D. The controller board is connected to the computer (Fig. B.2A) via a PCI port, and all inputs to the board and its output pass through the connector panel dSPACE DS1104 (Fig. B.2B). The procedure to start the prototype is as follows: 1. The scheme is programmed in a MATLAB® /Simulink model. 2. Then the model is compiled directly in Simulink using modules provided by dSPACE. This step generates the necessary files to be loaded to the dSPACE DS1104. 3. Using the dSPACE ControlDesk software the files generated in the previous step are loaded. Also, this program allows to monitor and save all generated signals during the test. Moreover, this software controls the start and stop processes of the prototype. This prototype is capable of having measurements of position, velocity, and α and β currents; α and β fluxes need to be estimated (see Section B.1.3).

1 LabVolt is a registered trademark of Festo Didactic Inc. 2 dSPACE is a registered trademark of dSPACE GmbH.

APPENDIX C

Differential tracked robot prototype Contents C.1 Tracked robot 131 C.1.1 Tracked robot model 132

C.2 Prototype 133 Chapter points •

Tracked robots



Tracked robot prototype

C.1 Tracked robot Tracked robots walk on continuous tracks instead of wheels, and their main advantage is that they can be used to navigate on rough terrains [26,70]. The thrust force developed by a wheeled vehicle will generally be less than the thrust force generated by a comparable tracked vehicle [70], which is the reason why they are used in a wide variety of applications where the terrain conditions are difficult or unpredictable, such as [26,62]: • • • • • •

Urban recognition. Silviculture. Mining. Farming. Rescue mission scenarios. Autonomous planetary explorations.

Also, traction robots offer the following advantages: • • •

They are versatile and can be used in different terrain conditions and climates. They generate little pressure in the field, which conserves the environment. Their design prevents the sinking or stagnation of equipment in soft ground.

131

132 Appendix C

Figure C.1: Schematic model of a traction robot, where x, y are the coordinates of P0 , θ is the direction angle of the robot.

C.1.1 Tracked robot model Kinematics of an electrically driven tracking robot are described by the following state space model [16,48]: x˙1 = J (x1 )x2 , x˙2 = M x˙3 =

(C.1)

−1

(−C(x˙1 )x2 − Dx2 − τd −1 La (u − Ra x3 − NKE x2 ),

+ NKT x3 ),

where each subsystem is defined as x1 = [x11 , x12 , x13 ] = [x, y, θ ] , x2 = [x21 , x22 ] = [v1 , v2 ] , 

(C.2)



x3 = [x31 , x32 ] = [ia1 , ia2 ] , u = [u1 , u2 ] , where x and y are the coordinates of P0 , θ is the direction angle of the robot (Fig. C.1), v1 and v2 are angular speeds, ia1 and ia2 are the currents of the robot, u1 and u2 are the input voltages, and x3 is the dynamics of the actuator.

Differential tracked robot prototype 133 Is important to remark that this model is only presented as a reference since this model is not necessary for the RHONN identifier and observers presented in this book. We have



⎤ cos(x13 ) cos(x13 ) J (x1 ) = 0.5r ⎣ sin(x13 ) sin(x13 ) ⎦ , R −1 −R −1   x11 x12 , M= x12 x11

(C.3)

(C.4)



 n1 0 N= , 0 n2

(C.5)

 Kt 1 0 , KT = 0 Kt2

(C.6)



 0 , la2

(C.7)

 ra1 0 Ra = , 0 ra2

(C.8)



l La = a1 0 



Ke1 KE = 0

 0 , Ke2

(C.9)

where R is half the width of the tracked robot and r is the radius of the wheels that move the tracks; M is the positive and symmetric matrix of inertia defined by the physical parameters of the robot, KT is the motor torque constant, La is the inductance, KE is the coefficient of rear electromotive force, and Ra is the resistance of the actuator.

C.2 Prototype The tracked robot prototype is composed of computer equipment where the model with identifier, observer, and controller is programmed in MATLAB® /Simulink. A block is added to this model that includes the code to connect wirelessly to the physical robot. The tracked robot is a modified differential all-terrain tank robot model HD21 Treaded ATR Tank Robot Platform (Fig. C.2). Among the modifications, a router is mounted to enable the wireless connection.

134 Appendix C

Figure C.2: HD2 Treaded ATR Tank Robot Platform.

Figure C.3: Internal components of the modified HD2 Treaded ATR Tank Robot Platform.

Fig. C.2 shows the differential all-terrain tank robot. Fig. C.3 shows the interior of the modified HD2 Treaded ATR Tank Robot Platform. The modifications mainly consist of the replacement of the original board with a system based on Arduino2 and the addition of current and velocity sensors. It is important to mention that the information about the model and values of the parameters of this robot with its modifications are unknown, which makes this prototype ideal to test control models that do not need knowledge of the model of the system to be controlled.

1 HD2 is a registered trademark of SuperDroid Robots. 2 Arduinois a registered trademark of Arduino LLC.

Bibliography [1] A. Alanis, E. Sanchez, Discrete-Time Neural Observers: Analysis and Applications, Elsevier Science, 2017. [2] A.Y. Alanis, E.N. Sanchez, A.G. Loukianov, Real-time discrete recurrent high order neural observer for induction motors, in: IEEE International Joint Conference on Neural Networks, 2008, IJCNN 2008 (IEEE World Congress on Computational Intelligence), 2008, pp. 1012–1018. [3] K. Aström, R. Murray, Feedback Systems: An Introduction for Scientists and Engineers, Princeton University Press, 2010. [4] J. Azcárraga, Convertidores de frecuencia para motores de corriente alterna: funcionamiento y aplicaciones, McGraw-Hill, 1998. [5] J.E. Azzaro, R.A. Veiga, Sliding mode controller with neural network identification, IEEE Latin America Transactions 13 (12) (2015) 3754–3757. [6] V.H. Benitez, Neural Block Control: Application to the Linear Induction Motor, Master’s thesis, Centro de Investigación y Estudios Avanzados del IPN, Guadajalara, Mexico, 2002 (in Spanish). [7] V.H. Benitez, A.G. Loukianov, E.N. Sanchez, Neural identification and control of a linear induction motor using an alpha; - beta; model, in: Proceedings of the 2003 American Control Conference, 2003, vol. 5, 2003, pp. 4041–4046. [8] I. Boldea, Linear Electric Machines, Drives, and MAGLEVs Handbook, Taylor & Francis, 2013. [9] E. Boukas, Z. Liu, Deterministic and Stochastic Time-Delay Systems, Control Engineering, Birkhäuser, Boston, 2012. [10] D.P. Cardinali, Manual de neurofisiología, Díaz de Santos, 1991. [11] R. Carter, The Human Brain Book, DK Publishing, 2014. [12] B. Castillo-Toledo, S.D. Gennaro, A. Loukianov, J. Rivera, Discrete time sliding mode control with application to induction motors, Automatica 44 (12) (2008) 3036–3045. [13] P. Chang, J.W. Lee, Time delay observer: a robust observer for nonlinear plants using time-delayed signals, in: Proceedings of the 1995 American Control Conference, vol. 3, 1995, pp. 1638–1642. [14] P. Chang, S. Park, The enhanced time delay observer for nonlinear systems, in: Proceedings of the 37th IEEE Conference on Decision and Control, 1998, vol. 1, 1998, pp. 367–368. [15] C. Chui, G. Chen, Kalman Filtering: with Real-Time Applications, Springer International Publishing, 2017. [16] T. Das, I.N. Kar, Design and implementation of an adaptive fuzzy logic-based controller for wheeled mobile robots, IEEE Transactions on Control Systems Technology 14 (3) (2006) 501–510. [17] J. de Jesús Rubio, W. Yu, Discrete-time sliding-mode control based on neural networks, in: ISNN’06, Springer-Verlag, Berlin, Heidelberg, 2006, pp. 956–961. [18] P. Diniz, E. da Silva, S. Netto, Digital Signal Processing: System Analysis and Design, Cambridge University Press, 2010. [19] G. Ellis, Observers in Control Systems: A Practical Guide, Elsevier Science, 2002. [20] J.A. Farrell, M.M. Polycarpou, Adaptive Approximation Based Control: Unifying Neural, Fuzzy and Traditional Adaptive Approximation Approaches, John Wiley and Sons, USA, 2006. [21] J. Feldman, R. Rojas, Neural Networks: A Systematic Introduction, Springer, Berlin Heidelberg, 2013. [22] R. Flóres, J.M. Fernández, Las Redes Neuronales Artificiales, Metodología y Análisis de Datos en Ciencias Sociales, Lightning Source Incorporated, 2008.

135

Bibliography [23] L. Fu, P. Li, The research survey of system identification method, in: 2013 5th International Conference on Intelligent Human-Machine Systems and Cybernetics, IHMSC, vol. 2, 2013, pp. 397–401. [24] Y. Gao, P. Shi, H. Li, S.K. Nguang, Output tracking control for fuzzy delta operator systems with timevarying delays, Journal of the Franklin Institute 352 (7) (2015) 2951–2970. [25] J. Gieras, Linear Induction Drives, Oxford University Press on Demand, 1994. [26] R. González, F. Rodríguez, J.L. Guzmán, Autonomous Tracked Robots in Planar Off-Road Conditions: Modelling, Localization, and Motion Control, Springer International Publishing, 2014. [27] M. Hagan, H. Demuth, M. Beale, O. De Jesús, Neural Network Design, 2nd edition, Martin Hagan, 2014. [28] S. Haykin, Kalman Filtering and Neural Networks, Wiley, 2004. [29] S. Haykin, Neural Networks and Learning Machines, Pearson Education, 2011. [30] M. Hernandez-Gonzalez, E. Sanchez, A. Loukianov, Discrete-time neural network control for a linear induction motor, in: IEEE International Symposium on Intelligent Control, 2008, ISIC 2008, 2008, pp. 1314–1319. [31] M. Hernández-Gonzáles, Control Neuronal Discreto del Motor de Inducción de Desplazamiento Lineal, Master’s thesis, Centro de Investigación y de Estudios Avanzados del IPN Unidad, Guadalajara, México, 2008. [32] C.L. Hwang, L.J. Chang, Fuzzy neural-based control for nonlinear time-varying delay systems, IEEE Transactions on Systems, Man and Cybernetics. Part B. Cybernetics 37 (6) (2007) 1471–1485. [33] S. Jagannathan, F.L. Lewis, Identification of nonlinear dynamical systems using multilayered neural networks, IEEE Transactions on Industry Applications 32 (12) (1996) 1707–1712. [34] N.A. Kablar, V. Kvrgi´c, D.L. Debeljkovi´c, Robust control of singular systems with time delay. Part I: continuous time case, in: 2013 European Control Conference, ECC, 2013, pp. 690–695. [35] E.B. Kosmatopoulos, M.M. Polycarpou, M.A. Christodoulou, P.A. Ioannou, High-order neural networks structures for identification of dynamical systems, Neural Networks 6 (2) (1995) 422–431. [36] M. Krstic, N. Bekiaris-Liberis, Control of nonlinear delay systems: a tutorial, in: 2012 IEEE 51st Annual Conference on Decision and Control, CDC, 2012, pp. 5200–5214. [37] J. Kurose, K. Ross, Computer Networking: A Top-Down Approach, Pearson Education, Limited, 2010. [38] M.A. Lafarga, Biología celular de la neurona y de la sinapsis, Lecciones Universidad de Cantabria, Servicio de Publicaciones de la Universidad de Cantabria, 1994. [39] E.R. Laithwaite, Linear induction motors, Proceedings of the IEE - Part A: Power Engineering 104 (18) (1957) 461–470. [40] F.L. Lewis, S. Jagannathan, A. Yesilirek, Neural Networks Control of Robot Manipulators and Nonlinear Systems, Taylor and Francis, London, 1999. [41] J. Li, Z. Chen, D. Cai, W. Zhen, Q. Huang, Delay-dependent stability control for power system with multiple time-delays, IEEE Transactions on Power Systems 31 (3) (2016) 2316–2326. [42] T.C. Lin, H.C. Huang, Uncertain nonlinear time-delay system adaptive fuzzy PI sliding tracking control, in: 2014 CACS International Automatic Control Conference, CACS, 2014, pp. 17–22. [43] A.G. Loukianov, J. Rivera, J.M. Cañedo, Discrete-time sliding mode control of an induction motor, in: 15th IFAC World Congress, IFAC Proceedings Volumes 35 (1) (2002) 19–24. [44] G. Lu, D. Ho, Robust H ∞ ; observer for nonlinear discrete systems with time delay and parameter uncertainties, IEEE Proceedings - Control Theory and Applications 151 (4) (2004) 439–444. [45] M. Mahmoud, Robust Control and Filtering for Time-Delay Systems, Automation and Control Engineering, Taylor & Francis, 2000. [46] M. Mahmoud, Switched Time-Delay Systems: Stability and Control, Springer, 2010. [47] N. Mohan, T. Undeland, W. Robbins, Electrónica de potencia: convertidores, aplicaciones y diseño, McGrawHill, 2009. [48] S.A.A. Moosavian, A. Kalantari, Experimental slip estimation for exact kinematics modeling and control of a tracked mobile robot, in: 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2008, pp. 95–100.

136

Bibliography [49] J.E. Muñoz-Martínez, X. García, Fisiología I. Células, órganos y sistemas, Ediciones Cientificas Universitarias. Fondo de Cultura Economica, 1998. [50] J. Na, G. Herrmann, X. Ren, P. Barber, Nonlinear observer design for discrete MIMO systems with unknown time delay, in: Proceedings of the 48th IEEE Conference on Decision and Control, 2009 Held Jointly with the 2009 28th Chinese Control Conference, CDC/CCC 2009, 2009, pp. 6137–6142. [51] M. Norgaard, Neural Networks for Modelling and Control of Dynamic Systems: A Practitioner’s Handbook, Springer Verlag, USA, 2000. [52] K. Ogata, Discrete-Time Control Systems, Prentice Hall International Editions. Prentice-Hall International, 1995. [53] X. Qihua, G. Shuai, Design of the robust fault-tolerant controller for uncertain linear system with time-delay, in: 2012 Second International Conference on Intelligent System Design and Engineering Application, ISDEA, 2012, pp. 1228–1231. [54] T. Raff, F. Allgower, An EKF-based observer for nonlinear time-delay systems, in: American Control Conference, 2006, 2006, 4 pp. [55] D. Rios-Huerta, Diseño e implementación de prototipo experimental para motores de inducción trifásico, Master’s thesis, Universidad de Guadalajara, Centro Universitario de Ciencias Exactas e Ingenierías, México, 2017. [56] G. Rovithakis, M. Christodoulou, Adaptive Control with Recurrent High-Order Neural Networks: Theory and Industrial Applications, Advances in Industrial Control, Springer, London, 2012. [57] W. Ruliang, J. Huiying, Observer-based adaptive neural network robust control of nonlinear time-delay systems with unmodeled dynamics, in: 2010 International Conference on Computational Intelligence and Security, CIS, 2010, pp. 506–510. [58] S. Salivahanan, A. Vallavaraj, Digital Signal Processing, McGraw-Hill Education (India) Pvt Limited, 2001. [59] E. Sanchez, F. Ornelas-Tellez, Discrete-Time Inverse Optimal Control for Nonlinear Systems, EBLSchweitzer, CRC Press, 2016. [60] E.N. Sanchez, A.Y. Alanis, A.G. Loukianov, Discrete-Time High Order Neural Control: Trained with Kalman Filtering, Springer, Germany, 2008. [61] A. Serna, F. Ros, J. Rico, Guía Práctica de Sensores, Creaciones Copyright, S.L, 2010. [62] R. Siegwart, I. Nourbakhsh, D. Scaramuzza, Introduction to Autonomous Mobile Robots, MIT Press, 2011. [63] E.N. Sánchez, A.Y. Alanis, Redes neuronales: conceptos fundamentales y aplicaciones a control automático, Automática y Robótica, Pearson Educación, 2006. [64] Y. Song, J. Grizzle, The extended Kalman filter as a local asymptotic observer for nonlinear discrete-time systems, in: American Control Conference, 1992, 1992, pp. 3365–3369. [65] P. Stein, D. Stuart, S. Grillner, A. Selverston, Neurons, Networks, and Motor Behavior, A Bradford Book, MIT Press, 1999. [66] H. Toliyat, G. Kliman, Handbook of Electric Motors, Electrical and Computer Engineering, CRC Press, 2004. [67] V. Utkin, J. Guldner, J. Shi, Sliding Mode Control in Electro-Mechanical Systems, second edition, Automation and Control Engineering, CRC Press, 2009. [68] R. Wang, S. Fei, Output tracking for nonlinear discrete-time systems via fuzzy control approach, Journal of the Franklin Institute 352 (10) (2015) 4147–4162. [69] Y. Wen, X. Ren, Robust adaptive control based on neural state observer for nonlinear time-delay systems, in: IEEE International Conference on Control and Automation, 2009, ICCA 2009, 2009, pp. 1178–1183. [70] J.Y. Wong, W. Huang, “Wheels vs. tracks” – a fundamental evaluation from the traction perspective, Journal of Terramechanics 43 (1) (2006) 27–42. [71] H. Xu, S. Jagannathan, Neural network based finite horizon stochastic optimal controller design for nonlinear networked control systems, in: The 2013 International Joint Conference on Neural Networks, IJCNN, 2013, pp. 1–7. [72] Z. Xu, X. Li, Control design based on state observer for nonlinear delay systems, in: Control and Decision Conference, CCDC, 2010 Chinese, 2010, pp. 1946–1950.

137

Bibliography [73] S. Yi, Time-Delay Systems: Analysis and Control Using the Lambert W Function, World Scientific, 2010. [74] W. Yu, X. Li, Nonlinear system identification using discrete-time recurrent neural networks with stable learning algorithms, Information Sciences 158 (2004) 131–147. [75] M. Zhang, Artificial Higher Order Neural Networks for Economics and Business, IGI Global Research Collection, Information Science Reference, 2008. [76] Y. Zhang, V. Sircoulomb, N. Langlois, Observer design for discrete-time systems subject to long time-delay, in: Control and Decision Conference, CCDC, 2012 24th Chinese, 2012, pp. 2949–2954. [77] Q. Zhong, Robust Control of Time-Delay Systems, Springer, 2006. [78] Y. Zhou, Z. Wang, A robust optimal trajectory tracking control for systems with an input delay, Journal of the Franklin Institute 353 (12) (2016) 2627–2649.

138

Index A Activation function, 25 Actuators, 9, 10, 17, 65, 116 Adaptation law, 2, 19 Adaptive control in continuous time, 5 Adjustable weights, 20, 74, 96 Artificial neural networks (ANN), 2, 11

schemes, 6 signals, 10, 59, 63, 65, 108 trajectory tracking, 6, 35 Control Lyapunov function (CLF), 56 Controllability, 44 Controller, 6, 9, 10, 19, 58, 69, 95, 98, 109 Controlling purposes, 3

B

D

Block, 37, 43, 44, 49, 52, 77, 89, 104 control, 35, 43 controllable form, 36, 58

C Candidate Lyapunov function, 23, 38 Chaotic oscillator, 24, 77, 87 Chirp signals, 80, 81, 91 Communication delay, 10 Constant delays, 24 Continuous time, 2, 4, 6 Control, 3, 4, 12, 38, 56 action, 3, 10 block, 35, 43 design, 9 design process, 10, 19 input, 56, 73, 80, 88 law, 2, 3, 7, 37, 38, 57–59, 95, 116 objective, 44, 48, 52, 58, 59, 104, 109

Delay, 1, 4–6, 9–11, 17, 20, 25, 29, 44, 49, 56, 72, 77, 79–81, 89, 104, 116 estimations, 88 in systems, 10 time, 1, 43 Delayed signal, 80 Delayed states, 5 Delta operator systems, 6 Differential robot, 57, 60, 63 Discrete nonlinear dynamic systems, 12 Discrete systems, 6, 95, 115 Disturbances, 6, 11, 36, 72, 81, 86, 116 Dynamics, 17, 20, 74, 87, 116

E EKF algorithm, 86, 87 EKF training, 95, 96 Equivalent control, 39, 99 Errors, 26, 65, 78, 104 Extended Kalman filter (EKF), 4

139

F Fluxes, 43, 44, 49, 52 Fuzzy observer, 6

G Grouped delays, 11

H Hierarchical identification, 18 Hydraulic systems, 10

I Identification, 4, 12, 17, 18, 52, 65, 88 errors, 15, 20, 38, 44, 69, 96, 108 errors information, 49, 52 errors RMSE, 30 neural, 2, 19 process, 69 RMSEs, 63, 65 state, 95 Identifier, 4, 19, 20, 25, 26, 29, 57, 58, 87, 116 control scheme, 55 neural, 3, 5, 24, 30, 43, 44, 55, 72, 116 RHONN, 7, 24, 25, 35, 38, 55, 57, 58, 69, 86, 96, 97, 115, 116 Induction motor, 43, 44, 48, 52, 55, 80 Induction motor prototype, 43 Induction prototype, 88

Index Information, 1, 2, 5, 9, 10, 44, 63, 65, 71, 79, 109, 115, 116 Inverse optimal control, 3, 55–59 Inverse optimal control for trajectory tracking, 55 Inverse optimal control law, 56 Inverse optimal controller, 58

K Kalman filter, 4, 14, 15, 19, 87 Knowledge, 2–6, 79, 80, 88, 116

L Linear models, 18 systems trajectory tracking, 6 velocity, 43 Linear induction motor (LIM), 80 model, 104 prototype, 80, 81, 109, 115 prototype model, 81 Lyapunov candidate, 39, 74, 98, 99 Lyapunov control function, 56

M Mathematical model, 2, 4–7, 18, 72, 80, 86, 115, 116 operations, 86 representation, 2, 3 structure, 7, 71, 116 MATLAB® , 24, 77, 104 Model, 2–7, 12, 17–19, 29, 43, 44, 55, 58, 69, 72, 86, 87, 95, 96, 104, 109, 116 mathematical, 2, 4–7, 18, 72, 80, 86, 115, 116 neural, 74 nonlinear, 19 nonlinear systems, 11

Multiple delays, 6, 23, 42, 77, 104

Optimal control, 3 Optimal robust control, 5

N

P

Network systems, 10 Neural block control, 3 identification, 2, 19 identification process, 19 identification techniques, 3 identifier, 3, 5, 24, 30, 43, 44, 55, 72, 116 model, 74 network, 2–6, 11, 13–16, 18–20 network model, 2, 11, 19 observer, 2, 3, 5, 71, 72, 74, 76 observer for systems, 5 observer in continuous time, 5 state observers, 2 Neuronal observer, 116 Noisy signals, 52 Nonaccessible state variables, 3, 86–88 Nonaccessible states, 109 Nonavailable state variables, 97 Nonlinear discrete system, 11, 20 function, 11, 15, 72, 86 model, 19 systems, 4, 5, 18, 86 systems control, 3 systems controlling, 3 Nonmeasurable state variables, 86, 95, 102 Nonmodeled dynamics, 7, 69

Parallel configuration, 72, 73 Parallel model, 12, 14, 15 Position, 43, 44, 49, 52, 58, 80, 81, 89, 104, 110 Position state variables, 109 Power systems, 6 Problem statement, 3 Prototype, 80, 115 Pseudocontrol entry, 37

R Random number generator block, 49, 52, 104 Recurrent neural networks, 11, 12 Response, 1, 2, 10, 19 RHONN, 4, 11, 12, 29, 72, 86, 96, 103, 115 identifier, 7, 24, 25, 35, 38, 55, 57, 58, 69, 86, 96, 97, 115, 116 identifier scheme, 115 in parallel configuration, 97 observer, 73, 77–81, 86, 90, 97, 115, 116 observer scheme, 115 trained online, 4 Robot, 29, 30, 55, 58, 115 Robot platform, 115 Robot prototype, 115 Robustness against noise, 2, 4 Root mean squared error (RMSE), 26

O

S

Observer, 2–6, 24–26, 71, 78–80, 90, 109, 116 Observer neural, 2, 3, 5, 71, 72, 74, 76 Observer RHONN, 73, 77–81, 86, 90, 97, 115, 116

Sampling time, 24, 26, 30, 43, 77, 80, 89 Saturation, 17, 65, 72, 116 Scheme, 35, 43, 55, 72, 86, 88, 95, 97, 104, 115, 116 Sensors, 2–4, 10, 110, 116

140

Index SGUUB, 20, 23, 38, 42, 69, 74, 76, 96, 103, 104, 115 Signal, 6, 30, 44, 80, 89–91 Simulation results, 5–7, 24, 26, 29, 77, 87, 104 Simulation tests, 77, 110, 115, 116 Simulink, 24, 30, 44, 48, 77, 88, 104 Simulink block, 43, 80, 89 Sliding mode control, 109 mode control methodology, 37 mode controller, 5 modes, 3, 35, 43 modes control, 5 surface, 37–39 Stability analyses, 7, 115 Stabilization feedback control, 3 State, 3–5, 13–15, 24, 37, 56, 71–73, 77, 80, 87, 97 estimation, 4, 97 identification, 95 observer, 4, 6, 12, 71, 72, 97

observer design, 3 observer for nonlinear systems, 4 variables, 1–4, 10, 14, 15, 26, 30, 44, 71–73, 78, 80, 81, 86, 87, 96, 97, 100, 104, 116 position, 109 vector, 11, 13, 36, 56, 72, 86 Systems, 1, 3–6, 9–11, 18, 19, 23, 42, 69, 77, 115 Systems nonlinear, 4, 5, 18, 86

error, 38 for velocity, 104 Transmit information, 10 Transport delay, 80 Transport delay variable, 43, 44, 49, 52, 89, 104, 109 Transporting information, 1

T

Variable delays, 10 time delays, 43 transport delay, 43, 44, 49, 52, 89, 104, 109 Variants delays, 44, 48 Velocity, 44, 49, 52, 58, 80, 81, 89, 104, 109, 110 Velocity linear, 43 Velocity tracking, 44, 109

Tank differential robot, 57, 58 Tank robot, 29, 58 Tests, 24, 43, 115, 116 Train neural networks, 14 Train RHONNs, 14 Trained online, 43, 58 Trained online RHONN, 4 Trajectory control for nonlinear discrete systems, 6 Trajectory tracking, 36, 44, 48, 52, 65, 104, 110 control, 6, 35

141

U Unmodeled dynamics, 2, 5, 6, 72

V

W Weight vector, 13, 14, 20, 73, 96