Sunteți pe pagina 1din 36

Sisteme de Conducere în Robotică

8. Arhitecturi de roboţi. Vehicule Breitenberg

Theodor Nicu, Tudor C Ionescu, Monica Pătras, cu

Dept. de Automatica si Ingineria Sistemelor (ACSE), UNSTPB

e-mail: {theodor.nicu,tudor.ionescu,monica.patrascu}@upb.ro

8 ianuarie 2024
Obiectivele conducerii robot, ilor mobili
Scopul principal al robot, ilor mobili este navigat, ia. Pentru a realiza
navigat, ie, trebuie răspuns la trei întrebări:
unde se află robotul? (localizare)
unde trebuie să ajungă robotul?
cum va ajunge la destinat, ie?

Pentru a construi un sistem de conducere, sunt necesare:


un model al lumii robotului (dat sau construit de către acesta)
capacitatea de percept, ie a mediului (s, i senzori)
pozit, ionarea în mediu
obt, inerea unui set de act, iuni pentru atingerea scopului
execut, ia act, iunilor
Navigat, ia robot, ilor mobili
Un sistem de conducere a navigat, iei robot, ilor mobili poate avea două
componente:
nivelul superior: funct, ii de planificare, urmărire de traiectorie,
adaptare dinamică, comportamente deliberative
nivelul inferior: funct, ii de reglare locală sau a componentelor (de
regulă elementele de act, ionare), evitare obstacole, comportamente
reactive

"To err is human; to manage error is system." (Kevin Kelly)


Navigat, ia robot, ilor mobili
Fie că vorbim de explorarea mediului (aleator sau în scopul compunerii
modelului intern al lumii) sau de mis, carea între două puncte date,
navigat, ia robot, ilor mobili se realizează pe două nivele:
planificarea traseului sau a mis, cării în mediu (denumită
path/motion/trajectory planning sau finding)
urmărirea traiectoriilor, ce poate fi
atemporală (path/trajectory following)
temporală (trajectory tracking)

În literatura de specialitate, termenii precizat, i pot fi utilizat, i în moduri


ce cauzează confuzie. Cuvintele cheie care definesc tipul de problemă
sunt subliniat, i. În cele ce urmează, vom utiliza următoarele versiuni:
motion planning pentru planificarea traseelor, path following pentru
urmărire atemporală s, i trajectory tracking pentru urmărire temporală.
Motion planning

Planificarea mis, cării în spat, iu este o problemă de nivel înalt. Aceasta


presupune determinarea unui traseu de urmat care va fi transmis
sistemului de conducere pentru mis, carea efectivă. Se presupune că
pozit, ia obstacolelor s, i frontiera mediului sunt cunoscute.

Rezultatul planificării este o traiectorie sau un drum ce devine


obiectivul unor algoritmi de nivel inferior. Când un model al lumii nu
este disponibil, planificarea nu se poate realiza a priori, iar strategia de
conducere trebuie să permită robotului să react, ioneze dinamic la
schimbările sau obstacolele detectate în mediu.
Motion planning
Motion planning
În plus fat, ă de necesitatea cunoas, terii mediului, problema de planificare
are constrângeri determinate de proprietatea de a fi sau nu olonomic.
Definiţie
Un sistem neolonomic este un sistem a cărui stare curentă depinde de
stările anterioare.

Pentru un sistem fizic neolonomic, pozit, ia sa depinde de viteză s, i


accelerat, ie.
Un robot este olonomic dacă, indiferent de orientarea sa, poate să
ajungă în orice punct destinat, ie. Adică robotul se poate mis, ca
omnidirect, ional.

Un robot este neolonomic în caz opus, adică numărul de mis, cări


posibile al robotului (gradele de libertate ale efectorilor) este mai mic
Motion planning
Un exemplu este parcarea laterala. Un robot cu capacitate de mis, care
omnidirect, ională va parca lateral fără întoarcere (olonomic). Un robot
cu rot, i fixe va avea nevoie de rotire pentru a accesa locul de parcare
(neolonomic). Pentru un vehicul, parcarea laterala presupunere
realizarea de întoarceri repetate pentru a accesa locul de parcare
(neolonomic).
Motion planning
O problemă majoră în planificare o reprezinta schimbările dinamice în
mediu. O dată determinat drumul de parcurs, acesta va fi urmat, iar
aparit, ia de noi obstacole în calea robotului nu va fi procesată, ducând
la coliziuni. Pentru a evita aceste situat, ii este necesar fie ca a) mediul
să fie observat s, i planificarea re-efectuată în funct, ie de schimbări, sau
b) arhitectura de conducere a robotului să includă s, i comportamente
de evitare de obstacole ce funct, ionează în paralel cu algoritmul de
planificare.
Motion planning
Algoritmii de planificare au ca scop determinarea unei traiectorii,
deseori optimă, ce transportă robotul din pozit, ia sa curentă într-o
pozit, ie destinat, ie. Diverse abordări presupun utilizarea de câmpuri de
pontent, ial, decompozit, ia mediului, regiuni de vizibilitate etc.

Metoda bazată pe decompozit, ie Voronoi împarte mediul de lucru


în celule cont, inând obstacole, iar drumul se alege pe frontiera acestora.
Motion planning

Metoda câmpurilor de potent, ial asignează obstacolelor capacitate


de repulsie, iar zonelor libere capacitate de atract, ie. Astfel, planificarea
drumului se realizează în funct, ie de aceste valori. Rezolvarea problemei
de planificare devine o problemă de optimizare ce se poate rezolva prin
metode bazate pe gradient, unde se caută un set de optime locale
(atractoare) ce vor compune traiectoria robotului.
Motion planning

Metoda bazată pe hiperplane, calculează zonele de vizibilitate ale


robotului prin încadrarea obstacolelor, bazat pe laturile acestora, în
hiperplane. La intersect, iile dintre hiperplane, se creează zone
admisibile s, i neadmisibile pentru robot, iar punctele traiectoriei sunt
alese astfel încât aceasta sa se afle exclusiv în intersect, iile adimisibile1 .

1
Ioan, D., Olaru, S., Prodan, I., Stoican, F. and Niculescu, S.I., 2019. From
Obstacle-Based Space Partitioning to Corridors and Path Planning. A Convex
Lifting Approach. IEEE Control Systems Letters, 4(1), pp.79-84.
Motion planning

Metoda bazată pe grid suprapune o ret, ea de noduri peste mediu.


Algoritmii de planificare sunt în acest caz algoritmi de rutare. Printre
algoritmii des întâlnit, i se regăsesc Dijkstra sau A*. De exemplu, A*
asignează costuri nodurilor, încercând mai întâi calea directă, până
când se găses, te o cale ce ocoles, te obstacolul2 .

2
Sursa exemplului, pseudocodul algoritmului s, i animat, ia completă se găsesc aici
Motion planning

Metoda bazată pe recompense asociază zonelor din mediu valoare


mai mare sau mai mică a unei recompense. Această medodă este
potrivită învăt, ării automate. Când robotul parcurge zone lipsite de
obstacole, acesta este răsplătit. Scopul este de a maximiza
recompensa.

Metoda este asemănătoare algoritmilor de căutare informată


(euristică), însă căutarea clasică este înlocuită cu algoritmi de
optimizare ce pot primi constrângeri variate generate din mediu (de ex.
asociate zonelor periculoase sau interzise).
Trajectory tracking
În trajectory tracking, referint, a de traiectorie este generată dinamic de
către o t, intă (un punct sau obiect) aflată în mis, care pe care robotul
trebuie sa o urmărească (engl. to track). Componenta temporală
introduce cerint, e de respectare a unor restrict, ii de timp. Adică, robotul
trebuie să atingă t, inta în timp util.

Drumul robotului nu este pre-planificat. Asemănător, evitarea


obstacolelor ce pot apare în calea robotului se poate realiza prin
recalcularea unor referint, e de pozit, ie intermediare ce determină ocolire
sau prin adăugarea de comportamente de ocolire.

Recunoas, terea t, intei este specifică tipului de senzori utilizati. Spre


exemplu, algoritmi de recunoas, tere de forme în imagini sau asociere
coduri QR în cazul camerelor video.
Trajectory tracking
Path following
Path following presupune că o rută sau cale prestabilită este dată
robotului, iar acesta trebuie să îs, i modifice pozit, ia în as, a fel încât să
rămână în aproprierea sau deasupra drumului, în funct, ie de tolerant, ele
impuse (criterii de performant, ă). Umrărirea de acest fel se realizează
cu controllere de pozit, ie s, i are două variante:
deplasarea între două puncte din lume: robotul se localiează
relativ la noua referint, ă de pozit, ie, iar un controller de pozit, ie
generază comenzi către efectori în scopul eliminării distant, ei
dintre robot s, i punctul de referint, ă
urmărirea peret, ilor (wall following ): referint, a de pozit, ie este
distant, a dorită dintre robot s, i perete; pe măsură ce peretele îs, i
schimbă forma, se modifică distant, a până la perete, iar un
controller de pozit, ie calculează comenzi care ajustează drumul
robotului relativ la perete
urmărirea unui drum continuu: idem urmărirea peret, ilor
Path following
Arhitecturi de conducere
Arhitecturile de conducere pentru robot, i mobili fac parte din două
categorii principale:
Sisteme de conducere deliberative posedă un model intern
de rat, ionament simbolic, pe baza căruia se angajează în procese
de planificare
Sisteme de conducere reactive în care robot, ii răspund la
schimbările de mediu pe baza unui comportament de tip
stimul-răspuns
Sisteme de conducere hibride ce cont, in ambele compomente
Conducere deliberativă (model-plan-act)
Aceste arhitecturi sunt potrivite pentru problme ce implică motion
planning. Pas, i principali:
1 Construies, te un model al lumii pe baza informat, iilor senzoriale
2 Utilizează modelul lumii pentru a genera o listă de act, iuni ce duc
la îndeplinirea scopului robotului
3 Execută planul (lista de act, iuni)
Fuziune sezorială (sensor fusion)
Pentru a obt, ine modelul lumii, este deseori necesară fuzionarea
informat, iilor de la multipli s, i divers, i senzori. Fuziunea se poate realiza
la nivel de date sau la nivel de caracteristici, implicând proiectarea
unor algoritmi de percept, ie avansat, i, cu grad ridicat de inteligent, ă. În
exemplul3 din figură, se realizează fuzionarea datelor de la 6 receptori
cu ajutorul a 6 ret, ele neurale s, i a unui mecanism de votare. Scopul
fuziunii este a elimina erorile de înfăs, urare ce apar la trecerea de la 0 la
2π radiani.

3
Marica, I. and Patrascu, M., 2017 A geno-neural approach to data fusion for
Conducere reactivă (bazată pe comportamente)

Sistemele de conducere reactive construiesc comportamente complexe


din comportamente simple. Arhitectura prevalentă în cazul robot, ilor
mobili este cea cu subsumare (subsumption). Comportamentele
elementare de bază sunt modelate prin vehicule Braitenberg.
Arhitectura cu subsumare

Arhitectura cu subsumare a fost introdusă de Brooks în 19864 .

4
Brooks, R., 1986. A robust layered control system for a mobile robot. IEEE
journal on robotics and automation, 2(1), pp.14-23.
Conducere reactivă (bazată pe comportamente)
Exemplu
Conducere reactivă (bazată pe comportamente)

Operat, ia de subsumare presupune compunerea a două sau mai multe


comenzi obt, inute din algoritmi diferit, i (sau din reguli diferite). Această
operat, ie se poate realiza în diverse moduri: ajustare aditivă sau
multiplicativă, funct, ii avansate, etc.

Avantajele arhitecturii cu subsumare sunt posibilitatea de proiectare


incrementală (se adaugă comportamente celor de bază), iar
modularitatea staturilor permite experimentarea. Mai mult, robotul
poate sa manevreze cu succes în medii dinamice. În schimb, este dificil
de determinat din timpul proiectării care vor fi act, iunile finale ale
robotului (i.e. care este efectul subsumării), nu există garant, ii că vor fi
îndeplinite criteriile de performant, ă, iar depanarea algoritmilor poate fi
dificilă.
Comportamente reactive: vehicule Braitenberg
Valentino Braitenberg, 1984, “Vehicles: Experiments in Synthetic
Psychology”

Neuropsiholog ce a studiat modul în care structuri


neuronale simple pot crea comportamente complexe,
Braitenberg a dezvoltat un model simplu pentru
robot, i mobili (dotat, i cu senzori s, i motoare) pentru
a demonstra crearea de comportamente complexe
din mecanisme simple.

Vehiculele Braitenberg elementare arată cât de


multă capacitate cognitivă se poate obt, ine din com-
binarea unei dinamici reactive simple cu un anume
mediu (s, i stimul).
Comportamente reactive: vehicule Braitenberg

Vehiculul 1. Apropiere

Aproprierea este cel mai simplu compor-


tament. Viteza motorului este deter-
minată direct proport, ional de valoarea
citită de senzor. Mis, carea este mereu
înainte, în direct, ia săget, ii, cu except, ia
perturbat, iilor, după legea

Vitezamotor = Valoaresenzor · W ,
unde W este o pondere pozitivă; aici W = 1.
Comportamente reactive: vehicule Braitenberg
Vehiculul 2a. Frica
Acest vehicul petrece mai mult timp în zonele fără stimuli puternici s, i
mai put, in timp în zonele apropriate de sursa stimulului. Dacă sursa se
află în fat, a robotului, acesta ar putea să o lovească. Altfel, robotul se
va îndepărta de sursă (prin virare):

Vitezamotor = Valoaresenzor · W ,

unde W este o pondere pozitivă; aici W = 1.


Comportamente reactive: vehicule Braitenberg

Vehiculul 2b. Agresiune


Conexiunile senzor-motor sunt încrucis, ate. Dacă sursa se află în fat, a
robotului, acesta ar putea să o lovească. Altfel, robotul se va apropia
rapid de sursă (prin virare):

Vitezamotor = Valoaresenzor · W ,

unde W este o pondere pozitivă; aici W = 1.


Comportamente reactive: vehicule Braitenberg

Vehiculele 2a & 2b. Frica & Agresiune (Braitenberg, p. 6-10)

“Let Vehicles 2a and 2b move around in their world


for a while and watch them. Their characters are quite
opposite. Both DISLIKE sources. But 2a becomes
restless in their vicinity and tends to avoid them,
escaping until it safely reaches a place where the
influence of the source is scarcely felt. Vehicle 2a is a COWARD, you
would say.

Not so Vehicle 2b. It, too, is excited by the presence of sources, but
resolutely turns toward them and hits them with high velocity, as if it
wanted to destroy them. Vehicle 2b is AGGRESSIVE, obviously.”
Comportamente reactive: vehicule Braitenberg
Vehiculul 3a. Afect, iune
Acest vehicul petrece mai mult timp în aproprierea stimulilor. Dacă
sursa se află în fat, a robotului, acesta se aproprie s, i se opres, te lângă
sursă (fără ciocnire) cu fat, a către sursă. Altfel, robotul se va apropria
de sursă (prin virare):
Vitezamotor = Valoaresenzor · (−W ),
unde W este o pondere pozitivă; aici W = 1.
Comportamente reactive: vehicule Braitenberg
Vehiculul 3b. Explorare
Conexiunile senzor-motor sunt încrucis, ate. Acest vehicul se aproprie de
sursă s, i se opres, te lângă aceasta, dar cu spatele către sursă:

Vitezamotor = Valoaresenzor · (−W ),

unde W este o pondere pozitivă; aici W = 1.


Comportamente reactive: vehicule Braitenberg
Vehiculele 3a & 3b. Afect, iune & Explorare (Braitenberg, p. 12)

“The violence of Vehicle 2b, no less than the cowardice of the


companion 2a, are traits that call for improvement. [...] What comes
to mind is to introduce some inhibition in the connections between the
sensors and the motors, switching the sign of the influence from
positive to negative. This will make the motor slow down when the
corresponding sensor is activated.”

“You will have no difficulty giving names to this sort


of behavior. These vehicles LIKE the source, you will
say, but in different ways. Vehicle 3a LOVES it in a
permanent way, staying close by in quiet admiration
from the time it spots the source to all future time. Vehicle 3b, on the
other hand, is an EXPLORER. It likes the nearby source all right, but
keeps an eye open for other, perhaps stronger sources, which it will sail
Comportamente reactive: vehicule Braitenberg

Vehiculul 3c. Sistem de valori

“[...] not just one pair of sensors but four pairs, turned
to different qualities fo the environment, say light,
temoperature, oxygen, concentration, and amount of
organic matter.”

“This is a vehicle with really interesting behavior. It


dislikes high temperature, turns away from hot places,
and at the same time seems to dislike light bulbs with
even greater passion, since it turns towards them and destroys them...
You cannot help admitting that Vehicle 3c has a system of VALUES,
and, come to think of it, KNOWLEDGE.”
Comportamente reactive: vehicule Braitenberg
Vehiculul 4. Preferint, e

Utilizează semnale senzoriale care cauzează o cres, tere în viteza


motorului, dar numai până la un punct; după care începe să cauzeze
descres, tere în viteza motorului. Se pot crea comportamente complexe
neliniare.
Comportamente reactive: vehicule Braitenberg
Sursele pot fi stimuli luminos, i sau obstacole.

Variat, ii de combinat, ii ale conexiunilor senzor-motor pot produce


comportamente cu un grad înalt de diversitate.

Utilizarea conexiunilor inhibitoare extinde în mod semnificativ tipurile


posibile de comportamente.

Utilizarea conexiunilor senzor-motor neliniare pot crea comportamente


imposibil de prezis (necesară elaborarea de modele computat, ionale
s, i/sau de simulare pentru observarea acestora).

Problema majoră: vehiculele Braitenberg au o pasiune inerentă pentru


a se bloca în colt, uri.

S-ar putea să vă placă și