Maritime RobotX Challenge 2016 in Hawaii に参加してきました

投稿者: | 2016年12月19日

※この投稿は以前Google+に投稿していたものです。

大会1週間前に機体もない状態(輸送済み)でいきなり全てのプログラムを頼まれるという無茶振りをされたわけですが、なんとかGPSベースの位置制御だけは作れました。

Contents

出国1週間前〜前日

地上ならSLAMして経路計画するところまでは機体のない状態()で用意。

出国前日

パトライト付けないといけないという話を誰も把握していないことが発覚。日本橋で急遽調達。Arduinoのコードは現地で作ることに。

出国

到着後開会式にいくが時差ボケで寝てた。

初日

機体組み立て。モータードライバのプログラムを変更。gmapping(SLAM)のパラメータとmove_baseの設定。

2日目

base controllerの作成。海上では学生ロボコンのようにオドメトリは測定できないため位置に対するP制御のみのガバガバ設計。
本番用PCをセットアップしようとしたら、起動後1秒で落ちる。BIOSすら上がらない。輸送中に壊れた模様。
エンブリーリドル航空大学の人たちが助けてくれ、PCの電源が壊れていることが分かる。PCショップへ。

 3日目(予選最終日)

翌日、購入してきた電源を付けたところ無事動作、CMOSリセットとかの影響で設定が飛んでいるためBIOSセットアップしようと思ったら、キーボードがBluetoothのものしかない。
誰だコレ買ったの?!
再びエンブリーリドルに助けを求め、キーボード借りる。

手動操作のプログラムが(多分)出来たので、安全確保のためのリモートキルスイッチのプログラムを作成しようとするが、5mしか届かない…
回路設計や半田付けが非常に悪そうだったので少しいじったところ、さらに通信距離が短くなり、1mも届かない状況に笑

手持ちの物ではもうどうしようもないため、運営に相談し、リモートコントロール用のWiFiが切れたり制御用PCがハングアップした時に、確実に動作を停止するようにできたら出していいとお情けを貰う。
モータードライバのファームウェアにtimeoutの処理を入れたり、WiFiからハートビートを送信するプログラムを作成。
しかし今度はWiFiの電波が弱すぎて20m程度しか届かない…
This is Japanese電波法!!!仕方ないね!!!!!!

しかし!ここで再びエンブリーリドルが助けてくれ、†††ヤバい†††アクセスポイントを貸してもらえることに。
条件が揃えば3km届くとか(笑)

プログラムが完成し海に出すものの、風と潮流が強くコースに行かせてくれない。ログが取れないため制御のプログラムを修正できないまま終了。

地上でSLAMした時の様子

この辺りから、元軍人の陽気なおっちゃんになぜかウチのチームが気に入られ、活を入れられる。
食事や休憩をしていると
”Oh, sleeping!”
”Oh, eating!”
”Keep programming!”
”Programmer, never sleep”
と煽られる。少しくらい休んでもええやん…

まあ当然予選落ちな訳ですが、最終日まで海に出させてくれるとのことなので、せめて始めのタスクだけはクリアできるようにしようとプログラミングを続けることに。

セミファイナル

風が弱い朝のうちに実験するために5時半起き。シャトルバスに乗るために20分歩かないといけない。辛い。

早起きの甲斐もあって実験自体はできたものの、海上では3D LiDARの認識範囲が30mでは足りないことが判明。
GPSベースで動かさざるを得ない状況に…(かなり前から100m届くやつを買ってくれと3万回くらい言ってたけど予算不足)
あとでオーストラリアチームの話を聴いてたら、100mのやつならやっぱりSLAM出来るとのこと。金がない…
夕方にはGPSベースの位置制御プログラムが完成するが時間切れ。動くかどうかは最終日に任せることに…

”Keep programming”


海上でSLAMした時の様子。4つのブイ(ポール状のもの)が海上に出ているのだが、
観測できる点数があまりにも少なく地図上でブレていることが分かる

ファイナル

5時半起き。バス移動中にガーリッシュナンバーを死んだ目で見る。千歳ちゃんかわいい。
到着後プログラムを見返しているとtfとtf2が混在してうまく動いていない部分を発見。即時修正。
”Keep programming”

地磁気センサのオフセットがズレているため再調整。GPSの方位使った方が精度良かったと思いつつも、修正する時間がない。

決勝の準備をしている横で走らせてもらい、なんとかGateタスク(入口とゴールがトーテムで指定されていてそれを潜る)をクリアしました!

結果としては”出場資格を得た”だけなのですが、あらゆるトラブルに対応した、充実した2週間でした。

アフターパーティー

”Keep programming”

もう終わったわ!!!!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です