Académique Documents
Professionnel Documents
Culture Documents
de robots
UPJV, Département EEA
Fabio MORBIDI
Laboratoire MIS
Équipe Perception Robotique
E-mail: fabio.morbidi@u-picardie.fr
Plan du chapitre
Stratégies de navigation Partie 1
Fenêtre dynamique
• Sélection d’un couple (v, !)
v : vitesse longitudinale du robot v
! : vitesse angulaire du robot !
selon des contraintes:
! Evitement d’obstacles robot
! Atteindre un but
! Modèle cinématique/dynamique du robot
Fenêtre dynamique
▫ Evaluation:
! À partir de l’environnement perçu
! À partir de la position future estimée du robot
6
Fenêtre dynamique
obstacle
robot robot
7
Fenêtre dynamique
• Construction du graphe des vitesses
▫ Ensemble des couples de vitesses (et donc trajectoires)
possibles du robot
obstacle
vmax v
Vitesse courante
Fenêtre
dynamique
vmin
!min !max
!
8
Fenêtre dynamique
• Fenêtre dynamique pour le robot Nomad XR4000 avec système
synchro-drive [Fox et al., IEEE RAM97]
Fenêtre dynamique
Vitesses accessibles au
prochain pas de temps Vitesse courante
vmin
!
-90 deg./s 90 deg./s
9
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 G(v, !)
▫ Expression de préférences dans l’espace
des vitesses accessibles
10
Fenêtre dynamique
• Coût G(v, !)
▫ Somme de plusieurs termes:
1. Préférence a priori sur les vitesses
2. Préférence sur l’éloignement
maximal 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 G(v, !) est alors choisi
▫ Ce couple garantit l’évitement d’obstacles
(contrainte dure) et les contraintes souples
11
Fenêtre dynamique
• Exemple de contrainte souple
▫ Préférence directionnelle
v
vmax
G(v, !)
Fenêtre
dynamique
vmin
!
!min !max
Direction
préférentielle
12
Fenêtre dynamique
N
• En pratique:
▫ Evaluation des contraintes en N points du graphe
des vitesses (c’est-à-dire, sur une grille)
! N dépend des ressources de calcul disponibles
Fenêtre
et de la complexité des contraintes dynamique
Vi , i 2 {1, . . . , n} p1
V2
les plus proches de
chaque point pi
Graphe de Voronoï Q
Vi
pi
• Plus formellement, la région Vi
est définie par:
Vi , z 2 Q | kz pi k kz pj k, 8 j 6= i
Emplacement
de nouveaux
magasins
Le médecin John Snow utilisa un diagramme de Voronoï pour montrer que la plupart des
personnes décédées à Londre suite à l’épidémie de choléra de 1854 (disques rouges), vivait
plus près d’une pompe d’eau infecte (circle vert) que de toutes les autres pompes (bleues)
18
Graphe de Voronoï
Evitement d’obstacles
▫ Représentons le robot par un point qui perçoit
un ensemble d’obstacles (ponctuels) tout autour de lui
! Distance des m obstacles les plus proches: d1 , . . . , dm
! Angle vers les obstacles: ↵1 , . . . , ↵m
▫ Loi de contrôle du mouvement:
! Quand 2 obstacles sont détectés: se déplacer dans
la direction = (↵1 + ↵2 )/2 (suivre la ligne médiane)
! Quand il y a 3 obstacles proches ou plus:
définir un « lieu »
19
Graphe de Voronoï
• Mouvement selon une arête du graphe de Voronoï
B
Robot
A
20
Graphe de Voronoï
• Déplacement à équidistance des trois obstacles et définition d’un lieu
d
d
Robot
d
d
d
C
A
21
Graphe de Voronoï
Algorithme
1. On part du point qs
2. Se déplacer en maintenant une distance égale
entre les obstacles A et B: dA (t) = dB (t)
3. Sélectionner un obstacle C avec une distance dC (t)
telle que: dC (t) = dA (t) = dB (t)
! 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 du robot
4. Arrêt et définition d’un lieu
22
Graphe de Voronoï
5. Dès que le robot est sur un lieu
! Sélectionner une arête de
sortie du graphe de Voronoï B
(selon un certain critère)
! Effectuer une rotation
pour faire face à l’arête
Graphe de Voronoï
• Exemple de chemin sans collisions (non unique !)
But
Q qb
Départ
qs
obstacle
24
Graphe de Voronoï
• Extension 1: obstacles non ponctuels (polygones): graphe
de Voronoï généralisé
Départ
qs
obstacle
qb But
25
Graphe de Voronoï
• Extension 2: obstacles non ponctuels (murs d’une salle)
Sommet
Salle
Arête
Graphe de Voronoï
Une autre application du graphe de Voronoï:
▫ 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
27
Graphe de Voronoï
Construction de la carte
• Exemple topologique d’un
bâtiment (8 lieux)
qs
Départ
28
Méthodes probabilistes
Planification probabiliste
Les planificateurs probabilistes font partie de la grande famille des méthodes
d'échantillonnage (« sampling-based methods », en anglais)
• Très efficaces, spécialement pour problèmes définis dans
d’un espace des configurations de très haute dimensionalité
Planification probabiliste
Cette procédure est assez générale. Il y a deux façons de choisir les candidats:
! Approche déterministe: les configurations candidates sont choisies
à travers une grille régulière appliquée à l’environnement (voir, par ex.
[Janson, Ichter, Pavone, Robotics Research, 2018])
! Approche stochastique: les configurations candidates sont choisies
selon une certaine fonction de densité de probabilité (pdf)
Remarque: l’étude de l’optimalité de ces méthodes est très récente (elle s’appuie
sur la théorie des graphes aléatoires et de la percolation), voir l’article:
"Sampling-based algorithms for optimal motion planning”, S. Karaman,
E. Frazzoli, Int. Journal of Robotics Research, vol. 30, no. 7, 846-894, 2011
32
Algorithme
Remarque: si une solution n’est pas été trouvée, la PRM peut être améliorée en
effectuant plus d’itérations ou en utilisant des stratégies pour réduire le nombre
de composantes connexes
34
qs
qrand
PRM: illustration de
A
l’algorithme (3 cas possibles)
qb
roadmap
qs qs
qrand qrand
B
qb qb
roadmap qnear 2 composantes
connexes de la PRM
qs qs qs
C qrand qrand
qb qb qb
roadmap qnear
35
qs
qb
Utilisation de la PRM
pour trouver un chemin
sans collisions entre qs et qb
3 composantes
connexes de la PRM
36
qb
Obstacle
qnew
T qnear qb
42
qs qs
Ts Ts
qnear
qb qb
Tb Tb
qnew qnew
qrand
Robot qb
qs
Robot
Obstacle
Fin du CM