ETロボコン開発:センサー解析
ロボットを動かすのですから,ロボットの持つ能力を把握しなければなりません。
右のタッチセンサは,単純に黄色の部分を押すことでON/OFFが 切り変わるので,物理的な接触を気にすれば良いだけなのですが, 光センサは外乱(室内の証明など)で値が変化する可能性があります。 また,光センサは対象の「色」,「反射の様子」によっても 値が変化すると予想されます。 なお,光センサの構造は,左側の赤っぽい方のLEDで光を出して, 右側の白っぽいLEDみたいので,反射した光を獲得してセンシングする, という仕組みのようです。(正確にはわかりませんが予想で) ここで,「光センサを制するものはロボットを制する」 と勝手に決めて,光センサの特性を把握しておこうと思います。 使用するもの ・光センサ ・読み込み値をディスプレイに表示するプログラム(適当) ・いろいろな線とか なお,プログラムは,APIをそのまま使用しています。 (CもC++も値は変化無しでした) 以下,対象としたラインと色とか。まずは,MINDSTORMに付属の ライントレース練習用コースから。
続きまして,適当な色を用意して計測してみます。
また,計測条件として, ・昼間の自然光の下 ・カーテンを閉めた暗がりの部屋 ・部屋で電気をつけた状態(カーテン有り) ・さらに電気スタンドで近くから照らした状態 で計測を行いました。 結論としましては,自然光以外の3つの状態は, 値的には変化ありませんでした。 ただし,光センサが地面から離れるほど,周りの状況を 外乱として受けやすくなってしまうという結果が得られました。 ロボコン競技ではロボットは上り下りがあるので,センサは少し「浮かせた」 状態に設定しなければならないので,外乱を考慮した閾値を設定, もしくは,スカートを付けて外乱の影響を小さくする必要がありそうです。 以下,計測結果です。表での縦軸番号(試験対象)は, ① MINDSTORMコース 白 ② MINDSTORMコース 黒 ③ MINDSTORMコース 緑 ④ マジック 黒 ⑤ ビニールテープ 青 ⑥ ガムテープ となっています。 なお,センサの値は0(最高に暗い)~100(最高に明るい)という感じです
正しいキャリブレーション値の獲得と, |