Inhaltsverzeichnis:

Navigieren Sie den Roboter mit Schuhsensoren, ohne GPS, ohne Karte - Gunook
Navigieren Sie den Roboter mit Schuhsensoren, ohne GPS, ohne Karte - Gunook

Video: Navigieren Sie den Roboter mit Schuhsensoren, ohne GPS, ohne Karte - Gunook

Video: Navigieren Sie den Roboter mit Schuhsensoren, ohne GPS, ohne Karte - Gunook
Video: Beste RASEN MÄHROBOTER ohne Begrenzungskabel | Top 3 GPS-Mähroboter 2024, Juli
Anonim

Von obluobluFolgen Über: oblu ist ein Indoor-Navigationssensor Mehr über oblu »

Der Roboter bewegt sich auf einer vorprogrammierten Bahn und überträgt (über Bluetooth) seine tatsächlichen Bewegungsinformationen an ein Telefon zur Echtzeitverfolgung. Arduino ist mit Pfad vorprogrammiert und oblu wird zum Erfassen der Roboterbewegung verwendet. oblu überträgt in regelmäßigen Abständen Bewegungsinformationen an Arduino. Auf dieser Grundlage steuert Arduino die Bewegungen der Räder, damit der Roboter dem vordefinierten Pfad folgen kann.

Schritt 1: EINE KURZE EINFÜHRUNG

EINE KURZE EINFÜHRUNG
EINE KURZE EINFÜHRUNG

Bei dem Projekt geht es darum, den Roboter präzise auf einer vordefinierten Bahn zu bewegen, ohne GPS oder WLAN oder Bluetooth zur Positionsbestimmung zu verwenden, nicht einmal Karte oder Gebäudeplan. Und zeichnen Sie seinen tatsächlichen Weg (auf die Skala) in Echtzeit. Bluetooth kann als Ersatz für Kabel verwendet werden, um Echtzeit-Standortinformationen zu übertragen.

Schritt 2: DIE INTERESSANTE HINTERGRUNDGESCHICHTE

DIE INTERESSANTE HINTERGRUNDGESCHICHTE
DIE INTERESSANTE HINTERGRUNDGESCHICHTE

Die vorrangige Agenda unseres Teams ist die Entwicklung von schuhmontierten Fußgängernavigationssensoren. Wir wurden jedoch von einer akademischen Forschungsgruppe mit der Anforderung angesprochen, den Roboter in Innenräumen zu navigieren und gleichzeitig seine Echtzeitposition zu überwachen. Sie wollten ein solches System verwenden, um Strahlung in einer geschlossenen Kammer zu kartieren oder Gaslecks in einer industriellen Einrichtung zu erkennen. Solche Orte sind für Menschen gefährlich. auf der Suche nach einer robusten Lösung für die Indoor-Navigation unseres Arduino-basierten Roboters.

Unsere offensichtliche Wahl für jedes Bewegungssensormodul (IMU) war "oblu" (siehe Bild oben). Aber der knifflige Teil hier war, dass die vorhandene Firmware von oblu in einfachen Worten für fußmontierte Indoor-Pedestrian Dead Reckoning (PDR) oder Fußgängernavigation geeignet war. Die PDR-Leistung von oblu im Innenbereich als fußmontierte IMU ist ziemlich beeindruckend. Die Verfügbarkeit der Android-App (Xoblu) für das Echtzeit-Tracking von oblu als Schuhsensor trägt zu diesem Vorteil bei. Die Herausforderung bestand jedoch darin, den bestehenden Algorithmus, der auf dem menschlichen Gehmodell basiert, zur Navigation und Überwachung des Roboters zu nutzen.

Schritt 3: EINE KURZE EINFÜHRUNG IN "oblu"

Image
Image
SYSTEMBESCHREIBUNG
SYSTEMBESCHREIBUNG

"oblu" ist eine miniaturisierte, kostengünstige Open-Source-Entwicklungsplattform, die auf tragbare Bewegungssensoranwendungen ausgerichtet ist. Es ist mit einem Lithium-Ionen-Akku betrieben und ermöglicht das Aufladen des USB-Akkus an Bord. Es verfügt über ein integriertes Bluetooth-Modul (BLE 4.1) für die drahtlose Kommunikation. "oblu" hostet einen 32-Bit-Gleitkomma-Mikrocontroller (AT32UC3C von Atmel), der die Lösung komplexer Navigationsgleichungen an Bord ermöglicht. Daher führt man die gesamte Bewegungsverarbeitung auf oblu selbst durch und überträgt nur das Endergebnis. Dies macht die Integration von oblu mit dem Associate-System denkbar einfach. "oblu" beherbergt auch ein Multi-IMU (MIMU) Array, das eine Sensorfusion ermöglicht und die Bewegungserkennungsleistung verbessert. Der MIMU-Ansatz trägt zur Einzigartigkeit von "oblu" bei.

Die internen Berechnungen von oblu basieren auf dem menschlichen Gehen. oblu gibt Verschiebung zwischen zwei aufeinanderfolgenden Schritten und Kurswechsel aus. Wie - Wenn der Fuß den Boden berührt, ist die Sohlengeschwindigkeit Null, d.h. die Sohle steht still. Auf diese Weise erkennt oblu 'Schritte' und korrigiert einige interne Fehler. Und diese häufige Fehlerkorrektur führt zu einer großartigen Tracking-Performance. Hier liegt also der Haken. Was wäre, wenn unser Roboter auch auf die gleiche Weise läuft - bewegen, stoppen, bewegen, stoppen … Tatsächlich könnte oblu für jedes Objekt verwendet werden, dessen Bewegung regelmäßige Null- und Nicht-Null-Momente hat. So sind wir mit oblu vorangekommen und konnten unseren Roboter und das Trackingsystem im Handumdrehen zusammenbauen.

Schritt 4: WAS IST DER NUTZEN VON "oblu"?

Wir verbringen fast 70 % unserer Zeit in Innenräumen. Daher gibt es viele Anwendungen, die eine Indoor-Navigation von Mensch und Maschine erfordern. Die am häufigsten verwendete Ortungslösung ist satellitengestütztes GPS/GNSS, das sich gut für die Navigation im Freien eignet. Es versagt in Innenräumen oder in städtischen Umgebungen, die dem klaren Himmel nicht zugänglich sind. Solche Anwendungen sind die Geovermessung von Slums oder Gebieten unter schweren Baumkronen, Indoor-Navigation von Robotern, Positionierung von Rettungskräften zur Brandbekämpfung, Bergbauunfälle, Stadtkrieg usw.

Der Vorgänger von oblu wurde als sehr kompakter Schuhsensor (bzw. kostengünstige Trägheitssensorlösung für die Indoor-Navigation von Menschen und Robotern. Bisher haben die Benutzer von oblu seine Anwendungen bei der Verfolgung von Fußgängern, Arbeitssicherheit und Ressourcenmanagement, taktischer Polizei, Geo-Vermessung von GPS-freien Bereichen, selbstnavigationsroboter, assistiver Robotik, Spielen, AR/VR, Behandlung von Bewegungsstörungen, Verständnis der Physik demonstriert Bewegungsfreiheit etc. oblu eignet sich für Anwendungen mit beengten Platzverhältnissen, z tragbare Bewegungserkennung. Dank integriertem Bluetooth kann es auch als drahtlose IMU verwendet werden. Das Vorhandensein einer integrierten Gleitkomma-Verarbeitungsfähigkeit zusammen mit vier IMUs-Arrays ermöglicht die Sensorfusion und Bewegungsverarbeitung innerhalb des Moduls selbst, was wiederum zu einer sehr genauen Bewegungserfassung führt.

Schritt 5: DIE GESCHICHTE DES PROJEKTS

Image
Image

Die Geschichte dieses Projekts ist im Video…

Schritt 6: SYSTEMBESCHREIBUNG

Der Roboter bewegt sich auf einer vorprogrammierten Bahn und überträgt (über Bluetooth) seine tatsächlichen Bewegungsinformationen an ein Telefon zur Echtzeitverfolgung.

Arduino ist mit Pfad vorprogrammiert und oblu wird zum Erfassen der Roboterbewegung verwendet. oblu überträgt in regelmäßigen Abständen Bewegungsinformationen an Arduino. Auf dieser Grundlage steuert Arduino die Bewegungen der Räder, damit der Roboter dem vordefinierten Pfad folgen kann.

Die Bahn des Roboters wird als Satz gerader Liniensegmente programmiert. Jedes Liniensegment wird durch seine Länge und Ausrichtung in Bezug auf das vorherige definiert. Die Bewegung des Roboters ist diskret, d.h. er bewegt sich geradlinig, aber in kleineren Segmenten (der Einfachheit halber „Schritte“nennen). Am Ende jedes Schrittes übermittelt oblu die Schrittlänge und das Ausmaß der Abweichung (Orientierungsänderung) von der geraden Linie an Arduino. Arduino korrigiert die Ausrichtung des Roboters bei jedem Schritt beim Empfang solcher Informationen, wenn es eine Abweichung von der vordefinierten geraden Linie findet. Laut Programm soll sich der Roboter immer in einer geraden Linie bewegen. Es kann jedoch von der geraden Linie abweichen und aufgrund von Nichtidealitäten wie unebener Oberfläche, Massenunwucht bei der Robotermontage, architektonischer oder elektrischer Unwucht bei Gleichstrommotoren oder der zufälligen Ausrichtung des vorderen Freilaufrads in einem bestimmten Winkel oder einer schrägen Bahn laufen. Machen Sie einen Schritt. Korrigieren Sie Ihren Kurs. Gehen Sie vorwärts. Der Roboter bewegt sich auch rückwärts, wenn er mehr als die programmierte Länge dieses bestimmten Liniensegments zurücklegt. Die nächste Schrittlänge hängt von der verbleibenden zurückzulegenden Strecke dieses bestimmten geraden Liniensegments ab. Der Roboter macht große Schritte, wenn die zurückzulegende Entfernung größer ist, und macht kleinere Schritte in der Nähe des Ziels (d. h. am Ende jedes geraden Liniensegments). oblu überträgt Daten gleichzeitig an Arduino und Telefon (über Bluetooth). Xoblu (die Android-App) führt eine einfache Berechnung durch, um den Weg basierend auf den vom Roboter empfangenen Bewegungsinformationen zu konstruieren, die für die Echtzeitverfolgung auf dem Telefon verwendet werden. (Der Wegbau mit Xoblu ist im zweiten Bild dargestellt).

Zusammenfassend lässt sich sagen, dass oblu Bewegungen wahrnimmt und in regelmäßigen Abständen Bewegungsinformationen an Arduino und Telefon übermittelt. Basierend auf dem programmierten Pfad und den Bewegungsinformationen (von oblu gesendet) steuert Arduino die Bewegungen der Räder. Die Bewegung des Roboters wird NICHT ferngesteuert, außer für Start/Stopp-Befehle.

Für Firmware von oblu besuchen Sie

Für den Aurduino-Code des Roboters besuchen Sie

Schritt 7: PFADMODELLIERUNG

PFADMODELLIERUNG
PFADMODELLIERUNG
PFADMODELLIERUNG
PFADMODELLIERUNG

Der Roboter lässt sich am besten steuern, wenn er nur in geraden Liniensegmenten läuft. Daher muss der Pfad zunächst als Satz gerader Liniensegmente modelliert werden. Die Bilder enthalten einige Beispielpfade und deren Darstellungen in Bezug auf Verschiebung und Orientierung. So wird der Pfad in Arduino programmiert.

Ebenso kann jeder Pfad, der aus geraden Liniensegmenten besteht, in Arduino definiert und programmiert werden.

Schritt 8: SCHALTKREISMONTAGE

SCHALTKREISMONTAGE
SCHALTKREISMONTAGE

Das Systemintegrationsdiagramm der obersten Ebene. Arduino und Oblu sind Teil der Hardware-Baugruppe. UART wird für die Kommunikation zwischen Arduino und oblu verwendet. (Bitte beachten Sie die Verbindung Rx/Tx-Verbindung.) Die Richtung des Datenflusses dient nur als Referenz. Die gesamte Hardware kommuniziert über Bluetooth mit dem Smartphone (Xoblu).

Schritt 9: SCHALTPLAN

SCHALTPLAN
SCHALTPLAN

Die detaillierten elektrischen Verbindungen zwischen Arduino, Oblu, Motortreiber und Akku.

Schritt 10: KOMMUNIKATIONSPROTOKOLL:

Nachfolgend sehen Sie, wie die Datenkommunikation zwischen dem am Roboter montierten oblu-Sensor und dem Smartphone, also Xoblu, stattfindet:

Schritt 1: Xoblu sendet START-Befehl an oblu Schritt 2: oblu bestätigt den empfangenen Befehl durch Senden einer entsprechenden ACK an Xoblu Schritt 3: oblu sendet ein DATA-Paket mit Verschiebungs- und Orientierungsinformationen für jeden Schritt bei jedem Schritt an Xoblu. (Schritt = immer wenn eine Nullbewegung oder ein Stillstand erkannt wird). Schritt 4: Xoblu bestätigt den Empfang des letzten DATA-Pakets, indem es eine entsprechende ACK an oblu sendet. (Der Zyklus der Schritte 3 und 4 wird wiederholt, bis Xoblu STOP sendet. Beim Empfang des STOP-Befehls führt oblu Schritt 5 aus) Schritt 5: STOP - (i) Stoppen Sie die Verarbeitung in oblu (ii) Stoppen Sie alle Ausgaben in oblu Bitte beachten Sie die Anwendungshinweise von oblu für Details zu START, ACK, DATA und STOP

Schritt 11: WIE FUNKTIONIERT "oblu" IMU (optional):

Hier einige Referenzen zur Übersicht von oblu und zum grundlegenden Funktionsprinzip eines fußmontierten PDR-Sensors:

Der verfügbare Quellcode von oblu ist auf die fußgestützte Navigation ausgerichtet. Und dafür ist es am besten optimiert. Das folgende Video behandelt das grundlegende Funktionsprinzip:

Hier sind ein paar einfache Artikel zu fußmontierten PDR-Sensoren:1. Verfolge meine Schritte

2. Verfolge meine Schritte weiter

In diesem Dokument finden Sie Details zur Fußgänger-Koppelnavigation mit Fußsensoren.

Schritt 12: Besuchen Sie "oblu.io" (optional)

Image
Image

Sehen Sie sich das Video zu den Anwendungsmöglichkeiten von "oblu" an:

---------------- Bitte teilen Sie Ihr Feedback, Ihre Vorschläge und hinterlassen Sie Kommentare. Beste Wünsche!

Schritt 13: KOMPONENTEN

1 oblu (eine Open-Source-IMU-Entwicklungsplattform)

1 Smart Motor Robot Autobatterie Box Chassis Kit DIY Drehzahlgeber für Arduino

1 lötfreies Steckbrett halber Größe

1 männliche/weibliche Überbrückungsdrähte

2 Kondensator 1000 µF

1 Texas Instruments Dual H-Brücken-Motortreiber L293D

1 Arduino Mega 2560 & Genuino Mega 2560

4 Amazon Web Services AA 2800 Ni-MH wiederaufladbar

Empfohlen: