Inhaltsverzeichnis:

Machen Sie einen Maze Runner Roboter - Gunook
Machen Sie einen Maze Runner Roboter - Gunook

Video: Machen Sie einen Maze Runner Roboter - Gunook

Video: Machen Sie einen Maze Runner Roboter - Gunook
Video: Wie Überlebt Man Das Labyrinth In: "Maze Runner" 2024, November
Anonim
Machen Sie einen Maze Runner-Roboter
Machen Sie einen Maze Runner-Roboter
Baue einen Maze Runner Roboter
Baue einen Maze Runner Roboter
Baue einen Maze Runner Roboter
Baue einen Maze Runner Roboter
Machen Sie einen Maze Runner-Roboter
Machen Sie einen Maze Runner-Roboter

Labyrinth-lösende Roboter stammen aus den 1970er Jahren. Seitdem veranstaltet das IEEE Wettbewerbe zum Lösen von Labyrinthen, den Micro Mouse Contest. Ziel des Wettbewerbs ist es, einen Roboter zu entwerfen, der so schnell wie möglich den Mittelpunkt eines Labyrinths findet. Die Algorithmen, die verwendet werden, um das Labyrinth schnell zu lösen, fallen normalerweise in drei Kategorien; Zufallssuche, Labyrinth-Mapping und Methoden zur Verfolgung der rechten oder linken Wand.

Die funktionellste dieser Methoden ist die Wandfolgemethode. Bei dieser Methode folgt der Roboter der rechten oder linken Seitenwand im Labyrinth. Wenn der Ausstiegspunkt mit den Außenwänden des Labyrinths verbunden ist, findet der Roboter den Ausstieg. Diese App-Notiz verwendet die richtige Wandverfolgungsmethode.

Hardware

Diese Anwendung verwendet:

  • 2 Sharp analoge Distanzsensoren
  • Tracker-Sensor
  • Encoder
  • Motoren und Motortreiber
  • Silego GreenPAK SLG46531V
  • Spannungsregler, Roboterchassis.

Mit dem analogen Abstandssensor ermitteln wir die Abstände zur rechten und vorderen Wand. Die Sharp Distanzsensoren sind eine beliebte Wahl für viele Projekte, die genaue Distanzmessungen erfordern. Dieser IR-Sensor ist wirtschaftlicher als Sonar-Entfernungsmesser, bietet jedoch eine viel bessere Leistung als andere IR-Alternativen. Es besteht eine nichtlineare, inverse Beziehung zwischen der Ausgangsspannung des Sensors und der gemessenen Entfernung. Das Diagramm, das die Beziehung zwischen der Sensorausgabe und der gemessenen Entfernung zeigt, ist in Abbildung 1 dargestellt.

Als Ziel wird eine weiße Linie auf schwarzem Farbgrund gesetzt. Wir werden den Tracker-Sensor verwenden, um die weiße Linie zu erkennen. Der Tracker-Sensor verfügt über fünf analoge Ausgänge, und die ausgegebenen Daten werden durch die Entfernung und die Farbe des erkannten Objekts beeinflusst. Die erfassten Punkte mit höherer Infrarotreflexion (weiß) führen zu einem höheren Ausgabewert, und die niedrigere Infrarotreflexion (schwarz) verursacht einen niedrigeren Ausgabewert.

Wir werden den Pololu-Rad-Encoder verwenden, um die Entfernung zu berechnen, die der Roboter zurücklegt. Diese Quadratur-Encoder-Platine wurde entwickelt, um mit Pololu-Mikrometall-Getriebemotoren zu arbeiten. Es funktioniert, indem es zwei Infrarot-Reflexionssensoren in der Nabe eines Pololu 42 × 19 mm-Rads hält und die Bewegung der zwölf Zähne entlang der Felge des Rads misst.

Zur Steuerung der Motoren wird eine Motortreiberplatine (L298N) verwendet. Die INx-Pins werden verwendet, um die Motoren zu steuern, und die ENx-Pins werden verwendet, um die Geschwindigkeit der Motoren einzustellen.

Außerdem wird ein Spannungsregler verwendet, um die Spannung von der Batterie auf 5 V zu reduzieren.

Schritt 1: Beschreibung des Algorithmus

Beschreibung des Algorithmus
Beschreibung des Algorithmus
Beschreibung des Algorithmus
Beschreibung des Algorithmus
Beschreibung des Algorithmus
Beschreibung des Algorithmus
Beschreibung des Algorithmus
Beschreibung des Algorithmus

Dieses Instructable enthält die rechte Wand nach der Methode. Dies basiert auf der Organisation der Richtungspriorität, indem die möglichst rechte Richtung bevorzugt wird. Kann der Roboter die rechte Wand nicht erkennen, dreht er sich nach rechts. Wenn der Roboter die rechte Wand erkennt und keine Wand davor ist, fährt er vorwärts. Befindet sich rechts vom Roboter und vorne eine Wand, dreht er sich nach links.

Ein wichtiger Hinweis ist, dass es keine Wand als Referenz gibt, nachdem sich der Roboter gerade nach rechts gedreht hat. Das „Rechtsabbiegen“erfolgt also in drei Schritten. Vorwärts gehen, rechts abbiegen, vorwärts gehen.

Außerdem muss der Roboter beim Vorwärtsfahren seinen Abstand zur Wand einhalten. Dies kann dadurch erfolgen, dass ein Motor schneller oder langsamer als der andere eingestellt wird. Der Endzustand des Flussdiagramms ist in Abbildung 10 dargestellt.

Ein Maze Runner Robot kann sehr einfach mit einem einzigen konfigurierbaren Mixed-Signal-IC (CMIC) von GreenPAK implementiert werden. Sie können alle Schritte durchlaufen, um zu verstehen, wie der GreenPAK-Chip zur Steuerung des Maze Runner Robot programmiert wurde. Wenn Sie jedoch einfach nur den Maze Runner Robot erstellen möchten, ohne die gesamte innere Schaltung zu verstehen, laden Sie die GreenPAK-Software herunter, um die bereits fertige Maze Runner Robot GreenPAK-Designdatei anzuzeigen. Schließen Sie Ihren Computer an das GreenPAK Development Kit an und klicken Sie auf Programm, um den benutzerdefinierten IC zur Steuerung Ihres Maze Runner Robot zu erstellen. Im nächsten Schritt wird die Logik in der Maze Runner Robot GreenPAK-Designdatei für diejenigen erläutert, die daran interessiert sind, die Funktionsweise der Schaltung zu verstehen.

Schritt 2: GreenPAK-Design

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

Das GreenPAK-Design besteht aus zwei Teilen. Diese sind:

  • Interpretation / Verarbeitung von Daten von Distanzsensoren
  • ASM-Zustände und Motorausgänge

Interpretation / Verarbeitung von Daten von Distanzsensoren

Es ist wichtig, die Daten der Distanzsensoren zu interpretieren. Die Bewegungen des Roboters werden entsprechend den Ausgängen der Distanzsensoren berücksichtigt. Da die Distanzsensoren analog sind, werden wir die ACMPs verwenden. Die Position des Roboters relativ zur Wand wird durch Vergleichen der Spannungen der Sensoren mit den vorbestimmten Schwellenspannungen bestimmt.

Wir werden 3 ACMPs verwenden;

  • So erkennen Sie die Vorderwand (ACMP2)
  • So erkennen Sie die richtige Wand (ACMP0)
  • Um den Abstand der rechten Wand zu schützen (ACMP1)

Da ACMP0 und ACMP1 vom gleichen Abstandssensor abhängen, haben wir für beide Komparatoren die gleiche IN+-Quelle verwendet. Eine ständige Signaländerung kann verhindert werden, indem dem ACMP1 eine Hysterese von 25 mv zugewiesen wird.

Anhand der Ausgänge der ACMPs können wir die Richtungssignale bestimmen. Die in Abbildung 12 gezeigte Schaltung zeigt das in Abbildung 7 skizzierte Flussdiagramm.

In gleicher Weise ist in Abbildung 13 die Schaltung dargestellt, die die Position des Roboters relativ zur rechten Wand anzeigt.

ASM-Zustände und Motorausgänge

Diese Anwendung verwendet die Asynchronous State Machine oder ASM, um den Roboter zu steuern. Es gibt 8 Zustände im ASM und 8 Ausgänge in jedem Zustand. Das Output RAM kann verwendet werden, um diese Ausgänge einzustellen. Die Staaten sind unten aufgeführt:

  • Start
  • Steuerung
  • Entfernen Sie sich von der rechten Wand
  • In der Nähe der rechten Wand
  • Biegen Sie links ab
  • Vorwärts-1
  • Biegen Sie rechts ab
  • Vorwärts-2

Diese Zustände bestimmen die Ausgabe an den Motortreiber und leiten den Roboter. Es gibt 3 Ausgänge des GreenPAK für jeden Motor. Zwei bestimmen die Richtung des Motors und der andere Ausgang bestimmt die Geschwindigkeit des Motors. Die Motorbewegung gemäß diesen Ausgängen ist in den folgenden Tabellen dargestellt:

Aus diesen Tabellen wird das ASM Output RAM abgeleitet. Dies ist in Abbildung 14 dargestellt. Neben den Motortreibern gibt es zwei weitere Ausgänge. Diese Ausgänge gehen an die entsprechenden Verzögerungsblöcke, damit der Roboter eine bestimmte Strecke zurücklegen kann. Die Ausgänge dieser Verzögerungsblöcke sind auch mit ASM-Eingängen verbunden.

PWMs wurden verwendet, um die Geschwindigkeit der Motoren anzupassen. Das ASM wurde verwendet, um zu bestimmen, mit welcher PWM der Motor laufen würde. Die Signale PWMA-S und PWMB-S werden auf die Multiplex-Auswahlbits gesetzt.

Schritt 3:

Bild
Bild

In diesem Projekt haben wir einen Labyrinth-Lösungsroboter entwickelt. Wir interpretierten Daten von mehreren Sensoren, kontrollierten den Zustand des Roboters mit dem ASM des GreenPAK und trieben die Motoren mit einem Motortreiber an. Im Allgemeinen werden in solchen Projekten Mikroprozessoren verwendet, aber ein GreenPAK hat gegenüber einer MCU einige Vorteile: Es ist kleiner, kostengünstiger und kann die Sensorausgabe schneller verarbeiten als eine MCU.

Empfohlen: