ロボジョイちゃれんじ教室

2-1 NXT ソフトウェア入門

第4回 ライントレースのプログラム

レゴマインドストームNXTのプログラム開発環境「NXTソフトウェア」について紹介していくコーナーです。
前回と前々回では「センサー」と「モーター」について紹介をしてきました。そこで、今回はその2つを
組み合わせて、簡単なロボットを作ってみたいと思います(文/松原 拓也)。

簡単に作れるロボットとして、代表的なものが「ライントレースロボット」です。ライントレースロボットとは、線の上をなぞって(トレースして)走るロボットのことです。
この「線の上を走る」という技術は、ロボット競技の世界でも
盛んに取り入れられています。

まずは、ロボットを組み立てます。インテリジェントブロック1個、
モーター2個、ライトセンサー1個を用意してください。
モーターは出力ポートAとポートCに接続します。

ライトセンサーは入力ポート1に接続します。このセンサーを
使って、床面の「白」と「黒」を判別します。
赤い部分のパーツはミニフィグ用の帽子です。一般用のNXTには入っていませんので、似た部品で代用してください。

まずはライトセンサーの特性を調べるために、NXTソフトウェアを使って簡単なプログラムを作ってみました。
[DOWNLOAD]作成したプログラム(NXTソフトウェア用)

プログラムを実行すると、ライトセンサーのカウント値が表示されます。
センサーに入る光が多い(明るい)ほど、カウント値が大きくなります。

製品に付属するライントレース用のシートでカウント値を
測ってみた結果がこちらです。
「白」と「黒」で約30カウントの差が見られました。

なお、ライトセンサーと床面の距離は約7mmに合わせています。

これはライトセンサーと床面との距離に対しての測定値の変化を表したグラフです(色は白)。
同じ「白」でも距離が違うだけで、こんなにも測定値が変わってしまいます。
センサーは近付きすぎると正しく測定できません。 センサーの距離はできるだけ均一に保つようにしたほうがようさそうです。