慣性#
導入#
脳には慣性センサーが内蔵されている。このセンサーは、脳の動きや回転を測定することができる。
慣性センサーは、この目的のために2つの部品を使用します。ジャイロスコープは、脳がどちらの方向を向いているか、どれだけ回転したかなど、回転を測定します。加速度計は、加速、減速、衝突時の急停止など、動きの変化を測定します。
慣性計測法は、旋回を追跡したり、方位角や回転値をリセットしたり、ロール、ピッチ、ヨーを測定したり、加速度を報告したりするために使用できます。
慣性センサーをコーディングする方法は数多くあります。以下に、すべての慣性センサーのコーディング方法を示します。
方向設定 — 脳の向き、回転、傾きを元に戻して設定します。
get_heading— 脳が向いている方向を0度から359度の範囲で返します。get_rotation— 脳がどれだけ回転したかを返します。get_yaw— ブレインが開始位置からどれだけ左または右に回転したかを返します。get_roll— 脳が左右にどれだけ傾いているかを返します。get_pitch— Brain がどれだけ前または後ろに傾いているかを返します。calibrate— 脳の慣性センサーを較正します。reset_heading— 脳の現在の方位を0度にリセットします。reset_rotation— 脳の現在の回転を0度にリセットします。set_heading— Brain の現在の見出しを新しい見出し値に設定します。set_rotation— 脳の現在の回転を新しい回転値に設定します。
動き ― 脳の動き方を反映する。
get_acceleration— 選択された軸上で脳がどれだけ速く加速または減速しているかを返します。
オリエンテーション#
get_heading#
方位とは、脳が向いている方向のことで、0度から359度までの度数で表されます。get_heading get_heading は、脳の現在の方位を返します。
開始時の方位は0度です。ブレインが359度を超えて回転すると、方位は0度に戻ります。
Usage:
inertial.get_heading()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
get_rotation#
回転とは、脳がどれだけ回転したかを示す度数です。方位とは異なり、回転は359度を超えて増加したり、0度未満に減少したりすることがあります。プロジェクトの開始時には、回転の値は0度に設定されます。get_rotation 脳の現在の回転を返します。
右に回すと回転角度が大きくなり、左に回すと回転角度が小さくなります。例えば、右に2回転すると720度回転します。0度から左に1回転すると-360度回転します。
Usage:
inertial.get_rotation()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
get_yaw#
ヨーとは、ブレインが開始位置から左右にどれだけ回転したかを示す度数です。get_yaw get_yaw は、ブレインの現在のヨー値を返します。
右に旋回するとヨー角が増加し、左に旋回するとヨー角が減少します。ヨー角は、ラップされた方位角の値を使用せずに左右の旋回を確認するのに役立ちます。
Usage:
inertial.get_yaw()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
get_roll#
Roll は、Brain が左右に傾く角度を度数で表したものです。0 get_roll は Brain の現在のロール値を返します。
脳が正面を向いている状態で、左に傾けるとロール値が増加し、右に傾けるとロール値が減少します。
Usage:
inertial.get_roll()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
get_pitch#
ピッチとは、脳が前後にどれだけ傾いているかを示す度数です。get_pitch get_pitch 、脳の現在のピッチ値を返します。
脳が正面を向いている状態で、前方に傾けると音の高さが上がり、後方に傾けると音の高さが下がります。
Usage:
inertial.get_pitch()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
calibrate#
calibrate 脳の慣性センサーをキャリブレーションします。
キャリブレーションを行うことで、慣性センサーが旋回を正確に測定できるようになります。キャリブレーション中は、Brainを約2秒間静止させてください。キャリブレーション中にBrainが動くと、方位、回転、ヨー、ロール、ピッチの値が正しく測定されない場合があります。
プロジェクトは、キャリブレーションが完了するまで次のコード行の実行を待ちます。
Usage:
inertial.calibrate()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
reset_heading#
方位とは、脳が向いている方向を度数で表したものです。0 reset_heading 、脳の現在の方位を0度にリセットします。
この方法を用いると、脳の現在の方向が新たな0度の方向となる。
Usage:
inertial.reset_heading()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
reset_rotation#
回転とは、脳がどれだけ回転したかを示す度数です。0 reset_rotation 、脳の現在の回転を0度にリセットします。
この方法を用いると、脳は新しい0度の回転値から将来の回転を追跡する。
Usage:
inertial.reset_rotation()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
set_heading#
方位とは、脳が向いている方向のことで、0度から359度までの角度で表されます set_heading は、脳の現在の方位を新しい方位値に変更します。
例えば、脳が右を向いた場合、方位を0度に設定すると、その右向きの位置が新たな0度になります。そして、脳はその新たな方向に基づいて他の方位を追跡できるようになります。
Usage:
inertial.set_heading(heading)
パラメータ |
説明 |
|---|---|
|
Brainに設定する方位角の値(度数)。0から359までの整数を指定できます。 |
set_rotation#
回転とは、脳がどれだけ回転したかを示す度数です。方位とは異なり、回転は359度を超えて増加したり、0度未満に減少したりすることができます。プロジェクトの開始時には、回転値は0度に設定されます。0 set_rotation 、脳の現在の回転を新しい値に変更します。
例えば、脳が右に2回転した場合、回転角度は720度になります。回転角度を0度に設定すると、720度から0度にリセットされます。その後、脳はこの新しい値に基づいて回転を追跡できます。
Usage:
inertial.set_rotation(rotation)
パラメータ |
説明 |
|---|---|
|
Brainに設定する回転角度(度数)。整数値を指定してください。 |
モーション#
get_acceleration#
加速度とは、脳が加速または減速する速さのことです。get_acceleration get_acceleration は、-4.0 G から 4.0 G までの、選択された軸における脳の加速度を返します。
G は加速度を測定するために使用される単位です。1Gは、静止しているときに重力によって感じる加速度に相当します。
The value can be positive or negative depending on the direction of acceleration on the selected axis. The axis options are X, Y, and Z.
Usage:
inertial.get_acceleration(axis)
パラメータ |
説明 |
|---|---|
|
加速度を測定する軸: |
# Build Used: Super Code Base 2.0
def main():
# Display the acceleration after moving.
drivetrain.set_drive_velocity(100)
console.print("Resting: ")
console.print(inertial.get_acceleration(X), precision=2)
console.new_line()
wait(1, SECONDS)
drivetrain.drive_for(FORWARD, 500, MM, wait=False)
wait(0.20, SECONDS)
console.print("Startup: ")
console.print(inertial.get_acceleration(X), precision=2)
# Start threads — Do not delete
start_thread(main)