距離#
導入#
距離センサーは、センサーの前に物体があるかどうかを検知し、その物体までの距離を返します。
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 世代)) 距離センサーがインストールされ、接続されているかどうかを返します。
コンストラクター — 距離センサーを手動で初期化および構成します。
ゲッター#
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)
パラメータ |
説明 |
|---|---|
|
オプション。距離の単位: |
# 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)
パラメータ |
説明 |
|---|---|
|
オプション。距離の単位: |
# 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)
パラメータ |
説明 |
|---|---|
|
距離センサーが接続されているスマートポートは、 |
# Create a Sonar object in Port 1
distance_1 = Sonar(Ports.PORT1)
Distance#
Distance 、VEX IQ 距離センサー (第 2 世代) オブジェクトを作成します。
Usage:
distance_1 = Distance(smartport)
パラメータ |
説明 |
|---|---|
|
距離センサーが接続されているスマートポートは、 |
# Create a Distance object in Port 1
distance_1 = Distance(Ports.PORT1)