VEX IQ (第 2 世代) Brain からの慣性センサー データの理解

VEX IQ (第 2 世代) Brain には慣性センサーが組み込まれています。 慣性センサーは、方位、回転、向き、加速度に関するデータをセンサー ダッシュボードと VEXcode IQ に報告します。 この記事では、センサー ダッシュボードに表示されるデータを確認します。

センサー ダッシュボードへのアクセスの詳細については、この記事を参照してください。 

慣性センサーダッシュボード_空白.png


見出し

慣性センサー見出し.png

機首方位は脳が向いている方向であり、0 ~ 359.99 の度を使用してコンパス形式で報告されます。  0 点は、VEXcode IQ のコマンドを使用するか、VEX IQ (第 2 世代) Brain をキャリブレーションすることによって設定できます。 この情報は、ドライブトレインの使用時にロボットを特定の位置に向けるのに使用することもできます。

ダッシュボード_見出し_コールアウト.png

Brain の画面上のセンサー ダッシュボードでは、見出しが最初にリストされる値です。 この画面上で Brain を動かすと、値がリアルタイムで更新されるのがわかります。

Screen_Shot_2021-11-04_at_12.15.49_PM.png

Brain の電源がオンになり、慣性センサーが校正されると、これは 0 度に設定されます。 Brainの見出しをリセットしたい場合は、Brainのチェックボタンを選択してください。 これにより、機首方位と回転が 0 度にリセットされ、慣性センサー センサー ダッシュボード上のすべてのデータがこの新しい開始位置に基づくようになります。

VEXcode IQ ブロック VEXcode IQ Python
見出しブロック.png
drivetrain.turn_to_Heading(90, 度)
VEXcode IQ C++
int main()
{
Drivetrain.turnToHeading(90, 度);
}

VEXcode IQ では、[方向を向く] ブロック、 1turn_to_HeadingPython コマンド、および C++ コマンドを使用して、ロボットを特定の方向へ方向転換することできます。

VEXcode IQ ブロック VEXcode IQ Python
見出しブロック 2.png
drivetrain.set_Heading(0, 度)
VEXcode IQ C++
int main()
{
Drivetrain.setHeading(0, 度);
}

センサー ダッシュボードの調整オプションと同様に、プロジェクトの実行中に、[ドライブ ヘディングの設定] ブロック、 set_Heading Python コマンド、または setHeading C++ コマンドを使用してヘディングを設定できます。


回転

見出し_270__回転_-90.png

回転は、ロボットが Brain の中心軸の周りを回転すると報告されます。 センサー ダッシュボードに報告される度数は、回転の方向と、キャリブレーション以降に Brain が完了した回転の度数の値を示します。 方位とは異なり、数値は 0 ~ 359.99 度に限定されません。 ロボットは、負の値の場合は反時計回りに、正の値の場合は時計回りに回転でき、ブレイン内の慣性センサーが報告する回転数に一致するように度の値を増加し続けます。 

回転吹き出し.png

Brain の画面上のセンサー ダッシュボードでは、回転が 2 番目にリストされている値です。 この画面で Brain を回転すると、値がリアルタイムで更新されるのがわかります。 

Screen_Shot_2021-11-04_at_12.15.49_PM.png

Brain の電源がオンになり、慣性センサーが校正されると、これは 0 度に設定されます。 ロボットの回転をリセットしたい場合は、Brain のチェック ボタンを選択します。 これにより、機首方位と回転が 0 度にリセットされ、慣性センサー センサー ダッシュボード上のすべてのデータがこの新しい開始位置に基づくようになります。

VEXcode IQ ブロック VEXcode IQ Python
ブロック回転1.png
drivetrain.turn_to_rotation(90, 度)
VEXcode IQ C++
int main()
{
Drivetrain.turnToRotation(90, 度);
}

VEXcode IQ では、[回転に回転] ブロック、 Python コマンド、および C++ コマンドを使用して、ロボットを特定の角度だけ回転させることができます。

VEXcode IQ ブロック VEXcode IQ Python
ブロック回転2.png
drivetrain.set_rotation(0, 度)
VEXcode IQ C++
int main()
{
Drivetrain.setRotation(0, 度);
}

センサー ダッシュボードの調整オプションと同様に、回転値は、[ドライブ回転の設定] ブロック、 set_rotationPython コマンド、または setRotation C++ コマンドを使用して、プロジェクトの実行中に設定できます。


ピッチ、ロール、ヨー

IQ_Gen2_Basebot_Pitch_copy.png

ピッチ、ロール、ヨーは、指定された軸に沿った Brain の方向角です。 ピッチは、X 軸とロボットの前後に傾く角度を表します。 ピッチの値の範囲は -90 度から 90 度です。 

IQ_Gen2_Basebot_Roll_copy.png

Roll は y 軸とロボットが左右に傾く角度を表します。 ロールの値の範囲は -180 度から 180 度です。 

IQ_Gen2_Basebot_Yaw_copy.png

ヨーは、ロボットの Z 軸と角回転を表します。 ヨーの値の範囲は -180 度から 180 度です。

roll_pitch_yaw_callout.png

ピッチ、ロール、ヨーは、センサー ダッシュボードの機首方位と回転の下に表示されます。

Screen_Shot_2021-11-04_at_2.31.36_PM.png

VEXcode IQ のピッチ、ロール、ヨーのサンプル プロジェクトを使用して、x、y、z 軸に沿った脳の向きの角度を検出する方法を示すことができます。 Touch LED は、Brain の向きの角度がどのように変化してピッチ、ロール、ヨーを示すかに応じて異なる色に設定されます。

VEXcode IQ でサンプル プロジェクトを開く方法については、次の記事のいずれかを参照してください。


X、Y、Z 軸の加速度

accel_x__y__z.png

センサー ダッシュボード上のセクションの加速度は、指定された軸に沿った慣性センサーの加速度値を報告します。 x、y、z 軸に沿った加速度は、「ax」、「ay」、「az」の略語を使用して右側のセンサー ダッシュボードに表示されます。 これらはそれぞれ、-4.0 ~ 4.0 G の範囲を報告します。

Brain が表面に置かれている間、およそ -1.0 G の値が表示されます。これは、安静時に脳にかかる重力によるものです。

Screen_Shot_2021-11-04_at_2.51.22_PM.png

VEXcode IQ の加速度の検出サンプル プロジェクトは、x、y、z 軸に沿った脳の加速度を検出する方法を示すために使用できます。 タッチ LED は、脳がどの軸を傾けているかに応じて異なる色を表示します。

VEXcode IQ でサンプル プロジェクトを開く方法については、次の記事のいずれかを参照してください。


x、y、z 軸の回転速度

回転_x__y__z.png

センサー ダッシュボードのセクションのジャイロ レートは、指定された軸に沿った慣性センサーの回転速度値を報告します。 x、y、z 軸に沿った回転速度は、右側のセンサー ダッシュボードに「gx」、「gy」、「gz」という略語を使用して表示されます。 これらはそれぞれ、毎秒 -1000.0 ~ 1000.0 度の範囲を報告します。

VEXcode IQ ブロック VEXcode IQ Python
脳ジャイロ.png
Brain_inertial.gyro_rate(AxisType.XAXIS、VelocityUnits.DPS)
VEXcode IQ C++
int main()
{
BrainInertial.gyroRate(xaxis, dps)
}

VEXcode IQ では、(Gyro rate) ブロック、 gyro_ratePython コマンド、および gyroRate C++ コマンドを使用して、プロジェクトの実行中に特定の軸の回転速度をレポートできます。

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: