This is an old revision of the document!
Line-Follower
Ein “Line-Follower” ist ein Roboter, der einer Linie entlang folgen kann. Dazu gibt es verschiedene Strategien, je nach Anzahl und Geschwindigkeit der Sensoren und Reaktionszeit der Motoren.
Bei den unseren Lego-Robotern mit TigerJython sind die Reaktionszeiten sehr langsam (Python auf Java). Entsprechend schwierig ist es, einen guten Line-Follower zu programmieren.
Grundidee: Grau muss es sein
Am einfachsten ist es, der Grenze zwischen Weiss und Schwarz zu folgen (so dass der Helligkeitssensor effektiv grau sieht). So weiss der Roboter sofort, auf welche Seite er korrigieren muss.
Die einfachste Umsetzung dieser Idee sieht (als Pseudocode) wie folgt aus:
grau = 500 # Diesen Wert eventuell anpassen radiusLinks = 0.1 # Radius anpassen, so dass die engsten Kurven gefahren werden können rediusRechts = 0.2 # Radius anpassen, so dass die engsten Kurven gefahren werden können gear.setSpeed(20) # Langsam genug, damit der Roboter noch sinnvoll fahren kann. while True: hell = ls.getValue() if hell==0: # Roboter wurde aufgehoben? Also Ende break if hell>grau: # Bedingung umkehren, wenn in die andere Richtung gefahren werden soll gear.leftArc(radiusLinks) else: gear.rightArc(radiusRechts) gear.stop() # Motoren stopp robot.exit() # Programm korrekt beenden