This is my studying logs about Autonomous driving, Machine learning technologies and etc.

Reading log: Control Engineering by Python

Table of Contents


I read the following book to study a fundamental of control engineering.



In this article, I wrote my thoughts on this book and a memo about the contents.

My thoughts

We can study both of "Classical Control Theory" and "Modern Control Theory" in this book. In addition, a lot of Python sample codes are introduced in this book too. By using these sample codes, we can draw a lot of patterns of diagrams and understand a behavior of system immediately. It is very useful. When I was a university student, I needed to draw those diagrams by hand. So, it took a long time to draw a diagram and was so bother.
There a lot of technical terms about control theory. We can study them widely through this book but each term is explained in short. I think that we need to search about the additional information of them by ourselves.



  • We should use a model which it is easier for us to analyze or design the system afterward.
  • When we decide a controlling input, a method to replace with a problem which decides a parameter included in the input is usually used.
  • Transfer function expresses a system as complex function. Multiple equations can be expressed as one complex function.
  • Transfer function is used for expressing a linear function. We need to define a transfer function from a motion equation approximated as linear.
  • There are a lot of method to convert a transfer function model into state space model because we can select a state of the model freely.
  • The conversion can be realized by "Controllability canonical form" or "Observability canonical form".

Python Control System Library

  • This module can be imported as follow.
import control
  • We can use functions like MATLAB as follow.
from control.matlab import *

Behavior of control target

  • The smaller a damping coefficient is, the larger a overshoot is.

  • Characteristic angular frequency is a parameter for deciding a responsiveness.

  • We can confirm that the system is stable or not by checking a pole of the transfer function.

  • When the system is stable, the real part of pole is negative.
  • In the case of a state space model, we can confirm that the system is stable or not by checking an eigen value of A matrix of the system.
  • When the real part of eigen value is negative, the system is stable.

Response of Frequency

  • It is good to add an impulse input for checking a feature of control target.
  • It is difficult to add impulse input in realistically because an instant infinite force is needed.
  • So, Expressing the input as set of various multiple cosine wave(linear sum).

Closed Loop System Design

  • When a root of a characteristic polynomial is stable, the system is internal stable.
  • A vibrating part in a response wave is called as "Transient Characteristics".
  • It can be evaluated with "Rise time", "Settling time", "Over time" and "Over shoot".
  • "Band Width" and "Peak Gain" are used as an evaluation index of transient characteristics.

Open Loop System Design

  • In a closed loop system, the transfer function is non-linear about the control target.
  • By cutting a part of loop, we can design the system as open loop in checking a characteristics of the open loop part.

Output Feedback Control with Observer

  • There is a case that all of state can not be observed with a sensor.
  • By using an already known input and output signal, an internal state in the system can be estimated.