Inhaltsverzeichnis:
- Schritt 1: Projektübersicht
- Schritt 2: Hintergrundrecherche
- Schritt 3: Designanforderungen
- Schritt 4: Engineering Design und Geräteauswahl
- Schritt 5: Geräteauswahl: Interaktionsmethode
- Schritt 6: Geräteauswahl: Mikrocontroller
- Schritt 7: Geräteauswahl: Sensoren
- Schritt 8: Geräteauswahl: Software
- Schritt 9: Geräteauswahl: Andere Teile
- Schritt 10: Systementwicklung: Erstellen des Hardware-Teils 1
- Schritt 11: Systementwicklung: Erstellen des Hardware-Teils 2
- Schritt 12: Systementwicklung: Programmierung des Systems Teil 1
Video: Verwenden von Sonar, Lidar und Computer Vision auf Mikrocontrollern zur Unterstützung von Sehbehinderten - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Ich möchte einen intelligenten „Stock“schaffen, der Menschen mit Sehbehinderung viel mehr helfen kann als bestehende Lösungen. Der Gehstock kann den Benutzer auf Gegenstände vor oder an den Seiten hinweisen, indem er ein Geräusch in den Surround-Sound-Kopfhörern erzeugt. Der Gehstock wird auch eine kleine Kamera und LIDAR (Light Detection and Ranging) haben, damit er Gegenstände und Personen im Raum erkennen und den Benutzer über die Kopfhörer benachrichtigen kann. Aus Sicherheitsgründen blockieren die Kopfhörer nicht alle Geräusche, da ein Mikrofon vorhanden ist, das alle unnötigen Geräusche herausfiltert und die Autohupen und die Leute am Reden hält. Schließlich verfügt das System über ein GPS, damit es Wegbeschreibungen geben und dem Benutzer zeigen kann, wohin er gehen soll.
Bitte stimmen Sie für mich bei den Wettbewerben Microcontroller und Outdoor Fitness!
Schritt 1: Projektübersicht
Laut World Access for the Blind ist körperliche Bewegung eine der größten Herausforderungen für Blinde. Reisen oder einfach nur eine überfüllte Straße entlang zu gehen, kann sehr schwierig sein. Traditionell war die einzige Lösung die Verwendung des allgemein bekannten „weißen Stocks“, der hauptsächlich verwendet wird, um die Umgebung zu scannen, indem er auf Hindernisse in der Nähe des Benutzers trifft. Eine bessere Lösung wäre ein Gerät, das den sehenden Assistenten ersetzen kann, indem es Informationen über die Position von Hindernissen liefert, damit die blinde Person in unbekannte Umgebungen hinausgehen und sich sicher fühlen kann. In diesem Projekt wurde ein kleines batteriebetriebenes Gerät entwickelt, das diese Kriterien erfüllt. Das Gerät kann die Größe und Position von Objekten mithilfe von Sensoren erkennen, die die Position von Objekten in Bezug auf den Benutzer messen, diese Informationen an einen Mikrocontroller weiterleiten und sie dann in Audio umwandeln, um dem Benutzer Informationen bereitzustellen. Das Gerät wurde mit verfügbaren kommerziellen LIDAR (Light Detection and Ranging), SONAR (Sound Navigation and Ranging) und Computer-Vision-Technologien gebaut, die mit Mikrocontrollern verbunden und so programmiert sind, dass sie die erforderliche hörbare Informationsausgabe über Ohrhörer oder Kopfhörer bereitstellen. Die Erkennungstechnologie wurde in einen „weißen Stock“eingebettet, um anderen den Zustand des Benutzers anzuzeigen und zusätzliche Sicherheit zu bieten.
Schritt 2: Hintergrundrecherche
Im Jahr 2017 berichtete die Weltgesundheitsorganisation, dass es weltweit 285 Millionen sehbehinderte Menschen gibt, von denen 39 Millionen vollständig blind sind. Die meisten Menschen denken nicht über die Probleme nach, mit denen sehbehinderte Menschen täglich konfrontiert sind. Laut World Access for the Blind ist körperliche Bewegung eine der größten Herausforderungen für Blinde. Reisen oder einfach nur eine überfüllte Straße entlang zu gehen, kann sehr schwierig sein. Aus diesem Grund ziehen es viele Menschen mit Sehbehinderung vor, einen sehenden Freund oder ein Familienmitglied mitzubringen, um sich in neuen Umgebungen zurechtzufinden. Traditionell war die einzige Lösung die Verwendung des allgemein bekannten „weißen Stocks“, der hauptsächlich verwendet wird, um die Umgebung zu scannen, indem er auf Hindernisse in der Nähe des Benutzers trifft. Eine bessere Lösung wäre ein Gerät, das den sehenden Assistenten ersetzen kann, indem es Informationen über die Position von Hindernissen liefert, damit die blinde Person in unbekannte Umgebungen hinausgehen und sich sicher fühlen kann. NavCog, eine Zusammenarbeit zwischen IBM und der Carnegie Mellon University, hat versucht, das Problem zu lösen, indem es ein System entwickelt hat, das Bluetooth-Beacons und Smartphones als Orientierungshilfe verwendet. Die Lösung war jedoch umständlich und erwies sich für groß angelegte Implementierungen als sehr kostspielig. Meine Lösung adressiert dies, indem sie den Bedarf an externen Geräten eliminiert und den Benutzer mithilfe einer Stimme durch den Tag führt (Abbildung 3). Der Vorteil, die Technologie in einen „weißen Stock“eingebettet zu haben, besteht darin, dass sie dem Rest der Welt den Zustand des Benutzers signalisiert, der das Verhalten der umliegenden Menschen verändert.
Schritt 3: Designanforderungen
Nachdem ich die verfügbaren Technologien recherchiert hatte, diskutierte ich mit Sehexperten mögliche Lösungen über den besten Ansatz, um Sehbehinderten bei der Navigation in ihrer Umgebung zu helfen. In der folgenden Tabelle sind die wichtigsten Funktionen aufgeführt, die für die Umstellung auf mein Gerät erforderlich sind.
Funktion - Beschreibung:
- Berechnung - Das System muss eine schnelle Verarbeitung der zwischen Benutzer und Sensoren ausgetauschten Informationen bereitstellen. Das System muss beispielsweise in der Lage sein, den Benutzer über Hindernisse in einer Entfernung von mindestens 2 m zu informieren.
- Abdeckung – Das System muss seine Dienste im Innen- und Außenbereich bereitstellen, um die Lebensqualität sehbehinderter Menschen zu verbessern.
- Zeit - Das System sollte sowohl tagsüber als auch nachts funktionieren.
- Reichweite - Die Reichweite ist die Entfernung zwischen dem Benutzer und dem vom System zu erkennenden Objekt. Die ideale minimale Reichweite beträgt 0,5 m, während die maximale Reichweite mehr als 5 m betragen sollte. Weitere Entfernungen wären noch besser, aber schwieriger zu berechnen.
- Objekttyp – Das System sollte das plötzliche Auftauchen von Objekten erkennen. Das System sollte in der Lage sein, zwischen bewegten Objekten und statischen Objekten zu unterscheiden.
Schritt 4: Engineering Design und Geräteauswahl
Nachdem ich mir viele verschiedene Komponenten angesehen hatte, entschied ich mich für Teile, die aus den verschiedenen Kategorien unten ausgewählt wurden.
Preis der ausgewählten Teile:
- Zungle-Panther: $149,99
- LiDAR Lite V3: 149,99 $
- LV-MaxSonar-EZ1: 29,95 $
- Ultraschallsensor - 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 $
Schritt 5: Geräteauswahl: Interaktionsmethode
Ich habe mich entschieden, die Sprachsteuerung als Methode zur Interaktion mit dem Gerät zu verwenden, da mehrere Tasten an einem Stock für eine sehbehinderte Person eine Herausforderung darstellen können, insbesondere wenn einige Funktionen eine Kombination von Tasten erfordern. Mit der Sprachsteuerung kann der Benutzer voreingestellte Befehle verwenden, um mit dem Stock zu kommunizieren, was potenzielle Fehler reduziert.
Gerät: Vorteile --- Nachteile:
- Tasten: Kein Befehlsfehler beim Drücken der rechten Taste --- Es kann schwierig sein, sicherzustellen, dass die richtigen Tasten gedrückt werden
- Sprachsteuerung: Einfach, da der Benutzer voreingestellte Befehle verwenden kann --- Falsche Aussprache kann zu Fehlern führen
Schritt 6: Geräteauswahl: Mikrocontroller
Das Gerät verwendete den Raspberry Pi wegen seiner geringen Kosten und ausreichender Rechenleistung, um die Tiefenkarte zu berechnen. Der Intel Joule wäre die bevorzugte Option gewesen, aber sein Preis hätte die Kosten des Systems verdoppelt, was für dieses Gerät, das entwickelt wurde, um eine kostengünstigere Option für Benutzer zu bieten, nicht ideal wäre. Das Arduino wurde im System verwendet, da es leicht Informationen von Sensoren erhalten kann. Der BeagleBone und Intel Edison wurden aufgrund des niedrigen Preis-Leistungs-Verhältnisses nicht verwendet, was für dieses kostengünstige System schlecht ist.
Mikrocontroller: Vorteile --- Nachteile:
- Raspberry Pi: Verfügt über genügend Rechenleistung zum Auffinden von Hindernissen und hat WiFi/Bluetooth integriert --- Nicht viele Möglichkeiten zum Empfangen von Daten von Sensoren
- Arduino: Einfach Daten von kleinen Sensoren empfangen. dh. LIDAR, Ultraschall, SONAR usw. --- Nicht genügend Rechenleistung zum Auffinden von Hindernissen
- Intel Edison: Kann Hindernisse mit schnellem Prozessor schnell verarbeiten --- Erfordert zusätzliche Entwicklerteile, um für das System zu funktionieren
- Intel Joule: Hat die doppelte Verarbeitungsgeschwindigkeit aller Mikrocontroller auf dem Verbrauchermarkt bisher --- Sehr hohe Kosten für dieses System und schwierige Interaktion mit GPIO für die Sensorinteraktion
- BeagleBone Black: Kompakt und kompatibel mit Sensoren, die im Projekt verwendet werden, indem der General Purpose Input Output (GPIO) verwendet wird --- Nicht genügend Rechenleistung, um Objekte effektiv zu finden
Schritt 7: Geräteauswahl: Sensoren
Um eine hohe Ortungsgenauigkeit zu erreichen, wird eine Kombination mehrerer Sensoren verwendet. Der Kinect ist der Hauptsensor, da er gleichzeitig nach Hindernissen scannen kann. LIDAR, was für Light Detection and Ranging steht, ist eine Fernerkundungsmethode, die Licht in Form eines gepulsten Lasers verwendet, um Entfernungen von der Position des Sensors zu Objekten schnell zu messen; Dieser Sensor wird verwendet, weil er einen Bereich von bis zu 40 Metern (m) Entfernung verfolgen und in verschiedenen Winkeln scannen kann, um zu erkennen, ob Stufen nach oben oder unten gehen. Die SOund Navigation And Ranging (SONAR) und Ultraschallsensoren werden als Backup-Tracking verwendet, falls die Kinect einen Mast oder eine Bodenwelle verfehlt, die eine Gefahr für den Benutzer darstellen würde. Der 9-Freiheitsgrad-Sensor wird verwendet, um zu verfolgen, in welche Richtung der Benutzer blickt, damit das Gerät die Informationen für eine höhere Genauigkeit speichern kann, wenn die Person das nächste Mal an derselben Stelle geht.
Sensoren: Vorteile --- Nachteile:
- Kinect V1: Kann 3D-Objekte verfolgen mit --- Nur eine Kamera zur Umgebungserkennung
- Kinect V2: Verfügt über 3 Infrarotkameras und eine Rot-Grün-Blau-Tiefenkamera (RGB-D) für hochpräzise 3D-Objekterkennung --- Kann sich erwärmen und benötigt möglicherweise einen Lüfter und ist größer als andere Sensoren
- LIDAR: Strahl, der bis zu 40 m entfernte Standorte verfolgen kann --- Muss auf das Objekt ausgerichtet werden und kann nur in diese Richtung blicken
- SONAR: Strahl, der in 5 m Entfernung verfolgt werden kann, aber in weiter Entfernung --- Kleine Objekte wie Federn können den Sensor auslösen
- Ultraschall: Hat eine Reichweite von bis zu 3 m und ist sehr günstig --- Entfernungen können gelegentlich ungenau sein
- 9 Freiheitsgrade Sensor: Gut zum Erfassen von Orientierung und Geschwindigkeit des Benutzers --- Wenn etwas die Sensoren stört, können die Entfernungsberechnungen falsch berechnet werden
Schritt 8: Geräteauswahl: Software
Die ausgewählte Software für die ersten Prototypen, die mit dem Kinect V1-Sensor gebaut wurden, war Freenect, aber sie war nicht sehr genau. Beim Umstieg auf Kinect V2 und Freenect2 wurden die Tracking-Ergebnisse aufgrund des verbesserten Trackings deutlich verbessert, da der V2 über eine HD-Kamera und 3 Infrarotkameras verfügt, im Gegensatz zu einer einzelnen Kamera bei der Kinect V1. Als ich OpenNi2 mit der Kinect V1 verwendet habe, waren die Funktionen eingeschränkt und ich konnte einige Funktionen des Geräts nicht steuern.
Software: Vorteile --- Nachteile:
- Freenect: Hat ein geringeres Maß an Kontrolle, um alles zu kontrollieren --- Unterstützt nur die Kinect V1
- OpenNi2: Kann die Punktwolkendaten einfach aus dem Informationsstrom von Kinect erstellen --- Unterstützt nur Kinect V1 und unterstützt keine Low-Level-Steuerung
- Freenect2: Hat eine geringere Kontrolle für die Sensorleiste --- Funktioniert nur für Kinect V2
- ROS: Betriebssystem ideal zum Programmieren von Kamerafunktionen --- Muss auf einer schnellen SD-Karte installiert werden, damit die Software funktioniert
Schritt 9: Geräteauswahl: Andere Teile
Lithium-Ionen-Batterien wurden ausgewählt, weil sie leicht sind, eine hohe Leistungskapazität haben und wiederaufladbar sind. Die 18650-Variante des Lithium-Ionen-Akkus hat eine zylindrische Form und passt perfekt in den Stock-Prototyp. Der erste Prototyp des Stocks besteht aus PVC-Rohr, da er hohl ist und das Gewicht des Stocks reduziert.
Schritt 10: Systementwicklung: Erstellen des Hardware-Teils 1
Zuerst müssen wir die Kinect zerlegen, damit sie leichter wird und in den Stock passt. Ich begann damit, das gesamte Außengehäuse von der Kinect zu entfernen, da der verwendete Kunststoff viel wiegt. Dann musste ich das Kabel abschneiden, damit die Basis entfernt werden konnte. Ich nahm die Drähte von dem im Bild gezeigten Stecker und lötete sie an ein USB-Kabel mit Signaldrähten und die anderen beiden Anschlüsse waren für die 12V-Eingangsspannung. Da ich wollte, dass der Lüfter im Rohr mit voller Leistung läuft, um alle anderen Komponenten zu kühlen, habe ich den Stecker des Lüfters vom Kinect abgeschnitten und 5V vom Raspberry Pi verdrahtet. Ich habe auch einen kleinen Adapter für das LiDAR-Kabel gemacht, damit es ohne andere Systeme dazwischen direkt an den Raspberry Pi angeschlossen werden kann.
Ich habe versehentlich das weiße Kabel an das schwarze gelötet, also schauen Sie sich die Bilder nicht für Schaltpläne an
Schritt 11: Systementwicklung: Erstellen des Hardware-Teils 2
Ich habe ein Reglerstück erstellt, um alle Geräte mit Strom zu versorgen, die 5 V benötigen, wie der Raspberry Pi. Ich habe den Regler abgestimmt, indem ich ein Messgerät auf den Ausgang gelegt und den Widerstand so eingestellt habe, dass der Regler 5,05 V liefert. Ich habe es etwas höher als 5 V gesetzt, da die Batteriespannung mit der Zeit abnimmt und die Ausgangsspannung leicht beeinflusst. Ich habe auch einen Adapter gemacht, mit dem ich bis zu 5 Geräte mit Strom versorgen kann, die die 12V von der Batterie benötigen.
Schritt 12: Systementwicklung: Programmierung des Systems Teil 1
Einer der schwierigsten Teile dieses Systems ist die Programmierung. Als ich die Kinect zum ersten Mal dazu gebracht hatte, damit herumzuspielen, installierte ich ein Programm namens RTAB Map, das den Datenstrom von der Kinect aufnimmt und in eine Punktwolke umwandelt. Mit der Punktwolke wurde ein 3D-Bild erstellt, das gedreht werden kann, um die Tiefe aller Objekte zu sehen. Nachdem ich eine Weile damit herumgespielt und alle Einstellungen angepasst hatte, beschloss ich, eine Software auf dem Raspberry Pi zu installieren, damit ich den Datenstrom von der Kinect sehen kann. Die letzten beiden Bilder oben zeigen, was der Raspberry Pi mit etwa 15-20 Bildern pro Sekunde produzieren kann.
Empfohlen:
So verwenden Sie einen Debugger auf einem ESP32 – wikiHow
So verwenden Sie einen Debugger auf einem ESP32: Wollten Sie schon immer einen Blick in Ihren Code werfen, um zu sehen, warum er sich so verhält, wie er ist? Traditionell hätten Sie in ESP32-Projekten endlose print-Anweisungen hinzufügen müssen, um herauszufinden, was vor sich ging, aber es gibt einen besseren Weg! Ein Debugger
Verwendung von Mikrocontrollern zum Betrieb und zur Überwachung des Fernbewässerungssystems : 4 Schritte
Einsatz von Mikrocontrollern zum Betrieb und zur Überwachung des Fernbewässerungssystems : Landwirte und Gewächshausbetreiber für ein kostengünstiges automatisches Bewässerungssystem. In diesem Projekt integrieren wir einen elektronischen Bodenfeuchtesensor mit einem Mikrocontroller, um Pflanzen automatisch ohne menschliches Zutun zu bewässern, wenn der Boden zu trocken ist
MyPhotometrics - Gandalf: Leistungsmessgerät Zur Messung Von Lasern Im Sichtbaren Bereich Auf Basis Von "Sauron": 8 Schritte
MyPhotometrics - Gandalf: Leistungsmessgerät Zur Messung Von Lasern Im Sichtbaren Bereich Auf Basis Von "Sauron": Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz. Eine für Menschen lesbare Zusammenfassung dieser Lizenz findet sich hier.Was ist Gandalf?Gandalf ist eine Stand-A
Drahtlose Kommunikation mit billigen 433MHz-HF-Modulen und Pic-Mikrocontrollern. Teil 2: 4 Schritte (mit Bildern)
Drahtlose Kommunikation mit billigen 433MHz-HF-Modulen und Pic-Mikrocontrollern. Teil 2: Im ersten Teil dieser Anleitung habe ich gezeigt, wie man einen PIC12F1822 mit MPLAB IDE und XC8-Compiler programmiert, um einen einfachen String drahtlos mit billigen TX / RX 433 MHz-Modulen zu senden. Das Empfängermodul wurde über einen USB mit UART TTL verbunden Kabel-Werbung
Installieren von Add-on-Karten auf Ihrem Computer.: 4 Schritte
Installieren von Add-On-Karten auf Ihrem Computer.: In diesem anweisbaren zeige ich Ihnen, wie Sie Add-On-Karten wie Video-, Audio- oder Spielkarten auf Ihrem Computer installieren. Denken Sie daran, wenn Sie nicht wissen, was Sie tun oder sich nicht wohl dabei fühlen, tun Sie es nicht!!! Denn ich hafte nicht für