見出し画像

ロボカップジュニアサッカーの極意

最初に 

(この記事は2017年ロボカップジュニア中津川大会に参加した直後に書いた記事です。)

まず、ロボット製作においては自分で「調べて」、「考えて」、「作る」というのが前提である。じゃあ、ここになぜ情報を載せようと思ったのか?「調べる」必要がある情報をなぜここに載せるのか?実は、この大会は(ほかのロボット競技も同様かもしれないが)知っていれば、「勝ち」に圧倒的に近づく知識が結構多いのだ。自分は、これまでその知識をツイッターで吸収した。ロボカップ歴の長い人の進捗ツイートなどを見て分からない単語を調べたり、実際にその人に聞いたりした。だから、後輩たちも同じようにして、苦労した方がいいのではないかと思っていた。だが、この情報は別に情報源が誰であろうと関係ないのだ。知っていればいいからである。また、苦労することが必ずしも勝ちにつながるとは限らないからである。(苦労が必ずしも勝利に近づくとは限らないが、苦労は何かをするうえで重要であるということは忘れてならない。)したがって、ここに書くことにする。ただし、前述したとおりこれは、「ロボカップジュニアサッカーチャレンジライトウェイトにおいて知っていれば優位に立つことができる情報」である。そのため、基礎知識は省いてある。そこは、自分で勉強してくれ。参考資料のところに自分が勉強に使った書籍を載せておく。また、これらの情報は自分たちの世代で身につけた「情報」であるため不足していたり、間違っていたりすることもある。将来を見据えて、新しい知識を身につけるであろう次世代が引き継いでさらなる次世代へと伝承していってくれれば幸いである。

ロボットに関する情報

2-1. センサ類

2-1-1. 赤外線センサ
これは、まさしく知っていればそれで終わりなのだが、それはちとつまらない。なので、いろいろ書こうと思う。TSSP4038。これを使えばもう勝ち確定だ。周辺回路は、0.22uFの積層セラミックコンデンサと100kΩの抵抗でローパスフィルターを作り、それをアナログ入力としてメインマイコンに入れる。これらは、12個を360°に等間隔に配置する。次にプログラムにおいて、一つ一つのセンサの値を一回直交座標に変換する。(センサの値とボールとの距離がほぼ比例であるからこれが可能である。自分の向いている角度とセンサの値、そのものが極座標であるから、それを三角関数で直交座標へ変換する)それをすべて足し合わせた値が、ロボットを原点として見た時のボールの座標である。なぜ、ボールの距離がセンサの値と比例しているのか、それはボールが出す赤外線の信号に秘密がある。

画像1


実際にボールから放たれる赤外線の信号波である(ルールに載っている)
40kHz付近が中心周波数の赤外線リモコン受信モジュールを使った場合、ある距離離れると一番弱い1/64の4pulseが検出されず、その前段合計の16(=8+4+4)pulseが出力される。だんだん遠ざかっていくにしたがって12pulse,8pulseと変化していく。PWMであるからローパスフィルターをかければ、直流電圧の変位になる。よって、距離が分かる。ローパスフィルターをかけなければマイコンなどでパルス幅を計測し距離を割り出すことも可能だ。

 
2-1-2. ラインセンサ

画像2


これで、作れば動く。だが、仕組みをよく理解すること。このキーワードが理解でききればOKだ。「オームの法則、プルダウン、プルアップ、」。試合においてラインから出ず、赤外線センサにTSSP4038を使っていれば関東大会優勝は簡単だ。(自分たちはしていないが...)そのため、ラインセンサは優先度大である。自分たちはそれを実現すべくこのラインセンサのアナログ信号をサブマイコンArduiono Pro microで読み、それをメインマイコンにパラレル通信で渡している。そして、メインマイコン側ではそれを外部割込みとして認識させることで素早く反応できるようにした。2017関東ブロックではサブマイコンからメインマイコンへはシリアル通信をして受け渡していたが、割り込みの方がいいと思う。


2-1-3. 超音波センサ
HC-SR04。これを使う。これ以外はほぼ使えない。自分たちが実験した。HC-SR04は秋月電子に取り扱いがある。ただ、これは基板のそれぞれの隅に4つの穴があるものと2つの穴があるものがあり、2つ穴のものは使えないことが多い。秋月で売っているのは4つ穴だから使えるので安心してくれ。


2-1-4. 方向センサ
ジャイロセンサ(MPU6050)と地磁気センサ(HMC5883l)を使う。本当は楽な地磁気だけでいいのだが会場によっては地磁気が不安定な場合がある。なので、その時に備えてMPU6050も使えるようにした方がよい。HMC6352(ダイセンのやつもこれ)は出力周波数が遅くプログラムが書きにくいようだ。なぜ、MPU6050、HMC5883Lを使うのかというと簡単に入手でき、サンプルプログラムがあったからだ。入手性やとっかかりやすさも重要である。


2-2. マイコン, デジタルIC

マイコンは奥が深い。Arduino, mbed, raspberry piといったオンボードマイコンやPIC,LPC,STM32などといったマイコン単体で使うなど手段は様々だ。ロボット競技においてはオンボードマイコンが一般的である。Arduinoは手ごろでいいが、やはり上を考えるとNucleo(秋月で1500円)というのがとても良い。何が違うかというと、動作周波数だ(もちろんそれだけではないが)。動作周波数が違うと、一秒間に何回計算できるかが違ってくるのである。つまり、リアルタイム性が変わるということである。一秒間に何回もセンサの値をチェックし、モータに出力できれば周りの状況に瞬時に反応できる。また、NucleoはmbedなのでArduinoではできないようなこともできるらしい。Arduino mega miniとpro microは下にURLを載せておく。


2-3. モータ,モータドライバ,オムニホイール

 モータはロボカップジュニアサッカーライトウェイトにおいて選択肢は4つであると考える。Pololu、ダイセン、IG22+280で自作、maxon。ダイセンは壊れやすいが安価である。maxonは一個当たり学生割引で1万円ちょっとである。高い。何がそんなにマクソンを高価にしているのか?それは様々である。応答速度、インピーダンスの低さなどである。実際自分もあまり詳しくは把握していない。そもそも、マクソンはダイセンやポロルなどとは違う種類のモータなのである。コアレスモータである。簡単に言うと、応答速度が速いためPID制御にはとても向いていて、しっかりブレーキがかかったりPWMのデューティ比と回転数が比例しているのである。モータというのは応答速度などの問題でプログラムしても完全にその通りには動いてくれないのだが、マクソンは、その完全には動いてくれない要素がほぼ考えなくていい範囲になっている。そのため、強いチームはこれを使っていることが多い。ポロルはダイセンと同じコアードモータのため性能はそこまで変わらないが壊れにくいという特徴がある。IG22+280で自作はポロルよりも重さを削減するためのものだが、やはり駆動部を自作するのは誤差が出やすかったりする気がするのでやめた。ポロルが一番いいんじゃないかと思っているとは思うが、実は重量がこの4つの中で一番重いのである。また、joinmaxという高出力のモータがあるのだが、中国でしか扱いがないため入手不可能なのと詳細が分からないため使えない。
モータドライバの基礎概念は書籍で勉強してくれ。自分たちは最初自作モータドライバを作ろうと考えていたが、全く持って知識がなかったのと時間が足りなかったため既製品の安いものを探した。VNH2SP30内蔵モータドライバをaliexpressで購入した。下にリンクを張っておく。
オムニホイールの動く理屈は自分で調べて理解すること。ここでの説明は省いておく。理屈が理解できれば、ある程度オムニホイールの試作品を作ってみて試行錯誤を繰り返すのみだ。


2-4. ソレノイド

 ボールをキックするのに使う。あるのとないのとだと全然変わってくる。ボールに急な加速度を与えられるので、相手がボールに応答しづらくなる。一瞬の間、高電圧をソレノイドに流すことで急激な力を与えられるが、ルールにも記載されているとおりソレノイドは威力制限があるので設計する段階で気を付けなければならない。Gcraudのブログが参考になった。


2-5. 電池,充電器

 いろいろな種類の電池があり、なぜリポバッテリーを使うのかを理解しなければならない。これも、書籍で頑張れ。KypomやHyperionのバッテリーが最適である。ただ、電池にも電圧やワット数の制限があるので購入する前に確認すること。充電器は秋月電子のパーフェクトネオがよいと思う。もっと安くする方法もあるが大会中は既製品を使わなければならないのでこれでいいと思う。


2-6. ねじ,ナット

 いろいろな規格があるので、この場所には小さいネジの方がいいとか、ここはモータを固定するところだから大きめのネジを使っておこうとかという風に考えて設計する。ここに書くほど、ネジに関しては難しくもないし情報も少ないのでネットで調べればすぐわかると思う。実際自分はそうであった。


2-7. 開発環境

プログラム: Arduino IDE
基板設計: Kicad
回路設計: Bsch3V
ユニバーサル基板設計: PasS
ポスター発表: PowerPoint
3DCAD設計: 123Ddesign
(Fusion360はとても使いやすく、学生なら無料なのでこれを使おうと思っていたのだが、自分のパソコンのSSDの容量が足りず断念した。)


2-8. 戦略

 ゴールの方向を向きながら(正面ではなく、ゴールポストの方向である。コートの右の方にいるのならば左を向く。ロボット本体がゴール側を向いていなくてもソレノイドだけを向けるという方法もある。)ボールに回り込み、ボールをとった瞬間にキックしゴールを決める。これが、このルールに基づいた最適解といえそうである。


2-9. 購入場所

秋月電子
 いろんな電子部品があるので大体はここでそろう。
モノタロウ
 ホームセンターのでかいバージョン。
スイッチサイエンス
 pololuやarduinoなどの純正品は豊富。
タカハ電機
 ソレノイドがたくさんラインナップされている。
ヒロスギネット
 ねじ、ナット類ならここ。
アマゾン
 互換品等は結構売っている。
Aliexpress
 中国のサイトなので注意すること。とにかくいろんなものが安い!ショップの評価が4.9を超えていないと大体問題が発生するので気を付ける。
Elecrow
 設計基板を委託するならここだろう。

自分はこれらをgoogle chromeのブックマークに保存しておいて忘れないように、またすぐにアクセスできるようにした。以下は、自分たちが使用した製品のリンク。

vnh2sp30モータドライバ中華製

pro micro中華製

Arduino MEGA mini

超低頭ネジ

まとめ

ダイセンではどうしても上に行こうとすると壁にぶち当たるため、早めのArduino移行を心がける。だが、Arduinoに移行した年は結構大変なので入賞はできないかもしれない。その次頑張れ。なるべく試合をたくさんするためと期限を多く設けるため本戦だけでなく、練習大会にも出るべきである。NEST、北九州オープン、瀬戸内オープンがとても良い。あたりまえのことだが、練習大会に参加するのはただ練習するだけでなくほかの人との交流というのも含まれている。昇圧回路はどうやっているの?とか赤外線センサの素子は何か?を聞くのである。
最後になるが「勝ち」に一番近づくのは知識ではなく、考え方だとじぶんは思う。知識を自分から得ようとする積極性はもちろんだが、本当に言いたいのはてんびん方式である。どういうことかというと、何かを作っているときこういうやり方とああいうやり方があんだけどどっちがいいかなと吟味するときに、それぞれのメリットデメリットを書き出してそれらを目的によって優位差を付けて決めるという方法である。もっと具体的に言おう。例えば、十字ラインセンサを作るとしよう。そのとき、十字型を一枚基板にするか、一枚を長方形にしてそれを4枚並べるかを考えるとする。

画像3

これを見て、目的によって決めるのである。つまり、軽いというメリットとメンテがしやすいというメリット、どちらが重要かということである。実際のところ、交換をそんなに素早く行う必要もないし、実際のところラインセンサはあまりメンテナンスをしない。軽くすると、ソレノイドがのせられるように少しでも近づくので、今回の場合は一枚基板である。
この考え方はものすごくあたりまえといえばそこまでなのだが、あたりまえのものほど分かりづらかったりする。自分は迷ったときにはこの考え方を利用している。論理性があり、とてもおすすめだ。ロボットだけでなくほかのところにも応用できるだろう。最後にまとめておく。知識はそりゃロボット作りには必要だが、その知識の使い方としててんびん方式があるということだ。
ロボット製作でつまずいたら、ツイッターで強い人にDMで聞くとか、メールで自分に聞くなど様々な方法がある。これから大変になるかもしれないが健闘を祈っている。


参考書籍

ロボコン部品ガイドブック オーム社
 この本は、ロボカップで関東3位になった後で読んだのだが、もっと早く気付いていればと後悔している。これにはすべてが書いてある。自分が今書いているこの冊子はロボカップ向けだが、この本はロボコン全般なのでいろいろなところでも応用できるだろう。上の方で勉強してくれと書いたものは大体これで分かる。

0から理解する世界一簡単な 抵抗・コンデンサー・コイルのきほん 伊藤尚未
0から理解する世界一簡単な トランジスターのきほん 伊藤尚未
電子工作が上達するセンサのきほん 伊藤尚美

 この本はディスクリート部品の仕組みを理解できるとともに、巻末にある製作例がとても充実しているためいくつか作ってみることをお勧めする。回路は英語の例文を覚えるのと同じで、こういう部品はこういう使い方をするというのを具体例で覚えるのである。そう考えたら、簡単に感じないだろうか?

6日でマスター 電子回路の基本66 石井聡
 この本は、中級者向けである。ただ、上の本でいくつか作品を作ったならすぐに理解できるだろう。ロボカップにおいてはそこまで使わない情報かもしれないが理解しておくと将来に役立つだろう。

やさしいC 高橋麻奈
 C言語はこの本で1週間だ。文法はこの本で十分だろう。Arduino用ではなく一般的な汎用C言語なのでいろいろなところに応用可能。Arduinoは書籍を買わなくても、ネット上にたくさん情報があるので大丈夫だと思うが、やはり一冊ぐらいは持っておいた方がいいだろう。


質問がありましたら、twitterでDMを送っていただけると答えられます

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