Lego Mindstroms EV3: Linienfolger (Versuch)

21. Januar 2017 von | Kategorie(n): Programmierung
Schlagwörter: // //

Lego Mindstroms EV3: Linienfolger (Versuch)

Ich möchte euch ein kleines Projekt vorstellen, dass sich mit einem Lego Mindstroms gut realisieren lÀsst: Einen Linienfolger. In diesem Blogpost soll es zunÀchst um das Konzept gehen.

ACHTUNG: Diesen Ansatz zur Realisierung eines Linienfolgers habe ich verworfen! Dennoch habe ich eine andere Realisierungsmöglichkeit gefunden und umgesetzt: http://coder-tim.de/2017/10/lego-mindstorms-ev3-linienfolger/.
Falls du trotzdem Interesse an dem gescheiterten Ansatz hast… bitte 🙂

Wie wird die Linie wahrgenommen?

Jeder Legoroboter hat standartmĂ€ĂŸig einen Farbsensor anbei. Diesen können wir verwenden, damit der Roboter die Linie erkennen kann. Bei mir ist diese rot. Damit ließe sich das Ganze erweitern, indem der Roboter besondere Dinge ausfĂŒhrt, wenn dieser zum Beispiel eine weiße Markierung erkennt.

Wie soll er der Linie folgen?

Das ist ein Problem. Denn wir können dem Roboter sagen, dass er geradeaus fahren soll, solange dieser die rote Farbe (die Linie) erkennt. Aber was ist, wenn er nun von der Linie herunter fÀhrt, weil diese einen Knick (Kurve) macht? Dann muss er suchen. Nur wie?

Die einfachste Möglichkeit wÀre im Kreis drehen. Dies ist jedoch nicht effektiv. Beispiel: Die Linie verlÀuft gerade aus. Der Roboter hingegen fÀhrt in einem flachen Winkel von der Linie herunter. Soll er sich jetzt komplett im Kreis drehen? Besser wÀre ein kurzes Korrigieren in die entsprechende Richtung. Folglich brauchen wir eine bestimmte Suchbewegung.

DarĂŒber hinaus macht es Sinn, dass der Roboter sich merkt, in welche Richtung (rechts, links) die letzte Kurve verlaufen ist. Damit kann man das Korrigieren steuern.

FĂŒr einen „optimalen“ Linienfolger arbeitet man in der Regel mit einem weißem Untergrund und einer schwarzen Linie, denn dann kann der Mindstorms mit dem Wert des reflektierten Lichts rechnen und so entsprechend korrigieren. Somit lĂ€sst sich eine sehr flĂŒssige Linienverfolgung erstellen. Allerdings fĂ€hrt mein Roboter auf Laminat und seine Hauptaufgabe soll nicht sein, durch ein Labyrinth von Linien zu fahren, sondern er soll Sachen von A nach B bringen. Dies möchte ich ĂŒber verschiedene Farben erreichen, wie bereits erwĂ€hnt.

Fazit

Der Roboter muss eine Suchbewegung ausfĂŒhren. Dies kann erreicht werden, indem er sich zuerst nach links dreht, dann nach rechts und wieder nach links (usw.). Diese Dreherei muss allerdings grĂ¶ĂŸer bzw. lĂ€nger werden, damit ĂŒberhaupt etwas gefunden wird. Über das angesprochene Merken der Kurvenrichtung kann diese Drehbewegung (Suche) weiterhin optimiert werden, damit ggf. nur korrigiert wird.

Wie sich die Verfolgungsjagt programmieren lÀsst, siehst du im zweiten Teil dieser Reihe (sofern schon online).

 

Ich hoffe mein Reden war einigermaßen verstĂ€ndlich. 🙂 Senf dazugeben? Unten ⇓

Was denkst du ĂŒber diesen Post?
  • Gut (3)
  • Hilfreich (0)
  • Nicht gut (1)
  • Lustig 😀 (0)
Diesen Post teilen:
Facebooktwittergoogle_plusredditpinterestlinkedinmail

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

55 + = 61