画像処理マイコンカー製作




画像処理マイコンカーの概要

○ 全体

 車体はタミヤのユニバーサルプレートで作っています。加工が楽に行うことが出来ます。色々と試してみるには良い素材です。その他の部品もマイコンカーで使用した部品の残りで作っています。しかし、必要なものもありますので、解説しておきます。

全体図

○ カメラ

 2008年、大阪電通大自由工房にて「画像処理マイコンカー」り講習会が行われました。その講習会に参加したことをきっかけに画像処理でラインとレースするマシンを製作するようになりました。 と言ってもカメラの制御方法は、その時の講習会でいただいたサンプルプログラムをそのままで、取り込んだデータ処理だけを行っています。 カメラはゲームボーイで使用したモノクロCMOSカメラで128×128の解像度です。いただいたプログラムでは、横128ドット、縦8ラインとなっていたので、そのまま使用しています。

カメラ


カメラの制御方法については以下の自由工房のページをご覧ください。

大阪電通大自由工房のページ

○ ライト

処理方法で解説しますが、本来、カメラより得られたデータを「白」「黒」と判別する場合、ヒストグラムより閾値を割り出し2値化処理を行わないといけません。しかし処理するデータ量が、結構な処理量となってしまいます。そこで、今回、光を一定量、照射することで、周りからの影響を少なくし閾値が変化しないように光源を取り付けました。そうすることで閾値の計算を簡単にすることで、2値化の処理を簡略化しています。カメラで読み取る際の重要なアイテムになっています。

LED OFF

LED ON

白色LEDを18個並べています。特に光量を計算したわけでなく車体の前につけれるだけつけました。また、カメラが見ているところに光が効率よく行くように取り付け金具に角度を付けています。

LED

○ ロータリーエンコーダー

速度、移動距離の測定は必要です。速度が速くなってきますとラインをトレースしなくなってきます。この辺はカメラのシャッター速度とも関係していると思うのですが、現在調査していません。スピードの出し過ぎはコースアウトです。レーンチェンジ、クランクとここでも正確な速度制御と移動距離の測定が必要です。ライントレースよりも車体が大きく移動しますので、より複雑な処理が必要になりますので、速度はあまり出せません。また、処理した結果によって次の行動へ移行しますので、走行距離も大切になってきます。

ロータリーエンコーダー

○ 傾斜センサー

低速で走行させていますので、このままでは坂道を登らないので坂道かどうかを検出しています。低速で走行していますので、坂道を登りませんので必要なセンサーです。センサーはダイセン電子工業さんのロボットセンサーとして売られているものを購入したものを使用しています。現在、ダイセン電子工業さんのホームページ上には案内がありません。しかし、ロボプロショップでは売られているようです。

傾斜センサー

○ モータードライバ

 正転のみのモータードライバを作りました。作ったは良いのですが、逆転ブレーキが使えないので、マイコンカーラリーでは使い道がありませんでした。画像処理マイコンカーの速度は遅いので、逆転ブレーキは現在のところ必要ありませんので、せっかくですので使っています。しかし、そろそろ逆転ブレーキがほしいと思うところもあるので、キットのモータードライバに変更するかもわかりません。写真は、表面に色を塗っていませんが、車体に搭載のドライバはおしゃれにも気を配っていますので、配色しています。

モータードライバ

○ bluetooth

 画像処理は大量のデータを処理しなければなりません。普通のマイコンカーの用にEEPROMに書き込んでいたのでは容量が足りません。SDに保存しておくことも考えられますが、今後の課題としたいと思います。現在、画像処理マイコンカーの走りは速くありません。人間が伴走することも可能ですので、シリアルポートからデータを出力してパソコンで受信することが手っ取り早いです。最初、ケーブルをマイコンカーに垂らしてデータを見ながら処理をしていたのですが、パソコンは重たいし、歩くのもしんどいし、と言うことで浅草ギ研のbluetooth(AG-BT20E 現在生産中止)で無線化しました。値は張りますが、パソコンは持たなくても良いし、一緒に歩かなくても良いので、体力的に楽になりました。

bluetooth



次回はカメラでラインがどのように見えているかです。

  目次   >> カメラ視線