Frage

Ich entwickle einen Roboter für eine technische Klasse. Für die Zwecke der Klasse muss ich die NXT -Programmiersprache verwenden. Um sich zu bewegen, muss der Roboter einer soliden schwarzen Linie folgen.

Wenn der Roboter die Linie verliert, scannen Sie ihn 1 Sekunde lang links oder bis er eine schwarze Linie erreicht. Wenn keine Linie gefunden wird, scannt sie 2 Sekunden lang nach rechts, sodass die Anfangsposition erreicht ist, dann wird eine Sekunde oder eine Rotation erreicht.

Ich habe die Schleife so eingerichtet, dass sich der Roboter weiterhin bewegt, wenn die Linie nicht gefunden wurde. Das läuft für einen vollen Zeitraum von 1 Sekunde. Wenn die Linie gefunden wird, stoppt Bewegung, die volle Sekunde muss jedoch noch abgeschlossen werden. Letztendlich bedeutet das, dass mein Programm perfekt funktioniert, aber sehr langsam ist.

TL; Dr. Gibt es eine Möglichkeit, Schleifen mit zwei Ausstiegsbedingungen in der Lego Mindstorm -Programmierumgebung zu machen? Entweder hat sich nach 1 Sekunde verstrichen, oder ein Sensor erhält die gewünschte Eingabe?

War es hilfreich?

Lösung 3

MindStorms haben keine oder Funktion.

Die Lösung besteht darin, eine Exit -Variable zu erstellen und dann zwei Switch -Anweisungen zu haben. Im obigen Beispiel hatte ich eine Switch -Anweisung mit einem Timer und die andere mit dem Sensorausgang. Stellen Sie die Exit -Variable auf False ein, und dann in einer Weile Schleife, laufen Sie, bis die Ausgangsvariable wahr ist.

Wenn der Timer abläuft, stellen Sie die Variable auf true ein, ignorieren Sie sonst die Exit -Variable. Tun Sie dasselbe mit dem Ausgang des Sensors.

Dies ist eine chaotische und ziemlich lange Lösung, aber es löst das Problem perfekt innerhalb des eher begrenzten Lego Mindstorms -Systems.

Andere Tipps

Die letzten beiden Blöcke sind Logikblöcke, die auf "oder" eingestellt sind. In diesem Fall werden 3 Sensoren beobachtet. Wenn jemand gestolpert wird, fällt das Programm aus der Schleife.

.

Dies ist aus Seite 86 von http://www.hightechkids.org/sites/default/files/coachinglibrary/flll_programming_101_nxt_g.pdf

Sie könnten die Zeitüberschreitung kürzer machen (z.

Ich bin kein Mindstorms -Experte, aber ich erwarte, dass es eine oder Funktion hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top