Sunteți pe pagina 1din 5

Roboţi mobili: modelare cinematică

1. Breviar teoretic

Cinematica reprezintă studiul fundamental asupra modurilor de conducere pentru


sisteme mecanice. În cazul roboţilor mobili necesitatea înţelegerii modului mecanic de
conducere a sistemului este generată de multiplele aplicaţii precum şi din etapele de
analiză care conduc la dezvoltarea modulelor software.
Plasarea unui robot mobil într-un anumit spaţiu de lucru reprezintă definirea
posibilităţilor de poziţionare şi orientare ce pot fi atinse în acel spaţiu. Controlabilitatea
unui robot mobil defineşte traiectoriile posibile din spaţiul său de lucru.
Una din diferenţele fundamentale dintre modelarea cinematică pentru un robot
manipulator şi modelarea cinematică a unui robot mobil o reprezintă estimarea poziţiei .
Un robot manipulator are unul din capetele lanţului cinematic fixat în spaţiul de lucru.
Măsurând poziţia efectorului estimarea poziţiei se rezumă la analiza poziţiilor
articulaţiilor intermediare. În cazul unui robot mobil avem de a face cu un sistem
autonom ce îşi poate modifica poziţia în raport cu spaţiul de lucru. Cum nu există o
metodă directă de măsură a poziţiei instantanee a robotului mobil, pentru a rezolva
problema estimării poziţiei trebuie integrată mişcarea robotului pe o perioadă de timp. La
aceasta se mai adaugă erorile în estimarea poziţiei datorate alunecării pe suprafaţa de
deplasare.

2. Conducerea unui robot mobil cu două roţi

În figura 1 este prezentată schema unui robot mobil cu două roţi controlate
independent.

Figura 1. Robot mobil cu 2 roţi


Mecanismul de transmisie a puterii are 2 motoare independente, fiecare motor
transmite puterea unei roţi. Astfel intrările cinematice care conduc robotul mobil şi
influenţează vitezele şi direcţiile de mişcare sunt vitezele celor 2 roţi. Totuşi majoritatea
roboţilor mobili comerciale conţine un regulator care controlează viteza liniară şi
unghiulară a robotului.

2.1 Controlul roboţilor mobile în buclă deschisă

Obiectivul unui regulator cinematic este de a urmări o traiectorie descrisă prin


ecuaţie analitică sau profil de viteză variabil în timp. Acest task este în general îndeplinit
prin divizarea traiectoriei în segmente de mişcare cu formă geometrică bine definită (de
exemplu: linii sau cercuri). Problema de control se transformă astfel în a găsi o traiectorie
continua bazată pe linii şi arce se cerc, care să conducă robotul din poziţia iniţială în cea
finală (figura 2)

Figura 2 Traiectorie START – Poziţie Finală

Această abordare poate fi privită ca un control în buclă deschisă, deoarece poziţia


robotului nu este măsurată pentru a controla viteza.
Dezavantaje:
- dacă toate restricţiile, legate de vitezele şi acceleraţiile robotului, sunt
considerate atunci descompunerea traiectoriei în segmente rezultate este aproape
imposibilă
- robotul nu se poate autocorecta dacă apar schimbări în dinamica spaţiului de
lucru.
- traiectoriile generate nu sunt line
2.2 Controlul roboţilor mobili bazat pe reacţie negativă

Se poate presupune, fără a pierde din generalitate, că punctul final al traiectoriei se


află în originea unui sistem de coordonate inerţial (figura 3).

Figura 3 Cinematica unui robot mobil

În cele ce urmează vectorul de poziţie [ x, y, θ] este reprezentat în reperul inerţial.


T

Cinematica unui robot mobil în sistemul de coordonate inerţial { X I , YI , θ} este dată de


ecuaţia:
⎡ x ⎤ ⎡cos θ 0 ⎤
⎢ y ⎥ = ⎢ sin θ 0 ⎥ ⋅ ⎡ v ⎤ (1)
⎢ ⎥ ⎢ ⎥ ⎢ ω⎥
⎢⎣ θ ⎥⎦ ⎢⎣ 0 1 ⎥⎦ ⎣ ⎦

unde x şi y sunt vitezele liniare pe direcţiile X I şi YI .


Fie α unghiul dintre axa xR a sistemului de referinţă ataşat robotului şi vectorul x̂

⎛ π π⎤
ce conectează centrul axei ce uneşte roţile. Dacă α ∈ ⎜ − , ⎥ atunci putem considera
⎝ 2 2⎦
transformările în coordonate polare cu originea în sistemul de referinţă ataşat punctului
final al traiectoriei:

ρ = Δx 2 + Δy 2
α = −θ + atan2( Δx + Δy ) (2)
β = −θ − α

Noua reprezentare în coordonate polare conduce la descrierea cinematică:


⎡ ⎤
⎢ − cos α 0 ⎥
⎡ ρ ⎤ ⎢ ⎥
⎢ α ⎥ = ⎢ sin α −1⎥ ⎡ v ⎤ (3)
⎢ ⎥ ⎢ ρ ⎥ ⎢ ω⎥

⎢⎣ β ⎥⎦ ⎢ ⎥⎣ ⎦
⎢ sin α ⎥
⎢− 0⎥
⎣ ρ ⎦

Dacă α ∈ ( −π, −π / 2] ∪ ( π, π / 2] atunci (3) devine:

⎡ ⎤
⎢ cos α 0 ⎥⎥
⎡ ρ ⎤ ⎢
⎢ α ⎥ = ⎢ − sin α ⎥ ⎡v⎤
1 ⎥ ⎢ ⎥ (4)
⎢ ⎥ ⎢ ρ
⎢⎣ β ⎥⎦ ⎢ ⎥ ⎣ ω⎦
⎢ sin α ⎥
⎢ 0⎥
⎣ ρ ⎦
Pentru modelul în coordonate polare sunt de făcut următoarele observaţii:
- în punctul (0,0) transformarea nu este posibilă
⎛ π π⎤
- dacă α ∈ ⎜ − , ⎥ atunci sensul spre punctul ţintă este înainte, pentru
⎝ 2 2⎦
α ∈ ( −π, −π / 2] ∪ ( π, π / 2] sensul este înapoi.

Controlul bazat pe reacţie negativă are drept obiectiv minimizarea erorii de

poziţionare descrisă de poziţia punctului de stop R


[ x, y, θ]T a robotului. Regulatorul

va furniza informaţii despre structura unei matrice K , dacă aceasta există, pentru a
genera :
R
⎡x⎤
⎡ v(t ) ⎤ ⎢ ⎥
⎢ ω(t ) ⎥ = K ⋅ e = K ⋅ ⎢ y ⎥ (5)
⎣ ⎦ ⎢⎣ θ ⎥⎦

cu scopul de a duce eroare spre 0:


lim e(t ) = 0 (6)
t →∞

Fie legea de control:


v = kρ ⋅ ρ
(7)
ω = kα ⋅ α + kβ ⋅β

atunci din (3) rezultă că sistemul în buclă închisă va fi descris de ecuaţia:

⎡ ρ ⎤ ⎡ − kρρ cos α ⎤
⎢ α ⎥ = ⎢ k sin α − k α − k β ⎥ (8)
⎢ ⎥ ⎢ p α β ⎥

⎢⎣ β ⎥⎦ ⎢ ⎥
⎢⎣ −kρ sin α ⎥⎦
Sistemul nu prezintă singularitate în ρ = 0 şi are un unic punct de echilibru în
(ρ, α, β) = (0,0,0) .

3. Probleme propuse

3.1. Să se realizeze o implementare în Matlab pentru a simula comportarea în buclă


deschisă.
3.2 . Să se realizeze o implementare în Matlab pentru a simula comportarea în buclă
închisă plecând de la postură dată şi o postură dorită.
3.3. Să se demonstreze că pentru kρ > 0; kβ < 0; kα − kβ > 0 sistemul în buclă închisă este

local exponenţial stabil (Indicaţie: se liniarizează sistemul în buclă închisă în jurul


punctului de echilibru)