Professional Documents
Culture Documents
a roboților mobili
Notare:
NL – notă laborator (evaluare pe parcursul semestrului)
Pentru a intra în examen nu trebuie să aveți absențe la laborator. O absență se poate recupera în săptămâna 14.
Exemplu:
Robot punctiform
y
Spațiul de configurație = planul
xC x
Spațiul de configurație
Exemplu:
Exemplu: Punct de
referință robot
Robot tip mașină („car-like”):
Se alege un punct de
referință pe robot. Pentru θ
Pp. un robot poligonal care se poate mișca înainte și se poate roti într-
un plan.
Se cunoaște forma robotului (coordonatele vârfurilor) față de
punctul de referință.
𝑥𝑥(𝑡𝑡)
Cunoscând configurația (starea) la un moment de timp ( 𝑦𝑦(𝑡𝑡) ), care
𝜃𝜃(𝑡𝑡)
este poziția vârfurilor robotului în spațiul de lucru?
orientare
θ
y
punct de
referintă
x
Robot mobil în 2D
- translație + rotație -
x cos (θ ) − sin (θ )
Translație: coordonate
punct de referință: vi( w) =
y + sin (θ ) ⋅ vi
[ x, y ]
T
∈ 2 cos ( )
θ
Robot mobil în 2D
Rotație (în jurul punctului de referință) -> modificarea orientării
+ translație (modificarea poziției punctului de referință)
θ
reference
orientation y1
θ
θ
translation
y y
reference
point
x x x1
θ1 rotation
y1
x1
Robot mobil în 3D
𝑥𝑥(𝑡𝑡)
𝑑𝑑
𝑦𝑦(𝑡𝑡) =? (𝑓𝑓 𝑣𝑣 𝑡𝑡 , 𝜔𝜔 𝑡𝑡 , … )
𝑑𝑑𝑑𝑑
𝜃𝜃(𝑡𝑡)
Modele cinematice pentru câteva
tipuri de roboți mobili (cu roți) în 2D
Intrări: 𝜔𝜔𝑅𝑅 , 𝜔𝜔𝐿𝐿 - viteze de rotație a roții din dreapta (right), respectiv stânga (left), în rad/s.
Parametri: r – rază roată, b – distanță între roți motrice (bază)
𝑥𝑥(𝑡𝑡)
ωL vL 𝑑𝑑
𝑦𝑦(𝑡𝑡) =? (𝑓𝑓 𝜔𝜔𝑅𝑅 (𝑡𝑡), 𝜔𝜔𝐿𝐿 (𝑡𝑡), … )
𝑑𝑑𝑑𝑑
𝜃𝜃(𝑡𝑡)
b θ
ωR
vR
Privim ca robot tip uniciclu și aflăm 𝑣𝑣 𝑡𝑡 , 𝜔𝜔 𝑡𝑡
r
Modele cinematice pentru câteva
tipuri de roboți mobili (cu roți) în 2D
v φ(t)
v
L
v(t)
𝑥𝑥(𝑡𝑡)
𝑑𝑑
𝑦𝑦(𝑡𝑡) =? (𝑓𝑓 𝑣𝑣(𝑡𝑡), 𝜑𝜑(𝑡𝑡), … )
𝑑𝑑𝑑𝑑
𝜃𝜃(𝑡𝑡)
Planificarea mișcării
q1
q2
qn q3
q5 q4
12 DOF 15 DOF
Planificarea mișcării
spa?iu
liber
spa?iu ocupat
de obstacole
Planificarea mișcării în spațiul de config.
Exemplu: idee de planificare a mișcării unui braț robotic 2D cu 2 motoare.
link 2 θ2
link 1
θ1
Spațiul de lucru
8
7
θ2
4
3π
(θ1 ,θ 2 ) = π ,
A
2
2
3π π
(θ1 ,θ 2 ) = ,
1
0
2 2
0 2 4 6 7 8 10 12
link 1
θ1
Obs.: pt. un robot convex și obstacole convexe, obstacolele mărite vor fi tot
convexe, dar pot avea mai multe vârfuri.
Reducerea unui robot mobil 2D,
care nu se rotește, la un punct
Exemplu:
Robot convex poligonal
Sp. de lucru Sp. de config.
COi
Oi
punct referintă
Idee de planificare a mișcării pentru
un robot care nu se rotește
Pași ce pot fi urmați:
(1) Construirea spațiului de configurație (mărirea obstacolelor);
(2) Obținerea unei traiectorii care nu intersectează obstacolele
mărite pentru robotul punctiform;
(3) Aceasta este o traiectorie de referință pentru punctul de referință
al robotului: când punctul de referință urmărește această traiectorie
în spațiul de lucru, avem garanția că robotul nu intră în coliziune cu
obstacolele
Pas (1)
Punct i
referință
robot
Robot care
nu se rotește
O2
O1
Vârfuri
înfășurătoare
convexă
Algoritm pentru
reducerea la un punct a unui robot care nu se rotește
- Robotul și obstacolele sunt poligoane convexe
- Obstacolele se măresc conform algoritmului anterior.
x= new
min xmin − min_ x( Rv )
x= new
xmax − max_ x( Rv )
- Reducerea limitelor sp. de lucru: max
y=
min
new
ymin − min_ y ( Rv ) Limite reduse
spațiu de lucru
ymax
new
= ymax − max_ y ( Rv )
Exemplu:
Punct
referință
robot
Robot care
nu se rotește
Exemplu – rezultatul algoritmului pentru
reducerea la un punct a unui robot care nu se rotește
- Robotul și obstacolele sunt poligoane convexe
- Obstacolele se măresc, limitele spațiului de lucru se reduc
- În spațiul de configurație planificăm un punct (cel de referință)
Limite reduse față
de spațiul de lucru
Spațiu permis
pentru punctul
de referință
(zona albă =
Punct configurații libere) Obstacol mărit față
referință de spațiul de lucru
robot
Robot care
nu se rotește
Robot
Obstacol în
sp. de
config.
Obstacol în
sp. de lucru
Spațiul de configurație al unui robot 2D care se rotește
Exemplu:
Formă robot
(vârfuri față de
punct ref. pt.
oreintare nulă)
Spațiul de configurație al unui robot 2D care se rotește
Se iterează mărirea obstacolelor pentru θ ∈ [0,2𝜋𝜋) și se obțin „felii” ale sp. de configurație
x
y
Planificarea mișcării
- clase de probleme -
Robot
Planificarea mișcării
- clasificarea algoritmilor -
Complet (eng. complete) – găsește o soluție dacă există cel puțin una
/ sau altfel returnează lipsa soluției -> într-un nr. finit de pași;