超音波センサーで障害物までの距離を測定 ~レゴマインドストームEV3~
Contents
トレーニングロボットに超音波センサーを取り付ける
教育用レゴ・マインドストームEV3のトレーニングロボットに超音波センサーを取り付けて物体との距離を測りながらトレーニングロボットを操縦するプログラムを作ってみる。
超音波センサー
レゴマインドストームEV3の超音波センサーは超音波を出して物体との距離を測定する。
片側から超音波を出してもう一方で超音波の反射を受信して、その時間差で物体との距離を測定する。
音波の反射を利用するので曲面の多い物体は距離の測定が難しいとの特徴がある。
使用するブロック
ステアリングブロック
Lモーターを2つ同時に動かしてトレーニングロボットを操縦するブロック。
今回は、
![]() |
トレーニングロボットを前進/後退させる |
![]() |
トレーニングロボットを停止させる |
を使用した。
待機ブロック・超音波センサー
![]() |
距離が(最初より)11cm減少するまで待機 |
![]() |
距離が5cm以下になるまで待機 |
待機ブロック・時間
1秒間待機する。
プログラム全体
指定した距離だけ障害物(キューボイド)に近づいて停止した後、後退するプログラム
1 | プログラム開始 ※超音波センサーが前方の障害物(キューボイド)との距離を測る |
2 | トレーニングロボットを前進させる
|
3 | 下記の条件を満たすまで待機(=前進し続ける)
1で測った距離より11cm減少(変化)すると次の4へ制御が渡る |
4 | トレーニングロボットを停止させる
|
5 | 1秒間待機 |
6 | トレーニングロボットを後退させる
|
7 | 下記の条件を満たすまで待機(=後退し続ける)
5で測った距離より6cm増加(変化)すると次の8へ制御が渡る |
8 | トレーニングロボットを停止させる
|
実際に動かしてみた動画
プログラミングからトレーニングロボットの実際の動きまでが分かる動画ですので見てみてください。
また上記のプログラムでは待機ブロックを「超音波センサー、変化、距離」で使用している。
しかし「超音波センサー、比較、距離」とする事により障害物(キューボイド)との距離が何cm以下(or 以上)になった時、等の制御も可能になる。
動画ではその指定も試しているので見てください。
最近のコメント