2018年6月18日から22日にカナダのモントリオールで開催された世界大会に出場しました。大会の結果は個人11位、スーパーチーム1位、Best Innovation Awardを受賞しました。
今回の世界大会に向けて制作したロボットを紹介したいと思います。
2台のロボットは完全に同じハードウェアです。

仕様

IMG_0090

マイコン

メイン :  SAM3X8E
サブ :  ATMEGA328P
ラインセンサー処理 x4
超音波センサー処理 x1
UI処理              x1
IRセンサー処理 x1 

センサー

カメラ                   :  OpenMV Cam M7
ジャイロセンサー :  BNO055
マウスセンサー : ADNS-9800
超音波センサー     :  HC-SR04 x3
SRF10 x1 
IRセンサー             :  TSSP58038 x16
ラインセンサー       : (PS1101W+WS2812B) x29
ホールドセンサー : (NJL7502L+緑色LED) x1

ワイヤレス

TWELITE 標準出力 BLUE
Bluetoothモジュール IMBLE

モーター

maxon motor RE16 + GP16A   19 : 1   x4
モータードライバ :  DRV8432 x2

キッカー

ストレートキッカー
改造 CB1037 + 50V 2000μF
チップキッカー
CA1029 + 50V 4000μF
昇圧回路
XL6019 を使用した自作基板

ドリブラー

モーター :  タムテック モーター OG.37
ギヤ比  :  1:2

バッテリー

LiPOバッテリー  11.1V  1300mAh 



概要

IMG_0003
 ロボットは3つのユニットで構成されています。重心を低くするためと配線の簡略化のために、ほとんどの部品を一番下のユニットに詰め込みました。各ユニットどうしの接続はフラットケーブル1本とネジ数本だけなので簡単に分離できます。

ドリブラー

IMG_0004
ドリブラーです。
真鍮製のギヤを採用しましたが、すぐ歯が削れてしまうので結構な数の予備を準備しなければなりませんでした。 赤外線ボールの時代に製作したものと同じ仕様で設計したのですが、ドイツ製のオレンジボールではトルク不足で思うようにボールをホールドできませんでした。

IMG_0005
ドリブラーを小型化するためにサスペンションをドリブラーを支えるパーツに埋め込みました。簡単にドリブラーを取り外せるので、メンテナンス性が向上しました。

キッカー

IMG_0061
IMG_0060
ストレートキッカーです。
このロボットにはストレートキッカーとボールを蹴り上げるチップキッカーを搭載しました。そのためストレートキッカーの構造が複雑になってしまいました。63V1000μFの電解コンデンサーを2つ並列に繋いでおよそ50Vをチャージしています。昇圧回路は自作しました。

IMG_0072
IMG_0071
チップキッカーです。
ソレノイドの直線運動を回転運動に変換することで、ボールを下からすくい上げるようにしてボールを蹴り上げることができるようにしました。63V1000μFの電解コンデンサーを4つ並列に繋いでいます。
これは赤外線ボールからオレンジボールに変わったときに、キッカーの威力測定は赤外線ボールで行われるルールだった (現在はオレンジボールで測定されます) ので制限内でも蹴りあげられるのではないかと思ったのと、内容はわからないけど2018年からサッカー競技とは直接関係ないような技術が評価されるテクニカルチャレンジというルールが追加されるらしいという話を聞いて、搭載することを決めました。まあ、1番の理由はやってみたかったからなんですけどね。

IMG_0024

昇圧回路です。
小さいスペースに詰め込みたかったので自作しました。11.1Vをおよそ50Vに昇圧していますが、最大60Vまで昇圧できます。前2つのモーターの下に配置されています。

カバー

IMG_0007IMG_0009
バッテリーのカバーです。
カバーの隙間からスペーサーを押すとロックが外れてカバーが開きます。回転軸は、M3丸型のスペーサーの間に外形4mm高さ2.5mmの中空スペーサを挟んで溝を作り、カバーのフレームを挟んでいます。側面の素材はPPクラフトシートです。

IMG_0076
IMG_0077
オムニカバーです。
オムニホイールの整備がしやすいようにネジを使わずに固定しています。POMとカーボンを組み合わせてカチッとはまるように工夫しました。試合中に外れることは基本的にありませんでした。 

USBポート

IMG_0079
USBポートです。
右がOpenMV、左がUSB-Serial変換器(ATMEGA16U2)を通してメインマイコンにつながっています。メインマイコンからArduino as ISPを使って、SPI通信の回路を通してサブマイコンにプログラムを書き込めるようになっているので、1つの書き込みポートから全てのマイコンにプログラムが書き込めます。

オムニホイール

IMG_0019
オムニホイールとモーターマウントです。
オムニホイールの直径は52mm、サイドホイールはシリコン製で18個です。大会前に新品のサイドホイールに交換しましたが、今では削れたりちぎれて無くなっていたりしていて、あまりグリップが効かなくなっています。
モーターマウントは ギヤヘッドを差し込む形になっていて、しっかりモーターを固定します。また、出力軸をベアリングで保持することでがたつきを抑えることができました。

IMG_0020
主要な部品を取り外したところです。モーターの下に配置されている部品が見えています。

ラインセンサー

IMG_0096
ロボットの裏面です。 
29個のラインセンサーが 十字形に配置されています。3つのネジを外すと裏から簡単に取り外せます。
中央にあるのはマウスセンサーですが、使用しませんでした。モーターの下のカバーには昇圧回路とヒューズが固定されて、裏から簡単に取り外せるようになっています。

IMG_0027
ラインセンサーです。
4つの基板に分かれていて、それぞれの基板に1つずつマイコンが乗っています。1つ1つの素子がマイコンのI/Oピンに繋がれているのでライン上のどこにいるのかも正確にわかります。受光素子、LED共に表面実装の部品を使い、基板自体も薄くすることでセンサー基板を薄型化することができました。LEDはマイコン内蔵のフルカラーLEDを採用しました。そのため、全国大会では白色だったラインセンサーを世界大会では緑色に光らせることができました。
1.27ピッチのピンソケットにフラットケーブルを直接半田付けすることでコネクタを小型薄型化することができました。接触不良やコネクタが抜けてしまうことはありません。 

メイン基板

IMG_0084
メイン基板の表側です。二段構成になっていて、上段がモータードライバー、電源スイッチとDC-DCコンバーターが乗っています。下段にはメインマイコン、ジャイロセンサー、無線通信モジュール、SDカードスロットが乗っています。上下の接続は3列 (2列+1列) のピンヘッダで、M2のスペーサーで固定しています。

IMG_0088
メイン基板の裏側です。メインマイコンはSAM3X8Eで、Arduino Dueとほとんど同じ構成を基板に埋め込みました。開発環境はArduino IDEを使っていました。

シャーシ

IMG_0033
シャーシから全ての部品を取り外したところです。材質は厚み2mmのアルミA2017です。かなり肉抜きしましたが十分な強度を保っています。床面のカバーは2mmのアクリルです。
IMG_0036
部活のCNCが小さいので4つに分けて削りました。大きなCNCがなくても工夫次第で大きな部品も作れます。

中段ユニット

IMG_0038
中段ユニットです。 
3つの超音波センサー、全方位カメラ、IRセンサーユニットが搭載されています。

IMG_0082
中段ユニットの裏側です。ここでも1.27ピッチのピンソケットとフラットケーブルを組み合わせた薄型コネクタを使っています。

IMG_0056
シャーシと同じく3つに分けて削りました。スリットを入れることでデザインを保ちつつ軽量化と排熱性を確保しました。

超音波センサー

IMG_0039
超音波センサーです。
センサー部分とフレームが近すぎてうまく距離を測定できなかったので15度上むきに傾けています。傾けても安定して距離を測ることができています。全方位カメラの視野を邪魔しないように低い位置のできるだけ内側に配置しました。

全方位カメラとIRセンサー

IMG_0042
全方位カメラとIRセンサーです。
カメラはOpenMVを採用しました。小型なので搭載しやすく、色認識の閾値を数値で設定できるうえ、色認識のプログラムを自分で書くことができるので優秀です。
ミラーの直径は36mmで、少し小さめです。3Dプリンターで出力した型に熱した塩ビシートを押し付けて作りました。普段はサッカーコートの中央からならどこにボールがあっても見ることができます。時間をかけて調整すれば1.4mくらいまで見えました。
従来の天板が平らなデザインを変えたくなかったので全方位カメラを天板の下に配置しましたが、デザインと壊れにくくなること以外は欠点ばかりでした。正確なボールの距離がわかりづらく、ゴールの認識が厳しいケースもありました。
IRセンサーを搭載しているので赤外線ボールも追いかけることができます。 

UIユニット

IMG_0045
UIユニットの蓋を開けたところです。
スピーカー、超音波センサーとハンドルの角度を検出するポテンショメーターが入っています。
天板は厚み3mmのつや消し加工のされたアクリルです。ほぼ全てのアクリルパーツはつや消し加工のされたアクリルを使っています。普通のアクリルより若干(100円くらい)高いですけど、ツヤがあるよりオシャレじゃないですか??

IMG_0047
天板の裏側です。
ハンドルを折りたたんでいないときは突出物がないので全方位カメラの視野を邪魔することはありません。

ハンドル

IMG_0091
IMG_0048
このロボットの最大の特徴だと言える、ハンドルです。
光るうえに折りたたむことができます。折りたたまれている角度を検出するポテンションメーターを搭載しました。少し前のMacBookみたいに、折りたたんだらホワンとLEDが消えるようにしたかったんですけど、、、未実装です。ハンドルにバッテリーの残量を表示させたかったのですが、、、これも未実装です。

IMG_0051
回転部分の配線です。配線が外から見えるとカッコ悪いので見えないように工夫しました。

IMG_0054
ハンドルのロック機構です。
ハンドルを一番上まで引き上げると左の白い部分に右のハンドルについている黒い円柱がカチッとはまり、ロックがかかるようになっています。 

IMG_0058
全部の部品を並べました。かなりの数の部品で構成されていました。次のマシンはもう少しシンプルにしたいですね。


僕のロボットはたくさんの偉大な先輩方のロボットを真似して作ってきました。ですから、このロボットは真似してもらっても構いません。むしろ真似してもらえると嬉しいです。


間違っているところやダメなところはコメントやtwitterで指摘してください。質問等もコメントやtwitterへどうぞ!