Skip to content
Recurring Problems When Programming Robots and How to Move Past Them

Problèmes récurrents lors de la programmation des robots et comment les résoudres

Avec l’abondance croissante de robots, vous avez besoin d’une augmentation relative d'ingénieurs pour les configurer et ce pour chaque entreprise. Alors, quelle est la complexité d’un processus de programmation d’un robot ?

La vérité est que c’est vraiment difficile! Il y a beaucoup de facteurs à considérer, y compris les capacités du robot, l’espace entourant le robot, comment le robot se déplacera, et bien sûr, le langage de programmation nécessaire pour programmer le robot. 

Les robots sont essentiellement des dispositifs d’enregistrement de mouvement qui vous permettent de générer une procédure. La procédure en question – qui varie d’une entreprise à l’autre – ne sera probablement pertinente que pour une fonction unique dans laquelle les processus de pièces ou d’autres variables restent constants en tout temps. Bien que cette méthode puisse encore être utile pour un certain nombre de processus et d’entreprises, elle peut parfois être effectuée de manière plus fluide.

Voyons quels sont les problèmes les plus courants et comment, exactement, ils affectent le développement.

Langages de programmation

Comme avec tout langage verbal, les langages de programmation existent en abondance. Chaque language est utilisé dans un but spécifique, mais il n’est pas possible pour un programmeur d’apprendre une pléthore de language différents.

Les fabricants et les robots qu’ils développent utilisent différents langages. Ce qu’ABB utilise n’est pas exactement ce que FANUC utilise, et ce que FANUC utilise n’est pas ce qu’Universal Robots utilise. Germán Villalobos, un ingénieur en intelligence artificielle et en robotique, a expliqué dans un article LinkedIn que chaque fabricant « aura plus [three] marques différentes installées dans ses cellules et ses lignes de production, ce qui complique davantage sa formation en programmation de robots.

Les ingénieurs en automatisation et les programmeurs devraient essentiellement apprendre le langage de programmation de chaque fabricant de robots s’ils veulent travailler efficacement sur leur robot assigné. Cependant, apprendre une langue entière, sans parler d’un langage de programmation, est une tâche ardue qui prendra des heures à apprendre et encore plus à maîtriser.

The Top 8 Languages Tested Together
Alors que de nouveaux langages de programmation émergent à toutes les quelques années, les principaux règnent toujours avec JavaScript qui domine. Graphique sur Devskiller.com

Coûts élevés, faible durée

Selon divers rapports, y compris l’article LinkedIn susmentionné, il peut falloir plus de 70 heures pour apprendre correctement comment développer une application simple dans un langage de programmation donné. Multipliez cela par le nombre de robots que vous avez avec leurs propres langues et ajoutez le temps qu’il faudra pour terminer un système d’automatisation, et tout à coup, vous avez des semaines de formation à faire.

Le coût de l’investissement dans la formation pour chaque employé qui a besoin d’apprendre une langue supplémentaire pourrait être astronomique en fonction du nombre d’employés. De plus, il faut tenir compte de l’équipement comme les caméras, les ordinateurs et les robots eux-mêmes si vous achetez de nouvelles technologies.

Villalobos a estimé que pour chaque personne formée, cela pourrait coûter jusqu’à 15000 $ par personne. Ce nombre ne fait qu’augmenter avec chaque nouvelle marque de robot qu’une entreprise acquiert. Pour éviter de dépenser tout cet argent sur la formation, il est important de trouver des alternatives telles que l’embauche d’employés qui sont familiers avec la programmation de types spécifiques de robots, ou tout simplement s’éloigner de la programmation et opter pour un robot basé sur le comportement à la place.

La complexité de la programmation des robots

Teacher Giving Computer Science Lecture to Diverse Multiethnic Group of Female and Male Students in Dark College Room. Projecting Slideshow with Programming Code. Explaining Information Technology.
Bien que l’apprentissage ne soit pas une mauvaise chose en soi, il peut être un fardeau pour les entreprises qui tentent de tenir leurs employés au courant des nouveaux langages de programmation adaptés uniquement à une marque de robot spécifique.

La myriade de langages de programmation et le coût élevé pourraient vous amener à penser que les robots de programmation sont complexes. Certainement, mais ces facteurs ne sont que de petits facteurs dans l’échelle de complexité.

Les entreprises de robotique ne cachent même pas à quel point il peut être compliqué de programmer un robot. En fait, DIY Robotics a une page dédiée à certains problèmes récurrents qu’un programmeur rencontrera lorsqu’il travaillera sur des projets de robotique. En bref, ils décrivent des problèmes au cours du processus de programmation qui comprennent des malentendus sur les limites physiques et les capacités du robot. Cependant, pour alléger le fardeau, ils suggèrent d’utiliser des outils que chaque fabricant de robots propose pour alléger le fardeau.

Villalobos a poursuivi dans son article que la programmation des robots est trop difficile à faire correctement et efficacement sur les robots. Il fait valoir que la programmation des robots « a les mêmes bases de l’informatique, plus la difficulté de manipuler les différentes mécaniques des bras de robots, des contrôleurs électroniques avec des logiciels qui diffèrent selon les fabricants; et qui sont également hautement personnalisables pour différents processus et différentes normes de qualité et de sécurité industrielles. »

Avec autant de variables à considérer ainsi que la rigidité que la programmation apporte, il peut être trop compliqué de programmer correctement un robot dans un délai raisonnable pour effectuer des tâches spécifiques.

Universitaires et robots de programmation

La complexité de la programmation des robots est non seulement connue des fabricants, mais les universitaires l’ont également noté. Dans une étude menée par Eleonora Bilotta et Pietro Pantano pour l’Université de Calabre en 2000, ils ont analysé une variété de problèmes, y compris les « difficultés de programmation de la commande du robot [and] l’organisation du programme en fonction du matériel, des logiciels, des comportements et de la conception du rendement en robotique. » Plus précisément, ils se concentrent sur la robotique en relation avec l’enseignement du contrôle aux enfants. Bien que ce ne soit pas exactement de la fabrication, leurs découvertes et critiques de la programmation sont assez similaires à celles rencontrées dans ce domaine.

Tout au long de l’étude, Bilotta et Pantano soutiennent que la méthode actuelle de programmation des robots pourrait être meilleure et pencher vers des procédures modernes, y compris la robotique ascendante et la robotique basée sur le comportement. Et bien que 22 ans se soient écoulés depuis la publication de l’étude, certaines de leurs critiques restent toujours pertinentes.

Ils décrivent certaines des difficultés qu’ils ont rencontrées avec la programmation, y compris la longueur du processus ainsi que tous les facteurs externes qui pourraient entrer en jeu lors de l’exécution d’une action spécifique. Au lieu de cela, ils préfèrent essayer de travailler à travers les comportements.

« Du point de vue de la programmation, l’espace de comportement du robot est défini par les emplacements que le robot peut atteindre (ou par l’ensemble des actions qu’il doit afficher dans l’espace physique) et par la transition entre ces emplacements. Même si le robot peut atteindre un nombre presque infini d’états, il est préférable de concevoir un espace de comportement utile dans lequel le programmeur se limite à un petit nombre d’états », affirment-ils.

Ils impliquent de libérer du temps grâce à des comportements permettant de mieux comprendre les capacités des robots tout en ne prenant pas autant de temps pour les faire fonctionner. Il y a plus de 20 ans encore, la robotique comportementale était considérée comme l’avenir.

Behaviors pour tous!

La programmation robotique est une compétence, un métier ou un métier complexe – appelez-le comme vous voulez – mais elle doit évoluer. Dans la programmation logicielle, de nouveaux langages émergent chaque décennie, voire tous les deux ou trois ans, rendant les langages plus anciens obsolètes ou déroutant les ingénieurs plus âgés en ajoutant à la quantité de connaissances dont ils ont besoin pour faire leur travail.

Les solutions open-source incluent Swift, Rust et Kubernetes qui n’ont gagné en popularité que ces dernières années. Ils sont loin d’être les plus dominants, mais leur émergence n’est pas négligeable.

Les constructeurs et les intégrateurs de machines ne sont pas des programmeurs de métier, mais des concepteurs. Les concepteurs ont besoin de solutions simples. Ils doivent pouvoir faire plus avec moins (ou même) de lignes de code.

La robotique Behavior-based est en voie de devenir le meilleur moyen pour la robotique d’avancer sans avoir à s’adapter à de nouveaux langages à chaque fois qu’ils sortent. Au lieu de s’appuyer sur des calculs prédéfinis qui peuvent gérer un processus fixe, la robotique Behavior-based s’adapte à son environnement pour effectuer une série de tâches hétérogènes.

Ils peuvent s’adapter à l’aide de capteurs indiquant essentiellement au robot ce qu’est la pièce, ses dimensions et comment il peut effectuer au mieux la tâche pour laquelle il a été configuré. Tout cela se fait grâce à une interface plus conviviale et qui élimine le besoin d’analyser des centaines de lignes de code.

Mettre en place un robot autonome pour la première fois semble être l’aube d’une nouvelle ère, mais cela peut également être trompeur. À l’oreille non formée, le mot « autonome » semble pouvoir faire n’importe quoi en se basant uniquement sur la puissance de l’IA, ou quelque chose comme Wall-E du film Disney. Bien que l’exécution d’une tâche puisse être une tâche difficile en ce moment, un robot autonome peut effectuer une tâche spécifique étant donné qu’il a été programmé pour le faire. La vraie question demeure : voulez-vous toujours programmer des robots dans le futur?

Arbitrator
Un exemple de la façon dont la robotique behavior-based pourrait fonctionner pour un projet open-source sur Github.

Avec AutonomyOS™, votre cellule d’automatisation flexible sera plus puissante que jamais. Avec la possibilité de configurer des comportements pour exécuter des tâches telles que la pulvérisation de peinture, le ponçage, le soudage et bien plus encore, vous trouverez toute la flexibilité nécessaire pour répondre à vos besoins de fabrication. Contactez-nous pour en savoir plus