センサー フィードバックの使用中にロボットが意図したとおりに動作しない場合は、段階的なトラブルシューティング手順に従って問題を見つけて修正できます。 この記事では、トラブルシューティング プロセスの手順を説明し、これらの手順の使用方法に関するヒントを提供します。
このプロセスの手順は次のとおりです。
- 問題を特定する
- ハードウェアをチェックする
- ソフトウェアをチェックする
- データの分析と適用
問題を特定する
センサーのトラブルシューティングの最初のステップは、問題の原因となっているセンサーを特定することです。 観察されたロボットの動作と意図されたロボットの動作を比較します。 問題のある動作はセンサーによって引き起こされていますか? もしそうなら、どのセンサーですか? どのセンサーに問題があるかを判断するための詳細情報が必要な場合は、ロボットのセンサーに関連する以下の記事をお読みください。
VEX V5 センサー:
- V5 距離センサーの使用
- V5 GPS センサーの使用
- V5 慣性センサーの使用
- V5 光学センサーの使用
- V5 回転センサーの使用
- V5 3 線式バンパー スイッチ v2 & リミット スイッチの使用
- V5 3 線式 LED インジケータの使用
- V5 3 線式光センサーの使用
- V5 3-Wire ライン トラッカーの使用
- V5 3 線式ポテンショメータの使用
どのセンサーが意図しない動作を引き起こしているかを特定したら、プロセスを進めることができます。
ハードウェアのチェック
2 番目のステップは、ロボットのハードウェアをチェックして、センサーが意図したとおりに機能することを確認することです。 次のハードウェアに関する考慮事項はそれぞれ、センサーの機能に影響を与えている可能性があります。
センサーの配置を確認する
まず、ロボットのどこにセンサーが配置されているかを確認します。 センサーはロボットの別の部分など、何かによってブロックされていますか? センサーが意図したとおりに動作するために必要なスペースがあることを確認してください。
ここに示されているように、光学センサーは、検出する対象物に対して明確な視線を持っています。
センサーの接続を確認してください
VEX V5 Brain のデバイス画面にレポートされるデータを確認して、センサーの機能をテストします。 これは、センサーが接続されていて動作していることを検証するのに役立ちます。
デバイス画面にアクセスするには、この記事の手順に従って 。 [デバイス] 画面が開いたら、センサーが正しいポートの場所とレポート データに表示されているかどうかを確認します。 ここでは、スマート ポート 11 で光学センサーが検出されています。
センサーがデータを報告しない場合は、センサーが正しく接続されていることを確認してください。 センサーをスマート ポートに接続するとき、センサーのロック タブがポートに完全にはめ込まれると、「カチッ」という音が聞こえます。
センサーを 3 線式ポートに接続する場合、ケーブルは正しい向きで完全に挿入され、白い線が Brain スクリーンに最も近い位置にある必要があります。
使用しているセンサーを別のセンサーと交換して、問題が解決するかどうかを確認することもできます。
センサーの配置またはセンサーの接続で何かを変更した場合は、プロジェクトを再度テストして、問題が解決したかどうかを確認してください。 センサーの配置と接続が変更されない場合は、次のステップに進んでトラブルシューティング プロセスを続けてください。
ソフトウェアをチェックする
センサーがロボット上に配置され、正常に接続されていることを確認したら、次に VEXcode EXP プロジェクトに注目します。 プロジェクトを反復処理すると、センサーからのデータがプロジェクト内で効果的に使用されていることを確認できます。 次の戦略は、センサーのコーディングに役立ちます。
これらの戦略のいずれかを VEXcode V5 プロジェクトに適用する場合は、プロジェクトを再度テストして、問題が解決したかどうかを確認してください。
ファームウェアと構成を確認する
まず、EXP Brain のファームウェアが最新であることを確認します。
すべてのデバイスが Brain に正しく接続されていることを確認したので、VEXcode V5 のデバイス構成を確認します。
すべてのセンサーが構成に存在することを確認してください。 次に、それぞれが正しいポートに接続されていることを確認します。
間違ったデバイス構成を変更します。
サンプルプロジェクトを実行する
開いたら、メモを読んで、サンプル プロジェクトの機能がセンサーで実行しようとしている内容と一致しているかどうかを判断してください。
ここで示したプロジェクト例では、バンパースイッチまたはリミットスイッチが押された状態が Brain 画面に出力されることを示しています。 この場合、True は押されたことを示し、False は押されていないことを示します。
サンプル プロジェクトを実行し、ロボットの動作を観察します。 次に、プロジェクトを調べて、観察された動作を引き起こすためにセンサー データがどのように使用されているかを確認します。 これを解決するには、サンプル プロジェクトを複数回実行するとよいでしょう。
サンプル プロジェクトから学んだことを自分のタスクに適用するために、独自の単純化されたプロジェクトを作成してみることもできます。
他の VEXcode V5 ツールを使用する
VEXcode V5 でのセンサーのコーディングについて詳しく学ぶ際に役立つツールや戦略もあります。 ヘルプを使用すると、ツールボックス内のブロックまたはコマンドについて個別に学習できます。 プロジェクトの実行中にセンサー データを表示して、センサーが報告している内容について詳しく知ることもできます。
手伝い
サンプル プロジェクトまたはプロジェクト内のブロックまたはコマンドのヘルプを読んで、使用されるデータ、コマンドが報告する値、およびプロジェクトでのコマンドの使用方法の例について学習してください。
VEXcode V5 ブロックのヘルプへのアクセスの詳細については、この記事を参照してください。
データの印刷
サンプル プロジェクトまたはプロジェクトの実行中にセンサーからのデータを印刷して、センサーがリアルタイムで報告している内容をより深く理解することもできます。 これは、プロジェクトでパラメーターとして使用するセンサーからの報告値を決定するのに役立ちます。
Blocks プロジェクトでは、個別の {When started} ハット ブロックを使用して、すべての印刷コマンドを独自のスタック内に整理しておくことができることに注意してください。
VEXcode V5 ブロック
VEXcode V5 Python
VEXcode V5 C++
上の各画像を選択すると拡大表示されます。
EXP Brain への出力は、VEXcode V5 プロジェクトの実行中に変化する値を確認したい場合に役立ちます。 これは、プロジェクトでパラメーターとして使用するセンサーからの報告値を決定するのに役立ちます。 これらの印刷コマンドは、すでに作成した VEXcode V5 プロジェクトに組み込むことができるため、ロボットの移動中の特定の時間にセンサー値が変化するのを確認できます。
上記のサンプル プロジェクトは、距離センサーから V5 Brain に値を出力する方法を示しています。 各プロジェクトのコメントでは、プロジェクトの流れや各コマンドの使用方法が説明されています。
VEXcode V5 ブロック
VEXcode V5 Python
VEXcode V5 C++
上の各画像を選択すると拡大表示されます。
VEXcode V5 のプリント コンソール への印刷は、ロボットが動かない VEXcode EXP プロジェクトを実行している場合に推奨されます。 Print Console に印刷するには、プロジェクトの実行中、V5 Brain を接続したままにしておく必要があります。 Brain 画面からデータを読み取ろうとするのではなく、VEXcode V5 ウィンドウから値を読み取ることができるため、これは有益です。
これらの例は、VEXcode V5 で回転センサーからコンソールにデータを出力するプロジェクトを示しています。
データの分析と適用
次に、前の手順で学んだことを使用して、元のプロジェクトを調整します。 ヘルプやデータの印刷などのツールを引き続き使用して、センサーを効果的に使用して目的を達成できます。
プロジェクトを進めるために、プロジェクトについて質問することもできます。 次のようなことを考えてください。
- プロジェクトで < より大きい、または > 未満を使用していますか? 記号は正しい方向を向いていますか? 「equal to =」を使用している場合は、値の範囲を使用するために、「より大きい」または「より小さい」に置き換えてみてください。
- パラメータは正しいですか? センサーからのデータを使用してパラメータを設定していますか? 必要なドロップダウン オプションを選択しましたか?
- 条件を複数回確認していませんか? プロジェクトの実行時に条件が繰り返しチェックされるように、プロジェクトに Forever ループを追加してみます。
- プロジェクトが行き詰まっていませんか? 条件は正しく設定されていますか? ネストされたループを使用している場合は、プロジェクトを単純化して個々の動作を分離してみてください。
- 環境条件がセンサーに影響を与えていますか? 明るすぎませんか、暗すぎませんか? 邪魔な物や人はいませんか? 別の場所でプロジェクトを実行して、問題が解決するかどうかを確認してください。
- プロジェクトの最新バージョンを実行していますか? 更新されたプロジェクトを Brain にダウンロードしましたか? 変更を加えるたびに、必ずプロジェクトを再ダウンロードしてください。
- 正しい色を検出していますか? センサーはプロジェクト内の色とは異なる色を報告していますか? カラーパラメータを変更するか、色相値の範囲を使用して、それが役立つかどうかを確認してください。
- センサーの視野内に物体を検出していますか? ロボットの動きに連動して視野も移動することに注意してください。
- 状態確認時に待機ブロックを使用していませんか? 条件をチェックするときは、プロジェクト内の非待機ブロックを必ず使用してください。 VEXcode V5 の待機ブロックと非待機ブロックの詳細については、この記事を参照してください。
- ブロック単位でコーディングしている場合、スタック全体が {When started} ハット ブロックに接続されていますか? ブロックは接続されている場合にのみ実行されます。 ブロックをドラッグして接続すると、クリック音が聞こえます。
これらの質問に答えるときは、必ずプロジェクト内の項目を一度に 1 つずつ変更し、テストして、その変更が効果的かどうかを評価してください。 プロジェクトを頻繁にテストすると、コードがロボットの動作にどのように関連しているかをより簡単に確認できるようになります。 問題を解決するには、トラブルシューティング プロセスの手順を複数回繰り返す必要がある場合がありますが、それでも問題ありません。 各反復は、使用しているセンサーと、それを VEXcode V5 でコーディングする方法について詳しく学ぶのに役立ちます。