Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Un robot mobile avec un évitement d'obstacles basé sur la vision

Résumé :

Le but de ce rapport est de discuter et de démontrer le concept de conception et de mise en œuvre d'un robot mobile capable de détecter visuellement et d'éviter les obstacles à l'aide d'une webcam USB. Le système a été porté sur le matériel Raspberry Pi, un ordinateur basé sur Linux à 35 $ US. Ce blog mettra en évidence les concepts importants qui étaient nécessaires pour réaliser la mise en œuvre réussie d'un robot mobile capable de naviguer dans un environnement intérieur. La solution proposée est destinée à être utilisée dans un entrepôt pour transporter des marchandises d'un endroit à l'autre sans avoir besoin d'opérateurs humains.

Présentation :

Des robots existent déjà sur le marché, mais ces robots sont chers à l'achat et sont spécialement conçus pour fonctionner dans un seul environnement environnemental tel qu'un entrepôt, un champ de bataille ou à la maison. Ces robots sont capables de détecter des obstacles à l'aide de capteurs passifs tels que des capteurs à ultrasons et des capteurs infrarouges et sont parfois appelés véhicules autonomes en raison de leur mobilité à la surface du sol. Traditionnellement, ces systèmes autonomes sont généralement équipés de capteurs passifs tels que des capteurs de distance à ultrasons, des capteurs infrarouges ou un GPS pour capter sa position et son environnement. La présence de ces capteurs permet au robot d'éviter les collisions avec des obstacles lorsqu'il est placé avec des obstacles (Wang J. et al, 2011). Cependant, avec l'avancement de la technologie des systèmes informatiques embarqués à faible coût avec une puissance de traitement élevée, il est possible d'utiliser une méthode plus fiable et plus rentable pour concevoir des robots autonomes capables de détecter les obstacles. Une méthode possible serait d'utiliser un algorithme de vision par ordinateur qui serait visuellement capable de détecter et d'éviter les obstacles. La méthode de détection d'obstacles basée sur des capteurs est limitée à la proximité des obstacles par rapport à la distance du robot, cependant, avec la méthode basée sur la vision, il est possible de détecter et d'identifier l'obstacle avant d'éviter l'obstacle.

Solution et artefact proposés :

L'objectif de ce rapport est de concevoir un robot autonome capable de détecter et d'éviter les obstacles à l'aide d'une webcam USB connectée à un Raspberry Pi. Ce rapport présentera le concept de base des robots mobiles et les technologies actuellement utilisées dans un environnement intérieur. Les étapes suivantes ont été effectuées afin de mettre en œuvre le système proposé :

De plus, les objectifs suivants ont été atteints afin de réaliser pleinement le système proposé :

Liste du matériel et des logiciels :

Le système proposé a été implémenté sur un Raspberry Pi en utilisant une webcam USB pour capturer des images. Voici la liste du matériel et des logiciels nécessaires pour réaliser pleinement le robot autonome proposé.

Matériel :

Progiciel :

Le système proposé est capable de détecter un obstacle à différentes distances. Ceci a été inspiré par l'algorithme d'apparition visuelle et a été obtenu en définissant le nombre minimum de pixels dans le code tout en mesurant la distance entre la caméra et l'obstacle.

Figure - La configuration expérimentale utilisée pour trouver la relation entre le cercle du projet et la distance de l'obstacle au robot

Le montage montré ci-dessus peut être réalisé en laboratoire pour mesurer la distance entre l'obstacle (cercle) et le robot afin de déterminer la relation entre les nombres minimaux de pixels qui correspondront à la distance réelle de l'obstacle au robot. Comme le montrent le diagramme ci-dessus et la discussion faite au chapitre 2, la taille du cercle est plus grande lorsque le cercle est plus proche tandis qu'elle est plus petite lorsque le cercle est plus éloigné. Par conséquent, un ensemble de tests pourrait être effectué qui permettrait des mesures de distance de l'obstacle contre le robot lorsque le nombre de pixels est modifié dans l'algorithme. L'obstacle sera déplacé comme indiqué dans le schéma ci-dessus afin de trouver la bonne distance à laquelle l'algorithme détecte l'obstacle.

Figure – Le concept de l'imminence visuelle est inspiré de la science médicale

Organigramme du système global :

L'organigramme suivant explique comment le robot basé sur la vision proposé serait conçu à l'aide de Raspberry Pi et du framework SimpleCV. Comme le montre la figure 6, une webcam USB sera connectée au Raspberry Pi en entrée de l'ordinateur. La webcam USB analysera les images entrantes pour une forme géométrique spécifique, c'est-à-dire un cercle qui sera placé sur des obstacles. La raison de marquer les obstacles avec une forme géométrique, c'est-à-dire un cercle, a été décidée simplement pour réduire le temps lors de la préparation de l'algorithme. Habituellement, la détection d'obstacles basée sur la vision est effectuée à l'aide de deux caméras qui créent une vision stéréo pour évaluer la distance entre le robot et les obstacles (Neves &Matos, 2013). Par conséquent, la détection d'une forme géométrique, c'est-à-dire des cercles à l'aide d'une seule caméra, a été obtenue en calculant le rayon du cercle aiderait le robot à détecter la distance du robot et des obstacles. Cette méthode de détection d'obstacle s'inspire de la méthode de vision looming proposée par Sachin &Paolo (1998).

Le système proposé intégrera une caméra USB qui sera connectée à un Raspberry Pi. Raspberry Pi exécutera un script python qui saisira des images dans la vidéo tout en recherchant une forme géométrique, c'est-à-dire des cercles. Si le cercle est détecté, en fonction de l'emplacement du cercle sur l'écran, le script tirera vers le haut ou vers le bas les broches du port GPIO qui seront utilisées pour contrôler la direction du robot.

Structure de l'algorithme de vision par ordinateur :

L'algorithme a été préparé sur un ordinateur portable sous Ubuntu avant d'être porté sur un Raspberry Pi. Cela est dû au fait qu'Ubuntu et Raspbian sont des versions de Linux, ce qui facilite le portage et la mise en œuvre de l'algorithme entre les plates-formes. Cela m'a donné la possibilité de travailler avec l'algorithme sans avoir besoin de me connecter constamment à mon Raspberry Pi. Par conséquent, l'algorithme a été implémenté indépendamment sans se soucier de l'interface matérielle.

La première étape de la conception d'un système basé sur la vision consiste à sélectionner la région d'intérêt (ROI) qui détecterait l'obstacle et nous aiderait à préparer l'algorithme. Le ROI dans ce cas est un cercle noir qui serait détecté par l'algorithme. Après détection, l'algorithme binarise l'image afin que seule la région d'intérêt soit visible sur le fond. L'algorithme mesurerait les coordonnées du cercle sur l'écran et mesurerait les coordonnées par rapport à la région de l'écran où le cercle a été détecté. Si la coordonnée tombe au centre de l'écran, l'algorithme déplacera le robot en conséquence, comme indiqué précédemment.

Avant d'écrire l'algorithme, il fallait décider de la résolution d'écran qui permettrait au Raspberry Pi de détecter et de suivre l'obstacle. Étant donné que Raspberry Pi est un ordinateur de faible puissance avec une vitesse d'horloge système de 700 MHz et une RAM limitée de 512 Mo, l'entrée vidéo haute définition consommerait donc beaucoup de puissance de traitement, ce qui finirait par rendre le système peu fiable. Par conséquent, un juste milieu doit être sélectionné, ce qui serait suffisant pour que l'ordinateur Raspberry Pi traite les données de la caméra.

Après plusieurs essais et erreurs, une résolution de 320 × 240 a été sélectionnée comme discuté dans la section suivante. Cette résolution était suffisante pour détecter les différents espaces colorimétriques et formes géométriques. Il a également été constaté dans l'expérience que cette résolution ne provoquait pas de décalage de la vidéo d'entrée comme c'était le cas avec une résolution plus élevée, en particulier, 640 × 480 et plus. Ceci est discuté en détail dans la section 4 de ce rapport.

La première étape de détection d'obstacle à partir de l'image consistait à diviser l'écran en trois segments distincts, comme le montre la figure 8. Cela a été fait pour détecter et suivre la position de l'obstacle afin que l'action motrice respective puisse être effectuée comme indiqué dans le section précédente. Pour ce projet de conception, les obstacles sont représentés par un symbole spécifique, c'est-à-dire un cercle ; par conséquent, la présence d'un cercle enregistrerait la présence d'un obstacle dans l'algorithme.

Pour plus de détails :Un robot mobile doté d'un système d'évitement d'obstacles basé sur la vision


Processus de fabrication

  1. Quelle est la réalité de la vision robotique ?
  2. Robot évitant les murs basé sur Raspberry Pi – FabLab NerveCentre
  3. Robot contrôlé par le Web Raspberry Pi avec vidéo
  4. Robot de tri de recyclage avec Google Coral
  5. Résoudre les problèmes de maintenance avec la collaboration mobile
  6. Évitement d'obstacles à l'aide de l'intelligence artificielle
  7. Robot de désinfection avec des lumières ultraviolettes
  8. Obstacles pour éviter le robot avec servomoteur
  9. Le robot associe un bras robotisé collaboratif à une plate-forme mobile