VEX IQ スマートモーターによるコーディング

VEX IQ スマート モーターには、VEXcode IQ でコーディングするときに使用する多くの機能があります。 これは、アーム、爪、インテークだけでなく、VEX IQ を使用して作成されたドライブトレインやその他のメカニズムをコーディングするときに便利です。 モーターのコーディング方法を理解すると、プロジェクトの停止やモーターが意図したとおりに動作しないなどの問題を軽減するのに役立ちます。

モーターエンコーダー

VEX IQ スマート モーターは、ほとんどのモーターと同様に、電気エネルギーを機械エネルギーに変換するだけでなく、ほとんどのモーターにはない「スマート」な機能も備えています。 その主な機能の 1 つは直交エンコーダーです。 このエンコーダは、モーターシャフトの速度や位置を追跡するためにモーターの内部に取り付けられています。

VEX IQ スマート モーターのエンコーダーからのレポートにより、次のことがわかります。

  • モーターの回転方向(正転・逆転または開閉)
  • モーターの位置とモーターの回転量と位置 (回転数または度)
  • モーターの回転速度 (経時的なエンコーダーの位置に基づく)

エンコーダはモーターの状態を報告するため、それらを舞台裏の計算に使用して、VEXcode IQ 内でモーションおよびセンシング コマンドの多くを機能させることができます。

個々のモーターのコーディング

VEXcode IQ で個々のスマート モーターのコーディングを開始する前に、モーターを構成する必要があります。 個別のモーターは、インテーク、アーム、クローなどの追加機構に頻繁に使用されます。 ただし、すべての情報は個々のモーターを使用する他のメカニズムにも当てはまります。

画像7.png

この記事 の手順に従って、VEXcode IQ で個別のモーターを設定します。

単一のモーターを構成すると、そのモーターを制御するコマンドがツールボックスに表示されます。 待機コマンドと非待機コマンドというさまざまな種類のコマンドがあることがわかります。

待機中のコマンドと待機していないコマンド

ここの画像はすべてブロックを示していることに注意してください。 これらのプロジェクトはすべて Python または C++ で再構築でき、ブロックと同じ機能が含まれています。

画像3.png

コマンドを待機すると、動作が完了するまでプロジェクトの続行がブロックされます。 これには、[Spin​​ for] や [Spin​​ to Position] などのコマンドが含まれます。

ここに示すプロジェクトは Clawbot (2 モーター) テンプレートを使用しており、すべてのコマンドが待機しています。 したがって、直列に、クローモーターが 90 度閉じ、ロボットが逆方向に駆動し、その後アームが回転して 180 度の位置に達します。

画像6.png

対照的に、待機しないコマンドもあります。 非待機コマンドは、その動作を無期限に、または別の動作に変更するよう指示されるまで実行します。 [スピン]などのコマンドが含まれます。

ここに示されているプロジェクトでは、インテークが追加された BaseBot を使用しています。 ここで吸気モーターが回転し始めます。 [Wait] コマンドは待機コマンドであるため、吸気口は 2 秒が経過するまで回転し続け、その後プロジェクト内の次のコマンドである [Stop] コマンドに移動します。 その後、モーターの回転が停止します。

モーターのタイムアウト

モーターをアームまたは爪の一部としてコーディングする場合は、待機ブロックと非待機ブロックの違いと、それらがロボットの動きにどのような影響を与えるかを覚えておくことが重要です。 モーターのタイムアウトを使用すると、モーターが目的の目標位置に到達するまでの時間制限を設定できます。 時間が経過してもその位置に到達していない場合、モーターは回転を停止し、プロジェクトは次のコマンドに進みます。

画像2.png

この例では、モーターのタイムアウトは 2 秒に設定されています。 爪が 2 秒以内に 90 度に近づかない場合、モーターは 2 秒のマークで回転を停止し、次のコマンドに移動して前進します。

画像4.png

モーターをどのくらい移動すればよいかわからない場合は、センサー ダッシュボードを使用してください。 ダッシュボードにはモーターの位置が度数と回転数で表示されるため、モーターを動かすと (爪を開いたり閉じたりするなど)、数値が変化します。 このテストを使用して、爪を閉じる、腕を上げる、吸気口を回転させるなどに必要な角度または回転を決定します。

センサー ダッシュボードの使用方法については、これらの記事を参照してください。

スマートモーターをドライブトレインの一部としてコーディング

VEXcode IQ でドライブトレインのコーディングを開始する前に、使用するモーターを含むドライブトレインを構成する必要があります。 モーターはドライブトレイン内で構成されており、[Drive] や [Drive for] などの同じコマンドで確実に制御されます。

待機中のコマンドと非待機中のコマンド

ドライブトレインをコーディングする場合、ロボットの動きを制御するために待機コマンドと非待機コマンドを使用できます。

画像1.png

コマンドを待機すると、動作が完了するまでプロジェクトの続行がブロックされます。 これらには、[方向を向いて]、[方向を向いて]、[方向を向いて] などのコマンドが含まれます。

ここに示すプロジェクトは Clawbot (2 モーター) テンプレートを使用しており、すべてのコマンドが待機しています。 したがって、一連の動作では、ロボットはドライブトレインを使用して 200 ミリメートル前進し、その後すべて右折します。

画像8.png

対照的に、待機しないコマンドもあります。 非待機コマンドは、その動作を無期限に、または別の動作に変更するよう指示されるまで実行します。 [ドライブ]などのコマンドが含まれます。

ここに示すプロジェクトでは BaseBot を使用します。 ここでは、ロボットはバンパー スイッチが押されるまで無限に前進します。 その後、プロジェクトは次のコマンドに移り、ロボットは運転を停止して右に 90 度回転します。

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

Last Updated: