lehrkraefte:snr:informatik:glf22:robotik:line-follower

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:glf22:robotik:line-follower [2025/01/12 21:47] – [Aufgabe 5: PID Line Follower] Olaf Schnürerlehrkraefte:snr:informatik:glf22:robotik:line-follower [2025/01/23 10:27] (current) – [Aufgabe 2: Drivebase kennenlernen] Olaf Schnürer
Line 16: Line 16:
  
 <WRAP center round todo> <WRAP center round todo>
-Erstelle per "Create a new project" ein neues Projekt und kopiere ans Ende des Programms ''main.py'' den folgenden Code.+Erstelle per "Create a new project" ein neues Projekt (das geht mit dem Button "LEGO@ MINDSTORMS@ EV3 MicroPython" am linken Rand in Visual Studio Code) und gib ihm einen sinnvollen Namen, etwa "Line_follower".  
 + 
 +Kopiere ans Ende des Programms ''main.py'' den folgenden Code.
  
 Ersetze die Nullen wie in den Kommmentaren im Programm beschrieben. Ersetze die Nullen wie in den Kommmentaren im Programm beschrieben.
Line 65: Line 67:
  
 fahrwerk = DriveBase(links, rechts, wheel_diameter=55.5, axle_track=125) fahrwerk = DriveBase(links, rechts, wheel_diameter=55.5, axle_track=125)
-# Raddurchmesser und Achsenabstand (in Millimeter) sind hier die beiden letzten Parameter.+# Raddurchmesser und Achsenabstand/Spurbreite (in Millimeter) sind hier die beiden letzten Parameter.
  
 # Lerne den "drive"-Befehl kennen: # Lerne den "drive"-Befehl kennen:
Line 88: Line 90:
 # #
 # Mögliche Fragen:  # Mögliche Fragen: 
-# (1) Überlege zuerst theoretisch: Wie lange muss der Roboter mit einer gegebenen Geschwindigkeit geradeaus fahren, um genau einen Meter zurückzulegen? Passe danach die Parameter (Raddurchmesser, Spurbreite) so an, dass die Praxix möglichst gut mit der Theorie übereinstimmt.+# (1) Überlege zuerst theoretisch: Wie lange muss der Roboter mit einer gegebenen Geschwindigkeit geradeaus fahren, um genau einen Meter zurückzulegen? Passe danach die Parameter (Raddurchmesser, Spurbreite) so an, dass die Praxis möglichst gut mit der Theorie übereinstimmt.
 # (2) Welche Parameter sorgen dafür, dass der Roboter in 10 Sekunden einen Viertelkreis mit Radius 50 cm abfährt?  # (2) Welche Parameter sorgen dafür, dass der Roboter in 10 Sekunden einen Viertelkreis mit Radius 50 cm abfährt? 
 +</code>
 +<!-- 
 # (3) Schaffst du es, den Roboter auf einem Linienzug (aus Klebeband am Boden) fahren zu lassen? # (3) Schaffst du es, den Roboter auf einem Linienzug (aus Klebeband am Boden) fahren zu lassen?
 +-->
  
-</code> +Genaueres über die "Drivebase" steht hier: https://pybricks.com/ev3-micropython/robotics.html.
-Genaueres über die "Drivebase" steht hier: https://pybricks.com/ev3-micropython/robotics.html+
 Dort wird z. B. auch erklärt (Abschnitt "Measuring and validating the robot dimensions"), dass man zuerst den Raddurchmesser (''wheel_diameter'') und dann die Spurweite (''axle_track'') anpassen sollte. Auch wird dort erklärt, wie man den aktuellen Zustand des Roboters erhält (per ''state()''). Dort wird z. B. auch erklärt (Abschnitt "Measuring and validating the robot dimensions"), dass man zuerst den Raddurchmesser (''wheel_diameter'') und dann die Spurweite (''axle_track'') anpassen sollte. Auch wird dort erklärt, wie man den aktuellen Zustand des Roboters erhält (per ''state()'').
 </WRAP> </WRAP>
Line 123: Line 127:
 Vereinbare ein Variable namens "geschwindigkeit" und setze sie auf 50. Vereinbare ein Variable namens "geschwindigkeit" und setze sie auf 50.
  
-Wiederhole unendich oft: +Wiederhole unendlich oft: 
-    Berechne die Abweichung der aktuellen "Reflektionsdaten" vom Idealwert (dieser ist in einer Variblen gespeichert).+    Berechne die Abweichung der aktuellen "Reflektionsdaten" vom Idealwert (dieser ist in einer Variablen gespeichert).
     Wenn die Abweichung < 0 ist:     Wenn die Abweichung < 0 ist:
         ändere den Zustand des Roboters auf "Linkskurve-Fahren"         ändere den Zustand des Roboters auf "Linkskurve-Fahren"
Line 131: Line 135:
     sonst:     sonst:
         ändere den Zustand des Roboters auf "Geradeaus-Fahren"         ändere den Zustand des Roboters auf "Geradeaus-Fahren"
 +    warte ein bisschen, etwa 10  Millisekunden
 </code> </code>
  
  • lehrkraefte/snr/informatik/glf22/robotik/line-follower.1736718440.txt.gz
  • Last modified: 2025/01/12 21:47
  • by Olaf Schnürer