Skocz do zawartości

Swarmanoidy - czyli o tym, jak współpraca czyni cuda.


Pomocna odpowiedź

Napisano

Projekt Swarmanoid to ciekawe podejście do robotyki roju. Zwykle roje składają się z wielu podobnych do siebie robotów - tutaj jednak mamy do czynienia z trzema wyspecjalizowanymi jednostkami. Każda różni się budową i umiejętnościami, lecz współpracując razem, mogą wykonać zadanie, które dla pojedynczego robota byłoby niewykonalne.

Filmik poniżej - który został nagrodzony na Konferencji Sztucznej Inteligencji (AAAI) 2011 w San Francisco - przedstawia, jak Swarmanoidy wykonują polecenie przyniesienia książki.

Samo polecenie nie jest na tyle trudne do wykonania, by jeden robot temu nie podołał - ale na uwagę zasługuje systematyczność i sposób w jaki Swarmanoidy przystosowały się do warunków, w których operowały. Ta sama metoda byłaby skuteczna podczas eksploracji obcych miejsc, czy wręcz światów

Rój swarmanoidów składa się z trzech typów robotów:

Hand-Bot - posiada dwa manipulatory, dwa wiatraki - do obracania się w miejscu, i wyrzutnię linki zakończonej przyrządem, pozwalającym na przyczepienie się do sufitu.

Foot-Bot - wyposażony w koła, kamerki, czujniki podczerwieni oraz małe chwytaki, pozwalające mu na łączenie się z innymi robotami

Eye-Bot - zwiadowca, latający za pomocą czterech śmigieł, uzbrojony w kamerę, sonar, czujniki odłegłości na podczerwień, a także w system do przyczepiania się do sufitu

A do jakich celów wy użylibyście takiego roju? 🙂

Źródło:hizook.com

Ostatnio się właśnie zastanawiałem nad problemem roju. Myślę, że to dziedzina, w którą warto inwestować swój potencjał intelektualny. Widzę tylko kilka problemów, które trzeba byłoby rozwiązać, a pierwszym i chyba najważniejszym z nich jest optymalne rozłożenie obliczeń do algorytmów na możliwości roju, tylko jak to wykonać? Głupotą byłoby fragmentować sieć neuronową na kilka procesorów. Można zawsze posłać obliczenia na większą maszynę, ale czy to nie jest trochę zagraniem nie fair? Chyba najlepszym rozwiązaniem jest zrobić jedną statyczną matkę - jednostkę obliczeniową - i chmarę małych tylko zbierających informacji. A tak właściwie, jak to ugryźć od strony algorytmicznej? Sieć neuronowa? Reinforcement learning?

Witam.

Wydaje mi się, że podstawową cechą tego typu systemów jest emergencja

czyli efekt współpracy jest większy niż suma możliwości poszczególnych składników.

Jest to na pierwszy rzut oka sprzeczne z myśleniem matematycznym typu 2 + 2 > 4.

Co do algorytmu współpracy to wydaje mi się, że jest to dynamiczna struktura typu siatkowego (mesh) tzn. pojedynczy robot nawiązuje współpracę z określoną liczbą sąsiadów.

Każdy robot ma określone kilka celów wspólnych (np. utrzymywanie łączności) i kilka celów specyficznych określonych dla swojego typu. Innymi słowy każdy odpowiada tylko za kilka swoich klocków większej układanki.

Takie rozwiązanie nie wymaga jednostki nadrzędnej i eliminuje najsłabsze ogniwo takiego rozwiązania.

Atak w jednostkę nadrzędną eliminowałby cały system (amerykańska doktryna z wojny w Iraku "Head first").

W przypadku układu zdecentalizowanego wyeliminowanie pojedynczych elementów nie zaburza pracy sytemu. Dopiero wyeliminowanie całej grupy (jeden typ urządzeń przed wykonaniem swoich zadań) doprowadza do porażki.

Pozdrawiam

Zuk

To jest całkiem logiczne. Masz może przykład jakiejś literatury?

Myślę, że dobrą sprawą byłyby też filtry cząsteczkowe. Na razie jednak za mało wiem na ten temat, by się bardziej wypowiedzieć. W każdym razie naprawę ciekawią mnie algorytmy sterujące swarm'ami.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...