Comment les systèmes de vision sont-ils calibrés pour fonctionner avec des robots industriels ?

Tiempo de lectura: 6 minutos

Introduction

Si nous analysons le marché des technologies industrielles, nous pouvons constater que les investissements et la recherche dans le domaine de la robotique n’ont pas cessé de croître au cours de la dernière décennie, étant l’un des domaines avec la plus grande projection pour les années à venir dans différents secteurs, y compris le médical, la fabrication, la logistique, l’automobile, la vente au détail, l’agroalimentaire, entre autres. Quelques exemples d’applications telles que la cueillette de fruits, la dépalettisation intelligente, le prélèvement de pièces dans des conteneurs, les robots de cuisine, les robots capables de manipuler des explosifs, les robots d’assistance en salle d’opération, sans oublier les célèbres chiots Spot ou le robot sauteur Atlas de Boston Dynamics capable de se relever d’une chute de manière presque naturelle, ou encore la controversée Sophia de Hanson Robotics, qui fut le premier robot à apparence humaine.

Figure 1. Certains des robots les plus avancés au monde. Source : Google (2022)

Lorsque nous parlons de robotique industrielle, nous faisons référence à un domaine de l’ingénierie qui traite de la définition, du développement, de la fabrication et de l’installation de robots qui contribuent à automatiser le travail des personnes dans l’industrie, en exécutant les tâches plus rapidement, plus précisément, sans repos et en évitant tout danger pour les opérateurs. Cela signifie que certains emplois, notamment les tâches répétitives, ont désormais peu de valeur ajoutée et nécessitent un personnel plus qualifié capable de travailler en collaboration homme-robot. Cet aspect est très controversé et a donné lieu à de nombreux débats, tant chez les partisans que chez les détracteurs.

L’automatisation et la robotique ont été un élément fondamental de la quatrième révolution industrielle, car grâce à ces deux technologies, il a été possible d’augmenter et d’améliorer de nombreux processus de production qui étaient auparavant réalisés manuellement. Aujourd’hui, nous pouvons trouver de nombreuses usines et entrepôts intelligents où la grande majorité des processus sont réalisés par des bras robotiques, des agv, des drones, des machines, des manipulateurs, des cobots, entre autres.

Figure 2 : Les robots industriels. Source : Google (2022)

La vision industrielle appliquée à la robotique industrielle

Pour un robot, comme pour un être humain, un aspect important de la compréhension du monde qui nous entoure est la vision. Depuis des décennies, des travaux sont menés dans ce domaine pour doter les machines d’yeux qui les aident à identifier ce qu’il faut chercher et où, à éviter les obstacles, à reconnaître les modèles, les objets et/ou les personnes, à prendre des décisions basées sur le traitement des images pour savoir quoi ou comment agir. Pour tout cela, l’un des facteurs importants dans de nombreuses applications est que le système de vision soit capable de traduire quelque chose qui nous est inné, à savoir la position des choses dans notre environnement dans le monde réel. Pour ce faire, il est nécessaire de calibrer les robots et les systèmes de vision ensemble afin de pouvoir passer des coordonnées de vision aux coordonnées du monde.

Il faut tenir compte du fait qu’il existe une multitude de dispositifs et de technologies d’acquisition d’images différentes, mais qu’en général et en excluant certains capteurs, on peut les regrouper en deux grandes familles qui seraient les systèmes de vision 2D ou les systèmes de vision 3D où la différence fondamentale est l’image ou les données résultant d’une acquisition. Le système 2D fournit une image monochrome ou couleur qui représente une scène projetée sur un plan avec des coordonnées x, y, où chaque pixel de la matrice équivaut au niveau d’intensité lumineuse capté par le capteur dans ce pixel, tandis qu’un système 3D renvoie généralement un nuage de points qui représente la surface détectée, où chacun des points équivaut à une coordonnée x, y, z. Bien qu’avec un système 2D nous soyons en mesure d’obtenir la position ou la pose 3D des objets projetés dans l’image au moyen de différentes techniques d’homographie, dans cet article nous allons nous concentrer sur l’explication de la manière dont un système de caméra robot 2D et un système de caméra robot 3D sont calibrés de manière généralisée.

Tout d’abord, il faut faire la différence entre deux modes de fonctionnement : le mode « eye to hand », où la caméra est placée dans une position fixe, et le mode « eye in hand », où la caméra est embarquée à bord du robot et peut donc changer d’emplacement en fonction de la position du robot au moment de la prise de vue. Le processus d’étalonnage sera légèrement différent, bien que dans les deux cas nous utiliserons une norme d’étalonnage connue pour estimer les poses de la cible et ainsi étalonner notre système.

Figura 3. Comparaison entre l’œil dans la main et l’œil vers la main. Fuente : Page web de Torsteins ( 2017)

Un autre point important est le capteur d’acquisition, car un système 3D est généralement calibré en usine et un système 2D ne l’est pas, car la distance de travail, l’optique et le champ de vision peuvent varier en fonction de l’application. Pour cette raison, la première étape dans les systèmes non calibrés sera d’effectuer ce que l’on appelle la calibration intrinsèque, qui se réfère à la calibration du système d’acquisition lui-même. Les logiciels ou bibliothèques de vision par ordinateur disposent généralement de méthodes permettant de réaliser cette tâche de manière très simple.

Le processus consiste à utiliser la norme d’étalonnage connue, à obtenir des images de différentes positions et angles de celle-ci afin de réaliser un processus qui nous permettra de déterminer une relation précise entre un point 3D dans le monde réel et sa projection 2D correspondante.

Figure 4 : Processus d’étalonnage. Source : Propre (2022)

Le processus d’étalonnage renvoie les paramètres internes du système caméra-objectif tels que la distance focale, le centre optique et les coefficients de distorsion radiale de l’objectif définis par l’équation suivante.

Ce dernier aspect est important car les lentilles, à l’exception des lentilles télécentriques, introduisent une aberration dans l’image qui peut être plus ou moins grande selon le type de lentille, la longueur focale et la qualité de la lentille.

Figure 5 : Comparaison des optiques standard et télécentrique. Source : Propre (2022)

Cette distorsion affecte surtout les extrêmes de l’image de sorte que, d’une part, nous ne voyons pas la projection de l’objet ou de la scène parfaitement perpendiculaire comme cela se produit avec l’optique télécentrique et, d’autre part, le rapport pixel-millimètre n’est pas équidistant, mais l’erreur est plus grande à mesure que l’on se rapproche des extrêmes. En effectuant un calibrage intrinsèque, nous serons en mesure de corriger l’image pour réduire l’aberration introduite par le système optique.

Figure 6 : Correction de la distorsion optique. Source : VideoStudio (2022)

Une fois ce processus effectué, nous serons en mesure, étant donné un point dans l’image, de trouver sa correspondance dans le monde réel par rapport au système de coordonnées basé sur la caméra. Dans le cas des systèmes 3D, nous obtiendrons directement les coordonnées x, y, z du monde réel, puisqu’il existe une corrélation entre l’image 2D et le nuage de points, alors que dans les systèmes 2D, étant un système linéaire dans lequel nous pouvons projeter des plans parallèles, nous devrons connaître ou calculer la distance Z du point afin d’obtenir les coordonnées x, y.

Figure 7. Système de coordonnées de la caméra. Source : learnoprncv (2020)

D’autre part, comme l’objectif est de pouvoir donner un point dans l’espace pour que le robot puisse le localiser, il est nécessaire de créer un système de coordonnées dans la base robot-caméra. Ce processus est réalisé au moyen d’un calibrage extrinsèque avec lequel nous obtiendrons une matrice de rotation et de translation, de sorte que nous pourrons traduire les coordonnées obtenues dans la base de la caméra en base du robot-caméra au moyen de l’équation suivante.

Enfin, une fois notre système calibré, nous serons en mesure de réaliser une multitude d’applications différentes où le système de caméra du robot parlera le même langage et nous aurons donc fait un premier pas pour donner aux machines l’un de nos sens les plus précieux, à savoir la vision.

Écrit par Sergio Redondo Cabanillas, Responsable R&D chez Bcnvision Group.

Vous voulez lire d’autres articles techniques ?

Vous avez un projet et vous avez besoin de poser une question?

Contact avec Bcnvision