STUDIA INFORMATICA 26 Volume 27 Number 2 (67) Rafał SZKOWRON, Andrzej HARLECKI Akadema Technczno-Humanstyczna w Belsku-Bałej, Katedra Mechank Informatyk KOMPUTEROWE WSPOMAGANIE NAUCZANIA Z ZAKRESU ZASTOSOWAŃ SIECI NEURONOWYCH I ALGORYTMÓW GENETYCZNYCH DO ROZWIĄZYWANIA ODWROTNEGO ZADANIA KINEMATYKI MANIPULATORÓW Streszczene. W pracy przedstawono możlwośc przygotowanego programu komputerowego o nazwe NeuroManp, w którym wykorzystuje sę seć neuronową jako narzędze do rozwązywana odwrotnego zadana knematyk manpulatorów. W proponowanej metodze do uczena przyjętej sec używa sę algorytmu genetycznego. Jako przykład rozważono hpotetyczny, przestrzenny, trójczłonowy manpulator o sześcu stopnach swobody. Przygotowany program komputerowy daje równeż możlwość alternatywnego rozwązana odwrotnego zadana knematyk analzowanego manpulatora, przy wykorzystanu, opartej na odmennym formalzme, metody jakobanu pseudoodwrotnego. Słowa kluczowe: komputerowy program wspomagający nauczane, seć neuronowa, algorytm genetyczny, manpulator, odwrotne zadane knematyk COMPUTER AIDED TEACHING REGARDING APLLICATIONS OF NEURAL NETWORKS AND GENETIC ALGORITHMS FOR SOLVING INVERSE KINEMATICS PROBLEM OF MANIPULATORS Summary. In ths paper possbltes of the prepared computer program, called Neuromanp, has been presented. In ths program, a neural network s used to solve the nverse knematcs problem of manpulators. For tranng the neural network assumed, the genetc algorthm has been used. As an example, a chosen hypothetcal, spatal, three-lnks manpulator wth 6 degrees-of-freedom has been analyzed. The program prepared enables also solvng the nverse knematcs problem of the manpulator analyzed by usng the pseudonverse Jacoban method based on dfferent formalsm. Keywords: computer program aded teachng, neural network, genetc algorthm, manpulator, nverse knematcs problem
46 R. Szkowron, A. Harleck 1. Wadomośc wstępne Szczegółowy ops sec neuronowych, jako gałęz sztucznej ntelgencj, oraz sposobu ch dzałana uczena można znaleźć w welu publkacjach, wśród których wymenć można także krajowe monografe [1, 13, 18]. Sec neuronowe znajdują szeroke zastosowane w różnych dzedznach technk, w tym główne w elektrotechnce automatyce, a także w medycyne. Spośród welu mplementacj należy wymenć przede wszystkm te, w których seć neuronową zastosowano jako element generujący sygnały sterujące w różnych urządzenach mechanzmach. Szczególne często sec neuronowe używane są do sterowana ruchem członów manpulatorów robotów [1, 3, 4, 7, 8, 9, 11, 12, 14, 16, 17]. W przypadku rozwązywana prostego zadana knematyk (forward knematcs problem) manpulatorów [2] znane są wartośc współrzędnych konfguracyjnych (złączowych), opsujących ruch względny sąsednch członów rozważanego manpulatora, natomast określa sę położene, czyl pozycję orentację, jego członu roboczego (tzw. efektora). W przypadku rozwązywana odwrotnego zadana knematyk (nverse knematcs problem) manpulatorów [2, 6, 15] znane jest położene efektora, natomast wyznacza sę wszystke możlwe zbory współrzędnych złączowych, gwarantujących uzyskane tego położena. W porównanu z prostym zadanem knematyk wydaje sę być ono trudnejsze ze względu na welokrotność rozwązań, wynkającą z faktu, ż stneje klka możlwych warantów położeń członów manpulatora, odpowadających określonemu położenu efektora. Warunkem konecznym stnena rozwązana odwrotnego zadana knematyk jest to, aby efektor, o zadanym położenu, znajdował sę w tzw. przestrzen roboczej manpulatora [2]. 2. Macerze transformacj na baze kątów Eulera Wzajemne położene dwóch układów współrzędnych może być określone za pomocą tzw. macerzy transformacj jednorodnych, np. popularnej w robotyce macerzy Denavta- -Hartenberga [2], elementy której buduje sę w oparcu o cztery parametry geometryczne. W opracowanym programe zaproponowano jednakże nny sposób budowana macerzy transformacj, bazujący na wykorzystanu kątów Eulera (rys. 1) [2]. Z analzy przedstawonego rysunku wdać, że rozważono tu przypadek wzajemnego położena dwóch, utworzonych przez wersory, prawoskrętnych układów współrzędnych Xˆ Xˆ, o wspólnym początku, mających początkowo tę samą orentację. Końcowe położene układów uzyskano dokonując ch kolejnych obrotów, przy czym w zaproponowanym podejścu każdy obrót jest wykonywany wokół os (wersorów) układu Xˆ (ruchomego), natomast ose układu Xˆ pozostają B B B B B B A A A A A A
Komputerowe wspomagane nauczana z zakresu zastosowań sec neuronowych... 47 neruchome. Ze względu na fakt, ż trzy obroty wykonywane są kolejno wokół os przedstawony sposób określa sę jako obroty o kąty Eulera Ẑ Ŷ Xˆ. Należy ponadto zwrócć uwagę, że każdy drug trzec obrót wykonywany jest wokół os, których aktualne położene zależy od poprzedno wykonanego obrotu (obrotów). B,, Xˆ B B Rys. 1. Kąty Eulera Ŷ Xˆ Fg. 1. Euler s angles Ẑ Ŷ Xˆ W przyjętej metodze lczba członów manpulatora może być (teoretyczne) dowolna mogą być one połączone ze sobą przegubam kulstym (tworzą zatem pary knematyczne III klasy). Ostatn człon, ze swobodnym końcem (końcowym punktem K), traktowany jest jako efektor. Wszystke przeguby numeruje sę kolejno, począwszy od przegubu 1 najblższego neruchomej podstawy (rys. 2), oznaczonej numerem. Rys. 2. Numerowane członów przegubów manpulatora Fg. 2. Numberng of lnks and jonts of manpulator W środku przegubu umeszcza sę początek bazowego układu współrzędnych. Ose tego układu, tak jak ose pozostałych (lokalnych) układów współrzędnych, zwązanych z poszczególnym członam, utworzone są przez prawoskrętny układ wersorów w tym przypadku Xˆ.
48 R. Szkowron, A. Harleck Zakłada sę przy tym, że orentacja wersorów tego układu może być dowolna. W punktach stanowących środk wszystkch pozostałych przegubów, a także w końcowym punkce K efektora, umeszcza sę początk lokalnych układów współrzędnych, utworzonych przez wersory o numerach, zgodnych z numerem adekwatnego przegubu. Przyjmuje sę, że wersory Xˆ układów są skerowane wzdłuż prostych, przechodzących przez środk przegubów 1 oraz, które łączą człon z sąsednm członam, w stronę od przegubu 1 do przegubu (rys. 3). tych Rys. 3. Przyjęte układy współrzędnych Fg. 3. Coordnate systems assumed Aby określć pozycję orentację dwóch sąsednch układów współrzędnych, począwszy od podstawy do efektora, w przyjętej metodze, buduje sę macerze transformacj Xˆ do układu Xˆ 1 1 1 ) [15], bazujące na kątach Eulera, a następne dokonuje sę złożena tych macerzy, korzystając z loczynu: n = 1 (z układu K ( α, β, γ) = T ( α, β, γ ), (1) gdze: α, β, γ kąty Eulera, T cosα cos β = sn α cos β sn β cosα sn β sn γ sn α cosγ sn α sn β sn γ + cosα cosγ cos β sn γ cosα sn β cosγ + sn α sn γ sn α sn β cosγ cosα sn γ cos β cosγ T l cosα cos β l sn α cos β l sn β 1 l odległość środków przegubów oraz + 1 (w przypadku gdy = n jest to odległość końcowego punktu K efektora od środka ostatnego przegubu 1). Pozycję efektora w bazowym układze z nm układu współrzędnych Xˆ YZ K ( α, β, γ), stanowącej w stoce wektor k( α,β, γ). n n n X (a zatem położene początku zwązanego ) określają elementy czwartej kolumny macerzy,
Komputerowe wspomagane nauczana z zakresu zastosowań sec neuronowych... 49 3. Budowa sztucznej sec neuronowej Z uwag na sposób przemeszczana sę końcowego punktu K efektora z początkowego punktu P trajektor do jej punktu docelowego D (rys. 3), ogólne rzecz borąc, przyjęta seć neuronowa pownna warantowo umożlwać realzację jednego z wymenonych przypadków: 1) gdy ne ma wymagań co do przebegu trajektor czasu trwana ruchu końcowego punktu K efektora mędzy początkowym punktem P docelowym punktem D trajektor, 2) gdy określona jest trajektora końcowego punktu K efektora, ale ne ma wymagań co do czasu jego przemeszczana, 3) gdy oprócz wymagań co do przebegu trajektor, narzucone zostaną wymagana co do czasu przemeszczena końcowego punktu K efektora. Przygotowując model (rys. 4) sztucznego neuronu, jako podstawowego elementu sec neuronowej, należy przyjąć, że będze sę on składał z elementu przetwarzającego, który posada n wejść x, gdze = 1, 2,..., n (każde scharakteryzowane przez tzw. wagę w, gdze = 1, 2,..., n ) oraz jedno wyjśce y. Zbory sygnałów wejścowych x można przedstawć za pomocą, zaprezentowanego tu, w transponowanej postac, wektora sygnałów wejścowych: T x = [ x x,..., xn ] 1, 2, (2) a zbór wag za pomocą wektora wag: T w = [ w w,..., wn ]. (3) 1, 2 element przetwarzający Rys. 4. Model sztucznego neuronu Fg. 4. Model of artfcal neuron Sygnał wyjścowy y można wyrazć jako funkcję loczynu skalarnego wektorów w T x (nazywaną funkcją aktywacj neuronu): ( w T x) y = f. (4) Spośród welu rodzajów funkcj aktywacj [13, 18] autorzy programu wybral sgmodalną, bpolarną (tzn. przyjmującą zarówno wartośc dodatne, jak ujemne) funkcję (rys. 5), określoną wzorem:
5 R. Szkowron, A. Harleck f T 2 ( w x) = T 1 1+ e λw x. (5) gdze: e podstawa logarytmów naturalnych, λ współczynnk nachylena funkcj. Rys. 5. Przyjęta postać sgmodalnej, bpolarnej funkcj aktywacj neuronu Fg. 5. Assumed form of sgmodal, bpolar actvaton functon of neuron Pojedynczy neuron posada ogranczone możlwośc oblczenowe jego zadane ograncza sę do tworzena ważonej sumy sygnałów wejścowych określena, na jej podstawe, pojedynczego sygnału wyjścowego. Tworzy sę węc warstwę składającą sę z N neuronów (rys. 6). Wchodzące w jej skład neurony przetwarzają równocześne n sygnałów, podanych na wejścu warstwy. Rys. 6. Model warstwy neuronów Fg. 6. Model of layer of neurons Stwerdzono już, że z każdym neuronem zwązany jest pewen wektor wag. Zatem, zbór wag zwązanych z całą warstwą można zapsać w postac wektora: T [ w, 1, w,2,..., w, n w = ] = 1, 2,..., N, (6) gdze ndeks kolejnego neuronu w rozważanej warstwe.
Komputerowe wspomagane nauczana z zakresu zastosowań sec neuronowych... 51 Wektor wyjścowy danej warstwy neuronów ma następującą postać: T y = [ y, 1 y2,..., yn ]. (7) Wartośc sygnałów wyjścowych (czyl wartośc elementów wektora y) można oblczyć bezpośredno ze wzoru: ( x) y = f = 1, 2,..., N, (8) w T a po uszczegółowenu: n ( j= 1, j ) y = f w x = 1, 2,..., N. (9) j Jeżel sygnały (9) potraktuje sę jako sygnały wejścowe do następnej warstwy, otrzyma sę seć welowarstwową. Najczęścej używaną strukturą sec jest taka, w której sygnały przekazywane są bezpośredno z warstwy do warstwy, począwszy od perwszej do ostatnej (seć nazywana jest wówczas jednokerunkową, rys. 7). Rys. 7. Model jednokerunkowej sec welowarstwowej (ndeksy w przyjętych oznaczenach odpowadają numerom poszczególnych warstw) Fg. 7. Model of one-way, mult-layer network (ndces n notaton assumed correspond to numbers of partcular layers) Perwsza warstwa (przyjęto, że posada ona N 1 elementów, a na jej wejścu podawanych jest N sygnałów), której sygnały wejścowe są jednocześne sygnałam wejścowym do całej sec, nazywana jest warstwą początkową. Ostatna warstwa (przyjęto, że posada numer L, wobec czego zawera N L elementów), podająca sygnały, będące odpowedzą całej sec, nos nazwę warstwy wyjścowej. Warstwy pośredne, o le stneją, stanową tzw. warstwy ukryte.
52 R. Szkowron, A. Harleck Stosowane są równeż sec neuronowe ze sprzężenem zwrotnym, w których sygnały wyjścowe danej warstwy są równocześne sygnałam wejścowym do nej samej lub do warstw ją poprzedzających [13, 18]. Wektor wyjścowy sec przyjmuje następującą postać: L L L L y T = [ y y,..., y ]. (1) 1, 2 ] NL Jego elementam są sygnały wyjścowe ostatnej warstwy (rys. 7). Wektor wag zwązany z -tym neuronem, znajdującym sę w posadającej N k neuronów (gdze k = 1, 2,..., L) k-tej warstwe sec, przedstawono jako: k T k k k [ w, w,... w ] w = = 1, 2,..., N k. (11) Sygnały, 1,2, ], Nk 1 są rzeczywstym sygnałam wysyłanym przez seć. Tymczasem, na wyjścu sec oczekuje sę sygnałów wyjścowych o konkretnych (wymaganych) wartoścach, które można przedstawć jako elementy wektora, oczekwanych sygnałów wyjścowych sec: L L 1, y2 y,..., y L N L T d = [ d 1, d2,..., d N ]. (12) L Zatem, każdemu wektorow N sygnałów wejścowych sec: [ x 1, x2,..., xn T x = (13) można przyporządkować wektor oczekwanych sygnałów wyjścowych d. Mów sę, że tworzy sę w ten sposób jeden punkt uczący. Można oczywśce wygenerować dowolną lczbę m punktów uczących. Dysponując zborem punktów uczących, przystępuje sę do procesu doboru wag zwązanych z poszczególnym neuronam, zwanego procesem uczena sec. Wag te doberane są losowo w postac newelkch lczb przy ch użycu, na podstawe elementów wektora sygnałów wejścowych x, oblcza sę elementy wektora wyjścowego sec y L (stanowącego w stoce wektor rzeczywstych sygnałów wyjścowych). Po porównanu wartośc elementów wektora y L z wartoścam odpowednch elementów wektora oczekwanych sygnałów wyjścowych d, wyznaczonych w przypadku poszczególnych punktów uczących o numerach l = 1, 2,..., m, można określć błąd sec, wykorzystując zależność: m NL [ l= 1 = 1 L () l y () l ε = d. (14) 2 Proces uczena sec realzuje sę dopóty, dopók błąd ten ne stane sę mnejszy od przyjętego, dopuszczalnego błędu sec.
Komputerowe wspomagane nauczana z zakresu zastosowań sec neuronowych... 53 Generalne znane są trzy podstawowe metody uczena sec metoda najmnejszych kwadratów [1], metoda propagacj wstecznej błędów [9, 1, 18] oraz metoda algorytmu genetycznego [5, 13], którą wykorzystuje sę równeż w przypadku prezentowanego programu. Należy pamętać, że uwzględnona lczba m punktów uczących ma znaczący wpływ na efektywność metody przyjęce zbyt dużej lczby tych punktów powoduje wydłużene czasu oblczeń, natomast następstwem przyjęca zbyt małej ch lczby jest ryzyko wystąpena dużego błędu sec. 4. Ogólna charakterystyka algorytmu genetycznego Dzałane algorytmu genetycznego wzorowane jest na zachodzących w przyrodze procesach ewolucj, pozwalających żywym organzmom na dostosowane sę do otaczającego je środowska. Wnkając w stotę procesu, można zaobserwować kolejne etapy rozwoju organzmów. Najperw całe pokolene jest poddawane oddzaływanu środowska, w którym osobnk lepej przystosowane mają wększe szanse przeżyca. Osobnk, które przetrwały, mogą przystąpć do reprodukcj, w wynku której powstaje nowe ch pokolene (pokolene potomne). Dzedzczy ono, w postac zakodowanej, cechy swojego pokolena rodzcelskego. Powstałe pokolene potomne poddawane jest analogcznym procesom [5, 13]. Okazuje sę, że operając sę na tak scharakteryzowanych ogólnych przesłankach, można dokonywać analogcznych zman (ewolucj) wartośc wybranych zmennych matematycznych, tak aby uzyskać możlwe najlepszy (optymalny) wynk wyznaczanej zależnośc (funkcj). W przypadku prezentowanej metody zmennym, decydującym o końcowym wynku, określonym zależnoścą (14), są wag zwązane z poszczególnym neuronam sec. W każdym pokolenu tworzy sę zatem wrtualnego osobnka, reprezentującego jeden zestaw wag. Można stwerdzć, że jego przystosowane będze tym wększe, m mnejszy będze błąd sec, opartej na oferowanym przez nego zestawe wag. Operacje tworzena kolejnych pokoleń osobnków (teracje), w ramach których dokonuje sę stosownych selekcj osobnków najsłabej przystosowanych, powtarzają sę aż do utworzena osobnka, gwarantującego uzyskane błędu sec o wartośc mnejszej od przyjętego błędu dopuszczalnego. Użyty algorytm postępowana (algorytm genetyczny) można zatem przedstawć w postac zaprezentowanej na rys. 8.
54 R. Szkowron, A. Harleck Rys. 8. Schemat dzałana przyjętego algorytmu genetycznego Fg. 8. Scheme of genetc algorthm assumed Kolejnym zagadnenem jest dobór odpowednej funkcj, na podstawe której można by dokonać stosownej oceny przystosowana poszczególnych osobnków (czyl w przypadku prezentowanej metody ocenć jakość doboru wag poszczególnych neuronów, w aspekce mnmalzacj błędu, opartej na nch sec). Przyjęto, że rolę tę będze pełnć funkcja, określająca błąd rzeczywstego położena końcowego punktu K efektora w stosunku do jego wymaganego położena, którą zapsano wzorem: gdze: f = K K K X Y, Z Xˆ K K ' 2 K K ' 2 K K ' ( X X ) + ( Y Y ) + ( Z Z ) 2, (15), wymagane współrzędne końcowego punktu K efektora w bazowym układze, X Z rzeczywste (uzyskane w wynku dzałana sec) współrzędne tego punktu. K ' K ', Y, K ' 5. Ops przygotowanego programu NeuroManp W procese rozwązywana odwrotnego zadana knematyk wybranego manpulatora przy użycu, napsanego w środowsku programstycznym Delph 5., programu komputerowego, który nazwano Neuromanp, można wyróżnć następujące etapy:
Komputerowe wspomagane nauczana z zakresu zastosowań sec neuronowych... 55 określene parametrów geometrycznych manpulatora, budowa sec neuronowej, realzacja procesu uczena sec, realzacja procesu rozwązywana odwrotnego zadana knematyk analzowanego manpulatora przy wykorzystanu algorytmu genetycznego, alternatywne rozwązane zadana przy wykorzystanu metody jakobanu pseudoodwrotnego. Jak już stwerdzono, w przyjętej metodze lczba członów rozważanego manpulatora może być (teoretyczne) dowolna. Zakłada sę przy tym, że są one połączone przegubam kulstym, przy czym dopuszcza sę możlwość odebrana łączonym członom jednej lub dwóch możlwośc ruchu względnego (a w konsekwencj odebrane tworzącemu manpulator łańcuchow knematycznemu stosownej lczby stopn swobody). Opracowany program wykorzystano do rozwązywana odwrotnego zadana knematyk wybranego manpulatora. Na jego przykładze, w dalszej częśc artykułu, prześledzona zostane realzacja poszczególnych etapów programu. 5.1. Określene parametrów geometrycznych manpulatora Perwszym etapem w przyjętym postępowanu jest określene struktury geometr rozważanego manpulatora, poprzez podane lczby jego członów ch długośc. Wybrany do analzy manpulator posadał trzy człony (oznaczono je numeram = 1, 2, 3), których długośc wynosły odpowedno 15, 1 15 cm. Człony połączone zostały przegubam kulstym, przy czym przyjęto, że jedyne kąty α β (gdze = 1, 2, 3) rys. 1, mogą zmenać sę w czase, natomast kąty γ zostały przyjęte jako stałe. Łączonym członom odebrano zatem jedną możlwość ruchu względnego, wobec czego analzowany manpulator posadał sześć stopn swobody. 5.2. Budowa sec neuronowej Do oblczeń została wybrana jednokerunkowa, welowarstwowa seć neuronowa. Przyjęto następujące jej parametry: lczba warstw 4 (warstwa wejścowa, dwe warstwy ukryte, warstwa wyjścowa); lczba neuronów w warstwe początkowej 24, w każdej warstwe ukrytej 24 w warstwe wyjścowej 6 (zatem seć zbudowano przy wykorzystanu 72 neuronów). 5.3. Realzacja procesu uczena sec Do uczena sec wykorzystano zbór m = 1 losowo wygenerowanych punktów uczących. Generowane pojedynczego punktu uczącego przebegało w następującej kolejnośc:
56 R. Szkowron, A. Harleck przy użycu funkcj Random wylosowane zostały wartośc kątów α β, gdze = 1, 2, 3 (w programe przewduje sę, że maksymalne wartośc tych kątów określane zostaną przez jego użytkownka), następne, przy wykorzystanu wzoru (1), oblczone zostały współrzędne (początkowe) X K, Y K, Z K końcowego punktu K efektora (rys. 9) w bazowym układze Xˆ, z kole, przy użycu funkcj Random, wylosowane zostały wartośc przyrostów Δα Δβ (gdze = 1, 2, 3) poszczególnych kątów (w programe przewduje sę, że maksymalne wartośc tych przyrostów określane zostaną przez jego użytkownka), następne oblczone zostały nowe wartośc kątów α β (gdze = 1, 2, 3), wyznaczono nowe współrzędne X K*, Y K*, Z K* końcowego punktu K efektora oblczono przyrosty ΔX K, ΔY K, ΔZ K tych współrzędnych, w stosunku do jego współrzędnych początkowych (rys.1). Rys. 9. Losowy wybór wartośc kątów α β (gdze = 1, 2, 3) Fg. 9. Random selecton of values of angles α and β (where = 1, 2, 3) Wygenerowany w ten sposób punkt uczący określony był przez wektor sygnałów wejścowych: K K K [ α, β, α, β, α, β,, ΔY ΔZ ] T x = 1 1 2 2 3 3 ΔX, (16) oraz wektor oczekwanych sygnałów wyjścowych: T = [ Δα1, Δβ1, Δα 2, Δβ 2, Δα 3, Δβ 3 d ]. (17) Zadanem utworzonej sec neuronowej było wygenerowane takch wartośc przyrostów Δα Δβ (gdze = 1, 2, 3) poszczególnych kątów, które zapewnć mały wymagane przemeszczene końcowego punktu K efektora, zgodne z zaplanowaną trajektorą. Do realzacj procesu uczena sec w programe wykorzystany został algorytm genetyczny o następujących parametrach [5, 13]: lczba osobnków 3, prawdopodobeństwo krzyżowana,97, prawdopodobeństwo mutacj,1. Przeprowadzone symulacje nu-
Komputerowe wspomagane nauczana z zakresu zastosowań sec neuronowych... 57 meryczne wykazały, że take wartośc parametrów gwarantują uzyskane najwększej efektywnośc oblczeń (powodują zmnmalzowane czasu potrzebnego na uczene sec). Rys. 1. Zmany wartośc kątów α β po losowym wyborze wartośc przyrostów Δα Δβ (gdze = 1, 2, 3) Fg. 1. Changes of values of angles after random selecton of values of ncreases Δα and Δβ (where = 1, 2, 3) Rys. 11. Przebeg błędu sec wyrażony w funkcj lczby zrealzowanych teracj Fg. 11. Course of error of neural network expressed as a functon of number of teratons realsed Na rys. 11 zlustrowano proces zmnejszana sę, określonego zależnoścą (14), błędu ε utworzonej sec w trakce kolejnych teracj procesu jej uczena. Uwzględnając fakt, że czas trwana jednej teracj wynos około 2 s, można oszacować łączny czas trwana procesu uczena sec na około 5 mn. 5.4. Realzacja procesu rozwązywana odwrotnego zadana knematyk analzowanego manpulatora przy wykorzystanu algorytmu genetycznego Dysponując dobranym zestawem wag, można było przystąpć do rozwązywana odwrotnego zadana knematyk rozważanego manpulatora.
58 R. Szkowron, A. Harleck Określene planowanej trajektor końcowego punktu K efektora następuje w programe poprzez podane współrzędnych punktów (jednego lub klku punktów pośrednch punktu docelowego), przez które ma ona przechodzć. Ustalając początkowe położene członów analzowanego manpulatora, przyjęto wartośc poszczególnych kątów równe: α = 3 o β = 2 o (gdze =1,2,3). Odpowedno do tych wartośc określono, przy wykorzystanu zależnośc (1), położene końcowego punktu K efektora, w bazowym układze Xˆ, jako: X K P = X = K P K P = 11,4 cm, Y = Y = 252,8 cm, Z = Z = -211,1 cm. Położene to było tożsame z położenem początkowego punktu P trajektor. Sformułowane zadane polegało na przemeszczenu końcowego punktu K efektora, najperw do punktu pośrednego S trajektor, o współrzędnych w bazowym układze: X = 1 cm, Y = 2 cm, Z = 2 cm, a następne do jej S S S D D D punktu docelowego D, o współrzędnych: X = 11 cm, Y = 17 cm, Z = 2 cm. Rozwązując odwrotne zadane knematyk, wyznaczono czasowe przebeg kątów α β (gdze = 1, 2, 3) rys. 12, zapewnające ruch końcowego punktu K efektora, zgodny z wymaganą trajektorą. Rys. 12. Przebeg kątów α β (gdze = 1, 2, 3) uzyskane w przypadku przyjętej sec neuronowej Fg. 12. Course of angles obtaned n case of neural network assumed Rys. 13. Ilustracja procesu zblżana sę końcowego punktu K efektora do kolejnych punktów trajektor Fg. 13. Illustraton of process of brngng termnal pont K of efector nearer to successve ponts of trajectory
Komputerowe wspomagane nauczana z zakresu zastosowań sec neuronowych... 59 Na rys. 13 zlustrowano, wyrażoną w czase, zmanę odległośc końcowego punktu K efektora od przyjętych punktów trajektor (w chwl t 1 punkt K zajmował położene S, w chwl t 2 zaś położene D). Rys. 14. Okno wyśwetlanych wykresów Fg. 14. Screen of graphs projected Program umożlwa prezentację anmacj ruchu członów rozważanego manpulatora, którego końcowy punkt K porusza sę zgodne z zadaną trajektorą, dokonywaną za pośrednctwem okna wyśwetlanych wykresów (rys.14). 5.5. Alternatywne rozwązane zadana Opracowany program umożlwa także alternatywne rozwązane odwrotnego zadana knematyk, w przypadku rozważanego manpulatora przy wykorzystanu, opartej na odmennym formalzme, metody jakobanu pseudoodwrotnego [6, 15]. Na, zaprezentowanym wcześnej, rys. 12 przedstawono, uzyskane przy użycu sec neuronowej, czasowe przebeg kątów α β (gdze = 1, 2, 3), a na rys. 16 a współrzędnye końcowego punktu K efektora. Na rys. 15 16 b przedstawono odpowedno przebeg tych samych welkośc, uzyskane przy wykorzystanu metody jakobanu pseudoodwrotnego. Można zauważyć, że przebeg czasowe poszczególnych kątów α β (gdze = 1, 2, 3), wyznaczone przy użycu sec neuronowej, różną sę od przebegów tych samych kątów, uzyskanych przy zastosowanu metody jakobanu pseudoodwrotnego. Różnce w wyznaczonych przebegach, a węc w zaoferowanych przez obe metody rozwązanach odwrotnego zadana knematyk, wynkają z faktu, ż jak już stwerdzono ne ma jedynego (wyłącznego) rozwązana tego zadana. Danemu położenu końcowego punktu K efektora odpowada bowem klka możlwych warantów zborów kątów α β (gdze = 1, 2, 3), gwarantują-
6 R. Szkowron, A. Harleck cych uzyskane tego położena. Rozwązań postawonego zadana jest zatem klka każda z obu metod oferuje nne z nch. Rys. 15. Przebeg kątów α β (gdze = 1, 2, 3) uzyskane w przypadku metody jakobanu pseudoodwrotnego Fg. 15. Courses of angles obtaned n case of pseudonverse Jacoban method Rys. 16. Przebeg współrzędnych końcowego punktu K efektora uzyskane w przypadku: a) przyjętej sec neuronowej, b) metody jakobanu pseudoodwrotnego Fg. 16. Courses of coordnates of termnal pont K of efector obtaned n case of: a) neural network assumed, b) pseudonverse Jacoban method Natomast, jak wynka z porównana rys. 16 a 16 b, przebeg czasowe współrzędnych końcowego punktu K efektora, uzyskane w przypadku uwzględnena obu rodzajów czasowych przebegów kątów α β (gdze = 1, 2, 3), jedyne neznaczne sę różną. Analzując obydwe grupy wykresów, można stwerdzć, że w obu rozważanych przypadkach końcowy
Komputerowe wspomagane nauczana z zakresu zastosowań sec neuronowych... 61 punkt K efektora, po rozpoczęcu ruchu z położena określonego punktem P, osągnął zadane położena określone punktam S oraz D. Obe metody zapewnły zatem poprawny wynk. 6. Uwag końcowe Opracowany program komputerowy umożlwa wspomagane nauczana z zakresu zastosowań sec neuronowych algorytmów genetycznych w zagadnenach sterowana układów mechancznych. Zdanem autorów, program ten może być użyteczny w procese dydaktycznym, realzowanym dla studentów kerunków mechancznych uczeln techncznych (w tym główne kerunku Automatyka Robotyka ), studujących zagadnena metod sterowana robotów. Na podstawe obserwacj, poczynonych w wynku przeprowadzena eksperymentów oblczenowych, można stwerdzć, że przygotowany program gwarantuje uzyskwane poprawnych wynków, nemnej jednak na jego efektywność ujemne wpływa stosunkowo dług czas uczena sec neuronowej, wynoszący klkadzesąt mnut. Okazało sę przy tym, że czas ten był znacznym stopnu uzależnony od wartośc przyjętych parametrów użytego algorytmu genetycznego, tzn. lczby osobnków, prawdopodobeństwa krzyżowana oraz mutacj. LITERATURA 1. Brudka M.: Sec neuronowe w sterowanu robotem na podstawe obrazów ultradźwękowych. Praca doktorska, Poltechnka Warszawska, Wydzał Elektronk Technk Informacyjnych, Warszawa 2. 2. Crag J. J.: Wprowadzene do robotyk. Mechanka sterowane. WNT, Warszawa 1995. 3. Gergel J., Hendzel Z., Trojnack M.: Szybke prototypowane neuronowego algorytmu sterowana mnrobotem. Przegląd Mechanczny, Nr 4, 25. 4. Gergel J., Hendzel Z., Trojnack M. :Szybke prototypowane neuronowego algorytmu sterowana moblnym robotem. Materały III Warsztatów Projektowana Mechatroncznego, Kraków 23. 5. Goldberg D.: Algorytmy genetyczne ch zastosowana. WNT, Warszawa 1995, 1998, 23. 6. Harleck A., Tengler S.: Komputerowy program dydaktyczny do numerycznego rozwązywana odwrotnych zadań knematyk manpulatorów. ZN Akadem Technczno-Humanstycznej, Nr 17, Belsko-Bała 24. 7. Knosala R. (red.): Zntegrowany system wytwarzana modułowych zespołów maszyn. Skrypt Uczelnany Nr 1939, Wydawnctwa Poltechnk Śląskej, Glwce 1995.
62 R. Szkowron, A. Harleck 8. De Lope J., Zarraonanda T., González-Careaga R., Maravall D.: Solvng the nverse knematcs n humanod robots: a neural approach. http://gsyc.escet.urjc.es/robotca/publcacones/rafaela-wann3.pdf. 9. Macukow B.: Sec neuronowe w układach sterowana robotów. Prace Naukowe Instytutu Cybernetyk Techncznej Poltechnk Wrocławskej, Nr 83, 199. 1. Osowsk S.: Sec neuronowe do przetwarzana nformacj, Ofcyna Wydawncza Poltechnk Warszawskej, Warszawa 2. 11. Rvals I., Personnaz L., Dreyfus G., Canas D.: Modelng and control of moble robots and ntellgent vehcles by neural network. Proc. of IEEE Conference on Intellgent Vehcles, Pars 1994. 12. Rvals I., Canas D., Personnaz L., Dreyfus G.: Real-tme control of an autonomous vehcle: a neural network approach to the path followng problem. Proc. of 5 th Internatonal Conference on Neural Networks and ther Applcatons NeuroNmes93, Nanterre 1993. 13. Rutkowska D., Plńsk J., Rutkowsk L.: Sec neuronowe, algorytmy genetyczne systemy rozmyte. Wydawnctwa Naukowe PWN, Warszawa 1997. 14. Tang W. S., Wang J.: A recurrent neural network for mnmum nfnty-norm knematc control of redundant manpulators wth an mproved problem formulaton and reduced archtecture complexty. IEEE Transacton on Systems, Man, and Cybernetcs Part B: Cybernetcs, Vol. 31, No. 1, 21. 15. Tchoń K., Mazur A., Dulęba I., Hossa R., Muszyńsk R.: Manpulatory roboty moblne. Modele, planowane ruchu, sterowane. Akademcka Ofcyna Wydawncza PLJ, Warszawa 2. 16. Zhang Y., Wang J.: Obstacle avodance for knematcally redundant manpulators usng a dual neural network. IEEE Transacton on Systems, Man, and Cybernetcs Part B: Cybernetcs, Vol. 34, No. 1, 24. 17. Zhou Y., Wlkns D., Cook R. P.: Neural network control for a fre-fghtng robot, http://www.cs.wustl.edu/~zy/robot.pdf. 18. Żurada J., Barsk M., Jędruch W.: Sztuczne sec neuronowe. Wydawnctwa Naukowe PWN, Warszawa 1996. Recenzent: Dr nż. Marcn Skowronek Wpłynęło do redakcj 8 czerwca 26 r.
Komputerowe wspomagane nauczana z zakresu zastosowań sec neuronowych... 63 Abstract After the ntroducton (the Chapter 1), the way of assumng coordnate systems, connected to partcular lnks of manpulators consdered, and defnng transformaton matrces, based on the Euler angles, has been presented (the Chapter 2). The basc prncples of preparng artfcal neural networks for control of moton of manpulators lnks have been charactersed n the Chapter 3. In the Chapter 4., the general scheme of genetc algorthm, whch has been used for tranng the neural network assumed, has been shown. The detaled descrpton of the computer program worked out, whch has been appled for solvng a nverse knematcs problem n the case of the manpulator consdered, has been presented n the Chapter 5. The chosen results of the task realsed have been shown n fg.11, 12, 13 and 16a. In ths Chapter, the results of the pseudonverse Jacoban method, appled alternatvely for solvng the nverse knematcs problem formulated, have been also shown (fg.15 and 16b). These results have been compared wth results obtaned n the case of the neural network assumed. The fnal remarks have been presented n the Chapter 6. Adresy Rafał SZKOWRON, Akadema Technczno-Humanstyczna, Katedra Mechank Informatyk, ul. Wllowa 2, 43-39 Belsko-Bała, Polska, rafal.szkowron@poczta.fm. Andrzej HARLECKI, Akadema Technczno-Humanstyczna, Katedra Mechank Informatyk, ul. Wllowa 2, 43-39 Belsko-Bała, Polska, aharleck@ath.belsko.pl.