dr inż. Paweł Maciąg

Optimal Control of Multibody Systems Using an Efficient, Parallelizable Adjoint Method


Promoter:

dr hab. inż. Paweł Malczyk, prof. uczelni - Politechnika Warszawska Wydział MEiL

Supporting Promoter:

dr inż. Łukasz Woliński – Politechnika Warszawska Wydział MEiL

Reviewers:

Prof. Dr.-Ing. Prof. E. h. Peter Eberhard – University of Stuttgart
Prof. dr hab. inż. Ignacy Dulęba – Politechnika Wrocławska
dr hab. inż. Marcin Szuster, prof. uczelni – Politechnika Rzeszowska

Dziedzina:

nauki inżynieryjno-techniczne

Dyscyplina:

inżynieria mechaniczna

Abstract:

W ciągu ostatnich dekad znaczenie efektywnych obliczeniowo metod w komputerowo wspomaganym projektowaniu oraz sterowaniu układami robotycznymi wyraźnie wzrosło. Sterowanie optymalne jest dobrze ugruntowaną dziedziną wiedzy dającą narzędzia do rozwiązywania współczesnych nieliniowych problemów dynamiki i czerpiącą znacząco z metod optymalizacji. Jednocześnie wiele spośród nich wymaga zastosowania efektywnych algorytmów do systematycznego i dokładnego wyznaczania pochodnych względem zestawu zmiennych decyzyjnych.

Metoda adjoint -- wywodząca się z teorii sterowania optymalnego -- wykorzystuje model dynamiki układu wieloczłonowego (UW) do efektywnego obliczenia gradientu wskaźnika jakości i jest naturalnym podejściem w przypadku obecności dużej liczby zmiennych decyzyjnych. Model matematyczny układu ma wtedy formę równań ruchu, które w niniejszej rozprawie są wyrażone
za pomocą formalizmu Hamiltona.  Pierwszym osiągnięciem rozprawy jest połączenie metody adjoint
z hamiltonowskimi modelami UW sformułowanymi w mieszanych współrzędnych złączowych
i absolutnych.

Choć metody służące do rozwiązywania zagadnień sterowania optymalnego charakteryzują się dużym stopniem dojrzałości, wciąż istnieje potrzeba rozwoju coraz efektywniejszych algorytmów możliwych do zastosowania w praktyce. Kluczową kwestią jest również ich skalowalność ze względu na rozmiar problemu, np. liczbę członów w łańcuchu kinematycznym. Istotnym celem niniejszej rozprawy jest usprawnienie metody adjoint przez opracowanie algorytmu równoległego rozwiązującego zadanie proste dynamiki i problem sprzężony (adjoint) w oparciu o schemat Dziel i Zdobywaj (DiZ). Rdzeniem proponowanej metody jest możliwość rekurencyjnego wyznaczania współczynników dla problemu sprzężonego, która bazuje na drzewie binarnym stowarzyszonym z topologią UW. Poszczególne procedury obliczeniowe związane z węzłami grafu można wykonywać w sposób równoległy, dzięki czemu podejście DiZ odznacza się dobrą skalowalnością obliczeń na wielu procesorach.

Algorytm DiZ stosowano już do rozwiązywania równań ruchu (zarówno w formie lagranżowskiej, jak i hamiltonowskiej) oraz do obliczania gradientu wskaźnika jakości metodą różniczkowania bezpośredniego (ang. direct differentiation method). Niniejsza rozprawa poszerza obecny stan wiedzy o propozycję metody adjoint zaimplementowanej w schemacie DiZ
i umożliwiającej wykorzystanie obliczeń równoległych.

Opracowane metody poddano zróżnicowanym testom numerycznym w środowisku Matlab
i pokazano ich możliwości aplikacyjne. Rozwiązano wybrane problemy projektowania oraz sterowania optymalnego dla mechanizmów płaskich i przestrzennych charakteryzujących się różnymi topologiami łańcucha kinematycznego. Otrzymane wyniki potwierdzają poprawność opracowanych metod. Ostatecznie w rozprawie szczegółowo omówiono otrzymane rezultaty pod kątem jakości rozwiązań oraz efektywności obliczeń.

Skalowalność metody adjoint i algorytmu DiZ zbadano poprzez rozwiązanie problemu sterowania optymalnego dla UW charakteryzującego się możliwością relatywnie łatwej zmiany liczby stopni swobody w łańcuchu kinematycznym. W tym celu opracowane metody zaimplementowano
w C++, a do zrównoleglenia obliczeń zastosowano dyrektywy kompilatora OpenMP. W oparciu o testowy model UW sprawdzono poprawność sformułowania oraz samej implementacji. Zmierzono również czasy wykonania programu dla różnych warunków zadania, w których zmianom podlegała liczba członów oraz liczba dostępnych wątków.

Opracowana metoda adjoint została zastosowana w układzie sterowania rzeczywistym robotem równoległym (planarny robot o dwóch stopniach swobody), dla którego zbudowano
i zidentyfikowano model matematyczny. Wyznaczone sygnały sterujące podano jako sprzężenia kompensujące w przód typu feedforward, które działały w koniunkcji z sygnałami z pętli sprzężenia zwrotnego. Badaniom podlegała jakość sterowania obiektem oraz wartości uchybów regulacji
w przypadku skomplikowanych trajektorii zadaniowych robota oraz potencjalnych ograniczeń
na amplitudy sygnału sterującego.