+353-1-416-8900REST OF WORLD
+44-20-3973-8888REST OF WORLD
1-917-300-0470EAST COAST U.S
1-800-526-8630U.S. (TOLL FREE)

Dynamic System Modelling and Analysis with MATLAB and Python. For Control Engineers. Edition No. 1. IEEE Press Series on Control Systems Theory and Applications

  • Book

  • 336 Pages
  • September 2022
  • John Wiley and Sons Ltd
  • ID: 5842042
Dynamic System Modeling & Analysis with MATLAB & Python

A robust introduction to the advanced programming techniques and skills needed for control engineering

In Dynamic System Modeling & Analysis with MATLAB & Python: For Control Engineers, accomplished control engineer Dr. Jongrae Kim delivers an insightful and concise introduction to the advanced programming skills required by control engineers. The book discusses dynamic systems used by satellites, aircraft, autonomous robots, and biomolecular networks. Throughout the text, MATLAB and Python are used to consider various dynamic modeling theories and examples.

The author covers a range of control topics, including attitude dynamics, attitude kinematics, autonomous vehicles, systems biology, optimal estimation, robustness analysis, and stochastic system. An accompanying website includes a solutions manual as well as MATLAB and Python example code.

Dynamic System Modeling & Analysis with MATLAB & Python: For Control Engineers provides readers with a sound starting point to learning programming in the engineering or biology domains. It also offers: - A thorough introduction to attitude estimation and control, including attitude kinematics and sensors and extended Kalman filters for attitude estimation - Practical discussions of autonomous vehicles mission planning, including unmanned aerial vehicle path planning and moving target tracking - Comprehensive explorations of biological network modeling, including bio-molecular networks and stochastic modeling - In-depth examinations of control algorithms using biomolecular networks, including implementation

Dynamic System Modeling & Analysis with MATLAB & Python: For Control Engineers is an indispensable resource for advanced undergraduate and graduate students seeking practical programming instruction for dynamic system modeling and analysis using control theory.

Table of Contents

Preface xiii

Acknowledgements xv

Acronyms xvii

About the Companion Website xix

1 Introduction 1

1.1 Scope of the Book 1

1.2 Motivation Examples 2

1.2.1 Free-Falling Object 2

1.2.1.1 First Program in Matlab 4

1.2.1.2 First Program in Python 10

1.2.2 Ligand-Receptor Interactions 14

1.3 Organization of the Book 21

Exercises 21

Bibliography 22

2 Attitude Estimation and Control 23

2.1 Attitude Kinematics and Sensors 23

2.1.1 Solve Quaternion Kinematics 26

2.1.1.1 MATLAB 26

2.1.1.2 Python 29

2.1.2 Gyroscope Sensor Model 33

2.1.2.1 Zero-Mean Gaussian White Noise 33

2.1.2.2 Generate Random Numbers 34

2.1.2.3 Stochastic Process 40

2.1.2.4 MATLAB 41

2.1.2.5 Python 45

2.1.2.6 Gyroscope White Noise 49

2.1.2.7 Gyroscope RandomWalk Noise 50

2.1.2.8 Gyroscope Simulation 53

2.1.3 Optical Sensor Model 57

2.2 Attitude Estimation Algorithm 64

2.2.1 A Simple Algorithm 64

2.2.2 QUEST Algorithm 65

2.2.3 Kalman Filter 66

2.2.4 Extended Kalman Filter 75

2.2.4.1 Error Dynamics 76

2.2.4.2 Bias Noise 77

2.2.4.3 Noise Propagation in Error Dynamics 78

2.2.4.4 State Transition Matrix, Φ 84

2.2.4.5 Vector Measurements 84

2.2.4.6 Summary 86

2.2.4.7 Kalman Filter Update 86

2.2.4.8 Kalman Filter Propagation 87

2.3 Attitude Dynamics and Control 88

2.3.1 Dynamics Equation of Motion 88

2.3.1.1 MATLAB 91

2.3.1.2 Python 94

2.3.2 Actuator and Control Algorithm 95

2.3.2.1 MATLAB Program 98

2.3.2.2 Python 101

2.3.2.3 Attitude Control Algorithm 103

2.3.2.4 Altitude Control Algorithm 105

2.3.2.5 Simulation 106

2.3.2.6 MATLAB 107

2.3.2.7 Robustness Analysis 107

2.3.2.8 Parallel Processing 110

Exercises 113

Bibliography 115

3 Autonomous Vehicle Mission Planning 119

3.1 Path Planning 119

3.1.1 Potential Field Method 119

3.1.1.1 MATLAB 122

3.1.1.2 Python 126

3.1.2 Graph Theory-Based Sampling Method 126

3.1.2.1 MATLAB 128

3.1.2.2 Python 129

3.1.2.3 Dijkstra’s Shortest Path Algorithm 130

3.1.2.4 MATLAB 130

3.1.2.5 Python 131

3.1.3 Complex Obstacles 134

3.1.3.1 MATLAB 135

3.1.3.2 Python 141

3.2 Moving Target Tracking 145

3.2.1 UAV and Moving Target Model 145

3.2.2 Optimal Target Tracking Problem 148

3.2.2.1 MATLAB 149

3.2.2.2 Python 151

3.2.2.3 Worst-Case Scenario 153

3.2.2.4 MATLAB 157

3.2.2.5 Python 159

3.2.2.6 Optimal Control Input 164

3.3 Tracking Algorithm Implementation 167

3.3.1 Constraints 167

3.3.1.1 Minimum Turn Radius Constraints 167

3.3.1.2 Velocity Constraints 169

3.3.2 Optimal Solution 172

3.3.2.1 Control Input Sampling 172

3.3.2.2 Inside the Constraints 175

3.3.2.3 Optimal Input 177

3.3.3 Verification Simulation 180

Exercises 182

Bibliography 182

4 Biological System Modelling 185

4.1 Biomolecular Interactions 185

4.2 Deterministic Modelling 185

4.2.1 Group of Cells and Multiple Experiments 186

4.2.1.1 Model Fitting and the Measurements 188

4.2.1.2 Finding Adaptive Parameters 190

4.2.2 E. coli Tryptophan Regulation Model 191

4.2.2.1 Steady-State and Dependant Parameters 194

4.2.2.2 Padé Approximation of Time-Delay 195

4.2.2.3 State-Space Realization 196

4.2.2.4 Python 205

4.2.2.5 Model Parameter Ranges 206

4.2.2.6 Model Fitting Optimization 213

4.2.2.7 Optimal Solution (MATLAB) 221

4.2.2.8 Optimal Solution (Python) 223

4.2.2.9 Adaptive Parameters 226

4.2.2.10 Limitations 226

4.3 Biological Oscillation 227

4.3.1 Gillespie’s Direct Method 231

4.3.2 Simulation Implementation 234

4.3.3 Robustness Analysis 241

Exercises 245

Bibliography 246

5 Biological System Control 251

5.1 Control Algorithm Implementation 251

5.1.1 PI Controller 251

5.1.1.1 Integral Term 252

5.1.1.2 Proportional Term 253

5.1.1.3 Summation of the Proportional and the Integral Terms 253

5.1.1.4 Approximated PI Controller 253

5.1.1.5 Comparison of PI Controller and the Approximation 254

5.1.2 Error Calculation: ΔP 260

5.2 Robustness Analysis: 𝜇-Analysis 269

5.2.1 Simple Examples 269

5.2.1.1 𝜇 Upper Bound 272

5.2.1.2 𝜇 Lower Bound 275

5.2.1.3 Complex Numbers in MATLAB/Python 278

5.2.2 Synthetic Circuits 280

5.2.2.1 MATLAB 281

5.2.2.2 Python 281

5.2.2.3 𝜇-Upper Bound: Geometric Approach 290

Exercises 291

Bibliography 292

6 FurtherReadings295

6.1 Boolean Network 295

6.2 Network Structure Analysis 296

6.3 Spatial-Temporal Dynamics 297

6.4 Deep Learning Neural Network 298

6.5 Reinforcement Learning 298

Bibliography 298

Appendix A Solutions for Selected Exercises 301

A.1 Chapter 1 301

Exercise 1.4 301

Exercise 1.5 301

A.2 Chapter 2 302

Exercise 2.5 302

A.3 Chapter 3 302

Exercise 3.1 302

Exercise 3.6 303

A.4 Chapter 4 303

Exercise 4.1 303

Exercise 4.2 303

Exercise 4.7 304

A.5 Chapter 5 304

Exercise 5.2 304

Exercise 5.3 304

Index 307

Authors

Jongrae Kim University of Leeds, Leeds, UK.