master thesis
Povzetek
This work analyzes firstly the theoretical background of dynamical motion primitives, their intended purpose, motivation, possibilities, and pros and cons, later
going into a specific application of dynamical motion primitives for generating
a trajectory for a seven joint redundant robotic manipulator. The
work’s purpose is to provide insight into the field of flexible trajectory generation
based on demonstrated and learned motions while trying to stay readable and
understandable to a wider audience for future practical purposes.
Initially, motion primitives (the two kinds, kinematic and dynamic) are
defined and analyzed in detail as constructive components, or rather, building
blocks of muscular motion, observed from the standpoints of biorobotics and
system design. We observe the way that motion primitives may present
themselves as mathematical descriptions of the way biological entities, such as
vertebrates and invertebrates, perform motions. The underlying principles of
motion primitives, such as the relationships between the learning of the skill to
the actual reproduction of the motion are analyzed. Motor learning and the
construction of mathematical representations for the purposes of generalizing
motion-based tasks are observed. Differences between discrete motion primitives
and rhythmic motion primitives are outlined, as well as their individual points
of importance.
Following is a description of the procedures used to record a demonstration of a motion. An algorithm for encoding the discrete dynamical motion
primitive based upon Gaussian basis functions and locally weighted regression is
described in detail. Point attractor dynamics pertaining to the manner in which
dynamical motion primitives generate a trajectory are defined, described, and
visualized. A method used to modify the trajectory generation algorithm with
the goal of a timely approach to the necessary goal point is outlined, with the
necessary mathematical formulation.
We define the specifics and the peculiarities of the task upon which the
method is tested and used. The robotic manipulator performed the task of
localizing bacterial colonies located on a Petri dish with the use of a camera
affixed to its end-effector, and used the pre-recorded and encoded dynamical
motion primitives to extract the desired bacteria colony from the dish, using
a needle probe affixed to the end-effector, and place the bacteria colony onto
a target plate. Given the minuscule dimensions of the bacteria colonies (with
respect to the dimensions of the robotic manipulator), with many visible bacteria
colonies on a scale of a third of a millimeter, a high dose of precision was
required, both by the trajectory generation algorithm and by the robot’s control
system.
In the first chapter, we introduced the problem of achieving a generalized method
of robot planning and control, that could rely on a recording of a motion but that
could also generalize this motion to different scenarios. We explained the origins
and the motivations of such a method in the form of dynamic motion primitives
(DMPs). We introduced the task at hand, bacterial colony extraction for which
high accuracy was required (below a millimeter along each of the X, Y and Z
axes). We described the equipment used for the task, in the form of a 7-DOF
robot manipulator with an industrial-grade imaging device and colony extraction
needle affixed to its end-effector.
In the second chapter, we go into detail about how DMPs are formulated, and the
dynamical foundations upon which the approach is based. We explain the physics
of attractors on a model of a realistic pendulum, going into state-space to model
one of the possible attractors of the system, which is the central resting point of
the pendulum. We go in detail about the dynamical equations which form the
DMPs. We explain the primary transformation system that guides each degree of freedom according to the forcing functions and the beginning and goal values. The
canonical system is introduced as the driving mechanism behind the dynamical
equations, and as a method of forming the phase variable which controls the
forcing functions of the DMP mechanism. Lastly, we explained in detail the
derivations behind the forcing functions and the mathematical foundations upon
which they rest. We did so by referring to the pendulum model example.
In the third chapter, we introduced an initial implementation of DMPs on the
robot manipulator. The testing task comprised of contacting each of the points on
a 3D printed model. The model consisted of five tips with well-known dimensions
and offsets that could be used as contact points for the end-effector needle. We
explained the recording of the contacting (approach) DMP and the creation of the
retracting DMP. We expounded on the setup of the robot manipulator scenario
and performed the offline testing of the algorithm. We then performed a real life
test of the algorithm, with a brief explanation of how the Simulink model was
formed, primarily with respect to the dynamical equations contained within the
DMP. The architecture of the control model was explained, and the second-order
filter introduced as a way of guaranteeing a precise approach to the end of the
motion. The results of the motion were displayed and briefly analyzed.
In the fourth chapter, we went into detail about the task of bacterial colony
extraction. The motivation for the task was explained, as well as the logistics
of extracting bacteria colonies from a Petri dish. The full setup of the task
was explained and the steps were delineated one by one. The recordings of the
picking procedure and the depositing procedure were performed and the offline
performance of the DMP algorithm was shown for each procedure. Finally, the
real life execution of the algorithm was performed and displayed (with pictures),
and the results of the DMPs’ accuracy displayed and analyzed.
In the fifth and final chapter, we summed up the work and presented a brief
overview for the reader.
Ključne besede
motion primitive;robot manipulator;algorithm;precision;motion;
Podatki
Jezik: |
Angleški jezik |
Leto izida: |
2021 |
Tipologija: |
2.09 - Magistrsko delo |
Organizacija: |
UL FE - Fakulteta za elektrotehniko |
Založnik: |
[E. Jelačić] |
UDK: |
007.52(043.2) |
COBISS: |
78011907
|
Št. ogledov: |
264 |
Št. prenosov: |
63 |
Ocena: |
0 (0 glasov) |
Metapodatki: |
|
Ostali podatki
Sekundarni jezik: |
Slovenski jezik |
Sekundarni naslov: |
Dinamični primitivi gibanja v preciznih robotskih aplikacijah |
Sekundarni povzetek: |
Magistrska naloga analizira teoretično ozadje dinamičnih primitivov gibanja,
njihov predvideni namen, motivacijo, možnosti, prednosti in slabosti ter preučuje
specifično uporabo dinamičnih primitivov gibanja za generiranje trajektorije
za sedem sklepov redundantnega robotskega manipulatorja. Namen dela je
zagotoviti vpogled v področje fleksibilnega generiranja trajektorije, ki temelji na
demonstriranih in naučenih gibih.
Sprva so primitivi gibanja (kinematični in dinamični) opredeljeni in podrobno analizirani kot konstruktivni sestavni deli oziroma gradniki mišičnega
gibanja, opazovani s stališč biorobotike in načrtovanja sistemov. Ugotavljamo,
kako se primitivi gibanja lahko predstavijo kot matematični opis izvajanja
gibov živih bitij, kot so vretenčarji in nevretenčarji. Analiziramo osnovna
načela primitivov gibanja, kot so razmerja med učenjem spretnosti in dejansko
reprodukcijo giba. Opazujemo motorično učenje in konstruiranje matematičnih
predstav za posploševanje gibalnih nalog. Opisane so razlike med primitivi
diskretnega gibanja in primitivmi ritmičnega gibanja ter njihov pomen.
Sledi opis postopkov, ki jih uporabljamo za učenje z demonstracijo. Podrobno je opisan algoritem za kodiranje diskretnega dinamičnega primitiva
gibanja, ki temelji na Gaussovih bazičnih funkcijah in lokalno uteženi regresiji.
Dinamika točkovnega atraktorja, ki se nanaša na način, na katerega dinamični
primitivi gibanja generirajo trajektorijo, je definirana, opisana in vizualizirana.
Opisana in matematično formulirana je metoda za prilagajanje algoritma
generiranja trajektorije s ciljem pravočasnega doseganja ciljne točke.
V nadaljevanju predstavimo posebnosti naloge, na kateri se metoda preizkuša in uporablja. Robotski manipulator s pomočjo kamere, pritrjene na vrh robota,
izvede lokalizacijo kolonij bakterij, ki se nahajajo v petrijevki. S pomočjo
predhodno demonstriranih in kodiranih dinamičnih primitivov gibanja nato
robot z uporabo igelne sonde zajame želeno kolonijo bakterij ter jo prenese
na ciljno ploščo za analizo. Glede na majhne dimenzije kolonij bakterij (v
primerjavi z dimenzijo robotskega manipulatorja), je za manipulacijo bakterij
potrebna visoka stopnja natančnosti, tako algoritma generiranja trajektorije kot
tudi robotskega regulacijskega sistema.
V prvem poglavju smo predstavili problem načrtovanja trajektorij in vodenja
robota, ki se opira na demonstracijo gibanja in lahko to gibanje tudi posploši
na različne scenarije. Pojasnili smo izvor in motivacijo uporabe metode v obliki
dinamičnih primitivov gibanja (DMP). Predstavili smo nalogo, ekstrakcije kolonij
bakterij, za katero je bila potrebna visoka stopnja natančnosti (manjša od milimetra vzdolž vseh treh kartezičnih osi). Opisali smo opremo, ki je bila uporabljena
za nalogo, in jo sestavljajo robotski manipulator ter industrijska kamera, linijski
laserski skener in igla za ekstrakcijo kolonije, ki so združeni v obliko orodja na
vrhu manipulatorja.
V drugem poglavju podrobno obravnavamo zasnovo DMP in temelje dinamike,
na kateri temelji pristop. Fiziko atraktorjev razložimo na modelu nihala, ki ga
obravnavamo v prostoru stanj. Modeliramo enega od možnih atraktorjev sistema,
ki je osrednja točka mirovanja nihala. Podrobno obravnavamo dinamične enačbe,
ki tvorijo DMP. Razložimo sistem transformacij, ki vodi vsako stopnjo prostosti
robotskega mehanizma glede na nelinearne aktivacijske funkcije ter začetne in
ciljne vrednosti. Kanonični sistem je predstavljen kot gonilni mehanizem za dinamične enačbe in kot metoda oblikovanja fazne spremenljivke, ki nadzoruje nelinearne aktivacijske funkcije mehanizma DMP. Nazadnje smo podrobno razložili
izpeljave nelinearnih aktivacijskih funkcij in matematične temelje, na katerih so
osnovane. To smo storili s sklicevanjem na primer modela nihala.
V tretjem poglavju smo predstavili začetno implementacijo DMP na robotskem
manipulatorju. Testna naloga je obsegala stik vrha robota s točkami na 3D
tiskanem modelu. Model je vseboval pet konic z dobro znanimi dimenzijami in
odmiki, ki smo jih uporabili kot točke dotika za iglo na vrhu robotskega manipulatorja. Pojasnili smo demonstracijo gibanja za učenje DMP, ki omogoča
približevanje koloniji bakterij, in generiranje DMP za odmik. Razložili smo nastavitve robotskega manipulatorja in opravili testiranje algoritma v simulaciji.
Nato smo izvedli preizkus algoritma na dejanskem robotu z implementacijo dinamičnih enačb DMP v obliki Simulink modela. Pojasnjena je arhitektura modela
vodenja in predstavljen je filter drugega reda, ki zagotavlja natančno približevanje
končni ročki. Rezultati gibanja so prikazani in na kratko analizirani.
V četrtem poglavju smo podrobno obravnavali nalogo ekstrakcije bakterijskih
kolonij. Razloženi sta motivacija za nalogo, pa tudi logistika pridobivanja kolonij
bakterij iz petrijevke. Pojasnjena je celotna postavitev naloge. Razčlenjeni so
posamezni koraki izvedbe. Prikazane so trajektorije postopkov zajema in odlaganja bakterijskih kolonij. Za vsak postopek je prikazana zmogljivost algoritma
DMP. Nazadnje je izveden in prikazan algoritem na dejanskem robotu. Prikazani
in analizirani so rezultati natančnosti vodenja robota z uporabo DMP.
V petem in zadnjem poglavju smo delo povzeli in bralcu predstavili kratek pregled. |
Sekundarne ključne besede: |
primitivi gibanja;robotski manipulatorji;algoritmi;natančnost;gibanje;magisteriji; |
Vrsta dela (COBISS): |
Magistrsko delo/naloga |
Študijski program: |
1000316 |
Konec prepovedi (OpenAIRE): |
1970-01-01 |
Komentar na gradivo: |
Univ. v Ljubljani, Fak. za elektrotehniko |
Strani: |
XXII, 56 str. |
ID: |
13539707 |