lehrkraefte:blc:informatik:glf20:robotik:linefollower

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.

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
  • lehrkraefte/blc/informatik/glf20/robotik/linefollower.1620811291.txt.gz
  • Last modified: 2021/05/12 11:21
  • by Ivo Blöchliger