VEX IQ (第 1 世代) 距離センサーの使用

説明

このセンサーは、センサーと最も近い固体物体との間の距離 (50mm ~ 1m の範囲) を報告します。超音波が物体に反射してセンサーに戻るまでの時間を利用して距離を計算します。

VEX IQ(第1世代)距離センサー部品。

距離センサーの仕組み: 距離を聞く

距離センサーが超音波を発信して緑色の立方体に当て、反射音を受信する様子を示す図。

距離センサーは、音を測定するためにソナー装置と同じ原理を使用しています。センサーの一方の側にある発信器から微弱な超音波パルスを発信し、センサーの反対側にある受信機に音が反射して戻ってくるまでの時間を計測する。センサーは、音波が往復するのにかかった時間に基づいて距離を計算します。距離センサーは音速に基づいて計算を行い、最も近い物体までの距離をロボットの頭脳に伝えます。 

曲面壁や球体のように表面が平らでない場合、超音波はすべての部分から均等に、あるいは同時に反射するわけではありません。検出可能な量の波を反射するのに十分な大きさの最も近い表面が、物体の検出距離を決定する。


距離センサーの一般的な用途:

VEXcode IQオブジェクトが「距離」と読み取られるブロックを見つけました。オブジェクトが見つかりましたか?
図が2つ。上の図では、距離センサーが近くの緑色の立方体を指しており、チェックマークが付いています。下の図では、距離センサーは近くの何も指しておらず、Xマークで示されています。

このセンサーは、前方に物体があるかどうかを検出できます。

VEXcode IQ Distance ブロックからの距離 (距離 (mm))。

このセンサーは物体との間の距離を測定できます。

  • ロボットはこのセンサーを使用して、物体から一定の距離を離れることができます。ロボットが走行して距離が 160 mm 未満になるまで距離の値が変化する様子を確認するには、以下のアニメーションをご覧ください。

  • ロボットはこのセンサーを使用して、物体に触れずに物体に近づくことができます。このアニメーションを見ると、距離センサーを使用して 2 台のロボットが運転を調整する様子がわかります。

  • このセンサーによって提供される値は、ロボットが物体または表面から近いか遠いかに応じてロボットの速度を調整するために使用できます。このアニメーションを見ると、ロボットが壁までの距離に応じて調整する様子がわかります。


競技用ロボットでの距離センサーの使用

  • ロボットは、適切な場所にいるときに、距離センサーを使用して一連の動作を開始できます。たとえば、ロボットは壁から 150 mm 離れたことを検出するまで前進し、その後 90 度回転して、物体を得点ゾーンに放ちます。  
  • 距離センサーを使用すると、範囲内に物体が検出されたときに、ゲームの駒を拾うなどのロボットのアクションをトリガーできます。
  • ロボットは距離センサーを使用して、物体や表面に触れることなく、特定の距離内に近づくまで物体や表面に向かって走行できます。これは、ロボットがゲームの駒をひっくり返さないようにするために使用できます。
  • ロボットは距離センサーを使用して、特定の距離に達するまで物体または表面から遠ざかることができます。これは、フィールド上の他のロボットとの衝突を避けるために使用できます。

VEXcode IQ で距離センサーを使用する

VEXcode IQ に距離センサーをデバイスとして追加する

デバイスの追加ボタンを選択した後の VEXcode IQ デバイス メニュー。距離 (第 1 世代) オプションが強調表示されます。

VEXcode IQ で距離センサーをコーディングするには、まず距離センサーを設定する必要があります。 VEXcode IQ でのセンサーの構成の詳細については、この記事を参照してください。

センサーが構成されると、プロジェクトで使用できるコマンドがツールボックスに表示されます。

距離センサーをブロックでコーディングする

VEXcode IQ オブジェクトが見つかったブロックで、Distance7 がオブジェクトを見つけましたか? と表示されます。

<Object found> ブロックは、条件を true または false としてレポートするブール レポーター ブロックです。 <Object found> ブロックのようなブール ブロックは、他のブロックの六角形 (6 面) 入力を持つブロックの内側に収まります。

<Object found> Boolean ブロックは、センサーがオブジェクトを検出した場合は「true」を、センサーがオブジェクトを検出しなかった場合は「false」を報告します。ブール ブロックの詳細については、 ヘルプ または ブロックの形状と意味 記事を参照してください。

 

距離センサーを使用して、物体が見つかるまで前進する VEXcode IQ ブロック プロジェクト。このプロジェクトは、開始すると前進し、Distance7 がオブジェクトを見つけるまで待機してから、運転を停止します。

この例では、 <Object found> ブロックを [Wait until] ブロックとともに使用して、距離センサーが物体を検出するまでロボットを前進させます。センサーが物体を検知すると、上の画像のようにロボットは運転を停止します。 

VEXcode IQ Distance7 の距離を mm 単位で読み取るブロックからの距離。

(距離からの距離) ブロックは、距離センサーから最も近いオブジェクトまでの距離を報告します。測定範囲は24mmから1000mm、つまり1インチから40インチまでと報告されています。(距離)ブロックは、円形のスペースを持つブロック内で使用されるレポーターブロックです。

 

距離センサーを使用して、距離が 50 mm 未満になるまで前進する VEXcode IQ ブロック プロジェクト。このプロジェクトは、開始したら前進し、Brain に Distance7 の距離 (mm 単位) を印刷し、Distance7 の距離 (mm 単位) が 50 未満になるまで待機してから、運転を停止します。

この例では、(Distance from) ブロックを [Print] ブロックと併用して、距離センサーと物体との距離を Brain 画面に表示します。(距離からの) ブロックは、 {Wait until} ブロックの内側にある <Less than> ブロックの内側にも表示されます。これにより、ロボットは距離センサーが 50 ミリメートル未満離れた物体を検出するまで駆動し、その後駆動を停止します。これは上の最初のビデオで示されています。

Python で距離センサーをコーディングする

注:VEX IQ (第 1 世代) 距離センサーを Python でコーディングするには、VEX IQ (第 2 世代) ブレインに接続する必要があります。 VEX IQ(第1世代)の頭脳はPythonをサポートしていません。

distance_7.is_object_detected()

distance.is_object_detected コマンドは、オブジェクトが検出された場合は「true」を、オブジェクトが検出されなかった場合は「false」を報告します。

注:コマンドに表示される距離センサーの名前は、設定で指定された名前に対応します。 

drivetrain.drive(FORWARD)
while not distance_7.is_object_detected()
    wait(20 MSEC)
drivetrain.stop()
この例では、距離センサーが物体を検出するまでロボットを前進させるために条件がWhile でないというループが コマンドとともに使用されています。センサーが物体を検出すると、上記のPythonコードに示すように、ロボットは走行を停止します。
distance_7.distance(MM)

distance. distance コマンドは、距離センサーから最も近いオブジェクトまでの距離を報告します。測定範囲は24mmから1000mm、つまり1インチから40インチまでと報告されています。

drivetrain.drive(FORWARD)
brain.screen.print(distance_7.distance(MM)
while not distance_7.distance(MM) < 50:
    wait(20, MSEC)
drivetrain.stop()

この例では、距離センサーが物体を検出するまでロボットを前進させるために条件が While でないというループが コマンドとともに使用されています。センサーが物体を検知すると、ロボットは走行を停止します。

この例では、 distance.distance コマンドが brain.screen.print コマンドと共に使用され、Brain の画面に距離センサーとオブジェクト間の距離が表示されます。 distance.distance コマンドはWhile 条件なしのループ内にも表示されます。8 これにより、ロボットは距離センサーが50ミリメートル以内の物体を検出するまで走行を続け、その後走行を停止します。これは上記の最初の動画で示されています。

Pythonで距離センサーをコーディングする方法について詳しく知りたい場合は、コンピュータサイエンスレベル1 - Pythonコースのユニット5をご覧ください。 

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: