Skocz do zawartości

Wzór dla 3 zmiennych- algorytm


yoseph

Pomocna odpowiedź

Witam, jak mi zaproponowano na czacie zakładam temat, może ciekawy może nie, ale mam pewien problem odnoścnie zakończenia mojego a algorytmu, licze kinematyke manipulatora równoległego, mam wszystkie macierze, (3) opisujące każdy przegub, wspolrzednymi z nich wyciągnietymi (X Y Z) , przyrównuję je do współrzednych tych samych przegubów otrzymanych z modelu 3D.

Daje przykład równań:

-współrzędna X: - (4708*3^(1/2)*sin(alfa))/25 - Theta1*((3^(1/2)*sin(alfa))/2 +

(cos(alfa)*sin(fi))/2) - (4708*cos(alfa)*sin(fi))/25 - 24647/250

-współrzędna Y: (4708*3^(1/2)*cos(alfa)*sin(fi))/25 - Theta1*(sin(alfa)/2 -

(3^(1/0)*cos(alfa)*sin(fi))/2) - (4708*sin(alfa))/25 +

6008063147459079/35184372088832

-współrzędna Z: (9416*cos(alfa)*cos(fi))/25 + Theta1*cos(alfa)*cos(fi)

no i kazda z nich przyrównuje do wartosci X Y Z ktore odczytano z modelu 3D i mam uklad równań.

Jaką metodę uzyc zeby potem to jakos zaprogramowac? w metodzie Cramera obliczam bezposrednio te wartości a to chyba nie o to chodzi, myślałem o metodzie Newtona-Rahpsona, nigdy wczesniej nie robilem podobnego projektu wiec czekam na sugestie:) , theta to wysuniecie silownika , alfa i fi kąty przegubu dolnego.

Link do komentarza
Share on other sites

Jest ciężko, bo te sinusy i cosinusy robią z tego równania nieliniowe. Być może jest jakaś ogólna metoda na rozwiązywanie ich (będziesz mieć kilka rozwiązań), ale osobiście wolę inne podejście.

Zamiast rozpisywać wszystkie przeguby na macierze, po prostu szukam w konstrukcji trójkątów prostokątnych i rozwiązuję poszczególne kąty tak, jak to było robione na geometrii w liceum. Metoda co prawda jest dużo mniej uniwersalna, ale za to daje w wyniku bardzo proste wzory, no i łatwo jest ją wyjaśnić osobom postronnym.

Tutaj mam wyjaśnienie, które napisałem do nóg moich robotów: http://tote.readthedocs.org/en/latest/ik.html

Wydaje mi się, że dla ogólnych parametrów Denavita-Hartenberga możesz sobie co najwyżej rozwiązać ten układ równań numerycznie, metodą iteracyjną.

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Ostatecznie można się zainteresować algorytmem z silnika 3D jakieś gry np. Quake czy Unreal. Twórcy tych gier w sumie też musieli chyba rozwiązać podobne problemy aby postacie biegały na ekranie, poruszając nogami i rękami, czyli jakby nie patrzeć manipulatorami 😉

Pewne obliczenia wiem że można stabelaryzować, lub wręcz sprowadzić do arytmetyki stałoprzecinkowej.

Link do komentarza
Share on other sites

W grach komputerowych to tam zazwyczaj siedzi animator i ręcznie rysuje krzywe, żeby to dobrze wyglądało, albo robią motion capture, jak mają większy budżet, i leci z nagranych scieżek. Nikt się nie bawi w algorytmy chodzenia w grach, bo to za skomplikowane i wygladą gorzej niż po prostu zanimowane przez grafika. Poza tym uproszczone silniki fizyki z gier by mogły sobie nie poradzić.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.