Inhaltsverzeichnis:

DIY Wandfolgeroboter - Gunook
DIY Wandfolgeroboter - Gunook

Video: DIY Wandfolgeroboter - Gunook

Video: DIY Wandfolgeroboter - Gunook
Video: How to Make a Simple mini Pocket Toy Gun | Easy Tutorial 2024, Juli
Anonim
DIY Wand-folgender Roboter
DIY Wand-folgender Roboter

In diesem Instructable erklären wir, wie man ein Hinderniserkennungs- und -vermeidungssystem mit einem GreenPAK™ zusammen mit einigen externen Ultraschall- und Infrarotsensoren (IR) entwirft. Dieses Design wird einige Themen vorstellen, die für autonome und künstlich intelligente Robotersysteme erforderlich sind.

Im Folgenden haben wir die Schritte beschrieben, die erforderlich sind, um zu verstehen, wie die Lösung programmiert wurde, um einen wandfolgenden Roboter zu erstellen. Wenn Sie jedoch nur das Ergebnis der Programmierung erhalten möchten, laden Sie die GreenPAK-Software herunter, um die bereits fertige GreenPAK-Designdatei anzuzeigen. Schließen Sie das GreenPAK Development Kit an Ihren Computer an und klicken Sie auf das Programm, um den wandfolgenden Roboter zu erstellen.

Schritt 1: Problembeschreibung

In letzter Zeit ist das Interesse an künstlicher Intelligenz wieder erwacht, und ein Großteil dieses Interesses richtet sich auf vollständig autonome und intelligente Maschinen. Solche Roboter können die menschliche Haftung minimieren und die Automatisierung auf Bereiche wie den öffentlichen Dienst und die Verteidigung ausdehnen. KI-Forscher versuchen, Dienste wie Feuerwehr, medizinische Versorgung, Katastrophenmanagement und lebensrettende Aufgaben durch autonome Roboterfahrzeuge zu automatisieren. Eine Herausforderung, die diese Fahrzeuge meistern müssen, ist die erfolgreiche Erkennung und Vermeidung von Hindernissen wie Schutt, Feuer, Fallgruben etc.

Schritt 2: Implementierungsdetails

Implementierungsdetails
Implementierungsdetails

In diesem Instructable verwenden wir einen Ultraschallsensor, ein Paar IR-Hinderniserkennungssensoren, eine Motortreiberschaltung (L298N), vier Gleichstrommotoren, Räder, ein Autoskelett mit Allradantrieb und einen GreenPAK SLG46620V-Chip.

Ein digitaler Ausgangspin des GreenPAK-Controllers wird verwendet, um den Ultraschallsensor (auch Sonar genannt) auszulösen, und ein digitaler Eingangspin wird verwendet, um das resultierende Echo von den vorausliegenden Hindernissen zur Analyse zu sammeln. Die Ausgabe des IR-Hinderniserkennungssensors wird ebenfalls beobachtet. Nach Anwendung einer Reihe von Bedingungen und wenn ein Hindernis zu nahe ist, werden die Motoren (die mit jedem der 4 Räder verbunden sind) eingestellt, um eine Kollision zu vermeiden.

Schritt 3: Erklärung

Der autonome Hindernisvermeidungsroboter muss in der Lage sein, sowohl Hindernisse zu erkennen als auch Kollisionen zu vermeiden. Das Design eines solchen Roboters erfordert die Integration unterschiedlicher Sensoren, wie beispielsweise Stoßsensoren, Infrarotsensoren, Ultraschallsensoren usw. Durch die Montage dieser Sensoren am Roboter kann dieser Informationen über die Umgebung erhalten. Ein Ultraschallsensor eignet sich zur Hinderniserkennung für einen sich langsam bewegenden autonomen Roboter, da er kostengünstig ist und eine relativ hohe Reichweite hat.

Ein Ultraschallsensor erkennt Objekte, indem er einen kurzen Ultraschallimpuls aussendet und dann auf das Echo lauscht. Unter der Steuerung eines Host-Mikrocontrollers sendet der Sensor einen kurzen 40-kHz-Impuls aus. Dieser Puls wandert durch die Luft, bis er auf ein Objekt trifft und dann zum Sensor zurückreflektiert wird. Der Sensor liefert ein Ausgangssignal an den Host, das endet, wenn das Echo erkannt wird. Auf diese Weise wird die Breite des zurückgesendeten Impulses verwendet, um die Entfernung zum Objekt zu berechnen.

Dieses Roboterfahrzeug zur Hindernisvermeidung verwendet einen Ultraschallsensor, um Objekte auf seinem Weg zu erkennen. Die Motoren sind über einen Motortreiber-IC mit dem GreenPAK verbunden. Der Ultraschallsensor ist an der Vorderseite des Roboters angebracht, und die beiden IR-Hinderniserkennungssensoren sind an der linken und rechten Seite des Roboters angebracht, um seitliche Hindernisse zu erkennen.

Während sich der Roboter auf der gewünschten Bahn bewegt, sendet der Ultraschallsensor kontinuierlich Ultraschallwellen aus. Immer wenn sich ein Hindernis vor dem Roboter befindet, werden die Ultraschallwellen vom Hindernis zurückreflektiert und diese Information an das GreenPAK weitergeleitet. Gleichzeitig senden und empfangen die IR-Sensoren IR-Wellen. Nach der Interpretation der Eingaben von den Ultraschall- und IR-Sensoren steuert das GreenPAK die Motoren für jedes der vier Räder.

Schritt 4: Beschreibung des Algorithmus

Beschreibung des Algorithmus
Beschreibung des Algorithmus

Beim Start werden die vier Motoren gleichzeitig eingeschaltet, wodurch sich der Roboter vorwärts bewegt. Anschließend sendet der Ultraschallsensor in regelmäßigen Abständen Impulse von der Vorderseite des Roboters aus. Ist ein Hindernis vorhanden, werden die Schallimpulse reflektiert und vom Sensor erfasst. Die Reflexion von Impulsen hängt vom physikalischen Zustand des Hindernisses ab: Wenn es eine unregelmäßige Form hat, werden weniger Impulse reflektiert; wenn es gleichförmig ist, werden die meisten der gesendeten Impulse reflektiert. Die Reflexion hängt auch von der Richtung des Hindernisses ab. Wenn es leicht geneigt oder parallel zum Sensor platziert wird, passieren die meisten Schallwellen unreflektiert.

Wenn ein Hindernis vor dem Roboter erkannt wird, werden die seitlichen Ausgänge der IR-Sensoren beobachtet. Wenn auf der rechten Seite ein Hindernis erkannt wird, werden die linken Reifen des Roboters deaktiviert, wodurch er nach links dreht und umgekehrt. Wird kein Hindernis erkannt, wird der Algorithmus wiederholt. Das Flussdiagramm ist in Abbildung 2 dargestellt.

Schritt 5: Ultraschallsensor HC-SR04

Ultraschallsensor HC-SR04
Ultraschallsensor HC-SR04
Ultraschallsensor HC-SR04
Ultraschallsensor HC-SR04
Ultraschallsensor HC-SR04
Ultraschallsensor HC-SR04
Ultraschallsensor HC-SR04
Ultraschallsensor HC-SR04

Ein Ultraschallsensor ist ein Gerät, das mithilfe von Schallwellen die Entfernung zu einem Objekt messen kann. Es misst die Entfernung, indem es eine Schallwelle mit einer bestimmten Frequenz aussendet und darauf wartet, dass diese Schallwelle zurückprallt. Durch Aufzeichnen der verstrichenen Zeit zwischen der Erzeugung der Schallwelle und dem Zurückprallen der Schallwelle ist es möglich, den Abstand zwischen dem Sonarsensor und dem Objekt zu berechnen. Schall breitet sich mit etwa 344 m/s (1129 ft/s) durch die Luft aus, sodass Sie die Entfernung zum Objekt mit Formel 1 berechnen können.

Der Ultraschallsensor HC-SR04 besteht aus vier Pins: Vdd, GND, Trigger und Echo. Immer wenn ein Impuls vom Controller an den Trigger-Pin angelegt wird, sendet der Sensor eine Ultraschallwelle von einem „Lautsprecher“aus. Reflektierte Wellen werden vom „Empfänger“erkannt und über den Echo-Pin an den Controller zurückgesendet. Je länger der Abstand zwischen dem Sensor und einem Hindernis, desto länger wird der Impuls am Echo-Pin sein. Der Puls bleibt für die Zeit eingeschaltet, die der Sonarpuls benötigt, um vom Sensor zu wandern und zurückzukehren, geteilt durch zwei. Wenn das Sonar ausgelöst wird, startet ein interner Timer und läuft weiter, bis die reflektierte Welle erkannt wird. Diese Zeit wird dann durch zwei geteilt, da die Schallwelle tatsächlich die Hälfte der Zeit benötigte, um das Hindernis zu erreichen.

Die Funktionsweise des Ultraschallsensors ist in Abbildung 4 dargestellt.

Um den Ultraschallimpuls zu erzeugen, müssen Sie den Trigger für 10μs auf einen HIGH-Zustand setzen. Dadurch wird ein Schallstoß mit 8 Zyklen ausgesendet, der von jedem Hindernis vor dem Gerät reflektiert und vom Sensor empfangen wird. Der Echo-Pin gibt die Zeit (in Mikrosekunden) aus, die die Schallwelle zurückgelegt hat.

Schritt 6: Infrarot-Hinderniserkennungs-Sensormodul

Infrarot-Hinderniserkennungssensormodul
Infrarot-Hinderniserkennungssensormodul

Wie beim Ultraschallsensor besteht das Grundkonzept der Infrarot-Hinderniserkennung (IR) darin, ein IR-Signal (in Form von Strahlung) auszusenden und dessen Reflexion zu beobachten. Das IR-Sensormodul ist in Abbildung 6 dargestellt.

Merkmale

  • Auf der Platine befindet sich eine Hindernisanzeige
  • Digitales Ausgangssignal
  • Erkennungsabstand: 2 ~ 30 cm
  • Erfassungswinkel: 35°
  • Komparatorchip: LM393
  • Einstellbarer Erfassungsbereich über Potentiometer:

○ Im Uhrzeigersinn: Erfassungsabstand erhöhen

○ Gegen den Uhrzeigersinn: Erfassungsabstand verringern

Spezifikationen

  • Arbeitsspannung: 3 – 5 V DC
  • Ausgangstyp: Digitaler Schaltausgang (0 und 1)
  • 3 mm Schraubenlöcher für einfache Montage
  • Brettgröße: 3,2 x 1,4 cm

Beschreibung der Kontrollanzeige in Tabelle 1 beschrieben.

Schritt 7: Motortreiberschaltung L298N

Motortreiberschaltung L298N
Motortreiberschaltung L298N
Motortreiberschaltung L298N
Motortreiberschaltung L298N
Motortreiberschaltung L298N
Motortreiberschaltung L298N

Die Motortreiberschaltung oder H-Brücke wird verwendet, um die Geschwindigkeit und Richtung der Gleichstrommotoren zu steuern. Es hat zwei Eingänge, die an eine separate Gleichstromquelle angeschlossen werden müssen (Motoren ziehen starken Strom und können nicht direkt vom Controller versorgt werden), zwei Sätze von Ausgängen für jeden Motor (positiv und negativ), zwei Aktivierungsstifte für jeden Satz von Ausgängen und zwei Sätze von Stiften für die Richtungssteuerung jedes Motorausgangs (zwei Stifte für jeden Motor). Wenn die beiden Pins ganz links die Logikpegel HIGH für einen Pin und LOW für den anderen erhalten, dreht sich der am linken Ausgang angeschlossene Motor in eine Richtung, und wenn die Logikreihenfolge umgekehrt wird (LOW und HIGH), drehen sich die Motoren In die andere Richtung. Das gleiche gilt für die ganz rechten Stifte und den rechten Auslassmotor. Wenn beiden Pins des Paares der Logikpegel HIGH oder LOW gegeben wird, stoppen die Motoren.

Dieser duale bidirektionale Motortreiber basiert auf dem sehr beliebten L298 Dual H-Bridge Motor Driver IC. Dieses Modul ermöglicht Ihnen die einfache und unabhängige Steuerung von zwei Motoren in beide Richtungen. Es verwendet die Standardlogiksignale zur Steuerung und kann zweiphasige Schrittmotoren, vierphasige Schrittmotoren und zweiphasige Gleichstrommotoren ansteuern. Es verfügt über einen Filterkondensator und eine Freilaufdiode, die Geräte im Stromkreis vor Schäden durch den Rückstrom einer induktiven Last schützt und so die Zuverlässigkeit erhöht. Der L298 hat eine Treiberspannung von 5-35 V und einen Logikpegel von 5 V.

Die Funktion des Motortreibers ist in Tabelle 2 beschrieben.

Das Blockdiagramm, das die Verbindungen zwischen dem Ultraschallsensor, dem Motortreiber und dem GPAK-Chip zeigt, ist in Abbildung 8 dargestellt.

Schritt 8: GreenPAK-Design

GreenPAK-Design
GreenPAK-Design
GreenPAK-Design
GreenPAK-Design

In Matrix 0 wurde der Triggereingang für den Sensor mit CNT0/DLY0, CNT5/DLY5, INV0 und dem Oszillator generiert. Der Eingang vom Echo-Pin des Ultraschallsensors wird mit Pin3 gelesen. Drei Eingänge werden bei 3-Bit-LUT0 angelegt: einer von Echo, ein anderer vom Trigger und ein dritter ist der um 30 us verzögerte Trigger-Eingang. Die Ausgabe dieser Nachschlagetabelle wird in Matrix 1 verwendet. Die Ausgabe der IR-Sensoren wird auch in Matrix 0 verwendet.

In Matrix 1 werden die Ports P1 und P6 miteinander ODER-verknüpft und mit Pin17 verbunden, der mit Pin1 des Motortreibers verbunden ist. Pin18 liegt immer auf logisch LOW und ist mit Pin2 des Motortreibers verbunden. Ebenso werden die Ports P2 und P7 miteinander ODER-verknüpft und mit dem Pin20 des GreenPAK verbunden, der an P3 der Motortreiberschaltung angeschlossen ist. Pin19 ist mit Pin4 des Motortreibers verbunden und immer auf logisch LOW.

Wenn der Echo-Pin HIGH ist, bedeutet dies, dass sich ein Objekt vor dem Roboter befindet. Der Roboter prüft dann von den IR-Sensoren auf linke und rechte Hindernisse. Befindet sich auch auf der rechten Seite des Roboters ein Hindernis, dann biegt er nach links ab, ist auf der linken Seite ein Hindernis vorhanden, biegt er nach rechts ab. Auf diese Weise weicht der Roboter Hindernissen aus und bewegt sich kollisionsfrei.

Abschluss

In diesem Instructable haben wir ein einfaches automatisches Hinderniserkennungs- und -vermeidungsfahrzeug mit dem GreenPAK SLG46620V als Hauptsteuerelement erstellt. Mit einigen zusätzlichen Schaltungen könnte dieses Design erweitert werden, um andere Aufgaben auszuführen, wie das Finden eines Pfads zu einem bestimmten Punkt, einen Algorithmus zur Lösung eines Labyrinths, einen Algorithmus zur Linienverfolgung usw.

Schritt 9: Hardware-Bilder

Empfohlen: