Robotique autonome Navigation Francis Colas
Introduction Planification espace de configuration et algorithmes de planification ; carte connue et statique. Francis Colas Robotique autonome Navigation 2
Introduction Planification espace de configuration et algorithmes de planification ; carte connue et statique. Navigation mouvement d un robot mobile : - planification de trajectoire, - exécution de la trajectoire, - évitement d obstacles ; exploration : - dans un environnement inconnu, - décider des mouvements pour construire la carte. Francis Colas Robotique autonome Navigation 3
Introduction Planification espace de configuration et algorithmes de planification ; carte connue et statique. Navigation mouvement d un robot mobile : - planification de trajectoire, - exécution de la trajectoire, - évitement d obstacles ; exploration : - dans un environnement inconnu, - décider des mouvements pour construire la carte. Objectif de la séance suivi de trajectoire ; évitement d obstacle ; exploration. Francis Colas Robotique autonome Navigation 4
1Suivi de trajectoire Francis Colas Robotique autonome Navigation 5
Suivi de trajectoire Suivi de trajectoire exécuter une trajectoire planifiée, à l aide des capteurs, en prenant en compte les contraintes du robot ; correction des dérives. Francis Colas Robotique autonome Navigation 6
Suivi de trajectoire Suivi de trajectoire exécuter une trajectoire planifiée, à l aide des capteurs, en prenant en compte les contraintes du robot ; correction des dérives. Principe trajectoire donnée ; position/erreur connue ; modèle de véhicule donné ; calcul d une commande pour suivre la trajectoire. Francis Colas Robotique autonome Navigation 7
Suivi de trajectoire Suivi de trajectoire exécuter une trajectoire planifiée, à l aide des capteurs, en prenant en compte les contraintes du robot ; correction des dérives. Principe trajectoire donnée ; position/erreur connue ; modèle de véhicule donné ; calcul d une commande pour suivre la trajectoire. Francis Colas Robotique autonome Navigation 8
Modèles cinématiques Robot différentiel deux roues motrices (droite et gauche) ; roue folle de stabilisation ; Francis Colas Robotique autonome Navigation 9
Modèles cinématiques Robot différentiel deux roues motrices (droite et gauche) ; roue folle de stabilisation ; configuration en position et orientation : (x, y, θ) ; commande en vitesse des roues : (v l, v r) ; y D θ 0 x Francis Colas Robotique autonome Navigation 10
Modèles cinématiques Robot différentiel deux roues motrices (droite et gauche) ; roue folle de stabilisation ; configuration en position et orientation : (x, y, θ) ; commande en vitesse des roues : (v l, v r) ; modèle cinématique : ẋ = vr+v l cos θ 2 ẏ = vr+v l sin θ 2 θ = vr v l 2D y 0 D x θ Francis Colas Robotique autonome Navigation 11
Modèles cinématiques Voiture roues avant orientables ; roues arrières fixes ; Francis Colas Robotique autonome Navigation 12
Modèles cinématiques Voiture roues avant orientables ; roues arrières fixes ; Francis Colas Robotique autonome Navigation 13
Modèles cinématiques Voiture roues avant orientables ; roues arrières fixes ; Francis Colas Robotique autonome Navigation 14
Modèles cinématiques Voiture roues avant orientables ; roues arrières fixes ; configuration en position, orientation et angle de braquage : (x, y, θ, φ) ; commande en vitesse et changement d angle de braquage : (v, u). y L θ φ 0 x Francis Colas Robotique autonome Navigation 15
Modèles cinématiques Voiture roues avant orientables ; roues arrières fixes ; configuration en position, orientation et angle de braquage : (x, y, θ, φ) ; commande en vitesse et changement d angle de braquage : (v, u). modèle cinématique : ẋ = v cos θ ẏ = v sin θ θ = v tan φ L φ = u y 0 x L θ φ Francis Colas Robotique autonome Navigation 16
Suivi de trajectoire Principe définition des commandes en fonction de l erreur ; obtention d une équation différentielle sur l erreur. Francis Colas Robotique autonome Navigation 17
Suivi de trajectoire Principe définition des commandes en fonction de l erreur ; obtention d une équation différentielle sur l erreur. P l2 l 1 ( xr( t), yr( t ) Robot différentiel mouvement d un point : ) ( vr+vl (ẋp cos θ vr v ) l (l1 sin θ + l2 cos θ) = 2 2D v ẏ r+v l P sin θ vr v = M l (l1 cos θ + l2 sin θ) 2 2D ( vr v l ) Francis Colas Robotique autonome Navigation 18
Suivi de trajectoire Principe définition des commandes en fonction de l erreur ; obtention d une équation différentielle sur l erreur. P l2 l 1 ( xr( t), yr( t ) Robot différentiel mouvement d un point : ) ( vr+vl (ẋp cos θ vr v ) l (l1 sin θ + l2 cos θ) = 2 2D v ẏ r+v l P sin θ vr v = M l (l1 cos θ + l2 sin θ) 2 2D erreur par rapport à la référence e = (x P x r(t), y P y r(t)) : ( ) ) vr (ẋr(t) ė = M ẏ r(t) v l ( vr v l ) Francis Colas Robotique autonome Navigation 19
Suivi de trajectoire Principe définition des commandes en fonction de l erreur ; obtention d une équation différentielle sur l erreur. P l2 l 1 ( xr( t), yr( t ) Robot différentiel mouvement d un point : ) ( vr+vl (ẋp cos θ vr v ) l (l1 sin θ + l2 cos θ) = 2 2D v ẏ r+v l P sin θ vr v = M l (l1 cos θ + l2 sin θ) 2 2D erreur par rapport à la référence e = (x P x r(t), y P y r(t)) : ( ) ) vr (ẋr(t) ė = M ẏ r(t) correction proportionnelle et pré-compensation : ( ) ) vr (ẋr(t) M = Ke ẏ r(t) v l v l ( vr v l ) Francis Colas Robotique autonome Navigation 20
Conclusion sur le suivi de trajectoire Suivi de trajectoire point de suivi P ; méthode simple de réduction d erreur ; généralisable à une voiture. Francis Colas Robotique autonome Navigation 21
Conclusion sur le suivi de trajectoire Suivi de trajectoire point de suivi P ; méthode simple de réduction d erreur ; généralisable à une voiture. Limitations l 1 0 ; contrôle de l orientation ; prise en compte de la dynamique ; prise en compte du glissement. Francis Colas Robotique autonome Navigation 22
Conclusion sur le suivi de trajectoire Suivi de trajectoire point de suivi P ; méthode simple de réduction d erreur ; généralisable à une voiture. Limitations l 1 0 ; contrôle de l orientation ; prise en compte de la dynamique ; prise en compte du glissement. Suivi de chemin problème de la position de référence ; projection sur le repère de Frenet. Francis Colas Robotique autonome Navigation 23
2Évitement d obstacle Francis Colas Robotique autonome Navigation 24
Évitement d obstacle Évitement d obstacle utilisation des capteurs extéroceptifs ; génération de commandes permettant d éviter les obstacles, tout en atteignant la cible. Approches champ de potentiel ; vector field histogram ; dynamic window approach ; velocity obstacles. Francis Colas Robotique autonome Navigation 25
Vector field histogram Vector field histogram histogramme de densité d obstacle, suivant la direction ; identification de vallées ; choix de la vallée la plus proche. Francis Colas Robotique autonome Navigation 26
Vector field histogram Vector field histogram histogramme de densité d obstacle, suivant la direction ; identification de vallées ; choix de la vallée la plus proche. Francis Colas Robotique autonome Navigation 27
Vector field histogram Vector field histogram histogramme de densité d obstacle, suivant la direction ; identification de vallées ; choix de la vallée la plus proche. π 0 -π Francis Colas Robotique autonome Navigation 28
Vector field histogram Vector field histogram histogramme de densité d obstacle, suivant la direction ; identification de vallées ; choix de la vallée la plus proche. π 0 -π Francis Colas Robotique autonome Navigation 29
Vector field histogram Vector field histogram histogramme de densité d obstacle, suivant la direction ; identification de vallées ; choix de la vallée la plus proche. π 0 -π Francis Colas Robotique autonome Navigation 30
Vector field histogram Vector field histogram histogramme de densité d obstacle, suivant la direction ; identification de vallées ; choix de la vallée la plus proche. π 0 -π Francis Colas Robotique autonome Navigation 31
Vector field histogram Vector field histogram histogramme de densité d obstacle, suivant la direction ; identification de vallées ; choix de la vallée la plus proche. π 0 -π Francis Colas Robotique autonome Navigation 32
Vector field histogram Vector field histogram histogramme de densité d obstacle, suivant la direction ; identification de vallées ; choix de la vallée la plus proche. π 0 -π Francis Colas Robotique autonome Navigation 33
Vector field histogram Vector field histogram histogramme de densité d obstacle, suivant la direction ; identification de vallées ; choix de la vallée la plus proche. π 0 -π Francis Colas Robotique autonome Navigation 34
Dynamic window approach Dynamic window approach espace des commandes ; identification des commandes menant à collision (horizon fini) ; identification des commandes réalisables au prochain pas de temps ; pondération entre : - commande désirée, - distance aux obstacles, - vitesses élevées. Francis Colas Robotique autonome Navigation 35
Dynamic window approach Dynamic window approach espace des commandes ; identification des commandes menant à collision (horizon fini) ; identification des commandes réalisables au prochain pas de temps ; pondération entre : - commande désirée, - distance aux obstacles, - vitesses élevées. v r 0 v l Francis Colas Robotique autonome Navigation 36
Dynamic window approach Dynamic window approach espace des commandes ; identification des commandes menant à collision (horizon fini) ; identification des commandes réalisables au prochain pas de temps ; pondération entre : - commande désirée, - distance aux obstacles, - vitesses élevées. v r 0 v l Francis Colas Robotique autonome Navigation 37
Dynamic window approach Dynamic window approach espace des commandes ; identification des commandes menant à collision (horizon fini) ; identification des commandes réalisables au prochain pas de temps ; pondération entre : - commande désirée, - distance aux obstacles, - vitesses élevées. v r 0 v l Francis Colas Robotique autonome Navigation 38
Dynamic window approach Dynamic window approach espace des commandes ; identification des commandes menant à collision (horizon fini) ; identification des commandes réalisables au prochain pas de temps ; pondération entre : - commande désirée, - distance aux obstacles, - vitesses élevées. v r 0 v l Francis Colas Robotique autonome Navigation 39
Dynamic window approach Dynamic window approach espace des commandes ; identification des commandes menant à collision (horizon fini) ; identification des commandes réalisables au prochain pas de temps ; pondération entre : - commande désirée, - distance aux obstacles, - vitesses élevées. v r 0 v l Francis Colas Robotique autonome Navigation 40
Dynamic window approach Dynamic window approach espace des commandes ; identification des commandes menant à collision (horizon fini) ; identification des commandes réalisables au prochain pas de temps ; pondération entre : - commande désirée, - distance aux obstacles, - vitesses élevées. v r 0 v l Francis Colas Robotique autonome Navigation 41
Velocity obstacles Velocity obstacles évitement d obstacles dynamiques ; vitesses connues ; planification dans l espace des vitesses ; vitesses induisant une collision avec un obstacle (horizon infini). Francis Colas Robotique autonome Navigation 42
Velocity obstacles Velocity obstacles évitement d obstacles dynamiques ; vitesses connues ; planification dans l espace des vitesses ; vitesses induisant une collision avec un obstacle (horizon infini). Francis Colas Robotique autonome Navigation 43
Velocity obstacles Velocity obstacles évitement d obstacles dynamiques ; vitesses connues ; planification dans l espace des vitesses ; vitesses induisant une collision avec un obstacle (horizon infini). Francis Colas Robotique autonome Navigation 44
Velocity obstacles Velocity obstacles évitement d obstacles dynamiques ; vitesses connues ; planification dans l espace des vitesses ; vitesses induisant une collision avec un obstacle (horizon infini). Francis Colas Robotique autonome Navigation 45
Velocity obstacles Velocity obstacles évitement d obstacles dynamiques ; vitesses connues ; planification dans l espace des vitesses ; vitesses induisant une collision avec un obstacle (horizon infini). Francis Colas Robotique autonome Navigation 46
Velocity obstacles Velocity obstacles évitement d obstacles dynamiques ; vitesses connues ; planification dans l espace des vitesses ; vitesses induisant une collision avec un obstacle (horizon infini). Francis Colas Robotique autonome Navigation 47
Velocity obstacles Velocity obstacles évitement d obstacles dynamiques ; vitesses connues ; planification dans l espace des vitesses ; vitesses induisant une collision avec un obstacle (horizon infini). Francis Colas Robotique autonome Navigation 48
Velocity obstacles Velocity obstacles évitement d obstacles dynamiques ; vitesses connues ; planification dans l espace des vitesses ; vitesses induisant une collision avec un obstacle (horizon infini). Francis Colas Robotique autonome Navigation 49
Velocity obstacles Velocity obstacles évitement d obstacles dynamiques ; vitesses connues ; planification dans l espace des vitesses ; vitesses induisant une collision avec un obstacle (horizon infini). Francis Colas Robotique autonome Navigation 50
Conclusion sur l évitement d obstacle Évitement d obstacle méthodes de modification locale de commande ; reconnaissance des commandes acceptables ; hors planification. Francis Colas Robotique autonome Navigation 51
Conclusion sur l évitement d obstacle Évitement d obstacle méthodes de modification locale de commande ; reconnaissance des commandes acceptables ; hors planification. Limitations reconnaissance des obstacles ; estimation de leurs vitesses ; pas de garantie générale. Francis Colas Robotique autonome Navigation 52
3Exploration Francis Colas Robotique autonome Navigation 53
Exploration Exploration choisir les actions d un robot mobile, pour parcourir un environnement, en construisant sa carte ; optimisation de l information. Francis Colas Robotique autonome Navigation 54
Exploration Exploration choisir les actions d un robot mobile, pour parcourir un environnement, en construisant sa carte ; optimisation de l information. Active localization localisation inconnue ; mouvements pour mieux se localiser ; SLAM + exploration. Francis Colas Robotique autonome Navigation 55
Exploration Exploration choisir les actions d un robot mobile, pour parcourir un environnement, en construisant sa carte ; optimisation de l information. Active localization localisation inconnue ; mouvements pour mieux se localiser ; SLAM + exploration. Pursuit evasion problem choisir les actions d un robot mobile, pour trouver et suivre un autre objet mobile, dans un environnement connu ou non. Francis Colas Robotique autonome Navigation 56
Optimisation de l information Quantité d information utilisation de l entropie : H p = entropie : mesure d incertitude ; { p(x) log p(x) dx x p(x) log p(x) maximiser l information en faisant minimisant l entropie. Francis Colas Robotique autonome Navigation 57
Optimisation de l information Quantité d information utilisation de l entropie : H p = entropie : mesure d incertitude ; { p(x) log p(x) dx x p(x) log p(x) maximiser l information en faisant minimisant l entropie. Gain d information comparaison entre l information courante et l information attendue : I p(u) = H p E[H p u] observation prochaine inconnue ; résolution de POMDPs très coûteux. Francis Colas Robotique autonome Navigation 58
Heuristiques d exploration Entropie corrélation entre l entropie et le gain d information dans une carte d occupation ; méthode gloutonne : choisir la meilleure action immédiate. Francis Colas Robotique autonome Navigation 59
Heuristiques d exploration Entropie corrélation entre l entropie et le gain d information dans une carte d occupation ; méthode gloutonne : choisir la meilleure action immédiate. Incertitude dans l inexploré plans à long termes invalides ; méthodes gloutonnes aux frontières. Francis Colas Robotique autonome Navigation 60
Heuristiques d exploration Entropie corrélation entre l entropie et le gain d information dans une carte d occupation ; méthode gloutonne : choisir la meilleure action immédiate. Incertitude dans l inexploré plans à long termes invalides ; méthodes gloutonnes aux frontières. Frontier-based exploration lister les frontières connues ; aller explorer la plus proche. Francis Colas Robotique autonome Navigation 61
4Conclusion Francis Colas Robotique autonome Navigation 62
Conclusion Navigation planification de mouvement ; adaptation au robot : suivi de trajectoire ; adaptation à l environnement : évitement d obstacles ; adaptation à notre connaissance : exploration. Francis Colas Robotique autonome Navigation 63
Conclusion Navigation planification de mouvement ; adaptation au robot : suivi de trajectoire ; adaptation à l environnement : évitement d obstacles ; adaptation à notre connaissance : exploration. Limites articulation entre la planification et l exécution ; identification des obstacles ; exploration heuristique. Francis Colas Robotique autonome Navigation 64
Bibliographie Livres Siciliano et al., Springer Handbook of Robotics, Springer 2016. Thrun et al., Probabilistic Robotics, MIT Press, 2005. Vector Field Histogram Ulrich et Borenstein, VFH+ : reliable obstacle avoidance for fast mobile robots, RA, 1998. Velocity obstacles Fiorini et Shiller, Motion planning in dynamic environments using velocity obstacles, IJRR 1998. Exploration Holz et al., Evaluating the efficiency of frontier-based exploration, ISR/Robotik, 2010. Francis Colas Robotique autonome Navigation 65
Merci de votre attention. Des questions?