センサー フィードバックの使用中に VR ロボットが意図したとおりに動作しない場合は、段階的なトラブルシューティング手順に従って問題を見つけて修正できます。 この記事では、トラブルシューティングのプロセスを説明し、センサーを備えた VR ロボットを意図したとおりに動作させる方法のヒントを提供します。
このプロセスの手順は次のとおりです。
- 問題を特定する
- VEXcode VR プロジェクトを確認する
- データの分析と適用
問題を特定する
センサーのトラブルシューティングの最初のステップは、問題の原因となっているセンサーを特定することです。 観察されたロボットの動作と意図されたロボットの動作を比較します。 問題のある動作はセンサーによって引き起こされていますか? もしそうなら、どのセンサーですか?
センサーの配置を理解する
VEXcode VR のセンサーの問題を特定するには、VR ロボットの各モデルにどのセンサーが存在するか、およびコーディングしている特定のロボットのどこにセンサーが配置されているかを理解することが重要です。 センサーの配置は VR ロボットのモデルによって異なり、Playground によって異なります。 センサーの位置は、センサーがその環境とどのように相互作用するかに影響します。 以下の表を使用して、コーディングしているロボット、含まれるセンサー、およびそのロボットのセンサーの場所を決定します。 センサーの配置の詳細については、記事を選択してください。
| ロボット | 遊び場 | 記事 |
|---|---|---|
|
VEX VRロボット |
|
VEXcode VR のロボット機能を理解する |
|
VR迷路ボット |
|
VR MazeBot の機能を理解する |
|
VRローバー |
|
VRローバーの特長 |
|
ディスコ |
|
VRC 仮想スキルのロボット機能を理解する |
|
モービー |
|
VRC のロボット機能を理解する VEXcode VR の転換点 |
|
スラップショット |
|
VIQC 仮想スキルのロボット機能を理解する |
|
フリング |
|
VIQC のロボット機能を理解する VEXcode VR に参加 |
|
VRコンペティション アドバンストヒーローロボット |
|
GO コンペティションにおけるロボットの機能を理解する - VEXcode VR の Mars Math Expedition プレイグラウンド |
|
VR123ロボット |
|
VEXcode 123 を使用して VEX 123 アイ センサーをコーディングします (VR 123 ロボットには同じセンサーが付いています)。 |
VEXcode VR プロジェクトを確認する
問題の原因となっているセンサーと、それが VR ロボットのどこに配置されているかを特定したら、VEXcode VR プロジェクトの確認に進むことができます。 プロジェクトを反復処理すると、センサーからのデータがプロジェクト内で効果的に使用されていることを確認できます。 次の戦略は、センサーのコーディングに役立ちます。
サンプルプロジェクトを実行する
開いたら、メモを読んで、サンプル プロジェクトの機能がセンサーで実行しようとしている内容と一致しているかどうかを判断してください。
ここに示されているサンプル プロジェクトの注記は、このサンプル プロジェクトが、利用可能なすべての距離センサー コマンドをロボットで使用する方法の例を提供していることを示しています。
サンプル プロジェクトを実行し、ロボットの動作を観察します。 次に、プロジェクトを調べて、観察された動作を引き起こすためにセンサー データがどのように使用されているかを確認します。 これを解決するには、サンプル プロジェクトを複数回実行するとよいでしょう。
サンプル プロジェクトから学んだことを自分のタスクに適用するために、独自の単純化されたプロジェクトを作成してみることもできます。
ヘルプを使用する
サンプル プロジェクトまたは自分のプロジェクト内のブロックまたはコマンドに対して VEXcode VR のヘルプ機能を使用すると、使用されるデータ、コマンドが報告する値、およびプロジェクトでのコマンドの使用方法の例について学習できます。
VEXcode VR Blocks プロジェクトでヘルプにアクセスする方法の詳細については、こちらの記事を参照して 。
モニターコンソールでデータを読み取る
VEXcode VR のモニター コンソールでセンサー値を監視すると、ユーザーはプロジェクト内の特定のセンサー値 (または複数の値) のリアルタイム レポートを表示できます。
モニター ウィンドウを開いてモニター コンソールを表示するには、ヘルプの横にあるモニター アイコンを選択します。
ツールボックスのセンシングカテゴリのブロックを監視コンソールに追加できます。
まず、ツールボックス内のブロックで監視するパラメータを選択します。
ブロックをネストして選択し、ワークスペースのモニター コンソール アイコンにドラッグします。
選択したセンサー値はモニター コンソールに表示され、VR ロボットから望ましい動作を得るために、必要に応じて VEXcode プロジェクトを調整するために使用できます。
VEXcode VR でのセンサー値の監視に関する詳細については、この記事を参照して 。
VEXcode VR Python でセンサー値を監視するには、Monitor_sensors コマンドをプロジェクトに追加する必要があります。 Python を使用した VEXcode VR でのセンサー監視の詳細については、この記事を参照して
プロジェクトをステップ実行する
VEXcode VR ブロックの [ステップ] ボタンを使用すると、実行されているプロジェクト内のブロックを一度に確認できます。 これは、プロジェクト内でどの検知ブロックが問題の原因となっているかを特定するのに役立ちます。
データの分析と適用
次に、前の手順で学んだことを使用して、元のプロジェクトを調整します。 ヘルプやデータの印刷などのツールを引き続き使用して、センサーを効果的に使用して目的を達成できます。
プロジェクトを進めるために、プロジェクトについて質問することもできます。 次のようなことを考えてください。
- プロジェクトで < より大きい、または > 未満を使用していますか? 記号は正しい方向を向いていますか? 「equal to =」を使用している場合は、値の範囲を使用するために、「より大きい」または「より小さい」に置き換えてみてください。
- パラメータは正しいですか? センサーからのデータを使用してパラメータを設定していますか? 必要なドロップダウン オプションを選択しましたか?
- 条件を複数回確認していませんか? プロジェクトの実行時に条件が繰り返しチェックされるように、プロジェクトに Forever ループを追加してみます。
- プロジェクトが行き詰まっていませんか? 条件は正しく設定されていますか? ネストされたループを使用している場合は、プロジェクトを単純化して個々の動作を分離してみてください。
- 正しい色を検出していますか? センサーはプロジェクト内の色とは異なる色を報告していますか? ブロックまたはコマンドの色のパラメータを変更してみてください。
- センサーの視野内に物体を検出していますか? ロボットの動きに連動して視野も移動することに注意してください。
- 状態確認時に待機ブロックを使用していませんか? 条件をチェックするときは、プロジェクト内の非待機ブロックを必ず使用してください。
- ブロック単位でコーディングしている場合、スタック全体が {When started} ハット ブロックに接続されていますか? ブロックは接続されている場合にのみ実行されます。 ブロックをドラッグして接続すると、クリック音が聞こえます。
- プロジェクトを正しい Playground で実行していますか? プロジェクトが意図したとおりに動作するには、正しいプレイグラウンドを選択する必要があります。
これらの質問に答えるときは、必ずプロジェクト内の項目を一度に 1 つずつ変更し、テストして、その変更が効果的かどうかを評価してください。 プロジェクトを頻繁にテストすると、コードがロボットの動作にどのように関連しているかをより簡単に確認できるようになります。 問題を解決するには、トラブルシューティング プロセスの手順を複数回繰り返す必要がある場合がありますが、それでも問題ありません。 各反復は、使用しているセンサーと、それを VEXcode VR でコーディングする方法について詳しく学ぶのに役立ちます。