Codierung mit VEX IQ Smart Motors

Der VEX IQ Smart Motor verfügt über viele Funktionen, die Sie beim Codieren in VEXcode IQ nutzen können. Dies kann nützlich sein, wenn Sie Arme, Klauen und Einlässe sowie Antriebsstränge und andere Mechanismen codieren, die mit VEX IQ erstellt wurden. Wenn Sie verstehen, wie die Motoren codiert werden können, können Sie Probleme wie Projektverzögerungen oder Motoren, die nicht wie vorgesehen funktionieren, vermeiden.

Motor-Encoder

Der VEX IQ Smart Motor wandelt nicht nur wie die meisten Motoren elektrische Energie in mechanische Energie um, sondern verfügt auch über Funktionen, die die meisten Motoren nicht haben und die ihn „intelligent“ machen. Eines seiner Hauptmerkmale ist der Quadratur-Encoder. Dieser Encoder ist im Inneren des Motors montiert, um die Drehzahl und/oder die Position der Motorwelle zu verfolgen.

Berichte vom Encoder des VEX IQ Smart Motors ermöglichen Folgendes:

  • Die Drehrichtung des Motors (vorwärts/rückwärts oder offen/geschlossen)
  • Die Position des Motors und das Ausmaß der Drehung und Position des Motors (entweder in Umdrehungen oder Grad)
  • Die Geschwindigkeit der Motordrehung (basierend auf der Position des Encoders über die Zeit)

Da der Encoder die Motorzustände meldet, können diese in Berechnungen hinter den Kulissen verwendet werden, um viele der Bewegungs- und Sensorbefehle innerhalb des VEXcode IQ zum Laufen zu bringen.

Codierung einzelner Motoren

Bevor Sie mit der Codierung einzelner Smart-Motoren in VEXcode IQ beginnen, müssen Sie den Motor konfigurieren. Einzelne Motoren werden häufig für zusätzliche Mechanismen wie Einlässe, Arme und Klauen verwendet. Alle Informationen gelten jedoch weiterhin für andere Mechanismen, die einzelne Motoren verwenden.

image7.png

Befolgen Sie die Schritte in diesem Artikel , um Ihren individuellen Motor in VEXcode IQ zu konfigurieren.

Wenn ein einzelner Motor konfiguriert ist, werden Befehle zur Steuerung dieses Motors in der Toolbox angezeigt. Sie werden feststellen, dass es verschiedene Arten von Befehlen gibt: wartende und nicht wartende.

Wartende versus nicht wartende Befehle

Beachten Sie, dass alle Bilder hier Blöcke zeigen. Alle diese Projekte können in Python oder C++ neu erstellt werden und enthalten die gleiche Funktionalität wie Blöcke.

image3.png

Wartende Befehle blockieren die Fortsetzung des Projekts, bis das Verhalten abgeschlossen ist. Dazu gehören Befehle wie [Spin ​​for] und [Spin ​​to position].

Das hier gezeigte Projekt verwendet eine Clawbot-Vorlage (2 Motoren) und alle Befehle warten. In Serie würde sich also der Klauenmotor um 90 Grad schließen, der Roboter würde rückwärts fahren und dann würde sich der Arm nach oben drehen, um die Position 180 Grad zu erreichen.

image6.png

Im Gegensatz dazu gibt es nicht wartende Befehle. Ein nicht wartender Befehl führt das Verhalten auf unbestimmte Zeit aus oder bis er aufgefordert wird, zu einem anderen Verhalten zu wechseln. Dazu gehören Befehle wie [Spin].

Das hier gezeigte Projekt verwendet einen BaseBot mit hinzugefügtem Einlass. Hier würde der Ansaugmotor anfangen zu drehen. Der [Warten]-Befehl ist ein Wartebefehl, d. h. der Einlass dreht sich weiter, bis die 2 Sekunden abgelaufen sind, und geht dann zum nächsten Befehl im Projekt über, der ein [Stopp]-Befehl ist. Dann würde der Motor aufhören zu drehen.

Motor-Timeouts

Wenn Sie einen Motor als Teil eines Arms oder einer Klaue codieren, ist es wichtig, den Unterschied zwischen wartenden und nicht wartenden Blöcken zu bedenken und zu bedenken, wie sich diese auf die Bewegung Ihres Roboters auswirken. Mit Motor-Timeouts können Sie ein Zeitlimit festlegen, innerhalb dessen der Motor die beabsichtigte Zielposition erreichen soll. Wenn diese Position nach Ablauf der Zeit nicht erreicht wird, hört der Motor auf, sich zu drehen, und das Projekt geht zum nächsten Befehl über.

image2.png

In diesem Beispiel ist der Motor-Timeout auf 2 Sekunden eingestellt. Wenn sich die Klaue nicht innerhalb von 2 Sekunden auf 90 Grad schließt, stoppt der Motor nach der 2-Sekunden-Marke, dann geht er zum nächsten Befehl über und fährt vorwärts.

image4.png

Wenn Sie nicht sicher sind, wie weit Sie einen Motor bewegen sollen, verwenden Sie das Sensor-Dashboard. Das Armaturenbrett zeigt die Position des Motors in Grad und Umdrehungen an. Wenn Sie also einen Motor bewegen (z. B. eine Klaue öffnen und schließen), ändern sich die Zahlen. Verwenden Sie diesen Test, um zu bestimmen, wie viele Grad oder Drehungen erforderlich sind, um eine Klaue zu schließen, einen Arm anzuheben, einen Einlass zu drehen usw.

In diesen Artikeln erfahren Sie, wie Sie das Sensor-Dashboard verwenden.

Codierung intelligenter Motoren als Teil eines Antriebsstrangs

Bevor Sie mit der Codierung eines Antriebsstrangs in VEXcode IQ beginnen, müssen Sie den Antriebsstrang einschließlich der verwendeten Motoren konfigurieren. Die Motoren werden innerhalb des Antriebsstrangs konfiguriert, um sicherzustellen, dass sie mit denselben Befehlen wie [Drive] und [Drive for] gesteuert werden.

Wartende und nicht wartende Befehle

Beim Codieren eines Antriebsstrangs stehen wartende und nicht wartende Befehle zur Steuerung der Bewegung des Roboters zur Verfügung.

Bild1.png

Wartende Befehle blockieren die Fortsetzung des Projekts, bis das Verhalten abgeschlossen ist. Dazu gehören Befehle wie [Fahren für] [Abbiegen für] und [Umdrehen zum Kurs].

Das hier gezeigte Projekt verwendet eine Clawbot-Vorlage (2 Motoren) und alle Befehle warten. In Serie würde der Roboter also 200 Millimeter vorwärts fahren und dann mithilfe des Antriebsstrangs vollständig nach rechts abbiegen.

image8.png

Im Gegensatz dazu gibt es nicht wartende Befehle. Ein nicht wartender Befehl führt das Verhalten auf unbestimmte Zeit aus oder bis er aufgefordert wird, zu einem anderen Verhalten zu wechseln. Dazu gehören Befehle wie [Drive].

Das hier gezeigte Projekt verwendet einen BaseBot. Hier fuhr der Roboter unbegrenzt vorwärts, bis der Bumper-Schalter gedrückt wurde. Dann würde das Projekt zum nächsten Befehl übergehen und der Roboter würde aufhören zu fahren und sich um 90 Grad nach rechts drehen.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: