しろうさぎのblog

ロボカップは小4の時に始めてかれこれ…。元将軍キャプテンです。 情報公開や交流用に作りました。気が向いたらアップしていく感じですのでよろしくです。最近まで関白のブログって名前でしたが、関白って名前使っていないので変えました。

どうもしろうさぎです。
前にも書きましたが、第17回レスコン東京予選を勝ち抜いて本選に出場してきました。

結果はファイナルに出場できませんでしたが、レスキュー工学奨励賞をいただきました。まぁ言ってしまえば来年頑張れよ賞だと認識してます。
実際問題、使った技術としてはかなりいいものを使っていたと思いますがそれが結果にならなかったという感じです。ものすごく悔しいです。結構辛口コメントの顧問の先生もファイナルに残っていたらかなりいい賞がもらえたのではないかと言ってくれてそこらへんはうれしかったです。
ファーストミッションはロボットの調子も安定していたのですが、人間の判断ミスで3体救助2体搬送という形になってしまい、ダメでした。
セカンドミッションは大学で個別に起こっていた再現性がまだとれていないバグがすべて出てしまい、3号機のカメラが来なくなったり、昇降機構が動かなくなったり、4号機のアームのマイコンが落ちてダミアンを抱え込むところで動かなくなってしまい、救助することができなかったなど散々でした。機構的ではなくほとんど電気系や組み込み部分で動かなくなってしまいほかの部員には申し訳ない気持ちでいっぱいです。



まぁそんなこんなで今年の私の関与した部分を説明していきます。まぁ電装部すべて私なんですけどね。


まずは1号機
DSC_2259IMG_3894

この機体の電装ユニットのサイズはほかの4機体に比べ最小スペースでできてます。さらに発注MDとTPIPとエッチング基板のみで構成されているので安定性が高いです。TPIPからI2Cデータを引き出してSTM32F303Kで解析して各足回りモーターとサーボを動かしています。足回りモーターは15KhzくらいのPWMで動かしています。380DCモーターなのでそこまで高くしてもってことでこのあたりにしています。サーボはI2Cで0-180度の角度データを受け取り、それに合わせてPWMを出力して動かしています。TPIPのデフォルトで4本のサーボPWMを出力できますが、この機体で必要なサーボPWMは5本なので、前の羽の2本分をSTM32でPWMを作っています。

・2号機
DSC_2265
IMG_3891
この機体はTPIPのPWM増設ボードからPWM信号のみを引き出して、エッチング基板内で電源を作りその信号線をつないでワンボード化しました。使い勝手と安定性(TPIPから取り出せる電流に限度があるため外部で作る必要がある)を向上させました。それに加え、STM32F303Kを搭載してTPIPからのデータをもとにベクトル計算させてメカナムで360°制御を可能にしています。予選時では、TPIPのPWM信号(ベクトル計算済み)をもとにMDの上のATTINYでモーターを回していましたが通信が不安定になると一気に暴走したり不定になることが多かったためSTM32を通すことにしました。

3号機
去年とまったく同じなので割愛

・4号機
DSC_2252
IMG_3895
IMG_3896
予選後の記事にシステム図を載せましたがあれから大して変わっていません。
予選後にしたことは、姿勢制御を導入しました。9軸カルマンフュージョンコンパスを用いて、P制御のみで姿勢制御を行い角度がずれたら姿勢を直すくらいのことしかしていません。しかしそれのおかげで、道上をまっすぐ走るだけでも少しずつモーターの個体差やギヤのかみ合わせで傾くのを防止してまっすぐ進めるようにしたり、バンププレートや坂道でも安定して進むことができるようになりました。ちょっとのことで結構大きなメリットがあったのではないかと思っています。
さらにこの機体はUIが充実していて、有機ELディスプレイで今どの状態になっているのかがパッと目で見てわかるようにしてあったりスイッチでプログラムを切り替えることをしてその時の状態に合わせていました。


・本戦出ての感想
何よりも審査委員長に阪大の浅田先生がいて小学生の時にその先生の論文(たしかRCJ中型か小型リーグの論文集)を読んですごい先生がいると思うと同時にこんなことがしたいと思っていたことを思い出し感動しました。ファイナルに出ることができなかったので私たちのチームの審査員用資料を読んではもらえてないと思いますが、先生がコメントされていた「テレオペと自律をうまく融合させて、人間がやった方がよいところは人間がコンピューターがやった方がいいところはコンピューターがやるべき。」というところが僕の考えとまったく同じでロボカップ出てた人はそういう頭を持ってるのだなとも感じました。私自身今回4号機で姿勢制御を導入するなど操縦者のアシスト機能を追加してロボットの動作をさせていましたし、テレオペと自律の融合をうまくしていこうと思っていました。こういうことを考えてファイナルに出れていれば・・・とかなり悔しいです。

また、他チームからの質問が次から次へと来ていてうれしかったです。特に姿勢制御の話やMDの質問が多く、注目されていたのだなと感じました。もともとRCJやっている人がこのチームにいるらしくて・・・って来る人もたまにいて・・・・。
けど周りにARMマイコンを使っているチームが僕が見た限りではいなく残念に思っていました。さらにMDもレスコンが出しているMDのリメイクだったり聞いてみるとそこまでスペックが高くなかったりと悲しい現実でした。NHKとかRCJの人たちってやっぱり変態がおおいですね・・・・。

まぁ「某審判にロボットも変態だけどメンバーも変態だなこのチームは」って言われましたね。はい。

・来年は。
来年は姿勢制御を4号機だけでなくほかの機体にも導入して、今年できなかった自己位置推定を完成させれたらと思います。さらにラインを読んで道の中心を走らせることもさせようかなと思っています。
今年出てしまったバグの再現性をだしてバグの解消、4号機のシステムが頭悪すぎるためF767ZIT6を使ってもう少しスマートに行う、ほかの機体でもF7マイコンを導入して処理能力の向上で安定化を図ろうと考えています。

それでは今日はこの辺で。

どうもしろうさぎです。

今年でRCJの年齢を完全に超えて現役として大会に出ることができなくなった今少し振り返ってみたいと思います。

・RCJとのきっかけ
きっかけは単純でした。愛・地球博が私が小3の時に開催されており同じ県内でやっているということで親に連れられ行きました。そこでRCJサッカーの大会をやっていました。(夏だったのでもはやノードなのかブロックなのかはたまた他なのかさっぱり覚えていませんが)その時一目見てこれがやりたいと思いました。

この本と、レゴマインドストーム(RCX)を買ってもらい自分で本を読みながらボールを追っかけたりラインの明るさを読んでどちらの方向に進んでいるか(昔はコートの床がグレースケールになっていてそれで方角を求めていた)を認識させて回り込むくらいは実装していました。
そのなか名古屋市科学館で「ロボット工房」なるものがあることを知り行き、そこで情報を聞きました。聞くところによると「ロボット教室」なるものに参加すると初年度だけの人を集めた大会に出れて、そうじゃなくても大会には出れるよけどたぶんボコボコにされるよ(当時私が将来後輩チームとなる先輩の人たちが蹂躙していた)と言われ、その教室に参加できる小4まで待ちました。

・RCJ参加
初年度の大会では、一応初心者枠リーグで4位になりました。周りはキットばかりでしたが私は足回りを変えて出場していたのでそこそこ得点出来ていた記憶があります。けど途中でモーターのブラシが焼き切れ、全然動かなくなり決勝リーグで負けこのような結果になったという感じです。

・小5-中2
次の年にはEKのサッカーロボ915を卒業し、AKI-BASIC(PIC-BASIC)をメインマイコンボードにして4輪オムニのロボットを作り大会に出ましたがさすがに小学生の私にはさっぱり理解できず全く動きませんでした。その時名古屋市科学館のメンターとして来てもらっていた人に情報をもらってそれを頼りに作ってみたはものの動きません。確か3端子レギュレータからはんだ付け間違えて動かせず、もちろんTA7291Pなんて動かず・・・。
年齢を重ね、自分で勉強しつつ大会に出ているうちにそこそこ理解しはじめ一応大会で動かせたのが中1の時だったかなと思います。長年見てもらっていたスタッフに「やっと動かせるようになったね。感動した。いつも全然動かない君のロボットが動いて得点してるんだもん」と言われたのをよく覚えています。まぁ結果はそれほど良くはなかったでしたが。中2か中3の時にPIC-BASICが生産中止になりArduinoに変更しました。

・中3-高1
中3でサッカーAで名古屋ノードを3位で惜しくも東海に出れず、そのままサッカーBに移行し先輩チームであった「将軍」のメンバーになり「将軍」として活動をし始めました。
このころはカラーセンサを用いてゴールを認識して狙って蹴るなどを目標にロボットを製作していました。
中3の終わりから高1の時には機械式マウスの中身を取り出してエンコーダーの値から自己位置を推定し超音波に頼らないロボットを製作しようとしていましたが子のセンサ開発に難航し、さらにチームメイトがロボットを大会に間に合わせるといい続けいざ大会に行ってみるとそこには切り出したアルミ板とちょこっとはんだ付けされた基板が並んでおりそれをせっせと組んでいたのです。まぁ幸いにもテスト用にと私のロボットを保管して持ってきていたのでそのまま出しましたが勝てるわけもなく、さらにアウトオブバウンズのルールが適応された直後で対策なんて一切しておらずぼろ負けしました。

・高2-高3
上の代がRCJを卒業していき自分が一番上の代となって「将軍」を率いていく立場になりました。
その時よく見ていた動画

ここのロボットの動きをまねしようとします。しかしながら私はドリブラーをロボットに載せるのがすごく嫌いです(なぜなら自分がボールをうまくドリブルできないのと人間はそんなバックスピンかけてドリブルしないでしょっていうことで)。なのでドリブラーを使わずにこの動きを実装しようといろいろ考えた結果まず自己位置を正確に把握するために超音波センサの素子を常に壁と水平になるように方位センサの値を使って追従させ、位置によってロボットを傾けるという方法を取りました。さらにアウトオブバウンズの対策としてタイマー割り込みをかけ周期的にラインを検知してラインを避けることにより大幅に減らすことができました。これにより東海大会を優勝し、ジャパンオープンに出場することとなりました。

IMG_0177[1]
ジャパンに出るということで、ロボット間通信をすることで東海大会の時のロボット同士がぶつかって進路を干渉しあう現象をなくそうとしました。通信環境が良好な家でやっているときはすごくいい感じにロボット同士が相互に進路を譲り合い効果的な攻め、守りができるようになっていました。
IMG_0176[1]
確かこれはジャパンに出発する前日とかに撮った写真だったと思います。
キャプチャ
この時のプレゼンシートですね。
IMG_0175[1]
IMG_0174[1]

結果としては予選7位通過決勝リーグ一回戦負けでベスト12です。予選では結構動いてそこそこ脚光を浴びていたっぽいですが決勝ではボコボコにされ惨敗でした。

・それから
この年が最後のジャパンに出るチャンスだったので公式には引退しましたが、大学が早く決まったことから新規にロボットを作り、(このブログができたのがこのころ)せとうちオープンや北九州オープンで出場しました。
大学ではロボット系のサークルに入りレスコンやロボットグランプリに参加してるといった感じです。
そこらへんはこのブログをさかのぼってもらえればわかるかと思います。
一応動画だけ並べておきますね
・せとうち2016

・北九州オープン2016

・せとうちオープン2017

・レスコン2016

・レスコン2017


個人的になにかこのような動きをさせたいというおおきな目標からロボットを作っていくことが多く、この方法で作るとしっかりとした軸をもったロボットが作れるのはないのかと思っています。

・ロボットの勉強法
何よりも手を動かすことです。机上の勉強も重要ですが、モノづくりをやっているわけなので手を動かさないと自分の技術にならないと思います。実際普通の勉強もテスト前とか書いて覚えるとかしますよね。それと同じイメージです(軽く読んだら覚えるとかいう天才は少し黙って)。

それと私が小学生でロボットを始めたときから続けていたことがあります。

それは一日少しでもいいからロボットに触れるということです。

少しでも触れることでロボットについて考える時間ができます。この時間が重要なんだと思います。どうしたら勝てるんだろう、どうしたらこんな動きができるんだろうと考えながら実験を繰り返していました。私はメカ的なハードウェアは加工機材がものすごくお粗末でほぼできないも同然だったので、回路とソフトウエア的な方法で実装しようと試行錯誤を繰り返していました。

それと失敗を恐れないことです。失敗してなんぼ、というか初めから成功する人なんていないのだから失敗をして当たり前なのです。失敗して部品飛ばしちゃうからって躊躇していては進むものも進まないですし技術力も全くつきません。実際失敗を通して学ぶ経験はものすごく大きいです。上に書いたように小学生の時大会でロボットを動かせることができず惨敗をした経験が何度もあります。その中で学んだ経験が今のロボット作りに生かされて今では何があっても大会中はロボットをフィールドに出し続け動かすことができるようになってきました。最近ではモデリングやシミュレーションの技術が向上してさも本物のように動作させられたりできるっぽいですが、実際に物を作ってみるのが一番速いと思っています。(まぁそんなこんな繰り返してるせいで私のロボットはいつもハリボテになってるのは伏せておく)

今日はこの辺にしましょう。それでは。

追伸:8/11,12と神戸でレスコン本選に参加します。よろしければお越しください。第17回レスコン


どうもしろうさぎです。

先日行われたレスコン東京予選に今年も参加してきました。
レスコンが終わった直後の水曜日にテストがあったので全く時間がなく徹夜がそのまま続いてしまって若干体調を崩している私です。

今年は去年に比べてちゃんとロボットが製作でき4台すべて一応ダミアンを救えるギリギリくらいには完成していたので2体回収をして(なんか遺体になっちゃってたっぽいけど)東京予選2位で全体からすると7位で予選を通過することができました!!!!
IMG_3750[1]
IMG_3749[1]
IMG_3748[1]IMG_3752[1]
IMG_3747[1]
一応試合動画はこれ

まぁとりあえず、今回のレスコンのロボットには去年から比べ相当進歩した技術を搭載して参加しました。
まず第一にSTM32マイコンを搭載しています。第二に自作MDを搭載し運用しました。

何よりもアーム機(4号機)の構成がなかなかに変態になってました・・・・。
キャプチャ
こんな感じでした。ラインセンサカラーセンサモジュールにつながっているマイコンは処理はしていたのですがメインのF446にデータを送っておらずはっきり言って使っていませんでしたが他はすべて使っていました。
サーボを動かすと一瞬でI2CがHIGHでロックしてしまう現象が起こったのでTPIPからかなり近い距離のところにSTM32F446につないでデータを引き出してそれぞれのマイコンにシリアルでデータを送りそれぞれで処理させたのち、アクチュエーターを動かしていた感じです。これのおかげでそこそこ安定して通信ができ動作が安定することができました。
アームを動かすのにもマスタースレーブ方式で動かしていたので、STM32F446をマスターのポテンショにつないで内部で移動平均などを取って数値の安定化を図ってメインPCに送りそこからTPIPにデータを送ってそののちアームを動かしていました。

正直言っていま書いてるだけでも変態構造で動いてるなって感じです・・・・。よく試合時間中にバグも出ずに動いているなと・・・。

ほかのロボットもTPIPからデータを引き出してSTM32で処理をさせてアクチュエーターを動かしていました。

そのうえSTM32マイコンもmbedを使わずにCubeHALを使って書いています。

まぁ本選に出場できるということになったので使っていなかったラインセンサとエンコーダのデータを使った自動制御を組み込んだり、ほかのロボットも若干バグを抱えたままなのでそこをなくすよう努力して本選を迎えるようにしたいですね。
それよりも本格的にやばいのが期末テストですね・・・・。ロボットの改善したいのにテストが完全に邪魔をしちゃってます・・・。(このくらいの組み込みやってるんだからプログラミングの単位くらいくれてもいいじゃないか・・・・・。まぁプログラミングの単位は出席してれば一応出るし全部出席してるから安泰なんだけどね。)

それでは今日はこの辺で。

↑このページのトップヘ