Sunteți pe pagina 1din 2

S8.

Funcții de potențial

Considerăm un robot punctiform într-un spațiu de lucru (2D) cu obstacole poligonale


convexe. Se cunosc: punctul de start, punctul țintă, vârfurile fiecărui obstacol.
Dorim să simulăm mișcarea robotului pe baza funcțiilor de potențial (readucere aminte:
slide-uri 4-16 din setul 2).

1. Calcul analitic
Dorim să folosim metoda 2.
𝑥𝑥
a) Calculați gradientul funcției de atracție (cele trei variante). Notați cu 𝑞𝑞 = �𝑦𝑦� poziția
𝑥𝑥𝑔𝑔
curentă și cu 𝑞𝑞𝑔𝑔𝑔𝑔𝑔𝑔𝑔𝑔 = �𝑦𝑦 � poziția țintă.
𝑔𝑔
b) Calculați gradientul funcției de respingere a unui obstacol generic Oi. Pentru
𝑝𝑝𝑥𝑥
obstacolul Oi, notați cu 𝑝𝑝 = �𝑝𝑝 � punctul cel mai apropiat de poziția curentă a
𝑦𝑦
robotului (q).
c) Scrieți ecuația gradientului ∇𝑈𝑈(𝑞𝑞), pentru un număr de obstacole n.

2. Implementare

a) Alegeți limitele spațiului de lucru și definiți parametrii pentru funcția de potențial 𝛾𝛾,
𝑑𝑑𝑞𝑞∗ 𝑔𝑔𝑔𝑔𝑔𝑔𝑔𝑔 etc. Sugerăm să stocați acești parametri într-o structură, de ex. param.gamma=1;
param.d_q_goal=1, param.eta=0.2, param.D_star=0.5 (puteți considera în loc de 𝐷𝐷𝑖𝑖∗ o
singură valoare 𝐷𝐷∗ ). Apoi definiți (cu mouse-ul) obstacolele, punctul de start și punctul
final. Când afișați robotul (cu plot, de ex. cerculeț negru 'ok') salvați handle, pentru a
putea ulterior modifica poziția.

b) Implementați o funcție care să calculeze gradientul ∇𝑈𝑈(𝑞𝑞), pe baza unei valori a poziției
q (inițial punctul de start), a obstacolelor și a parametrilor. Această funcție de fapt
implementează rezultatul de la punctul 1.
Indicație 2: Pentru un q și un obstacol Oi, vă trebuie valoarea distanței minime și
coordonatele punctului p. Puteți afla acestea cu ajutorul funcției
dist_point_to_conv_polygon (Moodle, fișiere Matlab, sintaxa de apel este
descrisă în primele linii ale fișierului).
Obs. 1: Distanța între două puncte (vectori coloană) de ex. q și qgoal, este norma 2
�𝑞𝑞 − 𝑞𝑞𝑔𝑔𝑔𝑔𝑔𝑔𝑔𝑔 � și poate fi calculată (în loc de radical) cu funcția Matlab
norm(q - q_goal).
c) Simulați mișcarea robotului. Condiții de terminare: suficient de aproape de punctul
țintă, sau blocare în minim local.
Pentru a evita pași prea mari, puteți face un vector unitate cu direcția gradientului și
alegeți o valoare destul de mică (de ex. 1) a constantei pentru descindere pe gradient
(metoda 2, subpunct b (ii)). Reprezentați mișcarea robotulului (schimbând handle
robot) cu un pas oarecare de timp (de ex. 0.1 s). Salvați și pozițiile robotului, pentru a
putea reprezenta și traiectoria. Puteți afișa și lungimea traiectoriei obținute.
La testul inițial, sugerez niciun obstacol. Apoi, încercați cu un obstacol cu 3-4 vârfuri;
abia ulterior creșteți complexitatea.
𝑣𝑣
Obs. 2: pentru un vector coloană v, vectorul cu norma 1 și direcția lui v este ‖𝑣𝑣‖.

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

  • SPD Curs 7
    SPD Curs 7
    Document14 pagini
    SPD Curs 7
    bianca lascarache
    Încă nu există evaluări
  • SPD Curs 9
    SPD Curs 9
    Document17 pagini
    SPD Curs 9
    bianca lascarache
    Încă nu există evaluări
  • SPD Curs 12
    SPD Curs 12
    Document16 pagini
    SPD Curs 12
    bianca lascarache
    Încă nu există evaluări
  • Capitol1 2022
    Capitol1 2022
    Document36 pagini
    Capitol1 2022
    bianca lascarache
    Încă nu există evaluări
  • SPD Curs 6
    SPD Curs 6
    Document14 pagini
    SPD Curs 6
    bianca lascarache
    Încă nu există evaluări
  • Cur Suri
    Cur Suri
    Document345 pagini
    Cur Suri
    bianca lascarache
    Încă nu există evaluări
  • Capitol2-1 2022.docsz
    Capitol2-1 2022.docsz
    Document104 pagini
    Capitol2-1 2022.docsz
    bianca lascarache
    Încă nu există evaluări
  • Capitol3 2022
    Capitol3 2022
    Document99 pagini
    Capitol3 2022
    bianca lascarache
    Încă nu există evaluări
  • Curs03 v2
    Curs03 v2
    Document5 pagini
    Curs03 v2
    bianca lascarache
    Încă nu există evaluări
  • Ec Dif Liniare de Ord N
    Ec Dif Liniare de Ord N
    Document14 pagini
    Ec Dif Liniare de Ord N
    bianca lascarache
    Încă nu există evaluări
  • Curs NR 3 Slides
    Curs NR 3 Slides
    Document38 pagini
    Curs NR 3 Slides
    bianca lascarache
    Încă nu există evaluări
  • Curs 6 Slides
    Curs 6 Slides
    Document70 pagini
    Curs 6 Slides
    bianca lascarache
    Încă nu există evaluări
  • Curs11-12 v5
    Curs11-12 v5
    Document16 pagini
    Curs11-12 v5
    bianca lascarache
    Încă nu există evaluări