Teoria sterowania to gałąź nauki, w której stara się znaleźć algorytm do sterowania obiektem zmiennym w czasie tak, by spełniał pewne określone warunki. Takim obiektem może być grzałka, obwód elektryczny, robot czy samochód autonomiczny. Najprostszym algorytmem jest “on-off”, którego używa się sterowania np. pompami. Polegam na tym, że jeśli poziom wody jest zbyt niski, to wlewa się więcej wody. Kiedy poziom jest odpowiedni, to taką pompę się wyłącza.
Jednakże takie sterowanie może być zbyt agresywne dla systemu co może powodować uszkodzenia. Alternatywą jest sterowanie proporcjonalne (P), które w przypadku pomp polegałoby na tym, że im większa różnica między aktualnym, a docelowym poziomem wody, tym szybciej podnosi się poziom wody. Skutkiem tego jest to, że pompa powoli zwalnia, kiedy różnica zbliża się do zera.
Sterowanie P jest częścią najbardziej popularnego algorytmu sterowania w przemyśle jakim jest regulator PID [1]. Różne jego wersje są używane do sterowania temperaturą, ramionami robotów, prasami hydraulicznymi. PID jest popularnym algorytmem, ponieważ jest prosty do projektowania, implementacji, analizy matematycznej czy nawet do łączenia z innymi algorytmami jak kompensacja grawitacji [2].
Niestety, jeśli kontrolowany obiekt jest zbyt skomplikowany, pojawiają się problemy. Przykładowo, żeby sterować płynnie dronem, korzysta się jednocześnie z 6 regulatorów z rodziny PID [3,4]. Ponadto, regulator PID nie bierze pod uwagę ograniczeń (np. maksymalnej prędkości) czy optymalności rozwiązania. Zdecydowanie lepszym algorytmem jest model predictive control (MPC). Ma trzy składowe:
- Funkcja kosztu mówi, jak dobre jest dane rozwiązanie i może brać pod uwagę wszelkie czynniki, jak czas misji czy zużycie paliwa.
- Układ równań i nierówności, który zawiera informacje o ograniczeniach nałożonych przez projektanta (np. ograniczenie prędkości) i model obiektu. Model zawiera informacje o fizyce obiektu, co pozwala przewidzieć przyszłość.
- Solver, który jest w stanie rozwiązać układ równań i znaleźć możliwe i dozwolone trajektorie systemu. Następnie wybrać najbardziej optymalne wśród nich. Takie solvery są już zoptymalizowane pod względem szybkości i można znaleźć gotowe rozwiązania w różnych językach programowania jak Python (SciPy) [5] czy Matlab (optimization toolbox) [6].
MPC [7] jest w stanie sterować nawet tak skomplikowanymi systemami jak człekopodobne roboty od Boston Dynamics [8, 9] czy sterowanie samochodami autonomicznymi [10]. Niestety MPC ma również wady. Główną wadą jest, że im większy układ równań i okno predykcji, tym więcej czasu komputer potrzebuje, by znaleźć rozwiązanie.
Sterowanie dronem w praktyce
W przypadku drona, opóźnienie rzędu 0,1s może być już zbyt długie i spowodować niebezpieczny przelot. Ponadto rozwiązanie układu równań z modelem drona nie jest proste, ponieważ w układzie znajdują się kąty, a więc również funkcje sinus i cosinus. W celu szybkiego znalezienia rozwiązania, przybliża się położenie i zakłada, że są to małe kąty [11], dla których zakłada się cosinus równy jeden oraz sinus równy wartości kąta.
Z powodu takich uproszczeń oraz czynników losowych (np. wiatr), predykcje zawierają błąd, co może spowodować, że ograniczenia w systemie zostaną tymczasowo naruszone. Robust MPC bierze pod uwagę tą różnice i żeby trajektoria była brana pod uwagę, grupa podobnych-realnych trajektorii musi być dozwolona. Najbardziej popularną implantacją jest Tube MPC [12]. Niestety, aby wykorzystać TMPC w praktyce, często wymagane są dodatkowe uproszczenia, które powoduje, że algorytm poświęca optymalność dla bezpieczeństwa i szybkości obliczeń.
Aktualnie trwają badania, jak przyśpieszyć robust MPC. Jednym z ciekawych i świeżych pomysłów jest wykorzystanie sieci neuronowych, by te kopiowały algorytm. W ten sposób czas obliczeń robust MPC ma znaczenie jedynie podczas treningu sieci neuronowej, a nie podczas pracy urządzenia. Taka sieć neuronowa była już używana do sterowania dronem [13,14] lub ramieniem robota KUKU [15].
Warto zaznaczyć, że teoria sterowania, jako naukowa dziedzina, ma znaczący wpływ na różnorodne aspekty polskiego rynku, przede wszystkim sektor przemysłowy.
Bibliografia:
- “Advanced PID Control”; K.J. Åström, T. Hägglund
- “Low-Cost Automation for Gravity Compensation of Robotic Arm”; W. Montalvo, J. Escobar-Naranjo, C A. Garcia, M V. Garcia.
- https://nl.mathworks.com/videos/drone-simulation-and-control-part-1-setting-up-the-control-problem-1539323440930.html
- “Successive Loop Closure Based Controller Design for an Autonomous Quadrotor Vehicle”; A.M. Singh, D.J. Lee, D. Hong, K.T. Chong
- https://docs.scipy.org/doc/scipy/reference/optimize.html
- https://www.mathworks.com/products/optimization.html
- “Model Predictive Control: Theory, Computation, and Design”; J.B. Rawlings, D.Q. Mayne, M.M. Diehl
- https://www.google.com/search?client=firefox-b-d&q=boston+dynamics+youtube#fpstate=ive&vld=cid:de355194,vid:-e1_QhJ1EhQ
- https://www.bostondynamics.com/resources/blog/picking-momentum
- “Comfort-Oriented Design of Model Predictive Control in Assisted and Autonomous Driving”, S.Luciani, A. Bonfitto, N. Amati, A. Tonoli
- “A SIMPLE TUBE CONTROLLER FOR EFFICIENT ROBUST MODEL PREDICTIVE CONTROL OF CONSTRAINED LINEAR DISCRETE TIME SYSTEMS SUBJECT TO BOUNDED DISTURBANCES”: S.V. Raković, D.Q. Mayne
- “Trajectory Tracking and Stabilization of a Quadrotor UsingModel Predictive Control of Laguerre Functions”; M. Chipofya, D.J. Lee, K.T. Chong
- https://www.youtube.com/watch?v=28zQFktJIqg
- “Demonstration-Efficient Guided Policy Search via Imitation of Robust Tube MPC”; A. Tagliabue, D. Kim, M. Everett, J.P. How
- “Safe and Fast Tracking on a Robot Manipulator: Robust MPC and Neural Network Control”; J. Nubert, J. Köhler, V. Berenz, F. Allgöwer, S. Trimpe
Filip Surma, PHD student