Chapter 4: Preparing to Compete
الدرس 2: استخدام قالب مسابقة الكتل
こんにちは。VEX 教室へようこそ。 私の名前はローレンです。このレッスンでは、ブロック コンペティション テンプレートの使用について説明します。 前回のレッスンでは、競技テンプレートについてもう少し一般的に説明し、VEX ロボティクス競技の試合中に競技テンプレートを使用する必要がある理由について説明しました。 ブロックかテキストかを問わず、使用しているプログラミング言語に応じて、コンペティション テンプレートのさまざまなバージョンがあります。 このビデオでは、このコースではブロックに焦点を当てているため、VEXcode V5 の Blocks Competition テンプレートについて説明します。
さて、すべての話に入る前に、まずは材料についてお話しましょう。 ここでは、Arm と Claw の機能の一部を紹介するために、Advanced TrainingBot を使用します。 また、コントローラー、ゲーム オブジェクト ピース、VEXcode V5 を使用して、このコンペティション テンプレートを実際に紹介します。 このビデオには何の材料も必要ありません。 皆さんにいくつかデモンストレーションをしてみます。 繰り返しますが、このレッスンには何の必要もありません。
このレッスンの目的について話しましょう。 Blocks Competition テンプレートのさまざまな部分、具体的には、自動運転前の「開始時」、自動運転部分、およびドライバー制御部分の 3 つの部分について説明します。 ここで示すサンプル コードでそれらについて説明し、その後、実際にテストして、コントローラーを使用してロボットの機能を確認し、Competition テンプレートが実際にどのように動作するかを確認します。
それでは、プロジェクトの例を詳しく見ていきましょう。
[ミュージックキュー]
さて、コンペティション テンプレートを表示するには、[ファイル]、[例を開く]、[テンプレート]、[コンペティション テンプレート] の順に進みます。 ここにいくつかあります。 1 番目は、やはりこの 3 つのセクションです。 ここでの特定の例について詳しく説明する前に注意しておきたいのは、これらを入力する前に実際に行う必要がある最初のことは、ここにデバイス構成を追加することです。 繰り返しになりますが、2 モーター ドライブトレインを使用している場合や、アーム モーターやクロー モーターなどを使用している場合は、まずそれらを追加して、左側にブロックを配置できるようにする必要があります。 これにより、これらのセクションに再度データを入力できるようになります。
コンペティション テンプレートを開いたらすぐに、デバイス構成を追加する必要があります。 次に言及したいのは、このドライバー制御部分に、forever ブロックが含まれていることです。 これがそこに含まれている理由は、ドライバー コントロール部分では、コントローラーを使用しているときに、ほとんどの場合、ボタンが押されたか、ジョイスティックが動かされたかを継続的に確認する必要があるためです。 そのため、永久ブロックはデフォルトでそこに存在します。 何らかの特別な理由で削除したい場合は削除できますが、そのスタックを使用せずデバイス構成のみを使用している場合は、そのままにしておくことができます。
大丈夫。 私が作成した例を使用して、これら 3 つのセクションのそれぞれと実際の意味を見てみましょう。
[ミュージックキュー]
まず、コンペティション テンプレートには 3 つの主要な部分があることを指摘しておきます。 1 つ目は、開始時または事前自律です。 2 番目は、When Autonomous または Autonomous 部分であり、3 番目は When Driver Control または Driver Control 部分です。 これら 3 つのイベント ブロックまたはハット ブロックはすべて、このコンペティション テンプレートの異なる部分を実行します。
それぞれのセクションについてお話ししましょう。 事前自律部分、つまり開始時部分は、Competition Template プロジェクトが実行されるとすぐに実行されます。 これは、あらゆる初期化を設定する場合に最適です。
このレッスンに参加していただきありがとうございます。 役に立ち、有益な情報になれば幸いです。 ご質問がございましたら、お気軽にお問い合わせください。 コーディングを楽しんで、VEX Roboticsプロジェクトの成功をお祈りします!
したがって、自律部分が開始する前に脳のスクリーンに何かを印刷する必要がある場合、ジャイロを調整する必要がある場合、この特定の例ではデータを印刷する必要がある場合、アームとクローを使用しているため、モーターをホールドに設定します。 つまり、腕を上げたり、爪を開いたりしても、モーターはその特定の位置に留まり、たとえば重力によって下がることはありません。 つまり、私はモーターに対して、自律動作前の概念を設定しているわけです。 この例では、デモを見るとそれがどのように見えるかを見ていきます。
ミュージックキュー
これで、これが「開始時」の自律化前の部分になります。 次は自律的な部分です。 試合の自律部分は 15 秒間続き、この特定のコード セクションは試合の自律部分で実行されます。 競争テンプレートが実行されるとすぐに、自律前の「開始時」の部分が必ず開始されます。 その後、15秒間の自動運転が実行されます。 フィールド制御システムについて、そしてそれがすべてのロボットの開始と停止をどのように制御するか、試合でこの特定の部分が実行されるときにこのコード行が実行されるかどうかについて説明しました。
さて、ここで示した具体的な例では、ロボットはクローにゲーム オブジェクトを取り付けた状態で開始します。 次に、オブジェクトの周囲を閉じて空中に上昇し、200 ミリメートル前進し、アームを下げてゲーム オブジェクトを落とします。 これにより、たとえば試合開始時に駒の得点をシミュレートできます。 これが私の自律的な部分で起こることです。 繰り返しますが、自律部分とは、ロボットに対するコントローラー効果によってドライバー制御ができなくなることを意味します。 この部分では、すべてが自律的になります。 すべてはコードを介して行われます。
ここの 3 番目の部分を見ると、ドライバー コントロールがあります。 ここで指摘しておきたいのは、デバイス構成では、ドライブトレインとコントローラーを構成できることです。つまり、ジョイスティックに異なるドライブトレイン構成を割り当てることができ、また、異なるモーターを制御するために異なるボタンを割り当てることもできます。 ただし、コントローラーのボタンが足りなくなったり、操作したいものが違ったりする場合があります。 この「ドライバー制御時」イベント ブロックに、デバイス構成ではアクセスできない可能性のある特定の操作や、ドライブトレインの速度を設定する操作などを追加できます。
ここでも、ドライバー コントロール部分の具体的なコード例を示します。これにより、コントローラーのボタン 1 つで Claw を制御できるようになります。 それがどのようなものか見てみましょう。 繰り返しになりますが、ドライバー コントロール部分を使用する場合、コントローラーを使用したデバイス構成とドライバー コントロール部分の両方を同時に使用できます。 あるいは、どちらか一方を使用することもできます。 これら 3 つのスタック (自動運転前の「起動時」、自動運転、またはドライバー制御) のいずれも使用していない場合は、空白のままにしておくことができます。
ミュージックキュー
よし。 さて、ここまでの説明を踏まえて、実際にロボットで実行するとどうなるか見てみましょう。 よし。 実際にコントローラーでこれを見てみましょう。 プログラムに移動すると、すでにダウンロードしておいたコンペティション テンプレート プロジェクトが表示されます。 いずれか 1 つをスクロールすると、タイムド ランのオプションが表示されます。 これは、先ほど説明したフィールド制御システム、つまり、フィールド制御システムによってすべてがどのように制御されるかをシミュレートします。 したがって、競技プロジェクトが実際に開始されるとき、試合の自律部分がそれによって制御されるとき、そしてドライバー制御部分がそれによって制御されるとき、コントローラー上でのこの時間指定実行を使用してそれをシミュレートできます。
感謝状
私と一緒にこのプロセスを検討する時間を割いていただき、ありがとうございます。 このデモンストレーションが役に立つことを願っています。
最終メッセージ
ご質問がある場合やさらに詳しく説明が必要な場合は、お気軽にお問い合わせください。 コーディングを楽しんで、ロボットプロジェクトの成功をお祈りします!
これを選択すると、自動運転部分には 15 秒、ドライバー制御部分には 1 分 45 秒と表示されます。 このボタンをもう一度押すと、実際に起動します。 スタートすると、試合と同じように 3、2、1 とカウントダウンが始まります。 それでは始めましょう。
したがって、「スタート」をクリックするとすぐに、自律部分が実行されるか、または何があっても、自律前部分が最初に開始されます。 その後、すぐに自律部分が開始されます。 それで、自律的な部分を実行し始めたらすぐにお見せします。 ロボットを動かすためにコントローラーを動かしても、自律部分ではコントローラーを使用してロボットを制御できないため、ロボットは動きません。
[ミュージックキュー]
それでは、その特定の部分が実際に起こるのを見てみましょう。 よし、始めよう。 よし。 さて、自律走行部分にはまだ数秒残っています。 コントローラーを動かしても何も起こらないことがわかります。これは、自律部分ではコントローラーを使用してロボットを制御できないためです。 しかし、ドライバー制御に切り替えるとすぐに、実際にロボットを制御できるようになります。
では、ここで先に進みます。ドライバー制御部分のプロジェクトに移動したことを覚えておいてください。これらのさまざまな部分を制御できます。 つまり残り時間は1分25秒です。 ドライバー構成に基づいて今からドライブアップします。これはドライブトレインを制御し、これはアームを制御し、このボタンはクローを制御します。 ボタンを 1 回押すだけで、オブジェクトをつかむことができます。 ここにある 2 つのボタンを上げると、アームを上げ下げできます。 クローを制御するためのボタン 1 つ。 閉店、営業中。
これはデバイス構成のオプションではないため、コードをカスタム作成する必要がありました。そのため、特定のスタックで確認できるドライバー コントロール イベント ブロックを使用しました。 ドライバー制御部分の残りもカウントダウンし続けます。 しかし、ご覧のとおり、私はそれをやめるつもりです。 ドライバーコントロール部分が終了すると、すべてがシャットダウンし、試合は終了します。
テンプレートの 3 つの異なる部分を確認できます。 もう一度、プレ自動運転の開始時のセクションを確認します。これは、どのセクションであっても実行されます。自動運転またはドライバー制御を実行している場合は、次に自動運転の部分に進みます。 このような状況ではコントローラーを使用できません。 それが起動すると、ドライバー コントロール部分に移動し、コントローラーを使用して実際にロボットを制御できるようになります。これは、終了するまで 1 分 45 秒間実行されます。 そして、先ほども申し上げたように、フィールド制御システムを使用して、すべてのロボットが同時に起動および停止します。
[ミュージックキュー]
よし。 このビデオで取り上げた内容を簡単に振り返ってみましょう。 ブロックコンペティションテンプレートを見てみました。 3つの異なる部分があります。 起動すると、事前自律的になり、関係なく実行されます。 これは、変数の初期化、ジャイロの設定と調整、ブレインスクリーンによる印刷、ホールドなどのモーターの位置の設定、さらにはアームを特定の位置まで上げるなどのために使用されます。 これらはすべて、試合の自律的な部分が始まる前に行われます。
次に、自律部分、つまり先ほど見た自律スタックに入ります。そこでは、15 秒間、ロボットはコントローラーやドライバーとのやり取りなしに、完全にコードによって動きます。 このセクションが完了したら、ドライバー コントロール部分に進みます。この部分は、前に見たデバイス構成を介して制御できます。デバイス構成では、特定のモーターなどをコントローラーのジョイスティック ボタンなどに割り当てることができます。また、ロボット用にもう少しカスタム コードを作成できる特定のスタックを介して制御することもできます。 どちらか一方、または両方を使用できます。
前に述べたように、プログラム全体でこれら 3 つのセクションのいずれも使用していない場合は、イベント ブロック内のスタックも空白のままにしておくことができます。
ご視聴ありがとうございました。この動画がコンテストテンプレートの理解を深める一助になれば幸いです
繰り返しになりますが、このテンプレートを使用する理由は、試合中にすべてのロボットが同時に開始および停止することを保証するためです。 これは、フィールドに 4 台のロボットを配置し、すべてのロボットが同時に起動および停止することを保証する必要があるためです。
競技テンプレートについて学び、VEX ロボティクス競技会の試合に出場する準備をする上で、このすべての情報が役立つことを願っています。 とても興奮しています。
おめでとうございます。第 4 章が終了しました。また別のビデオでお会いしましょう。
さて、すべての話に入る前に、まずは材料についてお話しましょう。 ここでは、Arm と Claw の機能の一部を紹介するために、Advanced TrainingBot を使用します。 また、コントローラー、ゲーム オブジェクト ピース、VEXcode V5 を使用して、このコンペティション テンプレートを実際に紹介します。 このビデオには何の材料も必要ありません。 皆さんにいくつかデモンストレーションをしてみます。 繰り返しますが、このレッスンには何の必要もありません。
このレッスンの目的について話しましょう。 Blocks Competition テンプレートのさまざまな部分、具体的には、自動運転前の「開始時」、自動運転部分、およびドライバー制御部分の 3 つの部分について説明します。 ここで示すサンプル コードでそれらについて説明し、その後、実際にテストして、コントローラーを使用してロボットの機能を確認し、Competition テンプレートが実際にどのように動作するかを確認します。
それでは、プロジェクトの例を詳しく見ていきましょう。
[ミュージックキュー]
さて、コンペティション テンプレートを表示するには、[ファイル]、[例を開く]、[テンプレート]、[コンペティション テンプレート] の順に進みます。 ここにいくつかあります。 1 番目は、やはりこの 3 つのセクションです。 ここでの特定の例について詳しく説明する前に注意しておきたいのは、これらを入力する前に実際に行う必要がある最初のことは、ここにデバイス構成を追加することです。 繰り返しになりますが、2 モーター ドライブトレインを使用している場合や、アーム モーターやクロー モーターなどを使用している場合は、まずそれらを追加して、左側にブロックを配置できるようにする必要があります。 これにより、これらのセクションに再度データを入力できるようになります。
コンペティション テンプレートを開いたらすぐに、デバイス構成を追加する必要があります。 次に言及したいのは、このドライバー制御部分に、forever ブロックが含まれていることです。 これがそこに含まれている理由は、ドライバー コントロール部分では、コントローラーを使用しているときに、ほとんどの場合、ボタンが押されたか、ジョイスティックが動かされたかを継続的に確認する必要があるためです。 そのため、永久ブロックはデフォルトでそこに存在します。 何らかの特別な理由で削除したい場合は削除できますが、そのスタックを使用せずデバイス構成のみを使用している場合は、そのままにしておくことができます。
大丈夫。 私が作成した例を使用して、これら 3 つのセクションのそれぞれと実際の意味を見てみましょう。
[ミュージックキュー]
まず、コンペティション テンプレートには 3 つの主要な部分があることを指摘しておきます。 1 つ目は、開始時または事前自律です。 2 番目は、When Autonomous または Autonomous 部分であり、3 番目は When Driver Control または Driver Control 部分です。 これら 3 つのイベント ブロックまたはハット ブロックはすべて、このコンペティション テンプレートの異なる部分を実行します。
それぞれのセクションについてお話ししましょう。 事前自律部分、つまり開始時部分は、Competition Template プロジェクトが実行されるとすぐに実行されます。 これは、あらゆる初期化を設定する場合に最適です。
このレッスンに参加していただきありがとうございます。 役に立ち、有益な情報になれば幸いです。 ご質問がございましたら、お気軽にお問い合わせください。 コーディングを楽しんで、VEX Roboticsプロジェクトの成功をお祈りします!
したがって、自律部分が開始する前に脳のスクリーンに何かを印刷する必要がある場合、ジャイロを調整する必要がある場合、この特定の例ではデータを印刷する必要がある場合、アームとクローを使用しているため、モーターをホールドに設定します。 つまり、腕を上げたり、爪を開いたりしても、モーターはその特定の位置に留まり、たとえば重力によって下がることはありません。 つまり、私はモーターに対して、自律動作前の概念を設定しているわけです。 この例では、デモを見るとそれがどのように見えるかを見ていきます。
ミュージックキュー
これで、これが「開始時」の自律化前の部分になります。 次は自律的な部分です。 試合の自律部分は 15 秒間続き、この特定のコード セクションは試合の自律部分で実行されます。 競争テンプレートが実行されるとすぐに、自律前の「開始時」の部分が必ず開始されます。 その後、15秒間の自動運転が実行されます。 フィールド制御システムについて、そしてそれがすべてのロボットの開始と停止をどのように制御するか、試合でこの特定の部分が実行されるときにこのコード行が実行されるかどうかについて説明しました。
さて、ここで示した具体的な例では、ロボットはクローにゲーム オブジェクトを取り付けた状態で開始します。 次に、オブジェクトの周囲を閉じて空中に上昇し、200 ミリメートル前進し、アームを下げてゲーム オブジェクトを落とします。 これにより、たとえば試合開始時に駒の得点をシミュレートできます。 これが私の自律的な部分で起こることです。 繰り返しますが、自律部分とは、ロボットに対するコントローラー効果によってドライバー制御ができなくなることを意味します。 この部分では、すべてが自律的になります。 すべてはコードを介して行われます。
ここの 3 番目の部分を見ると、ドライバー コントロールがあります。 ここで指摘しておきたいのは、デバイス構成では、ドライブトレインとコントローラーを構成できることです。つまり、ジョイスティックに異なるドライブトレイン構成を割り当てることができ、また、異なるモーターを制御するために異なるボタンを割り当てることもできます。 ただし、コントローラーのボタンが足りなくなったり、操作したいものが違ったりする場合があります。 この「ドライバー制御時」イベント ブロックに、デバイス構成ではアクセスできない可能性のある特定の操作や、ドライブトレインの速度を設定する操作などを追加できます。
ここでも、ドライバー コントロール部分の具体的なコード例を示します。これにより、コントローラーのボタン 1 つで Claw を制御できるようになります。 それがどのようなものか見てみましょう。 繰り返しになりますが、ドライバー コントロール部分を使用する場合、コントローラーを使用したデバイス構成とドライバー コントロール部分の両方を同時に使用できます。 あるいは、どちらか一方を使用することもできます。 これら 3 つのスタック (自動運転前の「起動時」、自動運転、またはドライバー制御) のいずれも使用していない場合は、空白のままにしておくことができます。
ミュージックキュー
よし。 さて、ここまでの説明を踏まえて、実際にロボットで実行するとどうなるか見てみましょう。 よし。 実際にコントローラーでこれを見てみましょう。 プログラムに移動すると、すでにダウンロードしておいたコンペティション テンプレート プロジェクトが表示されます。 いずれか 1 つをスクロールすると、タイムド ランのオプションが表示されます。 これは、先ほど説明したフィールド制御システム、つまり、フィールド制御システムによってすべてがどのように制御されるかをシミュレートします。 したがって、競技プロジェクトが実際に開始されるとき、試合の自律部分がそれによって制御されるとき、そしてドライバー制御部分がそれによって制御されるとき、コントローラー上でのこの時間指定実行を使用してそれをシミュレートできます。
感謝状
私と一緒にこのプロセスを検討する時間を割いていただき、ありがとうございます。 このデモンストレーションが役に立つことを願っています。
最終メッセージ
ご質問がある場合やさらに詳しく説明が必要な場合は、お気軽にお問い合わせください。 コーディングを楽しんで、ロボットプロジェクトの成功をお祈りします!
これを選択すると、自動運転部分には 15 秒、ドライバー制御部分には 1 分 45 秒と表示されます。 このボタンをもう一度押すと、実際に起動します。 スタートすると、試合と同じように 3、2、1 とカウントダウンが始まります。 それでは始めましょう。
したがって、「スタート」をクリックするとすぐに、自律部分が実行されるか、または何があっても、自律前部分が最初に開始されます。 その後、すぐに自律部分が開始されます。 それで、自律的な部分を実行し始めたらすぐにお見せします。 ロボットを動かすためにコントローラーを動かしても、自律部分ではコントローラーを使用してロボットを制御できないため、ロボットは動きません。
[ミュージックキュー]
それでは、その特定の部分が実際に起こるのを見てみましょう。 よし、始めよう。 よし。 さて、自律走行部分にはまだ数秒残っています。 コントローラーを動かしても何も起こらないことがわかります。これは、自律部分ではコントローラーを使用してロボットを制御できないためです。 しかし、ドライバー制御に切り替えるとすぐに、実際にロボットを制御できるようになります。
では、ここで先に進みます。ドライバー制御部分のプロジェクトに移動したことを覚えておいてください。これらのさまざまな部分を制御できます。 つまり残り時間は1分25秒です。 ドライバー構成に基づいて今からドライブアップします。これはドライブトレインを制御し、これはアームを制御し、このボタンはクローを制御します。 ボタンを 1 回押すだけで、オブジェクトをつかむことができます。 ここにある 2 つのボタンを上げると、アームを上げ下げできます。 クローを制御するためのボタン 1 つ。 閉店、営業中。
これはデバイス構成のオプションではないため、コードをカスタム作成する必要がありました。そのため、特定のスタックで確認できるドライバー コントロール イベント ブロックを使用しました。 ドライバー制御部分の残りもカウントダウンし続けます。 しかし、ご覧のとおり、私はそれをやめるつもりです。 ドライバーコントロール部分が終了すると、すべてがシャットダウンし、試合は終了します。
テンプレートの 3 つの異なる部分を確認できます。 もう一度、プレ自動運転の開始時のセクションを確認します。これは、どのセクションであっても実行されます。自動運転またはドライバー制御を実行している場合は、次に自動運転の部分に進みます。 このような状況ではコントローラーを使用できません。 それが起動すると、ドライバー コントロール部分に移動し、コントローラーを使用して実際にロボットを制御できるようになります。これは、終了するまで 1 分 45 秒間実行されます。 そして、先ほども申し上げたように、フィールド制御システムを使用して、すべてのロボットが同時に起動および停止します。
[ミュージックキュー]
よし。 このビデオで取り上げた内容を簡単に振り返ってみましょう。 ブロックコンペティションテンプレートを見てみました。 3つの異なる部分があります。 起動すると、事前自律的になり、関係なく実行されます。 これは、変数の初期化、ジャイロの設定と調整、ブレインスクリーンによる印刷、ホールドなどのモーターの位置の設定、さらにはアームを特定の位置まで上げるなどのために使用されます。 これらはすべて、試合の自律的な部分が始まる前に行われます。
次に、自律部分、つまり先ほど見た自律スタックに入ります。そこでは、15 秒間、ロボットはコントローラーやドライバーとのやり取りなしに、完全にコードによって動きます。 このセクションが完了したら、ドライバー コントロール部分に進みます。この部分は、前に見たデバイス構成を介して制御できます。デバイス構成では、特定のモーターなどをコントローラーのジョイスティック ボタンなどに割り当てることができます。また、ロボット用にもう少しカスタム コードを作成できる特定のスタックを介して制御することもできます。 どちらか一方、または両方を使用できます。
前に述べたように、プログラム全体でこれら 3 つのセクションのいずれも使用していない場合は、イベント ブロック内のスタックも空白のままにしておくことができます。
ご視聴ありがとうございました。この動画がコンテストテンプレートの理解を深める一助になれば幸いです
繰り返しになりますが、このテンプレートを使用する理由は、試合中にすべてのロボットが同時に開始および停止することを保証するためです。 これは、フィールドに 4 台のロボットを配置し、すべてのロボットが同時に起動および停止することを保証する必要があるためです。
競技テンプレートについて学び、VEX ロボティクス競技会の試合に出場する準備をする上で、このすべての情報が役立つことを願っています。 とても興奮しています。
おめでとうございます。第 4 章が終了しました。また別のビデオでお会いしましょう。
Learning Objectives
Learning Objectives Section
- حدد العناصر الرئيسية لقالب مسابقة الكتل في VEXcode V5، بما في ذلك أقسام متى بدأت والقيادة الذاتية والتحكم في السائق.
Summary
Summary Section
هذا هو الفيديو الثاني لمقدمة الدورة التدريبية VEX V5 الفصل 4. إذا لم تكن قد شاهدت الفيديو الأول بعد، فارجع وشاهد الدرس 1: ميكانيكا مباراة مسابقة الروبوتات VEX.
في الدرس 2، ستتعرف على كل عنصر من العناصر الرئيسية الثلاثة لقالب مسابقة الكتل في VEXcode V5 من خلال عرض مثال عملي.
للمناقشات والأسئلة، انضم إلى موضوع PD+ Community المخصص للتعلم والاستكشاف الجماعي.
تهانينا، لقد أكملت دورة مقدمة إلى VEX V5 التدريبية!