見出し画像

ロボカップジュニア・ジャパンオープン2024名古屋 出場ロボット

ロボカップジュニア・ジャパンオープン2024名古屋のサッカーオープンリーグに出場したロボットを紹介します。


仕様

サイズと重量
 直径:175mm
 高さ:155mm (ハンドルを除く)
 重量:1654g
プロセッサー
 
メイン       :STM32F446RE
 ラインセンサー処理 :STM32F446RE
 4カメラ統合処理  :STM32F446RE
 ジャイロセンサー処理:ATmega328P
 赤外線・超音波処理 :ATmega328P
 UI・NeoPixel処理    :ATmega328P
センサー
 
カメラ     :Sipeed M1n (K210)
 超音波センサー :RCW-0001
 ジャイロセンサー:MPU6050
 赤外線センサー :TSSP58038
 ラインセンサー :NJL7302L-F3
 捕捉センサー  :NJL7302L-F3
 エンコーダー  :NJL7502L
モーター
 
DIGILENT IG22 1/19
 モータードライバ:TB67H450FNG
キッカー
 ソレノイド:CA1029
 昇圧回路 :XL6019
ドリブラー
 
DIGILENT IG22 1/19 (モーターのみ)
 モータードライバ:TB67H450FNG
バッテリー
 9.6v 1600mAh ニッケル水素バッテリー

全体概要

今回のロボットの目標として、安定した動作と戦略的で巧妙な動きというものを挙げました。この目標を達成するために開発したものとして、
・4つのカメラによるビジョンシステム
・エンコーダーによる速度制御
・赤外線センサーによる機体間のパス
・ダブルドリブラーによるボールの捕捉
がありました。全国大会まで計画的に開発をしていたので、全ての機能を実現させることができました。

また、失敗した点としては、
・IRセンサーが4つしかないため、赤外線の角度情報が正確ではない。
・ドリブラーにダンパーが付いていないため、ボールを弾いてしまうことがある。
・キッカーの威力が弱い。
・操作スイッチがロボット上部に付いており、試合中に誤操作してしまう場合がある。
がありました。全国大会の試合中に審判の方が押し出されたロボットを戻す時にスイッチに触れてしまい、ロボットが止まってしまいました。設計上の配慮が足りていなかったと反省しています。

ロボットのシステム概略図です。多くの機能を乗せたので、マイコンが合計11個乗っています。マイコン間の通信は今まで安定して使っていた実績があるので全てUARTで統一しています。MPU6050とSSD1306の通信のみI2Cを使っています。

上段ユニット概要

ビジョンモジュール

4方向にカメラが搭載されています。今回のロボットの醍醐味です。カメラモジュールにはSipeed M1n (OV7740)を採用しました。コスト、性能、サイズ、拡張性などの面において非常に優れていました。
双曲線ミラーとアクリルパイプを介していない画像なので鮮明で、コートの端に置かれたゴルフボールも容易に認識することができます。また、双曲線ミラーを介していない画像なのでYoloなどを使って相手の機体を認識することもできます(世界大会までに実装予定)。
これら4つのカメラはそれぞれ同じ基板に搭載せれているF446REとUARTで通信しています。F446REにて4つのカメラから得たデータの統合を行い、メインマイコンにUARTで送信しています。カメラで認識した物体の座標をコート座標系へ変換する処理は私の担当ではないので今回は省略します。

UI

NeoPixelとディスプレイ、操作スイッチ、ブザーが搭載されています。当初はタッチパネルを搭載する予定でしたが、このサイズに合う製品が見つからなかったので、このようなシンプルな構成にしました。
NeoPixelとディスプレイの組み合わせは非常に使いやすかったです。角度などを表示するのはNeoPixelでその他の情報はディスプレイという使い方をしていました。

IR・超音波

超音波センサーはRCW-0001を4方向に搭載しました。HC-SR04よりも一回り小さく、性能の差はほとんど見られませんでした。
IRLEDは4方向にそれぞれ2つの合計8つ、IRトランシーバーは4方向に搭載されています。IRLEDからはライトウェイトリーグの赤外線ボールと類似した波形の赤外線が出されており、味方同士の相対的な位置を特定することができます。また、赤外線ボールも追いかけることもできます。

下段ユニット概要

ボール捕捉ユニット

ボールを捕捉するにあたって必要な機能がユニット化され、ネジ4本でシャーシに固定されており、簡単に取り外せるようになっています。
前にはドリブラーとキッカー、後ろにはドリブラーのみが搭載されています。後ろにキッカーを取り付けなかった理由としては、誤射してしまった時にオウンゴールをしてしまう可能性を考えたからです。後ろのドリブラーはボールに与えられた回転を利用してカーブシュート(マカオシュート)を決めます。
斜めに取り付けられた基板は捕捉センサー用で、中央に取り付けられた基板はドリブラーのモータードライバーです。
ソレノイドはCA1029というプルソレノイドを採用しました。ロボカップジュニアのサッカーで広く使われているCB1037は今回の設計では入りませんでした。CA1029はCB1037には劣りますが、そこそこの威力がありました。ソレノイドからボールに力を伝達する機構がJの字のようになっており、力のモーメント的にあまり良くない構造だと反省しています。

ドリブラーのみを取り外したものです。ねじ2本を緩めることで取り外すことが可能です。モーターからローターへの回転はFDMの3DPで作ったモジュール0.5のギアです。ギアの厚みは4mmで設計しており、割れたり、空回りしたことは今まで一度もありません。

メインモジュール

上の基板にはジャイロセンサーとそれ専用のマイコンが搭載されています。マイコンには周辺回路が簡単なのでATmega328Pを採用しました。MPU6050にはDMPという難しい計算を勝手にしてくれる便利な機能が内蔵されているので、yaw, pitch, rollの値を直接得ることができます。
真ん中の基板にはメインマイコンのF446REがチップ実装されています。他のマイコンとUARTで通信しているだけのマイコンなので特に紹介することはありません。
下の基板はモータードライバーです。モータードライバICにはTB67H450FNGという160円のものを採用しました。制御方式はLAPでオン抵抗は300mΩ、最大電流は3.5Aと少し貧弱ですが、使用しているモーターの最大電流が3A以内なので定格は守っています。燃えたこともありません。PWM周波数は100kHzまで対応しているのでコアードモーターであれば十分です。

電源モジュール

上の基板には5V・3.3Vの生成と保護回路が搭載されています。5V・3.3V生成には村田製作所のOKL-T/6-W12N-Cを採用しました。以前から使っており動作実績があるのと、村田製作所というブランドの安心感があります。電源のスイッチにはオン抵抗の低さからMOSFETを採用しました。MOSFETのゲートに繋がっているスイッチはシャーシに埋め込まれています。
下の基板はキッカーの駆動回路です。キッカーの昇圧回路にはXL6019を使ったものを自作しており、45Vまで昇圧しています。コンデンサのチャージ用とソレノイド用に2つのMOSFETで駆動させており、信号線もフォトカプラで絶縁しているので、他の回路への影響はありません。

ラインセンサー

受光素子にNJL7302L-F3、LEDに1608サイズの白色を採用しました。受光素子にチップ部品の採用も考えましたが、自分の半田付け技術に自信がなかったので諦めました。中央に直径100mm、素子24個のエンジェルラインセンサーと、左右それぞれに3つのラインセンサーが搭載されています。すべてのセンサーは独立しており、それぞれマルチプレクサを介してアナログで読んでいます。閾値の調整はすべて自動で、どんな色のコートであっても適応可能になっています(実証済み)。
フォトトランジスタやLEDに必要な抵抗などの部品を何十個も自分で半田付けするのは途方に暮れる作業だったのでJLCPCBのPCBAサービスを利用して全て実装してもらいました。

エンコーダー

元々この機能は搭載する予定はなかったのですが、時間とスペースが余っていたため実験的に実装しました。しかし、これがモーター制御でとても役立つものになりました。
原理としては、モーターに取り付けられた白黒の部品が回転し、下のラインセンサ基板に取り付けられたフォトリフレクタで白色か黒色かを判別しています。そして、一定時間内に何回色が変わったのかでモーターの回転数を算出しています。
本来はデジタルで割り込みの処理をするべきですが、諸事情でアナログで読むことになってしまいました。mbedのADCでは少し速度が物足りなかったので、Full ADC driverというADCのサンプル速度を上げるライブラリをBurst Modeで動かすことで安定して回転数を得ることができました。

オムニホイール

直径50mmのオムニホイールです。サイドホイールにはウレタンゴムを採用しました。A70のウレタンチューブを3Dプリンターの治具を使ってカッターナイフで切りました。シリコンゴムと比べてウレタンゴムは耐摩耗性に優れているので、定期的なサイドホイールの交換が不要になりました。
詳しい内容は以下の記事にて紹介しています。

3Dデータ

Fusion360で作成した機体の設計データです。ダウンロードもできるようになっていますが、諸々自己責任でお願いします。
※最新の設計データと紐づいているので、全国大会の時の見た目とは異なっています。

スポンサー紹介

JLCPCB

基板をご支援していただきました。100mm*100mm以内のPCBなら5枚を$2で発注することができます。さらに新規登録者には$56クーポンも貰えます。最近日本語版のサイトも作成され、さらに使いやすくなりました。
↓JLCPCB公式サイト↓

Sipeed

M1nカメラをご支援していただきました。Sipeedが出しているプロダクトは魅力あるものがとても多いので一度サイトを覗いてみてください。
↓Sipeed公式サイト↓

SK本舗

学生支援事業にて光造形の3Dプリンターをご支援していただきました。SK本舗オリジナルのレジン液やフィラメントは印刷が安定するのでおすすめです。
↓SK本舗公式サイト↓

この記事が気に入ったらサポートをしてみませんか?