Data Science and Computing with Python for Pilots and Flight Test Engineers
Introduction to Control Theory
Control theory deals with the control of engineered dynamic systems, such as aircraft. In the lessons of this part of the course, you will learn how to create such systems in Python and the basics of how to perform system analysis on them. Examples of such analysis would be computing and plotting the system’s response (e.g. impulse response) to a time-dependent input (e.g. unit impulse, unit step, etc.), creating Bode plots of systems and inferring information about the system from them, performing a root locus analysis, etc.
Aircraft dynamics, such as the short-period mode and phugoid, as well as the roll, spiral, and Dutch roll modes, are free response characteristics of the aircraft, which can be studied with this framework. You can also ask, how we may be able to influence these modes as well as the handling qualities of an aircraft with control, for instance with a fly-by-wire system, which can be programmed to augment aircraft stability and control.
The material covered here will allow you to write Python code for most (if not all) the problems you will encounter during a Modern Flight Control Systems Course, such as T&E 4105 at the National Test Pilot School (NTPS). But the lessons of this part of our course are not a substitute for taking T&E 4105 or a similar class. They mostly just explain to you how to code in Python, what you have learned there.
At least in its present shape, we cannot give a comprehensive, pedagogical introduction to control theory in this course from a theoretical perspective. Instead, we will mostly just demonstrate how to implement the corresponding system analysis tasks in Python. Some theory is covered as needed, but it is left mostly up to the student to consult other sources to acquire a sufficient theoretical background in control theory. For instance, the book by Joseph J. Distefano, Feedback and Control Systems, 3rd Edition, Schaum’s Outlines, McGraw Hill, 2013, is a great introduction into the field (and in fact recommended by NTPS as the main textbook for their course).
To assist the speedy reader not inclined to dive into the above (or similar) textbook, we also provide many links throughout the text of our lessons to references, often to Wikipedia articles explaining individual terms in much more detail than we could manage in our lessons without distracting from our main goal: writing Python code for the computations in control theory. Following these links will not be as pedagogically structured as reading the above textbook, but you can piece together your theoretical knowledge this way as well, if you prefer.