低消費電力ロボット応用の為の FPGAコンポーネント化技術の研究開発(総務省SCOPE)プロジェクト

ROSxFPGA=OpenReroc Project

Japanese/ English

研究開発の目的と概要

 日常生活支援ロボットの実現においては、多種多様かつ複雑な処理を統合する必要がある。

 例えば、生活空間の状況を的確に把握し、サービス対象者のQoL(Quality of Life)を高めるサービスを可能とするためには、(1)カメラや各種センサ入力・(2)画像認識処理(例:ラベリング処理やSIFT, SURF等)・(3)大規模DBに基づく学習識別処理・(4)大規模DBに基づく行動計画・(5)アクチュエータ駆動、等の統合が必要である。

 特に(2)-(4)の処理は計算量および参照データサイズが非常に大きいため、遠隔のクラウド等の計算リソースやDBの活用が必須である。しかし、カメラ画像全体を転送することは通信帯域の圧迫と遅延増加につながる。そのため、転送情報量を減らす為の処理をロボット本体でローカルに行うことが必要である。その際、ロボット本体で行う処理において可能な限りの消費電力削減が必要とされる。

 一般に通常のマイクロプロセッサによるソフトウェア処理では、処理性能の向上にはクロック周波数を上げる必要があり電力消費が大きい。これに対しマルチコア・メニーコアによる並列化は、ソフトウェアの並列処理により性能向上することが期待できる。また画像表示用のプロセッサであるGPUを汎用的な計算に用いるGPGPUも盛んに研究されており、多くのアプリケーションで並列化による性能向上が報告されている。これらに対し、近年大容量化・高速化・低価格化が進んでいるFPGA(Field Programmable Gate Array)は、開発者が任意のディジタル処理回路をプログラムし、ファンが必要な低消費電力(数W程度)、低いクロック周波数(100MHz程度)でアプリケーションに応じて最適なハードウェア並列処理が可能であり、マルチコア・メニーコア・GPGPUと比較しても、更に電力効率の高いシステム構築が可能となることが期待される。

図1 提案するROS準拠FPGAコンポーネントによる日常生活支援ロボットのシステム開発

 一方FPGAには、マルチコア・メニーコア・GPGPUと比較してアプリケーション開発に時間がかかる問題がある。すなわちFPGAの実装にはハードウェア設計の知識が必要であり、ハードウェア記述言語(HDL:Hardware Description Language)を用いたクロックサイクル単位・ビット単位での並列処理の厳密な記述が必要であるため、設計生産性が低く、ロボットシステム開発に導入することは容易ではない。近年高位合成(HLS:High Level Synthesis)の技術が発展し、HDLの記述量を削減することが可能となってきたが、基本的にはハードウェア設計の知識が必要であって、一般のソフトウェア技術者が使用する段階には遠い。

 本研究の目的は、ロボット開発のプラットフォームとして主流となりつつあるROS(Robot Operating System)に準拠した形で、FPGAで実装された高効率なハードウェア回路のコンポーネント化を行うことで、ロボットシステム開発者がFPGAを容易にロボットシステムへ導入可能とすることである。具体的には、FPGA技術者がFPGAに対する入力/出力のプロトコルをROS標準に合わせたコンポーネントをロボット技術者に提供する事で、低消費電力・高性能のFPGAを、ROSソフトウェアからシームレスに使用可能とする。

 本研究開発においては、消費電力効率に優れたFPGA上のハードウェア画像認識処理回路をROSコンポーネントとして扱う為の、基礎設計と基本性能の実証システムを開発する。具体的には、FPGA上にアプリケーションに特化した画像認識処理回路を実装し、PC上のROSコンポーネントと協調処理するシステムにおいて、ソフトウェアと比べて10倍以上の性能電力比を実現する、実証システムの開発を行う。

 更に、日常生活支援ロボットの実証システム構築をめざし、ロボット研究者・脳型計算研究者等と連携してロボット開発を行う。具体的には、ロボット本体の処理とクラウド・ビックデータ処理を連携し、カメラ入力・画像認識処理・大規模DB参照による学習識別・大規模DB参照による行動計画・行動計画に基づくアクチュエータ駆動を統合し、提案コンセプトを実証するシステムを開発する。