小型 CMOS カメラを搭載した自律制御型ロボットの開発 - FPGA を用いたリアルタイム並列分散処理システム信州大学 工学部 情報工学科 02T5094G 四十 正稔 1. まえがき ータを制御して,ターゲットを追尾しながら移動する. ロボットコンテストという世界がある.参加者が制作した自 律制御型ロボットによる競技会である.我々のグループ(プ ロジェクト GA)は平成 16 年 11 月情報創造プロジェクト(い わゆるエジソンプロジェクト)の活動の中でマイコンカーラリ ー北関東大会に参加した[1]. 自律制御型ロボットには,目となるセンサ,足となる DC モータとサーボモータ,パラメータ設定用の操作パネルなど の周辺装置で構成されており,これらをロボットの脳とも言 える H8 等の高性能マイコンにより一括集中して制御され る.しかし一括集中システムには欠点がある.複数の周辺 装置を割り込み等のマルチタスク処理によって,ソフトウエ 図1 開発した自律制御型ロボット 3.並列分散処理の導入 アベースで一括制御するため,マイコンへの負担が非常に 開発したロボットには並列分散処理を導入した. 大きい.まして小型カメラを搭載してロボットの目とした場合, 従来の自律制御型ロボットでは,図2左に示すように, 画像信号処理のために膨大なデータを処理する必要があ H8 等のなどの高性能マイコンを実装し,ソフトウエアによる るため,高性能マイコン単体で処理するのは非常に困難で 一括処理が用いられる.しかしこのような構成では,カメラ あった. の信号をリアルタイムに解析することができない.そこで今 本研究では,小型カメラを搭載しながらも円滑にロボット 回開発したロボットには図2右に示すように,ソフトウエアと を動作する自律制御型ロボットの開発した.それを実現さ ハードウエアが機能分担した並列分散処理システムを採 せる手法として従来のソフトウエアベースによるマルチタス 用した[2]. ク処理をソフトウエアとハードウエアが混在した並列分散処 理に置き換えロボットに組み込んだ.これにより自律制御 型ロボットでありながらも,小型カメラからの画像信号をリア ルタイム処理し,ロボットを動作させることが出来た. 本稿では,その具体的な内容について報告する. 2.自律制御型ロボットの開発 図1に開発した自律制御型ロボットの外観を示す.これら は,①小型の CMOS カメラ,②FPGA を実装した回路基盤, ③移動用のモータとそのドライバ回路④操舵用のサーボモ ータ⑤操作パネル⑥バッテリにより構成される. 図2 一括処理と並列分散処理の違い ロボットは,ターゲットの色を学習させると,ターゲットの位置 画像処理やモータの制御は,図3に示す専用のハード を小型カメラと画像処理によって割り出し,それを自動追尾す ウ エ ア が 分 担 し , 独 自 に 設 計 し た 12bit の プ ロ セ ッ サ る.追尾するターゲットの色は,操作パネルにより自由に設定 (YotoProcessor)を用いてソフトウエア処理を行っている. ができる.例えば,赤色のボールをカメラの中央に設置して, パネルを操作すると,その色差信号(U,V)が記録され,画像の これにより,ソフトウエア,ハードウエアの利点を生かした 開発が可能となり,処理効率が飛躍的に上昇した. 中からその色に近い成分が自動的に検出される.そして水平 (現に小型カメラのストリーミング的なデータ処理はハー 方向に 8 分割した領域の中から,検出した画素数が最大とな ドウエアベースの方が適しており,従来のソフトウエアベー る方向を求め,前輪に接続したサーボモータと,駆動用のモ スの処理よりも非常に効率が良い.) 7.制御用プロセッサの設計 制御用として図5に示す命令セットを持つオリジナルの 12bitRISC 型プロセッサ(YotoProcessor )を VHDL で開発 した.このプロセッサは,パイプライン処理も実装している. また,ソフトウエア開発を効率化するため,VC++を用いて 専用のクロスアセンブラの開発環境も整備した. 図3 試作機の基本構成 5.開発環境 今回の開発では,システムを実現するために,FPGA (Field Programmable Gate Array)と称するプログラマブル な半導体デバイスを使用した.FPGA はハードウエア記述 言語(VHDL)で記述された設計図を半導体デバイスにダウ ンロードすることで,その半導体デバイス内に自由に回路 を作製することができるというものである.[3] 今 回 の 開 発 で は , FPGA に ALTERA 社 の FLEX 図5 命令セット EPF10K30EQC208-3 を,ハードウエア記述言語(VHDL) の総合開発環境に同 ALTERA 社の Quartus II 4.2sp1 8.試作したロボットの評価 追尾するターゲットに赤いボールを使用し,試作した自 Web Edition Full を使用した.図 4 にその例を示す. 動追尾ロボットの動作を評価した.照明が明るく背景内に 同じ赤系統のない場合は,ターゲットを正確に識別し,そ の方向に向かって自動追尾することを確認した.また,ター ゲットの素早い動きにも,スムーズに追尾した.さらにター ゲットの色を変えても正常に動作した.しかし,背景に学習 させた色に近い色が多い場合や,照明の照度が足りない 場合は誤動作することがあった. 図4 開発画面 5.リアルタイム画像信号処理 今回 は ,小 型 で 8bit の A/D 変換 回 路 を内 蔵 した 9.まとめおよび今後の課題 • 小型カメラを円滑に動作させることが出来た. • ターゲットをリアルタイムに認識しスムーズに自動追尾 OmniVision 製の CMOS カメラ(OV7620)を使用した[4]. その仕様を以下に示す. ・解像度 640(H)×480(V) ・30 フレーム/秒 させることが出来た. • FPGA により,ハードウエアとソフトウエアが機能分担す る並列分散処理の有効性を確認した. 今後の課題は,①ターゲットの形状をリアルタイムに識 ・輝度信号 Y(8bit),色差信号 U V(8bit) 別する検出方法と,②外部の環境に左右されず識別する ・電源 3.3V,13.5MHzクロック 検出方法を確立することである. 主な画像処理の手順は以下のようになる. また,本研究は,処理をハードウエアとソフトウエアに役 (1) 例えば赤色のボールをカメラの中央に配置してパ 割分担することにより効率よく処理することができた.これ ネルの操作により,その色差信号(U,V)を記録する. はロボットの開発に限らず,より多くの分野に応用できるも (2) 1 フレームを横方向に 8 分割し,記録したターゲット のと考える.今後は本研究での経験を生かし,他の分野で の色差信号と一定の距離を有する画素数を領域毎に も新たな可能性を模索していきたいと強く願う. カウントする. (3) 8 つの領域において,最もカウント数の多い領域を ターゲットの中心とみなして,位置データを統括プロセ ッサへ転送する. 以上の処理をフレーム毎(1/30 秒)に行うことにより,ほぼ リアルタイムにターゲットの位置を検出することができる. 参考文献 [1] 四十,菊田:「エジソンプロジェクト報告書」2003 [2] 小澤:「FPGA を用いたウェアブルシステムの低消費電力化 に関する研究」H17 年度修士論文 [3] 「HDL による高性能ディジタル回路設計」CQ 出版 2003 [4] ハン:「指先画像を用いたウェアブル補助入力システムの研 究」H17 年度修士論文
© Copyright 2024 Paperzz