Brevet FR2883649A1 — publié le 20060929

La présente invention se rapporte à un procédé de guidage d'un robot, et à un robot apte à être guidé par ce procédé. On connaît de la technique antérieure divers procédés pour guider les robots, et notamment les procédés dans lesquels, préalablement à une mission du robot, on installe des balises sur le terrain où doit évoluer ce robot, et on utilise ensuite ces balises pour localiser et guider le robot. Un tel procédé est connu notamment du document EP 1 217 487, qui enseigne un procédé de guidage d'un robot tel qu'une tondeuse à gazon sur un terrain de grande dimension tel qu'un terrain de golf. Dans le procédé selon ce document antérieur, il est nécessaire, au préalable, d'équiper le terrain d'une série de balises; à partir de la connaissance de la position de ces balises, on peut ensuite étalonner des moyens de guidage du robot afin de le guider correctement, c'est-à-dire en respectant les contraintes du terrain (obstacles, plans d'eau, etc.). Comme on peut le comprendre, un tel procédé suppose donc que le robot évolue sur un terrain ayant subi un balisage réalisé avant que le robot n'entre en action. La présente invention a pour but de s'affranchir de cette contrainte. On atteint ce but de l'invention avec un procédé comprenant les étapes consistant à : - a) poser dans ladite zone de travail une première balise par rapport à laquelle ledit robot peut se repérer, - b) faire avancer ledit robot dans ladite zone de travail à partir de ladite première balise, -c) lorsque ledit robot atteint une région de ladite zone de travail où il est susceptible de perdre la visibilité de ladite première balise, lui faire déposer dans cette région une deuxième balise par rapport à laquelle il peut également se repérer, -d) déterminer et mémoriser la position de ladite deuxième balise par rapport à ladite première balise, -e) faire avancer ledit robot dans ladite zone de travail à partir de ladite deuxième balise, et à -f) utiliser ensuite la position mémorisée à l'étape d) pour déduire, de la position dudit robot par rapport à ladite deuxième balise, sa position par rapport à ladite première balise. Grâce à ces caractéristiques, le procédé de guidage selon l'invention est extrêmement avantageux étant donné qu'il ne nécessite aucun balisage préalable à l'arrivée du robot dans la zone de travail. Ce balisage est effectué par le robot lui-même, soit de manière autonome à partir de consignes de mouvement prédéterminées, soit sous la commande d'un opérateur distant. En d'autres termes, le robot instrumente lui-même son environnement, et la première activité du robot au cours de ses déplacements est de fabriquer le système de référence qui va lui permettre d'étalonner lui- même sa zone de travail, puis de se localiser dans cette zone. Suivant d'autres caractéristiques optionnelles du procédé selon l'invention: - on prévoit au moins autant de balises qu'il est nécessaire pour couvrir l'intégralité de ladite zone de travail, et on reproduit les étapes c) à e) autant de fois qu'il est nécessaire pour permettre audit robot de se repérer dans l'intégralité de ladite zone de travail, - on utilise seulement deux balises, et on impose audit robot de revenir chercher la balise précédente chaque fois qu'il a déposé la balise subséquente, - on fait déposer ladite première balise par ledit robot, on laisse ledit robot déterminer lui-même les positions de dépôt de nouvelles balises, en fonction de la visibilité de balises déjà posées, on impose audit robot les positions de dépôt de nouvelles balises, - on fournit audit robot des consignes de déplacement entre les points de dépôt desdites balises, - on détermine la position dudit robot par rapport auxdites balises à partir de la connaissance du cap de ce robot, de son angle de visée de ces balises, et de sa distance par rapport à ces balises, - on détermine la position d'une balise subséquente par rapport à une balise précédente à partir d'une part de la position dudit robot par rapport à ladite balise précédente, et d'autre part du cap dudit robot, au moment où ce robot dépose ladite balise subséquente, - on utilise le balisage effectué par ledit robot pour guider d'autres robots. La présente invention se rapporte également à un dispositif pour la mise en oeuvre d'un procédé conforme à ce qui précède, comprenant au moins deux balises, et un robot comprenant: -a) des moyens pour faire avancer ledit robot selon des consignes de mouvement, -b) des moyens pour transporter et déposer lesdites balises dans ladite zone de travail, -c) des moyens pour se repérer par rapport auxdites balises, -d) des moyens pour déterminer et mémoriser les positions relatives de ces balises, et - e) des moyens pour calculer sa posiition par rapport à ladite première balise. Suivant d'autres caractéristiques optionnelles de ce dispositif: - lesdites balises sont passives, - lesdites balises sont du type à réflecteur, lesdites balises sont actives, - lesdites balises sont du type trois points, - les moyens c) pour repérer ledit robot par rapport auxdites balises comprennent des moyens de mesure du cap dudit robot, des moyens de mesure de l'angle de visée desdites balises, et des moyens de mesure de la distance dudit robot par rapport auxdites balises, - lesdits moyens d) pour déterminer les positions relatives desdites balises comprennent des moyens de mesure du cap dudit robot, - lesdits moyens b) de transport et de dépose de balises sont du type à barillet. D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description qui va suivre et à l'examen des figures annexées, dans lesquelles: - la figure 1A représente une vue schématique d'un robot adapté pour mettre en oeuvre le procédé selon l'invention, - la figure 1B est analogue à la figure 1A, et concerne une variante du robot représenté à la figure 1A, - la figure 2 est un schéma illustrant la manière dont on détermine la position du robot par rapport à un référentiel de référence, - la figure 3 est un schéma illustrant la manière dont on détermine les positions relatives de balises, - la figure 4 est un schéma illustrant la manière dont le robot selon l'invention peut se déplacer dans une zone de travail, et - la figure 5 est un schéma illustrant la mise en oeuvre d'un autre type de balises. On se reporte à présent à la figure 1A, sur laquelle on voit que, selon un mode de réalisation possible, le robot 1 permettant de mettre en oeuvre le procédé selon l'invention comprend un châssis 3 monté par exemple sur des roues 4 dont certaines au moins sont motrices et directrices. Un barillet 5a ou autre dispositif analogue est relié au châssis 3 de manière à pouvoir transporter et déposer des balises Bn. Sur le châssis 3 est montée une tourelle 7 montée rotative autour d'un axe sensiblement vertical Z, supportant elle-même un bloc 9 comportant un système 11 de visée de balises, et un système 13 de mesure de distance de balises. Lorsque les balises sont passives et du type à cible réfléchissante, le système 11 de visée peut comprendre, typiquement, une caméra 11 a (éventuellement à infra-rouge) et un pointeur laser 11 b (ou tout autre illuminateur). Le système 13 de mesure de distance peut comprendre un télémètre laser, un sonar ou tout autre moyen équivalent. Le bloc 9 est monté rotatif autour d'un axe sensiblement horizontal X par rapport à la tourelle 7. L'ensemble des moyens qui viennent d'être décrits sont actionnés par des moteurs électriques eux-mêmes commandés par un superviseur électronique 15, comme cela est classique dans le domaine technique des robots. Ce superviseur électronique peut comprendre des mémoires dont certaines sont utilisées pour enregistrer des informations, et notamment des positions relatives de balises (voir ci-après), et dont d'autres peuvent être utilisées pour recevoir des programmes de fonctionnement, et notamment des consignes de mouvement (voir ci-après). En variante, le superviseur 15 peut également être interfacé avec des moyens de communication permettant à un opérateur d'envoyer au robot 1 des instructions spécifiques pendant sont fonctionnement: par exemple, un ordre de dépôt d'une balise à un endroit prédéterminé. On peut aussi envisager, en option, que le superviseur 15 soit interfacé avec des capteurs tels que des détecteurs d'obstacles, des appareils de mesure de l'inclinaison du sol, etc. De préférence, le robot 1 est également équipé de moyens 17 connus en soi permettant de connaître à chaque instant son cap, tels que des moyens gyroscopiques ou des moyens de boussole électronique. Ces moyens sont également interfacés avec le superviseur 15. Dans la variante représentée à la figure 1B, le robot 1 comprend, à la place du barillet 5a, un bras manipulateur 5b permettant de transporter, de déposer et de récupérer des balises dans une zone de travail. Bien entendu, dans ce cas, le robot 1 comprend également des moyens (non représentés) permettant de stocker des balises. On va à présent décrire la manière dont le robot 1 va procéder pour pouvoir se repérer dans une zone dite de travail , c'est-à-dire une zone où il doit remplir une certaine mission. A titre d'exemple, une telle mission peut consister à surveiller un local industriel au moyen d'une caméra vidéo, ou bien à prélever des cotes sur un terrain extérieur en vue d'établir une cartographie, etc. On notera que la zone de travail n'est pas nécessairement terrestre, et que les enseignements de la présente invention peuvent notamment être appliqués au domaine spatial. On se reporte à la figure 2, sur laquelle on a représenté le robot 1 vu de dessus lorsqu'il se déplace dans une zone de travail T où se trouvent déjà deux balises B1 et B2. La pointe 1 a du robot 1 représente l'orientation de son châssis, c'est-àdire en fait le cap suivi par le robot et le sens dans lequel il se déplace. On supposera, pour les explications qui suivent, que l'extrémité de la pointe 1 a désigne l'emplacement du barillet 5a ou du bras 5b par rapport au châssis 3. Le référentiel X1, Y1 a pour origine une balise de référence ou première balise B1, qui se trouve à l'endroit d'où part le robot 1. L'orientation de l'axe X1 correspond à l'angle 0 tel qu'il est fourni par les moyens d'indication de cap 17 du robot 1 lorsqu'il se trouve à l'emplacement de la première balise B1, et l'axe Y1 est déterminé comme étant perpendiculaire à l'axe X1. A partir de la balise B1, le robot 1 se déplace selon certaines consignes de mouvement imposées par le superviseur 15. La position XR(B1), YR(B1) du robot 1 dans le référentiel X1, Y1 est connue à chaque instant: si, par exemple, le robot 1 suit un cap fixe à partir de la balise B1, comme cela est représenté sur la figure 2, cette position est donnée par: XR(B1) = dB1. cosC, YR(B1) = dB1. sinC, où dBl est la distance du robot 1 par rapport à la balise B1 (distance fournie par le système 13 de mesure de distance), et C est le cap suivi par le robot. La balise B2 est placée de manière à pouvoir être vue par le robot 1 lorsque la visibilité de la balise B1 commence à être mauvaise. Lorsque le robot 1 arrive dans le champ de la balise B2, il n'est plus possible de déterminer directement sa position dans le référentiel X1, Y1. On commence donc par déterminer sa position XR(B2), YR(B2) dans le référentiel X2, Y2, dont l'origine est formée par la balise B2 et dont les axes X2, Y2 sont respectivement parallèles aux axes X1, Y1. En examinant la figure 2, on voit que les coordonnées XR(B2), YR(B2) peuvent être calculées au moyen des deux formules suivantes: XR(B2) = dB2. cos(180 - C - V), (1) YR(B2) = dB2. sin(180 - C - V), (2) où dB2 est la distance du robot 1 par rapport à la balise B2, C est le cap suivi 20 par le robot et V est l'angle de visée de la balise B2 par le système 11 (voir figure 1), C et V étant exprimés en degrés centigrades. Ensuite, pour déterminer la position XR(B1), YR(B1) du robot 1 dans le référentiel X1, Y1, on utilise de simples formules de translation: XR(B1) = XR(B2) + XB2, (3) YR(B1) = YR(B2) + YB2, (4) où XB2, YB2 sont les coordonnées de la balise B2 dans le référentiel X1, Y1. Nous allons maintenant préciser comment on détermine ces coordonnées. En fait, alors que la balise B1 peut avoir été déposée manuellement par un opérateur à un emplacement déterminé de la zone de travail T, la balise B2 et les balises suivantes (non représentées) sont déposées par le robot 1 lui-même, au moyen du barillet 5a représenté sur la figure 1A ou du bras 5b représenté sur la figure I B. En se reportant à la figure 3, on voit que la position XBn+1(Bn), YBn+l(Bn) d'une balise Bn+1 dans le référentiel Xn, Yn d'une balise Bn peut être calculée de la manière suivante: XBn+1(Bn) = XRdép(Bn) * d x cosC, (5) YBn+1(Bn = YRdép(Bn) + d x sinC, (6) où XRdép(Bn), YRdép(Bn) désignent les coordonnées du robot 1 dans le référentiel Xn, Yn au moment où il dépose la balise Bn+1 et d désigne la distance, fixe par construction, séparant le système de mesure de distance 13 du point où les balises sont déposées (voir figures 1A et 1 B). On peut ensuite ramener les coordonnées XBn+1(Bn), YBn+1(Bn) au référentiel de référence X1, Y1 par translations successives dans les référentiels Xn-1, Yn-1, Xn-2, Yn-2, etc., selon les principes indiqués plus haut. Comme on peut donc le comprendre, chaque fois que le robot 1 dépose une balise Bn dans la zone de travail T, le superviseur 15 peut calculer la position de cette balise dans le référentiel de référence X1, Y1, et mémoriser cette position. Ensuite, en repérant la position XR(E3n), YR(Bn) du robot 1 dans le référentiel Xn, Yn d'une balise Bn dont on connaît la position dans le référentiel X1, Y1, on peut, en appliquant des formules analogues aux formules (1) et (2) ci-dessus, calculer la position XR(B1), YR(B1) de ce robot dans le référentiel X1, Y1. Comme on peut donc le comprendre à présent, le robot 1 va, dans un premier temps, se déplacer dans la zone de travail T selon des consignes de mouvement imposées par le superviseur 15, déposer lui-même des balises dans cette zone de travail, et mémoriser les positions de ces balises. Les positions du robot et des balises sont toutes ramenées au référentiel commun X1, Y1, ce qui permet donc de repérer très facilement la position du robot dans la zone de travail. Une fois que le balisage de la zone de travail T a été effectué par le robot 1 et 25 que les positions des balises ont été mémorisées par ce robot, il peut remplir sa mission dans cette zone de travail. Pour cela, il se repère (à partir de son cap, de l'angle de visée et de la distance) par rapport à chacune de ces balises au fur et à mesure qu'il progresse dans cette zone de travail et donc que certaines balises vont disparaître de son champ de vision tandis que d'autres balises vont se présenter dans ce champ. On a représenté sur la figure 4 un exemple de déplacement du robot 1 pendant la phase de balisage d'une zone de travail T ayant sensiblement la forme d'un couloir en U. On suppose que l'on a programrné dans la mémoire du robot 1 des consignes de mouvement lui ordonnant de tourner à droite quand ses capteurs lui indiquent qu'il n'y a plus d'obstacle à droite. Le robot 1 part donc du point P1 où se trouve la balise B1, et se déplace en ligne droite dans le couloir Cl, aidé par ses capteurs qui lui permettent de maintenir sa trajectoire à distance des deux murs formant le couloir Cl. Lorsqu'il arrive au point P2, situé à l'angle des couloirs Cl et C2, le robot 1 sait, par ses capteurs, qu'il n'y a plus d'obstacle à droite et donc qu'il va pouvoir tourner dans le couloir C2. Toutefois, le robot 1 sait aussi que ce faisant, il va sortir du champ de visibilité de la balise B1. II dépose donc une balise B2 qui, tout en étant située dans le champ de visibilité de la balise B1, pourra être vue par le robot lorsqu'il se déplacera dans le couloir C2. De même, le robot 1 déposera une balise B3 lorsqu'il arrivera au point P3, situé à l'angle des couloirs C2 et C3. Une fois qu'il aura déposé les balises B1 à B3 dans les couloirs Cl à C3 et mémorisé les positions de ces balises dans le référentiel X1, Y1 de la première balise B1, le robot 1 pourra se déplacer aisément dans ces couloirs en se repérant par rapport à ces balises. On remarquera que le balisage effectué par le robot 1 pourrait aussi être utilisé par un autre robot, ou même par une pluralité d'autres robots, prévus pour accomplir dans la zone de travail T des missions identiques, analogues ou différentes de celle du robot 1. Dans une variante du procédé selon l'invention, nécessitant la mise en oeuvre d'un robot conforme à la figure 1A, on peut envisager de n'utiliser que deux balises. Dans ce cas, après avoir déposé la deuxième balise B2 et mémorisé sa position, le robot 1 vient rechercher la première balise B1 en se repérant par rapport à la deuxième balise B2, et va positionner cette balise B1 en tant que troisième balise. Le robot 1 vient ensuite rechercher la deuxième balise B2 en se repérant par rapport à la troisième balise, et va positionner cette balise B2 en tant que quatrième balise, et ainsi de suite. Bien qu'elle présente l'avantage de ne nécessiter que deux balises, cette variante présente l'inconvénient de ne permettre de baliser qu'une petite partie de la zone de travail à un moment donné. Une telle variante n'est donc intéressante que si le robot travaille seul et longuement dans cette petite partie de la zone de travail. Dans encore une autre variante du procédé selon l'invention, on peut aussi envisager qu'au lieu que le robot décide lui-même des endroits où il doit déposer les balises, ce soit un opérateur distant qui déclenche les dépôts de balises par le robot. Dans une variante du dispositif selon l'invention, on peut utiliser, en lieu et place de balises du type à cible réfléchissante, des balises du type trois points , connues en soi. De telles balises B1, B2 sont représentées à la figure 5. Ces balises comprennent chacune trois points a, b, c disposés selon une géométrie connue. Ainsi, en mesurant les angles sous lesquels le robot voit chacun de ces trois points, on peut déterminer la position du robot par une simple triangulation. II n'est dans ce cas plus nécessaire de prévoir de moyens de mesure de distance par rapport à la balise, ni même de moyens de mesure de cap. Dans le cas d'une balise trois points active, les trois points a, b, c peuvent émettre un signal par exemple du type à infra-rouge. Dans ce cas, les moyens de mesure d'angle de visée peuvent comprendre une simple caméra à infra-rouge. Dans le cas d'une balise trois points passive, les trois points a, b, c peuvent consister en simples cibles réfléchissantes, auquel cas il faut alors prévoir sur le robot un système de mesure d'angle de visée du type à pointeur lumineux (voir ci-avant). On notera toutefois que les balises du type trois points présentent l'inconvénient de nécessiter un positionnement angulaire très précis par rapport à un référentiel de référence X1, Y1. Comme on peut à présent le comprendre à la lumière de ce qui précède, le procédé de guidage selon l'invention est extrêmement avantageux étant donné qu'il ne nécessite aucun balisage préalable à l'arrivée du robot dans la zone de travail. Ce balisage est effectué par le robot lui-même, soit de manière autonome à partir de consignes de mouvement prédéterminées, soit sous la commande d'un opérateur distant. En d'autres termes, le robot instrumente lui-même son environnement, et la première activité du robot au cours de ses déplacements est de fabriquer le système de référence qui va lui permettre d'étalonner lui- même sa zone de travail, puis de se localiser dans cette zone. On peut ainsi faire évoluer le robot dans une zone de travail: -inconnue non pénétrable (pas de plan a priori, zone non instrumentée) en mode autonome ou télécommandé, - peu connue non pénétrable (existence d'un plan grossier a priori, zone non instrumentée), ou bien encore - peu connue pénétrable (existence d'un plan grossier a priori, zone instrumentable). Bien entendu, la présente invention n'est pas limitée aux modes de réalisation décrits et représentés, fournis à titre d'exemples illustratifs et non limitatifs. REVENDICATIONS 1. Procédé pour guider un robot (1) dans une zone de travail (T), comprenant les étapes consistant à : - a) poser dans ladite zone de travail (T) une première balise (B1) par rapport 5 à laquelle ledit robot (1) peut se repérer, -b) faire avancer ledit robot (1) dans ladite zone de travail (T) à partir de ladite première balise (B1), - c) lorsque ledit robot (1) atteint une région de ladite zone de travail (T) où il est susceptible de perdre la visibilité de ladite première balise (B1), lui faire déposer 10 dans cette région une deuxième balise (B2) par rapport à laquelle il peut également se repérer, - d) déterminer et mémoriser la position de ladite deuxième balise (B2) par rapport à ladite première balise (B1), -e) faire avancer ledit robot dans ladite zone de travail (T) à partir de ladite 15 deuxième balise (B2), et à -f) utiliser ensuite la position mémorisée à l'étape d) pour déduire, de la position dudit robot (1) par rapport à ladite deuxième balise (B2), sa position par rapport à ladite première balise (B1). 2. Procédé selon la revendication 1, dans lequel on prévoit au moins autant de balises (B1....Bn) qu'il est nécessaire pour couvrir l'intégralité de ladite zone de travail (T), et on reproduit les étapes c) à e) autant de fois qu'il est nécessaire pour permettre audit robot (1) de se repérer dans l'intégralité de ladite zone de travail (T). 3. Procédé selon la revendication 1, dans lequel on utilise seulement deux balises (B1, B2), et on impose audit robot (1) de revenir chercher la balise précédente chaque fois qu'il a déposé la balise subséquente. 4. Procédé selon l'une quelconque des revendications précédentes, dans lequel on fait déposer ladite première balise (B1) par ledit robot (1). 5. Procédé selon l'une quelconque des revendications précédentes, dans lequel on laisse ledit robot (1) déterminer lui-même les positions de dépôt de 30 nouvelles balises, en fonction de la visibilité de balises déjà posées. 6. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel on impose audit robot (1) les positions de dépôt de nouvelles balises. 7. Procédé selon l'une quelconque des revendications précédentes, dans lequel on fournit audit robot (1) des consignes de déplacement entre les points de 35 dépôt desdites balises (B1 Bn). 8. Procédé selon l'une quelconque des revendications précédentes, dans lequel on détermine la position dudit robot (1) par rapport auxdites balises (B1 Bn) à partir de la connaissance du cap (C) de ce robot (1), de son angle de visée (V) de ces balises (B1 Bn), et de sa distance (dB1 dBn) par rapport à ces balises. 9. Procédé selon l'une quelconque des revendications précédentes, dans lequel on détermine la position d'une balise subséquente (Bn+1) par rapport à une balise précédente (Bn) à partir d'une part de la position dudit robot (1) par rapport à ladite balise précédente (Bn), et d'autre part du cap (C) dudit robot (1), au moment où ce robot (1) dépose ladite balise subséquente (Bn+1). 10. Procédé selon l'une quelconque des revendications précédentes, dans lequel on utilise le balisage effectué par ledit robot (1) pour guider d'autres robots. 11. Dispositif pour la mise en oeuvre d'un procédé conforme à l'une quelconque des revendications précédentes, comprenant au moins deux balises (BI....Bn), et un robot (1) comprenant: -a) des moyens (15) pour faire avancer ledit robot (1) selon des consignes de mouvement, -b) des moyens (5a, 5b) pour transporter et déposer lesdites balises (Bn) dans ladite zone de travail (T), - c) des moyens (11, 13, 17) pour se repérer par rapport auxdites balises, 20 -d) des moyens (15) pour déterminer et mémoriser les positions relatives de ces balises (B1 Bn), et - e) des moyens (15) pour calculer sa position par rapport à ladite première balise. 12. Dispositif selon la revendication 11, dans lequel lesdites balises 25 (B1 Bn) sont passives. 13. Dispositif selon la revendication 12, dans lequel lesdites balises (B1 Bn) sont du type à réflecteur. 14. Dispositif selon la revendication 11, dans lequel lesdites balises (B1 Bn) sont actives. 15. Dispositif selon la revendication 14, dans lequel lesdites balises (B1 Bn) sont du type trois points. 16. Dispositif selon l'une quelconque des revendications 11 à 14 pour la mise en oeuvre d'un procédé conforme à la revendication 8, dans lequel les moyens c) pour repérer ledit robot (1) par rapport auxdites balises (B1 Bn) comprennent des 3 moyens (17) de mesure du cap dudit robot, ides moyens (11) de mesure de l'angle de visée desdites balises, et des moyens (13) de mesure de la distance dudit robot (1) par rapport auxdites balises (B1 Bn). 17. Dispositif selon l'une quelconque des revendications 11 à 15 pour la mise en oeuvre d'un procédé conforme à la revendication 9, dans lequel lesdits moyens d) pour déterminer les positions relatives desdites balises comprennent des moyens de mesure du cap dudit robot. 18. Dispositif selon l'une quelconque des revendications 11 à 17, dans lequel lesdits moyens b) de transport et de dépose de balises sont du type à barillet (5a).