i

NXT-Kurvenfahrt: Variablen, Operatoren und Methoden

Skizze einer Kurvenfahrt[1]

Die Programmierung einer Kurvenfahrt scheint auf den ersten Blick trivial. Will man allerdings eine "harmonische" Kurve fahren, bei dem die Ketten gleichzeitig stoppen, und in der gleichen Zeit eine unterschiedliche Distanz zurücklegen, ist die Aufgabe deutlich anspruchsvoller. Nicht zuletzt möchte man die Steilheit der Kurve und deren Länge gezielt beeinflussen und ist u.a. aufgrund von Schlupf mit dem Unterschied zwischen Theorie und Praxis konfrontiert.

Planung der Kurvenfahrt

Das Ziel ist es nun, wie in der oberen Grafik beschrieben, eine Kurve mit Richtungsänderung 180° gegen den Uhrzeigersinn im Kreis zu fahren. Dazu müssen zunächst alle relevanten Größen bestimmt werden:

1. Schritt: Messen

  1. Durchmesser des Kettenrades (Abbildung 2): Wieviel cm zurückgelegte Strecke entsprechen einer vollständigen Umdrehung des Rades (360°)?
  2. Vermessung: Kettenraddurchmesser[2]
  3. Abstand dder beiden Ketten (Abbildung 3) als optionaler Zwischenschritt
  4. Vermessung: Abstand der Ketten[3]
  5. Radius vom Kreismittelpunkt zur linken und rechten Kette (ri, ra)
  6. Vermessung: Radien des Kreises[4]

2. Schritt: Umrechnungen + Beispielwerte

Die Messwerte müssen nun so umgewandelt werden, dass sie als Parameter der Methoden setSpeed und rotate einsetzt werden können.

  • Durchmesser des Kettenrades: die Drehung von 360° entspricht ca. 1,75cm * 2 * π ≈ 11cm
  • Die Messwerte der Radien ri=19cm, ra=32cm:
    • Strecken auf Kreisbogen (bei 180°):
      • wegi = 19π ≈ 59,69cm
      • wega = 32π ≈ 100,53cm
    • Umdrehungen (für rotate):
      • drehi = 59,69cm / 11 * 360 ≈ 1953°
      • dreha = 100,53cm / 11 * 360 ≈ 3290°
  • Die unterschiedlichen Geschwindigkeiten der beiden Ketten (die innere Kette muss sich nicht nur weniger, sondern auch langsamer drehen) werden mithilfe der Methode setSpeed festgelegt. Dabei muss man die Geschwindigkeit eines Motors einfach festlegen (hier außen 500), die Geschwindigkeit der anderen wird in dessen Abhängigkeit berechnet:
    • va = 500
    • vi = 500 / dreha * drehi ≈ 296

Aufgaben - 3. Schritt: Programmieren

  1. Mit den bestimmten Parametern kann man die Kurvenfahrt nun einfach implementieren. Verwende dazu das Programm Probefahrt als Ausgangspunkt.
  2. Passe deine Berechnungen an deine Messwerte an.
  3. Optimiere dein Ergebnis: Theorie und Praxis sind hier verschieden, denn Einflüsse wie Schlupf und Oberflächenbeschaffenheit sind in unserer einfachen Berechnung nicht berücksichtigt.

Quellen

Suche

v
2.6.3.5
www.inf-schule.de/programmierung/robotik/lejoseinstieg/kurvenfahrt

Rückmeldung geben