2018.10.19

IoT時代に乗り遅れるな! ETロボコンへの挑戦(第3回)

本番直前!試走会で本番コースとロボットが相まみえる!!

「IoT」などの開発も積極的に進めている株式会社電通テックが、「組込みシステム」の知見を深めるべく、「ETロボコン」に挑戦! 今回は、試走会に挑戦する模様をレポートします。果たしてこれまでの成果は発揮されるのでし ょうか。

目次

松本 啓志

関西支社 統合プロモーションプロデュース室 デジタル・クリエーティブ部

2008年4月入社。上級ウェブ解析士。
イベント、SP、WEB、PRを経て、現在はデジタルを含むプロモーション全領域でのプランニング・プロデュース・制作ディレクションを担当。キャラクター開発などもしています。

本番まで待ったなし!モデル提出、そして試走会へ

こんにちは、電通テックの松本啓志です!
テック関西支社のメンバー5名が、「ETロボコン」に挑むシリーズ企画。第3回では、実際にプログラミングをした機体を本番コースで走らせる「試走会」の模様をお届けします!まずは、前回からの試走会に至るまでの道のりをご紹介したいと思います。
テックチームでは、これまで、モデルを作成するチームと、プログラムチームにわかれて進行してきました。「モデル」とは、プログラミングの設計書のようなもので、ETロボコンでは、大会当日の競技に加えて、この「モデル」の審査があり、大会の約2週間前までにモデルを提出しなければいけません。

入賞チームのモデリング
これが前回大会で提出された入賞チームのモデルです(第0回目の記事より)

僕はモデルチームですので、一足先の締め切りに向けて、モデルの作成をしてきました。ETロボコンのロボットは某ロボットアニメのように乗り込んで操縦するものではありません。そのため、あらゆる状況に対応できるよう、あらかじめ命令を入れておく必要があります。「どのような命令をするか」が「モデル」で、その命令を伝える言語が「プログラミング」というイメージです。

ロボットは基本的に、条件反射でのみ動く生き物だと思ってください。その条件反射を組み合わせることで、知能があるような動きをする、というのがベースとなります。もちろん、AIなど高次のロボットとなるとまた別ですが、基本的にいわゆる「忖度(そんたく)」というものは持ち合わせていません。

例えば、人間が当たり前に行う「知り合いにあったら挨拶をする」という行動一つとっても、ロボットには、「人間が〇m以内に近づくか視線が合うという条件で、その人間が自分のメモリーの中に存在する人間である場合に、時間が6~12時までであれば、年齢の上下を判断し、上であれば『おはようございます』、下または同じであれば『おはよう』と発声、頭の確度を30度曲げ、また元の状態に戻す」といった命令をしなければいけません。ただし、複数人いた場合はどうするか、相手が気づかなかった場合は、など複数のケースや条件が影響するため、どのような命令にしておくか、がモデルの肝と言えます。

ロボットは決して忖度してくれません!

モデルにおいて、大切な要素がもう一つあります。それは、プログラムをする人間に誤解なく正確に伝わるか、ということです。どんなに完璧な設計であっても、伝わらなければ意味がありません。そこで作り出された共通言語がUML(Unified Modeling Language)というわけです。

決められた記述形式で書くことで、モデルを正確に伝えることができるのです。モデルにはいくつもの図が存在し、我々はまずその書き方を学ぶところからとなります。UMLに関する本を読みながら、過去チームのモデルを紐解きつつ、約2か月半をかけて書き上げました。

モデルでは、まず大きな目的を設定するところから始めます。今回はコース完走でしたので、続いて、コース完走のための必要条件をまとめます。コース完走に必要なのは、「正確なライントレースによる直進」と「正確なライントレースによるカーブ」です。この必要条件を達成するために、どのような技術が必要で、その技術はどのようなプログラムで行われ、どのような順番でセンサーや検知も含め、各部位が動く必要があるのか、というのを一つひとつ定義していきます。

普段の仕事のように、達成すべき目標に対して、アプローチ方法を検討し、実行するための計画を立てる、という段取りをきちんとまとめることで、プログラム含めたチーム連携ができるというわけです。もちろん連携のため以外にも、きちんと初めに設計をしておくことで、仕様変更に備えたり、作業フローをスムーズにしていく、という役割もあります。

今回は、上記の内容でのモデルで、比較的シンプルな内容なのですが、それでも記述すべき内容は多岐にわたり、非常に時間がかかる作業となりました。

実際に提出したモデル

正直、工夫やプラスアルファなどを入れるまでに至れず、とりあえず書き上げた感は否めませんが、制作会社らしく、見た目を綺麗に仕上げることに注力。テックらしさを無理やり出す、というスタイルにしていますが、モデルは見やすさも非常に大切なポイント。買ってきた電化製品の説明書が汚くて読みづらかったら嫌ですよね。プログラミングも人が見るものなので、その点は気を遣うべきポイントの一つなのです。ということで、モデルは完成し、あとはプログラミングチームの頑張りに託すのみとなりました。

本番会場、本番コースで、いざ試走!!

左から電通テックの、辻、東、松本、竹本、中田

いよいよ試走会当日です!会場は、関西地区大会の会場にもなります京都コンピュータ学院さんです。

今日の試走会では、コース完走を目標に、うまくスタートを切ること、安定した走行でゴールまで走り切ること、の二つを検証予定です。実際のコースで走行するのは初めてなので、どこかで上記が実現できるか、ドキドキしながらの参加でした。

会場について受付を済ませると、まずは走行体の「車検」です。ここで、機体が改造されていないか、大会の規定に沿っているかを確認してもらいます。やや、緊張感がありますね……。

機体を走らせる前の最終チェック
いよいよ、その時が……!

会場には本番で使われるものと同じコースが用意されています。実は、本番コースは公式に購入すると15万円程度になり、多くのチームがこの試走会で初めて本番コースと相まみえることになるのです。我々も、今回初めて本番コースを走らせます!
本番コースもさることながら、ロボットは、黒と白のコースラインの明るさを検知しているため、会場の照明が変わるだけでもうまく走らなくなってしまいます。そのため、走らせる前にコース上でラインの色をロボットに認識させるなど、最終調整が必要となります。

各チームが順番に自分たちの走行体を走らせます。そして、ついに「Hurry Tec」チームの順番が来ました!

きちんと走ってくれるのか……!?
見守る二人……

ヨチヨチと走り始めたHurry Tecの走行体は、ほどなく転倒してしまいます……。前日のテストではなんとか最後まで走りきれるシミュレーションだったのですが、なかなかうまくスタートを切れません。会場の照明や、バッテリーから電池に変えたことでの電圧変化など、さまざまな要因がその成功を阻みます。

試走結果をもとにチームで議論。様々な意見が飛び交います

すぐさまチームで集合して作戦会議。歯がゆいことにモデル担当の私と辻は、現場で対応できることはほとんどありません。全体を統括する東の指揮のもと、プログラミング担当の竹本と中田も頭を悩ませます。

試行錯誤の末、……ついに走った!

何度かのチャレンジを繰り返し、ようやくコースを完走することができました!ただし、先ほども述べたようにロボットは非常にデリケートなため、試走時に完璧に走っていても、本番ではどうなるか分からないもの。実際、試走では完走していたチームでも、スタートですぐさま転倒してしまうということも……。タイムを競うという段階の前に、コースを完走することが、まずは一つの大きな壁となっているのです。

試走会の結果を活かし、回せ!回せ!PDCA!

これまでスタートに関しては問題なくできていたロボットでしたが、会場の照明か、バッテリーから電池への電圧変化か、スタートでつまずくケースが大半となりました。結局、試走会では、Lコース、Rコースともに一度しか完走できなかったため、本番でのコース完走にも課題が残る結果となりました。

前述の通り、モデルで設定したチーム目標は、「コース完走」。ゴールのあとには、「シーソー」「ルックアップゲート」「ガレージ」などの難所があり、これらをクリアすればボーナスタイムを獲得することができるのですが、コースを完走するだけでも初心者にとっては難しく、スタート時点での脱落も非常に多いのです。

試走会から本番までは約2週間。モデルチームである僕にできることは、ただ見守ることのみ……!

プログラムチームの追い込みで、地方大会本番までにロボットはスタートを切り、見事目標であるコース完走を果たすことができるのか。常に崖っぷちにいる「Hurry Tec」。このプロジェクトが始まってから、「順調」って言葉、久しく聞いてないなあ……。

最後に、試走会を受けて、メンバー全員からのコメントで締めくくりたいと思います。

東 秀和

東(全体統括)「今日は残念でしたが、PID制御がうまくいったという印象があります。この調子で地区大会まで調整をしていきたいですね」

竹本 祥平

竹本(プログラミング)「今まではバッテリーでロボットを動かしていたのですが、今日は本番に近い電池を使用しての試走でした。電池で動かすことでロボットにどのような影響が出るのか、検証をしていきたいです」

中田 大貴

中田(プログラミング)「たくさん課題が見つかったので、これから本番までの時間、一生懸命頑張っていきたいと思います!」

辻 将志

辻(モデル)「僕らのチームの課題は、やはりスタートの安定。他のチームとの差を感じました。プログラムチームが頑張ってくれることを期待しています」

いよいよ次回の記事では地区大会の模様をお届けします。
お楽しみにしてください!

松本 啓志

関西支社 統合プロモーションプロデュース室 デジタル・クリエーティブ部

2008年4月入社。上級WEB解析士。
イベント、SP、WEB、PRを経て、現在はデジタルを含むプロモーション全領域でのプランニング・プロデュース・制作ディレクションを担当。キャラクター開発などもしています。

Written by:
松本 啓志