ロボット専用のPython#

導入#

ヒーローボット「ディスコ」には、モーターグループ、ライントラッカー、光学センサー、およびゲームポジショニングシステム(GPS)センサーが搭載されています。

すべての標準VEXcode VRメソッドは、V5 22-23 Spin Upプレイグラウンドで使用できます。

以下は、利用可能なロボット固有のメソッドの一覧です。

駆動系 – ロボットの移動と旋回。

  • アクション

    • drive — ロボットを永久に前進または後退させます。

    • drive_for — ロボットを特定の距離だけ前進または後退させます。

    • turn — ロボットを永久に左または右に回転させます。

    • turn_for — ロボットを特定の角度だけ左または右に回転させます。

    • turn_to_heading — ロボットを-359度から359度までの特定の方向に向けて回転させます。

    • turn_to_rotation — ロボットを特定の回転方向に回転させます。

    • stop — ロボットの動きを停止します。

  • ミューテーター

    • set_heading — ロボットの現在の進行方向を新しい進行方向に変更します。

    • set_rotation — ロボットの現在の回転を新しい回転に変更します。

    • set_timeout — ロボットが動作を完了しようとする時間を設定します。

    • set_drive_velocity — ロボットに走行速度を指示します。

    • set_turn_velocity — ロボットに旋回速度を指示します。

  • ゲッターズ

    • heading — ロボットの現在の方位を0度から359.99度の範囲で返します。

    • rotation — ロボットの現在の回転を返します。

    • is_done — ロボットの移動が完了したかどうかをブール値として返します。

    • is_moving — ロボットが移動しているかどうかをブール値として返します。

    • velocity — ロボットの走行速度を返します。

動作 – ロボットのモーター群を動かし、追跡する。

  • アクション

    • spin — モーターグループを永久に順方向または逆方向に回転させます。

    • spin_for — モーターグループを特定の距離だけ回転させます。

    • spin_to_position — モーターグループを特定の位置まで回転させます。

    • stop — モーターグループの回転を停止します。

  • ミューテーター

    • set_position — モーターグループの現在の位置を新しい値に変更します。

    • set_velocity — モーターグループに回転速度を指示します。

    • set_timeout — 運動群が動作を完了しようとする時間を設定します。

  • ゲッターズ

    • is_done — モーターグループの動きが完了したかどうかをブール値として返します。

    • is_spinning — モーターグループが回転しているかどうかをブール値として返します。

    • position — モーターグループの現在の位置を返します。

    • velocity — モーターグループが回転している速度を返します。

コンソール – コンソールに出力し、値を監視します。

  • 印刷

  • モニター

    • monitor_variable — 1 つ以上の定義済み変数をモニター タブに追加します。

    • monitor_sensor — モニター タブに 1 つ以上のセンサー値を追加します。

センシング - ロボットの各種センサーを活用する。

  • 光学

    • is_near_object – 光学センサーが範囲内の物体を検出したかどうかを返します。

    • color – 光学センサーによって検出された色を返します。

    • brightness – オブジェクトから反射された光の量を返します。

    • hue – 光学センサーによって検出された色相を返します。

    • object_detected – 光学センサーが物体を検出したときに呼び出される関数を登録します。

    • object_lost – 光学センサーが物体を失ったときに呼び出される関数を登録します。

  • GPS

    • x_position – フィールド上の GPS センサーの現在の x 座標を返します。

    • y_position – フィールド上の GPS センサーの現在の y 座標を返します。

    • heading – GPSセンサーの読み取り値に基づいて、ロボットが現在向いている方位を0度から359度の範囲で返します。

  • ライントラッカー

    • reflectivity – 表面から反射される光の量を返します。

このページに掲載されている例では、Playgroundのデフォルトの開始位置を使用しています。

パワートレイン#

駆動系は、VRロボットの走行と旋回を制御します。駆動系は、前進、後退、左折、右折、方向転換、回転などを行うことができます。

行動#

ドライブ#

ドライブdrive 組み合わせでは、ロボットは永久に前進または後退します。ロボットは、旋回や停止などの別の動作が与えられるまで動き続けます。

Usage:
drivetrain.drive(direction)

パラメータ

説明

direction

ロボットの移動方向: FORWARD または REVERSE。

def main():
    # Drive forward then stop
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

ドライブ_for#

drive_for は、ロボットを特定の距離だけ前進または後退させます。プロジェクトは、ロボットの移動が完了するまで待機し、その後次のコードが実行されます。

Usage:
drivetrain.drive_for(direction, distance, units, wait)

パラメータ

説明

direction

ロボットの移動方向: FORWARD または REVERSE。

distance

ロボットが走行する距離。これは、 integer または小数 (float ) になります。

units

オプション。距離の単位: INCHES (デフォルト)または MM)。

wait

オプション wait=True (デフォルト) は、ロボットの移動が完了するまでプロジェクトを待機させ、次のコード行を実行します。2 wait=False は、次のコード行をすぐに実行します。

def main():
    # Drive forward and backward
    drivetrain.drive_for(FORWARD, 200, MM)
    drivetrain.drive_for(REVERSE, 200, MM)

# VR threads — Do not delete
vr_thread(main)

振り向く#

turn ロボットを左右に永久に回転させます。ロボットは、走行や停止などの別の動作が与えられるまで回転し続けます。

Usage:
drivetrain.turn(direction)

パラメータ

説明

direction

ロボットが回転する方向: LEFT または RIGHT。

def main():
    # Turn right and left, then stop
    drivetrain.turn(RIGHT)
    wait(2, SECONDS)
    drivetrain.turn(LEFT)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

ターン_フォー#

turn_for は、ロボットを指定された角度だけ左右に回転させます。回転角度はロボットの現在位置を基準としています。プロジェクトは、ロボットの回転が完了するまで次のコード行を実行しません。

Usage:
drivetrain.turn_for(direction, angle, units, wait)

パラメータ

説明

direction

ロボットが回転する方向: LEFT または RIGHT。

angle

ロボットが回転する角度。これは、整数 integerfloat ) のいずれかになります。

units

オプション。回転単位: DEGREES (デフォルト)。

wait

オプション wait=True (デフォルト) は、ロボットの回転が完了するまでプロジェクトを待機させ、次のコード行を実行します。2 wait=False は、次のコード行をすぐに実行します。

def main():
    # Turn the robot right and left
    drivetrain.turn_for(RIGHT, 90, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_for(LEFT, 90, DEGREES)

# VR threads — Do not delete
vr_thread(main)

見出しへ#

方位とは、ロボットが向いている方向のことで、度数で表されます。0 turn_to_heading 、ロボットを-359度から359度までの特定の方位に向けます。ロボットは、目標の方位に到達するために最短の方向へ旋回します。

ロボットの初期進行方向は0度です。

プロジェクトは、ロボットの旋回が完了するまで待機し、その後次のコードが実行されます。

Usage:
drivetrain.turn_to_heading(angle, units, wait)

パラメータ

説明

angle

ロボットが向くべき方向(度数) integer は小数、-359から359までの小数値(float)を指定できます。

units

オプション。回転単位: DEGREES (デフォルト)。

wait

オプション wait=True (デフォルト) は、ロボットの回転が完了するまでプロジェクトを待機させ、次のコード行を実行します。2 wait=False は、次のコード行をすぐに実行します。

def main():
    # Turn to face the cardinal directions
    drivetrain.turn_to_heading(90, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(180, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(270, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

回転#

turn_to_rotation はロボットを特定の回転方向に回転させます。

回転とは、ロボットがどれだけ回転したかを示すもので、度数で表されます。プロジェクトの開始時には、回転値は0度に設定されます。回転は、set_rotation メソッドを使用して設定することもできます。

回転値は絶対値です。つまり、旋回方向はロボットの現在の回転角度によって決まります。右に旋回すると回転角度が大きくなり、左に旋回すると回転角度が小さくなります。

例えば、ロボットが0度の位置から始まり、720度回転させると、右に2回転します。次に360度回転させると、360度は720度より小さいため、左に1回転します。

プロジェクトは、ロボットの旋回が完了するまで待機し、その後次のコードが実行されます。

Usage:
drivetrain.turn_to_rotation(angle, units, wait)

パラメータ

説明

angle

ロボットが回転する角度(度)。これは、整数 integerfloat ) のいずれかになります。

units

オプション。回転単位: DEGREES (デフォルト)。

wait

オプション wait=True (デフォルト) は、ロボットの回転が完了するまでプロジェクトを待機させ、次のコード行を実行します。2 wait=False は、次のコード行をすぐに実行します。

def main():
    # Turn left, then spin in a circle
    # clockwise and face right
    drivetrain.turn_to_rotation(-90, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_rotation(450, DEGREES)

# VR threads — Do not delete
vr_thread(main)

停止#

stop ロボットの動きを停止します。

Usage:
drivetrain.stop()

パラメータ

説明

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

def main():
    # Drive forward then stop
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

変異誘発者#

見出しを設定#

方位とは、ロボットが向いている方向のことで、度数で表されます。0 set_heading ロボットの現在の方位を新しい方位値に変更します。

例えば、ロボットが右を向いた場合、方位を0度に設定すると、その右向きの位置が新たな0度になります。その後、ロボットはその新たな方位に基づいて他の位置に旋回することができます。

Usage:
drivetrain.set_heading(heading, units)

パラメータ

説明

heading

ロボットに設定する方位角の値(度)。これは、整数 integer 、または小数 (float浮動小数点数) のいずれかになります。

units

オプション。見出し単位: DEGREES (デフォルト)。

def main():
    # Face the new 0 degrees
    drivetrain.set_heading(90, DEGREES)
    drivetrain.turn_to_heading(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

回転を設定する#

回転とは、ロボットがどれだけ回転したかを示すもので、度数で表されます。プロジェクトの開始時には、回転値は0度に設定されます。0 set_rotation 実行すると、ロボットの現在の回転が新しい値に変更されます。

例えば、ロボットが右に2回転した場合、回転角度は720度になります。回転角度を0度に設定すると、720度から0度にリセットされます。その後、ロボットはその新しい値に基づいて回転することができます。

Usage:
drivetrain.set_rotation(rotation, units)

パラメータ

説明

rotation

ロボットに設定する回転値(度)。これは、整数 integerfloat ) のいずれかになります。

units

オプション。回転単位: DEGREES (デフォルト)。

def main():
    # Spin counterclockwise two times
    drivetrain.set_rotation(720, DEGREES)
    drivetrain.turn_to_rotation(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

set_timeout#

set_timeout は、ロボットが動作を完了しようとする時間を設定します。ロボットがその時間内に動作を完了できない場合、試行を停止して次のコード行に進みます。これにより、ロボットが動作中に停止してしまうのを防ぎます。

Usage:
drivetrain.set_timeout(value, units)

パラメータ

説明

value

ロボットが動作を完了しようと試みる時間。これは、正の整数 integerfloat ) になります。

units

時間単位: SECONDS または MSEC (ミリ秒)。

def main():
    # Turn right after driving forward
    drivetrain.set_timeout(1, SECONDS)
    drivetrain.drive_for(FORWARD, 25, INCHES)
    drivetrain.turn_for(RIGHT, 90)

# VR threads — Do not delete
vr_thread(main)

set_drive_velocity#

set_drive_velocity は、ロボットの走行速度を指定します。パーセンテージが高いほどロボットは速く走行し、低いほど遅く走行します。

すべてのプロジェクトは、ロボットがデフォルトで50%の速度で走行するところから始まります。

注: 速度を速くするとロボットの走行速度は速くなりますが、精度が低下する可能性があります。速度を遅くするとロボットの走行速度は遅くなりますが、精度は向上する可能性があります。

Usage:
drivetrain.set_drive_velocity(velocity, units)

パラメータ

説明

velocity

0%から100%までの走行速度。0は整数、 integerfloat小数です。

units

オプション。速度の単位: PERCENT (デフォルト)。

def main():
    # Drive forward at different velocities
    # Default velocity
    drivetrain.drive_for(FORWARD, 150, MM)
    wait(1, SECONDS)
    # Drive slower
    drivetrain.set_drive_velocity(20, PERCENT)
    drivetrain.drive_for(FORWARD, 150, MM)
    wait(1, SECONDS)
    # Drive faster
    drivetrain.set_drive_velocity(100, PERCENT)
    drivetrain.drive_for(FORWARD, 150, MM)

# VR threads — Do not delete
vr_thread(main)

set_turn_velocity#

set_turn_velocity は、ロボットの旋回速度を指定します。パーセンテージが高いほどロボットの旋回速度は速くなり、低いほど旋回速度は遅くなります。

すべてのプロジェクトは、ロボットがデフォルトで50%の速度で旋回するところから始まります。

注: 速度が速いほどロボットの旋回速度は速くなりますが、精度が低下する可能性があります。速度が遅いほどロボットの旋回速度は遅くなりますが、精度は向上する可能性があります。

Usage:
drivetrain.set_turn_velocity(velocity, units)

パラメータ

説明

velocity

0%から100%までの旋回速度。0は整数、 integerfloat小数です。

units

オプション。速度の単位: PERCENT (デフォルト)。

def main():
    # Turn at different velocities
    # Default velocity
    drivetrain.turn_for(RIGHT, 120, DEGREES)
    wait(1, SECONDS)
    # Turn slower
    drivetrain.set_turn_velocity(20, PERCENT)
    drivetrain.turn_for(RIGHT, 120, DEGREES)
    wait(1, SECONDS)
    # Turn faster
    drivetrain.set_turn_velocity(100, PERCENT)
    drivetrain.turn_for(RIGHT, 120, DEGREES)

# VR threads — Do not delete
vr_thread(main)

ゲッター#

見出し#

方位とは、ロボットが向いている方向のことで、度数で表されます。0 heading ロボットの現在の方位を0度から359.99度の範囲で返します。

ロボットの初期進行方向は0度です。

Usage:
drivetrain.heading(units)

パラメータ

説明

units

オプション。見出し単位: DEGREES (デフォルト)。

def main():
    # Display the heading after turning
    drivetrain.turn_for(RIGHT, 450, DEGREES)
    brain.screen.print("Heading: ")
    brain.screen.print(drivetrain.heading(DEGREES))

# VR threads — Do not delete
vr_thread(main)

回転#

Rotation is how much the robot has turned, measured in degrees. At the beginning of a project, the rotation value is set to 0 degrees. rotation returns the robot’s current rotation.

右に回すと回転角度が大きくなり、左に回すと回転角度が小さくなります。例えば、右に2回転すると720度回転します。

Usage:
drivetrain.rotation(units)

パラメータ

説明

units

オプション。回転単位: DEGREES (デフォルト)。

def main():
    # Display the rotation after turning
    drivetrain.turn_for(RIGHT, 450, DEGREES)
    brain.screen.print("Rotation: ")
    brain.screen.print(drivetrain.rotation(DEGREES))

# VR threads — Do not delete
vr_thread(main)

完了しました#

is_doneが 場合は、ロボットの移動が完了したかどうかをブール値で返します。1の場合は、ロボットの移動に基づいて他の動作のタイミングを制御するために使用できます。

  • True — ロボットの移動が完了しました。

  • False — ロボットはまだ動いています。

このメソッドは、 wait パラメータを持つ以下の Drivetrain メソッドと連携して動作します: drive_for、turn_for、turn_to_heading、および turn_to_rotation。

Usage:
drivetrain.is_done()

パラメータ

説明

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

動いている#

is_moving は、ロボットが移動中かどうかをブール値で返します。これは、ロボットの動きに基づいて他の動作のタイミングを制御するために使用できます。

  • True — ロボットが動いています。

  • False — ロボットは動いていません。

Usage:
drivetrain.is_moving()

パラメータ

説明

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

速度#

velocity ロボットの走行速度を -100% から 100% までのパーセンテージで返します。

Usage:
drivetrain.velocity(units)

パラメータ

説明

units

オプション。速度の単位: PERCENT (デフォルト)。

例

def main():
    # Display the velocity after driving
    drivetrain.drive_for(FORWARD, 150, MM)
    brain.screen.print("Velocity: ")
    brain.screen.print(drivetrain.velocity(PERCENT))

モーション#

ディスコは、吸気モーター群を使用して吸気ホイールを回転させ、ディスクを回収してスコアを記録します。同じホイールは、フィールドローラーに接触すると、フィールドローラーも回転させます。

各方向の説明では、それぞれの方向がDiscoの吸気モーターグループをどのように動かすかを説明しています。

行動#

スピン#

spin は、モーター群を正逆方向に永久に回転させます。モーター群は、別の方向に回転したり停止したりするなど、別の動作が与えられるまで回転し続けます。

Usage:
intake_motor_group.spin(direction)

パラメータ

説明

direction

モーター群の回転方向:

  • FORWARD — 吸気方向に回転します。
  • REVERSE — 排気方向に回転します。

def main():
    # Spin the intake forward then stop
    intake_motor_group.spin(FORWARD)
    wait(0.5, SECONDS)
    intake_motor_group.stop()

# VR threads — Do not delete
vr_thread(main)

スピン_for#

spin_for は、モーターグループを特定の距離だけ回転させます。回転はモーターグループの現在位置を基準としています。プロジェクトは、モーターグループの回転が終了するまで待機してから、次のコードを実行します。

Usage:
intake_motor_group.spin_for(direction, distance, units, wait)

パラメータ

説明

direction

モーター群の回転方向:

  • FORWARD — 吸気方向に回転します。
  • REVERSE — 排気方向に回転します。

distance

モーターグループが回転する距離。0 DEGREES 整数を使用します。2 TURNS 整数または小数を使用できます。

units

オプション。距離の単位: DEGREES (デフォルト)または TURNS。

wait

オプション。

  • wait=True (デフォルト) — モーターグループの回転が完了するまでプロジェクトを待機させ、次のコード行を実行します。
  • wait=False — 次のコード行をすぐに実行します。

def main():
    # Spin the intake forward then stop
    intake_motor_group.spin_for(FORWARD, 360, DEGREES)

# VR threads — Do not delete
vr_thread(main)

スピン位置#

spin_to_position はモーターグループを特定の位置まで回転させます。

モーターグループの位置は、回転した角度を表し、 DEGREES または TURNSで測定されます。1回転は360度に相当します。プロジェクトの開始時には、モーターグループの位置は0度に設定されます。モーターグループの位置は、set_positionメソッドを使用して設定することもできます。

位置情報は絶対値です。つまり、スピンの方向はモーター群の現在の位置によって決まります。

例えば、モーター群が0度の位置から始まり、720度の位置まで回転する場合、2回転前進します。その後、360度の位置まで回転する場合、360度は720度より小さいため、1回転後退します。

Usage:
intake_motor_group.spin_to_position(angle, units, wait)

パラメータ

説明

angle

モーターグループが回転する位置の値 DEGREES 整数を使用します。2 TURNS 整数または小数を使用できます。

units

オプション。位置単位: DEGREES (デフォルト)または TURNS。

wait

オプション。

  • wait=True (デフォルト) — モーターグループの回転が完了するまでプロジェクトを待機させ、次のコード行を実行します。
  • wait=False — 次のコード行をすぐに実行します。

def main():
    # Spin the intake forward then stop
    intake_motor_group.spin_to_position(55, DEGREES)

# VR threads — Do not delete
vr_thread(main)

停止#

stop モーター群の回転を停止します。

Usage:
intake_motor_group.stop()

パラメータ

説明

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

def main():
    # Spin the intake forward then stop
    intake_motor_group.spin(FORWARD)
    wait(0.5, SECONDS)
    intake_motor_group.stop()

# VR threads — Do not delete
vr_thread(main)

変異誘発者#

位置を設定する#

A motor group’s position is how far it has spun, measured in DEGREES or TURNS. One turn is equal to 360 degrees. set_position changes the motor group’s current position to a new value.

例えば、モーター群が180度回転している場合、その位置を0度に設定すると、位置が180度から0度にリセットされます。その後、モーター群はその新しい値に基づいて回転できるようになります。

Usage:
intake_motor_group.set_position(position, units)

パラメータ

説明

position

モーターグループに設定する位置値 DEGREES 整数を使用します。2 TURNS 整数または小数を使用できます。

units

オプション。位置単位: DEGREES (デフォルト)または TURNS。

def main():
    # Spin the intake forward then stop
    intake_motor_group.set_position(90, DEGREES)
    intake_motor_group.spin_to_position(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

速度を設定する#

set_velocity は、モーターグループの回転速度を指定します。パーセンテージが高いほどモーターグループは速く回転し、低いほど遅く回転します。

すべてのプロジェクトは、各モーターグループがデフォルトで50%の速度で回転する状態から始まります。

注: 速度を速くするとモーターグループの回転速度は速くなりますが、精度が低下する可能性があります。速度を遅くするとモーターグループの回転速度は遅くなりますが、精度が向上する可能性があります。

Usage:
intake_motor_group.set_velocity(velocity, units)

パラメータ

説明

velocity

回転速度は0%から100%までです。これは integer または小数(float )を指定できます。

units

速度の単位: PERCENT。

def main():
    # Spin the intake forward then stop
    intake_motor_group.set_velocity(75, PERCENT)
    intake_motor_group.spin_to_position(180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

set_timeout#

set_timeout は、モーターグループが動作を完了しようとする時間を設定します。モーターグループがその時間内に動作を完了できない場合、試行を停止して次のコード行に進みます。これにより、モーターグループが動作中に停止してしまうのを防ぎます。

Usage:
intake_motor_group.set_timeout(value, units)

パラメータ

説明

value

The amount of time the motor group can try to finish a movement. This can be a positive integer or decimal (float).

units

時間単位: SECONDS または MSEC (ミリ秒)。

def main():
    # Spin the intake forward then stop
    intake_motor_group.set_timeout(2, SECONDS)
    intake_motor_group.spin_to_position(270, DEGREES)

# VR threads — Do not delete
vr_thread(main)

ゲッター#

完了しました#

is_done は、運動群の動きが完了したかどうかをブール値で返します。これは、運動群の動きに基づいて他の動作のタイミングを制御するために使用できます。

  • True — 運動群の動きが終了しました。

  • False — 運動群はまだ動いています。

このメソッドは、 wait パラメータを持つ次のモーションメソッドと連携して動作します: spin_for および spin_to_position。

Usage:
intake_motor_group.is_done()

パラメータ

説明

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

回転している#

is_spinning は、モーターグループが回転しているかどうかをブール値で返します。これは、モーターグループの動きに基づいて他の動作のタイミングを制御するために使用できます。

  • True — モーターグループが回転しています。

  • False — モーター群が回転していません。

このメソッドは、 wait パラメータを持つ次のモーションメソッドと連携して動作します: spin_for および spin_to_position。

Usage:
intake_motor_group.is_spinning()

パラメータ

説明

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

位置#

A motor group’s position is how far it has spun, measured in DEGREES or TURNS. One turn is equal to 360 degrees. position returns the motor group’s current position.

プロジェクト開始時、モーターグループの位置は0度に設定されます。モーターグループが前方に1回転すると、位置は360度、つまり1回転となります。モーターグループが反対方向に回転すると、位置はマイナスになります。

Usage:
intake_motor_group.position(units)

パラメータ

説明

units

モーターグループの位置を DEGREES 回転または TURNSに戻すユニット。

速度#

velocity モーターグループの回転速度を返します。

正の値は、モーター群が正方向に回転していることを意味します。負の値は、モーター群が逆方向に回転していることを意味します。

Usage:
intake_motor_group.velocity(units)

パラメータ

説明

units

戻る速度単位: PERCENT。

コンソール#

コンソールには、プロジェクトの実行中にテキスト、数値、変数値が表示されます。コンソールのメソッドを使用すると、カーソルを新しい行に移動したり、コンソールをクリアしたり、変数やセンサー値をモニタータブに追加したりすることもできます。

印刷#

脳スクリーン印刷#

brain.screen.print 現在のカーソル位置を使用して、コンソールにテキスト、数値、または変数値を表示します。

次の印刷値を新しい行から開始したい場合は、brain.screen.next_row を使用します。

Usage:
brain.screen.print(value)

パラメータ

説明

value

コンソールに表示するテキスト、数値、または変数値。

def main():
    # Display a message in the Console
    brain.screen.print("Hello, robot!")

# VR threads — Do not delete
vr_thread(main)

VEXcodeコンソールが表示され、コンソールと「こんにちは、ロボット!」というテキストが表示されています。

脳の画面の次の行#

brain.screen.next_row は、コンソールの次の行の 1 列目にカーソルを移動します。次に表示される値はその行に表示されます。

Usage:
brain.screen.next_row()

パラメータ

説明

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

def main():
    # Print on two rows
    brain.screen.print("Row 1")
    brain.screen.next_row()
    brain.screen.print("Row 2")

# VR threads — Do not delete
vr_thread(main)

VEXcodeコンソール。コンソールと、1行目に「Row 1」、2行目に「Row 2」というテキストが表示されます。

脳スクリーンクリアスクリーン#

brain.screen.clear_screen はコンソールからすべての行をクリアし、カーソルを 1 行目に戻します。

Usage:
brain.screen.clear_screen()

パラメータ

説明

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

def main():
    # Display text, then clear it after two seconds
    brain.screen.print("This will disappear...")
    wait(2, SECONDS)
    brain.screen.clear_screen()

# VR threads — Do not delete
vr_thread(main)

モニター#

モニター変数#

monitor_variable 、VEXcode のモニター タブに 1 つ以上の定義済み変数を追加します。これにより、プロジェクトの実行中に変数の値の変化を監視できます。

変数を正常に監視するには monitor_variable グローバルである必要があります。各変数名は文字列として指定してください。

Usage:
monitor_variable(“variable”)
monitor_variable(“variable1”, “variable2”)

パラメータ

説明

variable

監視対象となる定義済みグローバル変数の名前を文字列で指定します。複数の変数を監視する場合は、各変数名をカンマで区切ってください。

def main():
    # Monitor the amount of loops
    global loops
    monitor_variable("loops")

    # Drive in a square 3 times
    for loops in range(12):
        drivetrain.turn_for(RIGHT, 90, DEGREES)
        drivetrain.drive_for(FORWARD, 150, MM)

# VR threads — Do not delete
vr_thread(main)

モニターセンサー#

monitor_sensor は、VEXcode のモニター タブに 1 つ以上のセンサー値を追加します。これにより、プロジェクトの実行中にセンサー値の変化を監視できます。

各センサー値を文字列として指定してください。

Usage:
monitor_sensor(“sensor”)
monitor_sensor(“sensor1”, “sensor2”)

パラメータ

説明

sensor

The sensor value to monitor, given as a string. To monitor more than one sensor value, separate each sensor value with a comma. Supported sensor identifiers include:

  • Brain
    • brain.timer.time
  • Drivetrain
    • drivetrain.is_done
    • drivetrain.is_moving
    • drivetrain.heading
    • drivetrain.rotation
    • drivetrain.velocity_rpm
    • drivetrain.velocity_percent
  • Intake Motor Group
    • intake_motor_group.is_done
    • intake_motor_group.is_spinning
    • intake_motor_group.position_degrees
    • intake_motor_group.position_turns
    • intake_motor_group.velocity_rpm
    • intake_motor_group.velocity_percent
  • Fork Motor Group
    • fork_motor_group.is_done
    • fork_motor_group.is_spinning
    • fork_motor_group.position_degrees
    • fork_motor_group.position_turns
    • fork_motor_group.velocity_rpm
    • fork_motor_group.velocity_percent
  • Bottom Distance Sensor
    • bottom_distance.is_object_detected
    • bottom_distance.object_distance_mm
    • bottom_distance.object_distance_inches
  • Left Distance Sensor
    • left_distance.is_object_detected
    • left_distance.object_distance_mm
    • left_distance.object_distance_inches
  • Center Distance Sensor
    • center_distance.is_object_detected
    • center_distance.object_distance_mm
    • center_distance.object_distance_inches
  • Right Distance Sensor
    • right_distance.is_object_detected
    • right_distance.object_distance_mm
    • right_distance.object_distance_inches
  • Line Trackers
    • bottom_line_tracker.reflectivity
    • middle_line_tracker.reflectivity
    • top_line_tracker.reflectivity
  • Roller Optical Sensor
    • roller_optical.is_near_object
    • roller_optical.color
    • roller_optical.brightness
    • roller_optical.hue
  • Optical Sensor
    • optical.is_near_object
    • optical.color
    • optical.brightness
    • optical.hue
  • GPS Sensor
    • gps.position_mm
    • gps.position_inches
    • gps.heading
  • Rotation Sensor
    • rotation.angle
    • rotation.position

def main():
    # Monitor the robot's heading
    monitor_sensor("drivetrain.heading")
    drivetrain.turn_for(RIGHT, 450, DEGREES)

# VR threads — Do not delete
vr_thread(main)

センシング#

光学#

is_near_object#

is_near_object は、光学センサーが範囲内の物体を検出したかどうかを示すブール値を返します。

  • True – 光学センサーが物体を検出します。

  • False – 光学センサーが物体を検出しません。

Usage:
roller_optical.is_near_object()

パラメータ

説明

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

色#

color 検出された色相値に基づいて、 Color クラスのインスタンスを返します。これらは、定義済みの Color オブジェクトと比較することで、条件文を作成できます。

選択可能な色は以下のとおりです。

  • NONE

  • RED - 340°~20°の間の色相値

  • GREEN - 色相値が80°~140°

  • BLUE - 色相値が200°~240°

  • YELLOW - 色相値が40°~60°

  • ORANGE - 色相値が20°~40°

  • PURPLE - 色相値が240°~280°

  • CYAN - 140°~200°の色相値

注: 光学センサーは、指定された色に一致する色相範囲を探します。特定の色相範囲を検出するには、hue を参照してください。

Usage:
roller_optical.color()

パラメータ

説明

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

輝度#

brightness 、オブジェクトから反射された光の量をパーセントを表す小数 (float) として返します。

パーセンテージが高いほど、光学センサーに反射される光の量が多くなります。パーセンテージが低いほど、反射される光の量が少なくなります。

Usage:
roller_optical.brightness()

パラメータ

説明

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

色合い#

hue 、検出された色の色相値を 0 から 359 までの小数 (float) として返します。

色相とは、色相環上の数字を用いて色を表現する方法のことです。

円形のカラーホイールには、周囲に度数が表示され、上部の0°から360°まで30度刻みで増加する、色相の全スペクトルが表示されています。

Usage:
roller_optical.hue()

パラメータ

説明

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

オブジェクトが検出されました#

object_detected 光学センサーが新しい物体を検出するたびに呼び出される関数を登録します。

Usage:
roller_optical.object_detected(callback, arg)

パラメータ

説明

callback

光学センサーが新しい物体を検出したときに実行される、事前に定義された関数。

arg

Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information.

オブジェクトが失われた#

object_lost は、光学センサーが検出したオブジェクトを失ったときに呼び出される関数を登録します。

Usage:
roller_optical.object_lost(callback, arg)

パラメータ

説明

callback

光学センサーが検出対象物を失ったときに実行される、事前に定義された関数。

arg

Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information.

GPS#

x座標#

x_position は、フィールド上の GPS (Game Positioning System™) センサーの現在の x 座標を返します。

Usage:
gps.x_position(units)

パラメータ

説明

ユニット

オフセット値の単位: INCHES または MM

y座標#

y_position は、フィールド上の GPS (Game Positioning System™) センサーの現在の y 座標を返します。

Usage:
gps.y_position(units)

パラメータ

説明

ユニット

オフセット値の単位: INCHES または MM

見出し#

heading は、GPS (Game Positioning System™) センサーの読み取り値に基づいて、ロボットが現在向いている方位を 0 ~ 359 度の範囲で返します。

Usage:
gps.heading()

パラメータ

説明

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

ライントラッカー#

反射率#

反射率reflectivity 、表面から反射される光の量をパーセントで表した整数値を返します。

  • 反射率が0%ということは、対象物が非常に暗いことを意味します。

  • 反射率が100%ということは、その物体が非常に明るいことを意味します。

使用方法:
以下の例に示すように、このメソッドでは利用可能な 3 つの line_tracker オブジェクトのいずれかを使用できます。

ライントラッカー

指示

top_line_tracker

top_line_tracker.reflectivity(units) — トップライントラッカー

middle_line_tracker

middle_line_tracker.reflectivity(units) — ミドルライントラッカー

bottom_line_tracker

bottom_line_tracker.reflectivity(units) — ボトムライントラッカー

パラメータ

説明

ユニット

オプション。反射率を返す単位:

  • PERCENT (デフォルト)