数学的不等式を使用した V5 距離センサーのコーディング

VEX Robotics Competition (VRC) の試合中にロボットで V5 距離センサーを使用すると、ロボットが自律的な動きを使用してより多くのポイントを獲得できるようになります。

この記事の例として使用されるゲームは、2021-2022 年の VRC ゲーム、Tipping Point です。 ゲームの詳細と遊び方については、このページ をご覧ください。 この記事全体で使用されているゲームの定義、ゲーム ルールの概要、スコアについては、Tipping Pointのゲーム マニュアルを参照して


V5 距離センサー

V5 距離センサー

V5 距離センサー V5 ロボット工学プラットフォームと完全に統合するように設計された強力な V5 センサーの 1 つです。

  • このセンサーは、教室で安全なレーザー光のパルスを使用して、センサーの前面から物体までの距離を測定します。
  • V5 距離センサーは、物体を検出し、物体の相対的なサイズを決定するために使用できます。 オブジェクトのおおよそのサイズは、小、中、または大として報告されます。
  • センサーはロボットの接近速度の計算にも使用できます。 アプローチ速度は、ロボット/センサーがオブジェクトに向かって移動する速度を測定します。

V5 距離センサー、その仕組み、VEXcode V5 での使用方法の詳細についてはVEX ライブラリ この記事を参照してください。


V5 距離センサーの例

このプロジェクトの目標は、V5 距離センサーを使用してロボットにモバイル ゴールを持ち上げて移動させ、ゴールまでの距離を検出することです。

これはこの記事で説明するコード例です

これは、この記事で説明するコード例です。

この例の動作の内訳と、V5 距離センサーのコーディングに使用されるパラメーターの取得方法について説明します。

記事に沿って進めながら VEXcode V5 でプロジェクトをビルドすることも、独自のカスタム ロボットをコーディングするときに V5 距離センサーを組み込む方法の例として記事を読んでインスピレーションを得ることもできます。

このビデオでは、上記のコードが実行され、ロボットがモバイル ゴールを拾って移動する様子が示されています。

VEXcode V5 で使用されるロボット構成は次のとおりです。

この例を自分で試してみたい場合は、この例の構成にロボットと距離センサーを追加するために VEXcode V5 で使用されるロボット構成を次に示します。

この例で使用したロボット

この例で使用されているロボットは 2021-2022 VRC Hero Bot です

この例で使用されるロボットは、2021-2022 VRC ヒーロー ボット、Moby です。 Moby の設計にはセンサーがありません。この例では、V5 距離センサーが Moby に追加されました。

この例では、V5 距離センサーが Moby's フォークの中心近くに取り付けられています。

Moby の詳細については、 この記事を ライブラリからご覧ください

V5 距離センサーをコーディングしたり、今年のコンテストに参加したりするために、Moby を使用する必要はありません。 カスタム ロボットのどこにでもセンサーを取り付けることができます。

注: ロボット上の構造物がセンサー表面の小さなレーザー窓の前にないことを確認してください。 ゴールとセンサーの間には、センサーの前に障害物がない道が必要です。

得点対象となる行動の内訳

V5 距離センサーからのフィードバックを使用してモバイル ゴールを持ち上げて移動するには、まずロボットがどのように移動すべきかを分析します。

ロボットはモバイル ゴールに面するように配置する必要があります

まず、ロボットをモバイル ゴールに面するように配置します。

ロボットは、距離センサーがモバイル ゴールがフォークの内側にありセンサーに近づいている
      を検出するまで前進する必要があります。

次に、モバイル ゴールがフォークの内側にありセンサーに近づいていることを距離センサーが検出するまで、ロボットは前進する必要があります。

センサーがモバイル ゴールがフォークの内側にあること、またはセンサーの
      に近いことを検出すると、

モバイル ゴールがフォーク内またはセンサーの近くにあることをセンサーが検出すると、ロボットは運転を停止し、フォークを上げてモバイル ゴールを持ち上げます。

モバイルゴールを取得したら

モバイル ゴールを持ち上げると、ロボットは左に 90 度回転し、600 ミリメートル (mm) 前進します。

ロボットはフォークを下げます。

次に、ロボットはフォークを下げてモバイル ゴールを置き、次の動作で誤ってモバイル ゴールを倒してしまわないように、モバイル ゴールから離れる方向に後進します。


パラメータを理解する

上記の動作を実行するには、モバイル ゴールが V5 距離センサーからどのくらい離れているかを理解することが重要です。

V5 距離センサーを使用してモバイル ゴールを取得するためのパラメーター

 ロボットが前に進むためには

モバイル ゴールがフォークの内側にありセンサーの近くにあることを距離センサーが検出するまでロボットが前進するためには、センサーの値を V5 Brain から記録する必要があります。

モバイル ゴールをロボットのフォークの間に置きます。

 次に、Brain の画面から「デバイス」を選択します。次に
      距離センサーのアイコン

次に、Brain の画面から「デバイス」を選択し、距離センサーのアイコンを選択します。

ミリメートル単位の距離

モバイル ゴールがセンサーから離れている距離がミリメートル (mm) 単位で Brain の画面に報告されます。

これはプロジェクトで使用される値です

これは、距離センサーを使用してモバイル ゴールを取得するときにプロジェクトで使用される値です。

フォークを上げ下げするパラメータ

モバイル ゴールを再びフォークの内側に置きます

モバイル ゴールを再びフォークの内側に置きます。

すると、Brainの画面から

次に、Brain の画面から「デバイス」を選択し、モーター 2 のアイコンを選択します。 モーター 2 は左側のフォークを制御します。

モバイル ゴールの下部が距離センサーの視界を妨げない位置に
      まで手動でフォークを上げます。

モバイル ゴールの下部が距離センサーの視界を妨げなくなるまで、手動でフォークを上げます。

フォークを手動で上げる場合は、Moby の左側と右側の各フォークを必ず同時に上げてください。それぞれが独自のモーターによって制御されます。

注: フォークを手動で持ち上げるときは、 挟み込みポイント てください。

フォークが上がった度数

フォークが上げられた角度の数が Brain の画面に報告されます。

これはプロジェクトで使用される値です

これは、モバイル ゴールを持ち上げたり配置したりするためにフォークを上げ下げするときにプロジェクトで使用される値です。

Operator ブロックの使用

演算子ブロックは距離センサーをコード
      するために使用されます。

このプロジェクトでは、 <Less than> 演算子ブロックを使用して距離センサーをコーディングします。

これは、距離センサーが近づくにつれて、

これは、距離センサーが物体に近づくにつれて、センサーとその物体との間のミリメートル単位の距離が減少するためです。

しきい値を選択して動作をトリガーできます

しきい値を選択して、距離が所定量未満になったときにロボットの動作をトリガーできます。

たとえば、ロボットがモバイル ゴールに向かって走行している場合、 <Less than> オペレーター ブロックを使用して、距離が から 未満の約 139 ミリメートル (mm) になったときに停止するロボットの動作をトリガーします。

演算子ブロック

たとえば、その値が 10 ミリメートル (mm) に変更された場合、センサーから 10 ミリメートル (mm) の距離はロボットのフォークの接触を防ぐのに十分な距離ではないため、ロボットは実際にモバイル ゴールに衝突し、自身を損傷する可能性があります。モバイルゴール。

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: