Help us understand the problem. What is going on with this article?

ETロボコン プライマリークラスで青色マーカー検出をやってみた

ETロボコンでは、ライントレース走行を行います。
ラインは通常黒色ですが、途中に目印としてマーカーと呼ばれるラインの色を変えたエリアが存在します。

マーカーは2018年までは灰色が使用されてきましたが、2019年は青色に変更されました。

倒立サンプルプログラムはev3_color_sensor_get_reflect()を使用していますが、
この反射光モードでは、カラーセンサーをラインの中央に静止させた状態でようやく黒色と青色の違いが分かる程度の差しかありません。

マーカー検出のために色を見てみたいので、ここは素直にev3_color_sensor_get_rgb_raw()を使うことにします。

サンプルコースを使用してコースの計測値を確認してみます。
raw.png

RGB各々で値の範囲が異なりますので、黒色~白色が-50~50の値になるように正規化を行って、各色のレンジを揃えて変化を確認してみます。
normal.png

コースから取得したRGB三色の変化から次の方法で制御を行うことにしました。

  • R赤でライントレース
  • B青でマーカー検出
  • G緑は使わない

R赤はライントレースで使用する黒色と青色で近い値が出るため、マーカーでコースアウトしない安定したライントレースが期待できます。
B青は青色マーカーをライントレースしている時に値の変化をしっかり認識できそうです。

動かしてみた

会場都合で動画が残ってないですが、ガレージインを青色マーカー検出で行った制御ログになります。
R赤でライントレースを行っているため、赤いラインが左軸の0付近にあります。
B青がマーカー部分で大きく変化していることが確認できます。
G緑は使用していません。
黄色いラインが右軸の相対距離で、マーカーの長さ150mm区間を検出できていることが確認できます。
190713_142753_Rガレージ.png

最後に

RGB Raw値を使うということになると、アドバンストクラスのチームがやっているようなカラーブロックを判別する処理を実装しないといけないのか?と思われる方もいらっしゃると思いますが、プライマリークラスでやりたいことはライントレースと青色マーカー検出だけ(2019年競技規約)ですので、そんなに手間を掛けなくてもできるよということで参考にしてみてください。

このやり方が正解だというわけではありませんがCSモデルを見た中では、ID:260 平成デロリアンさんが同様のことを行っているようですので、ETロボコン2019参加者の方はモデルをチェックしてみてください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした