アルゴリズム改良で分かった“組み込みならでは”:“ハッスルCATS”のETロボコン2005参戦記(後編)(2/3 ページ)
チャンピオンシップ大会に向け、走行アルゴリズムの改良に取り組んだ新人エンジニアたちの奮闘ぶりを紹介する
チャンピオンシップ大会を目指して改良を加える
走行性能に改良を加えるに当たり、最初に行ったのは走行戦略の見直しでした。まずは、黒の実線走行から特殊走行まですべてに対して、戦略を練り直しました。
黒の実線走行(通常走行)
予選会では、黒と白を交互に検知して黒線の縁を走行するエッジ走法をベースに、プログラムのループカウントを使用して、無駄にかじを切り過ぎない工夫をした走行で挑みました。予選会よりも安定した走りを実現するために、どうすればよいかを分析したうえで考えられたのが、どれだけ直線的に走るかでした。エッジ走法は、黒線の縁をジグザグに走行していきますが、走っていくうちに地面の抵抗を受けてかじの幅が広がっていきます。そのため、かじを振る幅が広がっていくことで不安定になっていき、コースアウトすることが判明しました。
そこで、エッジ走法をベースにするのは変えず、かじを切り過ぎない工夫に加えて、一定までかじを切ったらかじを切り返し、直進に進む工夫をすることで、推進力を得ようとしました(図4)。
また、予選会ではプログラムのループカウントを黒から白へ、白から黒へ変わったときにリセットするようにしていましたが、かじの中心でリセットを掛けないと結局、かじを振り切ってしまうことが分かったため、かじの中心でカウンターをリセットすることを試みました。
破線走行
破線走行(OUTコースの近道、図3参照)は、黒の実線走行を流用することを考えました。一定までかじを切ったらかじを切り返すため、破線のコースも攻略できると考え黒の実線走行を流用することにしました。
坂道走行
坂道走行(IN/OUTコースの最終コーナー後から始まる、図3参照)は、新しい戦略案が出せず予選会と同じ戦略で攻略することを考えました。予選会のときの戦略案は、坂道の下にある漆黒線をきっかけに頂上付近まではフル加速をして、頂上から下り坂の終わりまでは減速するというものです。頂上の検知はループカウントで行うことを考えました。
リカバリー走行
予選会では、ほぼ確実に復帰をしていたリカバリー走行ですが、片側のみのコースアウトしか対応していませんでした。新しい黒の実線走行の戦略案で走行して、もしコースアウトすることがある場合は、左右どちらにコースアウトとしても復帰できるように対応する必要がありました。
予選会までのリカバリー走行は、コースアウトを検知したところから後退しつつかじを戻していき、コースに復帰するというものです。左右のコースアウトに対応するため、コースアウトを検知してから後退しつつかじを戻していくまでは一緒ですが、途中でかじを止めることで、左右どちらでも戻れることが分かりました(図5)。
オフロード
オフロード(INコースの近道、図3参照)には、コース上の黒線を境に右に4本、左に3本ずつ半円形の丸太が置かれています(写真2)。オフロードは、推進力が足りないと失速してしまい丸太が超えられずリタイアしてしまいます。オフロードの攻略として考えられたのが、黒の実線走行による推進力の向上と丸太の本数が少ない黒いテープの縁を通ることでした(写真2)。
そのほかの改良ポイント
走行戦略とは別にコースアウト回数を減らすための手掛かりとして、かじモータと駆動モータの比率にも着目しました。予選会では何の根拠もなく設定していた数値でしたが、何度か値を変えて自社コースを走らせ車体の安定度を見比べて調査を行いました。その結果、かじモータは値が高ければ高いほど安定し、駆動モータは値が高ければ高いほど不安定になることが分かりました。つまり、かじモータは最大値で固定し、駆動モータの値をどこまで下げれば安定が保てるのかがポイントになるということです。走行アルゴリズムを変更するため、駆動モータの値の調整は試走会と本番当日の試走で行うことにしました。
Copyright © ITmedia, Inc. All Rights Reserved.