(57)【要約】【課題】  被制御デバイスを適切に制御する。【解決手段】  センサー部１１，３１は、特定物理量に対応する実センサー信号を出力する。コントローラー２は、（ａ）被制御デバイス１および環境領域ＥＮＶの少なくとも一方の特定の状態情報をシミュレーション条件として環境領域ＥＮＶ内の特定事象のシミュレーションを行いシミュレーション結果を導出し、そのシミュレーション結果から特定物理量を仮想的に測定して実センサー信号に対応する仮想センサー信号を生成し、（ｂ）実センサー信号と仮想センサー信号とに基づいてシミュレーション条件を更新し、（ｃ）シミュレーション条件およびシミュレーション条件の少なくとも一方から、被制御デバイス１の制御信号を生成する。そして、実センサー信号と仮想センサー信号との誤差が収束するまで、反復的に、シミュレーションおよび仮想センサー信号の生成、並びにシミュレーション条件の更新を行う。【選択図】  図１
2020086569.tif 000002
【特許請求の範囲】
【請求項１】
ある環境領域内で固定されるか移動する被制御デバイスと、
前記環境領域または前記被制御デバイスに設置され特定物理量を測定し測定した前記物理量に対応する実センサー信号を出力するセンサー部と、
前記実センサー信号に基づいて前記被制御デバイスを制御するコントローラーとを備え、
前記コントローラーは、（ａ）前記被制御デバイスおよび前記環境領域の少なくとも一方の特定の状態情報をシミュレーション条件として前記環境領域内の特定事象のシミュレーションを行いシミュレーション結果を導出し、前記シミュレーション結果から、前記特定物理量を仮想的に測定して前記実センサー信号に対応する仮想センサー信号を生成するシミュレーターと、（ｂ）前記実センサー信号および前記仮想センサー信号に基づいて前記シミュレーション条件を更新するシミュレーション条件更新部と、（ｃ）前記シミュレーション条件および前記シミュレーション結果の少なくとも一方に基づいて、前記被制御デバイスの制御信号を生成する制御信号生成部とを備え、
前記実センサー信号と前記仮想センサー信号との間のセンサー誤差が所定条件を満たすように収束するまで、反復的に、（ａ）前記シミュレーターは、前記シミュレーションおよび前記仮想センサー信号の生成を行い、（ｂ）前記シミュレーション条件更新部は、前記シミュレーション条件の更新を行うこと、
を特徴とするデバイス制御システム。
【請求項２】
前記シミュレーション条件更新部は、前記実センサー信号と前記仮想センサー信号との間の前記センサー誤差に基づいて前記シミュレーション条件を更新することを特徴とする請求項１記載のデバイス制御システム。
【請求項３】
前記制御信号生成部は、（ａ）所定の制御モデルに従って前記シミュレーション条件から前記制御信号を生成して前記被制御デバイスの動作を決定し、（ｂ）前記環境領域内に他の自律動作物体が存在する場合、当該制御モデルと同一の制御モデルで前記他の自律動作物体が前記他の自律動作物体の動作を決定していると仮定して、前記他の自律動作物体の動作を推定し、（ｃ）推定した前記他の自律動作物体の動作を考慮して、前記制御信号を生成することを特徴とする請求項１または請求項２記載のデバイス制御システム。
【請求項４】
前記被制御デバイスは、機械的な動作を行う運動体であり、
前記制御信号生成部は、前記シミュレーション条件および前記シミュレーション結果の少なくとも一方に基づいて、前記運動体の姿勢制御および経路探索の少なくとも一方を行うこと、
を特徴とする請求項１から請求項３のうちのいずれか１項記載のデバイス制御システム。
【請求項５】
前記被制御デバイスは、電気設備制御システムであり、前記シミュレーション条件に基づいて、電気設備の制御を行うことを特徴とする請求項１から請求項３のうちのいずれか１項記載のデバイス制御システム。
【請求項６】
ある環境領域内で固定されるか移動する被制御デバイスまたは前記環境領域に設置され特定物理量を測定し測定した前記物理量に対応する実センサー信号を出力するセンサー部から前記実センサー信号を取得するステップと、
前記被制御デバイスおよび前記環境領域の少なくとも一方の特定の状態情報をシミュレーション条件として前記環境領域内の特定事象のシミュレーションを行いシミュレーション結果を導出するステップと、
前記シミュレーション結果から、前記特定物理量を仮想的に測定して前記実センサー信号に対応する仮想センサー信号を生成するステップと、
前記実センサー信号と前記仮想センサー信号とに基づいて前記シミュレーション条件を更新するステップと、
前記シミュレーション条件および前記シミュレーション結果の少なくとも一方に基づいて、前記被制御デバイスの制御信号を生成するステップとを備え、
前記実センサー信号と前記仮想センサー信号との間のセンサー誤差が所定条件を満たすように収束するまで、反復的に、前記シミュレーションおよび前記仮想センサー信号の生成、並びに前記シミュレーション条件の更新を行うこと、
を特徴とするデバイス制御方法。
【請求項７】
コンピューターを、ある環境領域、または前記環境領域内の被制御デバイスに設置され特定物理量を測定し測定した前記物理量に対応する実センサー信号を出力するセンサー部により得られた前記実センサー信号に基づいて前記被制御デバイスを制御するコントローラーとして動作させ、
前記コントローラーは、（ａ）前記被制御デバイスおよび前記環境領域の少なくとも一方の特定の状態情報をシミュレーション条件として前記環境領域内の特定事象のシミュレーションを行いシミュレーション結果を導出し、前記シミュレーション結果から、前記特定物理量を仮想的に測定して前記実センサー信号に対応する仮想センサー信号を生成するシミュレーターと、（ｂ）前記実センサー信号および前記仮想センサー信号に基づいて前記シミュレーション条件を更新するシミュレーション条件更新部と、（ｃ）前記シミュレーション条件および前記シミュレーション結果の少なくとも一方に基づいて、前記被制御デバイスの制御信号を生成する制御信号生成部とを備え、
前記実センサー信号と前記仮想センサー信号との間のセンサー誤差が所定条件を満たすように収束するまで、反復的に、（ａ）前記シミュレーターは、前記シミュレーションおよび前記仮想センサー信号の生成を行い、（ｂ）前記シミュレーション条件更新部は、前記シミュレーション条件の更新を行うこと、
を特徴とするデバイス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス制御システムに関するものである。
【背景技術】
【０００２】
一般的に、デバイス制御システムにおいて、移動体、ロボットなどといった運動体や、照明機器、空調機器などを制御する電子機器などといった被制御デバイスは、センサーで得られたセンサー信号に従ってコントローラーによって自動制御されたり、ユーザーからの指令に従って手動制御されたりする。
【０００３】
例えば、ある浮上移動システムは、被制御デバイスとしての飛行体と周辺領域とについて、周辺領域外部の空気の流れを定常流と仮定した流体−構造連成解析で飛行体の胴体の移動を計算し飛行体の挙動を特定して経路予測を行い、目標経路に近づくように羽の駆動を行う（例えば特許文献１参照）。また、例えば、被制御デバイスとしてのある自動車は、各種センサーのセンサー信号に基づいて自動運転を行っている（例えば特許文献２参照）。さらに、例えば、被制御デバイスとしてのある作業ロボットは、各種センサーのセンサー信号に基づいてアクチュエーターやモーターを制御して特定の動作を行う。さらに、例えば、スマートハウスは、各種センサーのセンサー信号に基づいて宅内電子機器（照明機器、空調機器など）を制御している（例えば特許文献３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２６３０７３号公報
【特許文献２】特開２０１８−１０６４３８号公報
【特許文献３】特開２０１３−１６９１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述のシステムでは、センサー信号に基づいて被制御デバイスが制御されているが、被制御デバイスが最適に制御されていない可能性がある。
【０００６】
例えば、センサー信号には直接的に表れない被制御デバイスの状態情報、被制御デバイス周辺の環境の状態情報などが制御に考慮されていない可能性がある。
【０００７】
また、例えば、特定の計算モデルに従ってセンサー信号から状態情報を計算し、その状態情報に基づいて制御が行われる場合、その計算モデルに起因する状態情報の計算値の誤差が考慮されていない可能性がある。
【０００８】
本発明は、上記の問題に鑑みてなされたものであり、被制御デバイスが適切に制御される制御システムを得ることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るデバイス制御システムは、ある環境領域内で固定されるか移動する被制御デバイスと、環境領域または被制御デバイスに設置され特定物理量を測定し測定した物理量に対応する実センサー信号を出力するセンサー部と、実センサー信号に基づいて被制御デバイスを制御するコントローラーとを備える。コントローラーは、（ａ）被制御デバイスおよび環境領域の少なくとも一方の特定の状態情報をシミュレーション条件として環境領域内の特定事象のシミュレーションを行いシミュレーション結果を導出し、シミュレーション結果から、特定物理量を仮想的に測定して実センサー信号に対応する仮想センサー信号を生成するシミュレーターと、（ｂ）実センサー信号および仮想センサー信号に基づいてシミュレーション条件を更新するシミュレーション条件更新部と、（ｃ）シミュレーション条件およびシミュレーション結果の少なくとも一方に基づいて、被制御デバイスの制御信号を生成する制御信号生成部とを備える。そして、実センサー信号と仮想センサー信号との間のセンサー誤差が所定条件を満たすように収束するまで、反復的に、（ａ）シミュレーターは、シミュレーションおよび仮想センサー信号の生成を行い、（ｂ）シミュレーション条件更新部は、シミュレーション条件の更新を行う。
【００１０】
本発明に係るデバイス制御方法は、ある環境領域内で固定されるか移動する被制御デバイスまたは環境領域に設置され特定物理量を測定し測定した物理量に対応する実センサー信号を出力するセンサー部から実センサー信号を取得するステップと、被制御デバイスおよび環境領域の少なくとも一方の特定の状態情報をシミュレーション条件として環境領域内の特定事象のシミュレーションを行いシミュレーション結果を導出するステップと、シミュレーション結果から、特定物理量を仮想的に測定して実センサー信号に対応する仮想センサー信号を生成するステップと、実センサー信号と仮想センサー信号とに基づいてシミュレーション条件を更新するステップと、シミュレーション条件およびシミュレーション結果の少なくとも一方に基づいて、被制御デバイスの制御信号を生成するステップとを備える。そして、実センサー信号と仮想センサー信号との間のセンサー誤差が所定条件を満たすように収束するまで、反復的に、シミュレーションおよび仮想センサー信号の生成、並びにシミュレーション条件の更新を行う。
【００１１】
本発明に係るデバイス制御プログラムは、コンピューターを、上述のコントローラーとして動作させる。
【発明の効果】
【００１２】
本発明によれば、被制御デバイスが適切に制御される制御システムなどが得られる。
【００１３】
本発明の上記又は他の目的、特徴および優位性は、添付の図面とともに以下の詳細な説明から更に明らかになる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態１に係るデバイス制御システムの構成を示す図である。
【図２】図２は、図１における被制御デバイス１およびコントローラー２の電気的構成を示すブロック図である。
【図３】図３は、図２におけるコントローラー２において実現される処理部の構成を示すブロック図である。
【図４】図４は、実施の形態１に係るデバイス制御システムの動作について説明するフローチャートである。
【図５】図５は、本発明の実施の形態２に係るデバイス制御システムの構成を示す図である。
【図６】図６は、実施の形態２に係るデバイス制御システムの動作について説明するフローチャートである。
【図７】図７は、本発明の実施の形態３に係るデバイス制御システムにおける被制御デバイス１を示す斜視図である。
【図８】図８は、本発明の実施の形態３に係るデバイス制御システムにおけるシミュレーションについて説明する図である。
【図９】図９は、実施の形態３における環境領域ＥＮＶの別の例について示す斜視図である。
【図１０】図１０は、本発明の実施の形態４に係るデバイス制御システムにおける被制御デバイス１を示す斜視図である。
【図１１】図１１は、本発明の実施の形態４に係るデバイス制御システムにおけるシミュレーションの一例について説明する図である。
【図１２】図１２は、本発明の実施の形態４に係るデバイス制御システムにおけるシミュレーションの別の例について説明する図である。
【図１３】図１３は、本発明の実施の形態５に係るデバイス制御システムにおける被制御デバイス１を示す斜視図である。
【図１４】図１４は、本発明の実施の形態５に係るデバイス制御システムにおけるシミュレーションについて説明する図である。
【図１５】図１５は、本発明の実施の形態６に係るデバイス制御システムにおける被制御デバイス１を示す斜視図である。
【図１６】図１６は、本発明の実施の形態６に係るデバイス制御システムにおけるシミュレーションについて説明する図である。
【図１７】図１７は、本発明の実施の形態６に係るデバイス制御システムにおける、他の自律動作物体のシミュレーションについて説明する図である。
【発明を実施するための形態】
【００１５】
以下、図に基づいて本発明の実施の形態を説明する。
【００１６】
実施の形態１．
【００１７】
図１は、本発明の実施の形態１に係るデバイス制御システムの構成を示す図である。図１に示すデバイス制御システムは、被制御デバイス１およびコントローラー２を備える。
【００１８】
被制御デバイス１は、各種動作を行う動作部１ａを備え、（ａ）環境領域ＥＮＶ内に固定され電気的な制御に従って動作部１ａを駆動する物体（少なくとも一部の構造が可動な運動体、電気設備を制御するシステムなど）、あるいは、（ｂ）環境領域ＥＮＶ内を移動し電気的な制御に従って動作部１ａを駆動する物体（つまり、移動体）である。
【００１９】
なお、環境領域ＥＮＶは、被制御デバイス１が存在する空間であり、ここでは、サイズや形状を予め設定される。環境領域ＥＮＶは、静止していてもよいし、移動してもよい。例えば、被制御デバイス１が移動体である場合、環境領域ＥＮＶを、被制御デバイス１の移動に従って移動させるようにしてもよいし、被制御デバイス１の移動に拘わらず静止させるようにしてもよい。
【００２０】
また、図１では、便宜上、被制御デバイス１、環境領域ＥＮＶなどを立方体で表現しているが、それらの形状やサイズは特に限定されるものではない。例えば、環境領域ＥＮＶを、所定のカメラの視野に含まれる領域の一部（例えばカメラから所定の距離範囲内の部分）としてもよい。
【００２１】
さらに、図１に示すデバイス制御システムは、被制御デバイス１に設置されたセンサー部１１、および環境領域ＥＮＶ内（被制御デバイス１外）に設置されたセンサー部３１を備える。センサー部１１，３１は、１または複数のセンサー、信号処理回路、通信回路などを備え、センサーで特定物理量（被制御デバイス１の制御に直接的または間接的に使用可能な物理量）を測定し、測定した物理量に対応する実センサー信号を信号処理回路、通信回路などで出力する。
【００２２】
そして、コントローラー２は、センサー部１１，３１の実センサー信号に基づいて被制御デバイス１を制御する電子デバイスである。コントローラー２は、被制御デバイス１の外部に設置されていてもよいし、被制御デバイス１の内部に設置されていてもよい。なお、コントローラー２が被制御デバイス１の外部に設置される場合、コントローラー２と被制御デバイス１との間で無線または有線のデータ通信が可能なように、所定通信規格のデータ通信回路がコントローラー２および被制御デバイス１にそれぞれ設けられる。
【００２３】
図２は、図１における被制御デバイス１およびコントローラー２の電気的構成を示すブロック図である。
【００２４】
図２において、被制御デバイス１は、上述の動作部１ａ、上述のセンサー部１１、および制御部１２を備える。
【００２５】
動作部１ａは、（ａ）電力で機械的な運動を行う内部デバイス（例えばモーター、アクチュエーターなど）、（ｂ）環境領域ＥＮＶに対して光、音、熱などを発する、機械的な運動を伴わず電気的な動作を行い環境領域ＥＮＶに対して作用する内部デバイス（例えば照明、熱源、音響出力装置など）などである。制御部１２は、コントローラー２からの制御信号に従って動作部１ａを電気的に制御する電子回路である。
【００２６】
なお、センサー部１１は、図２に示すようにコントローラー２に対して直接的に実センサー信号をコントローラー２へ送信するようにしてもよいし、制御部１２が、センサー部１１から実センサー信号を受信しコントローラー２へ送信するようにしてもよい。
【００２７】
また、図２において、コントローラー２は、演算処理装置２１、記憶装置２２、およびインターフェイス部２３を備える。
【００２８】
演算処理装置２１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを備えるコンピューターであり、ＲＯＭ、記憶装置２２などからプログラムを読み出してＲＡＭにロードし、ＣＰＵで実行することで、各種処理部として動作する。演算処理装置２１は、後述のシミュレーションの演算処理を高速に実行するための、専用アクセラレーターチップ、ＧＰＵ（Graphics Processing Unit）などの専用演算回路を備えていてもよい。
【００２９】
記憶装置２２は、フラッシュメモリー、ハードディスクドライブなどといった不揮発性の記憶装置であって、後述の処理に必要なデータやプログラムを格納している。記憶装置には、デバイス制御プログラム２２ａが記憶されている。なお、デバイス制御プログラム２２ａは、可搬性のあるコンピューター読取可能な記録媒体（コンパクトディスクなど）に格納され、その記録媒体から記憶装置２２にインストールされるようにしてもよい。
【００３０】
インターフェイス部２３は、被制御デバイス１（具体的には、センサー部１１、制御部１２など）やセンサー部３１との接続（つまり、実センサー信号、制御信号などの送受）を行う電子回路である。コントローラー２が被制御デバイス１の外部に配置される場合には、インターフェイス部２３には、上述のデータ通信回路（周辺機器インターフェイス、ネットワークインターフェイスなど）が含まれる。なお、外部のセンサー部３１が設けられている場合には、インターフェイス部２３は、そのようなデータ通信回路で実センサー信号のための無線または有線のデータ通信を行う。また、コントローラー２が被制御デバイス１に内蔵される場合には、インターフェイス部２３は、例えば、コントローラー２のＩ／Ｏ（Input/Output）回路を備える。
【００３１】
図３は、図２におけるコントローラー２において実現される処理部の構成を示すブロック図である。コントローラー２では、演算処理装置２１は、デバイス制御ブログラムを実行することで、シミュレーション条件初期設定部４１、シミュレーション条件更新部４２、シミュレーター４３、制御信号生成部４４、および制御部４５として動作する。
【００３２】
シミュレーション条件初期設定部４１は、実センサー信号から、シミュレーション条件（後述の未知部分）の初期値を導出する。
【００３３】
例えば、シミュレーション条件初期設定部４１は、機械学習済みのディープニューラルネットワーク（以下、ＤＮＮという）を備え、その機械学習済みＤＮＮで、複数の実センサー信号の値に対応する、シミュレーション条件（未知部分）としての１または複数の状態情報の初期値を導出する。つまり、実センサー信号の値が機械学習済みＤＮＮの入力値とされ、機械学習済みＤＮＮの演算処理が実行されることで、シミュレーション条件の初期値が得られる。
【００３４】
なお、シミュレーション条件初期設定部４１におけるＤＮＮの機械学習については、複数の学習データで実行され、各学習データは、実験で予め、実際の実センサー信号の値と、シミュレーション条件の測定値（あるいは所定のモデルなどで得られる値）との組み合わせとして得られる。
【００３５】
また、例えば、時系列における各タイムステップにおいて、制御信号の生成のために、反復的にシミュレーションが行われる場合、あるタイムステップでのシミュレーション条件（未知部分）の初期値は、直近の過去の１または複数のタイムステップのシミュレーション条件（未知部分）の確定値から推定される値などとしてもよい。
【００３６】
シミュレーション条件更新部４２は、実センサー信号と対応する仮想センサー信号（後述）とに基づいてシミュレーター４３のシミュレーション条件を更新する。
【００３７】
なお、図３に示すように、シミュレーション条件は、シミュレーションの演算処理に要求される拘束条件値であって、（ａ）予め固定的に設定されているもの、センサー部１１，３１で直接的に検知されるものなどといった既知の条件（以下、既知部分という）と、（ｂ）既知の条件以外である未知の条件（以下、未知部分という）とを含む。
【００３８】
シミュレーション条件更新部４２は、シミュレーション条件の未知部分を更新し、シミュレーション条件の既知部分を更新しない。
【００３９】
この実施の形態では、シミュレーション条件更新部４２は、センサー誤差演算部４２ａを備え、実センサー信号と対応する仮想センサー信号（後述）との間のセンサー誤差に基づいてシミュレーター４３のシミュレーション条件を設定して更新する。センサー誤差演算部４２ａは、センサー部１１，３１の実センサー信号と、対応する仮想センサー信号（後述）との誤差をセンサー誤差として演算する。なお、センサー部１１，３１におけるセンサーの数は、特に限定されず、したがって、実センサー信号の数は、センサー部１１，３１におけるセンサーの数と同一であり、１または複数である。
【００４０】
例えば、シミュレーション条件更新部４２は、機械学習済みのＤＮＮを備え、その機械学習済みＤＮＮで、複数の実センサー信号についてのセンサー誤差の値に対応する、シミュレーション条件（未知部分）（あるいはその修正量）を導出する。つまり、センサー誤差の値が機械学習済みＤＮＮの入力値とされ、機械学習済みＤＮＮの演算処理が実行されることで、シミュレーション条件の値が得られる。また、例えば、その機械学習済みのＤＮＮの入力として、センサー誤差の代わりに実センサー信号および仮想センサー信号を使用し、シミュレーション条件の値を得るようにしてもよい。なお、このとき、機械学習済みＤＮＮの入力として、現時点（つまり、更新前の）のシミュレーション条件の値を追加してもよい。
【００４１】
シミュレーション条件更新部４２におけるＤＮＮの機械学習は、複数の学習データで実行される。ＤＮＮの入力としてセンサー誤差を使用する場合には、各学習データは、実験で予め、実際の実センサー信号の値を使用して、実センサー信号の値に対応する任意の誤差（つまり、任意の仮想センサー信号の値に対する誤差）と、その仮想センサー信号の値に対応するシミュレーション条件の値（あるいはその修正量）との組み合わせとして得られる。また、ＤＮＮの入力として実センサー信号および仮想センサー信号を使用する場合には、各学習データは、実験で予め、実際の実センサー信号の値を使用して、実センサー信号の値に対して任意の誤差を与えた値を仮想センサー信号の値とし、その仮想センサー信号の値に対応するシミュレーション条件の値（あるいはその修正量）を特定し、その実センサー信号の値および仮想センサー信号の値とそのシミュレーション条件の値との組み合わせとして得られる。
【００４２】
シミュレーター４３は、（ａ）被制御デバイス１および環境領域ＥＮＶの少なくとも一方の特定の状態情報をシミュレーション条件として、環境領域ＥＮＶ内の特定事象のシミュレーション（物理シミュレーションなど）を行いシミュレーション結果を導出し、（ｂ）そのシミュレーション結果から、特定物理量を仮想的に測定して実センサー信号に対応する仮想センサー信号を生成する。つまり、センサー部１１，３１の各センサーの配置や仕様をシミュレートした仮想センサーで、そのシミュレーションの結果として得られる事象を測定した場合に得られる値が仮想センサー信号とされる。
【００４３】
なお、シミュレーション条件に使用される特定の状態情報は、連続値の変数であってもよいし、クラス（分類）などといった離散値の変数であってもよい。
【００４４】
制御信号生成部４４は、上述のシミュレーション条件（つまり、上述の既知部分と未知部分。未知部分については、反復計算で得られる上述の特定の状態情報の確定値）から、被制御デバイス１の制御信号を生成する。
【００４５】
例えば、制御信号生成部４４は、所定の計算モデルやエキスパートシステム（ルールベースまたは知識ベースに基づく推論エンジンにより適切な解を推定するシステム）などで、そのシミュレーション条件としての特定状態情報の値から被制御デバイス１の制御信号を生成する。
【００４６】
制御部４５は、実センサー信号の取得、上述のシミュレーションの実行、制御信号の出力などを制御する。また、制御部４５は、上述のようにセンサー誤差が収束するまで、反復的に、（ａ）シミュレーター４３に、シミュレーションおよび仮想センサー信号の生成を実行させ、（ｂ）シミュレーション条件更新部４２に、シミュレーション条件の更新を実行させる。
【００４７】
次に、実施の形態１に係るデバイス制御システムの動作について説明する。図４は、実施の形態１に係るデバイス制御システムの動作について説明するフローチャートである。
【００４８】
図示せぬユーザーインターフェイスを介して入力される所定のユーザー操作に従って、制御部４５は、当該デバイス制御システムの動作を開始させ、シミュレーター４３に、シミュレーション条件の既知部分を設定する。なお、この既知部分は、センサー部１１，３１の実センサー信号から得られるデータ、記憶装置２２などに予め格納され準備されているデータなどである。
【００４９】
制御部４５は、まず、センサー部１１，３１からある時点の実センサー信号を取得し（ステップＳ１）、シミュレーション条件初期設定部４１は、取得した実センサー信号に基づき、シミュレーション条件の初期値を特定しシミュレーター４３に設定する（ステップＳ２）。そして、シミュレーター４３は、シミュレーション条件（未知部分）の初期値とシミュレーション条件（既知部分）に基づいて、所定のシミュレーションの演算処理を実行し、仮想センサー信号の初期値を導出する。
【００５０】
次に、センサー誤差演算部４２ａは、取得された実センサー信号と、現時点の仮想センサー信号との差をセンサー誤差として演算する（ステップＳ３）。
【００５１】
そして、制御部４５は、そのセンサー誤差が所定の判定条件を満たすか否かを判定し（ステップＳ４）、そのセンサー誤差が所定の判定条件を満たす場合には、シミュレーション条件の反復的な更新を終了し、そうではない場合には、以下のように、シミュレーション条件の更新を行わせる。例えば、その判定条件は、すべての実センサー信号についての誤差の２乗の総和や平均が所定閾値未満となることとされる。つまり、シミュレーション条件が適切なものになり、仮想センサー信号が実センサー信号に十分近づけば、シミュレーション条件の反復的な更新が終了する。
【００５２】
センサー誤差が上述の収束条件を満たさない場合、シミュレーション条件設定部４２は、すべての実センサー信号のセンサー誤差を入力として、ＤＮＮで、シミュレーション条件の各値の修正量（あるいは更新後の値）を計算し、その計算結果に従って、シミュレーション条件（未知部分）を更新する（ステップＳ５）。
【００５３】
そして、シミュレーター４３は、シミュレーション条件が更新されるたびに、上述のシミュレーションの演算処理を実行し（ステップＳ６）、シミュレーション結果に基づいて仮想センサー信号を新たに生成する（ステップＳ７）。
【００５４】
その後、ステップＳ３に戻り、センサー誤差演算部４１は、新たに生成された仮想センサー信号と取得済みの実センサー信号とのセンサー誤差を生成する。その後、上述したように、センサー誤差が上述の判定条件を満たすまで、反復的に、シミュレーション条件の更新、シミュレーション、仮想センサー信号の生成、およびセンサー誤差の演算が実行される（ステップＳ３〜Ｓ７）。
【００５５】
一方、センサー誤差が上述の判定条件を満たす場合、制御部４５は、その時点でシミュレーション条件の値を確定し、制御信号生成部４４は、確定されたシミュレーション条件および確定されたシミュレーション条件に対応するシミュレーション結果の少なくとも一方に基づいて制御信号を生成し、被制御デバイス１に出力する（ステップＳ８）。
【００５６】
例えば、被制御デバイス１が、機械的な動作を行う運動体である場合、後述のように、制御信号生成部４４は、上述のシミュレーション条件およびシミュレーション結果の少なくとも一方に基づいて、その運動体の姿勢制御、その運動体の経路探索などを行う。
【００５７】
例えば、被制御デバイス１が、運動体としての、有人または無人の飛行体（ドローン、ヘリコプター、飛行機、エアロカーなど）、面上移動体（地表面上の自動車、海面上の船舶など）などといった移動体である場合、制御信号生成部４４は、上述のシミュレーション条件およびシミュレーション結果の少なくとも一方に基づいて、（ａ）その移動体の経路探索を行い、経路探索により得られた経路に対応する制御信号を生成し被制御デバイス１に出力したり、（ｂ）制御信号でその移動体の姿勢制御を行ったりする。
【００５８】
例えば、被制御デバイス１が、運動体としての、作業ロボットである場合、制御信号生成部４４は、上述のシミュレーション条件およびシミュレーション結果の少なくとも一方に基づいて、（ａ）その作業ロボットの可動部位の移動経路の探索を行い、経路探索により得られた経路に対応する制御信号を生成し被制御デバイス１に出力したり、（ｂ）制御信号でその作業ロボットの姿勢制御を行ったりする。
【００５９】
その後、制御部４５は、図示せぬユーザーインターフェイスに対するユーザー操作に従って被制御デバイス１の動作の制御を終了するか否かを判定し（ステップＳ９）、制御を終了すると判定した場合には、被制御デバイス１の制御を終了し、制御を終了しないと判定した場合には、ステップＳ１に戻り、次の時点（次のタイムステップ）の実センサー信号を取得し、その実センサー信号に対して、ステップＳ２以降の同様の処理を実行させ、その実センサー信号に対応する制御信号を生成する。
【００６０】
このようにして、センサー誤差演算部４１、シミュレーション条件設定部４２、およびシミュレーター４３は、ある１時点での実センサー信号に対して、センサー誤差が、所定判定条件が成立して収束するまで、反復的に、上述のシミュレーション条件の更新などを実行し、センサー誤差が収束するとシミュレーション条件の値が確定され、確定されたシミュレーション条件の値に基づいて制御信号が生成される。
【００６１】
以上のように、上記実施の形態１によれば、センサー部１１，３１は、環境領域ＥＮＶまたは被制御デバイス１に設置され特定物理量を測定し測定した物理量に対応する実センサー信号を出力する。コントローラー２は、その実センサー信号に基づいて被制御デバイス１を制御する。そして、コントローラー２は、（ａ）被制御デバイス１および環境領域ＥＮＶの少なくとも一方の特定の状態情報をシミュレーション条件として環境領域ＥＮＶ内の特定事象のシミュレーションを行いシミュレーション結果を導出し、そのシミュレーション結果から、特定物理量を仮想的に測定して実センサー信号に対応する仮想センサー信号を生成するシミュレーター４３と、（ｂ）実センサー信号と仮想センサー信号とに基づいてシミュレーション条件を更新するシミュレーション条件更新部４２と、（ｃ）シミュレーション条件およびシミュレーション結果に基づいて被制御デバイス１の制御信号を生成する制御信号生成部４４とを備える。そして、実センサー信号と仮想センサー信号との間のセンサー誤差が収束するまで、反復的に、（ａ）シミュレーター４３は、シミュレーションおよび仮想センサー信号の生成を行い、（ｂ）シミュレーション条件設定部４２は、シミュレーション条件の更新を行う。
【００６２】
これにより、上述のシミュレーションによるフィードバックループで実世界とシミュレーション結果とが十分近づいた状態でのシミュレーション条件の確定値が得られ、シミュレーション条件の確定値として得られる状態情報に基づいて、被制御デバイス１が適切に制御される。
【００６３】
実施の形態２．
【００６４】
図５は、本発明の実施の形態２に係るデバイス制御システムの構成を示す図である。図５に示すように、実施の形態２に係るデバイス制御システムでは、環境領域ＥＮＶ内に、被制御デバイス１の他に別の自律動作物体６１（つまり、コントローラー２の制御下になく自律的に動作する物体）が存在する場合、当該別の自律動作物体６１の意図推論が実行され、その意図推論の結果を考慮して、被制御デバイス１の制御信号が生成される。
【００６５】
つまり、制御信号生成部４４は、所定の制御モデル（上述の計算モデルやエキスパートシステムなど）に従ってシミュレーション条件から制御信号を生成して被制御デバイスの動作を決定するが、その際、実施の形態２では、制御信号生成部４４は、（ａ）環境領域ＥＮＶ内に他の自律動作物体６１が存在する場合には、当該制御モデルと同一の制御モデルで自律動作物体６１が自己の動作を決定していると仮定して、自律動作物体６１の動作を推定し、（ｂ）推定した自律動作物体６１の動作を考慮して、被制御デバイス１のための制御信号を生成する。
【００６６】
具体的には、制御信号生成部４４は、（ａ）実センサー部１１，３１の実センサー信号、確定されたシミュレーション条件、対応するシミュレーション結果などから、自律動作物体６１の状態情報の値（上述のシミュレーション条件に相当）を推定し、（ｂ）推定した状態情報の値からその制御モデルで自律動作物体６１の動作を予測し、（ｃ）予測した他の自律動作物体６１の動作を考慮して、他の自律動作物体６１の動作とコンフリクト（物理的な衝突など）しないような被制御デバイス１の動作となるように制御信号を生成する。
【００６７】
その際、自律動作物体６１が、当該被制御デバイス１と同種の物体である場合、制御信号生成部４４は、その自律動作物体６１の状態情報を上述のシミュレーション条件として、シミュレーター４３に、当該被制御デバイス１と同様のシミュレーションを実行させてシミュレーション結果を導出し、そのシミュレーション条件およびシミュレーション結果の少なくとも一方に基づいて、上述の制御モデルで自律動作物体６１の動作を予測するようにしてもよい。
【００６８】
なお、自律動作物体６１が、当該被制御デバイス１と異種の物体である場合、制御信号生成部４４は、その自律動作物体６１の種別に応じた状態情報の値を、実センサー信号、確定されたシミュレーション条件、対応するシミュレーション結果などから推定し、その自律動作物体６１の状態情報を上述のシミュレーション条件として、シミュレーター４３に、その自律動作物体６１の種別に応じたシミュレーションを実行させてシミュレーション結果を導出し、そのシミュレーション条件およびシミュレーション結果の少なくとも一方に基づいて、上述の制御モデルで自律動作物体６１の動作を予測するようにしてもよい。
【００６９】
次に、実施の形態２に係るデバイス制御システムの動作について説明する。図６は、実施の形態２に係るデバイス制御システムの動作について説明するフローチャートである。
【００７０】
実施の形態２では、制御信号生成部４４は、図６に示す処理を実行して被制御デバイス１のための制御信号を生成する。
【００７１】
実施の形態２では、実施の形態１と同様にしてシミュレーション条件が確定された後、制御信号生成部４４は、環境領域ＥＮＶ内に他の自律動作物体６１が存在するか否かを判定する（ステップＳ２１）。
【００７２】
例えば、制御信号生成部４４は、実センサー信号（例えば、センサー部１１，３１におけるカメラにより得られる可視撮影画像信号）に基づいて、環境領域ＥＮＶ内に他の自律動作物体６１が存在するか否かを判定する。なお、その際、制御信号生成部４４は、自律動作物体６１の種別を併せて特定するようにしてもよい。
【００７３】
環境領域ＥＮＶ内に他の自律動作物体６１が存在すると判定した場合、制御信号生成部４４は、センサー部１１，３１の実センサー信号、上述のシミュレーション条件、上述のシミュレーション結果などに基づいて、その自律動作物体６１の状態情報を推定する（ステップＳ２２）。
【００７４】
そして、制御信号生成部４４は、推定された状態情報をシミュレーション条件としてシミュレーションをシミュレーター４３に実行させ（ステップＳ２３）、自律動作物体６１のためのシミュレーション条件およびシミュレーション結果の少なくとも一方に基づいて、自律動作物体６１の動作を推定し（ステップＳ２４）、推定した自律動作物体６１の動作を考慮して、被制御デバイス１のための制御信号を生成する（ステップＳ２５）。
【００７５】
一方、環境領域ＥＮＶ内に他の自律動作物体６１が存在しないと判定した場合、制御信号生成部４４は、実施の形態１と同様にして制御信号を生成する（ステップＳ２６）。
【００７６】
なお、実施の形態２に係るデバイス制御システムのその他の構成および動作については実施の形態１と同様であるので、その説明を省略する。
【００７７】
以上のように、上記実施の形態２によれば、制御信号生成部４４は、（ａ）環境領域ＥＮＶ内に他の自律動作物体６１が存在する場合、被制御デバイス１のための制御モデルと同一の制御モデルで他の自律動作物体６１が他の自律動作物体６１の動作を決定していると仮定して、他の自律動作物体６１の動作を推定し、（ｂ）推定した他の自律動作物体６１の動作を考慮して、被制御デバイス１のための制御信号を生成する。
【００７８】
これにより、他の自律動作物体６１の動作を考慮して、被制御デバイス１が適切に制御される。
【００７９】
実施の形態３．
【００８０】
実施の形態３に係るデバイス制御システムは、実施の形態１または２に係るデバイス制御システムの一具体例である。図７は、本発明の実施の形態３に係るデバイス制御システムにおける被制御デバイス１を示す斜視図である。実施の形態３では、被制御デバイス１は、飛行機、ヘリコプター、ドローン、エアロカーなどといった飛行体１０１である。なお、この飛行体１０１は、有人飛行体および無人飛行体のいずれでもよい。また、この飛行体１０１は、自動運転される飛行体でも、操縦士（運転者）の手動運転も許可する半自動運転の飛行体でもよい。
【００８１】
実施の形態３において、センサー部１１，３１は、（ａ）風速計および風圧計、並びに（ｂ）ＣＣＤ（Charge-Coupled Device）、ＣＭＯＳイメージセンサーなどといったイメージングセンサーを有するカメラのうちの少なくとも一方を含む。このカメラは、環境領域ＥＮＶの一部（例えば、飛行体１０１の進行方向部分）または全部を撮影する。具体的には、実施の形態３においては、センサー部１１は、（ａ）飛行体１０１の機体に設置された機載風速計および機載風圧計、（ｂ）イメージングセンサーを有するカメラ、（ｃ）飛行体１０１の進行方向の所定視野の距離画像を生成するＬｉＤＡＲまたはＲＡＤＡＲセンサー、（ｄ）飛行体１０１の現在位置を検出する位置検出センサー（例えばＧＰＳ（Global Positioning System）センサー）、（ｅ）ローター回転計、および（ｆ）飛行体１０１の現在の向きを検出するジャイロセンサーを含み、外部のセンサー部３１は、構造物１２１などに設置された風速計および風圧計を含む。なお、機載風速計としてしては、例えばホットフィルム風速計が使用される。
【００８２】
図８は、本発明の実施の形態３に係るデバイス制御システムにおけるシミュレーションについて説明する図である。
【００８３】
実施の形態３では、シミュレーター４３は、環境領域ＥＮＶ内の流体シミュレーションを実行する。その際、環境領域ＥＮＶ内の流体を空気としナビエ・ストークス方程式を支配方程式とした有限要素法、境界要素法、差分法など、あるいは粒子法などで流体数値解析が実行され、これにより、例えば図８に示すように設定されたシミュレーション条件（環境領域ＥＮＶの境界条件など）に対応する環境領域ＥＮＶ内の風速分布および風圧分布が得られる。その際、ローターの回転に起因する飛行体１０１（あるいは飛行体１０１のローター）周辺の所定局所領域における空気の流れも併せて解析され、ローターの回転を考慮した環境領域ＥＮＶ内（特に飛行体１０１近傍）の風速分布および風圧分布が得られる。
【００８４】
なお、上述の有限要素法などの場合、環境領域ＥＮＶがメッシュで分割され、離散的に、風速分布および風圧分布が計算される。その際、環境領域ＥＮＶの所定局所領域以外の領域のメッシュを、所定局所領域のメッシュより粗くするようにしてもよい。例えば、所定局所領域と環境領域ＥＮＶ全域のメッシュとを合成して、部分的に粗さの異なるメッシュを形成し、そのようなメッシュを使用して上述の流体数値解析を行うようにしてもよい。
【００８５】
実施の形態３では、シミュレーション条件の既知部分は、予め用意されているデータやセンサーで直接的に測定されたデータであり、ここでは、環境領域ＥＮＶの３次元マップ（環境領域ＥＮＶおよび環境領域ＥＮＶ内の構造物１２１の形状データ）、飛行体１０１の仕様データ（飛行体１０１の形状や推進力の強度など）、（飛行体１０１がローターを有する場合の）機体ローター状態情報（単位時間たりの回転数など）、機体姿勢状態データ（機首の向き、ピッチ、ヨーなど）、機体位置データなどを含み、シミュレーション条件の未知部分は、動的に変化し、センサーで直接的に測定されないデータであり、ここでは、環境領域ＥＮＶの境界条件（境界上の各位置での風速および風圧）を含む。
【００８６】
なお、この境界条件については、自由度を減らすために、環境領域ＥＮＶの外縁の境界面において、各面内での境界条件（風速および風圧）は一定であるとしてもよい。その場合、自由度が、境界面の数と風速、風圧などの境界条件での物理量の数との積となる。
【００８７】
また、流体の時間的変化を考慮する場合、例えば、シミュレーション条件の既知部分に、１タイムステップ前について得られたシミュレーション結果（環境領域ＥＮＶ内の風速分布および風圧分布）が含められ、その環境領域ＥＮＶ内の風速分布および風圧分布に基づいて、現タイムステップの流体シミュレーションが行われる。
【００８８】
なお、１タイムステップ前についてのシミュレーション結果が存在しない場合、例えば、設定された境界条件に基づいて、環境領域ＥＮＶ内の風速分布および風圧分布が安定状態になるまで、時系列に沿って、流体シミュレーションを進行させ、安定状態に到達している環境領域ＥＮＶ内の風速分布および風圧分布が、上述の１タイムステップ前について得られたシミュレーション結果（環境領域ＥＮＶ内の風速分布および風圧分布）として使用される。
【００８９】
また、実施の形態３では、センサー部１１の機載風速計および機載風圧計、カメラ、ＬｉＤＡＲ（Laser Imaging Detection and Ranging）またはＲＡＤＡＲセンサー、並びにセンサー部３１の機外風速計および機外風圧計に対応して、仮想センサー信号として、仮想機載風速計信号、仮想機載風圧計信号、仮想可視撮影画像信号、仮想距離画像信号、仮想機外風速計信号、および仮想機外風圧計信号が生成される。
【００９０】
仮想機載風速計信号および仮想機載風圧計信号、並びに仮想機外風速計信号および仮想機外風圧計信号は、センサー部１１，３１（機載風速計および機載風圧計、並びに機外風速計および機外風圧計）の仕様に対応して、シミュレーション結果の風速分布および風圧分布から導出される。仮想可視撮影画像信号は、例えば、カメラの仕様（焦点距離など）に基づき、カメラ（つまり飛行体１０１）の現在位置および向きからカメラ視野を特定し、カメラ視野に写り込む構造物１２１などの画像を３次元マップデータに基づいて特定することで得られる。仮想距離画像信号は、例えば、ＬｉＤＡＲセンサーまたはＲＡＤＡＲセンサー（つまり飛行体１０１）の現在位置および向きからセンサー視野内の物体までの距離を、その現在位置および３次元マップデータで特定することで得られる。なお、実センサー信号および仮想センサー信号としての画像信号については、画像解像度を低下させたり、各種画像処理を施されたりするようにしてもよい（以下、同様）。
【００９１】
なお、ある測定位置での風速および風圧と境界条件との間には、ある程度の関連性があると推定されるため、上述のシミュレーション条件更新部４２の機械学習済みＤＮＮによって、測定位置での風速および風圧のセンサー誤差に基づき、シミュレーション条件としての境界条件が修正されていくことが期待される。
【００９２】
また、上昇気流や下降気流が発生する際に特有な雲の状態（雲の形状、色など）があるため、可視撮影画像における雲の状態と境界条件（そのような雲の存在する位置の境界条件）との間には、ある程度の関連性があると推定される。したがって、上述のシミュレーション条件更新部４２の機械学習済みＤＮＮによって、測定位置での可視撮影画像のセンサー誤差に基づき、シミュレーション条件としての境界条件が修正されていくことが期待される。
【００９３】
次に、実施の形態３に係るデバイス制御システムの動作について説明する。
【００９４】
実施の形態３では、コントローラー２は、上述のセンサー部１１，３１から実センサー信号を取得し、センサー誤差が収束するまで、反復的に、シミュレーション条件（未知部分）の更新、流体シミュレーション、仮想センサー信号の生成、およびセンサー誤差の演算を実行し、シミュレーション条件の値を確定する。
【００９５】
そして、シミュレーション条件の値の確定後、コントローラー２は、確定したシミュレーション条件の値に対応する制御信号を生成し、飛行体１０１に出力する。
【００９６】
例えば、コントローラー２は、確定したシミュレーション条件のうちの境界条件データおよびシミュレーション結果の風速分布および風圧分布に基づき、経路探索を実行することで適切な経路を特定し、その経路に沿って飛行するための制御信号を生成し飛行体１０１に供給したりする。
【００９７】
なお、経路探索では、例えば、境界条件データおよびシミュレーション結果に基づいて、構造物１２１および大気状態の悪い箇所（渦が発生している箇所、上昇気流や下降気流がある箇所）を避けるように、経路が選択される。
【００９８】
ここで、実施の形態２で示した他の自律動作物体６１が環境領域ＥＮＶ内に存在する場合について説明する。その場合、実施の形態２で述べたように制御信号生成部４４は、自律動作物体６１の意図推論を行い、その結果を考慮して、飛行体１０１の動作を制御する。
【００９９】
具体的には、例えば図７に示すように、他の自律動作物体６１として飛行体１６１が環境領域ＥＮＶ内に存在する場合、コントローラー２は、上述のカメラの可視撮影画像信号に基づいて、環境領域ＥＮＶ内の飛行体１６１を検出する。そして、飛行体１６１が飛行体１０１と同種である場合（例えば、両者ともにドローンである場合）、コントローラー２の制御信号生成部４４は、確定されたシミュレーション条件としての境界条件を、その自律動作物体６１についてのシミュレーション条件に設定し、実施の形態２で述べたように、自律動作物体６１についての流体シミュレーション（特に、自律動作物体６１周辺の局所的な領域での流体シミュレーション）をシミュレーター４３に実行させる。
【０１００】
そして、制御信号生成部４４は、その流体シミュレーションの結果に基づいて、その飛行体１６１の動作（つまり、今後の飛行経路）を推定し、推定した飛行体１６１の飛行経路を考慮して、（例えば両者が衝突しないように）飛行体１０１の経路を設定し、その経路を飛行するための制御信号を生成する。
【０１０１】
図９は、実施の形態３における環境領域ＥＮＶの別の例について示す斜視図である。また、制御信号生成部４４は、飛行体１０１の姿勢制御のための制御信号を生成する場合、９に示すように、その飛行体１０１の推進装置（プロペラなど）によって発生する気流の影響が及ぶ領域を、環境領域ＥＮＶに設定し、その飛行体１０１の比較的近傍の境界面における境界条件をシミュレーション条件として、流体シミュレーションを実行し、境界面の風（つまり、飛行体１０１で発する気流の影響を受けない環境風）を特定し、その環境風の風速、風圧などに対応した制御信号を生成し姿勢制御を行うようにしてもよい。
【０１０２】
なお、実施の形態３に係るデバイス制御システムのその他の構成および動作については実施の形態１または２と同様であるので、その説明を省略する。
【０１０３】
また、上述の機体位置データのうち、鉛直方向の位置（つまり、高さ）について、センサー部１１の位置検出精度が低い場合には、機体位置データのうちの水平位置（緯度経度）をシミュレーション条件の既知部分とし、高さをシミュレーション条件の未知部分としてもよい。
【０１０４】
以上のように、上記実施の形態３によれば、シミュレーション条件の確定値やそのシミュレーション条件の確定値に対応するシミュレーション結果に基づいて、飛行体１０１が適切に制御される。
【０１０５】
実施の形態４．
【０１０６】
実施の形態４に係るデバイス制御システムは、実施の形態１または２に係るデバイス制御システムの一具体例である。図１０は、本発明の実施の形態４に係るデバイス制御システムにおける被制御デバイス１を示す斜視図である。実施の形態４では、被制御デバイス１は、地表面または水面上を移動する自動車、オートバイ、船舶などといった面上移動体２０１であり、その面に沿って２次元的に移動する。なお、図１０に例示している面上移動体２０１は、自動車である。なお、地表面は３次元空間内の平面または曲面である。また、面上移動体２０１は、モーターの動力を推進力に使用していてもよいし、内燃機関の動力を推進力に使用していてもよい。
【０１０７】
さらに、実施の形態４では、被制御デバイス１における制御部１２は、既知の自動運転方式の自動運転機能を有する。自動運転機能では、周辺の環境状態（対向車の状態、接地状態など）に対応して、目標の経路を進行するように、動作部１ａ（モーターや内燃機関）が電子制御される。したがって、実施の形態４では、コントローラー２が、センサー部１１，３１を使用して、以下のようにして、自機の状態とともに周辺の環境状態を認識する。
【０１０８】
実施の形態４において、センサー部１１，３１は、イメージングセンサーを有するカメラを含む。具体的には、実施の形態４においては、センサー部１１は、実施の形態３と同様の、イメージングセンサーを有するカメラ、およびＬｉＤＡＲまたはＲＡＤＡＲセンサーを含む。カメラは、可視撮影画像信号を出力する。ＬｉＤＡＲまたはＲＡＤＡＲセンサーは、距離画像信号を出力する。面上移動体２０１が自動車である場合、センサー部１１は、ＧＰＳコンパスなどの車体向きセンサー、舵角センサー、車速ベクトル（車速の大きさと向き）を測定する車速センサー、ヨーレートセンサーを含んでいてもよい。また、センサー部１１は、音響センサー（マイクロフォンなど）、位置検出センサー（例えばＧＰＳセンサー）、ジャイロセンサーなどを含んでいてもよい。
【０１０９】
（ａ）対向移動体の行動シミュレーション
【０１１０】
図１１は、本発明の実施の形態４に係るデバイス制御システムにおけるシミュレーションの一例について説明する図である。
【０１１１】
実施の形態４では、シミュレーター４３は、例えば、実センサー信号に基づく可視撮影画像および距離画像に基づいて、環境領域ＥＮＶ内における対向移動体２１１（道路２２１上の対向車など）が検出されると、環境領域ＥＮＶ内における対向移動体の行動シミュレーションを実行する。
【０１１２】
この行動シミュレーションでは、例えば図１１に示すシミュレーション条件が設定され、３次元マップデータ、例えば位置検出センサーによる機体位置データ、およびに可視撮影画像および距離画像から特定される相対距離データに基づいて、３次元マップ上での対向移動体２１１の存在位置が特定され、その位置の経路形状（例えば、直進路、カーブ、交差点などの道路形状）が特定され、そのような対向移動体２１１の状態で、ある行動目標（右折、左折、直進、発進、停止など）に対して、対向移動体２１１がどのような位置（経路内での位置）および姿勢（向き）を取るかが推定される。
【０１１３】
また、実施の形態４では、センサー部１１のカメラ、ＬｉＤＡＲまたはＲＡＤＡＲセンサーに対応して、仮想センサー信号として、仮想可視撮影画像信号、および仮想距離画像信号が生成される。仮想可視撮影画像信号は、例えば、カメラの仕様（焦点距離など）に基づき、カメラ（つまり面上移動体２０１）の現在位置および向きからカメラ視野を特定し、カメラ視野に写り込む対向移動体２１１、構造物、道路２２１などの画像を３次元マップデータおよびシミュレーション結果に基づいて特定することで得られる。仮想距離画像信号は、例えば、ＬｉＤＡＲセンサーまたはＲＡＤＡＲセンサー（つまり面上移動体２０１）の現在位置および向きからセンサー視野内の物体（対向移動体２１１、構造物など）までの距離を３次元マップデータで特定することで得られる。
【０１１４】
そして、確定されたシミュレーション条件としての対向移動体動作目標データに基づいて、制御信号生成部４４は、面上移動体２０１が対向移動体２１１に衝突しないようにするための、面上移動体２０１の制御信号を生成する。
【０１１５】
（ｂ）面上移動体２０１の車体状態シミュレーション
【０１１６】
図１２は、本発明の実施の形態４に係るデバイス制御システムにおけるシミュレーションの別の例について説明する図である。
【０１１７】
実施の形態４では、面上移動体２０１が自動車であり、シミュレーター４３は、面上移動体２０１の回頭時に、車体状態シミュレーションを実行する。
【０１１８】
この車体状態シミュレーションでは、例えば図１２に示すシミュレーション条件が設定され、車体仕様データ、タイヤ仕様データ、舵角センサーによる舵角データ、車速センサー、ジャイロなどによる車速ベクトルデータ、車体に設置されたＧＰＳコンパスなどによる車体向きデータ、トルクセンサーなどによるトルクデータなどに基づいて、タイヤ接地面変形シミュレーションおよびモデル解析（車体モデルに基づくコーナリングフォース、ヨーレートなどの各種物理量の導出）が行われる。
【０１１９】
また、実施の形態４では、センサー部１１のヨーレートセンサーに対応して、仮想センサー信号として、仮想ヨーレート信号が設定される。
【０１２０】
なお、この実施の形態４では、舵角センサー、車速ベクトルセンサー、車体向きセンサー、トルクセンサーなどの実センサー信号が、シミュレーション条件更新部４２の入力（機械学習済みＤＮＮの入力）として使用されるようにしてもよい。
【０１２１】
そして、確定されたシミュレーション条件としての接地摩擦係数データに基づいて、制御信号生成部４４は、面上移動体２０１が所望の挙動を示すように、面上移動体２０１の制御信号を生成する。
【０１２２】
次に、実施の形態４に係るデバイス制御システムの動作について説明する。
【０１２３】
実施の形態４では、コントローラー２は、上述のセンサー部１１，３１から実センサー信号を取得し、センサー誤差が収束するまで、反復的に、シミュレーション条件（未知部分）の更新、シミュレーション（上述の行動シミュレーションまたは車体状態シミュレーション）、仮想センサー信号の生成、およびセンサー誤差の演算を実行し、シミュレーション条件の値を確定する。
【０１２４】
そして、シミュレーション条件の値の確定後、コントローラー２は、確定したシミュレーション条件の値に対応する制御信号を生成し、面上移動体２０１に出力する。
【０１２５】
行動シミュレーションの場合、コントローラー２は、確定した対向移動体２１１の動作目標に基づき、対向移動体２１１の動作を妨げないように面上移動体２０１を制御するための制御信号を面上移動体２０１に出力し、面上移動体２０１の制御部１２は、その制御信号に従って、目標の走行状態となるように動作部１ａを制御する。
【０１２６】
車体状態シミュレーションの場合、コントローラー２は、確定した接地摩擦係数に基づき、面上移動体２０１の挙動が不適切にならないように舵角、トルクなどを制御するための制御信号を生成し面上移動体２０１に出力し、面上移動体２０１の制御部１２は、その制御信号に従って、目標の運転状態となるように動作部１ａを制御する。
【０１２７】
なお、実施の形態４に係るデバイス制御システムのその他の構成および動作については実施の形態１または２と同様であるので、その説明を省略する。
【０１２８】
以上のように、上記実施の形態４によれば、シミュレーション条件の確定値として得られる状態情報に基づいて、面上移動体２０１が適切に制御される。
【０１２９】
実施の形態５．
【０１３０】
実施の形態５に係るデバイス制御システムは、実施の形態１または２に係るデバイス制御システムの一具体例である。図１３は、本発明の実施の形態５に係るデバイス制御システムにおける被制御デバイス１を示す斜視図である。実施の形態５では、被制御デバイス１は、人型作業ロボット、人型介護支援ロボット、装着型作業ロボット、装着型介護支援ロボットなどといった作業ロボット３０１である。図１３に例示している作業ロボット３０１は、人型介護支援ロボットである。
【０１３１】
さらに、実施の形態５では、作業ロボット３０１は、環境領域ＥＮＶ内の作業対象に対する特定作業を実行し、作業ロボット３０１における制御部１２は、自動作業機能（あるいは自動作業支援機能）を有する。自動作業機能（あるいは自動作業支援機能）では、周辺の環境状態に対応して、目標の作業を実行するように、動作部１ａ（モーターやアクチュエータ）が電子制御される。したがって、周辺の環境状態を認識する必要があり、実施の形態５では、コントローラー２が、センサー部１１，３１を使用して、以下のようにして、周辺の環境状態を認識する。
【０１３２】
実施の形態５において、センサー部１１は、イメージングセンサーを有するカメラを含む。具体的には、実施の形態５においては、センサー部１１は、実施の形態３または４と同様の、イメージングセンサーを有するカメラ、およびＬｉＤＡＲまたはＲＡＤＡＲセンサーを含む。なお、センサー部１１は、音響センサー（マイクロフォンなど）、機体姿勢状態センサー（ロボットの関節の角度センサーなど）、位置検出センサー（例えばＧＰＳセンサー）、およびジャイロセンサーを含んでいてもよい。センサー部３１は、例えば、介護対象のバイタルデータを計測するセンサーを含んでいてもよい。
【０１３３】
図１４は、本発明の実施の形態５に係るデバイス制御システムにおけるシミュレーションについて説明する図である。
【０１３４】
実施の形態５では、シミュレーター４３は、作業ロボット３０１の作業領域シミュレーションを実行する。作業領域シミュレーションでは、（ａ）作業対象認識データ（作業ロボット３０１（センサー部１１）を原点としたローカル座標系における作業対象の位置および姿勢を示すデータ）がシミュレーション条件（未知部分）とされ、作業対象が存在する部屋やその部屋内の構造物などの３次元マップデータ（グローバル座標系で記述された形状データ）、作業ロボット３０１の機体形状、可動関節の位置などを示すロボット機体仕様データ、作業対象の形状やサイズなどを示す作業対象基本データ、作業ロボット３０１の向き、関節の角度状態などを示す機体姿勢状態データ、作業ロボット３０１の現在位置を示す機体位置データなどがシミュレーション条件（既知部分）とされ、（ｂ）それらのシミュレーション条件に基づいて、所定の計算モデルに従って、グローバル座標系における作業ロボットの位置および姿勢が導出される。作業対象が人間（被介護者）である場合、作業対象の姿勢は、例えば多関節を有する人体骨格モデルで表現されるようにしてもよい。
【０１３５】
なお、作業ロボット３０１の向きは、例えばジャイロセンサーで得られる。また、作業ロボット３０１の関節の角度状態は、例えば、角度センサーによって得られる。さらに、作業ロボット３０１の現在位置は、例えばＧＰＳなどの位置検出センサーで得られる。
【０１３６】
また、実施の形態５では、センサー部１１のカメラ、およびＬｉＤＡＲまたはＲＡＤＡＲセンサーに対応して、仮想センサー信号として、仮想可視撮影画像信号、および仮想距離画像信号が生成される。仮想可視撮影画像信号は、例えば、作業ロボット３０１のカメラの仕様（焦点距離など）に基づき、カメラの現在位置および向きからカメラ視野を特定し、カメラ視野に写り込む作業対象や構造物などの画像を３次元マップデータや作業対象基本データに基づいて特定することで得られる。仮想距離画像信号は、例えば、作業ロボット３０１のＬｉＤＡＲセンサーまたはＲＡＤＡＲセンサーの現在位置および向きからセンサー視野内の物体までの距離を３次元マップデータで特定することで得られる。
【０１３７】
次に、実施の形態５に係るデバイス制御システムの動作について説明する。
【０１３８】
実施の形態５では、コントローラー２は、上述のセンサー部１１，３１から実センサー信号を取得し、センサー誤差が収束するまで、反復的に、シミュレーション条件（未知部分）の更新、作業領域シミュレーション、仮想センサー信号の生成、およびセンサー誤差の演算を実行し、シミュレーション条件の値を確定する。
【０１３９】
そして、シミュレーション条件の値の確定後、コントローラー２は、確定したシミュレーション条件の値に対応する制御信号を生成し、作業ロボット３０１に出力する。
【０１４０】
例えば、コントローラー２は、確定した作業対象認識データに基づいて、作業対象に対する特定作業のための動作パターン（作業ロボット３０１の移動、関節の動作など）を示す制御信号を作業ロボット３０１に出力し、作業ロボット３０１の制御部１２は、その制御信号に従って、指定された動作パターン（例えば作業対象が被介護者である場合、抱きかかえの動作パターンなど、また、例えば作業対象が荷物である場合、持ち上げの動作パターンなど）で動作するように動作部１ａを制御する。
【０１４１】
ここで、実施の形態２で示した他の自律動作物体６１が環境領域ＥＮＶ内に存在する場合について説明する。その場合、実施の形態２で述べたように制御信号生成部４４は、自律動作物体６１の意図推論を行い、その結果を考慮して、作業ロボット３０１の動作を制御する。
【０１４２】
具体的には、例えば図１３に示すように、他の自律動作物体６１として協働作業者３６１が環境領域ＥＮＶ内に存在する場合、コントローラー２は、上述のカメラの可視撮影画像信号に基づいて、環境領域ＥＮＶ内の協働作業者３６１を検出する。そして、コントローラー２の制御信号生成部４４は、センサー部１１，３１の実センサー信号（可視撮影画像信号、距離画像信号など）、上述のシミュレーション結果、３次元マップデータなどの他の既知の条件などに基づいて、その協働作業者３６１についての作業対象認識データを推定する。
【０１４３】
なお、協働作業者３６１は、人型ロボットでもよいし、装着型ロボットを装着した作業者（人間）でもよいし、装着型ロボットを装着してない作業者（人間）でもよいが、コントローラー２は、協働作業者３６１が当該作業ロボット６１と同一の作業ロボットであると仮定して、動作の推定を行う。
【０１４４】
そして、推定された作業対象認識データがシミュレーション条件とされて同様のシミュレーションが実行され、制御信号生成部４４は、作業対象認識データおよびそのシミュレーション結果に基づいてその協働作業者３６１の動作を推定し、推定した協働作業者３６１の動作を考慮して（例えば、協働作業者３６１の動作を邪魔しないように）、作業ロボット３０１のための制御信号を生成する。
【０１４５】
なお、実施の形態５に係るデバイス制御システムのその他の構成および動作については実施の形態１または２と同様であるので、その説明を省略する。
【０１４６】
以上のように、上記実施の形態５によれば、シミュレーション条件の確定値として得られる状態情報に基づいて、作業ロボット３０１が適切に制御される。
【０１４７】
実施の形態６．
【０１４８】
実施の形態６に係るデバイス制御システムは、実施の形態１または２に係るデバイス制御システムの一具体例である。図１５は、本発明の実施の形態６に係るデバイス制御システムにおける被制御デバイス１を示す斜視図である。実施の形態６では、被制御デバイス１は、スマートハウス、ホールなどに設けられた電気設備制御システム４０１である。
【０１４９】
さらに、実施の形態６では、電気設備制御システム４０１は、環境領域ＥＮＶ内に設置されている電気設備４１２を制御する。この電気設備４１２は、動作部１ａに相当し、環境領域ＥＮＶに対して作用する照明機器、空調機器などといった装置である。
【０１５０】
なお、実施の形態６では、例えば、動作部１ａとしての電気設備４１２とは別に１つの筐体４１３が設けられ、その筐体４１３内に、制御部１２およびコントローラー２が配置されるようにしてもよい。その場合、センサー部１１は、その筐体４１３に配置されるセンサー部であって、センサー部３１は、その筐体４１３から離間して環境領域ＥＮＶ内に配置されるセンサー部である。
【０１５１】
電気設備制御システム４０１は、自動制御機能を有し、周辺の環境状態に対応して、目標の状態になるように、動作部１ａ（電気設備４１２）を電子制御する。例えば、自動制御機能では、環境領域ＥＮＶ内の温度分布に基づいて、目標温度分布に近づくように電気設備４１２（空調機器など）が自動的に制御され、環境領域ＥＮＶ内の照度分布に基づいて、目標照度分布に近づくように電気設備４１２（照明機器など）が自動的に制御される。したがって、周辺の環境状態を認識する必要があり、実施の形態６では、コントローラー２が、以下のようにして、周辺の環境状態を認識する。
【０１５２】
実施の形態６において、センサー部１１，３１は、温度センサーおよび照度センサーを含む。また、実施の形態６においては、センサー部１１，３１は、温度センサーおよび照度センサーの他に、イメージングセンサーを有するカメラ、音響センサー（マイクロフォンなど）などを含むようにしてもよい。このカメラは、環境領域ＥＮＶの一部または全部を撮影する。
【０１５３】
図１６は、本発明の実施の形態６に係るデバイス制御システムにおけるシミュレーションについて説明する図である。
【０１５４】
実施の形態６では、シミュレーター４３は、環境領域ＥＮＶ内の熱流体シミュレーションおよび照度シミュレーションを実行し、環境領域ＥＮＶ内の温度分布および照度分布を導出する。熱流体シミュレーションでは、環境領域ＥＮＶの境界条件（壁面や開口部での温度、風速など）がシミュレーション条件（未知部分）とされ、環境領域ＥＮＶの３次元マップデータ、電気設備４１２（空調機器および発熱する機器）の各設定（動作状態）での発熱量や風量（風速）を示す電気設備仕様データなどがシミュレーション条件（既知部分）とされ、既知の数値シミュレーション方法で、環境領域ＥＮＶ内の温度分布および風速分布が導出される。照度シミュレーションでは、環境領域ＥＮＶの境界条件（窓や開口部での外界からの入射光量など）がシミュレーション条件（未知部分）とされ、環境領域ＥＮＶの３次元マップデータ、電気設備４１２（照明機器や発光する機器）の各設定（動作状態）での発光色および発光量を示す電気設備仕様データなどがシミュレーション条件（既知部分）とされ、既知の数値シミュレーション方法で、環境領域ＥＮＶ内の照度分布が導出される。
【０１５５】
また、実施の形態６では、センサー部１１，３１の温度センサーおよび照度センサーに対応して、仮想センサー信号として、仮想温度センサー信号および仮想照度センサー信号が生成される。仮想温度センサー信号は、例えば、熱流体シミュレーションの結果から得られる温度センサーの設置位置における温度から、温度センサーの仕様（温度に対する電気的特性など）に基づいて特定される。仮想照度センサー信号は、例えば、照度シミュレーションの結果から得られる照度センサーの設置位置における照度から、照度センサーの仕様（照度に対する電気的特性など）に基づいて特定される。
【０１５６】
次に、実施の形態６に係るデバイス制御システムの動作について説明する。
【０１５７】
実施の形態６では、コントローラー２は、上述のセンサー部１１，３１から実センサー信号を取得し、センサー誤差が収束するまで、反復的に、シミュレーション条件（未知部分）の更新、熱流体シミュレーションおよび照度シミュレーション、仮想センサー信号の生成、並びにセンサー誤差の演算を実行し、シミュレーション条件の値を確定する。
【０１５８】
そして、シミュレーション条件の値の確定後、コントローラー２は、確定したシミュレーション条件およびシミュレーション結果に対応する制御信号を生成し、電気設備制御システム４０１に出力する。
【０１５９】
例えば、コントローラー２は、確定した環境領域ＥＮＶの境界条件に基づいて、環境領域ＥＮＶ内の温度分布および照度分布を目標に近づけるように各電気設備４１２の設定を特定し、特定した設定を示す制御信号を電気設備制御システム４０１に出力する。電気設備制御システム４０１の制御部１２は、その制御信号に従って、指定された設定を各電気設備４１２に適用する。
【０１６０】
ここで、実施の形態２で示した他の自律動作物体６１が環境領域ＥＮＶ内に存在する場合について説明する。その場合、実施の形態２で述べたように制御信号生成部４４は、自律動作物体６１の意図推論を行い、その結果を考慮して、電気設備制御システム４０１の動作を制御する。
【０１６１】
具体的には、例えば図１５に示すように、他の自律動作物体６１として人物４６１が環境領域ＥＮＶ内に存在する場合、コントローラー２は、上述のカメラの可視撮影画像信号に基づいて、環境領域ＥＮＶ内の人物４６１を検出する。
【０１６２】
図１７は、本発明の実施の形態６に係るデバイス制御システムにおける、他の自律動作物体のシミュレーションについて説明する図である。この場合、自律動作物体は、人であるので、被制御デバイス１（電気設備制御システム４０１）とは異種の自律動作物体である。
【０１６３】
図１７に示すように、上述のシミュレーション結果から特定される人物４６１周囲の温度データおよび流速データ、並びに、可視撮影画像信号に基づく可視撮影画像から特定される人体姿勢データがシミュレーション条件とされ、所定の人体状態シミュレーションが実行され、人物４６１の感覚（暑い、寒いなどといった温感状態）がシミュレーション結果として得られる。
【０１６４】
そして、制御信号生成部４４は、そのシミュレーション条件およびシミュレーション結果に基づいて、人物４６１の感覚などを考慮して、電気設備制御システム４０１のための制御信号を生成する。例えば、シミュレーション結果が、「暑い」という温感状態を示している場合、制御信号生成部４４は、人物４６１の位置の温度を下げるために、電気設備制御システム４０１における空調機器の設定温度を下げるための制御信号を生成する。
【０１６５】
なお、実施の形態６に係るデバイス制御システムのその他の構成および動作については実施の形態１または２と同様であるので、その説明を省略する。
【０１６６】
以上のように、上記実施の形態６によれば、シミュレーション条件の確定値として得られる状態情報に基づいて、電気設備制御システム４０１が適切に制御される。
【０１６７】
なお、上述の実施の形態に対する様々な変更および修正については、当業者には明らかである。そのような変更および修正は、その主題の趣旨および範囲から離れることなく、かつ、意図された利点を弱めることなく行われてもよい。つまり、そのような変更および修正が請求の範囲に含まれることを意図している。
【０１６８】
例えば、上記実施の形態のいずれかにおいて、センサー部１１，３１におけるカメラには、ステレオカメラを使用するようにし、ステレオカメラの撮影画像信号から、可視撮影画像信号および距離画像信号を得るようにしてもよい。また、センサー部１１，３１がステレオカメラを含む場合、センサー部１１，３１は、ＬｉＤＡＲセンサーやＲＡＤＡＲセンサーを含まなくてもよい。
【０１６９】
また、上記実施の形態のいずれかにおいて、シミュレーション条件の既知部分のデータ（例えば、実センサー信号として測定されるデータ）を未知部分に含めるようにしてもよい。そのようにすることで、例えばセンサーの不具合などで、実センサー信号の値が不適切になった場合でも、他の実センサー信号から、適切な値のデータが得られる。つまり、実センサー信号の値が不適切になった場合、他の実センサー信号から、適切な値のデータが得られるように、上述のＤＮＮが機械学習される。また、例えば、３次元マップデータは、カメラの撮影画像から推定できる場合には、３次元マップデータを、シミュレーション条件の既知部分ではなく未知部分としてもよい。その場合、３次元マップデータまたは３次元道路マップデータを予め用意しておく必要がなくなる。
【０１７０】
さらに、上記実施の形態のいずれかにおいて、仮想可視撮影画像信号および実センサー信号としての可視撮影画像信号は、撮影された階調を有する可視画像の信号でもよいし、その可視画像に対してエッジ抽出を行うことで得られたエッジ画像の信号でもよい。
【０１７１】
さらに、上記実施の形態のいずれかにおいて、制御信号を、シミュレーター４３におけるシミュレーションに使用してもよい。例えば、時系列に沿って、制御信号が順次生成される場合、１タイムステップ前の制御信号が、現タイムステップのシミュレーションに使用される。これにより、シミュレーションの精度が高まる。
【０１７２】
さらに、上記実施の形態のいずれかにおいて、シミュレーター４３におけるシミュレーションが、一連の複数タイムステップにかけて進行するシミュレーションであり、時系列に沿って複数タイムステップの仮想センサー信号を生成する場合、複数タイムステップの実センサー信号および複数タイムステップの仮想センサー信号（あるいは複数タイムステップのセンサー誤差（両者の差））を入力としたリカレントニューラルネットワークを、シミュレーション条件更新部４２における上述の機械学習済みＤＮＮとして使用するようにしてもよい。
【０１７３】
さらに、上記実施の形態のいずれかにおいて、実センサー信号は、リアルタイムでセンサー部１１，３１からコントローラー２へ供給されるようにしてもよいし、センサー部１１，３１とコントローラー２との間で一時的にバッファリングされるようにしてもよい。
【産業上の利用可能性】
【０１７４】
本発明は、例えば、デバイスを制御するシステムに適用可能である。
【符号の説明】
【０１７５】
１  被制御デバイス
２  コントローラー
１１，３１  センサー部
２１  演算処理装置（コンピューターの一例）
２２ａ  デバイス制御プログラム
４１  センサー誤差演算部
４２  シミュレーション条件設定部
４３  シミュレーター
４４  制御信号生成部
【図１】
2020086569.tif 000003
【図２】
2020086569.tif 000004
【図３】
2020086569.tif 000005
【図４】
2020086569.tif 000006
【図５】
2020086569.tif 000007
【図６】
2020086569.tif 000008
【図７】
2020086569.tif 000009
【図８】
2020086569.tif 000010
【図９】
2020086569.tif 000011
【図１０】
2020086569.tif 000012
【図１１】
2020086569.tif 000013
【図１２】
2020086569.tif 000014
【図１３】
2020086569.tif 000015
【図１４】
2020086569.tif 000016
【図１５】
2020086569.tif 000017
【図１６】
2020086569.tif 000018
【図１７】
2020086569.tif 000019