VEX Robotics Competition (VRC) の試合中にロボットで V5 距離センサーを使用すると、ロボットが自律的な動きを使用してより多くのポイントを獲得できるようになります。
この記事の例として使用されるゲームは、2021-2022 年の VRC ゲーム、Tipping Point です。 ゲームの詳細と遊び方については、このページ をご覧ください。 この記事全体で使用されているゲームの定義、ゲーム ルールの概要、スコアについては、Tipping Pointのゲーム マニュアルを参照して 。
V5 距離センサー
V5 距離センサー V5 ロボット工学プラットフォームと完全に統合するように設計された強力な V5 センサーの 1 つです。
- このセンサーは、教室で安全なレーザー光のパルスを使用して、センサーの前面から物体までの距離を測定します。
- V5 距離センサーは、物体を検出し、物体の相対的なサイズを決定するために使用できます。 オブジェクトのおおよそのサイズは、小、中、または大として報告されます。
- センサーはロボットの接近速度の計算にも使用できます。 アプローチ速度は、ロボット/センサーがオブジェクトに向かって移動する速度を測定します。
V5 距離センサー、その仕組み、VEXcode V5 での使用方法の詳細についてはVEX ライブラリ この記事を参照してください。。
V5 距離センサーの例
このプロジェクトの目標は、V5 距離センサーを使用してロボットにモバイル ゴールを持ち上げて移動させ、ゴールまでの距離を検出することです。
これは、この記事で説明するコード例です。
この例の動作の内訳と、V5 距離センサーのコーディングに使用されるパラメーターの取得方法について説明します。
記事に沿って進めながら VEXcode V5 でプロジェクトをビルドすることも、独自のカスタム ロボットをコーディングするときに V5 距離センサーを組み込む方法の例として記事を読んでインスピレーションを得ることもできます。
このビデオでは、上記のコードが実行され、ロボットがモバイル ゴールを拾って移動する様子が示されています。
この例を自分で試してみたい場合は、この例の構成にロボットと距離センサーを追加するために VEXcode V5 で使用されるロボット構成を次に示します。
この例で使用したロボット
この例で使用されるロボットは、2021-2022 VRC ヒーロー ボット、Moby です。 Moby の設計にはセンサーがありません。この例では、V5 距離センサーが Moby に追加されました。
この例では、V5 距離センサーが Moby's フォークの中心近くに取り付けられています。
Moby の詳細については、 この記事を ライブラリからご覧ください。
V5 距離センサーをコーディングしたり、今年のコンテストに参加したりするために、Moby を使用する必要はありません。 カスタム ロボットのどこにでもセンサーを取り付けることができます。
注: ロボット上の構造物がセンサー表面の小さなレーザー窓の前にないことを確認してください。 ゴールとセンサーの間には、センサーの前に障害物がない道が必要です。
得点対象となる行動の内訳
V5 距離センサーからのフィードバックを使用してモバイル ゴールを持ち上げて移動するには、まずロボットがどのように移動すべきかを分析します。
まず、ロボットをモバイル ゴールに面するように配置します。
次に、モバイル ゴールがフォークの内側にありセンサーに近づいていることを距離センサーが検出するまで、ロボットは前進する必要があります。
モバイル ゴールがフォーク内またはセンサーの近くにあることをセンサーが検出すると、ロボットは運転を停止し、フォークを上げてモバイル ゴールを持ち上げます。
モバイル ゴールを持ち上げると、ロボットは左に 90 度回転し、600 ミリメートル (mm) 前進します。
次に、ロボットはフォークを下げてモバイル ゴールを置き、次の動作で誤ってモバイル ゴールを倒してしまわないように、モバイル ゴールから離れる方向に後進します。
パラメータを理解する
上記の動作を実行するには、モバイル ゴールが V5 距離センサーからどのくらい離れているかを理解することが重要です。
V5 距離センサーを使用してモバイル ゴールを取得するためのパラメーター
モバイル ゴールがフォークの内側にありセンサーの近くにあることを距離センサーが検出するまでロボットが前進するためには、センサーの値を V5 Brain から記録する必要があります。
モバイル ゴールをロボットのフォークの間に置きます。
次に、Brain の画面から「デバイス」を選択し、距離センサーのアイコンを選択します。
モバイル ゴールがセンサーから離れている距離がミリメートル (mm) 単位で Brain の画面に報告されます。
これは、距離センサーを使用してモバイル ゴールを取得するときにプロジェクトで使用される値です。
フォークを上げ下げするパラメータ
モバイル ゴールを再びフォークの内側に置きます。
次に、Brain の画面から「デバイス」を選択し、モーター 2 のアイコンを選択します。 モーター 2 は左側のフォークを制御します。
フォークが上げられた角度の数が Brain の画面に報告されます。
これは、モバイル ゴールを持ち上げたり配置したりするためにフォークを上げ下げするときにプロジェクトで使用される値です。
Operator ブロックの使用
このプロジェクトでは、 <Less than> 演算子ブロックを使用して距離センサーをコーディングします。
これは、距離センサーが物体に近づくにつれて、センサーとその物体との間のミリメートル単位の距離が減少するためです。
しきい値を選択して、距離が所定量未満になったときにロボットの動作をトリガーできます。
たとえば、ロボットがモバイル ゴールに向かって走行している場合、 <Less than> オペレーター ブロックを使用して、距離が から 未満の約 139 ミリメートル (mm) になったときに停止するロボットの動作をトリガーします。
たとえば、その値が 10 ミリメートル (mm) に変更された場合、センサーから 10 ミリメートル (mm) の距離はロボットのフォークの接触を防ぐのに十分な距離ではないため、ロボットは実際にモバイル ゴールに衝突し、自身を損傷する可能性があります。モバイルゴール。