Willkommen in der faszinierenden Welt der Robotik! Haben Sie sich jemals gefragt, wie autonome Roboter ihren Weg finden oder bestimmten Pfaden folgen? Eine der grundlegendsten und doch unglaublich lehrreichen Anwendungen ist der Linienfolger. Ein Roboter, der einer Linie folgt, demonstriert perfekt das Zusammenspiel von Sensorik, Steuerung und Aktoren – genau die Kernprinzipien, die Fischertechnik so spannend machen.
Fischertechnik ist bekannt für seine modularen und robusten Baukästen, die es Ihnen ermöglichen, komplexe mechanische und elektronische Systeme auf intuitive Weise zu verstehen und zu bauen. In diesem umfassenden Guide führen wir Sie Schritt für Schritt durch den Prozess, Ihren eigenen Fischertechnik Roboter zu konstruieren und zu programmieren, sodass er mühelos einer schwarzen Linie auf einer hellen Oberfläche folgen kann. Egal, ob Sie ein Anfänger in der Robotik sind oder Ihre Fischertechnik-Kenntnisse vertiefen möchten, diese Anleitung bietet Ihnen alle Informationen, die Sie benötigen.
Bereiten Sie Ihre Bausteine vor – es ist Zeit, Ihrem Roboter das Sehen beizubringen!
Grundlagen des Linienfolgens: Wie funktioniert’s?
Bevor wir ins Detail gehen, lassen Sie uns das Kernprinzip eines Linienfolgers verstehen. Ein Linienfolger-Roboter nutzt Sensoren, um den Kontrast zwischen einer Linie (z.B. Schwarz) und der Oberfläche (z.B. Weiß) zu erkennen. Anhand dieser Informationen passt der Roboter seine Fahrtrichtung an, um auf der Linie zu bleiben.
Die Rolle der Sensoren
Das Herzstück jedes Linienfolgers sind seine Sensoren. Fischertechnik bietet hierfür Optische Distanzsensoren (ODS), die Infrarotlicht aussenden und dessen Reflexion messen. Eine dunkle Oberfläche absorbiert mehr Licht, während eine helle Oberfläche mehr Licht reflektiert. Der Sensor wandelt diese reflektierten Lichtmengen in elektrische Signale um, die der Controller interpretieren kann. Für das Linienfolgen sind diese Sensoren ideal, da sie hervorragend zwischen Schwarz und Weiß unterscheiden können.
Der Algorithmus: Einfache Entscheidungen für komplexe Bewegungen
Die Steuerung des Roboters basiert auf einem einfachen, aber effektiven Algorithmus. Im Wesentlichen trifft der Roboter Entscheidungen basierend auf den Werten der Sensoren. Wenn der Sensor über der schwarzen Linie ist, muss er vielleicht geradeaus fahren. Wenn er auf die weiße Fläche gerät, muss er eine Korrekturfahrt einleiten, um zur Linie zurückzukehren. Dies kann mit nur einem Sensor oder, für stabilere Ergebnisse, mit zwei oder mehr Sensoren umgesetzt werden.
Benötigte Materialien: Was Sie zum Start brauchen
Um Ihren Fischertechnik Linienfolger zu bauen, benötigen Sie die folgenden Komponenten. Die meisten davon finden Sie in gängigen Fischertechnik Robotics Sets (z.B. Robotics TXT Automation, Robotics TXT Advanced oder Inventor Set):
- Fischertechnik TXT Controller (oder der neuere TXT 4.0 Controller)
- 2x Encoder-Motoren: Diese bieten präzise Steuerung über die Radumdrehungen, was für genaue Bewegungen essenziell ist.
- 1-2x Optische Distanzsensoren (ODS): Diese sind die Augen Ihres Roboters.
- Fischertechnik Bausteine für das Chassis: Räder, Achsen, Grundplatten, Winkelsteine, Getriebebausteine etc.
- Kabel zum Anschluss der Motoren und Sensoren an den Controller.
- Software: Fischertechnik ROBO Pro (für TXT Controller) oder ROBO Pro Coding (für TXT 4.0). Stellen Sie sicher, dass Sie die neueste Version installiert haben.
- Ein USB-Kabel oder WLAN/Bluetooth-Verbindung zum PC/Laptop.
- Eine Teststrecke: Schwarzes Isolierband (ca. 2-3 cm breit) auf einem hellen, ebenen Untergrund (z.B. ein weißes Poster oder ein heller Boden).
- Optional: Ein passender Akku und Ladegerät für den Controller.
Bau des Roboters: Das Chassis und die Sensorpositionierung
Ein stabiles und gut durchdachtes Chassis ist die halbe Miete. Hier sind einige wichtige Überlegungen für den Bau Ihres Linienfolgers:
Das Chassis-Design
Konzentrieren Sie sich auf ein kompaktes und robustes Design. Ein niedriger Schwerpunkt verbessert die Stabilität. Die zwei Motoren sollten die Antriebsräder antreiben, idealerweise hinten oder mittig platziert. Für die Lenkung können Sie entweder ein drittes, ungetriebenes Stützrad (Kugelrolle oder freilaufendes Rad) vorne oder hinten anbringen.
- Antrieb: Befestigen Sie die beiden Encoder-Motoren sicher am Chassis. Achten Sie darauf, dass die Räder guten Bodenkontakt haben und nicht durchrutschen.
- Stabilität: Verteilen Sie das Gewicht gleichmäßig. Der Fischertechnik TXT Controller ist relativ schwer und sollte zentral platziert werden.
- Sensoranbringung: Dies ist der kritischste Teil. Die Optischen Distanzsensoren (ODS) müssen direkt über der Oberfläche positioniert werden, die die Linie enthält. Der optimale Abstand zur Oberfläche beträgt in der Regel nur wenige Millimeter (z.B. 5-10 mm), um eine präzise Messung zu gewährleisten.
Sensorpositionierung für Linienfolger
Sie können Ihren Linienfolger mit einem oder zwei Sensoren bauen. Jede Methode hat ihre Vor- und Nachteile:
- Ein-Sensor-Methode (Pendel- oder Ping-Pong-Methode):
- Der Sensor wird mittig vor dem Roboter platziert.
- Der Roboter pendelt über der Linie hin und her. Erkennt der Sensor Weiß, lenkt er in eine Richtung (z.B. links). Erkennt er Schwarz, lenkt er in die andere Richtung (z.B. rechts). Dies führt zu einer Zick-Zack-Bewegung entlang der Linie.
- Vorteil: Einfacher zu bauen und zu programmieren.
- Nachteil: Weniger präzise und langsamer.
- Zwei-Sensor-Methode (Gabelstapler-Methode):
- Platzieren Sie zwei Sensoren nebeneinander, sodass sie die Linie „einklammern” können. Der Abstand zwischen den Sensoren sollte etwas größer sein als die Linienbreite (z.B. 3-4 cm bei einer 2 cm breiten Linie).
- Vorteil: Stabilere und schnellere Linienverfolgung.
- Nachteil: Etwas komplexere Programmierung.
Für diese Anleitung werden wir uns auf die Zwei-Sensor-Methode konzentrieren, da sie in den meisten Fällen die besseren Ergebnisse liefert und ein hervorragendes Fundament für fortgeschrittene Regelungstechnik bildet.
Anschluss der Elektronik
Nachdem Ihr Chassis fertig ist, geht es an die Verkabelung:
- Motoren: Schließen Sie die beiden Encoder-Motoren an die Motor-Ausgänge des Fischertechnik TXT Controllers an (z.B. M1 und M2). Achten Sie darauf, dass die Polarität korrekt ist, damit sich die Räder in die gewünschte Richtung drehen. Sie können dies später in ROBO Pro anpassen.
- Sensoren: Verbinden Sie die Optischen Distanzsensoren (ODS) mit den Analogeingängen des Controllers (z.B. I1 und I2). Der ODS-Sensor hat drei Pins: GND (Masse), VCC (Spannungsversorgung) und OUT (Ausgangssignal). Achten Sie auf die korrekte Belegung.
- Stromversorgung: Schließen Sie den Akku oder das Netzteil an den Controller an.
- PC-Verbindung: Verbinden Sie den TXT Controller über USB, Bluetooth oder WLAN mit Ihrem Computer.
Die Software: ROBO Pro Grundlagen
ROBO Pro ist die grafische Programmierumgebung von Fischertechnik, die auch von Anfängern leicht zu erlernen ist. Sie programmieren, indem Sie Funktionsblöcke per Drag-and-Drop auf eine Arbeitsfläche ziehen und miteinander verbinden. Für TXT 4.0 Controller ist ROBO Pro Coding die entsprechende Software.
Öffnen Sie ROBO Pro und erstellen Sie ein neues Projekt. Stellen Sie sicher, dass der Controller verbunden ist und im „Online”-Modus läuft. Dies sehen Sie an der Statusanzeige in der Software.
Programmierung des Linienfolgers mit ROBO Pro
Jetzt kommt der spannendste Teil: die Programmierung! Wir werden einen Algorithmus implementieren, der die Sensorwerte liest und die Motoren entsprechend steuert. Die genauen Werte können je nach Umgebung und Sensor variieren, daher ist eine Kalibrierung entscheidend.
Schritt 1: Sensorkalibrierung – Schwarz und Weiß erkennen
Bevor Ihr Roboter die Linie folgen kann, muss er wissen, was „Schwarz” und was „Weiß” ist. Die ODS-Sensoren geben analoge Werte aus (beim TXT Controller in der Regel von 0 bis 512, wobei 0 kein Licht und 512 viel Licht bedeutet).
- Legen Sie Ihren Roboter so auf die Teststrecke, dass einer der Sensoren (z.B. I1) direkt über der weißen Oberfläche liegt.
- Gehen Sie in ROBO Pro in den „Online-Test” oder nutzen Sie einen „Anzeige”-Block im Programm, um den Wert des Sensors abzulesen. Notieren Sie sich diesen Wert (Wert_Weiss).
- Verschieben Sie den Roboter so, dass derselbe Sensor direkt über der schwarzen Linie liegt.
- Lesen Sie den Wert erneut ab und notieren Sie ihn (Wert_Schwarz).
- Bestimmen Sie einen Schwellenwert (Threshold): Dieser Wert liegt typischerweise in der Mitte zwischen Wert_Weiss und Wert_Schwarz.
Schwellenwert = (Wert_Weiss + Wert_Schwarz) / 2
Beispiel: Wenn Weiß = 400 und Schwarz = 100, dann ist der Schwellenwert = (400 + 100) / 2 = 250.
Werte über dem Schwellenwert sind „Weiß”, Werte darunter sind „Schwarz”. - Wiederholen Sie dies für den zweiten Sensor (I2), da die Sensoren leichte Unterschiede aufweisen können.
Schritt 2: Implementierung des 2-Sensoren-Algorithmus (Gabelstapler-Methode)
Dieser Algorithmus nutzt beide Sensoren, um präzise auf der Linie zu bleiben. Die Sensoren (S1 für links, S2 für rechts) sind so platziert, dass sie die Linie ‘einklammern’.
Die Logik im Überblick:
- S1 (links) auf Weiß, S2 (rechts) auf Weiß: Der Roboter ist gerade auf der Linie oder hat sie verlassen. Er fährt geradeaus oder macht eine leichte Korrektur, um die Linie zu finden.
- S1 (links) auf Schwarz, S2 (rechts) auf Weiß: Der Roboter ist zu weit nach rechts gerutscht. Er muss nach links lenken.
- S1 (links) auf Weiß, S2 (rechts) auf Schwarz: Der Roboter ist zu weit nach links gerutscht. Er muss nach rechts lenken.
- S1 (links) auf Schwarz, S2 (rechts) auf Schwarz: Der Roboter befindet sich über einer Kreuzung oder einer sehr breiten Linie. Er kann dann z.B. geradeaus weiterfahren oder stoppen.
Umsetzung in ROBO Pro (Hauptschleife):
-
Start-Block: Beginnen Sie Ihr Programm immer mit einem „Start”-Block.
-
Endlosschleife: Ziehen Sie einen „Endlosschleife”-Block in Ihr Programm. Alles, was darin ist, wird kontinuierlich ausgeführt.
-
Sensorwerte lesen: Fügen Sie innerhalb der Schleife „Analogeingang”-Blöcke für I1 (linker Sensor) und I2 (rechter Sensor) hinzu. Verbinden Sie deren Ausgänge mit den Eingängen von „Vergleich”-Blöcken.
-
Vergleich und Entscheidungen (WENN-DANN-SONST-Struktur):
Nutzen Sie verschachtelte „WENN-DANN-SONST”-Blöcke, um die verschiedenen Zustände zu behandeln. Die Bedingungen basieren auf dem Vergleich der Sensorwerte mit Ihrem zuvor ermittelten Schwellenwert.
Beispielstruktur:
Start | V Endlosschleife | V Lese Sensor I1 (links) Lese Sensor I2 (rechts) | V WENN I1 < Schwellenwert (Sensor links auf Schwarz) DANN WENN I2 < Schwellenwert (Sensor rechts auf Schwarz) DANN // Beide auf Schwarz (Kreuzung oder breite Linie) // Motoren: Beide vorwärts (normale Geschwindigkeit) ODER Stoppen Motor M1: Geschwindigkeit Vorwärts [Geschwindigkeit_Normal] Motor M2: Geschwindigkeit Vorwärts [Geschwindigkeit_Normal] SONST (I2 auf Weiß) DANN // Links auf Schwarz, Rechts auf Weiß -> Roboter zu weit rechts // Motoren: Links langsamer/rückwärts, Rechts schneller (Links abbiegen) Motor M1: Geschwindigkeit Vorwärts [Geschwindigkeit_Langsam] Motor M2: Geschwindigkeit Vorwärts [Geschwindigkeit_Schnell] SONST (I1 auf Weiß) DANN WENN I2 < Schwellenwert (Sensor rechts auf Schwarz) DANN // Links auf Weiß, Rechts auf Schwarz -> Roboter zu weit links // Motoren: Links schneller, Rechts langsamer/rückwärts (Rechts abbiegen) Motor M1: Geschwindigkeit Vorwärts [Geschwindigkeit_Schnell] Motor M2: Geschwindigkeit Vorwärts [Geschwindigkeit_Langsam] SONST (I2 auf Weiß) DANN // Beide auf Weiß (Geradeaus auf Linie, oder Linie verloren) // Motoren: Beide vorwärts (normale Geschwindigkeit) Motor M1: Geschwindigkeit Vorwärts [Geschwindigkeit_Normal] Motor M2: Geschwindigkeit Vorwärts [Geschwindigkeit_Normal]
Hinweis: Passen Sie die `[Geschwindigkeit_Normal]`, `[Geschwindigkeit_Schnell]` und `[Geschwindigkeit_Langsam]` an. Experimentieren Sie mit Werten zwischen 0 und 512 (volle Leistung). Für die Korrekturfahrten können Sie auch einen Motor stoppen oder sogar rückwärts laufen lassen, um schärfere Kurven zu erzielen.
-
Motor-Steuerblöcke: Ziehen Sie „Motor”-Blöcke in die jeweiligen DANN- und SONST-Zweige. Konfigurieren Sie die Geschwindigkeit und Richtung für M1 und M2 entsprechend den oben genannten Logikfällen. Nutzen Sie die „Geschwindigkeit einstellen” Blöcke.
-
Verzögerung (optional, aber empfohlen): Fügen Sie am Ende der Schleife einen kleinen „Verzögerung”-Block (z.B. 10-50 ms) ein, um die CPU des Controllers nicht zu überlasten und die Lesungen zu stabilisieren.
Schritt 3: Feinabstimmung der Fahrstrategie (Optional: Proportional-Regelung)
Für eine weichere und präzisere Linienführung können Sie statt fester Geschwindigkeiten eine Proportional-Regelung (P-Regler) implementieren. Dabei hängt die Stärke der Korrektur von der Abweichung von der Linie ab.
Grundidee:
Der Roboter berechnet einen „Fehlerwert”. Wenn beide Sensoren auf Weiß sind, ist der Fehler 0. Wenn ein Sensor stark abweicht, ist der Fehler groß. Die Motorleistung wird proportional zu diesem Fehlerwert angepasst.
Fehler = Sensor_Wert_Links - Sensor_Wert_Rechts Steuerwert_Links = Geschwindigkeit_Basis + (Fehler * Kp) Steuerwert_Rechts = Geschwindigkeit_Basis - (Fehler * Kp)
Dabei ist `Kp` ein Proportionalitätsfaktor, den Sie experimentell ermitteln müssen. Implementieren Sie dies, indem Sie Variablen in ROBO Pro verwenden und mit mathematischen Blöcken arbeiten. Dies ist ein fortgeschrittener Schritt, aber er ist der Schlüssel zu einem wirklich gut funktionierenden Linienfolger.
Feinabstimmung und Fehlerbehebung
Ihr Roboter wird wahrscheinlich nicht sofort perfekt funktionieren. Das ist Teil des Lernprozesses! Hier sind einige Tipps zur Feinabstimmung:
- Geschwindigkeiten anpassen: Experimentieren Sie mit den Motorgeschwindigkeiten. Fährt der Roboter zu schnell, kann er die Linie überfahren. Fährt er zu langsam, kann er träge reagieren. Die Kurvenfahrten (ein Motor schneller, der andere langsamer) sind entscheidend.
- Schwellenwerte überprüfen: Ändern sich die Lichtverhältnisse in Ihrer Umgebung, müssen Sie die Sensorkalibrierung und die Schwellenwerte neu überprüfen.
- Sensorempfindlichkeit und Position: Ist der Sensorabstand zum Boden korrekt? Sitzen die Sensoren fest und wackeln nicht? Selbst kleine Veränderungen können das Verhalten stark beeinflussen.
- Lichtverhältnisse: Direkte Sonneneinstrahlung oder starke Raumbeleuchtung können die Infrarotsensoren beeinflussen. Versuchen Sie, in einer Umgebung mit gleichmäßigen Lichtverhältnissen zu testen.
- Linienqualität: Verwenden Sie ein mattes, tiefschwarzes Isolierband. Glänzende oder unregelmäßige Linien erschweren die Erkennung. Die Linienbreite sollte konstant sein.
- Code-Debugging: Nutzen Sie die Beobachtungsfenster in ROBO Pro, um die aktuellen Sensorwerte und die Motorleistungen in Echtzeit zu verfolgen. So sehen Sie, was Ihr Roboter „sieht” und „tut”.
- Mechanische Probleme: Überprüfen Sie, ob die Räder guten Grip haben und nicht rutschen. Sind die Achsen leichtgängig? Ein gut gebautes Chassis minimiert spätere Probleme.
Erweiterungsmöglichkeiten: Der nächste Schritt
Sobald Ihr Roboter souverän einer Linie folgt, können Sie Ihr Projekt auf viele Arten erweitern:
- PID-Regler: Wenn Sie mit der Proportional-Regelung vertraut sind, wagen Sie sich an einen PID-Regler (Proportional-Integral-Derivative). Dieser berücksichtigt nicht nur die aktuelle Abweichung, sondern auch die Summe vergangener Abweichungen (Integral-Anteil) und die Änderungsrate der Abweichung (Derivative-Anteil). Das Ergebnis ist eine noch präzisere und stabilere Linienführung.
- Kreuzungserkennung: Wie soll Ihr Roboter auf Kreuzungen reagieren? Mithilfe des „beide Sensoren auf Schwarz”-Falls können Sie Entscheidungen treffen: immer geradeaus, rechts abbiegen, etc.
- Farbenerkennung: Fischertechnik bietet auch Farbsensoren. Sie könnten eine farbige Linie verfolgen oder auf bestimmte Farben reagieren (z.B. bei Rot anhalten).
- Hinderniserkennung: Ergänzen Sie Ultraschall- oder weitere ODS-Sensoren, um Hindernisse auf dem Weg zu erkennen und ihnen auszuweichen.
- Navigation mit mehreren Linien: Bauen Sie ein komplexeres Labyrinth mit mehreren Linien und lassen Sie den Roboter navigieren.
- Wettbewerbe: Nehmen Sie an Fischertechnik-Wettbewerben oder Robotik-Challenges teil, um Ihre Fähigkeiten unter Beweis zu stellen!
Fazit
Herzlichen Glückwunsch! Sie haben erfolgreich Ihren eigenen Fischertechnik Roboter gebaut und programmiert, der einer Linie folgen kann. Dieses Projekt ist mehr als nur ein Spielzeug; es ist ein praktisches Lernbeispiel für die Grundlagen der Robotik, Sensorik, Steuerungstechnik und Programmierung. Sie haben gelernt, wie man analoge Sensordaten interpretiert, logische Entscheidungen trifft und Motoren präzise steuert.
Das Gefühl, wenn Ihr Roboter zum ersten Mal eigenständig die Linie entlangfährt, ist unglaublich befriedigend. Es zeigt, dass Sie die Theorie in die Praxis umsetzen konnten. Diese Fähigkeiten sind nicht nur für Fischertechnik-Roboter nützlich, sondern bilden eine solide Grundlage für das Verständnis komplexerer Automatisierungssysteme und für eine Karriere in den MINT-Bereichen.
Bleiben Sie neugierig, experimentieren Sie weiter und entdecken Sie die unzähligen Möglichkeiten, die Ihnen die modulare Welt von Fischertechnik bietet. Viel Spaß beim Programmieren und Bauen!