距離センサー#
導入#
距離センサーは、センサーの前に物体があるかどうかを検知し、その物体までの距離を返します。また、検知した物体の相対速度を返したり、物体が小型、中型、大型のいずれであるかを推定したりすることもできます。
距離センサーは20mmから2000mmの範囲で動作します。
200mm未満の場合、精度は約±15mmです。200mmを超えると、精度は約5%に向上します。
距離センサーはクラス1レーザーを使用しています。検出方向は正面で、教室での使用にも安全です。

このページでは、距離センサー名の例として distance_sensor を使用しています。必要に応じて、ご自身で設定した名前に置き換えてください。
利用可能なメソッドの一覧は以下のとおりです。
object_distance— 距離センサーと最も近い検出されたオブジェクト間の距離を返します。object_velocity— 検出されたオブジェクトが距離センサーに向かって、または遠ざかる速度を返します。object_size— 検出されたオブジェクトの推定サイズを返します。is_object_detected— 距離センサーが現在オブジェクトを検出しているかどうかを返します。changed— 距離センサーの値が変化するたびに実行される関数を登録します。
コンストラクタ — 距離センサーを手動で初期化します。
Distance— 距離センサーを作成します。
オブジェクト距離#
object_distance は、距離センサーと最も近い検出されたオブジェクト間の距離を小数 (float) として返します。
Usage:
distance_sensor.object_distance(units)
パラメータ |
説明 |
|---|---|
|
オプション。距離の単位: |
# Drive forward until the object is within 50 mm away
drivetrain.drive(FORWARD)
while not distance_sensor.object_distance(MM) < 50:
pass
drivetrain.stop()
オブジェクト速度#
object_velocity は、検出されたオブジェクトの相対速度をm/s(メートル毎秒)単位の小数(浮動小数点数)として返します。
速度は、物体が距離センサーに向かって、または遠ざかる速度を示します。値が0に近い場合は、物体がセンサーに対してほとんど動いていないことを意味します。
Usage:
distance_sensor.object_velocity()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
オブジェクトサイズ#
object_size は、距離センサーによって検出されたオブジェクトの推定サイズを返します。
距離センサーは、検出された物体がセンサーの視野のどれだけを占めているかに基づいて、物体のサイズを推定します。
ObjectSizeType(0, “NONE”)— オブジェクトが検出されません。ObjectSizeType(1, “SMALL”)— 小さなオブジェクトが検出されました。ObjectSizeType(2, “MEDIUM”)— 中サイズのオブジェクトが検出されました。ObjectSizeType(3, “LARGE”)— 大きなオブジェクトが検出されました。
Usage:
distance_sensor.object_size()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
オブジェクトが検出されました#
is_object_detected は、距離センサーが現在オブジェクトを検出しているかどうかを返します。
True— 距離センサーが物体を検出します。False— 距離センサーが物体を検出していません。
Usage:
distance_sensor.is_object_detected()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
# Drive forward until the object is within 50 mm away
while True:
drivetrain.drive(FORWARD)
if distance_sensor.is_object_detected():
if distance_sensor.object_distance(MM) < 50:
drivetrain.stop()
break
変更しました#
changed 距離センサーの値が変化するたびに呼び出される関数を登録します。
Usage:
distance_sensor.changed(callback, arg)
パラメータ |
説明 |
|---|---|
|
距離センサーの値が変化したときに実行される、事前に定義された 関数。 |
|
オプション。コールバック関数に渡す引数を含むタプル。詳細については、パラメーター付き関数の使用を参照してください。 |
def my_function():
brain.screen.print("Distance changed")
# Call my_function whenever distance_sensor's value changes
distance_sensor.changed(my_function)
コンストラクタ#
コンストラクタは、VEXcode以外で距離センサーを設定する場合など、距離 Distance オブジェクトを手動で作成するために使用されます。
Distance#
Distance 、距離センサーオブジェクトを作成します。
Usage:
Distance(smartport)
パラメータ |
説明 |
|---|---|
|
距離センサーが接続されているスマートポートは、 |
# Create a Distance Sensor in Port 10
distance_sensor = Distance(Ports.PORT10)