慣性#

導入#

VEX AIMコーディングロボットには慣性センサーが内蔵されています。このセンサーは、ロボットの動きや旋回状態を測定します。

慣性センサーは、この目的のために2つの部分を使用します。ジャイロスコープは、ロボットの進行方向、回転、旋回速度、向きなどの回転を測定します。加速度計は、加速、減速、衝突時の急停止など、動きの変化を測定します。

慣性ブロックは、旋回位置の追跡、加速度の測定、衝突の検出、および方位角や回転値のリセットに使用できます。

以下はすべてのブロックのリストです。

値 — 方向と動きに関するデータを報告します。

  • heading — ロボットが向いている方向を0度から359.99度の範囲で報告します。

  • rotation — ロボットがどれだけ回転したかを報告します。

  • 加速度 — 選択した軸上でロボットがどれだけ速く加速または減速しているかを報告します。

  • 回転速度を取得 — 選択した軸を中心にロボットが回転する速度を報告します。

  • orientation — ロボットのロール、ピッチ、またはヨー角を報告します。

アクション — 衝突に対応するか、ターン値をリセットします。

  • 衝突時 — ロボットが突然の衝撃を検出したときに、添付されているブロックを実行します。

  • 衝突感度を設定 — 衝突検出の衝撃に対する感度を調整します。

  • 方位角のリセット — ロボットの方位角の値を0度にリセットします。

  • 回転をリセット — ロボットの回転値を0度にリセットします。

価値観#

見出し#

方位とは、ロボットが向いている方向のことで、0度から359.99度までの角度で表されます。方位レポーターブロックは、ロボットの現在の方位を報告します。

開始時の方位は0度です。ロボットが359.99度を超えて旋回すると、方位は0度に戻ります。

見出しレポーターブロック。#
ヘディング(度)

パラメータ

説明

このブロックにはパラメータがありません。

例

開始したとき
[Turn right until the heading reaches 90 degrees.]
[右 v] へ旋回
[0.05] 秒待つ
<(ヘディング(度)) [math_greater_than v] [90]> まで待つ
全移動を停止

開始したとき
[Display the robot's heading as it is rotated by hand.]
ずっと
スクリーンの行 [1] をクリア
スクリーンのカーソルを行 [1] 列 [1] に設定
(ヘディング(度)) をスクリーンに表示 ▶
[0.05] 秒待つ

回転#

回転とは、ロボットがどれだけ回転したかを示す度数です。方位とは異なり、回転は359.99度を超えて増加したり、0度未満に減少したりすることがあります。プロジェクトの開始時には、回転の値は0度に設定されます。rotationレポーターブロックは、ロボットの現在の回転を報告します。

右に回すと回転角度が大きくなり、左に回すと回転角度が小さくなります。例えば、右に2回転すると720度の回転として表示されます。0度から左に1回転すると-360度の回転として表示されます。

回転レポーターブロック。#
(回転角(度))

パラメータ

説明

このブロックにはパラメータがありません。

例

開始したとき
[Print the rotation value as the robot turns.]
[右 v] へ [480] 度旋回 ◀ 待たない
ずっと
スクリーンをクリア
スクリーンのカーソルを行 [1] 列 [1] に設定
(回転角(度)) をスクリーンに表示 ▶

加速度#

加速度とは、ロボットが加速または減速する速さのことです。加速度レポーターブロックは、選択された軸に沿ったロボットの加速度を-4.00Gから4.00Gの範囲で報告します。

Gは加速度を測定するために使用される単位です。1Gは、静止しているときに重力によって感じる加速度に相当します。

値は、選択した軸の加速度の方向に応じて正または負になります。AIMでは、軸のオプションはロボットの方向に応じて「前方」、「右方向」、「下方向」という名前が付けられています。

アクセラレーションレポーターブロック。#
([前進 v] 軸の加速度(g) :: custom-controller-inertial-timer)

パラメータ

説明

軸

加速度を測定する軸:

  • 前方
  • 右方向
  • 下方

VEXセンサーデバイスに、方向を示す3つのラベル付きカラー矢印が表示されています。右方向を示す赤い矢印は左斜め上を指し、前方向を示す緑の矢印は右上斜め上を指し、下方向を示す青い矢印は中心から真下を指しています。

例

開始したとき
[Show the change in acceleration as the robot begins to move.]
スクリーンのカーソルを行 [4] 列 [1] に設定
([Resting: ] と ([右方向 v] 軸の加速度(g) :: custom-controller-inertial-timer) をつなぐ) をスクリーンに表示 ▶
スクリーンのカーソルを次の行へ移動
[0.5] 秒待つ
[右 v] へ [50] [mm v] 移動 ◀ 待たない
[0.1] 秒待つ
([Startup: ] と ([右方向 v] 軸の加速度(g) :: custom-controller-inertial-timer) をつなぐ) をスクリーンに表示 ▶

ターンレートを取得する#

旋回速度とは、ロボットが回転する速さのことです。旋回速度を取得レポーターブロックは、選択した軸に沿ったロボットの現在の回転速度を、1秒あたりの度数(dps)で整数として報告します。

値は、ロボットがその軸を中心に回転する方向によって、正にも負にもなり得ます。下の図では、矢印を使ってロール、ピッチ、ヨーの正の回転方向を示しています。

VEXセンサーデバイスが、回転軸を示す3つのラベル付きカラー矢印とともに表示されています。ピッチとラベル付けされた赤い矢印は左上斜め方向を指し、ロールとラベル付けされた緑の矢印は右上斜め方向を指し、ヨーとラベル付けされた青い矢印は中心から真下を指しています。

ターンレート取得レポーターブロック。#
([ヨー v] 軸の旋回レート(dps)を取得)

パラメータ

説明

軸

旋回率を報告する軸:

  • ロール
  • ピッチ
  • ヨー

例

開始したとき
[Observe the yaw turn rate as the robot turns.]
[右 v] へ [180] 度旋回 ◀ 待たない
ずっと
スクリーンをクリア
スクリーンのカーソルを行 [1] 列 [1] に設定
([ヨー v] 軸の旋回レート(dps)を取得) をスクリーンに表示 ▶

方向#

姿勢とは、選択された回転軸に対するロボットの現在の角度のことです。orientationレポーターブロックは、ロボットのロール、ピッチ、またはヨーを-180.00度から180.00度の範囲で小数値として報告します。

ロール、ピッチ、ヨーは、ロボットが傾いたり回転したりするさまざまな方法を表します。下の図では、矢印を使用して、ロール、ピッチ、ヨーの正の回転方向を示しています。

VEXセンサーデバイスが、回転軸を示す3つのラベル付きカラー矢印とともに表示されています。ピッチとラベル付けされた赤い矢印は左上斜め方向を指し、ロールとラベル付けされた緑の矢印は右上斜め方向を指し、ヨーとラベル付けされた青い矢印は中心から真下を指しています。

オリエンテーションのレポーターブロック。#
[ヨー v] の方向(度)

パラメータ

説明

軸

報告する姿勢軸:

  • ロール
  • ピッチ
  • ヨー

例

開始したとき
[Display the robot's orientation as it is rotated by hand.]
ずっと
スクリーンの行 [1] をクリア
スクリーンのカーソルを行 [1] 列 [1] に設定
([ロール v] の方向(度)) をスクリーンに表示 ▶
[0.05] 秒待つ

行動#

クラッシュしたとき#

衝突時ハットブロックは、ロボットが突然の衝撃や衝突を検出したときに、接続されたスタックを実行します。衝突検出には加速度計と現在の衝突感度を使用します。

クラッシュした帽子ブロック。#
クラッシュ時

パラメータ

説明

このブロックにはパラメータがありません。

例

開始したとき
[Start moving forward.]
移動速度を [100]% に設定
[前進 v] へ移動

クラッシュ時
[Respond when a crash is detected.]
全移動を停止
音 [クラッシュ v] を再生 ▶

クラッシュ感度を設定する#

衝突感度設定スタックブロックは、ロボットが衝突を検知するために必要な急加速の量を調整します。

クラッシュ感度設定スタックブロック。#
クラッシュ感度を [ロー v] に設定

パラメータ

説明

感度

ロボットが衝突を検知する際の感度:

  • 低 — 強い衝撃のみを検知します。
  • 中 — 中程度の衝撃を検知します。
  • 高 — 小さな衝撃を検知します。

例

開始したとき
[Move slowly with high crash sensitivity.]
移動速度を [35]% に設定
クラッシュ感度を [ハイ v] に設定
[前進 v] へ移動

クラッシュ時
[Respond when a crash is detected.]
全移動を停止
音 [クラッシュ v] を再生 ▶

見出しをリセット#

reset headingスタックブロックは、ロボットの現在の進行方向を0度にリセットします。このブロックが実行されると、ロボットが現在向いている方向が新しい0度の進行方向になります。

見出しスタックブロックのリセット。#
ヘディングをリセット

パラメータ

説明

このブロックにはパラメータがありません。

例

開始したとき
[Face left before turning around.]
ヘディング [270] 度へ旋回 ▶
ヘディングをリセット
[1] 秒待つ
ヘディング [180] 度へ旋回 ▶

回転をリセット#

回転リセットスタックブロックは、ロボットの現在の回転値を0度にリセットします。このブロックが実行された後、ロボットは新しい0度の回転値から今後の回転を追跡します。

リセット回転スタックブロック。#
回転をリセット

パラメータ

説明

このブロックにはパラメータがありません。

例

開始したとき
[Turn for 480 degrees before resetting rotation.]
[右 v] へ [480] 度旋回 ▶
回転をリセット
ずっと
スクリーンをクリア
スクリーンのカーソルを行 [1] 列 [1] に設定
(回転角(度)) をスクリーンに表示 ▶