Skip to main content

教師用ツールボックスのアイコン 教師用ツールボックス - アクティビティの概要

  • この探索では、機械的な可動範囲の概念と、腕と爪を使用してそれを探索する方法を学生に紹介します。

  • 学生はまた、腕と爪を安全にプログラムするために使用できるさまざまなブロックを探索します。

可動範囲を調べてみましょう!

この探索により、アームと爪が伸ばせる最小角度と最大角度を確認できるようになります。 

  • 必要なハードウェアとエンジニアリング ノートがあることを確認してください。
必要な材料:
必要な材料
1

VEX IQ スーパーキット

1

VEXコードIQ

1

エンジニアリングノートブック

教師のヒントアイコン 教師へのヒント

生徒向けにトラブルシューティングの各手順をモデル化します。

ステップ 1: 探索の準備

アクティビティを始める前に、これらのアイテムはすべて準備できていますか? ビルダーは次のそれぞれを確認する必要があります。

教師のヒントアイコン 教師へのヒント

  • これは VEX IQ Brain をナビゲートするための最初のアクティビティであるため、教師はステップをモデル化し、生徒に同じアクションを完了するように依頼する必要があります。 次に、教師は生徒が手順に正しく従っていることを確認するために生徒を監視する必要があります。

  • [設定] メニューから [デバイス情報] を選択する前に、生徒が指で慎重に爪を完全に開いたことを確認してください。 これにより、爪が最も開いた時点で 0 度が設定されます。

ステップ 2: デバイスメニュー

まず、 Robot Brain をオンにし、 X ボタンを選択して設定メニューに移動します。VEX IQ 初代 Brain 画面の設定メニューのイメージ

指を使って Clawbot の爪をゆっくりと完全に開きます。
[設定] メニューが開いたら、Brain の上および下ボタンを使用して [デバイス情報] を選択し、デバイス メニューを開きます。VEX IQ 第 1 世代 Brain Screen で選択されたデバイス情報のイメージ

[デバイス メニュー] 画面には、そのポートに接続されているデバイスに関する情報が表示されます。 IQ Brain には 12 個のポートがあります。

矢印を使用して、ポート 11 モーター (Claw モーター) に移動します。VEX IQ 第 1 世代 Brain 画面で開いたポート 11 モーターのデバイス メニューの画像

  • ポート 11 モーター: クローモーター。

  • 速度: モーターの回転速度 (1 分あたりの回転数) が表示されます。

  • 角度: モーターの現在位置を度単位で表示します。

  • 回転数: モーターが回転した回数を表示します。

  • チェックボタンを押すとモーターが始動および停止します。 クローは手動でも開閉可能です。

教師用ツールボックスのアイコン 教師用ツールボックス - 手順を確認する

これは、一時停止して、デバイス メニュー画面に移動するために完了した手順を生徒に確認させるのに適したポイントです。

ステップ 3: 爪とアームの動きを調べる

  • デバイス メニューを開く前にクローを完全に開いた場合、クロー モーターは、デバイス メニューに表示されるように、完全に開いた位置を 0 度であるとみなします。

    エンジニアリング ノートで、両側を軽く押して爪を閉じたときのポート 11 モーター (爪モーター) の値を予測します。 爪を閉じたときの角度の値は何度になりますか?

    • ヒント: 報告される値は、下の図に示されている値と同じではありません。

  • 爪をそっと押して閉じて、予測をテストします。 クローモーターのデバイスメニューには現在どの角度が表示されていますか?

教師用ツールボックスのアイコン 教師ツールボックス ~ の期待値

生徒がデバイス メニューを開く前に Clawbot の爪を完全に開いた場合、完全に開いた位置は 0 度になります。 クローを押して閉じた後、クロー モーターの角度は約 70 度になるはずです。

  • 手を使ってゆっくりと爪を開閉し、角度が変化するのを確認してください。VEX IQ 第 1 世代 Brain 画面で開いたポート 11 モーターのデバイス メニューの画像
  • クロー モーターの角度範囲 (度) について何か気付きましたか? 角度の値は増加し続けますか、それとも制限がありますか?

  • クローモーターの角度値の範囲をメモします。全開時の角度値から全閉時の角度値までです。

  • 爪を開いた時の角度の値は常に同じですか? 爪を閉じたときの角度の値は常に同じですか? それはなぜだと思いますか?

教師用ツールボックスのアイコン 教師用ツールボックス ~ の予想される回答

  • アーム モーターの動作範囲は広いため、モーターの角度値の範囲も広くなります。

  • デバイス メニューが選択されたとき、アームは完全に下の位置にあった可能性が高いため、開始角度は 0 度に設定されました。 アームは Clawbot の後ろまで回転できるため、範囲は 0 から始まり 360 度を複数回通過します。 表示される角度の値は 360 度を超えて増加せず、0 から始まります。 したがって、アーム モーターが回転した度数を把握するには、回転数の値も重要です。 たとえば、表示される角度の値は 45 度ですが、回転の値は 3.12 である場合があります。 これは、アーム モーターが完全に 3 回、つまり 1080 度プラス 45 度の合計 1125 度回転したことを意味します。 これはクローモーターよりもはるかに広い範囲です。

教師用ツールボックスのアイコン 教師用ツールボックス - 立ち止まって話し合う

生徒がアームとクローモーターから観察したことについてのディスカッションを促進します。 次のような質問をしてください。

  • 爪と腕の可動範囲はどれくらいですか? それらはいつも同じでしたか?

  • これがプログラミングの際に役立つのはなぜでしょうか?

クロー モーターの角度について報告される値の範囲は、常に同じではありませんでした。 範囲は 0 度から約 70 度でしたが、数度異なることがよくありました。 アームモーターの角度について報告された値の範囲も同じではありませんでした。 腕を手で上げ下げした場合、角度の範囲は 0 度から約 1125 度ですが、毎回数度ずつ増減します。

プログラマーはモーターが限界に達するまでどれくらい安全に回転できるかを知る必要があるため、これはプログラミングの際に役立ちます。 その制限を超えると、動力を供給する部分に過剰な力がかかる可能性があります。 損傷を防ぐためにモーターの角度を設定したり、モーターの回転を制限したりする方法があるため、プログラマがこれを知っておくことは重要です。 次のレッスンでは、これらの方法のいくつかを確認します。

ステップ 4: 動作範囲を指定したプログラミング

Clawbot IQ を完全に開いた IQ Claw を上から見た画像
IQクローが開いた

爪やアームなどのサブシステムは通常、可動範囲が限られているため、継続的に回転することができません。 爪は機械的な限界に達するまでにある程度しか開閉できません。 同様に、アームの可動範囲は地面やロボット自体の本体によって制限されることがよくあります。 動作範囲が制限されたサブシステムを操作する場合、ロボットを遠隔制御するか、自律的に動作するようにプログラムするかに関係なく、その範囲内にとどまることが非常に重要です。 サブシステムが限界に達した後もモーターに電力を供給し続けると、モーターや接続されているコンポーネントに不必要なストレスが発生します。

教師のヒントアイコン 教師へのヒント

ステップ 3 では、爪と腕の限られた可動範囲をテストして体験させたことを生徒に指摘します。 クローの可動範囲は、クローボットの他の部分によって開くときに制限され、クローの両側が互いに押し合う点によって閉じるときに制限されます。 アームの可動範囲は、アームを下げるときは地面によって制限され、完全に上げるときはロボットの背面上部によって制限されます。

爪と腕の限られた可動範囲を調整する方法を学ぶ前に、爪と腕をプログラムするために使用されるブロックを見てみましょう。

VEXcode IQ には、アームを上げ下げしたり、爪を特定の位置に開閉したりするために使用できる 2 つのブロックがあります。

[スピンフォー] ブロックと [スピントゥポジション] ブロック。

  •  [Spin​​ for] ブロックは、現在位置している場所から選択した距離だけ、選択した方向にモーターを回転させます。VEXcode IQ の Spin for ブロックのヘルプの上部の画像

  •  [位置まで回転] ブロックは、モーターの現在位置に基づいて、選択した位置までモーターを回転させます。  [位置までスピン] ブロックは、その位置に到達するために回転する最適な方向を決定します。VEXcode IQ の Spin to Position ブロックのヘルプ情報の上部の画像

これらのブロックはいつ使用されるのでしょうか? 腕を上げ下げするようにプログラムしたものの、腕を下げるときに、開始位置の 0 度まで完全には下がらないと想像してください。 代わりに、温度は 15 度に戻ります。 次に、 [スピン] ブロックを使用して 90 度上げると、アームは現在の位置から 90 度上がり、実際には 105 度まで上がります。

ただし、同じ状況で、腕が 15 度のときに、 [位置までスピン] ブロックを使用して腕を 90 度まで上げると、腕は 75 度上がり、希望の位置 90 度に到達します。

[Spin​​ for] ブロックを使用し、アームが完全に下がっていないか、クローが完全に閉じていない場合、アームまたはクローが移動できる距離の限界に近づく可能性があるため、これを理解することが重要です。アームの位置と角度の調整を行った Clawbot の画像 

ロボットをより正確にプログラムするのに役立つ [Spin​​ for] および [Spin​​ toposition] ブロックと一緒に使用するブロックを見てみましょう。

  • [モーター タイムアウトの設定] ブロックは、位置に到達しないモーション ブロックがスタック内の他のブロックの実行を妨げないようにするために使用されます。 モーターが所定の位置に到達しない例としては、アームや爪が機械的限界に達し、動作を完了できないことが挙げられます。VEXcode IQ の Set Motor timeout ブロックのヘルプ情報の上部の画像

  • [Spin​​ for] ブロックを使用し、クローやアームが可動範囲の限界に達した場合はどうなりますか? アームや爪がこれ以上動けなくなってプロジェクトは中止されるのでしょうか?

    プロジェクトは、ブロックがタスクを完了するまで停止しません。 爪が 100 度開こうとして、50 度から開始して可動範囲を超えて回転しようとすると、爪は開かないにもかかわらず、開こうと試み続けます。 これは部品に負担がかかり、バッテリーが消耗する可能性があるため、良い状況ではありません。

    この場合、[モータータイムアウト設定] ブロック が使用できます。 このブロックはフェイルセーフとして機能するため、モーターが機械的限界に達した場合でも、一定時間経過後にプロジェクトの残りの作業を続行できます。

    次の例では、爪が 200 度完全に開くか、3 秒のタイムアウトに達した後、ロボットは前進します。VEXcode IQ で設定されたモーター タイムアウト ブロックを示すプロジェクトの画像

  • [モーター位置の設定] ブロックは、モーターの角度値 (位置) を選択した値に設定するために使用します。 0 度に設定してモーターの位置をリセットすることもできます。VEXcode IQ のモーター位置設定ブロックのヘルプ情報の上部の画像

  • [位置まで回転] ブロックは、モーターの現在の角度がわかっている場合にプログラムしやすくなります。 ただし、実際には腕を数度上げているのに、腕が完全に下がっているように見える場合があります。

    [モーター位置の設定] ブロック では、モーターの角度を設定できます。 これは、モーターの位置を 0 度にリセットするのに非常に便利です。

    次の例では、ロボットのアーム モーターは、360 度の位置に回転して前進する前に、現在の位置に関係なく 0 度にリセットされます。VEXcode IQ で使用されているモーター位置設定ブロックを示すプロジェクトの画像

教師用ツールボックスのアイコン Teacher Toolbox - [モータータイムアウトの設定] ブロックと [モーター位置の設定] ブロック

[モータータイムアウトの設定] と [モーター位置の設定] ブロックは、[スピン対象] と [位置までのスピン] ブロックを使用してアームとクローモーターをプログラムする場合、必ずしも必要というわけではありません。 ただし、プロジェクト内のモーション ブロックが増えると、モーターの角度値 (位置) にドリフトが発生する可能性が高くなります。 アームとクローは 0 度に戻らない可能性があり、[スピン] または [位置までスピン] ブロックでは、アームまたはクローの機械的限界に達する危険があります。 プロジェクトの開始時に [モーター タイムアウトの設定] ブロックを設定するか、[位置までの回転] ブロックの ブロック前に [モーターの位置の設定] ブロックを使用すると、プロジェクトの実行を継続できなくなる可能性があるフェールセーフ手段として役立ちます。機械的な限界に達した場合はモーターを停止します。

学習を拡張するアイコン 学習の幅を広げる

デバイス メニューは、IQ Clawbot に接続されているすべてのデバイスの値を報告します。 時間が許せば、他のモーターやデバイスについて報告された値を生徒に調べてもらいます。 たとえば、ポート 2 のタッチ LED は、タッチ LED が押されているか離されているか、LED がオンかオフか、および LED の現在の色を報告します。 これらはすべて、プロジェクトのプログラミング中に使用できるセンサーの読み取り値です。

各デバイスのステータスを変更することで、これらの値を調べて操作するように生徒に指示します。 たとえば、タッチ LED を繰り返し押すと、いつ押されたか、LED がいつオンになったか、LED が現在どの色で点灯しているかがレポートされます。