カラーセンサーを使って黒ラインを判別して停止させるプログラム ~レゴマインドストームEV3~ | そう備忘録

カラーセンサーを使って黒ラインを判別して停止させるプログラム ~レゴマインドストームEV3~

トレーニングロボットにカラーセンサーを取り付ける

カラーセンサー

カラーセンサーは色の判別、反射光の強さの判別、周囲の光の強さの判別が可能。

尚、カラーセンサーの機能についての詳細は以前の記事を参照

カラーセンサー

今回は反射光の強さの判別を利用して白い紙上の黒ラインを判別してトレーニングロボットを停止させるプログラムをつくってみる。

まずは教育用レゴ・マインドストームEV3のトレーニングロボットにカラーセンサーを下向きに取り付ける。

先端から赤い光が出ているのがカラーセンサー。

カラーセンサー トレーニングロボット

使用するブロック

ステアリングブロック

ステアリングブロック

トレーニングロボットのステアリングを制御して前進/後退を行う

  • ステアリング:オン
  • ステアリング:0(直進)
  • パワー:50(前進)/-50(後退)
ステアリング オフ

トレーニングロボットを停止させる

  • ステアリング:オフ
  • ブレーキ方法:真

ブレーキ方法についてはこちらを参照

待機ブロック

待機ブロック・カラーセンサー・比較・反射光の強さ

下記の条件を満たすまで待機する

  • 待機:カラーセンサー、比較、反射光の強さ
  • 比較タイプ:4(<)
  • しきい値:50
  • 照明:未接続

反射光の強さが50未満※になるまで待機する(50未満になった時に次のブロックに制御が移る)

※黒は光を吸収するので反射光の強さが20~30程度に落ちる

音ブロック

音ブロック

音を再生する

  • 音:ファイルの再生
  • ボリューム:100
  • 再生タイプ:0(完了待ち)
  • ファイル名:White

音声ファイル(White、Black)を再生する

音ブロックの詳細についてはこちら

プログラム全体 1

反射光の強さは概ね以下の数値である事が分かった。

木の机約39~40
白い紙約68~69
黒いライン約20~30

白い紙上からスタートして黒いラインの上で停止するプログラム。

プログラム全体1 カラーセンサーで反射光の強さを判別

プログラム開始

反射光:69

トレーニングロボットを前進させる

  • ステアリング:オン
  • ステアリング:0(直進)
  • パワー:50(前進)

カラーセンサーが50未満になるまで待機する(直進し続ける)

  • 待機:カラーセンサー、比較、反射光の強さ
  • 比較タイプ:4(<)
  • しきい値:50

トレーニングロボットを停止させる

  • ステアリング:オフ
  • ブレーキ方法:真

プログラム全体 2

スタート地点が木の机の上の場合。

木の机(反射光39) => 白い紙(反射光69) => 黒いライン(反射光30) の順番でトレーニングロボットが移動する。

プログラム全体 2 机の上からスタート

プログラム開始

反射光:39

トレーニングロボットを前進させる

  • ステアリング:オン
  • ステアリング:0(直進)
  • パワー:50(前進)

カラーセンサーが50以上になるまで待機する(直進し続ける)

  • 待機:カラーセンサー、比較、反射光の強さ
  • 比較タイプ:3(>=)
  • しきい値:50

木の机から白い紙の上に差し掛かった所で4に制御が移る

トレーニングロボットを停止させる

  • ステアリング:オフ
  • ブレーキ方法:真

1秒間待機

”White” 音声ファイルの再生

  • 音:ファイルの再生
  • ボリューム:100
  • 再生タイプ:0(完了待ち)
  • ファイル名:White

トレーニングロボットを前進させる

  • ステアリング:オン
  • ステアリング:0(直進)
  • パワー:50(前進)

カラーセンサーが50未満になるまで待機する(直進し続ける)

  • 待機:カラーセンサー、比較、反射光の強さ
  • 比較タイプ:4(<)
  • しきい値:50

白い紙から黒いラインの上に差し掛かった所で9に制御が移る

トレーニングロボットを停止させる

  • ステアリング:オフ
  • ブレーキ方法:真

10

1秒間待機

11

”Black” 音声ファイルの再生

  • 音:ファイルの再生
  • ボリューム:100
  • 再生タイプ:0(完了待ち)
  • ファイル名:Black

実際に動かしてみた動画

プログラミングからトレーニングロボットの実際の動きまでが分かる動画ですので見てみてください。

souichirou

やった事を忘れない為の備忘録 同じような事をやりたい人の参考になればと思ってブログにしてます。 主にレゴ、AWS(Amazon Web Services)、WordPress、Deep Learning、RaspberryPiに関するブログを書いています。 仕事では工場に協働ロボットの導入や中小企業へのAI/IoT導入のアドバイザーをやっています。 2019年7月にJDLA(一般社団法人 日本デイープラーニング協会)Deep Learning for GENERALに合格しました。 質問は記事一番下にあるコメントかメニュー上部の問い合わせからお願いします。

おすすめ

質問やコメントや励ましの言葉などを残す

名前、メール、サイト欄は任意です。
またメールアドレスは公開されません。