Univerza v Ljubljani Fakulteta za elektrotehniko Damir Omrčen Kombinacija hitrostnega in navornega vodenja pri mobilnem robotskem manipulatorju DOKTORSKA DISERTACIJA Mentor: prof. dr. Jadran Lenarčič Ljubljana, maj 2005 ženi Danici in sinu Valu, Zahvala Zahvaljujem se svojemu mentorju prof. dr. Jadranu Lenarčiču za mentorstvo in koristne nasvete pri izdelavi doktorske disertacije. Zahvaljujem se tudi vsem kolegom iz Odseka za avtomatiko, biokibernetiko in robotiko na Institutu Jožef Stefan, ki so mi pomagali pri delu. Prav posebna zahvala gre dr. Bojanu Nemcu in dr. Leonu Zlajpahu, ki sta mi pomagala s koristnimi nasveti ter s svojim bogatim znanjem pozitivno vplivala na potek tega dela. Za finančno podporo podiplomskega študija se zahvaljujem Javni agenciji za raziskovalno dejavnost Republike Slovenije. Nenazadnje bi se rad zahvalil svoji družini za moralno podporo v vseh letih študija. Vsebina 1. Uvod 1 1.1 Opis ožjega znanstvenega področja in problematike........ 1 1.2 Cilji disertacije............................ 7 1.3 Metodologija ............................. 9 2. Model sistema 13 2.1 Mobilna ploščad Nomad XR4000 .................. 13 2.1.1 Model ploščadi........................ 15 2.2 Planarni robotski manipulator.................... 24 2.2.1 Model robotskega manipulatorja............... 25 2.3 Kinematični model mobilnega manipulatorja............ 26 2.4 Dinamični model........................... 27 2.4.1 Dinamični model....................... 28 2.4.2 Določitev gravitacijskih členov................ 29 2.4.3 Določitev vztrajnostnih členov................ 29 2.4.4 Določitev Coriolisovih in centrifugalnih členov....... 31 2.5 Model robota z notranjimi koordinatami, ki niso izražene relativno 33 2.5.1 Notranje koordinate uporabljene pri mobilnem manipulatorju 35 2.6 Zaključek ............................... 37 3. Vodenje in analiza vodenja 39 Vil viii Vsebina 3.1 Kombinacija hitrostnega in navornega vodenja........... 39 3.2 Analiza regulatorja.......................... 41 3.2.1 Analiza sledenja predpisani trajektoriji........... 41 3.2.2 Analiza odvisnosti sistema na zunanje sile......... 44 4. Določitev naloge mobilnega manipulator)a 51 4.1 Naloga mobilnega manipulatorja................... 51 4.1.1 Izogibanje oviram v okolici ploščadi............. 52 4.1.2 Odmikanje od ovir v okolici manipulatorja......... 53 4.2 Določitev uteži posplošenega inverza ................ 54 4.3 Nasičenje hitrosti in pospeškov.................... 57 4.3.1 Kompenzacija pospeška.................... 62 4.3.2 Rezultati kompenzacije nasičenja hitrosti.......... 63 4.4 Gibalno območje ploščadi ...................... 64 4.5 Orodje za delo z mobilnimi manipulator^.............. 70 4.6 Povezava sistemov........................... 71 5. Rezultati in ovrednotenje dela 77 5.1 Primerjava med hitrostnim, navornim in kombiniranim načinom vodenja ................................ 77 5.1.1 Sledenje trajektoriji...................... 78 5.1.2 Sila na vrhu manipulatorja.................. 79 5.1.3 Sila na segmente mobilnega manipulatorja......... 81 5.2 Analiza odziva na realnem sistemu ................. 84 5.2.1 Model trenja ......................... 86 5.2.2 Primerjava med navornim in kombiniranim načinom vodenja za sledenje trajektoriji v prostoru naloge v prostoru brez ovir............................ 87 Vsebina ix 5.2.3 Sledenje trajektoriji v prostoru naloge v prostoru z ovirami 89 5.2.4 Gibanje v primeru kontakta vrha manipulatorja z okoljem 93 5.3 Drugi algoritmi za kombinirano vodenje............... 93 6. Sklep 97 6.1 Izvirni prispevki............................ 99 Literatura 101 Povzetek Poglavitni prispevek doktorske disertacije je izdelava kombiniranega načina vodenja. To je povsem nov pristop k vodenju in združuje dva načina vodenja, to sta hitrostni in navorni način. Za ta način vodenja smo analizirali sledenje trajektoriji ter vpliv zunanje sile. V delu smo prikazali še modeliranje robotskega sistema ter nekaj dodatkov, ki izboljšajo delovanje robotskega sistema, kadar ima sistem omejene hitrosti oz. pospeške. Robotski sistem v našem delu je sestavljen iz holonomne mobilne ploščadi in robotskega manipulatorja in je redundanten. V začetku dela smo predstavili modeliranje celotnega sistema. Ugotovili smo, daje ploščad možno voditi samo s hitrostjo ter da dobro sledi trajektoriji. Na tej ploščadi je nameščen manipulator, ki ga lahko vodimo tudi z navorom. Določitev dinamičnega modela manipulatorja, ki se nahaja na mobilni ploščadi, je prikazana v nadaljevanju dela. Razvita metoda določitve dinamičnega modela je namenjena različnim vrstam manipu-latorjev, pri katerih se baza premika v ravnini. Temelji na predpostavki, da je dinamični model samega manipulatorja znan. Potrebno je določiti le tiste člene v dinamičnem modelu, ki jih prispeva gibanje ploščadi. Opisana metoda modeliranja je hitrejša in enostavnejša, manjša je tudi možnost napak v primerjavi z drugimi metodami opisanimi v literaturi. Načini vodenja, ki so bili do sedaj opisani v literaturi, ne omogočajo vodenja sistemov, pri katerih je del sistema potrebno voditi s hitrostjo in del z navorom. Robotski sistem, ki smo ga uporabili v našem delu, je sestavljen ravno na ta način, saj je manipulator potrebno voditi z navorom ploščad pa s hitrostjo. Zaradi tega uporabimo kombinirani način vodenja, ki omogoča vodenje tako sestavljenih sistemov. Osnovan je na regulatorju pospeška. Regulirne pospeške razdelimo v dva dela za vsak podsistem ločeno. Z integracijo določimo regulirne hitrosti, ki jih uporabimo pri ploščadi. Za določitev regulirnih navorov manipulatorja, pa upoštevamo dinamični model manipulatorja na mobilni ploščadi. Ker je ta način vodenja novost, smo analizirali sledenje trajektoriji v prostoru naloge ter v ničelnem prostoru. Robotski sistem deluje v prostoru, kjer je možen tudi dotik z okoljem. V delu smo prikazali vpliv zunanje sile na gibanje robota. Pri tem smo analizirali silo v prostoru naloge ter ničelnem prostoru. Pri tem imajo pomembno vlogo parametri regulatorja. Parametri določajo togost sistema ter zmožnost sledenja trajektoriji. Večja togost pomeni boljše sledenje in obratno. Raziskovalci so pokazali, da je redundanten robotski sistem dinamično konsistenten, če pri določitvi uteženega posplošenega inverza uporabimo utež, ki je enaka vztrajnostni matriki robota. To velja samo, če celoten sistem vodimo z navori. Če je sistem voden s kombiniranim načinom vodenja, smo pokazali, da to ne velja. Ugotovili smo še, da je takšen sistem lahko dinamično konsistenten, vendar z drugo utežjo. Žal pa z utežjo, ki zagotavlja dinamično konsistenco, sistem delno ločimo, kar ni zaželeno. Zaradi tega dinamična konsistenca v primeru kombiniranega načina vodenja ni uporabna. Osnovni namen robotskega sistema je uporaba v okolju, kjer živi človek. V takšnem okolju mora imeti robot velik delovni prostor ter sposobnost manipulacije z objekti, kar lahko dosežemo z mobilnim manipulatorjem. V takšnem okolju, ki je največkrat neznano in se dinamično spreminja, moramo zagotoviti, da se robot izogiba oviram. To smo dosegli na dva različna načina. Prvi način je preprost, navezuje se na ploščad in temelji na merjenju razdalje do ovir. Večina komercialno dosegljivih ploščadi že ima vgrajene ultrazvočne senzorje razdalje, ki zaznavajo ovire v njeni okolici. Te ovire generirajo pomik ploščadi v ničelnem prostoru, ki povzroči odmik ploščadi stran od ovir. Na drugi strani je zaznavanje ovir v okolici manipulatorja zelo težavno, saj gre za meritve v 3D prostoru. Rešitve opisane v literaturi pa ne dajejo ustreznih rešitev. Zaradi tega smo uporabili princip, ki temelji na dejstvu, da sila ovire pri kontaktu povzroči silo na manipulator, ki manipulator odmakne stran od ovire. Predpogoj, da je takšno odmikanje možno, je, da ima manipulator nesamozaporne prenose in nizko trenje v sklepih. S primerno izbiro parametrov regulatorja pa moramo zagotoviti, daje manipulator podajen v ničelnem prostoru, da se oviri ne upira. Hkrati moramo zagotoviti dobro sledenje trajektoriji v ničelnem prostoru, to je izogibanje oviram v okolici ploščadi. Manipulator mora biti podajen tudi na vrhu (v prostoru naloge), saj lahko pride do dotika vrha z okoljem. Parametre regulatorja za prostor naloge določimo tako, da sistem dobro sledi trajektoriji v prostoru naloge in da ima primerno obnašanje ob dotiku. V disertaciji smo podali nekaj lastnih izboljšav k vodenju, ki odpravijo težave nastale zaradi končnih hitrosti in pospeškov ploščadi. Opisali smo gibanje ploščadi znotraj t.i. gibalnega območja ter popolno kompenzacijo presežkov hitrosti in pospeškov. S temi izboljšavami dosežemo manjši pogrešek v prostoru naloge ter se izogibamo singularnim konfiguracijam mobilnega manipulatorja. Ob koncu dela smo podali primerjavo med tremi načini vodenja. Primerjali smo hitrostni, navorni in kombinirani način vodenja. Kljub omejitvi, da lahko ploščad vodimo samo s hitrostjo, smo dosegli, da so rezultati kombiniranega načina vodenja primerljivi z rezultati navornega načina ter so mnogo boljši kot pri hitrostnem načinu. Pri tem mislimo na sledenje trajektoriji ter na odziv sistema na zunanjo silo. Preizkusi na realnem sistemu so pokazali, da sistem zadovolji vsem zahtevam, ki smo jih podali v začetku dela. To pomeni, daje sistem dovolj natančen, ima velik delovni prostor, se odmika od vseh ovir v okolici manipulatorja ali ploščadi in pri tem uporablja le lastne senzorje, gibanje ob dotiku je ustrezno in se ga da nastavljati. Abstract The main contribution of this thesis is development of combined control. This is a novel framework for robot control that integrates two different types of control i.e. velocity control and torque control. In addition in the thesis the mathematical analysis of the presented control algorithm and modelling of the robotic system is also shown. The robotic system used in our work consists of a holonomic mobile platform and a robotic manipulator arm. This system is redundant. In the beginning we developed the mathematical model of the system. It was stated, that the mobile platform can only be controlled by velocity. The integrated controller ensures good tracking of the trajectory reference in spite of external forces. On the top of the mobile platform we have mounted the manipulator arm. The manipulator arm can also be controlled by torque. Later on we present the method for determining the dynamic model of a manipulator mounted on a mobile platform. The presumption for this method is that the model of the self-standing manipulator is known in advance. Therefore we have to determine only the elements in the dynamic model caused by the motion of the platform. Consequently the determination of the dynamic model is easier and faster with less possibility of fault comparing with other methods described in the literature. Until now no control algorithm described in the literature enabled control of the system where one part of the system is controlled by torque and one part by velocity. Since the robotic system used in our work is controlled in this way we used combined control. This type of control enables control of such systems. The combined control is based on acceleration control. The control accelerations are divided into two parts. The first part corresponds with the platform and the second part with the manipulator. The velocity reference of the platform is obtained by integration of the platform part of the control acceleration. On the other hand the torques of the manipulator are obtained using the dynamic model of the manipulator on the mobile platform and the manipulator part of the control acceleration. This system of combined control is new. Therefore, we have to analyse the system controlled by such control. The analysis includes tracking the trajectory reference in the task and null space. Furthermore, the influence of the external forces in the task and null space on the motion of the mobile manipulator is analysed. Using the controller parameters one can set the task space impedance and null space damping and quality of the trajectory tracking. Better trajectory tracking corresponds to higher stiffness and vice versa. Redundant robotic system is dynamically consistent in case of inertia weighted generalized inverse. This is true only if we control all torques in the system. In case of combined controlled system this is not true. We have shown, that such system can also be dynamically consistent while using other weight. In this case the system is partly decomposed, which is not desired. As a result the dynamic consistency is not desired in case of combined control. Robotic system used in our work can also be used in human environments. In such environments the robot must have large work space and ability of manipulation with objects. Both requirements are already fulfilled using our robotic system. Furthermore, human environments are highly unstructured and dynamic, therefore, the robotic system must have the ability of obstacle avoidance. For the obstacle avoidance two different principles are used. The first principle is used for the obstacle near the platform. Many commercially available mobile platforms already have integrated ultrasonic sensors for obstacle detection. The obstacles generate repulsive velocity in the null space that moves the platform away from the obstacles without influencing the task space. On the other hand, the obstacles near the manipulator are not measured. They are actually not avoided, but the contact forces, which occur after the collision between the manipulator links and obstacles, are minimized. To achieve this, the manipulator has to be backdrivable and the control should make the manipulator compliant in the null space. The controller parameters should assure high compliance in the null space and at the same time good trajectory tracking in the null space i.e. obstacle avoidance for the platform. The dynamics of the contact between the manipulator end effector and the environment and dynamics of the tracking of the trajectory in the task space define the controller parameters for the task space. The platform used in our work has limited velocities and accelerations. During the movement this limitation can cause an error in the task space and is also a reason for bringing the manipulator in the singularity configuration. In scope of this thesis we developed a few improvements for solving such problems. In the end of the work the comparison between three different control principles is made. We compared the velocity, torque and combined control. The results of trajectory tracing and response to external force show that the results of the combined control are comparable with the results of torque control and much better than the results of velocity control. The accuracy of the real system is satisfactory. The real robotic system has large work space and the ability of manipulation with objects. The robot avoids all obstacles near the platform and manipulator, using only integrated ultrasonic sensors. The dynamics of the contact with the environment is compliant and is tunable. xviii Vsebina 1. Uvod Ob začetku pojava robotike je bila večina raziskav namenjena vpeljavi robotov v industrijo. Roboti so opravljali vnaprej določene naloge, gibi so bili ponovljivi, interakcija z okoljem zelo majhna. Kasneje so raziskovalci z uporabo senzorjev in robotskega vida dosegli določeno stopnjo avtonomije, saj so se trajektorije prilagajale trenutni situaciji. Z vpeljavo regulacijskih shem, ki temeljijo na vodenju sile, je robotika postala pomembna tudi pri opravilih, ki zahtevajo vodeno silo dotika z okoljem. Trenutni trend na področju razvoja robotike je vpeljava robotov v vsakdanje življenje. Raziskovalci poskušajo vpeljati robote v domove ljudi, kjer okolja niso strukturirana tako kot v tovarnah. Pojavljajo se strežni roboti, roboti za čiščenje, roboti vodiči, roboti za rokovanje z nevarnimi snovmi in nenazadnje roboti, namenjeni samo zabavi. Na tem področju je vse več raziskav [1, 2, 3, 4, 5] in nekaj uspešnih aplikacij. Na tržišču je več vrst avtonomnih robotov za čiščenje [6] kot je npr. Electroluxov Trilobite za čiščenje tal. Sony je izdelal že kar nekaj robotov za zabavo (Aibo, Qrio). Hondin najnovejši humanoidni robot Asimo zna teči, hoditi in se rokovati z ljudmi. Obstaja tudi mnogo uporabnih robotov vodičev [7, 8, 9]. 1.1 Opis ožjega znanstvenega področja in problematike Problem, ki nastopa pri uporabi robotov v vsakdanjem življenju, je zapletenost in nestrukturiranost okolja, v katerem biva človek. Ta okolja so zelo nestrukturi-rana v primerjavi z delovnimi mesti v tovarnah. Poleg tega tudi niso opremljena s senzorji, ki bi robotu dali informacijo o prostoru. Zaradi tega mora biti robot bolj inteligenten ter doseči avtonomnost samo z uporabo lastnih senzorjev. Tudi delovni prostor teh robotov mora biti mnogo večji od delovnega prostora 1 2 Uvod manipulatorskih industrijskih robotov, saj običajno zavzema celotno stanovanje, pisarno, muzej, letališče ipd. Povečanje delovnega prostora robota dosežemo s premikanjem manipulatorskega robota po prostoru. Premikanje je lahko izvedeno z uporabo hodečih mehanizmov ali pa enostavneje z mobilnim robotom na kolesih. Tematika mnogih raziskav v robotiki je razvoj mehanizmov in algoritmov za gibanje po neravnih terenih. Problematika je osredotočena predvsem na razvijanje struktur mehanizmov in vodenje takšnih mehanizmov. Enostavnejši so mobilni roboti, namenjeni vožnji po ravnih tleh. Ti roboti imajo običajno tri ali štiri kolesa. Delimo jih na holonomne in neholonomne robote. Holonomni roboti so zmožni neodvisnega gibanja v vseh treh prostostnih stopnjah v ravnini, to je translacija v obeh smereh ter rotacija okoli lastne osi, saj se lahko vsako kolo giblje neodvisno. Bolj omejeni so neholonomni roboti, ki imajo le dve prostostni stopnji in se zato ne morejo gibati neodvisno v vseh treh smereh v ravnini. Takšni roboti imajo eno ali dve kolesi, s katerimi robot lahko zavija, ostalih koles pa ne moremo obračati. Primer neholonomnega vozila je npr. avtomobil. Raziskave na področju obeh vrst mobilnih robotov so usmerjene predvsem v lokalizacijo robota v prostoru in na iskanje optimalne poti za izvedbo želene naloge. Takšne raziskave so pomembne predvsem pri razvoju robotov vodičev, ki morajo voditi ljudi po vnaprej določeni poti v prostoru, ali pri robotih za čiščenje, ki morajo poznati celotni prostor. Nekateri mobilni roboti so prirejeni, da na njih namestimo robotski manipulator. Takšni roboti so običajno večji in težji ter imajo na vrhu večjo ravno površino, kamor se pritrdi manipulator. Takšne mobilne robote v literaturi pogosto imenujejo tudi "mobilne ploščadi". Za sistem, ki je sestavljen iz mobilne ploščadi in robotskega manipulatorja, pa se v literaturi največ uporablja izraz "mobilni manipulator", neredko pa tudi kar "mobilni robot". Z združitvijo mobilne ploščadi ter robotskega manipulatorja naj bi izkoristili dobre lastnosti obeh podsistemov ter zmanjšali njune pomanjkljivosti. Manipulator^ so običajno natančni in hitri, imajo pa omejen delovni prostor, nasprotno pa so ploščadi počasne in manj natančne, a imajo teoretično neskončen delovni prostor. Mobilni manipulator ima lahko torej visoko natančnost in hitrost ob "neskončnem" delovnem prostoru. Takšne lastnosti pa je možno doseči samo ob uporabi ustreznega sen- 1.1 Opis ožjega znanstvenega področja in problematike 3 zorskega sistema in ustreznega načina vodenja. V to skupino robotov sodijo t.i. strežni roboti. Le-ti morajo v sebi združevati mobilnost in sposobnost manipulacije, kjer sposobnost manipulacije omogoča robotu opravljanje opravil, sama mobilnost pa robotu povečuje delovni prostor. Na področju vodenja mobilnih manipulatorjev je bilo v zadnjem času narejeno veliko raziskav [2, 10, 11, 12, 13, 14, 15] na različnih nivojih vodenja. Raziskave na višjih hierarhičnih nivojih so usmerjene predvsem v razvoj zahtevnih aplikacij, kot so na primer odpiranje vrat [16], zlaganje knjig [13], manipulacija z uporabo robotskega vida [14] itd. Posebno področje je tudi zagotavljanje stabilnosti sistema oziroma preprečevanje prevračanja mobilnega manipulatorja [17, 18]. Na nižjih hierarhičnih nivojih je predmet raziskav zagotavljanje pravilne izvedbe želenega gibanja določenega na višjih nivojih. Nekateri raziskovalci obravnavajo vodenje mobilnega manipulatorja na kinematičnem nivoju [12], kjer sta ploščad in manipulator vodena hitrostno. Naprednejši načini vodenja pa upoštevajo dinamične lastnosti sistema. V tem primeru sta oba podsistema vodena z navorom [2]. Z upoštevanjem dinamike lahko dosegamo večje hitrosti gibanja ter boljše obnašanje sistema v stiku z okoljem. Seveda pa v tem primeru potrebujemo dinamični model mobilnega manipulatorja [10, 19]. V praksi se pogosto srečamo s problemom, da krmilniki robotov ne omogočajo vodenja z navorom. Na primer, na tržišču ni komercialno dosegljive mobilne ploščadi, ki bi jo bilo možno voditi z navorom. Problem lahko rešimo s predelavo obstoječega krmilnika, kot je to predlagal Khatib [20]. Ta rešitev je sicer učinkovita, a draga in zahtevna ter zahteva mnogo razvojnega časa in denarja. Kot kompromis lahko uporabimo vodenje, kjer je ploščad vodena hitrostno, manipulator pa z navorom [21, 15]. Z uporabo tega načina vodenja lahko kljub uporabi obstoječega hitrostnega krmilnika ploščadi obdržimo nekaj prednosti dinamičnega načina vodenja. Tudi na področju mobilnih manipulatorjev se po problematiki vodenja razlikujejo holonomni in neholonomni mobilni manipulatorji. Zaradi enostavnejše izdelave je večina mobilnih ploščadi neholonomnih. Zato tudi večina raziskav obravnava neholonomne mobilne manipulatorje [3, 11, 22, 14]. Tematika raziskovanja je usmerjena predvsem na reševanje neholonomnosti in kako nadomestiti to pomanjkljivost ploščadi z gibanjem manipulatorja. Tehnološko bolj dovršene so holonomne mobilne ploščadi. Prednost pri uporabi le-teh pri mobilnih mani- 4 Uvod pulatorjih je, da lahko mobilne stopnje prostosti obravnavamo kot serijski manipulator z dvema translacijskima in eno rotacijsko stopnjo [23]. Torej celoten sistem obravnavamo enako kot serijski mehanizem in pri tem uporabljamo enake metode vodenja kot pri običajnih serijskih nemobilnih manipulatorjih. Celoten sistem ploščadi in manipulatorja lahko obravnavamo kot enoten mehanizem ali pa kot dva medsebojno povezana mehanizma. V primeru, da sistem obravnavamo kot enoten mehanizem, moramo uporabljati centralizirane regulatorje. Ta pristop se največ uporablja, kadar ni velike razlike v obravnavanju obeh podsistemov npr. pri holonomnih mobilnih manipulatorjih, kjer celoten sistem obravnavamo kot serijski manipulator. Prednost tega pristopa je, da je sistem obravnavan enotno in je zato sistemsko bolje podprt. Druga možnost je, da sistem obravnavamo kot dva ločena sistema in pri tem uporabljamo decentralizirane regulatorje. Pri tem je potrebno upoštevati še interakcije med obema podsistemoma. Ta pristop se največ uporablja pri neholonomnih mobilnih manipulatorjih. Običajno ima manipulator svojo nalogo in ploščad svojo, lahko pa je gibanje ploščadi direktno odvisno od konfiguracije manipulatorja [3] oziroma od trajektorije manipulatorja. Decentralizirano vodenje se uporablja tudi pri holonomnih mobilnih manipulatorjih, kadar sta si podsistema zelo različna. Tako je Khatib [24, 25] razdelil sistem na t.i. makro in mini del. Makro del sistema je tisti del sistema, ki je prvi v kinematični verigi in je večinoma pritrjen na tla. Običajno je počasnejši in manj natančen del celotnega sistema. Mini del sistema je običajno hitrejši in bolj natančen. Poleg tega mora imeti vsaj toliko prostostnih stopenj, kot jih zahteva naloga. Oba sistema morata biti medsebojno usklajena in sposobna kompenzirati slabosti drugega dela sistema. Holonomni mobilni manipulatorji imajo običajno več stopenj prostosti, kot jih potrebujejo za izvršitev naloge, in so zaradi tega kinematično redundantni. Redundanca je pomembna lastnost, saj povečuje prilagodljivost robota. Redundantni roboti lahko poleg izvajanja osnovne naloge zadostijo tudi drugim zahtevam. Izvajanje osnovne naloge ima seveda največjo prioriteto, dodatne zahteve pa imajo nižjo prioriteto. Osnovno nalogo imenujemo "primarna naloga", tej pa sledijo ostale naloge kot sekundarna, terciarna in tako naprej, vsaka s svojo padajočo prioriteto. Na primer, primarna naloga je lahko sledenje trajektoriji, hkrati pa se od robota lahko zahteva, da se s svojimi segmenti odmika od ovir, mini- 1.1 Opis ožjega znanstvenega področja in problematike 5 mizira navore, se izogiba singularnim konfiguracijam, optimizira manipulabilnost itd. Na področju redundantnih mehanizmov je bilo v zadnjih letih veliko raziskav [26, 27, 28, 29]. V začetku so raziskovalci obravnavali redundantne stopnje kot pomanjkljivost mehanizma ter obravnavo redundantnega sistema preuredili na obravnavo neredundatnega. To so dosegli tako, da so zmanjšali število stopenj manipulatorja ali pa da so nalogi dodali dodatne omejitve in s tem povečali število potrebnih prostostnih stopenj za izvedbo naloge. Šele sčasoma se je na redundanco gledalo kot na prednost mehanizma. V literaturi je podanih več načinov kako izkoristiti redundanco kot prednost mehanizma. Eden izmed načinov je ta, da določene stopnje označimo kot redundantne, ostale pa kot neredundan-tne [30, 31]. Nekateri avtorji predlagajo uporabo Riemannove mnogoterosti [23]. Največkrat pa redundanco rešujemo z uporabo metod, ki temeljijo na lokalni optimizaciji in na uporabi psevdo ali posplošenega inverza [26]. Pri teh metodah je celoten sistem obravnavan enotno. To pomeni, da so vse stopnje obravnavane enako, ne da bi eksplicitno izbrali, katere so redundantne in katere ne. Pri uporabi posplošenih inverzov je zelo pomembna izbira uteži pri določitvi uteženega posplošenega inverza. Khatib [25] je pokazal, da le z uporabo posplošenega inverza, uteženega z vztrajnostno matriko mehanizma, dosežemo, da je sistem dinamično konsistenten. Sistem je dinamično konsistenten, kadar navori v ničelnem prostoru ne povzročajo pospeškov v prostoru naloge oziroma kadar sile v prostoru naloge ne povzročajo pospeškov v ničelnem prostoru [32]. Za robote, ki delajo v nestrukturiranih prostorih, je pomembno, da se lahko odmikajo od ovir. Določitev gibanja med ovirami oziroma določanje proste poti med ovirami lahko temelji na lokalnih ali globalnih metodah. Pri globalnih metodah se načrta celotno pot od začetka do konca z upoštevanjem informacije o celotnem prostoru. Globalne metode so računsko zelo zapletene in se praviloma ne morejo izvajati v realnem času. Njihova uporaba je praktično vprašljiva predvsem, če se okolje med izvajanjem naloge spreminja. Računska kompleksnost teh metod se zelo povečuje s številom prostostnih stopenj robota. Lokalne metode pri iskanju rešitve upoštevajo le trenutno bližnjo okolico ter določajo le trenutno optimalne pomike robota. Računsko so enostavnejše in zaradi tega se običajno lahko izvajajo v realnem času. Seveda te metode ne zagotavljajo vedno globalno optimalne rešitve. Brock [33] je predlagal način, pri katerem kombiniramo obe 6 Uvod metodi. Začetna pot je načrtana globalno, spreminjanje poti v odvisnosti od trenutne pozicije ovir pa je lokalno in poteka v realnem času. Metodo je zasnoval na t.i. "elastičnem traku" ter "mehurčkih", ki predstavljajo trenutni prosti prostor okoli robota. Pri lokalnih metodah izogibanje oviram običajno temelji na merjenju razdalje med segmenti robota in ovirami [34, 35, 36]. Na podlagi te razdalje se določa nadaljnje gibanje robota. Merjenje razdalje med mobilno ploščadjo in ovirami običajno ni problematično, saj se ploščad giblje v ravnini in lahko izvajamo meritve samo v ravnini. V ta namen imajo mobilne ploščadi običajno na obodu že vgrajene senzorje za merjenje razdalje. Največkrat so to ultrazvočni senzorji, ki merijo razdaljo le v eni smeri. Če pa uporabimo obroč teh senzorjev okoli celotne ploščadi, lahko zaznavamo ovire v vsej ravninski okolici. Nasprotno je ugotavljanje prostega prostora okoli manipulatorjev bolj zahtevna naloga, saj se celotna problematika razširi na 3D prostor. Čeprav obstaja več načinov ugotavljanja celotnega prostega prostora okoli robota, se noben ni zares uveljavil. Na primer, prosti prostor lahko določimo z množico kamer, ki modelirajo prostor. Računska kompleksnost takšnih metod je velika. Poleg tega pa prostora, ki je kameram skrit za oviro, ne moremo modelirati. Druga možnost je, da ima vsak segment manipulatorja mrežo senzorjev, ki zaznavajo ovire. Slabost tega načina je veliko število senzorjev, ki dražijo sistem, ter množica žic do posameznega senzorja. Kot naslednjo možnost nekateri avtorji predlagajo uporabo na dotik občutljive "kože" [37]. V tem primeru se na segmente pritrdi mreža senzorjev dotika, ki dajo podatek o kontaktu robota z oviro. Slabost teh senzorjev je, da se ovira zazna šele s samim dotikom, tako da se robot izogne oviri šele po dotiku iz zato lahko pri tem pride do poškodb. Ta način je tudi drag in njegova izvedba je mehansko zahtevna. Nekateri avtorji [36] pa predlagajo povsem drugačen pristop k odmikanju od ovir. Predlagajo, da se ovir sploh ne zazna. V primeru da do trka pride, mora biti vodenje načrtano tako, da robot sili ovire ne nasprotuje, ampak da sila povzroči odmik robota od ovire. Pristop temelji na osnovnem fizikalnem zakonu akcije in reakcije. Sila trka povzroči reakcijsko silo na segment, kjer je prišlo do trka. Ta sila pa mora odmakniti segment stran od ovire. Predpogoj, da je tak pristop k odmikanju od ovir možen, je, da mora imeti manipulator nesamozaporne prenose ter da ima nizko trenje v sklepih. Torej ga je možno premikati z dovolj majhno silo na segmentu robota. 1.2 Cilji disertacije 7 Nekatere naloge zahtevajo, da pride robot v stik z okoljem. V takem primeru je potrebno voditi silo dotika [38, 39, 29, 40, 41]. Silo lahko reguliramo na več različnih načinov. V grobem jih lahko razdelimo na impedančno vodenje in hibridno vodenje. Impedančno vodenje omogoča, da se vrh robota obnaša kot linearni sistem z določeno impedanco, to je z navidezno maso, dušenjem in elastičnostjo. Hibridno vodenje [39] pa združuje regulacijo hitrosti in sile. V regulatorju se določi, v kateri smeri naj poteka regulacija hitrosti in v kateri regulacija sile. Pri obeh načinih je za natančno regulacijo sile potrebna povratna zanka sile, za kar potrebujemo senzor sile. Pri robotih, ki delajo s človekom, ni tako pomembna natančna regulacija sile. Bolj kot daje sila natančna, je pomembno, daje ta sila omejena in daje obnašanje robota podajno. Iz vsakdanjega življenja vemo, da tudi ljudje težko dosegajo natančno silo ob dotiku, lahko pa dobro prilagodijo podajnost roke trenutnim razmeram. Pri robotih lahko z uporabo regulatorja za vodenja pospeška [42, 29] dosežemo podajno obnašanje vrha robota in pri tem ne potrebujemo senzorja sile. 1.2 Cilji disertacije Namen disertacije je razviti robotski sistem, kije sposoben delovanja v človekovem okolju. Pri tem želimo zadostiti naslednjim zahtevam: • Robot mora imeti dovolj velik delovni prostor in sposobnost manipulacije z objekti. • Sistem vodenja mora zagotavljati avtonomno gibanje v nestrukturiranih okoljih ter sledenje predpisani trajektoriji vrha. Pri tem se mora robot učinkovito odmikati od vseh ovir v svoji okolici, pri čemer ne sme priti do poškodb ovire ali robota. Trajektorija gibanja vrha robota je podana z zunanjim sistemom. • Za detekcijo ovir lahko uporabimo le senzorje razdalje, ki se nahajajo v/na robotu. Zunanji sistem za detekcijo ovir ni na voljo. • Robot mora izkoriščati prednosti redundantnih mehanizmov, to je slediti predpisani trajektoriji in se hkrati odmikati od ovir. 8 Uvod • V primeru dotika z okoljem se zahteva, da je sistem podajen. • Vodenje mora delovati v realnem času na realnem sistemu. Za dosego velikega delovnega prostora in sposobnosti manipulacije smo uporabili mobilni manipulator. V našem primeru je mobilni manipulator sestavljen iz planarnega manipulatorja, nameščenega na holonomni mobilni ploščadi (slika 1.1). Uporabljeni manipulator ima nesamozaporne prenose ter nizko trenje v sklepih, ima štiri prostostne stopnje in omogoča vodenje s hitrostjo ali z navorom. Ploščad ima vgrajen obroč ultrazvočnih senzorjev razdalje. Vodimo jo lahko le s hitrostjo. Slika 1.1: Mobilni manipulator Pričakovani prispevki doktorske disertacije so: • Razvoj sistema za kombinirano vodenje mobilnega manipulatorja. Ploščad ne omogoča vodenja z navorom, sama predelava krmilnika pa ni smiselna. Razvili smo sistem za kombinirano vodenje, kjer je ploščad vodena hitrostno, manipulator pa z navori. Sistem voden s kombiniranim načinom vodenja zagotavlja boljše rezultate, kot če bi bil celotni sistem hitrostno voden. 1.3 Metodologija 9 • Razvoj dinamičnega modela manipulatorja na mobilni ploščadi. Vpeljali smo učinkovitejši način za razvoj dinamičnega modela manipulatorja na mobilni ploščadi. Metoda temelji na predpostavki, da je model manipulatorja znan. Potrebno je določiti le tiste člene, ki so posledica gibanja ploščadi. • Matematična analiza sistema vodenja ter realizacija na realnem sistemu. Razviti algoritem smo najprej analizirali z uporabo matematičnih postopkov. Pri tem smo analizirali sledenje trajektoriji primarne ter sekundarne naloge. Vsa analiza je opravljena za sistem, na katerega ne delujejo zunanje sile, ter za sistem, na katerega delujejo zunanje sile v prostoru naloge in/ali v ničelnem prostoru. Matematične rezultate smo preverili s pomočjo simulacije. V ta namen smo uporabili simulacijski program, ki deluje v okolju Matlab Simulink in ki smo ga razvili namensko za uporabo pri mobilnih manipulatorjih. Na koncu smo algoritem realizirali še na realnem sistemu, ter ga tudi ovrednotili. • Postopki za izboljšanje delovanja sistema. Uporabljena mobilna ploščad omogoča samo hitrostno vodenje, pri čemer so hitrosti in pospeški omejeni. Zaradi omejitev lahko v določenih primerih pride do povečanja pogreška ter do singularnih konfiguracij. Predlagali smo nekaj izboljšav k vodenju in s tem dosegli boljše delovanje sistema. 1.3 Metodologija Najprej smo določili matematični model gibanja mobilnega manipulatorja. V 2. poglavju je opisana določitev matematičnega modela gibanja ploščadi. Podana je odvisnost med referenčno hitrostjo ploščadi in njenim dejanskim premikom. Pri tem smo identificirali sistem kot črno škatlo, ugotavljali, ali je sistem multi-variabilen, analizirali odvisnost orientacije posameznih koles ter analizirali vpliv zunanje sile na gibanje. V nadaljevanju poglavja je prikazan postopek določitve dinamičnega modela manipulatorja na mobilni ploščadi ter določitev modela trenja. Določitev dinamičnega modela temelji na predpostavki, daje dinamični model samega manipu- 10 Uvod latorja znan. Ta predpostavka je velikokrat izpolnjena. Predstavljena je metoda, ki omogoča določitev samo tistih elementov v dinamičnem modelu, ki so posledica gibanje ploščadi. To so elementi, ki opisujejo vztrajnosti manipulatorja zaradi pospeškov ploščadi ter centrifugalni in Coriolisovi elementi zaradi rotacije ploščadi. V primeru, da se ploščad giblje v vodoravni ravnini, ni dodatnih vplivov gravitacije. Predstavljena metoda je osnovana na Lagrangeovi metodi določitve dinamičnega modela. S podano metodo smo poenostavili modeliranje v primerjavi z metodo, ki modelira mobilni manipulator kot enovit sistem ter zmanjšali možnost napake. V 3. poglavju smo opisali regulator, namenjen redundantnim sistemom, ki združuje navorno in hitrostno vodenje. Predlagani način vodenja smo poimenovali "kombinirano vodenje". Podani način kombiniranega vodenja je v svetu novost. Regulator je osnovan na regulatorju za vodenje pospeška [42, 29] in je razdeljen na dva dela. Prvi del regulirnih pospeškov se vodi v regulator za ploščad, drugi del pa v regulator za manipulator. Regulator za manipulator določa navore v sklepih manipulatorja, pri čemer upošteva celotni dinamični model manipulatorja s trenjem ter vse dinamične interakcije s ploščadjo. V nadaljevanju poglavja smo dokazali, da predstavljeni regulator zagotavlja sledenje trajektoriji v prostoru naloge ter v ničelnem prostoru, kadar so zunanje sile enake nič. Nato smo podali analizo vpliva zunanjih sil. Prikazan je vpliv zunanje sile na gibanje v prostoru naloge ter ničelnem prostoru. Obravnavali smo primere, ko je zunanja sila delovala na vrhu manipulatorja, na sklepe manipulatorja ali na mobilno ploščad. Pokazali smo tudi, ali je lahko sistem voden s takšnim načinom vodenja dinamično konsistenten in pod kakšnimi pogoji. V naslednjem 4. poglavju smo definirali primarno in sekundarno nalogo mobilnega manipulatorja. Prikazan je način izogibanja oviram v okolici ploščadi, ki temelji na merjenju razdalje do ovir. V odvisnosti od razdalje do ovir regulator generira odbojno hitrost v ničelnem prostoru, ki povzroči odmik ploščadi stran od ovir. Prikazali smo tudi, kako se lahko manipulator odmika od ovir, kadar robotski sistem ni opremljen s senzorji za zaznavanje ovir v okolici manipulatorja. V nadaljevanju poglavja smo podali različne postopke za izboljšanje vodenja. Zaradi končnih hitrosti in pospeškov ploščadi se lahko pojavijo večji pogreški v prostoru naloge in pride sistem do singularne konfiguracije. Zaradi tega smo 1.3 Metodologija 11 razvili algoritem namenjen redundantnim sistemom, ki v primeru prekoračitve hitrosti oziroma pospeška ustrezno poveča hitrosti v drugih sklepih in zagotavlja, da ne pride do pogreškov v prostoru naloge. Podan je tudi algoritem za omejevanje hitrosti ploščadi, da le-ta ne prekorači t.i. "gibalnega območja". S tem algoritmom preprečimo, da bi sistem prišel v singularno konfiguracijo. V okviru raziskav smo intenzivno uporabljali simulacijska orodja. V ta namen smo izdelali orodje za delo z mobilnimi manipulatorji, ki je opisano v istem poglavju. Orodje je bilo razvito za programski paket Matlab in Matlab Simu-link in je uporabno za različne mobilne manipulatorje, saj ne predpisuje njegove strukture. S pomočjo tega orodja lahko določimo modele mobilnega manipula-torja in testiramo različne načine vodenja. Orodje vključuje grafično predstavitev rezultatov. Bistvena lastnost pa je, da lahko vključimo v regulacijsko zanko tudi realen sistem. Ob koncu poglavja je predstavljena izvedba na realnem sistemu. Predstavljen je celotni postopek izdelave, testiranja in realizacije algoritmov. Pri tem poteka izdelava in testiranje algoritmov na posebnem računalniku z uporabo Matlab Simulinka na zelo visokem hierarhičnem nivoju, samo vodenje sistema pa poteka na ločenem računalniku z omejenim operacijskim sistemom in omogoča visoke frekvence vzorčenja in delovanje v realnem času. Prikazana je tudi povezava med vsemi sklopi sistema. V predzadnjem poglavju smo naše delo uvrstili v delo, opravljeno na področju robotskih mehanizmov. Prikazana je primerjava med hitrostnim, kombiniranim in navornim načinom vodenja. Ta primerjava je izvedena samo s pomočjo simulacije. V nadaljevanju so prikazani rezultati implementacije na realnem sistemu. Ob koncu poglavja smo naredili primerjavo z drugimi načini kombiniranega vodenja. Uvod 12 2. Model sistema V poglavju je opisan mobilni manipulator, ki smo ga uporabili v našem delu. Mobilni manipulator je sestavljen iz mobilne ploščadi Nomad XR4000 in planar-nega robotskega manipulatorja s štirimi prostostnimi stopnjami. Ploščad lahko vodimo samo hitrostno. Vsebuje vgrajeni hitrostni regulator, ki določa odvisnost med referenco hitrosti in dejanskim premikom. Tipa regulatorja ne poznamo, tako tudi te odvisnosti ne poznamo in jo je potrebno določiti. Sistem smo identificirali kot črno škatlo, kjer ne poznamo ne strukture ne parametrov. Pri tem smo upoštevali morebitno multivariabilnost sistema, ugotavljali vpliv gibanja in začetne orientacije posameznega kolesa ter analizirali vpliv zunanje sile. Uporabljeni robotski manipulator ima nesamozaporne prenose med motorji in sklepi ter razmeroma nizko trenje. Dinamični model manipulatorja poznamo. V poglavju smo opisali metodo določitve modela manipulatorja na mobilni ploščadi, pri čemer določimo le elemente, ki jih prispeva gibanje ploščadi. Večina metod za določanje dinamičnega modela temelji na notranjih koordinatah, ki so podane relativno, to je, da so koti med segmenti manipulatorja izraženi relativno glede na prejšnji segment. V našem primeru so notranje koordinate, zaradi zgradbe manipulatorja, podane v drugi obliki. Tako smo ob koncu poglavja podali preslikave med matrikami dinamičnega modela, ki omogočajo preslikavo iz relativno izraženih notranjih koordinat v notranje koordinate, ki niso izražene v relativni obliki. 2.1 Mobilna ploščad Nomad XR4000 V našem eksperimentalnem delu smo uporabili mobilno ploščad Nomad XR4000 (slika 2.1). To je komercialno dosegljiva mobilna ploščad proizvajalca Nomad Technologies. Ploščad je valjaste oblike. Na zgornjem in spodnjem robu "valja" ima 13 14 Model sistema vgrajena obroča s po 24 ultrazvočimi in infrardečimi senzorji razdalje. Z uporabo ultrazvočnih senzorjev lahko zaznavamo ovire, ki se nahajajo v ravnini ploščadi in so od ploščadi oddaljene od približno 20 cm do približno 5 m. Zaznavanje predmetov v okolici ploščadi in izogibanje trkom je zelo pomembno, saj znaša teža ploščadi preko 180 kg, ploščad pa se lahko giblje z maksimalno hitrostjo 1,5 m/s. Višina ploščadi znaša 85 cm, premer pa 64 cm. Ploščad omogoča pritrditev in vožnjo drugih težjih predmetov (npr. manipulatorja), kar je tudi razlog za takšno velikost in težo. Ploščad poganjajo štiri kolesa, ki so vsa gnana, vsako od njih se lahko neodvisno orientira in vrti. Z usklajenim vodenjem vseh štirih koles dosežemo, da se lahko ploščad giblje povsem neodvisno v vseh treh pro-stostnih stopnjah v ravnini (to so dve translaciji in ena rotacija). Ploščad, ki se lahko giblje neodvisno v vseh treh prostostnih stopnjah v ravnini, je holonomna ploščad. Slika 2.1: Mobilna ploščad Nomad XR4000 Čeprav se vsako kolo lahko giblje neodvisno, uporabnik nima vpliva na gibanje posameznega kolesa. Uporabnik določi želeno hitrost v posamezni prostostni stopnji. Vgrajeni regulator določa hitrosti vrtenja in orientacije posameznih koles in poskrbi, da ploščad v določenem času doseže želeno hitrost. Poleg tega uporabnik dostopa tudi do podatkov o legi ploščadi v prostoru glede na nek globalni koordinatni sistem ter do podatkov ultrazvočnih in infrardečih senzorjev. 2.1 Mobilna ploščad Nomad XR4000 15 2.1.1 Model ploščadi Za načrtovanje vodenja je potrebno določiti model ploščadi. Potrebno je določiti, kakšna je odvisnost med želeno referenčno hitrostjo in odzivom ploščadi. Ker vgrajenega regulatorja hitrosti, ki določa to odvisnost, ne poznamo, sistem obravnavamo kot črno škatlo. Identifikacija ploščadi V začetku identificiramo odziv gibanja ploščadi, ki se giblje v smeri samo ene prostostne stopnje. Pred postopkom identifikacije se prepričamo, ali so odzivi na enako referenco dovolj ponovljivi, saj je v nasprotnem primeru identifikacija nezanesljiva. Na stopničasto referenco hitrosti (vr) v smeri prostostne stopnje x smo izvedli pet meritev (slika 2.2). Na tej in sledečih slikah je z modro prikazana referenca, z zeleno pa odziv. Ugotovimo, da so odzivi (vx) ponovljivi, tako da je sistem primeren za identifikacijo. Pomembna ugotovitev je tudi, da hitrost po prehodnem pojavu doseže želeno vrednost in nima pogreška v ustaljenem stanju. Slika 2.2: Ponovljivost odziva na stopničasto referenco Ker je analiza linearnih sistemov mnogo enostavnejša od analize nelinearnih sistemov, smo skušali modelirati ploščad kot linearen sistem 2. reda. Odziv sistema 2. reda na različne nivoje stopnic (r) da tipičen odziv (x), kije prikazan na sliki 2.3. Normirani odziv je vedno enak neodvisno od izbire nivoja stopnice. Pri- 16 Model sistema merjava odzivov na različne nivoje stopničaste reference pri ploščadi (slika 2.4) pa kaže, da zaprto-zančni sistem ni linearen, kot smo predpostavili. Izkaže se, da je odziv močno odvisen od višine stopnice. Ugotovimo, daje naklon krivulje hitrosti med prehodnim pojavom konstanten, kar pomeni, da pride pospešek ploščadi v nasičenje. Na sliki opazimo tudi zakasnitev dejanskega signala za referenčnim, kjer je zakasnitev konstantna. 9 10 Slika 2.3: Primerjava odzivov na različne višine stopnic pri linearnem sistemu 2. reda Slika 2.4: Primerjava odzivov na različne višine stopničastih referenc pri ploščadi Pospešek pride v nasičenje samo v primeru velike razlike med referenčnim in 2.1 Mobilna ploščad Nomad XR4000 17 dejanskim signalom. Kadar se dejanska vrednost približa referenčni, pospešek ni več v nasičenju. To lahko vidimo pri odzivu na manjše spremembe reference (slika 2.5). V tem primeru je odziv močno zakrit s šumom, zato natančnejše identifikacije ne izvajamo. Slika 2.5: Odziv na majhne spremembe reference Slika 2.6 prikazuje sledenje rampi (signalu s konstantnim naklonom). Prikazane so tri rampe z različnimi nakloni ter njihovi odzivi. Modra prikazuje rampo z naklonom 500 mm/s2, zelena z naklonom 300 mm/s2 in rdeča z naklonom 100 mm/s2. V primeru počasne spremembe reference (100 mm/s2 in 300 mm/s2) ploščad sledi referenci s časovnim zaostankom. Kadar je sprememba reference večja od nasičenja pospeška, se hitrost ploščadi povečuje s pospeškom nasičenja in ne more slediti referenci (rampa z naklonom 500 mm/s2). Model sistema, pri katerem izhodni signal sledi referenčnemu signalu ter ima nasičenje na spremembi izhodnega signala, zadovolji našim potrebam. Model je torej sledeč v = (2.1) V I —I < 1(7 I uri I dt I I nas I dnast, drugače pri čemer v predstavlja dejansko hitrost gibanja, vr referenčno hitrost gibanja in Unas pospešek nasičenja. 18 Model sistema 2000 1800 1600 1400 _ 1200 L ~ 1000 >x 800 600 400 200 0 0123456789 10 t/s Slika 2.6: Sledenje rampam z različnimi nakloni Enak postopek identifikacije, kot smo ga uporabili za določitev gibanja v smeri prostostne stopnje x, ponovimo še na ostalih dveh prostostnih stopnjah. Rezultati so podobni. Medsebojni vpliv prostostnih stopenj Navedene ugotovitve temeljijo na dejstvu, da se ploščad giblje le v smeri ene prostostne stopnje. Ploščad pa se lahko giblje v več prostostnih stopnjah hkrati. Sistem je multivariabilen v primeru, da gibanje v eni prostostni stopnji vpliva na gibanje v drugi prostostni stopnji. Za določitev medsebojnega vpliva posameznih prostostnih stopenj je potrebno, da se sistem hkrati giblje v več prostostnih stopnjah hkrati. Za ta namen uporabimo za referenco v eni prostostni stopnji stopnico, v drugi pa vlak pravokotnih impulzov (sliki 2.7 in 2.8). Na slikah je z zeleno barvo označeno gibanje v prostostni stopnji x, z rdečo v y in z modro v tp. Primerjava med slikama 2.7 in 2.8 ter sliko 2.2 kaže na manjši vpliv drugih prostostnih stopenj v času pospeševanja, v ustaljenem stanju pa je ta vpliv zanemarljiv. Zato lahko sistem smatramo kot univariabilen in s tem poenostavimo vodenje. 2.1 Mobilna ploščad Nomad XR4000 19 v^V^¦%'vY^V'''^A^^/y^l^v''v^J'w^^^-y'^vw1¦f'«^l^^ 0 12 3 4 5 6 7 Slika 2.7: Vpliv hitrosti v prostostni stopnji y na hitrost v prostostni stopnji x ¦a^vVW-viAa^vwv^Vv-VvvVv'VV ^~T\ Slika 2.8: Vpliv hitrosti v prostostni stopnji tp na hitrost v prostostni stopnji x Vpliv orientacije koles Začetna orientacija koles ploščadi ima velik vpliv na obnašanje ploščadi. Slika 2.9 prikazuje primer, kjer so vsa kolesa zasukana od prave smeri za kot (p. V primeru, da so kolesa na začetku gibanja obrnjena v pravo stran 0 = 0, ploščad mnogo hitreje doseže končno hitrost, kot če so kolesa obrnjena v nasprotno stran (p = 7T. Odziv na stopnico je različen za različne začetne orientacije koles (slika 2.10). Vpliv začetne orientacije koles je zelo težko določljiv, kot lahko vidimo s 20 Model sistema slike 2.10. Poleg tega imajo lahko različna kolesa različno začetno orientacijo, kar še otežuje določitev. V primeru, da se ploščad giblje, ima orientacija koles mnogo manjši oz. zanemarljiv vpliv. V tem primeru se orientacija koles spremeni hitreje, saj je trenje med kolesom in tlemi med zasukom manjše, če se ploščad giblje. Na sliki 2.11 je prikazan odziv na stopnico 800 mm/s v smeri prostostne stopnje x, pri tem pa se robot že giblje s hitrostjo 800 mm/s v smeri prostostne stopnje y, tako da imajo kolesa orientacijo (p = 7r/4 pred začetkom gibanja v pravokotni smeri. V tem primeru je vpliv začetne orientacije koles zanemarljiv, kar je razvidno iz primerjave slik 2.11 in 2.2. Slika 2.9: Prikaz orientacije koles ploščadi Slika 2.12 prikazuje sledenje rampi, pri čemer so kolesa na začetku gibanja obrnjena v nasprotno stran. Prikazane so tri rampe z različnimi nakloni ter njihovi odzivi. Modra prikazuje rampo z naklonom 500 mm/s2, zelena z naklonom 300 mm/s2 in rdeča z naklonom 100 mm/s2. Zaradi nasprotno obrnjenih koles je pospešek nasičenja v tem primeru manjši kot običajno. Izhodni signal dobro sledi referenci v primeru počasne reference (100 mm/s2). V primeru, kadar je sprememba večja od nasičenja pospeška pri narobe obrnjenih kolesih, pa se hitrost ploščadi povečuje s pospeškom nasičenja in ne more slediti referenci (rampi z naklonom 300 mm/s2 in 500 mm/s2). Podatki o orientacijah koles niso na voljo, iz zgodovine gibanja bi lahko približno sklepali, kakšne te orientacije so. Poleg tega je vpliv orientacije koles zelo 2.1 Mobilna ploščad Nomad XR4000 21 E.500 Slika 2.10: Vpliv začetne orientacije koles na odziv na stopnico Slika 2.11: Vpliv orientacije koles med gibanjem ploščadi v pravokotni smeri težko določljiv, sploh če imajo različna kolesa različno orientacijo. Zaradi tega smatramo vpliv orientacije koles kot motnjo, ki je nismo identificirali. Pri tem smo vzeli na znanje, da je pravilnost modela slabša v primeru visokih pospeškov iz mirujočega gibanja z veliko spremembami smeri, saj je vpliv orientacije koles v tem primeru večji. 22 Model sistema Slika 2.12: Sledenje rampam z različnimi nakloni z obratno orientacijo koles Vpliv zunanje sile Mobilna ploščad je prirejena pritrditvi robotskega manipulatorja. Manipulator s svojim gibanjem povzroča silo na ploščad, ki lahko vpliva na gibanje ploščadi. Ugotoviti je potrebno, kakšen je vpliv gibanja manipulatorja na gibanje ploščadi. V našem primeru je masa manipulatorja v primerjavi z maso ploščadi zelo majhna. Vpliv smo testirali tako, da se je manipulator vrtel s konstantno hitrostjo (5 rad/s), pri tem je povzročal sinusno spreminjajočo se silo na ploščad. Ocenjujemo, da je bila hitrost vrtenja manipulatorja in s tem tudi sila na ploščad večja kot pri običajnem delovanju. Slika 2.13 prikazuje gibanje v vseh treh prostostnih stopnjah ter njihove reference. Z zeleno barvo je označeno gibanje v prostostni stopnji x, z rdečo v y in z modro v tp. Iz primerjave slik 2.13 in 2.2 ugotovimo, da gibanje manipulatorja nima opaznejšega vpliva na gibanje ploščadi, regulator ploščadi v tem primeru uspešno odpravi zunanje motnje. Določitev lege ploščadi Za določanje lege (pozicije in orientacije) ploščadi se meri gibanje posameznega kolesa. Iz teh podatkov se nato izračuna lega. Zaradi drsenja koles se pojavi pogrešek lege, ki se akumulira in je močno odvisen od obračanja ploščadi. Pri samem premem gibanju je ta pogrešek dokaj majhen, pri večjih spremembah 2.1 Mobilna ploščad Nomad XR4000 23 900 800 700 600 J? 500 E E, > 400 >^ 300 200 100 0 -100 0123456789 t/s Slika 2.13: Vpliv gibanja manipulatorja na gibanje ploščadi orientacij koles pa se zelo poveča. Za običajno delo natančnost zadošča, lahko pa lego sproti popravljamo z uporabo senzorjev razdalje na ploščadi in modelom prostora. Če zahtevamo večjo natančnost, je potreben dodatni zunanji sistem za merjenje pozicije in orientacije ploščadi. Rezultati Model ploščadi je sestavljen iz treh ločenih podmodelov, to je za vsako prosto-stno stopnjo eden. Vhodni signal v vsak podmodel je referenčna hitrost ploščadi v smeri določene prostostne stopnje, izhodni signal pa je dejanska hitrost ploščadi v isti smeri. Pri tem dejanska hitrost sledi referenčni hitrosti ter ima nasičenje pospeška (spremembe hitrosti) (enačba (2.1.1)). Pri določitvi modela smo zanemarili zakasnitev izhodnega signala, odziv pri majhnih spremembah, medsebojni vpliv posameznih prostostnih stopenj, vpliv začetne orientacije koles ter vpliv zunanje sile. Največjo napako v modelu prispeva vpliv začetne orientacije koles, saj je pri tem je nasičenje pospeška manjše. V praksi se ta napaka ne odraža veliko, saj se ploščad največkrat giblje počasi in ne presega pospeška nasičenja. Osnovni namen modela je uporaba v računalniški simulaciji ter uporaba pri regulacijah. Z uporabo modela v računalniški simulaciji lahko hitreje in varneje izvajamo poizkuse, s katerimi približno ugotovimo obnašanje pri podanih V/V\/'Ayvu/v.rf^t^^v^jY'^'^W\/Y»-, i-' ^-¦"¦-¦-^^¦v^hjtj^KA/^j^^^^ 24 Model sistema vhodnih podatkih. Obnašanje pa natančneje določimo s pomočjo poizkusov na realni ploščadi. Pri uporabi v regulacijah se nenatančnost modela običajno odraža v pogrešku sledenja nalogi. V praksi lahko z dobrim regulatorjem vse motnje zaradi poenostavitev izničimo. Tako daje namen modela le približno posnemanje gibanja realne ploščadi. Temu namenu pa model ustreza kljub vsem poenostavitvam. Velikost nasičenja pospeška anas smo določili iz naklona hitrosti pri odzivu na stopnico (slika 2.2), pri tem so bila kolesa obrnjena v pravo stran, hitrosti ostalih dveh prostostnih stopenj pa so bile enake nič. Zakasnitev pri vseh smereh prostostnih stopenj je znašala 0,35 s. Rezultati so podani v naslednji tabeli: anasJ (m/S2) Clnasy/ (m/S2) O'nas^j \ S ) 3,150 3,150 3,530 Tabela 2.1: Velikost nasičenja pospeška a, Slika 2.14 prikazuje odziv na testni signal v vseh treh prostostnih stopnjah. Z zeleno je prikazan dejanski odziv realnega sistema in z modro odziv modela. Testni signal zajema gibanje pri visokih in nizkih hitrostih ter pogoste spremembe smeri gibanja. Rezultati so bili zadovoljivi. Opazni so le pogreški zaradi začetne orientacije koles. Ob času nič pride do pogreška v smeri prostostne stopnje x in y. Ob času približno 11 s in 34 s pride do pogreška v smeri prostostne stopnje y. Kot lahko vidimo je v obeh primerih v smeri prostostne stopnje x gibanje majhno, zato je vpliv orientacije koles večji. 2.2 Planarni robotski manipulator V sestavu mobilnega manipulatorja je uporabljen planarni manipulator s štirimi prostostnimi stopnjami. Dolžine posameznih segmentov manipulatorja so okoli 20 cm, teža pa znaša od 50 g do 900 g. Manipulator je v osnovi namenjen raziskavam na področju redundantnih mehanizmov. Vsi pogoni se nahajajo v bazi robota, pomiki se v sklepe prenašajo preko jermenov. Zaradi tega ima manipulator zelo visoke hitrosti ob nizki teži ter relativno nizko trenje, žal pa je natančnost manipulatorja majhna. Struktura manipulatorja je takšna, da so prenosi nesa-mozaporni, kar pomeni, da ga lahko premikamo z ustvarjanjem zunanje sile na 2.2 Planarni robotski manipulator 25 1000 5T 500 E N A \f r \ / V / N -500 -1000 ( 1000 5T 500 i 0 v V 0 5 10 15 20 25 t/s 30 35 40 45 50 \ i f\ v > i rv l/ / ' -500 -1000 ( 2000 2T 1000 E ~ 0 -e-> -1000 -2000 ( 0 5 10 15 20 25 t/s 30 35 40 45 50 / 0 5 10 15 20 25 t/s 30 35 40 45 50 Slika 2.14: Primerjava odziva modela ter odziva realnega sistema segmentih manipulatorja. Zaradi prenosa premikov preko jermenov je struktura mehanizma takšna, da se kot v sklepu izraža absolutno glede na koordinatni sistem baze in ne tako kot pri običajnih robotskih manipulatorjih, kjer se kot v sklepu izraža relativno glede na prejšnji sklep (glej poglavje 2.5). 2.2.1 Model robotskega manipulatorja Kinematični in dinamični model robotskega manipulatorja je že določen [43]. Dinamični model opisuje sledeča enačba Hm( (2-28) 3 =1 (i) kjer g predstavlja vektor gravitacijskih pospeškov, JL{ pa je i-ti stolpec v matriki Ji . Torej lahko zapišemo vektor gT kot 3T = ]Cm^Tj?> (2-29) i=i podobno zapišemo 2.5 Model robota z notranjimi koordinatami, ki niso izražene relativno 35 t _ v^ T tO') 9nr — 2-^mi^ Lnr- i=i V enačbo vstavimo (2.26) in dobimo n i=i P je konstantna matrika in jo lahko postavimo izven vsote, izraz YTj=\ rnj^r^ll pa nadomestimo z gj. Končna enačba je gnMnr) = PTgr{Pqnr)- (2.30) Določitev matrike Coriolisovih in centrifugalnih členov Podobno kot pri določitvi gravitacijskih členov tudi tukaj postopamo podobno. Z uporabo enačb (2.17) in (2.18) ter z upoštevanjem (2.32) in (2.27) dobimo končno enačbo ^nr \Qnr i Qnr)Qnr P(Cr(Pqnr,Pqnr)Pqnr). (2.31) 2.5.1 Notranje koordinate uporabljene pri mobilnem manipulatorju V našem primeru ima manipulator vse motorje nameščene v bazi robota, ti so povezani s sklepi preko jermenov. Zaradi takšne strukture se notranje koordinate izražajo absolutno (slika 2.17). To pomeni, da zasuk ustreza kotu med segmentom in bazo robota. Pri opisu mobilnega manipulatorja smo uporabili oba načina označbe notranjih koordinat. Pri tem so notranje koordinate ploščadi izražene z relativnimi koti, notranje koordinate manipulatorja pa absolutno glede na ploščad (slika 2.18). Preslikava med relativno izraženimi notranjimi koordinatami qr in notranjimi koordinatami, ki niso izražene relativno in so uporabljene pri mobilnem manipulatorju qnr, je 36 Model sistema Slika 2.17: Absolutno izraženi koti sklepov Slika 2.18: Koti sklepov kot so uporabljeni pri mobilnem manipulatorju Q r 1 Qnr 1 ¦> Qr2 = Qnr2, Qr3 Qnr3j Qr4 = Qnr4) Qr5 Qnr 4 < Qnr5i Qr6 Qnr5 > Qnr6i Qr7 Qnr6 i Qnr7- Preslikave lahko enostavno določimo s slike 2.18. Preslikavo zapišemo v matrični obliki 2.6 Zaključek 37 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 1 0 0 0 0 0 0 -1 1 0 0 0 0 0 0 -1 1 Pqn (2.32) Vse matrike, ki določajo dinamični model manipulatorja na mobilni ploščadi, je potrebno preslikati z opisanimi preslikavami z zgoraj določeno preslikavo P. 2.6 Zaključek Opisano metodo določitve dinamičnega modela smo preverili s programskim orodjem Robotica v okviru programskega okolja Mathematica [45]. Dinamični model smo izdelali na dva načina. Pri prvem načinu smo izdelali celotni dinamični model z uporabo namenskih funkcij v okviru programskega orodja Robotica. Za model dobljen na ta način verjamemo, da je pravilen. Pri drugem načinu smo izdelali le dinamični model manipulatorja na mobilni ploščadi, pri tem smo uporabili metodo opisano v delu. S primerjavo obeh modelov smo ugotovili pravilnost predstavljenega postopka. Prav tako smo preverili tudi preslikave, ki jih uporabimo, kadar notranje koordinate niso izražene v relativni obliki. Opisani postopek omogoča lažjo določitev dinamičnega modela. 38 Model sistema 3. Vodenje in analiza vodenja V poglavju je opisan regulator, ki omogoča kombinirano vodenje. To vodenje omogoča, da je del sistema voden hitrostno in del navorno. Za opisani regulator smo prikazali analizo sledenja trajektoriji v prostoru naloge in ničelnem prostoru ter analizirali vpliv zunanje sile. Pokazali smo tudi, da je sistem voden s kombiniranim načinom vodenja lahko v posebnih primerih dinamično konsistenten, vendar ob prevelikih omejitvah. 3.1 Kombinacija hitrostnega in navornega vodenja Sistem mobilnega manipulatorja, ki je uporabljen v našem delu, je sestavljen iz dveh podsistemov. Kot je že bilo večkrat omenjeno, je del podsistema možno voditi samo hitrostno, del pa omogoča tudi navorno vodenje. V delu je opisan algoritem, ki omogoča vodenje tako sestavljenega sistema. Algoritem vodenja temelji na regulatorju za vodenje pospeška [42, 29] rc = H(q)qc + Č(q, q)q + g(q), (3.1) pri čemer rc in qc predstavljata regulirni navor in pospešek v notranjih koordinatah, to je v sklepih manipulatorja. H, C in g predstavljajo približke dinamičnega modela manipulatorja. Regulator je primeren tudi za uporabo pri redundan-tnih sistemih, saj lahko ločeno reguliramo pospeška v prostoru naloge xc ter v ničelnem prostoru $. Regulirni pospešek lahko zapišemo v obliki qc = J#(xc-Jq)+N(enWen, kjer je W utežnostna matrika uporabljena pri določitvi posplošenega inverza. Časovni odvod Ljapunove funkcije je enak v = elWen + -elWen = = -eLWNKraera + enTWNmH;Va(ra + -e^Wen = = -eL(WKra - l-W)en + e^WN^r^, (3.14) pri tem smo upoštevali izraza e^ = e^NT in NTW = WN. Sistem je asimpto-tično stabilen, če je odvod Ljapunove funkcije v negativno definiten. Kadar ni zunanjih sil {rextm = 0), je sistem asimptotično stabilen, kadar je WKra — -|W pozitivno definitna. Enačbi (3.13) in (3.11) kažeta, da regulator zagotavlja ločitev med prostorom naloge in ničelnim prostorom. 3.2.2 Analiza odvisnosti sistema na zunanje sile V tem poglavju je opisan vpliv zunanje sile na manipulator. Poglavje je razdeljeno na dva dela. V prvem smo obravnavali silo na vrhu manipulatorja, v drugem pa silo na segmente manipulatorja ter silo na ploščad. Predstavljeni algoritem vodenja ni namenjen vodenju sile, kljub temu pa je potrebno ugotoviti odziv na zunanjo silo. Za sistem, ki je voden v celoti z navorom, je Zlajpah pokazal, kakšen je odziv na sile v različnih konfiguracijah [46]. 3.2 Analiza regulatorja 45 Sila na vrhu manipulatorja V primeru, da nastopa samo sila na vrhu manipulatorja F0, določimo navore v sklepih manipulatorja rextm=3TmF0 (3.15) in z upoštevanjem enačbe 3.11 dobimo sledečo nehomogeno diferencialno enačbo e + Kde + Kpe = JmH-1J^F0. (3.16) Žlajpah [47] je pokazal, da je pri omejeni sili F0 sistem stabilen in da pogrešek konvergira k nekemu omejenemu območju. Pri določitvi parametrov Kp in Kv = -YJwlKs (-^L - A 0 i VIKU < dsm, (4.1) — V O0i / O0i kjer Ks in d0i predstavljata koeficient odboja in vektor razdalje od ploščadi do posamezne ovire i, n0 pa je število ovir znotraj območja vpliva. Dodane so uteži 4.1 Naloga mobilnega manipulatorja 53 Wi, ki normirajo posamezno odbojno hitrost, in so določene s sledečo enačbo rl 11/7 II _ "soi ~~ lla0;|| ^"E^0&rf-IKII)' Z normiranjem odbojne hitrosti dosežemo, da dve oviri, ki sta blizu skupaj, ge-nerirata enako silo, kot bi jo ena sama na isti razdalji. V nasprotnem primeru bi bila sila dvakrat večja. V določenih primerih se lahko zgodi, da hkrati ni možno izpolniti obeh nalog-sledenja trajektoriji in izogibanja oviram. V primeru da se ovira nahaja med ploščadjo in vrhom robota, bo prišlo do gibanja ploščadi v smeri stran od ovire in s tem stran od vrha. Pri tem se bo manipulator iztegoval. To bo možno do maksimalne iztegnjenosti manipulatorja. Po tem času se ploščad oviri ne bo več odmikala, saj je izogibanje oviram sekundarna naloga, ki pa ne more biti izpolnjena, ne da bi prišlo do pogreška v primarni nalogi. V takšnem primeru, kadar se ovire preveč približajo ploščadi, moramo delovanje ustaviti ali pa zamenjati prioriteto nalog. 4.1.2 Odmikanje od ovir v okolici manipulatorja Zaznavanje ovir v okolici manipulatorja je običajno problem. Obstaja več različnih načinov za zaznavanje ovir. Z uporabo množice kamer lahko rekonstruiramo celoten prostor. Ta način je računsko zelo zahteven in deluje le na dovolj enostavnih prostorih. Prostora, ki se kameram skriva za oviro, ne moremo rekonstruirati. Računsko zahtevnost lahko zmanjšamo z uporabo posebnih markerjev, kijih pritrdimo na ovire. Pozicijo teh markerjev lahko dokaj enostavno določimo s kakšnim od optičnih merilnih sistemov (Elite, Optotrak, Vicon). Slabost je označevanje ovir, kar v vsakdanjem življenju ni zaželeno. Druga možnost je uporaba mreže senzorjev razdalje, ki jih pritrdimo na segmente manipulatorja. Ta način je drag in njegova izvedba je mehansko zahtevna, povečana pa je tudi teža segmentov. Najpogosteje uporabljamo na dotik občutljive "kože", kjer se ovira zazna šele s samim dotikom. V našem delu smo za odmikanje od ovir uporabili princip akcije in reakcije. Pri tem ni potrebno zaznavanje ovir. Princip temelji na dejstvu, da trk z oviro povzroči silo na segmentih manipulatorja. Predpogoj, da je tako odmikanje od 54 Določitev naloge mobilnega manipulator j a ovir možno, je, da ima manipulator nesamozaporne prenose in nizko trenje v sklepih. V tem primeru se sila ovire prenaša direktno na motorje manipulatorja. Iz rezultatov v poglavju 3.2.2 vemo, da je manipulator v ničelnem prostoru poda-jen na zunanjo silo. Sila ovire v primeru dotika povzroči odmik manipulatorja. Kakšna je dejanska podajnost oziroma kakšen je dejanski odmik manipulatorja je odvisno od vrednosti parametra Kra, vztrajnostne matrike manipulatorja ter od konfiguracije manipulatorja [46]. Žal se dotik z oviro odraža tudi v pogrešku v prostoru naloge, vendar pa se potem, ko pade sila dotika na nič, pogrešek v prostoru naloge asimptotično približa nič. Manipulator je bolj podajen pri manjši vrednosti parametra Kra, tako je tudi sila po trku manjša. Z manjšim Kra pa je slabše sledenje trajektoriji v ničelnem prostoru, torej je odmik ploščadi od ovir manjši. Zaradi tega moramo dovolj povečati koeficient odboja Ks, kar lahko vodi v nestabilnost. Parameter Kra je matrika, pri kateri lahko z izbiro elementov bolj ojačamo določene stopnje kot druge. Tako bolj ojačamo prizmatični stopnji, ki pripadata ploščadi, ostale pa manj. S tem dosežemo veliko podajnost v ničelnem prostoru manipulatorja in dobro sledenje v ničelnem prostoru za stopnji mobilne ploščadi, ki predstavljata odmik od ovir okoli ploščadi. Primer take matrike Kra je diagonalna matrika, ki ima za prva dva člena višjo vrednost na ostalih pa nižjo. Manipulator je lahko hkrati tog v prostoru naloge in podajen v ničelnem prostoru. To pomeni, da bi bil manipulator sposoben na vrhu držati večjo maso npr. 100 kg, njegove segmente pa bi lahko premikali z zelo majhno silo npr. 1 N. Takšne naloge pa ne more izvršiti niti človek. Edina omejitev takšnega gibanja pri robotu je njegova mehanska izvedba. 4.2 Določitev uteži posplošenega inverza Slabost kombiniranega načina vodenja je ta, da sistem ni dinamično konsistenten, kljub uporabi posplošenega inverza uteženega z vztrajnostno matriko. Razlog za to je hitrostni regulator v ploščadi. Dinamične konsistence ni možno doseči brez vpliva na vse navore v sistemu. Edina utež, ki to omogoča, pa ne daje ustreznih rešitev, saj ločuje oba podsistema (poglavje 3.2.2). Kot smo že omenili, je z uporabo uteži, ki je enaka vztrajnostni matriki, mi- 4.2 Določitev uteži posplošenega inverza 55 nimizirana kinetična energija sistema [27]. V našem primeru, kjer obstaja zelo velika razlika v teži med ploščadjo (180 kg) in segmenti manipulatorja (50g do 900 g), to ni zaželeno. Zaradi te razlike minimizacija kinetične energije vodi v to, da večino gibanja opravi manipulator, ploščad pa se v primerjavi z manipulator-jem zelo malo premika. Posledično manipulator zelo pogosto pride v singularno konfiguracijo (se iztegne do konca). V izogib tega problema, je potrebno utež spremeniti na način ripTO k * tip pri tem smo matriko Hp določili samo približno, saj ne vpliva signifikantno na obnašanje sistema. Na realnem sistemu je matrika diagonalno dominantna, zato je izbrana Hp enaka diagonalni matriki z elementi, ki označujejo maso in vztraj-nostni moment ploščadi. V enačbi parameter k vpliva samo na del vztrajnostne matrike, ki pripada manipulatorju. Kadar je k = 1, je W = H in celotna kinetična energija je vključena v minimizacijo. Z uporabo k > 1 je delež vztrajnostne matrike manipulatorja večji. Zaradi tega je rezultat minimizacije kinetične energije tak, da je gibanje manipulatorja manjše, gibanje ploščadi pa večje. Tako je kljub veliki razliki v masah ploščadi in manipulatorja, gibanje ploščadi dovolj veliko in manipulator ne pride v singularno konfiguracijo. Izbrana utež je simetrična pozitivno definitna matrika in zadosti pogojem uteži pri k > 0. Povzemimo, če je k premajhen, bo večji delež gibanja izvajal manipulator in prišel bo do singularne konfiguracije. Nasprotno, če je k prevelik, bo večji delež gibanja izvajala ploščad. Posledično bo natančnost in dinamika sistema manjša, saj gibanje temelji na počasnejšem delu sistema. Zaradi tega predlagamo dinamično spreminjanje parametra k v odvisnosti od gibanja mobilnega manipulatorja. Ker je manipulator hitrejši in natančnejši, naj večji del gibanja opravi manipulator (k je manjši). V primeru ko je vrh manipulatorja blizu roba manipu-latorjevega delovnega prostora, je nujno, da se tudi ploščad giblje (k je večji). Podobno, kadar se vrh približuje robu, naj bo k večji, kadar pa se oddaljuje od roba oz. se bliža središču delovnega prostora, naj bo k manjši. V enostavnem ravninskem primeru, kot je v našem primeru, je delovni prostor manipulatorja omejen s krožnico s središčem v bazi manipulatorja in radijem (4.2) 56 Določitev naloge mobilnega manipulator j a Lmax, ki je enak vsoti dolžin vseh segmentov manipulatorja (slika 4.1). Razdalja med bazo ter vrhom manipulatorja / ustreza bližini roba delovnega prostora. Predlagamo, da je k funkcija razdalje / in funkcija časovnega odvoda razdalje / in je podana z enačbo k={ + 1 j pri konstantni razdalji / = Lmax/2. Ta člen poveča vrednost k, če se / povečuje (/ > 0), in zmanjša k, če se / zmanjšuje (/ < 0). s s \ Delovni prostor ^manipulatorja \ i I / i / / Slika 4.1: Prikaz delovnega prostora manipulatorja V našem predhodnem delu [53] smo uporabili optimizacijo manipulabilnosti manipulatorja kot del sekundarne naloge. S tem smo dosegli krčenje manipulatorja, kar je odpravilo singularnost. Slabost tega pristopa je v tem, da s tem vplivamo na togost v ničelnem prostoru, kar pa ni zaželeno pri odmikanju od ovir v okolici manipulatorja. 4.3 Nasičenje hitrosti in pospeškov 57 Slika 4.2: k je funkcija razdalje l in njenega odvoda l 4.3 Nasičenje hitrosti in pospeškov Na mnogih področjih, kjer se uporabljajo roboti, se zahteva čimvečja hitrost gibanja robotov. Žal je hitrost robotov omejena zaradi njihovih mehanskih lastnosti. Pri velikih hitrostih in pospeških nastajajo velike sile v segmentih robota, kar vodi do zmanjšanja natančnosti in celo do poškodb robota. Zaradi tega krmilniki robotov omejujejo hitrosti, pospeške in navore v motorjih. Pri določevanju regu-lirnih veličin navedenih omejitev ne smemo preseči, saj v primeru, da omejitev presežemo, pride do razlike med pričakovano-izračunano veličino in veličino, ki jo izvrši robotski krmilnik. To pa se odraža v pogrešku v prostoru naloge. Pri redundantnih robotih ima sekundarna naloga lastnost, da ne vpliva na primarno nalogo. To pa lahko dosežemo samo, če naloga ne povzroči presežka omejitve, v nasprotnem primeru sekundarna naloga vpliva na primarno nalogo. Nekatere aplikacije zahtevajo poleg sledenja poziciji tudi točno določeno hitrost gibanja vrha (npr. lakiranje, varjenje, ...), kjer je zmanjševanje oz. spreminjanje želene hitrosti vrha nezaželeno. Robot je najbolje izkoriščen, kadar dela z največjo 58 Določitev naloge mobilnega manipulator j a dovoljeno hitrostjo in pospeškom. Pri neredundantnih robotih obstaja končno mnogo rešitev za izvrševanje naloge. Robot ne more preiti iz ene konfiguracije v drugo, ne da bi se spremenile vrednosti zunanjih koordinat. Pri neredundantnih robotih moramo v primeru, da naloga določa preveliko hitrost v posameznem sklepu, zmanjšati vse sklepne hitrosti, ter tudi hitrost gibanja vrha. Kot je že bilo povedano, spreminjanje hitrosti gibanja vrha ni zaželeno, a druge možnosti pri neredundantnih robotih ni. Paziti moramo že pri načrtovanju naloge, da teh omejitev ne presežemo. Nasprotno ima pri redundantnih robotih naloga več rešitev. V primeru, da so določene sklepne hitrosti presežene, lahko za dosego želenih hitrosti na vrhu ustrezno povečamo hitrosti v drugih sklepih redundantnega robota, ki nadomestijo primanjkljaj in odpravijo pogrešek v prostoru naloge. V literaturi je bilo predstavljenih več različnih postopkov za reševanje omenjenega problema. Žlajpah je predstavil postopek, ki ne temelji na uporabi Ja-cobijevega posplošenega inverza. Pri postopku minimizacije je kot pogoj zastavil omejitev v sklepu. Ta rešitev zagotavlja primerno gibanje, vendar je čas računanja mnogo daljši, saj je postopek minimizacije numeričen. Ker razviti algoritem ne temelji na uporabi posplošenega inverza, kar je običaj na področju redundantnih robotov, je dokaj zahteven in zato ni primeren za hitro implementacijo v obstoječe regulacijske sheme. Postopek, ki je primernejši za uporabo v obstoječih regulacijskih shemah, temelji na spreminjanju uteži posplošenega inverza. Utež izberemo tako W an 0 ... 0 0 a22 ... 0 0 0 ... ann Z večanjem elementa an lahko dosežemo, da je hitrost ^ manjša. Seveda pa se posledično povečajo ostale sklepne hitrosti. Za primerno delovanje je potrebno utež spreminjati dinamično med gibanjem. Ko ^ preseže omejitev, an povečamo, ko qi pade pod omejitev, lahko an zmanjšamo. Odnos med an in (ji ni linearen, zato je postopek natančne določitve an dolgotrajen, še posebej, če nastopa več presežkov in je potrebno določiti več elementov an, cijj, ••• V primeru, da želimo 4.3 Nasičenje hitrosti in pospeškov 59 poleg primarne naloge opravljati še sekundarno nalogo, pa velja, da mora biti aii manjši, da je hitrost & manjša. To pa se ravno izključuje s prejšnjim pogojem, kar omejuje uporabnost opisanega postopka. V nadaljevanju smo prikazali postopek, ki temelji na uporabi sekundarne naloge za rešitev prekoračitve hitrosti oz. pospeška. Dodatno sekundarno nalogo definiramo tako, da doda tak prispevek k hitrosti v sklepih, ki točno kompenzira presežek hitrosti v posameznem sklepu. Zaradi tega se druge ustrezne stopnje gibljejo hitreje. Ker je ta prispevek dodan v sekundarni nalogi, ne vpliva na primarno nalogo. Hitrostni regulator je običajno podan kot qcl = J*x + Nqn, kjer prvi člen predstavlja sklepne hitrosti v prostoru naloge, drugi pa sklepne hitrosti v ničelnem prostoru. Kadar sklepna hitrost qcl preseže nasičenje hitrosti qsat, moramo prišteti še kompenzacijsko hitrost qcomp v ničelnem prostoru, ki zagotovi, da nova sklepna hitrost qc ne presega nasičenja qc = J*x + Nqn + Nq compi v enačbi qc predstavlja regulirno hitrost, ki je že kompenzirana in ne presega nasičenja. Presežek v z-tem sklepu qoveri zapišemo QcU - Qsati ¦> QcU > Qsati Qoveri = < 0, q~ati < qcli < qfati , Jlcli — Qsatii QcU < Qsati pri čemer qfat in q~at predstavljata pozitivno in negativno nasičenje hitrosti v z-tem sklepu. Za popolno kompenzacijo presežka hitrosti v i tem sklepu mora biti produkt Ng za i-ti sklep enak —qoveri- Zaradi lažjega razumevanja zapišimo produkt Nq,com v razčlenjeni obliki 60 Določitev naloge mobilnega manipulator j a Nq, comp N11 N12 N21 N22 N1 Nl2 N2l N1n N2n Nin Qcompi Qcomp2 Qcompi -'"ri1 -'"«,2 • • • -'"ni • • • ^"wi Qcompn pri čemer so Nj komponente matrike N, gCOTOPi pa komponente vektorja qcomp. Produkt Ng mora ravno kompenzirati presežek hitrosti v z-tem sklepu Hoveri N1 Nl2 ... N« N, l comp" Kompenzacijska hitrost qcomp povzroči poleg hitrosti q0ven v sklepu i, kjer je hitrost presežena, tudi hitrosti v ostalih sklepih. Te hitrosti nadomestijo primanjkljaj in zagotovijo, da je hitrost vrha i, nespremenjena. Poleg presežka hitrosti q0ven so rezultat produkta N Qi ^ Qsati , , Qsati = \ ' i410) 0, drugače pri čemer predstavlja qsati nasičenje pospeška sistema v sklepu i. Enak princip bi lahko uporabili v primeru okvare-zaskočitve določenega sklepa. V tem primeru bi postavili v tem sklepu hitrost in pospešek na nič, ostale sklepne hitrosti bi nadomestile primanjkljaj. 4.3 Nasičenje hitrosti in pospeškov 63 4.3.2 Rezultati kompenzacije nasičenja hitrosti Algoritem za kompenzacijo hitrosti in pospeškov smo prikazali na redundantnem manipulatorju s štirimi rotacijskimi prostostnimi stopnjami, ki se giblje v ravnini. Stopnji redundance sta torej dve, kar pomeni, da lahko dve stopnji prideta v nasičenje, da bo sistem še vedno zadovoljivo deloval. Za boljši prikaz delovanja smo algoritem testirali na sistemu brez povratne zanke. Regulator s povratno zanko bi odpravil del pogreška v prostoru naloge, tako da bi bil učinek algoritma slabše viden rezultati pa močno odvisni od regulatorja. Model, ki smo ga uporabili pri testiranju algoritma, je prikazan na sliki 4.3. Generator signala generira signal sklepnih hitrosti, ki je prikazan na sliki 4.4 v levem stolpcu. Slika prikazuje hitrosti vseh štirih sklepov. Signal v drugi in tretji stopnji presega omejitve, ki znašajo 0,3 rd/s in so prikazane s črtkano črto. Signal generatorja vodimo na tri veje. V zgornji veji je model sistema, ki ne vsebuje omejitev. Odziv te veje v prostoru naloge smo poimenovali Xbrez omejitev V srednji veji vodimo isti signal preko omejilnika hitrosti na model. Omejeni signal je prikazan na sliki 4.4 v srednjem stolpcu. Odziv te veje v prostoru naloge smo poimenovali xz omejitvami- V spodnji veji smo signal generatorja vodili na blok za kompenzacijo hitrosti. Sklepne hitrosti po kompenzaciji ne presegajo omejitev, dodane pa so tudi hitrosti v drugih sklepih, ki zagotavljajo nemoteno gibanje v prostoru naloge (slika 4.4 desni stolpec). Dobljene hitrosti preko omejilnika hitrosti vodimo v model. Odziv te veje v prostoru naloge smo poimenovali «•s kompenzacijo • Model sistema Abrez omejitev Generator signala qci CJlome ------->• Model sistema Az omejitvami Kompenzacija hitrosti % CJomej ----> Model sistema -^-s kompenzacijo Slika 4.3: Blok shema za testiranje algoritma za kompenzacijo hitrosti Slika 4.5 prikazuje pogreške v prostoru naloge. Pogrešek je definiran kot raz- 64 Določitev naloge mobilnega manipulator j a Slika 4.4: Hitrosti v sklepih manipulatorja; levo - neomejene hitrosti, sredina -omejene nekompenzirane hitrosti, desno - kompenzirane hitrosti lika med odzivom sistema brez omejitev (o^rez omejitev) in sistema z omejitvami xz omejitvami in xs kompenzacijo- Na levi strani je prikazan pogrešek sistema v veji brez kompenzacije. Pogrešek je različen od nič, kar pomeni, da se odziv v prostoru naloge razlikuje od pričakovanega. Na desni sliki je prikazan pogrešek sistema v veji s kompenzacijo hitrosti. Zaradi popolne kompenzacije je pogrešek ves čas enak nič, kar pomeni, da je odziv v prostoru naloge enak kljub omejitvi. Hitrosti v drugih sklepih učinkovito kompenzirajo primanjkljaj hitrosti v preseženih sklepih in zagotavljajo, da je gibanje v prostoru naloge enako. 4.4 Gibalno območje ploščadi Mobilni manipulator ima teoretično neskončen delovni prostor. Sam manipulator pa ima omejen delovni prostor glede na ploščad, glede na to omejitev definiramo 4.4 Gibalno območje ploščadi 65 0.8- 0.6- 0.4- E 0.2 - Q. o o* 0 — D. o tq tq_comp qd \/lodel realnega sistema 1 Connect to qd -real system „.. u -r j qpdd -Torque mode Sonar dataSonar -Sonardd -i —W Krog i—> r^h ------------------1 ' r> RoboWork Animation r I i RoboWorks < Man q grad manip qdn ovira Manipulabilnost Ničelni prostor Slika 4.9: Primer uporabe orodja v Matlab Simulinku Slika 4.10: Prikaz grafične predstavitve mobilnega manipulatorja v prostoru z ovirami 4.6 Povezava sistemov V sklopu mobilnega manipulatorja nastopata dva povsem ločena podsistema. Pošiljanje ukazov za vodenje ter branje konfiguracij se pri obeh sistemih razlikuje. 72 Določitev naloge mobilnega manipulator j a Slika 4.11: Prikaz mobilnega manipulatorja v okolju Roboworks Potrebno je bilo razviti sistem, ki je sposoben vodenja obeh podsistemov in ki lahko deluje v realnem času. Delovanje v realnem času je pri realnih sistemih mnogokrat ključnega pomena in močno vpliva na stabilnost sistema. Običajno se zahteva tudi visoka frekvenca vzorčenja, saj ima nizka frekvenca negativen vpliv na obnašanje sistema. Zaradi tega je potrebno, da algoritem poteka v realnem času z zadostno frekvenco vzorčenja. To je možno doseči na več načinov. Mnogi raziskovalci za ta namen uporabljajo posebne operacijske sisteme, ki delujejo v realnem času. To so npr. Real Time Linux, QNX, EYRX, SMX in mnogi drugi. Uporabljajo se pa tudi namensko razviti operacijski sistemi. Slabost pri večini teh sistemov je predvsem neprenosljivost med različnimi sistemi in pa dolgotrajnost razvoja. Mnogokrat je potrebno algoritem zapisati v enem od nižje-nivojskih programskih jezikov (npr. C). To pa povečuje možnost napake in podaljša čas testiranja. Struktura vodenja, ki smo jo uporabili v našem delu, je prikazana na sliki 4.12. Vodenje poteka na več hierarhičnih nivojih. Na najvišjem nivoju poteka razvoj in testiranje regulacijskih algoritmov. Na drugem nivoju poteka izvajanje razvitega 4.6 Povezava sistemov 73 Raeunalnik za delovanje v realnem easu Slika 4.12: Prikaz strojne povezave algoritma v realnem času. Na tretjem nivoju pa se izvaja lokalna regulacija na manipulatorju ter ploščadi. Najvišji nivo - razvoj in testiranje algoritmov poteka na osebnem računalniku v okolju Matlab Simulink z uporabo paketa za delo z mobilnimi manipulatorji. Razvoj in testiranje algoritmov je v takšnem okolju hitro in enostavno. Na tem nivoju opravimo tudi vsa testiranja algoritmov z uporabo simulacije. Celotni sistem deluje v okolju Windows, kjer so orodja večinoma grafična in zaradi tega uporabniku prijaznejša. Žal s takšnimi operacijskimi sistemi ne moremo zagotoviti delovanja algoritmov v realnem času z zadostno frekvenco vzorčenja. Ko dosežemo zadovoljive rezultate, je potrebno algoritem prenesti na drug računalnik, ki deluje v realnem času (drugi hierarhični nivo). Ta prenos se izvede preko povezave A, ki je izvedena z ethernet povezavo. Pred prenosom algoritmov je le potrebno v Matlab Simulinku zamenjati blok, ki predstavlja model sistema z blokom, ki predstavlja povezavo z realnim sistemom. Na drugem hierarhičnem nivoju se nahaja računalnik, ki izvaja algoritme v realnem času. Na tem računalniku teče operacijski sistem xPC Target, ki ga je razvil Matlab (slika 4.13). Sistem xPC Target smo izbrali zato, ker je namenjen razvoju prototipnih aplikacij in omogoča delovanje v realnem času. Prednost tega 74 Določitev naloge mobilnega manipulator j a okolja pred ostalimi je v tem, da omogoča razvoj algoritmov v Matlab-Simulinku in direktni prenos prevedenih programov na povsem ločen računalnik, kjer poteka delovanje v realnem času. Prevedeni program se iz razvojnega računalnika prenese v računalnik za delovanje v realnem času. Prenos je izveden preko računalniške mreže, tako da je ta postopek hiter in enostaven, ter omogoča razvoj tudi na daljavo. Slika 4.13: Slika na monitorju računalnika z xPC target operacijskim sistemom Operacijski sistem xPC target je zelo preprost. Vsebuje le orodja za komunikacijo z razvojnim računalnikom in enostavnejši izris signalov ter nekaj preprostejših ukazov, s katerimi zaganjamo in ustavljamo simulacijo ter spreminjamo parametre. Zaradi enostavnosti operacijski sistem ne trosi veliko računalniškeg in zagotavlja delovanje v realnem času z visoko frekvenco vzorčenja. V našem primeru algoritem poteka s frekvenco 500 Hz, na računalniku Pentium II, 400 MHz. Frekvenca vzorčenja je dovolj ponovljiva, saj znaša od cca. 495 Hz do 505 Hz, kar predstavlja le 1 % odmik in ne vpliva pomembno na obnašanje sistema. Ta računalnik pošilja izračunane regulirne signale manipulatorju ter ploščadi. Komunikacija z manipulatorjem poteka preko namenskih kartic nameščenih v računalniku (povezava B), ki omogočajo določanje krmilnih veličin manipulatorja in branje pozicij ter hitrosti v sklepih. Komunikacija s ploščadjo pa poteka preko serijske povezave (povezava C). Tretji hierarhični nivo obravnava lokalno regulacijo manipulatorja ter ploščadi. Manipulator vsebuje štiri ločene motorske krmilnike za vsak sklep ločeno. Za vsak posamezen sklep si lahko izberemo dva načina vodenja. To sta hitro- 4.6 Povezava sistemov 75 stni ali navorni način. Referenčno veličino manipulatorja (hitrost oz. navor) določa osebni računalnik, ki je predstavljen na drugem nivoju. Mobilna ploščad vsebuje hitrostni regulator, ki določa hitrosti posameznih koles in njihove orientacije. Uporabnik nima direktnega dostopa do posameznega kolesa, ampak določi želeno hitrost in smer celotne ploščadi. Uporabnik dostopa tudi do podatkov o poziciji ter orientaciji ploščadi v globalno določenem koordinatnem sistemu. Ta informacija je določena z merjenjem pomikov vseh štirih koles. Dejanska postavitev sistema v laboratoriju je prikazana na sliki 4.14. Slika 4.14: Prikaz dejanske postavitve sistema 76 Določitev naloge mobilnega manipulator j a 5. Rezultati in ovrednotenje dela V tem poglavju smo primerjali kombinirani način vodenja s hitrostnim in na-vornim načinom vodenja. To primerjavo smo izvedli samo s pomočjo simulacije, saj navornega načina nismo mogli realizirati na realnem sistemu. Simulacijo smo izvajali s pomočjo orodja za delo z mobilnimi manipulator^, ki smo ga razvili v ta namen. V nadaljevanju poglavja smo podali rezultate implementacije na realnem sistemu. Pri tem smo izpostavili sledenje primarni nalogi, izogibanje oviram ter odziv sistema na silo na vrhu ter v prostoru naloge. Podali smo še primerjavo z drugim načinom kombiniranega vodenja, ki ga je predlagal Oetomo [21]. Primerjava med regulatorjem za vodenje pospeškov, na katerem je osnovan naš način kombiniranega vodenja, ter drugimi načini dinamičnega vodenja (npr. impedančno in hibridno vodenje) je bila podana v literaturi [38], zato je nismo opravili. 5.1 Primerjava med hitrostnim, navornim in kombiniranim načinom vodenja Primerjali smo tri načine vodenja. Prvi način je hitrostni, kjer je celoten sistem voden hitrostno. Regulator je podan s sledečo enačbo qc = 3* (r + Kpe) + Np. (5.1) V tem primeru vsako stopnjo robota ločeno vodi lokalni PID regulator z optimiziranimi parametri. Regulator določa navor motorja, ki zagotavlja sledenje želeni sklepni hitrosti, kadar ni zunanjih motenj. Gibanje robota v posameznih sklepih vpliva na gibanje drugih sklepov. Te medsebojne vplive hitrostni regulator obravnava kot motnje, torej jih ne kompenzira. Drugi način, ki smo ga primerjali, je kombinirani način, ki smo ga predlagali v disertaciji. V tem primeru vodenje 77 78 Rezultati in ovrednotenje dela kompenzira vplive gibanja manipulatorja ter vplive gibanja ploščadi na manipulator, obratno pa ne. Tretji način je popolno navorni [42, 29] in je podan z enačbo rc = H(q)qc + Č(q, q)q + g(q). (5.2) V tem primeru vplivamo na vse navore v sistemu. Ta način vodenja kompenzira vse medsebojne vplive med sistemoma. Parametri regulatorjev so bili pri vseh treh načinih optimalni. Določeni so bili tako, da je imel sistem enake lastnosti pri sledenju določeni trajektoriji (glej naslednje poglavje). 5.1.1 Sledenje trajektoriji Najprej smo primerjali sledenje trajektoriji vrha. Trajektorijo smo podali kot krožnico z radijem 1 m. Izbrali smo dva različna primera. V prvem primeru je gibanje dokaj počasno, perioda traja 1 s (slika 5.1). V drugem primeru je gibanje hitrejše, perioda traja 0,1 s (slika 5.2). 0.02 0.006 0.004 0.002 hitrostni n. kombinirani n. navorni n. Slika 5.12: Pogrešek v prostoru naloge pa mora pogoju za stabilnost. Vrednosti so sledeče: Kp = 1000, K——-^—'--------'-----1 0.02r a) sledenje trajektoriji b) pogrešek v prostoru naloge Slika 5.17: Neovirano gibanje vrha mobilnega manipulatorja (krožnica r—50 cm) 5.2.3 Sledenje trajektoriji v prostoru naloge v prostoru z ovirami Analizirali smo gibanje mobilnega manipulatorja v prostoru z neznanimi ovirami. V prostoru se ovire nahajajo v okolici ploščadi in v okolici manipulatorja. Prve zaznavamo z ultrazvočnimi senzorji na ploščadi, drugih pa ne moremo zaznavati. Ovire v okolici ploščadi Ovire v okolici ploščadi generirajo odbojno hitrost v ničelnem prostoru, ki jo določimo z uporabo enačbe (4.1). Odbojna hitrost povzroči odmik ploščadi od ovir in ne vpliva na prostor naloge. Območje vpliva ovir v našem primeru znaša 40 cm, koeficient odboja pa 0,1. Slika 5.18 prikazuje gibanje vrha mobilnega manipulatorja v prostoru z ovirami. Ploščad se zaradi primarne in sekundarne naloge 90 Rezultati in ovrednotenje dela (izogibanje oviram) giblje kot je prikazano na sliki 5.19 z zeleno barvo, na sliki modra krožnica označuje referenčno trajektorijo. Gibanje sekundarne naloge, ki ga določajo ovire, se razlikuje od dejanskega gibanja ploščadi, kar je prikazano na sliki 5.20. Zelena barva prikazuje dejansko gibanje ploščadi, modra pa gibanje, ki ga določa sekundarna naloga. Razlog, da sekundarna naloga ni natančno izpolnjena, je v preslikavi v ničelni prostor ter primarna naloga. To razliko lahko zmanjšamo s spremembo sekundarne naloge, tako da bo rezultat po preslikavi takšen, kot bi moral biti. Razliko lahko zmanjšamo tudi s primerno izbiro uteži inverza [49]. V primeru, kadar je sekundarna naloga izogibanje oviram, ni potrebno, daje ta naloga natančno izpolnjena. Zahtevamo le, da se sistem izogiblje oviram, ni pa tako pomembno s kakšno hitrostjo in smerjo. V našem primeru se ploščad uspešno izogiblje oviram. Sekundarna naloga ni imela vpliva na primarno nalogo, kar kaže pogrešek AIAE, ki je bil v istem velikostnem razredu in je znašal 9,0 mm. -1.4 -1.2 -1 -0.! r ,x /m 40 60 t/s 100 a) sledenje trajektoriji b) pogrešek v prostoru naloge Slika 5.18: Gibanje vrha mobilnega manipulatorja v prostoru z ovirami v okolici ploščadi (krožnica r—50 cm) Ovire v okolici manipulatorja in ploščadi Gibanje vrha mobilnega manipulatorja v primeru, ko so v okolici ploščadi in manipulatorja ovire, je prikazano na sliki 5.21. Manipulator se odmakne oviri šele po kontaktu z oviro. Gibanje ploščadi zaradi ovir je podobno kot v prejšnjem primeru. Ovire, ki se dotaknejo manipulatorja, vplivajo posredno na gibanje ploščadi. Dotik povzroči pogrešek v prostoru naloge, regulator skuša pogrešek 5.2 Analiza odziva na realnem sistemu 91 1 0.5 -0.5 -2 -1.5 -1 -0.5 0 x/m Slika 5.19: Gibanje mobilnega manipulatorja v prostoru z ovirami v okolici ploščadi 2 1 E "(0 CM cT o CM -1 -2 0 20 40 60 80 100 t/S Slika 5.20: Dejansko gibanje ploščadi v prostoru z ovirami in gibanje, ki ga določajo ovire odpraviti tudi z gibanjem ploščadi. Zaradi visoke podajnosti v ničelnem prostoru in razmeroma visoke togosti v prostoru naloge sila nima velikega vpliva na pogre-šek. Pogrešek AIAE je v istem velikostnem razredu in znaša 6,0 mm. Velikost sile ovire na segmente manipulatorja je prikazana na sliki 5.22, kjer je prikazana tudi absolutna vrednost pogreška. S slike lahko opazimo korelacijo med silo in pogreškom. To se najbolje vidi pri času okrog 95 s, kjer je bila sila mnogo večja, posledično tudi pogrešek. Razlog za veliko silo je ta, da je bil del med točko, kjer je delovala sila, in vrhom v singularnosti. V tem primeru se sila direktno prenese na vrh manipulatorja in ima tako večji vpliv na gibanje v prostoru na- 92 Rezultati in ovrednotenje dela loge [46]. Vpliv sile na prostor naloge je odvisen od konfiguracije in od lastnosti manipulatorja (poglavje 3.2.2). -1.6 -1.4 -1.2 -1 -0.8 -0.6 r ,x /m a) sledenje trajektoriji 40 60 t/s 100 b) pogrešek v prostoru naloge Slika 5.21: Gibanje vrha mobilnega manipulatorja v prostoru z ovirami v okolici ploščadi in manipulatorja (krožnica r=50 cm) 0.04 100 40 60 t/s 80 100 a) absolutna vrednost pogreška b) sila ovire Slika 5.22: Pogrešek in sila ovire na manipulator Slika 5.23 prikazuje tlorisni pogled na konfiguracijo mobilnega manipulatorja pred in po kontaktu z oviro. Manjši črni krogi predstavljajo ovire, ki jih detekti-ramo z ultrazvočnimi senzorji. Skupina ovir na desni strani, ki so postavljene v ravni črti, predstavlja steno. Nedetektirana ovira v okolici manipulatorja povzroči silo na manipulator. Ovira ni prikazana, smer in položaj sile ovire F pa sta samo približno ocenjena, saj teh veličin ne merimo. Opazimo lahko odmik manipulatorja v smeri stran od sile. Na sliki je prikazana tudi trajektorija gibanja vrha z zeleno barvo. 5.3 Drugi algoritmi za kombinirano vodenje 93 1 0.5 *¦ 0 -0.5 -1 -1.5 -1 -0.5 0 0.5 x Slika 5.23: Konfiguracija mobilnega manipulatorja pred in po kontaktu z oviro 5.2.4 Gibanje v primeru kontakta vrha manipulatorja z okoljem Do kontakta vrha manipulatorja z okoljem pride, ko se del referenčne trajekto-rije nahaja znotraj predmeta. Vrh mobilnega manipulatorja sledi trajektoriji do dotika, potem drsi po predmetu in pritiska z določeno silo, nato pa se spet oddalji od predmeta. Na sliki 5.24 je prikazano gibanje vrha, kjer se del referenčne krožnice nahaja znotraj zelo togega predmeta-stene. Stena na sliki ni prikazana, saj ne vemo točne lokacije, vendar pa lahko s slike očitno vidimo, kje se stena nahaja. Ob dotiku se pojavi sila, ki je odvisna od pogreška, parametrov regulatorja ter tudi od konfiguracije manipulatorja (poglavje 3.2.2). Velikost normalne komponente sile na steno je prikazana na sliki 5.25. Oblika odziva sile močno korelira s pogreškom. Meritev sile je bila izvedena samo za prikaz in ne za namene regulacije. 5.3 Drugi algoritmi za kombinirano vodenje Iz literature je znan še en algoritem vodenja, ki združuje hitrostno in navorno vodenje [21]. Opisani pristop temelji na združitvi dveh različnih načinov vodenja, 94 Rezultati in ovrednotenje dela -0.5L -1.6 -1.4 -1.2 -1 -0.8 -0.6 r ,x /m a) sledenje trajektoriji b) pogrešek v prostoru naloge Slika 5.24: Gibanje vrha mobilnega manipulatorja v kontaktu z okoljem (krožnica r=50 cm) 5 o -5 |-10 -15 -20 -25 20 40 60 80 100 t/s Slika 5.25: Normalna komponenta sile na steno namenjenim redundantnim robotom. Prvi je navorni, ki ga je predlagal Khatib [55]. Gre za hibridni regulator v zunanjih koordinatah. Drugi pa je hitrostni regulator. Pri opisanem pristopu izračunamo regulirne navore za vse sklepe ter regulirne hitrosti za vse sklepe. Nato se pri ploščadi uporabi le tisti del hitrosti, ki se nanašajo na ploščad, na manipulatorju pa tisti del navorov, ki se nanašajo na manipulator. Zaradi dualnosti med prostoroma hitrosti in navorov algoritem zagotavlja sledenje trajektoriji primarne naloge, pri čemer mora biti posplošeni inverz v obeh regulatorjih utežen z vztrajnostno matriko mobilnega manipulatorja. Ta algoritem je zmožen sledenja primarni nalogi le v primeru, ko ni sekundarne naloge. V primeru, da podamo tudi sekundarno nalogo, se izkaže, da oba regulatorja med seboj nista skladna. V tem primeru navorni regulator določa drugačne pomike kot hitrostni, kar povzroča pogrešek v prostoru naloge in ničelnem 5.3 Drugi algoritmi za kombinirano vodenje 95 prostoru. Zaradi tega ta način vodenja ni primeren. 96 Rezultati in ovrednotenje dela 6. Sklep V delu smo predstavili povsem nov način vodenja robotskega sistema, ki kombinira dva načina vodenja. Robotski sistem, ki ga lahko vodimo z opisanim načinom, je razdeljen v dva podsistema, od katerih enega vodimo z navorom in drugega s hitrostjo. Predstavljeni način vodenja je primeren tudi za redundantne sisteme, pri čemer omogoča izvajanje primarne naloge skupaj s sekundarno, ki jo določajo dodatni kriteriji. Za predlagani način vodenja smo izvedli analizo sledenja trajektoriji v prostoru naloge ter v ničelnem prostoru. Analizirali smo tudi vpliv zunanje sile, pri čemer smo obravnavali primere, ko zunanja sila deluje v prostoru naloge ali v ničelnem prostoru. Pri tem smo pokazali vpliv parametrov na togost sistema v ničelnem prostoru ter prostoru naloge. Dokazali smo tudi, da je sistem, voden s takšnim načinom vodenja, lahko dinamično konsistenten. Utež, ki zagotavlja dinamično konsistenco, je enaka vztrajnostni matriki manipulatorja, pri kateri so na določenih mestih elementi enaki nič. S to matriko delno ločimo oba podsistema, kar se izkaže kot slabost pri vodenju. Zaradi tega dinamična konsistenca ni primerna v primeru kombinirano vodenega robotskega sistema. Predlagani način vodenja smo realizirali na realnem sistemu, ki je sestavljen iz mobilne ploščadi in robotskega manipulatorja. Tak sistem imenujemo mobilni manipulator. V našem primeru ploščad omogoča samo hitrostno vodenje, manipulator pa tudi navorno. Predstavili smo metodo določitve dinamičnega modela manipulatorja na mobilni ploščadi. Opisana metoda temelji na predpostavki, da je dinamični model manipulatorja znan, in omogoča določitev le tistih elementov v dinamičnem modelu, ki jih prispeva gibanje ploščadi. Metoda je v primerjavi z drugimi metodami, ki določajo dinamični model v celoti, mnogo hitrejša in enostavnejša, manjša pa je tudi možnost napak. Primarno in sekundarno nalogo ter parametre regulatorja smo definirali tako, 97 98 Sklep da je sistem mobilnega manipulatorja primeren za uporabo in delo v okolju s človekom. Primarno nalogo smo podali kot sledenje trajektoriji. To trajekto-rijo poda zunanji sistem, ki ni vključen v obseg tega dela. Sekundarno nalogo smo podali tako, da smo zagotovili izogibanje oviram v okolici ploščadi. Te ovire detektiramo z uporabo ultrazvočih senzorjev na ploščadi. S sekundarno nalogo ne moremo zagotoviti izogibanja oviram v okolici manipulatorja, saj teh ovir ne moremo detektirati. Za ta namen smo priredili parametre regulatorja tako, da ima sistem visoko podajnost v ničelnem prostoru. Visoka podajnost sistema v ničelnem prostoru ter nesamozaporna zgradba manipulatorja omogočata odmikanje od ovir v okolici manipulatorja, ki jih ni možno zaznati. S takšnim pristopom smo zagotovili odmikanje od vseh ovir v prostoru ter primerno obnašanje v dotiku z okoljem, kar je nujno potrebno pri uporabi robota v človekovem okolju. Razvili in predstavili smo še nekaj izboljšav k vodenju. Podali smo algoritem za spreminjanje uteži inverza, s katerim dosežemo bolj usklajeno gibanje ploščadi in manipulatorja. Definirali smo gibalno območje, znotraj katerega se mora gibati ploščad. V odvisnosti od pozicije ter hitrosti ploščadi v gibalnem območju vplivamo na gibanje ploščadi in zagotavljamo, da se bo ploščad nahajala znotraj gibalnega območja. Podali smo še algoritem za popolno kompenzacijo presežka hitrosti oz. pospeškov. Z vsemi temi izboljšavami k vodenju dosežemo bolj usklajeno delovanje obeh podsistemov, zmanjšamo pogrešek v prostoru naloge, ki nastane zaradi končnih hitrosti in pospeškov ploščadi, ter odpravimo singularne konfiguracije manipulatorja. Rezultati meritev na realnem sistemu mobilnega manipulatorja so pokazali, da sistem zagotavlja sledenje trajektoriji v prostoru naloge z natančnostjo, ki je primerljiva z natančnostjo samega manipulatorja. Pokazali smo, da se sistem izogiba oviram v okolici ploščadi, ne da bi to vplivalo na gibanje v prostoru naloge. Podajnost manipulatorja v ničelnem prostoru omogoča odmikanje od ovir v okolici manipulatorja. Sila ovire po trku je majhna, tako da ni nevarnosti za poškodbo manipulatorja ali okolja. Zaradi visoke togosti v prostoru naloge ter majhne sile ob dotiku, dotik z oviro ne povzroči velikega pogreška v prostoru naloge. Celoten sistem mobilnega manipulatorja zadosti zahtevam, podanim v začetku dela: 6.1 Izvirni prispevki 99 • Robotski sistem združuje dva podsistema in pri tem izkorišča prednosti obeh podsistemov. • Vodenje zagotavlja avtonomno gibanje v nestrukturiranih okoljih z neznanimi ovirami. Pri tem smo za detekcijo ovir uporabili le senzorje razdalje, ki se nahajajo v/na robotu. Ker je sistem redundanten, smo dosegli, da hkrati z odmikanjem od ovir robot sledi predpisani trajektoriji vrha. • V primeru dotika z okoljem je sistem podajen. • Predelava krmilnika ploščadi ni potrebna, saj je vodenje kombinirano in združuje navorno in hitrostno vodenje. • Vodenje deluje v realnem času na realnem sistemu z dovolj veliko frekvenco vzorčenja. 6.1 Izvirni prispevki Na podlagi raziskav, objavljenih v literaturi, ter rezultatov meritev menimo, da raziskava, opisana v doktorski disertaciji, med drugim vsebuje sledeče izvirne prispevke k znanosti: • Razvili smo sistem za kombinirano vodenje robotskega sistema. To je povsem nov pristop k vodenju in združuje dva načina vodenja, to sta hitrostni in navorni način. Ta način vodenja uporabimo, kadar želimo del sistema voditi z navorom in del s hitrostjo. S takšnim načinom vodenja dosežemo rezultate, ki so primerljivi z navornim načinom vodenja, pri tem pa ni potrebno spreminjati krmilnika v hitrostno vodenem delu sistema. • Predstavili smo učinkovitejšo metodo določanja dinamičnega modela mani-pulatorja z v ravnini premikajočo bazo. • Za predstavljeni način vodenja smo naredili matematično analizo sledenja trajektoriji in vpliva zunanjih sil. • Podali smo algoritem za kompenzacijo presežka hitrosti ter dosegli, da ploščad ostane znotraj gibalnega območja. Sklep 100 Literatura [1] K. Lay, E. Prassler, R. Dillmann, G. Grunwald, M. Hagele, G. Lawitzky, A. Stopp, and W. von Seelen. Morpha: Communication and interaction with intelligent, anthropomorphic robot assistants. In Tagungsband Sta-tustage Leitprojekte Mensch-Technik-Interaktion in der Wissensgesellschaft, Saarbriicken, Germany, October, 2001. [2] O. Khatib. Mobile manipulation: The robotic assistant. Robotics and Autonomous Systems, 26:175-183, 1999. [3] Y. Yamamoto and X. Yun. Coordinating locomotion and manipulation of a mobile manipulator. IEEE Transactions on Automatic Control, 39(6):1326-1332, 1994. [4] O. Khatib, K. Yokoi, O. Brock, K. Chang, and A. Casal. Robots in human environments: Basic autonomous capabilities. The International Journal of Robotics Research, 18(7):684-696, 1999. [5] G. Grunwald, G. Schreiber, A. Albi-Schaffer, and G. Hirzinger. Programming by touch: The different way of human-robot interaction. IEEE Transactions on Industrial Electronics, 50(4):659-666, 2003. [6] E. Prassler, A. Ritter, C. Schaeffer, and P. Fiorini. A short history of cleaning robots. Autonomous Robots, 9(3):211-226, 2000. [7] S. Thrun, M. Beetz, M. Bennewitz, W. Burgard, A.B. Cremers, F. Dellaert, D. Fox, D. Hahnel, C. Rosenberg, N. Roy, J. Schulte, and D. Schulz. Probabilistic algorithms and the interactive museum tour-guide robot minerva. International Journal of Robotics Research, 19(ll):972-999, 2000. 101 102 Literatura [8] Bum-Jae You, Myung Hwangbo, Sung-On Lee, Sang-Rok Oh, Young Do Kwon, and San Lim. Development of a home service robot "issac". In Proceedings of Int. Conference on Intelligent Robots and Systems, pages 2630-2635, Las Vegas, Nevada, USA, October, 2003. [9] B. Nemec, D. Omrčen, and B. Prihavec. Mobilni roboti za obisk galerij preko interneta. In Informacijska družba IS '01 : zbornik A 4- mednarodne multi-konference, pages 456-459, Ljubljana, Slovenija, Austria, oktober, 22.-26., 2001. [10] Y. Yamamoto and X. Yun. Effect of the dynamic interaction on coordinated control of mobile manipulators. IEEE Transactions on Robotics and Automation, 12(5):816-824, 1996. [11] G. Schreiber and G. Hirzinger. Realtime coordinated redundant motion of nonholonomic mobile manipulator. In Proc. of Int. Symposium on Advances in Robotics and Kinematics; Theory and Application, Spain, 2002. [12] C. Altafini. Inverse kinematic along a geometric spline for a holonomic mobile manipulator. In International Conference on Robotics and Automation, pages 1265-1270, Seoul, 2001. [13] L. Petersson, P. Jensfelt, D. Tell, M. Strandberg, D. Kragic, and H. Chri-stensen. Systems integration for real-world manipulation tasks. In IEEE International Conference on Robotics and Automation, Washington, USA, 2002. [14] R. S. Oropeza and M. Devy. Motion control using visual servoing and potential fields for a rover-mounted manipulator. In International Conference on Robotics and Automation, pages 233-240, Detroit, Michigan, May 1999. [15] D. Omrčen, L. Zlajpah, and B. Nemec. Autonomous motion of a mobile manipulator using a combined torque and velocity control. Robotica, 22(6) :623-632, 2004. [16] K. Nagatani and S. Yuta. Designing a behavior of mobile robot equipped with a manipulator to open and pass through a door. Robotics and Autonomous Systems, (17):53-64, 1996. Literatura 103 [17] Q. Huang, K. Tanie, and S. Sugano. Coordinated motion planning for a mobile manipulator considering stability and manipulation. The International Journal of Robotics Research, 19(8):732-742, August 2000. [18] R.F. Abo-Shanab and N. Sepehri. On dynamic stability of manipulators mounted on mobile platforms. Robotica, 19(4):439-449, 2001. [19] H. G. Tanner and K. J. Kyriakopoulos. Mobile manipulator modeling with kane's approach. Robotica, 19(6):675-690, 2001. [20] R. Holmberg and O. Khatib. Development and control of a holonomic mobile robot for mobile manipulation tasks. The International Journal of Robotics Research, 19(11):1066-1074, Nov. 2000. [21] D. Oetomo, M. Ang Jr., R. Jamisola, and O. Khatib. Integration of torque controlled arm with velocity controlled base for mobile manipulation: An application to aircraft canopy polishing. In Fourteenth CISM-IFToMM Symposium on Robotics RoManSy, pages 308-317, Udine, Italy, Jul. 2002. [22] B. Bayle, J.-Y. Fourquet, and M. Renaud. Manipulability of wheeled mobile manipulators: Application to motion generation. The International Journal of Robotics Research, 22(7-8):565-581, 2003. [23] C. Altafini. Geometric motion control for a kinematically redundant robotic chain: application to a holonomic mobile manipulator. Journal of Robotic Systems, 20(5):211-227, 2003. [24] A. Bowling and O. Khatib. Design of macro/mini manipulators for optimal dynamic performance. In International Conference on Robotics and Automation (ICRA'97), volume 1, pages 449-454, Albuquerque, New Mexico, April 1997. [25] O. Khatib. Inertial properies in robotic manipulation: An object-level framework. International Journal of Robotic Research, 14(1):19—36, 1995. [26] D. N. Nenchev. Redundancy resoulution through local optimization: A review. The Journal of Robotic Systems, 6(6):769-798, 1989. 104 Literatura [27] J. M. Hollerbach. Redundancy resolution of manipulators through torque optimization. Journal of Robotics and Automation, 3(4):308-316, 1987. [28] C. A. Klein and C.-H. Huang. Review of pseudoinverse control for use with kinematically redundant manipulators. Transactions on Systems, Man, and Cybernetics, 13(3):245-250, 1983. [29] Ping Hsu, John Hauser, and Shankar Sastry. Dynamic control of redundant manipulators. Journal of Robotic Systems, 6(2):133-148, 1989. [30] Y. C. Chen and I. D. Walker. A consistent null-space based approach to inverse kinematics of redundant robots. In Proceedings of IEEE Int. Symp. on Robotics and Automation ICRA 1993, pages 347-381, 1993. [31] B. Nemec and L. Zlajpah. Experiments with force control of redundant robots in unstructed environment using minimal null-space formulation. Journal of advanced computational intelligence, 5:263-268, 2002. [32] B. Nemec and L. Zlajpah. Force control of redundant robots in unstructured environments. IEEE Trans, on Industrial Electronics, 49(l):233-240, 2002. [33] O. Brock and O. Khatib. Elastic strips: A framework for motion generation in human environments. International Journal of Robotics Research, 21(12):1031-1052, 2002. [34] O. Khatib. Real-time obstacle avoidance for manipulators and mobile robots. The International Journal of Robotics Research, 5(l):90-98, 1986. [35] A. A. Maciejewski and C. A. Klein. Obstacle avoidance for kinematically redundant manipulators in dynamicaly varying environments. The International Journal of Robotics Research, 4(3):109-117, 1985. [36] L. Zlajpah and B. Nemec. Force strategies for on-line obstacle avoidance for redundant manipulators. Robotica, 21:633-644, 2003. [37] T. Woesch and W. Neubauer. Collision avoidance and handling for a mobile manipulator. In Proc. of the 1th. International Conference Intelligent Autonomous Systems (IAS 2002), pages 388-391, Marina del Rey, California, USA, March 25-27, 2002. Literatura 105 [38] J. M. Hollerbach C. H. An. The role of dynamic models in cartesian force control of manipulators. The International Journal of Robotics Research, 8(4):51-71, 1989. [39] M.H. Raibert and J.J. Craig. Hybrid position/force control of manipulators. Journal of Dynamic Systems, Measurement and Control, 102:126-133, June, 1981. [40] D. Whitney. Force feedback control of manipulator fine motions. Journal of Dynamic Systems, Measurement, and Control, 99:91-97, June, 1977. [41] J. Salisbury. Active stiffness control of a manipulator in cartesian coordinates. In Proceedings of the 19th IEEE Int. Conference on Decision and Control, pages 95-100, Albuquerque, New Mexico, USA, September 1980. [42] J. Luh, M. Walker, and R. Paul. Resolved-acceleration control of mechanical manipulators. IEEE Transactions on Automatic Control, 25(3):468- 474, June 1980. [43] L. Zlajpah. Simulation of n-r planar manipulators. Simulation Practice and Theory, 6(3):305 - 321, 1998. [44] H. Asada and J.-J. E. Slotine. Robot Analysis and Control. A Wiley Inter-science publication, John Wiley and Sons, Inc., 1986. [45] J.E.Nethery and M.W. Spong. Robotica: A mathematica package for robot analysis. IEEE Robotic and Automation Magazine, 1(1):13—20, 1994. [46] L. Zlajpah. Influence of external forces on the behaviour of redundant manipulators. Robotica, 17:283-292, 1999. [47] L. Zlajpah. Compliant motion control of redundant manipulators in constraint space. In Fifth IFAC Symposium on Robot Control (SYROCO'97), pages 657-663, Nantes, France, Sept. 3-5, 1997. [48] Yoshihiko Nakamura. Advanced Robotics: Redundancy and Optimization. Addison-Wesley Publishing Company, Inc., 1991. [49] J. Lenarčič. On the execution of the secondary task of redundant manipulators. Robotics and Autonomous Systems, 30:231-236, 2000. [50] Oliver Brock. Generating Robot Motion: The Integration of Planning and Execution. The University of Stanford - doktorsko delo, 1999. [51] D. Omrčen. Vodenje redundantnega sistema robotskega manipulator j a in mobilnega robota, diplomsko delo, 2000. [52] L. Žlajpah and B. Nemec. Kinematic control algorithms for on-line obstacle avoidance for redundant manipulators. In International Conference on Intelligent Robots and Systems (IROS 2002), pages 1898-1902, Lausanne, 2002. [53] D. Omrčen, L. Žlajpah, B. Nemec, and J. Babic. Torque-velocity control of mobile manipulator in unstructured environment. In 12th International Workshop on Robotics in Alpe-Adria-Danube Region, RAAD '03, pages 1-6, Cassino, Italy, 2003. [54] Murray R. Spiegel. Mathematical Handbook of Formulas and Tables. McGraw Hill, 1968. [55] O. Khatib. A unified approach for motion and force control of robot manipulators: The operational space formulation. Journal of Robotics and Automation, 3(l):43-53, 1987. [56] J. Lenarčič and T. Bajd. Robotski mehanizmi. 1. izdaja. Fakulteta za elektrotehniko, 2003. [57] T. Bajd and A. Kralj. Robotika. 2. dopolnjena izdaja. Fakulteta za elektrotehniko, 1997. [58] Jonghoon Park, Wan Kyun Chung, and Youngil Youm. Weighted decomposition of kinematics and dynamics of kinematically redundant manipulators. In Proceedings of the 1996 IEEE International Conference on Robotics nad Automation, pages 480-486, Minneapolis, Minnesota, USA, April, 1996. [59] D. Omrčen and J. Lenarčič. Vodenje redundantnega sistema mobilne platforme z manipulatorjem. In Electrotechnical and Computer Science Conference (ERK 2001), volume B, pages 425-426, Portorož, Slovenija, 2001. Literatura 107 Izjava Izjavljam, da sem doktorsko disertacijo izdelal samostojno pod mentorstvom prof. dr. Jadrana Lenarčiča, univ. dipl. inž. el. Izkazano pomoč ostalih sodelavcev sem navedel v zahvali. V Ljubljani, 16. 5. 2005 Damir Omrčen