Les états de collision inévitables, un outil pour la sûreté - e

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 envi-
ronnement 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 colli-
sion 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
t0permettent 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 t0jusqu’à un instant tfdéterminent la configuration du système
de t0àtf.
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 Aun système robotique. Sa dynamique est décrite par le système différentiel suivant :
˙s=f(s, u)s∈Sest l’état de A,˙ssa dérivée temporelle et u∈Uun contrôle. Set Usont
respectivement l’espace des états et l’espace des contrôles du système A. Soit φΦune ma-
noeuvre, une sucession de controles. φreprésente une trajectoire de A. Partant d’un état initial s0
(à l’instant 0) et sous l’effet de la maneuvre φ, l’état de Aà l’instant test noté φ(s0,t).
On définit l’ensemble des états de collision inévitable avec un obstacle ICO(B)comme
l’ensemble des états stels que il existe un instant t,φ(s, t)est un état de collisison avec B.EtICO
admet la propriété suivante :
ICO(iBi)=
i
ICO(Bi)
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)=
Φ
i
ICO(Bi)
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 ycroissants. 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 desespaces 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 ro-
botique é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 ma-
neuvres 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 per-
met 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 Bi,φiminimise ICO(Bi
i).
Ces manoeuvres sont en fait des manoeuvres d’imitation de trajectoire. En effet si la trajec-
toire 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 colli-
sion à 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 : Aimite la trajectoire de B:Apeut imiter immédiatement la trajectoire de B(à gauche) ; Adoit
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ù Ava chercher à atteindre une vitesse nulle par
rapport à B
une deuxième phase pendant laquelle Ase 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ùxet yreprésentent les coordonnées de la roue arrière, θl’orientation du système,
vla vitesse de la roue avant et ξl’angle de braquage de la roue avant. Un contrôle est défini par
(uv,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 :
˙x=vcos θcos ξ
˙y=vsin θcos ξ
˙
θ=vsin ξ/L
˙v=uv
˙
ξ=uξ
Fig.3 : Le système de type voiture A
3
Avec les contraintes suivantes :
ξ[ξmax;ξmax]ξmax est l’angle de braquage maximal
uvet uξsont eux aussi bornés par aet b
v[0,v
max]vmax 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 rattra-
page 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 à calculerune 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 prendreon 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 tqui
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)=vf
t=0}
C’est la déviation maximale que l’on puisse espérer pour une manoeuvre de durée tet telle
que l’on atteigne vfet ξ=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 successive-
ment 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 ton
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 tles 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évi-
table. 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
φ
B
ICO(B).
Ci-après quelques résultats de mon implémentation de calcul des états de collision inévi-
tables. À 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
1 / 7 100%

Les états de collision inévitables, un outil pour la sûreté - e

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !