Il est difficile d'imaginer la construction d'un objet physique sans l'avoir d'abord entièrement conçu, assemblé et même testé sur ordinateur. Les outils de CAO/FAO et les simulations multi-physiques sont facilement disponibles, ce qui vous permet d'itérer rapidement dans le monde numérique plutôt que de construire N-prototypes de votre gadget et de dépenser beaucoup d'argent pour essayer de l'obtenir correctement.
Source : https://www.solidsmack.com/cad/the-5-things-that-made-me-take-another-look-at-fusion-360/
Pourquoi en serait-il autrement pour une cellule de travail d'un robot industriel ?
Pour tous ceux qui travaillent avec des outils de programmation hors ligne (OLP) ou de simulation, l'intérêt de pouvoir travailler dans le confort d'un jumeau numérique est évident. Vous pouvez expérimenter dans un environnement sans risque et valider l'ensemble d'un processus depuis votre bureau. La validation d'un processus en simulation est essentielle car la marge d'erreur est très faible sur un vrai robot. Les robots peuvent être de grosses bêtes puissantes qui détruiront docilement des milliers de dollars de matériel juste parce que vous vous êtes trompé d'un millimètre dans vos calculs. Sans parler du danger potentiel pour le personnel qui se trouve à proximité du robot pendant les essais. Ainsi, plus nous pourrons simuler, plus nous serons en sécurité et plus nous serons productifs.
Source : https://www.youtube.com/watch?v=LzZmPRm4rII&t=45s
Il est surprenant de constater que les outils OLP et de simulation, bien qu'ils soient de plus en plus courants et populaires, ne constituent pas la norme pour la plupart des cellules de travail robotisées. Une grande partie de la programmation s'effectue en ligne, ou in situ dans l'atelier de production. Il y a deux raisons principales à cela :
Examinons donc ces défis dans l'ordre où ils se présentent.
En fonction de votre application, la complexité de votre simulation peut varier considérablement. Si vous avez un seul robot qui soude une pièce sur une table dans une cellule fermée, vous avez juste besoin de savoir si le robot peut atteindre tous les points de soudure, s'il va entrer en collision avec quoi que ce soit, et s'il peut souder dans les limites du temps de cycle requis. Vous voudrez peut-être aussi simuler le processus de chargement et de déchargement de la pièce. Tout cela peut être réalisé sans avoir recours à une simulation physique vraiment complexe et ne nécessite pas trop de calculs. Fuzzy Studio a été conçu en pensant à ce type d'applications. Nous voulions rendre la simulation de robots accessible à tous, quelle que soit leur formation en robotique.
Mais imaginons que votre torche MIG soit équipée d'un câble encombrant qui pourrait entraver les mouvements du robot. Nous entrons à présent dans des problèmes plus complexes. Vous devez modéliser le câble, qui est un élément flexible (dont vous ne pouvez que deviner les paramètres) et simuler correctement son mouvement en fonction de l'endroit où il est attaché et de son modèle physique. Il s'agit d'un problème difficile. De nombreux outils fournissent des approximations qui ne sont pas mauvaises, mais qui nécessitent une grande confiance dans les règles empiriques.
Qu'en est-il si nous travaillons sur une application de manutention, telle que le prélèvement de boîtes sur un convoyeur et leur mise en place sur une palette ? Nous devons modéliser le mouvement du convoyeur et des boîtes qu'il contient. Nous devons simuler le processus de "prélèvement" de la boîte, l'intégrer au robot, puis "placer" la boîte sur la palette ou parmi les boîtes déjà placées. Tout cela nécessite beaucoup plus de configuration et donc des outils qui sont intrinsèquement plus complexes.
Morale de l'histoire : plus vous voulez simuler de choses et plus vous voulez que votre simulation corresponde à la réalité, plus vos outils de simulation devront être complexes. Vous devez donc toujours essayer de trouver l'outil qui convient le mieux. Si une simulation cinématique de base suffit, c'est parfait. Si vous avez besoin d'un moteur physique complet parce que vous avez des interactions dynamiques complexes entre les objets, alors préparez-vous à retrousser vos manches. Mais quelle que soit la qualité du choix de votre outil de simulation et de l'élaboration de votre simulation, vous devez garder à l'esprit une dure vérité : votre simulation ne correspondra jamais parfaitement à votre réalité.
Les simulations ne sont rien d'autre que des modèles mathématiques complexes et imparfaits du monde physique. Certains modèles mathématiques sont meilleurs que d'autres, mais de nombreux phénomènes sont difficiles à appréhender correctement : le contact entre des objets, la déformation de corps souples, la mécanique des fluides, etc.
Même avec les meilleures équations, il y a toujours des choses qui ne vont pas dans la réalité. Les pièces mécaniques et les assemblages ont tous des tolérances et des erreurs non mesurées. Les robots que nous supposons parfaitement rigides fléchissent lorsqu'ils sont chargés de centaines de kilos de charge utile. Les pièces peuvent être montées différemment de ce qui a été prévu dans la simulation. Et n'oublions pas la bonne vieille usure. La liste est longue.
Mais tout n'est pas perdu. Il existe de nombreux trucs, outils et bonnes pratiques qui permettent d'atténuer suffisamment ces erreurs pour que nous puissions les oublier.
C'est le problème le plus important d'après mon expérience. Les pièces, l'outillage en bout de bras, les fixations, etc. ne sont jamais là où vous les avez placés dans votre modèle numérique parfait. Ils sont généralement assez proches, mais comme le disait toujours mon professeur de mathématiques en cinquième année, "la proximité ne compte que pour les fers à cheval et les grenades à main" ! En matière de robotique industrielle, quelques centimètres d'erreur peuvent entraîner des problèmes importants, selon la direction dans laquelle vous vous trouvez...
Source : https://en.wikipedia.org/wiki/Workplace_robotics_safety
C'est là que l'étalonnage prend tout son sens. L'étalonnage peut signifier beaucoup de choses différentes en robotique, mais de manière générale, il s'agit du processus de détermination de la différence de position et d'orientation entre deux cadres de référence. Le plus souvent, nous parlons de la position d'un objet par rapport à la base de notre robot. Il s'agit d'un sujet riche en mathématiques et en astuces du monde réel, auquel nous consacrerons une série complète de tutoriels. Pour l'instant, disons qu'il existe une solution à tous les problèmes d'étalonnage que vous pouvez rencontrer (certains ont juste un prix élevé).
Je ne fais pas de généralités, mais en règle générale, ce problème ne se pose qu'avec les gros robots. Les robots qui soulèvent de lourdes charges (>50 kg) ou les robots à grande portée (>3 m) sont particulièrement concernés. Si vous ne comprenez pas bien de quoi je parle, essayez de tenir votre chaise de bureau avec un bras tendu. À moins que vous ne soyez très fort ou que votre chaise soit très légère, votre bras s'abaissera probablement un peu. Les robots sont confrontés au même problème.
Source : https://www.techbriefs.com/component/content/article/tb/supplements/md/features/applications/33714
L'affaissement n'est certainement pas le terme technique utilisé pour désigner ce problème, mais il y a trois façons de le résoudre :
Comme nous l'avons déjà mentionné, la modélisation des câbles est difficile à réaliser correctement. La plupart du temps, les gens ne le font tout simplement pas et disent "YOLO" avant d'exécuter leur première trajectoire sur le vrai robot. Honnêtement, ce n'est pas aussi fou que cela en a l'air. Tout mouvement robotique que vous envisagez d'exécuter sur le vrai robot doit d'abord être exécuté à vitesse réduite, avec une main sur l'interrupteur de l'homme mort. La validation humaine de la première trajectoire est une étape critique qui devrait toujours faire partie d'un déploiement. Au cours de cette première "marche à blanc", vous vérifiez que rien n'entre en collision ou ne s'emmêle.
Les faisceaux de câbles peuvent devenir très compliqués en fonction de l'outillage, et même une vérification manuelle n'est pas sans risque. Il s'agit d'un véritable problème pour les intégrateurs de systèmes, c'est pourquoi il existe sur le marché un certain nombre de systèmes de gestion des câbles qui permettent de mettre de l'ordre dans tout cet enchevêtrement.
Source : https://www.hhbarnum.com/products/cable-management/robotic-dress-packs/
Une autre pratique courante consiste à limiter certaines articulations à des plages qui n'entraînent pas la rupture ou l'enchevêtrement du câble ou du système de gestion des câbles pendant l'utilisation. Toutefois, cela limite l'amplitude globale des mouvements du robot et peut s'avérer trop conservateur.
Comme toute machine, les robots s'usent avec le temps. La lubrification devient moins efficace, la friction et le jeu mécanique entraînent des erreurs de positionnement (parmi un milliard d'autres problèmes possibles). Comme pour votre santé, "une once de prévention vaut une livre de guérison". L'entretien et les contrôles réguliers sont votre ami dans ce domaine.
Pour l'instant, j'ai surtout parlé de simulation, mais le terme OLP fait référence non seulement à la simulation de la cellule de travail du robot, mais aussi à la génération du code du robot qui doit être téléchargé sur le contrôleur du robot. Cela remplace l'ennui de devoir écrire les lignes dans le boîtier d'apprentissage ou de devoir les apprendre manuellement - ce qui peut prendre des heures pour des mouvements complexes. Lorsque vous travaillez avec une solution OLP du fabricant de robots, vous pouvez être certain que le mouvement simulé correspondra exactement au mouvement réel du robot, car le fabricant sait exactement comment fonctionnent les contrôleurs de robots. Ce qui pose problème, c'est lorsque vous travaillez avec un logiciel tiers qui ne peut qu'approximer ce que le contrôleur du robot OEM fera. Pour les mouvements simples comme les lignes droites d'un point à un autre (ou articulaires ou cartésiennes), les simulations tierces peuvent être assez proches du comportement du contrôleur OEM. Mais pour des mouvements plus complexes avec des dizaines, des centaines ou des milliers de points à parcourir, les simulations tierces ne s'en approchent même pas. Cette situation est particulièrement préoccupante pour les mouvements à trajectoire continue (CP), tels que le polissage d'une aile d'avion ou l'ébavurage d'un collecteur.
Pour résoudre ces incohérences, vous pouvez essayer de fixer les points manuellement à l'aide du pendentif d'apprentissage du robot s'il n'y en a que quelques dizaines. Mais s'il y a quelques centaines de points, vous devrez probablement refaire votre mouvement simulé ou le post-traitement du code du robot. Le flux de travail standard de la programmation hors ligne ressemble un peu à ceci : vous faites votre simulation, exportez votre code robot, le copiez sur votre clé USB, le téléchargez et le compilez sur le contrôleur du robot, le réessayez sur le vrai robot et croisez les doigts, en espérant que cela fonctionne - si ce n'est pas le cas, vous réessayez. Ces itérations peuvent être lentes, laborieuses et finalement infructueuses.
C'est précisément la raison pour laquelle nous avons créé https://flr.io/fr-fr/real-time-control-module.
Nos premiers clients avaient besoin d'exécuter des trajectoires complexes à grande vitesse et de les modifier en temps réel. Pour un seul mouvement, nous devions souvent effectuer entre 10 et 30 itérations de ce type pour obtenir un résultat satisfaisant. Le cycle d'itération classique de l'OLP n'était tout simplement pas assez efficace pour nous.
Comme nous l'avions déjà fait dans le passé, nous avons décidé de contourner le code propriétaire du robot et de contrôler directement les articulations du robot en temps réel. Cela signifie que nous avons dû réinventer les algorithmes de mouvement à partir de zéro, mais une fois que nous l'avons fait, nous avons pu nous assurer que tout mouvement que nous avions dans notre simulation 3D serait le même que celui exécuté sur le vrai robot. Cela signifie que nous pouvions effectuer toutes nos itérations sur l'ordinateur et les exécuter instantanément sur le robot en quelques secondes, au lieu de perdre des heures à faire des allers-retours avec le robot et le flux de travail OLP traditionnel.
Les outils de simulation sont la voie royale pour rendre la robotique plus facile, plus sûre et plus accessible, car nous pouvons travailler dans un environnement à risque zéro avant même de mettre le pied dans l'usine. À mesure que les outils de simulation s'amélioreront, deviendront moins chers et plus accessibles, ils ouvriront la robotique à un nombre croissant d'utilisateurs. Il est facile d'établir des parallèles avec le monde de la CAO, avec l'avènement d'outils accessibles tels que Fusion 360 d'Autodesk. De même, le monde des logiciels d'impression 3D a fait des bonds en avant en quelques années. Aujourd'hui, il est presque plus facile d'utiliser une imprimante 3D qu'une simple imprimante de bureau.
Mais quelle que soit la qualité de ces outils, l'écart de réalité - la différence entre notre simulation et notre machine réelle - sera toujours présent. C'est pourquoi nous avons besoin d'outils, de technologies et de savoir-faire pour combler cet écart et automatiser avec succès de nouvelles applications robotiques passionnantes.