ロボジョイちゃれんじ教室

10-1 ロボット競技に役立つEV3センサー入門

第3回「超音波センサーの性能を見える化する」

  • Page:
  • 1
  • 2
  • 3
  • 4

◆プログラム作成その2

続いて、プログラムを作ります。 先ほど実験用のプログラムにカラーセンサーを測定する処理を追加しました。カラーセンサーは反射光モードに設定します。グラフは反射光の値をY座標に割り当てています。値の1%が1ピクセルに相当します。

プログラムを実行しました。 先ほどと同じく、ロボットが60cm前進して停止します。

プログラムの実行結果がこちらです。
2本のグラフが描かれました。2種類のグラフが重なるため、棒グラフではなく、点のグラフに変更しました。上が超音波センサーが測定したグラフです。
下がカラーセンサーが測定したグラフです。台形が描かれました。正確には台形ではなく、角(かど)には丸みがあります。斜面のX座標の幅はLEDが照射する円の直径に当てはまります。
斜面の中間地点がカラーセンサーが紙の上を通過している境目です。この境目の2点間の距離を測るとぴったり7cmになります。

以上の結果をまとめると、 超音波センサーには使用に適した場所と適していない場所があります。
幅7cmの対象物が15cm手前にある場合ですが、黄色は超音波センサーを使って問題のない「OK」のエリアです。このエリア内ならば正しい距離を取得できます。
赤色は超音波センサーの値が不正確な「NG」のエリアです。超音波センサーの反応はありますが、正しい距離が取得できません。

超音波センサーが対象物から離れると「NG」のエリアは広がります。OKとNGの範囲を描き加えると写真のようになります。
残念ながら、超音波センサーの測定値だけを見て、それが「正しい」か「正しくない」かを判定する方法が思いつきません。なにか別のセンサーを使って、超音波センサーが対象物にしっかり当たるように工夫すればいいかもしれませんが、それ以外では打つ手がありません。正解値が最初から分かっていれば、それと比較すればいいのですが、それだと測定する意味が必要ないことになってしまいます。
そのため、ロボット競技のようにシビアな環境の場合、超音波センサーの使用は不利です。ただ、ここで使うのを止めましょうという結論を出すのは気が早すぎるかもしれません。超音波センサーは多少の誤差が出ても問題ない場面で使用したほうがいいでしょう。

  • Page:
  • 1
  • 2
  • 3
  • 4