Table des matières:

Utilisation du sonar, du lidar et de la vision par ordinateur sur des microcontrôleurs pour aider les malvoyants : 16 étapes
Utilisation du sonar, du lidar et de la vision par ordinateur sur des microcontrôleurs pour aider les malvoyants : 16 étapes

Vidéo: Utilisation du sonar, du lidar et de la vision par ordinateur sur des microcontrôleurs pour aider les malvoyants : 16 étapes

Vidéo: Utilisation du sonar, du lidar et de la vision par ordinateur sur des microcontrôleurs pour aider les malvoyants : 16 étapes
Vidéo: Conférence inspirante avec Bruno Maisonnier : L'Organic AI 2024, Juillet
Anonim
Utilisation du sonar, du lidar et de la vision par ordinateur sur des microcontrôleurs pour aider les malvoyants
Utilisation du sonar, du lidar et de la vision par ordinateur sur des microcontrôleurs pour aider les malvoyants

Je veux créer une « canne » intelligente qui peut aider les personnes malvoyantes bien plus que les solutions existantes. La canne pourra avertir l'utilisateur d'objets devant ou sur les côtés en faisant un bruit dans les écouteurs de type son surround. La canne disposera également d'une petite caméra et d'un LIDAR (Light Detection and Ranging) afin qu'elle puisse reconnaître les objets et les personnes dans la pièce et avertir l'utilisateur à l'aide des écouteurs. Pour des raisons de sécurité, les écouteurs ne bloqueront pas tout le bruit car il y aura un microphone qui peut filtrer tous les sons inutiles et faire parler les klaxons de la voiture et les gens. Enfin, le système disposera d'un GPS afin qu'il puisse donner des directions et montrer à l'utilisateur où aller.

Veuillez voter pour moi dans les concours Microcontrôleur et Fitness en plein air !

Étape 1: Présentation du projet

Aperçu du projet
Aperçu du projet
Aperçu du projet
Aperçu du projet
Aperçu du projet
Aperçu du projet

Selon World Access for the Blind, le mouvement physique est l'un des plus grands défis pour les personnes aveugles. Voyager ou simplement marcher dans une rue bondée peut être très difficile. Traditionnellement, la seule solution était d'utiliser la "canne blanche" communément appelée qui est principalement utilisée pour balayer les environs en heurtant les obstacles à proximité de l'utilisateur. Une meilleure solution serait un appareil qui peut remplacer l'assistant voyant en fournissant des informations sur la localisation des obstacles afin que la personne aveugle puisse sortir dans des environnements inconnus et se sentir en sécurité. Au cours de ce projet, un petit appareil à piles répondant à ces critères a été développé. Le dispositif peut détecter la taille et l'emplacement d'un objet au moyen de capteurs qui mesurent la position des objets par rapport à l'utilisateur, transmettent ces informations à un microcontrôleur, puis les convertissent en audio pour fournir des informations à l'utilisateur. L'appareil a été construit à l'aide des technologies commerciales disponibles LIDAR (Light Detection and Ranging), SONAR (Sound Navigation and Ranging) et de vision par ordinateur liées à des microcontrôleurs et programmées pour fournir les informations sonores requises à l'aide d'écouteurs ou d'écouteurs. La technologie de détection a été intégrée dans une « canne blanche » pour indiquer aux autres l'état de l'utilisateur et offrir une sécurité supplémentaire.

Étape 2: Recherche de fond

Recherche en arrière plan
Recherche en arrière plan
Recherche en arrière plan
Recherche en arrière plan
Recherche en arrière plan
Recherche en arrière plan
Recherche en arrière plan
Recherche en arrière plan

En 2017, l'Organisation mondiale de la santé a signalé qu'il y avait 285 millions de personnes malvoyantes dans le monde, dont 39 millions sont complètement aveugles. La plupart des gens ne pensent pas aux problèmes auxquels les personnes malvoyantes sont confrontées tous les jours. Selon World Access for the Blind, le mouvement physique est l'un des plus grands défis pour les personnes aveugles. Voyager ou simplement marcher dans une rue bondée peut être très difficile. Pour cette raison, de nombreuses personnes malvoyantes préfèrent amener un ami ou un membre de la famille voyant pour les aider à naviguer dans de nouveaux environnements. Traditionnellement, la seule solution était d'utiliser la "canne blanche" communément appelée qui est principalement utilisée pour balayer les environs en heurtant les obstacles à proximité de l'utilisateur. Une meilleure solution serait un appareil qui peut remplacer l'assistant voyant en fournissant des informations sur l'emplacement des obstacles afin que la personne aveugle puisse sortir dans des environnements inconnus et se sentir en sécurité. NavCog, une collaboration entre IBM et l'Université Carnegie Mellon, a tenté de résoudre le problème en créant un système qui utilise des balises Bluetooth et des smartphones pour aider à guider. Cependant, la solution était lourde et s'est avérée très coûteuse pour les implémentations à grande échelle. Ma solution résout ce problème en éliminant tout besoin d'appareils externes et en utilisant une voix pour guider l'utilisateur tout au long de la journée (Figure 3). L'avantage d'avoir la technologie intégrée dans une « canne blanche » est qu'elle signale au reste du monde l'état de l'utilisateur qui provoque un changement dans le comportement des personnes environnantes.

Étape 3: Exigences de conception

Exigences de conception
Exigences de conception

Après avoir recherché les technologies disponibles, j'ai discuté des solutions possibles avec des professionnels de la vision sur la meilleure approche pour aider les malvoyants à naviguer dans leur environnement. Le tableau ci-dessous répertorie les fonctionnalités les plus importantes requises pour que quelqu'un passe à mon appareil.

Description des fonctions:

  • Calcul - Le système doit fournir un traitement rapide des informations échangées entre l'utilisateur et les capteurs. Par exemple, le système doit être en mesure d'informer l'utilisateur d'obstacles en face d'au moins 2 m.
  • Couverture - Le système doit fournir ses services à l'intérieur et à l'extérieur pour améliorer la qualité de vie des personnes malvoyantes.
  • Heure - Le système devrait fonctionner aussi bien de jour que de nuit.
  • Portée - La portée est la distance entre l'utilisateur et l'objet à détecter par le système. La portée minimale idéale est de 0,5 m, alors que la portée maximale devrait être supérieure à 5 m. D'autres distances seraient encore meilleures mais plus difficiles à calculer.
  • Type d'objet - Le système doit détecter l'apparition soudaine d'objets. Le système doit être capable de faire la différence entre les objets en mouvement et les objets statiques.

Étape 4: Conception technique et sélection de l'équipement

Conception technique et sélection d'équipement
Conception technique et sélection d'équipement
Conception technique et sélection d'équipement
Conception technique et sélection d'équipement
Conception technique et sélection d'équipement
Conception technique et sélection d'équipement

Après avoir examiné de nombreux composants différents, j'ai choisi des pièces sélectionnées dans les différentes catégories ci-dessous.

Prix des pièces sélectionnées:

  • Panthère de Zungle: 149,99 $
  • LiDAR Lite V3: 149,99 $
  • LV-MaxSonar-EZ1: 29,95 $
  • Capteur à ultrasons - HC-SR04: 3,95 $
  • Raspberry Pi 3: 39,95 $
  • Arduino: 24,95 $
  • Kinect: 32,44 $
  • Floureon 11.1v 3s 1500mAh: 19,99 $
  • LM2596HV: 9,64 $

Étape 5: Sélection de l'équipement: méthode d'interaction

Sélection de l'équipement: méthode d'interaction
Sélection de l'équipement: méthode d'interaction
Sélection de l'équipement: méthode d'interaction
Sélection de l'équipement: méthode d'interaction

J'ai décidé d'utiliser la commande vocale comme méthode pour interagir avec l'appareil, car avoir plusieurs boutons sur une canne peut être difficile pour une personne malvoyante, surtout si certaines fonctions nécessitaient une combinaison de boutons. Avec la commande vocale, l'utilisateur peut utiliser des commandes prédéfinies pour communiquer avec la canne, ce qui réduit les erreurs potentielles.

Appareil: Avantages --- Inconvénients:

  • Boutons: aucune erreur de commande lorsque le bouton droit est enfoncé --- Il peut être difficile de s'assurer que les bons boutons sont enfoncés
  • Commande vocale: Facile car l'utilisateur peut utiliser des commandes prédéfinies --- Une prononciation incorrecte peut induire des erreurs

Étape 6: Sélection de l'équipement: Microcontrôleur

Sélection d'équipement: Microcontrôleur
Sélection d'équipement: Microcontrôleur
Sélection d'équipement: Microcontrôleur
Sélection d'équipement: Microcontrôleur
Sélection d'équipement: Microcontrôleur
Sélection d'équipement: Microcontrôleur

L'appareil a utilisé le Raspberry Pi en raison de son faible coût et de sa puissance de traitement suffisante pour calculer la carte de profondeur. L'Intel Joule aurait été l'option privilégiée mais son prix aurait doublé le coût du système ce qui ne serait pas idéal cet appareil qui est développé pour offrir une option à moindre coût pour les utilisateurs. L'arduino a été utilisé dans le système car il peut facilement obtenir des informations à partir de capteurs. Le BeagleBone et Intel Edison n'ont pas été utilisés en raison du faible rapport prix/performances, ce qui est mauvais pour ce système à faible coût.

Microcontrôleur: Avantages --- Inconvénients:

  • Raspberry Pi: A assez de puissance de traitement pour trouver des obstacles et a intégré WiFi/Bluetooth --- Peu d'options pour recevoir les données des capteurs
  • Arduino: recevez facilement des données de petits capteurs. c'est à dire. LIDAR, Ultrasons, SONAR, etc --- Pas assez de puissance de traitement pour trouver des obstacles
  • Intel Edison: peut traiter les obstacles rapidement avec un processeur rapide --- Nécessite des éléments de développement supplémentaires pour fonctionner pour le système
  • Intel Joule: A le double de la vitesse de traitement de l'un des microcontrôleurs sur le marché grand public à ce jour --- Coût très élevé pour ce système et difficile à interagir avec GPIO pour l'interaction des capteurs
  • BeagleBone Black: compact et compatible avec les capteurs utilisés dans le projet en utilisant la sortie d'entrée à usage général (GPIO) --- Pas assez de puissance de traitement pour trouver efficacement des objets

Étape 7: Sélection de l'équipement: capteurs

Sélection de l'équipement: capteurs
Sélection de l'équipement: capteurs
Sélection de l'équipement: capteurs
Sélection de l'équipement: capteurs
Sélection de l'équipement: capteurs
Sélection de l'équipement: capteurs

Une combinaison de plusieurs capteurs est utilisée afin d'obtenir une grande précision de localisation. Le Kinect est le capteur principal en raison de la quantité de zone qu'il peut analyser à la fois pour détecter les obstacles. LIDAR, qui signifie Light Detection and Ranging, est une méthode de télédétection qui utilise la lumière sous la forme d'un laser pulsé pour mesurer rapidement les distances entre le capteur et les objets; ce capteur est utilisé car il peut suivre une zone jusqu'à 40 mètres (m) et comme il peut balayer sous différents angles, il peut détecter si des marches montent ou descendent. Le Sound Navigation And Ranging (SONAR) et les capteurs à ultrasons sont utilisés comme suivi de secours dans le cas où le Kinect manque un poteau ou une bosse dans le sol qui constituerait un danger pour l'utilisateur. Le capteur à 9 degrés de liberté est utilisé pour suivre la direction dans laquelle l'utilisateur fait face afin que l'appareil puisse stocker les informations pour une direction plus précise la prochaine fois que la personne marche au même endroit.

Capteurs: Avantages --- Inconvénients:

  • Kinect V1: Peut suivre des objets 3D avec --- Une seule caméra pour détecter les environs
  • Kinect V2: dispose de 3 caméras infrarouges et d'une caméra rouge, verte, bleue, profondeur (RVB-D) pour une détection d'objets 3D de haute précision --- Peut chauffer et peut nécessiter un ventilateur de refroidissement, et est plus grand que les autres capteurs
  • LIDAR: Faisceau qui peut suivre des emplacements jusqu'à 40 m --- Doit être positionné vers l'objet et ne peut regarder que dans cette direction
  • SONAR: Faisceau qui peut suivre à 5 m mais dans une distance lointaine --- Les petits objets comme les plumes peuvent déclencher le capteur
  • Ultrasons: a une portée allant jusqu'à 3 m et est très bon marché --- Les distances peuvent parfois être inexactes
  • Capteur à 9 degrés de liberté: bon pour détecter l'orientation et la vitesse de l'utilisateur --- Si quelque chose interfère avec les capteurs, les calculs de distance peuvent être mal calculés

Étape 8: Sélection de l'équipement: logiciel

Sélection de l'équipement: logiciel
Sélection de l'équipement: logiciel
Sélection de l'équipement: logiciel
Sélection de l'équipement: logiciel
Sélection de l'équipement: logiciel
Sélection de l'équipement: logiciel

Le logiciel sélectionné pour les premiers prototypes construits avec le capteur Kinect V1 était Freenect mais il n'était pas très précis. Lors du passage à Kinect V2 et Freenect2, les résultats de suivi ont été considérablement améliorés grâce à un suivi amélioré car le V2 dispose d'une caméra HD et de 3 caméras infrarouges par opposition à une seule caméra sur le Kinect V1. Lorsque j'utilisais OpenNi2 avec le Kinect V1, les fonctions étaient limitées et je ne pouvais pas contrôler certaines des fonctions de l'appareil.

Logiciel: Avantages --- Inconvénients:

  • Freenect: A un niveau de contrôle inférieur pour tout contrôler --- Ne prend en charge que le Kinect V1
  • OpenNi2: peut facilement créer les données de nuage de points à partir du flux d'informations du Kinect --- Ne prend en charge que le Kinect V1 et ne prend pas en charge le contrôle de bas niveau
  • Freenect2: A un niveau de contrôle inférieur pour la barre de capteur --- Ne fonctionne que pour le Kinect V2
  • ROS: Système d'exploitation idéal pour programmer les fonctions de la caméra --- Doit être installé sur une carte SD rapide pour que le logiciel fonctionne

Étape 9: Sélection de l'équipement: autres pièces

Sélection d'équipement: autres pièces
Sélection d'équipement: autres pièces
Sélection d'équipement: autres pièces
Sélection d'équipement: autres pièces

Les batteries au lithium-ion ont été sélectionnées en raison de leur légèreté, de leur capacité de puissance élevée et de leur capacité de charge. La variante 18650 de la batterie lithium-ion a une forme cylindrique et s'intègre parfaitement dans le prototype de la canne. Le 1er prototype de canne est en tube PVC car il est creux et réduit le poids de la canne.

Étape 10: Développement du système: Création du matériel Partie 1

Développement du système: création du matériel, partie 1
Développement du système: création du matériel, partie 1
Développement du système: création du matériel, partie 1
Développement du système: création du matériel, partie 1
Développement du système: création du matériel, partie 1
Développement du système: création du matériel, partie 1

Nous devons d'abord démonter le Kinect pour le rendre plus léger et pour qu'il s'adapte à l'intérieur de la canne. J'ai commencé par retirer tout le boîtier extérieur du Kinect car le plastique utilisé pèse BEAUCOUP. Ensuite, j'ai dû couper le câble pour que la base puisse être retirée. J'ai pris les fils du connecteur montré dans l'image et les ai soudés à un câble USB avec des fils de signal et les deux autres connexions étaient pour l'alimentation d'entrée 12V. Comme je voulais que le ventilateur à l'intérieur de la canne fonctionne à pleine puissance pour refroidir tous les autres composants, j'ai coupé le connecteur du ventilateur du Kinect et câblé 5V du Raspberry Pi. J'ai également fabriqué un petit adaptateur pour le fil LiDAR afin qu'il puisse se connecter directement au Raspberry Pi sans aucun autre système entre les deux.

J'ai accidentellement soudé le fil blanc au noir, alors ne regardez pas les images pour les schémas de câblage

Étape 11: Développement du système: Création du matériel, partie 2

Développement du système: création du matériel, partie 2
Développement du système: création du matériel, partie 2
Développement du système: création du matériel, partie 2
Développement du système: création du matériel, partie 2
Développement du système: création du matériel, partie 2
Développement du système: création du matériel, partie 2
Développement du système: création du matériel, partie 2
Développement du système: création du matériel, partie 2

J'ai créé une pièce de régulateur pour alimenter tous les appareils qui nécessitent 5V comme le Raspberry Pi. J'ai réglé le régulateur en mettant un compteur sur la sortie et en ajustant la résistance pour que le régulateur fournisse 5,05V. Je le mets un peu plus haut que 5V car avec le temps, la tension de la batterie baisse et affecte légèrement la tension de sortie. J'ai aussi fabriqué un adaptateur qui me permet d'alimenter jusqu'à 5 appareils qui nécessitent le 12V de la batterie.

Étape 12: Développement du système: Programmation du système Partie 1

Développement du système: programmation du système, partie 1
Développement du système: programmation du système, partie 1
Développement du système: programmation du système, partie 1
Développement du système: programmation du système, partie 1
Développement du système: programmation du système, partie 1
Développement du système: programmation du système, partie 1

L'une des parties les plus difficiles de ce système est la programmation. Lorsque j'ai utilisé le Kinect pour la première fois, j'ai installé un programme appelé RTAB Map qui prend le flux de données du Kinect et le convertit en un nuage de points. Avec le nuage de points, il a créé une image 3D qui peut être pivotée afin de voir la profondeur de l'endroit où se trouvent tous les objets. Après avoir joué avec pendant un certain temps et ajusté tous les paramètres, j'ai décidé d'installer un logiciel sur le Raspberry Pi pour me permettre de voir le flux de données du Kinect. Les deux dernières images ci-dessus montrent ce que le Raspberry Pi peut produire à environ 15-20 images par seconde.

Conseillé: