• Aucun résultat trouvé

Discrétisation de l’espace continu Exemples d’exploration

N/A
N/A
Protected

Academic year: 2022

Partager "Discrétisation de l’espace continu Exemples d’exploration"

Copied!
58
0
0

Texte intégral

(1)

Discrétisation d’espace Discrétisation d’espace et exploration

et exploration et exploration et exploration

Luc Lamontagne Luc Lamontagne PLT 3990

PLT 3990

luc.lamontagne@ift.ulaval.ca luc.lamontagne@ift.ulaval.ca

Tiré du matériel de Brahim Chaib

Tiré du matériel de Brahim Chaib--draa (A09)draa (A09) et de Philippe Giguère (Intro à la

et de Philippe Giguère (Intro à la robotiquerobotique, A10) , A10)

1

(2)

Plan

Espace de configuration

Discrétisation de l’espace continu Exemples d’exploration

2

(3)

Planification de trajectoire

Représentation continue

(espace des configurations)

Le contenu de cette section

Discrétisation

Recherche dans un graphe

(blind, best-first, A*)

cette section

(4)

Configuration robot mobile

Espace de travail en 2D

Degrés de liberté (DOF) :

Le nombre de variables pour décrire la position du robot dans l’espace.

Par exemple, qr = ( ,x y , )θ

Par exemple,

4

( ,r r, ) qr = x y θ

x y

(5)

Espace de configuration C

Transformation de l’espace

Réduire la dimension du robot

Le centre du robot devient le point de référence.

Espace libre

Le centre du robot devient le point de référence.

« Gonfler » les obstacles

Reporter les dimensions du robot sur les obstacles.

Planifier un chemin dans l’espace de configuration (C-space)

Avec les obstacles gonflés et le robot comme un point.

5

(6)

Espace de configuration C

Pour un robot circulaire se déplaçant en x-y

Espace libre

6

Espace libre

(7)

Espace de configuration C

Le centre du robot ne peut être que dans le gris

Clibre régions non-accessibles

7

Clibre

(approximé comme un cercle)

(8)

Espace de configuration C

Pour un robot se déplaçant en (x,y, θ )

8

minkowski

(9)

Configuration semi-libre

Une configuration est semi-libre si le robot touche un obstacle, sans pénétrer.

Les configurations semi-libres sont à la bordure entre Cobs et Clibre.

9

configuration semi-libre

(10)

Trajectoire semi-libre

Trajectoire est libre si entièrement dans Clibre.

Trajectoire est semi-libre si elle contient au moins une configuration semi-libre.

On cherche, en général, à éviter ces configurations : aucune marge de sécurité

aucune marge de sécurité

10

configuration semi-libre

trajectoire semi-libre

(11)

Trajectoire libre vs. semi-libre

11

(12)

Planification de mouvements

Cherche à trouver une trajectoire dans l’espace des configurations

sans collision Clibre

Méthodes déterministes

À chaque fois, l’algorithme retourne la même réponse.

À chaque fois, l’algorithme retourne la même réponse.

Méthodes probabilistes

Fonctionnent par échantillonnage au hasard.

Ne trouvent pas toujours la même trajectoire.

Je ne présente dans ce cours que les approches déterministes.

12

(13)

Méthodes déterministes

Déplacement sur grille uniforme

Exploration en profondeur

Propagation de front d’ondes

Propagation de front d’ondes

Déplacement sur grille non uniforme

Graphe des visibilités

Décomposition cellulaire verticale

Diagrammes de Voronoï

13

(14)

Planification de trajectoire

Représentation continue

(espace des configurations)

Discrétisation

Recherche dans un graphe

(blind, best-first, A*)

Le contenu de cette section

(15)

Discrétisation

15

environnement représentation discrète

représentation par graphe

(16)

Découpage de l’espace

16

(17)

Grille régulière uniforme

La forme la plus simple de découpage

On découpe l’espace en cellules, toutes de même dimension.

On marque les cellules contenant les obstacles (cellules occupées)

On recherche un chemin dans les cellules vides.

17

(18)

Grille régulière uniforme

Deux types de déplacement possibles

connectivité von Neumann

Connectivité 4 directions

Connectivité 8 directions

18

1

4 2

3 C

von Neumann

1 2 3

4 5

6 7 8 C

connectivité Moore

(19)

Grille régulière uniforme :

Exploration meilleur d’abord

Explorer la grille G avec une stratégie

meilleur d’abord avec fonction heuristique

But But

(20)

Grille régulière uniforme :

Propagation par front d’onde

Exploration sur une grille régulière (Wavefront planner)

0: non-visité 1: obstacle 2: indique le départ

but

20

départ

(21)

Grille régulière uniforme :

Propagation par front d’onde

À chaque étape :

On ajoute +1 aux cellules adjacentes ayant des 0

Déplacement à 8 directions pour cet exemple (au choix)

21

(22)

Grille régulière uniforme :

Propagation par front d’onde

On continue jusqu’à ce qu’il n’y ait plus de cellules 0 à côté des cellules > 2

22

(23)

Grille régulière uniforme :

Propagation par front d’onde

23

(24)

Grille régulière uniforme :

Propagation par front d’onde

24

(25)

Grille régulière uniforme :

Propagation par front d’onde

25

(26)

Grille régulière uniforme :

Propagation par front d’onde

On continue jusqu’à ce que la grille soit pleine

• Les 0 correspondent aux cellules non accessibles

26

(27)

Grille régulière uniforme :

Propagation par front d’onde

La trajectoire consiste à partir du but et à choisir de façon vorace les cases les plus petites.

27

(28)

Grille régulière uniforme :

Propagation par front d’onde

search() : returnboolean { graph := {nodes}, {edges} ; fringe := {root} ;

visited := empty ;

return breadth-first-search(graph, fringe, visited);

}

breadth-first-search(graph, fringe, visited) returnboolean { breadth-first-search(graph, fringe, visited) returnboolean {

whilefringe notempty {

node := first element of fringe ;

ifnode is what we are searching for { return success ;

}

//do whatever you need to do to node here children := find children of node in graph;

add children not in visited to back of fringe ; add node to visited ;

remove node from fringe;

}

returnfailure;

}

28

(29)

Grille régulière uniforme

Point à considérer :

Si les cellules sont trop petites

On augmente le nombre de nœuds considéré durant l’exploration (temps de calcul).

Si les cellules sont trop grosses

Risque d’avoir des solutions de moindre qualité (moins d’options de

Risque d’avoir des solutions de moindre qualité (moins d’options de chemins).

Possibilité de ne pas trouver de chemin réalisable.

Choisir une taille de cellule empiriquement

En fonction de la taille du robot et des obstacles.

29

(30)

Grille non régulière

Découpage par des quadtrees

On divise l’espace en deux régions.

On répète pour chaque région jusqu’à ce qu’on sépare les obstacles des régions libres.

sépare les obstacles des régions libres.

Revient à créer un arbre binaire qui contient les différentes régions de notre espace de

configuration.

30

(31)

Grille non régulière - quadtrees

Space Representation Equivalent quadtree

31

(32)

Grille non régulière - quadtrees

Space Representation Equivalent quadtree

NW child

NE SW SE

32

Free node Gray node

(33)

Grille non régulière - quadtrees

Space Representation Equivalent quadtree

G

33

Obstacle Node

S(G)

(34)

Grille non régulière - quadtrees

Space Representation Equivalent quadtree

34

(35)

Grille non régulière - quadtrees

Space Representation Equivalent quadtree

35

(36)

Grille non régulière - quadtrees

Space Representation Equivalent quadtree

36

Complete quadtree

(37)

Grille non régulière - quadtrees

Planification de trajectoire

Trouver le chemin qui mène du point de départ au but.

. . .

En passant par le centre des régions libres.

37

. .

. .

. .

(38)

Graphe des visibilités

La carte est connue

Les obstacles sont des polygones

Utilise graphe G = (E,V) non-orienté comme représentation

Pas de grille !

Algorithme complet

Approprié pour monde 2D

38

(39)

Discrétisation : graphe de visibilité

Les sommets V qui sont mutuellement visibles sont connectés ensemble par une arête E.

39

(40)

Discrétisation : graphe de visibilité

Construction :

Balayer un rayon à partir de chaque sommet

Enregistrer les sommets qui ne sont pas obstrué par des polygones (c.-à-d. qui sont visibles)

Complexité : O(n3)

Complexité : O(n )

40

Implantation de l’algorithme en C++: voir la librarie VisiLibity

(41)

Planification : graphe de visibilité

Planification : recherche le chemin le plus court dans graphe G entre q

1

et q

2

.

Soit une exploration à coût uniforme ou A*.

41

(42)

Planification : graphe de visibilité

Trouve nécessairement la trajectoire la plus courte entre q1 et q2

un résultat de la géométrie computationnelle

…mais avec possiblement des trajectoires semi- libres…

…mais avec possiblement des trajectoires semi- libres…

…et pour un robot de la taille d’un point.

42

(43)

Décomposition cellulaire verticale

Décomposer une carte 2D en trapèzes et triangles.

Pour chaque sommet Pi des obstacles:

Étend ligne verticale en haut et en bas, jusqu’à un obstacle

4 cas possibles:

4 cas possibles:

C1:(haut,bas)

C2:(haut),

C3:(bas),

C4:(aucun)

43

(44)

Décomposition cellulaire verticale

Étape 2:

place 1 point au milieu frontière entre cellules

44

Étape 3:

place 1 point au milieu de la cellules

Étape 4:

relie les centres aux points frontières

(45)

Décomposition cellulaire verticale

Chaque cellule est convexe

ce qui veut dire que dans une cellule, on peut

rejoindre n’importe quel autre point à l’intérieur, en ligne droite.

45

(46)

Décomposition cellulaire verticale

Planification :

recherche dans le graphe du chemin le plus court

Donne des

trajectoires qui sont en général loin des obstacles

46

(47)

Diagramme de Voronoï

Un polytope par point pi.

Pour un endroit quelconque dans un polytope i, le plus proche

voisin est pi.

p1

p2 p4

i

Les lignes sont à égales

distances entre les points pi voisins.

Décomposition de l’espace en polytopes convexes.

47

p3

(48)

Diagramme de Voronoï

Autre exemple

48

(49)

Diagramme de Voronoï généralisé

Obstacles sont des polygones.

Diagramme : configurations dans l’espace libre C

libre

équidistants des obstacles.

libre C

libre

équidistants des obstacles.

49

• Si le robot suit le

diagramme: distance

maximale des obstacles.

• Pas optimal en distance.

• Trop conservateur.

(50)

Diagramme de Voronoï généralisé

Generalized Voronoi Graph (GVG)

50

(51)

Diagramme de Voronoï généralisé

51

(52)

Diagramme de Voronoï généralisé

52

(53)

Diagramme de Voronoï généralisé

53

(54)

Diagramme Voronoï généralisé

54

(55)

Diagramme Voronoï généralisé

55

(56)

Ce dont je n’ai pas parlé...

Approche Bug

Déplacement qui s’inspire de celui des insectes.

SLAM (Simultaneous localisation and mapping)

mapping)

Déplacement lorsqu’un robot veut construire une carte d’un environnement inconnu

Méthodes probabilistes

Probabilistic Roadmaps

RRT-Connect

56

(57)

Points à considérer

On suit la trajectoire planifiée hors ligne…

En boucle ouverte

En boucle fermée (par la vision ou un capteur de proximité)

proximité)

Quel est le cycle de rétroaction? (100 ms, 1s, 10 s?)

Gérer l'acquisition d’information

Commander la saisie d'images

à intervalles fixes

lorsque requis

57

(58)

Conclusion

Plusieurs options disponibles pour structurer votre espace de navigation

Différents niveaux de complexité Prêter une attention particulière :

Prêter une attention particulière :

Aux trajectoires semi-libres;

Aux approches trop coûteuses en temps;

À replanifier votre itinéraire en cas de déviation du plan initial.

58

Références

Documents relatifs

Le résultat est

Dans chaque classe, il existe des coins avec du matériel à disposition des enfants et un aménagement du temps permettant aux enfants d'avoir des activités

la vie était une série de tabourets de cirque sur lesquels il fallait sauter.. Les enfants chantent

La pratique du t exte libre en classe a toujour s pou ssé mes contradictions pédagogico-philosoph ico-colér iqu es dans leurs derniers retranchements.. De plus, la

Nous pensons pouvoir, au cours de cette année, donner très souvent des exemples similaires a,/in de faire démaner la technique.. Quelques exemples de calcul

Sinon, l'enfant m'entraînait dans un monde fantastique et je ne suivais plus, je perdai s pied, je roulais dans les tourbillons de son imagination_ Et moi, te

Ce n'est pas un coup de tête, elle a bien réfléchi aux conséquences de son choix : ne plus voir ses copines, rater la cantine, ne pas savoir lire, écrire, compter.. Mais à son

[r]