PRACA DYPLOMOWA MAGISTERSKA Osobliwosci kinematyki
Transkrypt
PRACA DYPLOMOWA MAGISTERSKA Osobliwosci kinematyki
Politechnika Wrocławska
Wydział Elektroniki
Instytut Cybernetyki Technicznej
K IERUNEK :
S PECJALNO Ś Ć :
Automatyka i Robotyka (AiR)
Robotyka (ARR)
PRACA DYPLOMOWA
MAGISTERSKA
Osobliwości kinematyki robotów
AUTOR :
Tomasz Sulka
P ROWADZ ACY
˛
PRAC E˛ :
prof. Krzysztof Tchoń, I-6
O PIEKUN :
prof. Krzysztof Tchoń, I-6
O CENA PRACY:
Wrocław 2001
Robotyka jako magia naturalna i świ˛eta opuściła już ziemi˛e i rozpocz˛eła eksploracj˛e
świata obserwowanego dotad
˛ z oddalenia. Niebawem autonomiczne maszyny tworzone przez robotyków, wkrocza˛ w mikrokosmos organizmu ludzkiego, by ratować życie.
Wtedy w pełni spełni si˛e przepowiednia Roberta Bacona : ludzkość zyska technologiczny kamień filozoficzny, który pozwoli zmieniać świat i uczynić go lepszym
Rozdział 1
Wst˛ep
1.1
Wprowadzenie ogólne
Robotyka jest interdyscyplinarna˛ nauka.˛ Wynika to mi˛edzy innnymi z zakresu stosowalności wiedzy, wykorzystywanej przy rozwiazaniu
˛
problemów pojawiajacych
˛
si˛e w zagadnieniach robotycznych. Zwiazane
˛
sa˛ z nia˛ zarówno zagadnienia sterowania jak i opisu ruchu układów robotycznych.
Te z kolei opieraja˛ si˛e na rozległej wiedzy matemetycznej. Bez tej wiedzy nie bylibyśmy w stanie opisać wielkiej różnorodności metod i teorii, heurystyk i hipotez wyst˛epujacych
˛
w robotyce.
Przez wzglad
˛ na rozległość zagadnień, które obejmuje nauka, w niniejszej pracy ograniczymy si˛e
jedynie do pewnego obszaru. Skoncentrujemy si˛e głównie na zagadnieniach zwiazanych
˛
z opisem
kinematyki modeli manipulatorów robotów, jak również zagadnieniami sterowania manipulatorami w pobliżu konfiguracji osobliwych.
Poruszanie si˛e w obszarze robotyki jest niemożliwe bez zdefiniowania podstawowych poj˛eć.
Poniżej postaramy si˛e krótko przedstawić niezb˛edne poj˛ecia.
˛
przegubami nazywamy maniUkład robotyczny złożony z sztywnych ramion połaczonych
pulatorem o stopniach swobody. Na poczatku
˛ łańcucha ramion umieszczamy podstawowy układ
współrz˛ednych, natomiast z końcówka˛ łańcucha zwiazany
˛
b˛edzie układ efektora. Przeguby łacz
˛ ace
˛
poszczególne ogniwa łańcucha maja˛ postać przegubów obrotowych lub przegubów przesuwnych.
Najważniejszym zadaniem zwiazanym
˛
z manipulatorem b˛edzie zapewnienie pożadanego
˛
położenia i orientacji efektora. To zadanie wymaga wyznaczenia pewnego odwzorowania przekształcajacego
˛
położenia przyjmowane przez poszczególne przeguby na położenia i orientacje efektora,
nazywanego kinematyka˛ manipulatora. Wektor wartości położeń poszczególnych przegubów nazywamy konfiguracja.
˛
Z kinematyka˛ manipulatora wiaż
˛ a˛ si˛e jego właściwości ruchowe. Na podstawie kinematyki
jesteśmy w stanie zdefiniować pewna˛ macierz, zależna˛ od aktualnej konfiguracji manipulatora,
przekształcajaca
˛ wektor pr˛edkości ruchu poszczególnych przegubów w wektor pr˛edkości efektora.
W zależności od sposobu definicji tej macierzy b˛edziemy uzyskiwali różne wektory pr˛edkości
efektora. Macierz ta nosi nazw˛e jakobianu.
Ze wzgl˛edu na to, że jakobiany sa˛ zależne od aktualnej konfiguracji, w pewnych konfiguracjach
przekształcenie wektorów pr˛edkości przegubów i efektora, może nie być suriektywne. Wówczas,
sterowanie takim manipulatorem przy wykorzystaniu standardowych algorytmów staje si˛e niemożliwe. Nie jest możliwe uzyskanie ruchu efektora w dowolnym kierunku. Można by powiedzieć, że
manipulator traci zr˛eczność. Tego typu konfiguracje nazywamy osobliwymi.
Z geometrycznego punktu widzenia konfiguracje osobliwe można zinterpretować jako takie
ustawienia przegubów manipulatora, w których swoboda ruchu efektora jest mniejsza od wymiaru
przestrzeni zadaniowej. Wykazanie osobliwości konfiguracji jest proste w przypadku, gdy przestrzeń zadaniowa manipulatora jest dwu lub trójwymiarowa. Wówczas wszelkie konfiguracje ustawiajace
˛ przeguby manipulatora na linii prostej lub na płaszczyźnie sa˛ konfiguracjami osobliwymi.
W przypadku wi˛ekszych przestrzeni zadaniowych, określenie czy badana konfiguracja jest oso1
ROZDZIAŁ 1. WSTEP
˛
2
bliwa czy też nieosobliwa może być trudne. Określenie zbioru konfiguracji osobliwych wymaga
zastoso
wania metod analitycznych.
Oczywiście, pewne zabiegi konstrukcyjne moga˛ zmniejszyć zbiór konfiguracji osobliwych,
jednak istnieja˛ manipulatory, których budowa uniemożliwia takie operacje. W takich wypadkach
należy stosować algorytmy umożliwiajace
˛ omijanie konfiguracji osobliwych, albo przechodzenie
przez lub w pobliżu tych konfiguracji.
Badania osobliwości kinematyki manipulatorów sa˛ prowadzone od dłuższego czasu w Zakładzie Podstaw Cybernetyki i Robotyki Instytutu Cybernetyki Technicznej PWr. W szczególności
dotycza˛ one rozwiazywania
˛
odwrotnego zadania kinematyki w pobliżu konfiguracji osobliwej.
1.2
O pracy
Głównym celem pracy jest opracowanie pakietu oprogramowania wspomagajacego
˛
analiz˛e kinematyki manipulatorów, a w szczególności zastosowanie go do rozwiazywania
˛
osobliwego odwrotnego zadania kinematyki. Baza wiedzy zawartej w programie obejmuje modelowanie kinematyki
manipulatorów oraz algorytmy pozwalajace
˛ na rozwiazywanie
˛
osobliwego odwrotnego zadania
kinematyki. W zakresie modelowania kinematyki do funkcji oprogramowania należy wyliczanie
kinematyki manipulatora według algorytmu Denavita-Hartenberga, reprezentacje kinematyki we
współrz˛ednych, wyznaczanie jakobianów oraz definiowanie konfiguracji osobliwych manipulatora. Dla odwrotnego osobliwego zadania kinematyki oprogramowanie pozwala rozstrzygnać
˛ kwesti˛e unikania osobliwości oraz pozwala na wykrywanie kwadratowych postaci normalnych kinematyki.
Oprogramowanie AKIMAN (Analiza KInematyki MAnipulatorów), jest przeznaczone zarówno do analizy znanych, jak i do konstruowania nowych rozwiazań
˛
kinematyki robotów.
Układ pracy jest nast˛epujacy.
˛ Nast˛epne dwa rozdziały (2 oraz 3) przedstawiaja˛ cz˛eść teoretyczna.˛ W rozdziale 2 sa˛ zawarte mi˛edzy innymi wiadomości dotyczace
˛ wyznaczania kinematyki
manipulatora zarówno w postaci macierzowej, jak i we współrz˛ednych, definicje jakobianów oraz
definicja konfiguracji osobliwej. W rozdziale 3 zostały przedstawione twierdzenia pozwalajace
˛
na rozwiazywanie
˛
odwrotnego osobliwego zadania kinematyki. Zadanie to zostało omówione w
dwóch podjeściach. Pierwszym jest unikanie osobliwości, a drugim zastosowanie równoważnych
postaci normalnych kinematyki. Rozdział 4 pracy opisuje pakiet
oprogramowania Akiman stworzonego na bazie środowiska obliczeniowego M ATHEMATICA . W ostatniej cz˛eści pracy (rozdział 5) zostały przedstawione wyniki przeprowadzonych badań. Zawarte sa˛ dost˛epne w pakiecie
przykłady pozwalajace
˛ na ocen˛e możliwości pakietu. W Dodatku zostały przedstawione tabele
z parametrami Denavita-Hartenberga manipulatorów.
Rozdział 2
Kinematyka
2.1
Reprezentacja Denavita-Hartenberga
Algorytm wyznaczania kinematyki według Denavita-Hartenberga polega na zwiazaniu
˛
z każdym
ramieniem manipulatora lokalnego układu współrz˛ednych umieszczonego w odpowiednim przegubie, a nast˛epnie wyznaczeniu transformacji pomi˛edzy kolejnymi układami. Układy nr i nr
wiażemy
˛
z podstawa˛ i efektorem manipulatora. Transformacja pomi˛edzy układami oraz
jest
zdefiniowana
jako złożenie czterech podstawowych przekształceń1 :
gdzie:
)
$
/
! #"%$ '& (*) +#"%$ & ,-*$ .,*/ - kat
˛ obrotu wokół osi ,
- przesuni˛ecie wzdłuż osi ,
- przesuni˛ecie wzdłuż osi
(2.1)
- kat
˛ obrotu wokół osi
,
,
,
,
+01.232.23
sa˛ parametrami Denavita-Hartenberga, . Kinematyka układu tzn. transformacja układu podstawowego w układ efektora (lub transformacja współrz˛ednych z układu efektora do układu
podstawowego) jest złożeniem kolejnych transformacji (przejść pomi˛edzy kolejnymi przegubami
manipulatora) i ma postać:
4 56
78 (569 : 7 > @?A 7B F 5CED 7B (56
G
<;=
2.2
(2.2)
Kinematyka we współrz˛ednych
Zależność (2.2) przedstawia odwzorowanie rozmaitości przegubowej, w rozmaitość zadaniowa˛
manipulatora. Wyznaczenie reprezentacji kinematyki we współrz˛ednych sprowadza si˛e do parametryzacji odpowiednich cz˛eści kinematyki (2.2). W szczególności, jako reprezentacja położenia
najcz˛eściej jest wybierany wektor translacji w reprezentacji (2.2), a nast˛epnie jest dokonywana
parametryzacja cz˛eści rotacyjnej. Wyróżniamy kilka parametryzacji cz˛eści rotacyjnej. Sa˛ to m.in.:
– parametryzacja typu kołysanie-kiwanie-myszkowanie, RPY (roll-pitch-yaw)
1 Podstawowe
przekształcenia zostały zdefiniowane w dodatku A.1.
3
ROZDZIAŁ 2. KINEMATYKA
4
z0
zk
I
AH (q)
I
TH
zn
k
i
zi
yk
k
i
xi
y0
yi
K
A0i(q)
xk
KIL
A0k(q)
JT
JTI
n
k
yn
xn
n
i
K
A0n (q)
X0
Rysunek 2.1: Schemat kinematyki manipulatora
– parametryzacja typu Katy
˛ Eulera
Parametryzacja RPY jest zdefiniowana jako:
M9*1(NO9PQR#+MCSR(TU*%.R,NV
natomiast parametryzacja typu Katy
˛ Eulera jako:
(MW*XNV
PYR(+M6.R>TZ.R(NV
Powyższe parametryzacje sa˛ najcz˛eściej używanymi przekształceniami. Jednakże nie jest konieczne, aby kolejność rotacji wokół poszczególnych osi była zachowana, wymaga si˛e tylko, by kolejne
osie obrotów były wzajemnie prostopadłe. Przykładowe permutacje osi obrotów dla parametryzacji RPY opisane sa˛ w dodatku zależnościa˛ (A.1).
Reprezentacja we współrz˛ednych kinematyki robota o stopniach swobody w [ -wymiarowej
przestrzeni zadaniowej ma postać
\^]`_ 7a P _cb edfg 3 2.2323>g + hZjik \ (dZ
f(l (dUm32.232n*l b (dU.+hZ2
7
2.3
(2.3)
Jakobiany
Jakobian analityczny definiuje si˛e jako macierz pochodnych czastkowych
˛
kinematyki manipulatora
oqp
wyrażonej we współrz˛ednych
(dZ
sr d\ (dUm2
r
Po zróżniczkowaniu wzgl˛edem czasu równania opisujacego
˛
kinematyk˛e manipulatora (2.3), zauważamy, że jakobian analityczny opisuje transformacj˛e pr˛edkości zmian współrz˛ednych przeguoqp
bowych w pr˛edkości zmian współrz˛ednych zadaniowych
iut (dZ dOt 2
(2.4)
Poza jakobianem analitycznym definiujemy również jakobiany geometryczne, niezależne od
parametryzacji przyj˛etej przy wyznaczaniu odwzorowania (2.3). 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 efektora wo przestrzeni
vxw%y
z yR{
y 56 5
t
(2.5)
2.3. JAKOBIANY
5
oraz jakobian geometryczny w ciele, zdefiniowany jako przekształcenie wektora pr˛edkości zmien| przegubowych w wektor pr˛edkości efektora wo ciele
nych
vxw~}
z } {
}
56 5
t 2
(2.6)
Jakobian manipulatora jest rozumiany jako macierz przekształcenia pr˛edkości ruchu w przegubach w pr˛edkość liniowa˛ efektora wzgl˛edem układu podstawowego i pr˛edkość katow
˛ a˛ efektora
w przestrzeni
o
v t
8 z 7y {
b (5C 5
t 2
(2.7)
Postacie podanych jakobianów sa˛ nast˛epujace.
˛ Dla jakobianu geometrycznego w przestrzeni definiujemy kolejne jego kolumny osobno dla przegubu obrotowego, osobno dla przesuwnego. Dla
-tego przegubu obrotowego -ta kolumna jakobianu geometrycznego jest nast˛epujaca
˛
v
y
( 5C
WR
8 > 8.
3m 3 { (2.8)
83
.
. natomiast dla -tego przegubu przesuwnego -ta kolumna ma postać
v
y
56
83
.
.F > { 2
(2.9)
> > Element 83
.
. w powyższych wzorach oznacza trzecia˛ kolumn˛e macierzy 8 wyst˛epujacej
˛ w transformacji
: > ? A B > ED B > >
F
8
(2.10)
G
;= `32.232n( h
. Definicje kolumn jakobianu geometrycznego w przestrzeni zaWektor o
czerpni˛eto z pracy [1].
Dla jakobianu geometrycznegoy w
(5Cciele
można przedstawić podobne definicje, aczkolwiek proi zależności
ściej jest skorzystać z jakobianu
o
o
}
56
@? 78 h (5C 87 h (5Ch (5C8 7 56! y 5
2
(2.11)
F
G
78
u
generuje macierz skośnie symetryczna˛
Operator
C
f C +hc XQ
2
C
W celu wyznaczenia jakobianu manipulatora, skorzystamy z formuły przedstawionej w pracy [1].
Dla -tego przegubu obrotowego mamy
b ( 5C
v 8.
3m 3 W . 8 7 > 56 8 ! { 83
3m . (2.12)
natomiast dla -tego przegubu przesuwnego definicja jest taka sama jak dla jakobianu geometryczo
nego w przestrzeni, równanie
(2.9).
y
Podobnie jak dla jakobianu
(56 geometrycznego w ciele, jakobian manipulatora możemy wyrazić
za pomoca˛ jakobianu
oraz
o zależności
o
y (5C
2
b 59@? F 8 7 5!
G
(2.13)
ROZDZIAŁ 2. KINEMATYKA
6
2.3.1
Jakobian manipulatora w różnych układach współrz˛ednych
Postać jakobianu manipulatora jest cz˛esto skomplikowana, co uniemożliwia szybkie określenie
własności manipulatora. W tym kontekście bardzo pomocne może okazać si˛e obliczenie jakobianu
wzgl˛edem układu współrz˛ednych zwiazanego
˛
z wybranym przegubem manipulatora (innym niż
układ podstawowy)
o
b 5 5t w
y
vw
b z y {
gdzie elementy b z
oznaczaja˛ pr˛edkości liniowa˛ i katow
˛ a˛ w przestrzeni efektora wzgl˛edem
-tego układu współrz˛ednych.
l
Na podstawie zależności (2.12) określimy postać -tej kolumny jakobianu manipulatora wzgl˛edem układu -tego w przypadku przegubu obrotowego
W
.
6
5
>
!
(
C
5
b 3
m3 7 > 2
3
m. l
Na podstawie zwiazków
˛
zachodzacych
˛
pomi˛edzy macierzami rotacji układów -tego, -tego oraz
podstawowego
Q
8
8
( +h= 8 8
(2.14)
możemy wyznaczyć zależność pomi˛edzy macierzami rotacji układów oraz ¡
¢ f( ¢ + h9 2
8 8 (2.15)
Równanie (2.15) oraz postać kolumn jakobianu manipulatora pozwala na wyprowadzenie ogólnego zwiazku
˛
pomi˛edzy jakobianami manipulatorów wzgl˛edem układów oraz ¡
o
o
h
¢
(
C
5
S
(
6
5
F
(5Cm2
¢b 56
8 F 8
¢ h 5CS 5C b
o (2.16)
8
8
o
o
b 5C=
W szczególnym
przypadku,
gdy
założymy,
że
układ
jest
układem
podstawowym
tzn.
b8 (569 b 5C , zależność (2.16) upraszcza si˛e do postaci
o
o
h
¢
(
C
5
F
b (56m
¢b 56
8 F
(2.17)
¢ h 56
8
£
¤!§ ¥
¦
o
o w prosty sposób wyznaczyć jakobian manipulatora wzgl˛edem dona podstawie której
możemy
wolnego
z
układów
współrz˛
)©¨` ¢b 5
ª)©¨` ednych.
56 Łatwo zauważyć, że ponieważ wyznacznik macierzy obrotu
b
mamy
.
2.4
Konfiguracje osobliwe
Zakładamy, że « [ . Konfiguracje osobliwe manipulatora sa˛ to takie konfiguracje, w których
o p
jakobian analityczny traci rzad.
˛ Zbiór konfiguracji osobliwych
jest zatem zdefiniowany jako
¬ b e~d® _ 7°¯ "%$ l >dU± [-² 2
(2.18)
¬
Zbiór b nie opisuje konfiguracji osobliwych pochodzacych
˛
od parametryzacji zwanych osobliwościami reprezenatcji. W celu wyznaczenia wszystkich konfiguracji osobliwych manipulatora
należy badać rzad
˛ jakobianu manipulatora.
2.4. KONFIGURACJE OSOBLIWE
7
Przy założeniu,
(d^´56 że współrz˛edne przegubowe można utożsamić z położeniami przegubów mani³
pulatora
możemy wyznaczyć zwiazek
˛
pomi˛edzy jakobianem manipulatora, a jakobianem
analitycznym
o
op
b 5C
? F µ (¶°F *XNV
G
µ ¶Z*1(NO
(5Cm2
(2.19)
opisuje parametryzacj˛e typu
˛ Eulera cz˛eści rotacyjnej kinematyki o postaci
Macierz
(¶°*XkNVaty
µ
(2.2). Na podstawie własności macierzy
b˛edziemy wyznaczali osobliwości parametryzacji. Zbiór konfiguracji osobliwych reprezentacji jest zdefiniowany jako
¬6· ¹¸(¶°*XNV+h ¯ %" $ l µ ¶°1(NO±»º½¼U2
¬
¬6· definiuja˛ pełny zbiór konfiguracji osobliwych
o
Zbiory b oraz
manipulatora
¬ ¬ b ¾ ¬6· ¿5À® _ 7-¯ "$ l b (5C± [ ªÁ ² 2
d
5
W przypadku gdy współrz˛edne
oraz
(2.20)
(2.21)
nie sa˛ tożsame, tzn. opisane sa˛ zależnościa˛
5Â9(dU
(2.22)
wówczas zależność pomi˛edzy jakobianem manipulatora i jakobianem analitycznym wyraża si˛e
wzorem
o
o p
b 56 r d ( dZ
@? F µ ¶°F 1(NO
G
r
(dZ
2
(2.23)
8
ROZDZIAŁ 2. KINEMATYKA
Rozdział 3
Osobliwe odwrotne zadanie kinematyki
Typowe iteracyjne algorytmy 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żliwić rozwiazanie
˛
odwrotnego zadania kinematyki. Osobliwe odwrotne zadanie kinematyki można rozwiazywać
˛
na różne sposoby. Przede wszystkim zauważmy,
że poprzez wprowadzanie redundancji zwi˛ekszaja˛ si˛e możliwości manipulacyjne robota. Wówczas
dodatkowe stopnie swobody ruchu cz˛esto umożliwiaja˛ osiaganie
˛
tego samego położenia efektora
zarówno w konfiguracji osobliwej, jak i w nieosobliwej. Tego typu strategi˛e 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 osobliwej.
3.1
Unikanie osobliwości
W celu określenia, czy dana konfiguracja manipulatora jest możliwa, czy też niemożliwa do unikni˛ecia potrzebna jest rozwini˛eta wyobraźnia geometryczna. Jest to dość proste, w przypadku gdy
manipulator nie jest zbyt skomplikowany. Jednakże w przypadkach bardziej złożonych konstrukcji, do badania
(dZ osobliwości kinematyki, niezb˛edne sa˛ narz˛edzia analityczne.
\
Niech
d oznacza reprezentacj˛e kinematyki we współrzednych. Przyjmujemy, że konfigudÃ
racja osobliwa jest możliwa do unikni˛ecia, jeżeli istnieje nieosobliwa konfiguracja , taka
że
\ (dU
\ >d Ã
(3.1)
w przeciwnym przypadku
konfiguracja osobliwa jest niemożliwa do unikni˛ecia. Jeżeli konfigudÄÃ
racja nieosobliwa
może być znaleziona pewnym (małym) otoczeniu konfiguracji osobliwej,
d
mówimy że jest lokalnie możliwa do unikni˛ecia. Unikanie konfiguracji osobliwych b˛edziemy
rozpatrywać w dwóch aspektach: najpierw dla kinematyki redundantnej o stopniu redundancji ,
nast˛epnie dla kinematyki redundantnej o stopniu redundancji « .
3.1.1
Kinematyka o stopniu redundancji 1
W celu
rozróżnienia konfiguracji osobliwych możliwych
d»t ¬ (dUi niemożliwych do unikni˛ecia, załóżmy
że(dZ [Ū i zdefiniujmy układ dynamiczny
zwiazany
˛
z kinematyka˛ manipulatora
\ , tak żeby
op
>d° ¬ (dU
9
2
(3.2)
ROZDZIAŁ 3. OSOBLIWE ODWROTNE ZADANIE KINEMATYKI
10
y2
y2
l3 , q3 =Pi
y1
l1 , q1 =0:2 Pi
y1
l2 , q2 =0
a)
b)
Rysunek 3.1: Manipulator typu potrójne wahadło a) w konfiguracji osobliwej, b) w konfiguracjach
nieosobliwych osiagaj
˛ acych
˛
ten sam punkt przestrzeni zadaniowej.
Æ
Całkujac
˛ (3.2) otrzymamy
Æ
lr ( dUS)ÇgÈ )Xl'>dU
´l'>dZ
ªÉ
(3.3)
rd
d-t ¬ (dU
z czego wynika,
że
wzdłuż
trajektorii
układu
kinematyka przyjmuje stała˛ wartość. Pole
>dUCe ¬ (dUm3232.2n ¬ >dZ3 h
¬
o
wektorowe
nazwiemyp polem ruchu własnego i definiujemy formuła˛
7
¬ >dU
f j ËÊ= )©¨` (dZ
32.2323 op
(3.4)
dt ¬ (dZ
>dU
r d l ( dU dZt )'
r
Æ
oznacza jakobian analityczny z usuni˛eta˛ i-ta˛ kolumna.˛ Układ dynamiczny
gdzie
nazywamy układem dynamicznym ruchu
[3], [1].
dt własnego
¬ >dU posiada
Można pokazać, że układ dynamiczny
punkty równowagi w konfiguracjach
osobliwych. Na podstawie powyższych spostrzeżeń stwierdzamy co nast˛epuje:
d
– Jeżeli do punktu równowagi 8 układu dynamicznego ruchu własnego (konfiguracji
osobliwej
d 8
manipulatora) asymptotycznie zbliżaja˛ si˛e lub oddalaja˛ trajektorie ( jest
d asymptotycznie
stabilnym lub niestabilnym punktem równowagi),wówczas konfiguracja 8 jest możliwa do
unikni˛ecia.
d
– Jeżeli do punktu równowagi 8 układu dynamicznego ruchu własnego
(konfiguracji osobliwej
d 8
manipulatora) nie zbliżaja˛ si˛e asymptotycznie
trajektorie ( jest stabilnym w sensie Lapug8
nowa), wówczas konfiguracja niemożliwa do unikni˛ecia.
ÌYÍ
iÀ \ >dZ
"O
2
Załóżmy teraz, że stopień redundancji kinematyki
jest dowolny i wynosi l
Î[ « Podobnie, jak w przypadku stopnia redundancji , stowarzyszamy z kinematyka˛ tzw. hamiltonowskie pola
˛ sposób, [4]. Wybierzmy ciag
˛ liczb całkowi±ªwektorowe
23232DZ b zdefiniowane w nast˛epujacy
tych ÏÐ
i określmy pole
Ï
Ê=
,
(dZ
f, (dZm3232.2Ç(, (dZ.
ÒÑnÓÔÓÓ ÖÕ'×1Ñ
7
3.1.2
formuła˛
Kinematyka o stopniu redundancji
, ( dU
jeżeli ZØ
, (dU
f ·
Ù Ê=©ÚÜÛÝ
~32.232Ç b
Ê=
>dZ
jeżeli dla pewnego " *0132.232Ç [eÅ»
ÖÞ
zachodzi
· ßâ àá
à
(3.5)
o p
3.1. UNIKANIE OSOBLIWOŚCI
11
>dUäã >dZ
ãå
przy czym
o nume32.232Ç b Þ jest macierza˛ złożona˛ z kolumn· jakobianu analitycznego
Ê= z usuni˛eta˛ kolumn
op a˛ numer ,.
rach
Na mocy definicji,
każde
konfiguracji osobliwej manipula,
(dZ®apole
èé¨ê" hamiltonowskie
(dZm2
ËÑæÓÔÓÔÓ pokazać,
<ÕC×çÑ znikażewpola
tora oraz
Można
także
hamiltonowskie maja˛ zerowa˛
) Ó ÖÕ'w ×1, Ñ
(dZW Ò
n
Ñ
Ô
Ó
Ó
dywergencj˛e, [4]. Korzystaj
d 8 ac˛ z wymienionych własności pól hamiltonowËÑnżeÓÔÓÔÓ Ökonfiguracja
Õ'×1Ñ
skich
stwierdzamy,
osobliwa
jest możliwa do unikni˛ecia, jeżeli istnieje pole
,
d 8
, takie że
jest asymptotycznie stabilnym lub niestabilnym punktem równowagi ukłaË
æ
Ñ
Ô
Ó
Ô
Ó
Ó
Ö
'
Õ
1
×
Ñ
du dynamicznego
d
dt ,
ËÑnÓÔÓÔÓ <ÕC×çÑ
(dUm2
(3.6)
Jeżeli w każdym takim układzie
d 8 punkt 8 jest stabilny w sensie Lapunowa (ale nie asymptotycznie
stabilny), to konfiguracja
jest niemożliwa
i- \ >dZ do unikni˛ecia.
Weźmy pod uwag˛e reprezentacj˛
e
kinematyki we współrz˛ednych i wyznaczmy dla niej
d 8
oqp
konfiguracj˛e osobliwa˛ korz˛edu 1. Dla takiej konfiguracji
jest spełniony warunek
"$ k
l r d\ > d 8 "%$ l (d
r
g .32 2.2n(g
Przy odpowiedniej permutacji współrz˛ednych
7
żemy nadać postać
ã
2.232 ã Ñ
Ñ
ã
å
ãå
Õ=. íÇÑ
"$ l .. Ñ . .
.
ã . 2.23.2 ã .
ãÕWå í©Ñ
ãå ÕWí©Ñ
Ñ
Õ=íÇÑ
8 [ë 2
(3.7)
>ì .232323ì b oraz
, warunkowi (3.7) mo
(d 8 2
[ë
(3.8)
Wykorzystujac
˛ poj˛ecie lokalnej równoważności układów dynamicznych, jesteśmy w stanie udowodnić nast˛epujace
˛ twierdzenie [4].
d ® _
Twierdzenie
(dZcîl >dU1
+Niech
lÇ%(dU
.232.8 2Ç+l
\
niujmy macierz
ï
7 b˛edzie konfiguracja˛ osobliwa˛ korz˛edu kinematyki
b ( dZ3 o stopniu redundancji « spełniajacej
˛ warunek (3.8). Zdefi-
h ,
>d 8 9 h > T
h ( T
. h (ô ¬
ñð
ò ðY ð
k
ó Å ð
k
ó
k
Å
(3.9)
której elementy składowe sa˛ zdefiniowane w nast˛epujacy
˛ sposób:
õ
ùø ã =Õ í©Ñ ã ÕWí©Ñ ,û ãýü Õ Te ãýü Õ îô ãýü Õ ãå
ãå Õ=íÇÑ`ú
ãÇþÿå Õ=í©Ñ ü
ã åãå Õ=íÇÑ
ãåü
à
ã
øã
ãü
ö ààà ò ¢ ãå Õ=Õ í©Ñ ãå Õ=Õ=íÇíÇÑÑú ãå Õ=ãåíÇ Ñ ¡ ÏÐ[f
à ¢ ã ø½ã ÕWí©Ñ ã ü Õ=íÇÑ ó ãå Õ=Õ íÇÑ ãå Õ=íÇÑ`ú ãå ãå Ï [ë [ûÏ¡jÏ
à ¬ ã øã
àà ¢ ãå Õ ãå Õ=íÇÑ ã ãü å ÕWãå í© Ñ [ ÏÐ ¡ Ï Õ=íÇÑ Õ=í©Ñ ú
àà ÷
l b ´(l .23232Ç*l b g b ´g .23232%(g b
W
podanych
przyj˛eto oznaczenia , d gf
g b 32.232Çwyżej
>g m formułach
ï
a wszystkie
˛
obliczono w konfiguracji 8 . (d >d 8 ï pochodne czastkowe
7
8 , jako liczb˛e
Załóżmy że macierz
ma >niezerowe
wartości własne i określmy indeks d 8
ujemnych wartości własnych
. Wówczas, jeżeli
>d 8 (d lub 8
k[¿Å»
d
to 8 jest konfiguracja˛ lokalnie niemożliwa˛ do unikni˛ecia. Jeżeli
>d
Ï 8 Ï u[
d 8
ð
to konfiguracja
jest lokalnie możliwa do unikni˛ecia.
12
ROZDZIAŁ 3. OSOBLIWE ODWROTNE ZADANIE KINEMATYKI
ï
Powyższe twierdzenie
można również zastosować w przypadku, gdy stopień redundancji jest rów|ny é[ . Wówczas rozmiar macierzy (d 8 jest równy 0k0 . Badanie indeksuï >d 8 >d 8 (d 8 można zastapić
˛ badaniem wyróżnika , zdefiniowanego
jako wyznacznik macierzy
.
ï
W przypadku gdy wyróżnik
(d 8 9 x)X¨`
(d 8 >d 8
2
(d 8 (3.10)
lub
01
(3.11)
co oznacza że obie wartości własne sa˛ tych samych znaków osobliwość jest lokalnie niemożliwa
do unikni˛ecia. W przypadku, gdy wyróżnik
>d 8 ±
>d 8 (3.12)
co oznacza że wartości własne sa˛ przeciwnych znaków, osobliwość jest lokalnie możliwa do unikni˛ecia.
3.2
Postacie normalne
Idea metody postaci normalnych rozwiazania
˛
osobliwego odwrotnego zadania kinematyki polega 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. Powyższe kroki moga˛
być zapisane w postaci algorytmu przedstawionego w pracach [1], [7].
Zdefiniowanie postaci normalnej kinematyki wymaga wprowadzenia poj˛ecia równoważności
odwzorowań, zgodnie z którym dwa odwzorowania sa˛ równoważne, jeśli staja˛ si˛e identyczne
w odpowiednio
układach współrz˛ednych. Bardziej formalnie, gładkie odwzorowania
]½_ P _ b dobranych
nazywamy
jeśli istnieja˛ układy współrz˛ednych (dyfeomorfizmy)
¶ ]Ü_ 7 P _ N ]Ü_ b P równoważnymi,
_
b
, takie że diagram
7 7 i
_
7 _
7 P
_ b
P
_ b
jest przemienny, tzn. . Równoważność odwzorowań jest lokalna, jeżeli układy współrz˛ednych , sa˛ określone lokalnie. Używana tutaj równoważność nosi nazw˛e RL - równoważ
ności (right-left). Klasa odwzorowań równoważnych danemu odwzorowaniu może być reprezentowana przez odpowiednio wybranego przedstawiciela tej klasy nazywanego postacia˛ normalna˛
odwzorowania . Zwykle wymaga si˛e, aby postać normalna była prosta z estetycznego punktu widzenia. W zagadnieniach zwiazanych
˛
z rozwiazywaniem
˛
odwrotnego zadania kinematyki powinna
przede wszystkim umożliwiać
˛
a« zadania.
\ ]Ü_ P _ rozwi
\ (dUtego
b ½ikazanie
Dla kinematykid ® 7
lokalne
układy współrz˛ednych,
[ , zdefiniujmy
ã
"
$
l
(
Z
d
_
ãå
przy założeniu, że 8
[ ),
7 jest konfiguracja regularna˛ (czyli
(dU9f \ > dU \ (d 8 m (g b 32.232.(g h ic i \ (d Ê=8 7
(3.13)
d
Odwzorowanie ® jest lokalnym dyfeomorfizmem"%$ przekształcaj
˛
pewne otoczenie 8 na pewF _ 7 , co wynika z założenia, że l=ãã å >d 8 W acym
[ . Oczywiście, jest także (tryne otoczenie
wialnym) dyfeomorfizmem.
˛ ac
˛ te wiadomości
zauważamy, że dyfeomorfizmy (3.13) prze>dU Łacz
(dZ
\
\
8
kształcaja˛ kinematyk˛e
do postaci
\ 8 !
\
\ 8 ¹#" 3 2.2323$" b (3.14)
3.2. POSTACIE NORMALNE
13
Jak widać, przy użyciu dyfeomorfizmów (3.13) istnieje możliwość sprowadzenia kinematyki nie_
_ b , b˛edacej
%
osobliwej
do postaci liniowej projekcji 7 na
˛ postacia˛ normalna˛ kinematyki nieosobliwej [1].
iÀ \ (dZ
Weźmy z kolei podd uwag˛e reprezentacj˛e
kinematyki we współrz˛ednych i wybierzmy
8
konfiguracj˛e osobliwa˛ korz˛edu 1. Dla takiej konfiguracji
spełniony jest warunek
oqp
"$ k
l r d\ > d 8 "%$ l (d 8 2
(3.15)
ë
[
r
g 3 2.232n>g >ì .232323ì b o p współrz˛ednych Przy odpowiedniej permutacji
orazo p
, warunkowi (3.15)
7
op
możemy nadać postać (3.8). (dU
(dU 32.232æ
o
^
f
[
Å
[
¹
[
Å
p
Zdefiniujmy
dla
macierzy
zbiór
podmacierzy
,
roz
>dU
[ złożonych
miaru [
32.232n z [e^ pierwszych kolumn >d° oraz i-tej kolumny tej macierzy. Niech
b
b
&
&
wektory &
˛ macierzy
. Nast˛epujace
˛ twierdzenie podaje waÊ=
7 należa˛ do jadra
runek równoważności kinematyki kwadratowej postaci normalnej [1].
d ® _
\ (dZ spełniaTwierdzenie 2 Niech 8
7 b˛edzie konfiguracja˛ osobliwa˛ korz˛edu 1 kinematyki
jacej
˛ warunek (3.8). Wówczas, jeżeli oOp
)()©¨`o p b
)()©¨` b Ê=
"%$ l
>d 8 ` b 2.232 ©
oqp
(3.16)
&
&
k
¿
[
»
Å
..
7
)()©¨` .
7
d
\ (dZ jest równoważna kwadratowej postaci
to, w pewnym otoczeniu konfiguracji 8 , kinematyka
normalnej
\ 8 ( dZ
¹g > g.23232.(g b çg b
y g y
çg b 32.232n>g ï g b
g b
gdzie
'('('m +Ê Å b Ê Å)'('('SÅ
( d 8 (d 8 7
macierzy
zdefiniowanej wzorem (3.9)
32.232n>g 3+hc
7
g
&
7 , dla pewnego
(3.17)
równego indeksowi
W szczególnym przypadku kinematyki nieredundantnej Twierdzenie 2 prowadzi do nast˛epuja˛
cego wniosku:
d ® _
a˛ korz˛edu 1 kinematyki nieredundantnej
WniosekP 1 Niech 8
7 b˛edzie konfiguracja˛ osobliw
\ ]Ü_ _ spełniajacej
oOp [ . Jeżeli
˛ warunek (3.8) przy
7
7
)()©¨` op ` (d 8 (3.18)
& Ø (d 8 d 8
gdzie wektor & (dUjest
rozwi
azaniem
˛
równania
,
to
w
pewnym
otoczeniu
konfiguracji
&
\ kinematyka
jest równoważna kwadratowej postaci normalnej
\ 8 > d°
ä.g > g32.232.(g (g h 2
7 7
(3.19)
14
ROZDZIAŁ 3. OSOBLIWE ODWROTNE ZADANIE KINEMATYKI
Rozdział 4
Pakiet Akiman
Pakiet Akiman1 służy do analizy kinematyki manipulatorów. 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. Na podstawie kinematyki we współrz˛ednych wyznacza si˛e
jakobian analityczny oraz zbiory konfiguracji osobliwych. Przy użyciu parametrów Denavita-Hartenberga, sa˛ wyznaczane pozostałe jakobiany. W przypadku konfiguracji osobliwych badana jest
możliwość ich unikania. Kolejnym z zadań realizowanych przez pakiet jest automatyczne wyznaczanie kwadratowej postaci normalnej kinematyki manipulatora w pobliżu konfiguracji osobliwej.
Pakiet jest wyposażony w oprogramowanie pozwalajace
˛ na graficzna˛ interpretacj˛e wyników.
Pakiet Akiman 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 pracy [7] nazwane Akiman‘Graphics oraz pakiet
KOSMA nazwany Akiman‘SingularityAvoiding, omówiony w referacie [2].
Pakiet został napisany 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.
4.1
Instalacja i uruchomienie
Instalacja pakietu jest bardzo prosta. Należy w tym celu przekopiować kartotek˛e Akiman wraz z
cała˛ zawartościa˛ do kartoteki, w której znajduja˛ si˛e standardowe pakiety programu M ATHEMATICA .
W systemie Windows jest to katalog:
C: * ... * mathematica * addons * STANDARDPACKAGES,
natomiast w systemie Unix katalog
/.../mathematica/AddOns/StandardPackages .
Uruchomienie polega na wczytaniu pakietu do jadra
˛ programu poprzez komend˛e
± ±
l $
[
,+
2
Wówczas zostanie uruchomiony plik inicjalizacyjny definiujacy
˛ wszystkie pakiety zawarte w kartotece Akiman.
1 Pakiet
Akiman dost˛epny jest na stronie http://rab.ict.pwr.wroc.pl/inne .
15
ROZDZIAŁ 4. PAKIET AKIMAN
16
4.2
Ograniczenia pakietu
Czas wyliczania rozwiazań
˛
w przypadku nieskomplikowanych przykładów nie jest długi, jednakże dla manipulatorów z liczba˛ zmiennych wi˛eksza od ê obliczenia staja˛ si˛e dość czasochłonne.
Przez liczb˛e zmiennych rozumiemy liczb˛e zmiennych przegubowych i parametrów geometrycznych manipulatora. Czasochłonność
obliczeń
jestÂ.zwi
˛
z wykorzystaniem wewnatrz
˛ pakietu
-#- ¬
ìazana
¬ ([ Â.- / ì oraz
021
[ / .
funkcji upraszczajacych
˛
Program nie jest odporny na pomijanie zmiennych przegubowych. Wi˛ecej na ten temat powiemy przy analizie przykładu zawartego w rozdziale 5.4.2.
Szczególne przypadki ograniczeń dotyczace
˛ wybranych funkcji lub pakietów zostały omówione przy przedstawianiu pakietów.
4.3
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:
354
 $Ç"q¿Ç~ ) * $ / 32.232nS~ *) *$ */ 3232.23S~ ) *$ */
²
²
Ç
²
²
7 7 7 7
) : elementarny obrót wokół osi Z,
$ : elementarne przesuni˛ecie wzdłuż osi Z,
/ : przesuni˛ecie wzdłuż osi X,
: elementarny obrót wokół osi X,
gdzie
indeks i oznacza i-ty przegub manipulatora. Sposób notacji, dotyczacy
˛ parametrów DenawitaHartenberga manipulatorów jest ściśle zdeterminowany. Mianowicie, zmienne
przegubowe, zarówno obrotowe jak przesuwne, powinny być zapisane w formie
zmiennej
dolnego
(0X3232.i 23indeksu
(
oznaczajacego
˛
kolejny przegub manipulatora: lub zmiennej , np. . W pakiecie
jest zawarta baza parametrów Denavita-Hartenberga dla kilku typów manipulatorów (podrozdział
4.8).
Wektor położeń przegubów manipulatora powinien być zdefiniowany jako -elementowa lista
zmiennych, gdzie oznacza wymiar przestrzeni przegubowej. Można tu skorzystać z wbudowanych funkcji BigVector lub Vector
76
8:9
¨;æSý"Ü=<><Ü
lub
,û
9
¨;mSý"Ü g9 które zwracaja˛ list˛e zmiennych przegubowych postaci
eý %01.23232.
²
lub
, ¿g > g32.232n>g 2
7²
Dodatkowo, niektóre funkcje wymagaja˛ użycia kinematyki manipulatora. Należa˛ do nich 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
l 4.4
ð
$1l1¨è
¨ $ ; Â $Ç"ý
[ & 3?4
.
Pakiet Akiman‘Kinematics
Akiman‘Kinematics jest podstawowym pakietem wykorzystywanym przez inne pakiety oprogramowania. 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 przy wykorzystaniu elementarnych obrotów i przesuni˛eć.
Wyniki obliczeń b˛eda˛ opisane osobno dla każdej z funkcji.
4.4. PAKIET AKIMAN‘KINEMATICS
4.4.1
17
Podstawowe funkcje pakietu
Kinematics - Kinematics[DHpar] wylicza kinematyk˛e manipulatora w reprezentacji DenavitaHartenberga (2.2).
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 ka˛
ty Eulera. W przypadku, gdy nie jest możliwe wyliczenie współrz˛ednych orientacji w standardowy sposób, kinematyka jest wyrażana
położenia.
Wynik polÈ tylko$Xlçwe¨è współrz˛
¨ $ ednych
;
 $Ç"
). Jest to wymowinien być podstawiony pod zmienna˛ k (
ð
[ & 3?4
giem wynikajacym
˛
z późniejszego wykorzystania funkcji kinematyki k w pakietach
;æ ôBA1Aki32.232(
man‘SingularityAvoiding oraz Akiman‘NormalForm. Funkcja k ma postać 0@1
.
Wynik przedstawiajacy
˛ kinematyk˛e zależy od definicji argumentu, czyli wektora zmiennych
przegubowych,
który może być dowolna˛ lista˛ -elementow
a.˛ W przypadku, gdy napiszelCÔý
l' ,-
my
, kinematyka b˛edzie zależna od zmiennych
,
a
w
przypadku,
gdy
napiszemy
,
,
kinematyka b˛edzie zależna od zmiennych .
MakeCartKinematics - MakeCartKinematics[k[q],q] generuje funkcj˛e, która przedstawia kinematyk˛
e manipulatora we współrz˛ednych kartezjańskich położenia na podstawie kinematyki
l
we współrz˛
l ednych położenia i orientacji. Wynik procedury powinien być podstawiony pod
zmienna˛ (jak wyżej).
l
Singularities - Singularities[q] wylicza osobliwości kinematyki
ze zbioraDCFEHGÄêcP . Funkcja
DCIEJGczwraca
`cPLKNlisty
MOC .23232
² . Na
1² lub
mi konfiguracji osobliwych zapisanych w formie
podstawie tych informacji
sam
fýêVużytkownik
P
fýêdefiniuje
VP PQ'( konfiguracj˛
P PQ'32.232 e osobliwa,˛ która˛ zapisuje
w formie listy (np. &
1² lub &
² ). W przypadku, gdy wartości parametrów geometrycznych kinematyki nie zostały zainicjowane, funkcja wyznacza
również takie zbiory, w których zawarte sa˛ elementy zależne od tych parametrów. Bardziej
szczegółowo przypadek ten zostnie przedstawiony przy omawianiu osobliwości potrójnego
wahadła w podrozdziale 5.1.
MatrixSingularities - MatrixSingularities[M] wylicza osobliwości macierzy ð . Dokładniej, wyznacza wszystkie rozwiazania
˛
zależne od nieznanych parametrów zawartych w macierzy ð ,
które obniżaja˛ rzad
˛ wierszowy tej macierzy. Funkcja zwraca listy ze zbiorami konfiguracji
osobliwych, które wygladaj
˛ a˛ tak samo, jak w przypadku funkcji Singularities.
l
SolvedSingularities - SolvedSingularities[q] wylicza osobliwości kinematyki . Funkcja zwraca list˛e konfiguracji osobliwych manipulatora. Wynik ma form˛e listy przyporzadkowuj
˛
a˛
cej wartości zmiennym przegubowym. Jednakże, ze wzgl˛edu na korzystanie z funkcji odwrotnych,
funkcja nie wylicza wszystkich możliwych
˛
Na przykład, dla równania
CIEJGÄgÈ
gÈ rozwiazań.
wyznaczone jest tylko jedno rozwiazanie
.
˛
l
JacobAn - JacobAn[q] wylicza jakobian analityczny kinematyki .
JacobGeomS - JacobGeomS[DHpar] wylicza jakobian geometryczny w przestrzeni (2.5), którego kolumny sa˛ zdefiniowane równaniami (2.8) oraz (2.9).
JacobGeomB - JacobGeomB[DHpar] wylicza jakobian geometryczny w ciele na podstawie równania (2.11).
Jm - Jm[DHpar] wylicza jakobian manipulatora (2.13).
JmBetterForm - JmBetterForm[DHpar,i] wylicza jakobian manipulatora w układzie współrz˛ednych zwiazanym
˛
z i-tym przegubem (2.17)
ROZDZIAŁ 4. PAKIET AKIMAN
18
4.4.2
Pomocnicze funkcje pakietu
/
R - R[os, ] generuje
/
(ºRºÇ
/
macierz obrotu wokół osi X,Y lub Z o kat
˛
$ R#SRÇ
Rot - / Rot[os, ] generuje
.
macierz obrotu Denavita-Hartenberga wokół osi X,Y lub Z o kat
˛
#RTR©
Trans - Trans[os,l] generuje
lub Z o długość l.
~1*)½$ /
A - A[
ra.
.
macierz przesuni˛ecia Denavita-Hartenberga wzdłuż osi X,Y
² ] wyznacza macierz transformacji pomi˛edzy kolejnymi przegubami manipulato-
GetR - GetR[DH] wydziela macierz obrotu (
ºñRº
) z macierzowej reprezentacji kinematyki.
Kart - Kart[DH] wydziela wektor przesuni˛ecia z macierzy Denavita-Hartenberga.
Rank - Rank[M] wylicza rzad
˛ macierzy M.
CoRank - CoRank[s,DHpar] na podstawie parametrów Denavita-Hartenberga manipulatora wylicza korzad
˛ konfiguracji osobliwej s. Ponieważ wewnatrz
˛ procedury wyliczany jest jakobian
&
manipulatora, konfiguracja może być konfiguracja˛ osobliwa manipulatora, jak również
osobliwościa˛ reprezentacji.
BigVector - BigVector["q",n]ý generuje
przestrzeni przegubowej manipulatora o
%0132.232Swektor
².
niach swobody postaci stop-
Vector - Vector[q,n]
ý generuje
(ê~3232.2n wektor przestrzeni przegubowej manipulatora o stopniach swo² . W przypadku korzystania z tej funkcji należy zwrócić uwag˛e
body postaci
7
na to, aby wyniku funkcji nie podstawiać pod zmienna˛ użyta˛ jako argument. Spowoduje to
rekursywne wywoływanie procedury. Zabezpieczeniem jest np. zastosowanie wielkich liter
jako wyników funkcji:
ó
9
¨;æSý"Ü1
lub
,û
9
¨;æS~"ç g9 WristRepr - WristRepr[R] sprawdza, czy istnieje reprezentacja macierzy obrotu we współrz˛ednych orientacji typu katy
˛ Eulera. Jeśli istnieje, funkcja zwraca list˛e list, w której zawarte
sa˛ informacje dotyczace
˛ kolejnych osi obrotu oraz katów,
˛ R,o *jakie
MC.R>został
TZSRdokonany
,-(NO 2 obrót.
funkcja
Przykładowo, dla
macierzy
obrotu
opisanej
zależności
a
˛
Ç,-*TU(, .MW1(N
²
²Ç² . Funkcja potrafi
zwróci wynik
także
Rwyliczyć
,+M P .takie
R>TZtransformacje,
.R(N P P
U lub , np. dla
Å
Å
w których kÇaty
˛,obrotów
s
a
˛
przesuni˛
e
te
o
*TU(, SM P *1(N P
² Å
Å ²Ç² . W przypadku zbyt skomplikowanej postacji maotrzymamy cierzy obrotu , funkcja zwraca zero.
4.5
Pakiet Akiman‘SingularityAvoiding
Pakiet został opisany w pracy [2]. Umożliwia rozróżnienie możliwych
i niemożliwych do unikni˛e3 ¨-ÒS$
cia konfiguracji osobliwych manipulatora
redundantnego
(funkcja
dla kinematyki o stopniu
$
$XW )©¨`g
4 ¨ &ý& $
redundancji 1 oraz funkcje
lub V [a[
dla kinematyki o stopniu redundancji
« ). Jednym z wymagań pozwalajacych
˛
na
korzystanie
z
funkcji
l
$Xlç¨è zawartych
¨ $Ç ; & w tym pakiecie jest
[ opisanej w podrozwyznaczenie funkcji kinematyki za pomoca˛ procedury ð
dziale 4.4.1
2 Przekształcenia
sa˛ zdefiniowane w dodatku A.1.
4.6. PAKIET AKIMAN‘NORMALFORM
¨-ÒS$
¨
19
$
&ý& nie jest wymagane, aby parametry geometryczne kineO ilel dla funkcji
oraz
$
$XW )©¨`g
Y
matyki były zainicjowane, to dla funkcji V [a[
$
$Xjest
W
)©to¨`g jednym z podstawowych warunwylicza liczb˛e ujemnych warków poprawnego działania. Mianowicie, funkcja V [a[
tości własnych macierzy (3.9), pod warunkiem znajomości numerycznych wartości parametrów
geometrycznych manipulatora.
3
4
l
Delta - Delta[q,s] wylicza wyznacznik macierzy Hessego nieredundantnej funkcji kinematyki ,
określajac
˛ w ten sposób, czy badana konfiguracja osobliwa s jest możliwa, czy też niemożliwa do unikni˛ecia. Dokładny opis działania tej metody znajduje si˛e w pozycji [2].
l
Hessian - Hessian[q,s] wylicza macierz (3.9) redundantnej kinematyki , określajac
˛ w ten sposób, czy badana konfiguracja osobliwa s jest możliwa, czy też nie możliwa do unikni˛ecia.
Dokładny opis działania tej metody znajduje si˛e w pracy [2] (Tw.1).
GammaIndex - GammaIndex[q,s] wylicza liczb˛e ujemnych wartości własnych macierzy (3.9)
kinematyki redundantnej o stopniu redundancji « (Tw.1). Jeśli wynik jest równy lub
[îŪ , wówczas konfiguracja osobliwa & jest± lokalnie
niemożliwa
do unikni˛ecia. W
przypadku, gdy wynik jest zawarty w przedziale k[ , konfiguracja & jest lokalnie
możliwa do unikni˛ecia.
4.6
Pakiet Akiman‘NormalForm
Pakiet służy do wyznaczania postaci normalnej kinematyki w konfiguracji
osobliwej. W celu skol
˛ z funkrzystania z niego użytkownik powinien wyznaczyć kinematyk˛e manipulatora korzystajac
cji k=MakeKinematics[DHpar], a nast˛epnie w zależności od własności kinematyki (redundancja)
użyć odpowiedniej funkcji.
QuadNormalForm - QuadNormalForm[q,s]
sprawdza, czy istnieje kwadratowa postać normalna
l
kinematyki nieredundantnej w konfiguracji osobliwej s. Wynikiem jest postać normalna
(3.19) lub komunikat, że kwadratowa postać normalna nie wyst˛epuje.
QuadNormalFormRedundant - QuadNormalFormRedundant[q,s]
sprawdza, czy istnieje kwal
dratowa postać normalna kinematyki redundantnej w konfiguracji osobliwej s. Wynikiem
jest postać (3.17) lub komunikat, że kwadratowa postać normalna nie wyst˛epuje. Funkcja
korzysta z Twierdzenia 2 wymagajacego
˛
znajomości liczby ujemnych wartości własnych
macierzy (3.9) (indeksu macierzy (3.9)). Wymaga to zainicjowania parametrów geometrycznych manipulatora.
Dodatkowo, została stworzona funkcja pozwalajaca
˛ na wygenerowanie permutacji współrz˛ednych zadaniowych oraz permutacji wierszy badanej kinematyki, tak aby był spełniony podstawowy
warunek zastosowania twierdzenia o unikaniu osobliwości oraz twierdzenia o postaci normalnej.
CheckRank - CheckRank[q,s] sprawdza podstawowy warunek zastosowania twierdzenia o postaci normalnej (Tw.2) kinematyki k w konfiguracji osobliwej s. Warunek jest opisany równaniem (3.8). Wynikiem jest odpowiednia permutacja
l współrz˛ednych przegubowych oraz, o
ile konieczne, zmodyfikowana postać kinematyki .
Pewnym ograniczeniem tego pakietu jest niebezpieczeństwo utracenia
dotyczacych
˛
ÉSZ½¨;lç$ informacji
l
parametrów geometrycznych kinematyki. Korzystajac
˛ z funkcji
, istnieje możliwość
l
zamiany wierszy kinematyki, co wiaże
˛ si˛e z ponownym zdefiniowaniem funkcji kinematyki . Przy
założeniu, że parametry geometryczne
l manipulatora zostały zainicjowane wcześniej, b˛eda˛ one na
stałe wprowadzone do kinematyki . Wówczas wszelkie symbole zwiazane
˛
z parametrami geometrycznymi zostana˛ zastapione
˛
wartościami numerycznymi, co uniemożliwi ponowne zainicjowanie
ROZDZIAŁ 4. PAKIET AKIMAN
20
parametrów geometrycznych. Jedynym sposobem ustrzeżenia si˛e przed ta˛ ewentualnościa˛ jest inicjowanie parametrów geometrycznych w liście zawierajacej
˛ konfiguracj˛e osobliwa.
˛ Szerzej ten
temat zostanie omówiony przy przedstawianiu unikania osobliwości potrójnego wahadła w podrozdziale 5.1.
4.7
Pakiet Akiman‘Graphics
Pakiet służy do opisu graficznego struktury kinematycznej manipulatorów zdefiniowanych parametrami Denavita-Hartenberga, jak również do wyznaczania ścieżki ruchu efektora. Istnieje także
możliwość
animacji
ruchu
robskel.m, z którego zostały zaczerpni˛ete funkcje
-ý ¬ lç¨-¨`S
-
$IZ & manipulatora.
$S¨ ¬ lç¨Pakiet
-¨`S
ò
,ò
ò
, [
został przedstawiony w pracy [7].
W celu skorzystania z funkcji dost˛epnych w tym pakiecie musimy najpierw podstawić pod
zmienna˛ globalna˛ DHParameters list˛e z parametrami Denavita-Hartenberga badanego manipulatora. Parametrom geometrycznym kinematyki należy nadać wartości liczbowe.
PlotSkeleton - PlotSkeleton[q] rysuje schemat manipulatora opisanego parametrami DenavitaHartenberga zadanymi poprzez zmienna˛ globalna DHParameters w konfiguracji q. Zmienna
q musi być lista˛ liczb . W rezultacie, otrzymujemy schemat manipulatora wraz z tabela˛
parametrów. PlotSkeleton[q,place] robi to samo, tyle że tabela parametrów Denavita-Hartenberga jest umieszczana w pozycji place. Jeśli zmienna place nie jest lista˛ trzyliczbowa,˛
tabela nie jest drukowana.
PlotPaths - PlotPaths[q,qrange] rysuje schemat manipulatora opisanego parametrami Denavita-Hartenberga zadanymi poprzez zmienna˛ globalna DHParameters w konfiguracji q wraz
p
ze
~"$ ścieżkami
¨q¹Ç efektora
)© b *otrzymanymi
)Ç bp å 3232.2 na podstawie ruchów przegubów określonych w liście
> 8 )© b 7 )Ç b å ² ² , gdzie jest numerem poruszanego przegubu w zakre 7 ýÅ sie . PlotPaths[q,qrange,place] robi to samo ale tabela parametrów
Denavita-Hartenberga jest umieszczana w pozycji place. Jeśli zmienna place nie jest lista˛
trzyliczbowa,˛ wówczas tabela nie jest drukowana.
AnimateSkeleton - AnimateSkeleton[qrange] przedstawia animacj˛e ruchów manipulatora opisap
p
nego parametrami Denavita-Hartenberga zadanymipoprzez
"$ ¨ zmienn
Çý b a˛ (globalna
b å DHParameý%0 b %0 b å
8
7 ²
ters. Zmienne przegubowe zmieniaja˛ si˛e w zakresie
7
AnimateSkeleton[qrange, #frames] przedstawia animacj˛e składajac
˛ a˛ si˛e z #frames klatek.
Standardowa liczba klatek wynosi 5. AnimateSkeleton[qrange, #frames,ViewPoint,PlotRange]
robi to samo, tyle że animacja przedstawiona jest z punktu ViewPoint w zakresie widoczności
PlotRange.
4.8
Pakiet Akiman‘Parameters
Pakiet 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
[
$ ¨ & \<]
[
3?4
ò
%
<
lub
[
$ ¨ & =<^]`_Z¨
[
Tabele wszystkich parametrów zostały podane w dodatku A.2.
3?4
ò
% 2
<
²
32.232
²
.
4.9. POMOC
4.9
21
Pomoc
W przypadku, gdyby użytkownik był zainteresowany uzyskaniem pomocy dotyczacych
˛
poszczególnych funkcji powinien wpisać komend˛e
$cbed $
a [
l:;
0@1
¡©
2
W zwi˛ezły sposób sa˛ również opisane parametry Denavita-Hartenberga manipulatorów zawartych
w bazie. Przykładowo
a
ò
m"%$ l
;
3?4
ò
wyświetli komunikat
Denavit-Hartenberg parameters for polycrank manipulator (constructed in Warsaw
Univesity of Technology).
4.10
Ostrzeżenia
Program jest wyposażony w komunikaty określajace
˛ bł˛edy zwiazane
˛
z argumentami wejściowymi
funkcji. W przypadku podania nieprawidłowych argumentów, zostanie wyświetlony komunikat
mówiacy,
˛ z jakim argumentem jest zwiazany
˛
bład.
˛ Przykładowo, dla funkcji
ý\bç+¶9 zostanie wyświetlony komunikat
Rot::"Axis": "Write correct name of axis : X,Y or Z instead of z."
4.11
Rozbudowa pakietu Akiman
W przypadku potrzeby rozbudowy pakietu, należy stworzyć plik o nazwie np. NowyPakiet.m i skopiować go do kartoteki Akiman/. Nowy plik powinien zawierać standardowe instrukcje definiujace
˛
nowy pakiet ( wi˛ecej informacji na ten temat można znaleźć w pomocy programu M ATHEMATICA
pod hasłami $Packages oraz BeginPackage).
Dodatkowa˛ czynnościa˛ przy rozbudowie pakietu jest uaktualnienie pliku init.m znajdujacego
˛
si˛e w kartotece Akiman/Kernel/. Należy tam dopisać nazw˛e stworzonego pakietu wraz ze zbiorem
funkcji dost˛epnych dla użytkownika. Można wzorować si˛e na wcześniejszych opisach zawartych
w pliku init.m.
22
ROZDZIAŁ 4. PAKIET AKIMAN
Rozdział 5
Wyniki
l
$
W niniejszym rozdziale zostana˛ przedstawione wyniki działania pakietu [
. Opis poszczególnych przykładów został tak przygotowany, aby Czytelnik mógł w każdej chwili odwołać si˛e do
korzystania z pakietu. Mianowicie, wczytujac
˛ pakiet komenda˛
± ±
l $
[
,+
èéf-¨
$
l:; $
¡ 0@1 ¡ , Czytelnik otrzya nast˛epnie wpisujac
˛ kolejno komendy zawarte w ramkach
ma wyniki, przedstawione poniżej.
W rozdziale została zastosowana pewna
g reguła notacyjna. Mianowicie wektory zmiennych przegubowych określane sa˛ przez zmienna˛ , natomiast położenia poszczególnych przegubów opisywane sa˛ przez zmienna˛ . W przykładach zmienne te sa˛ równoważne, ale ze wzgl˛edu na konwencj˛e
przyj˛eta˛ przy omawianiu
wiadomości teoretycznych trzymamy si˛e tej reguły. Jedyny wyjatek,
˛
w
g którym zmienne i nie sa˛ tożsame, stanowi przykład manipulatora wielokorbowego.
5.1
Potrójne wahadło
¨ )Xº
Kinematyka. Całkowita kinematyka manipulatora opisanego parametrami ò
è
¨ Ç$ ; ¨ )©º
[ & ò
3?4
ò
to
&
- ;
-Òg;
- ;
Å
Å
;
Ë
4 5C
& & Å & Å - &
;
I
C
J
E
c
G
KNMeC
gdzie każdy z elementów & oraz to odpowiednio
oraz
,& ¢
Zdefiniujmy wektor przestrzeni przegubowej manipulatora
gÈ ¨ ;æS~"ç= <%.g <Ü ¨ )©º 354
_U¨
IZç 2
9
ò
ò hOh 8
i
;
3?4
ò
to
(5.1)
9
CIEJG
Å ¢ , etc.
Kinematyka we współrz˛ednych, wyznaczona na podstawie parametrów Denavita Hartenberga ò
l ma postać
lCg½
êð
hOh
$!" g ~ "
0 [
ð
$Xlç¨è
\ >dZ
kjlm
¨ $ ; ¨ )©º
[ & ò
-Òg
; - ;
Å
Å -
- & -Ë &
&
g Å Å g Å Å g
-
npo
;
23
ò
3?4
q
¨ )Xº
(5.2)
3?4
ò
ROZDZIAŁ 5. WYNIKI
24
gdzie każdy z elementów & oraz to odpowiednio
r
niczmy
kinematyk˛e (5.2) do współrz˛ednych położenia
;
l Äg
CIEJG
1$ l1¨ÉÙ$Ç"ýSè
\ (dZ
¹s- ; Å -Ò; Å - ;
oraz
g
KNMOC
& ¢
,
to
'g
CIEJG
g Å ¢ . Ogra-
¨ $ ; l'g½((g½ [ &
t
- & -Ò & - & h 2
Å Å ð
(5.3)
Jakobiany Po zdefiniowaniu funkcji kinematyki oraz wektora zmiennych przegubowych możemy
wyznaczyć jakobian analityczny
oqp
¡
$ñ $u;
>v g½ g69@? - - ; & -Òg-Ò ; & - - ; & -ÒN-Ò ; & - - ; & - - ; & 2
G
Å Å
Å
(5.4)
Do wyznaczenia jakobianów geometrycznych oraz jakobianu manipulatora wystarczy znać parametry Denavita-Hartenberga manipulatora. Jakobiany geometryczne w przestrzeni i w ciele
$u;
>v V ¨ [ ¬ ò ¨ )©º
3?4
ò
$c;
fv V ¨ [ 6a ò ¨ )©º
3?4
ò
to odpowiednio
- &
- &
-Ò &
-Ò &
- &
Å
Å
- ;
- ; -Ò; o
- -Ë; - ;
o
y } C Å Å
¨ )©º 3?4 ò ma postać
Jakobian manipulatora [ ò
- &
-Ò &
- &
-Ò &
- &
- &
;
;
Ë
;
;
Ò
;
;
Å
Å
Å
o
b >%
Ò &
-Òg;
Å
-
-
2
2
(5.5)
Osobliwości. Dla kinematyki (5.3) zbiór konfiguracji osobliwych obliczamy jako
& ¬ ¬ ¿gÀ® _ ¯ CFEHGÄgU xw CIEJGÄg 1² 2
(5.6)
¬
Zbiór został wyznaczony na podstawie zbioru & zawierajacego
˛
również zależności dotyczace
˛
8u1
>$Ç" ¨ & g½
-
parametrów geometrycznych manipulatora (w tym wypadku sa˛ to długości ramion). Ponieważ
wartości długości ramion nie zostały zainicjowane, zbiór & ma postać
& eÇ>-ÒUP y- P 1² - P z- P
>
- P z-ÒÄP 1² >
- P y CFEHGÄgUP 1² >
>- P yCFEHGÄg P X² >-ÒUP CFEJ G'g g XP ² DCFEHGÄgUP CFEHG g P y Å CFEHG9g 1g ² WP
Å
1²Ç²
5.1. POTRÓJNE WAHADŁO
25
gdzie każda konfiguracja opisana wierszem jest konfiguracja˛ osobliwa˛ ze wzgl˛edu na wszystkie
r wiadome elementy wyst˛
nie
epujace
˛ w równaniu kinematyki (5.3). Interesujace
˛ nas rozwiazania
˛
sa˛
zależne tylko od zmiennych przegubowych. Istnieje tylko jedno takie rozwiazanie
˛
(ostatni wiersz)
˛
zostały ograniczone do
opisane równaniem (5.6). W kolejnych przykładach zbiory rozwiazań
zmiennych przegubowych.
Badanie własności konfiguracji osobliwych sprowadza si˛e do wyznaczenia rz˛edu jakobianu
analitycznego w tych konfiguracjach,
$ 2ÖgUP qo Üp g P
$ l
h
1 ²fhOh
"%$ l g 8 g
co daje wynik
, gdzie 8
¡
lub
$ 'l $c;
fv g½ 2 g°P Ü g P
h
1²
to konfiguracja osobliwa. Możliwe jest również wyznaczenie korz˛edu konfiguracji osobliwej, ale należy tutaj zwrócić uwag˛e na postać zmiennych wyst˛epujacych
˛
w konfiguracji osobliwej. Powinny tu si˛e znaleźć
same zmienne jakie wyst˛epuja˛
¨ )©º 35takie
4
ò . Korzad
w liście opisujacej
˛ parametry Denavita-Hartenberga ò
˛ konfiguracji osobliwej
ÉÙ~$ l' ý0P
½ºP
¨ )Xº
1² ò
3?4
ò
wynosi .
Unikanie osobliwości. Przed przystapieniem
˛
do sprawdzenia warunków unikania konfiguracji
osobliwych oraz wyznaczenia postaci normalnych należy uświadomić sobie,
l że zainicjowanie parametrów
geometrycznych manipulatora spowoduje zmian˛e kinematyki , tzn. elementy długości
- y-(0Xz-º
l $ (w[ ýtym
przyjma˛ wartości liczbowe. Jeżeli podczas działania funkcji
" $uwypadku)
~"
l z pakietu
,+
[
[ 0 [ wystapi
˛ konieczność
zmiany kolejności wierszy kinematyki , wówczas
- z->01y-º
wartości zastapi
˛ a˛ na stałe elementy . Jedynym sposobem ponownego zainicjowania parametrów b˛edzie ponowne definiowanie kinematyki. Aby ustrzec si˛e przed takimi bł˛edami, proponujmy wyznaczać postacie normalne ze zbiorem konfiguracji osobliwych, w których sa˛ zawarte
podstawienia dotyczace
˛ wartości liczbowych parametrów geometrycznych, czyli przykładowo, zamiast dwóch komend
-
7Rs{y-(07->º#
należy zastosować jedna˛
ó21
$©) [ ý " c$ - ý " ¨)
[ 0 [
$©) [ ý " u$ - ~ " ¨)
[ 0 [
ó@1
oraz
1
)X$ g9Sg°P
g#P
g P
)©$ g9.gZP
Üg P
1
U
Üg P
U ²
z- |
P RÜz->0P z-º#P
2
%²
Wybierzmy konfiguracj˛e osobliwa˛
1² . Stwierdzamy, że jest to konfiguracja
osobliwa niemożliwa do unikni˛ecia ponieważ wyróżnik .
3
¨-ÒS$6 g9.gZP
Üg P
1²
~}
þ ü Ñ ü } p ü å
ÑÊ Ê
Ñ
Postać normalna. Wyznaczmy
dla tej konfiguracji postać normalna˛ przy założeniu że długości
- 7->0#7-º
ramion sa˛ równe 1, ,
$©) [ ý " u$ - ~ " ¨) )©$ g9.gZP Üg P
[ 0 [
1
X²
\ g69 g g g h 2
gUP Üg P
Dla konfiguracji osobliwej
˛ P wyniki.
U² otrzymujemy nast˛
gcP epujÜg ace
Unikanie osobliwości. Wybierzmy konfiguracj˛e osobliwa˛
U² .
¨ -S$ g9.gZP Üg P
2
3 Ñ ü }
U²
þ
å
ü
}
Ñ Ê ü I\ Ñ
ó@1
Stwierdzamy, że konfiguracja osobliwa jest :
(5.7)
ROZDZIAŁ 5. WYNIKI
26
-
Å
– możliwa do unikni˛ecia, gdy
– niemożliwa do unikni˛ecia, gdy
Ò
-
)-
,
ÒV±)-
-
Å
.
Ëc-
, nie jesteśmy w stanie zastosoW przypadku, gdy długości ramion spełniaja˛ równanie Å
wać kryterium. Postać normalna. Wyznaczmy
dla
tej
konfiguracji
postać normalna˛ przy założeniu
-Ò
że długości ramion spełniaja˛ zależność Å
$X) ~ " c$ - ý " ¨)
ó 1 [ [ 0 [
@
1
-
)©$ g9.g P PQ >gUP
\ >dU
'g g Å
-
(g P
g h 2
U
z- P 0Xz->0PYºçy-ºPLR ²
(5.8)
Na podstawieg ostatniego
możemy
również wywnioskować, że
P PQ >gOelementu
P >g P postaci
z- normalnej
P 01y-(0P (5.8)
ºçz-ºP
R
konfiguracja
U
² jest możliwa do unikni˛ecia, po
nieważ wyst˛epuja˛ w nim elementy różnych znaków.± Jest
˛
z indeksem macierzy (3.9).
to zwi azane
Jeżeli indeks tej macierzy zawiera si˛e w przedziale a[ , wówczas konfiguracja jest możliwa do unikni˛ecia (patrz Twierdzenie 2 oraz Twierdzenie 1).
z
z
y
y
x
x
a)
b)
ý P
PQ
=êñP
Rysunek
( P 5.1: Manipulator typu potrójne wahadło a) w konfiguracji osobliwej ˛ acej
˛ ten sam punkt w przestrzeni zadaniowej.
UIJ b) w konfiguracji nieosobliwej osiagaj
gUP
Üg P
1² otrzymujemy
U
Dla konfiguracji osobliwej
ace
˛ wyniki.
gcP nast˛Üeg puj
P X² .
Unikanie osobliwości. Wybierzmy konfiguracj˛e osobliwa˛
U
3
¨-ÒS$g9SgVP
U
½g P
1²
2
}
þ ü Ñ ü } I\ ü å
Ñ3 Ñ
Stwierdzamy, że konfiguracja osobliwa jest :
–
±)-Ò
,
Å
- )-Ò
.
niemożliwa do unikni˛ecia, gdy
Å
– możliwa do unikni˛ecia, gdy
-
Postać normalna. Wyznaczmy dla tej konfiguracji postać normalna,˛ przy założeniu że długości
- -Ò
- ´0{y->0#7-º
,
Å ramion spełniaja˛ warunek
ó@1
$©) [ ý " u$ - ~ " ¨) ©) $ g9.gZP
[ 0 [
1
\ >dU
'g g Å g h 2
U
½g P X²
(5.9)
5.2. MANIPULATOR SCARA
27
Grafika. Przedstawianie schematów manipulatorów w formie graficznej wymaga zainicjowania
globalnej
zmiennej DHPartameters używanej przez wszystkie funkcje pakietu Akiman‘Graphics.
W przypadku potrójnego wahadła należy podstawić
$Ç"~S$ `¨ S¨ê" & ¨ )©º
[
ò
ò
3?4
2
ò
354
y->01z-º
-
Należy również zwrócić uwag˛e, czy parametry geometryczne (czyli ) sa˛ zainicjowane. Jeśli
tak, to można przystapić
˛ do rysowania. Rysunek 5.2a) został otrzymany przy użyciu komendy
- ý $ IZ & PQ .Ç~ºç P6gP S ò ò
U 1²
Dz ² ²
- ª01.->0
-º# .
dla długości ramion z
z
y
y
P
P
x
x
a)
b)
ý P
Rysunek
( P 5.2: Manipulator typu potrójne wahadło a) w konfiguracji osobliwej ˛ punkt ò , b) w konfiguracji nieosobliwej nie osiagaj
˛ acej
˛ punktu
U
1² osiagajacej
strzeni zadaniowej.
5.2
PQ
ò
ê P
w prze-
Manipulator SCARA
Kinematyka. Kinematyka wyznaczona na podstawie parametrów Denavita Hartenberga
l $Xlç¨è
ð
¨ $ ; É [ & ¬ 3?4
ò
została wyznaczona
kartezjańskich położenia oraz współrz˛ednej orientacji (obQ
we współrz˛
` e dnych
rotu wokół osi o kat
˛ Å
Å ). Po zdefiniowaniu wektora przestrzeni przegubowej
gÈ
9
¨;æSý"Ü=<%g.<Ü ¬ É
możemy wyświetlić postać kinematyki
\ (dU
$
lm
l
jl
ò hOh
i
l' g½
3?4
U¨
_
8
IZç
ýg $©KNMeCýg
$ CIEJG9g Å ©$ CFEHG9g
)Å Å g
g g g Q
Å Å
KNMOC
gfg Ü gÜg g Q h gê
Å g
Å
npo
o
q
o
(5.10)
ROZDZIAŁ 5. WYNIKI
28
[ ¬ É 354 ò
$ CFEHGc $XCFEJG
> `ê ©$ :CIEJG9 ê`
Å
Å
$
N
K
O
M
Ç
C
©
$
u
N
K
O
M
ý
C
ê
©
$
:
K
O
M
C
ê
ê
Å
Å
Å
o
b 2
o
b .
W jakobianie analitycznym nie wyst˛epuje wiersz czwarty i piaty
˛
-$Ç" ¨ & g½
¬
Osobliwości. Osobliwości kinematyki (5.10) 8u1
sa˛ opisane zbiorem:
Q
¬ g ® _ ¯ CIEJGÄgU X² Jakobiany. Jakobian manipulatora
(5.11)
(5.12)
Ze wzgl˛edu na postać kinematyki (jest ona nieredundantna), spodziewamy si˛e że konfiguracje
osobliwe sa˛ niemożliwe do unikni˛ecia.
gP
Postać normalna. Wybierajac
˛ jedna˛ z osobliwości np.
1² , możemy wyznaczyć postać normalna˛
ó@1
$X) [ ~ " c$ - ý " Ôdq.gUP
2
[ 0 [
1²
Jednocześnie program informuje, że ze wzgl˛edu na spełnienie warunku
(3.8) zmieniła si˛e globalna
l
funkcja kinematyki. Kwadratowa postać normalna kinematyki jest nast˛epujaca
˛
\ (dU
ä.g ( g~(g (g Q h
z
z
y
y
x
x
a)
b)
Rysunek 5.3: Manipulator SCARA w konfiguracji osobliwej a)
êUP
, b)
`UP
U
W przypadku ograniczenia si˛e do kinematyki w aspekcie współrz˛ednych położenia (manipulator z rysunku 5.4)
l otrzymujemy
l' g½
ð
\ >dZ
kjlm
$Xlç¨ÉÙ$Ç"ýSè
$
¨ Ç$ ; l' g½>g½ [ &
g $XKNMOCêg
$ CFEHG
g Å X$ CFEJG'g
)Å Å g
KMOC
gê
Å g ê
Å
q
npo
2
(5.13)
5.3. CYBOTECH
29
W tym wypadku zbiór konfiguracji osobliwych jest identyczny ze zbiorem (5.12). Jakobian ana
lityczn
y jest ograniczony do trzech pierwszych kolumn jakobianu analitycznego
gR¹g >gdla
>g kinematyki
h
do
.
(5.10). Wynika to z ograniczenia wektora zmiennych przegubowych
gUP
Postać Normalna. Wybierajac
˛ jedna˛ z osobliwości np.
1² , możemy wyznaczyć postać
normalna˛
ó@1
$X) [ ~ " c$ - ý " Ôdq.gUP
2
[ 0 [
1²
Jednocześnie program informuje, że ze wzgl˛edu na spełnienie warunku
(3.8) zmieniła si˛e globalna
l
funkcja kinematyki. Kwadratowa postać normalna kinematyki jest nast˛epujaca
˛
\ >d°
g > g (g h 2
(5.14)
Kolejność zmiennych przegubowych w równoważnej postaci kinematyki (5.14) nie jest istotna.
Wynika ona z permutacji zmiennych przegubowych w celu spełnienia warunku (3.8).
z
y
x
Rysunek 5.4: Robot SCARA
do kinematyki
w aspekcie współrz˛ednych położenia, w
P ograniczony
P C`UP
P P
konfiguracji nieosobliwej
5.3
Cybotech
Kinematyka. Zauważamy, że kinematyka manipulatora w aspekcie współrz˛ednych położenia, wyliczona na podstawie parametrów Denavita-Hartenberga (tabela A.1), różni si˛e od kinematyki podanej w pracy [10]. Różnica ta wynika z innego dobrania układu bazowego. Mianowicie, kinematyka Cybotecha obliczona w [10] ma postać:
\ (dU
jlm
)c:KNMeCg Q f CFEHG9g
) KNMeCýg f KNMOCg
c
KMOCýg `>$XuKNMOCgê
KNMeCg
g `($
Q CFEHG
g `>$©KNMeCýg` Å KMOCg Å g `>$
$©: Å CIEJG9gê CFEJG
g g Å ($ )cuÅ CFEJG
g Q . Å
Å
natomiast na podstawie parametrów z tabeli A.1
l ð
$Xlç¨è
¨ $ ; É ìv
S¨;Z
[ &
354
ò
Å
) CFEHG9g Q 3 .
c
Å )cCIEJG9g Q 3 .
n o
q
(5.15)
otrzymujemy
\ (dZ
klmj
) :KNMeCg Q f CFEHG9g KMOCg ($©:KNMeCg` KMOCg g `>$ c) CIEJG9g Q .3
c
)uuKNMOCg >KNMOCêg Q Å CFEHG
g `>$©:KNMOCg Å KMOCýg Å g `($ Å )cCIEJG9g Q 3.
$©:CFÅ EHG9g` CIEJG
g g `Å >$ )cCIÅ EJG9 g Q . Å
Å
Å
Å
q
npo
2
(5.16)
ROZDZIAŁ 5. WYNIKI
30
Zdefiniujmy ponadto wektor zmiennych przegubowych
g
¨;mSý"Ü=<%g.<ÜÉjìvmýS¨;Z
9
òihOh
3?4
U¨
_
IZç
8
gÈfg ½ gÜg Üg Q h 2
z
y
x
y
z
x
a)
b)
Rysunek 5.5: a) Układ bazowy dla Cybotecha opisanego w tabeli A.1, b) Układ bazowy dla
Cybotecha z [10].
¬ 8u1 -$Ç" ¨ & g½ sa˛ postaci
p KNMeCg Q xw p } KNMOCg Q 1 ² } w KNMOCgU 1² CFwEHGÄg 1²
w p KNMOCêg 1g ² CFEHGÄg Q w p } KNMOCÅg g 9x w p CFEHGg Q 1 ² pp } w KNMOCýg Å g w pp KNMeC%g 1CI² EJGÄg
p ü} w KNMOCýg Å g p ü} KNMeC%g w CIEJGÄg
ü KNMOw Cêg g Å KNMeC%ü} g Q w CFEJGÄg
w
Å xw
w
Osobliwości. Osobliwości kinematyki (5.16)
¬ ¬ 0 ¬ º g
g
g
g
g
g
g
g
g
® _ QQ CIEJGÄg ® _ Q ¯ CIEJGÄg Q ® _ Q ¯ CIEJGÄg Q ® _ Q ¯ KMOCgU
¬ R ® _ Q ¯ KMOCgU
¬^ ® _ Q ¯ CIEJGÄg Q ¬ Á ® _ Q ¯ KMOCg ¬^ ® _ Q ¯ KMOCg ¬ ® _ ¯ KMOCgU
¬ ¯
¬
Biorac
˛ pod uwag˛e zbiór , dla konfiguracji osobliwej
X
²
p
X² Q } ²
Q
g P Üg Q P U 0
²
(5.17)
otrzymujemy nast˛epujace
˛ wyniki.
Unikanie osobliwości. Obliczajac
˛ wyróżnik
¨-ÒS$g9Sg P Üg Q P P
²
3
º
RCIEJG
g`
)©ì g 8
Ø g stwierdzamy, że osobliwość nie jest możliwa do unikni˛ecia dla wszystkich
Ø .
Postaćg normalna.
g W konfiguracji osobliwej, z zainicjowanymi wartościami zmiennych przegubowych oraz
ó21
$©) [ ý " c$ - ý " ¨)
[ 0 [
1
)X$ =cSg P
PQ
(gZP
PQ
(g P (g Q P P ²
5.4. MANIPULATOR WIELOKORBOWY POLYCRANK
31
z
y
x
Rysunek 5.6: Cybotech w konfiguracji osobliwej
\ (dU9 g ½ g g = g Q h 2
¬
W konfiguracji osobliwej należacej
˛ również do zbioru :
g P Üg Q P U 0
U
²
otrzymujemy nast˛epujace
˛ wyniki.
Unikanie osobliwości. Obliczajac
˛ wyróżnik
¨-S$ c.g P
3
½ Q P P
².
(5.18)
(5.19)
Üg Q P P
²
U
ý P
stwierdzamy, że nie jesteśmy w stanie określić, czy osobliwość jest możliwa czy niemożliwa do
unikni˛ecia.
Postaćg normalna.
g W konfiguracji osobliwej, z zainicjowanymi wartościami zmiennych przegubowych oraz
ó21
$©) [ ý " c$ - ý " ¨)
[ 0 [
1
)X$ =cSg P
PQ
(gZP
PQ
(g P
U
(g Q P P ²
ze wzgl˛edu na niespełnienie warunku (3.16), nie otrzymujemy kwadratowej postaci normalnej.
5.4
Manipulator wielokorbowy POLYCRANK
W przypadku tego manipulatora istnieje możliwość zastosowania dwóch rodzajów parametrów
Denavita-Hartenberga. Wynika to z własności mechanicznych manipulatora. Budowa manipulatora powoduje zależność ruchu członu czwartego i piatego.
˛
Zależność ta jest opisana równaniami:
Q %
ý2
- Q -
(5.20)
Przy założeniu że współrz˛edne przegubowe sa˛ równoważne (ale nie tożsame) położeniom przegubów manipulatora, otrzymujemy list˛e warunków
gQ g%
- Q 7-
(5.21)
z których b˛edziemy korzystać w przykładach poniżej. Na podstawie zależności (5.20) oraz parametrów z tabeli A.9 została˛ stworzona tabela parametrów Denavita-Hartenberga A.11.
ROZDZIAŁ 5. WYNIKI
32
z
y
z
y
x
x
a)
b)
Rysunek 5.7: Cybotech w konfiguracji a) osobliwej
5.4.1
D^|¡ g¢
£ ¤.¥
, b) nieosobliwej
Wyniki dla manipulatora podstawowego
Wyniki uzyskane w tym podrozdziale oparte sa˛ na parametrach Denavita-Hartenberga opisanych
˛ sa˛ niew tabeli A.9. Parametry wyzanczone zostały przy założeniu, że ramiona: czwarte i piate
zależne. Dopiero w ostatecznych fazach obliczeń b˛eda˛ podstawione warunki (5.20) lub (5.21), w
zależności od tego, czy b˛edziemy potrzebowali wektora położeń poszczególnych przegubów, czy
też wektora współrz˛ednych przegubowych.
Kinematyka. Wyznaczamy wektor przestrzeni przegubowej
¦¨§ª©t«¬®p¯D°s±=²e¦.²
y³
¬°e´Xµ·¶:¸?¹
«µ¼uI½:¾
³iºOºe»
¿
¦¨§ÁÀ#¦·Â
¦ ¤ ¦
¦
¦Ã ¦.Ä ¦ÅÆÇ^È
f ¢e Kinematyka we współrz˛ednych manipulatora z tabeli A.9
¶t§ÉÁ´u¶:«ÊÌËyµÍ«ÎÏ´OÐËz¬Ñu±
ma postać
¶Í±=¦¾
ºOº
¬g°f´Xµ¶:¸?¹
³
³
¾
ÉÁ´Oа>˦Ò2¯>°>Î
ÕÖ
Ø c
 ÙÚOÛO¦·ÂsÜ
Ø ÂcÛIÞJßx¦·ÂÜ
Ö
Ö
Ö
Ö
Ø
Ù ÚeÛe¦ ¤ Ü Ø ÄsÙNÚOÛf¦
ÜÝÛIÞJßx¦
À Ø I
Û ÞJßx¦
Ü
¤ N
¢
¢
Ø ÛIÞJßx¦
Ø
Ø
Ä ÛIÞJßx¦
:
ÙÚOÛO¦
À
ÛIJÞ ßx¦
Ü
¤
¤ Ü
à
¢
¢
Ø Ü Ø ÙNÚOÛO¦
Ü Ø Ã:ÙÚOÛe¦Ã
¢
¢
¦
¦.Ä
Ö
Ö
Ó ÀÔ^Ƨ
Ö
×
¦Å
Ø ÃÛIÞJßx¦ÃNÆ
ápâ
Ø ÃÛIÞJßx¦ÃNÆ
â
â
â
â
â
â È
â
(5.22)
ã
Jest to kinematyka we współrz˛ednych położenia oraz współrz˛ednych orientacji typu katy
˛ Eulera
opisanych jako
À
Ä
e y
ÅÆ
Àå
ä
y
Æ
À#æ
ä
ÄÆ
y
Àyå
ä
y
ÅÆgÈ
Jakobiany Wyznaczmy najpierw jakobian manipulatora,
ç Îè§êéÍα
¬g°f´Xµ¶:¸5¹
³
³
¾
È
Wynik, który uzyskujemy jest wyrażeniem dość skomplikowanym. Po podstawieniu warunków
(5.20) i uproszczeniu
ç Î
º
È
Øë
Øì
y
ë
ài
ì
¥fºOºOí
ËyÎïî Ø Ëzðòñ
5.4. MANIPULATOR WIELOKORBOWY POLYCRANK
33
wyliczamy
ö÷
÷
Ø ÂÑeÂ
à
÷
÷
Ø Â®¬ÂsÜ
÷
óô
à
÷
Ø
Ø ÄÑ
¤ Ñ ¤ à
Ø ¬ Ü Ø Ä ¬
¤ ¤
÷
ÀyõÍÆ§
Ø ÄÑ
¤ Ñ ¤ à
Ø ¬ Ü Ø
Ä ¬
¤ ¤
Ø ÄÑ
à
Ø ÄN¬
ú
ú
ú
ú
ú
ú
÷
ø
Ø
à
ú
ú
ü
Ø
ù
àûù
¢
¬
Ø
¢
¢
Ñ
¬
¬
Ø
¢
à
ú
¬
¢
¬
Ø
¬
¬
¬
Ñ
¢
¢
ú
ú
ú
ú
¬
ú
ú
Ñ
Ñ
ú
ú
¢
Ñ
ü
Ñ
¢
¢
Ø
Ñ
ú
ü
¬
à
ú
ýþ
þ
þ
þ
þ
þ
þ È
þ
ÑÄ
ÑÄ
¬ Ä
g
ÿ
(5.23)
Jakobian manipulatora jest zależny od współrz˛ednych zawartych w parametrach Denavita-Hartenberga. Ponieważ w tym przykładzie współrz˛edne Ô oraz õ nie sa˛ tożsame, jakobian manipulatora oraz jakobian analityczny sa˛ zależne tak jak opisuje równanie (2.23). Wynika stad
˛ różnica
postaci kolumn wyst˛epujaca
˛ w poszczególnych jakobianach. Jakobian analityczny dla kinematyki
Ø$ë
Ø#ì ¦Ã
¦
à
¢f¥
(5.22) oraz warunków (5.21) é·´u¬g¯ µ¡± ¦¾ º È
ö÷
÷
à
÷
÷
÷
Ø ÂgÑfÂ
Ø Â¬Â
÷
ó À$ÔÆ§
÷
Ø
¤ Ñ ¤
Ø ¬
¤ ¤
à
ú
ú
ú
ú
ú
ú
ú
÷
ú
ø
à
Ø ÄÑ
Ø Ä¬
ú
Ø
¬
¢
à
Ø
¢
¬
Ø
à
ü
Ñ
¢
¬
Ñ
¢
Ø
¢
à
¢
¬
Ø
Ø
¢
Ñ
¢
¬
¢
Ñ
¢
ú
ú
ú
ú
ú
ú
ú
ú
¬
ýþ
ú
ú
ú
ú
¢
ú
þ
ú
¢
ú
þ
þ
þ
þ
þ È
þ
ú
ü
ú
ú
(5.24)
ÿ
ü
Osobliwości. Przy założeniu że zmienne i ¦ sa˛ równoważne, dokonamy analizy wszystkich konfiguracji osobliwych manipulatora. Dla kinematyki opisanej równaniem (5.22) wyznaczamy osobliwości
ѧ
ü
í
¦
§
í
ì
§
í
¦
ÛIÞJß`À¦·Â
Å
¦
§
í^ù
Å
¦
§
ÛIÞJßx¦
Å
Å
¢
ÛIÞJß`À¦·Â
ÛIÞJß`À¦·Â
¦ ¤ Ƨ
ÛIÞJß·À#¦
ú
¢,à
ÛFÞHß
¦Ã^§
ú
ú¥c ¦ ¤ Ƨ
ÛIÞJß·À#¦·Â
ú
à
¦ Ƨ
ÛIÞJß·À#¦ ¤
ú
à
à
§
à
à
Ñ
Po podstawieniu warunków (5.21)
osobliwych
ü
í
í
ì
í
¦
§
§
¦
ÛFÞHßÀ¦·Â
Å
¦
§
íù
Å
¦
§
ÛFÞHßx¦
Å
Å
Ëyµ¼ Ø ´X°>ËÐËz«DÑc± ¦¾
í
ÛFÞHßÀ¦·Â
Ø$ë
Øì
¦ÃNƧ
¦
¦Ã
ú
ÛFÞHß
à
ú¥c ¦ ¤ Ƨ
¦ Ƨ
ú
ÛFÞHßÀ¦·Â
à
ú
ì
ü
§
¦
§
¢
¦
Ƨ
ú¥c ÛIÞJßx¦Ã§
ú
úu¥
otrzymujemy zbiory konfiguracji
¢O¥
¦
à
¦
Ƨ
Ƨ
ú
ú
ÛIÞJß`À¦ ¤
à
ÛIÞJßx¦
§
¢
¦
úu¥
È
Ƨ
ú¥c sa˛ zależne ze wzgl˛edu na równanie
íù
í
È
ú¥c ÛFÞHßÀ¦ ¤
à
Uważny Czytelnik zauważy, że zbiory í íù í
co oznacza że zbiór konfiguracji osobliwych
í ¤
ù
ú
¦
à
ÛFÞJßÀ#¦ ¤
à
ÛFÞJßx¦
§
¢
ú
Ƨ
¦ ¤ Ƨ
ú¥c Ƨ
¦
à
§
¢
ÛFÞHßÀ¦·Â
È
º
È
È
ÛIÞJßx¦
¢
§
ú
,
(5.25)
Zbiór í ¤ został wyznaczony dla kinematyki we współrz˛ednych. Brakuje tutaj osobliwości reprezentacji. Wyznaczenie tych konfiguracji jest zwiazane
˛
ze zbadaniem konfiguracji osobliwych
ÉÁ´OаfË$¦
˵ò¼ Ø ´c°>ËÐËy«DÑc± ç Î?¾
dla jakobianu manipulatora. Komenda
, wyznacza zbiór wszystkich
í
osobliwych konfiguracji manipulatora. Sa˛ to konfiguracje (5.25) oraz zbiór
í
ë
§
D
Å
ÛFÞHß
Ä^§
ú¥
È
ROZDZIAŁ 5. WYNIKI
34
Czyli ostatecznie, konfiguracje osobliwe sa˛ opisane zbiorem
§
í
íù
í
í
ë È
(5.26)
Rozważania dotyczace
˛ konfiguracji osobliwych można również przedstawić graficznie. Wyì
ü
znaczajac
˛ schemat kinematyczny manipulatora dla konfiguracji D ú yeù ú: @ £ ¤ y
£ ¢ y
ë
àT£ ¢ y
¸5¹
ú:
³
ú¥
´X°f´XÎÏ«NаOѧ
³
¬g°f´Xµ¶
»
«µ·¸5¹
³
³
Ø ¯
í
¶:« Ø «Np¯>µx±
ú: yú: N£ ¤
ì
FàT£ ¢ yú: zú ¾
można zauważyć, że efektor nie leży w jednej płaszczyźnie z przegubami pierwszym i drugim
(rysunek 5.8a).
z
z
y
y
x
x
a)
b)
Rysunek 5.8: Manipulator wielokorbowy w konfiguracji a) nieosobliwej b) osobliwej.
Ograniczmy kinematyk˛e do współrz˛ednych położenia
¶@§ÉÁ´u¶:«t´X°DpÊÌËyµÍ«ÎÏ´XÐËy¬NÑc±¶·± ¦¾
¦ ¾
ÕÖ
Ó À$ÔÆ§
×
Ø O
 ÙNÚOÛO¦·ÂÜ
Ø ÂcÛIÞJß
¦·ÂÜ
Ø
Ø Ä:ÙÚOÛO¦
ÜÝÛIÞJß
¦ À Ø F
Û ÞJßx¦
Ü
¤ ÙÚOÛO¦ ¤ Ü
¢
¢
Ø ÛIÞJß
¦
Ø
Ø
Ä ÛIÞJß
¦
s
ÙNÚOÛO¦
À
ÛFJÞ ßx¦
Ü
¤
¤ Ü
à
¢
¢
Ø Ü Ø ÙNÚeÛO¦
Ü Ø ÃuÙNÚOÛO¦Ã
¢
¢
á â
Ø ÃuÛFÞJßx¦ÃNÆ
Ø ÃuÛFÞJßx¦ÃNÆ
ã
(5.27)
i zbadajmy jej właściwości pod wzgl˛edem unikania osobliwości, jak również istnienia kwadratowych postaci normalnych.
Dla konfiguracji ze zbioru íù otrzymujemy.
5.4. MANIPULATOR WIELOKORBOWY POLYCRANK
35
Unikanie osobliwości. Weźmy pod uwag˛e konfiguracj˛e osobliwa˛ ¦ ¢ ú , jest to równoważne
Ø#ì
Øë § ü
!
podsta
wieniu ѧ ¦ ¢ ú: ¦Ã |ú¥ . Dla długości ramion §
, otrzymujemy
"
´XÎ
ÎÏ´$#cµ&%c«N¦,± ¦
I
¦
¦Ã
¢
ú: ú Øì
ü
Ø$ë
ü
co oznacza, że jest to konfiguracja niemożliwa do unikni˛ecia bo
Postacie normalne. Dla tej samej konfiguracji, co powyżej
* ´+%,
¯>°>ÎÏ´ Ø Òt¯D°fÎ
«%$.µ&%c´Xµò± ¦
ä
¦
I
¢
¾
¥
ü)(
ú: '^ÀyÑDƧ
¿
'^ÀÑ>Æ (
¦Ã
µ
à
ù Î
§
ù
.
¾
ú¥
nie wyst˛epuje kwadratowa postać normalna.
5.4.2
Wyniki dla manipulatora z zależnymi przegubami czwartym i piatym
˛
Ponieważ tabela parametrów A.11 powstała na podstawie tabeli A.9 oraz listy warunków 5.20, już
na poczatku
˛
odrzucamy informacje dotycace
˛ ruchu piatego
˛
przegubu manipulatora. Sprawdźmy
czy spowoduje to uzyskanie innych wyników niż te, które uzyskaliśmy w poprzednim podrozdziale.
Kinematyka. Kinematyka we współrz˛ednych manipulatora opisanego parametrami z tabeli A.11
¶@§ªÉ
´¶«ÊÌËyµ·«ÎÏ´OÐËy¬NÑc±
¬°e´Xµ·¶
³
î.¸?¹
í
¾
³
ma postać
Ó À$ÔÆ§
À Ø Â¬ÂsÜ
Ø
Ø Ä¬
¤ ¬ ¤ Ü
> Ø ÂÑfÂÜ
Ø
Ø ÄÑ
¤ Ñ ¤ Ü
> Ø
Ü
Ø
ù
¬
¢
¦
¢O e ¦.Ä
¦ÅÆ Ç
È
(5.28)
Wyznaczamy wektor ¦
¦¨§ª©t«¬®p¯D°s±=²e¦.²
y³
¬°e´Xµ·¶:¸?¹
«µ¼uI½:¾
³iºOºe»
¿
¦¨§ÁÀ#¦·Â
¦ ¤ ¦
¦
¦Ã ¦.Ä ¦ÅÆ Ç È
f ¢e Jakobiany. Jakobian analityczny dla kinematyki (5.28)
é·´u¬g¯
ö÷
÷
à
÷
÷
÷
Ø ÂÑfÂ
Ø Â®¬Â
ó À$Ô^Ƨ
÷
÷
Ø
à
Ø
¤ Ñ ¤
¤ ¬ ¤
à
µ¡± ¦¾
Ø ÄÑ
Ø Ä¬
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
¢
Ñ
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ø
àûù
Ø
ú
ü
þ
ú
ú
÷
ú
ýþ
ú
¢
ú
ü
þ
þ
þ
þ
þ È
þ
ú
ú
ü
(5.29)
ÿ
Przypatrujac
˛ si˛e powyższemu jakobianowi, stwierdzamy że wszystkie informacje dotyczace
˛ piate˛
go przegubu zostały utracone (nie istnieje żadna pochodna kinematyki po zmiennej przegubowej
¦Ã
ze wzgl˛edu podstawienie warunków (5.20). Majac
˛ to na uwadze, możemy przypuszczać, że
wyniki otrzymane na podstawie tego jakobianu, czyli również kinematyki (5.28) moga˛ być niepoprawne. Sprawdźmy nasze przypuszczenia.
Postać jakobianu manipulatora wyznaczonego na podstawie parametrów z tabeli A.11
é·Î±
jest identyczna z postacia˛ (5.23).
³
¬°f´cµ·¶
í
î.¸?¹
³
¾
ROZDZIAŁ 5. WYNIKI
36
Osobliwości. Dla kinematyki opisanej równaniem (5.28) wyznaczamy osobliwości
Ëyµò¼ Ø ´X°fË$ÐËz«DÑc±=¦¾
í
í
íù
ü Â
§
Â
§
¦
¢
¦
¢
ÛFÞHßx¦
¢
ÛFÞHß`À#¦·Â
È
§
ú¥c ¦ ¤ Ƨ
à
È
úu¥
Porównujac
˛ powyższe zbióry konfiguracji osobliwych ze zbiorem í ¤ stwierdzamy, że nasze przypuszczenia były słuszne. Otrzymaliśmy niepoprawne wyniki. Pomimo zgodności zbiorów opisanych równaniem ÛIÞJßx¦ ¢ § ú , zbiory í oraz í^ù Â nie pokrywaja˛ si˛e.
Podsumowujac,
˛ zbyt wczesne podstawienie warunków określajacych
˛
mechniczne właściwości manipulatora powoduje utracenie ważnych informacji dotyczacych
˛
kinematyki manipulatora.
Prowadzi to do bł˛ednych wyników, czego przykładem jest zbiór konfiguracji osobliwych íù  .
5.5
Manipulator K-arm 1207
Rozważania dotyczace
˛ tego manipulatora zostały podzielone na łatwe (przy założeniu, że wszystkie parametry geometryczne ´- sa˛ zerowe) oraz złożone (przy założeniu, że parametry geome˛
jest podyktowany zbyt skomplikowanymi
tryczne ´s i ´ ¤ sa˛ niezerowe). Ten sposób rozwiazania
obliczeniami zwiazanymi
˛
z postacia˛ kinematyki dla manipulatora opisanego parametrami z tabeli A.2.
5.5.1
Przykład podstawowy
Kinematyka. Kinematyka we współrz˛ednych manipulatora opisanego parametrami z tabeli A.2
ì
ë
ü
przy podstawieniu za wszystkie elementy ´$- wartości 0 ´ §´ ù §´ §´ §´ §´ § ú ,
¶@§ªÉ
´¶«ÊÌËyµ·«ÎÏ´OÐËy¬NÑc±\Ê
´c°>Îϸ?¹
³
¾
ma postać
ÕÖ
Ó ÀÔÆ§
×
À.%
à
ápâ
Ü %cÃÙÚOÛO¦ ÆfÛIÞJß`À¦·Â.Ü ¦ ¤ Æ
/
%cÃ:ÙÚOÛÀ¦·Â.Ü ¦ ¤ ÆfÙNÚeÛe¦ ÛFÞHßx¦ ¢
¢
à
Ù ÚeÛDÀ#¦·ÂÜ ¦ ¤ Æ.À %
N
Ü/%cÃÙNÚeÛO¦ Æ
%cÃuÙNÚOÛO¦ ÛIÞJß`À¦·Â.Ü ¦ ¤ f
Æ ÛIÞJßx¦
¢ à
¢
%uÃuÛFÞHßx¦ FÛ ÞHßx¦ ¢
à
ã
(5.30)
zakładajac
˛ że wektor zmiennych przegubowych jest zdefiniowany jako
¦T§©t«¬®p¯>°:±=²e¦.²
0
¾
¿
¦¨§ÁÀ¦·Â
¦ ¤ ¦
¦
¦Ã ¦.Ä ¦ÅÆ Ç
f ¢O Schemat manipulatora K-arm 1207 przedstawiono na rysunkach 5.9a) oraz 5.9b).
Osobliwości. Dla kinematyki opisanej równaniem (5.30) wyznaczamy osobliwości
í
ü
í
í^ù
Ëyµò¼ Ø ´X°fË$ÐËz«DÑc±=¦¾
¦
§
§
¦
Å
Å
ÛIÞJßx¦
ÙÚOÛO¦
È
§
¢
§
ú¥c úu¥c Postacie normalne. Dla żadnej konfiguracji osobliwej opisanej zbiorami í
kwadratowa postać normalna.
ü
oraz íù nie wyst˛epuje
5.5. MANIPULATOR K-ARM 1207
37
z
z
y
y
x
x
b)
a)
Rysunek 5.9: Manipulator K-1207 w konfiguracji a)
5.5.2
DN
£¤ ¥
b)
.
Dg¢ú¥
Przykład bardziej złożony
Kinematyka. Kinematyka we współrz˛ednych manipulatora opisanego parametrami z tabeli A.2
ì
ë
przy podstawieniu za elementy ´ e ´ ¢O ´cà ´XÄ wartości 0 ´ §´ §´ §´ § ú ,
¶@§ªÉÁ´u¶:«ÊÌ˵·«ÎÏ´OÐËz¬Ñc±Ê
´X°>Îϸ?¹
¾
³
ma postać
ÕÖ
Ó ÀÔÆ§
%cÃN¬
´:ÂgÑfÂgÑ ¤ Ì
Ü ¬ÂÀ´:®¬ ¤ Ü/%cì Ñ ¤ ÆÜ/% f
Ñ Â ¤ Ì
Ü ¬Â ¤ ¬ À$´ ¤
¢
à
¬Â ¤ 1À %
Ü/%cÃg¬ ÆÜ Ñf ¤ À$s
´ ÂsÜ̬ À$´ ¤
cÃÑ F
%
Æ Æ
à
¢
à
¢
Ñ À ´ ¤
%cÃ Ñ ¢ Æ
à
¤ ¬ ¢ Ñf à
×
%cÃÑ
¢
ápâ
Æ
ã
È
(5.31)
Kinematyka jest zależna od czterech zmiennych przegubowych
¦T§ª©t«¬p¯D°s±=²e¦.²
ì ¾
¿
¦¨§
À#¦·Â
¦ ¤ ¦
¦ Æ Ç È
e ¢
Osobliwości. Dla kinematyki opisanej równaniem (5.31) wyznaczamy osobliwości
í
ü
í
íù
í
§
¦
¢
§
§
Ëyµò¼ Ø ´X°fË$ÐËz«DÑc±=¦¾
6f¦
ÙNÚOÛe¦
¦
¢
¢
ÛFÞJßx¦
ÙNÚOÛO¦
I
¦
£ ¤. ¦
¢
ÙNÚeÛe¦
§
ú
¢
ú¥c 32
45 ¥c 87
È
à 2:9 4;<>=?A@CB
§
¢
Unikanie osobliwości. Dla konfiguracji ze zbioru í
¸?« Ø p´ò± ¦
§
§
ü
È
:
£ ¤¥
¦
¾
^
£¤ ¿
D
¦
§
¢
£¤ ¥
ú: Co oznacza że nie jesteśmy w stanie stwierdzić czy osobliwość jest możliwa czy też niemożliwa
do unikni˛ecia.
Postacie Normalne. W tym przypadku także nie wyst˛epuje kwadratowa postać normalna, zarówno
ü
dla konfiguracji ze zbioru í , jak i dla zbioru íù .
ROZDZIAŁ 5. WYNIKI
38
5.5.3
Manipulator z zablokowanymi dwoma ostatnimi przegubami
Kinematyka. Została wyznaczona na podstawie pi˛eciu pierwszych przegubów manipulatora. Przeguby szósty i siódmy zostały usuni˛ete. Różnic˛e w budowie można zaobserwować na podstawie
˛
pełny manipulator oraz rysunku 5.10 przedstawiajacego
˛
marysunków 5.9a),b) przedstawiajacych
nipulator złożony z pierwszych pi˛eciu przegubów.
¶@§ÉÁ´u¶:«ÊÌËyµÍ«ÎÏ´XÐËy¬NÑc±\Ê
´X°fÎϸ?¹
±±ë
³
´Xµò¼«N¾ ¾H¾.
ºOºeä
Kinematyka jest zależna od pi˛eciu zmiennych przegubowych
¦¨§©S«¬p¯D°:±\²e¦.²
ë ¾
¿
¦T§
À#¦·Â
¦ ¤ ¦
¦
¦ÃÆ Ç
e ¢e i ma postać
ÕÖ
%cÃg¬ ¤ ¬
¬ÂDÀ.c
% ì ¢
Ö
Ö
Ö
Ö
Ö
Ö
Ó ÀÔÆ§
Ö
¢
¬Â ¤ À1%
Ü/%cÃg¬ Ü/ExÂgÑ ÆÜ
¢
¢
à
×
Ñ
gdzie ExÂx§ ´ Ü ´ ¢ ¬Ã E ¤ § ´
metrów geometrycznych tzn. %
ÕÖ
%
ápâ
´:ÂÑf娄 ¤ Ü/% Ñf ¤ Ü!À.%cì ÑeÂÑ ¤ /
Ü ExÂgÑf ¤ F
Æ Ñ Ü
à
¢
Ñ ¤ Ì
Ü ¬ ¤ À$´sÂ
cì Ñ ÆFÆuÜ̬ ¤ À¬ À´ ¤ /
%
Ü ExÂ(¬ Æ
E ¤ Æ
à
¢
¢ à
ÑfÂ
¢
Ñf ¤ À´:ÂÜ̬ À´ ¤ Ü/E¡Â(¬
¢,à
À$´ ¤ Ü/Ex®¬
¢
à
%cÃÑ
ÆÜÌ´
¢
¬
¢
%cÃÑ
¢
Æ
à
â
â
â
â
E
â
â
â ¤ Æ
ã
ÑÃ
Ñ
ÑÃ
. Po uproszczeniu kinematyki
§F%cà ´
§
´
à
¢ otrzymaliśmy
na podstawie znajomości paraápâ
¬ ¤ ¬ f
Ñ Â
´:ÂÑf娄 ¤ /
Ü % Ñf ¤ Ü!À.% ¬ ÑeÂÑ ¤ /
Ü ExÂgÑf ¤ F
Æ Ñ Ü
¢
à
¢
¬Â>À1% ¬ Ñ ¤ Ü̬ ¤ À´:Â
% ¬ Ñ ¢ ÆIÆÜ̬ ¤ À¬ À$´ ¤ /
Ü Ex®¬ Æ/
Ü E ¤ Æ
¢
à
¢
Ö
Ö
Ö
Ö
Ö
Ö
Ó À$ÔÆ§
Ö
à
â
¬Â ¤ À1%
Ü/% ¬ Ü/ExÂÑ ÆuÜ
¢
¢
×
Ñ
Ñf ¤ À´:ÂÜ̬ À´ ¤ Ü/E¡Â(¬
¢à
À$´ ¤ Ü/Ex®¬
¢,à
%
Ñ
Æ
¢
à
´
¬
%
Ñ
â
â
â
â
â
â ÆÜ/E ¤ Æ
¢
(5.33)
ã
ÑÃ
(5.32)
gdzie E¡Â§ ´ À à ¬ÃNÆ E ¤ § à ´ Ñ Ñà . Zmniejszyło to liczb˛e zmiennych przy dalszych obliczeniach.
Osobliwości. Niestety, zbyt skomplikowana postać kinematyki oraz duża liczba zmiennych wyst˛eë
pujacych
˛
w równaniu (5.33) tzn. liczba zmiennych przegubowych równa oraz liczba parametrów
ì
równa , powoduje przekroczenie możliwości obliczeniowych pakietu. Po pi˛eciu godzinach obliczeń nie uzyskano wyniku.
ü
5.6
Manipulator IRb-6 na torze jezdnym
Kinematyka. Kinematyka manipulatora wyrażona w postaci macierzowej
ÊÌËyµÍ«ÎÏ´OÐËz¬Ñu±G#
äIH
аf´u¬¶:¸?¹
³
¾
to
ö÷
÷
J
÷
ÀÔÆ§
ø
¬ ¤ ¬gÃ¬Ä·Ü Ñ ¤ ÑÄ
¬ÄÑÃ
à
¬gÃN¬ÄÑ ¤
¬ ¤ Ñ Ä
à
à
à
à
ú
¬ ¤ D
Ñ Ã
¬Ã
Ñ ¤ ÑÃ
ú
à
¬ÄÑ ¤
¬ ¤ ¬ÃNÑÄ
à
ÑÃÑÄ
¬ ¤ ¬Ä
à
¬ÃNÑ ¤ ÑÄ
ú
¬ ¤ À$´ ¤ ¬ ÜÌ´ ¬ Ü/%XÄÑÃÆ
¢
:Â.Ü/%XĬÃ
%
´ ¤ Ñ
´ Ñ
à
à
`à
¢
¦·Â.Ü Ñ ¤ À´ ¤ ¬ ÜÌ´ ¬ Ü/%XÄNÑDÃÆ
¢
ü
Kinematyka we współrz˛ednych manipulatora opisanego parametrami z tabeli A.4
¶@§ªÉ
´¶«ÊÌËyµ·«ÎÏ´OÐËy¬NÑc±G#
äIH
аe´c¬¶:¸?¹
³
¾
ýþ
þ
þ
È
ÿ
(5.34)
5.6. MANIPULATOR IRB-6 NA TORZE JEZDNYM
39
z
y
x
Rysunek 5.10: Manipulator K-1207 ograniczony do pierwszych pi˛eciu przegubów, w konfiguracji
D
Â
£ ¤. y ¤ ú yN^
Ã
£ ¤. yg¢|¡
£ ¤¥
to
ÕÖ
Ö
Ö
Ö
Ö
Ö
Ó ÀÔ^Ƨ
ápâ
ÙÚOÛO¦ ¤ À$´ ¤ ÙNÚOÛf¦
ÜÌ´ ÙÚOÛe¦
Ü/%cÄÛFÞHßx¦ÃÆ
¢
%:ÂsÜ/%cÄÙNÚOÛO¦Ã à ´ ¤ ÛFÞHßx¦ ,à ´ ÛFÞHßx¦ ¢
à
¦·ÂÜÝÛFÞHß
¦ ¤ À$´ ¤ ÙNÚOÛO¦
ÜÌ´ ÙÚOÛO¦
Ü/%XÄÛFÞJß,¦ÃÆ
¢
¦ ¤
tà
Ü ¦Ã
¦.Ä
à
Ö
Ö
×
â
â
â
â
â
â È
â
(5.35)
ã
Jest to kinematyka we współrz˛ednych położenia oraz współrz˛ednych orientacji typu katy
˛ Eulera
À
ïàÏ ¤
Ü
Ã
Ià
ÄÆ
ä
À.K
Æ
SàÏ ¤ ä
Àyå
Ü
$
ÃNÆ
À.K
ä
Fài
ÄDÆ
Oczywiście, w celu wyświetlenia kinematyki musimy zdefiniować wektor przestrzeni przegubowej
manipulatora
¦T§©t«¬®p¯>°:±=²e¦.²
# I
ä H
аf´c¬N¶¸?¹
³iºOºe»
«µò¼cI½:¾
¿
¦T§
À#¦·Â
¦ ¤ ¦
¦
¦Ã ¦.ÄÆ Ç È
e ¢O Osobliwości. Dla kinematyki opisanej równaniem (5.35), wyznaczamy osobliwości
í
ü
í
íù
÷
÷
ú
÷
ú
ó
÷
à
¦L
ú
ú
÷
ø
ÙNÚeÛe¦ ¤ §
ÛFÞHßÀ¦
,à
à
ú
ú
÷
Ä
ÄM
Ñ ¤ À´ ¤ ¬ ÜÌ´ ¬ Ü/%XÄNÑÃNÆ
¢
¬ ¤ À´ ¤ ¬ ÜÌ´ ¬ Ü/%cÄNÑÃÆ
¢
ü
à
ü
÷
ÀÔÆ§
¦
È
ú¥c Ƨ
¢
ú¥c é´c¬g¯Nûµx±=¦¾
Jakobiany. Jakobian analityczny
ö÷
¦L
§
§
Ëyµò¼ Ø ´X°fË$ÐËz«DÑc±=¦¾
à
´ ¤ ¬ ¤ Ñ
´ ¤ ¬
à
´ ¤ Ñ ¤ Ñ
¬ ¤ Ñ
¢
´ ¬
à
¢
´ Ñ ¤ Ñ
à
¢
à
´
ú
ú
ú
ú
ú
ú
ú
ú
ýþ
%XÄN¬ ¤ ¬gÃ
%XÄÑDÃ
à
%XĬÃNÑ
ú
þ
þ
ú
þ
þ
¤
þ È
þ
ú
ú
ü
ú
þ
ú
ú
à
ü
ÿ
(5.36)
ROZDZIAŁ 5. WYNIKI
40
Postacie normalne. Pierwsze wyliczenie postaci normalnej może potrwać dłużej ze wzgl˛edu na
złożona˛ funkcj˛e kinematyki (ma to zwiazek
˛
z wyznaczeniem takiej postaci kinematyki po permutacji wierszy oraz permutacji współrz˛ednych, aby spełniony był warunek (3.8)). Dla konfiguracji
osobliwej ¦ ¤ £ ¤ , jak i dla konfiguracji ¦ ¤ O.¤ £ , nie wyst˛epuje kwadratowa postać normalna.
Biorac
˛ pod uwag˛e konfiguracje osobliwe opisane zbiorem íù , otrzymujemy
¦
– dla konfiguracji
^
¦
£¢ ¢
£¢ ¥
* ´+%,
- postać normalna˛
¯>°>ÎÏ´ Ø Òt¯D°fα ¦
¶·À#¦òÆ`§QPI¦·Â
– dla konfiguracji
¦
^
ú: ¦
¢Lx¥
I
¦
^
£¢ ¦
¢
£¢ ¥
¾
Ç
¦ ¤ ¦
¦.Ä ¦
¦ ¤Ã3R
f ¢O (5.37)
- postać normalna˛ równoważna˛ (5.37).
Należy tutaj nadmienić, że kolejność zmiennych przegubowych w równoważnej postaci kinematyki nie jest istotna, bierze si˛e ona z poszukiwania takiej permutacji zmiennych przegubowych, aby
warunek (3.8) był spełniony.
z
z
y
y
x
x
a)
b)
Rysunek 5.11: Manipulator IRb-6 na torze jezdnym w konfiguracji osobliwej a) í
S
ü
Ã
Ä
Â
£ ¤ y^
£ ¢ yg¢
àT£ y
£ ¤ y
|ú¥ b) íù
D
y ¤ ú yN^
£ ¢ yg¢
£ ¢ y
üTS
Ã
D
Â
£ ¤ y
Ä
ü
y ¤
úu¥
Rozdział 6
Podsumowanie
6.1
Pakiet jako narz˛edzie
Praca prezentuje pakiet oprogramowania Akiman do badania kinematyki manipulatorów. Pakiet
dostarcza narz˛edzia wspomagajacego
˛
prac˛e konstruktorów jak i osób zainteresowanych wykorzystaniem albo przyswojeniem sobie wiedzy zwiazanej
˛
z analiza˛ kinematyki manipulatorów.
Zawarte w nim programy moga˛ skutecznie wspomagać analiz˛e kinematyki manipulatorów. Poczynajac
˛ od pakietu zwiazanego
˛
z kinematyka,
˛ istnieja˛ możliwości wyznaczania kinematyki w
formie macierzowej lub jako kinematyki we współrz˛ednych. Kolejnymi możliwościami pakietu Akiman‘Kinematics sa:
˛ wyliczanie jakobianu analitycznego, jakobianów geometrycznych i jakobianu manipulatora, jak również wyznaczanie zbiorów konfiguracji osobliwych manipulatora.
Procedury zwiazane
˛
z badaniem osobliwego odwrotnego zadania kinematyki sa˛ zawarte w pakietach Akiman‘SingularityAvoiding w przypadku unikania osobliwości oraz Akiman‘NormalForm w
przypadku definiowania kwadratowych postaci normalnych równoważnych osobliwej kinematyce.
Graficzne możliwości programu Akiman sa˛ zawarte w pakiecie Akiman‘Graphics. Pozwalaja˛ one
na przedstawianie schematów manipulatorów, wyznaczanie ścieżki efektora oraz na animacj˛e ruchów przegubów manipulatorów. Dodatkowo w pakiecie jest zawarta baza parametrów DenavitaHartenberga ośmiu manipulatorów.
Pewnym mankamentem zwiazanym
˛
z użytkowaniem oprogramowania jest czas działania poszczególnych funkcji. W szczególności, jest to widoczne przy manipulatorach, w których liczba
zmiennych i parametrów przkracza 10. Dlatego użytkownicy korzystajacy
˛ z tego oprogramowania,
przy manipulatorach o takiej liczbie zmiennych, powinni liczyć si˛e z dużym nakładem czasowym
potrzebnym do rozwiazania
˛
poszczególnych zadań.
6.2
Wyniki przeprowadzonych analiz
W ramach analizy kinematyki poszczególnych manipulatorów zostały przedstawione wyniki obrazujace
˛ możliwości oprogramowania.
Pierwszy przykład dokładnie przedstawia sposób korzystania z oprogramowania. W kolejnych
przykładach, koncentrujemy si˛e bardziej na analizie własności badanych manipulatorów oraz na
interpretacji otrzymanych wyników.
W przypadku bardzo skomplikowanych przykładów jak np. dla manipulatora K-arm 1207,
badania zostały przeprowadzone na modelu uproszczonym . Wynikało to głównie z długiego czasu
potrzebnego na wyznaczanie kinematyki robota oraz jej bardzo skomplikowanej postaci.
Przy okazji zostały uzupełnione wyniki niektórych badań. Mi˛edzy innymi, sa˛ to wyniki zwia˛
zane ze zbiorem konfiguracji osobliwych manipulatora wielokorbowego POLYCRANK. Został
wyznaczony pełny zbiór konfiguracji osobliwych oraz został przedstawiony poprawny jakobian
manipulatora i jakobian analityczny.
41
42
6.3
ROZDZIAŁ 6. PODSUMOWANIE
Ograniczenia programu M ATHEMATICA U
W trakcie tworzenia pakietu pojawiły si˛e pewne problemy zwiazane
˛
z oprogramowaniem funkcji w
M ATHEMATICE wyliczajacych
˛
konfiguracje osobliwe manipulatorów, zwłaszcza z funkcja˛ Solve.
Dodatkowo, funkcja Reduce nie jest w stanie rozwiazać
˛
symbolicznie układu równań ze wzgl˛edu
na zmienne określone w drugim argumencie tej funkcji. Wynikiem tego jest postać rozwiazania
˛
zwracanego przez funkcje Singularities oraz MatrixSingularities. Nie jest możliwe wyznaczenie
zbioru konfiguracji osobliwych zwiazanych
˛
tylko ze zmiennymi przegubowymi.
Dodatek A
Transformacje i tabele
A.1
Podstawowe transformacje układów
J
Transformacje macierzowej postaci kinematyki
ö÷
ü
÷
÷
¯À#æ
ä
0V
ú
Æ`§
ú
ú
÷
WV
ÛFÞHß`À
Ƨ
Æ
V
à
Æ
V
ú
ÛIÞJß`À
ÙÚOÛDÀ
ú
ÙNÚeÛDÀ
÷
ä
ÛFÞJßÀ
ø
ö÷
¯Àyå
ú
ÙNÚOÛÀ
ø
V
ÛFÞHßÀ
à
Æ
ÙNÚOÛDÀ
ú
ú
÷ö
V
÷
ú
ú
%uƧ
ú
ü
ø
ú
ú
ú
ú
ú
Àæ
ä
WV
Æ`§
ü
ú
ø
Àå
0V
Ƨ
ÛIÞJß`À
ú
ö÷
ä
ú
ÙÚOÛÀ
ü
°e´XµÑcÀæ
X
ø
ÙNÚOÛÀ
ÛFÞJßÀ
V
V
V
Æ
V
à
þ
÷
X
ü
ú
÷
ÿ
°f´cµ·ÑcÀyå
Æ
Æ
à
Æ
ÙNÚOÛÀ
ÛIÞJß`À
ÙÚOÛDÀ
ú
V
V
ýþ
Æ
ú
ú
WV
Ƨ
ÙÚOÛDÀ
à
ú
ú
ú
ú
ú
Æ
ú
ú
ü
þ
ú
ÙÚOÛDÀ
V
þ
ÿ
ýþ
Æ
V
ÿ
ü
ü
ú
þ
ú
%
ÿ
ýþ
ú
ü
ü
þ
ú
ú
ÛIÞJß`À
ú
ú
ýþ
ú
ü
Æ
ú
ü
þ
ú
Æ
ÿû ÿ
ü
V
ú
ú
ü
Æ
V
ü
þ
ú
%
ú
ú
ú
ø
ú
ÛIÞJß`À
ø
ýþ
ú
Æ
ö÷
À1K
Bä
Æ
Æ
V
ÿ
%ÆÍ§
ú
ú
ú
÷ö
V
ú
ú
ø
þ
ú
V
ú
ü
ýþ
Æ
V
ú
ÙNÚeÛDÀ
ú
÷
%uƧ
ü
Æ
ö÷
ýþ
ú
%
ú
ÛFÞHß`À
V
ÛFÞHßÀ
ú
÷
Transformacje cz˛eści rotacyjnej kinematyki:
ö÷
à
ú
ÿ
ú
ü
ø
þ
ü
ú
ú
ÛFÞHßÀ
Ƨ
0V
Æ
V
þ
ú
ú
ÙNÚOÛÀ
ýþ
ú
Æ
ü
÷
°f´XµÑcÀ.K
ü
ú
ú
ú
X
Æ
V
¯À.K
Bä
ÿ
ú
ú
Æ
V
÷
÷
ú
Æ
V
ö÷
þ
þ
Æ
V
ýþ
ú
Parametryzacja współrz˛ednych typu: Katy
˛ Eulera i jej modyfikacje
À.Y
0V^ Z
Æ
ä
YÍÆ
ä
ä
ä
ä
ä
Àyå
À.K
ä
Æ
0V
YÍÆ ä À#æ WV
À#æ
YÍÆ ä À.K 0V
À#æ
Y Æ ä Àyå WV
Í
À.K YòÆ
Àyå
ä
0V
À.K YòÆ
À#æ
ä
0V
Àyå
Àyå
ä
Æ
Æ
Æ
Àæ
ä
À.K
ä
À.K
ä
Z
Æ
Z
À#æ
ä
Æ
Æ
Àå
ä
Æ
.Z
Z
. Z
Æ
Æ
(A.1)
Æ
Æ
Z
Parametryzacja współrz˛ednych typu: RPY (roll-pitch-yaw)
À
A.2
Y 0 V .Z
Æ
|ä
Àyå
YÍÆ
ä
À.K
0V
Æ
ä
À#æ
Z
Æ
Parametry Denavita-Hartenberga manipulatorów
43
(A.2)
DODATEK A. TRANSFORMACJE I TABELE
44
[ -
nr
1
2
3
4
5
6
7
%$-
´-
E\-
ú
£¤
Â
¤
ú
ú
´ ¤
N
ú
¢
´
ú
Å
£¤
ú
£¤
ú
ú
£¤
ú
ú
£¤
Ä
ú
%cÃ
Ã
ú
£¤
Tabela A.1: Parametry Denavita-Hartenberga dla Cybotech‘a
[ -
nr
1
2
3
4
5
6
7
%-
´-
ú
ú
´:Â
Â
¤
%
N
¢
´
ú
Ä
£¤
´
à
¢
´ Ã
c
ú
Å
ú
£¤
´ ¤
%cÃ
Ã
ú
E\-
à
´XÄ
ú
£¤
£¤
£¤
£¤
Tabela A.2: Parametry Denavita-Hartenberga dla manipulatora K-Arm 1207
nr
1
2
3
4
5
6
7
[ -
%-
Â
ú
¤
ú
ú
È ëfì
g¢
Ã
ú
Ä
´-
ú
ë ì
Èf
Å
ú
ü
ú
ú
ú
ú
ú
ú
ù
Èü
ú
à
ú
Èü
à
ü
ET-
ú$
È
ú
]
ú
]
ü]
£¤
ë
£¤
^
]
È
ú$ ^
È ì ]
ú
ù
È ì ]
ú
à
£¤
£¤
à
ù
£¤
£¤
Tabela A.3: Parametry Denavita-Hartenberga dla manipulatora K-Arm 1207 z zadanymi parametrami geometrycznymi kinematyki
nr
1
2
3
4
5
6
[ -
%$-
´-
ET-
Â
% Â
:
ú
£¤
ú
£¤
N
ú
´ ¤
g¢
àÏN
Ã
àÏ¢
Ä
ú
ú
¤
ú
% Ä
X
´
ú
ú
ú
´ Ã
c
£¤
à
£¤
Tabela A.4: Parametry Denavita-Hartenberga dla manipulatora IRb-6 na torze jezdnym
A.2. PARAMETRY DENAVITA-HARTENBERGA MANIPULATORÓW
%-
[ -
nr
1
2
3
ET-
Ø Â
Â
´-
ú
ú
ú
Ø
¤
ú
¤
Ø
ú
ú
Tabela A.5: Parametry Denavita-Hartenberga dla manipulatora typu potrójne wahadło
[ -
%$-
´-
%:Â
´:Â
¤
ú
´ ¤
ú
N
ú
ú
¢
ú
ú
ú
nr
1
2
3
4
Â
E\ú
ú
Tabela A.6: Parametry Denavita-Hartenberga dla manipulatora SCARA
[ -
nr
1
2
3
4
5
6
%$-
´-
E\-
ú
ú
àT£ ¤
Â
%
¤
ú
¢
¤
ú
£¤
N
ú
ú
ú
ú
ú
ú
£¤
ú
ú
Ã
%XÄ
Ä
à
£¤
Tabela A.7: Parametry Denavita-Hartenberga dla manipulatora stanfordzkiego
[ -
nr
1
2
3
4
5
6
%-
´-
ú
ú
´ ¤
Â
¤
N
Ã
à
£¤
ú
£¤
¢
ú
à
ú
%XÄ
Ä
´
%
¢
ú
%
E\-
£¤
ú
£¤
ú
ú
Tabela A.8: Parametry Denavita-Hartenberga dla manipulatora PUMA
nr
1
2
3
4
5
6
7
[ ¤ à
Nà
Ü
¤
Ü
Ä
à
à
ÅÜ
ú
Ø
Â
£¤
Ø
ú
g¢
ÃÍÜ
ú
ØÄ
£¤
E\-
ú
ú
¤
ú
£¤
£¤
´Ø Â
Â
g¢
Ã
%-
ú
ú
£¤
Ø
¢
ú
Ø Ã
ú
ú
£¤
ú
ú
Tabela A.9: Parametry Denavita-Hartenberga dla manipulatora wielokorbowego
45
DODATEK A. TRANSFORMACJE I TABELE
46
nr
1
2
3
4
5
6
7
[ Â
¤ à
Ü
¤
Ü
Ä
à
à
ÅÍÜ
´-
ú
Â
Nà
g¢
Ã
%ú
ë ë
ü ÈO
£¤
È
ú
£¤
ú
ù
È
ú
£¤
£¤
ú
ú
ù
ë
]
ú
Èü
Où
ú
ë
Èü
^
ú
ú
ú
Èü
ú
g¢
ÃÍÜ
ù
ET-
£¤
ú
ú
ú
£¤
ú
ú
Tabela A.10: Parametry Denavita-Hartenberga dla manipulatora wielokorbowego z zadanymi parametrami geometrycznymi kinematyki
nr
1
2
3
4
5
6
7
[
¤ à
Nà
g¢
Ä·Ü
%-
àûùf¢
g¢
ÅÜ
ú
Ø
Â
£¤
ú
£¤
£¤
£¤
Ø
ØÄ
ú
ú
ú
Ø
ú
ú
¤
ú
Ø
£¤
Ü
E\-
Ø Â
Â
Ü
¤
Ü
´-
¢
ú
¢
ú
ú
£¤
ú
ú
Tabela A.11: Parametry Denavita-Hartenberga dla manipulatora wielokorbowego przy założeniu
że człony 4 i 5 sa˛ zależne (wynika to z mechanicznej budowy manipulatora)
Spis literatury
[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] K. TCHOŃ: Singularity avoidance in redundant robot kinematics: a dynamical system approach. Appl. Math. and Comp. Sci., 1997, Vol. 7, No.2, 401-412.
[5] K. TCHOŃ, R. MUSZYŃSKI: Singularities of Nonredundant Robot Kinematics Int. J. Robotic Res. 1997, Vol. 16,60-76.
[6] K. TCHOŃ: Quadratic normal forms of redundant robot kinematics with application to singularity avoidance. IEEE Trans. Robotics & Automat., 1998, Vol. 14, No.5, 834-837.
[7] 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.
[8] S. PIWKO :Unikanie osobliwości w robotach o redundantnej kinematyce, Praca magisterska,
Wrocław, 1998.
[9] K. KREUTZ-DELGADO, M. LONG, H. SERAJI: Kinematic Analysis of 7-DOF Manipulators The International Journal of Robotic Research, 1992, Vol. 11,469-481.
[10] F.L LITVIN: Singularities in motion and displacement functions for 7 degree-of-freedom
manipulator. Journal of Robotic Systems, 1987, Vol. 4, No 3, 397-421.
47
Spis treści
1
Wst˛ep
1.1 Wprowadzenie ogólne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 O pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
2
2
Kinematyka
2.1 Reprezentacja Denavita-Hartenberga . . . . . . . . . . . . . . . .
2.2 Kinematyka we współrz˛ednych . . . . . . . . . . . . . . . . . . .
2.3 Jakobiany . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Jakobian manipulatora w różnych układach współrz˛ednych
2.4 Konfiguracje osobliwe . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
3
3
3
4
6
6
3
4
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Osobliwe odwrotne zadanie kinematyki
3.1 Unikanie osobliwości . . . . . . . . . . . . . . . .
3.1.1 Kinematyka o stopniu redundancji 1 . . . .
ü
3.1.2 Kinematyka o stopniu redundancji _
. .
3.2 Postacie normalne . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
9
10
12
Pakiet Akiman
4.1 Instalacja i uruchomienie . . . . . .
4.2 Ograniczenia pakietu . . . . . . . .
4.3 Dane wejściowe . . . . . . . . . . .
4.4 Pakiet Akiman‘Kinematics . . . . .
4.4.1 Podstawowe funkcje pakietu
4.4.2 Pomocnicze funkcje pakietu
4.5 Pakiet Akiman‘SingularityAvoiding .
4.6 Pakiet Akiman‘NormalForm . . . .
4.7 Pakiet Akiman‘Graphics . . . . . .
4.8 Pakiet Akiman‘Parameters . . . . .
4.9 Pomoc . . . . . . . . . . . . . . . .
4.10 Ostrzeżenia . . . . . . . . . . . . .
4.11 Rozbudowa pakietu Akiman . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
15
15
16
16
16
17
18
18
19
20
20
21
21
21
.
.
.
.
.
.
.
.
23
23
27
29
31
32
35
36
36
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Wyniki
5.1 Potrójne wahadło . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Manipulator SCARA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Cybotech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Manipulator wielokorbowy POLYCRANK . . . . . . . . . . . . . . . . . . .
5.4.1 Wyniki dla manipulatora podstawowego . . . . . . . . . . . . . . . .
5.4.2 Wyniki dla manipulatora z zależnymi przegubami czwartym i piatym
˛
5.5 Manipulator K-arm 1207 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1 Przykład podstawowy . . . . . . . . . . . . . . . . . . . . . . . . .
i
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
SPIS TREŚCI
ii
5.6
6
5.5.2 Przykład bardziej złożony . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5.3 Manipulator z zablokowanymi dwoma ostatnimi przegubami . . . . . . . . 38
Manipulator IRb-6 na torze jezdnym . . . . . . . . . . . . . . . . . . . . . . . . . 38
Podsumowanie
41
6.1 Pakiet jako narz˛edzie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.2 Wyniki przeprowadzonych analiz . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.3 Ograniczenia programu M ATHEMATICA` . . . . . . . . . . . . . . . . . . . . . . 42
A Transformacje i tabele
43
A.1 Podstawowe transformacje układów . . . . . . . . . . . . . . . . . . . . . . . . . 43
A.2 Parametry Denavita-Hartenberga manipulatorów . . . . . . . . . . . . . . . . . . 43
Spis rysunków
2.1
Schemat kinematyki manipulatora . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
Manipulator typu potrójne wahadło a) w konfiguracji osobliwej, b) w konfiguracjach nieosobliwych o
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
Manipulator typu potrójne wahadło a) w konfiguracji osobliwej D Â £ ¢ ¤ ú: NLx¥ b) w konfig
Manipulator typu potrójne wahadło a) w konfiguracji osobliwej D Â £ ¢ ¤ ¡ y^úu¥ osiagajacej
˛
Manipulator SCARA w konfiguracji osobliwej a) ¤ ú , b) ¤ L . . . . . . . . 28
Robot SCARA ograniczony do kinematyki w aspekcie współrz˛ednych położenia, w konfiguracji nieos
a) Układ bazowy dla Cybotecha opisanego w tabeli A.1, b) Układ bazowy dla Cybotecha z [10]. 30
Cybotech w konfiguracji osobliwej D^ú: g¢ £ ¤ ¥ . . . . . . . . . . . . . . . . 31
Cybotech w konfiguracji a) osobliwej DN^L¡ ¢ £ ¤ ¥ , b) nieosobliwej . . . . . 32
Manipulator wielokorbowy w konfiguracji a) nieosobliwej b) osobliwej. . . . . . . 34
Manipulator K-1207 w konfiguracji a) D^ £ ¤ ¥ b) Dg¢^ ú¥ . . . . . . . . . . . . 37
Manipulator K-1207 ograniczony do pierwszych pi˛eciu przegubów, w konfiguracji D Â £ ¤ò y ¤ |ú: y
üTS
ü
Â
Manipulator IRb-6 na torze jezdnym w konfiguracji osobliwej a) í
D
¤
£ ¤ò N^
£ ¢ y¢
iii
4
iv
SPIS RYSUNKÓW
Spis tabel
A.1
A.2
A.3
A.4
A.5
A.6
A.7
A.8
A.9
A.10
A.11
Parametry Denavita-Hartenberga dla Cybotech‘a . . . . . . . . . . . . . . . . . . 44
Parametry Denavita-Hartenberga dla manipulatora K-Arm 1207 . . . . . . . . . . 44
Parametry Denavita-Hartenberga dla manipulatora K-Arm 1207 z zadanymi parametrami geometryczn
Parametry Denavita-Hartenberga dla manipulatora IRb-6 na torze jezdnym . . . . 44
Parametry Denavita-Hartenberga dla manipulatora typu potrójne wahadło . . . . . 45
Parametry Denavita-Hartenberga dla manipulatora SCARA . . . . . . . . . . . . 45
Parametry Denavita-Hartenberga dla manipulatora stanfordzkiego . . . . . . . . . 45
Parametry Denavita-Hartenberga dla manipulatora PUMA . . . . . . . . . . . . . 45
Parametry Denavita-Hartenberga dla manipulatora wielokorbowego . . . . . . . . 45
Parametry Denavita-Hartenberga dla manipulatora wielokorbowego z zadanymi parametrami geometr
Parametry Denavita-Hartenberga dla manipulatora wielokorbowego przy założeniu że człony 4 i 5 sa˛ z
v