TOP > 国内特許検索 > ハードウェアプラットフォーム及びハードウェアプラットフォームを用いたハードウェアの操作方法 > 明細書

明細書 :ハードウェアプラットフォーム及びハードウェアプラットフォームを用いたハードウェアの操作方法

発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2017-156862 (P2017-156862A)
公開日 平成29年9月7日(2017.9.7)
発明の名称または考案の名称 ハードウェアプラットフォーム及びハードウェアプラットフォームを用いたハードウェアの操作方法
国際特許分類 G06F   9/445       (2006.01)
G06F   9/54        (2006.01)
FI G06F 9/06 640Z
G06F 9/06 640C
G06F 9/06 610A
請求項の数または発明の数 7
出願形態 OL
全頁数 10
出願番号 特願2016-037660 (P2016-037660)
出願日 平成28年2月29日(2016.2.29)
新規性喪失の例外の表示 申請有り
発明者または考案者 【氏名】田向 権
【氏名】石田 裕太郎
【氏名】森江 隆
出願人 【識別番号】504174135
【氏名又は名称】国立大学法人九州工業大学
個別代理人の代理人 【識別番号】100090697、【弁理士】、【氏名又は名称】中前 富士男
【識別番号】100176142、【弁理士】、【氏名又は名称】清井 洋平
【識別番号】100127155、【弁理士】、【氏名又は名称】来田 義弘
審査請求 未請求
テーマコード 5B376
Fターム 5B376EA06
5B376GA13
要約 【課題】ハードウェアの操作が容易にできるハードウェアプラットフォーム及びハードウェアプラットフォームを用いたハードウェアの操作方法を提供する。
【解決手段】複数のハードウェアと接続し、各ハードウェアを操作するアプリケーションソフトウェアの動作環境を構築するミドルウェアが実装されたハードウェアプラットフォーム10は、ミドルウェアにより動作環境が構築され、アプリケーションソフトウェアが実行される処理手段24を備えたソフトウェアユニット22と、ソフトウェアユニット22と接続すると共に、アプリケーションソフトウェアの中の特定アプリケーションソフトウェアの操作対象となる複数のハードウェアと接続し、ソフトウェアユニット22で特定アプリケーションソフトウェアが実行される際に、特定アプリケーションソフトウェアによるハードウェア処理を行う演算回路が形成されるハードウェアユニット23とを有する。
【選択図】図3
特許請求の範囲 【請求項1】
複数のハードウェアと接続し、前記複数のハードウェアを操作する複数のアプリケーションソフトウェアの動作環境を構築するミドルウェアが実装されたハードウェアプラットフォームにおいて、
前記ミドルウェアにより前記動作環境が構築され、複数の前記アプリケーションソフトウェアが実行される処理手段を備えたソフトウェアユニットと、
前記ソフトウェアユニットと接続すると共に、前記アプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアの操作対象となる複数の前記ハードウェアと接続し、前記ソフトウェアユニットで前記特定アプリケーションソフトウェアが実行される際に、該特定アプリケーションソフトウェアによるハードウェア処理を行う専用の演算回路が形成されるハードウェアユニットとを有することを特徴とするハードウェアプラットフォーム。
【請求項2】
請求項1記載のハードウェアプラットフォームにおいて、前記ハードウェアユニットは、前記処理手段と接続し、前記特定アプリケーションソフトウェアを実行する第2の処理手段と、該第2の処理手段と接続し前記ハードウェア処理を行う前記演算回路が形成される実行手段とを有することを特徴とするハードウェアプラットフォーム。
【請求項3】
請求項1又は2記載のハードウェアプラットフォームにおいて、前記ミドルウェアはロボット向けミドルウェアであることを特徴とするハードウェアプラットフォーム。
【請求項4】
複数のハードウェアと接続し、前記複数のハードウェアを操作する複数のアプリケーションソフトウェアの動作環境を構築するミドルウェアが実装されたハードウェアプラットフォームを用いたハードウェアの操作方法において、
前記ハードウェアプラットフォームに、前記ミドルウェアにより前記動作環境を構築して、複数の前記アプリケーションソフトウェアを実行する処理手段を備えたソフトウェアユニットと、
前記ソフトウェアユニットと接続すると共に、前記アプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアの操作対象となる複数の前記ハードウェアと接続し、前記ソフトウェアユニットで前記特定アプリケーションソフトウェアが実行された際に、該特定アプリケーションソフトウェアによるハードウェア処理を行う専用の演算回路を形成するハードウェアユニットとを設けることを特徴とするハードウェアプラットフォームを用いたハードウェアの操作方法。
【請求項5】
請求項4記載のハードウェアプラットフォームを用いたハードウェアの操作方法において、前記ハードウェアユニットに、前記処理手段と接続して前記ハードウェア処理を実行する第2の処理手段と、該第2の処理手段と接続し前記ハードウェア処理を行う前記演算回路が形成される実行手段とを設けることを特徴とするハードウェアプラットフォームを用いたハードウェアの操作方法。
【請求項6】
請求項4又は5記載のハードウェアプラットフォームを用いたハードウェアの操作方法において、前記特定アプリケーションソフトウェアには、前記演算回路を形成する情報を予め設けておくことを特徴とするハードウェアプラットフォームを用いたハードウェアの操作方法。
【請求項7】
請求項4~6のいずれか1項に記載のハードウェアプラットフォームを用いたハードウェアの操作方法において、前記ミドルウェアにはロボット向けミドルウェアを使用することを特徴とするハードウェアプラットフォームを用いたハードウェアの操作方法。
発明の詳細な説明 【技術分野】
【0001】
本発明は、複数のハードウェアと接続し、複数のハードウェアを操作する複数のアプリケーションソフトウェアの動作環境を構築するミドルウェアが実装されたハードウェアプラットフォーム及びハードウェアプラットフォームを用いたハードウェアの操作方法に関する。
【背景技術】
【0002】
近年、家庭や病院等で人間をサポートするホームロボット(サービスロボット)への関心が高まっている。ホームロボットの実現には、様々なハードウェアやソフトウェアの統合が必要である。しかし、その全てを独自開発することは事実上不可能である。そこで、例えば、ロボットオペレーティングシステム(ROSともいう)等のロボット向けミドルウェアを用いて、多様なオープンソースの活用を可能にして、開発の効率化を図っている。
また、ホームロボットは、人間との間で円滑なコミュニケーションを行う必要があり、例えば、非特許文献1、2に示すような画像認識や音声認識等の知的処理が求められている。
【先行技術文献】
【0003】

【非特許文献1】S.Lee and K.Horio:“Human Tracking using Particle Filter with Reliable Appearance Model",Proc.of SICE Annual Conference(SICE),pp1418‐1424,2013.
【非特許文献2】松原弘樹、田中宙夫、森江隆:”RGB-Dセンサにより検出される人の頭部・顔表面の3D構造を用いた人物検出・顔認識”、第2回インテリジェントホームロボティクス研究会予稿集、2015
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に、画像認識や音声認識等の知的処理を行う場合、カメラやマイクロフォンから得られる多量の情報を短時間で処理する必要がある。しかし、ホームロボットに搭載される規模の演算処理装置(例えば、パーソナルコンピュータ)を用いたソフトウェア処理では、多量の情報を実時間処理(実際のコミュニケーションの進行に合わせて順次処理)することは困難である。
一方、専用の処理回路を用いた処理では、多量の情報を実時間処理することが可能になるが、ロボット向けミドルウェアにより構築された動作環境において、専用の処理回路を操作するには、ハードウェア記述言語を使用したプログラムが必要となり、高度な専門知識が要求されるという問題がある。そこで、専用の処理回路を作製する代わりに、例えば、FPGA(Field Programmable Gate Array)内に専用の処理回路(デジタル回路)を形成して、多量の情報を実時間処理することが提案されている。しかしながら、FPGAを用いる場合でも、ホームロボットに使用されるハードウェアに応じてロボット向けミドルウェア内の一部のソフトウェア(例えば、通信ソフトウェア等)を組み換える必要があり、制御システム全体を再構成することになる。このため、FPGAは、使い勝手が非常に悪いという問題を有している。
【0005】
本発明はかかる事情に鑑みてなされたもので、ミドルウェア上でアプリケーションソフトウェアを用いて、多量の情報処理を伴うハードウェアの操作を容易に行うことが可能なハードウェアプラットフォーム及びハードウェアプラットフォームを用いたハードウェアの操作方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
前記目的に沿う第1の発明に係るハードウェアプラットフォームは、複数のハードウェアと接続し、前記複数のハードウェアを操作する複数のアプリケーションソフトウェアの動作環境を構築するミドルウェアが実装されたハードウェアプラットフォームにおいて、
前記ミドルウェアにより前記動作環境が構築され、複数の前記アプリケーションソフトウェアが実行される処理手段を備えたソフトウェアユニットと、
前記ソフトウェアユニットと接続すると共に、前記アプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアの操作対象となる複数の前記ハードウェアと接続し、前記ソフトウェアユニットで前記特定アプリケーションソフトウェアが実行される際に、該特定アプリケーションソフトウェアによるハードウェア処理を行う専用の演算回路が形成されるハードウェアユニットとを有する。
【0007】
前記目的に沿う第2の発明に係るハードウェアプラットフォームを用いたハードウェアの操作方法は、複数のハードウェアと接続し、前記複数のハードウェアを操作する複数のアプリケーションソフトウェアの動作環境を構築するミドルウェアが実装されたハードウェアプラットフォームを用いたハードウェアの操作方法において、
前記ハードウェアプラットフォームに、前記ミドルウェアにより前記動作環境を構築して、複数の前記アプリケーションソフトウェアを実行する処理手段を備えたソフトウェアユニットと、
前記ソフトウェアユニットと接続すると共に、前記アプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアの操作対象となる複数の前記ハードウェアと接続し、前記ソフトウェアユニットで前記特定アプリケーションソフトウェアが実行された際に、該特定アプリケーションソフトウェアによるハードウェア処理を行う専用の演算回路を形成するハードウェアユニットとを設ける。
【発明の効果】
【0008】
第1の発明に係るハードウェアプラットフォーム及び第2の発明に係るハードウェアプラットフォームを用いたハードウェアの操作方法においては、ハードウェアプラットフォームに、ミドルウェアにより動作環境が構築され、複数のアプリケーションソフトウェアが実行されるソフトウェアユニットを有するので、ソフトウェアユニットから複数のハードウェアを複数のアプリケーションソフトウェアを用いて操作することが可能となる。
【0009】
また、ハードウェアプラットフォームが、アプリケーションソフトウェアの中で予め決められた特定アプリケーションソフトウェアが実行される際、特定アプリケーションソフトウェアによるハードウェア処理を専用の演算回路を形成して行うハードウェアユニットを有するので、特定アプリケーションソフトウェアによるハードウェア処理を迅速に行うことができる。その結果、特定アプリケーションソフトウェアによるハードウェア処理の実時間処理(リアルタイム処理)が可能になる。
更に、アプリケーションソフトウェアの実行が、ソフトウェアユニットとハードウェアユニットでそれぞれ分散して行われることになり、ソフトウェアユニットとハードウェアユニットの性能をそれぞれ処理内容に応じて決めることができ、ハードウェアプラットフォームの低コスト化、低消費電力化が可能になる。
【図面の簡単な説明】
【0010】
【図1】本発明の第1の実施の形態に係るハードウェアプラットフォームが設けられたホームロボットの構成を示す説明図である。
【図2】ホームロボットのソフトウェアシステムのブロック図である。
【図3】本発明の第1の実施の形態に係るハードウェアプラットフォームのブロック図である。
【図4】実施例で使用した評価システムの説明図である。
【発明を実施するための形態】
【0011】
続いて、添付した図面を参照しつつ、本発明を具体化した実施の形態につき説明し、本発明の理解に供する。
図1、図3に示すように、本発明の第1の実施の形態に係るハードウェアプラットフォーム10は、ミドルウェアとしてロボット向けミドルウェアが実装され、例えば、ホームロボット11に搭載されてホームロボット11に設けられた複数のハードウェア(センサ、アクチュエータ、サーボモータ、表示装置、WEBカメラ等)とそれぞれ接続すると共に、複数のハードウェアを操作する複数のアプリケーションソフトウェアが搭載された制御装置13と、例えば、LANケーブル14を介して接続し、制御装置13からロードされた複数のアプリケーションソフトウェアが実行される際の動作環境を構築している。なお、制御装置13は、例えば、パーソナルコンピュータを用いて構成することができる。

【0012】
ホームロボット11に設けられた複数のハードウェアを複数組み合わせて操作することにより、例えば、図1に示すように、ホームロボット11に対する聴覚情報(音声信号)を取得して処理する聴覚情報取得手段15、ホームロボット11で聴覚情報を作成して発信する聴覚情報発信手段16、ホームロボット11の周囲の視覚情報(画像信号)を取得して処理する視覚情報取得手段17、視覚情報取得手段17で認識された対象物までの距離を測定する測域センサ18、ホームロボット11の移動手段19、ホームロボット11が認識した対象物を表示する表示手段20、ホームロボット11が物体をつかむ際に使用する物体把持手段21等を有するハードウェアシステム12を構成することができる。

【0013】
また、制御装置13に搭載された複数のアプリケーションソフトウェアを複数組み合わせることにより、図2に示すように、ホームロボット11に必要とされる各種クライアントアプリケーション(以下、CApという)、例えば、画像処理CAp、物体認識CAp、音声認識CAp、音声合成CAp、移動制御CAp、物体把持制御CAp、サーボモータ制御CAp等を有するソフトウェアシステムを構成することができる。なお、制御装置13には、上記の各種CApを統括する(協調動作させる)サーバアプリケーションが設けられ、ハードウェアプラットフォーム10には、移動制御CApと連携して実行されるSLAMナビゲーションCApが設けられている。

【0014】
図3に示すように、ハードウェアプラットフォーム10は、ロボット向けミドルウェアにより制御装置13からロードされる複数のアプリケーションソフトウェアの動作環境が構築されて、複数のアプリケーションソフトウェアを同時に実行することが可能なソフトウェアユニット22を有している。
更に、ハードウェアプラットフォーム10は、ソフトウェアユニット22と接続すると共に、ソフトウェアユニット22にロードされた複数のアプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアの操作対象となる複数のハードウェアと接続し、ソフトウェアユニット22で特定アプリケーションソフトウェアが実行される際に、特定アプリケーションソフトウェアにより操作されるハードウェアによるハードウェア処理を専用に行う演算回路が形成されるハードウェアユニット23を有している。

【0015】
ソフトウェアユニット22は、制御装置13からロードされる複数のアプリケーションソフトウェアを保存するメモリー手段(図示せず)と、ロボット向けミドルウェアにより構築された動作環境の下で、複数のアプリケーションソフトウェアをそれぞれ単独で、又は同時に実行する処理手段24とを有し、例えば、パーソナルコンピュータを用いて構成することができる。なお、SLAMナビゲーションCApは、ソフトウェアユニット22に搭載されている。

【0016】
ハードウェアユニット23は、ソフトウェアユニット22の処理手段24と接続し、処理手段24で特定アプリケーションソフトウェアが実行された際、特定アプリケーションソフトウェアによりハードウェアの操作を行う第2の処理手段25(プロセッサーシステム(PS)部ともいう)を有している。更に、ハードウェアユニット23は、第2の処理手段25と通信して、特定アプリケーションソフトウェアにより操作されたハードウェアによるハードウェア処理を行う演算回路を形成してハードウェア処理を実行する実行手段26(プログラマブルロジック(PL)部ともいう)を有している。
ここで、実行手段26は、一部のハードウェア処理に対しては演算回路を形成して実行し、残部のハードウェア処理に対しては演算回路形成の指示を行う第1の実行部27と、第1の実行部27が演算回路形成を指示した際に、演算回路を形成してハードウェア処理を実行する第2の実行部28とを有している。なお、演算回路を形成するために必要な情報は、予め特定アプリケーションソフトウェアに設けおく。

【0017】
ハードウェアユニット23に、第2の処理手段25(PS)と実行手段26(PL)を設けることにより、特定アプリケーションソフトウェアによるハードウェア処理を実行する際、大量の演算を伴う処理は実行手段26(PL)で、複雑な演算を伴う処理は第2の処理手段25(PS)でそれぞれ行うように(分散処理)することができる。実行手段26では大量の演算処理を専用の演算回路を用いて実行するので、演算時間を短縮することができる。その結果、特定アプリケーションソフトウェアによるハードウェア処理に要する時間を短縮することが可能になる。

【0018】
ここで、ハードウェアユニット23の第2の処理手段25(PS)は、例えば、マイクロプロセッサユニットを用いて、実行手段26(PL)は、例えば、FPGA(Field Programmable Gate Array)を用いてそれぞれ形成することができる。実行手段26(PL)をFPGAを用いて形成することにより、実行手段26(PL)をコンパクトに(省スペース化)することができると共に、省電力化することができる。更に、第2の実行部28に形成される演算回路は書き換え可能なので、特定アプリケーションソフトウェア毎に演算回路を形成することができる。その結果、様々なハードウェア処理を実行することが可能になる(ハードウェアユニット23を使用する際の自由度が向上する)。

【0019】
そして、ハードウェアユニット23を、第2の処理手段25(PS)と実行手段26(PL)を1つの半導体チップ上に集積し、インプット及びアウトプット等の周辺回路を一体化したシステム、例えば、ZedBoard等を用いて構成すると、ロボット向けミドルウェアの動作環境上で動作するミドルウェアを備えたオペレーティングシステムをPSに実装することにより、ソフトウェアユニット22から、PSとPLを操作することが可能になる。これによって、ソフトウェアユニット22やPSと接続したハードウェアからのデータをPLに送信してハードウェア処理することができる。

【0020】
続いて、本発明の第2の実施の形態に係るハードウェアプラットフォームを用いたハードウェアの操作方法について説明する。
本実施の形態になるハードウェアプラットフォームを用いたハードウェアの操作方法は、図3に示すように、ミドルウェアとしてロボット向けミドルウェアが実装され、ホームロボット11に搭載されてホームロボット11に設けられた複数のハードウェアから構成されるハードウェアシステム12と、複数のハードウェアを操作する複数のアプリケーションソフトウェアが搭載された制御装置13にそれぞれ接続して、制御装置13からロードされた複数のアプリケーションソフトウェアが実行される際の動作環境が構築されているハードウェアプラットフォーム10を用いたハードウェアの操作方法である。

【0021】
そして、ハードウェアの操作は、ハードウェアプラットフォーム10に、ロボット向けミドルウェアにより複数のアプリケーションソフトウェアの動作環境を構築して、複数のアプリケーションソフトウェアを実行するソフトウェアユニット22と、ソフトウェアユニット22と接続すると共に、アプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアの操作対象となる複数のハードウェアと接続し、ソフトウェアユニット22で特定アプリケーションソフトウェアが実行された際に、特定アプリケーションソフトウェアにより操作されるハードウェアによるハードウェア処理を行う専用の演算回路を形成するハードウェアユニット23とを設けて行っている。

【0022】
ここで、ソフトウェアユニット22には、ロボット向けミドルウェアにより動作環境が構築されて、複数のアプリケーションソフトウェアを実行する処理手段24を設けている。また、ハードウェアユニット23には、処理手段24と接続し、アプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアによるハードウェア処理を実行する第2の処理手段25と、第2の処理手段25と接続し、第2の処理手段25を介して特定アプリケーションソフトウェアにより操作されたハードウェアによるハードウェア処理を行う演算回路が形成される実行手段26とを設ける。

【0023】
ソフトウェアユニット22がロボット向けミドルウェアを実装するので、ロボット向けに開発された種々のハードウェアに対するオープンソース(例えば、ハードウェアの基本単位操作を行うアプリケーションソフトウェア、基本単位操作されたハードウェアによるハードウェア処理を示すアプリケーションソフトウェア)を容易に使用することが可能になる。このため、ホームロボット11に設けられたハードウェアシステム12を構成するハードウェアを操作するアプリケーションソフトウェアや操作されたハードウェアによるハードウェア処理を示すアプリケーションソフトウェアを、それぞれロボット向けオープンソースの中から選択した特定のオープンソースの集合体(以下、ROSパッケージという)とすることができる。

【0024】
従って、図3に示すように、ソフトウェアユニット22にロードされたアプリケーションソフトウェアをロボット向けミドルウェアで構築された動作環境下で実行すると、ソフトウェアユニット22では、アプリケーションソフトウェアを構成している複数のROSパッケージ間で通信(メッセージの交換)を行いながら、ハードウェアの基本単位操作(ROSパッケージによるアクチュエータの操作)と、基本単位操作されたハードウェアによるハードウェア処理(ROSパッケージによるセンサからのデータ収集及び処理)が進行する。

【0025】
ここで、画像認識や音声認識等の知的処理のように大量の演算実行が伴うアプリケーションソフトウェアを特定アプリケーションソフトウェアと予め設定しておくと、図3に示すように、特定アプリケーションソフトウェアをソフトウェアユニット22にロードすると、ソフトウェアユニット22からハードウェアユニット23の第2の処理手段25にROSパッケージをロードすることができ、ROSパッケージは、ハードウェアユニット23において実行される。即ち、ソフトウェアユニット22で実行するROSパッケージから、ハードウェアユニット23を操作することができる。

【0026】
ハードウェアユニット23では、ハードウェアの操作のように複雑な演算を伴う処理(例えば、WEBカメラに設けられたアクチュエータの操作、オープンソースを介したWEBカメラの操作)は、第2の処理手段25(PS)で行われる。一方、ハードウェアによるハードウェア処理のように大量の演算を伴う処理は実行手段26(PL)で、それぞれ分散して行われる。

【0027】
なお、実行手段26(PL)では、ROSパッケージによる一部のハードウェア処理、例えば、WEBカメラから得られた画像情報を単に表示装置に表示するように、単一のハードウェアによるハードウェア処理は、ROSパッケージ内に予め設けておいた演算回路を形成する情報に基づいて第1の実行部27内に演算回路を形成して実行する。
一方、ROSパッケージによる残部のハードウェア処理、例えば、センサで得られた情報に基づいてアクチュエータを操作するように、複数のハードウェアによる連携したハードウェア処理は、ハードウェア毎のROSパッケージ内に予め設けておいた演算回路を形成する情報に基づいて連携したハードウェア処理を行う演算回路の形成情報を第1の実行部27で作成し、第2の実行部28内に演算回路を形成して実行する。
【実施例】
【0028】
図4に示す評価システムを作製し、640×480[pixel]で1[Bpp]の情報量を持つ深度画像を用いた画像処理による性能評価を行った。
(1)第2の処理手段と実行手段間通信路の評価
第2の処理手段にオープンソースを介して接続するモーションキャプチャデバイスから取り込んだ画像を実行手段に送信した。第2の処理手段と実行手段間のレイテンシは2.25μs、フレームレートは74.45fpsであった。モーションキャプチャデバイスのフレームレートは30fpsなので、十分な通信速度を有していることが確認できた。
【実施例】
【0029】
(2)第2の処理手段でのモーションキャプチャデバイスの動作評価
第2の処理手段でモーションキャプチャデバイスから得られるフレームレートを評価した。なお、オープンソースには、OpenCV2.4.6とOpenNI2を用いた。30.07fpsの深度画像が得られた。この値は、モーションキャプチャデバイスのフレームレートのフレームレート30fpsと等しく、第2の処理手段でモーションキャプチャデバイスの性能を十分引き出せることが確認できた。
【実施例】
【0030】
(3)モーションキャプチャデバイスのデータを用いた画像処理性能評価
モーションキャプチャデバイスのデータを用いて第2の処理手段で処理し、第2の処理手段に接続した表示装置(図示せず)に表示する場合と、実行手段の第1の実行部で処理し、第1の実行部に接続した表示装置に表示する場合を評価した。第2の処理手段で処理した場合、30.07fpsの深度画像が得られた。また、第1の実行部で処理した場合、28.61fpsの深度画像が得られ、高い画像処理速度が確認できた。これにより、画像処理の実時間処理(リアルタイム処理)できることが分かった。
【実施例】
【0031】
以上、本発明を、実施の形態を参照して説明してきたが、本発明は何ら上記した実施の形態に記載した構成に限定されるものではなく、特許請求の範囲に記載されている事項の範囲内で考えられるその他の実施の形態や変形例も含むものである。
更に、本実施の形態とその他の実施の形態や変形例にそれぞれ含まれる構成要素を組合わせたものも、本発明に含まれる。
例えば、ハードウェアプラットフォームに自動運転車向けミドルウェアを実装すれば、自動車に設けられた複数のハードウェアを複数のアプリケーションソフトウェアで操作して、リアルタイムでハードウェア処理を行うことができる。
【符号の説明】
【0032】
10:ハードウェアプラットフォーム、11:ホームロボット、12:ハードウェアシステム、13:制御装置、14:LANケーブル、15:聴覚情報取得手段、16:聴覚情報発信手段、17:視覚情報取得手段、18:測域センサ、19:移動手段、20:表示手段、21:物体把持手段、22:ソフトウェアユニット、23:ハードウェアユニット、24:処理手段、25:第2の処理手段、26:実行手段、27:第1の実行部、28:第2の実行部
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3