control of systems with constraints.pdf

194
Control of Systems with Constraints Ph.D. Thesis by Martin Bak Department of Automation Technical University of Denmark November 2000

Upload: maroju-santosh-kiran

Post on 20-Dec-2015

8 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Control of systems with constraints.pdf

Control of Systemswith Constraints

Ph.D. Thesis

by Martin Bak

Department of AutomationTechnical University of Denmark

November 2000

Page 2: Control of systems with constraints.pdf

Department of AutomationTechnical University of DenmarkBuilding 326DK-2800 Kongens LyngbyDenmarkPhone: +45 45 25 35 48

First editionCopyright c Department of Automation, 2000

The document was typeset using LATEX, drawings were made in Xfig, graphs weregenerated in MATLAB , a registered trademark of The MathWorks Inc.

Printed in Denmark at DTU, Kongens LyngbyReport no. 00-A-898ISBN 87-87950-85-5

Page 3: Control of systems with constraints.pdf

Preface

This thesis is submitted as a partial fulfillment for the degree of Doctor of Philoso-phy (Ph.D.) in the subject area of electrical engineering. The work was carried outfrom September 1997 to November 2000 at the Department of Automation, Techni-cal University of Denmark. Supervisors on the project was Associate Professor OleRavn, Department of Automation, and Associate Professor Niels Kjølstad Poulsen,Department of Mathematical Modelling.

Several people have contributed to make the project and the writing of this thesismuch more pleasant than I expected it to be. I am thankful to my supervisors fortheir guidance and constructive criticism during the study, and to Claude Samsonand Pascal Morin who made my stay in 1998 at INRIA in Sophia Antipolis, Francepossible. A special thanks goes to my colleague and office-mate Henrik SkovsgaardNielsen for many comments and valuable discussions throughout the three years.Thanks also to Thomas Bak for proofreading an early and more challenging versionof the manuscript and for contributing to improve the standard of the thesis.

Kongens Lyngby, November 2000Martin Bak

Page 4: Control of systems with constraints.pdf
Page 5: Control of systems with constraints.pdf

Abstract

This thesis deals with the problem of designing controllers to systems with con-straints. All control systems have constraints and these should be handled appro-priately since unintended consequences are overshoots, long settling times, andeven instability. Focus is put on level and rate saturation in actuators but aspectsconcerning constraints in autonomous robot control systems are also treated. Thecomplexity of robotic systems where several subsystems are integrated put specialdemands on the controller design.

The thesis has a number of contributions. In the light of a critical comparison ofexisting methods to constrained controller design (anti-windup, predictive control,nonlinear methods), a time-varying gain scheduling controller is developed. It iscomputational cheap and shows a good constrained closed-loop performance.

Subsequently, the architecture of a robot control system is discussed. Importanceis attached to how and where to integrate the handling of constraints with respectto trajectory generation and execution. This leads to the layout of a closed-loopsensor-based trajectory control system.

Finally, a study of a mobile robot is given. Among other things, a receding horizonapproach to path following is investigated. The predictive property of the controllermakes the robot capable of following sharp turns while scaling the velocities. As aresult, the vehicle may follow an arbitrary path while actuator saturation is avoided.

Page 6: Control of systems with constraints.pdf
Page 7: Control of systems with constraints.pdf

Resume

Denne afhandling omhandler design af regulatorer til systemer med begrænsninger.Alle reguleringssystemer har begrænsninger og disse bør handteres pa passendevis, da utilsigtede virkninger kan være oversving, lange indsvingningsforløb ogustabilitet. Der fokuseres specielt pa niveau- og hastighedsbegrænsninger i ak-tuatorer, men ligeledes beskrives problemstillinger omkring behandling af be-græninger i autonome robotstyresystemer, hvor kompleksiteten og integrationenaf flere undersystemer sætter specielle krav til reguleringsdelen.

Afhandlingen bidrager med flere ting. Med udgangspunkt i en kritisk sammen-ligning af eksisterende metoder til begrænsede reguleringssystemer (anti-windup,prædiktiv regulering, og ulineære metoder), udvikles en tidsvarierende regula-tor, der beregningsmæssigt er billig og som udviser gode lukket-sløjfeegenskaber.Metoden bygger pa en skalering af forstærkningen.

Efterfølgende diskuteres behandlingen af begrænsninger i robotstyresystemer, hvorvægten er lagt pa arkitekturen og implementeringen af lukket-sløjfe instrument-baseret kurvegenerering og -eksekvering.

Afhandlingen afsluttes af et studie af forskellige aspekter af et styresystem til enmobil robot. Der udvikles bl.a. en prædiktiv regulator, der gør robotten i standtil at forudse rutemæssigt skarpe knæk og pa passende vis skalere hastigheden,mens svinget foretages. Dette sikrer, at aktuatormætning undgas samtidig med atkøretøjet forbliver pa den planlagte rute.

Page 8: Control of systems with constraints.pdf
Page 9: Control of systems with constraints.pdf

Contents

Preface iii

Abstract v

Resume vii

List of Figures xvii

List of Tables xx

Nomenclature xxi

1 Introduction 1

1.1 Motivation and Background . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Constraints in Control Systems . . . . . . . . . . . . . . . 2

1.2 Research in Constrained Control Systems . . . . . . . . . . . . . 7

1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.4 Objectives and Organization of the Thesis . . . . . . . . . . . . . 9

Page 10: Control of systems with constraints.pdf

x Contents

2 Controller Design for Constrained Systems 11

2.1 Control Design Strategies . . . . . . . . . . . . . . . . . . . . . . 11

2.2 Anti-windup and Bumpless Transfer . . . . . . . . . . . . . . . . 12

2.2.1 Ad hoc methods . . . . . . . . . . . . . . . . . . . . . . 16

2.2.2 Classical Anti-Windup . . . . . . . . . . . . . . . . . . . 17

2.2.3 Observer-based Anti-Windup . . . . . . . . . . . . . . . 20

2.2.4 Conditioning Technique . . . . . . . . . . . . . . . . . . 24

2.2.5 Generic Frameworks . . . . . . . . . . . . . . . . . . . . 27

2.2.6 Bumpless Transfer . . . . . . . . . . . . . . . . . . . . . 30

2.2.7 Comparison of Methods . . . . . . . . . . . . . . . . . . 35

2.3 Predictive Controller Design . . . . . . . . . . . . . . . . . . . . 36

2.3.1 Overview of Criteria Selection . . . . . . . . . . . . . . . 38

2.3.2 Process Models . . . . . . . . . . . . . . . . . . . . . . . 40

2.3.3 Predictions . . . . . . . . . . . . . . . . . . . . . . . . . 42

2.3.4 Unconstrained Predictive Control . . . . . . . . . . . . . 43

2.3.5 Constrained Predictive Control . . . . . . . . . . . . . . . 45

2.3.6 Design of a Predictive Controller . . . . . . . . . . . . . . 50

2.4 Nonlinear and Time-Varying Methods . . . . . . . . . . . . . . . 50

2.4.1 Rescaling . . . . . . . . . . . . . . . . . . . . . . . . . . 51

2.4.2 Gain Scheduling . . . . . . . . . . . . . . . . . . . . . . 55

2.4.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 63

2.5 Comparison of Constrained Control Strategies . . . . . . . . . . . 63

2.6 Case Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

2.6.1 PI Control of Single Integrator . . . . . . . . . . . . . . . 66

2.6.2 Anti-Windup Control of Double Tank System with Saturation 67

2.6.3 Constrained Predictive Control of Double Tank with Mag-nitude and Rate Saturation . . . . . . . . . . . . . . . . . 78

2.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Page 11: Control of systems with constraints.pdf

Contents xi

3 Robot Controller Architecture 83

3.1 Elements of a Robot Control System . . . . . . . . . . . . . . . . 84

3.1.1 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . 87

3.2 Trajectory Generation and Execution . . . . . . . . . . . . . . . . 87

3.2.1 Design Considerations . . . . . . . . . . . . . . . . . . . 88

3.2.2 Specification of the Trajectory . . . . . . . . . . . . . . . 90

3.2.3 Existing Schemes for Trajectory Control . . . . . . . . . . 90

3.3 General Architecture . . . . . . . . . . . . . . . . . . . . . . . . 92

3.3.1 Considerations . . . . . . . . . . . . . . . . . . . . . . . 95

3.4 Architecture for Mobile Robot . . . . . . . . . . . . . . . . . . . 95

3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

4 Case Study: a Mobile Robot 99

4.1 The Mobile Robot . . . . . . . . . . . . . . . . . . . . . . . . . . 100

4.2 Localization with Calibration of Odometry . . . . . . . . . . . . . 102

4.2.1 Odometry and Systematic Errors . . . . . . . . . . . . . . 104

4.2.2 Determination of Scaling Error . . . . . . . . . . . . . . . 105

4.2.3 Determination of Systematic Odometry Errors . . . . . . 107

4.2.4 Conceptual Justification of Approach . . . . . . . . . . . 108

4.2.5 Experimental Results . . . . . . . . . . . . . . . . . . . . 114

4.2.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 116

4.3 Receding Horizon Approach to Path Following . . . . . . . . . . 117

4.3.1 Path Following Problem Formulation . . . . . . . . . . . 118

4.3.2 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . 119

4.3.3 Linear Controller with Velocity Scaling . . . . . . . . . . 121

4.3.4 Nonlinear Receding Horizon Approach . . . . . . . . . . 124

4.3.5 Linear Receding Horizon Approach . . . . . . . . . . . . 127

4.3.6 Conceptual Justification of Approach . . . . . . . . . . . 132

Page 12: Control of systems with constraints.pdf

xii Contents

4.3.7 Experimental Results . . . . . . . . . . . . . . . . . . . . 135

4.3.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 138

4.4 Posture Stabilization with Noise on Measurements . . . . . . . . 139

4.4.1 Periodically Updated Open-loop Controls . . . . . . . . . 139

4.4.2 Noise Sensitivity . . . . . . . . . . . . . . . . . . . . . . 142

4.4.3 Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

4.4.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 148

4.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

5 Conclusions 149

A Linearized System for Estimating Systematic Errors 153

B Closed-loop Solution to Chained System 155

Bibliography 157

Page 13: Control of systems with constraints.pdf

List of Figures

1.1 Input and output response to a reference step change for a PI con-trolled unstable system with actuator saturation (left) and withoutsaturation (right). . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 General control system with various constraints, limitations, anddisturbances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Typical saturation characteristic. . . . . . . . . . . . . . . . . . . 4

2.1 Common system notation for AWBT schemes. The unconstrainedcontroller output is denoted u while the (possibly) constrained pro-cess input is denoted u. The controller may be 1 or 2 DoF. . . . . 14

2.2 A PID Controller structure with classical anti-windup. . . . . . . . 18

2.3 PI controller with simple AWBT compensation. . . . . . . . . . . 19

2.4 Traditional combination of an observer and a state feedback. Inpresence of saturation, an inconsistency exists between the ob-server and system states. . . . . . . . . . . . . . . . . . . . . . . 21

2.5 1 DoF state space controller with observer-based AWBT compen-sation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.6 Hanus’ conditioning technique. C(s) represents the controller trans-fer function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Page 14: Control of systems with constraints.pdf

xiv List of Figures

2.7 The framework of Edwards and Postlethwaite. . . . . . . . . . . . 29

2.8 Bumpless transfer using a controller tracking loop. . . . . . . . . 33

2.9 Bi-directional bumpless transfer. The active control loop is indi-cated with bold lines. Subscripts A and L denote active and latentcontroller, respectively, and superscript T indicates tracking con-troller. At the point of transfer, the four switches (dashed lines) areactivated. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.10 Model and criterion based control for a possibly time-varying system. 37

2.11 Dynamic rescaling. . . . . . . . . . . . . . . . . . . . . . . . . . 51

2.12 Time response for the saturation scaling factor �. . . . . . . . . . 56

2.13 Root locus for a fourth order integrator chain with closed-looppoles as a function of � for nonlinear (left) and linear (right) scal-ing. ’�’ and ’Æ’ indicate nominal (� = 1) and open-loop poles(�!1), respectively. . . . . . . . . . . . . . . . . . . . . . . . 58

2.14 The choice of _�. . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

2.15 Sketch illustrating the scaling factor when input is magnitude sat-urated. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

2.16 Time response with saturation and gain scheduling (solid) using� = 1 and N = 10. For comparison the unconstrained linearresponse is shown (dashed). The uncompensated constrained re-sponse is unstable. . . . . . . . . . . . . . . . . . . . . . . . . . 62

2.17 Time response for N = 10, � = 0:2 (solid), � = 1 (dashed), and� = 3 (dash-dotted). . . . . . . . . . . . . . . . . . . . . . . . . 62

2.18 Time response for � = 1, N = 4 (solid), N = 10 (dashed), andN = 100 (dash-dotted). . . . . . . . . . . . . . . . . . . . . . . . 62

2.19 Time response for � = 1,N = 10, and x1(0) = 1 (solid), x1(0) =50 (dashed), and x1(0) = 100 (dash-dotted). . . . . . . . . . . . . 63

2.20 Double tank system. . . . . . . . . . . . . . . . . . . . . . . . . . 68

2.21 Time response for the unconstrained system (solid) and the con-strained system without anti-windup (dashed). . . . . . . . . . . . 70

2.22 The marginal stable response for the constrained system with asaturation-wise stable controller. . . . . . . . . . . . . . . . . . . 70

Page 15: Control of systems with constraints.pdf

List of Figures xv

2.23 Time response for the constrained system for different choices ofthe anti-windup gain matrix. The unconstrained response (dashed),the constrained response (solid), and the input (dotted) are shownfor anti-windup gains (a) Ma, (b) Mk, (c) Mh, and (d) Ms. . . . . 71

2.24 Eigenvalues of FM = F �M(�)H using the conditioning tech-nique with cautiousness and � varying from � = 0 (’o’) to �!1(’�’). Eigenvalues for other designs are also shown: Ma (’�’), Mk

(’�’), and Ms (’+’). . . . . . . . . . . . . . . . . . . . . . . . . . 73

2.25 Time response for the unconstrained system with a pole placementcontroller (solid) and with a PID controller (dashed). . . . . . . . 76

2.26 Time response for the constrained system with pole placement con-troller for different choices of the anti-windup gain matrix. Theunconstrained response (dashed), the constrained response (solid),and the input (dotted) are shown for anti-windup gains (a) Mk, (b)Ms, (c) Mc, and (d) no AWBT. . . . . . . . . . . . . . . . . . . . 77

2.27 Time response for constrained predictive controller (solid) andAWBT compensated pole placement controller (dashed), both withmagnitude and rate saturation in the actuator. . . . . . . . . . . . 80

2.28 Time response for output constrained predictive controller (solid)exposed to reference changes (dashed). The output is constrainedsuch that no overshoots exists. . . . . . . . . . . . . . . . . . . . 81

3.1 General robotic control system. . . . . . . . . . . . . . . . . . . . 85

3.2 The path velocity controller (PVC). The feedback from the con-troller to the PVC module modifies the reference update rate uponsaturating actuators. . . . . . . . . . . . . . . . . . . . . . . . . . 91

3.3 Traditional off-line trajectory generation and non-sensorbased ex-ecution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

3.4 Overview of general generation/execution scheme for sensor- andevent-based trajectory control. . . . . . . . . . . . . . . . . . . . 93

3.5 General overview of sensor- and event-based trajectory control onmobile robots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

4.1 The mobile robot. . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Page 16: Control of systems with constraints.pdf

xvi List of Figures

4.2 One realization of the scaling correction factor estimation. Initially,a 2% relative estimation error exists. After the experiment, the erroris 0:004%. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

4.3 Scaling correction factor estimation with 100 Monte Carlo estima-tions using a Simulink model and an up to a 2 percent initial erroron the physical parameters of the odometry model. (a) The top plotshows the average distance estimation error while the bottom plotshows the average relative scaling estimation error Sa(k). (b) Ini-tial (cross) and final (square) relative scaling estimation errors forthe 100 simulations. In average the scaling correction factor is im-proved by a factor of 54. . . . . . . . . . . . . . . . . . . . . . . 111

4.4 Trajectory for mobile robot for calibrating systematic errors. Theforward velocity is kept under 0:2 m/s and the total time to com-plete the course in both directions is about 50 seconds. An absolutemeasurement is provided every one second. . . . . . . . . . . . . 112

4.5 One realization of systematic odometry factors estimation. Themeasurements are noiseless. The relative odometry correction esti-mation errors �r(k) and �b(k) are shown. . . . . . . . . . . . . . . 113

4.6 Odometry correction factors estimation with 100 Monte Carlo es-timations using a Simulink model and an up to a 2 percent initialerror on the physical parameters of the odometry model. The plotshows the average relative scaling estimation error Sr(k) and Sb(k). 114

4.7 Calibration with three different initializations. Note different time-scales for top and bottom plot. . . . . . . . . . . . . . . . . . . . 115

4.8 Floor plan for an illustrative building. . . . . . . . . . . . . . . . 117

4.9 The path following problem with a path consisting of two straightintersected lines. . . . . . . . . . . . . . . . . . . . . . . . . . . 119

4.10 The velocity constraints. . . . . . . . . . . . . . . . . . . . . . . 121

4.11 Definition of path following problem for nonlinear approach. . . . 125

4.12 Straight path following with (solid) and without (dashed) nonlinearscheduling for an initial distance error of 1m. . . . . . . . . . . . 129

4.13 Straight path with velocity constraints and scaling. . . . . . . . . 133

4.14 Path following for different initial positions. . . . . . . . . . . . . 134

Page 17: Control of systems with constraints.pdf

List of Figures xvii

4.15 Scaled velocities. Top plot: forward (solid) and angular (dashed)velocity. Bottom plot: wheel velocities vl (solid) and vr (dashed).Constraints are shown with dotted lines. . . . . . . . . . . . . . . 134

4.16 Path following for different turns. . . . . . . . . . . . . . . . . . 135

4.17 Different values of Æ and �. Small (solid), medium (dashed), andlarge (dash-dotted) values. . . . . . . . . . . . . . . . . . . . . . 136

4.18 Results from a path following experiment with the test vehicle.Reference path (dotted), measured path (solid). . . . . . . . . . . 137

4.19 The actual measured velocities (solid) compared to the desired ve-locity references (dashed). . . . . . . . . . . . . . . . . . . . . . 137

4.20 Posture stabilization with exponential robust controller. . . . . . . 141

4.21 Noisy y2-measurements (�), x1 (dashed), x2 (dotted), and x3 (solid).142

4.22 (a) Convergence of the estimation error for time-varying �’s (solid)and constant �’s (dashed). (b) Steady-state for time-varying �’s(solid), constant �’s (dashed), and measurement noise (dotted). . . 147

Page 18: Control of systems with constraints.pdf
Page 19: Control of systems with constraints.pdf

List of Tables

2.1 Stop integration at saturation depending on saturation violation andtracking error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2 Resulting R compensators for different AWBT schemes. . . . . . 30

2.3 Comparison of AWBT schemes. . . . . . . . . . . . . . . . . . . 36

2.4 Process models obtained from the general linear structure. . . . . 41

2.5 Properties of discussed constrained control strategies. . . . . . . . 65

2.6 Normed errors between constrained and unconstrained responseexposed to reference step, impulse disturbance, and load disturbance. 72

2.7 Normed errors between constrained and unconstrained response toreference steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

2.8 Normed errors between constrained and unconstrained response toimpulse disturbances on x2. . . . . . . . . . . . . . . . . . . . . . 75

2.9 Normed errors between constrained and unconstrained responsewith pole placement controller exposed to reference step, impulsedisturbance, and load disturbance. . . . . . . . . . . . . . . . . . 78

3.3 Motion control tasks in mobile robotics. . . . . . . . . . . . . . . 96

4.1 Condition numbers for the observability matrix for different trajec-tories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Page 20: Control of systems with constraints.pdf

xx List of Tables

4.2 Comparison of two different calibrations. . . . . . . . . . . . . . 116

4.3 Quantification of noisy y2 measurements’ influence on systemstates. �(n) =

R10xn�1

e�xdx. . . . . . . . . . . . . . . . . . . . 144

Page 21: Control of systems with constraints.pdf

Nomenclature

This following lists contain the most important symbols, abbreviations, and termi-nology used in the text.

Symbols

t Continuous time

k Discrete time

q�1 Backward shift operator or delay operator: q�1f(k) = f(k � 1)

T Sampling period or sampling time

tk Sampling instant: tk = k � Tu Controller output

u Process input, possibly constrained

y Process output

x Process state vector

� Differencing operator: � = 1� q�1deg(�) Degree of polynomial

dim(�) Dimension of matrix (rows � columns)

diag(v) Diagonal matrix with diagonal elements equal to the elements of v

Page 22: Control of systems with constraints.pdf

xxii Nomenclature

(v)i ith element of the vector v

(�)T Transpose of matrix

(�) Estimated variable (Note u is the constrained process input)

(~�) Estimation error variable

Ef�g Expectation operator

@(�) Partial derivative operator

Rn Real space of dimension n

Z Set of integers: : : : ;�2;�1; 0; 1; 2; : : :F(m;R) Probability distribution, mean value m and covariance R

N(m;R) Gaussian distribution, mean value m and covariance R

!n; !d; � Undamped and damped natural frequency and the damping ratio

1m(x) A vector [x; x; : : : ; x]T of length m

IQ A block diagonal matrix with m instances of the matrix Q in thediagonal: IQ = diag(1m(Q))

kvk2 Euclidean or L2 normp(v)21 + (v)22 + : : :+ (v)2n

Abbreviations

AGV Autonomous Guided Vehicle

ARIMAX Auto-Regressive Integrated Moving-Average eXogenous

ARMAX Auto-Regressive Moving-Average eXogenous

ARX Auto-Regressive eXogenous

AW Anti-Windup

AWBT Anti-Windup & Bumpless Transfer

BT Bumpless Transfer

CPC Constrained Predictive Control

DC Direct Current

DoF Degree-of-Freedom

EKF Extended Kalman Filter

GCT Generalized Conditioning Technique

GMV Generalized Minimum Variance

Page 23: Control of systems with constraints.pdf

Nomenclature xxiii

GPC Generalized Predictive Control

GPS Global Positioning System

LQG Linear Quadratic Gaussian

LTR Loop Transfer Recovery

MIMO Multi-Input Multi-Output

MPC Model Predictive Control

MV Minimum Variance

PD Proportional-Derivative

PI Proportional-Integral

PID Proportional-Integral-Derivative

PVC Path Velocity Controller

QP Quadratic Programming

RHC Receding Horizon Control

RLS Recursive Least Squares

RST Controller structure: R(q�1)u(k) = T (q�1)r(k)� S(q�1)y(k)SCPC Suboptimal Constrained Predictive Control

SISO Single-Input Single-Output

UPC Unified Predictive Control

Terminology

In terms of time responses for dynamic systems the following cases are considered:

Unconstrained No constraints exist in the system — this is the ideal situa-tion, the nominal controller is used

Constraineduncompensated

The constraints (actuator, states, output) are now presentbut the nominal uncompensated controller as in the uncon-strained case is still used. The design and implementationof the controller have not considered the constraints

Constrainedcompensated

The constraints are present and some sort of compensationfor the constraints are present in the controller

Page 24: Control of systems with constraints.pdf
Page 25: Control of systems with constraints.pdf

Chapter 1

Introduction

1.1 Motivation and Background

Constraints are present in all control systems and can have damaging effects on thesystem performance unless accounted for in the controller design process. Mostoften constraints are identified as actuator magnitude and rate saturations, or out-put and state variable constraints. This thesis considers the above-mentioned con-straints but also enlarges the perception to include issues such as nonholonomicconstraints and limited/constrained sensor packages and readings.

In some cases constraints are handled in a static way by over-designing the systemcomponents such that during normal operation saturation or other limitations areunlikely to be activated. This, however, is from a practical point of view highlyinefficient and will unnecessarily increase the cost of the overall system and is nota recommendable approach. For example, by choosing a larger more powerful ac-tuator than needed saturation is avoided. However, if at some point the productionspeed or the load disturbances are increased, constraints may again be of concernand the over-design has failed. Moreover, applications where the production speedis limited by the controller performance (e.g. a welding robot) will look for timeoptimal solutions and hence exploration of the full range of the system’s actuators.

Page 26: Control of systems with constraints.pdf

2 Chapter 1 / Introduction

Therefore, controllers fitted to operate securely in the presence of constraints arehighly relevant.

Actuator saturation is among the most common and significant nonlinearity in acontrol system. In the literature a number of examples are given where neglectingthe saturation has led to crucial difficulties and endangered the overall stability ofthe system. One application area is flight control of high agility aircrafts. Dornheim(1992) and Murray (1999) refer to an YF-22 aircraft crash in April 1992. The in-cident was blamed on pilot-induced oscillations partly caused by rate saturation ofcontrol surfaces inducing time-delay effects in the control loop. A similar exampleis a Gripen JAS 39 aircraft crash in August 1993 (Murray, 1999). Again saturationsplayed a critical role.

Actuator saturation has also been blamed as one of several unfortunate mishapsleading to the 1986 Chernobyl nuclear power plant disaster where unit 4 melteddown with dreadful consequences (Stein, 1989; Kothare, 1997). It has been re-ported that rate limitations aggravated an already hazardous situation (Stein, 1989).When the nuclear process started accelerating during a test demonstration, the au-tomatic regulating system began pushing the control rods into the core in order toslow down the process. But the speed of the control rod movement was limited(and mainly entered the core from the top of the core concentrating the reactivityin the bottom) and the system was unable to catch the runaway reaction. The restis dreadful history.

As an example of the instability problems caused by actuator saturation considerFigure 1.1 where the step response for a first-order open-loop unstable PI con-trolled system is shown with and without actuator constraints. An increase in theperformance of the actuator could save the system just as a larger reference changeonce again could jeopardize the stability of the system. The point is, that a controldesign without consideration of the constraints acting on the system is prone toproduce a poor performance or even cause instability.

1.1.1 Constraints in Control Systems

Traditionally, when speaking of constrained control systems, one refers to actua-tor, state or output constraints. In this thesis, this conceptual understanding of con-straints is further extended to include limitations and constraints in sensor pack-ages, model-knowledge, mobility, etc. Figure 1.2 shows a fairly general controlsystems and indicates where some conflicts may arise.

Page 27: Control of systems with constraints.pdf

1.1 / Motivation and Background 3

0 50

1

2O

utpu

t

0 5−4

0

4

Inpu

t

Time (secs)

(a) Constrained

0 50

1

2

Out

put

0 5−4

0

4

Inpu

t

Time (secs)

(b) Unconstrained

Figure 1.1. Input and output response to a reference step change for a PI controlled unstablesystem with actuator saturation (left) and without saturation (right).

model errorssafety limits

work space constraintsdisturbances

magnitude and rate limitscontroller selection criteria

Actuator Plant

Sensors

miscalibrationnoise

time delays

outputreference

Data

processingmeasurement

Controller(s)

Figure 1.2. General control system with various constraints, limitations, and disturbances.

Page 28: Control of systems with constraints.pdf

4 Chapter 1 / Introduction

In the following, some of the issues in the figure are discussed in details.

Actuators

Control systems rely on actuators to manipulate the state or output of the controlledprocess such that performance requirements are met. In all physical systems actu-ators are subject to saturation as they can only deliver a certain amount of force(or equivalent). Most frequently confronted with are level or magnitude constraintswhere the actuator strictly can apply a value between an upper and a lower limit.Less frequently accounted for are rate constraints where the change in the actuatoroutput is limited.

Two examples of constrained actuators are a DC motor and a valve. For control ofrotary motion, a common actuator is the DC motor. Such a device is constrainedin input voltage and current which without load is equivalent to a velocity andacceleration. Another common device is the valve. Here the level limits are inher-ently given as fully closed or fully opened. The rate constraints are governed bythe mechanism (e.g. a motor) driving the valve.

Figure 1.3 shows a typical saturation characteristic for an input level or magnitudesaturated actuator.

umax

umin

u u

Figure 1.3. Typical saturation characteristic.

Mathematically, the saturation function sat(u) is for u 2 R defined as

sat(u) =

8><>:umax u � umax

u umin < u < umax

umin u � umin

; (1.1)

and for u 2 Rn as

Page 29: Control of systems with constraints.pdf

1.1 / Motivation and Background 5

sat(u) =

0BBBBB@

sat(u1)

sat(u2)...

sat(un)

1CCCCCA : (1.2)

The values umin and umax are chosen to correspond to actual actuator limits eitherby measuring the actuator output or simply by estimation. Input rate saturations canin a similar way be modelled by applying the differencing operator � = 1 � q�1to the saturation function:

sat(�u) =

8><>:�umax �u � �umax

�u �umin < �u < �umax

�umin �u � �umin

; (1.3)

where �umax and �umin are the upper and lower limits of the rate constraintsrespectively.

Very few general theoretic results exist on stability for actuator constrained sys-tems, the following being a well-known exception:

For a linear systems subject to actuator saturations, a globallyasymptotically stabilizing feedback only exists if and only if the open-loop system itself is stable (Sussmann et al., 1994).

In other cases, restrictions on the initial conditions and outside coming disturbances(reference changes, noise) can ensure closed-loop stability for the system.

Constraints can be classified as either hard or soft. Hard constraints are charac-terized by no violation of the limits is permissible or feasible at any time duringoperation whereas soft constraints temporarily can be allowed to violate the speci-fied limits.

Sensor package

Calculations of controller outputs are based on sensors providing information aboutthe state of the process. Noisy, slow, unreliable (but often inexpensive) sensorslimit the performance and robustness of the control task. Meticulous filtering andpossibly fusion of data from more sources can improve the information but at times

Page 30: Control of systems with constraints.pdf

6 Chapter 1 / Introduction

the performance of a controller is constrained by the sensor system. For example, inmobile robotics positional information, which is vital to solving a variety of motiontasks, is difficult to obtain with one sensor alone and no combination of sensorshave so far proved to be sufficiently robust and versatile to generic applications.

Mobility/Steerability

The actual mechanical construction of a system is subject to cause constraints. Inrobotics the joints of a manipulator are likely to have limited flexibility. For a mo-bile robot, the wheel configuration may restrict the degrees of controlled freedomsto two: typically the robot can turn on the spot or move forward but it cannot di-rectly move side-wards. The vehicle is said to be underactuated or nonholonomic1.

State and Work space, safety

Some applications must take into account constraints in the state of the systemand in the working environment, that is state and output constraints. In robotics,manipulators and mobile robots, traveling from one point to another, frequentlyencounter obstacles which impose motion constraints.

Some constraints are self-imposed by the designer or user of the system. For safetyreasons it may be advantageous to limit states such as temperatures, pressures, ve-locities, turning rates, and voltages. Furthermore, in order to avoid unnecessarymechanical wear and tear, constraints can be imposed on movements causing sud-den jerks and yanks.

Model-knowledge and calibration

Many control strategies are model-based2 for which reason the successability islimited by the accuracy of the models. Error sources are inadequate calibration, in-accessible physical parameters, unmodelled dynamics or linearization of nonlineardynamics.

1The robot is restricted in the mobility, i.e. the robot can move in 3 dimensions (position andorientation) but can only directly control two (heading and angular speed).

2Model-based design implies that a mathematical dynamical model of the process is used in thedesign of a controller. An example of this is in predictive control where the process model predictsthe system’s behavior and enables the controller to select a control signal based on what the futurewill bring.

Page 31: Control of systems with constraints.pdf

1.2 / Research in Constrained Control Systems 7

1.2 Research in Constrained Control Systems

The term constrained control system usually refers to control systems with input,output or state constraints. The research within this field primarily focuses on other-wise linear plants. Two well-known techniques have received much attention:

� Anti-Windup and Bumpless Transfer (AWBT).

� Constrained Predictive Control (CPC).

An additional category is nonlinear stabilization of constrained linear systemswhich includes a variety of rescaling and gain scheduling approaches along with anumber of specific solutions to specific problems.

AWBT control is a popular choice due to its heuristic uncomplicated approach toactuator saturation. It is computational cheap and can be added to any existingunconstrained linear controller. However, the technique lacks optimality, stabilityproofs, and can only deal with input magnitude saturation.

An alternative to AWBT is predictive control which is the only systematic ap-proach to handling constraints. CPC can handle magnitude and rate constraintson the input, output, or state variables. The main disadvantage of the CPC is theinvolved on-line optimization which much be completed between two samplinginstances. The application of the optimal CPC is hence restricted to relatively slowsampled processes. For this reason CPC is a popular choice in the chemical pro-cess industry, although suboptimal algorithms have found applicability in fasterelectro-mechanical systems.

A growing interest in development of autonomous robotic systems has created ademand for intelligent handling of constraints. Often, constraints in robots (satu-ration, obstacles, etc.) appear when planning and executing a motion in space. Arobot has a high degree of interaction with a, in general, undeterministic dynami-cal work environment. This suggests to use a sensor-based closed-loop trajectoryplanning and control where the system can utilize sensor information as it becomeavailable to generate motion references in the presence of changing and uncertainevents.

A significant question is where to handle the constraints in robotic systems. Forexample, for a robot motion along a predefined path is common and in case ofa level actuator constraint, two different ways of handling it exist. The controllermay choose to follow the path while decreasing the velocity along the trajectory or

Page 32: Control of systems with constraints.pdf

8 Chapter 1 / Introduction

it may choose to keep the velocity but deviate from the nominal path. Either wayhas advantages but the selected behavior should be a design option. This suggeststo handle the constraints in the reference or trajectory generator instead of in thelow-level motion controllers. This way the system has direct control of how thesaturation compensation affects the resulting trajectory.

How to design and implement such a closed-loop event-based trajectory schemewhich can deal with both constraints and unexpected events is a difficult question.Challenges include development of algorithms and stability investigations of therequired feedback loops.

1.3 Contributions

The main contributions of this thesis are as follows:

� Anti-windup and bumpless transfer compensation is addressed. The diversityof suggested approaches are compared and the selection of the anti-windupparameter is discussed. It is argued that, for some systems, placing the polesof the anti-windup compensated constrained controller close to the slowestpoles of the unconstrained closed-loop system yields good performance toreference changes and load disturbances.

� A predictive controller using a state space approach is deducted. Modellingand handling of constraints within this framework is addressed.

� For a rescaling approach, the explicit formulation of the actuator boundsis difficult. It is shown how these bounds adaptively may be estimated andhence ease the application of the approach.

� A gain scheduling approach for handling level saturations on a chain of in-tegrators with state feedback is presented.

� The architecture of a robot control system is discussed with focus on variousconstraints with respect to how to handle the constraints and where in thehierarchical control system to do it.

� An case study on a mobile is described. The results are three-fold:

– The determination of systematic kinematic errors is addressed and anauto-calibration procedure using on-board filters and sensors is pre-sented.

Page 33: Control of systems with constraints.pdf

1.4 / Objectives and Organization of the Thesis 9

– It is shown how a receding horizon approach can be used to path controla mobile robot making it capable of anticipating sharp turns etc. Thevelocity constraints are handled with scaling which is computationalinexpensive.

– It is shown how algorithms for posture stabilization of a nonholono-mic constrained mobile robot are particularly sensitive to noisy mea-surements. A nonlinear time-varying filter is presented that reduces thenoise impact.

1.4 Objectives and Organization of the Thesis

The thesis aims to create an understanding of problem caused by constraints incontrol systems and to provide necessary insight and knowledge required to ana-lyze and design controllers that can handle the specified constraints in a sufficientlysatisfactory way. What the term satisfactory way covers depends on the constraintsand the control system. In some cases, the constrained closed-loop system is pos-sibly unstable and ensuring the stability is of greatest concern while in other cases,the constraints are not likely to cause stability problems and performance of systemduring active constraints is the issue. The emphasis throughout the thesis will beput on

� The design of constrained controllers. This includes add-on designs such asanti-windup compensation, embedded designs such as constrained predic-tive control, and nonlinear time-varying approaches such as rescaling andgain scheduling. The focus is on performance of the constrained closed-loopsystems.

� The architecture and building blocks of a robotic control system are pre-sented in the context of how and where to handle various constraints in thesystem.

� A case study of a mobile robot. The robot is nonholonomic constrainedwhich call for special attention regarding the control system. Issues suchas localization, posture stabilization, and path following are treated.

The thesis is organized with three main chapters concerning the above mentionedissues. Details are as follows:

Page 34: Control of systems with constraints.pdf

10 Chapter 1 / Introduction

Chapter 2. Controller Design for Constrained SystemsDifferent approaches to designing controllers for systems with constraintsare presented. This include methods such as anti-windup and bumpless trans-fer, constrained predictive control, and nonlinear approaches such as rescal-ing and gain scheduling. Focus are on level and rate saturated actuators. Acomparative study of anti-windup and predictive control on a cascaded dou-ble tank system is included.

Chapter 3. Robot Controller ArchitectureA robot control architecture is described with emphasis on the different lay-ers, the signal and information paths, and elements, i.e. controllers, sensors,trajectory generators, and higher level intelligence modules. The chapter in-vestigates a sensor-based closed-loop approach to trajectory control and de-tails are given on the relevant feedback loops for dealing with constraints.

Chapter 4. Case Study: a Mobile RobotAs an example of a complex constrained control system, a mobile robot con-trol system is described and examined. The chapter investigates problemsconcerning limited sensor packages, constrained path following control, andnoisy measurements used to posture stabilize a nonholonomic mobile robot.

Chapter 5. ConclusionsConclusions and future work recommendations are given.

Page 35: Control of systems with constraints.pdf

Chapter 2

Controller Design for ConstrainedSystems

2.1 Control Design Strategies

This chapter discusses general controller design in the presence of constraints. Arich theory exists for designing linear controllers (PI, PID, LQG, pole placement,robust) and nonlinear controllers (feedback linearization, sliding control, gainscheduling, backstepping) for linear, linearized or nonlinear systems. Nonetheless,these popular techniques have no direct potentiality of dealing with nonlinearitiesin terms of input, output or state constraints. Although constraints sometimes maybe neglected, in general, they induce undesired operational difficulties, e.g. loss ofstability, unless accounted for properly.

In studying constrained control systems, three fundamentally different controlstrategies exist:

1. Retro-fitted design to an existing linear controller that in the desired waycompensates for the constraints under consideration. This strategy includeanti-windup compensation.

Page 36: Control of systems with constraints.pdf

12 Chapter 2 / Controller Design for Constrained Systems

2. Predictive Control, which is a strategy capable of handling constraints in asystematic way as an embedded part of the controller.

3. Nonlinear Control, where specific nonlinear solutions solve or compensatethe constrained control problem, typically only for a class of otherwise linearsystems.

Predictive control and nonlinear control are included in the group of strategiesclassified as embedded constraints handling. This reflects that the design is notjust an extra compensation loop added to an original controller. However, it doesnot exclude the constrained controller from being a linear controller during normalunconstrained operation or to originate from a linear controller.

Constraints exist in all control systems with actuator saturation being by far themost common one. This explains why most approaches described in the literatureare concerned with actuator saturation.

2.2 Anti-windup and Bumpless Transfer

It has been recognized for many years that actuator saturations, which are present inmost control systems, can cause undesirable effects such as excessive overshoots,long settling times, and in some cases instability. These phenomena were initiallyobserved for systems controlled by conventional PID control but will be present inany dynamical controller with relatively slow or unstable states as pointed out inDoyle et al. (1987).

The problem arises when an actuator saturates and results in an mismatch betweenthe controller output and the system input. This means that the feedback loop isbroken: Changes in the controller output (outside the linear range of the actuator)does not effect the system; the loop gain is zero. The integrator in the PID con-troller, for example, is an unstable state, and saturations can cause the integratorto drift to undesirable values as the integrator will continue to integrate a trackingerror and produce even larger control signals. In other words, we have integra-tor windup which can lock the system in saturation. In process control, integratorwindup is often referred to as reset windup since integral control is called resetcontrol1. Control techniques designed to reduce the effects from integrator windupare known as anti-windup (AW).

1Historical note (Franklin et al., 1991): In control applications before integral control becamestandard, an operator would remove a potential steady-state output error by “resetting” the reference

Page 37: Control of systems with constraints.pdf

2.2 / Anti-windup and Bumpless Transfer 13

Another control problem is often exposed in parallel with windup, at least from atheoretical point of view. When substituting one controller with another in a con-trol system, there may, at the moment of transfer, exist a mismatch between theoutput of the two controllers causing bumps on the output of the system. This isequivalent to the case with a saturating actuator where we had the same mismatch.The problem of retaining a smooth control signal and system output when switch-ing controllers is known as bumpless transfer (BT). Controller substitution is, froma practical point of view, interesting for a number of reasons (Graebe and Ahlen,1996):

1. A linearized model of a plant is only valid in a neighborhood of an operat-ing point and to ensure a wider operating envelope, a number of controllersapplying to different operating points may have been designed and operationrequires transfer from one controller to another.

2. In industrial processes it is convenient to be able to switch between manualand automatic control for example during maintenance or startup.

3. During evaluation or tuning of a filter or controller it is convenient to be ableto switch between a new test controller and a well-known stable controller. Itis especially advantageous to have the reliable well-known stable controllerready to “catch” the plant if the test controller fails.

Most often the two areas are referred to as anti-windup and bumpless transfer(AWBT) all together and consider the problem when a nonlinearity operates onthe controller output, that be a saturation element, relay, dead-zone, hysteresis, ora controller substitution due to switching or logic. Figure 2.1 shows a commonsystem notation for AWBT schemes where u is the controller output and u is theactual system input. In short, the AWBT problem can be expressed as keeping thecontroller output u close to the system input u under all operational conditions.

As a contrast to predictive control, which is a control strategy capable of hand-ling actuator saturation as an embedded part of the controller (see section 2.3), anAWBT scheme is a modification to an already designed possibly nonlinear con-troller and the AWBT modification will only interfere when saturation or substitu-tion occur. During normal operation, the closed-loop performance is equal to the

to a new value reducing the error. For example, if the reference is 1 and the output reads 0.9, theoperator would reset the reference to, say, 1.1. With integral control, the integrator automaticallydoes the resetting.

Page 38: Control of systems with constraints.pdf

14 Chapter 2 / Controller Design for Constrained Systems

Controller Nonlinearity Planty

r

u u

Figure 2.1. Common system notation for AWBT schemes. The unconstrained controlleroutput is denoted u while the (possibly) constrained process input is denoted u. The con-troller may be 1 or 2 DoF.

performance of the original design. Thus, the design of an AWBT controller is atwo step procedure:

1. Design a (non)linear2 controller using standard design methods. Consideronly the linear range of the actuator.

2. Fit an AWBT scheme upon the controller. This will (should) not alter theexisting controller during normal operation.

During the last 40 years or so a substantial number of papers have launched a widerange of different approaches to AWBT. Initially, the propositions were, as the na-ture of the problem itself, all based on practical problems experienced during op-eration of a control systems and would therefore relate only to specific controllersand systems. In the late eighties general methods with respect to the controllerand the system evolved. These include the classical anti-windup (Fertik and Ross,1967; Astrom and Wittenmark, 1990), the Hanus Conditioning Technique (Hanus,1980; Hanus et al., 1987) and refinements (Walgama et al., 1992; Hanus and Peng,1992), and the observer-based method (Astrom and Rundqwist, 1989; Walgamaand Sternby, 1990). Recently, unifying frameworks embracing all existing lineartime-invariant AWBT schemes have been put forward (Kothare et al., 1994; Ed-wards and Postlethwaite, 1996, 1998; Peng et al., 1998). In Graebe and Ahlen(1994, 1996) bumpless transfer is investigated with comments on the practical dif-ferences between anti-windup and bumpless transfer.

As already indicated, a large number of ways exists to keep the system input u andthe controller output u close. The following lists some basic evident guidelines fordealing with actuator saturation:

2Some AWBT schemes are specific to certain controller structures such as a PID controller andwill not work for a nonlinear controller.

Page 39: Control of systems with constraints.pdf

2.2 / Anti-windup and Bumpless Transfer 15

1. Avoid conditionally stable3 control systems (Middleton, 1996). An open-loop strictly unstable system can only be conditionally stabilized.

2. Avoid applying unrealistic reference signals or modify/filter the referencewhen saturation is likely. Especially steps on the reference should be avoided.

3. Utilize AWBT feedback when implementing the controller.

Of course, the designer does usually not choose the system so guideline numberone should be regarded more as a caution. Saturation compensation is particularlyimportant in this case.

Specifically regarding AWBT design, the following three criteria should be held inmind during the design process:

� The closed-loop system must be stable, also under saturation. This, of course,assumes that the system is globally stabilizable with the available actua-tor range which is only guaranteed for open-loop stable systems (Sussmannet al., 1994).

� During normal operation (no actuator nonlinearities or controller substitu-tions) the closed-loop performance should equal the performance of the orig-inal design.

� The closed-loop system should in a well-behaved manner degrade from thelinear case when saturations or substitutions occur.

Stability considerations for saturated systems are somewhat complex and only fewauthors have attempted to analyze the resulting closed-loop behavior. Some no-table references are: Kothare and Morari (1997) give a review and unification ofvarious stability criteria such as the circle criterion, the small gain theorem, describ-ing functions, and the passivity theorem; Edwards and Postlethwaite (1997) applythe small gain theorem to their general AWBT framework; Astrom and Rundqwist(1989) make use of describing function analysis and the Nyquist stability crite-rion to determine stability for the observer-based approach; Niu and Tomizuka(1998) are application oriented and are concerned with Lyapunov stability and ro-bust tracking in the presence of actuator saturation; and finally, Kapoor et al. (1998)present a novel synthesis procedure and consider stability.

3A conditionally stable system is characterized as one in which a reduction in the loop gain maycause instability.

Page 40: Control of systems with constraints.pdf

16 Chapter 2 / Controller Design for Constrained Systems

2.2.1 Ad hoc methods

A number of more or less ad hoc methods exist and will briefly be described in thefollowing.

Stop integration at saturation

Intuitively, a solution to integrator-windup due to actuator saturations is to turn offthe integrator action as soon as the actuator saturates. This yields the following PIDalgorithm (Walgama and Sternby, 1990):

u(k) = uPD(k) + uI(k)

uI(k + 1) =

(uI(k) +KIe(k) if no saturation

uI(k) if saturation.(2.1)

An obvious drawback of this method is that the control signal may lock in satura-tion indefinitely since the integrator is not being updated. A solution to this prob-lem would be to stop the integration only when the control signal actually becomesmore saturated and to update the integrator if the control signal “de-saturates”.This, of course depends on the sign of the tracking error and which actuator limitis being violated, see Table 2.1.

Saturation Tracking error Integral action

u � umin positive update

u � umin negative stop

u � umax positive stop

u � umax negative update

Table 2.1. Stop integration at saturation depending on saturation violation and trackingerror.

Page 41: Control of systems with constraints.pdf

2.2 / Anti-windup and Bumpless Transfer 17

Incremental Algorithms

Usually, a controller calculates an absolute value that is fed to the actuator and asseen, this may cause windup. An alternative is to implement an incremental algo-rithm that only evaluates the increments in the control signal since previous sample.Basically, the integrator is moved outside of the controller. This is, for example, in-herent when using a stepper motor since it accepts incremental signals. Note, thatonly the risk of windup due to the integrator is removed whereas any slow or un-stable state remaining in the incremental controller may still cause problems. For aPID controller, though, moving the integrator outside of the controller is probablysufficient.

Conditional Integration

Astrom and Rundqwist (1989) mention this method. The idea is to only apply in-tegral action when the tracking error is within certain specified bounds. Intuitively,the bounds can be set such that the actuator does not saturate given the instanta-neous or predicted value of the system output. Basically, the limits on the actuatorare translated into limits on the tracking error. These limits form the proportionalband and the integration is then conditioned that the tracking error is within theproportional band. A disadvantage of this method is the possibility of chatteringthough the introduction of a hysteresis or similar can help reducing that.

2.2.2 Classical Anti-Windup

For PI and PID controllers, a classical approach is known as back-calculation,tracking, or classical anti-windup. The method was first described by Fertik andRoss (1967) and is mentioned in most introductory literature on the subject, e.g.Astrom and Wittenmark (1997) or Franklin et al. (1991).

To avoid windup, an extra feedback loop is added by feeding the difference be-tween the control output u and the plant input u back to the integrator through anadjustable gain 1

�t. This will make the controller track the mode where the control

output equals the plant input. The control signal is recalculated to a new value andwill, during saturation, eventually track the saturation limit. The scheme is pre-sented in Figure 2.2 for a PID controller. The gain 1

�tgoverns the rate at which the

integrator will reset.

A “text book” version of the PI controller (the D-term is omitted for simplicity) is

Page 42: Control of systems with constraints.pdf

18 Chapter 2 / Controller Design for Constrained Systems

PD

Actuatore

r

y

u u+

+

K

�i

1

�t

1

s

et

+

+

� +

Figure 2.2. A PID Controller structure with classical anti-windup.

u = K

�e+

1

�i

Zt

e(t)dt

�(2.2)

e = r � y; (2.3)

or in the Laplace domain

u(s) = K1 + �is

�is: (2.4)

Adding saturation u = sat(u) and the AW tracking loop we get

u = K

�e+

1

�i

Zt

e(t) +�i

K�t(u� u)dt

�(2.5)

u = sat(u); (2.6)

and in the Laplace domain, (2.5) yields

u(s) = Ke(s) +K

�ise(s) +

1

�ts(u(s)� u(s)) (2.7)

) u(s) =K�t

�i

1 + �is

1 + �tse(s) +

1

1 + �tsu(s) (2.8)

=�ts

1 + �tsK1 + �is

�is+

1

1 + �tsu(s): (2.9)

This clearly shows how any integrator in the PI controller is canceled and replacedwith a first order lag with time constant �t. This also shows that the method only

Page 43: Control of systems with constraints.pdf

2.2 / Anti-windup and Bumpless Transfer 19

applies to integral action since the transfer function from e to u remains unstable ifthe controller has any unstable poles besides the integrator.

No theoretic guidelines exist for choosing the gain �t. The designer must exclu-sively rely on simulations and on-line tuning based on the closed-loop nonlinearsystem response. A simple choice would be to select the AW gain �t = �i. Thissimplifies (2.8) to

u(s) = Ke(s) +1

1 + �isu(s): (2.10)

This alternative AWBT implementation is shown in Figure 2.3 for a scalar PI con-troller.

PlantActuatorKu u++ e y

� +

1

1+�is

r

Figure 2.3. PI controller with simple AWBT compensation.

For a PID controller of the form u(s) = P (s)I(s)D(s)e(s) the following decom-position can be carried out:

u(s) = K1 + �is

�is

1 + �ds

1 + ��dse(s) (2.11)

) u(s) = K

1

�is+�ds+ 1 + (1� �) �d

�i

1 + ��ds

!e(s); (2.12)

which make the controller applicable to the classical AWBT compensator.

The previous mentioned PI and PID controllers are 1 DoF and are not suited foractual implementation. A more flexible 2 DoF PID-algorithm is given as

Page 44: Control of systems with constraints.pdf

20 Chapter 2 / Controller Design for Constrained Systems

u(s) = K

��r(s)� y(s) + 1

s�i(r(s)� y(s))� ��ds

�+ �dsy(s)

+1

�ts(u(s)� u(s)); (2.13)

where �i; �d; �t; � and � are tunable parameters.

An example of a discretization of this controller with the AWBT scheme and sam-pling time T is:

P (k) = K(�r(k)� y(k)) (2.14)

D(k) =��d

��d + TD(k � 1)� K�d

��d + T(1� q�1)y(k) (2.15)

I(k + 1) = I(k) +KT

�ie(k) +

T

�t(u(k)� u(k)) (2.16)

u(k) = P (k) + I(k) +D(k) (2.17)

u(k) = sat(u(k)); (2.18)

which attractively implements the proportional, derivative and integral terms sepa-rately.

2.2.3 Observer-based Anti-Windup

A number of approaches to AWBT uses state space theory. Astrom and Rundqwist(1989) describes an observer-based approach to anti-windup. Figure 2.4 shows atraditional state space controller consisting of a full-order state observer and a statefeedback. When the plant input u is different from the controller output u (uponsaturation or transfer) the windup problem is easily understood: the estimated statesgiven by the observer will not reflect the control signal fed to the plant and thereforewill not reflect the actual system states. This may lead to inconsistency and anincorrect control signal resulting in windup. Given such a controller structure itis simple to avoid the problem by feeding back the saturated control signal u tothe observer rather than the control output u. The estimated states will then becorrect, the consistency between observer and system states is intact, and windupis avoided.

The result is given by:

_x = Ax+Bu+K(y � Cx)u = �Lx (2.19)

u = sat(u);

Page 45: Control of systems with constraints.pdf

2.2 / Anti-windup and Bumpless Transfer 21

Controller

Observer Actuator PlantL

x u yu

Figure 2.4. Traditional combination of an observer and a state feedback. In presence ofsaturation, an inconsistency exists between the observer and system states.

where x is the estimated state vector, (A;B;C) describes the system dynamics, Kis the observer gain and L is the state feedback gain.

Not all state space controllers are given as a combination of an observer and a statefeedback. As described in Astrom and Rundqwist (1989) the controller in (2.19)has high frequency roll-off meaning the transfer function of the controller is strictlyproper4. The technique can be extended to a general state space controller, withconstant high frequency gain, given by the following structure

_xc = Fxc +Grr �Gyy (2.20)

u = Hxc + Jrr � Jyy; (2.21)

where xc is the state vector for the controller and F;Gr; Gy;H; Jr , and Jy repre-sent the dynamics of the controller.

To avoid windup, the controller is changed by feeding back the difference betweenu and u to the controller. This results in the following controller

_xc = Fxc +Grr �Gyy +M(u� u) (2.22)

= (F �MH)xc + (Gr �MJr)r � (Gy �MJy)y +Mu (2.23)

u = Hxc + Jrr � Jyy (2.24)

u = sat(u); (2.25)

where M is an appropriately dimensioned gain matrix. When u = u the controllerreverts to the original controller formulation. Given a gain matrix M chosen such

4According to Doyle et al. (1992) a transfer function G is said to be strictly proper if G(i1) =0 (the degree of the denominator > the degree of the numerator), proper if G(i1) is finite, andbiproper if G and G�1 are both proper (degree of denominator = degree of numerator.

Page 46: Control of systems with constraints.pdf

22 Chapter 2 / Controller Design for Constrained Systems

that (F �MH) has stable eigenvalues (is Hurwitz), windup or bumping transferis to some degree avoided. Walgama and Sternby (1990) has exposed this observerproperty inherent in a class of AWBT compensators which allow for a unified in-vestigation of their performance. Figure 2.5 shows the scheme applied to a 1 DoFstate space controller (unity feedback).

Actuator_xc xc

+

+

r � y

+

+

u u+ +

J

F

M

HG

R

Figure 2.5. 1 DoF state space controller with observer-based AWBT compensation.

For an input-output RST controller structure, a similar result exists (Walgama andSternby, 1990):

Aaw(q�1)u(k) = T (q�1)r(k)� S(q�1)y(k) + [Aaw(q

�1)�R(q�1)]u(k)(2.26)

u(k) = sat[u(k)]; (2.27)

where Aaw is the anti-windup “observer” polynomial.

Selection of the Anti-windup observer gainM

In Astrom and Rundqwist (1989) no design guidelines are given on how to selectthe gain M except for the fact that F �MH should be stable. A more direct designprocedure is recently proposed in Kapoor et al. (1998). The idea is to analyze the

Page 47: Control of systems with constraints.pdf

2.2 / Anti-windup and Bumpless Transfer 23

mismatch between the constrained and unconstrained closed-loop system. Assum-ing unity feedback (e = r � y) the unconstrained closed-loop system with statezu = [x; xc]

T is given by

_zu =

"A+BJC BH

GC F

#zu +

"�BJ�G

#r (2.28)

= Aclzu +Bclr (2.29)

uu =

h�JC H

izu + Jr = Kclz

u + Jr (2.30)

yu =

hC 0

izu = Cclz

u; (2.31)

where (A;B;C) and (F;G;H; J) represent the dynamics of the system and thecontroller, respectively. The constrained closed-loop system yields:

_z =

"A+BJC BH

GC F

#z +

"�BJ�G

#r +

"B

M

#(u� u) (2.32)

= Aclz +Bclr +Mcl(u� u) (2.33)

u = Kclz + Jr (2.34)

y = Cclz: (2.35)

Finally, we introduce the mismatch between the constrained and unconstrainedclosed-loop system as

~z = z � zu; ~u = u� uu ; ~y = y � yu; (2.36)

and subtracting (2.29) from (2.33) gives the system

_~z = Acl~z +Mcl(u� u) (2.37)

= (Acl �MclKcl)~z +Mcl(u� uu) (2.38)

~u = Kcl~z (2.39)

~y = Ccl~z: (2.40)

Suppose Acl can be Schur decomposed (Acl = U�U�1) and the Schur matrix �

has real diagonal matrix blocks. Given a matrix T =h0 I

iU�1, where I is an

identity matrix with as many rows and columns as control states nc, Kapoor et al.(1998) selects the gain as

M = �T�12 T1B; (2.41)

Page 48: Control of systems with constraints.pdf

24 Chapter 2 / Controller Design for Constrained Systems

where T2 is the last nc columns of T and T1 the remaining. This makes the closed-loop system asymptotically stable. Note, that the choice of M is not necessarilyunique or optimal in terms of performance but only chosen from a stabilizing pointof view.

2.2.4 Conditioning Technique

Hanus’ Conditioning Technique

A scheme named the Conditioning Technique is widely mentioned in the literatureand was initially formulated in Hanus (1980) and further developed in Hanus et al.(1987) as an extension to the classical anti-windup compensator.

The principal behind the method is to modify the reference or the set point r tothe controller whenever the controller output u is different from the plant input u.The reference is modified such that if the new reference rr had been applied tothe controller, the actuator would not saturate (u would equal u). The conditionedreference is referred to as the realizable reference. At the expense of modifyingthe reference, the nonlinearity in the actuator is removed, so to speak, since themodified reference will keep the actuator in the linear area.

The resulting controller is here presented using a state space approach adoptedfrom Hanus et al. (1987). The equivalent input-output approach with a RST con-troller structure is found in Ronnback (1993).

Now, consider the general state space controller structure in (2.20) and (2.21) withplant input u. When u 6= u the controller states xc will be inadequate and candecrease the quality of the control performance. In order to restore the states, anew reference rr is calculated such that u = u:

_xrc = Fxr

c +Grrr �Gyy (2.42)

u = Hxr

c + Jrrr � Jyy: (2.43)

The controller output is assumed to equal the plant input due to the modified refer-ence. Hanus et al. (1987) assumes present realizability giving

u = Hxr

c + Jrr � Jyy; (2.44)

when using the correct states resulting from applying the realizable reference. Sub-tracting (2.44) from (2.43) yields:

Page 49: Control of systems with constraints.pdf

2.2 / Anti-windup and Bumpless Transfer 25

u� u = Jr(rr � r); (2.45)

and assuming Jr is nonsingular, the realizable reference can be found as:

rr = r + J

�1r

(u� u): (2.46)

Combining (2.42), (2.44), and (2.46) gives the following controller:

_xrc= (F �GrJ

�1rH)xr

c� (Gy �GrJ

�1rJy)y +GrJ

�1ru (2.47)

u = Hxr

c+ Jrr � Jyy (2.48)

u = sat(u): (2.49)

This is called the AWBT conditioned controller because the controller is condi-tioned to return to normal mode “as soon” as it can (Hanus et al. (1987)). Refer toFigure 2.6 for a schematic view of the method.

Actuator Plantuu

r

J�1r

+

�+

+

rr

yC(s)

Figure 2.6. Hanus’ conditioning technique.C(s) represents the controller transfer function.

Comparing (2.47) with (2.23) shows that the Hanus’ Conditioning technique is aspecial case of the observer-based approach with M = GrJ

�1r

.

Generalized Conditioning Technique

A number of drawbacks in the conditioning technique has been reported in Wal-gama et al. (1992) and Hanus and Peng (1992):

� The matrix Jr has to be nonsingular, i.e. no time delay can exist in the con-troller from reference to output (Hanus and Peng, 1992; Walgama et al.,1992).

Page 50: Control of systems with constraints.pdf

26 Chapter 2 / Controller Design for Constrained Systems

� The technique is inflexible (but simple) in terms of design as there are notuning parameters.

� The technique can only handle one saturation level since the applied condi-tioned reference may saturate the system in the other direction of saturation.This is referred to as inherent short-sightedness (Walgama et al., 1992).

The case with a controller with time delays (Jr singular) is handled in Hanus andPeng (1992) where the conditioning technique is modified for a general time delaystructure.

Walgama et al. (1992) proposes two modifications to the technique to overcome thethree inherent problems of the technique. The first approach introduces cautious-ness so that the change in the modified reference is made smoother and guaranteesa non-singular Jr. This is done by introducing a tuning parameter � as follows:

rr = r + (Jr + �I)�1(u� u); 0 � � �1; (2.50)

which leads to the controller:

_xc = (F �Gr(Jr + �I)�1H)xc � (Gy �Gr(Jr + �I)�1Jy)y

+Gr(Jr + �I)�1u (2.51)

u = Hxc + Jrr � Jyy (2.52)

u = sat(u): (2.53)

The parameter � indicates the degree of cautiousness where � = 0 results in theoriginal method and � ! 1 results in the rr = r and hence the effect from theconditioning is completely removed. The method is referred to as the ConditioningTechnique with Cautiousness.

A second extension by Walgama et al. (1992) leads to the so-called GeneralizedConditioning Technique (GCT) which performs conditioning on a filtered referencesignal rf instead of directly on the reference r. Walgama et al. (1992) uses a RSTcontroller structure and modifies the T -polynomial, but here we shall adopt thestate space approach used in Kothare et al. (1994) as it leans itself towards theoriginal presentation of the conditioning technique.

Let the 2 DoF state space controller with the filtered reference be defined by

_xc = Fxc �Gyy (2.54)

_xf = Ffxf +Gfr (2.55)

u = Hxc +Hfxf + Jfr + Jyy; (2.56)

Page 51: Control of systems with constraints.pdf

2.2 / Anti-windup and Bumpless Transfer 27

where (Ff ; Gf ;Hf ; Jf ) describe the filter dynamics. The conditioning techniqueis now applied and the realizable reference is found as

rr = r + J

�1f

(u� u): (2.57)

Replacing r in (2.55) with this expression for rr yields the following resultingcontroller

_xc = Fxc �Gyy (2.58)

_xf = (Ff �GfJ�1fHf )xf �GfJ

�1fHxc +GfJ

�1fu�GfJ

�1fJyy (2.59)

u = Hxc +Hfxf + Jfr + Jyy (2.60)

u = sat(u): (2.61)

As pointed out by Walgama et al. (1992) no guidelines are available for choosingthe filter in terms of stability and closed-loop performance.

2.2.5 Generic Frameworks

Several authors have attempted to set up a general unifying framework for exist-ing AWBT methods. The benefits from such a unification are many. A unificationwould open up for establishing a general analysis and synthesis theory for AWBTschemes with connection to issues such as how design parameters influence stabil-ity, robustness, and closed-loop performance. Moreover, the designer can compareand contrast existing methods.

The first strides towards a generalization was taken in Walgama and Sternby (1990)who identified an observer inherent in a number of existing schemes (classical,observer-based, Hanus’ conditioning, and others). This allowed the authors to gen-eralize the considered schemes as a special case of the observer-based approach.

Framework of Kothare, Campo, Morari and Nett

In Kothare et al. (1994) a more methodical framework was put forward whichunified all known linear time-invariant AWBT schemes. A short introduction willbe given here. The parameterization is in terms of two constant matrices �1 and�2 as opposed to the one parameter M of the observer-based approach. This addsfreedom to the design at the expense of clarity and usability. Consider first thefollowing state space notation

Page 52: Control of systems with constraints.pdf

28 Chapter 2 / Controller Design for Constrained Systems

C(s) = H (sI � F )�1G+ J =

"F G

H J

#(2.62)

hC1(s) C2(s)

i=

"F G1 G2

H J1 J2

#; (2.63)

to represent a 1 DoF and 2 DoF controllers, respectively. For a controller with dy-namics described by (F;G;H; J), Kothare et al. (1994) propose the AWBT condi-tioned controller given by

u = U(s)e+ (I � V (s))u; (2.64)

where U(s) and V (s) are given by

hV (s) U(s)

i=

"F �K1H �K1 G�K1J

K2H K2 K2J

#; (2.65)

and

K1 = �1(I � �2)�1

K2 = (I +�2) �1:(2.66)

See Kothare et al. (1994); Kothare (1997) for how to select the two design parame-ters �1 and �2 such that existing schemes become special cases of the frameworkand refer to Kothare and Morari (1997, 1999) for applications of the framework.

The framework is fairly complex and how choices of �1 and �2 influence per-formance is unclear. However, as mentioned before, the framework has initiatedgeneral stability considerations for AWBT systems.

Framework of Edwards and Postlethwaite

In Edwards and Postlethwaite (1996) another framework for AWBT schemes isproposed. Figure 2.7 shows the framework for a controller C which for a 1 DoFcontroller is described by

C(s) = HT (sI � F )�1G+ J; (2.67)

for input r � y and for a 2 DoF controller by

Page 53: Control of systems with constraints.pdf

2.2 / Anti-windup and Bumpless Transfer 29

AWBT

u y

r

+�

+

+C

R

Gu

Figure 2.7. The framework of Edwards and Postlethwaite.

C(s) =hC1(s) C2(s)

i=hH

T (sI � F )�1G1 + J1 HT (sI � F )�1G2 + J2

i; (2.68)

for input r and y.

The gab between u and u indicates a nonlinearity, i.e. saturation or a controller sub-stitution. The article states that all existing AWBT schemes can be unified in thisframework, including the previous described framework by Kothare et al. (1994).The objective of the AWBT design is to choose an appropriate transfer functionR(s) likely to contain dynamics.

Applying a R(s) compensator to a controller C(s), the transfer function from e

and u to u is given explicitly as

u(s) = (I +R(s))�1 C(s)e(s) + (I +R(s))�1R(s)u(s): (2.69)

Table 2.2 shows resulting R compensators for some of the mentioned techniques.

The framework does not necessary represent the way the various techniques shouldbe implemented in practice since the choice of R may cause unstable pole/zerocancellations which are not necessarily exact. However, the framework may bevaluable as a platform for comparison of methods and establishment of stabilityresults.

Page 54: Control of systems with constraints.pdf

30 Chapter 2 / Controller Design for Constrained Systems

Scheme R compensatorClassical anti-windup 1

�ts

Hanus’ conditioning technique�F GrJ

�1

r

H 0

Conditioning technique with cautiousness�F Gr (Jr + �I)�1

H 0

Observer-based anti-windup�F M

H 0

Framework by Kothare et al. (1994)�F K1K

�1

2

H K2 � I

Table 2.2. Resulting R compensators for different AWBT schemes.

2.2.6 Bumpless Transfer

Most authors simply state that anti-windup and bumpless transfer are the same.This section will elaborate on some similarities and discrepancies and illustratespecific bumpless transfer techniques. Consider the following two statements:

Anti-windup should keep the controller output close the plant input during alloperational circumstances in order to avoid performance degradation and

stability problems upon saturation.

Bumpless Transfer should keep the latent5 (inactive) controller’s output close tothe active controller’s output (which is the plant input) in order to avoid transients

after switching from one controller to another.

This perspective justifies a unified theoretical treatment of anti-windup and bump-less transfer but from a practical or implementation point of view the two problemsseem somewhat different. The anti-windup problem is very local to the controllerand the actuator while the bumpless transfer problem involves a suite of controllerspossibly with different purposes such as velocity/position, manual/automatic, con-tinuous/discrete, and are likely to have different sampling times. Changing con-troller parameters on-line is also a bumpless transfer problem.

Actuator saturation is a condition that, even with an AWBT scheme in place, mayexist over a period of time whereas bumpless transfer can be viewed as an ini-tial condition problem consisting of choosing the appropriate initial values for the

5Along the lines of Graebe and Ahlen (1994) the word latent will be used to denote the idle,inactive controller.

Page 55: Control of systems with constraints.pdf

2.2 / Anti-windup and Bumpless Transfer 31

latent controller’s states such that at the point of transfer the latent controller’soutput uL equals the active controller’s output uA. So, basically, using the wordsof Graebe and Ahlen (1996), “the essence of bumpless transfer is the desire tocompute the state of a dynamical system so its output will match another signal’svalue”.

Initial Conditions

For a PI controller, with only one state, the initial conditions are easily determined.Consider the discrete-time PI controller

uL(k) =s0 + s1q

�1

1� q�1 e(k): (2.70)

At the time of transfer t = kT we aim to have uL(k) = uA, where uA is the activecontroller’s output. Trivial calculations give the following expression for uL(k�1)which is the only unknown parameter:

uL(k � 1) = uA � s0e(k)� s1e(k � 1): (2.71)

The signals e(k) and e(k � 1) are noise infected from the measurement y andgenerally for higher order controllers the noise sensitivity will increase.

For a general ordered controller we cannot determine the values of all the statesof the controller at the point of transfer. For a nc-order controller we need a datahistory of nc samples. Bumpless transfer requires that the controller states are ini-tialized such that 2

666664

uL(k)

uL(k � 1)...

uL(k � nc + 1)

3777775 =

2666664

uA(k)

uA(k � 1)...

uA(k � nc + 1)

3777775 ; (2.72)

or

UL = UA: (2.73)

For a state space formulated controller

xc(k + 1) = Fxc(k) +Ge(k) (2.74)

uL(k) = Hxc(k) + Je(k); (2.75)

Page 56: Control of systems with constraints.pdf

32 Chapter 2 / Controller Design for Constrained Systems

the state xc must be determined at the time of transfer such that equality (2.73) isfulfilled. To do so we need to calculate xc(k � ijk); i � 0 which gives previousstate vectors based on the current one. From (2.74) we get

xc(k � 1jk) = F�1 (xc(k)�Ge(k � 1)) ; (2.76)

and trivial iterations give the following general expression

xc(k � ijk) = F�ixc(k)�

i�1Xj=0

F�(i�j)

Ge(k � j � 1); xc(kjk) = xc(k):

(2.77)

Using (2.75) we have

uL(k � ijk) = Hxc(k � ijk) + Je(k � i): (2.78)

If (2.77) and (2.78) are put into (2.73) we get

UA = Hxc(k) + JE; (2.79)

where

H =

2666664

H

HG�1

...

HG�(nc�1)

3777775 ; E =

2666664

e(k)

e(k � 1)...

e(k � nc + 1)

3777775 ; (2.80)

and

J =

2666666664

J 0 � � � 0 0

0 J �HF�1G . . ....

...

0 �HF�2G . . . 0 0...

.... . . J �HF�1G 0

0 �HF�(nc�1)G � � � �HF�2G J �HF�1G

3777777775: (2.81)

Now, the state vector is easily determined

xc(k) = H�1(UA � JE); (2.82)

given full rang ofH.

This method has an obvious drawback, however. The applicability of the methodrely upon the access to the latent controller as the controller states must be set tothe estimated parameters at transfer. The next method overcomes this problem.

Page 57: Control of systems with constraints.pdf

2.2 / Anti-windup and Bumpless Transfer 33

Dynamic Transfer

Graebe and Ahlen (1994) suggest a method which is developed for bumpless trans-fer between alternative controllers and is not intended to be used in an anti-windupcontext. In Graebe and Ahlen (1996), similarities between anti-windup and bump-less transfer are discussed. It can be argued that the method is a special case of thegeneric frameworks but the practical usefulness of the method should give it morecredit.

The scenario is the switch from an active controller CA to a new latent (inactive)controller CL. The idea is to let the output uL of the latent controller CL track theoutput uA of the active controller CA. This is done by using a 2 DoF tracking loopas shown in Figure 2.8 where uA is the reference to the tracking controller, CL isregarded as the system to be controlled, and the control plant error (r � y) acts asa disturbance.

Tracking Controller

Active Controller Plant

Latent Controller

uA

uL

e

+�

uA

yr

+

1

RLCL

CA

eG

TL

SL

Figure 2.8. Bumpless transfer using a controller tracking loop.

The tracking loop consists of the triplet (RL; SL; TL) in which TL = SL = 1 oftenis sufficient. The controller output uL from CL is governed by

Page 58: Control of systems with constraints.pdf

34 Chapter 2 / Controller Design for Constrained Systems

uL =TLCL

RL + SLCL

uA +RLCL

RL + SLCL

(r � y): (2.83)

Assuming that uL tracks uA, the transfer can now take place without bumps.

Adding another tracking loop for CA tracking CL the transfer can be done bi-directional. The bi-directional scheme is presented in Figure 2.9 where CT

Aand

CT

Ldenote the active and latent tracking controllers, respectively.

Tracking loop

Active control loop

G

CA

CL

CT

A

r e y

uA

uL

uL

uA

+

+

+

CT

L

Figure 2.9. Bi-directional bumpless transfer. The active control loop is indicated with boldlines. Subscripts A and L denote active and latent controller, respectively, and superscriptT indicates tracking controller. At the point of transfer, the four switches (dashed lines) areactivated.

The advantages of this method are:

� In principle, no a priori knowledge of the controllers are needed to designthe tracking loops. Only caution is that no time delay exists from input tooutput in the system controllers (the tracking controllers are designed for aproper system).

Page 59: Control of systems with constraints.pdf

2.2 / Anti-windup and Bumpless Transfer 35

� Access to the controllers is not needed.

� Switching from manual control to automatic control and/or from continuous-time control to discrete-time control is possible.

� Often simple tracking controllers with TL = SL = 1 are sufficient.

However, for simple low order controllers, implemented in a way such that accessto internal signals (and overriding of these) is easy, the initial condition approachis an uncomplicated alternative.

2.2.7 Comparison of Methods

Numerous methods have been mentioned in the previous sections. As seen theyall have similarities since generic frameworks can encompass them all. However,each method has different properties regarding simplicity, applicability, tuning, etc.Table 2.3 sums up features and peculiarities of the mentioned methods.

Method Param. Advantages Disadvantages

Classical �t Easy to use; scalarparameter

Only works for integralaction (PI/PID controllers);the controller must bestable except for theintegrator

Hanus’conditioningtechnique

— Easy to use; no increasein controller complexity asno tuning parameter isavailable

No design freedom interms of AWBTparameter; inherentshort-sightedness; cannothandle time delays fromreference to controlleroutput; only applicable tobiproper minimum phasecontrollers

Conditioningtechniquewithcautiousness

� Makes the conditionedmethod more flexible andapplicable to bipropercontrollers; scalar tuningparameter with intuitiveinterpretation: � = 0)Hanus scheme, and�!1) no AWBTfeedback

No indications on how tochoose � except for trialand error

continued on next page

Page 60: Control of systems with constraints.pdf

36 Chapter 2 / Controller Design for Constrained Systems

continued from previous page

Method Param. Advantages Disadvantages

Generalizedconditioningtechnique

"Ff Gf

Hf Jf

#Overcomes theshort-sightedness problemin Hanus’ conditioningtechnique and can handleboth saturation levels

The filter adds complexityto the design; the choiceof filter is unspecific

Observer-based

M or Aaw Easy to use, unifies anumber of the differentapproaches; intuitivelyappealing since theobserver concept iswell-known; some resultsexist on stability (Kapooret al., 1998) androbustness (Niu andTomizuka, 1998)

No optimal way ofchoosing the AWBTobserver gain for ageneral system

Frameworkby Kothareet al. (1994)

�1;�2 General framework—allother schemes are specialcases; opens up for aunified treatment andtheory; results on stability

Fairly complexparameterization; notclear how to benefit fromthe framework withrespect to designsynthesis and analysis

Frameworkby EdwardsandPostlethwaite(1997)

R General framework;simple, only oneparameter; opens up for aunified treatment andtheory; results on stability

Not immediately suitablefor implementation; theparameter R changesfrom a scalar, a matrix andtransfer functiondepending on the methodsthe framework unifies

Table 2.3: Comparison of AWBT schemes.

2.3 Predictive Controller Design

Predictive control is based on the receding horizon principle in which, at eachsample instance, the current controller output is obtained by solving an open-loopoptimal control problem of finite horizon6. The input to the controller is current

6The original formulation of the predictive controller used a finite horizon but since then infinitehorizons have been used for stability proofs.

Page 61: Control of systems with constraints.pdf

2.3 / Predictive Controller Design 37

state information and the output is a sequence of future control actions where onlythe first element in the sequence is applied to the system.

Predictive control belongs to the class of model-based designs7 where a mathe-matical model of the system is used to predict the behavior of the system andcalculate the controller output such that a given control criterion is minimized, seeFigure 2.10.

SolveSystem

Criterion parameters

System model

u y

u = argminu J

r

Figure 2.10. Model and criterion based control for a possibly time-varying system.

For some time the predictive control strategy has been a popular choice in con-strained control systems because of its systematic way of handling hard constraintson system inputs and states. Especially the process industries have applied con-strained predictive control as plants here are often sufficiently slowly sampled topermit implementations.

The theory of predictive control has evolved immensely over the last couple ofdecades with many suggestions with related features such as system output predic-tion. A survey of methods is given in Garcıa et al. (1989). One version has turnedout to be particularly widely accepted: the now well-known Generalized PredictiveController (GPC). It was introduced in Clarke et al. (1987a,b) and was conceptu-ally based on earlier algorithms in Richalet et al. (1978) and Cutler and Ramaker(1980). Since the appearance of the GPC, many extensions and add-ons have beensuggested. These were unified in Soeterboek (1992) within the so-called UnifiedPredictive Controller (UPC). This controller is slightly more flexible in terms ofmodel structure, criterion selection and parameter tuning than the GPC. Bitmeadet al. (1990) critically exposed generalized predictive control and argued that the

7Predictive Control is also referred to as Model Predictive Control (MPC).

Page 62: Control of systems with constraints.pdf

38 Chapter 2 / Controller Design for Constrained Systems

control problem of unconstrained linear systems is handled just as well by LinearQuadratic Gaussian (LQG) control design methods.

Initially, predictive control was seen as an alternative to pole placement and gen-eralized minimum-variance control in self-tuning and adaptive systems. The GPChad such pleasant properties as being applicable to non-minimum phase or open-loop unstable systems and systems with unknown dead-time or system order, toname a few. Later, the predictive controller’s ability to handle input and stateconstrained systems has received much attention, see for example Mayne et al.(2000) for a comprehensive survey regarding stability and optimality for con-strained predictive control, and an extensive list of references. Straightforward,Quadratic Programming (QP) can solve the constrained problem (Garcıa and Mor-shedi, 1984) but the computational burden may be demanding (Tsang and Clarke,1988) and therefore QP is primarily suitable for relatively slowly sampled pro-cesses. This raise a need for other more widely applicable possibly sub-optimalsolutions with less computational complexity (Poulsen et al., 1999). The trade-offbetween closed-loop performance and computational speed is an important issue.

2.3.1 Overview of Criteria Selection

Predictive controllers, that being the GPC, the UPC or others, are conceived byminimizing a criterion cost function J

uoptimal = argminu

J: (2.84)

This is an alternative to specifying the closed-loop poles, as is the case for thepole placement controller, or fitting frequency responses, as is the case for lead/lagcontrollers. The criterion must be selected so that the called for performance androbustness are accomplished.

The pioneer in this field was the Minimum Variance (MV) controller by Astrom(1970) based on the following criterion,

J(k) = E�(y(k + d)� r(k + d))2

; (2.85)

where y(k) is the system output, r(k) is the reference signal, d is the time delayfrom input to output, and E f�g denotes the expectation. As is well-known thissimple criterion yields controllers only suitable for minimum phase systems asexcessive control signals are not penalized. Consequently, the criterion was slightlymodified,

Page 63: Control of systems with constraints.pdf

2.3 / Predictive Controller Design 39

J(k) = E�(y(k + d)� r(k + d))2 + �u(k)2

; (2.86)

where u(k) is the controller output. This criterion is likely to reduce the magnitudeof the control signal but introduces the disadvantage of not allowing non-zero u(k).For systems lacking an integrator this leads to steady-state errors when tracking anon-zero reference.

The GPC criterion introduced in Clarke et al. (1987a) is of the form:

J(k) = E

8<:

N2Xj=N1

(y(k + j)� r(k + j))2 +

NuXj=1

�(�u(k + j � 1))2

9=; ; (2.87)

subject to the equality constraint

�u(k + i) = 0; i = Nu; : : : ; N2; (2.88)

where N1 is the minimum costing horizon, N2 the maximum costing (or predic-tion) horizon, Nu the control horizon, and � = 1 � q�1 denotes the differencingoperator. Notice, that the minimization now involves several future system and con-troller outputs. This leads to controllers satisfying a much larger range of systemsthan the MV controller. Penalizing only the differenced controller output �u(k)in the criterion, the resulting controller will allow non-zero outputs and referencetracking is improved.

Although versatile, numerous extensions to the criterion (2.87) have been made. InSoeterboek (1992) this led to the following unified criterion function

J(k) = E

8<:

N2Xj=N1

�Pn(q

�1)

Pd(q�1)y(k + j)� r(k + j)

�2

+

N2�kXj=1

�Qn(q

�1)

Qd(q�1)u(k + j � 1)

�29=; ; (2.89)

subject to the equality constraint

�(q�1)Pn(q

�1)

Pd(q�1)u(k + i) = 0; i = Nu; : : : ; N2 � k: (2.90)

Special here is the filtering of y(k) and u(k) with the filters Pn(q�1)

Pd(q�1)

and Qn(q�1)

Qd(q�1)

,respectively. They are intended to be used to penalize the signals at different fre-quencies in order to improve performance and robustness tuning. The role of the

Page 64: Control of systems with constraints.pdf

40 Chapter 2 / Controller Design for Constrained Systems

polynomial �(q�1) is to allow for different constraints on the remaining controlleroutputs from the control to the prediction horizon. Two natural choices are avail-able:

1. �(q�1) = 1) u(k + j) = 0 for j � Nu.

2. �(q�1) = 1� q�1 ) u(k + j) = u(k +Nu) for j � Nu.

So far, the criteria have been based on a knowledge of the input-output relationshipof the system. Provided a state space model is available, the criterion functions canexploit this and penalize individual states. A useful criterion in terms of predictivecontrol could be

J(k) = E

8<:

N2Xj=N1

xT (k + j)Qx(k + j) + u

T

f(k + j)Wuf (k + j)

9=; ; (2.91)

subject to the equality constraint

u(k + i) = u(k +Nu); i = Nu; : : : ; N2; (2.92)

where x(k) is the system state, Q and W are non-negative definite symmetric userdefined weight matrices of appropriate dimensions, and uf (k) denote the filteredcontrol signal. This criterion function does not include deviations of the outputfrom a reference signal r(k). One way of overcoming this is to augment the systemstate vector with the states of the reference signal by which the criterion (2.91)again can be made to describe the problem.

2.3.2 Process Models

The criteria portrayed in the previous section are all based on a dynamical modeldescription. Given a time-invariant linear (or linearized) model, an analytical solu-tion to the minimization problem of the criterion exists and can be solved once andfor all. The predictive controllers in Clarke et al. (1987a) and Soeterboek (1992)were all based on polynomial input-output models such as the ARIMAX and Box-Jenkins while Hansen (1996) has derived the predictive control law based on thefollowing somewhat more general structure

A(q�1)y(k) = q�dB(q�1)

F (q�1)u(k) +

C(q�1)

D(q�1)e(k); (2.93)

Page 65: Control of systems with constraints.pdf

2.3 / Predictive Controller Design 41

with

A(q�1) = 1 + a1q�1 + a2q

�2 + : : :+ anaq�na (2.94)

B(q�1) = b0 + b1q�1 + b2q

�2 + : : :+ bnbq�nb (2.95)

C(q�1) = 1 + c1q�1 + c2q

�2 + : : : + cncq�nc ; (2.96)

D(q�1) = 1 + d1q�1 + d2q

�2 + : : : + dndq�nd ; (2.97)

F (q�1) = 1 + f1q�1 + f2q

�2 + : : :+ fnf q�nf ; (2.98)

and d > 0. The system has input u(k), output y(k) and is disturbed by a noisesequence e(k) with appropriate characteristics. Table 2.4 shows how this and otherless general models relate.

General Model ARX ARMAX ARIMAX Box-Jenkins

A A A A 1

B B B B B

C 1 C 1 C

D 1 1 � D

F 1 1 1 F

Table 2.4. Process models obtained from the general linear structure.

Although the literature is predominated by the use of input-output descriptions,other authors have concentrated on a state space approach ((Chisci et al., 1996),(Bentsman et al., 1994)). Some of the motivations for this are:

� Easier approach to MIMO systems.

� Complete internal description of the system, including possible internal os-cillations or instabilities.

� A greater flexibility in describing the disturbance model.

This section shall only consider the discrete-time state space model

x(k + 1) = Ax(k) +Bu(k)

y(k) = Cx(k);(2.99)

Page 66: Control of systems with constraints.pdf

42 Chapter 2 / Controller Design for Constrained Systems

where x 2 Rn is the state vector of the system, u 2 R

m the input, and y 2Rl the output. For simplicity, no noise description is included in the model. The

discrete-time model (2.99) is typically obtained by sampling a continuous-timeplant assuming (due to computer control) that control signals are constant over thesampling period.

In general, system models are obtained through physical modelling or system iden-tification. In Nørgaard et al. (2000b) neural networks are used for system identifi-cation and it is shown how predictive controllers are designed for these models.

2.3.3 Predictions

To solve the predictive control problem posed by minimization of a criterion func-tion, we need to compute a j-step prediction of y(k + j) (or equivalent x(k + j))for j = N1; N1 +1; : : : ; N2. Prediction in the state space model (2.99) is straight-forward. At present time k consider the j-step state prediction at time k + j:

x(k + jjk) = Ax(k + j � 1jk) +Bu(k + j � 1jk) x(kjk) = x(k) (2.100)

= Ajx(k) +

hAj�1

B � � � AB B

iU; (2.101)

where

U =hu(k) u(k + 1) � � � u(k + j � 1)

iT: (2.102)

Gathering the j-step predictors for j = 1; 2; : : : ; N2 we get2666664x(k + 1jk)x(k + 2jk)

...

x(k +N2jk)

3777775 =

2666664A

A2

...

AN2

3777775x(k) +

2666664

B 0 � � � 0

AB B. . .

......

. . . . . . 0

AN2�1B � � � AB B

3777775

2666664

u(k)

u(k + 1)...

u(k +N2 � 1)

3777775

(2.103)

or

X = Fx(k) +GU: (2.104)

Here N1 = 1 but if this is not the case, the first N1 � 1 rows of G and F will benull.

Page 67: Control of systems with constraints.pdf

2.3 / Predictive Controller Design 43

Introducing the control horizon Nu into the criterion changes (2.103) slightly. De-fine the vector of future controller outputs Uu

Uu =hu(k) u(k + 1) � � � u(k +Nu)

iT

; (2.105)

and recall that we have set u(k + i) = u(k +Nu) for i � Nu. This gives us

X = Fx(k) +GuUu; (2.106)

with

Gu =

26666666666666664

B 0 � � � 0

AB B. . .

......

. . . . . . 0

ANuB � � � AB B

ANu+1

B � � � A2B AB +B

......

...

AN2�1B � � � A

N2�N1B

N2�Nu�1Pi=0

AiB

37777777777777775

: (2.107)

2.3.4 Unconstrained Predictive Control

Typically, a predictive controller is based on a receding horizon principle, that is, ateach sample the controller calculates the sequence u(k); u(k +1); : : : ; u(k+Nu)

based on predictions of the system but only the first element (u(k)) is used. At nextsample the whole procedure is repeated.

Predictive Control with Control Horizon

As a first approach, consider the state space criterion function

J(k) = E

8<:

N2Xj=N1

xT (k + j)Qx(k + j) + u

T (k + j)Wu(k + j)

9=; ; (2.108)

subject to the equality constraint

Page 68: Control of systems with constraints.pdf

44 Chapter 2 / Controller Design for Constrained Systems

u(k + i) = u(k +Nu); i = Nu; : : : ; N2; (2.109)

which equals (2.91) except no control output filtering is present. Inserting the pre-diction (2.106) into the criterion function we get a simple linear algebra problem

J(k) = XTIQX + U

T

uIWUu; (2.110)

where IQ is a block diagonal matrix with N2 instances of Q in the diagonal andIW likewise with respect to W . Minimizing with respect to Uu yields

Uu =�GT

uIQGu + IW

��1GT

uIQFx(k): (2.111)

Predictive Control with Control Signal Filtering

At times, control signal filtering can improve performance. We assume that thefiltered version uf (k) of u(k) can be written in terms of state model,

xu(k + 1) = Auxu(k) +Buu(k)

uf (k) = Cuxu(k) +Duu(k):(2.112)

The j-step prediction of uf (k) is given by

uf (k + j) = CuAj

uxu(k) +

hCuA

j�1B � � � CuA

0B Du

iU; (2.113)

and stacking the predictions from j = 0; : : : ; Nu yields

Uf = Ffxu(k) +GfUu; (2.114)

with

Ff =

2666664

Cu

CuAu

...

CuANu�1u

3777775 Gf =

2666664

Du 0 � � � 0

CuA0uB Du

. . ....

.... . . . . . 0

CuANu�1u B � � � Cu Du

3777775 : (2.115)

Once more we can write the minimization problem in terms of linear algebra,

J(k) = XTIQX + U

T

fIWUf ; (2.116)

and using our predictions X in (2.106) and just found Uf in (2.114) we can mini-mize with respect to Uu

Uu =�GT

u IQGu +GT

fIWGf

��1 �GT

u IQFx(k) +GT

fIWFfxu(k)

�: (2.117)

Page 69: Control of systems with constraints.pdf

2.3 / Predictive Controller Design 45

2.3.5 Constrained Predictive Control

Unlike the unconstrained linear problem, an analytic solution rarely exists for theconstrained optimal control problem. Consequently, the constrained minimizationproblem must be solved in every sample and efficient fast algorithms are needed.

The most common approach to a solution is applying an iterative Quadratic Pro-gramming (QP) method which can minimize a quadratic objective function subjectto linear constraints. Such a problem is described as

minu

1

2uTHu+ cu; (2.118)

subject to

Pu � q; (2.119)

where P and q describe the constraints.

The unconstrained predictive control problem was solved by minimizing the crite-rion in (2.110). Based on this, straightforward calculations lead to the QP formula-tion. First

J(k) = XTIQX + U

T

u IWUu

= UT

u

�IW +G

T

uIQGu

�Uu + 2xTF T

IQGuUu + xTFTIQFx: (2.120)

Constant terms have no influence on for which value of Uu the criterion is mini-mized which leads to reformulating the criterion, minimized for the same value ofUu:

J�(k) =

1

2UT

u

�IW +G

T

u IQGu

�Uu + x

TFTIQGuUu

=1

2UT

u HUu + cUu; (2.121)

which is a standard QP criterion function.

Modelling Constraints

Three different kinds of constraints will be considered. Most commonly, con-straints acting on a process originate from magnitude limits in the control signal but

Page 70: Control of systems with constraints.pdf

46 Chapter 2 / Controller Design for Constrained Systems

also rate limits in the control signal and limits on the states occur. The constraintscan be described by

Magnitude: umin � u(k) � umax; 8kRate: �umin � u(k)� u(k � 1) � �umax; 8kStates: xmin � x(k) � xmax; 8k:

(2.122)

Instead of using the state vector x directly we may introduce a new vector z = Czx

which contain the constrained combination of states. The following shows how tomodel the constraints such that a QP problem can solved.

First we introduce the vector 1m(x) = [x; x; : : : ; x]T of length m. Then, over areceding horizon Nu, we can describe the magnitude constraints as

PmUu � qm; (2.123)

with

Pm =

"I

�I

#qm =

"1Nu

(umax)

�1Nu(umin)

#; (2.124)

where I is an identity matrix of dimension Nu � Nu. For the rate constraints weget

PrUu � qr; (2.125)

where

Pr =

"P0r

�P 0r

#; (2.126)

and

P0r=

2666666664

1 0 0 � � � 0

�1 1 0. . .

...

0 �1 1. . .

......

. . . . . . . . . 0

0 � � � 0 �1 1

3777777775

qr =

"1Nu

(�umax)

�1Nu(�umin)

#+

26666666666666664

u(k � 1)

0...

0

�u(k � 1)

0...

0

37777777777777775

:

(2.127)

Page 71: Control of systems with constraints.pdf

2.3 / Predictive Controller Design 47

For the state constraints we use theN2 state predictions Z = ICzX = ICz

(Fz(k)+

GuUu) where ICzis a block diagonal matrix with instances of Cz in the diagonal.

The state constraints can be described as

PzUu � qz; (2.128)

with

Pz =

"ICz

Gu

�ICzGu

#qz =

"1N2

(zmax)� ICzFx(k)

�1N2(zmin) + ICz

Fx(k)

#; (2.129)

where nz is the number of outputs in z.

In condensed form the constraints can be expressed as

PUu � q; (2.130)

with

P =

2664Pm

Pr

Pz

3775 q =

2664qm

qr

qz

3775 : (2.131)

State Constraints

The constraints on the states of the controlled system are normally imposed for tworeasons:

Safety concernCertain operating conditions may prevent unnecessary wear and tear of theinstallations and hence from a safety viewpoint system states are constrained.For example, a temperature or a velocity would have to lie within certainlimits to prevent stressing the equipment, and a space telescope normallyhave certain exclusion zones towards the sun (regions of the state space)where the optics may take damage.

Control performanceAs shown in Kuznetsov and Clarke (1994) and Camacho and Bordons (1999)constraints on the controlled output can be used to force the response of theprocess to have certain characteristics. By imposing constraints the output

Page 72: Control of systems with constraints.pdf

48 Chapter 2 / Controller Design for Constrained Systems

can be specified to produce a response within a band, with maximum (ornone) overshoot, without oscillations, without non-minimum phase behav-ior, or with a terminal state constraints where the output is forced to followthe trajectory a number of sampling periods after the horizon N2.

The specification of a maximum overshoot is desirable in many practical systems.For example, when controlling a mobile robot, an overshoot may produce a colli-sion with the surroundings. Furthermore, overshooting is related to damping whichis a well understood parameter often used in selecting desired closed-loop poles.This way, imposing constraints can help visualize and predict the behavior of theclosed-loop predictive controlled system. The actual implementation of overshootconstraints is easy. Let the output of interest be defined as z(k) = Czx(k). When-ever a change in the reference r(k) is made (assuming z(k) � r(k)), the followingconstraint is added to the system:

z(k + j) � k1r(k); j = 1; : : : ; N2; k1 � 1; (2.132)

where k1 determines the maximum allowable size of the overshoot and N2 definesthe horizon during which the overshoot may occur. Using the predictions of x wehave

ICzGuUu � 1N2

(k1r(k))� ICzFx(k); (2.133)

where ICzis a block diagonal matrix with instances of Cz in the diagonal.

For negative reference changes we have in similar way

z(k + j) � k2r(k); j = 1; : : : ; N2; k2 � 1; (2.134)

and with the state predictions

�ICzGuUu � �1N2

(k2r(k)) + ICzFx(k): (2.135)

Often, constraints on the output signals are soft constraints meaning the output canphysically exceed the imposed constraints and violations can actually be allowedfor short periods of time without jeopardizing safety concerns. Soft constraintscould be handled to some extent by tuning of the controller by adjusting the weightson the signals of interest in the criterion. But, as seen, imposing constraints mayhelp in fulfilling closed-loop performance objectives.

Page 73: Control of systems with constraints.pdf

2.3 / Predictive Controller Design 49

Constraints and Optimization

We have now stated the constrained quadratic programming problem given by(2.118) and (2.119) and in searching for a minimum, an iterative optimization al-gorithm is used. A basic algorithm is described in Algorithm 2.3.1.

Algorithm 2.3.1 Sketch of iterative optimization algorithmOPTIMIZATION(x0)

1 i 0

2 while stop criterion is not satisfied3 do di search direction4 �i step in search direction5 xi+1 xi + �idi

6 i i+ 1

7 evaluate stop criterion8 return optimal solution

The algorithm shows that basically two features identify the optimization algo-rithm: the search direction, and the step size in the search direction.

Various quadratic programming techniques are available that will solve the statedminimization problem (see for example Luenberger (1984)) and have been usedin a predictive control context, e.g. by Garcıa and Morshedi (1984); Camacho(1993) and Chisci and Zappa (1999). However, QP methods are complex, time-consuming (likely to be a problem in electro-mechanical real-time applications),and may lead to numerical problems as pointed out in Rossiter et al. (1998). Thus,simpler gradient projection methods such as Rosen’s have been explored (see forexample Bazaraa et al. (1993)) and applied to predictive control applications, e.g.by Soeterboek (1992) and Hansen (1996). However, in the case of rate constraints,the complexity of this algorithm increases significantly.

Suboptimal Constrained Predictive Control

Suboptimal constrained predictive control (SCPC) has been the issue of Kouvar-itakis et al. (1998) and Poulsen et al. (1999). The search for an optimal solutionis renounced in favor of a decreased computational burden. One such suboptimalapproach is based on a linear interpolation between the unconstrained optimal so-lution and a solution that is known to be feasible (the solution does not activate

Page 74: Control of systems with constraints.pdf

50 Chapter 2 / Controller Design for Constrained Systems

the constraints). The optimization problem is reduced to finding a single interpo-lation parameter and can be solved explicit. According to the authors, the degreeof optimality for the method is large and the solution benefits from the fact that itcoincides with the unconstrained optimal solution whenever feasible.

2.3.6 Design of a Predictive Controller

Although the handling of constraints for the predictive controller is classified asembedded, the actual design of the controller may easily be split in two steps wherethe first step is the design of a linear predictive controller and the second stepmodels the constraints and selects a way of solving the constrained optimizationproblem.

Soeterboek (1992) has a comprehensive evaluation of how the different designparameters of the unified predictive controller influence the performance of theclosed-loop control system.

2.4 Nonlinear and Time-Varying Methods

So far, the techniques considered in section 2.2 and 2.3 have been linear and havegenerated linear controllers (at least in the linear area of operation). This has someshortcomings. The anti-windup and bumpless transfer approach does not guaran-tee control signals within the limits since the compensation is not activated untila constraint becomes active. The predictive controller, however, does satisfy theconstraints but the computational burden is significant and the actual implemen-tation of the controller is difficult seeking a resource optimal programming of thealgorithms.

Since the nature of constraints itself is nonlinear, one might expect a nonlinearcontroller to achieve better performance than a linear one. Few nonlinear controltools exist for incorporating actuator saturations into the design process as evensimple linear systems subject to actuator saturations generate complex nonlinearproblems. Very few general results exist even for constrained linear systems—as amatter of fact most results are very specific to a small class of systems. Examplesof such systems are chains of integrators and driftless systems ( _x = f(x)u). Somesignificant results on nonlinear bounded control can be found in Teel (1992); Suss-mann et al. (1994); Lauvdal et al. (1997); Lauvdal and Murray (1999) and Morinet al. (1998a). The different approaches have different characteristics, but most of

Page 75: Control of systems with constraints.pdf

2.4 / Nonlinear and Time-Varying Methods 51

them rely on a scaling of the controller where the feedback gains converge to zeroas the norm of the states tends to infinity.

2.4.1 Rescaling

One of the more promising ideas explored within the nonlinear approaches is theso-called dynamic rescaling initially proposed in Morin et al. (1998a). The methodis based on recent results on stabilization of homogeneous systems in M’Closkeyand Murray (1997) and Praly (1997) where a rescaling method has been developedto transform a smooth feedback with (slow) polynomial stability into a homoge-neous feedback yielding (fast) exponential stability8.

In the dynamic rescaling technique a linear stabilizing controller (for a linear sys-tem) is rescaled as a function of the state generating a new stabilizing and boundedcontrol law. The concept is depicted in Figure 2.11.

Dynamic

Rescaling

ActuatorController Plantu u y

r

x

Figure 2.11. Dynamic rescaling.

The family of systems considered are single-input linear open-loop stable and con-trollable systems in Rn :

_x = Ax+Bu; (2.136)

with A and B given as8For a nonlinear system with a null-controllable linearization, exponential stability is not possible

with smooth feedback.

Page 76: Control of systems with constraints.pdf

52 Chapter 2 / Controller Design for Constrained Systems

A =

2666664

0 1 0...

. . . . . .

0 � � � 0 1

�a1 � � � �an�1 �an

3777775 ; B =

2666664

0...

0

1

3777775 : (2.137)

In general, the bounded control law for this system turns out rather complex (forinstance, the controller for a 4 dimensional system is parameterized by some 12parameters). Although tedious, the method is interesting as the following examplewill illustrate.

For simplicity consider the double integrator

_x1 = x2

_x2 = u;(2.138)

stabilized with any linear state feedback controller

u(x) = �l1x1 � l2x2 (l1; l2 > 0): (2.139)

Now, for any � > 0 introduce the scaled controller

u(�; x) = � l1�2x1 � l2

�x2; (2.140)

and the Lyapunov function

V (�; x) =l1

�4x21 +

1

�2x22: (2.141)

The controller will again be a stabilizing controller for (2.138) since � > 0 andthe Lyapunov function can be shown to be non-increasing along the trajectories of(2.138)-(2.140). The concept of the rescaling procedure is now to choose � suchthat the Lyapunov function (2.141) stays at a chosen contour curve for x tendingto infinity. This will bound the control signal.

Let �(x) be a scalar function given by

�(x) =

(1 V (1; x) � 1

solution of V (�; x) = 1 otherwise.(2.142)

Then the rescaled feedback law is given as

Page 77: Control of systems with constraints.pdf

2.4 / Nonlinear and Time-Varying Methods 53

u(�; x) =

(0 x = 0

� l1

�(x)2x1 � l2

�(x)x2 x 6= 0:

(2.143)

The equation V (�; x) = 1 has, for � > 0, a unique positive solution

� =

sx22 +

px42 + 4l1x

21

2: (2.144)

This controller ensures global asymptotical stability and boundedness . The latterproperty is verified from (2.143) and (2.144):

max

�l1

�2(x)x1

�=pl1 (2.145)

max

�l2

�(x)x2

�= l2: (2.146)

The respective minimums have opposite signs. A conservative estimate of the max-imum of u is then

max (u(�; x)) �pl1 + l2: (2.147)

The Lyapunov function V (�; x) controls the rescaling process and hence effects theoverall performance of the constrained system. Many possible Lyapunov functionsare available but how to choose the “best” one is not clear. Another design difficultyis the fact that the control law is guaranteed bounded but the specific bounds arenot given. Thus, the designer must, by simulation or direct calculations, determinethe bounds and if they are too large or narrow, the Lyaponov function must bemodified.

Adaptive Determination of Bounds

The bounds on the rescaled controller (2.142)-(2.143) are governed by the Lya-punov function equality V (�; x) = 1 and are difficult to calculate explicitly exceptfor a cautious assessment. Furthermore, as for the shown example, the bounds de-pends on the controller feedback gains li. This dependency is unfortunate as themethod conceptually could be an add-on to an existing stabilizing linear controllerand not an integrated part of the design of the controller. As we will show, a smallextension to the approach will allow the controller to, adaptively, adjust the right

Page 78: Control of systems with constraints.pdf

54 Chapter 2 / Controller Design for Constrained Systems

side of the Lyapunov equality such that independently chosen actuator bounds canbe specified.

Consider the equation V (�; x) = � where V (�; x) is defined in (2.141) and � > 0.For x 6= 0 this equation has the unique positive solution

� =

vuut 1�x22 +

q1�2x42 + 4 1

�l1x

21

2: (2.148)

Now choose �(x) in the following way

�(x) =

(1 if V (1; x) � �the solution (2.148) otherwise.

(2.149)

If � is increased, larger control signals are allowed before the rescaling is activatedand vice versa if � is decreased.

By letting � time-varying we can estimate � such that a value for � is found thatcorresponds to the given actuator saturation limits. It is imperative that � remainspositive. Let

_� = ��ju� uj; (2.150)

where � > 0 is a tuning parameter that governs the convergence rate and u =

sat(u) is the saturated control signal. The initial condition �(0) should be chosenlarge since the adaptation law only allows � to become smaller over time.

For the double integrator we can make use of the fact that we know the bounds onthe maximum value for u(�; x). For the controller with � given by (2.149) we getthe upper bound

max (u(�; �; x)) � max

�l1x1

�2

�+ max

�l2x2

�(2.151)

=p�

�pl1 + l2

�: (2.152)

Define for an actuator u = min(umax; juminj) where umax and umin are the actuatorsaturation limits. A lower bound for � is then given from max(u(�; �; x)) = u:

� =

�upl1 + l2

�2

: (2.153)

Page 79: Control of systems with constraints.pdf

2.4 / Nonlinear and Time-Varying Methods 55

A lower bound for the maximum value of u(�; �; x) is given as

max (u(�; �; x)) � min

�max

�l1x1

�2

�;max

�l2x2

��(2.154)

=p� min

�pl1; l2

�: (2.155)

This leads to an upper bound for �:

� = u2 max

�1

l1;1

l22

�; (2.156)

which would be a sensible initial value for �, that is �(0) = �.

During convergence of �, the control signal will saturate and hence stability of thisextented rescaling approach is no longer strictly guaranteed but simulation studiespromise good performance and stability. The tuning parameter � should be chosenwith in mind that a large value will speed up convergence but may cause the reachedbounds to be conservative while a small value will cause the controller to saturateover at longer period of time.

Simulation Study

To illustrate the adaptive determination of the saturation bounds, consider the dou-ble integrator affected by a nasty (unrealistic but for the study interesting) distur-bance on the state vector. The system is assumed stabilized by a feedback controllerwith gains l1 = 0:5 and l2 = 1 and the input is magnitude saturated with juj � 1.Based on these settings we initialize �(0) = 2 and set � = 0:5. Figure 2.12 showsthe control signal u(�; �; x) and the convergence of �. It is seen how u at first sat-urates but as � tends to a smaller value the control signal remains within the limits.

2.4.2 Gain Scheduling

The rescaling approach guarantees stability but performance and even actuatorbounds are difficult to specify a priori. The following will consider a gain schedul-ing method similar to rescaling but with a different approach to selecting the scal-ing. The aim is to have good performance of the constrained closed-loop systemin terms of rise time, settling time, and overshoot which often are deteriorated byconstraints. Optimally, these quantities should be as close as possible to those ofthe unconstrained system.

Page 80: Control of systems with constraints.pdf

56 Chapter 2 / Controller Design for Constrained Systems

0 50

−1

0

1

Inpu

t

0 500.5

1

1.5

2

β

Time (secs)

Figure 2.12. Time response for the saturation scaling factor �.

The Scaling Approach

The problem considered is to stabilize a chain of integrators

_x1 = x2

_x2 = x3

...

_xn = u;

(2.157)

where xi; i = 1; : : : ; n are the states and u is the input subject to saturation, thatis, u = sat(u). Assume we have designed a linear controller given by

u = �Lx; L =hl1 l2 � � � ln

i; (2.158)

which stabilizes the chain of integrators when no saturation is present. The ob-jective of the gain scheduling is to modify the state feedback matrix L such thatsettling time and in particularly the overshoot are improved during saturation com-pared to the uncompensated constrained system. The overshoot of a constraineddynamic time response is mainly governed by the windup up in the controller stateswhile the settling time is governed by the undamped natural frequency. These ob-servations lead to the following schematic gain scheduling approach:

Page 81: Control of systems with constraints.pdf

2.4 / Nonlinear and Time-Varying Methods 57

1. During saturation, schedule the controller such that the closed-loop polesmove towards the origin while keeping a constant damping ratio. This willdecrease the needed control signal and hence reduce windup without increas-ing the overshoot. Unfortunately, the rise time is increased.

2. When the controller de-saturates, move the poles back towards the originallocations. This will help improve the overall settling time.

A set of complex poles, say p1 and p2, are in terms of the damping ratio � and theundamped natural frequency !n given by

p1;2 = !n

���2� jp1� �2

�: (2.159)

This shows that it is feasible to schedule the frequency while maintaining the damp-ing ratio with only one parameter. The gain scheduled poles are given by

p1;2(�) =!n

���2� jp1� �2

�; (2.160)

where � 2 [1;1[ is the scaling factor. For � = 1 no scheduling is applied while for� ! 1 the poles move towards the origin reducing the magnitude of the controlsignal.

Applying this scheduling approach to the chain of integrators, we get the followinggain scheduled characteristic polynomial C(s)

C(s) =�s+

p1

��s+

p2

�� � � � �

�s+

pn

�; (2.161)

which expanded can be verified to give

C(s) = sn +

ln

�sn�1 + : : :+

l1

�n; (2.162)

where li; i = 1; : : : ; n are the state feedback gains. This leads to the followingdefinition of the gain scheduled control law

u(�; x) = �LK(�(t))x; (2.163)

where

K(�(t)) = diag���n(t); �n�1(t); : : : ; ��1(t)

�; (2.164)

Page 82: Control of systems with constraints.pdf

58 Chapter 2 / Controller Design for Constrained Systems

and �(t) is the scaling factor.

For a fixed scaling factor �(t) = � we observe that if the original poles pi; i =1; : : : ; n are in the open left-half part of the complex plane, then so are the polespi(�); i = 1; : : : ; n of the resulting linear controller when applying a fixed � 2[1;1[. This follows from (2.160) where we have pi(�) = 1

�pi.

The nonlinear scheduling in (2.164) has several advantageous properties over alinear scaling K(�) = �

�1I . To illustrate, Figure 2.13 shows a root locus for a

fourth order integrator chain when using linear and nonlinear scaling, respectively.The original pole placement is the same for the two solutions but it is seen thatlinear scaling may lead to unstable poles. Also note that the damping ratio, asexpected, is kept constant during nonlinear scaling.

−1.5 0

−1

0

1

Imag

Axi

s

Real Axis

(a) Nonlinear scaling

−1.5 0

−1

0

1

Imag

Axi

s

Real Axis

(b) Linear scaling

Figure 2.13. Root locus for a fourth order integrator chain with closed-loop poles as afunction of � for nonlinear (left) and linear (right) scaling. ’�’ and ’Æ’ indicate nominal(� = 1) and open-loop poles (�!1), respectively.

Notice, that for systems with only one or two integrators, linear scaling will alsoproduce stable poles for all feasible values of �. The problem with instability onlyexists for dimension three or larger.

Page 83: Control of systems with constraints.pdf

2.4 / Nonlinear and Time-Varying Methods 59

The Scaling Factor

Having selected the scaling method we need to specify how to determine the scal-ing factor �. Based on the two previous stated performance observations we suggestto make the scaling factor partly state partly time depending. Define �(t; u) as

_� =

8><>:�ju� uj u > umax + � or u < umin � �0 jumax�uj � � or jumin � uj � �� �

N(�� 1) otherwise,

(2.165)

where � > 0, N > 0, � > 0 and u denotes the usual saturated control signal. Thefirst case increases � during saturation which moves the poles towards the originand thereby reduces the control signal. Upon de-saturation the third case will force� back to the nominal value � = 1. � creates a dead-band around the saturationlimits which is introduced to smooth the changes in �. Figure 2.14 shows _� as afunction of u.

0umin umaxu

2�

_� > 0�! 1_� > 0 _� = 0

2�

_� = 0

Figure 2.14. The choice of _�.

In Figure 2.15 an example of a time response for u and � is shown. During satura-tion � increases until u is within the specified bounds. In terms of performance itis desirable to bring � back to unity. This is done at a sufficiently slow rate since,if done too fast, u will hit hard the other saturation level.

The parameters are easy to choose. The following observation are made:

� � depends on system and controller dynamics and saturation limits. Choose� large for fast closed-loop systems with little actuator capacity.

� N governs the rate at which the rescaled controller resets to the originaldesign. For large control errors, choose a large value for N since too fastrecovery can cause instability. Note, that N large may cost in performance.A good value seems to be in the range 10� 50.

Page 84: Control of systems with constraints.pdf

60 Chapter 2 / Controller Design for Constrained Systems

0 40

−1

0

1

Inpu

t

0 401

5

9

λ

Time (secs)

Figure 2.15. Sketch illustrating the scaling factor when input is magnitude saturated.

� Typically, one can choose � to 0� 20% of the maximum actuator output.

Extension to Model Class

The chain of integrators considered in the previous section is a somewhat limitingmodel class. This section will extend the considered class of systems to includesingle input linear systems in lower companion form

_x = Ax+Bu; A =

2666664

0 1 0...

. . . . . .

0 � � � 0 1

�a1 � � � �an�1 �an

3777775 ; B =

2666664

0...

0

1

3777775 : (2.166)

The goal is to find a scaled feedback control law u = �L(�)x with L =

(l1(�); : : : ; ln(�)) such that the characteristic polynomial of this system yields

C(s) = sn +

an + ln

�sn�1 + : : :+

a1 + l1

�n; (2.167)

where li; i = 1; : : : ; n are the nominal non-scaled linear state feedback gains.Solving for the scaled feedback gains li(�) we get:

Page 85: Control of systems with constraints.pdf

2.4 / Nonlinear and Time-Varying Methods 61

ai + li(�) =ai + li

�n�i+1(2.168)

) li(�) =1

�n�i+1

��(�n�i+1 � 1)ai + li

�: (2.169)

For � ! 1 we have li(�) ! �ai and C(s) ! sn which, as expected, places the

poles in zero. � = 1 restores the nominal control as li(�) = li.

Simulation Study

To illustrate the developed gain scheduling approach we shall investigate the prop-erties through a simulation study. Consider an integrator chain of length 4, i.e.

_x1 = x2

_x2 = x3

_x3 = x4

_x4 = u

y = x1;

(2.170)

where y is the output. We assume existence of input unity magnitude limitationsjuj � 1 and a linear stabilizing controller u = �Lx. Initially, we place the fourpoles of the linear system such that the undamped natural frequencies are !n = 1

and the damping ratios are � = 1p2

and � = 1

2p2, respectively, which yields the

gains

L =h1 3p

23 3p

2

i: (2.171)

The following simulations assume x(0) = (x1(0); 2; 0; 0)T , where x1(0) may vary.

The saturation element causes the linear controller with gains (2.171) to go unstablefor x1(0) > �1:25. Throughout the simulations, � is set to 0:1. Generally, theinfluence is negligible but may help to remove possible chattering in �. Note, thatthe uncompensated constrained system with no gain scheduling is unstable for allthe following examples.

Figure 2.16 shows a simulation result with initial conditions x1(0) = 10. For com-parison the unconstrained linear response is also shown. It is seen that the sched-uled response is slower but the overshoot (undershoot in the case) is similar.

To illustrate the robustness in the choice of the parameters � and N Figure 2.17and 2.18 shows the effects of varying � and N , respectively.

Page 86: Control of systems with constraints.pdf

62 Chapter 2 / Controller Design for Constrained Systems

0 25−5

0

5

10

15

Out

put

0 25−15

−10

−5

0

5

Inpu

t

0 251

1.5

2

λ

Time (secs)

Figure 2.16. Time response with saturation and gain scheduling (solid) using � = 1 andN = 10. For comparison the unconstrained linear response is shown (dashed). The un-compensated constrained response is unstable.

0 25−5

0

5

10

15

Out

put

Time (secs)

Figure 2.17. Time response for N = 10, � = 0:2 (solid), � = 1 (dashed), and � = 3

(dash-dotted).

0 5 10 15 20 25−5

0

5

10

15

Out

put

Time (secs)

Figure 2.18. Time response for � = 1, N = 4 (solid), N = 10 (dashed), and N = 100

(dash-dotted).

Page 87: Control of systems with constraints.pdf

2.5 / Comparison of Constrained Control Strategies 63

For all parameter choices the responses are good but for smaller values of � theovershoot increases and for large N the response becomes slower.

Finally, Figure 2.19 shows robustness for different initial states. The inputs arescaled so that saturation only occurs during the first seconds. It is seen that particu-larly for x1(0) = 100 some oscillations show up. Choosing N larger would reducethese.

0 25

0

50

100

Out

put

0 50

−1

0

1

Inpu

t

Time (secs)

Figure 2.19. Time response for � = 1, N = 10, and x1(0) = 1 (solid), x1(0) = 50

(dashed), and x1(0) = 100 (dash-dotted).

2.4.3 Conclusions

The presented rescaling and gain scheduling methods have much in common suchas the way the scaling is incorporated into the controller but the selection of thescaling/scheduling is different.

The rescaling approach guarantees controller output within the saturation limitswhereas the gain scheduling is more like the AWBT compensation since the sched-uler is activated only when constraints become active.

2.5 Comparison of Constrained Control Strategies

The previous three sections have presented four different methods of handling con-straints in the control design process

Page 88: Control of systems with constraints.pdf

64 Chapter 2 / Controller Design for Constrained Systems

1. Anti-Windup and Bumpless Transfer (Section 2.2).

2. Constrained Predictive Control (Section 2.3).

3. Dynamic Rescaling (Section 2.4.1).

4. Gain scheduling (Section 2.4.2).

The last two approaches are listed separately, although they have some similaritiessuch as how the scaling is introduced into the linear controller.

Table 2.5 aims to compare the strategies on a variety of properties. Some propertiessuch as the computational burden of an implementation and the number of designparameters depend to some degree on the order of the system and the controllerand on which design options are applied. For example, a predictive controller hasa number of optional design parameters (N1; N2; Nu, weights, filters) but is fairlyindependent of the order of the system. On the other hand, a AWBT compensationis directly linked to the order of the controller. Therefore, some of the entries inthe table are debatable and, in general, the table mainly applies to low orderedsystems.

Anti-WindupBumplessTransfer

ConstrainedPredictiveControl

DynamicRescaling

Gainscheduling

System Any Linear,(possiblynonlinear)

Chain ofintegrators orcompanionform

Chain ofintegrators orcompanionform

Controller Any PredictiveController

Statefeedback

Statefeedback

Model-based No Yes Yes Yes

Constraints InputMagnitude

Input, OutputRate,Magnitude

InputMagnitude

Input Rate,Magnitude

Signalsguaranteedwithin limits

No Yes Yes No

Specificationof constraints

Easy Easy Trial and error,adaptive

Easy

continued on next page

Page 89: Control of systems with constraints.pdf

2.6 / Case Studies 65

continued from previous page

Anti-WindupBumplessTransfer

ConstrainedPredictiveControl

DynamicRescaling

Gainscheduling

Computationalburden

Low High Low Low

Number ofDesignParameters

Few Few-Many Many Few

ParameterUnderstanding

Good Good Low Fair

StabilityResults

Few Yes Yes Few

ConstrainedPerformance

Depends ondesign/Good

Good/Optimal Fair Depends ondesign/Good

Unconstrainedwhen feasible

Yes Yes Yes Transient

Industrial im-plementations

Numerous Numerous Few Few

Documentation Extensive Extensive RudimentaryFew papers

RudimentaryFew papers

Table 2.5: Properties of discussed constrained control strategies.

The comparison is far from complete since other constrained control approachesthan those discussed are available in the literature. Examples of such are slidingmode control, mode-switching systems, specific nonlinear controllers, bang-bangcontrol, and supplementary gain scheduling approaches. However, they will notfurther be discussed.

2.6 Case Studies

Three cases are studied in the following, the last two being of greatest importance.The first study briefly investigates a constrained single integrator. The last twostudies use a cascaded double tank system to examine the observer-based approach(Astrom and Rundqwist, 1989) and a predictive controller, and aim to verify theusefulness of the procedures and comment on the selection of parameters.

Page 90: Control of systems with constraints.pdf

66 Chapter 2 / Controller Design for Constrained Systems

2.6.1 PI Control of Single Integrator

The objectives of this example are twofold: Firstly, we aim to show how actuatorconstraints explicitly can be handled in the design of a PI controller if the appliedreferences and disturbances are known at the design level. Secondly, the exampleshould demonstrate that this is not a practicable design approach.

For simplicity the system G(s) under consideration is a single integrator and thecontroller C(s) is a PI controller. The transfer functions are given as

G(s) =1

s; C(s) = k

1 + �is

�is; (2.172)

where k and �i are the controller parameters. The transfer function from referenceto controller output is found to be

u(s)

r(s)= H(s) =

s(ks+ k

�i)

s2 + ks+ k

�i

=s(2�!ns+ !

2n)

s2 + 2�!ns+ !2n

; (2.173)

where

!n =

rk

�i(2.174)

� =k

2!n= 0:5

pkp�i; (2.175)

and denote the undamped natural frequency and the damping ratio, respectively.Closed-loop stability is guaranteed for k; �i > 0.

Assuming a unity step input r(s) = 1s

as worst-case we want to find the maximum

value u(t) can take. Applying the inverse Laplace transform to H(s)s

, yields thefollowing time response for u(t)

u(t) = e��!nt

�2�!n cos(!dt) + !d

1� 2�2

1� �2 sin(!dt)

�; t � 0; (2.176)

where

!d = !n

p1� �2; (2.177)

is the damped natural frequency. We have assumed complex poles (� � 1). Solvingdu

dt= 0 for t = tmax, we get

Page 91: Control of systems with constraints.pdf

2.6 / Case Studies 67

tmax =1

!darctan

p1� �2�

(1� 4�2)

(3� 4�2)

!: (2.178)

For 0:5 � � � 1 we have tmax � 0 which means that maximum for the timeresponse for u(t); t � 0 is for t = 0. For � < 0:5 we have tmax > 0 and maximumfor u(tmax).

For t = 0 we get u(0) = 2�!n = k. In order to avoid saturation, k should beselected smaller than the smallest saturation level, that is

k � min(juminj; umax): (2.179)

Having selected k we need to select �i based on the wanted damping ratio whichgoverns the overshoot and the natural frequency which governs the rise time. Asmall rise time implies a small damping ratio so it is a compromise. The dampingratio, though, also governs the closed-loop zero (�!n

2�= � 1

�iwhich moves to

the right towards the poles for increasing � . This will add overshoot to the stepresponse.

In case tmax > 0 we can, for a selected � , solve u(tmax) = min(juminj; umax) for !nand then determine k and �i.

This design approach might be extended to higher order systems but still someobvious disadvantages are present:

� The designer need to have an a priori knowledge of worst-case referencesand disturbances which may or may never occur in practice. The risk is aconservative controller.

� The degree-of-freedom in the controller design is reduced as the constraintsare considered.

� Complexity increases significantly for higher order controllers and systems.

The most compromising draw-back is of course the requirement of a priori knowl-edge which undermines the concept behind feedback control of dynamic systems.

2.6.2 Anti-Windup Control of Double Tank System with Saturation

This case study aims to demonstrate how the choice of the AWBT compensationmatrix M in an observer-based anti-windup scheme is of great importance for the

Page 92: Control of systems with constraints.pdf

68 Chapter 2 / Controller Design for Constrained Systems

closed-loop constrained response. For the double tank system considered, we showa way of selecting the AWBT parameters such that superior performance is ob-tained.

Both Astrom and Rundqwist (1989) and Kapoor et al. (1998) have illustrated anti-windup on the same process, namely a system consisting of two identical cascadedtanks. The input to the system is the pump speed which determines the flow rate tothe upper tank. The process output considered is the lower tank’s fluid level. Theprocess is shown in Figure 2.20 where a pump transports the fluid from a reservoirto the upper tank.

pump lower tank

upper tank

Figure 2.20. Double tank system.

Linearized around an operating point, the double tank can be described by the statespace model

_x =

"�� 0

� ��

#x+

"�

0

#u = Ax+Bu (2.180)

y =h0 1

ix = Cx; (2.181)

or in the Laplace domain as

y(s) =��

(s+ �)2u(s); (2.182)

with � = 0:015 and � = 0:05 for the particular system. The states x1 and x2 are theupper and lower tank level’s perturbations around the operating point, respectively,and u is proportional to the flow generated by the pump. The manipulated input uis restricted to the interval [0; 1].

Page 93: Control of systems with constraints.pdf

2.6 / Case Studies 69

A continuous-time 2 DoF PID controller

u = K

�br � y + 1

s�i(r � y) + �ds

1 + �d

Ns(r � y)

�; (2.183)

is fitted to the system. A state space realization of the PID controller with observer-based anti-windup as described in Section 2.2.3 is given as

_xc =

"0 0

0 �N

�d

#xc +

"1

KN

�d

#r �

"1

KN

�d

#y +

"m1

m2

#(u� u) (2.184)

= Fxc +Grr �Gyy +M(u� u) (2.185)

u =hK

�i�N

ixc +K(N + b)r �K(N + 1)y = Hxc + Jrr � Jyy (2.186)

u = sat(u); (2.187)

where M is the anti-windup compensation. The controller parameters are set toK = 5; �i = 40; �d = 15; N = 5, and b = 0:3 such that the unsaturated closed-loop system has poles at

�0:0257 � i0:0386;�0:2549;�0:0569; (2.188)

and exhibits satisfactory performance to a step on the reference.

The following will make a fair comparison of the performance for different choicesof the AWBT gain matrix M and to extract general design rules based on thestudy’s results.

Selection of Anti-Windup Gain Matrix

The objective of this experiment is to evaluate AWBT settings and determine op-timal AWBT setting for various references and disturbances. The experiment isconducted as follows.

1. t = 0: Reference step r = 1, process and controller start from stationaritywith x(0) = 0 and xc(0) = 0.

2. t = 300: Impulse disturbance: state x2 is changed to 1.5.

3. t = 600: Load disturbance on u with magnitude �0:65.

Page 94: Control of systems with constraints.pdf

70 Chapter 2 / Controller Design for Constrained Systems

0 300 600 9000

0.5

1

1.5

Out

put

Time (secs)

Figure 2.21. Time response for the unconstrained system (solid) and the constrained systemwithout anti-windup (dashed).

For the experiment Figure 2.21 shows the output of the closed-loop system with-out saturation and for the closed-loop system with saturation but no anti-windupcompensation. The response with saturation is obviously poor with unsatisfactoryovershoots and oscillations. A necessary condition for stability of the constrainedclosed-loop system is stable eigenvalues of the matrix

FM = F �MH =

"�m1K

�im1N

�m2K

�im2N � N

�d

#; (2.189)

which describes the closed-loop dynamics of the controller during saturation. It is,however, not a sufficient condition. As an example of that, choose M such that theeigenvalues of FM are (�0:0020 � i0:0198) and expose the saturated tank systemto a unity reference step. Figure 2.22 shows the marginally stable result.

0 300 600 9000

1

2

Out

put

Time (secs)

Figure 2.22. The marginal stable response for the constrained system with a saturation-wisestable controller.

Page 95: Control of systems with constraints.pdf

2.6 / Case Studies 71

For the double tank system with the described experiment Astrom and Rundqwist(1989) have considered three different choices of M which place the eigenval-ues of the matrix FM at (�0:05;�0:05); (�0:10;�0:10), and (�0:15;�0:15). Aspointed out in Astrom and Rundqwist (1989) only the first choice of M gives sat-isfactory results for the impulse disturbance and hence only the first choice willbe considered here. Kapoor et al. (1998) advocates for choosing the eigenvalues ofFM at (�0:2549;�0:0569) which guarantees stability for feasible references. Us-ing Hanus’ conditioning technique described in section 2.2.4 we get M = GrJ

�1r

which gives the eigenvalues (�0:0118 � i0:0379) of FM . Finally, we suggestchoosing the eigenvalues of FM equal to the two slowest poles of the closed-loopsystem, namely (�0:0257 � i0:0386). We will refer to these specific anti-windupmatrices as Ma;Mk;Mh and Ms for the Astrom, Kapoor, Hanus, and the slowestpoles design, respectively.

Figure 2.23 shows input and output profiles for the four design choices. All fourchoices improve the response, although Hanus’ conditioning technique tends tooscillate since the control signal after de-saturation immediately saturates at theother level. This is the inherent short-sightedness mentioned in section 2.2.4. Theperformance of the system exposed to the load disturbance is almost identical forall gain selections and will not be investigated any further.

0 300 600 9000

0.5

1

1.5(a)

0 300 600 9000

0.5

1

1.5(b)

0 300 600 9000

0.5

1

1.5

Time (secs)

(c)

0 300 600 9000

0.5

1

1.5

Time (secs)

(d)

Figure 2.23. Time response for the constrained system for different choices of the anti-windup gain matrix. The unconstrained response (dashed), the constrained response(solid), and the input (dotted) are shown for anti-windup gains (a) M a, (b) Mk, (c) Mh,and (d) Ms.

Page 96: Control of systems with constraints.pdf

72 Chapter 2 / Controller Design for Constrained Systems

Since the purpose of AWBT is to reduce the effects from saturation (maintainingstability and good performance of the closed-loop system under saturation) we willconsider the error between the constrained and the unconstrained time response.Define the output error ~y = y� yu where y and yu are the constrained and uncon-strained outputs, respectively. The following performance index is considered

I =1

N2 �N1 + 1

N2Xi=N1

j~y(i)j; (2.190)

where ~y(i) is the sampled error. To ease the comparison of the different designs thegenerated performance indices from an experiment are normed with the smallestindex from the experiment. This implies that the best design choice for a specificexperiment will have a normed error equal to 1. Note, the normed errors from oneexperiment to another cannot be compared.

The four designs are compared in Table 2.6 for the full experiment as well as for thedifferent sub-experiments. Notice that the slowest poles selection yields a superiorperformance under all tried conditions while Kapoor’s selection performs the worstexcept with regards to the load disturbance where Hanus’ selection takes the credit.

Experiments

Design Full exp. Reference Impulse Load

Ma 1.11 1.11 1.11 1.07

Mk 1.34 1.50 1.24 1.04

Mh 1.17 1.12 1.21 1.23

Ms 1.00 1.00 1.00 1.00

no AWBT 2.19 2.44 1.96 1.93

min(I) 0.0478 0.0696 0.0582 0.0155

Table 2.6. Normed errors between constrained and unconstrained response exposed to ref-erence step, impulse disturbance, and load disturbance.

The conditioning technique with cautiousness mentioned in 2.2.4 may help to im-prove Hanus’ conditioning technique. Figure 2.24 shows a root locus for the polesof FM using cautiousness. We see that cautiousness does not give the designer full

Page 97: Control of systems with constraints.pdf

2.6 / Case Studies 73

control of the pole locations and cautiousness cannot move the poles to neither thelocations of the Astrom design nor the slowest poles design.

−0.3 −0.15 0−0.04

0

0.04

Imag

Axi

s

Real Axis

Figure 2.24. Eigenvalues of FM = F �M(�)H using the conditioning technique withcautiousness and � varying from � = 0 (’o’) to � ! 1 (’�’). Eigenvalues for otherdesigns are also shown: Ma (’�’), Mk (’�’), and Ms (’+’).

Robustness to Reference Steps

The objective of this part of the study is to investigate the robustness to differentsized reference steps.

The input-output gain of the process is �

�= 10

3and u 2 [0; 1]. Hence, the feasible

references for which the constraints are inactive in stationarity are restricted to theinterval [0; 10

3] assuming no load disturbance on u is present.

The setting for the experiment is:

1. t = 0: Reference step r 2 [0:5; 1; 1:5; 2; 2:5; 3], process and controller startfrom stationarity with x(0) = 0 and xc(0) = 0.

Table 2.7 shows the normed errors for the experiment. For all reference steps Ms

yields the minimum error between the constrained and unconstrained system. Es-pecially for small step sizes we note a significant proportional improvement froma good selected anti-windup matrix. This suggests that anti-windup design shouldnot only be considered for large saturations but anytime saturation occurs in the ac-tuators. For large saturations, the greatest concern is to maintain stability, whereasfor small saturations it is more a matter of performance.

Page 98: Control of systems with constraints.pdf

74 Chapter 2 / Controller Design for Constrained Systems

Experiments

Design r = 0:5 r = 1 r = 1:5 r = 2 r = 2:5 r = 3

Ma 1.33 1.11 1.09 1.04 1.03 1.01

Mk 2.21 1.50 1.34 1.22 1.13 1.08

Mh 1.76 1.12 1.26 1.12 1.02 1.01

Ms 1.00 1.00 1.00 1.00 1.00 1.00

no AWBT 1.99 2.46 2.56 2.20 2.02 1.36

min(I) 0.0098 0.0348 0.0728 0.1434 0.2500 0.4009

Table 2.7. Normed errors between constrained and unconstrained response to referencesteps.

Robustness to Impulse Disturbances

The objective of this part of the study is to investigate the robustness to differentsized impulse disturbances on x2. The settings for the experiment are:

1. t = 0: Reference step r = 1, process and controller start from stationaritywith x(0) = 0 and xc(0) = 0.

2. t = 300: Impulse disturbance: x2(t) = x2(t�) + �x2, where �x2 2

[0:1; 0:5; 1; 1:5; 2].

Table 2.8 shows the normed errors for the experiment. where Ms again providesthe system with the best performance in all cases.

Pole Placement Controller

So far a 2 DoF PID controller has been used which places three of the four closed-loop poles at almost the same frequency. We have seen that placing the anti-windupcompensated poles of the controller during saturation at the same location as thetwo slowest of the closed-loop poles give superior performance for various refer-ence steps and disturbances.

Page 99: Control of systems with constraints.pdf

2.6 / Case Studies 75

Experiments

Design �x2 = 0:1 �x2 = 0:5 �x2 = 1 �x2 = 1:5 �x2 = 2

Ma 1.24 1.11 1.11 1.10 1.08

Mk 2.21 1.24 1.09 1.06 1.05

Mh 1.05 1.21 1.35 1.38 1.38

Ms 1.00 1.00 1.00 1.00 1.00

no AWBT 2.26 1.96 1.97 1.98 2.00

min(I) 0.0024 0.0291 0.0698 0.1127 0.1568

Table 2.8. Normed errors between constrained and unconstrained response to impulse dis-turbances on x2.

The following seeks to investigate how a change in the location of the closed-looppoles influences the selection of the anti-windup matrix. In order to get a betterflexibility in placing the closed-loop poles we exchange the PID controller with apole placement strategy parameterized by the controller

R(s)u(s) = T (s)r(s)� S(s)y(s) +M(s)(u(s)� u(s)); (2.191)

with a desired closed-loop characteristic polynomial Acl(s) = Ao(s)Ac(s) whereAo(s) = s

2 + a1s + a2 and Ac = s2 + a3s + a4. We choose T (s) = a4

��Ao(s)

which gives the simple reference to output transfer function

y(s) =a4

s2 + a3s+ a4r(s): (2.192)

For the double tank system we need to solve the so-called Diophantine equation

Acl(s) = (s+ �)2R(s) + ��S(s): (2.193)

For a second order controller with integral action we have R(s) = s(s + r1) andS(s) = s0s

2 + s1s+ s2 and by identifying coefficients of powers of equal degreewe find the solution

Page 100: Control of systems with constraints.pdf

76 Chapter 2 / Controller Design for Constrained Systems

r1 = a1 + a3 � 2� (2.194)

s2 =a2a4

��(2.195)

s1 =��2(a1 + a3) + 2�3 + a2a3 + a1a4

��(2.196)

s0 =a1a3 � 2�(a1 + a3) + 3�2 + a2 + a4

��: (2.197)

The previous full experiment is repeated with an unity reference step and an im-pulse and load disturbance. The closed-loop poles of the unconstrained system areplaced at

�0:0257 � i0:0386;�0:2549;�0:2549; (2.198)

which are the same locations as with the PID controller except that both real ob-server poles are now placed at �0:2549. The response of the unconstrained systemexposed to a reference step yields a 12% overshoot due to the relatively undampedpoles of the original PID controller design but the responses to the impulse and loaddisturbances are improved. Figure 2.25 compares the unconstrained responses ofthe PID controlled and the pole placement controlled double tank exposed to thefull experiment.

0 250 500 7500

0.5

1

1.5

Out

put

Figure 2.25. Time response for the unconstrained system with a pole placement controller(solid) and with a PID controller (dashed).

Four different designs are considered:

1. Kapoor/Hanus, Mk: eig(FM ) = (�0:2549;�0:2549). Both designs placethe poles of FM at the location of the two observer poles.

2. Slowest poles, Ms: eig(FM ) = (�0:0257 � i0:0386).

Page 101: Control of systems with constraints.pdf

2.6 / Case Studies 77

3. Compensated slowest poles, Mc: eig(FM ) = (�0:0744 � i0:0294). Therelocation of one of the observer poles to �0:2549 with the resulting fasterdynamics suggests that instead of placing the anti-windup poles exactly atthe slow controller poles, we compensate the faster dynamics by moving thepoles further to left towards that new observer pole. Here we have almostdoubled the frequency and damping compared to that of the slow controllerpoles.

4. No AWBT: eig(FM ) = (0;�0:5313).

In Figure 2.26 the time responses for the different designs are shown while Ta-ble 2.9 lists the resulting normed errors for the experiment. Overall, the compen-sated design performs slightly better than the slowest poles design.

0 300 6000

0.5

1

1.5(a)

0 300 6000

0.5

1

1.5(b)

0 300 6000

0.5

1

1.5

Time (secs)

(c)

0 300 6000

0.5

1

1.5

Time (secs)

(d)

Figure 2.26. Time response for the constrained system with pole placement controller fordifferent choices of the anti-windup gain matrix. The unconstrained response (dashed), theconstrained response (solid), and the input (dotted) are shown for anti-windup gains (a)Mk, (b) Ms, (c) Mc, and (d) no AWBT.

Conclusions

A second order double tank system with saturating input has been considered. Asecond order PID controller and a second order pole placement controller with

Page 102: Control of systems with constraints.pdf

78 Chapter 2 / Controller Design for Constrained Systems

Experiments

Design Full exp. Reference Impulse Load

Mk 1.26 1.01 1.89 1.31

Ms 1.12 1.41 1.00 1.00

Mc 1.00 1.00 1.22 1.22

no AWBT 2.04 3.06 1.15 2.08

min(I) 0.0551 0.0841 0.0617 0.0048

Table 2.9. Normed errors between constrained and unconstrained response with pole place-ment controller exposed to reference step, impulse disturbance, and load disturbance.

integral action have been fitted to the system. The following conclusions regardinganti-windup design are drawn:

� For a controller dynamically described by the matrices F;G;H; J , the matrixFM = F�MH governs the states of the controller during saturation, and theselection of the anti-windup matrix M is of great importance to the closed-loop constrained response.

� Placing the poles of FM at the location of the two slowest closed-loop polesseems to give superior performance if at least one of the two remaining ob-server poles are not “too far” away.

� When both of the two observer poles are significantly faster than the con-troller poles, the anti-windup poles should reflect this and should be movedto the left towards the faster poles.

� The performance improvement from a well-designed anti-windup matrix issignificant. Notably, for small saturations, the improvement is proportionallylargest.

2.6.3 Constrained Predictive Control of Double Tank with Magnitudeand Rate Saturation

The following case study aims to illustrate how predictive control can handle con-straints in a natural and systematic way. The double tank system from section 2.6.2is used to compare AWBT with constrained predictive control.

Page 103: Control of systems with constraints.pdf

2.6 / Case Studies 79

It is paramount that the resulting controller has integral action so that the controllercan compensate for unknown disturbances. Since the system has no integrators,the criterion should only penalize changes in the control signal which leads to thecriterion function

J(k) =

N2Xj=N1

(y(k + j) � r(k + j))2 + �

NuXj=0

�u(k + j)2: (2.199)

This, however, does not guarantee a zero steady-state error if for example the con-trol signal is disturbed by a constant load. Hence, the system has to be augmentedwith an integral state (z(k+1) = z(k)+r(k)�y(k)) in order to accomplish “real”integral action in the controller.

The following controller parameters have been chosen: N2 = 50; N1 = 1,Nu = 49, and � = 2:25 which gives an unconstrained time response with similarperformance to the pole placement controller used in section 2.6.2 when exposedto the full experiment in the said section.

Magnitude and Rate Constraints

The virtue of the predictive controller is its ability not only to handle magnitudeconstraints but also rate constraints on the actuator output. If only magnitude con-straints are present, the performance of the constrained predictive controller is sim-ilar to that of the best of the AWBT compensated controllers in section 2.6.2. How-ever, since AWBT feedback does not compensate for rate saturation, the predictivecontroller is superior. This will be illustrated using the experiment with a referencestep, an impulse disturbance on the lower tank, and a load disturbance on the uppertank. The input is in the interval [0; 1] and it is assumed that the full speed actuatorchange from 0 to 1 or vice versa takes minimum 3 seconds.

Figure 2.27 shows the response for the predictive controller and the AWBT com-pensated pole placement controller. As expected, the predictive controller com-pensates for the rate saturation and avoids the excessive overshoots that charac-terizes the AWBT compensated controller. Note, that the predictive controller’sability to react on reference changes ahead of time is not used in this simulation.The quadratic minimization problem subject to constraints was solved using qp()from MATLAB .

Page 104: Control of systems with constraints.pdf

80 Chapter 2 / Controller Design for Constrained Systems

0 250 500 7500

0.5

1

1.5

Out

put

0 250 500 750

0

0.5

1

Inpu

t

Time (secs)

Figure 2.27. Time response for constrained predictive controller (solid) and AWBT com-pensated pole placement controller (dashed), both with magnitude and rate saturation inthe actuator.

Overshoot

It was described in section 2.3.5 how constraints on the output variables of a sys-tem could be used to shape the closed-loop response. In Figure 2.28 is shown theresponse of the constrained predictive controller exposed to step reference changes.The actuator is magnitude and rate saturated and the system output has been con-strained such that no overshoots exists. The controller here has knowledge of ref-erence changes ahead of time.

2.7 Summary

This chapter addressed the design of controllers in the presence of constraints.Three different principal strategies was explored. Section 2.2 sketched several waysof applying AWBT compensation to an existing linear controller as a retro-fittedremedy to input constraints.

In section 2.3 the predictive controller was outlined and its methodical approach toconstraints described. At present, the constrained predictive controller appears to

Page 105: Control of systems with constraints.pdf

2.7 / Summary 81

0 250 5000

0.5

1

Out

put

0 250 500

0

1

Inpu

t

Time (secs)

Figure 2.28. Time response for output constrained predictive controller (solid) exposed toreference changes (dashed). The output is constrained such that no overshoots exists.

give the most flexible and versatile management of constraints including input andoutput magnitude as well as rate constraints.

Section 2.4 presented nonlinear approaches characterized by being specific to in-put constraints and certain classes of linear systems. It was pointed out that thedynamic rescaling method by Morin et al. (1998a) makes the determination of thecontroller bounds difficult and hence an adaptive estimation of the the bounds waspresented. A nonlinear gain scheduling approach was presented. The method en-sures a constant damping ratio and stable poles during the scheduling. A simulationstudy revealed good performance of the method.

In Section 2.5 a comparison of the presented strategies was made.

Section 2.6 contains case studies and investigated in particular the observer-basedAWBT approach and the predictive controller applied to a double tank system. Itwas argued that the parameter selection for the AWBT compensation is of greatimportance for the overall performance. Specifically, the poles of the constrainedcontroller should be chosen close to the slowest poles of the unconstrained closed-loop system. The predictive controller’s management of constraints is functional.Imposing constraints on the output of the system is a straightforward and usefulway of forming the closed-loop response.

Page 106: Control of systems with constraints.pdf
Page 107: Control of systems with constraints.pdf

Chapter 3

Robot Controller Architecture

This subject of this chapter is robotic control systems and how to incorporateclosed-loop constraint-handling into a real-time trajectory generation and execu-tion system.

The term a robotic system is widely used to describe a diversity of automatic con-trol systems such as industrial robots, mobile robots (for land, air, or sea use), andmechanical manipulators. Robotics cover a large area of applications ranging frommanufacturing tasks such as welding, batch assembly, inspection, and order pick-ing, to laboratory automation, agricultural applications, toxic waste cleaning, andspace or underwater automation.

The word robot originates from Czech and translates to slave or forced labour.Originally, the robot was introduced as a human-like machine carrying out me-chanical work but robotics have since earned a more versatile interpretation. Twomodern definitions of a robotic system are given in McKerrow (1991).

The Robot Institute of America:

A reprogrammable multi-function manipulator designed to move ma-terial, parts, or specialized devices through variable programmed mo-tions for the performance of a variety of tasks.

Page 108: Control of systems with constraints.pdf

84 Chapter 3 / Robot Controller Architecture

The Japanese Industrial Robot Association:

Any device which replaces human labour.

The first definition seems to be mainly concerned with production robots such asmechanical manipulators whereas the second definition has a false ring of workerdisplacement being the overall objective of automation. Definitions are alwaysdebatable but in general a robot is considered a general-purpose, programmablemachine with certain human-like characteristics such as intelligence (judgment,reasoning) and sensing capabilities of the settings but not necessarily human-likeappearance.

Three functionalities are seeked integrated in a robotic system such that it maymove and respond to sensory input at an increasing level of competence: i) percep-tion which help the robot gather informations of the work environment and itself,ii) reasoning which makes the robot capable of processing informations and mak-ing knowledge-based decisions, and iii) control with which the robot interacts withobjects and the surroundings. Hence, the complexity of a robotic control system isoften large and will typically exhibit some degree of autonomy, i.e. the capabilityto adapt to and act on changes or uncertainties in the environment (Lildballe, 1999)in terms of task planning, execution, and exception handling.

The focus of this chapter is to identify control relevant constraints in the roboticcontrol system and discuss how and where to handle these. From a control point ofview, some generic elements of a robot control system such as motion controllers,trajectory planning and execution, task planning, sensors, and data processing aredescribed. The problems with off-line trajectory planning and non-sensorbased ex-ecution are discussed and suggestions for on-line trajectory control are made. Theemphasis is put on the layout of such a system while the actual control algorithmsto some degree are investigated in chapter 4.

3.1 Elements of a Robot Control System

Figure 3.1 shows a typical structure of a robotic control system consisting of thethree functionalities perception, reasoning, and control as mentioned before. Asindicated in the figure with the dashed and overlapping line, reasoning in the robotmay take a more distributed form than control and perception. A great part of thischapter is concerned with integrating path planning and trajectory control which

Page 109: Control of systems with constraints.pdf

3.1 / Elements of a Robot Control System 85

Reasoning

Environment

Robot motion

Trajectory Generation and Execution

Motion control

Actuators

Control

Sensor fusion

Sensors

Perception

Modelling Localization

Obstacle avoidance

Management Supervisoring

Learning Planning

Figure 3.1. General robotic control system.

clearly advance some of the intelligence to the controller. Likewise, sensors may in-clude some intelligence in terms of for instance self-calibration and fault-detection.

Each functionality can be decomposed into a set of functional subsystems wheresome are mechanical/electrical such as sensors and actuators, some are controlalgorithms such as motion control, trajectory execution, and sensor fusion, andothers are integration of knowledge and high level task generation and decisionmaking such as planning and supervisoring. A short description is given:

ActuatorsRobot motion is accomplished by electrical, hydraulic, or pneumatic actua-tors and consist of devices such as motors, valves, piston cylinders, and chaindrives.

SensorsSensors provide measurements of variables within the robot (internal sen-sors) and from the environment (external sensors) used in various taskssuch as controlling, guidance, and planning. The sensing devices includeencoders, potentiometers, tachometers, accelerometers, strain gauges, laser

Page 110: Control of systems with constraints.pdf

86 Chapter 3 / Robot Controller Architecture

range scanners, ultrasonic sensors, sonars, cameras, and GPS (Global Posi-tioning System) receivers.

Sensor fusion, data processing, and modellingAn important task in robotics is the analysis of sensed data. Through dataprocessing and sensor fusion the robot builds an interpretation of the worldand its own state. Some sensor systems such as vision require processingfor extraction of relevant information. The purpose of sensor fusion is toincrease the consistency and robustness of data, to reduce noise and incom-pleteness of sensory output, and in particular, to allow different sensors tosupply information of the same situation. The tool is combining signals fromseveral sensors and signals with different time bases with an a priori aware-ness. The goal is to model relevant features of the environment and to locatethe robot within it (localization).

Motion controllersThe motion controllers command the robot’s actuators such that the inten-tioned motion is achieved. Control is concentrated within three different ap-proaches: 1) joint space control where references are joint coordinates, 2)task space control where references are Cartesian coordinates, and 3) forcecontrol.

Trajectory generation and executionBased on a planned motion the trajectory generator converts the path intoa time sequence of robot configurations. This involves specifying velocityand acceleration profiles. The configurations are translated into motion con-troller references and are consequently fed to the controllers. In sensor-basedtrajectory control (e.g. visual servoing) the references are generated online.

ReasoningTechnically, this is were the main part of a robotic system’s intelligence islocated. The objective is to enable the robot to plan and supervise various ac-tions and in particular to react to changing and uncertain events in the robot’swork environment and to some degree in the robot itself (fault-tolerance).

This short review of the elements of a robot system leads to an examination of theconstraints acting on the system.

Page 111: Control of systems with constraints.pdf

3.2 / Trajectory Generation and Execution 87

3.1.1 Constraints

Constraints in a complex system such as a robot are numerous ranging from com-puter power and actuators to payload capacity and safety concerns. Most relevantfor the control system are constraints associated with dynamic conditions duringoperation. These include:

� Saturation in actuators.

� State and system output constraints such as minimum/maximum velocitiesand accelerations, mechanical stops, obstacles, and room dividers.

� Constraints on reference velocities and accelerations. Basically, these origi-nate from the actuators but they may also be imposed by the operator. Nor-mally, they are specified and considered off-line during the trajectory plan-ning. However, on-line trajectory controllers must take these constraints intoaccount.

The input, state, and output constraints are in general difficult to handle during thedesign of the control system and even during the planning phase of a new motiontask. Thus on-line compensators should be present.

3.2 Trajectory Generation and Execution

In robotics a common task is motion along a predefined path. A robot solves tasksand missions by means of executing a sequence of motions in a workspace. Due tolimited actuator capabilities and mechanical wear from rough and jerky motion itis disadvantageous and unrealistic to reach an arbitrary target position within onesample interval, equivalent to applying a step reference. Often the motion from oneposition to another must be controlled in terms of intermediate positions, velocities,and accelerations in space. Thus, the motion of the robot should be planned as afunction of time known as trajectory generation. A trajectory represents the timehistory of positions, velocities and accelerations desired to achieve a particularmotion.

A number of challenges exists in specifying trajectories and applying these to arobot control system. Typically, trajectories are generated in an off-line fashion.This calls for a structured deterministic and static environment and a perfect mod-elling of the robot itself such that the motion can be planned in a collision free

Page 112: Control of systems with constraints.pdf

88 Chapter 3 / Robot Controller Architecture

manner. Having calculated an off-line trajectory, it is executed by feeding the ref-erences to the robot’s joint or wheel controllers at a certain constant rate. The robotis assumed capable of following the references at the necessary rate. This impliesthat the actuators must not saturate during execution. Usually, this is fulfilled bymaking the references conservative regarding the actuators’ limits, i.e. the motionis unnecessary slow and the path is smooth.

In many applications, though, speed is a cost parameter and it is natural to lookfor time optimal solutions that employ the full range of the actuators. This pointsto appropriate handling of saturating actuators. Further, environments are rarelystatic and a priori known but rather dynamic and only gradually becoming knownas the robot explores or carries out instructions. Based on these considerations, thissection looks at real-time trajectory generation and execution schemes allowingfor more intelligent robots able to react on changing work conditions or uncertainevents (e.g. new obstacles) by controlling the trajectory generation and executionin a closed-loop fashion either by modifying the trajectory on-line or aborting theexecution and commence replanning.

Since some events in their nature are unpredictable and may appear at any giventime, an integration of generation and execution is necessary such that the robotin a closed-loop fashion may react to sensed uncertain events without aborting themotion and embarking on replanning or switching to some contingency plan.

Given saturating actuators both the path following and desired velocity cannot beobtained: either the position is maintained at lower speed, the velocity is maintainedfollowing a different path or finally some mix of the two. In such a situation it isof importance to know exactly whether the position or the velocity is maintained.In case of obstacles staying on the collision-free path has first priority while thespeed at which the path is followed is less important. In other applications timeis money and speed has first priority. Therefore, we need a way to specify/controlhow saturating actuators will influence the actual trajectory of the robot.

The following discusses some considerations regarding trajectory generation. Someexisting schemes are presented.

3.2.1 Design Considerations

In trajectory generation and motion planning, the robot (or the system designer/o-perator) has to consider a number of design criteria. Some of these are:

� Path optimization with respect to

Page 113: Control of systems with constraints.pdf

3.2 / Trajectory Generation and Execution 89

– minimum time

– minimum energy

– sufficient actuator torque to handle modelling errors and disturbances.

The solution should take into account actuator constraints as well as systemand controller dynamics.

� Task-induced path constraints. For example, a welding robot must maintainthe torch in contact with the material and therefore the robot is constrainedto track the path.

� Collision free motion/obstacle avoidance. The obstacles can be static, i.e.all obstacles are initially known and are fixed in location or they can bedynamic, i.e. known obstacles may move over time and new obstacles maybecome known at run-time as new sensor information is available.

� Smooth motion with no discontinuities in position and velocity. This is im-portant in cases where the trajectory is recalculated without stopping themotion. See Craig (1989) for details on smooth trajectories.

� Unknown or moving target position. Real-time generation is necessary.

� Maximum velocity or acceleration in order to minimize hazardous motionand mechanical wear.

The relevance of these criteria depends on the robot’s application and the structureof the work space. For instance, for an AGV (Autonomous Guided Vehicle) usedin a warehouse facility collision free motion is of major concern and temporarydeviations from the nominal path are acceptable whereas for a welding robot thepath tracking has first priority.

Some of these objectives can be conflicting. For example in case of saturating ac-tuators the robot must choose whether to follow the path as good as possible orwhether to keep the velocity and get to the end target in minimum time. This, ofcourse, depends on the application but through the closed-loop trajectory controlsystem it should be possible to specify the conditions and the choice.

Page 114: Control of systems with constraints.pdf

90 Chapter 3 / Robot Controller Architecture

3.2.2 Specification of the Trajectory

Usually, the trajectory is either specified in the joint space or in the Cartesian spacealso known as the configuration space. In the joint space the references are func-tions of the joint angles for a robot arm. For example, for a mobile robot the ref-erences are either functions of the left and right wheel velocities (vl; vr) or theangular and forward velocities (v; !). The relation is given as (see Section 4.3more details):

! =vr � vlb

v =vr + vl

2;

where b is the wheel base. In the Cartesian space the references are functions ofthe two or three dimensional path which the end effector (or mobile robot) mustfollow.

Both approaches have advantages. Joint space schemes are usually the easiest tocompute as the motion controllers take joint space variables as references but itcan be difficult to generate smooth straight motions through space. Most tasks aredefined in terms of a path in the configuration space. Furthermore, the environmentincluding obstacles is described with respect to this frame. Cartesian space gener-ated references must be translated to joint space references for the controllers. Thisinvolves inverse kinematics. The main problem here is redundancy which meansthat one point can be reached with different joint configurations, see Craig (1989)or McKerrow (1991) for more details. For mobile robots with nonholonomic con-straints, especially stabilization of the robot to a given posture in the configurationspace makes generating the necessary joint references difficult.

3.2.3 Existing Schemes for Trajectory Control

Traditionally, trajectories are generated off-line. Based on initial and desired tar-get positions and velocities and the time constraints on the motion, the history ofreferences can be calculated and fed to the robot controllers at a given rate. This ap-proach assumes a static structured environment with non-saturating actuators, suchthat the robot has no problem in following the reference. In case of unexpectedevents the motion is stopped and replanned. Hence, from the time of planning, theexecution is open-loop or merely a storage of a predefined plan.

Page 115: Control of systems with constraints.pdf

3.2 / Trajectory Generation and Execution 91

A number of things suggests sensor-based on-line trajectory generation. In caseof an unknown or moving target position the trajectory should be generated at run-time as the robot closes in on the target and the robot’s position relative to the targetbecomes known. In Corke (1996) this position problem is considered as a controltask: perceived errors generates a velocity command (steering) which moves therobot toward the target. This is similar to steering a car. It is not necessary to knowexact positions of the target provided a sensor can observe relative position infor-mation (like vision can). An example of this approach is Morin et al. (1998b) orTsakiris et al. (1996) where the stabilization of a mobile robot to a given postureis based on relative positional information. The control system generates steeringcommands like forward velocity and turning rate. Such an approach is also thesubject of section 4.3.

Fast motion requires utilization of the maximum allowable actuator torque. At thelimit of the actuators capacities there is no margin left to handle modelling errorsor disturbances and the robot may as a result deviate from the nominal path. Dahl(1992) suggests a method for modifying the velocity profile when saturation oc-curs. Off-line a trajectory generator calculates a history of references minimizingtime for the motion given actuator constraints and system dynamics. This resultsin a sort of bang-bang control: full acceleration followed by full deceleration for aleast one of the torques. At run-time, saturation due to modelling errors or distur-bances will cause a Path Velocity Controller (PVC) to lower the velocity along thetrajectory. Basically, an algorithm scales the trajectory time such that the robot canmaintain the path. The scheme is depicted in Figure 3.2.

trajectory (list of references)

events

Robot

measurementssaturation

controller and actuating device

Controller

Sensors

PVC

Planning

Saturation

Real−time and closed−loop

reference

Figure 3.2. The path velocity controller (PVC). The feedback from the controller to thePVC module modifies the reference update rate upon saturating actuators.

Page 116: Control of systems with constraints.pdf

92 Chapter 3 / Robot Controller Architecture

Tarn et al. (1994) and Tarn et al. (1996) suggest a path-based approach where thetime-dependency in the trajectory is replaced with a path-dependency making thetrajectory event-based. The execution of the trajectory follows the actual positionof the robot along the path. This way a robot is capable of avoiding an obstaclewithout replanning the path and without having to catch of with a reference farahead of it. The trajectory waits for the robot, so to speak.

3.3 General Architecture

The general architecture presented in this section is based on the discussion in theprevious section.

Figure 3.3 shows a traditional planning and control scheme. It consists of a stan-dard feedback loop around the controlled system. The reference to the controller isprovided by the execution module which simply at some predefined rate picks thenext reference in the trajectory table. The planning module calculates the time his-tory of references. Occasionally, there can be a feedback from some sensor systemreporting events like mission accomplished or replanning needed.

This scheme has a number of drawbacks. First of all, since controller saturationcannot be detected, the scheme relies on the planned motion being sufficientlynice. Otherwise, we could experience windup in the reference, so to speak. Thatis, the trajectory executor continues to supply new references ahead of the robot’s

trajectory (list of references)

Robot

criteria

measurements

events

Execution Controller

Generation

Sensors

Real−timeClosed−loop

reference

Figure 3.3. Traditional off-line trajectory generation and non-sensorbased execution.

Page 117: Control of systems with constraints.pdf

3.3 / General Architecture 93

actual position which could keep the actuator in saturation and cause the trackingerror to grow. Therefore, we need an extra feedback loop from the controller to theexecution module in order to be able to detect saturation and to act on it by forexample slowing down the execution rate.

Furthermore, we should add a feedback loop from some sensor system to the ex-ecution module to recalculate/replan/adjust the reference depending on how closethe robot is to the target position or path. This can be seen as an on-line trajectorycontrol. Finally, the planning module must have status information from the systemand environment regarding the mission, obstacles, etc.

These suggestions lead to the scheme in Figure 3.4. We could further introducea feedback from the execution module directly to the planning module. However,this is already accomplished through the sensor system.

The following describes the two main modules (generation and execution) in thegeneral trajectory planning and executing architecture (Figure 3.4).

constraints and saturation actuator saturation

Robot

events

trajectory

events measurements

motion observations

controller and actuating device

ControllerExecution Sat

Real−time and closed−loop

criteria

Trajectory

Sensors

Generation

reference

Figure 3.4. Overview of general generation/execution scheme for sensor- and event-basedtrajectory control.

Page 118: Control of systems with constraints.pdf

94 Chapter 3 / Robot Controller Architecture

Trajectory Generation

This module is traditionally an off-line trajectory planner. In case of new informa-tion regarding target or obstacles the module is re-executed.

Task Description

Initialization: task criteria

Input: observations of the environment (obstacles), initial andtarget position, velocities, mission status

Action: calculates smooth history of references or simply definesthe target of the motion along with constraints on thetrajectory

Output: history of references, target

Sampling time: event-based

Sampling: occurs when mission accomplished or replanning needed

Execution

For each controller sampling instance this module provides a reference to the con-trollers based on the state of the system and the controllers.

Task Description

Initialization: history of references

Input: saturation in controllers, motion observations

Action: changes the reference itself or the update rate based on thesystem state, saturation in actuators. May switch tosemi-autonomous control while for instance passing anobstacle

Output: reference to motion controllers

Sampling time: similar to the sampling time in the controllers. May beinterrupted by the planning module

Sampling: constant

Page 119: Control of systems with constraints.pdf

3.4 / Architecture for Mobile Robot 95

3.3.1 Considerations

Some bumpless transfer problems exist when using the before described trajec-tory control scheme. Upon replanning a new trajectory in the trajectory generationmodule it is desirable to have a smooth transfer from the old trajectory to the newone. This is easily done by stopping the robot before switching but this approachcould be to slow or some trajectory planning schemes may not allow zero veloci-ties (for example a path following unit for a mobile robot). A change in the controltask (for example from path following to posture stabilization for a mobile robot)may likewise cause unwanted transients and finally, the sampling of the executionmodule can change from one rate to another due to for example switching fromencoder readings to camera measurements.

The extra feedback loops in the trajectory control scheme prompts some theoreticalquestions (Tarn et al., 1996):

1. How does the loops affect the stability of the system?

2. How does the loops affect the performance of the system?

3. How does one design such a system to achieve a desired performance?

The answer to or treatment of these questions depends to a large extent on theactual system and its application. Chapter 4 considers how to handle constraints ina path following mobile robot.

3.4 Architecture for Mobile Robot

This section deals with the layout of a trajectory control systems for mobile robots.First, we identify some classic motion control tasks in mobile robotics. Table 3.3shows four different ways of controlling a robot.

In general, the task of tracking has time constraints while the task of followingis unconcerned with the time base. For both of these the velocities must be non-zero while in stabilization the velocities tend to zero. Depending on the motiontask different strategies for dealing with constraints and unexpected events must beapplied.

Page 120: Control of systems with constraints.pdf

96 Chapter 3 / Robot Controller Architecture

Control Problem Description

Point tracking A given fixed point P on the mobile robot tracks amoving reference position (xr(t); yr(t)). Theorientation error is unimportant

Posture tracking The robot tracks a virtual robot reference position(xr(t); yr(t)) and orientation �r(t) with nonzerovelocities

Path following Given a path P in the xy-plane and the mobilerobot’s forward velocity v, assumed bounded, therobot follows the path only using the angular velocityof the robot ! as control signal

Posture stabilization The posture (position and orientation) of the robot isstabilized at a given reference, final velocities arezero.

Table 3.3. Motion control tasks in mobile robotics.

Figure 3.5 shows the layout of a trajectory control scheme for motion control of amobile robot. The robot consists of two motors for driving the wheels1 and one ortwo castor wheels. The motors are controlled by the motor controllers. The robot isequipped with a variety of sensors such as encoders, camera, ultra sound, and laserrange scanner. A sensor fusion and data processing module extracts informationfrom the sensors. The intelligence of the robot is placed in the task and trajectoryplanning module and the execution module. The following lists details on the dif-ferent modules but of course this is very dependent on the robot, the application,and the nature of the environment.

Trajectory generation, (task and path planning)This module generates a specific trajectory needed to carry out a motionbased on criteria such as time optimization, initial and target positions, limitson velocities, etc. External events such as mission accomplished may callfor a new motion or a replan. Special care should be taken to make transferbetween two trajectories smooth and bumpless. The output from the moduledepends on the application. In case of a path following motion it would be

1Some mobile robot configurations uses more than two motors but here we assume a so-calledunicycle configuration with two motors and one or two castor wheels. See de Wit et al. (1996) for adetailed discussion of different configurations.

Page 121: Control of systems with constraints.pdf

3.4 / Architecture for Mobile Robot 97

Sensors

data

CameraLaser scannerEncodersBumperLine scanner

Execution

sampled

posture stabilizationpath tracking

path following

event−based(mission accomplished,

(new obstacle, ...)

Task planningTrajectory generationObstacle avoidance

Motor controllers

sampled, fast

Perception

sensor fusiondata processing

modellingdead−reckoning

localization

Reasoning

forward and angular velocity references

obstacles, trajectory progress, visual land marks, localization

Task dependent:absolute posturedistance and orientation errorsrelative posture to target

events

saturation

motor input

point tracking

velocity scaling

AWBT compensation

velocity controllers

target, constraints

path, velocity,

encoder readings

Figure 3.5. General overview of sensor- and event-based trajectory control on mobilerobots.

the path and the velocity profile. In case of a posture stabilization the outputwould just be the target position or in case of an inaccurately known targetposition, an initial value of the target to search.

Trajectory executionThis module is part of the real-time closed-loop control system and suppliesreferences to the motor controllers. The reference update rate or the refer-ences itself may be altered in case the actuators saturate or updated informa-tion on the target position and obstacles (that may change the path to avoidcollisions). In some cases exceptions will have to go through the trajectorygeneration module over even further up the control system hierarchy (taskplanning module, teleoperation, etc) for a complete replanning but the ideais to have the execution module handling basic exceptions itself. An examplecould is obstacle avoidance. During the actual avoidance, the robot may besemi-autonomously teleoperated or running an autonomous recovering planbut there is no need to abort the original plan since the executor will track theprogress of the avoidance and will be ready to continue the motion task. The

Page 122: Control of systems with constraints.pdf

98 Chapter 3 / Robot Controller Architecture

module is sampled with same sampling frequency as the motor controllersbut may be interrupted from the trajectory generator.

Motor controllersHere, the low level control signals to the robot’s motors are calculated. Thismay be with or without some anti-windup strategy. Typically, the referencesare angular and linear velocities (or equivalent: left and right wheel veloci-ties). The controllers take readings from the encoders as input.

Sensor fusion, data processingSensor outputs are processed in this module. This may include image pro-cessing, data association and sensor fusion. Outputs may be absolute positionestimates, relative positions to targets, tracking errors (distance and orienta-tion error), environment information such as obstacle positions, etc.

The benefits from sensor-based trajectory control are obvious but the realizationof such an architecture is difficult. This treatment of trajectory control in mobilerobots continues in the case study in chapter 4 and will in particular look at somespecific solutions to path following and posture stabilization.

3.5 Summary

This chapter has discussed sensor-based closed-loop trajectory planning and exe-cution and illustrated an architecture for such a system. In section 3.1 the base wasmade in terms of a description of elements of a robot control system. From this,trajectory generation and execution was considered in section 3.2. Pros and consfor off-line versus on-line trajectory control was pointed out. Section 3.3 summedup the discussion in a general architecture for trajectory control. Finally, section 3.4focused on a mobile robot and special considerations regarding such a vehicle.

The chapter has however not provided guidelines for the actual design of the algo-rithms used in the new trajectory feedback loops. The following chapter looks tosome degree at that problem.

Page 123: Control of systems with constraints.pdf

Chapter 4

Case Study: a Mobile Robot

Mobile robotics have in the past decades been a popular platform for testing ad-vanced control solutions covering areas like motion control, sensor fusion and man-agement, navigation, and map building, to name a few. This interest is triggered bythe countless challenges encountered by researchers when implementing mobilerobotic applications. The desired autonomous operation of the vehicle necessitatesmultiple sensors, fault-tolerant motion control systems, and reasoning capabilities.The mobility itself induces new annoyances (or stimuli depending on how you lookat it) since the environment is most likely to be dynamic and partially unstructured.This calls for collision avoidance, extended perception skills, and makes task plan-ning and execution difficult.

Where the discussion in chapter three was a fairly general description of a roboticsystem and in particular trajectory control, this chapter goes into details with anumber of practical problems and solutions in mobile robotics. This include design,implementation, and experimental verification. The chapter considers the followingaspects:

Auto-calibration of physical parametersSection 4.2 investigates how on-line calibration of parameters such as the

Page 124: Control of systems with constraints.pdf

100 Chapter 4 / Case Study: a Mobile Robot

encoder gains and the wheel base can reduce the drifting of the posture (po-sition and orientation)1 estimate and extend the period of time where therobot for example can perform blind exploration, that is manoeuvering with-out external position information. The calibration is based on the existingsensor package and appropriate filters.

Path following with velocity constraintsSection 4.3 applies a receding horizon approach to the path following prob-lem. The controller presented is capable of anticipating non-differentiablepoints such as path intersections and take the necessary precautions alongwith fulfilling velocity constraints on the wheels.

Posture Stabilization with Noise on MeasurementsThe nonholonomic constraint on an unicycle mobile robot necessitates par-ticular motion control algorithms and for posture stabilization these algo-rithms turn out to be especially sensitive to noisy measurements. Section 4.4investigates the noise’s influence on the stabilization and suggests a nonlin-ear time-varying filter that helps reduce the noise impact.

But first a description of the mobile robot.

4.1 The Mobile Robot

The mobile robot of interest is a so-called unicycle robot which has two differential-drive fixed wheels on the same axle and one castor wheel, see Figure 4.1. A robotwith this kind of wheel configuration has an underlying nonholonomic propertythat constrain the mobility of the robot in the sideways direction. This adds signif-icantly to the complexity of the solutions to various motion control problems forthe robot.

A mobile robot of this type is currently in use at the Department of Automationand is equipped with a sensor package consisting of a camera among other thingscapable of detecting artificial guide marks for positional measurements, opticalencoders on the driving wheels measuring wheel rotations, and a laser range scan-ner providing distance measurements with a field of view of 180Æ. A thorough

1The position and orientation of a vehicle is in the following referred to as the posture. In theliterature, the term pose is also used.

Page 125: Control of systems with constraints.pdf

4.1 / The Mobile Robot 101

Castor

2rl

b

!

�y

2rr

v

vl

vr

x

(a) Posture and velocity definitions

Guide mark

Laser scanner

Pan/tilt

Camera

Communication links

Wheel encoders

Power supply Computer rack

Ultrasonic sensors

(b) The department’s self-contained vehicle

Figure 4.1. The mobile robot.

overview of sensors and sensor systems for mobile robots is found in Borensteinet al. (1996).

The posture of the mobile robot is given by the kinematic equations

_x = v cos �

_y = v sin �

_� = !;

(4.1)

where (x; y) indicate the position of the robot center in the Cartesian space and� is the orientation or heading angle of the robot (angle between the x-axis andforward velocity axis of the robot). The inputs are the heading or forward velocityv (defined as v = _x cos � + _y sin �) and the angular velocity !. Combined, thetriplet (x; y; �)T defines the posture of the robot. See Figure 4.1 for details.

The kinematic model (4.1) is easily sampled with the assumption of constant inputsv and ! during the sampling periods,

Page 126: Control of systems with constraints.pdf

102 Chapter 4 / Case Study: a Mobile Robot

x(k + 1) = x(k) +sin�T

2!(k)

�T

2!(k)

Tv(k) cos

��(k) +

T

2!(k)

y(k + 1) = y(k) +sin�T

2!(k)

�T

2!(k)

Tv(k) sin

��(k) +

T

2!(k)

�(k + 1) = �(k) + T!(k);

(4.2)

where T denotes the sampling time. The correction factorsin(T

2!(k))

T2!(k)

is often set

to 1 which is justified by the sampling rate being high compared to the angularvelocity. The model (4.2) is referred to as the odometry model since an odometeris known as a device that records the accumulated distance traveled by a vehicle.

The control algorithms discussed in the following are velocity reference generatorsthat generates references to underlying velocity motor controllers. The dynamicsof the motors and the controllers are presumed adequately fast compared to thedynamics of the generators such that, from the generators point of view, it canbe assumed that the vehicle follows the references momentarily. In designing thevelocity generators the dynamics of the motors and the motor controllers are henceneglected.

This, of course, is not the situation in real life and it may in fact cause unexpectedlimit-cycles in the resulting trajectories or lead to instability. If this is the case theso-called backstepping control methodology might be worth considering where, inshort, the kinematics are backstepped into the dynamics of the robot. The first stepis to design the velocity generator neglecting the faster dynamics of the motorsand the robot. In the second step the unrealistic assumption of momentarily refer-ence tracking is reconsidered and low-level motor controllers are designed. See forexample Fierro and Lewis (1997) for such an approach.

4.2 Localization with Calibration of Odometry

A more thorough discussion of the following has been published in Bak et al.(1999).

In mobile robotics knowledge of a robot’s posture is essential to navigation andpath planning. This information is most often obtained by combining data fromtwo measurements systems: (1) the well-known odometry model (Wang, 1988)based on the wheel encoder readings and (2) an absolute positioning method basedon sensors such as a camera (Chenavier and Crowley, 1992; Murata and Hirose,

Page 127: Control of systems with constraints.pdf

4.2 / Localization with Calibration of Odometry 103

1993), a laser range finder (Cox, 1989) or ultrasonic beacons (Kleeman, 1992). Thetool for fusing data is usually a Kalman filter (Larsen, 1998; Bak et al., 1998).

The need to combine two measurement systems, a relative and an absolute, comesfrom the use of the efficient indispensable odometry model which has the unfor-tunate property of unbounded accumulation of errors. Typically, these errors arecaused by factors such as irregular surfaces, inaccurate vehicle specific physicalparameters (wheel radii, wheel base, gear ratios), and limited encoder samplingand resolution. See Borenstein and Feng (1995, 1996) for a thorough discussion ofthe subject. Obviously, it is beneficial to make either of the measurement systemsas accurate as possible. Given a reliable precise odometry system the robot canincrease operation time in environments where absolute measurements for somereason are lacking, and fewer often time-consuming absolute measurements areneeded allowing for enhanced data processing or reduced costs. Likewise, preciseabsolute measurements provide a better and faster correction of the posture andagain fewer measurements are needed.

Borenstein and Feng (1996) describe a procedure to calibrate the physical param-eters in the odometry model. The method uses a set of test runs where the mobilerobot travels along a predefined trajectory. Given measurements of initial and fi-nal postures of the robot, a set of correction factors are determined. The procedurehas proven to be precise and straightforward to carry out in practice but it is alsofound to be rather time-consuming as the suggested trajectory for the experimentis 160 m long (10 runs of 16 m). Furthermore, it relies on precise measurementsas the experiment only gives 10 initial and 10 final measurements from which thecalibration information is extracted.

In Larsen et al. (1998) an augmented extended Kalman filter estimates the threephysical parameters in the odometry model along with the posture estimation. Thisallows for a more automated calibration procedure which can track time-varyingparameters caused by for example payload changes. Unfortunately, the observabil-ity of the parameters is poor and the calibration quality relies strongly on the chosentrajectory.

The following presents a two step calibration procedure based on the filter in Larsenet al. (1998). Step one determines the average encoder gain while step two deter-mines the wheel base and the left (or right) encoder gain during which the averagevalue is maintained. This gives far better observability of the parameters and stillallows for automation of the procedure.

Page 128: Control of systems with constraints.pdf

104 Chapter 4 / Case Study: a Mobile Robot

4.2.1 Odometry and Systematic Errors

Let the posture of a mobile robot’s center with respect to a given global referencesystem be described by the state vector z = (x; y; �)T . Given a two-wheeled mo-bile robot with encoders mounted on each motor shaft of the two drive wheels theodometry model is useful to describe the propagation of the state. Based on (4.2)we have

x(k + 1) = x(k) + u1(k) cos (�(k) + u2(k))

y(k + 1) = y(k) + u1(k) sin (�(k) + u2(k))

�(k + 1) = �(k) + 2u2(k);

(4.3)

where input u1 equals the translational displacement while input u2 equals half therotational displacement, both since previous sample. The inputs are functions ofthe encoder readings and the physical parameters of the robot. The definitions are

u1(k) =kr�r(k) + kl�l(k)

2

u2(k) =kr�r(k)� kl�l(k)

2b;

(4.4)

where �r(k) and �l(k) denote the encoder readings, kr and kl the gains fromthe encoder readings to the linear wheel displacements for right and left wheelrespectively and b the wheel base of the vehicle. The encoder gains kr and kl aredefined as

kr =rr

hrNr

; kl=rl

hlNl

; [m/pulse] (4.5)

with h the encoder resolution [pulses/rad], N the gear ratio from motor shaft towheel, and r the wheel radius.

From the odometry model the accumulation of errors is easily seen. Any uncer-tainty in u1 or u2 will be added to the previous posture estimate and will over timecause drift.

A number of potential error sources can be identified from the model. The encoderreadings may not correspond to the actual displacement of the robot for differentreasons such as uneven floors, wheel slippage, limited sampling rate and resolution.The nature of these errors can be classified as stochastical. The calculation of theinputs u1 and u2 may also be erroneous if for example the physical parameters(the wheel base and the left/right encoder gain) are incorrectly determined. The

Page 129: Control of systems with constraints.pdf

4.2 / Localization with Calibration of Odometry 105

influence from such error sources is systematic (correlated over time and not zeromeaned) and therefore very difficult to deal with in a Kalman filter which is oftenused for posture estimation in mobile robotics. The good news about systematicerrors are the fact that they originate from physical parameters and it is a matter ofproper calibration to reduce the effects.

Now, let a bar denote the true actual physical value as opposed to the nominalvalue. The following will model the uncertainties in the three physical parametersin the odometry model. The wheel base b is modelled as

�b = Æbb; (4.6)

and the left and right encoder gains as

�kr = Ærkr

�kl = Ælkl:(4.7)

where Æb; Ær and Æl are correction factors.

Now, define the average value of the true encoder gains as

ka =�kr + �kl

2: (4.8)

As will be seen later this value is easily calibrated by a simple experiment and wecan therefore impose the constraint of a constant average gain on the estimation ofthe encoder gains. From (4.7) and (4.8) we get

Æl =2ka � Ærkr

kl: (4.9)

This implies that initial knowledge of ka allows us to estimating only two correc-tion factors, namely Æb and Ær.

4.2.2 Determination of Scaling Error

In this section we discuss ways of measuring the average encoder gain ka by meansof a simple extended Kalman filter for doing the calibration on-board the robot.

Borenstein and Feng (1996) model ka by means of a scaling error factor that relatesthe true value to the nominal. We shall adopt this approach in the following way:

Page 130: Control of systems with constraints.pdf

106 Chapter 4 / Case Study: a Mobile Robot

ka =�kr + �kl

2= Æa

kr + kl

2; (4.10)

where Æa is the correction factor and must be determined.

The scaling error Æa is often measured be means of a straight-line motion experi-ment (von der Hardt et al., 1996; Borenstein and Feng, 1995). Let the robot travelin a straight line over a given distance measured by means of the odometry model.Call the distance sodo. Now, measure the actual driven distance sactual by tape mea-sure or similar and calculate the scaling error as Æa = sactual=sodo. Of course, thisexperiment relies on the vehicle’s trajectory being close to the presumed straightline. One should pay attention to two things:

1. The wheel controllers’ ability to perform straight-line motion as sodo other-wise will be too large.

2. The uncertainties on the encoder gains should not be too great. Iterating thecalibration procedure can reduce this error source.

This experiment can be implemented on the robot in order to automate the processof calibration as will be shown in the following. Let s(k) be the accumulated dis-placement of the robot’s center. Now, model the propagation of s(k) and Æa(k) asfollows

s(k + 1) = s(k) + Æa(k)kr�r(k) + kl�l(k)

2

Æa(k + 1) = Æa(k);

(4.11)

with s(0) = 0 and Æa(0) = 1. It is advantageous to use s(k) as opposed to thethree-state odometry model because here we have no dependency on the initialorientation or a given reference system.

Now, let a process noise q 2 R3 have covariance Q and add it to the encoder read-ings and Æa(k). The linearized system matrix As(k) and process noise distributionmatrix Gs(k) then follows

As(k) =

"1

kr�r(k)+kl�l(k)2

0 1

#(4.12)

Gs(k) =

"Æa(k)kr

2

Æa(k)kl2

0

0 0 1

#: (4.13)

Page 131: Control of systems with constraints.pdf

4.2 / Localization with Calibration of Odometry 107

Given a measurement y(k) 2 R2 of the absolute position (the absolute orientationis not needed) define a new measurement z(k) 2 R as:

z(k) = ky(k)� y0k2 = s(k) + e(k); (4.14)

where k � k2 denotes the Euclidean norm and e(k) is the uncertainty on the mea-surement. The quantity y0 is the robot’s absolute initial position either producedas y(0) or as a mean value of several measurements, possibly from more thanone sensor. Assume e(k) is an uncorrelated white noise process with distributione(k) 2 N �0; � r1 0

0 r2

��.

This filter will estimate Æa(k) as the robot moves along a straight line and receivescorrecting measurements of the displacement. It is vital that the robot travels asstraight as possible.

4.2.3 Determination of Systematic Odometry Errors

In this section we assume that the scaling error Æa has been determined and wecan rely on the fact that the average value of kr and kl is correct. To simplify thenotation we assume Æa = 1 or equivalent that the values of kr and kl have beencorrected with Æa: kr = Æakr;old; kl = Æakl;old.

Now, the idea is to estimate the remaining uncertainty parameters simultaneouslywith an existing posture estimation system on the robot. See Bak et al. (1998) fora description of such a system. By augmenting the system state vector z with thetwo uncertainty parameters Ær and Æb we get

zaug =hx y � Ær Æb

iT; (4.15)

with the following equations replacing (4.4):

u1(k) =Ærkr�r(k) + (2ka � Ærkr)�l(k)

2

u2(k) =Ærkr�r(k)� (2ka � Ærkr)�l(k)

2Æbb;

(4.16)

The dynamics of the two new states are modelled as

Ær(k + 1) = Ær(k)

Æb(k + 1) = Æb(k):(4.17)

Page 132: Control of systems with constraints.pdf

108 Chapter 4 / Case Study: a Mobile Robot

The process noise q 2 R4 has covariance Q and is added to the encoder readings

(�r and �l) and to the two extra states (Ær and Æb).

The linearized augmented system consists of the system matrix Aaug and the pro-cess noise distribution matrix Gaug:

Aaug(k) =

"A F

0 I

#(4.18)

Gaug(k) =

"G 0

0 I

#; (4.19)

with details given in Appendix A. The matrices A, F and G are the non-augmentedlinearized system, input and noise distribution matrices respectively while I de-notes an identity matrix of appropriate dimensions.

In order to have convergence of the filter we use an absolute measurement y(k) 2R3 of the true state vector z. Model this in the following way

y(k) = Czaug(k) + e(k); (4.20)

where e(k) 2 N(0; R) and

C =

26641 0 0 0 0

0 1 0 0 0

0 0 1 0 0

3775 : (4.21)

The determination of Ær and Æb relies only on the knowledge of ka and the absolutemeasurements. The trajectory is free to choose.

4.2.4 Conceptual Justification of Approach

This section validates the described calibration procedure through simulations us-ing an advanced Simulink model. Based on simulations suggestions for a usefultest trajectory are made.

The employed Simulink model includes motor dynamics, encoder quantization,viscous and coulomb friction, stiction as well as image quantization. See Nørgaardet al. (1998) for further details.

Page 133: Control of systems with constraints.pdf

4.2 / Localization with Calibration of Odometry 109

As measure of convergence we use the relative estimation error denoted �(k) anddefined as

�a(k) =Æa(k)ka � �ka

�ka; �r(k) =

Ær(k)kr � �kr�kr

; �b(k) =Æb(k)b� �b

�b; (4.22)

for the scaling, the right wheel, and the wheel base corrections factors, respectively.For Monte Carlo experiments with a number of simulations with stochasticallydetermined parameters we use the average of the numerical value of �(k) denotedS(k) and defined as

S(k) = E fj�(k)jg ; (4.23)

where E f�g is the expectation. To show convergence we use the average and stan-dard deviation of �(k) over a number of samples. These quantities we denote m(i)

and �(i), respectively, and define them as

m(i) =1

i+ 1

MXk=M�i

�(k); �(i)=1

i

MXk=M�i

(�(k) �m(i))2; (4.24)

where M is the total number of samples in a simulation.

Consequently, �(k) and m(i) should tend to zero and S(k) should become smallas k becomes large2.

Scaling error

This experiment is straightforward. The trajectory is straight-line driving for about3 m with speed 0.25 m/s and a measurement every 1 second. The controllers aresampled with a sampling time of 40 ms. In cases where measurements are avail-able more frequently this of course speeds up the convergence rate. To justify theapproach and the convergence we first show one realization of the experiment andcontinuing we show 100 simulations made with constant filter settings but stochas-tical physical parameters: up to a two percent initial error on b; kr and kl are al-lowed.

Figure 4.2 shows one realization of the experiment with a two percent initial error.The scaling error is reduced by a factor of more than 450.

2Note, S(k) should not tend to zero for the very reason that if a random variable x has expectation

zero then jxj has an expectation different from zero. Say, x 2 N(0; �2)) E fjxjg =q

2

��, where

N is the Gaussian distribution.

Page 134: Control of systems with constraints.pdf

110 Chapter 4 / Case Study: a Mobile Robot

0 10 20−4

−2

0

2

Dis

t. E

rror

[mm

]

0 10 20

−2

−1

0

Time [secs]

ε a(k)

[%]

Figure 4.2. One realization of the scaling correction factor estimation. Initially, a 2%

relative estimation error exists. After the experiment, the error is 0:004%.

Figure 4.3 shows results from the 100 Monte Carlo experiments where (a) gives theaverage trajectory of the estimation error while (b) shows initial and final values ofsa(k). The drift on the estimate of the distance is due to the robot not traveling ina straight-line caused by inaccurate encoder gains (we only estimate the average)and the controller dynamics. The second step of the procedure will correct this mis-match. For all simulations we have good convergence as the average and standarddeviation over the last 50 samples are

ma(50) = �0:0073%; �a(50)= 0:0002%: (4.25)

Observability and trajectory recommendation

Before turning to the systematic odometry errors we will look at the observabilityof the two remaining parameters. The observability of the augmented filter dependson the chosen trajectory. Determination of observability for time-varying systemsis somewhat involved and will not be pursued further here. But, given certain con-ditions such as slow constant speed and turning rate the linearized system matrix isslowly time-varying and can be assumed constant for observability purposes. This

Page 135: Control of systems with constraints.pdf

4.2 / Localization with Calibration of Odometry 111

0 20−2

−1

0

Dis

t. E

rror

[mm

]

0 200

0.5

1

Time [secs]

Sa(k

) [%

]

(a) Average errors

0 50 100−6

−4

−2

log 10

(|ε a(k

)|)

Simulations

(b) Relative errors

Figure 4.3. Scaling correction factor estimation with 100 Monte Carlo estimations usinga Simulink model and an up to a 2 percent initial error on the physical parameters of theodometry model. (a) The top plot shows the average distance estimation error while thebottom plot shows the average relative scaling estimation error Sa(k). (b) Initial (cross)and final (square) relative scaling estimation errors for the 100 simulations. In average thescaling correction factor is improved by a factor of 54.

way the observability matrix can be calculated. For most trajectories and parame-ter configurations, the observability matrix will numerically have same rank as thesystem matrix (which is the criterion for observability) even though the observabil-ity may be poor. Consequently, the ratio between the largest and smallest singularvalue will be used to indicate the degree of observability for different trajectories.Here three fundamental test runs are examined: (1) straight-line driving, (2) turn-ing on the spot, and (3) driving with a constant turning and heading speed. Theaveraged condition numbers for the simulations are given in Table 4.1.

This shows that turns are good for both correction factors while straight-line driv-ing practically only provides information to the correction factor on the encodergains. Some mixture of the two seems rational.

Page 136: Control of systems with constraints.pdf

112 Chapter 4 / Case Study: a Mobile Robot

Trajectory Cond. no Observability

Straight-line � 106 The more correct the encoder gains areknown the more perfect is the straight-linemotion and the less observable is Æb.Observability for Ær is good.

Turning on thespot

� 10 Observability is best for Æb but also good forÆr.

Constantturning andheading

� 10� 106 The relation between turning and headingvelocity determines the condition number:fast turning and slow heading speed gives asmall condition number.

Table 4.1. Condition numbers for the observability matrix for different trajectories.

Systematic odometry errors

The chosen trajectory for the following experiments is shown in Figure 4.4 andwill be traveled in both directions. For real experiments this might not be a suitabletrajectory as sensors may require a certain orientation, i.e. a camera should bepointed in the direction of a guide mark in order to obtain measurements fromimages of the mark. Other trajectories will also work.

~1 m

~1 m

Figure 4.4. Trajectory for mobile robot for calibrating systematic errors. The forward ve-locity is kept under 0:2 m/s and the total time to complete the course in both directions isabout 50 seconds. An absolute measurement is provided every one second.

Page 137: Control of systems with constraints.pdf

4.2 / Localization with Calibration of Odometry 113

In Figure 4.5, a simulation with the filter for estimating the systematic errors isshown. In order to verify convergence the absolute measurements are not corruptedwith noise, although the measurement covariance matrix in the filter is non-zero.Due to these perfect unrealistic measurements the convergence is fast and exact.Also, as the systematic odometry errors become exact estimated, the posture esti-mation error is zero, even between measurements.

0 10−2

−1

0

1

ε r(k)

[%]

0 10−1

0

1

2

Time [secs]

ε b(k)

[%]

Figure 4.5. One realization of systematic odometry factors estimation. The measurementsare noiseless. The relative odometry correction estimation errors � r(k) and �b(k) areshown.

Next, a more realistic experiment is conducted. The absolute measurements areadded realistic noise and the results are based on 100 Monte Carlo simulationswith stochastically determined initial estimates of the posture and the odometrycorrection factors Ær and Æb. Up to a two percent error is allowed. Figure 4.6 showsthe average of the relative estimation errors for the odometry correction factors.The convergence is good as the average and standard deviation over the last 100samples for Ær and Æb, respectively, are:

mr(100) = �0:0003%; �r(100) = 0:0007% (4.26)

mb(100) = �0:0011%; �b(100)= 0:0005%: (4.27)

In average the correction factors have improved with a factor of 75 and 81 for Ærand Æb, respectively.

Page 138: Control of systems with constraints.pdf

114 Chapter 4 / Case Study: a Mobile Robot

0 500

0.5

1

Sr(k

) [%

]

0 500

0.5

1

Time [secs]

Sb(k

) [%

]

Figure 4.6. Odometry correction factors estimation with 100 Monte Carlo estimationsusing a Simulink model and an up to a 2 percent initial error on the physical parametersof the odometry model. The plot shows the average relative scaling estimation error S r(k)

and Sb(k).

4.2.5 Experimental Results

In this section real world experiments are carried out on the department’s mobilerobot, described and illustrated in section 4.1.

The mobile robot’s drive system consists of two DC motors mounted on the frontwheels through a gearing. They are equipped with encoders with an resolutionof 800 pulses/turn. The control and coordination of the robot are handled by anon-board MVME-162A main board with a MC 68040 CPU running the OS-9 op-erating system. Two ways of acquiring absolute measurements exist:

1. On-board guide mark vision system. A standard commercial 512�512 pixelgrey level type CCD camera is mounted on top of the robot with an on-board CPU for image processing. Based on images of artificial guide marks,absolute postures of the robot can be calculated.

2. External tracking vision system. The robot is equipped with two light diodes,one on each side, which can be tracked with a surveillance camera placedin the ceiling of the laboratory. The posture of the robot can be monitored

Page 139: Control of systems with constraints.pdf

4.2 / Localization with Calibration of Odometry 115

with suitable image processing and knowledge of the camera’s translationand rotation relative to some global reference coordinate system. This canbe achieved using calibration tiles with known geometry. The recording ofa surveillance image is synchronized with the robot which allows for con-formity in the absolute measurements and local odometry data. The uncer-tainties of these measurements are estimated to be under 10 mm in positionand 0:15Æ in orientation. Due to a limited field of view of the camera, thistracking system only allows for tracking of the robot over an area of 1.75 m� 1.75 m.

See for instance Andersen and Ravn (1990) for a discussion of real-time visionsystems.

It is only attempted to use the external vision system in the following as this sys-tem is perfectly suited for tracking the robot through rotations. Lacking knowl-edge of the exact parameters we can only verify convergence but not whether theseconverged parameters actually are correct, although we shall make a comparisonto values determined from a calibration experiment using Borenstein and Feng’smethod.

Figure 4.7 shows the convergence and the robustness of the convergence: threeexperiments with different initial settings have been carried out and all convergeto equal values. The convergence rate for kr is fast (about 10-15 measurements)while b is 8-10 times slower.

0 2521.2

21.4

21.6

21.8

22

k r [µ m

/pul

ses]

0 50 100 150

530

540

550

Time [secs]

b [m

m]

Figure 4.7. Calibration with three different initializations. Note different time-scales fortop and bottom plot.

Page 140: Control of systems with constraints.pdf

116 Chapter 4 / Case Study: a Mobile Robot

Comparison to Existing Calibration Methods

As mentioned in the introduction at least two systematic calibration methods ex-ist. Table 4.2 compares estimated values obtained from the experiment shown inFigure 4.7 with a previous calibration where Borenstein and Feng’s method wereused. The differences are less than 0.3% for all three. Some time (about 6 months)passed between the two calibrations and this may explain the small differences asthe wheel configuration and the surface may be slightly at variance. No attempthave been made to quantitatively decide which parameter set achieve the best per-formance on the mobile robot as the purpose here is to propose the filters andestablish a confidence in the convergence and robustness of the calibration.

Method kr[�m/pulse] kl [�m/pulse] b [mm]

Borenstein and Feng’s method 21.66 21.61 538.32

Estimated with on-board filters 21.69 21.58 539.67

Table 4.2. Comparison of two different calibrations.

In Larsen et al. (1998) a method was proposed that in one step tries to estimatethe wheel base and the two encoder gains. Real world experiments equivalent tothe above described reported some difficulties estimating all three parameters atthe same time as the wheel base was almost 10% off after more than 200 visionmeasurements. By splitting the procedure into two steps we only need 50-100 mea-surements and the robustness of the convergence is improved significantly.

4.2.6 Conclusions

A two-step procedure for calibrating systematic odometry errors on mobile robotsusing a Kalman filter has been described. First step estimates the average encodergain for the two driving shafts while the second step estimates the wheel baseand the right wheel’s encoder gain. Giving a maintained average we can as welldetermined the left wheel’s encoder gain.

By splitting the procedure into two steps observability and hence convergence rateare much improved (see Larsen et al. (1998) for a comparable study). Monte Carlosimulations have justified the approach and experiments have indicated a good ro-bustness regarding convergence in the proposed filters. Furthermore, the accuracy

Page 141: Control of systems with constraints.pdf

4.3 / Receding Horizon Approach to Path Following 117

of the estimated values are of the same order as calibrations using existing manualprocedures.

The two filters are easy to implement and the method is well suited for automat-ing the calibration task allowing for more autonomous vehicles. It is especiallyapplicable to vehicles with frequent load or wheel configuration changes.

4.3 Receding Horizon Approach to Path Following

In manoeuvering mobile robots path following is a useful motion control approachto getting the robot from one point to another along a specified path. This sectionconsiders a path consisting of straight lines intersected at given angles. In an indoorenvironment, where rooms often are rectangular, this kind of paths are often en-countered, possibly with perpendicular intersections. Figure 4.8 shows an exampleof a building’s floor plan and a possible path layout. Furthermore, the specifica-tion or actual implementation (by means of for instance tape lines or floor wiring)of such a straight path is easy. An appropriate path following algorithm shouldtherefore master the ability of controlling the robot through such intersections.

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

����������������������������������������������������������������������������������������

����������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������

������������������������������������������������

������������������������������������

������������������������������������

������������������������������������

������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������

������

���������

���������

������

������

����

����

Path

Robot

Figure 4.8. Floor plan for an illustrative building.

Sharp turns raise a problem. The vehicle velocities, heading and angular, mustbe constrained such that the turn is appropriately restrained and smooth. A largeheading velocity together with a large angular velocity will jeopardize the stability

Page 142: Control of systems with constraints.pdf

118 Chapter 4 / Case Study: a Mobile Robot

and safety of the robot or cause saturation in the motors which again will causeovershooting and long settling times. The velocity constraints can either be self-imposed due to desired vehicle behavior and safety concerns or physical due toactual limitations caused by for instance currents and voltages in the motors.

To avoid excessive overshooting and to have time to decelerate when turning, thepresented controller is based on a strategy that forecasts the intersection using areceding horizon approach where the controller predicts the posture of the robotand together with knowledge of an upcoming intersection compensates the con-trol signals. Predictive path planning was discussed in Normey-Rico et al. (1999);Ferruz and Ollero (1998) where smooth paths were considered.

The general path following problem is characterized by the forward velocity notbeing part of the control problem opposed to the path tracking problem wheretypically a virtual reference cart is tracked (de Wit et al., 1996; Koh and Cho, 1999;Samson and Ait-Abderrahim, 1991) and both the forward and angular velocity arecontrolled. Hence, path following has an extra degree of freedom (but only controlstwo degrees) which allows handling of constraints by scaling the forward velocity.This has been exploited in Bemporad et al. (1997) for a wall-following mobilerobot. In Koh and Cho (1999) the constrained path tracking problem was discussed.

At first, the problem of following a straight line without turns is considered. A lin-ear controller is presented that handles constraints by means of a simple velocityscaling. Next, a nonlinear receding horizon approach to the general path follow-ing problem is considered. The resulting controller cannot be solved explicit andwill have to rely on an on-line minimization of a criterion function. This is time-consuming, even without constraints. As a consequence of that, a simplified fasterlinear but approximative approach is presented. By using the velocity scaling, theconstraints are handled in a simple way. The section concludes with experimentalresults.

A more condensed version of the research in this section is to appear in Bak et al.(2001).

4.3.1 Path Following Problem Formulation

Given a path P in the xy-plane and the mobile robot’s forward velocity v(t), thepath following problem consists in finding a feedback control law !(t) such thatthe distance to the path and the orientation error tends to zero. Thus the traveleddistance along the path is not itself of interest to this problem.

Page 143: Control of systems with constraints.pdf

4.3 / Receding Horizon Approach to Path Following 119

The path following problem is illustrated in Figure 4.9 where P is the orthogonalprojection of the robot point R onto the path. The signed distance between P andR is denoted d. An intersection is placed at C and the signed distance from C toP along the path is denoted s. The orientation error is defined as ~� = � � �r,where �r is the orientation reference. The two path sections have orientation �1

and �2, respectively, with j�2 � �1j < � assumed. Shown are also two bisectionlines defined by the angles � = �2��1

2and �+ �

2. These lines will later be used to

determine at what point the reference should change.

Castor

y�

�1

C

x

d

R

P

s

(xc; yc)

d = s tan��+ �

2

�d = s tan (�)

�2

Figure 4.9. The path following problem with a path consisting of two straight intersectedlines.

4.3.2 Constraints

Constraints exist at different levels of a control system for a mobile robot. At themotor level, voltages and currents are magnitude limited, and at trajectory level,the same goes for velocities and accelerations. Since the path following algorithmis a velocity trajectory generator that generates references to the underlying motorcontrollers, only constraints on the velocities of the robot are considered. This is

Page 144: Control of systems with constraints.pdf

120 Chapter 4 / Case Study: a Mobile Robot

partly justified by the fact that, typically, the motors of a mobile robot are capableof delivering larger velocities than desirable during normal operation. Hence, ve-locity constraints are often imposed and hence magnitude saturation in the actualactuators (the motors) are generally not of concern, except when fast high perfor-mance trajectory generators are designed. Furthermore, only magnitude saturationsare considered.

Let u = (v; !)T and uw = (vr; vl)T , where vr and vl denote the right and left

wheel velocities, respectively. Discarding wheel slippage and uneven floors, theheading and angular velocities relate to the left and right wheel velocities in thefollowing way

u =

"v

!

#=

"12

12

1b�1

b

#"vr

vl

#= Fwuw; (4.28)

where b is the length of the wheel base of the robot. Let vwmax and vwmin be the max-imum and minimum allowable velocities for the left and right wheels (we assumeequal constraints on the two wheels), i.e.

vw

min � vr � vwmax; vw

min � vl � vwmax: (4.29)

Besides the wheel constraints it is convenient to be able to put a limit directly onthe forward and angular velocities. For example, for v = 0, the constraints on thewheels alone may allow an undesirable maximum angular velocity. The constraintsare

vmin � v � vmax; !min � ! � !max: (4.30)

Figure 4.10 illustrates how the constraints relate. It is assumed that zero belongs tothe set of valid velocities. In combined compact form the velocity constraints are

26666666664

F�1w

�F�1w"

0 1

0 �1

#"1 0

�1 0

#

37777777775u �

26666666664

12(vw

max)

�12(vwmin)

!max

�!min

vmax

�vmin

37777777775; (4.31)

or

Page 145: Control of systems with constraints.pdf

4.3 / Receding Horizon Approach to Path Following 121

vmin

vmax

!max!minvwmin

vwmax

vwmax�vw

minbagv

vwmin�vw

maxbagv

v

!

Figure 4.10. The velocity constraints.

Pu � q; (4.32)

where 1m(x) = (x; x; : : : ; x)T is a vector of length m.

Some sensors may require a certain orientation of the robot towards the medium. If,for example, an ultrasonic sensor is used in a wall-following robot, the difference inorientation between the wall and the surface of the receiver should be kept small forthe sensor to provide reliable measurements. Hence, a restriction on the orientationerror of the robot may, depending on the sensor package, be needed:

j~�j � ~�max: (4.33)

However, this will not be pursued any further at this point.

4.3.3 Linear Controller with Velocity Scaling

In this section the path is assumed perfectly straight and infinitely long, that is,the turns are not under consideration. We consider a velocity scaling approach toa standard linear controller such that the constraints are satisfied. In Section 4.3.5the method will be applied to a receding horizon controller.

The velocity scaling was implicitly introduced in Dickmanns and Zapp (1987) andfurther explored in the control context in Sampei et al. (1991) and Samson (1992).

Page 146: Control of systems with constraints.pdf

122 Chapter 4 / Case Study: a Mobile Robot

Linear Controller

When the path is straight a nonlinear parameterization of the path following prob-lem is

_d = v sin(~�)

_~� = !;

(4.34)

where d and ~� are the distance and orientation errors, respectively. In the neighbor-hood of the origin (d = 0; ~� = 0), a linearization of (4.34) gives

_d = v~�

_~� = !:

(4.35)

Assuming that v is different from zero (but not necessarily constant), this system(4.35) is controllable and stabilizable when using a linear state feedback controllerof the form

! = �l1vd� l2jvj~�; (4.36)

with l1 > 0 and l2 > 0. For a constant v, this controller reverts to a classical lineartime-invariant state feedback. The velocity v is included in the controller gainssuch that the closed-loop xy-trajectory response is independent of the velocity ofthe vehicle. As will be demonstrated, the gains l1 and l2 are chosen with respectto the distance response instead of the corresponding time response in the case oftime equations. For a given v, consider the closed-loop equation for output d:

�d+ l2jvj _d+ l1v2d = 0; (4.37)

where we identify the undamped natural frequency !n and the damping ratio � as

!n = jvjpl1

� =l2

2pl1

:(4.38)

For a second-order linear system, the transient peak time (time from referencechange to the maximum value) tpeak is a function of the natural frequency !n andthe damping ratio �:

tpeak =1

!nexp

� cos�1(�)p

1� �2

!; 0 � � < 1: (4.39)

Page 147: Control of systems with constraints.pdf

4.3 / Receding Horizon Approach to Path Following 123

Define the peak distance as dpeak = jvjtpeak. Thus, (4.38) and (4.39) suggest select-ing the gains l1 and l2 as

l1 =

0BB@exp

�� cos�1(�)p

1��2

�dpeak

1CCA

2

l2 = 2�pl1:

(4.40)

Nonlinear Extension

de Wit et al. (1996) suggest the following extension to the linear controller (4.36)that globally stabilizes the nonlinear model (4.34):

! =

(�l1vd; ~� = 0

�l1v sin(2~�)2~�

d� l2jvj~�; otherwise.(4.41)

Note, that the linear controller (4.36) and the nonlinear controller (4.41) behavesimilarly around (d = 0; ~� = 0).

Velocity Scaling

The controller (4.36) only determines the angular velocity ! while the forward ve-locity v is left to the operator to specify. This extra degree of freedom and the factthat for the controller (4.36) ! ! 0 for v ! 0, allow us to handle the velocityconstraints by scaling the forward velocity such that v = vdes, where vdes is thedesired velocity of the vehicle and 2 [0; 1] is a scaling factor. This way the con-strained xy-trajectory will remain the same as the unconstrained, only the traversewill be slower.

For a given distance error d and orientation error ~�, the scaled control law (4.36)have the form

! = �k(d; ~�) vdes; (4.42)

with

k(d; ~�) = l1d+ l2sign(vdes)~�: (4.43)

Page 148: Control of systems with constraints.pdf

124 Chapter 4 / Case Study: a Mobile Robot

We need to determine the scaling factor such that the following inequality issatisfied,

P

"1

�k(d; ~�)

# vdes = P

0 � q: (4.44)

Since P 0 is a vector and 2 [0; 1], the inequality is satisfied by setting

= min

�1;

(q)i

(P 0)i; i =

�j��(P 0)j > 0; j = 1; : : : ; 8

�: (4.45)

The selection of can be interpreted as a time-varying velocity scaling and byon-line determination it is guaranteed that the constraints on the velocities are notviolated.

4.3.4 Nonlinear Receding Horizon Approach

This section considers the problem of manoeuvering a nonholonomic mobile robotthrough a turn consisting of two straight-line sections by means of a sensor-basednonlinear closed-loop receding horizon control strategy.

The linear feedback control solution to the path following problem as shown in theprevious section 4.3.3 is not suited for path intersections. As a matter of fact mostpath following solution are based on the assumption of a bounded and differen-tiable path curvature which is not the case for an intersection.

A good solution to the stated path following problem should have the succeedingproperties:

� It seems naturally to anticipate the corner and to embark on the turn beforereaching the actual turning point. This will smooth the turn.

� The forward velocity should be decreased (possibly to zero) as the vehiclerotates around the corner such that the vehicle may follow the path with anarbitrarily accuracy.

The anticipation of the corner suggests a receding horizon approach where thecontrol signals are based on predictions of the robot’s posture while the decreasein velocity suggests the use of scaling.

Page 149: Control of systems with constraints.pdf

4.3 / Receding Horizon Approach to Path Following 125

Castor Path

y

x

Figure 4.11. Definition of path following problem for nonlinear approach.

Figure 4.11 shows a local coordinate system (x; y) to the considered intersection.With respect to this coordinate system the following model (based on the simplifiedodometry model in (4.2)) describes the motion of the vehicle,

x(k + 1) = x(k) + Tv(k) cos(�(k) + 0:5T!(k))

y(k + 1) = y(k) + Tv(k) sin(�(k) + 0:5T!(k))

�(k + 1) = �(k) + T!(k);

(4.46)

where the vehicle orientation � is measured with respect to the x-axis. The inter-section is placed in (x; y) = (0; 0) and without loss of generality a left turn isconsidered. The intersection angle is set to 90Æ. Shown in the figure are also thebisection lines defined by the angle � = �r

2which defines the switch in reference.

The predictive receding horizon controller is based on a minimization of the crite-rion

J(k) =

N2Xn=1

d(k + n)2 + Æ ~�(k + n)2 + �!(k + n� 1)2; (4.47)

where d and ~� are the predicted distance and orientation errors, Æ and � are weights,andN2 is the prediction horizon. We are looking for a solution to the path followingproblem where the distance traveled along the path itself is not of interest. Due to

Page 150: Control of systems with constraints.pdf

126 Chapter 4 / Case Study: a Mobile Robot

the intersection two different error sets are needed depending on where the vehicleis. The first error set is used along the incoming path section while the second errorset is used when the vehicle travels along the outgoing section. The switch fromone error set to another is defined in Figure 4.11 by the two bisection lines. Thesymbols ➀ and ➁ illustrate in which area in the neighborhood of the intersectioneach error set is used. The error sets are defined as follows:

d(x; y)

~�(x; y)

!=

8>>>><>>>>:

y

!;

y < x

or y > x➀

x

� � �

2

!; otherwise ➁ :

(4.48)

The prediction of the posture is easily calculated by extrapolating the nonlinearmodel in (4.46). For example

�(k + 2) = �(k + 1) + T!(k + 1)

= �(k) + T!(k) + T!(k + 1) (4.49)

x(k + 2) = x(k + 1) + Tv(k + 1) cos(�(k + 1) + 0:5T!(k + 1))

= x(k) + Tv(k) cos(�(k) + 0:5T!(k))

+ Tv(k + 1) cos(�(k) + T!(k) + 0:5T!(k + 1)): (4.50)

Thus, the n-step predictions are given by

�(k + n) = �(k) + T

n�1Xi=k

!(i)

x(k + n) = x(k) + T

n�1Xi=k

v(i) cos

0@�(k) + 0:5T!(i) + T

i�1Xj=k

!(j)

1A

y(k + n) = y(k) + T

n�1Xi=k

v(i) sin

0@�(k) + 0:5T!(i) + T

i�1Xj=k

!(j)

1A :

(4.51)

Since the predictions are nonlinear and the errors are position-dependent no explicitminimization of the criterion (4.47) exists and the controller will have to rely onon-line minimization. This nonlinear approach is not of practical interest due to themandatory minimization at run-time which depending on the size of the predictionhorizon is so time-consuming that an real-time implementation is out of question.

Page 151: Control of systems with constraints.pdf

4.3 / Receding Horizon Approach to Path Following 127

4.3.5 Linear Receding Horizon Approach

The nonlinear solution to the intersection problem presented in the previous sec-tion 4.3.4 has some run-time problems due to the on-line minimization of the cri-terion (4.47). The following attempts to solve the same problem by means of asimple and fast linear predictive strategy. The presentation uses the definitions inFigure 4.9.

The following approach is approximative and based on the linearized model (4.35)

_d = v~�

_~� = !;

(4.52)

which was used for the linear state feedback controller in Section 4.3.3. A dis-cretized version of (4.52) with sampling period T is found by integration:

d(k + 1) = d(k) + Tv

��(k)� �r(k) + T

2!(k)

��(k + 1) = �(k) + T!(k);

(4.53)

where we have assumed _�r = 0.

Since we eventually want to apply the velocity scaling to the receding horizonapproach, we introduce a new control signal ' defined as v' = ! where we for aconstant ' have ! ! 0 for v ! 0.

Define the state vector z(k) = (d(k); �(k))T and the reference vector r(k) =

(0; �r(k))T , and rewrite (4.53) to

z(k + 1) =

"1 Tv

0 1

#z(k) +

"T2

2v2

Tv

#'(k) +

"0 �Tv0 0

#r(k); (4.54)

or

z(k + 1) = Az(k) +B''(k) +Brr(k): (4.55)

The predictive receding horizon controller is based on a minimization of the crite-rion

J(k) =

N2Xn=0

(z(k + n)� r(k + n))TQ(z(k + n)� r(k + n)) + �'(k + n)2;

(4.56)

Page 152: Control of systems with constraints.pdf

128 Chapter 4 / Case Study: a Mobile Robot

subject to the inequality constraint

P

"v(n)

v(n)'(n)

#� q; n = 0; : : : ; N2; (4.57)

where z is the predicted output, Q is a weight matrix, � is a scalar weight, and N2is the prediction horizon. P and q are defined in (4.32).

An n-step predictor z(k + njk) is easily found from iterating (4.54). Stacking thepredictions z(k + njk); n = 0; : : : ; N2 in the vector Z yields

Z(k) =

2664

z(kjk)...

z(k +N jk)

3775 = Fz(k) +G'�(k) +GrR(k); (4.58)

with

�(k) =h'(k); : : : ; '(k +N2)

iT

; R(k) =hr(k); : : : ; r(k +N2)

iT

;

and

F =hI A � � � A

N2

iT

Gi =

2666666664

0 0 � � � 0 0

Bi 0 � � � 0 0

ABi Bi

. . ....

......

. . . . . . 0 0

AN2�1Bi � � � ABi Bi 0

3777777775;

where index i should be substituted with either ' or r.

The N2-step predictor (4.58) simplifies the criterion (4.56) to

J(k) =�Z(k)�R(k)

�T

IQ

�Z(k)�R(k)

�+ ��(k)T�(k); (4.59)

where IQ is a block diagonal matrix of appropriate dimension with instances of Qin the diagonal. The unconstrained controller is found by minimizing (4.59) withrespect to �:

Page 153: Control of systems with constraints.pdf

4.3 / Receding Horizon Approach to Path Following 129

�(k) = �Lzz(k)� LrR(k); (4.60)

with

Lz = (�+GT

!IQG!)�1GT

!IQF

Lr = (�+GT

!IQG!)

�1GT

!IQ(Gr � I):

(4.61)

Directly using z(k) in (4.60) has a drawback. For large distance errors, the constantgains in the controller causes unintended large orientation errors. Instead, considerthe nonlinear scheduled controller

�(k) = �Lz

24 sin(2~�(k))

2~�(k)0

0 1

35 z(k)� LrR(k): (4.62)

This will reduce the control gain on d when ~� becomes large and hence reduce theorientation error for large distance errors. This is illustrated in Figure 4.12 for apath following controller with and without the nonlinear scheduling in (4.62).

−1 0 1 2

0

0.5

1

y [m

]

x [m]

Figure 4.12. Straight path following with (solid) and without (dashed) nonlinear schedulingfor an initial distance error of 1m.

The scaling approach from Section 4.3.3 can straightforward be applied. The scal-ing vector � = ( (0); : : : ; (N2))

T is selected such that

P

"1

'(k + n)

#vdes (n) = P

0 (n) � q; n = 0; : : : ; N2; (4.63)

is satisfied by using (4.45).

Page 154: Control of systems with constraints.pdf

130 Chapter 4 / Case Study: a Mobile Robot

Reference Estimation

The predictive controller needs a vector, �r(k) = (�r(k); : : : ; �r(k+N2))T , with

N2+1 future orientation references, one for each prediction, such that the referencevector R(k) = (r(k); : : : ; r(k + N2))

T can be completed with elements ri =

(0; �r(i))T .

For a straight path with no intersections we simply have

�r(k) =h�1 � � � �1

iT

; (4.64)

where �1 is the orientation of the path.

Now, consider the turn illustrated in Figure 4.9. A difficulty exists because thereference vector is related to time but the turn is given by a position and orientation.Thus, we need to determine to what sampling instance the vehicle has reached thecorner in order to relate the positional information of the corner to the referencevector. This is done by using information such as the momentary distance to thecorner and an estimate of the vehicles velocity.

The reference change is defined as the time kstep where the distances from therobot to the two path sections are equal, that is

d = tan(�)s or d = tan��+

2

�s: (4.65)

Geometrically, (4.65) defines the two bisection lines shown in Figure 4.9. At thetime kstep, the distance error d must change from being measured with respect tothe incoming path section to the outgoing path section and s should then be directedtowards the next corner, if any. At time k, define �(k) as kstep = k + �(k). Theorientation reference vector is thus given as

�r(k) =h1�(k)(�1) 1N2��(k)+1(�2);

iT

; (4.66)

where �1 and �2 are given by the orientation and direction of the corner. If forexample the path is oriented along the x-axis with a left turn along the y-axis, then�1 = 0 and �2 = �=2.

Since the velocity changes due to the velocity scaling, the arrival of the corner andthus the sampling instance where reference should change, must be based on anestimation of the robot’s posture. Based on the odometry model (4.2) we have

Page 155: Control of systems with constraints.pdf

4.3 / Receding Horizon Approach to Path Following 131

s(k + 1) = s(k) + Tv(k) cos

��(k)� �r(k) + T!(k)

2

d(k + 1) = d(k) + Tv(k) sin

��(k)� �r(k) + T!(k)

2

��(k + 1) = �(k) + T!(k):

(4.67)

This model’s n-step predictor is easily found by iterating the equations (4.67) likein (4.51)

�(k + njk) = �(k) + T

n�1Xi=k

!(i)

d(k + njk) = d(k) + T

n�1Xi=k

v(i) sin

0@�(k)� �r(k) + T

2!(i) + T

i�1Xj=k

!(j)

1A

s(k + njk) = s(k) + T

n�1Xi=k

v(i) cos

0@�(k)� �r(k) + T

2!(i) + T

i�1Xj=k

!(j)

1A :

(4.68)

From (4.65) and (4.68), we can estimate �(k). For �2 � �1 > 0 we get

�(k) = minnn

���d(k + njk) � tan��+

2

�s(k + njk)

_ d(k + njk) � tan(�)s(k + njk)o; (4.69)

while for �2 � �1 < 0 the inequality signs in (4.69) are opposite.

The Algorithm

This concludes the linear predictive receding horizon controller defined by the con-trol law (4.62), the scaling (4.63), the estimation of � in (4.69), and the referencevector (4.66). Algorithm 4.3.1 illustrates a sampled controller using this approach.

Algorithm 4.3.1 Sketch of linear receding horizon controllerLINEARRECEDINGHORIZON(k;R(k))

1 z(k) measurement of d; �

2 �(k) �Lz

24 sin(2~�(k))

2~�(k)0

0 1

35 z(k)� LrR(k)

Page 156: Control of systems with constraints.pdf

132 Chapter 4 / Case Study: a Mobile Robot

3 � minimum values satisfying all constraints4 (k) (�)15 '(k) (�)16 v(k) (k)v des7 !(k) v(k)'

8 �(k + 1) estimate reference crossover9 R(k + 1) new reference

10 k k + 1

11 return !(k); v(k):

Clearly, the number of calculations for each sampling is reduced significantly com-pared to the nonlinear approach since the controller can be solved explicit.

4.3.6 Conceptual Justification of Approach

This section verifies the usefulness of the linear receding horizon approach bymeans of a simulation study. The parameters are chosen as T = 0:04s, N = 100,� = 0:0001, and Q =

�1 00 Æ

�, with Æ = 0:02 if not stated otherwise. The desired ve-

locity is 0:2m/s and the prediction horizon is equivalent to detecting a corner 0.8mbefore reaching it, desired speed assumed. The velocity constraints on the robot arechosen as

wheels: �0:25 � vr;l � 0:25 [m/s];

forward: �0:05 � v � 0:20 [m/s];

angular: �2�10

� ! � 2�10

[rad/s]:

Straight Path

Consider the task of following a wall with �1 = 0 and initial starting point in(0; 1m; 0)T . Figure 4.13 shows the trajectory and the scaled controller outputsalong with the constraints. The resulting xy-trajectory for the unconstrained andconstrained closed-loop system are equal; only the time response is different. Forthe unconstrained controller, x = 1 is reached after 7.6 seconds while for the con-strained controller, the time is 9.56 seconds due to the scaling.

Page 157: Control of systems with constraints.pdf

4.3 / Receding Horizon Approach to Path Following 133

0 0.5 1 1.5

0

0.5

1

y [m

]

x [m]

(a) xy-trajectory

−1 −0.5 0 0.5 1−0.25

0

0.25

v [m

/s]

ω [rad/s]

(b) Velocity scaling

Figure 4.13. Straight path with velocity constraints and scaling.

Intersection

At first, a 90Æ turn is considered. Figure 4.14 shows the xy-trajectories for numberof different initial starting positions and indicates a good robustness to initial con-ditions. The trajectory with x0 = (�0:5; 0:5; 0) breaks off after a short time dueto an early change in the orientation reference caused by the predicted position ofthe vehicle being closer to second path section than to the first. The trajectory istherefore in full compliance with the intended behavior.

To illustrate the scaling of the velocities and the fulfillment of the constraints Fig-ure 4.15 display time histories for the scaled velocities (both left/right and for-ward/angular) for the initial position x0 = (�1; 0; 0)T .

It is seen how the forward velocity gives way to an increase in the angular velocitywhich secures a safe smooth turn while fulfilling the imposed constraints. The on-line estimation of � induces a small fluctuation in the signals. This, however, couldbe reduced by low-pass filtering the estimate.

Now, consider different turns with �1 = 0Æ and �2 = 30Æ; 60Æ; 90Æ; 120Æ , and 150Æ,respectively. Figure 4.16 shows the xy-trajectories for the different turns where theexact same parameter setting has been used for all the turns. This demonstrates

Page 158: Control of systems with constraints.pdf

134 Chapter 4 / Case Study: a Mobile Robot

−1 −0.5 0

−0.5

0

0.5

x [m]

y [m

]

Figure 4.14. Path following for different initial positions.

0 2 4 6 8 10

−0.2

0

0.2

v r and

vl [m

/s]

Time [secs]

0 2 4 6 8 10

−0.5

0

0.5

v [m

/s] a

nd ω

[rad

/s]

Figure 4.15. Scaled velocities. Top plot: forward (solid) and angular (dashed) velocity.Bottom plot: wheel velocities vl (solid) and vr (dashed). Constraints are shown with dottedlines.

Page 159: Control of systems with constraints.pdf

4.3 / Receding Horizon Approach to Path Following 135

−1 −0.5 0 0.5

0

0.5

1

x [m]

y [m

]

Figure 4.16. Path following for different turns.

a good robustness. Even for very sharp turns (�2 � 120Æ) there is hardly anyovershooting.

Parameter Robustness

Next, we consider parameter robustness and tuning capabilities. Figure 4.17 showsa 90Æ turn with different values of Æ and � (small, medium, and large values). Thevariations of the two parameters Æ and � have similar effects on the closed-loopxy-trajectory. In particular, for large values of � or small values of Æ the responsetends to overlapping the path sections at all time. This is possible in spite of thevelocity constraints because the forward velocity is allowed to tend to zero at thatpoint. The drawback is the deceleration of the vehicle being very abrupt.

4.3.7 Experimental Results

The mobile robot test bed described in section 4.1 and 4.2.5 is used in the followingto experimentally verify the linear receding horizon approach.

Page 160: Control of systems with constraints.pdf

136 Chapter 4 / Case Study: a Mobile Robot

−0.6 −0.4 −0.2 0

0

0.2

0.4

0.6

x [m]

y [m

]

(a) Varying Æ, fixed �

−0.6 −0.4 −0.2 0

0

0.2

0.4

0.6

x [m]

y [m

]

(b) Varying �, fixed Æ

Figure 4.17. Different values of Æ and �. Small (solid), medium (dashed), and large (dash-dotted) values.

To illustrate the ability of predictive turning, the vehicle is commanded to followa triangle path layout with turns of 90, 120, and 150 degrees, respectively. Thebaseline of the triangle is 2 meters long and the vehicle is initiated from position(x; y; �) = (�1; 0; 0). Figure 4.18 shows the reference trajectory along with themeasured outcome of the experiment. Clearly, the vehicle is able to follow thepath even through rather sharp turns. However, some overshooting is present whichincreases with the degree of turning. This overshooting was not significant in thesimulation study and has to do with the dynamics of the vehicle and the motorcontrollers. So far (including the simulation study), it has been assumed that thecalculated velocity references (v; !) are momentarily followed by the vehicle. Thisis a simplification which is only fulfilled to some degree in a real physical systemdue to dynamics in the motor controller loops. The actual vehicle velocities canbe measured using the wheel encoders and in Figure 4.19 these are depicted alongwith the references calculated by the receding horizon approach from just beforethe 150Æ turn until just after the turn. As expected, the tracking is not perfect. Thefollowing list some plausible reasons.

Page 161: Control of systems with constraints.pdf

4.3 / Receding Horizon Approach to Path Following 137

−2 −1.5 −1 −0.5 0

0

0.5

1

x [m]

y [m

]

Figure 4.18. Results from a path following experiment with the test vehicle. Reference path(dotted), measured path (solid).

0 5 10 150

0.2

0.4

v [m

/s]

0 5 10 15−0.5

0

0.5

1

Time [secs]

ω [r

ad/s

]

Figure 4.19. The actual measured velocities (solid) compared to the desired velocity refer-ences (dashed).

Page 162: Control of systems with constraints.pdf

138 Chapter 4 / Case Study: a Mobile Robot

� The motor controllers are badly tuned or system parameters are incorrectlydetermined.

� Friction (stiction and coulomb) introduces a delay in the tracking due to therequired integral action in the motor controllers.

� Rate constraints (current limitations) may be active in the motor amplifierswhen rapidly changing the velocity references.

� Uneven surfaces introduce disturbances.

No significant effort has been put into trying to reduce the velocity tracking prob-lem because, despite the overshooting, the usability of the receding horizon ap-proach is justified.

Figure 4.19 also shows how the forward velocity v is reduced (scaled) when largeangular velocities ! are required.

4.3.8 Conclusions

This section has presented a receding horizon controller to the path following prob-lem for a mobile robot and the key results are the following.

� A receding horizon approach provides a useful way of closed-loop control-ling a mobile robot through sharp turns.

� On-line velocity scaling is an easy way of respecting velocity constraintswithout a significant increase in the computational burden.

� The presented linear algorithm is simple and fast and is easily implementedinto a robot control system.

� The simulation study indicates good robustness to the degree of turn and theinitial starting position.

� Parameter tuning allows to specify the smoothness of the xy-trajectory nearthe intersection point.

� Experimental results have shown real-time usability of the approach but alsoindicated, for this specific implementation, problems regarding the velocitytracking capabilities.

Page 163: Control of systems with constraints.pdf

4.4 / Posture Stabilization with Noise on Measurements 139

A drawback of the presented approach is the lack of optimality in the constrainedcontrol problem. However, results reveal good performance and the benefits froma fast real-time algorithm are significant.

4.4 Posture Stabilization with Noise on Measurements

A challenging control task for a unicycle mobile robot is posture stabilizationwhere the goal is to stabilize the position and orientation of the robot to a givenarbitrary constant reference r. Without loss of generality we assume the equilib-rium is 0. The task arises in practical solutions in connection with for exampledocking or parking of a vehicle. Due to the nonholonomic constraints on the robotthat restricts it from traveling sideways when the forward velocity tends to zero,the solution to this kind of problem is non-trivial.

The following considers a control strategy which is capable of posture stabilizingthe robot. It turns out that the algorithm is particularly sensitive to measurementnoise due to the mobility constraints and calls for special attention when applyingit. The following will quantify the noise’s influence on the control performance andwill design filters reducing the effects and improving the stabilization.

A more elaborating analysis of the discussion in this section can be found in Bak(2000).

4.4.1 Periodically Updated Open-loop Controls

The kinematic model of the unicycle robot in (4.1) can be changed into a simplerform by the following local change of coordinates and control inputs

(x1; x2; x3) = (x; y; tan �)

(u1; u2) =�v cos �;

!

cos2 �

�;

which transform the system in (4.1) into

_x1 = u1

_x2 = x3u1 (4.70)

_x3 = u2:

Page 164: Control of systems with constraints.pdf

140 Chapter 4 / Case Study: a Mobile Robot

This system belongs to the class of chained systems or driftless systems. Note thatthe model is only valid for � 2] � �

2; �2[. The original control signals are easily

reconstructed in the following way

v =1

cos �u1

! = cos2 �u2:

(4.71)

The controllability of the system is guaranteed by the full-rankedness of the ControlLie Algebra3 but since the linearization of (4.70) is not stabilizable, it is necessaryto rely on nonlinear techniques for stabilizing control design. Brockett’s condi-tion (Brockett, 1983) implies furthermore that no pure-state feedback law u(x) canasymptotically stabilize the system.

The Algorithm

Morin and Samson (1999) suggest an algorithm that achieves exponential stabi-lization of (4.70) along with robustness with respect to imperfect knowledge ofthe system’s control vector fields. The control strategy consists in applying peri-odically updated open-loop controls that are continuous with respect to state ini-tial conditions. Let the state z = (x1; x2; x3)

T be observed by a measurementy(k) = (y1; y2; y3)

T = z(k) at time t = kT , where k 2 Z and T is a constantsampling time. On the time interval [kT ; (k + 1)T [ the control signals are thendefined by:

u1(y; t) =1

T

h�y1(k) + 2�ajy2(k)j

1

2 sin(�t)i

u2(y; t) =1

T

"�y3(k) + 2(k2 � 1)

y2(k)

ajy2(k)j1

2

cos(�t)

#;

(4.72)

with the constraints

T = 2�=� (� 6= 0)

jk2j < 1 (4.73)

a > 0:

3The dimension of the vector space spanned at zero by all the Lie brackets of the vector fields fimust equal the system order n (Isidori, 1995).

Page 165: Control of systems with constraints.pdf

4.4 / Posture Stabilization with Noise on Measurements 141

The control parameters are thus a and k2 and to some degree T (or �) where k2governs the convergence rate of x2 while a governs the size of the oscillations inthe x1 and x3 directions.

Figure 4.20 illustrates the mode of operation for the controller with k2 = 0:1,a = 0:25, T = 10 seconds, and initial posture z0 = (�0:1m; 0:5m; 10Æ)T .

0 10 20 30 40 50−0.2

0

0.2

Inpu

t u1

0 10 20 30 40 50−0.5

0

0.5

Inpu

t u2

Time [secs]

(a) Input

−0.2 0 0.3

0

0.25

0.5

y [m

]

x [m]

Robot

(b) xy-trajectory

Figure 4.20. Posture stabilization with exponential robust controller.

Stability

Discrete-time closed-loop stability is easily verified for this system. By applyingthe controller (4.72) to the system (4.70), the solution to _z on the time interval[kT ; (k+1)T [ can be found by first integrating _x1 and _x3 and then _x2. For example:

x1(t) = x1(k) +

Zt

kT

u1(y; �)d�: (4.74)

Appendix B gives details on the calculations. Evaluating z(t) for t = (k+1)T , thediscrete-time closed-loop solution becomes

Page 166: Control of systems with constraints.pdf

142 Chapter 4 / Case Study: a Mobile Robot

x1(k + 1) = x1(k)� y1(k)x2(k + 1) = x2(k) +

1

2y1(k)y3(k) + ay3(k)jy2(k)j

1

2 + (k2 � 1)y2(k)

� x3(k)y1(k)x3(k + 1) = x3(k)� y3(k):

(4.75)

Assuming perfect measurements (y(k) = z(k)) we get

x1(k + 1) = 0 (4.76)

x2(k + 1) = k2x2(k) + x3(k)

�ajx2(k)j

1

2 � 1

2x1(k)

= kk+12 x20 + k

k

2x30

�ajx20j

1

2 � 1

2x10

�(4.77)

x3(k + 1) = 0; (4.78)

with initial conditions z(0) = (x10; x20; x30)T . For jk2j < 1, as required, x2(k)!

0 for k !1 and hence stability is obtained.

4.4.2 Noise Sensitivity

Consider the following example. Let y2(k) = x2(k) + e2(k) where fe2g is a se-quence of Gaussian white noise with mean value 0 and variance (0:005m)2. Fig-ure 4.21 shows how such a noisy measurement effects the steady-state behaviorof the posture stabilized system and considerably deteriorates both x1 and x3. Tocompensate for a small error in x2, the vehicle needs to either make a large turn orto make a large overshoot. Noise on the y1 or y3 measurements are not nearly as

0 50 100

−0.1

0

0.1

Sta

tes

Time [secs]

Figure 4.21. Noisy y2-measurements (�), x1 (dashed), x2 (dotted), and x3 (solid).

Page 167: Control of systems with constraints.pdf

4.4 / Posture Stabilization with Noise on Measurements 143

worrying since this will only influence x2 little.

Two kinds of white noise disturbing x2(k) will be considered: a uniform distri-bution on the interval [�e; e] and a Gaussian distribution with mean value 0 andvariance r2. For the uniform distributed noise we shall consider the supremum val-ues that z(t) takes on while for the Gaussian distributed noise we shall considermean values and variances.

If we assume that y1(k) and y3(k) are perfect measured, the steady-state solutionfor z(t) where x1(k) = 0; x2(k) = 0 becomes

x1(t) = ajy2(k)j1

2 (1� cos(�t))

x2(t) =1

2�y2(k)(k2 � 1)(�t� cos(�t) sin(�t)) + x2(k)

x3(t) =k2 � 1

�a

y2(k)

jy2(k)j1

2

sin(�t);

(4.79)

and for t = (k + 1)T we get:

x1(k + 1) = 0 (4.80)

x2(k + 1) = k2x2(k) + (k2 � 1)e2(k)

= kk+12 x20 + (k2 � 1)

kXi=0

kk�i2 e2(i) (4.81)

x3(k + 1) = 0: (4.82)

The peak value for x1 is clearly for t = (k + 12)T due to the cosines term while

x3 peaks for either t = (k + 14)T or t = (k + 3

4)T due to the sinus term. Finally,

x2 takes its maximum for t = kT or t = (k + 1)T due to the non-decreasing term�t� cos(�t) sin(�t). Hence, given from (4.79) the relevant equations are:

x1(k +1

2) = 2ajx2(k) + e2(k)j

1

2

x2(k + 1) = k2x2(k) + (k2 � 1)e2(k)

x3(k +1

4) = �x3(k +

3

4) =

(k2 � 1)

�a

(x2(k) + e2(k))

jx2(k) + e2(k)j1

2

:

(4.83)

Table 4.3 lists the suprema, mean values, and variances for the states in (4.83)given the two kind of noise disturbances. Details on the calculations can be foundin Bak (2000) where the case of noise an all states also is examined though onlyapproximative expressions are established.

Page 168: Control of systems with constraints.pdf

144 Chapter 4 / Case Study: a Mobile Robot

Uniform Gaussian

State Supremum Expectation Variancea

x1(k +1

2) 2a

psupfy2g a

25

4p���3

4

� �2

1+k2r2

� 1

4

4a2q

2

q2

1+k2r2

x2(k)1�k21�jk2j

e 0 1�k21+k2

r2

x3(k +1

4)

x3(k +3

4)

1�k2�a

psupfy2g 0

�1�k2�a

�2q 2

q2

1+k2r2

y2(k)1�k21�jk2j

e+ e 0 2

1+k2r2

aFor x1(k + 1

2), the second moment E fx1x1g is given.

Table 4.3. Quantification of noisy y2 measurements’ influence on system states. �(n) =R10

xn�1

e�xdx.

As an example, consider the controller settings a = 0:25 and k2 = 0:1. With a 1mm measurement error on x2 we get x1(k + 1

2) = 22mm.

Regarding tuning of the controller, we can see from Table 4.3 that k2 should bechosen positive and close to 1 to minimize the suprema. However, k2 close to onewill also increase the bias on x1. A small value of a decreases the expectationand variance on x1 but increases the variance on x3. As expected is it a trade-offbetween unintended turning and forward motion.

4.4.3 Filtering

Although the effect from the noise on x2 is dominant it is in terms of filteringadvantageous to assume noise on all three system states. This implies consideringa filter design for the nonlinear system in equation (4.75) where the measurementy(k) will be replaced with an estimation z(k) of the system state. The measurementy(k) is assumed to be stochastically disturbed by white noise, i.e. a sequence ofmutually independent random variables with zero mean and covariance R. Themeasurement of the system is thus given by

y(k) = z(k) + e(k); e(k) 2 F(0; R): (4.84)

First, rewrite the system (4.75) as

z(k + 1) = z(k) +Bu(k) + f(z(k); u(k)); (4.85)

Page 169: Control of systems with constraints.pdf

4.4 / Posture Stabilization with Noise on Measurements 145

where u(k) = z(k) when state estimation is used. The vector function f includesall nonlinear terms while B is a constant matrix. They are given by

B =

2664�1 0 0

0 k2 � 1 0

0 0 �1

3775 (4.86)

f(z(k); u(k)) =

2664

0

0:5u1(k)u3(k) + au3(k)ju2(k)j0:5 � x3(k)u1(k)0

3775 : (4.87)

For this system we will consider a Luenberger-like observer of the following type:

z(k + 1) = z(k) +Bu(k) + f(z(k); z(k))

+K [y(k + 1)� (z(k) +Bu(k) + f(z(k); z(k))] (4.88)

= (I �K)[z(k) +Bu(k) + f(z(k); z(k))] +Ky(k + 1); (4.89)

which uses the most recent measurement to update the state.

By using y(k + 1) = x(k + 1) + e(k + 1) the estimation error ~z = z � z can bedetermined:

~z(k + 1) = z(k) +Bu(k) + f(z(k); u(k))

� (I �K)[z(k) +Bu(k) + f(z(k); z(k))] �Ky(k + 1) (4.90)

= (I �K)~z(k) + (I �K)

2664

0

�~x3(k)x1(k)0

3775�Ke(k + 1): (4.91)

In order to get a linear error system of which stability is easily guaranteed we canchoose K so that the nonlinear term �~x3(k)x1(k) is canceled. The matrix couldbe chosen time-varying as

K(k) =

2664�1 0 0

0 �2 �(1� �2)x1(k)0 0 �3

3775 ; (4.92)

yielding the error system

Page 170: Control of systems with constraints.pdf

146 Chapter 4 / Case Study: a Mobile Robot

~z(k + 1) =

26641� �1 0 0

0 1� �2 0

0 0 1� �3

3775 ~x(k)�K(k)e(k + 1): (4.93)

Convergence of the estimation error ~z is then guaranteed for 0 < �i < 2; i =

1; 2; 3.

Obviously, the choice of the �’s is a compromise between fast convergence andsteady-state noise rejection. Small gains provide excellent noise rejection capabil-ities but long convergence of the estimation error since more trust are put in thekinematic model of the mobile vehicle. The process noise or model uncertaintiesfor the kinematic model mainly stem from movement of the robot due to inaccuratephysical parameters (covered in section 4.2) and finite encoder resolution. Whenthe speed of the robot tends to zero, the certainty of the model increases. All thissuggests letting the gains be a function of some norm of the posture error

�i = f(kxk); (4.94)

such that noise rejection is increased as the robot comes to a halt. Since the erroris unknown, the measurement is used instead. The usability of the measurementsdepends on the estimation error being small upon reaching the equilibrium z = 0.One way of selecting such a function is

�i = �0i

�e� 1

kyk

�; i = 1; 2; 3; (4.95)

with

0 < �0i < 2; 8i = 1; 2; 3

kyk =0@ 3X

j=1

aj jyjjp1A

1

q

; p; q > 0; aj > 0:(4.96)

The following properties are observed

�i ! 0 for kyk ! 0

�i ! �0i

for kyk ! 1; (4.97)

and since (4.95) is monotone, each � will be within the stability bounds.

Page 171: Control of systems with constraints.pdf

4.4 / Posture Stabilization with Noise on Measurements 147

Simulation Study

Figure 4.22 shows the Euclidean norm4 of the estimation errors with time-varyingand constant �’s. The plots was created with the following parameter settings: p =1; q = 2; ai = 18; and �0

i= 1 for i = 1; 2; 3. For the constant gains, �i = 0:2; i =

1; 2; 3 have be chosen. At steady-state, the improvement from using time-varyinggains in terms of the mean value of the normed estimation error is a factor 28 betterthan with no filtering and a factor 9 better than with constant gain filtering.

0 250

0.4

||Est

imat

ion

Err

or|| 2

Samples

(a) Convergence

0 1000

0.5

1

1.5x 10

−3

||Est

imat

ion

Err

or|| 2

Samples

(b) Steady-state

Figure 4.22. (a) Convergence of the estimation error for time-varying �’s (solid) and con-stant �’s (dashed). (b) Steady-state for time-varying �’s (solid), constant �’s (dashed), andmeasurement noise (dotted).

Consider again the example from Section 4.4.2 that with controller settings a =

0:25 and k2 = 0:1 and a 1 mm measurement error on x2 estimated the supremumof x1(k + 1

2) to 22mm. With time-varying filtering, the same measurement error

gives a supremum of 1.6mm and with constant gains the supremum is 8.4mm.4The Euclidean norm is defined as kxk2 =

pPn

i=1x2i .

Page 172: Control of systems with constraints.pdf

148 Chapter 4 / Case Study: a Mobile Robot

4.4.4 Conclusions

This section has looked at the effect of noise on measurements used in closed-loopto stabilize a 3 DoF chained system. Two kinds of noise has been considered 1)bounded noise and 2) Gaussian white noise. The second objective of this sectionhas been filter design for reducing the effect of noise on the measurements in aclosed-loop controlled 3 DoF chained system.

The first part of the study considered noise on x2 but noiseless measurements of x1and x3 and has evaluated expressions for suprema, expectations and covariancesfor the states.

Regarding filtering, a Luenberger-like observer was investigated with a nonlineargain matrix canceling nonlinearities in the system model and resulting in a linearestimation error system. This has the advantage that convergence of the estimationerror is easily guaranteed. A time-varying observer gain has been proposed whichis a function of the norm of the posture error.

An alternative to the presented nonlinear filter is given in Nørgaard et al. (2000a)where state estimators for nonlinear systems are derived based on an interpolationformula.

4.5 Summary

This chapter examined a mobile robot. Three sub-studies covered separate issueson constraints in robotics. Section 4.2 looked at how to bypass difficulties concern-ing posture estimation caused by the limitations in the sensor package on-boardthe robot. An on-line auto-calibration procedure was presented which can reducedrifting of the odometry and hence extend exploration time and increase trust inthe overall estimation.

In section 4.3 a receding horizon approach was introduced for path following inthe presence of velocity constraints. The receding horizon enables the vehicle toanticipate sharp turns and smooth the turning. By means of a velocity scaler, ve-locity constraints can be imposed on the wheels as well as the forward and angularvelocities. The velocities are set such that constraints are satisfied and the nominalpath followed.

Finally, section 4.4 was concerned with posture stabilization of nonholonomic con-strained systems. It was established that noisy measurements induce large limitcycles in the closed-loop stabilization. Appropriate filtering was suggested.

Page 173: Control of systems with constraints.pdf

Chapter 5

Conclusions

This thesis is concerned with aspects involved in designing and implementing con-trollers for systems with constraints. This includes a comparative study of designmethodologies, development of a gain scheduling constrained controller, an out-line of a robot controller architecture which incorporates closed-loop handling ofconstraints, and a substantial mobile robot case study with explicit solutions toproblems arising from limited sensor readings, velocity constraints, and wheel-configuration induced nonholonomic constraints. This chapter summarizes the re-search effort presented in the thesis.

Primarily, the studied constraints originate from saturating actuators or restrictionson state or output variables. Both level and rate constraints are under considera-tions. In robotic systems with multi-layered controllers and integrated subsystemsconstraints may take many shapes. Sufficient and reliable sensor information hasturned out to be a hurdle for closed-loop robot controllers. In mobile robotics, aconsistent flow of posture information is vital to solving many motion tasks. Mucheffort has been put into fusing sensors but the sensor differences such as noise-signal ratio, sampling rate, delays, and data processing impede the performanceof the solutions. Another constraint is the so-called nonholonomic constraint thatstems from the mechanical construction of the system. It is basically a restrictionon the manoeuverability of the system.

Page 174: Control of systems with constraints.pdf

150 Chapter 5 / Conclusions

The thesis started with an overview and comparison of three fundamentally differ-ent existing methodologies for constrained control systems, namely Anti-Windupand Bumpless Transfer (AWBT), predictive control, and nonlinear control whichinclude rescaling and gain scheduling. Predictive control is the only systematic ap-proach but mainly applies to linear systems and is computationally heavy due tothe on-line solving of the minimization problem. AWBT is a versatile approachapplicable to already implemented controllers but it can only manage input levelsaturations. Nonlinear solutions originate from a desire to guarantee stability andto improve performance during constraints. Most nonlinear solutions are systemspecific and limited in applicability.

A new nonlinear gain scheduling approach to handling level actuator constraintswas introduced. The class of systems is restricted to chain of integrators and sys-tems in lower companion form. The saturation is handled by scheduling the closed-loop poles upon saturation. Good closed-loop performance is obtained through apartly state partly time dependent scheduler. The saturation limits are easy to spec-ify and the saturation compensation is determined by only three parameters. Thecontroller does not guarantee the control signal being within the limits at all time.This is equivalent to the AWBT compensation.

In a case study the design of an AWBT compensation for an actuator constrainedPID controlled cascaded double tank system was treated. It was argued that thecompensation matrix has great influence on the closed-loop performance and henceshould be carefully selected. Moreover, the poles of the constrained controllershould be chosen close to the slowest poles of the unconstrained closed-loop sys-tem. The generality in this study is debatable except for systems of similar charac-teristics.

The architecture for robot control system with sensor-based closed-loop trajectorycontrol has been described. Traditionally, in robotics, trajectories are generated off-line and fed to a tracking controller at certain given rate. Such a system will failto handle internal active system constraints or external uncertain events such asupcoming obstacles. However, by incorporating relevant sensory information intothe trajectory executor, the trajectory can be modified or the execution rate changedallowing for appropriate handling of the constraints. This way the robot can in aclosed-loop fashion react to events and constraints without aborting the motion andembarking on replanning or switching to some contingency plan. Furthermore, thehandling of actuator constraints in the trajectory module provides good control ofthe actual trajectory outcome for the constrained system.

Page 175: Control of systems with constraints.pdf

151

Three sub-studies on auto-calibration, receding horizon control, and posture stabi-lization, was carried out for a mobile robot. The following conclusions were drawn.

On-line calibration of physical parameters can reduce the drifting of posture esti-mation and can be used to extend the period of time for exploration in unknownenvironments or improve trajectory control such as path following. By splitting thecalibration procedure into two steps observability and hence convergence rate aremuch improved. The accuracy of the estimated values are of the same order as acalibration using existing manual procedures. The two filters are easy to implementand the method is well suited for automating the calibration task allowing for moreautonomous vehicles.

A receding horizon approach was introduced for path following in the presence ofvelocity constraints. The method can be applied to sharp turns. On-line velocityscaling is an easy way of respecting velocity constraints while maintaining pathfollowing without a significant increase in the computational burden. The algo-rithm is simple and fast and is easily implemented into a robot control system.The simulation study indicated good robustness to the degree of turning and theinitial starting position. The parameter tuning allows to specify the smoothness ofthe trajectory near the intersection point. The approach was experimentally verifiedwhich exhibited some overshooting.

The nonholonomic constraints present in an unicycle mobile robot complicate thetask of posture stabilization. Noisy measurements are exceptionally problematic inthis case where measurement errors on the position of the sideways direction of therobot should be avoided or limited. Through appropriate nonlinear filtering of themeasurements, the stabilization is improved.

The topic of constrained control systems is large and receives a lot of research in-terest in both journals and conferences. This thesis has touched aspects with rele-vance to controller design, robotics and in particular mobile robotics. Questionshave been answered, new ones have appeared. With the appearance of smartersensors, faster computers, and more reliable data processing, the design and im-plementation of truly autonomous control systems with capabilities of handlingconstraints of all kinds—actuator and state constraints along with environment im-posed constraints—are of great interest and should attract further investigations.

Thank you for your attention.

Page 176: Control of systems with constraints.pdf
Page 177: Control of systems with constraints.pdf

Appendix A

Linearized System for EstimatingSystematic Errors

The structure of the linearized augmented system for determination of the uncer-tainties Æk and Æb is given in equations (4.18) and (4.19). Here the matrices aregiven explicit. Note, that c(�) and s(�) denote cos(�) and sin(�), respectively.

A =

2664

1 0 �u1s(�)

0 1 u1c(�)

0 0 1

3775 (A.1)

F =

2664�c(�)� 1

2u1s(�)� 1

2u1s(�)

�s(�) + 12u1c(�)� �1

2u1c(�)

� �

3775 (A.2)

G =

2664�c(�)� 1

2u1s(�)� �c(�)� 1

2u1s(�)�

�s(�) + 12u1c(�)� �s(�) + 1

2u1c(�)�

3775 ; (A.3)

with following definitions

Page 178: Control of systems with constraints.pdf

154 Chapter A / Linearized System for Estimating Systematic Errors

� = x3 + u2 (A.4)

� =kr�r � kr�l

2(A.5)

� =kr�r + kr�l

x5b(A.6)

=x4kr�r � (2ka � x4kr)�l

x25b

(A.7)

� = (ka � 1

2x4kr) (A.8)

� =x4kr

x5b(A.9)

� =�2ka + x4kr

x5b(A.10)

� =1

2x4kr: (A.11)

Page 179: Control of systems with constraints.pdf

Appendix B

Closed-loop Solution to Chained System

This appendix determines the closed-loop solution to the posture stabilized chainedsystem described in section 4.4.

Let a 3 DoF chained system be described by the equations

_x1 = u1

_x2 = x3u1 (B.1)

_x3 = u2:

The state z = (x1; x2; x3)T is measured with y(k) = (y1; y2; y3)

T = z(k) at timet = kT , where k 2 Z and T is a constant sampling time. On the time interval[kT ; (k + 1)T [ the control signals (u1; u2) are then defined by:

u1(y; t) =1

T

h�y1(k) + 2�ajy2(k)j

1

2 sin(�t)i

u2(y; t) =1

T

"�y3(k) + 2(k2 � 1)

y2(k)

ajy2(k)j1

2

cos(�t)

#;

(B.2)

with the constraints

T = 2�=� (� 6= 0)

jk2j < 1 (B.3)

a > 0:

Page 180: Control of systems with constraints.pdf

156 Chapter B / Closed-loop Solution to Chained System

The control parameters are a and k2 and to some degree T (or �) where k2 governsthe convergence rate of x2 while a governs the size of the oscillations in the x1 andx3 directions.

By applying the controller (B.2) to the system (B.1), the solution to _z on the timeinterval [kT ; (k+1)T [ can be found by first integrating _x1, then _x3, and finally _x2:

x1(t) = x1(k) +

Zt

kT

u1(y; �)d�

= x1(k)� y1(k) t� kTT

+ ajy2(k)j1

2 (1 � cos(�t)) (B.4)

x3(t) = x3(k) +

Zt

kT

u2(y; �)d�

= x3(k)� y3(k) t� kTT

+k2 � 1

�a

y2(k)

jy2(k)j1

2

sin(�t): (B.5)

Now, given x3 and u1 we get for x2(t):

x2(t) = x2(k) +

Zt

kT

x3(t)u1(y; t)dt

= x2(k) +k2 � 1

2�y2(k)(�t� cos(�t) sin(�t))� t� kT

Ty1(k)x3(k)

+0:5(t2 � (kT )2)� kT (t� kT )

T 2y3(k)y1(k)

� (k2 � 1)

2�2a

y1(k)y2(k)pjy2(k)j

(1� cos(�t)) + a

pjy2(k)jx3(k)(1 � cos(�t))

+a

2�

pjy2(k)jy3(k)((t� kT )� cos(�t)� sin(�t)): (B.6)

Page 181: Control of systems with constraints.pdf

Bibliography

Andersen, N. and Ravn, O. (1990). Vision as a multipurpose sensor in realtimesystems. In Proceedings of the ISMM International Symposium. Mini and Mi-crocomputers and their Applications, pp. 196–199.

Astrom, K. J. (1970). Introduction to Stochastic Control Theory. Academic Press,New York.

Astrom, K. J. and Rundqwist, L. (1989). Integrator windup and how to avoid it.In Proceedings of the American Control Conference, pp. 1693–1698, Pittsburgh,Pennsylvania.

Astrom, K. J. and Wittenmark, B. (1990). Computer Controlled Systems, Theoryand Practice. Prentice-Hall, Upper Sadle River, New Jersey, 2nd edition.

Astrom, K. J. and Wittenmark, B. (1997). Computer Controlled Systems, Theoryand Practice. Prentice Hall, Upper Sadle River, New Jersey, 3rd edition.

Bak, M. (2000). Filter design for robust stabilized chained system withnoise on measurements. Technical Report 00-E-895, http://www.iau.dtu.dk/˜mba/homepage/research, Department of Automation, Technical University ofDenmark.

Bak, M., Larsen, T., Nørgaard, P., Andersen, N., Poulsen, N., and Ravn, O. (1998).Location estimation using delayed measurements. In Proceedings of the 5thInternational Workshop on Advanced Motion Control, pp. 180–185, Coimbra,Portugal.

Page 182: Control of systems with constraints.pdf

158 Bibliography

Bak, M., Larsen, T. D., Andersen, N. A., and Ravn, O. (1999). Auto-calibration ofsystematic odometry errors in mobile robots. In Proceedings of SPIE, MobileRobots XIV, pp. 252–263, Boston, Massachusetts.

Bak, M., Poulsen, N. K., and Ravn, O. (2001). Receding horizon approach to pathfollowing mobile robot in the presence of velocity constraints. Submitted to theEuropean Control Conference, Porto, Portugal.

Bazaraa, M., Sherali, H., and Shetty, C. (1993). Nonlinear programming. Theoryand algorithms. John Wiley and Sons, New York.

Bemporad, A., Marco, M. D., and Tesi, A. (1997). Wall-following controllers forsonar-based mobile robots. In Proceedings of the 36th IEEE Conference onDecision and Control, pp. 3063–3068, San Diego, California.

Bentsman, J., Tse, J., Manayathara, T., Blaukanp, R., and Pellegrinetti, G. (1994).State-space and frequency domain predictive controller design with applicationto power plant control. In Proceedings of the IEEE Conference on Control Ap-plications, volume 1, pp. 729–734, Glasgow, Scotland.

Bitmead, R. R., Gevers, M., and Wertz, V. (1990). Adaptive Optimal Control, TheThinking Man’s GPC. Prentice Hall, New York.

Borenstein, J., Everett, H. R., and Feng, L. (1996). Where am I? Sensors and meth-ods for mobile robot positioning. Technical report, The University of Michigan.

Borenstein, J. and Feng, L. (1995). UMBmark: A benchmark test for measuringodometry errors in mobile robots. In Proceedings of the 1995 SPIE Conferenceon Mobile Robots, volume 2591, pp. 113–124, Philadelphia, Pennsylvania.

Borenstein, J. and Feng, L. (1996). Measurement and correction of systematicodometry errors in mobile robots. IEEE Transactions on Robotics and Automa-tion, 12(6), 869–880.

Brockett, R. (1983). Differential Geometric Control Theory. Birkhauser, Boston,Massachusetts.

Camacho, E. (1993). Constrained generalized predictive control. IEEE Transac-tions on Automatic Control, 38(2), 327–332.

Camacho, E. and Bordons, C. (1999). Model Predictive Control. Springer-Verlag,London.

Page 183: Control of systems with constraints.pdf

Bibliography 159

Chenavier, F. and Crowley, J. L. (1992). Position estimation for a mobile robotusing vision and odometry. In Proceedings of the 1992 IEEE International Con-ference on Robotics and Automation, volume 3, pp. 2588–2593, Nice, France.

Chisci, L., Lombardi, A., Mosca, E., and Rossiter, J. A. (1996). State-space ap-proach to stabilizing stochastic predictive control. International Journal of Con-trol, 65(4), 619–637.

Chisci, L. and Zappa, G. (1999). Fast QP algorithms for predictive control. InProceedings of the 38th IEEE Conference on Decision and Control, pp. 4589–4594, Phoenix, Arizona.

Clarke, D., Mothadi, C., and Tuffs, P. (1987a). Generalized predictive control —Part I. The basic algorithm. Automatica, 23(2), 137–148.

Clarke, D., Mothadi, C., and Tuffs, P. (1987b). Generalized predictive control —Part II. Extensions and interpretations. Automatica, 23(2), 149–160.

Corke, P. I. (1996). Visual Control of Robots — high performance visual servoing.Research Studies Press Ltd./John Wiley and Sons.

Cox, I. J. (1989). Blanche: Position estimation for an autonomous robot vehicle. InProceedings of the IEEE/RSJ International Workshop on Intelligent Robots andSystems, pp. 285–292.

Craig, J. J. (1989). Introductions to Robotics, Mechanics and Control. Addison-Wesley, Reading, Massachusetts.

Cutler, C. R. and Ramaker, B. L. (1980). Dynamic matrix control — a computercontrol algorithm. In Proceedings of JACC, San Francisco, California.

Dahl, O. (1992). Path Constrained Robot Control. PhD thesis, Lund Institute ofTechnology.

de Wit, C. C., Siciliano, B., and Bastin, G. (1996). Theory of Robot Control.Springer-Verlag, London.

Dickmanns, E. and Zapp, A. (1987). Autonomous high speed road vehicle guid-ance by computer vision. In Proceedings of the 10th IFAC World Congress,volume 4, pp. 232–237, Munchen, Germany.

Dornheim, M. A. (1992). Report pinpoints factors leading to YF-22 crash. AviationWeek and Space Technology.

Page 184: Control of systems with constraints.pdf

160 Bibliography

Doyle, J., Smith, R., and Enns, D. (1987). Control of plants with input saturationnonlinearities. In Proceedings of the American Control Conference, pp. 2147–2152, Minneapolis, USA.

Doyle, J. C., Francis, B. A., and Tannenbaum, A. R. (1992). Feedback ControlTheory. Macmillan Publishing Company, New York.

Edwards, C. and Postlethwaite, I. (1996). Anti-windup and bumpless transferschemes. In Proceedings of the UKACC International Conference on Control,pp. 394–399.

Edwards, C. and Postlethwaite, I. (1997). Anti-windup schemes with closed-loopstability considerations. In Proceedings of the European Control Conference,Brussels, Belgium.

Edwards, C. and Postlethwaite, I. (1998). Anti-windup and bumpless transferschemes. Automatica, 34(2), 199–210.

Ferruz, J. and Ollero, A. (1998). Visual generalized predictive path tracking. InProceedings of the 5th International Workshop on Advanced Motion Control’98, pp. 159–164, Coimbra, Portugal.

Fertik, H. and Ross, C. (1967). Direct digital control algorithms with anti-windupfeature. ISA Transactions, 6(4), 317–328.

Fierro, R. and Lewis, F. (1997). Control of a nonholonomic mobile robot: Back-stepping kinematics into dynamics. Journal of Robotic Systems, 14(3), 149–163.

Franklin, G., Powell, J., and Emani-Naini, A. (1991). Feedback Control of Dy-namic Systems. Addison-Wesley, Reading, Massachusetts.

Garcıa, C. E. and Morshedi, A. M. (1984). Solution of the dynamic matrix controlproblem via quadratic programming. In Proceedings of the Conference of theCanadian Industrial Computing Society, pp. 13.1–13.3, Ottawa, Canada.

Garcıa, C. E., Prett, D. M., and Morari, M. (1989). Model predictive control:Theory and practice — a survey. Automatica, 25(3), 335–348.

Graebe, S. and Ahlen, A. (1994). Dynamic transfer among alternative controllers.In Proceedings of the 12th IFAC World Congress, volume 8, pp. 245–248, Syd-ney, Australia.

Page 185: Control of systems with constraints.pdf

Bibliography 161

Graebe, S. and Ahlen, A. (1996). Dynamic transfer among alternative controllersand its relation to antiwindup controller design. IEEE Transactions on ControlSystems Technology, 4(1), 92–99.

Graebe, S. F. and Ahlen, A. (1996). The Control Handbook, chapter 20.2 BumplessTransfer, pp. 381–388. CRC Press, Boca Raton, Florida.

Hansen, A. D. (1996). Predictive Control and Identification. Applications to Steer-ing Dynamics. PhD thesis, Department of Mathematical Modelling, TechnicalUniversity of Denmark.

Hanus, R. (1980). The conditioned control – a new technique for preventingwindup nuisances. In Proceedings of IFIP — ASSOPO, pp. 221–224, Trond-heim, Norway.

Hanus, R., Kinnaert, M., and Henrotte, J.-L. (1987). Conditioning technique, ageneral anti-windup and bumpless transfer method. Automatica, 23(6), 729–739.

Hanus, R. and Peng, Y. (1992). Conditioning technique for controllers with timedelays. IEEE Transactions on Automatic Control, 37(5), 689–692.

Isidori, A. (1995). Nonlinear Control Systems. Springer-Verlag, London.

Kapoor, N., Teel, A., and Daoutides, P. (1998). An anti-windup design for linearsystems with input saturation. Automatica, 34(5), 559–574.

Kleeman, L. (1992). Optimal estimation of position and heading for mobile robotsusing ultrasonic beacons and dead-reckoning. In Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation, volume 3, pp. 2582–2587, Nice, France.

Koh, K. and Cho, H. (1999). A smooth path tracking algorithm for wheeled mobilerobots with dynamic constraints. Journal of Intelligent and Robotic Systems:Theory and Applications, 24(4), 367–385.

Kothare, M. (1997). Control of Systems Subject to Constraints. PhD thesis, Divi-sion of Engineering and Applied Science, California Institute of Technology.

Kothare, M. and Morari, M. (1997). Stability analysis of anti-windup control sys-tems: A review and some generalizations. In Proceedings of the European Con-trol Conference, Brussels, Belgium.

Page 186: Control of systems with constraints.pdf

162 Bibliography

Kothare, M. V., Campo, P. J., Morari, M., and Nett, C. N. (1994). A unified frame-work for the study of anti-windup designs. Automatica, 30, 1869–1883.

Kothare, M. V. and Morari, M. (1999). Multiplier theory for stability analysis ofanti-windup control systems. Automatica, 35(5), 917–928.

Kouvaritakis, B., Rossiter, J., and Cannon, M. (1998). Linear quadratic feasiblepredictive control. Automatica, 34(12), 1583–1592.

Kuznetsov, A. and Clarke, D. (1994). Advances in Model-based Predictive Control,chapter Application of Constrained GPC for Improving Performance of Con-trolled Plants. Oxford University Press.

Larsen, T., Bak, M., Andersen, N., and Ravn, O. (1998). Location estimation foran autonomously guided vehicle using an augmented kalman filter to autocal-ibrate the odometry. In Proceedings of the 1998 International Conference onMultisource-Multisensor Information Fusion, pp. 245–250, Las Vegas, Nevada.

Larsen, T. D. (1998). Optimal Fusion of Sensors. PhD thesis, Department ofAutomation, Technical University of Denmark.

Lauvdal, T. and Murray, R. M. (1999). Stabilization of a pitch axis flight controlexperiment with input rate saturation. Modeling, Identification and Control,40(4), 225–240.

Lauvdal, T., Murray, R. M., and Fossen, T. I. (1997). Stabilization of integratorchains in the presence of magnitude and rate saturation, a gain scheduling ap-proach. In Proceedings of the 36th IEEE Conference on Decision and Control,pp. 4004–4005, San Diego, California.

Lildballe, J. (1999). Distributed Control of Autonomous Systems. PhD thesis,Department of Automation, Technical University of Denmark.

Luenberger, D. (1984). Linear and Nonlinear Programming. Addison-Wesley,Reading, Massachusetts.

Mayne, D. Q., Rawlings, J. B., Rao, C. V., and Scokaert, P. O. M. (2000). Con-strained model predictive control: Stability and optimality. Automatica, 36(6),789–814.

McKerrow, P. J. (1991). Introduction to Robotics. Adddison-Wesley, Sydney.

Page 187: Control of systems with constraints.pdf

Bibliography 163

M’Closkey, R. T. and Murray, R. M. (1997). Exponential stabilization of driftlessnonlinear control systems using homogeneous feedback. IEEE Transactions onAutomatic Control, 42(5), 614–628.

Middleton, R. H. (1996). The Control Handbook, chapter 20.1 Dealing with Actu-ator Saturation, pp. 377–381. CRC Press, Boca Raton, Florida.

Morin, P., Murray, R., and Praly, L. (1998a). Nonlinear rescaling and control lawswith application to stabilization in the presence of magnitude saturation. In Pro-ceedings of the IFAC NOLCOS, volume 3, pp. 691–696, Enschede, The Nether-lands.

Morin, P., Pomet, J.-B., and Samson, C. (1998b). Developments in time-varyingfeedback stabilization of nonlinear systems. In Proceedings of the IFAC NOL-COS, volume 3, pp. 587–594, Enschede, The Netherlands.

Morin, P. and Samson, C. (1999). Exponential stabilization of nonlinear driftlesssystems with robustness to unmodeled dynamics. ESAIM. Control, Optimisationand Calculus of Variations, 4, 1–35.

Murata, S. and Hirose, T. (1993). Onboard locating system using real-time im-age processing for a self-navigating vehicle. IEEE Transactions on IndustrialElectronics, 40(1), 145–154.

Murray, R. M. (1999). Geometric approaches to control in the presence of magni-tude and rate saturations. Technical Report 99-001, Division of Engineering andApplied Science, California Institute of Technology.

Niu, W. and Tomizuka, M. (1998). A robust anti-windup controller design formotion control system with asymptotic tracking subjected to actuator saturation.In Proceedings of the 37th IEEE Conference on Decision and Control, pp. 15–20, Tampa, Florida.

Nørgaard, M., Poulsen, N., and Ravn, O. (1998). The AGV-sim version 1.0 -a simulator for autonomous guided vehicles. Technical report, Department ofAutomation, Technical University of Denmark.

Nørgaard, M., Poulsen, N., and Ravn, O. (2000a). New developments in stateestimation for nonlinear systems. Automatica, 36(11), 1627–1638.

Nørgaard, M., Ravn, O., Poulsen, N. K., and Hansen, L. K. (2000b). Neural Net-works for Modelling and Control of Dynamic Systems. Springer-Verlag, London.

Page 188: Control of systems with constraints.pdf

164 Bibliography

Normey-Rico, J., Gomez-Ortega, J., and Camacho, E. (1999). Smith-predictor-based generalized predictive controller for mobile robot path-tracking. ControlEngineering Practice, 7(6), 729–740.

Peng, Y., Vrancic, D., Hanus, R., and Weller, S. (1998). Anti-windup designs formultivariable controllers. Automatica, 34(12), 1559–1665.

Poulsen, N. K., Kouvaritakis, B., and Cannon, M. (1999). Constrained predictivecontrol and its application to a coupled-tanks apparatus. Technical Report 2204,Department of Engineering Science, University of Oxford.

Praly, L. (1997). Generalized weighted homogeneity and state dependent timescale for linear controllable systems. In Proceedings of the 36th IEEE Confer-ence on Decision and Control, pp. 4342–4347, San Diego, California.

Richalet, J., Rault, A., Testud, J. L., and Papon, J. (1978). Model predictive heuris-tic control: applications to industrial processes. Automatica, 14(5), 413–428.

Ronnback, S. (1993). Linear Control of Systems with Actuator Constraints. PhDthesis, Lulea University of Technology, Department Computer Science and Elec-trical Engineering, Division of Automatic Control.

Rossiter, J., Kouvaritakis, B., and Rice, M. (1998). A numerically robust state-space approach to stable-predictive control strategies. Automatica, 34(1), 65–73.

Sampei, M., , Tamura, T., Itoh, T., and Nakamichi, M. (1991). Path tracking controlof trailer-like mobile robot. In Proceedings of IEEE/RSJ International Workshopin Intelligent Robots and Systems, volume J, pp. 193–198, Osaka, Japan.

Samson, C. (1992). Path following and time-varying feedback stabilization ofwheeled mobile robot. In Proceedings of the International Conference on Ad-vanced Robotics and Computer Vision, volume 13, pp. 1.1–1.5, Singapore.

Samson, C. and Ait-Abderrahim, K. (1991). Feedback control of a nonholonomicwheeled cart in cartesian space. In Proceedings of IEEE International Confer-ence on Robotics and Automation, pp. 1136–1141, Sacramento, California.

Soeterboek, R. (1992). Predictive Control, A Unified Approach. Prentice Hall,New York.

Stein, G. (1989). Bode lecture: Respect the unstable. In Proceedings of the 28thIEEE Conference on Decision and Control, Tampa, Florida.

Page 189: Control of systems with constraints.pdf

Bibliography 165

Sussmann, H. J., Sontag, E. D., and Yang, Y. (1994). A general result on thestabilization of linear systems using bounded controls. IEEE Transactions onAutomatic Control, 39(12), 2411–2425.

Tarn, T.-J., Bejczy, A. K., Guo, C., and Xi, N. (1994). Intelligent planning and con-trol for telerobotic operations. In Proceedings of the IEEE/RSJ/GI InternationalConference on Intelligent Robots and Systems, volume 1, pp. 389–396.

Tarn, T.-J., Xi, N., and Bejczy, A. K. (1996). Path-based approach to integratedplanning and control for robotic systems. Automatica, 32(12), 1675–1687.

Teel, A. R. (1992). Global stabilization and restricted tracking for multiple inte-grators with bounded controls. System & Control Letters, 18, 165–171.

Tsakiris, D. P., Samson, C., and Rives, P. (1996). Vision-based time-varying sta-bilization of a mobile manipulator. In Proceedings of the Fourth InternationalConference on Control, Automation, Robotics and Vision, ICARCV, Singapore.

Tsang, T. T. C. and Clarke, D. W. (1988). Generalized predictive control with inputconstraints. IEE Proceedings D (Control Theory and Applications), 135(6), 451–460.

von der Hardt, H.-J., Wolf, D., and Husson, R. (1996). The dead reckoning lo-calization system of the wheeled mobile robot: Romane. In Proceedings of the1996 IEEE/SICE/RSJ International Conference on Multisensor Fusion and In-tegration for Intelligent Systems, pp. 603–610, Washington D.C.

Walgama, K., Ronnback, S., and Sternby, J. (1992). Generalisation of conditioningtechnique for anti-windup compensators. In Proceedings of the IEE ProceedingsD, volume 139, pp. 109–118.

Walgama, K. and Sternby, J. (1990). Inherent observer property in a class of anti-windup compensators. International Journal Control, 52(3), 705–724.

Wang, C. M. (1988). Location estimation and uncertainty analysis for mobilerobots. In Proceedings of the 1988 IEEE International Conference on Roboticsand Automation, volume 3, pp. 1230–1235, Philadelphia, Pennsylvania.

Page 190: Control of systems with constraints.pdf
Page 191: Control of systems with constraints.pdf

Index

AActuator saturation, see SaturationActuators, 85Adaptation, 53Anti-windup, 7, 12–29, 50, 63, 78

ad hoc, 16classical, 17comparison, 35conditional integration, 17conditioning technique, 24generalized conditioning technique,

25generic framework, 27Hanus’ conditioning technique,

24, 25, 71incremental algorithm, 17integration stop, 16observer-based, 20, 25, 65similarities with bumpless trans-

fer, 30Automatic control, 13AWBT, see Anti-windup, Bumpless

transfer

BBiproper, 21, 35Bounded control, 50–53

Bumpless transfer, 12, 30–35, 50bi-directional, 34dynamic, 33similarities with anti-windup, 30

CCalibration, 99, 102–117Camera, 86, 100, 102, 112, 114Cautiousness, 26, 35Chain of integrators, 56Chained system, 140Chattering, 17, 61Chernobyl, 2Collision avoidance, 99Companion form, 60Constraints, 12, 87, 119–121

effect on performance, 47hard, 5, 37magnitude, 78, 79modelling, 45nonholonomic, 100, 139rate, 46, 78, 79safety concerns, 47soft, 5, 48state, 47velocity, 100

Control Lie Algebra, 140

Page 192: Control of systems with constraints.pdf

168 Index

Control strategiescomparison, 63

Controlleractive, 30latent, 30substitution, 13

Criterion selection, 38

DDead-zone, 13Discretization, 20Double integrator, 52, 54, 55Double tank, 65, 67, 78Driftless system, 140Dynamic rescaling, 51, 63Dynamic transfer, 33

EEncoder, 85, 100–105, 135

FFramework

generic, 27

GGain scheduling, 55–63

extension, 60scaling, 56scaling factor, 59

Generic framework, 27GPS, 86Gripen JAS 39 aircraft, 2Guide mark, 100, 112, 114

HHomogeneous system, 51Horizon

control, 39, 43maximum costing, 39minimum costing, 39

prediction, 39, 125, 126, 128, 132Hysteresis, 13, 17

IInitial conditions, 31Integrator windup, 12

KKalman filter, 103, 105, 116

extended, 105

LLaser range scanner, 86, 100LQG control, 38Lyapunov function, 52, 53

MManipulator, 83Manual control, 13Map building, 99Mobile robot, 99–102

unicycle, 100, 139Model-based predictive control, see

predictive controlMotion control, 86, 99

NNavigation, 99, 102Noise

Gaussian, 142process, 106rejection, 146sensitivity, 142

Nonlinear method, 50–63

OObserver, 20, 27

Luenberger, 145Odometry, 102, 104, 107, 112Open-loop control, 140

Page 193: Control of systems with constraints.pdf

Index 169

Over-design, 1Overshoot, 12, 48, 55, 56, 61, 67, 70,

80

PPath following, 117–139Path planning, 102Path velocity controller, 91Perception, 84PI controller, 2, 31, 66PID controller, 12, 16, 19, 69, 74Pole placement, 58Pole placement controller, 38Pole placement controller, 74–77, 79Posture

definition, 101stabilization, 100, 139

Predictive control, 36–50, 65, 78constrained, 7, 45, 63, 78generalized, 37suboptimal constrained, 49unified, 37, 50

Predictorj-step, 42

Process noise, 106Pump, 68

QQuadratic programming, 38, 45, 49

RReasoning, 84, 86Receding horizon, 36, 117–139

linear, 127nonlinear, 124

Rescaling, 51–55Reset windup, 12Retro-fitted design, 11, 80Rise time, 55

Robotdefinition of, 83

Robot control systemelements of, 84–86

RST controller, 22, 24

SSaturation, 12

actuator, 12, 14bounds, 55definition of, 4effect on performance, 12guidelines, 14instability, 2level, 26

Schur decomposed, 23Schur matrix, 23Sensor fusion, 99Sensor fusion, 86Settling time, 12, 55, 56Single integrator, 66Sliding mode control, 65Sonar, 86Stability

asymptotical, 24, 53, 140general result, 5

Stepper motor, 17

TTime-varying, 50Trajectory

execution, 86generation, 86

Trajectory controlgeneral architecture, 92non-timebased, 91velocity control, 91

VVelocity scaling, 127

Page 194: Control of systems with constraints.pdf

170 Index

Velocity scaling, 123–124Visual servoing, 86

YYF-22 aircraft, 2