課題番号 | 基盤(C)-23500070 |
期間 | 平成23〜25年度 |
代表者 | 泉知論(立命館大学) |
課題名 | 動的再構成による自律制御システムのための開発プラットフォーム |
災害・事故・火災現場、宇宙・深海・地下、原子力施設、など、人間が踏み込むことが困難な環境下での作業には、自ら認識・判断し制御する機器の実現が期待される。機械的観点からは、人間の遠隔操作による救助ロボット、深海作業船、宇宙機器などが実用化されており、既に一定の技術レベルに達していると言えるだろう。自律制御という点では、惑星/小惑星/衛星探査車などでは実現してはいるものの一部の先端的な分野に限られており、一般への普及にはまだ道のりは遠い。
自律制御の論理的基盤となるのは、認識と自律制御のアルゴリズムである。古典的なアルゴリズムとして、パタンマッチングによる画像認識、比例項・積分項・微分項による制御(Proportional, Integral, Derivative Control)などが挙げられる。アルゴリズムが比較的単純であり、それほど性能が高くない組込みプロセッサによるソフトウェア処理でも実現可能な半面、認識・制御の性能は限られる。近年の急激な計算機の高性能化を追い風として、AdaBoost による認識アルゴリズム、Particle Filter による追従制御、Neural Network による学習と制御など、数を頼みにした確率統計的な手法が提案されてきた。これらの手法はアルゴリズムレベルでは好結果が得られているものの、膨大な計算を要し、単純な実装では機器の大型化、電池性能不足、発熱の増大といった問題を招く。
高負荷計算に対する実装上の常套手段として、処理のハードウェア化が挙げられる。特に、これら確率統計的な手法では、処理単位相互の独立性が高く、並列動作による高効率な高速化が期待される。(ただし全体を集約する処理も存在し、工夫を要する。)一方で、専用ハードウェア化は、開発にかかる時間と経費が大きいため少量生産品への適用は難しく、さらに機能が固定であるため環境ごとの変更、状況に応じた作業時の変更ができない。これは、現在から近い将来にかけての自律制御機器の需要や使われ方に適する方法とは言い難い。
ハードウェアの性能とソフトウェアの柔軟性を併せ持つデバイスとして再構成可能ハードウェアの利用が考えられる。特に、近年(2008年頃〜)のデバイスは、回路の容量、速度、消費電力が大幅に改善され、実製品での利用も進んでいる。また、回路の動作中に回路の一部を書き換えることが可能な技術利用可能となっている(Xilinx社 Virtex シリーズの動的部分再構成など)。この技術により、動作中に状況に応じてその機能や性能を変えるような自律制御機器の実現が期待される。
動的再構成技術はデバイスとして発表されて10年ほどになるが、これまで研究のトピックとしては注目を集めつつも、実用には至っていない。その大きな要因は、設計支援技術にある。動的再構成可能デバイスが発表された当初は、デバイスの詳細アーキテクチャを熟知した設計者が再構成にかかる細部を人手で設計することでその機能を活用していた。それでは一般に普及すべくもなく、"おもしろい"動的再構成アーキテクチャを携えて起業したベンチャ企業の多くが、実機に(ほとんど)搭載されることなく消えていった。
一方で、再構成可能デバイスの大手企業ではデバイスとしては1990年代後半から動的部分再構成に対応していたものの、その詳細は一般には非公開とし、一部の大学や研究機関にのみ公開し設計支援ツールを提供していた。2000年前後には詳細配線まで人手で設計していたものが、2002年頃からはモジュール化設計に対応するようになり、2006年頃からはグラフィカルなユーザ・インターフェースが利用できるようになった。2010年から、ついに正式対応となり、通常の設計支援ツールとは別ライセンスではあるが、一般に公開されることとなった。設計支援ツールの熟成に10年以上の歳月を要した(かけた)ことになる。
最新版の設計支援ツールでは、動的部分再構成を行う領域を指定し、動的部分再構成する回路群を指定し、全体(部分再構成を行わない)部分と動的部分再構成するそれぞれの部分を個別にコンパイルすることで、動的再構成回路を設計できる。再構成の制御ユニットも組込み部品としてライブラリに登録されている。これにより、レジスタ転送レベルと呼ばれるディジタル回路設計の基本的な記述法で論理設計を行い、領域指定等一部物理的な指定を行うのみで、詳細アーキテクチャを考慮した物理レベル設計を行うことなく、設計することが可能となった。しかし、設計者の立場からすると、詳細物理レベル設計からは解法されたとはいえ、動的部分再構成の論理的振る舞いやタイミングを詳細に設計せねばならないことには変わりはなく、ディジタル回路設計に熟練者し、かつ、適応的アルゴリズムを深く理解したものでなければ活用は難しいであろう。広く一般に普及させるにはさらに設計を容易化する必要がある。
開発環境についてソフトウェアの場合と対比してみると、詳細物理設計まで人手で行うことがハンドアセンブルに、モジュール化設計などが可能となったことがマクロアセンブラに、そして、記述から論理合成ツールに任せて設計可能となったことがコンパイラに相当するであろう。一方で、その機能をどう使うのかの規範、あるいは便利な使い方は提供されていない。基本的な部品群である標準ライブラリや抽象化されたコンピュータ・システムとそれを利用するシステムコールを含むオペレーティング・システムがまだ整備されてない状態に相当するであろう。このような状況で目下求められるのは、抽象化された運用モデルと基本的な部品群であり、実アプリケーションの研究開発の試行と得られた知見のフィードバックによる進化のスパイラルを進めていかねばならない。
本課題では、自律制御機器、認識・制御アルゴリズム、ハードウェアの動的再構成を柱として、アルゴリズムの応用、ハードウェア・アルゴリズム、機器構成、そして実装について研究開発を進める。
本課題の研究開発目的は機器の研究開発のためのプラットフォームの構築である。対象アプリケーション領域は、画像認識と自律制御を行う機器であり、それは環境・状況変化に柔軟に適応するものとし、試作機として実現する。実装上の制約として、自律動作、実時間動作、小型、電池駆動を掲げる。プログラマブル・ハードウェアの動的再構成の効果的な活用=設計技術が鍵となる。特に、T.アルゴリズムのハードウェア化を支援する技術、U.動的部分再構成の運用モデル、Vプラットフォームとしてのシステム・アーキテクチャ、W.基本ライブラリ群の開発が鍵となる。
その中で、本課題では動的再構成を利用した(1)画像認識・自律制御システムの試作機の実装、(2)開発プラットフォームとしてのシステム・アーキテクチャの提案、(3)当該プラットフォーム向けの基本モジュールの開発と例示、(4)認識・自律制御のハードウェアアクセラレータの開発を目標とする。
本課題の特色は、小型・低消費エネルギーな画像認識・自律制御の実時間処理を狙いとしたものであり、動的再構成技術による環境・状況への適応、運用モデル、設計支援ツール、ライブラリなどを含めた実装技術に注力した点にある。自律制御機器を必要としているさまざまな分野において、高度な機器の研究開発を容易化することにより、普及を促進し、より安全、安心、快適、便利な社会の実現に貢献することが期待される。
前述の4つの項目について、研究開発を進めた。
提案プラットフォームの応用展開の実例として動的部分再構成可能なデバイスを搭載した自律移動ロボットカーの試作機を製作する。準備段階で製作していた初号機に対して、次のような改良を施した。
認識・自律制御システムを実現する際、処理の流れを体系化し、処理実体に割り付けていく。その共通化された受け皿となる、システム・アーキテクチャを提案する。本課題では、次の2点について研究開発を進めた。
以下の、プラットフォームの基幹をなすプロセッサや通信網、また画像認識のための基本的なモジュールについて、研究開発を進めた。
認識・自律制御の実現に向けて、画像認識、機械学習、人工知能に関する要素アルゴリズムのハードウェア化の検討を進めた。ここでは次のアルゴリズムを取り上げ、研究開発を進めた。
改良した自律移動ロボットカーの試作機を開発した(図1)。動的再構成可能なFPGAチップを搭載したボード、カメラ、モーターおよび制御回路、モニタを搭載している。FPGAチップを再構成することで様々なシステムを構築することができ、これまで色を認識してボールを追いかけるなど、基本的な動作を確認している。
![]() ![]() |
図1:改良した自律移動ロボットカー |
制御用ソフトコアプロセッサ COMET-II(改)と動的再構成スロットからなるシステムアーキテクチャ(図2)を規定した。また、ハードウェアアクセラレータ間の相互接続網としてトークンリングを採用し、動的再構成スロットの基本構成(図3)を規定した。(学会発表CE)
![]() |
図2:提案システム・アーキテクチャ |
![]() |
図3:再構成スロットの基本構成 |
制御用ソフトコアプロセッサ:公的試験で採用・公開されているCOMET IIプロセッサを制御用ソフトコアプロセッサとして設計し(図4)、割込機能などの拡張を行った。各FPGAベンダ専用のプロセッサに対して、動作周波数は半分程度であるが、規模も半分程度に小さく、ベンダ非依存に実装できる。(学会発表C)
![]() |
図4:設計したCOMET II(改)のブロック図 |
アクセラレータ間通信網のノードとインターフェース、動的再構成制御モジュール:アクセラレータ間のトークリング通信網のノードであり、かつ動的再構成スロットとのインターフェースとなる通信モジュール(図2右上から3、4番目)を設計した。Xilinx社FPGA XC5VLX50に実装し、回路規模は117Slices, 最大動作周波数は339MHzであった。また、同的再構成制御モジュール(図3左)を設計し、規模は34Slicesで最大動作周波数は853MHzであった。実際にFPGAボードで動作を確認し、これらは十分に小さく、高速である。(学会発表E)
高位合成向けラインバッファライブラリと畳み込みフィルタテンプレート:画像処理の基本フィルタである畳み込みフィルタについて、高速かつ高効率に処理するためにラインバッファ、ウィンドウバッファを用いたパイプライン構成をとることが多い。その基本部品であるラインバッファ、ウィンドウバッファをライブラリとして設計(図5)し、また、様々なタイプの畳み込みフィルタ、あるいは近傍から算出するフィルタを開発するためのテンプレートを作成した。旧来のハードウェア記述言語による設計に対して、最大動作周波数では30%劣るものの、回路規模は同等で、数行の変更で様々なフィルタに改造することができ、シミュレーションは21倍高速である。(学会発表D)
![]() |
図5:ラインバッファの構成 |
特徴量検出・記述アルゴリズムのハードウェア向けアーキテクチャの提案:SIFTは画像認識等に用いられる特徴量検出・記述アルゴリズムのひとつであり(図6)、拡大縮小、回転、光源変化に強いとされている。SIFTアルゴリズムの中で、計算負荷の高いDoG(Difference of Gausian)画像の生成と極地検出(図6右上)について、高位合成によるハードウェア化を検討し、アーキテクチャを提案した。SIFTは、組込みシステムで使われる比較的廉価なFPGAでも、監視カメラなどで一般的なVGAサイズに対して、100MHz程度の動作周波数で10fps程度の性能を見込む。(学会論文B)
![]() |
図6:SIFTアルゴリズムの概要 |
動画像中の光点追跡アルゴリズムのハードウェア化:高速で移動する物体を追跡するための高速カメラ向けの対象物追跡ハードウェアを設計した。システムを、大量だが一様なフロントエンドの処理を行うハードウェアと、頻度は低いが緻密な推定を行うバックエンドのソフトウェアに分割し、効率の良いシステムを構成する。ハードウェアにおいても、近傍を切り出し、また処理を並列化、パイプライン化することにより、さらなる高速化をはかった(図7)。Xilinx社FPGA XC5VLX30を対象に設計し、100Mpixes/sec 以上の高速画像に対して最大16個の光点を350nsのレイテンシで追従することができる。(学会発表A)
![]() |
図7:光点追跡ハードウェアのブロック図 |
表情認識アルゴリズムの検討:より高度な認識に向けて、人物の表情を認識するアルゴリズムの基礎検討を行った。AAM (Active Appearance Model)と局所的な Gabor DIrectional Patternに基づいた表情認識を行う手法を提案した。ソフトウェアとして実装し、94%の認識率を達成した。(雑誌論文@)