小型端末とイメージセンサを用いた移動体の作成 研究者 指導教官 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. 今後の課題 ・画像処理速度やシリアル通信速度を検討し、 処理速度の向上を図る。 ・被写体の形を認識して対象物かどうかを識別 する画像処理プログラムの作成 ・より的確なボール位置解析とスピード設定を 行う制御データ生成プログラムの作成
© Copyright 2025 ExpyDoc