距離#

導入#

距離センサーは、センサーの前に物体があるかどうかを検知し、その物体までの距離を返します。

VEX IQ距離センサー(第1世代)は、ソナーを使用して物体を検出し、距離を測定します。VEX IQ距離センサー(第2世代)は、教室での使用に適したレーザーを使用し、検出された物体の相対速度を返すだけでなく、物体が小さい、中くらい、大きいのいずれであるかを推定することもできます。

このページでは、距離センサー名の例として distance_1 を使用しています。必要に応じて、ご自身で設定した名前に置き換えてください。

以下に、利用可能なメソッドの一覧を示します。

ゲッター — 距離センサーからデータを返します。

  • is_object_detected — (VEX IQ 距離センサー (第 1 世代) または (第 2 世代)) 距離センサーが現在オブジェクトを検出しているかどうかを返します。

  • distance — (VEX IQ 距離センサー (第 1 世代)) 距離センサーと最も近い検出されたオブジェクト間の距離を返します。

  • object_distance — (VEX IQ 距離センサー (第 2 世代)) 距離センサーと最も近い検出されたオブジェクト間の距離を返します。

  • object_velocity — (VEX IQ 距離センサー (第 2 世代)) 検出された物体が距離センサーに向かって、または距離センサーから遠ざかる速度を返します。

  • object_size — (VEX IQ 距離センサー (第 2 世代)) 検出されたオブジェクトの推定サイズを返します。

  • installed — (VEX IQ 距離センサー (第 1 世代) または (第 2 世代)) 距離センサーがインストールされ、接続されているかどうかを返します。

コンストラクター — 距離センサーを手動で初期化および構成します。

  • Sonar — VEX IQ 距離センサー (第 1 世代) を作成します。

  • Distance — VEX IQ 距離センサー (第 2 世代) を作成します。

ゲッター#

is_object_detected#

is_object_detected は、距離センサーが現在範囲内の物体を検出しているかどうかを返します。

  • True — 距離センサーが物体を検出します。

  • False — 距離センサーが物体を検出していません。

Usage:
distance_1.is_object_detected()

パラメータ

説明

このメソッドにはパラメータがありません。

# Turn until an object is detected
drivetrain.turn(RIGHT)
while not distance_1.is_object_detected():
    wait(15, MSEC)
drivetrain.stop()
brain.screen.print("Object detected!")

distance#

distance は、距離センサーと最も近い検出対象物との間の距離を小数 (浮動小数点数) として返します。

注: これはVEX IQ距離センサー(第1世代)の方法です。

Usage:
distance_1.distance(units)

パラメータ

説明

units

オプション。距離の単位: MM (デフォルト、24 mm~1000 mm)または INCHES (1インチ~40インチ)。

# Display the distance to an object
if distance_1.is_object_detected():
    print("Distance: ")
    print(distance_1.distance(MM))
else:
    print("No object detected")

object_distance#

object_distance は、距離センサーと最も近い検出されたオブジェクト間の距離を小数 (float) として返します。

注: これはVEX IQ距離センサー(第2世代)方式です。

Usage:
distance_1.object_distance(units)

パラメータ

説明

units

オプション。距離の単位: MM (デフォルト、20 mm~2000 mm)、 INCHES (0.78 インチ~78 インチ)、または DistanceUnits.CM (2 cm~200 cm)。

# Drive forward until an object is 200 mm away
while distance_1.object_distance(MM) > 200:
    drivetrain.drive(FORWARD)
drivetrain.stop()

object_velocity#

object_velocity は、検出されたオブジェクトの相対速度をm/s(メートル毎秒)単位の小数(浮動小数点数)として返します。

速度は、物体が距離センサーに向かって、または遠ざかる速度を示します。正の値は、物体が距離センサーに向かって移動していることを意味します。負の値は、物体が遠ざかっていることを意味します。0に近い値は、物体がセンサーに対してほとんど移動していないことを意味します。

注: これはVEX IQ距離センサー(第2世代)方式です。

Usage:
distance_1.object_velocity()

パラメータ

説明

このメソッドにはパラメータがありません。

# Display the velocity of a moving object
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Velocity: ")
    brain.screen.print(distance_1.object_velocity())
    wait(100, MSEC)

object_size#

object_size は、距離センサーによって検出されたオブジェクトの推定サイズを返します。

距離センサーは、検出された物体がセンサーの視野のどれだけを占めているかに基づいて、物体のサイズを推定します。

  • ObjectSizeType.NONE — オブジェクトが検出されません。

  • ObjectSizeType.SMALL — 小さな物体が検出されました。

  • ObjectSizeType.MEDIUM — 中サイズのオブジェクトが検出されました。

  • ObjectSizeType.LARGE — 大きなオブジェクトが検出されました。

注: これはVEX IQ距離センサー(第2世代)方式です。

Usage:
distance_1.object_size()

パラメータ

説明

このメソッドにはパラメータがありません。

installed#

installed 距離センサーがインストールされ接続されているかどうかを返します。

  • True — 距離センサーが設置され、接続されています。

  • False — 距離センサーがインストールされていないか、接続されていません。

Usage:
distance_1.installed()

パラメータ

説明

このメソッドにはパラメータがありません。

建設業者#

コンストラクタは、VEXcode の外部で距離センサーを設定する場合など、 Distance および Sonar オブジェクトを手動で作成するために使用されます。

Sonar#

Sonar 、VEX IQ 距離センサー (第 1 世代) オブジェクトを作成します。

Usage:
distance_1 = Sonar(smartport)

パラメータ

説明

smartport

距離センサーが接続されているスマートポートは、 Ports.PORTxと表記され、 x はポート番号です。

# Create a Sonar object in Port 1
distance_1 = Sonar(Ports.PORT1)

Distance#

Distance 、VEX IQ 距離センサー (第 2 世代) オブジェクトを作成します。

Usage:
distance_1 = Distance(smartport)

パラメータ

説明

smartport

距離センサーが接続されているスマートポートは、 Ports.PORTxと表記され、 x はポート番号です。

# Create a Distance object in Port 1
distance_1 = Distance(Ports.PORT1)