Kołowa platforma mobilna dla celów badawczych

Krzysztof Kozłowski, Dariusz Pazderski, Mateusz Michalski, Piotr Dutkiewicz

Katedra Sterowania i Inżynierii Systemów, Politechnika Poznańska

Streszczenie: W pracy przedstawiono założenia i koncepcję rozwiązania zadania zatytułowanego „Sterowanie i nawigacja” (SiN) będącego częścią składową projektu RobREx oraz przedstawiono krótki opis budowy kołowej platformy mobilnej przeznaczonej dla celów badawczych. Platforma ta została zbudowana w Katedrze Sterowania i Inżynierii Systemów Politechniki Poznańskiej. W artykule opisano niektóre aspekty implementacyjne algorytmu sterowania ruchem platformy wykorzystującym funkcje transwersalne.

Słowa kluczowe: robot mobilny, agent upostaciowiony, funkcje transwersalne

DOI: 10.14313/PAR_207/120

a przestrzeni ostatnich lat można zauważyć dynamiczny rozwój robotów, które stosowane są w ratownictwie i w zadaniach eksploracji niedostępnych obszarów. Przemysłowy Instytut Automatyki i Pomiarów PIAP w Warszawie od dłuższego czasu zajmuje się takimi konstrukcjami. Obecnie PIAP realizuje (wraz z ośrodkami badawczymi z obszaru automatyki i robotyki oraz informatyki) poświęcony tym zagadnieniom grant finansowany ze środków NCBiR o nazwie RobREx.

1. Wprowadzenie

Celem projektu RobREx jest opracowanie i wytworzenie odpowiedniego zestawu technologii/architektur, które umożliwią podniesienie poziomu produkcji autonomicznych robotów ratowniczo-eksploracyjnych wytwarzanych w Przemysłowym Instytucie Automatyki i Pomiarów PIAP. Inaczej mówiąc, badania realizowane w ramach tego projektu mają charakter badań stosowanych, których celem jest przetworzenie istniejącej wiedzy w technologię. Na rynku krajowym i zagranicznym PIAP jest znanym producentem robotów interwencyjnych i antyterrorystycznych posiadającym wysoką, ugruntowaną od dawna markę. Przykładami konstrukcji znajdujących się w ofercie są takie roboty jak INSPECTOR, EXPERT, SCOUT, IBIS, GRYF. Wspomniany projekt jest nakierowany na robota służącego do wspomagania akcji ratowniczych i eksploracyjnych (Robot Ratowniczo-Eksploracyjny, w skrócie RobREx). Rozwiązania pozyskane w ramach prac nad projektem zostaną zweryfikowane na robotach zdolnych do autonomicznej realizacji zadań zleconych przez operatora. Potencjalnie badane scenariusze użycia sprzętu będą dotyczyły inspekcji wyznaczonych obszarów włącznie z dotarciem do niego, przekazanie potrzebnych operatorowi danych (w tym również obrazu) oraz wykonanie działań przede wszystkim lokomocyjnych, ale również percepcyjnych i manipulacyjnych. Nadrzędnym zadaniem robota będzie wspomaganie ludzi we wszelkiego typu akcjach ratowniczych. Ponadto robot może służyć w pracach eksploracyjnych prowadzonych przede wszystkim w budynkach. Scenariusze wykorzystania robota zakładają, że środowisko jego działania zostało częściowo zniszczone, a w związku z tym posiadana przez niego mapa otoczenia nie jest w pełni aktualna. Zadania robota będą obejmować następujące czynności:

– penetrację (dotarcie do określonego obszaru i dokonanie jego rozpoznania),

– inspekcję (określenie stanu otoczenia, lokalizacja osób itp.),

– interwencję (wymaga manipulacji i/lub lokomocji).

Wymienione czynności pozwalają na realizację większości zadań, jakie stawia się przed robotami ratowniczo-eksploracyjnymi. Chodzi tu przede wszystkim o zadania monitorująco-inspekcyjne, logistyczne oraz aktywną współpracę robota z ratownikami. Doświadczenia zdobyte podczas dotychczas prowadzonych akcji ratowniczych, w których były wykorzystane roboty, pozwalają na sformułowanie kilku ważnych wniosków. Przede wszystkim, roboty ratownicze dobrze sprawdzają się w akcjach prowadzonych na ograniczonym obszarze, który w całości lub części nie jest dostępny dla ludzkich drużyn ratowniczych. Pożądany robot to robot niezawodny, który przekazuje obraz otoczenia i umożliwia manipulację (musi być wyposażony w manipulator) oraz przynajmniej częściowo odciąża operatora. Zatem wymaga się od takiej konstrukcji częściowej lub całkowitej autonomii. Stopień autonomii działania robota powinien zależeć od stanu otoczenia i powinien być tym wyższy im wyższy jest stopień niestrukturalności środowiska. Opracowanie metodyki projektowania systemów sterowania robotów ratowniczo-eksploracyjnych, które sprostają wspomnianym wymaganiom pozostaje wciąż otwartym problemem badawczym.

Projekt RobREx realizowany jest przez konsorcjum, w skład którego wchodzi przede wszystkim PIAP oraz kilka polskich ośrodków badawczych zajmujących się automatyką i robotyką oraz informatyką. Projekt obejmuje szereg zadań wzajemnie się uzupełniających, których wykonanie zagwarantuje osiągnięcie złożonego celu. Zdefiniowane w projekcie zadania to:

– ontologia: struktura reprezentacji środowiska wspólna dla ludzi i robotów,

– ontologia: algorytmy aktualizacji i uszczegóławiania mapy na podstawie wiedzy a priori,

– percepcja: semantyczna mapa otoczenia,

– percepcja: klasyfikacja i rozpoznawanie obiektów,

– sterowanie i nawigacja (SiN),

– wybór odpowiedniego napędu i sterowania dla manipulatora oraz chwytaka: sterowanie impedancyjne dla różnych układów napędowych, modele, implementacja,

– wybór odpowiedniego napędu i sterowania dla manipulatora oraz chwytaka: sterowanie impedancyjne manipulatora z chwytakiem, demonstracja,

– manipulacja mobilna: modele i algorytmy,

– manipulacja mobilna: implementacja, pomiary i demonstracja,

– inteligentna manipulacja,

– aktywne czucie.

Zespół pracowników Katedry Sterowania i Inżynierii Systemów Politechniki Poznańskiej, wchodzący w skład konsorcjum, zajmuje się zadaniem zatytułowanym „Sterowanie i nawigacja” (SiN). Zadanie to ma na celu realizację sterowania ruchem platformy mobilnej wyposażonej w napęd różnicowy [8, 9] lub posługującej się lokomocją wielokołowo-ślizgową klasy skid-steering [5] oraz zadań nawigacji i lokalizacji lokalnej. Przyjęto założenie, że robot będzie się poruszał w środowisku w pełni lub częściowo ustrukturyzowanym, w warunkach ograniczonej niepewności percepcyjnej oraz w obecności przeszkód statycznych i dynamicznych. Problem lokalizacji i nawigacji globalnej jest zagadnieniem bardzo obszernym i wymaga odpowiednich działań percepcyjnych wraz z planowaniem strategii całej misji. Powyższymi zadaniami zajmują się inne zespoły projektu. W ramach zadania lokalizacji i nawigacji lokalnej są rozpatrywane zagadnienia związane z lokalnym planowaniem ruchu platformy [2, 17] i przejazd do wyznaczonych miejsc. W trakcie ruchu robota będą rozwiązywane problemy omijania pojawiających się na drodze przeszkód. W sterowaniu ruchem pojazdu zostaną wykorzystane algorytmy działające w zamkniętej pętli sprzężenia zwrotnego od położenia i orientacji platformy robota.

W pracy opisano konstrukcję i układ sterownia doświadczalnej platformy mobilnej zbudowanej w Katedrze Sterowania i Inżynierii Systemów Politechniki Poznańskiej przeznaczonej do badań eksperymentalnych zadania „Sterowanie i nawigacja” w projekcie RobREx. W następnym rozdziale zadanie to szczegółowo opisano oraz przedstawiono koncepcję rozwiązania postawionego problemu. W sterowniku platformy zostaną zaimplementowane dwie metody: metoda funkcji transwersalnych i metoda orientowania pól wektorowych VFO (ang. Vector-Field-Orientation). Metody te dedykowane są głównie pojazdom z mechanizmem różnicowym. Obie metody są efektem prac badawczych prowadzonych przez zespół w zakresie sterowania obiektami mobilnymi. Rezultaty dotychczasowych badań przedstawiono w pracach [8, 9, 11–13, 19, 20]. Wykorzystanie metody orientowanych pól wektorowych w planowaniu i realizacji ruchu zbudowanej platformy jest treścią osobnych artykułów. W artykule omówiono niektóre aspekty implementacyjne metody funkcji transwersalnej na podstawie przeprowadzonych analiz oraz eksperymentów i symulacji.

2. Zadanie „Sterowanie i nawigacja” w projekcie RobREx

Autonomia robota mobilnego poruszającego się w środowisku częściowo ustrukturyzowanym wymaga zastosowania efektywnych algorytmów sterowania i lokalizacji gwarantujących realizację zadania z uwzględnieniem specyficznych warunków, jakie narzuca w tym przypadku nie tylko otoczenie, ale też sama konstrukcja robota. Zasadnicze trudności realizacji zadania wynikają z dwóch podstawowych problemów. Pierwszym z nich jest konieczność odpornej lokalizacji pojazdu oraz unikania kolizji z przeszkodami statycznymi i dynamicznymi podczas ruchu w zamkniętych pomieszczeniach. Rozwiązanie tego problemu wymaga zastosowania mechanizmów fuzji danych z wielu systemów sensorycznych, a w kwestii unikania kolizji wykorzystanie algorytmu sterowania wykorzystującego techniki funkcji potencjałowych [12]. Drugi problem wynika z wpływu poślizgów charakterystycznych dla lokomocji wielokołowo-ślizgowej skutkujących zarówno trudnościami predykcji ruchu i lokalizacji pojazdu, a także trudnościami w zapewnieniu wymaganej precyzji realizacji zadania. W większości zastosowań robotów o lokomocji wielokołowo-ślizgowej pomijana jest kwestia wpływu poślizgu na precyzję ruchu pojazdu. W proponowanym podejściu zostaną zastosowane metody szacowania i aktywnej kompensacji wpływu poślizgów [19, 20, 11]. Pozwoli poprawić jakość odtwarzania sygnałów zadanych, a tym samym zwiększy precyzję realizacji ruchu robota. Powstałe w ramach zadania moduły programowe umożliwią wykonanie przez platformę mobilną nie tylko elementarnych zadań ruchu, ale również złożonych zadań specjalizowanych takich, jak przejazd przez uporządkowany zbiór punktów czy zadanie precyzyjnego dokowania.

W celu realizacji zadania zostały wybrane algorytmy pracujące w pętli zamkniętej ze sprzężeniem zwrotnym od pozycji i orientacji platformy robota. Jak wspomniano, będzie to metoda funkcji transwersalnych [1, 16] oraz metoda orientowania pól wektorowych [10, 13]. Obie metody zostały przetestowane na przykładowych platformach mobilnych, na których ruch nałożone są ograniczenia nieholonomiczne. Algorytmy skonstruowane są dla platform mobilnych klasy (2,0) poruszających się przede wszystkim bez poślizgu [13] ale także z poślizgiem [11] oraz dla klasy skid-steering [19, 20]. W celu poprawy precyzji odtwarzania zadanych trajektorii zostaną również przebadane zjawiska kontaktu układu jezdnego robota z podłożem, w wyniku czego opracowany zostanie uproszczony model tarcia [3]. Model ten będzie wykorzystany w sterowaniu pojazdów klasy skid-steering, gdzie głównie wykorzystuje się metodę funkcji transwersalnej. Wynikiem realizacji zadania SiN będzie opracowanie sprzętowych, a przede wszystkim programowych modułów pozwalających na realizację elementarnych zadań nawigacji, lokalizacji oraz sterowania w środowisku rzeczywistym dla platform mobilnych, tj. przejazd przez uporządkowany zbiór punktów wraz z precyzyjnym dojazdem do punktu docelowego, odtwarzanie sparametryzowanej ścieżki określonej w przestrzeni zadania robota oraz zadanie dokowania pojazdu.

2.1. Elementarne zadania ruchu

Przewiduje się opracowanie następujących elementarnych zadań ruchu:

– przejazd przez punkt (zbiór punktów) z zadaną prędkością przejazdową z zatrzymaniem w punkcie docelowym,

– dokowanie (precyzyjne pozycjonowanie robota) w zadanym punkcie,

– jazda wzdłuż przeszkody (np. ściany),

– ruchy elementarne związane z trybem ręcznym, gdzie zadajnikiem ruchu jest np. joystick.

Realizacja podanych zadań elementarnych będzie uwzględniać kwestię unikania kolizji z wybranymi typami przeszkód. Uwzględnione tu zostaną m.in. metody planowania ruchu za pomocą funkcji potencjalnych [12] i/lub wielomianów sklejanych. W trakcie ewolucji poszczególnych modułów wykonane zostaną zarówno badania symulacyjne jak i eksperymentalne. Badania eksperymentalne algorytmów sterowania obejmować będą weryfikację ich wrażliwości na niepewności pomiarowe i niedokładności modelu pojazdu. Uwzględnione zostaną także problemy implementacyjne, do których należą m.in. złożoność obliczeniowa, minimalna szybkość pracy pętli sprzężenia zwrotnego, dobór parametrów algorytmów i ich wpływ na jakość sterowania. Działanie wszystkich modułów programowych zostanie na końcu zaprezentowana na demonstratorze, którym będzie specjalnie zbudowana doświadczalna platforma mobilna (opisana w następnym punkcie).

Podsumowując, można stwierdzić, że celem zadania SiN jest opracowanie sprzętowych, a przede wszystkim programowych modułów pozwalających na realizację elementarnych zadań ruchu, nawigacji i lokalizacji w środowisku rzeczywistym dla platform mobilnych wyposażonych w napęd różnicowy lub dla pojazdów klasy skid-steering. Planowane prymitywy ruchu platformy mobilnej będą oczywiście zlecane przez system nadzorczy robota, a ruch platformy ma jedynie uwzględniać elementy lokalnego planowania przejazdu robota wraz z lokalną nawigacją odruchową umożliwiającą unikanie przeszkód. Detekcja przeszkód będzie wykonywana na podstawie wyników pomiarów z czujników pokładowych. Realizacja prymitywów ruchu będzie wymagała dostarczenia odpowiednich danych z zewnętrznego planera nadrzędnego oraz danych z lokalnych systemów pomiarowych. Lokalne planowanie ruchu będzie realizowane przez system pokładowy robota, a unikanie kolizji będzie obieralnym parametrem realizacji prymitywu ruchu. Detekcja samych przeszkód (bez rozpoznawania) będzie również wykonywana przez system pokładowy na podstawie aktualnych odczytów danych z czujników pokładowych. Realizacja zadania SiN zakłada, że ruch platformy odbywa się w budynkach.

Prymitywy ruchu (oznaczone w dalszej części pracy przez R) służące do realizacji elementarnych zadań ruchu są następujące:

– przejazd przez punkt: qd, prędkość przejazdowa przez punkt vd, precyzja przejazdu rd,

– ruch elementarny A (ruch w zadanym kierunku z żądaną prędkością): [vd, Θd],

– ruch elementarny B (ruch z zadanymi prędkościami postępową i kątową): [vd, wd],

– dokowanie: qd, precyzja rd w postaci promienia dopuszczalnego otoczenia,

– jazda wzdłuż przeszkody: prędkość vd, odległość od przeszkody dd, strona (lewo, prawo względem robota).

– Do realizacji zadeklarowanych prymitywów ruchu potrzebne będą następujące informacje:

– lokalizacja q platformy w globalnym układzie współrzędnych,

– lokalizacje zadanych punktów przejazdowych z parametrami,

– komendy sterujące ruchem R wraz z poleceniami dotyczącymi bezpieczeństwa B,

– wartości przewidzianych parametrów konfiguracyjnych K (np. omijaj przeszkody).

2.2. Zadanie SiN w strukturze agentowej

Realizacja zadania SiN w strukturze agentowej zaproponowanej w pracy [22] przedstawiono na rys. 1. Agent upostaciowiony a5 będzie finalnym efektem rozpatrywanego zadania. Podsystem sterowania agenta będzie pozyskiwał lokalne dane z wirtualnych receptorów (lokalizator, detektor przeszkód). Receptory wirtualne podłączone są do rzeczywistych receptorów (enkodery, skanery, żyroskopy) i sterują ich pracą. Lokalizator będzie obliczał lokalizację platformy na podstawie fuzji danych z enkoderów i żyroskopów. Detektor przeszkód będzie przesyłał informację o odległości i kierunku potencjalnych przeszkód. Efektory wirtualne to moduły programowe wykorzystujące algorytmy sterowania VFO i FT podłączone do rzeczywistych efektorów platformy mobilnej w postaci napędów kół jezdnych.

Rys. 1. Struktura agenta a5

Fig. 1. Structure of the agent a5

Agent upostaciowiony będzie wymieniał dane z pozostałymi agentami (modułami programowymi) zrealizowanymi przez pozostałe zespoły projektu RobREx. Transmisja międzyagentowa odbywać się będzie w obu kierunkach. Do agenta spływać będą polecenia w postaci odpowiednio sformatowanego wejścia Txc5,5 = [B, q, R, K]. Poszczególne pola komunikatu dotyczą bezpieczeństwa B, informacji o lokalizacji globalnej q, polecenia wykonania konkretnego prymitywu ruchu R oraz poleceń K związanych z konfiguracją kontekstu zleconych zadań. Komunikaty wyjściowe będą dotyczyły głównie stanu agenta (np. jadę wzdłuż przeszkody, w trakcie ruchu A, w trakcie ruchu B dokuję itd.).

3. Konstrukcja i układ sterowania doświadczalnej platformy mobilnej

Na rys. 2 przedstawiono widok platformy doświadczalnej, której układ jezdny składa się z czterech kół połączonych parami z każdej strony. Koła napędzane są dwoma silnikami o mocy 250 W (każdy z przekładnią). Silniki sterowane są za pomocą mostków mocy EPOS2 70/10 firmy Maxon.

Rys. 2. Widok doświadczalnej platformy kołowej

Fig. 2. View of an experimental wheeled platform

Zaprojektowana i zbudowana platforma ma służyć do eksperymentalnej weryfikacji różnych algorytmów sterowania robotów mobilnych, ze szczególnym uwzględnieniem ruchów z poślizgiem. Architektura systemu sterowania powinna więc z jednej strony gwarantować niezawodność i dochowanie ścisłych wymogów czasowych (w tym twardego czasu rzeczywistego), a z drugiej umożliwiać stosunkowo łatwe i szybkie zmiany w implementacji wybranych algorytmów.

Aby zrealizować powyższe założenia zdecydowano się na zastosowanie dwóch równolegle działających jednostek obliczeniowych. Jedną z nich będzie procesor DSP, a drugą przemysłowy komputer klasy PC działający pod systemem operacyjnym czasu rzeczywistego. Obie te jednostki będą przyłączone do sieci CAN, zapewniającej wymianę danych z niskopoziomowymi sterownikami napędów. Takie rozwiązanie nie tylko gwarantuje wystarczająco dużą szybkość transmisji, ale także elastyczność wyboru miejsca realizującego główny algorytm sterowania: prace prototypowe mogą odbywać się na poziomie komputera PC, a dopracowane procedury będą mogły zostać zaimplementowane na procesorze DSP. Dzięki temu uwolnione zasoby komputera będzie można przeznaczyć na realizację zadań wyższego poziomu czy obróbkę danych sensorycznych. Planuje się podłączenie zdecydowanej większości sensorów do oddzielnego kanału transmisji sieci CAN, dzięki czemu przesyłane z nich dane nie będą zakłócały transmisji związanej z realizacją ruchu.

Implementacja algorytmów na komputerze PC ma być dodatkowo ułatwiona przez wykorzystanie jednolitych rozwiązań podczas tworzenia poszczególnych modułów programowych. Zdecydowano się na wykorzystanie w tym miejscu platformy OROCOS współpracującej z systemem ROS. OROCOS (Open RObot COntrol Software), a w szczególności pakiet Orocos Toolchain, stanowi strukturę (Framework) umożliwiającą tworzenie oprogramowania sterującego robotem w postaci modułów – komponentów wymieniających między sobą dane, także w czasie rzeczywistym. Jest to rozwiązanie wieloplatformowe (obsługiwane systemy operacyjne to Linux, Windows i MacOS), definiujące określony sposób organizacji oprogramowania, a przy tym gwarantujące możliwość konfigurowania modułów nawet w czasie działania systemu, obsługę dziennika zdarzeń (log) i raportowania zdarzeń związanych z tymi modułami. Oczywiście, dopełnienie wymogów czasu rzeczywistego gwarantowane jest tylko w przypadku stosowania odpowiedniego systemu operacyjnego. W związku z tym planuje się użycie w tej roli platformy Xenomai w połączeniu z systemem Linux.

Ważną cechą modułów wykorzystujących framework Orocos Toolchain jest możliwość wymiany danych z innymi popularnymi platformami powszechnie stosowanymi przez robotyków, jak ROS, Yarp lub Rock. W projekcie RobRex zdecydowano się na wykorzystanie systemu ROS. Podobnie jak w przypadku platformy Orocos, tu także tworzone są moduły wymieniające między sobą dane, jednak działanie systemu ROS opiera się na wykorzystaniu sieci Ethernet, przez co nie ma gwarancji spełnienia wymogów twardego czasu rzeczywistego. Z drugiej strony, dużą zaletą tego rozwiązania jest istnienie szerokiej gamy gotowych komponentów obsługujących wiele popularnych sensorów.

Wymiana danych między jednostką obliczeniową realizującą algorytm sterowania a sterownikiem napędu ma zazwyczaj podobne cechy: w szybkiej pętli sprzężenia przesyłane są wartości zadane a w drugim kierunku wartości bieżące wykorzystywane w algorytmie. W porównaniu z tym strumieniem danych tylko sporadycznie przesyłane są rozkazy zmiany stanu urządzenia, jak polecenie startu, zatrzymania czy zmiany konfiguracji, przy czym często właśnie te rozkazy powinny mieć najwyższy priorytet. To spostrzeżenie zostanie wykorzystane w planowanej organizacji modułów obsługujących komunikację ze sterownikami napędów (rys. 3).

Rys. 3. Wymiana danych w systemie sterowania

Fig. 3. Data exchange inside the control system

Dedykowany moduł będzie odpowiedzialny tylko za wysyłanie danych przez wybrany port, a oddzielny tylko za odbieranie danych i interpretację poprawności ramki transmisyjnej. Te dwa moduły będą połączone z modułem zarządzającym. To właśnie ten moduł będzie odpowiedzialny za odpowiednie szeregowanie wysyłanych rozkazów otrzymywanych z modułów wyższego poziomu. Przewidziane są w tym celu dwa kanały wejściowe: standardowy i wysokiego priorytetu. Opcjonalnie dane przekazane na kanał standardowy mogą być samoczynnie wysyłane cyklicznie (przydatne np. przy ciągłym odczycie statusu urządzenia).

Wszystkie odbierane dane, przetworzone przez moduł zarządzający transmisją, będą przesyłane do modułu rozgłaszającego – ma on być pośrednikiem zapewniającym wymianę danych między modułami Orocos a ROS.

4. Aspekty implementacyjne metody funkcji transwersalnych FT

Metoda sterowania wykorzystująca funkcje transwersalne należy do ogólnych metod sterowania układów z ograniczeniami nieholonomicznymi w pętli zamkniętej. Szczególną cechą tej propozycji, oryginalnie podanej przez Morina i Samsona [15], jest rozwiązanie problemu stabilizacji układu z ograniczeniami fazowymi dla różnej klasy różniczkowalnych trajektorii odniesienia, włączając w to trajektorie niedopuszczalne (naruszające więzy fazowe) oraz punkt stały. Uzyskuje się przy tym krótki czas trwania stanów przejściowych oraz w ogólnym przypadku stabilność praktyczną, tj. ograniczenie błędów do otoczenia zera o promieniu, który może być dowolnie mały i jest parametrem projektowym. W zadaniach szczególnych możliwe jest również uzyskanie zbieżności asymptotycznej przy zachowaniu gładkiego sprzężenia zwrotnego.

Można powiedzieć, że metoda funkcji transwersalnych pozwala aproksymować kierunki ruchu w przestrzeni konfiguracyjnej bezpośrednio niedostępne, z uwagi na więzy prędkości. Wynik ten uzyskuje się przez odwołanie do podstawowych twierdzeń dotyczących sterowalności bezdryfowych układów nieliniowych i algebry Liego sterowalności danego układu [14]. Aproksymację kierunków niedopuszczalnych rozpatruje się wówczas jako generowanie pól wektorowych wyższych rzędów, czyli nawiasów Liego podstawowych pól wektorowych obiektu.

Dotychczas podano kilka przykładów zastosowań tej metody do sterowania systemami abstrakcyjnymi (np. układy nilpotentne, układy opisane na grupie Liego) oraz robotami kołowymi (m.in. robotem dwukołowym, samochodem kinematycznym, pojazdami z przyczepami mocowanymi osiowo) [15, 16, 21]. Znane są także wstępne wyniki eksperymentalne ilustrujące właściwości metody w warunkach laboratoryjnych [1, 6]. Na ich podstawie można sformułować wnioski dotyczące możliwości zastosowania tej metody w robotyce mobilnej.

W przypadku dużych błędów początkowych algorytm wykazuje oscylacyjne stany przejściowe – ruch robota odbywa ze zmianami znaku prędkości postępowej (nawrotami) jako wynik aproksymacji ruchu w kierunku niedozwolonym (rys. 4.).

Rys. 4. Wyniki symulacji FT dla ruchu w kierunku niedozwolonym (po lewej – trajektoria, po prawej – błędy śledzenia położenia i orientacji robota)

Fig. 4. Results of the FT simulation for movement in prohibited direction (on the left – trajectory, on the right – errors tracking the position and orientation of the robot)

W szczególnych przypadkach jest to pożądany efekt, który pozwala na lokalną korekcję położenia robota bez istotnego zwiększania pewnych składowych błędów konfiguracji w stanach przejściowych. W wielu scenariuszach praktycznych oscylacyjność przebiegów jest jednak niepożądana – zwykle dąży się do eksponowania naturalnych kierunków ruchu (związanych z podstawowymi polami wektorowymi układu), co pozwala minimalizować wydatek energetyczny oraz uzyskać gładkie trajektorie pozycji.

Pomimo dobrego określenia reguły sterowania w sensie analitycznym (algorytm zapewnia różniczkowalność sygnałów w założonej dziedzinie konfiguracji dla różniczkowalnej trajektorii zadanej) i odporności na różny charakter zaburzeń gwarantowanej od strony teoretycznej (nie występuje tu problem osobliwości w punkcie zadanym, charakterystyczny dla metod nieciągłych) uzyskanie właściwego działania algorytmu w warunkach rzeczywistych nie jest trywialne.

Duże znaczenie ma prawidłowe strojenie algorytmu, które powinno uwzględniać wrażliwość algorytmu na zakłócenia w torze pomiarowym oraz niemodelowaną dynamikę (w przypadku sterowania na poziomie kinematycznym nieuwzględniającym jawnie dynamiki robota). Oznacza to, że projektowanie małego tunelu błędu, w celu uzyskania dużej precyzji sterowania, może być niewłaściwe w praktyce. Zagadnieniu temu poświęcono pracę [18], w której analizowano szczegółowo właściwości algorytmu dla układu wielowymiarowego (na przykładzie pojazdu z przyczepami). Wskazano na trudność stosowania klasycznych funkcji transwersalnych w przypadku, gdy zakłada się dużą precyzję. Obiecującym wydaje się wykorzystanie uogólnionych funkcji transwersalnych, które przez odpowiednie strojenie dodatkowym zestawem parametrów zapewniają lepszy kompromis między dokładnością a odpornością na zakłócenia.

Biorąc pod uwagę ograniczenia metody autorzy rozpatrują kilka możliwych scenariuszy implementacji. Pierwszy zakłada zastosowanie algorytmu w przypadku niewielkich błędów konfiguracji, gdy robot znajduje się w pobliżu trajektorii. Pozwala to uniknąć problemów związanych ze strojeniem algorytmu, którego celem jest ograniczenie oscylacyjności w stanach przejściowych. Proponuje się w tym celu wykorzystanie lokalne metody planowania trajektorii w stanie przejściowym. Trajektoria ta, odpowiednio skalowana w czasie w celu zachowania granicznych (projektowych) wartości prędkości i przyspieszeń, przechodzić będzie przez punkty przejazdowe oraz punkt wynikający z początkowej konfiguracji robota. W przypadku, gdy pomocnicza trajektoria, stanowiąca integralną część układu sterowania, będzie niedopuszczalna, robot będzie ją aproksymował, co może być wykorzystane w środowisku o dużym zagęszczeniu przeszkód (w szczególności statycznych). Warto w tym miejscu jeszcze raz podkreślić pewną dogodność zastosowania metody funkcji transwersalnych – mianowicie algorytm i jego struktura pozostają niezmienne niezależnie od rozwiązanego typu zadania, tj. stabilizacji w otoczeniu trajektorii zmiennej lub punktu stałego. W efekcie możliwe staje się zaplanowanie trajektorii, która zmierza do punktu docelowego, w którym ruch referencyjny ustaje.

Inny scenariusz przewiduje zastosowanie opisywanej metody do sterowania wirtualnej kinematyki robota. W takim przypadku trajektoria konfiguracji robota, generowana on-line lub off-line może być wykorzystana w roli trajektorii referencyjnej, odtwarzanej przez alternatywny układ sterowania ruchem. Pozwala to na użycie algorytmu jako lokalnego planera (lokalnego nawigatora), który dzięki możliwości aproksymacji kierunków wysokoenergetycznych (zabronionych przez więzy) może być pomocny do realizacji bezkolizyjnego ruchu w środowisku z wieloma przeszkodami.

W projektowaniu sterowania założona została synteza sterownika uwzględniająca kinematykę monocykla. Tymczasem rzeczywisty robot sterowania o wielokołowym napędzie różnicowym typu skid-steering jest systemem bardziej złożonym. W pracach [20, 7] pokazano, że ograniczony poślizg może być traktowany jako zaburzenie kinematyczne. Wniosek ten stanowi podstawę implementowanej metody sterowania. Zakłada się, że efekty poślizgu mogą być w części kompensowane przez korekcję zadanych wartości prędkości platformy robota. W pierwszej kolejności korekcja będzie dotyczyła prędkości kątowej platformy jezdnej, która dla robotów z omawianym typem napędu jest obarczona największym zaburzeniem wynikającym z efektu ograniczonej możliwości przeniesienia prędkości kątowych kół na prędkości postępowe. Do korekcji wykorzystany zostanie obserwator wraz z czujnikiem żyroskopowym. Wydaje się, że korekcja wypadkowego wpływu poślizgu liniowego będzie trudniejsza i mniej dokładna, z uwagi na ograniczenia pomiarowe, w tym problemy estymacji postępowej prędkości robota [4].

Bibliografia

1. Artus G., Morin P., Samson C., Tracking of an omnidirectional target with a nonholonomic mobile robot, Proc. IEEE Conf. Adv. Robotics, 2003, 1468–1473.

2. Dubrawski A., Thorne H., Evolution of a Useful Autonomous System. Robot Motion and Control, Lecture Notes in Control and Information Sciences, Vol. 396, Springer, 2009, 453–462.

3. Ellouze M., d’Andrea-Novel B., Control of unicycle-type robots in the presence of sliding effects with only absolute longitudinal and yaw velocities measurement, “European J. Contr.”, Vol. 6, 2000, 567–584.

4. Dutkiewicz P., Kiełczewski M., Kozlowski K., Pazderski D., Vision localization system for mobile robot with velocities and acceleration estimator, Bulletin of the Polish Academy of Sciences, Technical Sciences, Vol. 58, No. 1, 2010, 29–41.

5. Kozłowski K., Pazderski D., Modeling and control of a 4-wheel skid-steering mobile robot, “Int. J. Appl. Math. Comput. Sci.”, Vol. 14, No. 4, 2004, 477–496.

6. Kozłowski K., Pazderski D., Stabilization of two-wheeled mobile robot using smooth control laws-experimental study, “Proceedings 2006 IEEE International Conference on Robotics and Automation”, 2006, 3387–3392.

7. Kozłowski K., Pazderski D., Practical stabilization of a skid-steering mobile robot-A kinematic-based approach, “IEEE International Conference on Mechatronics”, 2006, 519–524.

8. Kozłowski K., Majchrzak J., Michałek M., Pazderski D., Posture stabilization of a unicycle mobile robot – two control approaches, Lecture Notes in Control and Information Sciences, Ed. K. Kozłowski, Robot Motion and Control, Springer, 2006, 25–53.

9. Kozłowski K., Pazderski D., Strojony oscylator w zadaniu sterowania integratorem nieholonomicznym z ograniczeniem sygnału wejściowego, Postępy robotyki, WKŁ, 2006, 151–160.

10. Michałek M., Kozłowski K., Motion planning and feedback control for a unicycle in a way point following task: The VFO approach, Int. J. Appl. Math. Comput. Sci., Vol. 19, No. 4, 2009, 533–545.

11. Michałek M., Dutkiewicz P., Kiełczewski M., Pazderski D., Vector-Field-Orientation tracking control for a mobile vehicle disturbed by the skid-slip phenomena, “Journal of Intelligent and Robotic Systems”, Vol. 59, No. 3–4, 2010, 341–365.

12. Michałek M., Kowalczyk W., Kozłowski K., Strategia śledzenia trajektorii z unikaniem kolizji dla robota mobilnego klasy (2,0), Problemy robotyki. Prace naukowe. Elektronika, z. 175, Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 2010, 381–390.

13. Michałek M., Kozłowski K., Vector-Field-Orientation feedback control method for a differentially driven vehicle, “IEEE Transactions on Control Systems Technology”, 18(1): 2010, 45–65.

14. Morin P., Samson C., A characterization of the Lie Algebra rank condition by transverse periodic functions, “SIAM J. Control Optim.”, 40, 2001, 1227–1249.

15. Morin P., Samson C., Practical stabilization of drift-less systems on Lie groups: the transverse function approach, “IEEE Trans. Autom. Control”, 48(9), 2003, 1496–1508.

16. Morin P., Samson C., Control of nonholonomic mobile robots based on the transverse function approach, “IEEE Trans. Robot.”, 25(5), 2009, 1058–1073.

17. Morro A., Sgorbissa A., Zaccaria R., Path following for unicycle robots with an arbitrary path curvature, “IEEE Transactions on Robotics”, 27(5), 2011, 1016–1023.

18. Pazderski D., Waśkowicz D.K., Kozłowski K., Motion Control of Vehicles with Trailers Using Transverse Function Approach, “Journal of Intelligent & Robotic Systems”, October 2013, DOI 10.1007/s10846-013-9882-y.

19. Pazderski D., Kozlowski K., Trajectory tracking of underactuated skid-steering robot, “Proc. of American Control Conference”, 2008, 3506–3511.

20. Pazderski D., Kozłowski K., Trajectory tracking control of Skid-Steering Robot-experimental validation, “IFAC World Congress”, 2008, 5377–5382.

21. Pazderski D., Kozłowski K., Waśkowicz D.K., Control of a unicycle-like robot with trailers using transverse function approach, “Bulletin of the Polish Academy of Sciences. Technical Sciences”, 60(3), 2012, 537–546.

22. Zieliński C., Specification of behavioural embodied agents, “Proceedings of Robot Motion and Control RoMoCo’04”, 2004, 79–84.

Wheeled mobile platform for research purposes

Abstract: The paper presents the assumptions and concepts solve the task titled “Control and Navigation” which is part of the project RobREx and gives a brief description of the construction of a wheeled mobile platform intended for research purposes. This platform has been built in the Chair of Control and Systems Engineering University of Technology. The article describes some aspects of implementing an algorithm of motion control that uses transversal functions.

Keywords: mobile robot, embodied agent, transversal functions

Artykuł recenzowany, nadesłany 02.12.2013 r., przyjęty do druku 15.04.2014 r.

prof. dr hab. inż. Krzysztof Kozłowski

Jest kierownikiem Katedry Sterowania I Inżynierii Systemów w Politechnice Poznańskiej. Zajmuje się zagadnieniami sterowania robotów nieholonomicznych oraz systemów złożonych z wielu robotów mobilnych. Jest członkiem IEEE od 1983 r., natomiast od 1988 r. jest członkiem senior member. Jest przewodniczącym Oddziału Robotics and Automation Society, Sekcja Polska IEEE na lata 2014–2015. Jest autorem i współautorem licznych publikacji dotyczących sterowania robotów oraz monografii pt. Modelling and Identification in Robotics wydanej przez Springer Verlag w 1988 r. Jest organizatorem i przewodniczącym Komitetu Naukowego Międzynarodowych Warsztatów RoMoCo (Robot Motion and Control) organizowanych od 1999 r. co dwa lata.

e-mail: krzysztof.kozlowski@put.poznan.pl

dr inż. Dariusz Pazderski

Adiunkt w Katedrze Sterowania i Inżynierii Systemów na Wydziale Informatyki Politechniki Poznańskiej. W 2007 r. obronił pracę doktorską w zakresie robotyki mobilnej. Główna działalność naukowa koncentruje się na zastosowaniach nieliniowej teorii sterowania w robotyce mobilnej (układy nieholonomiczne i układy z deficytem wymuszeń), technik sterowania odpornego oraz układach pomiarowych w robotyce.

e-mail: dariusz.pazderski@put.poznan.pl

mgr inż. Mateusz Michalski

Pracownik Katedry Sterowania i Inżynierii Systemów na Wydziale Informatyki Politechniki Poznańskiej. Zainteresowania naukowe skupiają się wokół sterowania i planowania ruchu robotów, szczególnie kroczących, a także zagadnień związanych z systemami czasu rzeczywistego i systemami wbudowanymi.

e-mail: mateusz.michalski@put.poznan.pl

dr inż. Piotr Dutkiewicz

Pracownik Katedry Sterowania i Inżynierii Systemów Politechniki Poznańskiej. Jego zainteresowania skupiają się wokół zagadnień dynamiki i sterowania robotów manipulacyjnych oraz zastosowania systemów wizyjnych w układach pomiarowych i sterowania. Jest członkiem Poznańskiego Towarzystwa Przyjaciół Nauk i jednocześnie pełni funkcję przewodniczącego Komisji Automatyki i Informatyki PTPN. Jest autorem i współautorem publikacji dotyczących modelowania dynamiki robotów oraz systemów kontrolno-pomiarowych w robotyce.

e-mail: piotr.dutkiewicz@put.poznan.pl