FR 2936325 A1 20100326 FR 0856392 A 20080923 SYSTEME ET PROCEDE DE NAVIGATION La présente invention est relative aux systèmes et procédés de navigation pour automates. Plus particulièrement, l'invention concerne un système de navigation comprenant : un automate comprenant : un dispositif de déplacement pour déplacer ledit automate dans un environnement, au moins un détecteur de déplacement, au moins deux capteurs de balise aptes à détecter des balises à proximité dudit automate, - un contrôleur apte à mémoriser des données relatives aux positions desdites balises, à commander le dispositif de déplacement, et à déterminer une position estimée dudit automate par rapport audit environnement en fonction d'informations reçues du détecteur de déplacement, le contrôleur étant adapté pour effectuer une actualisation de la position estimée de l'automate en fonction de signaux reçus des différents capteurs de balise. Le document WO 92/08176 décrit un tel système dans lequel les capteurs de balise sont des capteurs à effet Hall. Cependant, l'utilisation des capteurs à effet Hall, dont la distance de détection est généralement faible, nécessite que les capteurs soient très proches du sol, ce qui limite l'utilisation de ce genre de système à des environnements propres ayant un sol relativement plat. En outre, ce type de système nécessite que les aimants affleurent précisément la surface du sol, ce qui complique encore et renchérit l'installation du système. De plus, les capteurs à effet Hall sont sensibles au bruit magnétique et notamment au champ magnétique terrestre, ce qui rend difficile la détermination de la position d'un objet donné avec certitude et répétabilité. La présente invention a notamment pour but de pallier ces inconvénients. A cet effet, selon l'invention, un système du genre en question est caractérisé en ce que chaque capteur de balises est un capteur à induction. 25 30 -2- Grâce à ces dispositions, les systèmes de navigation conformes à l'invention s'avèrent moins compliqués, moins onéreux, et plus précis. La meilleure sensibilité des capteurs par induction se prête à une détection à plus grande distance, tout en restant relativement insensible au bruit magnétique et 5 notamment au bruit magnétique terrestre. Tous ces avantages facilitent l'installation de tels systèmes de navigation dans des environnements plus diversifiés. Dans divers modes de réalisation du système selon l'invention, on peut éventuellement avoir recours, en outre, à l'une et/ou l'autre des dispositions 10 suivantes : - le contrôleur appartient à l'automate ; - le dispositif de déplacement est adapté pour déplacer l'automate selon une direction principale de déplacement liée audit automate, et les capteurs de balise sont alignés selon une direction transversale perpendiculaire à ladite direction 15 principale de déplacement ; le contrôleur est adapté pour effectuer une actualisation de la position estimée de l'automate par rapport à la balise par interpolation linéaire en fonction des signaux reçus desdits capteurs de balise ; chaque capteur de balises comporte une bobine ; 20 la bobine de chaque capteur de balises présente un axe central sensiblement vertical ; le système comprend en outre une pluralité de balises magnétiques disposées au sol dans l'environnement à des positions déterminées, le contrôleur ayant en mémoire des données relatives aux positions des balises ; chaque balise est un aimant polarisé sensiblement perpendiculairement par rapport au sol ; - le contrôleur est adapté pour appliquer une correction aux signaux du détecteur de déplacement en fonction de ladite actualisation de la position estimée de l'automate ; ladite correction est fonction d'une différence entre la position estimée avant actualisation et la position estimée après actualisation ; - ladite correction est une fonction affine appliquée aux signaux du détecteur de déplacement. 2936325 -3- Par ailleurs, l'invention a également pour objet un procédé de navigation pour déplacer un automate le long d'un trajet dans un environnement comprenant une pluralité de balises magnétiques disposées au sol à des positions déterminées, l'automate comportant un détecteur de déplacement et une pluralité de capteurs de balise à induction, ledit procédé comprenant les étapes suivantes : (a) une étape d'estimation de position, répétée pendant que l'automate est en cours de déplacement le long du trajet, au cours de laquelle on détermine une position estimée de l'automate par rapport à l'environnement en fonction d'informations reçues du détecteur de déplacement, (b) une étape d'actualisation au cours de laquelle on effectue une actualisation de la position estimée de l'automate en fonction des signaux reçus desdits capteurs de balise. Au cours de la mise en oeuvre de ce procédé, on peut appliquer une correction aux signaux du détecteur de déplacement en fonction de ladite actualisation de 15 position estimée effectuée lors de l'étape d'actualisation (b). D'autres caractéristiques et avantages de l'invention apparaîtront au cours de la description suivante d'un de ses modes de réalisation, donné à titre d'exemple non limitatif, en regard des dessins joints. Sur les dessins : 20 - la figure 1 est une vue schématique en perspective d'un système de navigation selon une forme de réalisation de l'invention, - la figure 2 est une vue schématique de dessus d'un automate appartenant au système de navigation de la figure 1, la figure 3 est un schéma bloc du système de navigation de la figure 1, 25 - la figure 4 est une vue schématique de dessus d'un automate selon le système de navigation de la figure 1, - la figure 5 est une vue schématique de dessus d'un automate selon le système de navigation de la figure 1, illustrant les erreurs dues aux dérives, - la figure 6 est une vue schématique illustrant le mode de le repérage de la 30 position de l'automate par rapport aux balises dans la direction transversale, dans la forme de réalisation de la figure 1. Sur les différentes figures, les mêmes références désignent des éléments identiques ou similaires. 2936325 -4- La figure 1 illustre un mode de réalisation d'un système de navigation d'un automate 1 qui se déplace dans un environnement 2 afin de suivre un trajet 3 prédéterminé. L'automate 1 peut par exemple être un chariot élévateur ou autre. Ce système est adapté par exemple pour manutentionner des objets dans un 5 environnement industriel tel qu'une usine de production, un entrepôt, un laboratoire ou autre. L'environnement 2 est doté d'un sol relativement plat sur lequel sont disposées des balises magnétiques 4, par exemple des aimants permanents. Les balises 4 sont placées dans des positions connues à l'avance et peuvent être par exemple enfouies 10 dans le sol de façon à affleurer au niveau de la surface du sol. Les balises 4 peuvent notamment être disposées le long d'un trajet 3 qui doit être suivi par l'automate 1, par exemple environ tous les 15 mètres. Les balises 4 peuvent être par exemple de petits cylindres magnétiques ayant un axe central sensiblement vertical et une direction de polarisation sensiblement verticale, disposés dans des trous cylindriques percés dans le sol. Ces balises 4 sont de taille relativement ponctuelle par rapport aux dimensions de l'automate, et peuvent avoir par exemple un diamètre de quelques millimètres et une hauteur d'une dizaine de millimètres ou un peu plus. En se référant maintenant aux figures 2 et 3, l'automate 1 est motorisé par un 20 dispositif de déplacement 6. Le système de déplacement 6 comporte par exemple un circuit de commande 6a qui commande : - un premier moteur 7a adapté pour faire tourner au moins une roue motrice 8 de l'automate 1 de façon à faire avancer ou reculer l'automate 1 selon une direction principale de déplacement X liée à l'automate (lorsque l'automate 1 comporte des 25 roues 8 non directionnelles comme dans l'exemple représenté, la direction X est perpendiculaire à l'axe de rotation des roues non directionnelles, et est représentée sur l'axe médian longitudinal de l'automate 1), et - un second moteur 7b pour commander l'orientation d'au moins une roue directionnelle 9 par pivotement de cette roue directionnelle 9 autour d'un axe de 30 pivotement vertical 9a, afin de diriger l'automate 1 le long de son trajet 3. De manière alternative, on pourrait également prévoir deux moteurs pour commander un système différentiel de roues apte à déplacer et diriger l'automate. Tout autre moyen de déplacement est aussi envisageable. 2936325 -5- L'automate 1 dispose en outre d'un premier détecteur de déplacement 10, par exemple sous la forme d'un encodeur relié à l'une des roues 8, 9 afin de détecter les révolutions de ladite roue autour de son axe de rotation horizontal. L'automate 1 dispose en outre d'un deuxième détecteur de déplacement 11, par exemple sous la 5 forme d'un encodeur relié à la roue directionnelle 9 afin de déterminer la direction de l'automate 1 en détectant les pivotements de la roue 9 autour d'un axe vertical Z. De manière alternative, les détecteurs de déplacement 10,11 pourraient comprendre un ou plusieurs capteurs mesurant une caractéristique de distance, de vitesse ou d'accélération pouvant conduire à une valeur vectorielle (distance et 10 direction) de déplacement de l'automate 1. Par exemple, le détecteur de déplacement 10,11 pourrait aussi être un capteur optique, selon le principe couramment utilisé dans les souris informatiques. Les détecteurs de déplacement 10,11 permettent d'estimer la position de l'automate 1 au cours de ses déplacements. L'automate 1 dispose en outre d'au moins un détecteur de balises 12, comportant 15 au moins deux capteurs individuels 12a aptes à détecter les balises 4 à proximité de l'automate 1, le détecteur de balises 12 étant adapté pour déterminer de manière précise, la position d'une quelconque balise 4 par rapport à l'automate 1, par exemple dans un système de coordonnées lié à l'automate 1, avec une précision de moins de 5mm. Le détecteur de balises 12 s'étend selon une direction horizontale transversale Y sensiblement perpendiculaire à la direction de déplacement X de l'automate 1, et de préférence sur toute la largeur de l'automate 1 afin d'avoir une largeur de détection plus large. Des capteurs de balise 12a individuels sont alignés selon la direction Y et peuvent être en nombre supérieur à deux, ce qui permet une meilleure précision de détection sur toute la largeur du détecteur de balises 12. On peut par exemple utiliser de 4 à 10 capteurs de balise 12a répartis sur une largeur L comprise par exemple entre 50 cm et 2 mètres (figure 2). Chacun des capteurs de balise 12a comporte une bobine d'induction, ayant par exemple un axe vertical. Ainsi, le mouvement de l'automate 1, et par conséquent le déplacement du détecteur de balises 12 et de ses bobines, à proximité des balises magnétiques 4 va induire un courant dans les bobines des capteurs de balise 12a. L'observation des courants induits dans les bobines permet de déterminer la position 2936325 -6- exacte de la balise 4 par rapport au détecteur de balises 12, par exemple avec une précision de moins de 5mm, comme il sera expliqué ci-après. Le système de navigation comporte en outre un contrôleur 20 apte à contrôler le déplacement de l'automate 1 par l'intermédiaire du dispositif de déplacement 6, et à 5 recevoir les données des différents détecteurs 10,11,12 de l'automate 1. Dans le mode de réalisation illustré à la figure 3, le contrôleur 20 est intégré dans l'automate 1. En variante, le contrôleur 20 pourrait être séparé de l'automate 1, par exemple logé dans l'environnement, et alors être muni de moyens de communication pour recevoir des signaux des détecteurs 10,11,12 et commander l'automate 1 à 10 distance. Lesdits signaux peuvent être réceptionnés bruts par le contrôleur 20, auquel cas le contrôleur est adapté pour traiter ces signaux, par exemple par un traitement de moyennes corrigées afin de réduire les erreurs de mesures, ou peuvent être réceptionnés par le contrôleur déjà traités par les détecteurs 10, 11, 12 eux-mêmes. 15 Le contrôleur 20 possède une mémoire adapté pour répertorier et stocker préalablement la position exacte de toutes les balises 4 disposées dans l'environnement 2. La mémoire du contrôleur 20 stocke également toutes les données relatives au trajet prédéterminé 3, lorsqu'un tel trajet est prévu. En outre, au cours du déplacement de l'automate 1, le contrôleur 20 détermine 20 une position estimée de l'automate 1 d'après les signaux reçus des détecteurs de déplacement 10,11. La position estimée permet au contrôleur 20 de commander le dispositif de déplacement 6 afin que l'automate 1 suive le trajet 3. Ainsi, la position estimée se trouve sensiblement sur le trajet 3. Pour déterminer la position estimée de l'automate 1, le contrôleur 20 applique une fonction prédéterminée aux signaux reçus 25 du détecteur de déplacement 10,11 par le contrôleur 20. De manière alternative, le contrôleur 20 peut déterminer une position estimée en fonction d'un tableau de corrélation entre les signaux des détecteurs de déplacement 10,11 et un déplacement correspondant. La position estimée 3 de l'automate 1 peut être définie dans un système global de 30 coordonnées (c'est-à-dire fixe par rapport à l'environnement 2), par rapport à une position arbitraire M de l'automate 1, représentée sur la figure 4 comme étant à l'intersection entre l'axe de rotation des roues motrices 8, et le centre longitudinal de l'automate passant à travers le pivot 9a. Les coordonnées de position absolue sont 2936325 -7- ainsi nommées x, y, et l'orientation (ou le cap) de l'automate 1 est nommé [3. L'orientation 3 est toujours parallèle à la direction principale de déplacement X. La position estimée 3 de l'automate 1 est alors déductible par le changement de position par unité de traitement, par exemple par unité temporelle, en combinaison 5 avec les signaux des détecteurs de déplacement 10, 11. Le changement de position peut être représenté comme suit : sin a d= dsa a dx = cos (3 cos a dsa dy = sin [3 sin a dsa 10 dans lesquels : dx, dy, d(3 sont les différentielles de changement de position de l'automate 1_par unité de traitement ; a est la distance selon la direction X entre l'axe de rotation des roues motrices 8 et l'axe de pivotement 9a de la roue directionnelle ; 15 a est l'angle de pivotement de la roue directionnelle 9 par rapport à la direction X ; dsa est la distance parcourue par la roue motrice 8 par unité de traitement. Ainsi, il suffit pour le contrôleur 20 d'intégrer les différentielles de position dx, dy, d(3 au long du trajet pour pouvoir estimer la position estimée de l'automate 1, x, y, 20 [3, dans le système global de coordonnées. Cependant, au fur et à mesure du déplacement de l'automate 1 dans son environnement 2, la position estimée 3 par le contrôleur 20 dérive progressivement par rapport à la position réelle 3a de l'automate 1, représentée par le trait discontinu sur les figures 1 et 5 ; la trajectoire réelle 3a de l'automate 1 va s'écarter 25 légèrement et progressivement du trajet théorique 3. Cette dérive peut être par exemple un résultat de l'usure des roues ou du changement de température ambiante, qui modifient la relation entre : - le déplacement selon l'axe X et le nombre de révolutions des roues 8 calculé par l'encodeur 10, et 30 - les changements de direction réels de l'automate 1 et les pivotements de la roue directionnelle 9 calculés par l'encodeur 11. 2936325 -8- De manière générale, de telles dérives restent relativement faibles, de l'ordre de moins de 5 % de la distance parcourue. Ainsi, lorsque l'automate 1 suit son trajet 3 et lorsqu'il détecte la présence d'une balise 4, avec consultation des données de position exacte de toutes les balises 4 stockées dans sa mémoire, le contrôleur 20 5 peut déterminer avec une quasi-certitude de quelle balise 4 il s'agit. Avec la connaissance de la position exacte de la balise 4 (stockée dans la mémoire), et la position relative de la balise 4 détectée par rapport au détecteur de balises 12, il est ensuite possible de déduire une position exacte de l'automate 1 dans un système global de coordonnées et d'effectuer une actualisation de la position 10 estimée de l'automate 1 dans l'environnement 2, position que est ensuite stockée dans la mémoire de l'automate 1. La dérive et la correction sont illustrées sur les figures 1 et 5 par un écartement de la position estimée 3 par rapport à la position réelle 3a le long du trajet. Autrement dit, l'automate 1 poursuit son trajet estimé 3 en écart du trajet réel 3a. 15 Suite à l'actualisation de la position estimée, l'automate 1 peut se rapprocher à nouveau du trajet 3 à parcourir. Il est préférable que le contrôleur 20 puisse en outre anticiper et corriger les dérives afin de pouvoir minimiser le nombre de fois que la position estimée soit actualisée. En outre, cela permet de réduire les dérives ultérieures des détecteurs de 20 déplacement 10,11. Cette correction de la position estimée peut être effectuée directement sur les signaux électriques des détecteurs de déplacement 10,11, par exemple en appliquant un filtre amplificateur. La correction peut aussi être effectuée en appliquant des corrections aux fonctions mathématiques appliquées par le contrôleur 20 pour 25 déterminer la position estimée. De manière alternative, des facteurs de correction peuvent aussi être appliqués aux tableaux de corrélation susmentionnés, lorsqu'on utilise de tels tableaux. La correction choisie peut être par exemple fonction de l'ampleur de l'actualisation de la position effectuée, c'est-à-dire fonction de la différence entre la position estimée avant actualisation et la position estimée après 30 actualisation (autrement dit, la correction est fonction de l'erreur sur la position estimée). Dans cet exemple, à la position A, le trajet réel 3a de l'automate 1 est identique au trajet estimé 3. Quelques temps plus tard, à la position B, le détecteur de 25 -9- balises 12 de l'automate 1 détecte une balise 4 à une distance de Dy de l'axe médian X de l'automate 1. Il est alors possible de déterminer l'erreur de cap (ep) de l'automate, correspondant à une erreur statique de l'encodeur directionnel 11 de la roue 5 directionnelle. Cette erreur peut être déterminée de la manière suivante : ep = asin d) dans lequel d est la distance le long d'une tangente T du trajet estimé 3, pris à la position de la balise 4 détectée, entre la balise 4 et l'intersection de ladite tangente avec l'axe médian (X) de l'automate 1. 10 L'erreur ep de cap peut ensuite être directement additionnée sur l'angle d'orientation de l'automate 1 estimée par le contrôleur 20 pour obtenir une valeur d'angle plus précise au long du fonctionnement de l'automate 1. L'erreur de distance (ex) due à l'encodeur 10 correspond à une erreur qui est proportionnelle à toute la distance parcourue. Ce facteur ex peut être déterminé de la 15 manière suivante : distance réellement parcourue telle que calculée par le controleur 20 ex = distance parcourue telle que mesurée par l'encodeur 10 ex peut ensuite être appliqué à la proportionnel en la multipliant aux valeurs de distances déterminées par le contrôleur 20 depuis les signaux reçus par l'encodeur de distance 10. 20 Ces facteurs de corrections ex, ep peuvent être imputés sur les fonctions mathématiques d'estimation de position appliquées par le module de déplacement 22 pour déterminer la position estimée de l'automate 1. Ces fonctions, tenant compte des corrections de dérives, peuvent être représentées comme suit : sin a df3= (dsa•e,)+efl a dx = cos R cos a (dsa. ex) dy = sin 13 sin a (dsa. ex) dans lesquelles ex et ep correspondent aux facteurs de correction de distances et de cap comme décrit ci-dessus. 2936325 -10- Le fonctionnement de la détection de la position de la balise 4 par rapport à l'automate 1 est décrit en détail ci-dessous, en référence aux figures 3 et 6. Comme déjà mentionné, le mouvement de chacune des bobines des capteurs de balise 12a à proximité des balises magnétiques 4 induit un courant dans les bobines. Les capteurs 12a coopèrent ensemble pour déterminer l'instant où le détecteur 12 de l'automate 1 franchit la balise 4 et la position exacte de la balise 4 par rapport à l'automate 1 selon l'axe transversal Y, ce qui permet ensuite de déterminer la position exacte de l'automate 1 dans l'environnement 2, et ainsi, éventuellement, d'effectuer une actualisation de la position estimée de l'automate 1. La position longitudinale de l'automate 1 par rapport à la balise 4, selon la direction de marche X, est déterminée en observant la puissance du courant induit dans les bobines des capteurs de balise 12a. L'instant où les bobines des capteurs 12a passent directement au-dessus de la balise 4 correspond au pic de la puissance du signal induit dans les bobines. La position latérale de l'automate 1 par rapport à la balise 4, selon la direction Y, est déterminée à cet instant de franchissement en comparant au moins les deux plus forts signaux induits des bobines 12a. Si plus de deux capteurs 12a sont présents, l'utilisation de plus de deux signaux des capteurs 12a permet une meilleure fiabilité. Si l'on appelle C; et Ci les deux capteurs de balise 12a ayant les plus forts courants induits (figure 4), D la distance entre ces deux capteurs, puis D; et Di les distances respectives des deux capteurs à la balise 4 selon la direction Y, alors on a la relation : = Di.h (le ratio de courant Ti, I~ induit respectivement dans chaque bobine C;, Ci est inversement proportionnel aux distances D;, Di séparant les deux bobines de la balise 4), d'où : I D, =D• 1,+1/ La connaissance de Di permet ensuite de déterminer la distance Dy pour la correction d'erreur. Ainsi, à l'instant de franchissement du détecteur de balises 12 sur la balise 4, le contrôleur 20 peut entièrement déterminer la position de la balise 4 par rapport à l'automate 1, ce qui permet d'effectuer une actualisation de la position estimée par le contrôleur 20 en fonction de la position réelle et connue de la balise 4. 2936325 -11- L'utilisation de bobines 12a pour constituer le détecteur de balises magnétiques 12 a l'avantage qu'elles sont insensibles à des phénomènes d'aimantation permanente tel que le champ magnétique terrestre, et permettent de détecter des variations de champ magnétique très faibles sur l'axe vertical de 5 l'aimant 4, ce qui permet de déterminer une position exacte d'un aimant à distance plus éloignée, et avec une meilleure précision qu'avec des capteurs à effet Hall. REVENDICATIONS1. Système de navigation comprenant : - un automate (1) comprenant : un dispositif de déplacement (6) pour déplacer ledit automate dans un environnement, au moins un détecteur de déplacement (10, 11), au moins deux capteurs de balises (12a) aptes à détecter des balises (4) à proximité dudit automate, un contrôleur (20) apte à mémoriser des données relatives aux positions desdites balises (4), à commander le dispositif de déplacement (6), et à déterminer une position estimée dudit automate par rapport audit environnement en fonction d'informations reçues du détecteur de déplacement (10, 11), le contrôleur étant adapté pour effectuer une actualisation de la position estimée de l'automate (1) 15 en fonction de signaux reçus des différents capteurs de balise (12a), caractérisé en ce que chaque capteur de balises (12a) est un capteur à induction (12a). 2. Système selon la revendication 1, dans lequel le contrôleur (20) appartient à l'automate. 20 3. Système selon l'une quelconque des revendications précédentes, dans lequel le dispositif de déplacement (6) est adapté pour déplacer l'automate (1) selon une direction principale de déplacement (X) liée audit automate, et les capteurs de balises (12a) sont alignés selon une direction transversale perpendiculaire à ladite direction principale de déplacement (X). 25 4. Système selon l'une quelconque des revendications précédentes, dans lequel le contrôleur (20) est adapté pour effectuer une actualisation de la position estimée de l'automate (1) par rapport à la balise (4) par interpolation linéaire en fonction des signaux reçus desdits capteurs de balise (12a). 5. Système selon l'une quelconque des revendications précédentes, dans 30 lequel chaque capteur de balises (12a) comporte une bobine. 6. Système selon la revendication 5, dans lequel la bobine de chaque capteur de balises (12a) présente un axe central sensiblement vertical. 10 2936325 - 13 - 7. Système selon l'une quelconque des revendications précédentes, comprenant en outre une pluralité de balises magnétiques (4) disposées au sol dans l'environnement (2) à des positions déterminées, le contrôleur (20) ayant en mémoire des données relatives aux positions des balises (4). 5 8. Système selon la revendication 7, dans lequel chaque balise (4) est un aimant polarisé sensiblement perpendiculaire par rapport au sol. 9. Système selon l'une quelconque des revendications précédentes, dans lequel le contrôleur (20) est adapté pour appliquer une correction aux signaux du détecteur de déplacement (10, 11) en fonction de ladite actualisation de la position estimée de l'automate. 10. Système selon la revendication 9, dans lequel ladite correction est fonction d'une différence entre la position estimée avant actualisation et la position estimée après actualisation. 11. Système selon la revendication 10, dans lequel ladite correction est une fonction affine appliquée aux signaux du détecteur de déplacement (10 ; 11). 12. Procédé pour commander un système de navigation pour déplacer un automate (1) le long d'un trajet (3) dans un environnement comprenant une pluralité de balises magnétiques (4) disposées au sol à des positions déterminées, l'automate comportant un détecteur de déplacement (10, 11) et une pluralité de capteurs de balises à induction (12a), ledit procédé comprenant les étapes suivantes : (a) une étape d'estimation de position, répétée pendant que l'automate est en cours de déplacement le long du trajet (3), au cours de laquelle on détermine une position estimée de l'automate (1) par rapport à l'environnement en fonction d'informations reçues du détecteur de déplacement (10, 11), (b) une étape d'actualisation au cours de laquelle on effectue une actualisation de la position estimée de l'automate en fonction des signaux reçus desdits capteurs de balise (12a). 13. Procédé selon la revendication 11, dans lequel on applique une correction aux signaux du détecteur de déplacement (10,11) en fonction de ladite actualisation de la position estimée effectuée lors de l'étape d'actualisation (b).