navigation, ch.2, part.4.2

28
Chapitre 2 : Navigation F. Morbidi 2014/2015 Localisation et navigation de robots UFR des Sciences, Département EEA M2 EEAII, parcours ViRob

Upload: ngotuyen

Post on 05-Jan-2017

237 views

Category:

Documents


0 download

TRANSCRIPT

Chapitre 2 : Navigation

F. Morbidi 2014/2015

Localisation et navigation de robots

UFR des Sciences, Département EEA

M2 EEAII, parcours ViRob

2

Plan du chapitre

Stratégies de navigation

Architectures de contrôle

Navigation vers un but

Evitement d’obstacles

Partie 2

Partie 3

Partie 1

Partie 4

Partie 4 : Evitement d’obstacles 3. Fenêtre dynamique

3

Fenêtre dynamique

• Sélection d’un couple (v, ω) v : vitesse longitudinale du robot

ω : vitesse angulaire du robot

selon des contraintes:  Evitement d’obstacles

 Atteindre un but

 Modèle cinématique/dynamique du robot

4

“The dynamic window approach to collision avoidance", D. Fox, W. Burgard, S. Thrun, IEEE Robot. & Autom. Magazine, vol. 4, n. 1, pp. 23-33, 1997

“High-speed navigation using the global dynamic window approach", O. Brock, O. Khatib, in Proc. IEEE Int. on Conf. Robotics and Automation, pp. 341-346, vol. 1, 1999

v ω

Fenêtre dynamique

• Contrainte principale: évitement d’obstacles ▫ Contrainte dure  Binaire: succès/échec  Obligatoirement satisfaite

▫ Evaluation  A partir de l’environnement perçu  A partir de la position future estimée du robot

5

Fenêtre dynamique

•  Illustration de la contrainte d’évitement d’obstacle

6

robot robot obstacle

obstacle

Fenêtre dynamique

• Construction du graphe des vitesses ▫ Ensemble des couples de vitesses (et donc trajectories)

possibles du robot

7

Vitesse courante

vmax

ωmin

v

ω

Fenêtre dynamique

ωmax

Fenêtre dynamique •  Un autre exemple (robot Nomad XR4000 avec système synchro-drive

[Fox et al., 1997])

8

Fenêtre dynamique

v

ω

vmax

ωmin ωmax

Vitesse courante

Obstacles

Vitesses accessibles au prochain pas de temps

Fenêtre dynamique • Fenêtre ▫ Prise en compte des obstacles ▫ Choix d’un couple (v, ω) conduisant

à un déplacement sur ▫ Problème: grande nombre de couples

de vitesses possibles dans la fenêtre dynamique

• Solution possible ▫ Ajout de contraintes souples: fonction de coût ▫ Expression de préférences dans l’espace

des vitesses accessibles

9

Fenêtre dynamique • Coût ▫ Somme de plusieurs termes:

1.  Préférence a priori sur les vitesses 2.  Préférence pour éloignement maxi des obstacles 3.  Préférence de direction: utile si on a une

estimation de la direction d’un but à long terme

▫ Le couple dans la fenêtre dynamique minimisant est alors choisi

▫ Ce couple garantit l’évitement d’obstacles (contrainte dure) et les contraintes souples

10

Fenêtre dynamique • Exemple de contrainte souple ▫ Préférence directionnelle

11

vmax

v

ωmin ωmaxDirection

préférentielle

ω

Fenêtre dynamique

Fenêtre dynamique • En pratique ▫ Evaluation des contraintes en N points du graphe

(c.-à-d. sur une grille)  N dépend des ressources de calcul disponibles  N dépend de la complexité des contraintes ▫ Utilisation intéressante pour:

 Robots rapides  Robots à fortes accélération/décélération

Déplacement sûr et régulier

12

“High-speed navigation using the global dynamic window approach", O. Brock, O. Khatib, in Proc. IEEE Int. Conf. Robotics and Automation, pp. 341-346, vol. 1, 1999

•  Fréquence de contrôle: supérieure à 15 Hz

•  Carte de 30 x 30 m de l’environnement avec resolution de 5 cm

•  Vitesse longitudinale moyenne du robot: supérieure à 1 m/s

Partie 4 : Evitement d’obstacles 4. Graphe de Voronoï

13

Graphe de Voronoï

•  Soit un ensemble de n points différents (générateurs) dans un environnement

• Le diagramme de Voronoï partitionne en régions

les plus proches de chaque point

14

Vi, i ∈ {1, . . . , n}

pi

Georgy F. Voronoï (1868-1908) était un mathématicien russe

Q ⊂ R2

Q

Q

pi

p1

p2

p3

p4

p5

p6

V1

V2

V3 V4

V5

V6

6 régions

Graphe de Voronoï

• Plus formellement, la région est définie:

• Le diagramme de Voronoï est l’ensemble des régions

• Le graphe de Voronoï est défini par les bordures des régions

15

Vi ��z ∈ Q | �z − pi� ≤ �z − pj�, ∀ j �= i

Vi

{V1, . . . , Vn}

Vi

pi

Q

“Spatial tessellations: concepts and applications of Voronoi diagrams”, A. Okabe, B.N. Boots, K. Sugihara, S.N. Chiu, Wiley & Sons, 1992

Exemple Matlab: Plot_Voronoi.m

V1, . . . , Vn

Graphe de Voronoï Le poisson Tilapia mossambica

crée des régions de Voronoï au cours du processus d'élevage

16

Les diagrammes de Voronoï sont utilisés dans un grand nombre de domaines (biologie, géographie, reconnaissance des formes, infographie) et pour de nombreuses applications: 1.  Localisation de nouveaux installations

(recherche opérationnelle)

2.  Contrôle de couverture (robotique mobile)

Location des nouvelles boutiques

Équipe de robots

Graphe de Voronoï

• Le « robot Voronoï » ▫ Représentons le robot par un point qui perçoit

un ensemble d’obstacles (ponctuels) tout autour de lui  Distance des p obstacles les plus proches:  Angle vers les obstacles:

▫ Loi de contrôle du mouvement:  Quand 2 obstacles sont détectés: se déplacer dans

la direction (suivre la ligne médiane)  Quand il y a 3 obstacles proches ou plus: définir

un « lieu »

17

γ = (α1 + α2)/2

α1, . . . ,αp

d1, . . . , dp

Graphe de Voronoï • Mouvement selon une arête du graphe de Voronoï

18

Obstacle

Obstacle

Graphe de Voronoï • Détection d’un troisième obstacle

19

Obstacle

Obstacle

Obstacle

Graphe de Voronoï

• Déplacement à équidistance des trois obstacles

B

A

C

20

d

d

Graphe de Voronoï

Algorithme • Se déplacer, en maintenant une distance égale

entre les obstacles A et B : • Sélectionner un obstacle C avec une distance

telle que :  Utiliser une tolérance sur l’égalité  Eviter les cas où ces distances ne sont jamais égales  Attention au cas où les (une des) distances sont

égales à la distance maximale perceptible • Arrêt et définition d’un lieu

21

dA(t) = dB(t)

dC(t) = dA(t) = dB(t)dC(t)

Graphe de Voronoï

22

• Tourner ▫ Dès que le robot est sur un lieu  Sélectionner une arête de sortie

du graphe de Voronoï  Effectuer une rotation pour

faire face à l’arête

• Lancer le robot sur une nouvelle arête, et répéter la procédure précédente

B

A

C

Graphe de Voronoï

23

Départ

But •  Exemple de résultat final

obstacle

Graphe de Voronoï

24

• Obstacles non ponctuels (polygones)

Départ

But

obstacle

Graphe de Voronoï

• Arêtes du graphe de Voronoï

▫ Points équidistants d’exactement deux bordures

• Nœuds du graphe de Voronoï ▫ Points équidistants de trois bordures ou plus

25

Salle Nœud

Arête

•  Obstacles non ponctuels (parois externes d’une salle)

Graphe de Voronoï

• Extension: construction de carte topologique (cf. chap. 1)

▫ Démarrage  Trouver l’objet le plus proche  Se déplacer jusqu’à trouver un second objet  Suivre la ligne médiane vers un troisième objet  Définition du lieu initial ▫ Tant qu’il existe une arête inexplorée  Suivre cette arête vers le lieu situé à l’autre bout ▫ Arrêt quand toutes les arêtes ont été explorées

26

Graphe de Voronoï • Exemple de résultat

27

Carte topologique (8 lieux)

Départ

Fin du CM

28