ジャイロセンサー#

導入#

gyro クラスは、ロボットの進行方向と回転運動を測定するために使用され、時間の経過に伴う姿勢の追跡を可能にします。

クラスコンストラクタ#

gyro(
  triport::port &port);

クラスデストラクタ#

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

virtual ~gyro();

パラメータ#

パラメータ

タイプ

説明

port

triport::port &

ジャイロセンサーが接続されている3線式ポートは、 Brain.ThreeWirePort.X または ExpanderName.Xのように記述され、 X はポート文字です (例: Brain.ThreeWirePort.A または Expander1.A)。

例#

// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);

メンバーの機能#

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

  • calibrate — 安定した方位追跡のためにジャイロを較正します。

  • setHeading — ジャイロの方向を設定します。

  • setRotation — ジャイロの現在の回転値を設定します。

  • heading — ジャイロの方向を返します。

  • rotation — ジャイロの回転を返します。

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 A
gyro GyroA = gyro(Brain.ThreeWirePort.A);

calibrate#

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

Available Functions
void calibrate(
  int32_t value = 0 );

Parameters

パラメータ

タイプ

説明

value

int32_t

キャリブレーションに費やす時間(秒)。デフォルト値は 0です。

Return Values

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

Notes
  • calibrate は、センサーが動いていない場合にのみ呼び出す必要があります。

Examples
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);

setHeading#

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

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

パラメータ

タイプ

説明

value

double

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

units

rotationUnits

方位を表す単位:

  • degrees
  • turns
Return Values

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

setRotation#

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

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

Parameters

パラメータ

タイプ

説明

value

double

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

units

rotationUnits

回転値を表す単位:

  • degrees
  • turns
Return Values

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

heading#

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

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 = GyroA.heading();
Brain.Screen.print(value);

rotation#

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

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 = GyroA.rotation();
Brain.Screen.print(value);