2022年1月31日

SPIKE リストを用いたラインの色の記憶

ロボコンなどの競技シーンでは、コース内に配置されているラインの色を記憶しその並び順などに応じて競技を攻略する必要があります。ここではリストという機能を使って検知したラインの色を記録する方法や、指定したラインの色に応じてロボットを制御する方法を記載しています。

はじめに簡易的な車体を用意します。(ここではSPIKEプライム ラージハブを地面と水平になるように組み立ててください。)

車体に使用しているハードウェア

  • SPIKE プライム ラージハブ
  • Mモーター×2(A,Eポート)
  • カラーセンサー(Fポート)
SPIKE車体

本記事のプログラムの動作はこちらの動画で確認できます。 (https://youtu.be/-3tRNX0mo0Y)

◆SPIKEアプリでプログラミングします。 SPIKEアプリでプログラミング

線の上を通過すると、通過した線の色をリストに記録するプログラムです。
SPIKEアプリの画面右にリストで格納されている値を確認できます。
カラーセンサーは9種類の色を読み取ることができます。それぞれには色の値が予め設定されており、その値がリストに格納されます。読み取れる色と色の値はこちらで確認できます。(https://afrel.co.jp/spike/technology/653/)

線の上を通過すると、通過した線の色をリストに記録するプログラム

◆プログラムについて
動作については動画を確認ください。
(プログラムの動作と合わせてリストに格納されている値を確認したい場合は、PCとUSB接続もしくは、Bluetooth接続している必要があります。)
作成したプログラムはリストに4つ値が格納されると、3つ目に格納された色の値によってライトマトリクスを点灯させるプログラムになっています。
コース上に黒、黄、赤の線があり、3本目の色に応じてそれぞれラージハブのライトマトリクスをB(黒)、Y(黄)、R(赤)と点灯させます。

作成したプログラム

リストに格納する「◎の色をリストに追加する」ブロックが機能することで色の値をリストに格納させていますが、その下に「0.5秒待つ」ブロックを繋げています。こうすることで誤って同じ線を複数回検知することを回避しています。
線の太さや車体の動く速さに応じて「0.5秒待つ」の秒数を調整する必要がある場合があります。

※2022/1/21現在 最新バージョン(2.0.4)のSPIKEアプリに基づく情報です。
※これらの仕様はアプリのアップデートによって変更される場合があります。

(2022/1/21 現在)