x - Politechnika Wrocławska

Transkrypt

x - Politechnika Wrocławska
kinematyka manipulatora, konfiguracje osobliwe,
jakobiany, postacie normalne, unikanie osobliwości, obliczenia symboliczne.
Tomasz SULKA , Krzysztof TCHOŃ
AKIMAN - PAKIET OPROGRAMOWANIA DO ANALIZY KINEMATYKI
MANIPULATORÓW
Referat przedstawia pakiet oprogramowania AKIMAN, napisany w systemie M ATHEMATICA , przeznaczony
do badania kinematyki manipulatrów opisanych parametrami Denavita-Hartenberga. Do funkcji pakietu należa˛
mi˛edzy innymi: wyliczanie kinematyki w różnych układach współrz˛ednych, znajdowanie analitycznych i geometrycznych jakobianów, wyznaczanie konfiguracji osobliwych, sprawdzanie czy konfiguracje osobliwe sa˛ możliwe
czy też niemożliwe do unikni˛ecia oraz określanie postaci normalnej kinematyki osobliwej.
1 WPROWADZENIE
Typowe algorytmy iteracyjne kinematyki odwrotnej wymagaja˛ nieosobliwości jakobianu manipulatora, a dokładniej pełnego rz˛edu wierszowego odpowiedniej macierzy Jacobiego. Utrata powyższej
własności może uniemożliwiać rozwiazanie
˛
odwrotnego zadania kinematyki. Osobliwe odwrotne
zadanie kinematyki można rozwiazywać
˛
na różne sposoby. Jednym z nich jest wprowadzanie redundancji. Powoduje ono zwi˛ekszenie możliwości manipulacyjnych robota. Wówczas dodatkowe stopnie
swobody ruchu cz˛esto umożliwiaja˛ osiaganie
˛
tego samego położenia chwytaka, w konfiguracji innej
niż osobliwa. Tego typu strategi˛e, czyli wyznaczanie konfiguracji nieosobliwch osiagaj
˛ acych
˛
ten sam
punkt w przestrzeni zadaniowej, jak przy konfiguracji osobliwej, nazywamy unikaniem osobliwości.
Jednakże w manipulatorach nieredundantnych lub dla manipulatorów redundantnych z niemożliwymi
do unikni˛ecia konfiguracjami osobliwymi musimy zastosować takie algorytmy kinematyki odwrotnej,
które nie traca˛ dobrego uwarunkowania przy przejściu przez konfiguracje osobliwe. Jedna˛ z metod
rozwiazania
˛
osobliwego odwrotnego zadania kinematyki jest metoda postaci normalnych, dopuszczajaca,
˛ aby trajektoria przegubowa przechodziła przez lub w pobliżu konfiguracji osobliwych. Idea˛
tej metody jest zastosowanie równoważnej postaci kinematyki w pobliżu osobliwości. Polega ona
na przekształceniu odwrotnego zadania kinematyki dla kinematyki oryginalnej do zadania dla reprezentujacej
˛ ja˛ równoważnej postaci normalnej, nast˛epnie rozwiazaniu
˛
zadania dla postaci normalnej
i przekształceniu otrzymanego wyniku do kinematyki oryginalnej [6].
Automatyczne wyznaczanie postaci normalnej kinematyki manipulatora w pobliżu konfiguracji osobliwej realizuje przedstawiony w niniejszej pracy pakiet AKIMAN (Analiza KInematyki MAnipulatorów). Dodatkowo, pakiet wyznacza zbiór konfiguracji osobliwych oraz określa własności tych
Instytut Cybernetyki Technicznej, Politechnika Wrocławska, ul.
[email protected], [email protected].
Janiszewskiego 11 17, 50-372 Wrocław,
konfiguracji pod wzgl˛edem możliwości unikania. Atrybutem pakietu jest możliwość wyznaczenia
kinematyki manipulatora we współrz˛ednych kartezjańskich położenia oraz współrz˛ednych orientacji
typu katy
˛ Eulera. Danymi wejściowymi sa˛ tutaj parametry Denavita-Hartenberga badanego manipulatora.
Kompozycja referatu jest nast˛epujaca.
˛ Rozdział 2 zawiera podstawowe wiadomości teoretyczne wykorzystane w pakiecie Akiman. W rozdziale 3 zostały opisane podstawowe funkcje zawarte w pakiecie. Rozdział 4 przedstawia dwa krótkie przykłady wykorzystania opisanych funkcji.
2 PODSTAWY TEORETYCZNE
Reprezentacja kinematyki robota o n stopniach swobody, w m-wymiarowej przestrzeni zadaniowej ma
postać
k:
n
m
x x1 xn T y k x k1 x km x T (1)
gdzie x to wektor przestrzeni przegubowej manipulatora, y to wektor przestrzeni zadaniowej. Zakładamy, że n m. Jak wiadomo, konfiguracje osobliwe sa˛ to takie konfiguracje, w których jakobian
analityczny traci rzad.
˛ Zbiór konfiguracji osobliwych jest zatem zdefiniowany jako
S
2.1
n
x rank J a x ∂k
x m ∂x
(2)
JAKOBIANY
Poza jakobianem analitycznym zdefiniowanym jako macierz przekształcenia pr˛edkości zmian współrz˛ednych przegubowych w pr˛edkości zmian współrz˛ednych zadaniowych
ẏ J a x ẋ (3)
definiujemy również jakobiany geometryczne, niezależne od parametryzacji przyj˛etej przy wyznaczaniu odwzorowania (1). Do tej grupy jakobianów należa:
˛ jakobian geometryczny w przestrzeni,
rozumiany jako przekształcenie wektora pr˛edkości zmiennych przegubowych w wektor pr˛edkości liniowej vs i katowej
˛
ωs efektora w przestrzeni
vs ωs T J s q q̇
(4)
oraz jakobian geometryczny w ciele, rozumiany jako przekształcenie wektora pr˛edkości zmiennych
przegubowych w wektor pr˛edkości liniowej vb i katowej
˛
ωb efektora w ciele
vb ωb T J b q q̇ (5)
Jakobian manipulatora jest rozumiany jako macierz przekształcenia pr˛edkości ruchu w przegubach
w pr˛edkości liniowa˛ i katow
˛ a˛ w przestrzeni efektora wzgl˛edem układu podstawowego:
Ṫ0n ωs T
J m q q̇ (6)
Definicje jakobianów podano w pracy [1]. Macierz Ai0 q Ri q
00
T0i q
1
! opisuje przekształcenie
układu podstawowego w układ zwiazany
˛
z i-tym przegubem manipulatora. Postać jakobianu manipulatora jest cz˛esto skomplikowana, co mathbf uniemożliwia szybkie określenie własności manipulatora.
Bardzo pomocna˛ może okazać si˛e postać jakobianu wzgl˛edem układu współrz˛ednych zwiazanego z
wybranym przegubem manipulatora Jim q q̇ "
vωimis , gdzie elementy vim ωis oznaczaja˛ pr˛edkości liniowa˛ i katow
˛ a˛ w przestrzeni efektora wzgl˛edem i-tego układu. Istnieje zależność, która pozwala
wyznaczyć zwiazek
˛
mi˛edzy jakobianami:
Jim q $#
'
Ri0 q 0
Jm q T
i
0 (*) R0 q &% +
T
(7)
Ri
na podstawie której możemy w prosty sposób wyznaczyć jakobian manipulatora wzgl˛edem dowolnego
z układów współrz˛ednych. Łatwo zauważyć, że ponieważ wyznacznik macierzy obrotu Ri jest równy
1 prawdziwa jest równość detJ mj q detJ m q .
2.2
UNIKANIE OSOBLIWOŚCI
Przyjmujemy, że konfiguracja osobliwa x jest możliwa do unikni˛ecia, jeżeli istnieje nieosobliwa
konfiguracja x, , taka że:
k x k x, (8)
w przeciwnym przypadku konfiguracja osobliwa jest niemożliwa do unikni˛ecia.
W celu rozróżnienia konfiguracji osobliwych możliwych i niemożliwych do unikni˛ecia, załóżmy że
n m - 1 i zdefiniujmy układ dynamiczny ẋ S x zwiazany
˛
z kinematyka˛ manipulatora k x tak,
˛ jakobianu analitycznego.
żeby pole wektorowe S x rozpinało jadro
Ja x S x 0 Całkujac
˛ (9) otrzymamy .
.
∂k
x ẋdt ∂x
(9)
.
∂k
x dx ∂x
dk x k x C
(10)
z czego wynika, że wzdłuż trajektorii układu ẋ S x kinematyka przyjmuje stała˛ wartość. Pole
wektorowe S x S1 x / Sn x T nazwiemy polem ruchu własnego i definiujemy formuła˛
Si x 0
1 i 1 1 detJ ai x i 1 / n (11)
gdzie J ai x to jakobian analityczny z usuni˛eta˛ i-ta˛ kolumna.˛ Układ dynamiczny ẋ S x nazywamy
układem dynamicznym ruchu własnego [3], [1].
Można pokazać, że układ dynamiczny ẋ S x posiada punkty równowagi w konfiguracjach osobliwych. Na podstawie powyższych wniosków stwierdzamy co nast˛epuje:
– Jeżeli do punktu równowagi x0 układu dynamicznego ruchu własnego (konfiguracji osobliwej manipulatora) asymptotycznie zbliżaja˛ si˛e lub oddalaja˛ trajektorie (x0 jest asymptotycznie stabilnym
lub niestabilnym punktem równowagi),wówczas konfiguracja x0 jest możliwa do unikni˛ecia.
– Jeżeli do punktu równowagi x0 układu dynamicznego ruchu własnego (konfiguracji osobliwej manipulatora) nie zbliżaja˛ si˛e asymptotycznie trajektorie (x0 jest stabilnym w sensie Lapunowa),
wówczas konfiguracja x0 niemożliwa do unikni˛ecia.
Przy stopniu redundancji 2 1 (n 2 m - 1) definiuje si˛e rodzin˛e pól hamiltonowskich i za ich pośrednictwem formułuje si˛e warunki unikania osobliwości. Szczegóły sa˛ przedstawione w [5] i [1].
2.3
POSTACIE NORMALNE
Weźmy pod uwag˛e reprezentacj˛e kinematyki we współrz˛ednych postaci (1) i wyznaczmy dla niej
kofiguracj˛e osobliwa˛ x0 korz˛edu 1. Dla takiej konfiguracji spełniony jest warunek
rank
∂k
x0 rank J a x0 m 1 ∂x
(12)
gdzie J a x oznacza jakobian analityczny manipulatora. Przy odpowiedniej permutacji współrz˛ednych
x1 xn oraz y1 ym , warunkowi (12) możemy nadać postać
rank 34
∂k1
∂x1
45
..
.
∂km 6 1
∂x1
..
.
∂k1
∂xm 6 1
..
.
∂km 6
∂xm 6
798
8
: x0 m 1
(13)
1
1
Zdefiniujmy dla macierzy J a x zbiór n m - 1 podmacierzy J ai x , i m m - 1 n rozmiaru
m ; m złożonych z m 1 pierwszych kolumn J a x oraz i-tej kolumny tej macierzy. Niech wektory
˛
macierzy J a x . Warunek równoważności kinematyki kwadratowej
vm vm 1 1 vn należa˛ do jadra
postaci normalnej przedstawia nast˛epujace
˛ twierdzenie [1].
Twierdzenie 1 Niech x0 b˛edzie konfiguracja˛ osobliwa˛ korz˛edu 1 kinematyki k x spełniajacej
˛ warunek (13). Wówczas, jeżeli
798
d detJ am 88
d detJ am1 1 3
4
rank 4
x0 *< vm vn = n m - 1 ..
:
.
45
(14)
d detJ an to w pewnym otoczeniu konfiguracji x0 kinematyka k x jest równoważna kwadratowej postaci normalnej
k0 x x1 x2 xm >
1
q xm / xn T (15)
gdzie q xm xn x2m @???A x2m > 11 s - x2m 1 s - ??? - x2n , dla pewnego s określonego poprzez liczb˛e
ujemnych wartości własnych macierzy H, zdefiniowanej jako:
M T X P M M T Y Q -B
M T Y Q T -B
W S H x0 (16)
której elementy składowe sa˛ zdefiniowane w nast˛epujacy
˛ sposób:
CDD
DD
DD M HG
D
E Pi j DD
DD
DD Qi j DF
Si j ∂km 6
∂xm 6
1
1
∂km
∂xm 6 1
G
G
1
∂km 6
∂xm 6
G
∂km
∂xm 6 1
∂km
∂xm 6 1
>
I
∂km 6
∂x
∂km 6
∂xm 6
∂km 6
∂xm 6
1
1
I
1
1
1
1
>
I
1
I
1
>
>
1
1
X
∂2 k m 6 1 ∂xi ∂x j
2
Y i j J m 1
∂2 k m 6 1 ∂xi ∂x j
∂2 k m 6 1
∂xi ∂x j
∂2 km
∂ xm 6 1
i J m 1 m J
∂2 km
∂x∂xm 6
1
W
∂2 km ∂x2
j J n
m J i j J n
gdzie km > 1 K
k1 L km > 1 xm > 1 K
x1 M xm > 1 x K
xm L xn a wszystkie pochodne czastkowe
˛
należy obliczyć w konfiguracji x0 .
Wniosek 1 Niech x0 b˛edzie konfiguracja˛ osobliwa˛ korz˛edu 1 kinematyki nieredundantnej k : n spełniajacej
˛ warunek (13) przy m n. Jeżeli
d detJa x0 v O 0 n
N
(17)
gdzie wektor v jest rozwiazaniem
˛
równania J a x0 v 0, to w pewnym otoczeniu konfiguracji x0 kinematyka k x jest równoważna postaci normalnej
k0 x x1 x2 / xn >
1
x2 n
T
(18)
3 OPIS PROGRAMU
Pakiet AKIMAN1 jest rozwini˛eciem opracowanych wcześniej pakietów zwiazanych
˛
z badaniem własności kinematyki manipulatorów w konfiguracjach osobliwych. Zawarte sa˛ w nim niektóre funkcje
oprogramowania przedstawionego w [6] nazwane (Akiman‘Graphics) oraz pakiet KOSMA nazwany
Akiman‘SingularityAvoiding omówiony w [2].
Pakiet został stworzony w taki sposób, aby pozostawić użytkownikowi duża˛ swobod˛e działania.
Udost˛epnione sa˛ wszelkie funkcje, na podstawie których można dokonać pełnej analizy własności
kinematyki manipulatora.
3.1
INSTALACJA I URUCHAMIANIE
Instalacja pakietu polega na skopiowaniu katalogu Akiman do katalogu AddsOn/StandardPackages
znajdujacego
˛
si˛e w katalogu głównym programu M ATHEMATICA P .
Uruchomienie polega na wczytaniu pakietu do jadra
˛ programu poprzez komend˛e
Q Akiman‘
Wówczas zostanie uruchomiony plik inicjalizacyjny, definiujacy
˛ wszystkie pakiety zawarte w kartotece Akiman.
1 pakiet
jest dost˛epny na stronie http://rab.ict.pwr.wroc.pl/inne.
3.2
DANE WEJŚCIOWE
Podstawowymi danymi wejściowymi w pakiecie sa˛ parametry Denavita-Hartenberga oraz wektor
współrz˛ednych przegubowych.
Parametry Denavita-Hartenberga powinny być zdefiniowane jako listy:
DH par SRTR θ1 d1 a1 α1 U R θi di ai αi U R θn dn an αn UTU θi : elementarny obrót wokół osi Z,
ai : przesuni˛ecie wzdłuż osi X,
gdzie
di : elementarne przesuni˛ecie wzdłuż osi Z,
αi : obrót wokół osi X,
indeks i oznacza i-ty przegub manipulatora. W pakiecie zawarta jest baza parametrów DenavitaHartenberga dla różnych manipulatorów (podrozdział 3.7).
Wektor przestrzeni przegubowej dowolnego manipulatora powinien być zdefiniowany jako n elementowa lista zmiennych, gdzie n oznacza rozmiar przestrzeni przegubowej. Można skorzystać tutaj
z wbudowanych funkcji BigVector lub Vector
q BigVector < ”q” n=
lub
X Vector < x n= które zwracaja˛ list˛e zmiennych przegubowych postaci odpowiednio
q VR q1 q2 W qn U
lub X SR x1 x2 xn U Dodatkowo, niektóre funkcje wymagaja˛ użycia odwzorowania kinematyki k. Sa˛ to wszystkie funkcje
pakietu Akiman‘NormalForm, Akiman‘SingularityAvoid oraz niektóre z pakietu Akiman‘Kinematics‘.
W celu skorzystania z tych funkcji należy najpierw zdefiniować kinematyk˛e używajac
˛ funkcji
k MakeKinematics < DH par = .
3.3
PAKIET AKIMAN‘KINEMATICS
Pakiet służy do przedstawiania kinematyki manipulatorów we współrz˛ednych, wyliczania jakobianów
oraz wyznaczania osobliwości kinematyki. Pakiet umożliwia również wyznaczanie kinematyki macierzowej manipulatorów korzystajac
˛ z elementarnych rotacji i translacji. Poniżej zostały przedstawione
tylko najważniejsze funkcje. Pozostałe funkcje zostały omówione w pracy [4]. Wyniki obliczeń b˛eda˛
omówione osobno dla każdej z funkcji.
Kinematics - Kinematics[DHpar] wylicza macierzowa˛ kinematyk˛e manipulatora w reprezentacji Denavita-Hartenberga.
MakeKinematics - MakeKinematics[DHpar] generuje funkcj˛e, która opisuje kinematyk˛e manipulatora we współrz˛ednych kartezjańskich położenia oraz współrz˛ednych orientacji typu katy
˛ Eulera. W przypadku, gdy nie jest możliwe wyliczenie współrz˛ednych orientacji w standardowy
sposób, kinematyka jest wyrażana tylko we współrz˛ednych położenia. Wynik powinien być
podstawiony pod zmienna˛ k (k=MakeKinematics[DHpar]). Jest to wymogiem wynikajacym
˛
z
późniejszego wykorzystania funkcji kinematyki k w pakietach Akiman‘SingularityAvoiding oraz
Akiman‘NormalForm. Funkcja k ma postać Function < W $ = . Wynik przedstawiajacy
˛ kinematyk˛e zależy od definicji argumentu, czyli wektora zmiennych przegubowych, który może być
dowolna˛ lista˛ n-elementowa.
˛ W przypadku, gdy napiszemy k < q= , kinematyka b˛edzie zależna od
zmiennych q, a w przypadku, gdy napiszemy k < X = , kinematyka b˛edzie zależna od zmiennych X .
MakeCartKinematics - MakeCartKinematics[k[x],x] generuje funkcj˛e, która przedstawia kinematyk˛e manipulatora we współrz˛ednych kartezjańskich położenia na podstawie kinematyki k we
współrz˛ednych położenia i orientacji. Wynik procedury powinien być podstawiony pod zmienna˛ k
(k=MakeCartKinematics[k[x],x]). Wynika to z późniejszego wykorzystania funkcji kinematyki k w pakietach Akiman‘SingularityAvoiding oraz Akiman‘NormalForm.
Singularities - Singularities[x] wylicza osobliwości kinematyki k, gdzie x to wektor przestrzeni przegubowej manipulatora. Funkcja zwraca list˛e ze zbiorem konfiguracji osobliwych zapisanych
w formie R sin x2 0 U lub R sin x2 cos x3 U . Na podstawie tych informacji użytkownik sam
definiuje konfiguracj˛e osobliwa,˛ która˛ zapisuje w formie listy przyporzadkowuj
˛
acej
˛ określonej
zmiennej przegubowej wartość spełniajac
˛ a˛ warunek wyznaczony przez funkcj˛e (np. s SR x2 0 U lub s SR x2 π4 x3 π4 U ).
SolvedSingularities - SolvedSingularities[x] wylicza osobliwości kinematyki k, gdzie x to wektor
przestrzeni przegubowej manipulatora. Funkcja zwraca list˛e konfiguracji osobliwych manipulatora. Wynik jest zwracany w formie listy przyporzadkowuj
˛
acej
˛ określonej zmiennej przegubowej odpowiednia˛ wartość. Ze wzgl˛edu na korzystanie z funkcji odwrotnych funkcja może nie
wyliczyć wszystkich rozwiazań.
˛
JacobAn - JacobAn[x] wylicza jakobian analityczny kinematyki k.
JacobGeomS - JacobGeomS[DHpar] wylicza jakobian geometryczny w przestrzeni (4).
JacobGeomB - JacobGeomB[DHpar] wylicza jakobian geometryczny w ciele (5).
Jm - Jm[DHpar] wylicza jakobian manipulatora (6).
JmBetterForm - JmBetterForm[DHpar,i] wylicza jakobian manipulatora w układzie współrz˛ednych
zwiazanym
˛
z i-tym przegubem (7).
3.4
PAKIET AKIMAN‘NORMALFORM
Pakiet służy do wyznaczania postaci normalnej kinematyki w konfiguracji osobliwej. W celu skorzystania z tego pakietu użytkownik musi wyznaczyć kinematyk˛e k manipulatora korzystajac
˛ z funkcji
k=MakeKinematics[DHpar], a nast˛epnie w zależności od własności kinematyki (redundancja) użyć
odpowiedniej funkcji.
QuadNormalForm - QuadNormalForm[x,s] sprawdza, czy istnieje kwadratowa postać normalna kinematyki nieredundantnej k w konfiguracji osobliwej s, gdzie x to wektor przestrzeni przegubowej manipulatora. Wynikiem jest postać normalna (18) lub komunikat, że kwadratowa postać
normalna nie wyst˛epuje.
QuadNormalFormRedundant - QuadNormalFormRedundant[x,s] sprawdza, czy istnieje kwadratowa postać normalna kinematyki redundantnej k w konfiguracji osobliwej s, gdzie x to wektor
przestrzeni przegubowej manipulatora. Wynikiem jest postać (15) lub komunikat, że kwadratowa postać normalna nie wyst˛epuje.
3.5
PAKIET AKIMAN‘GRAPHICS
Pakiet służy do opisu graficznego struktury kinematycznej manipulatorów zdefiniowanych parametrami Denavita-Hartenberga, jak również wyznaczania ścieżki ruchu efektora. Istnieje również możliwość animacji ruchu manipulatora. Opis pakietu podano w pracy [4]. Dost˛epne funkcje pakietu to:
PlotSkeleton, PlotPaths, AnimateSkeleton.
W celu skorzystania z funkcji dost˛epnych w tym pakiecie musimy najpierw podstawić pod
zmienna˛ globalna˛ DHParameters list˛e z parametrtami Denavita-Hartenberga badanego manipulatora.
Parametrom geometrycznym kinematyki należy nadać wartości liczbowe.
3.6
PAKIET AKIMAN‘SINGULARITYAVOIDING
Pakiet został opisany w pracy [2]. Umożliwia rozróżnienie możliwych i niemożliwych do unikni˛ecia
konfiguracji osobliwych manipulatora redundantnego (funkcja Delta dla kinematyki o stopniu redundancji 1 oraz funkcje Hessian i GammaIndex dla kinematyki o stopniu redundancji >1).
3.7
PAKIET AKIMAN‘PARAMETERS
Pakiet ten zawiera baz˛e parametrów Denavita-Hartenberga manipulatorów: K-1207, IRb6 na torze
jezdnym, potrójne wahadło, SCARA, manipulator stanfordzki, PUMA, Cybotech, manipulator wielokorbowy. List˛e wszystkich manipulatorów zawartych w bazie lub manipulatorów z zadanymi wartościami parametrów kinematycznych (np. długość ramion) otrzymamy wpisujac
˛ odpowiednio
Names < ” X DHP”=
lub
Names < ” X LenDHP”= 4 PRZYKŁADY
4.1
POTRÓJNE WAHADŁO
Kinematyka wyznaczona na podstawie parametrów Denavita Hartenberga Pend3DHP ma postać
k MakeKinematics < Pend3DHP= k x l1 c1 - l2 c12 - l3 c123 l1 s1 - l2 s12 - l3 s123 x1 - x2 - x3 T
(19)
gdzie każdy z elemnetów si oraz ci to odpowiednio sin xi oraz cos xi , si j to sin xi - x j . Zdefiniujmy
wektor przestrzeni przegubowej manipulatora x Vector < ”x” 3= . Ograniczmy kinematyk˛e (19) do
współrz˛ednych położenia i wyznaczmy jej osobliwości
k MakeCartKinematics < k < x= x= k x l1 c1 - l2 c12 - l3 c123 l1 s1 - l2 s12 - l3 s123 T Singularities < x= Y
S VR x Z 3 sin x2 0 [ sin x3 0 U (20)
Wybierzmy konfiguracj˛e osobliwa˛ R x2 0 x3 0 U . Stwierdzamy, że jest to konfiguracja osobliwa
niemożliwa do unikni˛ecia ponieważ wyróżnik ∆ 2 0.
Delta < x R x2 0 x3 0 U\=
∆
Y
1
3 sin2 x1
Wyznaczmy dla tej konfiguracji postać normalna˛
QuadNormalFormRedundant < x R x2 k x 4.2
x1 x22 x23 0 x3 T
0 U\= (21)
ROBOT SCARA
Kinematyka wyznaczona na podstawie parametrów Denavita Hartenberga SCARADHP, ma postać
k MakeKinematics < SCARADHP= k x a1 c1 - a2 c12 a1 s1 - a2 s12 d1 - x3 x1 - x2 - x4 T
(22)
gdzie każdy z elemnetów si oraz ci to odpowiednio sin xi oraz cos xi , si j to sin xi - x j .
Zdefiniujmy wektor przestrzeni przegubowej manipulatora x Vector < ”x” 4= . Osobliwości kinematyki (22) sa˛ opisane zbiorem
Singularities < x=
4
S SR x Z
Y
Wybierajac
˛ jedna˛ z konfiguracji osobliwych (np. x2 jest opisana zależnościa˛
0) możemy wyznaczyć postać normalna,˛ która
QuadNormalForm < x R x2 k x sin x2 0 U x1 x2 x3 x24 T
0 U\= (23)
Równocześnie możemy wyznaczyć postać normalna˛ dla konfiguracji osobliwej x2 QuadNormalForm < x R x2 która jest identyczna z (23).
π U\= π.
Rysunek 1a) przedstawia jedna˛ z możliwości graficznych pakietu. Definiujac
˛ zmienna˛ globalna˛
DHParameters SCARALenDHP i używajac
˛ funkcji
PlotPaths < R 0 0 0 5 0 U RLR 2 π ] 6 π ] 6 UTU R U\=
przedstawiamy manipulator SCARA w konfiguracji q1 q2 q4 0 q3 12 ze scieżka˛ efektora
przy ruchu drugiego przegubu od położenia q2 π6 do q2 - π6 . Rysunek 1b) przedstawia ten sam
manipulator dla q1 q4 0 q2 π q3 12 oraz ścieżk˛e przy ruchu drugiego przegubu od q2 π6
do q2 - π6 .
z
z
y
y
x
a)
x
b)
Rysunek 1. Manipulator SCARA w konfiguracji osobliwej a) q2
Figure 1. SCARA manipulator at the singular configuration a) q2
^
0, b) q2
^
0, b) q2
^
π.
^
π.
LITERATURA
[1] K. TCHOŃ, A. MAZUR, I. DULEBA,
˛
R. HOSSA, R. MUSZYŃSKI: Manipulatory i Roboty Mobilne: Modelowanie, planowanie ruchu, sterowanie, Akademicka Oficyna Wydawnicza, Warszawa, 2000.
[2] S. PIWKO, K. TCHOŃ: KOSMA - Program do analizy kinematycznych osobliwości manipulatorów, Materiały VI
Krajowej Konferencja Robotyki, Oficyna Wydawnicza PWr, Wrocław, 1998, t1,43-50.
[3] K. TCHOŃ, A. MATUSZOK: On avoiding singularities in reduntant robot kinematics, Robotica, 1995, Vol.13,
599-606.
[4] T. SULKA :Osobliwości kinematyki robotów, Praca magisterska, Wrocław, 2001.
[5] K. TCHOŃ: Singularity avoidance in redundant robot kinematics: a dynamical system approach. Appl. Math. and
Comp. Sci., 1997, Vol.7, No.2, 401-412.
[6] K. TCHOŃ, R. MUSZYŃSKI: Singular Inverse Kinematic Problem for Robotic Manipulators: A Normal Form
Approach IEEE Trans. Robotics & Automat., 1998, Vol.14, No.1, 93-104.
AKIMAN2 - a software package dedicated to analysis of manipulator kinematics
The paper presents a dedicated software package AKIMAN written in the program environment M ATHEMATICA . This
package allows the user to compute the kinematics of robot manipulators defined by Denavit-Hartenberg parameters,
examine various coordinate representations of kinematics, find analytic and geometric Jacobians, determine singular configurations, check avoidability of singularities, and examine normal forms of singular kinematics.
2 the
package is available at the page http://rab.ict.pwr.wroc.pl/inne.

Podobne dokumenty