Algorytm jakobianowy

Z Wikipedii, wolnej encyklopedii

Algorytm jakobianowy (inaczej Algorytm Newtona) został zaproponowany jako metoda pozwalająca odczytać zmienne wewnętrzne na podstawie położenia oraz orientacji chwytaka w przypadku, gdy wyznaczenie wzorów z odwrotnego zadania kinematyki jest praktycznie niemożliwe. Metoda ta stosowana jest w przypadku znacznej komplikacji budowy robota i polega ona na iteracyjnej modyfikacji wartości zmiennych wewnętrznych.

Warunkiem koniecznym do zastosowania tej metody jest posiadanie wzoru na kinematykę we współrzędnych, który można wyznaczyć za pomocą notacji Denavita-Hartenberga. Wzór ten opisuje zależność pomiędzy współrzędnymi wewnętrznymi oraz współrzędnymi zewnętrznymi i policzenie jego pochodnej (po wszystkich współrzędnych wewnętrznych) pozwoli wyznaczyć prędkość zmian. W wyniku obliczeń uzyskujemy macierz Jacobiego

Wzór algorytmu przyjmuje postać:

gdzie:

– wartość zmiennych wewnętrznych w chwili poprzedniej i następnej,
– aktualna macierz Jakobiego,
– położenie chwytaka przy obecnych współrzędnych,
– położenie docelowe,
– współczynnik zbieżności.

Jak widać, im większa różnica pomiędzy obecnym położeniem a położeniem docelowym, tym silniejsza zmiana w danym kierunku. Dodatkowy współczynnik wpływa na szybkość zbieżności algorytmu do rozwiązania. Przyjmuje się, że jego wartość nie powinna przekraczać 0,5. Najczęściej określa się jego wartość podczas symulacji. Warunkiem stopu jest zrównanie się wartości oraz (bądź osiągnięcie przez ich różnicę wartości mniejszej od zadanego progu błędu).

Dodatkowym problemem, na który należy zwrócić uwagę, jest odwracalność macierzy Jacobiego. Wymagany jest w tym przypadku pełny rząd macierzy oraz wyznacznik różny od 0. Jeśli macierz nie ma pełnego rzędu, to zastosować należy odpowiednio „spreparowaną” macierz którą zapisuje się jako: