[JAVA] [Der weltweit größte Schüler der Mittel- und Oberstufe, Robocon] Über das FRC-Programm ~ Grabber related ~

Dieser Artikel ist Teil des Artikels hier. Schauen Sie sich das bitte zuerst an.

FIRST Zunaechst. Grabber ist der Teil hier vor dem Roboter. image.png Wir behandeln hier Bälle und Bretter.

Drehen Sie die Rollen wie grau </ font> vorne und grün </ font> hinten, um den Ball zu sammeln und abzufeuern. ezgif.com-video-to-gif (1).gif

Eigentlich gibt es ein Loch in der Mitte des Bretts, aber ich habe einen weißen Stock in den Vordergrund gestellt und etwas wie eine Hakenklaue ausgebreitet, um es zu sammeln. ezgif.com-video-to-gif.gif

Was Sie für diese Klasse brauchen

・ Eine Kugel mit einem Durchmesser von 33 cm kann jederzeit gesammelt, gehalten und abgefeuert werden. ・ Sie können eine Platine anbringen oder anbringen ・ Bewahren Sie den Arm auf (den Mechanismus, der die oben beschriebene Operation ausführt). ⇒ Die Regeln müssen zuerst geschlossen sein und beim Abfeuern des Balls stören

Variable

VictorSP rollerMotor
Walze zum Sammeln von Bällen. Es wird alles von einem Motor angetrieben.
Solenoid barSolenoid
Zum Öffnen des Sticks beim Sammeln des Bretts [Valentate](https://qiita.com/amidaandhero02/items/b26be2c552e8a40192cb#%E3%82%BD%E3%83%AC%E3%83%8E%E3%82%A4%E3%83%89) Ist wie ein Motor, der Luft anstelle von Elektrizität verwendet
Solenoid armSolenoid
Zur Aufbewahrung des Arms
boolean is_RollerMoving
Dreht sich die Walze? Es nützt nicht viel ...
boolean is_retractingArm
Ist der Arm verstaut? Es nützt nicht viel ...

Funktionsliste

Grabber()
Streit... ・ VictorSP rollerMotor ・ Magnet barSolenoid ・ Magnet armSolenoid

Übergeben Sie das Argument Motor und Magnet an das Klassenfeld.

public void applyState()
Streit... ・ Status

Erhalten Sie Informationen vom Staat und ersetzen Sie sie durch Motoren und Magnete.

private void holdCargo()
Streit... Keiner

Sammle den Ball.

private void releaseCargo()
Streit... Keiner

Feuern Sie den Ball ab

private void stopRoller()
Streit... Keiner

Stoppen Sie die Walze. Tun Sie dies, wenn nichts manipuliert wird.

private void setRollerSpeed()
Streit... Keiner

Stellen Sie die Walzengeschwindigkeit ein. Wenn Sie den Vorgang hier auskommentieren, bewegt sich die Walze nicht.

public boolean is_RollerMoving()
Streit... Keiner

Bewegt sich die Walze?

private void holdPanel()
Streit... Keiner

Sammle die Tafel ein

private void releasePanel()
Streit... Keiner

Installieren Sie die Karte

private void retractArm()
Streit... Keiner

Schließen Sie den Arm

private void releaseArm()
Streit... Keiner

Den Arm ausstrecken

public boolean is_retractingArm()
Streit... Keiner

Ist der Arm verstaut?

Bedienungsanleitung

Offensichtliche werden weggelassen.

applyState()
Erstens armbezogen. Staat würde sagen, dass der Arm verstaut werden würde. Außerdem möchte ich es während des Aufstiegs behalten (später beschrieben), damit ich es weglegen kann.

Wenn Sie den Ball halten und den Arm schließen, springt der Ball heraus. Drehen Sie daher die Walze leicht, um ihn zu halten.

Ball verwandt. Im Switch wird die Verarbeitung nach dem "Frachtstaat" des Staates aufgeteilt. Für kHold`` holdCargo () Für kRelease rufen Sie releaseCargo () auf.

Vorstand bezogen. Wenn State sagt, nimm das Panel, nimm es.

LAST Schließlich.

Hier war es viel einfacher als bei Drive.

Dann.

Vorheriger Artikel ⇒ Lift bezogen Nächster Artikel ⇒ Aufstiegsbezogen