PROCEDE DE PILOTAGE D'UN ROBOT ET SYSTEME DE PILOTAGE METTANT EN ŒUVRE UN TEL PROCEDE
La présente invention concerne un procédé de pilotage d'un robot, ainsi qu'un système de pilotage mettant en œuvre un tel procédé. Selon la présente invention, le robot est piloté par un opérateur humain par des moyens de pilotage. La présente invention s'applique notamment au pilotage de robots industriels dédiés au déplacement et au positionnement de charges lourdes et encombrantes.
Des robots industriels permettent de déplacer un objet dans l'espace, suivant un certain nombre de degrés de liberté de ce dernier. De tels robots assurent le déplacement de pièces, typiquement trop lourdes ou trop encombrantes pour pouvoir être déplacées par un opérateur humain, par exemple dans des lignes de fabrication. De tels robots peuvent également assurer le positionnement précis de ces pièces, par exemple pour assurer des opérations de montage. Toutes les tâches réalisées par des robots industriels ne pouvant être entièrement automatisées, certaines d'entre elles requièrent qu'un opérateur humain assure leur pilotage. D'une manière typique, un robot industriel est un système comprenant une pluralité d'articulations, à l'instar d'un bras humain. Il peut se présenter sous la forme d'un bras manipulateur, équipé à une extrémité d'un organe de préhension apte à saisir la pièce. La pièce peut être orientée spatialement par le robot, par exemple en rotation selon trois axes, et en translation suivant les trois axes précités ; en tout état de cause les mouvements combinés des éléments constituant le robot doivent permettre une manipulation de la pièce permettant de déplacer et orienter celle-ci dans l'espace.
Différents systèmes de pilotage de tels robots existent. Selon une première technique communément désignée « télé-opération », il est permis à un opérateur de commander le robot à distance, via une interaction dite indirecte. D'une manière typique, le robot peut être piloté par le moyen d'un dispositif de commande se présentant traditionnellement comme un boîtier de commande pourvu d'une pluralité de boutons poussoirs permettant
l'enclenchement de différentes actions de déplacement. Le boîtier de commande permet alors le déplacement de l'organe de préhension du robot, la pression sur un bouton étant par exemple associée à un mouvement selon l'un des six degrés de liberté, dans une direction donnée.
Un inconvénient de cette technique est qu'un boîtier de commande ne permet pas à l'opérateur de ressentir les efforts appliqués par le robot et l'environnement sur la pièce manipulée, un tel retour d'informations pouvant s'avérer essentiel pour mener à bien certaines tâches, telles que des tâches d'assemblage par exemple.
Un autre inconvénient de cette technique est qu'elle permet de piloter le mouvement de la pièce uniquement dans des repères liés au robot, plus précisément à l'organe de préhension de ce dernier, ou à l'une des articulations du bras manipulateur par exemple. Or l'opérateur est intéressé par la manipulation de la pièce elle-même, plutôt que dans le pilotage du robot en soi : il peut donc être préférable pour celui-ci de pouvoir commander le mouvement de la pièce dans divers repères liés à la pièce, par exemple. Ainsi, une technique de télé-opération peut être utile pour amener le robot dans une configuration particulière dans l'espace, mais elle est peu adaptée pour la manipulation précise d'une pièce, la précision demandée étant par exemple d'autant plus grande lorsque des contacts de la pièce avec son environnement sont nécessaires.
Une technique alternative connue, communément désignée « téléopération à retour d'effort assistée par ordinateur », permet de pallier en partie les inconvénients précités. Selon une telle technique, le dispositif de commande ne se présente pas sous la forme d'un boîtier équipé de boutons, mais plutôt sous la forme d'un organe pouvant être désigné « bras-maître », par exemple un levier de commande ou « joystick » suivant la dénomination anglaise, pouvant être déplacé dans l'espace par l'opérateur, et entraînant le mouvement du robot, alors dit « esclave ». Le levier de commande peut être animé de mouvements contrôlés par un contrôleur dédié, permettant de restituer un retour d'efforts perceptible par l'utilisateur. Un avantage procuré par cette technique est que celle-ci permet un pilotage plus intuitif du robot. En outre, le fait que cette technique permette à l'opérateur de ressentir les efforts appliqués sur le robot contribue à une assistance plus précieuse de celui-ci, notamment lors de la réalisation de tâches dans lesquelles la pièce
manipulée vient au contact d'éléments extérieurs. Selon cette technique, il est rendu possible à l'opérateur de choisir des repères dans lesquels le robot doit être commandé pour effectuer des tâches particulières ; voire, il est possible pour l'opérateur de spécifier des tâches qui doivent être réalisées par le robot.
Un inconvénient de cette technique est qu'elle requiert que l'opérateur spécifie les repères ou les tâches, lorsque celui-ci souhaite par exemple manipuler la pièce dans d'autres repères que celui du robot, ce qui peut s'avérer fastidieux, et particulièrement peu pratique en cours de manipulation d'une pièce.
Un autre inconvénient des deux techniques précitées est relatif au point de vue de la scène par l'opérateur : ce dernier doit en effet demeurer à une place déterminée, et n'est pas libre de choisir son point de vue de la scène, à moins de recourir à des systèmes de caméras vidéo, par exemple, c'est-à-dire au prix de contraintes supplémentaires en terme de nombre de capteurs utilisés, ainsi que de contraintes liées au positionnement de ces capteurs, notamment de manière à éviter de possibles occultations.
Il peut ainsi être préférable que l'opérateur se tienne à proximité de la scène. Il existe des systèmes de pilotage connus grâce auxquels l'opérateur peut interagir directement avec le robot, par exemple par l'intermédiaire d'une poignée de commande fixée au niveau de l'organe de préhension du robot, et permettant à l'opérateur de mettre celui-ci en mouvement. De la sorte la pièce peut être manipulée suivant ses six degrés de liberté, le poids de la pièce pouvant être strictement compensé. Cependant, plus particulièrement lorsque l'opérateur doit manipuler avec précision une pièce de grandes dimensions, il peut lui être difficile de piloter le robot uniquement au moyen d'une poignée de commande fixée à une extrémité du bras du robot. Il peut non seulement s'avérer indispensable pour l'opérateur de saisir un emplacement particulier de la pièce pour pouvoir la manipuler d'une certaine façon, mais encore la poignée fixe sur le robot peut devenir inatteignable par l'opérateur lorsque le robot doit saisir seul une pièce de grandes dimensions.
Dans le but de résoudre ces inconvénients, des systèmes de pilotage ont été conçus, permettant à un opérateur d'interagir avec une pièce à manipuler par le biais de la pièce elle-même, par un organe de pilotage
déporté du robot et permettant une interaction directe avec la pièce, situé à une extrémité de la pièce. Un tel système de pilotage est décrit dans la demande de brevet japonais publiée sous la référence JP 2008/2131 19. Dans ce système de pilotage, une poignée distante du robot peut être disposée à un endroit prédéterminé d'un cadre supportant la pièce à manipuler.
Un inconvénient de ce système de pilotage est lié au fait que la pièce peut être commandée uniquement dans le repère du robot ou de la poignée, fixe par rapport au système de pilotage, en obligeant l'orientation et la position du repère de la poignée par rapport au robot à être prédéterminées et connues lors de l'implémentation et du réglage de la commande du robot, et à rester fixe par la suite.
De plus, la position de saisie ne peut pas toujours être adaptée à la manipulation de la pièce : par exemple, s'il est nécessaire de retourner la pièce, la poignée peut se retrouver en-dessous de la pièce lorsque celle-ci est retournée, rendant la manipulation difficile. La position de saisie peut également s'avérer inadaptée, s'il est par exemple nécessaire d'assembler la pièce avec une autre pièce, la poignée pouvant faire obstacle à l'assemblage dans certaines configurations.
Un autre inconvénient de systèmes dans lesquels les efforts appliqués par l'opérateur humain sont appliqués à distance du robot, est lié au fait que les efforts appliqués par l'opérateur au point de saisie de la pièce sont différents des efforts ressentis par l'organe de préhension du robot, pouvant impliquer des ambiguïtés entre différents mouvements, par exemple de rotation et de translation. Par exemple, dans une configuration où l'opérateur et l'organe de préhension du robot saisissent chaque extrémité d'une pièce, par exemple une planche, l'effort ressenti au niveau de l'organe de préhension du robot s'assimile à un couple, que l'opérateur souhaite faire pivoter la pièce autour de l'effecteur du robot, ou bien que celui-ci souhaite la translater.
Un but de la présente invention est de pallier au moins les inconvénients précités, en proposant un procédé et un système de pilotage pour robot permettant à un opérateur de manipuler une pièce de manière intuitive avec précision, selon les six degrés de la pièce, par une interaction
physique directe avec la pièce, en étant capable de manipuler la pièce aisément, quelle que soit la configuration de celle-ci.
Un avantage de l'invention est qu'un procédé ou un système de pilotage selon l'un des modes de réalisation décrits permet d'adapter la commande en effort ou en force-position du robot en fonction de son environnement et de la commande de l'opérateur, ce dernier étant libre de choisir le repère de manipulation en temps réel, de manière intuitive, et pouvant simultanément interagir physiquement avec la pièce, le robot et l'environnement.
Un autre avantage de l'invention est qu'un procédé ou un système de pilotage selon l'un des modes de réalisation décrits permet une manipulation simple, ne nécessitant pas un apprentissage pour l'opérateur.
Un autre avantage de l'invention est qu'un procédé ou un système de pilotage selon l'un des modes de réalisation décrits peut être dérivé d'un système de commande de robot existant, moyennant l'adjonction d'un nombre réduit de dispositifs peu coûteux et peu encombrants.
Un autre avantage de l'invention est qu'un procédé ou un système de pilotage selon l'un des modes de réalisation décrits permet de résoudre de possibles ambiguïtés entre des mouvements de translation et de rotation.
Un autre avantage de l'invention est qu'un procédé ou un système de pilotage selon l'un des modes de réalisation décrits permet d'appliquer des guides virtuels déterminés en fonction des efforts appliqués par l'opérateur sur les moyens de pilotage et de la position de ces moyens de pilotage, conférant ainsi une assistance supplémentaire à l'opérateur.
Un autre avantage de l'invention est qu'un procédé ou un système de pilotage selon l'un des modes de réalisation décrits est robuste par rapport à de possibles occultations, ainsi qu'à de possibles variations de luminosité, et ne requiert aucun positionnement préalable de capteurs. Les occultations et les variations de luminosité peuvent notamment nuire au bon fonctionnement de systèmes de pilotage dans lesquels sont mis en œuvre des moyens de localisation de la poignée se basant sur des capteurs optiques, par exemple des caméras, ou bien des capteurs acoustiques, ces derniers étant par exemple également sensibles aux occultations. Un système de pilotage selon l'un des modes de réalisation décrits est également robuste vis-à-vis
de champs magnétiques parasites et d'objets à forte perméabilité magnétique présent dans l'environnement, pouvant nuire au bon fonctionnement de systèmes de pilotage dans lesquels sont mis en œuvre des moyens de localisation de la poignée se basant sur des capteurs de champ magnétique.
Un système de pilotage selon l'un des modes de réalisation décrits est également robuste vis-à-vis des parois présentes dans l'environnement, ces parois pouvant nuire au bon fonctionnement de systèmes de pilotage dans lesquels sont mis en œuvre des moyens de localisation de la poignée par radiofréquence, pour lequel se posent des problèmes de chemins multiples ou « multipath » des ondes radio qui se réfléchissent.
Un système de pilotage selon l'un des modes de réalisation décrits est également robuste vis-à-vis des dérives de la position et de l'orientation à déterminer susceptibles de se produire dans des systèmes de pilotage dans lesquels sont mis en œuvre des moyens de localisation de la poignée se basant sur des capteurs inertiels et d'intégration de leurs mesures.
A cet effet, l'invention a pour objet, dans un premier mode de réalisation, un procédé de pilotage d'un robot comprenant au moins une articulation et au moins un organe de préhension apte à déplacer une pièce dans l'espace, le robot étant piloté par des moyens de pilotage, le procédé comprenant un enchaînement d'au moins les étapes suivantes :
• une étape de positionnement de moyens de pilotage sur la pièce,
· une étape de détermination de la position et de l'attitude des moyens de pilotage à partir de mesures d'efforts appliqués sur les moyens de pilotage définissant un premier torseur d'efforts, et d'efforts correspondants au niveau de l'organe de préhension du robot, définissant un second torseur d'efforts, · une étape de détermination de consignes de contrôle du robot en effort ou force-position à partir des mesures d'efforts sur les moyens de pilotage appliqués pour déplacer la pièce et de la position et de l'attitude déterminées lors de l'étape de détermination,
* une étape de contrôle lors de laquelle les consignes déterminées sont émises à destination du robot.
Dans un deuxième mode de réalisation de l'invention, la détermination de la position et de l'attitude des moyens de pilotage peut être réalisée en minimisant l'erreur entre la mesure de l'un des deux torseurs parmi ledit premier torseur d'efforts et ledit second torseur d'effort, et de ce même torseur reconstruit à partir de la mesure de l'autre de ces deux torseurs, au moyen de la relation de Varignon.
Dans un troisième mode de réalisation de l'invention, la détermination de la position et de l'attitude des moyens de pilotage peut être réalisée par un traitement en ligne des torseurs d'efforts issus des mesures d'efforts, au moyen d'un algorithme récursif.
Dans un quatrième mode de réalisation de l'invention, ledit algorithme récursif peut être un filtre de Kalman non parfumé.
Dans un cinquième mode de réalisation de l'invention, la détermination de la position et de l'attitude des moyens de pilotage peut être réalisée par un traitement hors ligne des torseurs d'efforts issus des mesures d'efforts, sur la base d'un enregistrement des données correspondantes sur une période déterminée, au moyen d'un algorithme d'optimisation.
Dans un sixième mode de réalisation de l'invention, ledit algorithme d'optimisation peut se baser sur la méthode de Nelder Mead.
Dans un septième mode de réalisation de l'invention, le procédé de pilotage peut comprendre en outre une étape de vérification de la fixation des moyens de pilotage à la pièce réalisée à la suite de l'étape de positionnement.
Dans un huitième mode de réalisation de l'invention, le procédé de pilotage peut comprendre en outre une étape de vérification de la localisation déterminant la cohérence de la position et l'attitude déterminées des moyens de pilotage en comparant un niveau de confiance associé aux valeurs estimées déterminé par l'algorithme récursif avec un niveau prédéterminé.
Dans un neuvième mode de réalisation de l'invention, le procédé de pilotage peut comprendre en outre une étape de vérification de la localisation déterminant la cohérence de la position et l'attitude déterminées des moyens de pilotage en comparant un niveau de confiance associé aux valeurs
estimées déterminé par le traitement hors ligne avec un niveau prédéterminé.
Dans un dixième mode de réalisation de l'invention, le procédé de pilotage peut comprendre en outre une étape de vérification de la localisation déterminant la cohérence de la position et l'attitude déterminées des moyens de pilotage en comparant la position et l'attitude déterminées lors de l'étape de détermination des moyens de pilotage avec une position et une attitude des moyens de pilotage déterminées à partir d'un algorithme d'estimation ou d'identification sur la base au moins de mesures d'accélération et d'orientation ou de vitesse angulaire des moyens de pilotage (100) réalisées au moyen de capteurs appropriés.
Dans un onzième mode de réalisation de l'invention, l'étape de détermination de consignes peut être substituée par une étape de détermination de substitution, lors de laquelle une détermination des consignes de commande du robot est réalisée uniquement à partir des mesures d'efforts et/ou de positions réalisées au niveau de l'organe de préhension du robot, ou de ladite au moins une articulation du robot, si la fixation des moyens de pilotage à la pièce est inappropriée.
Dans un douzième mode de réalisation de l'invention, l'étape de détermination de consignes peut être substituée par une étape de détermination de substitution, lors de laquelle une détermination des consignes de commande du robot est réalisée uniquement à partir des mesures d'efforts et/ou de positions réalisées au niveau de l'organe de préhension du robot, si la position ou l'attitude déterminée des moyens de pilotage est incohérente.
La présente invention a également pour objet un système de pilotage pour un robot comprenant au moins une articulation et un organe de préhension apte à déplacer une pièce dans l'espace, le système de pilotage comprenant :
· des moyens de mesure d'efforts appliqués au niveau de l'organe de préhension du robot,
• des moyens de pilotage aptes à être fixés à la pièce et comprenant des moyens de mesure d'efforts appliqués sur les moyens de pilotage,
* des moyens de recueil configurés pour recueillir les mesures d'efforts réalisées par les moyens de mesure d'efforts appliqués au niveau de l'organe de préhension du robot, et sur les moyens de pilotage,
· un contrôleur configuré pour mettre en œuvre les moyens de recueil, le contrôleur étant en outre configuré pour mettre en œuvre un procédé de pilotage selon le premier mode de réalisation susmentionné.
Dans un mode de réalisation de l'invention, les moyens de pilotage peuvent comprendre des moyens de fixation réversibles.
Dans un mode de réalisation de l'invention, le système de pilotage peut comprendre en outre des moyens de surveillance des moyens de pilotage, configurés pour détecter le détachement des moyens de pilotage de la pièce, le contrôleur étant configuré pour mettre en œuvre un procédé de pilotage suivant le septième mode de réalisation susmentionné.
Dans un mode de réalisation de l'invention, les moyens de pilotage peuvent être formés par au moins une poignée comprenant un support et un manche, le support étant destiné à être fixé à la pièce par les moyens de fixation.
Dans un mode de réalisation de l'invention, les moyens de pilotage peuvent être formés par au moins un gant.
Il est proposé par la présente invention de déterminer le torseur d'efforts appliqués par l'opérateur sur les moyens de pilotage dans un repère lié au robot, afin de commander ce dernier. Le procédé ou le système de pilotage selon la présente invention permet aussi de déterminer précisément la position et l'attitude des moyens de pilotage, par exemple formés par une ou plusieurs poignées, utilisées pour exploiter les mesures d'efforts des moyens de pilotage pour déterminer les consignes de contrôle du robot. La ou les poignées peuvent ainsi à volonté être disposées sur la pièce à manipuler, et y être fixées par des moyens de fixation adéquats, ces derniers étant réversibles, c'est-à-dire permettant à un opérateur de facilement retirer la ou les poignées de la pièce, pour les disposer au besoin à un autre endroit sur la pièce.
D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description, donnée à titre d'exemple, faite en regard des dessins annexés qui représentent : la figure 1 , une vue de profil illustrant un système de pilotage, selon un mode de réalisation de la présente invention ;
la figure 2, une vue en coupe illustrant de manière synoptique, la structure d'une poignée formant un moyen de pilotage, selon un mode de réalisation de l'invention ;
la figure 3, un logigramme présentant un procédé de pilotage d'un robot, selon un mode de réalisation de l'invention.
La figure 1 présente un robot 1 , comprenant par exemple un bras manipulateur 11 au bout duquel est disposé un capteur d'efforts, par exemple suivant six axes de liberté, le capteur étant alors dit « capteur six axes », non représenté sur la figure. Un organe de préhension 13 est disposé en partie terminale du bras manipulateur 1 1 . L'organe de préhension 13 saisit une pièce 15 à manipuler. Des moyens de pilotage, formés par une poignée 100 dans l'exemple illustré par la figure, peuvent être fixés à la pièce 15. La poignée 100 peut être saisie par un opérateur, non représenté sur la figure, et peut à la volonté de celui-ci, être disposée à un endroit souhaité sur la pièce 15.
Un exemple de structure de la poignée 100 est décrit ci-après en référence à la figure 2. La poignée 100 peut notamment comprendre des moyens de fixation permettant de fixer la pièce de manière à ce que celle-ci soit maintenue en place en dépit des efforts exercés sur celle-ci lors de la manipulation de la pièce 15, c'est-à-dire lors du pilotage du robot 1 , et qu'elle puisse être aisément retirée pour être disposée à un autre endroit. Des exemples de moyens de fixation sont explicités ci-après en référence à la figure 2.
Dans l'exemple illustré par la figure, la pièce 15 à manipuler est de forme essentiellement plane, à l'instar d'une planche, mais il est entendu que la présente invention permet la manipulation de pièces de formes diverses, même complexes.
Une fois saisi de la poignée 100, l'opérateur peut par exemple imprimer à la pièce 15, par le biais de la poignée 100, des mouvements de déplacement tels qu'il les appliquerait directement sur la pièce, le rôle du robot étant typiquement d'ôter le ressenti du poids de la pièce pour l'opérateur. L'opérateur peut disposer la poignée 100 à l'endroit le plus avantageux sur la surface de la pièce 15 à manipuler.
Tout déplacement de la poignée 100 peut requérir une phase préalable, dans laquelle par exemple, l'opérateur doit exercer des efforts dans différentes directions. Un algorithme d'estimation ou d'identification hors ligne, par exemple, peut alors permettre de déterminer la position et l'orientation de la poignée 100, ou de la pluralité de poignées. Ces principes sont décrits en détails ci-après, en référence à la figure 3.
Un contrôleur 1 10 peut délivrer des consignes de commande à destination du robot 1 , et mettre en œuvre des algorithmes d'asservissement se fondant sur des données d'entrée provenant notamment des capteurs compris dans les moyens de pilotage, ainsi que dans le robot 1 , ainsi que cela est explicité ci-après. D'une manière plus générale, le contrôleur 1 10 peut mettre en œuvre une méthode de pilotage selon l'un des modes de réalisation de l'invention.
Un système de pilotage selon la présente invention peut en outre comprendre des moyens de recueil des données introduites ci-dessus issues des capteurs, ces moyens de recueil pouvant par exemple être compris dans le contrôleur 110.
Le système de pilotage peut comprendre différents capteurs aptes à recueillir des mesures des efforts appliqués au niveau de l'organe de préhension du robot. De tels capteurs sont usuellement ajoutés dans des robots irréversibles ou peu réversibles, largement représentés dans la gamme des robots industriels, amenés à évoluer et être en contact avec leur environnement, y compris avec l'opérateur.
Il est à noter que le capteur d'efforts peut par exemple être un capteur multiaxe situé au niveau de l'organe de préhension du robot. Il est également possible de disposer de capteurs au niveau des articulations du robot, par exemple des capteurs de couple, les mesures réalisées par ces capteurs peuvent alors permettre d'obtenir les mesures d'efforts au niveau de l'organe
de préhension du robot. Egalement, des mesures d'efforts peuvent être obtenues à partir de mesures de courants d'alimentation des moteurs des articulations du robot.
Selon une spécificité de la présente invention, les moyens de pilotage, c'est-à-dire la poignée 100 dans l'exemple illustré par la figure, comprennent des moyens pour réaliser des mesures d'efforts appliqués sur ceux-ci. Des exemples de réalisation d'une poignée 100 pourvue de tels moyens sont décrits ci-après en référence à la figure 2. En référence à la figure 2, une poignée 100 peut comprendre un élément de saisie 101 pouvant être saisi par la main d'un opérateur, et un support 103. La poignée 100 comprend également un capteur d'efforts 105 permettant de capter les efforts selon les six axes, et de restituer des signaux d'efforts représentatifs de ceux-ci. La base du support 103 peut comprendre des moyens de fixation 109.
Les moyens de fixation 109 doivent permettre une fixation de la poignée 100 à la pièce à manipuler suffisamment robuste aux mouvements imprimés par l'opérateur, mais permettant à ce dernier de retirer la poignée 100 aisément, pour la placer à sa discrétion à un autre endroit de la pièce. Les moyens de fixation 109 peuvent ainsi être qualifiés de « réversibles ».
Par exemple, les moyens de fixation 109 peuvent être formés par des bandes auto-agrippantes, la surface de la pièce pouvant être traitée de manière à permettre une fixation de telles bandes.
Si la pièce à manipuler est réalisée dans un matériau ferromagnétique, les moyens de fixation 109 peuvent être formés par un aimant permanent, ou bien par un électro-aimant.
Les moyens de fixation 109 peuvent également être formés par une ventouse, ou bien par un système de succion opéré par une pompe.
Les moyens de fixation 109 peuvent encore être formés par une bande adhésive.
Dans l'exemple de mode de réalisation illustré par la figure 2, le capteur d'efforts 105 est disposé dans le support 103 et est un capteur d'efforts six axes.
Avantageusement, la poignée 100 peut comprendre des moyens de mesure additionnels 107.
Les moyens de mesure additionnels 107 peuvent par exemple comprendre au moins un accéléromètre 3D et/ou un ou plusieurs gyromètres 3D. Les moyens de mesure additionnels 107 peuvent par exemple être formés par une centrale inertielle. Au moins un accéléromètre 3D peut par exemple servir à déterminer l'accélération liée à la gravité terrestre, lorsque la poignée est en position statique, cette information pouvant améliorer la détermination de l'orientation de la poignée. Egalement, les moyens de mesure additionnels 107 peuvent permettre, grâce à des moyens de calcul mettant par exemple en œuvre un filtre tel qu'un filtre de Kalman, d'estimer la position et l'attitude de la poignée 100, de manière à par exemple confirmer la détermination réalisée par l'algorithme d'estimation ou d'identification décrit ci-après, ou à définir un point d'initialisation approprié de l'algorithme d'estimation ou d'identification afin que celui-ci converge plus rapidement, ainsi que cela est décrit en détails ci- après.
En pratique, l'opérateur peut se saisir d'une poignée ou même de deux poignées telles que la poignée 100, par leurs éléments de saisie 101 et disposer la ou les poignées 100 où il le désire sur la surface de la pièce à manipuler. Le capteur d'efforts 105 permet alors une mesure des efforts appliqués par l'opérateur sur les poignées 100. Un torseur d'efforts peut alors être déterminé, dans le repère du capteur de la poignée 100. La détermination du torseur d'efforts peut être réalisée dans un module de calcul dédié, par exemple mis en œuvre dans le contrôleur 1 10, décrit précédemment en référence à la figure 1 .
Il est alors nécessaire de connaître la position, et l'orientation, ou attitude, de la poignée 100 pour exploiter le torseur d'efforts précité dans la détermination des consignes de contrôle du robot.
Selon une spécificité de la présente invention, il est proposé de déterminer la position et l'attitude de la poignée 100 à partir de la relation entre les torseurs d'efforts réduits au niveau de la poignée 100 et au niveau de l'effecteur du robot. En effet, suivant les hypothèses de la mécanique du solide, la relation entre les torseurs d'efforts réduits au niveau de la
poignée 100 et au niveau de l'effecteur du robot dépend uniquement de la position relative de leurs centres de réduction respectifs et des orientations respectives de leurs repères propres.
Cette relation, correspondant à la relation de Varignon appliquée aux torseurs d'efforts peut être formulée par les relations suivantes :
pfP = qpfPq- dans lesquelles yXz désigne une variable X exprimée dans un repère y en un point de réduction z, le torseur d'efforts étant constitué par , f
étant le vecteur force suivant trois dimensions, et m le vecteur moment suivant trois dimensions, r désignant l'effecteur du robot et p la poignée, RP désignant le vecteur décrivant la position de la poignée par rapport à l'effecteur du robot dans le repère du robot, R et q désignant respectivement la matrice de rotation et le quaternion représentant l'orientation de la poignée par rapport à l'effecteur du robot.
Dans l'exemple de mode de réalisation présenté ci-dessus, il est possible de déterminer le torseur d'efforts au niveau de l'organe de préhension du robot grâce au capteur d'efforts six axes.
En outre, il est possible de déterminer le torseur d'efforts au niveau de la poignée 100, à partir des données recueillies par le capteur d'efforts 105, qui peuvent être également transmises par des moyens appropriés aux moyens de recueil du contrôleur 1 10.
Dans l'exemple de mode de réalisation décrit ci-dessus, l'opérateur applique lors d'une phase préalable des efforts sur la poignée dans des directions données, de manière à permettre une détermination de la position et de l'attitude de la poignée, ainsi que cela est introduit précédemment. Les efforts à appliquer par l'opérateur dans le cadre de la phase préalable peuvent par exemple s'apparenter aux efforts que celui-ci appliquerait s'il souhaitait s'assurer que la poignée est correctement fixée.
Le contrôleur 1 10 peut par ailleurs être configuré pour mettre en œuvre un procédé de pilotage du robot tel que décrit ci-après.
Un exemple de procédé de pilotage du robot est décrit ci-après en référence à la figure 3.
Lors d'une étape de positionnement 301 , l'opérateur humain positionne la poignée à un endroit donné de la pièce à manipuler. L'étape de positionnement 301 peut avantageusement être suivie par une étape de vérification 302 des moyens de fixation, lors de laquelle il peut être vérifié que la poignée est fixée de manière appropriée. Des moyens de surveillance 3020 des moyens de pilotage peuvent délivrer une information représentative de la bonne fixation de la poignée. Des exemples de moyens de surveillance 3020 sont décrits ci-après. S'il est déterminé lors de l'étape de vérification 302 que les moyens de pilotage ne sont pas fixés de manière appropriée, alors le système de pilotage peut par exemple être mis dans un mode dit « dégradé » 3021 , dans lequel la détermination des consignes de commande du robot est réalisée uniquement à partir des informations délivrées par les capteurs présents sur le robot. Alternativement, s'il est déterminé lors de l'étape de vérification 302 que les moyens de pilotage ne sont pas fixés de manière appropriée, le système de pilotage peut être par exemple mis dans un mode de sécurité dans lequel tous les degrés de liberté du robot sont bloqués.
L'étape de vérification 302, ou bien l'étape de positionnement 301 si aucune étape de vérification n'est envisagée, est suivie d'une étape de détermination 303 de la position et de l'attitude des moyens de pilotage.
Un algorithme d'estimation ou d'identification peut être mis en œuvre lors de l'étape de détermination 303, permettant de déterminer la position et l'orientation des moyens de pilotage par rapport à l'effecteur du robot.
Au préalable, la position et l'orientation ou attitude sont initialisées. La position et l'attitude initiales peuvent être choisies arbitrairement, par exemple elles peuvent être choisies identiques à la position et à l'attitude de l'effecteur du robot lorsque les moyens de pilotage sont fixés pour la première fois sur la pièce à manipuler. Pour la suite, à chaque déplacement des moyens de pilotage par l'opérateur, l'initialisation peut être réalisée sur la base de la position et de l'attitude des moyens de pilotage estimées à l'issue du déplacement précédent de ceux-ci.
Avantageusement, l'initialisation peut être réalisée plus finement, par exemple si des moyens additionnels tels qu'un accéléromètre 3D ou une centrale inertielle dans les moyens de pilotage, sont disponibles. Ainsi que cela est décrit précédemment, l'initialisation peut par exemple être réalisée à partir de la connaissance préalable de l'accélération liée à la gravité terrestre lorsqu'un accéléromètre est disponible, et/ou à partir d'une estimation de position et d'attitude réalisée à partir des données de la centrale inertielle et de la mise en œuvre d'un filtre d'estimation, lorsque ces éléments sont disponibles.
L'estimation de la position et de l'attitude des moyens de pilotage requiert plusieurs mesures des efforts appliqués au niveau de ceux-ci, et les efforts correspondants appliqués au niveau de l'effecteur du robot. A cette fin, l'opérateur applique divers efforts sur les moyens de pilotage, par exemple à l'instar des efforts qu'il appliquerait sur ceux-ci pour vérifier qu'ils sont correctement fixés, ainsi que cela est décrit précédemment.
Suivant les hypothèses de la mécanique du solide, il est possible d'appliquer la relation de Varignon permettant d'exprimer le torseur appliqué en un point A d'un solide en un autre point B de ce solide uniquement grâce à la position et l'orientation liant ces deux points, aux torseurs réduits au niveau de l'effecteur du robot, c'est-à-dire de son organe de préhension et des moyens de pilotage.
Selon la présente invention, l'estimation de la position et de l'attitude des moyens de pilotage peut être réalisée en minimisant l'erreur, ou le carré de l'erreur :
- entre la mesure d'un des deux torseurs parmi un premier torseur d'efforts formé par le torseur d'efforts réduit au niveau des moyens de pilotage, et un second torseur d'efforts formé par le torseur d'efforts réduit au niveau de l'organe de préhension du robot, et
- ce même torseur reconstruit à partir de la mesure de l'autre des deux torseurs précités, au moyen de la relation de Varignon.
La position et l'attitude entre les moyens de pilotage et l'effecteur du robot sont alors déterminées lorsque l'erreur est minimale. La position et
l'attitude déterminées correspondent au couple de leurs valeurs permettant d'obtenir la plus petite erreur.
En pratique, l'estimation de la position et de l'attitude des moyens de pilotage peut être réalisée par un traitement et une exploitation en ligne des données, via un algorithme récursif, dans lequel l'estimation du vecteur d'état courant nécessite la connaissance de l'état précédent et des mesures actuelles. Par exemple, un filtre de Kalman peut être utilisé. Plus particulièrement, un filtre de Kalman de type non parfumé, communément désigné selon la terminologie anglaise « Unscented Kalman Filter » ou le sigle y correspondant « UKF » peut être utilisé.
Alternativement, l'estimation de la position et de l'attitude des moyens de pilotage peut être réalisée par un traitement hors ligne des données, en enregistrant toutes les données sur une période déterminée et en utilisant ensuite un algorithme d'optimisation utilisant la méthode de Nelder Mead par exemple.
Ces algorithmes sont cités à titre d'exemple, mais il est entendu que d'autres algorithmes d'estimation ou d'identification peuvent être utilisés.
Il est à observer que des positions et attitudes de plusieurs dispositifs sont déterminées, lorsque les moyens de pilotage sont formés par deux poignées ou d'autres dispositifs décrits ci-après.
Dès lors que la position et l'attitude des moyens de pilotage ont été déterminées à l'issue de l'étape de détermination 303, une étape de détermination des consignes 305 de contrôle du robot peut être réalisée. Les positions et attitudes déterminées permettent un contrôle en effort ou force-position du robot à partir au moins des mesures d'efforts au niveau des moyens de pilotage. Avantageusement, une étape de vérification de la localisation 304 peut être réalisée après l'étape de détermination 303 et avant l'étape de détermination des consignes 305. Par exemple, si des moyens additionnels 3040 tels qu'un accéléromètre 3D ou une centrale inertielle sont compris dans les moyens de pilotage, un contrôle de cohérence entre les estimations fournies par ces moyens additionnels peut être réalisé. S'il est
déterminé lors de l'étape de vérification de la localisation 304 que la position et/ou l'attitude déterminées des moyens de pilotage est incohérente, alors le système de pilotage peut par exemple être mis dans un mode dit « dégradé », et la détermination de la position et de l'attitude peut alors être réalisée lors d'une étape de détermination de substitution 3021 , lors de laquelle la détermination des consignes de commande du robot est réalisée uniquement à partir des informations délivrées par les capteurs présents sur le robot. Alternativement, s'il est déterminé lors de l'étape de vérification de la localisation 304 que la position et l'attitude déterminées des moyens de pilotage est incohérente, le système de pilotage peut être par exemple mis dans un mode de sécurité dans lequel tous les degrés de liberté du robot sont bloqués, ou encore dans lequel seuls les degrés de liberté correspondant à ceux pour lesquels les moyens additionnels permettent le diagnostic d'une incohérence sont bloqués. En parallèle, il peut être procédé à une détermination de la position et de l'attitude de la poignée suivant l'étape de détermination 303, jusqu'à ce que ces dernières soient considérées comme cohérentes. Au préalable, il peut également être procédé à une vérification des moyens de fixations suivant l'étape de vérification 302.
Si de tels moyens additionnels ne sont pas utilisés, un contrôle de cohérence peut être également réalisé à l'étape de vérification de la localisation 304, par une appréciation du niveau de confiance associé aux valeurs estimées. Si ce niveau de confiance est en-deçà d'un seuil déterminé, alors le système de pilotage peut être mis dans le mode dégradé ou dans un mode de sécurité dans lequel tous les degrés de liberté du robot sont bloqués.
L'étape de détermination des consignes 305 est suivie par une étape de contrôle 307 lors de laquelle les consignes sont émises à destination du robot.
En résumé, dès lors que la localisation des moyens de pilotage est cohérente, les efforts appliqués sur les moyens de pilotage sont déterminés, et le robot est contrôlé à partir au moins de ces efforts. Toutes ces étapes forment une boucle et se répètent, par exemple jusqu'à ce qu'il soit détecté que les moyens de pilotage ne sont plus fixés, ou que la localisation ne soit
plus considérée comme cohérente si des moyens sont prévus à cette fin. Le procédé peut alors reprendre selon le logigramme présenté dans la figure 3.
Avantageusement, il est possible de déterminer la position et l'attitude des moyens de pilotage en appliquant la relation de Varignon précitée et sa dérivée respectivement aux vitesses angulaires et aux accélérations mesurées par la centrale inertielle et par des capteurs d'accélération et de vitesse angulaire disposés sur le robot, ces dernières données pouvant également être obtenues à partir des données de position du robot fournies par des capteurs de position disposés sur le robot. La position et l'attitude des moyens de pilotage peuvent alors être estimées d'une manière similaire au principe appliqué aux torseurs d'efforts décrit précédemment, c'est-à-dire en minimisant l'erreur, ou le carré de l'erreur :
- entre la mesure d'un des deux vecteurs composés des accélérations et des vitesses angulaires parmi un premier vecteur formé par le vecteur exprimé au niveau des moyens de pilotage et un second vecteur formé par le vecteur exprimé au niveau de l'organe de préhension du robot, et - ce même vecteur reconstruit à partir de la mesure de l'autre des deux vecteurs précités, au moyen de la relation de Varignon et de sa dérivée.
Egalement d'une manière similaire, l'erreur peut être minimisée grâce à des moyens similaires aux moyens présentés précédemment en relation avec les torseurs d'efforts.
Selon ce mode de réalisation avantageux, la centrale inertielle est utilisée selon un procédé présentant l'avantage de ne pas requérir une intégration de mesures, et ainsi de ne pas induire de dérives. L'algorithme d'estimation et les différentes étapes précitées peuvent être mis en œuvre dans le contrôleur 110 ou par des moyens dédiés.
Avantageusement, le torseur des efforts appliqués sur les moyens de pilotage peut être exploité pour détecter une intention de l'opérateur, et déclencher en fonction de cette intention une commande du robot afin que la trajectoire de ce dernier soit contrainte. Par exemple, une intention de
déplacement en translation peut être détectée, et le robot peut alors être commandé en translation, sans tenir compte de mouvements involontaires de l'opérateur qui pourraient dévier la pièce de son mouvement de translation. De sorte, la pièce est déplacée suivant des guides virtuels. Le principe de guides virtuels est permis par un procédé ou un système selon la présente invention, et permet d'apporter une assistance supplémentaire au geste de l'opérateur, celui-ci pouvant spécifier en ligne un recours à une telle assistance, grâce au positionnement des moyens de pilotage et aux efforts appliqués sur ceux-ci. Le choix du guide virtuel peut être déterminé en fonction des directions et sens des efforts appliqués par l'opérateur sur la poignée, de la combinaison de ces efforts ainsi que de la position où ils sont appliqués. Par exemple si l'opérateur souhaite que la pièce tourne autour de la poignée, il va appliquer seulement un couple autour de l'axe autour duquel il souhaite faire tourner l'objet, et tous les autres efforts seront nuls. Dans un tel cas, il est possible de déterminer que le robot doit décrire un cercle autour de l'axe du couple appliqué avec pour centre la position de la poignée, le sens - ou signe - du couple donnant la direction dans laquelle le cercle doit être décrit par le robot. Lorsque des guides virtuels sont utilisés, le robot peut être commandé en force-position.
En se référant à nouveau à la figure 2, et ainsi que cela est introduit précédemment en référence à la figure 3, la poignée 100 peut avantageusement comprendre des moyens de surveillance des moyens de pilotage, configurés pour détecter le détachement de la poignée 100 de la pièce. Les moyens de surveillance des moyens de pilotage peuvent par exemple être formés par un appendice mobile monté sur un ressort, et disposé au centre de la base du support 103, c'est-à-dire au niveau des moyens de fixation 109. Il est également possible de former les moyens de surveillance des moyens de pilotage par la seule détermination de la position de la poignée : si la position de la poignée 100 est déterminée à une distance supérieure à une valeur de seuil déterminée, il est possible d'en conclure que la poignée n'a pas été maintenue fixée et a glissé, par exemple.
Avantageusement, les moyens de pilotage peuvent être formés par un gant ou bien une paire de gants afin de permettre une manipulation encore facilitée pour l'opérateur.
Un gant peut par exemple comprendre une pluralité de capteurs de pression, et avantageusement au moins un capteur additionnel permettant de déterminer l'orientation de la main.
Avantageusement encore, le gant peut en outre comprendre des capteurs d'efforts multiaxes.