超音波センサーで障害物までの距離を測定 ~レゴマインドストームEV3~ | そう備忘録

超音波センサーで障害物までの距離を測定 ~レゴマインドストームEV3~

トレーニングロボットに超音波センサーを取り付ける

教育用レゴ・マインドストームEV3のトレーニングロボットに超音波センサーを取り付けて物体との距離を測りながらトレーニングロボットを操縦するプログラムを作ってみる。

トレーニングロボットに超音波センサーを取り付ける

超音波センサー

レゴマインドストームEV3の超音波センサーは超音波を出して物体との距離を測定する。

片側から超音波を出してもう一方で超音波の反射を受信して、その時間差で物体との距離を測定する。

音波の反射を利用するので曲面の多い物体は距離の測定が難しいとの特徴がある。

超音波センサー

使用するブロック

ステアリングブロック

Lモーターを2つ同時に動かしてトレーニングロボットを操縦するブロック。

詳しい設定はこちらを参照

今回は、

ステアリングブロック スイッチ・オン
  • ステアリング:オン
  • ステアリング:0(直進)
  • パワー:50(前進)/-50(後退)

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

ステアリングブロック スイッチ・オフ
  • ステアリング:オフ
  • ブレーキ方法:真

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

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

を使用した。

待機ブロック・超音波センサー

待機ブロック・超音波センサー・変化・距離
  • 待機:超音波センサー、変化、距離(cm)
  • 方向:1(減少)
  • 量:11(cm)
  • 距離(cm):未接続

距離が(最初より)11cm減少するまで待機

待機ブロック・超音波センサー・比較・距離
  • 待機:超音波センサー、比較、距離(cm)
  • 比較タイプ:5(小なりイコール)
  • しきい値:5(cm)
  • 距離(cm):未接続

距離が5cm以下になるまで待機

待機ブロック・時間

1秒間待機する。

レゴマインドストームEV3 待機ブロック

プログラム全体

指定した距離だけ障害物(キューボイド)に近づいて停止した後、後退するプログラム

キューボイドで停止 プログラム全体

プログラム開始

※超音波センサーが前方の障害物(キューボイド)との距離を測る

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

  • ステアリング:オン
  • ステアリング:0(直進)
  • パワー:50(前進)
下記の条件を満たすまで待機(=前進し続ける)

  • 待機:超音波センサー、変化、距離(cm)
  • 方向:1(減少)
  • 量:11(cm)

1で測った距離より11cm減少(変化)すると次の4へ制御が渡る

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

  • ステアリング:オフ
  • ブレーキ方法:真
1秒間待機
トレーニングロボットを後退させる

  • ステアリング:オン
  • ステアリング:0(直進)
  • パワー:ー50(後退)
下記の条件を満たすまで待機(=後退し続ける)

  • 待機:超音波センサー、変化、距離(cm)
  • 方向:0(増加)
  • 量:6(cm)

5で測った距離より6cm増加(変化)すると次の8へ制御が渡る

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

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

実際に動かしてみた動画

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

また上記のプログラムでは待機ブロックを「超音波センサー、変化、距離」で使用している。

しかし「超音波センサー、比較、距離」とする事により障害物(キューボイド)との距離が何cm以下(or 以上)になった時、等の制御も可能になる。

動画ではその指定も試しているので見てください。

souichirou

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

おすすめ

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

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