Robotyka to wyjątkowa mieszanka nauki i technologii, która produkuje maszyny naśladujące działania ludzi.
Na początku XXI wieku 2000% robotów pracowało w fabrykach samochodów, zastępując ludzi w powtarzalnych zadaniach. Teraz roboty mogą odkurzać domy, a nawet służyć w restauracjach.
Robot zwykle składa się z trzech rodzajów elementów; korpus mechaniczny; szkielet elektryczny i wreszcie mózg stworzony za pomocą kodu.
Komponenty te umożliwiają robotowi zbieranie danych (często z czujników), podejmowanie decyzji za pomocą zaprogramowanej logiki w celu dostosowania zachowania i wykonania zadań.
Roboty mogą mieć trzy rodzaje programów; Pilot zdalnego sterowania (RC), Artificial Intelligence (AI) lub hybrydowy.
Programy RC wymagają interwencji człowieka, który może dać robotowi sygnał startu i/lub stopu wykonania kodu. Programy składają się z różnych typów algorytmów, z których każdy ma inną funkcję.
Czym jest algorytm?
Algorytm to seria wierszy kodu, których robot może użyć do wykonania określonych instrukcji. Przekłada idee programisty na język zrozumiały dla robotów.
Algorytmy mogą być wyrażane w wielu rodzajach notacji, w tym w pseudokodzie, schematach blokowych, języki programowanialub tabele sterujące.
W tym artykule omówimy kilka popularnych typów algorytmów używanych w tych programach.
Rodzaje algorytmów stosowanych w robotyce
1. Zawsze A* Algorytm
Algorytm A* to algorytm wyszukiwania ścieżki, który służy do znalezienia najbardziej optymalnej ścieżki między dwoma punktami, tj. o najmniejszym koszcie.
W każdej chwili Algorytm A* ma elastyczny koszt czasu i może zwrócić najkrótszą ścieżkę, nawet jeśli zostanie przerwana, ponieważ najpierw generuje nieoptymalne rozwiązanie, a następnie je optymalizuje.
Pozwala to na szybsze podejmowanie decyzji, ponieważ robot może opierać się na wcześniejszych obliczeniach, zamiast zaczynać od zera.
Jak to działa?
Robi to, tworząc „drzewo”, które rozciąga się od węzła początkowego do momentu spełnienia kryteriów zakończenia, co oznacza, że dostępna jest mniej kosztowna ścieżka.
Siatka 2D jest utworzona z przeszkodami, a komórka początkowa i komórki docelowe są wycelowane.
Algorytm definiuje „wartość” węzła przez f, która jest sumą parametrów g (koszt przejścia z węzła początkowego do węzła badanego) i h (koszt przejścia z węzła badanego do węzła docelowego).
Konsultacje
Wiele gier i map internetowych używa tego algorytmu do skutecznego znajdowania najkrótszej ścieżki. Może być również używany do robotów mobilnych.
Możesz także rozwiązywać złożone problemy, takie jak Newtona-Raphsona iteracja zastosowana do znalezienia pierwiastka kwadratowego z liczby.
Jest również używany w problemach trajektorii do przewidywania ruchu i kolizji obiektu w przestrzeni.
2. Algorytm D*
D*, Focused D* i D* Lite to przyrostowe algorytmy wyszukiwania, które pozwalają znaleźć najkrótszą ścieżkę między dwoma punktami.
Są jednak mieszanką algorytmów A* i nowych odkryć, które pozwalają im dodawać do swoich map informacje o nieznanych przeszkodach.
Następnie mogą ponownie obliczyć trasę na podstawie nowych informacji, podobnie jak w przypadku łazika marsjańskiego.
Jak to działa?
Działanie algorytmu D* jest podobne do działania A*, algorytm najpierw definiuje f, h i tworzy listę otwartą i zamkniętą.
Następnie algorytm D* określa wartość g bieżącego węzła na podstawie wartości g sąsiednich węzłów.
Każdy sąsiadujący węzeł odgaduje obecną wartość g, a najkrótsza wartość g jest dostosowywana jako nowa wartość g.
Konsultacje
D* i jego warianty są szeroko stosowane w robotach mobilnych i pojazd autonomiczny nawigacja.
Takie systemy nawigacyjne obejmują prototypowy system testowany na łazikach marsjańskich Opportunity i Spirit oraz system nawigacyjny, który zdobył nagrodę Miejskie wyzwanie DARPA.
3. Algorytm PRM
PRM, czyli probabilistyczna mapa drogowa, to graf sieciowy możliwych ścieżek w oparciu o wolne i zajęte miejsca na danej mapie.
Są używane w złożonych systemach planowania, a także do wyszukiwania tanich ścieżek omijania przeszkód.
PRM używają losowej próbki punktów na swojej mapie, w których urządzenie robota może się poruszać, a następnie obliczana jest najkrótsza droga.
Jak to działa?
PRM składa się z fazy konstrukcji i zapytania.
W pierwszej fazie sporządzany jest wykres, który przybliża możliwe ruchy w środowisku. Następnie tworzona jest losowa konfiguracja i podłączana do niektórych sąsiadów.
Konfiguracje początku i celu są połączone z wykresem w fazie zapytania. Ścieżka jest następnie uzyskiwana przez a Najkrótsza ścieżka Dijkstry zapytania.
Konsultacje
PRM jest używany w lokalnych planistach, w których algorytm oblicza ścieżkę w linii prostej między dwoma punktami, a mianowicie punktem początkowym i punktem docelowym.
Algorytm może być również wykorzystany do usprawnienia aplikacji związanych z planowaniem ścieżki i wykrywaniem kolizji.
4. Algorytm punktu zerowego (ZMP)
Zero Moment Point (technika ZMP) to algorytm używany przez roboty do utrzymywania całkowitej bezwładności przeciwnej do siły reakcji podłogi.
Algorytm ten wykorzystuje koncepcję obliczania ZMP i stosuje ją w celu zrównoważenia robotów dwunożnych. Zastosowanie tego algorytmu na gładkiej powierzchni podłogi pozornie pozwala robotowi chodzić tak, jakby nie było chwili.
Firmy produkcyjne, takie jak ASIMO (Honda), stosują tę technikę.
Jak to działa?
Ruch chodzącego robota jest planowany za pomocą równania momentu pędu. Dzięki temu generowany ruch stawu gwarantuje dynamiczną stabilność postawy robota.
Ta stabilność jest określana ilościowo przez odległość punktu momentu zerowego (obliczoną przez algorytm) w granicach wstępnie zdefiniowanego obszaru stabilności.
Konsultacje
Punkty zerowego momentu mogą służyć jako metryka do oceny stabilności przed przewracaniem się robotów, takich jak iRobot PackBot, podczas poruszania się po rampach i przeszkodach.
5. Algorytm regulacji proporcjonalno-całkującej (PID)
Proporcjonalno-całkująca regulacja różnicowa (PID) tworzy pętlę sprzężenia zwrotnego czujnika w celu dostosowania ustawień komponentów mechanicznych poprzez obliczenie wartości błędu.
Algorytmy te łączą w sobie wszystkie trzy podstawowe współczynniki, tj. proporcję, całkę i pochodną, tak aby wygenerować sygnał sterujący.
Działa w czasie rzeczywistym i w razie potrzeby wprowadza poprawki. Można to zobaczyć w samodzielne prowadzenie samochodu.
Jak to działa?
Regulator PID wykorzystuje trzy warunki regulacji proporcjonalności, całkowania i różniczkowania wpływu na jego wyjście, aby zastosować dokładne i optymalne sterowanie.
Sterownik ten w sposób ciągły oblicza wartość błędu jako różnicę między żądaną wartością zadaną a zmierzoną zmienną procesową.
Następnie stosuje korektę, aby zminimalizować błąd w czasie poprzez dostosowanie zmiennej sterującej.
Konsultacje
Ten sterownik może sterować dowolnym procesem, który ma mierzalne wyjście, znaną idealną wartość dla tego wyjścia oraz wejście do procesu, które będzie miało wpływ na mierzalne wyjście.
Kontrolery są używane w przemyśle do regulacji temperatury, ciśnienia, siły, wagi, pozycji, prędkości i wszelkich innych zmiennych, dla których istnieje pomiar.
Wnioski
Były to więc niektóre z najczęstszych algorytmów stosowanych w robotyce. Wszystkie te algorytmy są dość złożone i zawierają mieszankę fizyki, algebry liniowej i statystyki używanej do mapowania działań i ruchu.
Jednak wraz z postępem technologicznym algorytmy robotyki będą się rozwijać, stając się jeszcze bardziej złożone. Roboty będą mogły wykonywać więcej zadań i więcej myśleć samodzielnie.
Jeśli podobał Ci się ten artykuł, zasubskrybuj HashDork's Weekly aktualizacje za pośrednictwem e-maili, w których udostępniamy najnowsze wiadomości dotyczące AI, ML, DL, Programming & Future Tech.
Dodaj komentarz