教師用ツールボックス - このアクティビティの目的
アームと爪を使用してプログラミングすると、ロボットは前進、後退、左または右に移動するだけでなく、他のタスクを完了できるようになります。 このアクティビティでは、生徒は物体に近づき、掴み、持ち上げ、移動するために必要な正しい一連の動きを学びます。 対象物は空のアルミ缶や空の水筒などです。 このアクティビティでは、生徒がパッケージ ダッシュ チャレンジに向けて準備します。このチャレンジでは、生徒は輪郭が描かれたコース上でオブジェクトをつかんで移動する必要があります。 学生は疑似コードを使用してパス計画を立てます。
このアクティビティで使用される [Spin for] and [Spin toposition] ブロックやその他のブロックの詳細については、VEXcode IQ 内のヘルプ情報を参照してください。 この組み込みヘルプ ツールの詳細については、 ここをクリックしてください。
以下は、生徒がこのアクティビティで行うことの概要です。
-
アームの移動 および を開く のチュートリアル ビデオをご覧ください。
-
疑似コード (Google Doc/.docx/.pdf) を使用して、オブジェクトに近づく、掴む、持ち上げる、移動するために必要な手順の概要を説明します。
-
VEXcode IQ を使用して、擬似コードで準備したシーケンスをプログラムします。
-
プロジェクトをダウンロード、実行、テストして、意図したとおりに動作するかどうかを確認します。
シーケンスをプログラムしてみよう!
このアクティビティでは、ロボットが物体をつかみ、持ち上げ、移動するために必要な一連の動きの計画の概要を説明します。
まず、爪とアームのプログラミングに関する 2 つのチュートリアル ビデオを確認します。 次に、オブジェクトに近づき、掴み、持ち上げる手順の正しい順序を特定し、擬似コードを使用してそのプロジェクトを計画します。
次に、計画に使用した疑似コードを使用してプロジェクトを作成、ダウンロード、実行します。
-
必要なハードウェア、エンジニアリング ノートブック、および VEXcode IQ がダウンロードされて準備ができていることを確認してください。
教師へのヒント
学生が VEXcode IQ を初めて使用する場合は、学習中にいつでもチュートリアルを参照できます。 チュートリアルはツールバーにあります。
量 | 必要な材料 |
---|---|
1 |
VEX IQ スーパーキット |
1 |
VEXコードIQ |
1 |
エンジニアリングノート |
1 |
メーター棒または定規 |
1 |
Clawbot (ドライブトレイン 2 モーター) テンプレートのサンプル プロジェクト |
1 |
アルミ缶や空の水筒 |
教師へのヒント
生徒向けにトラブルシューティングの各手順をモデル化します。
ステップ 1: 探索の準備
アクティビティを始める前に、これらのアイテムはすべて準備できていますか? ビルダーは次のそれぞれを確認する必要があります。
-
すべてのモーターとセンサーが正しいポートに接続されていますか?
-
スマート ケーブル はすべてのモーターとセンサーに完全に挿入されていますか ?
-
脳は オンですか?
-
バッテリーはありますか 充電されていますか?
-
Robot Brainには Radio が挿入されていますか?
ステップ 2: パスの計画を開始する
ロボットが通る経路の計画を始める前に、まず VEXcode IQ の「アームの移動」および「爪を開く」チュートリアル ビデオを確認してください。
- アームを動かすチュートリアルビデオ
- 「Claw」のチュートリアルビデオを開く
ここで、エンジニアリング ノートブックに 疑似コード (Google Doc / .docx / .pdf ) を使用して、空の水筒のような物体に近づき、掴み、持ち上げる一連の正しい手順を記述します。もしくはアルミ缶。
-
この問題の留意すべき部分は次のとおりです。
-
まず、物体がロボットからどのくらい離れているかをミリメートル単位で測定する必要があります。 これは、ロボットがどのくらい前進および後進に移動するかを決定するために必要になります。
-
爪の可動範囲と物体の大きさに応じて、爪を何度開閉する必要があるかを特定します。 詳細については、「再生」セクションの前のページを参照してください。
-
ヒント: デバイス メニューを開いて、物体が入った状態で爪が何度閉じるかを確認します。
-
-
物体を運ぶために腕をどの程度まで上げるかを特定します。
-
物体に近づくと、すでに爪が開いているはずです。 爪を閉じた状態で物体に近づくと、閉じた爪で物体を転倒させる恐れがあります。
-
また、ロボットは物体を爪でつかみ、物体を持ち上げ、逆に動いて物体の位置を変更し、物体を下に戻して放す必要があります。
-
教師へのヒント - 疑似コードの練習
学生が 疑似コード (Google Doc/.docx/.pdf) とそれがプロジェクト計画でどのように使用されるかに慣れていない場合は、提供されているリンクで説明されています。 疑似コードをレビューするための ルーブリック (Google Doc/.docx/.pdf) を使用できます。これは、次に学生が疑似コードを書くように求められるときに、「再考」セクションで再度提供されます。 疑似コードを書くこの機会は、後の計画のための練習として考えることができ、疑似コードのルーブリックを共有すると、その練習に役立ちます。
教師用ツールボックス ~ ソリューション
物体とロボットの間の距離は、生徒やグループによって異なる場合があります。 疑似コードを作成する前に、生徒が距離を測定していることを確認してください。
物体を掴むために最初に爪を開いたときと、次に爪を閉じたときの度合いは同じではないことに注意してください。 爪は物体に近づいており、それを押しつぶすべきではないため、爪が物体に巻き付くと角度は停止するはずです。
アームは物体を効果的に運ぶために地面から十分に高く持ち上げる必要があります。
学生が必要とする正しい一連の手順は次のとおりです。 この例で測定された距離は 15mm でした。 これは学生またはグループごとに変わる可能性があります。
-
爪を75度開きます。
-
15 mm 前進して対象物に近づきます。
-
爪を60度閉じて対象物をつかみます。
-
アームを 315 度上げて物体を持ち上げます。
-
逆方向に 15 mm ドライブして、オブジェクトを新しい位置に移動します。
-
アームを 315 度下げてオブジェクトを元に戻します。
-
爪を60度開いて対象物を外します。
教師へのヒント
- これはプログラミングの初心者のアクティビティであるため、教師は手順をモデル化し、生徒に同じアクションを完了するように依頼する必要があります。 次に、教師は生徒が手順に正しく従っていることを確認するために生徒を監視する必要があります。
- 生徒が Clawbot (Drivetrain2-motor) テンプレートを選択していることを確認します。
- VEXcode IQ 内のサンプル ページにはいくつかの選択肢があるので、生徒に選択できるように指示できます。 ロボットを構築して使用する際に、さまざまなテンプレートを使用する機会があります。
- 学生にプロジェクト名に自分のイニシャルを追加するように依頼できます。 これは、学生にプロジェクトの提出を求める場合に、プロジェクトを区別するのに役立ちます。
- 生徒が物体とロボットの間の距離をミリメートル (mm) 単位で測定していることを確認します。
ステップ 3: シーケンスのプログラミング
-
Clawbot (ドライブトレイン 2 モーター) テンプレートのサンプル プロジェクトを開きます。
-
サンプル プロジェクトを開く方法については、VEXcode IQ ブロックの「サンプル プロジェクトとテンプレートの使用」チュートリアル ビデオをご覧ください。
-
プロジェクトの名前を変更し、「Sequence」として保存します。
-
プロジェクトの名前変更と保存については、VEXcode IQ の「プロジェクトの名前付けと保存」チュートリアルを参照してください。
-
次に、疑似コードを使用してプロジェクトを作成します。 まず、コメントを使用してプロジェクトの概要を説明し、疑似コードを挿入します。 以下に示す例は参考です。 度数と距離の測定値は、対象物までの距離とそのサイズによって異なる場合があります。
-
[Drive]、[Spin for]、[Spin toposition] ブロックを使用して、疑似コードに基づいてプロジェクトを作成します。
アーム モーターの位置を 0 にリセットし、クロー モーターに 3 秒のタイムアウトを含めることを忘れないでください。
プロジェクトを編成する方法の例として、以下の画像を使用してください。 次のプロジェクトは完了していませんが、完全にプログラムする必要があります。
-
プロジェクトが完了したら、それが何をするかを予測します。 エンジニアリング ノートに予測を書き留めます。
ステップ 4: プロジェクトをテストします。
近づいたり、掴んだり、持ち上げたり、物体を持ち上げたりするプロジェクトを作成したので、テストしてみましょう。
-
Sequence プロジェクトをダウンロードして実行します 。 ヘルプが必要な場合は、VEXcode IQ の「プロジェクトのダウンロードと実行」チュートリアル ビデオをご覧ください。 次のアイコンが表示されます。
プロジェクトは意図したとおりに実行されましたか? 疑似コードと最終プロジェクトを比較して観察したことをエンジニアリング ノートに書き、次の質問に答えます。
-
あなたのプロジェクトには、物体を掴んだり、持ち上げたり、移動させたりするロボットが含まれていましたか?
-
この一連の動作がなぜ重要なのでしょうか?
教師用ツールボックス ~ ソリューション
学生のプロジェクトは、物体とロボットからの距離によって異なります。 学生は、自分の疑似コードと、その疑似コードに基づいてプログラムされたプロジェクトについて振り返ることができるはずです。 エラーは疑似コードによるものですか、それともプログラミングによるものですか? 学生は疑似コードを調べて、プロジェクト内のどのステップが間違っていたのかを確認する必要があります。
このアクティビティでは、一連の動作が重要であることを生徒に強調します。 動作を別の順序で並べ替えると、ロボットがオブジェクトを持ち上げて移動できない可能性があります。 たとえば、最初に爪を開いていなかった場合、ロボットが物体に近づいたときに物体をひっくり返す可能性があります。
以下は解決策の例です。
学習を伸ばす - [モーター停止の設定] ブロック
学生がロボットをプログラムして、より重い物体を持ち上げて運ぶと、その重さのためにこれらの物体がアームを下に引きずってしまう可能性があります。
この場合、[モーター停止設定] ブロックを使用することで、重力や吊り上げ物の重量によりアームが落下しないようにすることができます。 このブロックはプロジェクトの開始時に使用でき、プロジェクトの残りの将来のすべてのモーター ブロックに適用されます。
[モーター停止設定]ブロックには3つの設定があります。
-
ブレーキ により、モーターは即時に停止します。
-
Coast では、モーターが徐々に回転して停止します。
-
Hold 押すとモーターは即時に停止し、移動すると停止位置に戻ります。