小型端末とイメージセンサを用いた移動体の作成

小型端末とイメージセンサを用いた移動体の作成
研究者
指導教官
1.
はじめに
本来、カメラで取得した画像を解析して、自
動制御を行なう模型は高価である。本研究ではこ
れを安価で作成することを目標としている。
製作する自走ロボットは、 PHS に取り付ける
小型デジタルカメラ(Treva)を用いて画像処理
を行う。さらに入出力を制御できるワンチップマ
イコン(PIC)を用いてモータの制御を行う。最
終的にはボールを追いかけることのできるような
ロボットの完成を目標とする。
図 1:システム構成図
2.
ハードウェア概要
自 走 ロ ボ ッ ト は 2 モーターによる模型に、
Treva と呼ばれるカメラとモータを制御する装置
(PIC 基板)、画像を処理する Zaurus と呼ばれる小
型パソコンを搭載する。これらは、1つの
RS232C ケーブルで接続する。自走ロボットは、
Treva で模型の走行フィールドの画像を取得し、
Zaurus で画像データを逐次解析しながら、制御プ
ログラムによりボールの追跡を行う。
2 . 1 P I C とは
コンピュータの周辺機器との接続部分を制御す
るために開発された IC である。
本研究では,以下のような利点に注目した。
・メモリ・入出力回路をすべて1個の IC に内臓。
・メモリが EEPROM なので、何度でもプログ
ラムを即時消去し簡単に書き換え可能。
Zaurus にはシリアル通信で接続する。
2 . 2 Z a u r u s とは
今回使用した携帯情報機器(PDA)の Zaurus
C-700 は、Linux を搭載しており、以下の利点が
ある。
・小型で模型に搭載可能
・ディスプレイ、キーボードが付属している
・デスクトップでも同じ実験が可能
島田悠一・野尻益未
斎藤徹
・Linux を搭載しているため、通信プログラム
が容易に作成可能
2 . 3 T r e v a とは
Treva とは、京セラが開発した feel H“専用小
型デジタルカメラユニットである。画像サイズは
96×72dot(横×縦)である。
利点として、小型軽量であり、3.3V の電源で
動作可能である。さらにクロック端子とデータ端
子だけで簡単に Zaurus と接続でき、画像を取得
するプログラムがインターネット上で公開されて
いるため、Treva を採用した。
3.
プログラム概要
3 . 1 P I C 側プログラム
Zaurus から送られてくる制御データに応じてモ
ータを駆動する。
Zaurus に受信受付可能を示す”OK”メッセージ
を送る。そして Zaurus から送られてくる制御デ
ータを受信し、その値をもとに PWM(パルス幅
変調)を用いてモータの速度を調節する。
次のようなデータ形式を採用する。
0
1∼3
4
5∼7
:データのモード
:左モータ速度
:コンマ
:右モータ速度
図 2:制御データ形式
3 . 2 Z a u r u s 側プログラム概要
Zaurus 側プログラムでは、まず Treva から画像
を取得し、その画像をもとに画像処理を行う。さ
らに対象物の位置情報に基づいて制御データを生
成し、PIC に送信する。
3 . 2 . 1 T r e v a からの画像取得
Treva との通信には、シリアル通信で使わない
信号線の RTS・CTS を用いる。さらに斎藤教官が
作成した treva.o モジュールを用いて取得する。
高速な通信を行うために入出力ポートを高速に制
御する必要があるため、専用のカーネルモジュー
ルを使用した。
3 . 2 . 2 画像処理
Treva で取り込んだ画像は輝度と青・赤の色差に
よる YUV 形式である。この形式は色の扱いが画
像処理に向いていないので他形式に変換する。
RGB 形式は 1 つの色を表現するのに赤・緑・青の 3
つのパラメータを用いるため、色の判定が煩雑に
なる。このため本研究では色の識別を 1 つのパラ
メータで表せる HSV 形式を用い、変換公式に応
じた YUV から HSVへの変換テーブルを作成して
おく。変換テーブルの使用により、演算時間を省
き、高速化を図る。
本研究では、ボールを認識できればよいので、
8bit の厳密な色情報は必要ないと考える。そこで、
YUV の上位 4bit の変換テーブルを作成し、メモ
リの節約を図る。
HSV の値により色を ID 化する。S と V の値で
白・黒を決定し、H の値で赤・黄色・緑・水色・青・紫
を決定する。
1 画面を 6 つのマスに分割する。さらに対象物
の重心と画面の中心の
距離を求め、対象物の
重心がどのマス内に存
在しているかを求める。
どのブロックに存在し
ているかに応じて左右
のモータのスピードを
変化させ、左右旋回さ
せる。
図 5:方向解析
4.
現在までの成果
ハードウェアは完成した。完成模型を図 6 に示
す。
図 3 は、HSV に変換し、ID
化した結果である。図中の
‘+’は、赤の重心をとったも
のである。ボールを追いかけ
る際に、目標座標として重心
を使用するためである。
図 3:画像処理例
重心の求め方は次のようにする。
1.1 画素ずつデータ(ID)を読み込む
2.赤の ID である座標の総和をとる
3.2 を赤の ID である画素数で割る
<H S V 形式とは>
色を、色を表す色相 H、鮮やかさを表す彩度 S、
明るさを表す明度 V をパラメータとする形式。
この形式は、色相のパラメータだけで色の識別が
できるため分かりやすく、周囲の明るさによる影
響が小さい。また、色の判断処理のプログラムも
簡単に作成できる。
それぞれのパラメータは、色相 H は 0~359、彩度
S と明度 V は 0.0~1.0 である。
<T r e v a の Y U V 形式>
Treva ではデータ量を減らすため、青の色差で
ある U・赤の色差である V は 2 ドット毎であり、
16bit のデータで構成される。
1 ピクセル分のデータ構成
15 14 13 12 11 10 9 8
7 6 5 4 3 2 1 0
色差信号 U,V
輝度値 Y
図 4:Treva の画像データ構造
3 . 2 . 3 制御データ生成
本研究では赤いボールに向かって走るプログラ
ムを開発する。そのために画像処理によって求め
られた対象物の重心を用いる。
図 6:模型全体写真
Treva から画像を1枚取得するのに 0.5 秒かか
る。さらに PIC では、Zaurus からの制御信号をう
けとり PWM 信号をモータに送信する処理を、サ
ンプリング周期 0.4 秒で行っている。
Treva から画像を取得して、そのデータをもと
にモータが動くことを確認した。ここで重心計算
の際に、ボールの認識をせず色情報のみに依存し
ているため、ボールと同系色の物体を誤認識する
という問題が残った。また、制御データの生成に
おいて、ボールの方向に模型を動かすことはでき
たが、現段階の方向制御では、左右それぞれ 3 パ
ターンのスピード設定しかないため、精度には問
題が残った。
5.
今後の課題
・画像処理速度やシリアル通信速度を検討し、
処理速度の向上を図る。
・被写体の形を認識して対象物かどうかを識別
する画像処理プログラムの作成
・より的確なボール位置解析とスピード設定を
行う制御データ生成プログラムの作成