特集
» 2006年04月27日 00時00分 公開

アルゴリズム改良で分かった“組み込みならでは”“ハッスルCATS”のETロボコン2005参戦記(後編)(1/3 ページ)

チャンピオンシップ大会に向け、走行アルゴリズムの改良に取り組んだ新人エンジニアたちの奮闘ぶりを紹介する

[赤穂/ラン/唐/渡辺 キャッツ,@IT MONOist]

はじめに

 前回は、キャッツ株式会社の新卒社員4人組が研修期間の一環として参戦した2005年のETロボコン(注1)の予選会(競技会・ワークショップ)までを、UMLモデリングを中心に紹介しました。今回は、実装部分(実際の走行)を中心にチャンピオンシップ大会(本戦)までのドキュメントを紹介します。ハッスルCATSでの実装のポイントは、C言語などのコーディングではなく、ZIPC(注2)を使用した状態遷移表により実装を行ったところです。


※注1:ETロボコン
自律型ライントレース・ロボット「LEGO Mindstorm」を使って、組み込みソフトウェア開発の「分析、ソフトウェア設計モデリング」と「走行性能(タイムトライアル)」を競うコンテスト。


※注2:ZIPC
キャッツ株式会社が開発・販売を行う組み込みシステム向け純国産CASEツール。STM(State Transition Matrix:状態遷移表)をベースとし、基本設計からシミュレーション、実装、実機試験までを統合して開発できる。詳細は下記を参照。


予選会の反省で見えてきたこと

ほかのチームのUMLモデルや実機走行の印象

 2005年7月2日に内田洋行・潮見オフィスで開催された予選会には53チームが参加しました。参加チームはそれぞれ個性的な分析を行い、予選会に挑んでいました。中で注目されたのは、特殊コースや独特なショートカット(コースレイアウトについては後述の図3を参照)に挑んだチームでした。オフロードコースをバック走行で攻略をしようとしたチームや、自ら新たな近道を開拓しようとしたチームがいました。

予選会のレース結果 写真1 予選会のレース結果。優勝した加賀百万石の35秒42に対し、第9位のハッスルCATSは1分2秒63だった

 ところが、予選会当日は直射日光の影響によりコース上のテープが乱反射し、光センサによる値の取得が困難でした。そのため、予選会の本番では独特な走行を披露できなかったチームも数多くいました。そんな環境の中、予選会を制したのはシンプルな分析を行ったチーム「加賀百万石」でした。私たちの記録したタイムと優勝チームとのタイム差は約30秒、およそ2倍のタイムという苦しい結果でした。

チャンピオンシップ大会に向けて、修正すべき点はどこか

 チャンピオンシップ大会に向けて修正を行うに当たり、敗因分析を行いました。予選会での走行映像や設計書を繰り返し見て、どうすれば速く走れるかを分析していきました(図1、図2)。

予選会での敗因分析(1)問題項目の洗い出し 図1 予選会での敗因分析(1)問題項目の洗い出し

予選会での敗因分析(2)問題点の集約と改善案への落とし込み 図2 予選会での敗因分析(2)問題点の集約と改善案への落とし込み

 まず、着目したのがリカバリーの回数でした。予選会の走行では、リカバリー処理に頼り切った走行だったため、コースアウトして復帰する分の時間がタイムロスとなっていました。そのため、チャンピオンシップ大会ではコースアウトをしない走行を目指すことにしました。

 また、本戦では予選会のルールに加えてボーナスタイムが適用されました。ボーナスタイムとは、難易度の高い特殊コースを通過できたり、特別な条件を満たすと与えられるもので、ボーナスタイムを獲得すると走行タイムからボーナスタイム分の時間が減算されるルールです(図3)。

コースレイアウト 図3 コースレイアウト
図上部にある一方通行の標識がスタート位置で、OUTコース(青線)とINコース(赤線)の2回走行する。ボーナスポイント獲得の対象は、OUTコースではコースの黒線が漆黒の破線に変わる近道、INコースはオフロード(コース上に障害物)のある近道。ボーナスポイントはこのほか、ゴール地点から50cm以内での停止、コース中のゲート通過がある。また難所として、図の右上の漆黒線3から始まる坂道がある。


 予選会では全体的に走行戦略の分析が不足していたこともあり、チャンピオンシップ大会では黒の実線走行から特殊走行まで、すべてのコースに対して走行戦略を練り直すことにしました。ボーナスタイムの獲得は優勝への大きな鍵になるため、本戦に向けてのコンセプトは「すべてのコース条件にトライする」に決めました。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.