0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【世界最大の中高生ロボコン】FRCのプログラムについて~Grabber関係~

Last updated at Posted at 2019-04-03

この記事はこちらの記事の一部です。まずはこちらをご覧ください。

##FIRST
最初に。
Grabberっていうのは、ロボットの前に付いてるここの部分です。
image.png
ここでボールとか板を扱います。

前の方の灰色とか後ろの方のとかのローラーを回してボールを回収&発射します。
ezgif.com-video-to-gif (1).gif

実は板には真ん中に穴が空いているのですが、そこに手前の白い棒をはめて鉤爪みたいなのを広げて回収します。
ezgif.com-video-to-gif.gif

##このクラスに必要なこと
・直径33cmのボールを回収し、保持、任意のタイミングで発射できる
・板を取ったりつけたりできる
・アーム(上の操作を行う機構)をしまえる
  ⇒ルール的に最初は閉まっていなければならない&ボールを発射するときに邪魔

##変数

VictorSP rollerMotor
ボールを回収するためのローラー。一つのモーターで全部動くようになってる。
Solenoid barSolenoid
板を回収するときに棒を開くためのもの [ソレノイド](https://qiita.com/amidaandhero02/items/b26be2c552e8a40192cb#%E3%82%BD%E3%83%AC%E3%83%8E%E3%82%A4%E3%83%89)というのは、電気ではなく空気を使ったモーターみたいなもの
Solenoid armSolenoid
アームをしまうためのもの
boolean is_RollerMoving
ローラーが回っているか。あまり使い所は...
boolean is_retractingArm
アームがしまわれているか。あまり使い所は...

##関数一覧

Grabber()
引数... ・VictorSP rollerMotor ・Solenoid barSolenoid ・Solenoid armSolenoid

引数のモーター、ソレノイドをクラスのフィールドに渡す。

public void applyState()
引数... ・Statestate

Stateから情報を受け取りモーター、ソレノイドに代入する。

private void holdCargo()
引数... なし

ボールを回収する。

private void releaseCargo()
引数... なし

ボールを発射する

private void stopRoller()
引数... なし

ローラーを止める。何も操作されてないときにこうする。

private void setRollerSpeed()
引数... なし

ローラーのスピードを設定する。
ここの処理をコメントアウトすればローラーは動かなくなる。

public boolean is_RollerMoving()
引数... なし

ローラーが動いているか。

private void holdPanel()
引数... なし

板を回収する

private void releasePanel()
引数... なし

板を設置する

private void retractArm()
引数... なし

アームをしまう

private void releaseArm()
引数... なし

アームを出す

public boolean is_retractingArm()
引数... なし

アームがしまわれているか。

##関数説明
自明なものは省略。

applyState()
まず、アーム関係。 Stateがアームをしまうって言ってたらしまう。 また、クライム(後述)中もしまっておきたいので、しまう。

また、ボールを抱えてアームをしまうとボールが飛び出てしまうので保持するように若干ローラー回してます。

ボール関係。
switchで、StateのcargoStateによって処理を分ける。
kHoldならholdCargo()
kReleaseならreleaseCargo()を呼び出す。

板関係。
Stateがパネルをつかめって言ってたらつかむ。

##LAST
最後に。

ここはDriveとかに比べるとかなり簡単だった。

では。

前の記事⇒Lift関係
次の記事⇒Climb関係

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?