VEX IQ (第 1 世代) カラーセンサーの使用

カラー センサーは、反射光を使用して、オブジェクトの色、色相値、グレースケール値、明るさ、および近接性を検出します。

VEX IQ カラー センサーは VEX IQ スーパー キットに含まれており、こちらから購入すること


カラーセンサーの説明

VEX IQ カラー センサーには複数のモードがあり、環境からさまざまな種類の情報をキャプチャできます。 センサーが収集する情報は、センサーと読み取り対象の物体または表面との間の距離だけでなく、環境の照明条件にも影響されます。


vex-rainbow-circle-graphic_2.jpeg


カラーセンサーの仕組み

カラー センサーは色と近接の両方を検出できます。

色の検出

明るさモードの場合、カラー センサーはロボットの環境内のすべての光の強度を検出するために使用されます。 カラー センサーがアクティブなときにカラー センサーに到達する光が多いほど、ロボットの脳に送信されるパーセンテージの値が高くなります。

検出された明るさのパーセンテージが低いか信頼できない場合は、カラー センサーのランプをオンにするか、次の設定されたライトを使用してランプの明るさのパーセンテージを上げてブロックすることができます。

カラー センサーは、認識した色をカラー値または色相値として報告できます。

色の値。カラー センサーが検出できる色はリストに 14 色あります。 ブロックの画像から欠落している色は、赤、緑、青、白、黄色です。

色相の値。色相値は色の値に似ていますが、数値です。 色相の値の範囲は度のように 0 ~ 360 です。 上記の色の値には、それぞれ対応する色相値の範囲があります。 

色と色合いを検出する場合、カラー センサーに適切な量の光があることが重要です。 必ず、さまざまなレベルの光で、さまざまなレベルに設定されたランプを使用してカラー センサーをテスト (キャリブレーションとも呼ばれます) して、ロボットのカラー センサーにとって最も信頼できる設定がどれであるかを判断してください。

 
近接の検出

カラー センサーには赤外線センサー エミッターが含まれています。 赤外線エミッターは目に見えない光を照射し、その反射を検出します。 赤外線の大部分がセンサーに向かって反射すると、ロボットの脳に物体が近づいていることが伝わります。

カラーセンサーの一般的な用途

カラー センサーは、ディスプレイや製品に特定の色を表示することが重要な多くのテクノロジー アプリケーションで使用されています。

日常生活での一般的な用途には次のようなものがあります。

  • カラー キャリブレーション ツールは、デジタル画面が正確な色を表示しているかどうかをチェックし、必要に応じてディスプレイ設定を調整します。 デジタル画面上で色を扱うグラフィック アーティストやデザイナーにとって、表示されている正しい色を正確に確認できることは重要です。 色が正確でない場合、誤解やリソースの無駄が発生します。
  • カメラやビデオカメラは、光レベルを最大化し、くすんだ色を強調することで写真やビデオを向上させるために、カラー センサーを使用して、その時の照明条件に基づいて設定を調整します。 これらのセンサーを使用すると、写真家は写真内の特定の色に焦点を合わせることができます。
  • カラーセンサーは、顧客に出荷する前に製品の色が正しいかどうかを迅速に検査するために、製造現場で使用されることがあります。 たとえば、熟したときや食べごろになると色が変わる果物や野菜をスキャンして、市場に送るのに正しい色であることを確認できます。 


VEX IQ ロボットの一般的な用途には次のようなものがあります。

  • このセンサーは、物体の色を検出するために使用できます。

  • このセンサーは、ラインの検出や追跡に使用できます。

  • このセンサーは物体が近くにあるかどうかを検出できます。

競技用ロボットのカラーセンサー

色と色合いを検出する場合、カラー センサーに適切な量の光があることが重要であることに注意してください。 光のレベルが異なるとカラー センサーのパフォーマンスに影響を与える可能性があるため、新しい競技会場に到着するたびに必ずカラー センサーをテスト (キャリブレーションとも呼ばれます) してください。 さまざまなレベルに設定されたランプを使用してプロジェクトをテストし、ロボットのカラー センサーにとって最も信頼できる設定を決定します。 

カラー センサーによって収集された情報は、さまざまな条件に対応する競技用ロボットのプログラミングに役立ちます。 カラー センサーは、次の方法で競技用ロボットをより優れたものにすることができます。

  • これにより、ロボットはセンサーの近くにある物体の色を検出できます。 これは、ロボットに異なる色の物体を分類したり、特定の色の物体まで運転したり、物体がセンサーを通過するときにその色を検出したりする場合に便利です。
  • これにより、ロボットはセンサーに反射して戻ってくる光の量を検出できます。 これにより、ロボットは表面上の線に到達するまで、または線に沿って走行することができます。
  • これにより、物体または表面が近くにあるかどうかをロボットに知らせます。 これは、検出された色が近くの物体からの読み取り値であるのか、それとも遠くの表面や光の異常な読み取り値である可能性があるのか​​を判断するのに役立ちます。 

カラーセンサーをブロックでコーディングする

Screen_Shot_2023-03-01_at_12.37.53_PM.png

この例では、 <Found an object> ブロックを [Wait until] ブロックとともに近接検出に使用し、物体が検出されるまでロボットを前進させます。

Screen_Shot_2023-03-01_at_12.46.03_PM.png

<Color detects> ブロックは、条件を true または false として報告するブール レポーター ブロックでもあります。 <Color detects> ブロックは、カラー センサーが選択した色を検出した場合は「true」を、センサーが他の色を検出した場合は「false」を報告します。 ブール ブロックの詳細については、 ヘルプ または ブロックの形状と意味 記事を参照してください。

 

Screen_Shot_2023-03-01_at_12.42.15_PM.png

この例では、 <Color detects> ブロックを [Wait until] ブロックとともに使用して、カラー センサーが緑色の物体を検出するまでロボットを前進させます。 その後、ロボットは運転を停止します。 これは、上の最初のビデオで説明されています。

Screen_Shot_2023-03-01_at_12.49.57_PM.png

(明るさ) ブロックは、カラー センサーによって検出された光の量を報告します。 円形のスペースを持つ他のブロックの内部で使用されるレポーター ブロックです。

(の明るさ) ブロックは、 0% ~ 100% の範囲を報告します。

 

Screen_Shot_2023-03-01_at_12.53.59_PM.png

この例では、上の 2 番目のビデオに示されているように、(Brightness of) ブロックを使用してロボットに線を検出させ、追跡させます。

Screen_Shot_2023-03-01_at_3.22.43_PM.png

(Hue of) ブロックは、カラー センサーによって検出された色の色相を報告します。 円形のスペースを持つ他のブロックの内部で使用されるレポーター ブロックです。

(の明るさ) ブロックは、 0 ~ 360 の範囲を報告します

 

Screen_Shot_2023-03-01_at_3.40.56_PM.png

この例では、(Hue of) ブロックを使用して、ロボットに赤色に対応する色相値の範囲をチェックさせ、それらの値がセンサーによって検出された場合に右に 90 度回転させます。 他の色相値が検出された場合、ロボットは左に 90 度回転します。

(Hue of) ブロックは、周囲の光の状態が一貫していない場合にロボットが特定の色を検出する必要がある場合に役立ちます。

Python でカラーセンサーをコーディングする

注:VEX IQ (第 1 世代) バンパー スイッチを Python でコーディングするには、VEX IQ (第 2 世代) Brain に接続する必要があります。 VEX IQ (第 1 世代) Brain は Python をサポートしていません。

Screen_Shot_2023-03-01_at_2.20.15_PM.png

color.is_near_object コマンドは、カラー センサーがセンサーの前面近くの物体または表面を検出した場合は True を報告し、カラー センサーがセンサーの前面近くの物体または表面を検出し た場合は False を報告します センサー。

注:コマンドに表示されるカラー センサーの名前は、設定で指定された名前に対応します。 

Screen_Shot_2023-03-01_at_2.25.58_PM.png

この例では、 not 条件のWhile ループを color.is_near_object コマンドとともに使用して、カラー センサーがロボットの前方に近い物体を検出するまでロボットを前進させます。センサー。

Screen_Shot_2023-03-01_at_2.30.22_PM.png

color.color コマンドは、 カラー センサーによって現在検出されている色を報告します。

Screen_Shot_2023-03-01_at_2.33.28_PM.png

この例では、 not 条件のWhile ループを color.color コマンドとともに使用して、カラー センサーが緑色の物体を検出するまでロボットを前進させます。 その後、ロボットは運転を停止します。 これは、上の最初のビデオで説明されています。

Screen_Shot_2023-03-01_at_2.37.12_PM.png

color.brightness コマンドは、カラー センサーによって検出された光の量を報告します。 0% ~ 100% の範囲の値を報告します。

Screen_Shot_2023-03-01_at_3.18.39_PM.png

この例では、上の 2 番目のビデオに示されているように、 color.brightness コマンドを使用してロボットに線を検出させ、追跡させます。

Screen_Shot_2023-03-01_at_3.47.50_PM.png

color.hue コマンドは、カラー センサーによって検出された色の色相を報告します。 0 ~ 360 の範囲の色相値を報告します

Screen_Shot_2023-03-01_at_4.05.24_PM.png

この例では、 color.hue コマンドを使用して、ロボットに赤色に対応する色相値の範囲をチェックさせ、それらの値がセンサーによって検出された場合に右に 90 度回転させます。 他の色相値が検出された場合、ロボットは左に 90 度回転します。

color.hue コマンドは、周囲の光の状態が一貫していない場合にロボットが特定の色を検出する必要がある場合に役立ちます。

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

Last Updated: