[JAVA] [Robocon, le plus grand élève du secondaire au monde] À propos du programme FRC ~ Grabber related ~

Cet article fait partie de l'article ici. Tout d'abord, jetez un œil à ceci.

FIRST En premier. Grabber est la partie ici devant le robot. image.png Nous manipulons des balles et des planches ici.

Tournez les rouleaux tels que gris </ font> à l'avant et vert </ font> à l'arrière pour récupérer et tirer la balle. ezgif.com-video-to-gif (1).gif

En fait, il y a un trou au centre de la planche, mais je mets un bâton blanc au premier plan et étale quelque chose comme une griffe de crochet pour le ramasser. ezgif.com-video-to-gif.gif

Ce dont vous avez besoin pour ce cours

・ Une balle d'un diamètre de 33 cm peut être collectée, tenue et tirée à tout moment. ・ Vous pouvez attacher ou attacher une planche ・ Rangez le bras (le mécanisme qui effectue l'opération ci-dessus) ⇒Les règles doivent être fermées au début et déranger lors du tir de la balle

variable

VictorSP rollerMotor
Rouleau pour ramasser les balles. Tout est alimenté par un seul moteur.
Solenoid barSolenoid
Pour ouvrir le bâton lors de la collecte de la planche [Valentate](https://qiita.com/amidaandhero02/items/b26be2c552e8a40192cb#%E3%82%BD%E3%83%AC%E3%83%8E%E3%82%A4%E3%83%89) C'est comme un moteur qui utilise de l'air au lieu de l'électricité
Solenoid armSolenoid
Pour ranger le bras
boolean is_RollerMoving
Le rouleau tourne-t-il? Il n'y a pas grand chose à faire ...
boolean is_retractingArm
Le bras est-il rangé? Il n'y a pas grand chose à faire ...

Liste des fonctions

Grabber()
argument... ・ VictorSP rollerMotor ・ Barre de Solénoïde Solénoïde armSolénoïde

Passez l'argument moteur et solénoïde au champ de classe.

public void applyState()
argument... ・ State état

Recevoir les informations de l'État et les remplacer par des moteurs et des solénoïdes.

private void holdCargo()
argument... Aucun

Récupérez le ballon.

private void releaseCargo()
argument... Aucun

Tirer la balle

private void stopRoller()
argument... Aucun

Arrêtez le rouleau. Faites cela lorsque rien n'est manipulé.

private void setRollerSpeed()
argument... Aucun

Réglez la vitesse du rouleau. Si vous commentez le processus ici, le rouleau ne bougera pas.

public boolean is_RollerMoving()
argument... Aucun

Le rouleau est-il en mouvement?

private void holdPanel()
argument... Aucun

Récupérez la planche

private void releasePanel()
argument... Aucun

Installer la carte

private void retractArm()
argument... Aucun

Fermer le bras

private void releaseArm()
argument... Aucun

Sortez le bras

public boolean is_retractingArm()
argument... Aucun

Le bras est-il rangé?

Description de la fonction

Les évidents sont omis.

applyState()
Tout d'abord, lié au bras. L'État dirait que le bras serait rangé. Aussi, je veux le garder pendant la montée (décrite plus tard), donc je vais le ranger.

De plus, si vous tenez la balle et fermez le bras, la balle sortira, alors faites légèrement tourner le rouleau pour le maintenir.

Balle liée. Dans le commutateur, le traitement est divisé en fonction de l'état de la cargaison. Pour kHold,holdCargo () Pour kRelease, appelez releaseCargo ().

Conseil d'administration. Si l'État dit de saisir le panneau, saisissez-le.

LAST Finalement.

C'était beaucoup plus facile ici que Drive.

Puis.

Article précédent ⇒ Lift related Article suivant ⇒ Climb related

Recommended Posts