Les états de collision inévitables, un outil pour la sûreté des systèmes robotiques Antoine Durand-Gasselin, encadré par Thierry Fraichard, equipe emotion, laboratoire Inrialpes Contexte : La navigation autonome sûre pour les systèmes robotiques opérant dans un environnement avec des obstacles dynamiques est actuellement un grand enjeu de la recherche en robotique. C est pour cela que l on définit la notion d ICS (inevitable collision state, ou état de collision inévitable), état dans lequel, quelque soit le contrôle appliqué au système robotique étudié, celui-ci entre en collision avec un obstacle. Il faudra veiller à ce qu un système robotique n entre donc jamais dans un tel état, et tant qu il n est pas dans un tel état, on peut considérer qu il est dans un état sûr. C est sur cette notion d ICS que j ai travaillé, et j ai implémenté un algorithme de calcul d états de collisions inévitables en espace dynamique pour un modèle robotique donné. 1 Le calcul des états de collision inévitable 1.1 Définition L état d un système robotique est un ensemble de variables dont la connaissance à un instant t 0 permettent non seulement de connaître la position et l orientation de chaque point du système robotique à cet instant, mais qui en plus combiné à la connaissance des contrôles appliqués à ce système robotique de l instant t 0 jusqu à un instant t f déterminent la configuration du système de t 0 à t f. On définit une maneuvre comme la donnée d une succession de contrôles appliqués pendant une certaine durée. On définit la notion d état de collision inévitable pour un système robotique donné, comme un état pour lequel quelque soit la trajectoire suivie par le système, elle rentre en collision avec un obstacle de l environnement. Soit A un système robotique. Sa dynamique est décrite par le système différentiel suivant : ṡ = f(s, u) où s Sest l état de A, ṡ sa dérivée temporelle et u Uun contrôle. S et U sont respectivement l espace des états et l espace des contrôles du système A. Soit φ Φ une manoeuvre, une sucession de controles. φ représente une trajectoire de A. Partant d un état initial s 0 (à l instant 0) et sous l effet de la maneuvre φ, l état de A à l instant t est noté φ(s 0,t). On définit l ensemble des états de collision inévitable avec un obstacle ICO(B,φ) comme l ensemble des états s tels que il existe un instant t, φ(s, t) est un état de collisison avec B.EtICO admet la propriété suivante : ICO( i B i,φ)= i ICO(B i,φ) On définit la notion d état de collision inévitable, comme l ensemble des états de collision inévitable à manoeuvre fixée, pour toute maneuvre φ ICO(B) = Φ ICO(B,φ)= Φ ICO(B i,φ) i 1
Voici un exemple qui donne une idée du calcul des états de collision inévitables. On considère un système robotique de type voiture. On représente là un plan de l espace des états. Le plan à vitesse constante non nulle et orientation constante vers les y croissants. Nous sommes dans le cas d un seul obstacle fixe, un segment. On voit dessiné de différentes couleurs les ICO(B,φ) pour des maneuvres de freinage maximum et d orientation diverse des roues. Fig.1 : Représentation des ICO 1.2 Approximations dans les calculs Cette notion d état de collision inévitable n est pas calculable dans la pratique, et il apparaît même, que des discrétisations fines des espaces considérés sont tout simplement inenvisageables. Nous nous heurtons là au problème de la malédiction de la dimensionnalité, en effet la complexité des méthodes de discrétisation brutales croît expobentiellement en la dimension du système robotique étudié. Il faut donc trouver une méthode d approximation du calcul de ces états de collisions inévitable. Dans Inevitable Collision States A Step Towards Safer Robots?, Fraichard et Asama nous donnent une première méthode d approximation, à savoir de ne pas considérer toutes les maneuvres possibles, mais uniquement un petit nombre de maneuvres. L intérêt de cette méthode est qu elle donne une surapproximation de l ensemble des états de collision inévitable, elle permet d assurer la sûreté du système. Cependant si elle permet d obtenir dans des cas très précis (typiquement des illustrations) des résultats probants, il manque un algorithme pour décider quelles trajectoires choisir. Fraichard et Parthasarathi proposent dans An inevitable Collision State-Checker for a Car-Like Vehicle de sélectionner les manoeuvres d évitement des obstacles. À savoir les manoeuvres (une pour chaque obstacle) telles que pour chaque obstacle B i, φ i minimise ICO(B i,φ i ). Ces manoeuvres sont en fait des manoeuvres d imitation de trajectoire. En effet si la trajectoire du système robotique est la même que celle de l obstacle étudié, alors les états de collision inévitable pour cet obstacle et cette trajectoire sont minimaux, puisque s ils ne sont pas en collision à l instant initial, ils ne seront jamais en collision, on a ICO(B,φ mo )=B(0). Seulement, à l instant initial, selon l état du système robotique, il n est pas toujours possible de suivre la même trajectoire qu un obstacle donné. 2
Fig.2 : A imite la trajectoire de B : A peut imiter immédiatement la trajectoire de B (à gauche) ; A doit d abord rattrapper la trajectoire de B (en rouge) avant d imiter (à droite). Les manoeuvres d imitation se déroulent donc en deux parties : une première phase dite de rattrapage, où A va chercher à atteindre une vitesse nulle par rapport à B une deuxième phase pendant laquelle A se contente de suivre B C est sur le calcul de ces manoeuvres d évitement (par imitation) que j ai travaillé. 2 Le calcul des maneuvres d évitement 2.1 Le modèle étudié Pour calculer ces manoeuvres, on travaille tout d abord sous une hypothèse assez forte : on considère que le modèle du futur est connu, la trajectoire des obstacles est donc connue. On suppose également que le robot peut, s il est dans une bonne configuration, imiter la trajectoire de chaque obstacle. Il faut ensuite calculer les manoeuvres d évitement. Il faut tout d abord fixer un modèle de système robotique. J ai choisi un système robotique de type voiture, un état est défini par (x, y, θ, v, ξ), où x et y représentent les coordonnées de la roue arrière, θ l orientation du système, v la vitesse de la roue avant et ξ l angle de braquage de la roue avant. Un contrôle est défini par (u v,u ξ ), respectivement l acceleration et la vitesse angulaire de braquage de la roue avant. Le système robotique est régi par le système différentiel suivant : ẋ = v cos θ cos ξ ẏ = v sin θ cos ξ θ = v sin ξ/l v = u v ξ = u ξ Fig.3 : Le système de type voiture A 3
Avec les contraintes suivantes : ξ [ ξ max ; ξ max ] où ξ max est l angle de braquage maximal u v et u ξ sont eux aussi bornés par a et b v [0,v max ] où v max est la vitesse maximale du véhicule J ai étudié le cas où l environnement se compose d obstacles mobiles en translation rectiligne uniforme. Grâce à cette hypothèse simplificatrice j ai pu calculer exactement la partie de rattrapage des manoeuvres d imitation, qui est la plus courte. J arrive donc à déterminer la manoeuvre qui permet d atteindre le plus rapidement possible la trajectoire de l obstacle mobile (ou fixe) considéré. Dans le cas du modèle étudié, cela revient à calculer une manoeuvre qui amène de l état initial à un état dans lequel le véhicule est bien orienté, se meut à la bonne vitesse et ses roues avant sont alignées. Pour s y prendre on va calculer (pour une orientation initiale donnée et une vitesse initiale donnée ; on supposera que l angle initial des roues est nul), une fonction du temps t qui donne l angle de déviation maximal qu il est possible de faire à partir de la vitesse initiale et en atteignant la vitesse finale à l instant t, tout en ayant les roues droites. F(t) =max {θ(t) θ(0) v(t) =v f,ξ t =0} φ Φ C est la déviation maximale que l on puisse espérer pour une manoeuvre de durée t et telle que l on atteigne v f et ξ =0à l instant t. Si on arrive à trouver la manoeuvre qui maximise, on a a alors la manoeuvre de rattrapage optimale en temps, si on cherchait à atteindre une déviation de trajectoire d angle F(t). Or on se doute bien que les manoeuvres qui maximisent seront les manoeuvres qui auront des controles maximaux. On recherche donc des manoeuvres constantes par morceaux. On peut de plus espérer un relatif découplage des variables de contrôle afin de leur donner successivement des valeurs nulles ou limites. C est exactement un tel découplage que l algorithme que j ai implémenté effectue.. On calcule d abord la partie variation de vitesse de la manoeuvre, telle qu à l instant t on obtienne la vitesse finale. On essaiera d avoir toujours la plus grande vitesse possible car dans ce modèle envisagé, plus on va vite, plus on tourne vite.. Une fois que l on aura calculé la partie variation de vitesse de la manoeuvre, on calculera la partie controle du guidon. Selon la durée pendant laquelle on applique un controle du guidon maximal (tout en prenant garde à ramener avant t les roues dans l axe), l angle de déviation de trajectoire sera plus ou moins grand. Si on veut effectuer la plus grande variation de trajectoire possible, on effectuera un controle maximal sur le guidon pendant le plus longtemps possible, puis en remettant les roues droites le plus tard possible). On a donc une fonction qui permet de calculer la déviation de trajectoire maximale pour un laps de temps de manoeuvre donné. On calculera donc la préimage (ou une approximation de celle-ci) de la déviation désirée, on obtient une durée qui détermine entièrement la manoeuvre optimale de cette durée. 4
Fig.4 : Représentation d une manoeuvre optimale pour une durée donnée t. On applique des controles maximaux. Attention sont représentées les grandeurs dont dérivent les controles. Les controles donnés sont la pente des grandeurs représentées La partie de rattrapage est donc entièrement calculée, la deuxième partie de la manoeuvre étant juste une translation rectiligne uniforme, on a donc une méthode pour calculer l intégralité de la manoeuvre. 2.2 Quelques résultats Une fois ces manoeuvres calculées, reste à s en servir pour calculer les états des collision inévitable. Pour chacune des manoeuvres φ calculées, et pour chaque obstacle B, on calcule ICO(B,φ). J ai choisi une implémentation discrète pour stocker ce résultat, j ai donc projeté les ICO(B,φ) dans des bitmaps. Cela reste cohérent avec la façon dont j ai calculé les manoeuvres, à savoir comme des préimages d une fonction. Cette démarche d approximation dans l implémentation de l algorithme assure un grande rapidité, mais aussi quelque chose de relativement cohérent avec la réalité, où l on peut dans le cas d un système robotique, discrétiser le temps et l espace pour le système étudié. Une fois qu on a les bitmap des ICO(B,φ), pour calculer les états de collision inévitable, il reste à calculer ICO(B,φ). φ B Ci-après quelques résultats de mon implémentation de calcul des états de collision inévitables. À cause de la malédiction de la dimensionalité, on calcule juste des tranches à θ, ξ, v constants de l espace des états du système robotique. On étudie la tranche à v =8m/s, θ =0(vers le bas) et ξ =0. 5
Fig.5 : Représentation des ICO(B,φ) de la couleur de B. Fig.6 : Les états de collision inévitable. 6
3 Perspectives Si cet algorithme ne considère pas toujours assez de manoeuvres possibles pour calculer finement les états de collision inévitables, et si quelques fois apparaissent quelques parasites, il a toutefois la grande force de présenter une surapproximation des états de collision inévitable. On a donc vraiment un outil prêt pour un quelconque algorithme de planification du mouvement. Cependant la notion d état de collision inévitable telle qu elle a été définie a un gros inconvénient : elle ne marche que dans le cas d un environnement dont le futur est connu. En effet, le fait que la notion d état de collision inévitable s affranchisse totalement de tout horizon temporel doit bien se payer quelque part. Enfin pour en revenir à l algorithme que j ai implémenté, je pense qu il est possible de l améliorer en calculant ces manoeuvres d imitation/évitement dans le cas d un mouvement quelconque des obstacles, soit d une façon analytique optimale comme ce que j ai fait, ce qui rend difficilement généralisables les résultats obtenus, soit d une manière beaucoup plus générale, en calculant au pas à pas une correction de trajectoire. Cette deuxième méthode permettrait en plus de s affranchir davantage de cette connaissance du futur (puisque le début de la manoeuvre dépendrait seulement du début de la trajectoire future de l obstacle). Bibliographie A Short Paper about Motion Safety, Fraichard, 2007 Inevitable Collision States A Step Towards Safer Robots?, Fraichard & Asama, 2004 An inevitable Collision State-Checker for a Car-Like Vehicle, Fraichard & Parthasarathi Greedy but Safe Replanning under Kinodynamic Constraints, Bekris & Kavraki Comparing forward and backward reachability as tool for safety analysis, Mitchell A time dependant Hamilton-Jacobi formulation of reachable sets for continuous dynamic games, Mitchell, Bayen Tomlin 7