VR ロボットの距離センサーは、VR ロボットと最も近いオブジェクト間の距離を報告します。 センサーは、レーザー光が物体で反射してセンサーに戻るまでの時間を使用して距離を計算します。
VRロボットの距離センサー
距離センサーは、VR ロボットと最も近い固体オブジェクトとの間の距離を報告するセンサーです。
距離センサーは、ソナー デバイスと同じ原理を使用して音を測定します。 センサーの片側にあるエミッターからレーザー光の小さなパルスを送信し、センサーの反対側にあるレシーバーに光が反射するまでの時間を計測します。 センサーは、パルスが往復するのにかかった時間に基づいて距離を計算します。 次に、距離センサーは、最も近いオブジェクトがどれくらい離れているかを VR ロボットに報告します。
距離センサーの視野範囲の幅は、VR ロボットの正面から遠ざかるにつれて変化します。
- このセンサーは、1000 ミリメートル (約 39 インチ) 未満の距離にある物体を探す場合、10 度の視野内の物体を検出できます。
- このセンサーは、1000 ミリメートル (約 39 インチ) ~ 2000 ミリメートル (約 78 インチ) 離れた場所にある物体を探すときに、5 度の視野内の物体を検出できます。
- このセンサーは、2000 ミリメートル (約 78 インチ) を超える距離にある物体を探す場合、2 度の視野内の物体を検出できます。
距離センサーの一般的な用途
距離センサーは、VR ロボットの前に物体があるかどうかを検出できます。 これは障害物を避けるために使用できます。
| VEXcode VR ブロック | 壁迷路遊び場 | |
| VEXcode VR Python | ||
def main(): |
||
|
距離センサーは、距離センサーの正面と物体の正面の間の距離を測定できます。 これは、壁にぶつかり続けることなく迷路を完了したり、物体を避けたりするのに役立ちます。 |
||
| VEXcode VR ブロック | ダイナミック キャッスル クラッシャー プレイグラウンド | |
|
|
||
| VEXcode VR Python | ||
def main(): |
||
|
この例では、距離センサーが物体を検出すると、VR ロボットは前進します。 物体を検出しない場合、VR ロボットは右折して物体の有無を確認し続けます。 注: この例では最初の建物を見つけますが、テーブルから落ちないように改善する必要があります。 |
||
VEXcode VR ブロックで距離センサーを使用する
距離センサーで使用されるブロックは、センシング カテゴリにあります。
<検出されたオブジェクトの距離> ブロック
距離センサーは、 <距離検出オブジェクト>ブロックを使用して、その前にオブジェクトがあるかどうかを検出します。 距離センサーは、センサーから 3000 mm (~118 インチ) 以内の物体または表面を検出できます。
<Distance found object>ブロックは、条件を true または false として返すブール ブロックで、他のブロックに対して六角形 (6 辺) のスペースを持つブロックの内側に収まります。
ブールブロックの詳細については、 この記事をご覧ください。
<Distance found object> ブロックの値は、距離センサーがオブジェクトに近い場合は true を報告し、オブジェクトに十分に近づいていない場合は false を報告するブール ブロックです。
True または False レポートされ、Monitor Console に表示されます。
モニター コンソールの詳細については、 この記事をご覧ください。
ブロック(からの距離)
(距離からの距離) ブロックを使用すると、距離センサーは最も近い物体の距離をミリメートル (mm) またはインチで報告できます。
(Distance from) ブロックは数値を報告し、楕円形のスペースを持つブロックの内側に収まります。
レポーターブロックの詳細については、 この記事をご覧ください。
VEXcode VR では、(Distance from) ブロックの値をミリメートル (mm) またはインチ単位でモニターコンソールに表示できます。
モニター コンソールの詳細については、 この記事をご覧ください。
VEXcode VR Python での距離センサーの使用
次に、ツールボックスで Sensing カテゴリを見つけて、 found_object および get_ distance コマンドを見つけます。 これらは、センサーに関するブール値または数値を報告する関数です。
def main(): |
|
while ループは、距離センサーが壁から 50mm 以下になるまで駆動し、その後停止または方向転換するなどの操作をロボットに実行させたい場合に、ロボットのセンサーで使用できます。 このプロジェクトでは、距離センサーが 50mm を超える値を報告している間、ロボットは前進し、距離センサーが壁から 50mm 未満になると走行を停止します。 |
def main(): |
|
get_ distance およびfound_object コマンドの値は、VEXcode VR のモニター コンソールに表示できます。 VEXcode VR Python でのモニターコンソールの使用について詳しくは、この記事をご覧 |