Brevet FR2648934A1 — publié le 19901228

La présente invention porte sur un procédé de planification de trajets pour des robots mobiles tels aue véhicules transporteurs autonomes, et plus particulièrement sur un procédé de planification de trajets courbes pour des robots mobiles. Les véhicules transporteurs non habités sont classés en véhicules d'un système à lignes de guidage qui suivent des trajets définis par des rubans magnétiques ou des lignes de guidage et corrigent l'erreur de position par rapport aux trajets par un capteur de guidage fixe à la base du corps, et véhicules de système autonome appelés véhicules autonomes. Le véhicule autonome est pourvu par exemple d'un système de commandement et d'un système de positionnement. Le système de commandement donne prériodiquement des ordres au système de positionnement par des moyens de communication pour la spécification de trajets. le système de commandement d'un tel véhicule autonome divise les trajets en segments, divise chaque segment en un certain nombre de points, détermine une posture de référence à chaque point, et commande le véhicule autonome par commande à réaction avec référence à une vitesse prescrite et une vitesse angulaire produites sur la base des coordonnées des points et de postures de référence du véhicule autonome aux dits points. Les procédes classiques de planification de trajets pour un tel système de véhicule autonome définissent un segment courbe, dans la plupart des cas, par un arc de cercle ou une combinaison d'arcs de cercle. Cependant, comme la courbure d'arc de cercle à tout point, y compris ses extrémités opposées, n'est pas nulle, la courbure change de manière discontinue a la jonction de deux arcs de cercle ou la jonction d'un arc de cercle et d'un segment rectiligne, même si les deux arc de cercle, ou l'arc de cercle et le -2 - segment rectiligne, se joignent avec continuité de direction tangente. Par conséquent, si le déplacement d'un véhicule autonome classique le long de trajets rectilignes ne pose pas de problème, il peut arriver que le véhicule autonome s'écarte d'un trajet correct pour aller trop loin de deux segments de trajet, car il est impossible de faire suivre au véhicule autonome une variation instantanée et discontinue dt courbure. Par conséquent, un des buts de la présente invention est de fournir un procédé de planfication de trajets pour des robots mobiles permettant de planifier des trajets courbes plus réguliers que ceux planifiés par les procédes classiques et permettant aux robots mobiles de passer uniment d'un segment de trajet a un autre. Pour atteindre ce but, la présente invention prévoit un procédé de planification de trajets qui définit un trajet courbe pour un robot mobile par une ou deux spirales cubiques ayant chacune une courbure exprimée par une fonction quadratique de la longueur le long du trajet av- e une courbure nulle à ses extrémités opposées. Ainsi, le procéde de planification de trajets de la présente invention engendre un trajet pour un robot mobile en mettant bout à bout des spirales cubiques de façon que les directions tangentes respectives des spirales cubiques contiguës, a leur jonction, soient identiques. Le traj,- est conçu de façon que la courbure à chaque jonction soit nulle et que l'intégrale du carré de la dérivée de la courbure entre les extrémités opposées du segment de trajet soit minimale. Comme la dérivée de l'accélération du robot mobile est proportionnelle à la dérivée de la courbure du trajet, le robot mobile peut se déplacer de manière très -3 égale lorsque l'intégrale du carre de la dérivée de la fonction courbure est minimale. Les buts, caractéristiques et avantages ci-dessus ainsi que d'autres de la présent einvnetion apparaîtront mieux à la lecture de la description suivante illustrée par les dessins d'accompagnement, sur lesquels: la figure 1 est un graphique aidant à expliquer un principe de planification de trajets sur lequel est basée la présent invention, la figure 2 est un graphique montrant la variation de la courbure d'une spirale cubique avec la longueur, la figure 3 montre une spirale cubique, la figure 4 montre des spirales cubiques, La figure 5 est un organigramme d'un procédé de planification de trajets selon la présente invention, les figures 6 à 8 montrent des exemples de spirales cubiques, et la figure 9 montre un trajet engendré par le procédé de planification de trajets de la présente invention. D'abord sera décrite la génération d'un trajet au moyen d'une seule spirale cubique. Sur la figure 1, un robot mobile autonome M est dans une posture P1 en un point représenté par des coordonnées (xl, -4- Y,) dans un système de coordonnées cartésiennes et dans une posture P2 en un point représenté par des coordonnées (x2, y2). Les postures en ces points sont exprimés par Pl(xl, Yl, 01) et P2(x2, Y2, 82), el et 62 indiquant des directions représentees par des angles mesurés en sens inverse des aiguilles d'une montre A partir de l'axe X. les postures P1 et P2 satisfaisant aux expressions suivantes sont dites symétriques. (x1, Y1 k (X2, Y2 tan- ((Y1 - Y2)/(x1 - x2)) = (e1 - e2)/2 (1) Les inventeurs prennent l'intégrale du carré de la dérivée de la courbure comme fonction d'évaluation de la douceur de marche: coût. coût = J (k)2ds = (2) eétant la longueur du trajet courbe et s la distance. Les fonctions suivantes rendent minimale l'expression (2) 8(s) = As3/6 + Bs2/2 + Cs + D (3) 6(s) = As2/2 + Bs + C = k(s) (4) Sur la figure 2 est présentée une courbe exprimée par la fonction quadratique k(s), et sur la figure 3 est représentee la forme générale d'une fonction cubique e(s). La partie de la courbe exprimée par la fonction cubique 6(s) entre les points P1 et P2 est appelée spirale cubique. Supposons que la longueur de cette spirale cubique est, et le domaine de distance s est exprimé par -212 s s 2/2 (5) -5- et la différence angulaire", c'est-a-dire le changement de direction entre la posture P1 et la posture P2, est exprimée par = e2 - a1 (6) La fonction courbure k(s) est alors exprimée par O(s) = k(s) = 6qC( 2/4 - s2)/3 (7) Par conséquent, la longueur est nécessaire pour déterminer la spirale cubique. La distance D(o) entre les extrémités opposées de la spirale cubique de longueur unité "1" est évaluée pour diverses différences angulaires P dans le domaine de O degré à 270 degrés, et une table contenant les résultats de l'évaluation est préalablement emmagasinée dans une mémoire. D(o^) =j icos{&(2/3 - 2s2)s> ds (8) Les valeurs de D(") pour par exemple '≤ 0, 90: et 180 sont: D(0) = 1,0 D(90') = 0,858 D(180') = 0,4861 La figure 4 montre des spirales cubiques correspondant à différentes différences angulaires O. Un processus représenté sur la figure 5 est alors exécute. D'abord, la différence angulaire(, c'est-a-dire le changement de direction de marche du robot mobile M, est calculée au moyen de l'expression (6). La distance scalaire d entre les postures P1 et P2 est obtenue au moyen de l'expression -6 - d = t(x2 - xl) + (Y2 -Y) (9) Ensuite, D U) est recherche dans la table mise en mémoire. La longueur 1 de la spirale cubique, c'est-a-dire la distance de déplacement du robot mobile M, est donnée par 4= d/D () (10) La fonction courbure k(s) est déterminée au moyen de l'expression (7). La direction tangente e(s) et les points x(s), y(s) sont déterminés au moyen de la fonction courbure k(s) et des expressions: O(s) = 01 + Ak(s)ds = 01 +6 3 (12S/4 - s2/3 + ?3/12) (11) ns. (l x(s) = Xi +Jcos e(S)ds y(s) = Y1 +isin O(s)ds (12) X Ainsi, l'opération de détermination de la courbure k.est exécutée une fois pour chaque spirale cubique et l'opération utilisant les expressions (11) et (12) est répétée périodiquement. Quand les postures Pl(xl, Y1, 81) et P2(x2, Y2, 82) sont asymétriques et ne satisfont pas à l'expression (1), un trajet est formé de deux spirales cubiques. Pour la détermination de celles-ci, une posture intermédiaire Q(x, y, 0) est choisie de façon que Pl(xl, Y1-, &l) et Q(x, y, &) soient symétriques et P2(x2, Y2, 2) et Q(x, y, e) le soient également. Comme le montre la figure 6, on dispose d'une infinité de postures intermédiaires Q. Une spirale cubique reliant les postures P1 et Q et une spirale cubique reliant les postures P2 et Q sont déterminées pour chaque posture intermédiaire Q. La somme des coûts de régularité 7 - de ces deux spirales cubiques est déterminee, puis la posture intermédiaire Q qui rend minimale la somme des coûts de régularité exprimés par l'expression (2) des deux spirales cubiques est recherchée pour la définition d'un trajet constitué des deux spirales cubiques reliant les postures P1 et P2. Ensuite, le processus représenté sur la figure 5 est exécute pour les deux spirales cubiques. Le plus bas des trajets représentés sur la figure 7 est la meilleure solution utilisant une des postures intermédiaires de la figure 6. Les autres trajets représentés sur la figure 7 sont des meilleures solutions pour des postures P2 différentes. Chacun des trajets représentés sur les figures 7 et 8 est constitué de deux spirales cubiques. La figure 9 montre un trajet global constitué de trajets locaux déterminés par le procéde de planification de trajets de la présente invention. Dans les trajets locaux représentés sur la figure 9, les postures et les courbures (nulles) aux extrémités opposées de chaque trajet local coïncident avec celles des trajets locaux voisins. La continuité de courbure d'un trajet courbe constitué de spirales cubiques établi par le procéde de planification de trajets de la présente invention, comparativement a un trajet courbe constitué d'arc de cercle, permet une marche plus régulière d'un robot mobile et améliore l'exactitude de position de celui-ci. Bien que l'invention ait été décrite, appliquée a la planification d'un trajet pour des robots mobiles, plus précisément des véhicules porteurs autonomes, la présente invention n'est pas limitée a cela dans son application, mais peut être appliquée à la planification de lignes de guidage pour des véhicules transporteurs non habités d'un système à lignes de guidage. - 8 - Il ressort de la description précédente que la courbure à variation continue des spirales cubiques constituantes des trajets courbes planifiés par le procédé de la présente invention permet au robot mobile de se mouvoir de manière égale le long du trajet courbe, et comme la variation de la courbure aux jonctions des trajets courbes et d'autres trajets est continue comparativement à celle aux jonctions de trajets formés d'arcs de cercle, le dépassement du robot mobile aux jonctions des trajets courbes et d'autres 'tajets est évité, le robot mobile peut passer uniment des trajets courbes à d'autres trajets et la capacité de commande de position du robot mobile est améliorée. Bien que l'invention ait été décrite avec une certaine minutie dans ses formes préférées, de nombreuses modifications sont évidemment possibles. On peut par conséquent mettre la présente invention en pratique autrement que de la manière décrite ici dans sortir de son cadre ni s'écarter de son esprit. -9 - Revendications 1. Procédé de planification d'un trajet de déplacement d'un robot mobile d'une première posture a une deuxième posture, comprenant la spécification du trajet par une ou deux spirales cubiques ayant chacune une courbure exprimee par une fonction quadratique de la distance mesurée le long de la courbe et une courbure nulle à chaque extrémité. 2. Procéde de planification d'un trajet de déplacement d'un robot mobile d'une première posture a une deuxième posture selon la revendication 1, dans lequel le nombre de spirales cubiques est de deux, une posture intermédiaire symétrique à la fois de la première et de la deuxième postures est déterminée, et le trajet est spécifié par une première spirale cubique reliant la première posture à la posture intermédiaire et une deuxième spirale cubique reliant la deuxième à la posture intermédiaire. 3. Procédé de planification d'un trajet de déplacement d'un robot mobile d'une première posture à une deuxième posture selon l'une des revendications 1 et 2, dans lequel le trajet est spécifié au moyen des opérations suivantes: - calcul de la différence angulaire entre les première et deuxième postures, - calcul de la distance scalaire d entre les directions des première et deuxième postures, - calcul de la longueur / d'une spirale cubique avec l'angle la base de la courbure calculée k.