2023RCJ WRL polaris ハード制作記録

## 前置き
この記事はRCJ WRLの機体制作記録である。
課題の解決方法や、設計の理由、振り返りを中心に書いていく。



## 課題
RCJ Rescue Line (W)の課題を達成できるロボットを作る

## 必要機能
課題達成のためにどんな機能が必要か

・1cmのバンプ、つまようじなどの小さな障害物、25°以下の上下坂を通過できるような駆動機能
・ライン、色マーカーを検知し対応の動作をする機能
・障害物を検知し回避する機能
・ラインのない壁で囲われたフィールドを検知し、入り、出る
・フィールド上の黒と銀のボールを回収し、指定の箇所に入れる

他に、ルールより、
・最大幅25cm*25cm
・最大高さ25cm
(・バッテリー制限、電圧制限...など)

## 仕様決定
必要機能のために、具体的にどんなものを載せるか。

・駆動　->　4輪駆動　56mm径タイヤ、マイクロメタルギアモーター
　　大きさを考えるとマイクロメタルギアモーターがちょうどいいだろうという判断。
　　クローラーは入手できるのが小さいものしかなく、設計も困難で特にメリットが感じられない。
・制御機　->　ラズパイ4(8GB)
　　開発環境が楽。ハード出力は特に必要ないので。カメラを使うのにも都合がいい。
　　(強いて言うなら価格高騰で予備が準備できない)
・ライン検知　->　底面にカメラ
　　カラーセンサーだけでは対応しづらいため。
・障害物、壁検知　->　四面複数個所に距離センサー
　　こんなんなんぼあってもいいですからね。
・バッテリー　->　18650電池
　　バッテリー制限を満たすのが楽。

・機体素材　->　アクリル
　　3Dプリンターは造形時間かかるし設定下手だとなにもできない...。
　　レーザーカッターの造形時間の短さはロボコンにおいて圧倒的メリット。
・基板　->　プリント基板発注
　　距離センサーのために横基板も考えたが、結局コネクタを生やした。

## 基板仕様決定
以下基板に載せるもの

ラズパイ用ポート　リボンケーブルで接続
モータードライバー　TB6612
PWMサーボドライバー PCA9685　(ラズパイはPWM生成がまともにできないのでモタドラ制御にも使う)
I2Cパスマルチプレクサ PCA9547D
ジャイロセンサー　(坂検知用)
DCDCコンバーター5v と関連部品
DCDCコンバーター8v

以下外付け
パネル基板 GPIO数ピンだけ
距離センサー　vl53l0x
モーターポート
バッテリーポート
底面LED
電源電圧計

## 機体設計

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3515767/e244699b-c3db-672f-4a63-550037e3432e.png)
↑全体CADスクショ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3515767/a97c07fc-674a-8de0-b6cf-bb6371f31e8b.png)
↑回収機構を取り除いたCADスクショ

四駆ならモーターの配置はこれしかないだろう。
底面カメラは中央に設置したので、それに合わせて制御基板も中央においた。
側面vlはタイヤの上に配置。場所を取ってしまう電池ボックスは少し土台を作ってモーターの間に配置した。この部分の設計は無駄スペースがなく、バッテリーの交換も簡易に可能であり、綺麗に設計できた。

ただ、このCADには回収機構を配置する場所がほぼ無い。チーム運営において回収機構の設計は二の次であったため、まあ仕方ないのだが。回収機構を設計するなら、中央に据えてある制御基板はかなりスペースが限られる。


## 基板設計
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3515767/8987379a-3e64-ca72-1671-485cc46bcf97.png)
↑スクショ
値段を考慮して100mm四方に収めた。
先述したように回収機構を考慮していないため、かなり広めに設計している。
空きスペースに電源線を出しておいたのは、後付け配線が必要になった時、非常に有用だった。発注時間を考慮して、多少の融通が効くようにするのは ロボコンという期間有限制作において重要である。

## 問題点
ぶっちゃけここから本題。
開発上で、いくらか問題点が発覚した。修正しきれなかった深刻な問題について記述する。

### 超信地旋回のズレ
どれだけ慎重に設計しても、超信地旋回での機体の小さなズレを修正することはできなかった。
(おそらく、ズレの原因は機体重心のズレである。回収機構試作を載せた時に挙動がおかしくなった件より考察。)
底面中央にカメラがあるため、機体が少しでもずれると視野からラインが消えてしまう。
四駆中央カメラで超信地旋回を使えないというのは四駆のメリットを失っている。
旋回のズレが問題ないようなカメラ配置にする必要がある。

### テープ反射
反射がやばい。
ラインテープや緑色マーカーに使っている材料(だいたいビニテだと思う)が、異常にテカテカしており底面LEDを反射してくることがある。白判定を受けてしまい輪郭判定がめちゃくちゃになる。
(最悪なのは、コートにテカテカしてるのとしてないの複数種のテープが使われているときである。)

### カメラ緑色検知
緑色が分けられない。
(そもそも、ルールで緑色の定義がされていないため、どんな緑色を読む必要があるのか曖昧である。)
カメラ画角の色合いがホワイトバランス補正？のせいで変わってしまうため、絶対評価が出来ない。
また、光の入り込みを防ぐため、黒ビニテで囲って底面LEDで調光できるようにしたいのだが、バンプのせいで囲いを伸ばせない。
(おそらく、銀色もかなりきびしいと思われる。 底面LEDの変色で何とかなるだろうか。)

### 瓦礫(:つまようじ)の処理
つまようじがカメラに映ると確実に荒ぶるため、絶対に画角に入れてはいけない。
また、タイヤに絡んで滑らせるため、タイヤに触れさせてもいけない。
ガードを作る必要があるのだが、ガードは 坂を登る、バンプを越えることの障害になってはならない。
(直前になっても対応ができていなかった(正直舐めてた)ため対応策が全く練れていない。)

### 回収機構スペース
機体開発において、回収機構の設計の優先度はかなり低かった。
そのため、後付けで回収機構を設計する必要があり、設計は難航した。(結果できなかった)
スペースを確保するには、制御基板を小さくする必要があるが、ラズパイが載っている以上ある程度場所を取ってしまう。
回収機構をつけるなら、かなり早い段階から考えておかなければいけない。

## おまけ　開発環境
設計ソフト等
3D CAD：Inventor2019 (学生ライセンス)
基板設計ソフト：Eagle
(Eagle → Inventor 用CADソフト：Fusion360)

工作機械
基本フレーム：アクリル板をレーザーカッターで切断
立体形状パーツ(回収アームなど)：3Dプリンター

## 総合記事リンク

https://qiita.com/rakurobo68th/items/bb5cfbd359a3ea8e4670