Abstract | This thesis is concerned with the development and evaluation of motion control strategies in task space for a redundant robotic arm, with a particular focus on the use of P, PI, PD, and PID controllers. The motion control strategy was developed for the Franka Emika Panda robot, with the reference being given in task space coordinates. The results demonstrate the efficiency of the trajectory generation method, which employed a trapezoidal velocity profile to guarantee smooth and precise movements while synchronizing all joints for time-efficient operation. However, the trajectory generation method is inadequate when confronted with dynamic and unpredictable environments. Among the controllers, the P controller exhibited superior performance, demonstrating minimal overshoot, brief settling times, and high accuracy. The PI, PD, and PID controllers, although effective, exhibited limitations such as oscillations and longer settling times. |
Abstract (croatian) | Ovaj rad prati razvoj i evaluaciju strategija kontrole kretanja redundantne robotske
ruke implementacijom proporcionalnog (P), proporcionalno-integralnog (PI), proporcionalnoderivativnog (PD) i proporcionalno-integralno-derivativnog (PID) kontrolera. Svaki od
kontrolera bit ´ce ispitani testovima te ´ce biti analizirana dobivena toˇcnost, statiˇcka greˇska
i vrijeme smirivanja, kao i stabilnost robotske kretnje. Za implementaciju koda koristi se
redundantna robotska ruka, Franka Emika Panda, koja zbog svog dodatnog, sedmog stupnja slobode gibanja ima pove´canu feksibilnost, odnosno istu pozu prihvatnice mogu´ce je
posti´ci u viˇse konfguracija. To donosi izazove u rjeˇsavanju problema inverzne kinematike.
Rad poˇcinje primjerima iz prakse, te je u uvodu takoder objaˇsnjen cilj ovog rada.
Zatim je u drugom poglavlju navedena tehniˇcka pozadina, objaˇsnjen je naˇcin komunikacije
robota s raˇcunalom i na koji naˇcin korisnik moˇze pomo´cu libfranka biblioteke upravljati
robotom. Osim toga dan je pregled drugih metoda kontrole kretanja robota. U tre´cem
poglavlju objaˇsnjene su metode koriˇstene za izradu ovog rada. Nadalje su u ˇcetvrtom
poglavlju objaˇsnjeni parametri pomo´cu kojih ´ce se ocjenjivati uspjeˇsnost testova. Rad
zavrˇsava pregledom provedenih testova i zakljuˇckom.
Koriˇstenjem libfranka biblioteke, dobiva se mogu´cnost slanja naredbi, kao i pristup
podacima oˇcitanih sa senzora na robotu u stvarnom vremenu, brzinom od 1 kHz. Tako
se moˇze posti´ci vrlo precizna i toˇcna kontrola robota. Osim toga, za razliku od drugih
biblioteka koriˇstenih za kontrolu robotskih manipulatora, libfranka omogu´cava korisniku
da upravlja najniˇzim nivoom robotskog hardwarea, ˇcime se mogu bolje iskoristiti njegove
mogu´cnosti.
Za kretanje robota, prvo ´ce se razviti point-to-point generator trajektorije s trapezoidnim proflom brzine, koji kretanje dijeli na faze ubrzavanja, stalne brzine i usporavanja.
Takav profl omogu´cava mirnije pokretanje i zaustavljanje, bez trzajnih pokreta (engl.
jerk motion), te optimalno koriˇstenje vremena za prelaz velikih udaljenosti koriˇstenjem
jednolike brzine gibanja, kao ˇsto je prikazano na slici 3.1. Ovakva metoda kretanja robota izvrsna je za primjene u industrijskim uvjetima, gdje su poslovi repetitivni, okoliˇs je
predvidljiv i bez prepreka [1].
Za raˇcunanje rotacijskog kretanja koriˇstena je spherical linear interpolation (SLERP)
metoda. Pomo´cu nje mogu´ce je izraˇcunati potrebnu rotaciju izmedu dvije orijentacije
prihvatnice, izraˇzene u kvaternionima, kako je prikazano formulom 0.1. U ovoj formuli
bitan je i parametar interpolacije t, pomo´cu kojeg je mogu´ce odrediti traˇzenu rotaciju
izmedu poˇcetnog kvaterniona q1 i konaˇcnog q2 [2].
SLERP(q1, q2, t) = q1(q
−1
1
q2)
t
(0.1)
Za kontrolu kretanja koristit ´ce se upravljaˇcki zakon 0.2, u kojem je ukljuˇcen i feedFaculty of Mechanical Engineering and Naval Architecture xi
Aaron Biˇs´cevi´c Bachelor’s thesis
forward kao i feed-back upravljanje. Iako je referenca zadana u vanjskim koordinatama,
na robota ´ce se naredbe slati koriste´ci unutarnje koordinate. Tako je napravljeno jer, iako
libfranka biblioteka dopuˇsta korisniku da referencu ˇsalje i u vanjskim koordinatama,
ve´cina drugih biblioteka za upravljanje robotskim manipulatorima nema tu mogu´cnost.
Tako rad postaje feksibilan, te se upravljaˇcki zakon bez promjena moˇze primijeniti na
drugim robotima koji koriste razliˇcite upravljaˇcke biblioteke.
Za defniranje greˇske, kretnja je podijeljena na translaciju i na rotaciju, te ´ce svaka biti
posebno tretirana. Za translaciju ´ce put koji robot mora prije´ci biti diskretiziran pomo´cu
parametra diskretizacije i. To se radi kako bi se robotu mogli slati toˇcno odredeni segmenti
puta u svakom uzorku te se tako kontrolira brzina kretanja robota. Dohva´canjem trenutne
poze robota, mogu´ce je raˇcunati greˇsku koja ´ce se slati u kontroli zakon.
Rotacijsko gibanje ponovno je radeno pomo´cu SLERP() metode, a interpolacijski
parametar t matematiˇcki je vezan za parametar i, kako bi se osiguralo da se obje kretnje
odvijaju jednakom brzinom.
Pseudokod koji ´ce biti napisan u C++ mogu´ce je vidjeti u algoritmu 1.
˙θ = ˙θd(t) + Kpθe(t) + Ki
Z t
0
θe(t) dt + Kd
˙θe(t) (0.2)
Testovi su provedeni tako da se robot kretao od jedne poze do druge, te su vanjske
koordinate bile zabiljeˇzene na grafovima od 5.1 do 5.9.
Generator trajektorije kretnju robota provodi vrlo fuidno, s velikom toˇcnoˇs´cu. Kretanje je napravljeno brzo i efkasno, sinkroniziraju´ci zakret svakog zgloba robota. Iako je
ovakvo kretanje vrlo efkasno, bez naglih pokreta, ograniˇcena mu je uporaba, jer robot
nije u stanju prilagoditi se nepredvidivom okoliˇsu s preprekama. Iz tog razloga pojavljuje
potreba za kontrolom kretanja.
Analizom grafova dobivenih u testovima, mogu´ce je primijetiti da najbolje performanse
ima P kontroler, koji ne pokazuje prebaˇcaj, te ima vrlo kratko vrijeme smirivanja i veliku
toˇcnost. Osim toga, P kontroler nema oscilatornog ponaˇsanja, kakvo je mogu´ce vidjeti u
testovima s PI kontrolerima. Takoder se robot ne poˇcinje kretati u suprotnom smjeru od
reference ˇsto je vidljivo kod PD kontrolera, uz brˇze vrijeme smirivanja.
PID kontroler je takoder pokazao prebaˇcaj, uz pove´ce vrijeme smirivanja, bez obzira
na namjeˇstanje parametara.
Ovim radom pokazan je naˇcin na koji se moˇze implementirati kontrola kretnje na
redundantnoj robotskoj ruci pomo´cu C++ koda. Evaluirani su P, PI, PD i PID kontroleri
pomo´cu testova kretanja robota. Iscrtavanjem grafova kretnje robota ustvrdeno je da od
navedenih kontrolera, najbolju performansu ima P kontroler. |