RCJレスキューメイズについて

#RCJレスキューメイズに出場するために
以前[こちら](https://qiita.com/Shunk_/items/b6b5c49862ec9f9d852b)に何をするべきなのか一応自分なりに一通りに書いたのですが、少しわかりずらいのでもっと簡単に、そしてほんとに具体的にRCJのレスキューメイズに出るためにということを話していきたいと思います。
部活の後輩用のマニュアルも兼ねています。

#最低限何をすべきか

[こちら](https://qiita.com/Shunk_/items/b6b5c49862ec9f9d852b)に記載してあるのと内容がすこし異なりますが、レスキューメイズに出場するにあたって何を最低限しないといけないかということです。
####・迷路探索
これだけです。ほんとにこれだけです。
自分たちも1年目はこれだけです。(結果的には動きませんでしたが)

---
では、迷路探索をする上で実際には何をすること必要になってくるのでしょうか

- 壁の存在の有無
- 黒タイルの存在の有無

です。最低限これだけです。
しかも壁の存在の有無は**30cm先のものを検知**することが出来れば壁を認識できます。
そこでおすすめのセンサーを紹介します。(自分たちが使ったことのある中でですが……)

##センサやモーターなどの部品について

### 距離センサー

- [超音波センサ](http://akizukidenshi.com/catalog/g/gM-05400/) 
ものすごく高い(時期変動ありますが)のですが、使ったことのある超音波センサーでは、1番使いやすいのと精度がいいです。しかし、3mより先や5cm以下で、精度が落ちます。あと、音波なので拡散しやすいです。

- [VL6180x](https://www.switch-science.com/catalog/2518/)
I2C接続になりますが、0mm～100mm(500mm)までものすごく精度が高い赤外線距離計になります。1マスしか検知しないならこれでもいいかもです。

- [VL53l0x](https://www.switch-science.com/catalog/2869/)
上記のセンサーの次に開発された赤外線測距センサーです。30mm~2000mmになっています。これメインでも全然ありですが、(2018/10/24)現在ではAVR用のライブラリが存在しないので、本来の性能が出せてない気がします。`Aquilaが組んでみたもの`での精度が少し悪いです。STM使うのであればおすすめ。

STMicroさんのレーザー距離センサーは開発が進んでるので、将来的に使いやすいセンサーが出るかもしれません。
複数の種類を組み合わせて使うのも全然ありだと思います。

それと、これらのSTMの赤外線測距センサはアドレスが変えられません。そこで[I2Cバスコン](http://akizukidenshi.com/catalog/g/gI-09098/)を使いましょう。(※使い方は省略
`変えられるっぽいです`(2019/02/08追記)

###カラーセンサ
Aquilaが使用しているのは[S9706](http://akizukidenshi.com/catalog/g/gI-02493/)ですが、これに関しては何でもいいでしょう。ちなみにs9706用の基板はストックがあるのであげれます。(部員向け情報)
`基板はストラップにして結構配ってます()`

黒と白の判別だけなのでフォトトランジスタ等でも全然大丈夫です。好きなの使いましょう。
`チェックポイントの判定をするなら頑張って考えてください。自分たちは赤色の反応が多少変わりました。赤外線にするともっと反応するかもしれませんが、自分たちは難しかったです。。(銀タイルが決まってないため)`(2019/02/08追記)

###駆動系

では、次にモーターやモータードライバですね。
自分たちの[モーター](https://www.pololu.com/product/2826)はあまりオススメしません。
[モータードライバー](https://www.pololu.com/product/2507)は、いいですが、モーターはだいぶオーバースペックです。そんなにトルクは要らないはずです。大きさが大きすぎます。

この[モーター](https://www.pololu.com/product/2275)が大きさ的にはちょうどいいかもしれません。(ギア比要検討)
この[モーター](https://www.pololu.com/product/2286)上のモーターのLowPowerモデルです。モタドラと相談してください。
ロータリーエンコーダーはなるべくついてるやつを購入しましょう。外付けはあまりお勧めしません。

一年目に関しては本当に簡単に２つのモーターにタイヤ直付けで、前輪はオムニホイール等にするといったものがいいかと思います。
２年目以降はいろんなものをチーム内で探ってみましょう。モーターを４つ使って四輪にするのもありですし、自分たちみたいにギアを使って四輪にするのもありです。

タイヤに関してはある程度の摩擦があるスポンジタイヤがオススメです。1年目はモーターに直接取り付けて、なるべく簡単な機構にするのをオススメします。

###マイコン
部員に関してはAquilaの基板を使うのもありですが、仕組みと制御方法がわかりずらかったり、性能があまりよくなかったりします。
そこでおすすめはSTM32の[F446 Nucleo](http://akizukidenshi.com/catalog/g/gM-10176/)ボードです。こちらに関してはロータリーエンコーダーを使用した制御もできる性能があります。が、
また一年目に関してはArduinoを使う手もあります。

###プログラム
組み込みのほう(センサー)はGoogle先生に結構乗ってるのと、データーシートを読んで、先輩に聞いてみたらいいでしょう。
問題はどうやって迷路を探索するかですね。`左手法`とでも言っておきましょう。
これを使います。
これ以上教えるのは少し面白くないのでここまで、、、
２年目以降に関してはマッピングもして、スタート地点に帰ってくるところもできるように頑張ってみましょう。

##回路について
先輩はプリント基板作ってるでしょうが一年目は時間的にも技術的にもユニバーサル基板を使って作りましょう。のせるものは以下の通りぐらいです。

- ピンヘッダ(マイコン用)
- ピンヘッダ(センサ用--距離、カラー)
- ピンヘッダ(モータードライバ用)
- 電池とつなげるためのコネクタ(XHやピンヘッダはだめです)
- スイッチ
- フューズ
- 電圧計

ぐらいです。ピンヘッダだらけになると思います。なので少し大きめの基板を買って、マイコンボードを刺は刺したり、モタドラをシールドのものにするというのもありかと思います。
電池用コネクタはXHとかでするのはだめです。とくにリチウム系など大きめの電池を使用する際には細心の注意を払いましょう。フューズと電圧計は必ずつけてくださいね。

##機体について
機体に関してはなるべく構想が固まったらすぐ作っちゃいましょう。やる気が続くものでもないのでチャチャッと作っちゃうことをオススメします。一年目は手作業でする方向の方が楽ですね。(CNCは使わずに)
とりあえずチャチャっとハードを作ってみればおのずと改善点が見つかると思います。機体の形が定まるまで何個も機体を作り直す勢いで作りましょう(時間があれば設計してやることをお勧めします。)
坂が意外と難しいです。重心やタイヤの摩擦度を考えて作りましょう。


##※補足(クラブ向け)
なぜこんなに「1年目は～」って連呼しているのかと言うと、1年目がほんとに重要だからです。
1年目、動かなくてもいいので、機体を作ったりプログラムを書いたりするという経験によって、自分たちがどれぐらいの速度で進捗を上げれるのかや、この機体の形はダメだとか色々見えてくると思います。それをバネにして2年目以降は先輩が何も言わなくてもスケジュールを立てて自ら動いて欲しいです。
実際、1年目にRCJのノード大会に出場している学年はあとになって延びます。必ず伸びます。だから、サボらないでしっかり取り組んでください。自分たちのためです。

それと、先輩には質問とかをジャンジャンして下さい。1年目はお金があまり出せないのは分かります。そういうことも先輩に相談してみたら以外とかしてくれるかもしれませんよ。

#編集中……