Control Systems Engineering
Experience: 6 years
I have an experience in control systems engineering for aircrafts (UAVs) and testing devices for spacecraft power supply systems.
Publications
While studying in graduate school, I published several articles ( in English ) and three patents:
All of them are related to spacecraft power supply testing.
Tools
MATLAB is often the primary (and most mature) choice for the control systems development. Since at some point I started using pandas , I decided to move my control systems environment to Python as well and used python-control for this.
Today, I would work on control systems using Julia , because it has quite mature packages for control systems themselves, for uncertainty analysis , and it has a very impressive integrator collection .
Testing devices
I was involved in the development of electronic loads with power recovery and the development of programmable charging/discharging devices. I researched the issues of control systems coordination between individual load cells (that consisted of switched-mode converters and wide-band linear regulators) in order to obtain the required input admittance characteristics, in particular, for the possibility to induct current interference with an amplitude of tens of amperes.
In general, my work looked like this: first, simple control systems were made using IIR filters or broadband analog PID controllers for the initial mathematical models, then stable systems were identified (using the N4SID and MOESP algorithms), then MIMO H∞-controllers for several converters were synthesized and then mutual influence of the cells was balanced.
Rotorcraft UAV
For helicopters, I developed both the control system itself, DSP circuits and a mathematical simulation model of the helicopter, since helicopters are an unstable without closed control loops, which greatly complicates the synthesis of the control systems.
The mathematical model was largely based on the work of Padfield and Johnson and was developed in C++ (for more details see C++ section).
The control system was developed as a set of MIMO controllers due to the strong mutual influence of control loops (especially in swashplate cyclic pitch). In addition to the classical versions (H∞, PID), several experimental controllers were investigated, in particular:
-
nonlinear controllers (obtained by backstepping ): unfortunately, they turned out to be highly dependent on the elaboration of the mathematical model and gave too conservative results (which, generally speaking, is logical for Lyapunov controllers);
-
neural networks-based controllers ( Keras , see Python ): they were made by the reinforcement learning method with gradient search for the optimum. They spent a lot of computational resourses, stability was not always ensured even in the simplest flight modes, and the reliability of such a control system in extreme modes was not guaranteed in any way.
Filters
Various digital filters have also been developed for control systems (see C++ ). In particular, when developing the module for determining the wind direction from indirect data, I built various types of estimators ( UKF , multiparticle ), but, in the end, the simple extended Kalman filter did a great job.
Illustration
-
Composition: cover of the excellent book by Hassan Khalil on Nonlinear Systems.
-
Equations: extended Kalman filter .
-
Block diagram: LTI system with uncertainties, transformed using LFT to a form convenient for the analysis and synthesis of robust controllers ( the article initiated the fashion for such things).
-
Helicopter in the background: Commanche , I liked its appearance since childhood.