(57)【要約】【課題】シミュレーションを行う仮想ロボットコントローラを生成する時間を短縮する。【解決手段】仮想ロボットの構成を入力させる入力部２と、仮想ロボット候補の構成と仮想ロボットコントローラ候補の設定とを対応づけて記憶する記憶部３と、入力された仮想ロボットに最も近似する仮想ロボット候補の構成を記憶部から読み出して差分を抽出する差分抽出部４と、対応する仮想ロボットコントローラ候補の設定および抽出された差分に含まれる仮想ロボット候補の構成に対応する仮想ロボットコントローラ候補の設定を記憶部から読み出し、構成毎に追加または削除して新たな候補、新たな仮想ロボットおよび仮想ロボットコントローラを生成する仮想ロボット生成部５と、生成された新たな仮想ロボット候補の構成および仮想ロボットコントローラ候補の設定を記憶部に記憶させる候補更新部６とを備えるロボットシステムのシミュレーション装置１を提供する。【選択図】図１
2019025633.tif 000002
【特許請求の範囲】
【請求項１】
シミュレーションを行う仮想ロボットの構成を入力させる入力部と、
仮想ロボット候補の構成と仮想ロボットコントローラ候補の設定とを対応づけて記憶する記憶部と、
前記入力部に入力された前記仮想ロボットの構成に最も近似する前記仮想ロボット候補の構成を前記記憶部から読み出して、読み出された前記仮想ロボット候補の構成と前記入力部に入力された前記仮想ロボットの構成との差分を抽出する差分抽出部と、
最も近似する前記仮想ロボット候補の構成に対応する前記仮想ロボットコントローラ候補の設定および前記差分抽出部により抽出された前記差分に含まれる前記仮想ロボット候補の構成に対応する前記仮想ロボットコントローラ候補の設定を前記記憶部から読み出して、最も近似する前記仮想ロボットコントローラ候補の設定に前記差分に含まれる前記仮想ロボット候補の構成毎に対応する前記仮想ロボットコントローラ候補の設定を追加または削除して新たな前記仮想ロボット候補の構成と対応する仮想ロボットコントローラ候補の設定および新たな前記仮想ロボットの構成と対応する仮想ロボットコントローラの設定を生成する仮想ロボット生成部と、
該仮想ロボット生成部により生成された新たな前記仮想ロボット候補の構成および対応する仮想ロボットコントローラ候補の設定を前記記憶部に記憶させる候補更新部とを備えるロボットシステムのシミュレーション装置。
【請求項２】
前記記憶部が、前記仮想ロボット候補の構成毎に、該構成に対応する設定を追加または削除するために要する所要時間を対応づけて記憶し、
前記差分抽出部が、前記入力部に入力された前記仮想ロボットの構成に対応する前記仮想ロボットコントローラの設定を得るための総所要時間が最も少ないものを最も近似する前記仮想ロボット候補として前記記憶部から読み出す請求項１に記載のロボットシステムのシミュレーション装置。
【請求項３】
前記差分抽出部は、前記記憶部に記憶されている前記仮想ロボット候補の構成が、前記入力部に入力された前記仮想ロボットに含まれている構成である場合には、該構成に対応づけて前記記憶部に記憶されている、該構成を追加するために必要な所要時間を積算し、前記入力部に入力された前記仮想ロボットに含まれていない構成である場合には、該構成に対応づけて前記記憶部に記憶されている、該構成を削除するために必要な所要時間を減算して、演算結果が最大となる前記仮想ロボット候補を最も近似する前記仮想ロボット候補として読み出す請求項２に記載のロボットシステムのシミュレーション装置。
【請求項４】
前記差分抽出部が、前記差分に含まれる構成に対応する前記設定を追加または削除する場合に、各前記構成に対応づけて前記記憶部に記憶されている所要時間を積算し、演算結果が最小となる前記仮想ロボット候補を最も近似する前記仮想ロボット候補とする請求項２に記載のロボットシステムのシミュレーション装置。
【請求項５】
前記差分抽出部により最も近似する前記仮想ロボット候補として読み出される都度に利用回数をインクリメントする利用回数算出部と、
前記記憶部の空き容量を検出する記憶容量検出部とを備え、
前記候補更新部が、該記憶容量検出部により検出された前記空き容量が所定の閾値より少ない場合に、前記利用回数が最も多い前記仮想ロボット候補に近似する他の前記仮想ロボット候補の構成および対応する仮想ロボットコントローラ候補の設定を前記記憶部から削除する請求項１から請求項４のいずれかに記載のロボットシステムのシミュレーション装置。
【請求項６】
前記候補更新部は、前記仮想ロボット生成部が、新たな前記仮想ロボット候補の構成および対応する前記仮想ロボットコントローラ候補の設定を生成する都度に、前記記憶部に記憶させる請求項１から請求項５のいずれかに記載のロボットシステムのシミュレーション装置。
【請求項７】
前記候補更新部は、前記仮想ロボット生成部が、所定数の新たな前記仮想ロボット候補の構成に対応する前記仮想ロボットコントローラ候補の設定を生成する毎に、前記記憶部に記憶させる請求項１から請求項５のいずれかに記載のロボットシステムのシミュレーション装置。
【請求項８】
前記候補更新部は、前記記憶部への記憶に要する速度または前記記憶部に記憶しようとする情報量に応じて前記所定数を変更する請求項７に記載のロボットシステムのシミュレーション装置。
【請求項９】
シミュレーションを行う仮想ロボットの構成を入力させる入力ステップと、
該入力ステップにおいて入力された前記仮想ロボットの構成に最も近似する仮想ロボット候補の構成を記憶部から読み出して、読み出された前記仮想ロボット候補の構成と前記入力ステップにおいて入力された前記仮想ロボットの構成との差分を抽出する差分抽出ステップと、
最も近似する前記仮想ロボット候補の構成に対応する仮想ロボットコントローラ候補の設定および前記差分抽出ステップにより抽出された前記差分に含まれる前記仮想ロボット候補の構成に対応する前記仮想ロボットコントローラ候補の設定を前記記憶部から読み出して、最も近似する前記仮想ロボットコントローラ候補の設定に前記差分に含まれる前記仮想ロボット候補の構成毎に対応する前記仮想ロボットコントローラ候補の設定を追加または削除して新たな前記仮想ロボット候補の構成と対応する仮想ロボットコントローラ候補の設定および新たな前記仮想ロボットの構成と対応する仮想ロボットコントローラの設定を生成する仮想ロボット生成ステップと、
該仮想ロボット生成ステップにより生成された新たな前記仮想ロボット候補の構成および対応する仮想ロボットコントローラ候補の設定を前記記憶部に記憶させる候補更新ステップとを含むロボットシステムのシミュレーション方法。
【請求項１０】
前記記憶部が、前記仮想ロボット候補の構成毎に、該構成に対応する設定を追加または削除するために要する所要時間を対応づけて記憶し、
前記差分抽出ステップが、前記入力ステップにおいて入力された前記仮想ロボットの構成に対応する前記仮想ロボットコントローラの設定を得るための総所要時間が最も少ないものを最も近似する前記仮想ロボット候補として前記記憶部から読み出す請求項９に記載のロボットシステムのシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステムのシミュレーション装置およびシミュレーション方法に関するものである。
【背景技術】
【０００２】
ロボットの３次元モデルを仮想空間上に配置してシミュレーションを行うロボットシステムのシミュレーション装置が知られている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１２９９１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、仮想ロボットのシミュレーションを行うためには仮想ロボットコントローラを生成する必要があり、実際のロボットコントローラと同様に多数の設定を行う必要があるため、シミュレーションを行いたい仮想ロボットコントローラを生成するのに時間がかかるという不都合がある。
本発明は上述した事情に鑑みてなされたものであって、シミュレーションを行いたい仮想ロボットコントローラを生成する時間を短縮することができるロボットシステムのシミュレーション装置およびシミュレーション方法を提供することを目的としている。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の一態様は、シミュレーションを行う仮想ロボットの構成を入力させる入力部と、仮想ロボット候補の構成と仮想ロボットコントローラ候補の設定とを対応づけて記憶する記憶部と、前記入力部に入力された前記仮想ロボットの構成に最も近似する前記仮想ロボット候補の構成を前記記憶部から読み出して、読み出された前記仮想ロボット候補の構成と前記入力部に入力された前記仮想ロボットの構成との差分を抽出する差分抽出部と、最も近似する前記仮想ロボット候補の構成に対応する前記仮想ロボットコントローラ候補の設定および前記差分抽出部により抽出された前記差分に含まれる前記仮想ロボット候補の構成に対応する前記仮想ロボットコントローラ候補の設定を前記記憶部から読み出して、最も近似する前記仮想ロボットコントローラ候補の設定に前記差分に含まれる前記仮想ロボット候補の構成毎に対応する前記仮想ロボットコントローラ候補の設定を追加または削除して新たな前記仮想ロボット候補の構成と対応する仮想ロボットコントローラ候補の設定および新たな前記仮想ロボットの構成と対応する仮想ロボットコントローラの設定を生成する仮想ロボット生成部と、該仮想ロボット生成部により生成された新たな前記仮想ロボット候補の構成および対応する仮想ロボットコントローラ候補の設定を前記記憶部に記憶させる候補更新部とを備えるロボットシステムのシミュレーション装置を提供する。
【０００６】
本態様によれば、シミュレーションを行う仮想ロボットの構成を入力部から入力すると、記憶部に記憶されている仮想ロボット候補の構成の中から、入力された仮想ロボットの構成に最も近似する仮想ロボット候補の構成が読み出される。読み出された仮想ロボット候補の構成と入力された仮想ロボットの構成との差分が差分抽出部により抽出され、抽出された差分に含まれる構成に対応する設定を、最も近似する仮想ロボット候補に対応する仮想ロボットコントローラ候補の設定に追加または削除することにより、所望の仮想ロボットコントローラの設定を得ることができる。
【０００７】
この場合において、差分抽出部により抽出された差分に含まれる構成毎に、構成に対応する設定が、仮想ロボット生成部により、読み出された仮想ロボットコントローラ候補の設定に追加または削除されることによって仮想ロボット候補および対応する仮想ロボットコントローラ候補の設定が生成され、候補更新部により記憶部内の記憶内容が更新される。
【０００８】
すなわち、シミュレーションを行おうとする仮想ロボットの構成が、記憶部に記憶されている最も近似する仮想ロボット候補とは異なっている場合に、入力された構成を生成するために仮想ロボット候補に追加する構成または削除する構成が特定され、読み出された仮想ロボット候補に対応する仮想ロボットコントローラ候補の設定に、特定された構成を構成毎に追加または削除した新たな仮想ロボット候補の構成および仮想ロボットコントローラ候補の設定が記憶部に記憶される。
【０００９】
これにより、差分に含まれる構成が複数ある場合には、その構成の数だけ、新たな仮想ロボット候補の構成と対応する仮想ロボットコントローラ候補の設定とを対応づけて記憶部に記憶させることができる。したがって、その後に、新たな仮想ロボットのシミュレーションを行う場合に、より差分の小さい仮想ロボット候補が読み出される可能性を広げることができる。その結果、シミュレーションを行いたい仮想ロボットコントローラを生成する時間を短縮することができる。
【００１０】
上記態様においては、前記記憶部が、前記仮想ロボット候補の構成毎に、該構成に対応する設定を追加または削除するために要する所要時間を対応づけて記憶し、前記差分抽出部が、前記入力部に入力された前記仮想ロボットの構成に対応する前記仮想ロボットコントローラの設定を得るための総所要時間が最も少ないものを最も近似する前記仮想ロボット候補として前記記憶部から読み出してもよい。
【００１１】
このようにすることで、記憶部に記憶されている仮想ロボット候補に基づいてシミュレーションを行いたい仮想ロボットを生成する場合に、最も時間を掛けずに、対応する仮想ロボットコントローラの設定を生成することができる。
【００１２】
また、上記態様においては、前記差分抽出部は、前記記憶部に記憶されている前記仮想ロボット候補の構成が、前記入力部に入力された前記仮想ロボットに含まれている構成である場合には、該構成に対応づけて前記記憶部に記憶されている、該構成を追加するために必要な所要時間を積算し、前記入力部に入力された前記仮想ロボットに含まれていない構成である場合には、該構成に対応づけて前記記憶部に記憶されている、該構成を削除するために必要な所要時間を減算して、演算結果が最大となる前記仮想ロボット候補を最も近似する前記仮想ロボット候補として読み出してもよい。
【００１３】
このようにすることで、記憶部に記憶されている仮想ロボット候補からシミュレーションを行いたい仮想ロボットを生成するまでの時間的距離として演算結果を利用することができ、演算結果が最大となる仮想ロボット候補を最も近似する仮想ロボット候補とすることにより、最も時間を掛けずに、対応する仮想ロボットコントローラの設定を生成することができる。
【００１４】
また、上記態様においては、前記差分抽出部が、前記差分に含まれる構成に対応する前記設定を追加または削除する場合に、各前記構成に対応づけて前記記憶部に記憶されている所要時間を積算し、演算結果が最小となる前記仮想ロボット候補を最も近似する前記仮想ロボット候補としてもよい。
このようにすることで、差分に含まれる構成に対応する全ての設定を追加または削除する場合の所要時間として演算結果を利用して、演算結果が最小となる仮想ロボット候補を最も近似する仮想ロボット候補とすることにより、最も時間を掛けずに、対応する仮想ロボットコントローラの設定を生成することができる。
【００１５】
また、上記態様においては、前記差分抽出部により最も近似する前記仮想ロボット候補として読み出される都度に利用回数をインクリメントする利用回数算出部と、前記記憶部の空き容量を検出する記憶容量検出部とを備え、前記候補更新部が、該記憶容量検出部により検出された前記空き容量が所定の閾値より少ない場合に、前記利用回数が最も多い前記仮想ロボット候補に近似する他の前記仮想ロボット候補の構成および対応する仮想ロボットコントローラ候補の設定を前記記憶部から削除してもよい。
このようにすることで、利用回数が最も多い仮想ロボット候補に近似する他の仮想ロボット候補は、利用回数が最も多い仮想ロボット候補から簡易に生成できるため、重複して記憶しておく必要がなく、これを削除することで、記憶部の空き容量を効率的に増大させることができる。
【００１６】
また、上記態様においては、前記候補更新部は、前記仮想ロボット生成部が、新たな前記仮想ロボット候補の構成および対応する前記仮想ロボットコントローラ候補の設定を生成する都度に、前記記憶部に記憶させてもよい。
このようにすることで、仮想ロボット生成部が、シミュレーションを行う新たな仮想ロボットコントローラの設定を生成するまでの途中で生成した仮想ロボットコントローラ候補の設定を、候補更新部により逐次記憶部に記憶することができる。
【００１７】
また、上記態様においては、前記候補更新部は、前記仮想ロボット生成部が、所定数の新たな前記仮想ロボット候補の構成に対応する前記仮想ロボットコントローラ候補の設定を生成する毎に、前記記憶部に記憶させてもよい。
このようにすることで、仮想ロボット生成部が、シミュレーションを行う新たな仮想ロボットコントローラの設定を生成するまでの途中で生成した仮想ロボットコントローラ候補の設定を、所定数生成される毎に候補更新部により記憶部に記憶することで、記憶に要する時間を節約することができる。
【００１８】
また、上記態様においては、前記候補更新部は、前記記憶部への記憶に要する速度または前記記憶部に記憶しようとする情報量に応じて前記所定数を変更してもよい。
このようにすることで、記憶部への記憶に要する速度が遅い場合には、纏めて記憶する仮想ロボットコントローラ候補の設定の数を増やし、速度が速い場合には、減らすことで記憶に要する速度を変動させずに済む。また、情報量が多い場合には記憶に時間がかかるので情報量に応じて纏めて記憶する仮想ロボットコントローラ候補の設定の数を増減することによっても記憶に要する速度を変動させずに済む。
【００１９】
また、本発明の他の態様は、シミュレーションを行う仮想ロボットの構成を入力させる入力ステップと、該入力ステップにおいて入力された前記仮想ロボットの構成に最も近似する仮想ロボット候補の構成を記憶部から読み出して、読み出された前記仮想ロボット候補の構成と前記入力ステップにおいて入力された前記仮想ロボットの構成との差分を抽出する差分抽出ステップと、最も近似する前記仮想ロボット候補の構成に対応する仮想ロボットコントローラ候補の設定および前記差分抽出ステップにより抽出された前記差分に含まれる前記仮想ロボット候補の構成に対応する前記仮想ロボットコントローラ候補の設定を前記記憶部から読み出して、最も近似する前記仮想ロボットコントローラ候補の設定に前記差分に含まれる前記仮想ロボット候補の構成毎に対応する前記仮想ロボットコントローラ候補の設定を追加または削除して新たな前記仮想ロボット候補の構成と対応する仮想ロボットコントローラ候補の設定および新たな前記仮想ロボットの構成と対応する仮想ロボットコントローラの設定を生成する仮想ロボット生成ステップと、該仮想ロボット生成ステップにより生成された新たな前記仮想ロボット候補の構成および対応する仮想ロボットコントローラ候補の設定を前記記憶部に記憶させる候補更新ステップとを含むロボットシステムのシミュレーション方法を提供する。
【００２０】
上記態様においては、前記記憶部が、前記仮想ロボット候補の構成毎に、該構成に対応する設定を追加または削除するために要する所要時間を対応づけて記憶し、前記差分抽出ステップが、前記入力ステップにおいて入力された前記仮想ロボットの構成に対応する前記仮想ロボットコントローラの設定を得るための総所要時間が最も少ないものを最も近似する前記仮想ロボット候補として前記記憶部から読み出してもよい。
【発明の効果】
【００２１】
本発明によれば、シミュレーションを行いたい仮想ロボットコントローラを生成する時間を短縮することができるという効果を奏する。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係るロボットシステムのシミュレーション装置を示すブロック図である。
【図２】図１のシミュレーション装置に備えられる記憶部内に記憶されている情報の一例を示す図である。
【図３】図１のシミュレーション装置を用いたシミュレーション方法を説明するフローチャートである。
【図４】図３のフローチャートの最も近似する仮想ロボット候補を決定する処理を説明するフローチャートである。
【図５】図４の評価値算出処理を説明するフローチャートである。
【発明を実施するための形態】
【００２３】
本発明の一実施形態に係るロボットシステムのシミュレーション装置１について、図面を参照しながら以下に説明する。
ロボットシステムは、任意の形態のロボットと該ロボットを制御するロボットコントローラとを備えている。
【００２４】
本実施形態に係るロボットシステムのシミュレーション装置１は、シミュレーションしようとするロボットを模擬した３次元モデルからなる仮想ロボットをコンピュータにより実現された仮想空間上に配置するとともに、ロボットコントローラを模擬した仮想ロボットコントローラをコンピュータ上に生成し、仮想ロボットコントローラによって仮想ロボットを制御してコンピュータの画面上で模擬的に動作させる装置である。
【００２５】
シミュレーション装置１は、図１に示されるように、操作者に、シミュレーションを行いたい仮想ロボットの構成（以下、入力構成とも言う。）を入力させる入力部２と、仮想ロボット候補の構成と仮想ロボットコントローラの設定とを対応づけて記憶する記憶部３と、入力された構成に最も近似する仮想ロボットの構成（以下、基本構成とも言う。）を記憶部３から読み出して、入力構成との差分を抽出する差分抽出部４と、抽出された差分に含まれる構成を基本構成に追加または削除して仮想ロボットおよび仮想ロボットコントローラを生成する仮想ロボット生成部５と、生成された仮想ロボットおよび仮想ロボットコントローラを仮想ロボット候補および仮想ロボットコントローラ候補として記憶部３に記憶（キャッシュ）する候補更新部６と、生成された仮想ロボットおよび仮想ロボットコントローラを用いてシミュレーションを実行するシミュレーション実行部７とを備えている。
【００２６】
記憶部３は、図２に示されるように、仮想ロボット候補の構成と仮想ロボットコントローラ候補の設定とを対応づけて記憶している。仮想ロボット候補の構成としては、過去に生成した仮想ロボットの構成の他、仮想ロボット候補を生成するための個別の構成も記憶されている。
例えば、図２に示す例では、過去に生成された仮想ロボット候補の構成ＡＢＣＤ，ＡＣＤＥ，ＡＥＦおよび個別の構成Ａ，Ｂ，Ｃ，Ｄ，・・・が、それぞれに対応する仮想ロボットコントローラ候補の設定Ｘ１，Ｘ２，・・・と対応づけて記憶されている。
【００２７】
仮想ロボット候補の構成ＡＢＣＤは、個別の構成Ａ，Ｂ，Ｃ，Ｄを組み合わせたものであり、個別の構成としては、ロボットの機種名、追加のサーボガン等の機器の機種名、ギヤ比、加速度、動作範囲等を挙げることができる。
仮想ロボットコントローラ候補の設定Ｘ１，Ｘ２，・・・には、１以上の設定項目が含まれている。
【００２８】
また、記憶部３には、仮想ロボット候補の構成Ａ，Ｂ，Ｃ，Ｄ，・・・に対応して、これらの構成Ａ，Ｂ，Ｃ，Ｄ，・・・を追加するために要する所要時間ｔ１１，ｔ２１，ｔ３１，ｔ４１，・・・、および、これらの構成Ａ，Ｂ，Ｃ，Ｄ，・・・を削除するために要する所要時間ｔ１２，ｔ２２，ｔ３２，ｔ４２，・・・が、構成Ａ，Ｂ，Ｃ，Ｄ，・・・に対応づけて記憶されている。
【００２９】
差分抽出部４は、入力部２から入力構成が入力されると、記憶部３から複数の基本構成を読み出して、入力構成と基本構成との差分をそれぞれ抽出し、各基本構成に各差分を追加または削除して入力構成を生成するために要する所要時間を表す評価値を算出するようになっている。入力構成を生成するために要する所要時間としては、記憶部３に記憶されている各仮想ロボット候補を組み合わせて仮想ロボットの３次元モデルを生成するために要する時間および仮想ロボットに対応する仮想ロボットコントローラの設定を生成するために要する時間が含まれる。
【００３０】
例えば、入力構成がＡＢＤＥＦである場合、記憶部３から基本構成ＡＢＣＤ，ＡＣＤＥ，ＡＥＦが読み出され、それぞれ差分Ｙ１：（−Ｃ＋ＥＦ）、Ｙ２：（−Ｃ＋ＢＦ）、Ｙ３：（＋ＢＤ）が抽出される。ここで、−（マイナス）は構成を削除、＋（プラス）は構成を追加することを示している。
【００３１】
評価値は、例えば、入力構成に含まれている仮想ロボット候補の構成については、該構成を追加するための所要時間を積算し、入力構成に含まれていない仮想ロボット候補の構成については、該構成を削除するための所要時間を減算することにより算出される。そして、評価値が最も大きくなる仮想ロボット候補が、入力構成に最も近似する仮想ロボット候補であるとして記憶部３から読み出されるようになっている。
【００３２】
例えば、上記例において、基本構成ＡＢＣＤは、入力構成ＡＢＤＥＦに含まれる構成ＡＢＤと含まれない構成Ｃを含んでいるので、評価値Ｚ１は以下の通りとなる。
Ｚ１＝ｔ１１＋ｔ２１＋ｔ４１−ｔ３２
また、基本構成ＡＣＤＥは、入力構成ＡＢＤＥＦに含まれる構成ＡＤＥと含まれない構成Ｃを含んでいるので、評価値Ｚ２は以下の通りとなる。
Ｚ２＝ｔ１１＋ｔ４１＋ｔ５１−ｔ３２
また、基本構成ＡＥＦは、入力構成ＡＢＤＥＦに含まれる構成ＡＥＦを含み、含まれない構成を含んでいないので、評価値Ｚ３は以下の通りとなる。
Ｚ３＝ｔ１１＋ｔ５１＋ｔ６１
【００３３】
そして、評価値Ｚ１，Ｚ２，Ｚ３の大きさが比較され、評価値が最も大きい基本構成が入力構成に最も近似する仮想ロボット候補であるとして記憶部３から読み出されるようになっている。
【００３４】
仮想ロボット生成部５は、このようにして差分抽出部４により記憶部３から読み出された、入力構成に最も近似する仮想ロボット候補を基本構成として、入力構成との差分の構成に対応する仮想ロボットコントローラ候補の設定を順次追加または削除することにより入力構成に適した仮想ロボットコントローラを生成するようになっている。
この場合において、仮想ロボット生成部５は、仮想ロボットコントローラの生成過程において、差分に含まれる個別の構成を１つずつ追加または削除した仮想ロボットコントローラ候補を生成するようになっている。そして、候補更新部６は、仮想ロボット生成部５により仮想ロボットコントローラ候補が生成される都度、記憶部３に記憶させるようになっている。
【００３５】
例えば、上記例において、入力構成に最も近似する仮想ロボット候補として、基本構成ＡＣＤＥが記憶部３から読み出された場合に、入力構成との差分Ｙ２に含まれる構成Ｂを追加した構成ＡＢＣＤＥ、構成Ｃを削除した構成ＡＢＤＥ、構成Ｆを追加したＡＢＤＥＦがそれぞれ生成されるとともに、基本構成ＡＣＤＥに対応する仮想ロボットコントローラ候補の設定Ｘ２に、構成Ｂに対応する設定Ｘ５を追加し、構成Ｃに対応する設定Ｘ６を削除し、構成Ｆに対応する設定Ｘ９を追加した仮想ロボットコントローラ候補がそれぞれ生成され、記憶部３に記憶されるようになっている。
【００３６】
また、候補更新部６は、個別の構成を追加または削除する際の所要時間が記憶部３に記憶されていない場合には、所要時間と合わせて記憶部３に記憶させるようになっている。
【００３７】
このように構成された本実施形態に係るロボットシステムのシミュレーション装置１を用いたシミュレーション方法について、以下に説明する。
本実施形態に係るロボットシステムのシミュレーション方法は、図３に示されるように、操作者が入力部２からシミュレーションしたい仮想ロボットの構成（入力構成）を入力することから開始される（入力ステップＳ１）。
【００３８】
入力構成が入力されると、差分抽出部４により、該入力構成に最も近似した仮想ロボット候補が記憶部３から読み出される（ステップＳ２）。最も近似した仮想ロボット候補の読出は、図４に示されるように、記憶部３内に記憶されているいずれかの仮想ロボット候補（基本構成）を読み出し（ステップＳ２１）、評価値を算出する（ステップＳ２２）。
【００３９】
評価値の算出は、図５に示されるように、基本構成内のいずれか１つの構成を選択し（ステップＳ２２１）、選択された構成が入力構成に含まれているか否かを判定する（ステップＳ２２２）。含まれている場合には当該構成に対応づけて記憶されている追加所要時間を積算することにより評価値を算出する（ステップＳ２２３）。含まれていない場合には、当該構成に対応づけて記憶されている削除所要時間を減算することにより評価値を算出する（ステップＳ２２４）。
【００４０】
基本構成内の全ての構成を用いた評価値算出処理が終了したか否かが判定され（ステップＳ２２５）、終了した場合には評価値を出力し（ステップＳ２２６）、終了していない場合にはステップＳ２２１からの工程が繰り返される。
【００４１】
このようにして算出された評価値が、これまでに読み出された仮想ロボット候補の中で最大であるか否かが判定され（ステップＳ２３）、最大である場合には最も近似する仮想ロボット候補として選択され（ステップＳ２４）、最大ではない場合には、他の仮想ロボット候補があるか否かが判定される（ステップＳ２５）。
他の仮想ロボット候補がある場合にはステップＳ２１からの工程が繰り返され、ない場合には最後に選択された仮想ロボット候補が最も近似する仮想ロボット候補として記憶部３から読み出される。
【００４２】
入力構成と、該入力構成に最も近似する仮想ロボット候補との差分が抽出され（差分抽出ステップＳ３）、仮想ロボット候補に対応して記憶されている仮想ロボットコントローラ候補の設定に、抽出された差分に含まれる構成に対応する仮想ロボットコントローラ候補の設定が、個別の構成毎に追加または削除される（仮想ロボット生成ステップＳ４）。
個別の構成の追加または削除によって生成された新たな仮想ロボット候補の構成および仮想ロボットコントローラ候補の設定が、生成される都度に対応づけられて記憶部３に記憶される（候補更新ステップＳ５）。
【００４３】
そして、抽出された差分内の全ての構成について追加または削除が終了したか否かが判定され（ステップＳ６）、終了していない場合にはステップＳ４からの工程が繰り返される。終了した場合には、最後に生成された仮想ロボット候補および仮想ロボットコントローラ候補が入力構成に対応する仮想ロボットの構成および対応する仮想ロボットコントローラの設定となるので、これらを用いてロボットシステムのシミュレーションが実行される（ステップＳ７）。
【００４４】
このように、本実施形態に係るロボットシステムのシミュレーション装置１およびシミュレーション方法によれば、シミュレーションを行いたい仮想ロボットの構成と対応する仮想ロボットコントローラの設定が生成される過程で、個別の構成を追加または削除することにより生成される仮想ロボット候補の構成および対応する仮想ロボットコントローラ候補の設定も記憶部３に記憶されるので、次に新たな仮想ロボットを生成する際に、より近似する仮想ロボット候補を選択できる可能性を広げることができる。これにより、シミュレーションを行いたい仮想ロボットコントローラを設定する時間を短縮することができるという利点がある。
【００４５】
なお、本実施形態においては、新たな仮想ロボット候補の構成と対応する仮想ロボットコントローラ候補の設定が生成される都度に、記憶部３に記憶することとしたが、これに代えて、複数回に１度の頻度で記憶することにしてもよい。また、記憶の頻度は、記憶部３への記憶に要する速度または記憶部３に記憶しようとする情報量に応じて変更することにしてもよい。
記憶部３への記憶に要する速度が遅い場合には、纏めて記憶する仮想ロボットコントローラ候補の設定の数を増やし、速度が速い場合には、減らすことで記憶に要する速度を変動させずに済む。また、情報量が多い場合には記憶に時間がかかるので情報量に応じて纏めて記憶する仮想ロボットコントローラ候補の設定の数を増減することによっても記憶に要する速度を変動させずに済む。
【００４６】
また、入力構成に最も近似する仮想ロボット候補として選択される都度に利用回数をインクリメントする利用回数算出部（図示略）と、記憶部３の空き容量を検出する記憶容量検出部（図示略）とを備えていてもよい。
利用回数算出部により算出される利用回数を仮想ロボット候補に対応づけて記憶しておき、記憶容量検出部により検出される記憶部３の空き容量が所定の閾値より少なくなった場合に、不要な仮想ロボット候補および対応する仮想ロボットコントローラ候補の設定を記憶部３から削除することにしてもよい。削除する方法としては、利用回数の高い仮想ロボット候補に近似する仮想ロボット候補から優先的に削除することを十分な空き容量が確保されるまで繰り返すことにすればよい。
【００４７】
すなわち、利用回数の高い仮想ロボット候補に近似する仮想ロボット候補は、利用回数の高い仮想ロボット候補から短時間で設定できるため利用回数の高い仮想ロボット候補に加えて記憶しておく価値が低い。したがってこのような仮想ロボット候補を優先的に削除することにより、記憶部３の空き容量を確保し、より必要な仮想ロボット候補および仮想ロボットコントローラ候補の設定を記憶することができる。
なお、利用回数の高い仮想ロボット候補に近似しているか否かは、入力構成に最も近似する仮想ロボット候補を選択する場合と同様の評価値により判断すればよい。
【００４８】
また、評価値として、入力構成に含まれる構成については追加所要時間を積算し、入力構成に含まれない構成については削除所要時間を減算することにより算出することとしたが、これに代えて、入力構成を生成するために追加する構成の追加所要時間および削除する構成の削除所要時間を全て積算した総所要時間が最も小さい仮想ロボット候補を最も近似する仮想ロボット候補として選択することにしてもよい。
【００４９】
また、本実施形態においては、複数の構成を組み合わせた基本構成が記憶部３に記憶されている場合について例示したが、基本構成が記憶部３に記憶されていない場合には、個別の構成を組み合わせて新たな仮想ロボット候補を生成することにすればよい。
また、個別の構成のうち、削除できない構成、例えば、ソフトウェアオプション等については、削除所要時間として無限大の値を記憶しておけばよい。
【符号の説明】
【００５０】
１  シミュレーション装置
２  入力部
３  記憶部
４  差分抽出部
５  仮想ロボット生成部
６  候補更新部
Ｓ１  入力ステップ
Ｓ３  差分抽出ステップ
Ｓ４  仮想ロボット生成ステップ
Ｓ５  候補更新ステップ
【図１】
2019025633.tif 000003
【図２】
2019025633.tif 000004
【図３】
2019025633.tif 000005
【図４】
2019025633.tif 000006
【図５】
2019025633.tif 000007