Kinematyka - obliczenia
Drugie ramiÄ™ robota charakteryzuje siÄ™ tylko jednym stopniem swobody i jest zakoÅ„czone efektorem sterowanym za pomocÄ… kolejnego serwomotoru. Im wiÄ™kszy stopieÅ„ swobody, tym wiÄ™kszej liczby serwomotorów pracÄ… musisz sterować. Im wiÄ™kszy stopieÅ„ swobody, tym wiÄ™cej pracy trzeba wÅ‚ożyć w ustawienie efektorów koÅ„cowych na wÅ‚aÅ›ciwym miejscu. Jak okreÅ›lić punkt, w którym ramiÄ™ powinno ustawić efektor koÅ„cowy? Gdzie znajdzie siÄ™ efektor koÅ„cowy po ustawieniu waÅ‚ów serwomotorów pod okreÅ›lonymi kÄ…tami? Na pytania te odpowie kinematyka.
Kinematyka jest dziaÅ‚em mechaniki zajmujÄ…cym siÄ™ opisem ruchu punktów, obiektów i grup obiektów bez analizy przyczyn ich ruchu. Można jej użyć do opisu ruchu mechanicznego ramienia lub ruchu robota. Kinematyka planarna zajmuje siÄ™ ruchem na pÅ‚aszczyźnie i ruchem w przestrzeni dwuwymiarowej. Umożliwia opis przesuniÄ™cia dwóch punktów za pomocÄ… obrotu lub
translacji. Robota poruszajÄ…cego siÄ™ w Å›rodowisku pracy można traktować jak ciaÅ‚o poruszajÄ…ce siÄ™ po pÅ‚aszczyźnie do momentu, w którym spadnie ze stoÅ‚u lub krawÄ™dzi urwiska. Ten rodzaj kinematyki można stosować do obliczenia obrotów silników napÄ™dzajÄ…cych robota poruszajÄ…cego siÄ™ po pÅ‚aszczyźnie. KinematykÄ™ można również wykorzystać do okreÅ›lenia poÅ‚ożenia efektora koÅ„cowego w przestrzeni dwuwymiarowej (zobacz rysunek 7.27).
Rysunek 7.27. Kinematyka opisująca ruch robota i mechanicznego ramienia na płaszczyźnie
Ruch mechanicznego robota opisujÄ… kinematyka prosta i odwrotna — oba rodzaje majÄ… zastosowanie w przestrzeniach dwu- i trójwymiarowych. Omówmy pokrótce przestrzeniÄ… dwuwymiarowÄ… (pÅ‚aszczyznÄ…). Kinematyka umożliwia tu udzielenie odpowiedzi na nastÄ™pujÄ…ce pytanie:
Jak możemy okreÅ›lić kÄ…ty, pod którymi należy ustawić przeguby w celu umieszczenia efektora koÅ„cowego we wÅ‚aÅ›ciwym miejscu?
Kinematyka prosta jest używana do okreÅ›lenia poÅ‚ożenia efektora koÅ„cowego na podstawie kÄ…tów przegubów ramienia. DziÄ™ki niej możemy udzielić odpowiedzi na nastÄ™pujÄ…ce pytanie: gdzie znajdzie siÄ™ efektor koÅ„cowy ramienia charakteryzujÄ…cego siÄ™ dwoma stopniami swobody, którego serwomotory sÄ… ustawione pod okreÅ›lonymi kÄ…tami (jeden serwomotor steruje pracÄ… stawu barkowego, a drugi pracÄ… stawu Å‚okciowego)? Kinematyka odwrotna jest używana do okreÅ›lenia poÅ‚ożeÅ„ przegubów (obu serwomotorów) na podstawie poÅ‚ożenia efektora koÅ„cowego. DziÄ™ki niej możemy udzielić odpowiedzi na nastÄ™pujÄ…ce pytanie: pod jakim kÄ…tem należy ustawić pierwszy serwomotor (sterujÄ…cy stawem barkowym), a pod jakim drugi serwomotor (sterujÄ…cy stawem Å‚okciowym), aby ustawić efektor koÅ„cowy tego samego ramienia o dwóch stopniach swobody? Te kwestie zestawiliÅ›my na rysunku 7.28.
Kinematyka prosta i odwrotna sÄ… przydatne, ale wymagajÄ… rozwiÄ…zywania równaÅ„ trygonometrycznych i geometrycznych. Równania te mogÄ… okazać siÄ™ skomplikowane w przestrzeniach trójwymiarowych i w przypadku ramion z dużą liczbÄ… przegubów. Po stworzeniu równaÅ„ należy je przeksztaÅ‚cić na jÄ™zyk używany do programowania robota. Skorzystajmy z kinematyki opisujÄ…cej
ruch na pÅ‚aszczyźnie i okreÅ›lmy kÄ…ty serwomotoru pierwszego ramienia robota. Na rysunku 7.29 przedstawiliÅ›my wyprowadzenie równaÅ„.
DysponujÄ…c dÅ‚ugoÅ›ciÄ… ramienia i wspóÅ‚rzÄ™dnymi opisujÄ…cymi docelowe poÅ‚ożenie efektora koÅ„cowego, możesz obliczyć kÄ…t, pod którym należy ustawić serwomotor. Listing 7.10 zawiera pseudokod programu do okreÅ›lania kÄ…ta ustawienia serwomotoru, a także fragment uzyskanego na jego podstawie kodu zapisanego w C++.
Rysunek 7.28. Mechaniczne ramiÄ™ o dwóch stopniach swobody — kinematyka prosta i kinematyka odwrotna
Rysunek 7.29. Mechaniczne ramiÄ™ o jednym stopniu swobody i kinematyka odwrotna
Listing 7.10. Mechanizm PUMT — odwrotna kinematyka mechanicznego ramienia nr 1
Dane wejściowe mechanizmu PUMT
Nazwa: ServoMotor
Części:
Sekcja silników:
Jeden serwomotor
Akcje:
ZnajÄ…c dÅ‚ugość ramienia robota i docelowe wspóÅ‚rzÄ™dne x, y efektora koÅ„cowego:
Krok 1.: Podnieś wartości x i y do kwadratu.
Krok 2.: Jeżeli pierwiastek kwadratowy sumy podniesionych do kwadratu wartości x i y jest mniejszy od długości ramienia,
Krok 2.1.: określ wartość arcus tangens dla punktu x, y,
Krok 2.2.: ustaw kąt położenia serwomotoru na podstawie tej wartości.
Zadania:
Sprawdź dziaÅ‚anie serwomotorów, sterujÄ…c poÅ‚ożeniem ich waÅ‚ów.
Koniec ramy
Dane wyjściowe mechanizmu PUMT: implementacja w C++
300 SquaredX = Math.pow(X,2);
301 SquaredY = Math.pow(Y,2);
302 if(ArmLength >= Math.sqrt(SquaredX + SquaredY))
303 {
304 ArmAngle = math.atan2(X,Y);
305 }
306 ...
W przypadku okreÅ›lania ruchu ramienia o dwóch stopniach swobody w pÅ‚aszczyźnie dwuwymiarowej korzysta siÄ™ z innych równaÅ„. WyprowadziliÅ›my je na rysunku 7.30.
Rysunek 7.30. Mechaniczne ramiÄ™ o dwóch stopniach swobody i kinematyka odwrotna
KÄ…t ustawienia serwomotorów można obliczyć na podstawie dÅ‚ugoÅ›ci dwóch elementów Å‚Ä…czÄ…cych przeguby ramienia i wspóÅ‚rzÄ™dnych docelowego poÅ‚ożenia efektora koÅ„cowego. PeÅ‚ny kod w jÄ™zyku C++ sterujÄ…cy pracÄ… ramienia możesz pobrać z naszej strony: http://www.robotteams.org/intro-robotics.
Programowanie robotów. Sterowanie pracÄ… robotów autonomicznych Autorzy: Cameron Hughes, Tracey Hughes Wydawnictwo: Helion