Cover
Copyright
Contents
Preface
1 Embedded control systems
1.1 Introduction
1.2 Structure and elements of embedded control systems
1.2.1 Typical block diagram
1.2.2 A/D and D/A conversion
1.2.3 Sensors
1.2.4 Actuators
1.2.5 Processors
1.2.6 Software
1.2.6.1 Operational systems
1.2.6.2 Protocols
1.3 Sampling and aliasing
1.4 Fixed-point arithmetic
1.4.1 Fixed-point numbers
1.4.2 Scaling
1.4.2.1 Binary-point-only scaling
1.4.2.2 Slope and bias scaling
1.4.2.3 Unspecified scaling
1.4.3 Range and precision
1.4.4 Fixed-point arithmetic operations
1.4.4.1 Addition and subtraction
1.4.4.2 Multiplication
1.5 Floating-point arithmetic
1.5.1 Floating-point numbers
1.5.2 IEEE arithmetic
1.5.3 Floating-point arithmetic operations
1.6 Quantization effects
1.6.1 Truncation and roundoff
1.6.2 Quantization errors in A/D conversion
1.7 Design stages
1.7.1 Controller design
1.7.2 Closed-loop system simulation
1.7.3 Embedded code generation
1.8 Hardware configuration
1.8.1 Microprocessing architectures
1.8.2 Hardware description language
1.8.3 Module level development
1.8.4 System level development
1.9 Software configuration
1.9.1 Board support package
1.9.2 Application programing interface
1.9.3 Code generation
1.9.4 Code validation
1.10 Notes and references
2 System modeling
2.1 Plant modeling
2.2 Linearization
2.2.1 Analytic linearization
2.2.2 Symbolic linearization
2.2.3 Numeric linearization
2.3 Discretization
2.3.1 Discrete-time models
2.3.2 Discrete-time frequency responses
2.3.3 Discretization of continuous-time models
2.3.4 Discretization of time delay systems
2.3.5 Choice of the sampling period
2.3.6 Discretization of nonlinear models
2.4 Stochastic modeling
2.4.1 Stochastic linear systems
2.4.2 Discretization of stochastic models
2.4.3 Optimal estimation
2.5 Plant identification
2.5.1 Identification of black box model
2.5.2 Identification of gray-box model
2.6 Uncertainty modeling
2.6.1 Structured uncertainty models
2.6.2 Representing uncertain models by LFT
2.6.3 Deriving uncertain state-space models from Simulink® models
2.6.4 Unstructured uncertainty models
2.6.5 Mixed uncertainty models
2.6.6 Discretization of uncertain models
2.6.7 Deriving uncertainty models by identification
2.7 Sensor modeling
2.7.1 Allan variance
2.7.2 Stochastic gyro model
2.7.3 Stochastic accelerometer model
2.7.4 Sensor data filtering
2.8 Notes and references
3 Performance requirements and design limitations
3.1 SISO closed-loop systems
3.2 Performance specifications of SISO systems
3.2.1 Time-domain specifications
3.2.2 Frequency-domain specifications
3.3 Trade-offs in the design of SISO systems
3.3.1 Limitations on S and T
3.3.2 Right half-plane poles and zeros
3.3.3 Limitations imposed by time delays
3.3.4 Limitations imposed by measurement noise
3.3.5 Limitations, imposed by disturbances
3.3.6 Limitations on control action
3.3.7 Limitations due to model errors
3.4 MIMO closed-loop systems
3.5 Performance specifications of MIMO systems
3.5.1 Using singular values for performance analysis
3.5.2 H∞ Norm of a system
3.5.3 Hankel norm
3.6 Trade-offs in the design of MIMO systems
3.6.1 Disturbance rejection
3.6.2 Noise suppression
3.6.3 Model errors
3.7 Uncertain systems
3.8 Robust-stability analysis
3.8.1 Unstructured uncertainty
3.8.2 Structured singular value
3.8.3 Robust-stability analysis with µ
3.9 Robust performance analysis
3.9.1 Using µ for robust performance analysis
3.9.2 Worst case gain
3.9.3 Worst case margin
3.10 Numerical issues in robustness analysis
3.11 Notes and references
4 Controller design
4.1 PID controller
4.2 LQG controller with integral action
4.2.1 Discrete-time LQG controller
4.2.2 Colored measurement noise
4.2.3 LQG controller with bias compensation
4.3 LQ regulator with H∞ filter
4.3.1 Discrete-time H∞ filter
4.3.2 H∞ Filter with bias compensation
4.4 H∞ Design
4.4.1 The H∞ design problem
4.4.2 Mixed-sensitivity H∞ control
4.4.3 Two degrees-of-freedom controllers
4.4.4 Numerical issues in H∞ design
4.5 µ Synthesis
4.5.1 The µ synthesis problem
4.5.2 Replacing µ with its upper bound
4.5.3 DK iteration
4.5.3.1 First step of DK iteration: holding D fixed
4.5.3.2 Second step of DK iteration: holding K fixed
4.5.4 Numerical issues in µ synthesis
4.6 Controller comparison
4.7 HIL simulation
4.8 Notes and references
5 Case study 1: embedded control of tank physical model
5.1 Hardware configuration of embedded control system
5.1.1 Water tank
5.1.2 ARDUINO MEGA 2560
5.1.3 Voltage divider
5.1.4 Relay block
5.2 Plant identification
5.3 LQR and LQG controllers design
5.4 H∞ Controller design
5.5 Experimental evaluation
5.6 Notes and references
6 Case study 2: robust control of miniature helicopter
6.1 Helicopter model
6.1.1 Nonlinear helicopter model
6.1.2 Linearized model
6.1.3 Uncertain model
6.2 µ Synthesis of attitude controller
6.2.1 Performance requirements
6.2.2 Controller design
6.2.3 Frequency responses
6.2.4 Transient responses of the linear system
6.2.5 Position controller design
6.3 Hardware-in-the-loop simulation
6.3.1 Nonlinear system simulation
6.3.2 HIL simulation setup
6.3.3 Results of HIL simulation
6.4 Notes and references
7 Case study 3: robust control of two-wheeled robot
7.1 Robot description
7.2 Closed-loop identification of robot model
7.2.1 Dynamic models from u to ɸ
7.2.2 Dynamic models from ɸ to θ
7.2.3 Dynamic model of the yaw motion
7.3 Derivation of uncertain models
7.3.1 Signal-based uncertainty representation
7.3.2 Input multiplicative uncertainty representation
7.4 LQG controller design
7.5 µ Controller design
7.6 Comparison of designed controllers
7.7 Experimental evaluation
7.8 Notes and references
Appendix A: Elements of matrix analysis
A.1 Vectors and matrices
A.2 Eigenvalues and eigenvectors
A.3 Singular value decomposition
A.4 Vector and matrix norms
A.4.1 Vector norms
A.4.2 Matrix norms
A.4.3 Relationships between matrix norms
A.5 Notes and references
Appendix B: Elements of linear system theory
B.1 Description
B.2 Stability
B.3 Controllability and observability
B.4 Lyapunov equations
B.5 Poles and zeros
B.6 Notes and references
Appendix C: Stochastic processes
C.1 Random variables
C.2 Stochastic processes
C.3 White noise
C.4 Gauss–Markov processes
C.5 Generation of white noise in MATLAB®
C.6 Notes and references
Appendix D: Identification of linear models
D.1 Identification of linear black-box model
D.1.1 Experiment design and input/output data acquisition
D.1.2 Model structure selection and parameters estimation
D.1.3 Model validation
D.1.3.1 Test consistency of model input–output behavior
D.1.3.2 Test of output signals
D.1.3.3 Test of parameters confidence interval
D.1.3.4 Pole zero test
D.1.3.5 Test of residuals
D.2 Identification of linear gray-box model
D.3 Notes and references
Appendix E: Interfacing IMU with target microcontroller
E.1 Driving SPI communication
E.2 Design of Simulink® interface block
Appendix F: Measuring angular velocity with hall encoder
References
Index
Back Cover