ロジック操作ブロックを使った論理積(and条件) ~レゴマインドストームEV3~ | そう備忘録

ロジック操作ブロックを使った論理積(and条件) ~レゴマインドストームEV3~

2つの条件を判定するプログラム

教育用レゴマインドストームのトレーニングロボットにカラーセンサーと超音波センサーを取り付けて、それぞれの測定結果が特定の条件を満たす時に停止するプログラムを作成する。

2つの条件の判定はロジック操作ブロックを使用する。

ロジック操作ブロックは、

  1. 論理積(and)
  2. 論理和(or)
  3. 排他的論理和(xor)
  4. 否定(not)

を判定することができる。

ロジック操作ブロックを使用してトレーニングロボットが

  1. 障害物との距離が5cm以上25cm以内
  2. 黒ライン上

上記の2つの条件を満たすまで直進するプログラムを作成する。

トレーニングロボット

論理積(and条件)イメージ図

論理積のイメージ図

使用するブロック

使用するブロックは以下の6種類。

ループブロック

ループ内に配置されたブロックを右側の条件に一致するまで繰り返す。

ループブロック 終了条件ロジック超音波センサーの結果とカラーセンサーの結果の2つの条件が”真”になるまで繰り返す

  • 番号:01
  • ループ:ロジック

ステアリングブロック

Lモーターを制御してトレーニングロボットを制御する。

尚、ステアリングブロックの詳細機能はこちらの記事を参照

ステアリング オントレーニングロボットを直進させる

  • ステアリング:オン
  • ステアリング:0(直進)
  • パワー:50
ステアリング オフトレーニングロボットを停止させる

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

超音波センサーブロック

超音波センサーを使って物体との距離を測定したり比較する為のブロック。

超音波センサー 測定、距離超音波センサーで障害物との距離を測定する

  • 超音波センサー:測定、距離(cm)
  • 距離(cm):障害物との距離をcmでデータワイヤーで出力して範囲ブロックの試験値に入力する

範囲ブロック

値が範囲内(外)かを判断する。

範囲ブロックの詳細な機能についてはこちらの記事を参照

範囲ブロック超音波センサーで測定された距離(cm)が5cm~25cmの範囲内かどうかを判定する。

  • 範囲:範囲内(範囲内の時に”真”)
  • 試験値:データワイヤーで超音波センサーブロックより測定値を受け取る
  • 下限:5(cm)
  • 上限:25(cm)
  • 結果:範囲内の時は”真”、範囲外の時は”偽”を出力する

カラーセンサーブロック

「色の判別」「反射光の強さの測定」「周囲の光の強さの測定」ができる。

カラーセンサー 比較、色黒色と比較して比較結果を出力する

黒なら”真”を出力する

  • カラーセンサー:比較、色
  • 色のセット:1(黒)
  • 比較結果:比較結果をロジック(”真” or ”偽”)で出力する
  • 色:読み取った色(今回は未使用)

ロジック操作ブロック

論理和、論理積、排他的論理和、否定を判定する為のブロック。

ロジック操作ブロックの詳細はこちらの記事を参照

 ロジック操作 論理積超音波センサーで測定された距離が5cm~25cm以内で且つカラーセンサー読み取った色が黒の時に結果(=)に”真”を出力する

  • ロジック操作:AND
  • a:範囲ブロックの判定結果をデータワイヤーで受け取る
  • b:カラーセンサーの黒との比較結果をデータワイヤーで受け取る
  • 結果:a、b両方が”真”の時に”真”を出力する

プログラム全体

プログラム全体とそれぞれの処理内容は以下の通り

ロジック操作 論理積

プログラム開始
3~7を条件が”真”になるまで繰り返す
トレーニングロボットを直進させる
障害物との測定距離を5に引き渡す
4の結果が5~25かを判定する
カラーセンサーで黒色かどうかを判定する
5の結果と6の結果の両方が”真”の時に2の条件に”真”を出力する
トレーニングロボットを停止する

実際に動かしてみた動画

プログラミングの様子と実際に設定した条件通りにトレーニングロボットが停止するかどうか動画にしている。

souichirou

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

おすすめ

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

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