Algorytm chroniący przed kolizjami robotów
Badacze z MIT opracowali nowatorski algorytm, który w doskonały sposób kontroluje, czy roboty pracujące w zautomatyzowanym środowisku nie będą miały kolizji. Wraz z kolejnymi ruchami generuje się hiperpłaszczyzna, która stale weryfikuje, czy dwa urządzenia albo urządzenie i inna przestrzeń, nie zderzą się ze sobą.
Zanim robot sięgnie po naczynia, aby nakryć do stołu, trzeba mieć pewność, że jego ramię i chwytak na swojej drodze nie napotkają żadnej przeszkody. W planach automatycznej kuchni nie ma miejsca na potłuczoną porcelanę. Dlatego w procesie planowania ruchu u każdego robota uwzględnione są algorytmy „kontroli bezpieczeństwa”, które sprawdzają, czy trajektoria jego ruchu jest wolna od kolizji.
Niestety, takie algorytmy są na tyle niedokładne, że czasami dają fałszywe wyniki i pozornie bezpieczny ruch okazuje się w praktyce kolizyjny. Są oczywiście metody, które pozwalają uniknąć tych „fałszywie pozytywnych” wyników, ale te dla odmiany są zbyt wolne, żeby miały jakieś rozsądne zastosowanie w praktyce.
Wyzwanie rozwiązania tego problemu podjęli badacze z Massachusetts Institute of Technology (MIT). Przedstawili oni technikę kontroli bezpieczeństwa, która daje 100 procent pewności, że uniknie wszystkich wypadków – o ile tylko model robota i otaczającego go środowiska będzie zgodny z rzeczywistością. Ich metoda potrafi rozróżniać milimetrowe różnice w trajektorii, a precyzyjnych danych dostarcza w ciągu sekund.
Badacze deklarują skuteczność swojej metody, a za potwierdzenie nie przedstawiają kilku eksperymentów, ale matematyczną pewność, którą każdy może prześledzić. Wyniki badań czekają jeszcze na publikację w czasopiśmie naukowym, ale dostępne są już w bazie „arXiv”.
Zaproponowane rozwiązanie naukowcy oparli na specjalnej technice algorytmicznej, zwanej programowaniem sumy kwadratów (sum-of-squares programming). Zastosowanie jej umożliwiło duży poziom uogólnienia i objęcie działaniem szerokiego zakresu bardzo złożonych ruchów.
Zdaniem autorów jakość opracowanej przez nich techniki szczególnie dobrze sprawdzi się w okolicznościach, kiedy robot musi się szybko poruszać w zatłoczonych, ciasnych obszarach, takich jak na przykład kuchnie, w których przygotowuje się jedzenie dla wielu osób, albo w opiece zdrowotnej nad niesamodzielnymi pacjentami.
– Nasza praca jest przykładem tego, jak rozwiązywać poważne wyzwania za pomocą prostych narzędzi – opowiada Alexandre Amice, pierwszy autor publikacji i pomysłodawca techniki, którą opracował będąc jeszcze studentem na kierunku łączącym elektrotechnikę i informatykę (electrical engineering and computer science – EECS) na MIT. – Programowanie sumy kwadratów to wspaniała koncepcja algorytmiczna. Oczywiście nie rozwiąże każdego problemu, ale jeżeli poświęcimy jej wystarczająco uwagi, dostarczy nam wielu niebanalnych rozwiązań.
Do zespołu pracującego nad tym rozwiązaniem obok Amice należą jeszcze Peter Werner – aktualny student studiów magisterskich EECS, i prof. Russ Tedrake – członek zespołu EECS i członek Computer Science and Artificial Intelligence Laboratory. Ich wspólna praca zostanie zaprezentowana w maju na konferencji naukowej dotyczącej robotyki i automatyki.
Wiele funkcjonujących metod kontroli bezpieczeństwa opiera się na wykonywaniu co kilka sekund symulacji nadchodzących ruchów robota i sprawdzaniu, czy ich trasa jest bezkolizyjna. Problemem tych symulacji jest to, że w tych kilkusekundowych interwałach nie ma żadnej kontroli nad tym, co się może wydarzyć. Nie jest to kłopot, jeżeli robot pracuje w otwartej przestrzeni i stabilnym środowisku, w którym nie będą pojawiać się niespodziewane przeszkody. Ale w przypadku maszyn wykonujących złożone zadania w niewielkich przestrzeniach i dynamicznym środowisku to kilka sekund może mieć ogromne znaczenie.
Badacze, opisując swój pomysł, porównują go do kartki papieru, która znajduje się przed granicą urządzenia i stale przemieszcza się razem z nim. Jeżeli kartka nie natrafia na żadną przeszkodę, to znaczy, że również robot nie wejdzie w kolizję.
Matematycznie taką kartkę stanowi tak zwana hiperpłaszczyzna, czyli płaszczyzna wpisana w trójwymiarową przestrzeń. Wiele algorytmów kontrolnych działa w oparciu o statyczną hiperpłaszczyznę, ale kiedy robot się przemieszcza, z każdym ruchem trzeba generować nową hiperpłaszczyznę, aby wykonać kolejny test bezpieczeństwa. Tak właśnie działa projekt badaczy z MIT. Dzięki programowaniu w oparciu o sumę kwadratów statyczne obliczenie zostaje zamienione w funkcję, która opisuje, gdzie hiperpłaszczyzna będzie się znajdować w każdym kolejnym momencie.
Kiedy zagadnienie zostało opracowane teoretycznie, dużym wyzwaniem okazało się stworzenie inicjalnej formuły, która określa matematycznie, co to dokładnie znaczy, że robot nie jest na trasie kolizyjnej. Kiedy to się powiodło, etap prób – w postaci symulacji – okazał się pełnym sukcesem.
Badacze przedstawiają swój wynalazek jako skuteczne narzędzie, ale wyłącznie do bardzo dobrze zaprojektowanych przestrzeni roboczych. Algorytmy nie obserwują rzeczywistości, tylko obliczają dostarczone im dane. Model matematyczny jest tylko na tyle skuteczny, na ile dostarczone mu dane odpowiadają rzeczywistości.
Opis badań: Alexandre Amice et al, Certifying Bimanual RRT Motion Plans in a Second, arXiv (2023). DOI: 10.48550/arxiv.2310.16603
Opracowano na podstawie informacji prasowej „Researchers develop rapid safety check method that ensures a robot will avoid collisions”, Adam Zewe, MIT, news.mit.edu