エピソード:カラーセンサー
1998年のルールを読んだら誰しも考えるであろう島の色識別ですが、実際には島の色を識別するマシンは全国的に見ても少数派でした。
そんな情勢ではありましたが、テクノプランターはカラーセンサー搭載機の中では最上位の戦績を残すことができました。
基本設計と試作
このカラーセンサーの原理はLEDからの光をフィールドに当て、その反射光をフォトダイオード(PD)で受けた際の受光量(電流量)で色を識別する、というシンプルなものです。
当初はこれも仮説に過ぎなかったため試作を繰り返しています。
LED光をフィールドに対して垂直に照射すると反射グレアの発生が大きく、フィールドの微妙な凹凸や傷などのコンディションにより値が安定しなかったため床に対して斜め45°に照射するようにし、LED光は指向性が高いため反射角(45°)にあわせてPDを取り付けることにしました。
これは意図したものではありませんが、この取り付け方式のおかげで全国大会フィールドでの透明アクリルでは反射光がPDに届くことがありませんでした。
当初は赤・黄・緑の三つの高輝度LEDの光を床に反射させ、それぞれ対となるPDで受光しその入力値の組み合わせから床の色を判別するというものでした。 また、反射光に交じる外乱光の影響を避けるための光学フィルタをPDの前に組み込んでいました。
試作段階では満足のいく結果がでましたが、実際の組み込みにあたっては3つの光を同じポイントに照射するための取り付け部品の加工難易度の高さ、光学フィルタが部品類の中でも飛びぬけて高価であったなど、実用上の問題が山積していました。
簡略化とコストダウン
量産に向けての諸問題については種子の足回り性能やゲーム戦略を元に検討した結果「緑は無視してよい」「赤と黄色を見分ける必要はない」「白いラインは種子の移動スピード的に無視してよい*1」という結論に達しました。
また、LEDの光をパルス波にしたことで最終的には「島識別は赤LEDとPDの1セットのみで精度は十分」「(高価な)光学フィルタは不要」というところまで簡略化されました。
結果、島識別ロジックは「センサーへの入力値が2.0v以上」という非常にシンプルなものになりました(下表参照)。
参考:赤色LED照射時の反射光入力値
フィールド部位 | 入力値 | 停止 |
---|---|---|
白ライン | 3.2v | Yes |
黄島 | 2.6v | Yes |
赤島 | 2.4v | Yes |
ロンリウム(フィールド) | 1.8v | No |
緑島 | 0.6v | No |
透明アクリル(電球消灯時) | 0.0v | No |
透明アクリル(電球点灯時) | 0.0v | No |
なお、テクノプランター子機の回路はセンサーキットやマイクロコントローラ(マイコン)は使用しておらずオペアンプやNANDなどの基本的な素子だけで回路を作っているため、非常に安価なものとなっています。
センサーの安定性
センサー調整は可変抵抗器をグリグリするだけなので誰でも簡単に調整できるよう手順化されていましたが、大会が行われた現地で調整する必要はありませんでした。 (全国大会前日はスポットライト点灯状態で実際のフィールドを使った調整を行なう機会が準備されていました)
東北地区大会・全国大会を通じてカラーセンサー起因の試合中トラブルもなく、安定した試合運びの一助となっています。
余談
赤外線LEDは赤色LEDと波長が近いのでセンサー実装においてはどちらでも使用できました。
そういった事情から余っていた赤外線LEDを量産時に種子に組み込んでみましたが、「動作上は問題ないが点灯してるかわからない」「光ってる方がそれっぽい」という理由ですべて赤色LEDに置き換えられました。
*1:白ラインには反応するが制動距離が足りず通過してしまう