まいまい式は死んだ? 〜 EV3カラーセンサー動作解析

この投稿は ETロボコン Advent Calendar 2017 の 4日目 の記事です。

背景

初代 Mindstorms RCX、二代目 Mindstorms NXT の光センサーは「周辺光 (Ambient Light)」の影響を強く受けました。具体的には、ETロボコンの競技コースに天窓から日差しが差し込んだり、舞台照明用のスポットライトを競技コースに当てると、光センサーの測定値が想定外の値に触れてしまい、コースアウトする走行体が続出しました。

この周辺光の影響を打ち消す手段として私が2009年の関東地区大会で開発した方法が『まいまい式』です。

Mindstorms NXTが走行体に採用されていた2014年大会頃までは、さまざまな参加チームの皆さんが「まいまい式」に改良を加えて提案してくださったのですが、走行体がMindstorms EV3に置き換わってからは「まいまい式」が、ETロボコンで言及される回数も減りました。

Mindstorms EV3の標準カラーセンサー(光センサー)を使ってみると、周辺光の影響を受けにくくなっていることが経験的にわかります。では「まいまい式」は死んでしまったのか? オワコンなのか? ナシ寄りのナシなのか? EV3カラーセンサーの動作を検証して確かめてみます。 😀
続きを読む

EV3カラーセンサー 『反射モード』と『RGBモード』の比較

この投稿は ETロボコン Advent Calendar 2017 の 2日目 の記事です。

Mindstorms EV3のカラーセンサーには、対象(たとえばライントレース・コース)の明度(Brightness)を測定する手段として『反射モード』と『RGBモード』の二種類の測定モードが存在します。ただし、『RGBモード』はEV3ソフトウェアや標準ファームウェアからは直接アクセスできない隠し機能です。
反射モードでは赤色LED一色で対象を照らして反射光の強度を測定します。
一方のRGBモードではRGB(赤,緑,青)三色のLEDを短時間に切り替えて照らしながら、各色の反射光の強度を測定します。
反射モードとRGBモードで測定して結果を比較してみました。

 

測定風景

測定風景

手作りのグレースケールチャートをつかい明度(濃淡)と測定値の関係を実験しました。

続きを読む

Swift Playgroundsでライントレース

Swiftの学習をタブレットで手軽に試すことができるApple社の公式iPadアプリ "Swift Playgrounds" が2017年6月にバージョンアップされました。この Swift Playgrounds ver.1.5 にて、LEGO Mindstorms EV3への対応も追加されました。

そこで Swift Playgrounds で Mindstorms EV3 を制御する例としてライントレース・コードを実装してみました。

Swift Playgrounds を使い、Mindstorms EV3の3輪ロボットでライントレースを実行させてみた動画です。
続きを読む

Mindstorms EV3 戻るボタン修理

【注意】

この記事はMindstorms EV3の分解を保証するものでも、お勧めするものでもありません。不適切な分解、修理は分解中および組立後に発煙発火の事故を招きます。


Mindstorms EV3の『戻るボタン(Cancel Button)』が押しにくくなり、プログラムを停止させようとしてもボタンを押し込めなくなり困ったので自己責任でインテリジェントブロックを分解して修理を試みました。
続きを読む

EV3ソフトウェアとVisual Studio for Macの競合不具合

WRO(World Robot Olympiad)参加者が使うことが多い教育版EV3ソフトウェア(EV3 Education Edition Software)のMac版 ver.1.2.3 がインストールされた環境に、2017年5月10日より一般公開がはじまったMicrosoft社の新しいソフトウェア開発環境 Visual Studio 2017 for Mac をインストールすると今まで動いたEV3ソフトウェアが動かなくなってしまいます。不具合の症状と(暫定的な)解決法をご紹介します。

不具合の症状


EV3ソフトウェア エラー画面

続きを読む

EV3カラーセンサー自動キャリブレーション

EV3カラーセンサーブロック図

Mindstorms EV3の標準カラーセンサーを反射モードで動作させたときのセンサーの自動キャリブレーションの仕組みをブロック図にしてみました。旧モデルのNXTで光センサーを使うときはMindstormsの動作環境に合わせて環境光(外乱光)を事前に測定してキャリブレーションする必要がありましたが、新しいEV3ではカラーセンサーに内蔵されているマイコンが自動的に環境光をキャンセルするキャリブレーション機能を持っているようです。

LEGO社が公開しているEV3ハードウェア開発キット(EV3 hardware Developer Kit)の情報をもとに上記のブロック図は作成しましたが、EV3カラーセンサーに内蔵されているマイコンのプログラムが公開されていないため一部想像で描いています。ご了承ください。

続きを読む

EV3ソフトウェア開発環境 出前講座

長野県工科短期大学校さんでMindstorms EV3のソフトウェア開発環境の出前講座を開かせていただきました。

きっかけは、今年ETロボコンに参加した2年生のメンバーさんからメールでご連絡いただきまして、「ブログを拝見しました。ETロボコンの次期プラットフォームであるMindstorms EV3でmrubyを動かす方法を教えてください」ということだったので、適当なカフェかどこかで一対一か二くらいで世間話から話せばいいのかな?と思っていたのですが、ゼミの指導教官の先生から連絡が来る、来年参加する一年生にも話を聞かせて欲しい、ということで、あれよあれよと総勢10名(1年生4名、2年生4名、先生1+1名)のみなさんに僭越ながらお話ししてきました。

続きを読む

Open the door of embedded systems to IoT!

プログラミング言語Rubyの開発者の年に一度の祭典RubyKaigi 2014において登壇させていただきました。

Rubyの父 まつもとゆきひろさんを始め、凄腕の開発者のみなさんに混じって登壇するということで、恐れ多くてヒヤヒヤ、ドキドキだったのですが、とても貴重な経験をさせていただきました。

日本国内はもちろんのこと世界各国から大勢のRubyist(Ruby開発者)が集う祭典。スライドは拙い英語で作成しました。

続きを読む