ジャイロセンサー#

導入#

gyro クラスは、ジャイロセンサーと組み合わせて使用​​され、単一軸を中心とした回転運動を測定します。ロボットがどちらの方向を向いているか、またどれだけ回転したかを追跡できます。

クラスコンストラクタ#

gyro(
    int32_t index );

クラスデストラクタ#

gyro オブジェクトを破棄し、関連するリソースを解放します。

virtual ~gyro();

パラメータ#

パラメータ

タイプ

説明

index

int32_t

ジャイロセンサーが接続されているスマートポートは、 PORTxと表記され、 x はポート番号です (例: PORT1)。

例#

// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);

メンバーの機能#

gyro クラスには、以下のメンバ関数が含まれています。

  • calibrate — ジャイロセンサーを校正します。

  • setHeading — ジャイロセンサーの現在の方位を新しい方位値に設定します。

  • setRotation — ジャイロセンサーの現在の回転を新しい回転値に設定します。

  • heading — ジャイロセンサーが向いている方向を返します。

  • rotation — ジャイロセンサーがどれだけ回転したかを返します。

  • rate — ジャイロセンサーの回転速度を返します。

gyro メンバ関数を呼び出す前に、以下に示すように gyro インスタンスを作成する必要があります。

/* This constructor is required when using VS Code.
Gyro Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);

calibrate#

ジャイロセンサーを校正します。

Available Functions
void calibrate();

Parameters

この関数は引数を受け付けません。

Return Values

この関数は値を返しません。

Notes
  • キャリブレーションは、ジャイロセンサーが旋回を正確に測定するために役立ちます。キャリブレーション中はセンサーを動かさないでください。キャリブレーション中にセンサーが動くと、方位、回転、および回転速度の値が正しく測定されない可能性があります。

Examples
// Calibrate the Gyro Sensor before turning.
Gyro1.calibrate();

setHeading#

ジャイロセンサーの現在の方位を特定の値に設定します。

方位とは、ジャイロセンサーが向いている方向のことで、0度から359.99度の範囲で測定されます。方位を設定すると、センサーの現在の方向基準が変更されます。

Available Functions
void setHeading(
  double        value,
  rotationUnits units );

パラメータ

タイプ

説明

value

double

新しい見出しに使用する値。

units

rotationUnits

方位を表す単位:

  • degrees
  • turns

Return Values

この関数は値を返しません。

setRotation#

ジャイロセンサーの現在の回転角を特定の値に設定します。

回転とは、ジャイロセンサーがどれだけ回転したかを示す値です。方位とは異なり、回転は359.99度を超えて増加したり、0度を下回ったりすることがあります。

Available Functions
void setRotation(
  double        value,
  rotationUnits units );

Parameters

パラメータ

タイプ

説明

value

double

新しい回転値に使用する値。

units

rotationUnits

回転値を表す単位:

  • degrees
  • turns

Return Values

この関数は値を返しません。

heading#

ジャイロセンサーの現在の方位角を返します。

方位とは、ジャイロセンサーが向いている方向のことで、0度から359.99度までの範囲で測定されます。センサーが359.99度を超えて回転すると、方位は0度に戻ります。

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

パラメータ

タイプ

説明

units

rotationUnits

方位を表す単位:

  • degrees (デフォルト)
  • turns

Return Values

指定された単位でのジャイロセンサーの現在の方位を表す double を返します。デフォルト値は degreesです。

Examples
// Get the current heading for the Gyro.
double value = Gyro1.heading();
Brain.Screen.print(value);

rotation#

ジャイロセンサーの現在の回転角度を返します。

回転とは、ジャイロセンサーがどれだけ回転したかを示す値です。方位とは異なり、回転は359.99度を超えて増加したり、0度を下回ったりすることがあります。例えば、右に2回転すると720度の回転になります。0度から左に1回転すると-360度の回転になります。

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

パラメータ

タイプ

説明

units

rotationUnits

回転値を表す単位:

  • degrees (デフォルト)
  • turns

Return Values

指定された単位でのジャイロセンサーの現在の回転値を表す double を返します。デフォルト値は degreesです。

Examples
// Get the current rotation for the Gyro.
double value = Gyro1.rotation();
Brain.Screen.print(value);

rate#

ジャイロセンサーの回転速度を返します。

回転速度とは、ジャイロセンサーが回転する速さのことです。センサーの回転方向によって、値は正にも負にもなります。

Available Functions
double rate(
  rateUnits units = rateUnits::dps );

Parameters

パラメータ

タイプ

説明

units

rateUnits

速度を表す単位:

  • rateUnits::dps (デフォルト) — 1秒あたりの度数
  • rateUnits::rpm — 1分あたりの回転数

Return Values

指定された単位でのジャイロセンサーの現在の変化率を表す double を返します。デフォルト値は rateUnits::dpsです。