Inhaltsverzeichnis:

Mr. Wallplates Kopf dreht sich, um Sie zu verfolgen – Gunook
Mr. Wallplates Kopf dreht sich, um Sie zu verfolgen – Gunook

Video: Mr. Wallplates Kopf dreht sich, um Sie zu verfolgen – Gunook

Video: Mr. Wallplates Kopf dreht sich, um Sie zu verfolgen – Gunook
Video: Пожар в гараже - ДОБРОВОЛЬЦЫ ГОЛЛАНДСКИЕ ПОЖАРНЫЕ - 2024, Juli
Anonim
Image
Image
Motor für den Sensor
Motor für den Sensor

Dies ist eine fortgeschrittene Version von Mr. Wallplates Eye Illusion Robot https://www.instructables.com/id/Mr-Wallplates-Eye-Illusion. Ein Ultraschallsensor ermöglicht es dem Kopf von Mr. Wallplate, Sie zu verfolgen, wenn Sie vor ihm gehen.

Der Prozess kann wie folgt zusammengefasst werden. Der Sensor dreht sich zuerst um 60 Grad gegen den Uhrzeigersinn (links) und dann nach rechts, während er nach einem Objekt sucht, das näher als 3 Fuß ist. Wenn es nichts erkennt, bevor es 60 Grad nach rechts erreicht, wiederholt es das Abbiegen nach links und dann das Scannen, bis es ein Objekt erkennt. Dann dreht sich der Kopf zu ihm, der Sensor dreht sich nach links zur linken Grenze (-60 Grad) und scannt erneut nach rechts. Dieses Kopfdrehen und Scannen wird fortgesetzt, bis sich das Objekt weiter als 3 Fuß zurückbewegt oder zu weit nach links oder rechts geht. Eine detailliertere Zusammenfassung der Programmlogik befindet sich in Schritt #6.

Für sich schnell bewegende Objekte ist diese Tracking-Methode nicht geeignet, wie aus dem Video ersichtlich ist. Ganz am Ende dieses Artikels gibt es einige Kommentare, die eine andere Tracking-Methode mit mehreren Ultraschallsensoren beschreiben.

Der Sensormotor ist so eingestellt, dass er sich mit relativ niedriger Geschwindigkeit bewegt. Ich habe es mit höheren Geschwindigkeiten versucht, aber sie führten zu ruckartigen Bewegungen, die nicht gut aussahen, und das Tracking war nicht viel schneller.

Ein interessanter Punkt ist, dass der Sensor am besten funktioniert, um Objekte mit harten Oberflächen zu erkennen, die Schall gut reflektieren. Ein Objekt mit einer weichen Oberfläche, z. B. jemand, der einen dicken Pullover trägt, kann in zu großer Entfernung (bei meinen Tests mehr als etwa 3 ½ Fuß) möglicherweise überhaupt nicht erkannt werden. Als ich ein Stück Wellpappe etwa 13 "x 20" vor mich hielt und auf den Sensor zuging, erkannte er mich in etwa 2,40 m Entfernung.

Im Video blieb ich absichtlich etwa 2 ½ Fuß entfernt, als ich mich zur Seite bewegte, damit der Sensor und der Kopf auf mich zeigen. Bei Tests mit geringerer Distanz zeigte der Sensor etwas nach links, denn der rechte Rand des Sensor-Sichtfeldes hat meinen Arm erkannt. Das Sichtfeld beträgt etwa 25 oder 30 Grad.

Die Mindstorms EV3-Software auf einem Computer wird verwendet, um ein Programm zu generieren, das dann auf einen Mikrocontroller namens EV3-Stein heruntergeladen wird. Die Programmiermethode basiert auf Symbolen und verwendet Programmierblöcke wie einen Motorblock, einen Ultraschallsensorblock, einen Mathematikblock usw. Jeder Block verfügt über Optionen und Parameter. Es ist sehr einfach und vielseitig. Wenn der Brick an den Computer angeschlossen ist und das Programm läuft, zeigt das Display des Computers zu Testzwecken in Echtzeit den Winkel jedes Motors und die Entfernung an, die der Sensor ein Objekt erkennt. Außerdem kann der Mauscursor im Programm über einem Data Wire positioniert werden, und der Wert dieses Data Wire (in Echtzeit) wird in einem kleinen Fenster in der Nähe des Cursors angezeigt. (Eine Datenleitung wird verwendet, um Werte von einem Programmierblock zu einem anderen zu übertragen.)

Lieferungen

  1. LEGO Mindstorms EV3-Set.
  2. LEGO Mindstorms EV3-Ultraschallsensor. Es ist nicht im EV3-Set enthalten.
  3. 2 runde Plastikbehälter zum Mitnehmen mit einem Durchmesser von mindestens 16 cm und einer Höhe von 4 ½ cm. Oder eine Wanne mit demselben Durchmesser und einer Höhe von etwa 3 ½ Zoll wäre auch in Ordnung.
  4. 4 #8 Flachkopfschrauben, 1 ½ Zoll (ca. 4 cm) lang.
  5. 4 Muttern für die Schrauben.
  6. 2 #6 Rundkopfschrauben, ca. 1 cm lang, vorzugsweise die gleiche Farbe wie die Behälter zum Mitnehmen.

WERKZEUGE:

  1. Bohrer und Bohrer.
  2. Schraubenzieher.
  3. Schere.

Schritt 1: Motor für den Sensor

Motor für den Sensor
Motor für den Sensor
Motor für den Sensor
Motor für den Sensor
Motor für den Sensor
Motor für den Sensor

Legen Sie einen großen Motor in einen der Entnahmebehälter und markieren Sie, wo 2 Löcher am Boden gebohrt werden sollen. Meine Behälter haben eine kreisförmige Vertiefung, und ich beschloss, die Löcher direkt darin zu machen, damit die Schraubenköpfe nicht herausragen und das Gerät wackeln.

Befestigen Sie den Motor mit 2 Schrauben, die durch die Löcher gehen, mit schwarzen 3-Loch-LEGO-Elementen, um den Motor zu stützen.

Schneiden Sie mit der Schere ein Stück aus der Rückseite des Behälters, um Platz für die Kabel zu schaffen.

Befestigen Sie den Ultraschallsensor mit den 3 grauen LEGO-Elementen am Motor, wie auf einem der Fotos gezeigt.

Schritt 2: Motor für den Kopf

Motor für den Kopf
Motor für den Kopf
Motor für den Kopf
Motor für den Kopf
Motor für den Kopf
Motor für den Kopf

Schneiden Sie zuerst mit der Schere die senkrechte Lippe des anderen Entnahmebehälters ab, so dass sie verkehrt herum in den Rand des ersten Behälters passt. Die 2 waagerechten Ränder werden später mit Schrauben befestigt, um die 2 Behälter fest zu halten.

Legen Sie den anderen großen Motor auf den umgedrehten Entnahmebehälter, wobei die Kabelverbindung etwa ½ Zoll über dem Rand liegt. Dies ist notwendig, damit der Kopf richtig auf den Behälter passt. Markieren und bohren Sie 2 Löcher für die 2 am weitesten entfernten Löcher des Motors.

Befestigen Sie den Motor mit 2 Schrauben, die durch die Löcher gehen, mit schwarzen 3-Loch-Elementen, um den Motor zu stützen.

Schneide mit der Schere ein Stück aus der Seite des Behälters, um eine etwa 11 cm breite Lücke zu machen. Dies ist erforderlich, damit der Ultraschallsensor herausragt und sich von einer Seite zur anderen bewegen kann. Die Achse des Motors sollte mit der Mitte der Lücke fluchten.

Schritt 3: Ändern Sie den Kopf

Ändern Sie den Kopf
Ändern Sie den Kopf
Ändern Sie den Kopf
Ändern Sie den Kopf
Ändern Sie den Kopf
Ändern Sie den Kopf

Nehmen Sie den Mr. Wallplate-Kopf aus „Mr. Wallplate’s Eye Illusion“-Roboter und entfernen Sie den hinteren Ständer. Es lässt sich einfach abziehen.

Nehmen Sie in Bezug auf eines der Fotos 2 X-förmige schwarze Elemente und 2 blaue Elemente, die einen Querschnitt wie ein „X“an einem Ende und ein „O“am anderen Ende haben. Befestigen Sie sie wie abgebildet am unteren Element am Kopf. Der Kopf gleitet auf ihnen um den Behälter herum.

Schritt 4: Befestigen Sie den Kopf am Motor

Befestigen Sie den Kopf am Motor
Befestigen Sie den Kopf am Motor
Befestigen Sie den Kopf am Motor
Befestigen Sie den Kopf am Motor
Befestigen Sie den Kopf am Motor
Befestigen Sie den Kopf am Motor

Nehmen Sie die auf dem ersten Foto gezeigten Elemente (außer dem langen) und befestigen Sie sie wie auf dem zweiten Foto gezeigt. Dann befestigen Sie das in der Nähe der Unterseite des Kopfes, wie gezeigt. Dies unterstützt den Kopf und verhindert, dass er auf und ab nickt.

Befestigen Sie den Motor mit dem langen grauen Element mit X-Querschnitt an den Löchern unter dem Lippenmotor. Schieben Sie das Element wie gezeigt weiter bis zur Stütze aus dem vorherigen Absatz.

Schritt 5: Verbinden Sie den EV3-Stein mit der Mr. Wallplate

Verbinde den EV3-Stein mit Mr. Wallplate
Verbinde den EV3-Stein mit Mr. Wallplate
Verbinde den EV3-Stein mit Mr. Wallplate
Verbinde den EV3-Stein mit Mr. Wallplate

Die Flachkabel im EV3-Set werden wie folgt mit dem Brick verbunden:

Port A: 14 Zoll (35 cm) Kabel zum kleinen Lippenmotor.

Port B: 10 Zoll (26 cm) Kabel zum großen Motor für den Kopf.

Port C: 14 Zoll (35 cm) Kabel zum großen Motor für den Ultraschallsensor.

Port 4: Das längste Kabel zum Ultraschallsensor, mit einer Schlaufe in der Nähe des Bricks. Die Schleife ermöglicht es dem Sensor, sich besser zu bewegen.

Vergewissern Sie sich, dass der Sensor gerade aus seinem Behälter zeigt. Sie können den Sensormotor von Hand drehen. Setzen Sie die Kopfeinheit auf den Sensorbehälter, sodass der Sensor in der Mitte des Spalts herausragt. Bohren Sie 2 Führungslöcher durch beide Behälterränder etwa 1 Zoll über die Kanten der Lücke hinaus. Schrauben Sie die 2 Schrauben durch diese Löcher, um die 2 Behälter fest zu befestigen.

Schritt 6: Beschreibung des Programms

Die Programmlogik ist im Folgenden zusammengefasst. Ich denke, die Schritte # 3 und # 6 würden in einem Programm für ein anderes System wie Arduino wahrscheinlich anders ausgeführt. LEGO Mindstorms EV3 ist sehr nützlich und einfach zu bedienen, aber es gibt einige Einschränkungen bei den Möglichkeiten. Die einzige Möglichkeit zum Scannen, die ich herausfinden konnte, bestand darin, den Sensor jeweils um 10 Grad zu drehen und zu prüfen, ob ein Objekt erkannt wurde.

  1. Initialisieren: Variablen auf Null setzen und 7 Sekunden warten.
  2. Drehen Sie den Sensor gegen den Uhrzeigersinn (links) bis zur linken Grenze (-60 Grad).
  3. Drehen Sie den Sensor um 10 Grad nach rechts.
  4. Hat sich der Sensor an die rechte Grenze (+60 Grad) bewegt?
  5. Wenn ja, überprüfen Sie, ob jemand erkannt wurde. Wenn er nicht erkannt wird, dreht sich der Sensor um 120 Grad nach links und das Programm fährt mit dem nächsten Schritt fort. Wenn es erkannt wird, ist die Person weggezogen. Das Programm sagt „Auf Wiedersehen“, Kopf und Sensor drehen sich nach vorne und das Programm stoppt.
  6. Kehren Sie zu Schritt 3 zurück, wenn der Sensor innerhalb von 36 Zoll nichts sieht.
  7. Dieser Schritt wird ausgeführt, wenn der Sensor etwas innerhalb von 36 Zoll erkannt hat. Drehen Sie den Kopf, um die erkannte Person zu sehen. Wenn zuvor niemand erkannt wurde, sagen Sie "Hallo".
  8. Kehren Sie zu Schritt 2 zurück, um mit dem Scannen fortzufahren. Wenn die Schleife jedoch 20 Mal wiederholt wird, fährt das Programm mit dem nächsten Schritt fort.
  9. Sagen Sie „Spiel vorbei“. Kopf und Sensor drehen sich nach vorne und das Programm stoppt.

Schritt 7: Erstellen Sie das Programm

Erstellen Sie das Programm
Erstellen Sie das Programm
Erstellen Sie das Programm
Erstellen Sie das Programm
Erstellen Sie das Programm
Erstellen Sie das Programm

LEGO Mindstorms EV3 verfügt über eine sehr praktische, symbolbasierte Programmiermethode. Programmierblöcke werden am unteren Rand des Anzeigebildschirms angezeigt und können per Drag-and-Drop in das Programming Canvas-Fenster gezogen werden, um ein Programm zu erstellen. Ich habe 4 „My Blocks“gebaut, die Miniprogramme sind, wie Unterprogramme in normalen Programmen. Dadurch wurde die Logik des Hauptprogramms im Screenshot leichter verständlich.

Ich konnte nicht herausfinden, wie ich das Herunterladen des Programms für Sie einrichten kann, und habe daher Screenshots des Programms eingefügt. Die Screenshots enthalten Kommentare, die beschreiben, was die Blöcke tun. Es sollte nicht viel Zeit in Anspruch nehmen, es zu erstellen und/oder an Ihre Bedürfnisse anzupassen. Die Screenshots werden in der folgenden Reihenfolge angezeigt:

  1. Hauptprogramm.
  2. „Initialisieren“Sie meinen Block.
  3. „Sensor nach links bis zur linken Grenze drehen“My Block.
  4. „Kopf drehen“Mein Block.
  5. „Beende“Mein Block.

Beim Erstellen dieses Programms würde ich Folgendes vorschlagen:

  1. Erstellen Sie zuerst die "Meine Blöcke".
  2. Es ist wichtig, von links nach rechts zu arbeiten und die Loop- und Switch-Blöcke zu vergrößern, bevor andere Blöcke hineingezogen werden. Ich stieß beim Testen und Verfeinern des fast fertigen Programms auf chaotische Probleme, als ich versuchte, zusätzliche Blöcke in die Schleifen einzufügen.
  3. Der größere Loop-Block sollte fast bis zum rechten Rand des Programmierbereichs vergrößert werden, bevor Sie mit dem Einfügen von Blöcken beginnen. Dies ist notwendig, um genügend Platz zu haben, um die anderen Blöcke hineinzuziehen. Es kann später kleiner gemacht werden.

Schritt 8: Laden Sie das Programm auf den EV3-Stein herunter

Der EV3-Stein kann entweder über ein USB-Kabel, Wi-Fi oder Bluetooth mit dem Computer verbunden werden. Wenn es angeschlossen und eingeschaltet ist, wird dies in einem kleinen Fenster in der unteren rechten Ecke des EV3-Fensters auf dem Computer angezeigt. Durch Klicken auf das entsprechende Symbol ganz rechts in der unteren rechten Ecke wird das Programm auf den EV3-Stein heruntergeladen und sofort ausgeführt.

Nach dem Download kann der EV3-Stein vom Computer getrennt und das Programm auf dem EV3-Stein gestartet werden.

Schritt 9: SCHLUSSBEMERKUNGEN

Dies war ein lustiges Projekt und lehrreich über den Ultraschallsensor. Ich hoffe, Sie finden es auch interessant.

Es gibt noch einen anderen Ansatz zum Scannen: Mehrere Ultraschallsensoren könnten nebeneinander platziert werden, die sich in etwa 25 oder 30 Grad voneinander auffächern. Der Kopf könnte sich in die Richtung des Sensors drehen, der ein Objekt erkannt hat. Diese Methode würde ein sich schnell bewegendes Objekt viel besser erkennen als die im obigen Projekt beschriebene Methode. Der Kopf hätte jedoch nur eine kleine Anzahl von Richtungen, in die er weisen würde. Diese Methode sollte mit Mindstorms EV3 möglich sein. Der Brick verfügt über 4 Sensorports für bis zu 4 Ultraschallsensoren (die Programmierung erfordert die Vergabe einer Portnummer für einen Sensor). Durch die Verkettung eines zweiten Bricks könnten mehr Sensoren untergebracht werden.

Eine Idee, um die Anzahl der Positionen für den Kopf zu erhöhen: Wenn die Sensoren vielleicht 20 Grad auseinander stehen, würden sich die Sichtfelder überlappen und 2 Sensoren würden ein Objekt im Überlappungsbereich erkennen. Der Kopf könnte dann in Überlappungsrichtung zeigen. Ich weiß nicht, ob dies möglich ist; das heißt, wenn 2 Sensoren im Überlappungsbereich ein Objekt erkennen könnten, ohne dass sich ihre Signale gegenseitig stören.

Empfohlen: