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

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

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

チャンピオンシップ大会を目指して改良を加える

 走行性能に改良を加えるに当たり、最初に行ったのは走行戦略の見直しでした。まずは、黒の実線走行から特殊走行まですべてに対して、戦略を練り直しました。

黒の実線走行(通常走行)

 予選会では、黒と白を交互に検知して黒線の縁を走行するエッジ走法をベースに、プログラムのループカウントを使用して、無駄にかじを切り過ぎない工夫をした走行で挑みました。予選会よりも安定した走りを実現するために、どうすればよいかを分析したうえで考えられたのが、どれだけ直線的に走るかでした。エッジ走法は、黒線の縁をジグザグに走行していきますが、走っていくうちに地面の抵抗を受けてかじの幅が広がっていきます。そのため、かじを振る幅が広がっていくことで不安定になっていき、コースアウトすることが判明しました。

 そこで、エッジ走法をベースにするのは変えず、かじを切り過ぎない工夫に加えて、一定までかじを切ったらかじを切り返し、直進に進む工夫をすることで、推進力を得ようとしました(図4)。

エッジ走行の改良ポイント 図4 エッジ走行の改良ポイント。走行体の推進力を高めるため、かじを固定するポイントを2カ所に増やし直線的な走行を目指した

 また、予選会ではプログラムのループカウントを黒から白へ、白から黒へ変わったときにリセットするようにしていましたが、かじの中心でリセットを掛けないと結局、かじを振り切ってしまうことが分かったため、かじの中心でカウンターをリセットすることを試みました。

破線走行

 破線走行(OUTコースの近道、図3参照)は、黒の実線走行を流用することを考えました。一定までかじを切ったらかじを切り返すため、破線のコースも攻略できると考え黒の実線走行を流用することにしました。

坂道走行

 坂道走行(IN/OUTコースの最終コーナー後から始まる、図3参照)は、新しい戦略案が出せず予選会と同じ戦略で攻略することを考えました。予選会のときの戦略案は、坂道の下にある漆黒線をきっかけに頂上付近まではフル加速をして、頂上から下り坂の終わりまでは減速するというものです。頂上の検知はループカウントで行うことを考えました。

リカバリー走行

 予選会では、ほぼ確実に復帰をしていたリカバリー走行ですが、片側のみのコースアウトしか対応していませんでした。新しい黒の実線走行の戦略案で走行して、もしコースアウトすることがある場合は、左右どちらにコースアウトとしても復帰できるように対応する必要がありました。

 予選会までのリカバリー走行は、コースアウトを検知したところから後退しつつかじを戻していき、コースに復帰するというものです。左右のコースアウトに対応するため、コースアウトを検知してから後退しつつかじを戻していくまでは一緒ですが、途中でかじを止めることで、左右どちらでも戻れることが分かりました(図5)。

リカバリー走行の改良ポイント 図5 リカバリー走行の改良ポイント。左の予選会までのアルゴリズムでは、黒線の右にコースアウトした場合コース復帰はできなかったが、リカバリーライン(後退走行)の途中でかじを止めるように改良した

オフロード

 オフロード(INコースの近道、図3参照)には、コース上の黒線を境に右に4本、左に3本ずつ半円形の丸太が置かれています(写真2)。オフロードは、推進力が足りないと失速してしまい丸太が超えられずリタイアしてしまいます。オフロードの攻略として考えられたのが、黒の実線走行による推進力の向上と丸太の本数が少ない黒いテープの縁を通ることでした(写真2)。

オフロード走行 写真2 オフロード走行

そのほかの改良ポイント

 走行戦略とは別にコースアウト回数を減らすための手掛かりとして、かじモータと駆動モータの比率にも着目しました。予選会では何の根拠もなく設定していた数値でしたが、何度か値を変えて自社コースを走らせ車体の安定度を見比べて調査を行いました。その結果、かじモータは値が高ければ高いほど安定し、駆動モータは値が高ければ高いほど不安定になることが分かりました。つまり、かじモータは最大値で固定し、駆動モータの値をどこまで下げれば安定が保てるのかがポイントになるということです。走行アルゴリズムを変更するため、駆動モータの値の調整は試走会と本番当日の試走で行うことにしました。

Copyright © ITmedia, Inc. All Rights Reserved.