(57)【要約】【課題】操作者が、ロボットシステムの状況をより直感的に把握できるようなシミュレーションを行うことができる装置を提供する。【解決手段】ロボット３０、ワークＷおよび周辺装置１１を含むロボットシステムの三次元モデルを、三次元空間に存在する擬似立体物として表示する画像表示部１０１と、前記画像表示部によって表示された前記ロボットシステムの三次元モデルをシミュレーション動作させるシミュレーション実行部１４１と、を具備するロボットのシミュレーション装置である。【選択図】図１
2019188530.tif 000002
【特許請求の範囲】
【請求項１】
ロボット、ワークおよび周辺装置を含むロボットシステムの三次元モデルを、三次元空間に存在する擬似立体物として表示する画像表示部と、
前記画像表示部によって表示された前記ロボットシステムの三次元モデルをシミュレーション動作させるシミュレーション実行部と、
を具備するロボットのシミュレーション装置。
【請求項２】
前記画像表示部は、操作者の頭部の位置および姿勢を検出する検出部を備え、前記三次元モデルを表示するための視点の位置を、検出された前記操作者の頭部の位置および姿勢に応じて変化させる、
請求項１に記載のロボットのシミュレーション装置。
【請求項３】
前記画像表示部によって表示される前記ロボットシステムの三次元モデルの疑似立体物は、前記ロボットシステムの三次元モデルを表すホログラムを用いて再生された立体像である、請求項１に記載のロボットのシミュレーション装置。
【請求項４】
前記ロボットを制御するロボット制御装置とネットワークを介して接続する為のネットワーク接続部と、
前記ロボット制御装置から前記ロボットの動作中の位置姿勢データを取得し、取得した前記位置姿勢データを用いて前記画像表示部によって表示されている前記ロボットの三次元モデルを動作させるモデル動作部と、を更に備える、
請求項１から３のいずれか一項に記載のロボットのシミュレーション装置。
【請求項５】
前記ロボット制御装置から前記ロボットの動作プログラムを取得する動作プログラム取得部と、
取得した前記動作プログラムに含まれる教示点の三次元位置に基づいて、該教示点を示す画像を、前記三次元空間における前記教示点の前記三次元位置に対応する位置に表示する動作プログラム表示部と、を更に備える、
請求項４に記載のロボットのシミュレーション装置。
【請求項６】
画像として表示されている前記教示点に対する変更操作を受け付ける動作プログラム変更部と、
変更された前記教示点の位置にしたがって前記動作プログラムを更新し、更新された前記動作プログラムと共に該更新された動作プログラムの実行指令を前記ロボット制御装置に送信する動作プログラム反映部と、を更に備える、
請求項５に記載のロボットのシミュレーション装置。
【請求項７】
前記ロボット制御装置から前記ロボットシステムの設定情報を取得する設定取得部と、
取得した前記設定情報を、文字情報として前記三次元空間に表示する設定表示部と、を更に備える、
請求項４から６のいずれか一項に記載のロボットのシミュレーション装置。
【請求項８】
表示されている前記設定情報に対する変更操作を受け付ける設定変更部と、
変更された前記設定情報と共に、前記設定情報の変更指令を前記ロボット制御装置に送信する設定反映部と、を更に備える、
請求項７に記載のロボットのシミュレーション装置。
【請求項９】
前記ロボット制御装置から、前記ロボットシステムの稼働状態に関する情報を取得する稼働状態取得部と、
取得した前記稼働状態に関する情報を、文字情報として前記三次元空間に表示する稼働状態表示部と、を更に備える、
請求項４から８のいずれか一項に記載のロボットのシミュレーション装置。
【請求項１０】
前記ロボットシステムおよび前記ロボット制御装置からなるシステムは複数存在し、
前記ネットワーク接続部は、前記複数のロボット制御装置と前記ネットワークを介して接続され、
前記画像表示部は、それぞれの前記ロボットシステムの三次元モデルを、前記三次元空間に存在する前記擬似立体物として表示し、
前記シミュレーション実行部は、それぞれの前記ロボットシステムの三次元モデルについて前記シミュレーション動作を実行し、
前記モデル動作部は、それぞれの前記ロボット制御装置から該ロボット制御装置に接続された前記ロボットの動作中の位置姿勢データを取得し、取得した前記位置姿勢データを用いてそれぞれの前記ロボットの三次元モデルを動作させる、
請求項４に記載のロボットのシミュレーション装置。
【請求項１１】
前記ロボットシステムの三次元モデルの表示の縮尺を変更するモデル縮尺変更部を更に備える、請求項１から１０のいずれか一項に記載のロボットのシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットのシミュレーションを実行するシミュレーション装置に関する。
【背景技術】
【０００２】
ロボット、ワーク、及び周辺機器を三次元で表現したロボットモデル、ワークモデル、及び周辺機器モデルを含むロボットシステムモデルを画面に配置してシミュレーションを行い、動作プログラムを作成する、いわゆるオフラインプログラミングが知られている（例えば、特許文献１及び特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２１２２２８号公報
【特許文献２】特表２０１７−５１９６４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のような、従来のオフラインプログラミングでは、操作者はロボットが配置された生産ラインとは離れた場所で動作プログラムを生成できるという利点を有する反面、ロボットシステムモデルはシミュレーションを実行するコンピュータの画面内に表示されるものであり、操作者は二次元面である画面越しでしかロボットシステムの状況を確認することができない。そのため、従来のオフラインプログラミングでは、操作者は、遠近感をつかみ難いなど、ロボットシステムの状況を直感的に把握しづらいという課題を有している。操作者が、ロボットシステムの状況をより直感的に把握できるようなシミュレーションを行うことのできるシミュレーション装置が求められている。
【課題を解決するための手段】
【０００５】
本開示の一態様は、ロボット、ワークおよび周辺装置を含むロボットシステムの三次元モデルを、三次元空間に存在する擬似立体物として表示する画像表示部と、前記画像表示部によって表示された前記ロボットシステムの三次元モデルをシミュレーション動作させるシミュレーション実行部と、を具備するロボットのシミュレーション装置である。
【発明の効果】
【０００６】
上記態様によれば、ロボットシステムの状況を操作者が直感的に把握できる状態で、シミュレーションを行うことができる。
【０００７】
添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれらの目的、特徴および利点ならびに他の目的、特徴および利点がさらに明確になるであろう。
【図面の簡単な説明】
【０００８】
【図１】、一実施形態にかかるロボットシミュレーションシステム全体を表す構成図である。
【図２】シミュレーション装置のハードウェア構成を表す図である。
【図３】シミュレーション装置においてシミュレーションを実行することによって実現される機能を表す機能ブロック図である。
【図４】ロボットのシミュレーション動作を表すフローチャートである。
【図５】ロボットシステムに接続してシミュレーションを行う動作を表すフローチャートである。
【図６】ロボットシステムの稼働中の位置をロボトシステムのモデルの動作に反映した状態を示す図である。
【図７】ロボットシステムのモデルに教示点を重ねて表示した表示画面の例を示す図である。
【図８】図７の表示画面において、教示点の変更の操作を行う状態を示す図である。
【図９】ロボットシステムのモデルと共に設定情報を表示した表示画面の例を示す図である。
【図１０】ロボットシステムのモデルと共に稼働状態に関する情報を表示した表示画面の例を示す図である。
【図１１】表示装置としてプロジェクタを用いた場合のロボットシミュレーションシステム全体を表す構成図である。
【図１２】シミュレーション装置に複数組のロボットシステムが接続された構成例を示す図である。
【発明を実施するための形態】
【０００９】
次に、本開示の実施形態について図面を参照して説明する。参照する図面において、同様の構成部分または機能部分には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
【００１０】
図１は、一実施形態にかかるロボットシミュレーションシステム１００全体を表す構成図である。図１に示されるように、ロボットシミュレーションシステム１００は、拡張現実画像表示機能を用いてロボットシステムの三次元モデルを実空間の映像に重ねて擬似立体物として表示して動作させる機能を有するシミュレーションシステム（シミュレーション装置９０及びヘッドマウントディスプレイ８０）に対して、ロボット３０を制御するロボット制御装置５０がネットワーク６０を介して通信可能に接続された構成となっている。具体的には、ロボットシミュレーションシステム１００は、シミユレーション装置９０と、シミュレーション装置９０に接続されたヘッドマウントディスプレイ８０と、シミュレーション装置９０にネットワーク６０を介して接続されたロボット制御装置５０と、ロボット制御装置５０に接続されたロボット３０とを具備する。典型的には、ロボット３０、ワークＷ、周辺装置１１及びロボット制御装置５０は、生産ラインに配置され、シミュレーション装置９０及びヘッドマウントディスプレイ８０は、生産ラインから離れた場所に配置される。
【００１１】
ロボット３０は、例えば、垂直多関節ロボットであり、アームの先端には、エンドエフェクタの一例としてのハンド３９が取り付けられている。ロボット３０は、ハンド３９によりワークＷを把持し搬送することができる。ロボット３０の周囲には、周辺装置１１（例えば、ワークを搬送する台車）とワークＷが配置されている。
【００１２】
ロボット制御装置５０は、ロボット制御装置５０内にロードされた動作プログラムに従ってロボット３０の各関節軸を駆動するサーボモータ（図視せず）に対して制御指令を出力することによって、ロボット３０の動作を制御する。また、ロボット制御装置５０は、シミュレーション装置９０との間でネットワーク６０を介して情報のやり取りを行う。
【００１３】
ヘッドマウントディスプレイ８０には、実空間を撮影するカメラ８１と、カメラ８１で撮影された実空間の映像にシミュレーション装置９０から提供されるロボットシステムのモデルや各種情報を重ねる処理を行う拡張現実画像処理部８２と、拡張現実画像処理部８２により生成された三次元画像を表示する表示部８３とを有する（図２参照）。表示部８３は、一例として両眼視差画像により立体的な表示を行う。図１には、ヘッドマウントディスプレイ８０の表示部８３に表示されている画像の例が破線の枠線内に示されている。図１の例では、ヘッドマウントディスプレイ８０には、ロボット３０、ワークＷ、及び周辺装置１１のモデルである、ロボットモデル３０Ｍ、ワークモデルＷＭ、及び周辺装置モデル１１Ｍが実空間の映像に重ねて表示されている。操作者は、例えば、シミュレーション装置９０の操作部９０を操作して、ロボットシステムのモデルの画像を生成する場合の視点の位置を移動させることもできる。なお、ヘッドマウントディスプレイ８０は、他のタイプの拡張現実対応ディスプレイに置き換えても良い。
【００１４】
図２に示すように、シミュレーション装置９０は、ＣＰＵ９１、ＲＯＭ９２，ＲＡＭ９３、記憶装置９４、操作部９５、ネットワークインタフェース９６、各種外部機器と接続するための外部機器インタフェース９７、表示部９８等を有する一般的なコンピュータにより構成することができる。記憶装置９４内には、シミュレーションを実行する為のシミュレーションプログラム、ロボットモデル３０Ｍ、ワークモデルＷＭ、及び周辺装置モデル１１Ｍの三次元モデルデータ等が格納されている。シミュレーション装置９０は外部機器インタフェース９７を介してヘッドマウントディスプレイ８０と接続され、また、ネットワークインタフェース９６を介してロボット制御装置５０と接続される。シミュレーション装置９０と、ヘッドマウントディスプレイ８０との接続は、有線式でも良いし無線式でもよい。また、シミュレーション装置９０と、ロボット制御装置５０との接続も有線式でも無線式でもよい。
【００１５】
図３は、シミュレーション装置９０とヘッドマウントディスプレイ８０とが協働して動作することによって実現される、シミュレーションに関する各種機能の機能ブロック図を表している。なお、シミュレーションプログラムは、コンピュータにより読み取り可能な各種記憶媒体（ＲＯＭ、ＲＡＭ、フラッシュメモリ、ＨＤＤ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）に格納することができる。
【００１６】
ロボットシステムモデル表示部１０１は、ロボットモデル３０Ｍ、ワークモデルＷＭ、及び周辺装置モデル１１Ｍを、ヘッドマウントディスプレイ８０の表示部８３に表示されている実空間の映像内に、ロボットシステムの実際の配置関係と同じ配置関係で、立体的に重畳表示する。例えば、操作者がシミュレーション装置９０の操作部９５を介してロボットシステムの実際の配置情報を入力することで、或いは、シミュレーション装置９０が外部装置からロボットシステムの実際の配置情報を取得することで、ロボットシステムモデル表示部１０１は、ロボットシステムのモデルを、実空間の映像内において、ロボットシステムの実際の配置関係に対応する位置に重畳表示させることができる。これにより、ヘッドマウントディスプレイ８０を装着した操作者の視界には、あたかも操作者のいる空間に、生産ラインにあるロボットシステムが配置されているかのように各モデルが表示されることになる。
【００１７】
シミュレーション実行部１４１は、ロボットシステムモデル表示部１０１によって表示されているロボットシステムのモデルを模擬動作させてシミュレーション動作を実行する。本明細書において、シミュレーション動作とは、動作プログラムや操作者による教示点の指示入力にしたがって、モデルを模擬的に動作させることを言う。例えば、操作者は、シミュレーション装置９０にロボットの所望の動作（教示点）を入力し、シミュレーション動作を実行してその動きを確認することができる。このようなシミュレーション動作を実行して、ロボット３０に所望の動作を実行させる動作プログラムが作成される。このとき、操作者は、ヘッドマウントディスプレイ８０を装着して操作者のいる実空間の映像に重ねて立体的に表示されているロボットシステムのモデルをみながら、教示点の入力やロボット３０等の動きの確認を行うことができる。すなわち、操作者は、実際のロボットシステムの状態（例えば、ロボット３０と周辺装置１１やワークＷとの距離）を直感的に把握できる状態で、教示点の入力等や動作確認を行うことができるので、的確な動作プログラムの作成を行うことが可能となる。
【００１８】
上述のようなシミュレーション動作における教示点の入力等の入力操作は、操作者が、シミュレーション装置９０の操作部９５（例えば、キーボード、マウス、その他のポインティングデバイス）を操作して行っても良い。或いは、シミュレーション装置９０には、外部機器として、当技術分野で知られた、操作者の手の動きを追跡するためのセンサ（カメラ、操作者の手に装着するセンサ等）が接続されていてもよい。操作者の手の動きを検出するセンサとしてのカメラは、ヘッドマウントディスプレイ８０に設けられていても良い。このようにシミュレーション装置９０が、操作者の手の動きを追跡する機能を装備することで、操作者は、教示点の入力等をジェスチャで指示することが可能になる。以下で説明する各種の操作入力（タッチ操作、ドラッグ操作等）は、操作者の手の動きを追跡する機能により実現されても良い。
【００１９】
ロボットシステム接続部１０２は、シミュレーション装置９０とロボット制御装置５０間の通信を開設する。これにより、シミュレーションプログラム側（シミュレーション装置９０）とロボットシステム側（ロボット制御装置５０）との間で情報のやり取りを行うことが可能になる。
【００２０】
ロボットシステムモデル動作部１０３は、ロボット制御装置５０から、ロボットシステムを構成するロボット３０、ワークＷ及び周辺装置１１の稼働中の位置を取得し、ロボットシステムモデルを構成するロボットモデル３０Ｍ、ワークモデルＷＭ、及び周辺装置モデル１１Ｍを、稼働中の位置に対応する位置に移動させる。また、シミュレーション装置９０は、ロボット３０のハンド３９の状態を示す信号を受信することにより、ロボット３０がハンド３９によりワークＷを把持した際には、ロボットモデル３０Ｍのハンドの部分がワークモデルＷＭを把持した状態にする。これらの移動処理は、ロボットシステム側の動きにリアルタイムに追従するように行っても良い。図６には、ロボットシステム側においてロボット３０がワークＷを把持したことにより、ヘッドマウントディスプレイ８０に表示されている画像内においてロボットモデル３０ＭがワークＷＭを把持した状態になった様子が示されている。
【００２１】
動作プログラム取得部１１１は、ロボット制御装置５０から、ネットワーク６０を介して、ロボット３０の動作プログラムを取得する。
【００２２】
動作プログラム表示部１１２は、取得した動作プログラムを用いて、ロボット３０の動作プログラムに関する情報を、ヘッドマウントディスプレイ８０に表示されている実空間の映像に重ねて表示する。図７は、ヘッドマウントディスプレイ８０に表示された動作プログラムに関する情報の例を示している。図７の表示例では、実空間の映像に、動作プログラム内に含まれている教示点のノード２０１〜２０４、及び教示点間を結ぶ経路２１０をグラフィックに表す三次元の画像が重ねて表示されている。さらに、図７の表示例では、教示点のリストを表す三次元のパネル２２０が表示されている。この画面において、操作者が、例えば、手を動かしてパネル２２０内の所望の教示点をタッチ操作して選択するか、或いは、教示点のノード２０２を手でタッチ操作すると、選択された教示点の三次元の位置を示すパネル２３０が実空間の映像に重ねて表示される。なお、図７の例では、教示点２０２（パネル２２０内では教示点Ｐ２）が選択されている。なお、以下の説明においても、各種操作パネルや操作メニュー等の表示物は、三次元の画像として表示されるものとする。
【００２３】
動作プログラム変更部１１３は、操作者による教示点の変更操作を受け付ける。教示点を変更する操作の一例として、操作者は、実空間の映像に重ねて表示されている教示点のノードを手でドラッグ操作して移動させても良い。図８には、操作者が教示点のノード２０２をドラッグ操作して移動させた状態が示されている。教示点を変更する操作の他の例として、操作者が教示点の三次元の位置を表すパネル２３０内の位置情報のいずれかを手でタッチ操作すると、実空間上にテンキー２４０が表示され、操作者がテンキー２４０を操作して、タッチした位置情報の数値を入力できる構成であっても良い。図８の例では、教示点の三次元の位置を表すパネル２３０内のＺ座標がタッチ操作により選択されることによって、テンキー２４０が表示された状態が示されている。
【００２４】
動作プログラム反映部１１４は、動作プログラム変更部１１３によって変更された動作プログラムと実行指令とを、ネットワーク６０を介してロボット制御装置５０に送信することによってロボットシステム側に反映する。変更された動作プログラムを受信したロボット制御装置５０は、以後、ロボット３０を、変更された動作プログラムによって制御する。以上の構成によれば、図４のシミュレーションにより作成した動作プログラムでロボット３０を実際に動作させた場合において、一例として外的要因によりロボット３０の実際の動作が所望の動作と異なっていたような場合（例えば、ロボット３０に装備された安全監視装置がヒトを検知して作動して、ロボット３０の動作速度を低減したような場合）に、操作者は、ロボット３０の状態を感覚的に的確に把握しながら、動作プログラムの変更を行うことができる。
【００２５】
設定取得部１２１は、ネットワーク６０を介してロボットシステム側からロボットシステムの設定を取得する。設定表示部１２２は、設定取得部１２１が取得した設定情報を、ヘッドマウントディスプレイ８０に表示されている実空間の映像に重ねて表示する。設定情報は、例えば、位置レジスタ（ロボットの位置を指定するレジスタ）、数値レジスタ（プログラムの動作上使用される各種レジスタ）である。図９は、実空間の映像に重ねて表示された設定情報の例を示している。図９の例では、“ＰＯＳＲＥＧ”が位置レジスタを表し、“ＮＵＭＲＥＧ”が数値レジスタを表している。また、図９には、設定情報のメニューを表す設定メニューパネル２５１が表示されている。
【００２６】
設定変更部１２３は、設定情報を変更する操作を受け付ける。図９には、設定情報の変更操作の例も示されている。図９の例では、設定変更部１２３は、設定メニューパネル２５１上で操作者が位置レジスタ（“ＰＯＳＲＥＧ”）を選択すると、位置レジスタのリストを表すサブメニュー２５２を表示する。サブメニュー２５２上で、位置レジスタＰＲ３が選択されると、設定変更部１２３は、位置レジスタＰＲ３の設定情報を表すパネル２６０を実空間の映像に重ねて表示する。また、設定変更部１２３は、操作者がパネル２６０内の位置情報をタッチ操作して選択するとテンキー２４０を実空間の映像に重ねて表示させ、選択された位置情報の数値の入力を受け付ける。図９の例では、パネル２６０内のＺ座標がタッチ操作により選択されることによって、テンキー２４０が表示された状態が示されている。
【００２７】
設定反映部１２４は、設定変更部１２３によって変更された設定情報と変更指令を、ネットワーク６０を介してロボット制御装置５０に送信することによってロボットシステム側に反映する。変更された設定情報を受信したロボット制御装置５０は、変更された設定内容に従って設定を変更する。
【００２８】
稼働状態取得部１３１は、ネットワーク６０を介してロボット制御装置５０からロボットシステムの稼働状態を取得する。稼働状態は、例えば、アラームの情報、生産状況、例えばロボットに設置されたカメラによる検出結果、減速機の状態等である。稼働状態表示部１３２は、稼働状態に関する情報を、ヘッドマウントディスプレイ８０に表示されている実空間の映像に重ねて表示する。図１０には、実空間の映像に重ねて表示された稼働状態の例が示されている。図１０の例では、稼働状態のメニューを表すメニューパネル２７１が表示されている。操作者がメニューパネル２７１内の項目の一つをタッチ操作で選択すると、稼働状態表示部１３２は、選択された項目の詳細を表すパネル２７２を実空間の映像に重ねて表示する。図１０の例では、メニューパネル２７１から、アラーム（“ＡＬＡＲＭ”）が選択され、アラームのログを表す情報がパネル２７２内に表示されている。
【００２９】
モデル縮尺変更部１３３は、ロボットシステムのモデルの表示の縮尺を変更する機能を提供する。例えば、モデル縮尺変更部１３３は、操作者によるロボットシミュレーション装置９０に対する操作入力を受け付けて、或いは、実空間内に表示した操作メニューに対するジェスチャ操作を受け付けて、モデルの縮尺を変更しても良い。
【００３０】
図４は、ロボット３０の動作プログラムを作成する為のシミュレーションプログラムの動作を表すフローチャートである。図４のシミュレーション動作は、シミュレーション装置９０のＣＰＵ９１による制御の下で実行される。はじめに、ロボットシステムモデル表示部１０１の機能により、ロボットモデル３０Ｍ、ワークモデルＷＭ、及び周辺装置１１Ｍの三次元モデルが、ヘッドマウントディスプレイ８０の表示部８３に表示されている実空間の映像に重ねて表示される（ステップＳ１１）。次に、シミュレーション実行部１４１の機能により、ロボットシステムのモデルのシミュレーション動作が実行される（ステップＳ１２）。具体的には、ここでは、操作者は、ロボット３０に所望の動きを行わせるための教示点の入力等を行い、ロボットシステムのモデルを模擬動作させてシミュレーションを実行する。この場合、上述した通り、操作者は、ヘッドマウントディスプレイ８０に表示されたロボットシステムのモデルの状態を直感的に把握できる状況で操作入力することができる。このようにして、ロボット３０に所望の動きを行わせる動作プログラムが作成されると、動作プログラムはロボット制御装置５０に送信される（ステップＳ１３）。この動作プログラムを受け取ったロボット制御装置５０は、この動作プログラムを実行してロボット３０を制御する。
【００３１】
図５は、シミュレーション装置９０がロボットシステムの実際の動きを確認して動作プログラムを変更することを可能とするシミュレーション動作を表すフローチャートである。図５のシミュレーション動作は、シミュレーション装置９０のＣＰＵ９１による制御の下で実行される。シミュレーション装置９０が操作されシミュレーション動作が開始されると、はじめに、ロボットシステムモデル表示部１０１によって、ロボットモデル３０Ｍ、ワークモデルＷＭ、及び周辺装置モデル１１Ｍを含むロボットシステムモデルが、これらの実際の配置に即してヘッドマウントディスプレイ８０に表示されている実空間の映像に重ねて表示される（ステップＳ１０１）。次に、ロボットシステム接続部１０２によりシミュレーションシステム側がロボットシステム側に接続される（ステップＳ２０２）。
【００３２】
次に、ロボットシステムモデル動作部１０３は、ロボット制御装置５０から取得したロボットシステムの稼働中の位置情報を用いて、ロボットシステムの動作に追従させて、ロボットシステムモデルを動作させる（ステップＳ１０３）。この場合、操作者は、立体的に表示されているロボットシステムのモデルが操作者のいる実空間で実際に動作しているような画像をみることができるので、ロボットシステムの状態を直感的に把握できることになる。
【００３３】
次に、動作プログラム取得部１１１により、ロボットシステムの動作プログラムが取得される（ステップＳ１０４）。そして、動作プログラム表示部１１２により、一例として図７に示したように、動作プログラムの教示点が実空間の映像に重ねて表示される（ステップＳ１０５）。この状態で、動作プログラム変更部１１３は、図８で示したように、教示点の位置の変更等の操作を受け付ける（ステップＳ１０６）。ステップＳ１０６では、変更された教示点にしたがってロボットモデル３０Ｍを模擬動作させて動きを確認しても良い。教示点の変更がなされると、動作プログラム反映部１１４により、変更した動作プログラムがロボット制御装置５０に送信されることにより、変更した動作プログラムがロボットシステムに反映される（ステップＳ１０７）。上記構成によれば、実空間の映像に重ねて表示されたロボットシステムのモデルと共に教示点が立体的に表示されるので、操作者は、教示点の位置を直感的に把握することができ、必要な変更を的確に行うことができる。
【００３４】
次に、設定取得部１２１により、ロボットシステムの設定情報が取得される（ステップＳ１０８）。取得された設定情報は、設定表示部１２２により実空間の映像に重ねて表示される（ステップ１０９）。次に、設定変更部１２３は、操作者からの設定の変更を受け付ける（ステップＳ１１０）。設定が変更されると、設定反映部１２４によって変更された設定情報がロボット制御装置５０に送信されて反映される（ステップＳ１１１）。上記構成によれば、実空間の映像に重ねて表示されたロボットシステムのモデルと共に設定情報が表示されるので、操作者は、ロボットシステムの状態を直感的に把握可能な状況で、必要な変更を的確に行うことができる。
【００３５】
次に、稼働状態取得部１３１により、ロボットシステムの稼働状態が取得される（ステップＳ１１２）。稼働状態が取得されると、図１０に例示したように、稼働状態表示部１３２により、ロボットシステムの稼働状態がヘッドマウントディスプレイ８０に表示されている実空間の映像に重ねて表示される（ステップＳ１１３）。このように実空間内に表示されたロボットシステムのモデルと共に稼働状態を表示することで、操作者が直感的にロボットシステムの状態を直感的に把握できるというメリットをよりいっそう高めることができる。
【００３６】
以上、典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、上述の各実施形態に変更及び種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
【００３７】
上述の実施形態では、ロボットシステムのモデルは、ヘッドマウントディスプレイ８０の表示部８３において、実空間の映像に重ねて疑似立体物として表示されているが、本発明はこのような例に限られない。ロボットシステムのモデルは、ヘッドマウントディスプレイの表示部において、仮想空間に存在する疑似立体物として表示されても良い。
【００３８】
例えば、上述のヘッドマウントディスプレイ８０は、カメラ８１の位置及び姿勢をセンサ（ジャイロセンサ、加速度センサ等）により推定するカメラ位置姿勢推定機能（検出部）を備えていても良い。このような、カメラ位置姿勢推定機能を用いることで、ロボットシステムのモデルの画像を生成する視点の位置を、操作者の頭部の動きに追従して変更することが可能になる。例えば、操作者が操作者のいる場所内で歩いて移動すると、ロボットシステムのモデルが操作者に近づくように画像を生成したり、操作者が頭部を動かしてロボットシステムのモデルの所望の部位を覗き込むことができるような画像を生成することもできる。
【００３９】
周辺装置１１が例えばワーク搬送等の動作を行う装置であり、ロボット制御装置５０がそのような周辺装置の動作状態を表す情報をシミュレーション装置９０に提供できる場合には、シミュレーション装置９０はそのような情報を、ロボットシステムのモデルを動かす画像を生成する際に用いても良い。
【００４０】
ロボットシステムのモデルを三次元空間に存在する疑似立体物として表示する手法は上述の実施形態における手法以外にも各種手法が有り得る。図１１は、図１の構成においてヘッドマウントディスプレイ８０に代えてプロジェクタ２８０を用いた場合のロボットシミュレーションシステム１００Ａの構成例を示している。図１１の構成例では、シミュレーション装置９０Ａは、ロボットシステムの三次元モデルをプロジェクタ２８０により、操作者からみた実空間に三次元立体像として表示させる。一例として、プロジェクタ２８０は、操作者がいる場所の所定の位置に、ホログラムによる三次元立体映像を表示しても良い。このような三次元立体像は、物体からの光（物体光）に参照光を重ねることにより生じる干渉縞を記録したフィルム等の媒体（ホログラム）に、参照光を照射することによって得られる、物体の立体像である。プロジェクタ２８０としては、ホログラムを投影する機能を有する、当分野で知られた方式を採用した装置を用いることができる。シミュレーション装置９０Ａは、上述の実施形態で説明したシミュレーション装置９０と同様の機能を持つものとする。このような構成の場合にも、操作者は、ロボットシステムのモデルの状態（ロボット３０とワークＷや周辺装置１１との距離感など）を直感的に把握できる状態で、教示点の入力を行ったり、シミュレーション動作を実行することができる。
【００４１】
図１２は、ロボットシミュレーション装置９０Ｂに、ネットワーク６０を介して複数のロボットシステムが接続される場合のロボットシミュレーションシステム１００Ｂの構成例を示している。図１２の構成の場合、ロボットシミュレーション装置９０Ｂは、複数のロボットシステムのそれぞれについて、ロボットシステムのモデルを実空間の映像に重ねて表示し、それぞれのロボットシステムについて図３や図４で示したシミュレーションを行うことができる。図１２の例では、シミュレーション装置９０Ｂは、２組のロボットシステム（ロボット制御装置５０ａ、ロボット３０ａ、ワークＷａ、周辺装置１１ａからなるシステム、及び、ロボット制御装置５０ｂ、ロボット３０ｂ、ワークＷｂ、周辺装置１１ｂからなるシステム）に接続されている。また、ヘッドマウントディスプレイ８０の表示部８３には、２組のロボットシステムのモデル（ロボット３０ａＭ、ワークＷａＭ、及び周辺装置１１ａＭのロボットシステムのモデル、及び、ロボット３０ｂＭ、ワークＷｂＭ、及び周辺装置１１ｂＭのロボットシステムのモデル）が実空間の映像に重ねて表示されている（図１２の破線の枠線内を参照）。図１２の構成においても、シミュレーション装置９０Ｂは、上述の実施形態で説明したシミュレーション装置９０と同様の機能を持つものとする。図１２の構成の場合には、操作者のいる場所で、複数のロボットシステムの状態を直感的に把握できる状態で、それぞれのロボットシステムのシミュレーション動作を実行できる。
【００４２】
また、本開示の課題を解決するために、以下のような各種の態様とその効果を提供することができる。なお、以下の態様の説明文における括弧内の番号は本開示の図面の参照符号に対応する。
【００４３】
例えば、本開示の第一態様は、ロボット（３０）、ワーク（Ｗ）および周辺装置（１１）を含むロボットシステムの三次元モデルを、三次元空間に存在する擬似立体物として表示する画像表示部（１０１）と、前記画像表示部（１０１）によって表示された前記ロボットシステムの三次元モデルをシミュレーション動作させるシミュレーション実行部（１４１）と、を具備するロボットのシミュレーション装置である。
【００４４】
上記第一態様によれば、ロボットシステムの状況を操作者が直感的に把握できる状態で、シミュレーション動作を行うことができる。
【００４５】
また、本開示の第二態様は、上記第一態様のロボットのシミュレーション装置（９０）であって、前記画像表示部（１０１）は、操作者の頭部の位置および姿勢を検出する検出部（８０）を備え、前記画像表示部（１０１）は、前記三次元モデルを表示するための視点の位置を、検出された前記操作者の頭部の位置および姿勢に応じて変化させる。
【００４６】
また、本開示の第三態様は、上記第一態様のロボットのシミュレーション装置（９０）であって、前記画像表示部（１０１）によって表示される前記ロボットシステムの三次元モデルの疑似立体物は、前記ロボットシステムの三次元モデルを表すホログラムを用いて再生された立体像である。
【００４７】
また、本開示の第四態様は、上記第一態様から第三態様のいずれかのロボットのシミュレーション装置（９０）であって、前記ロボット（３０）を制御するロボット制御装置（５０）とネットワーク（６０）を介して接続する為のネットワーク接続部（１０２）と、前記ロボット制御装置（５０）から前記ロボットの動作中の位置姿勢データを取得し、取得した前記位置姿勢データを用いて前記画像表示部（１０１）によって表示されている前記ロボットの三次元モデルを動作させるモデル動作部（１０３）と、を更に備える。
【００４８】
また、本開示の第五態様は、上記第四態様のロボットのシミュレーション装置（９０）であって、前記ロボット制御装置（５０）から前記ロボットの動作プログラムを取得する動作プログラム取得部（１１１）と、取得した前記動作プログラムに含まれる教示点の三次元位置に基づいて、該教示点を示す画像を、前記三次元空間における前記教示点の前記三次元位置に対応する位置に表示する動作プログラム表示部（１１２）と、を更に備える。
【００４９】
また、本開示の第六態様は、上記第五態様のロボットのシミュレーション装置（９０）であって、画像として表示されている前記教示点に対する変更操作を受け付ける動作プログラム変更部（１１３）と、変更された前記教示点の位置にしたがって前記動作プログラムを更新し、更新された前記動作プログラムと共に該更新された動作プログラムの実行指令を前記ロボット制御装置に送信する動作プログラム反映部（１１４）と、を更に備える。
【００５０】
また、本開示の第七態様は、上記第四態様から第六態様のいずれかのロボットのシミュレーション装置（９０）であって、前記ロボット制御装置から前記ロボットシステムの設定情報を取得する設定取得部と、取得した前記設定情報を、文字情報として前記三次元空間に表示する設定表示部と、を更に備える。
【００５１】
また、本開示の第八態様は、上記第七態様のロボットのシミュレーション装置（９０）であって、表示されている前記設定情報に対する変更操作を受け付ける設定変更部（１２３）と、変更された前記設定情報と共に、前記設定情報の変更指令を前記ロボット制御装置（５０）に送信する設定反映部（１２４）と、を更に備える。
【００５２】
また、本開示の第九態様は、上記第四態様から第八態様のいずれかのロボットのシミュレーション装置（９０）であって、前記ロボット制御装置（５０）から、前記ロボットシステムの稼働状態に関する情報を取得する稼働状態取得部（１３１）と、取得した前記稼働状態に関する情報を、文字情報として前記三次元空間に表示する稼働状態表示部（１３２）と、を更に備える。
【００５３】
また、本開示の第十態様は、上記第四態様のロボットのシミュレーション装置（９０）であって、前記ロボットシステムおよび前記ロボット制御装置（５０ａ，５０ｂ）からなるシステムは複数存在し、前記ネットワーク接続部（１０２）は、前記複数のロボット制御装置（５０ａ，５０ｂ）と前記ネットワーク（６０）を介して接続され、前記画像表示部（１０１）は、それぞれの前記ロボットシステムの三次元モデルを、前記三次元空間に存在する前記擬似立体物として表示し、前記シミュレーション実行部（１４１）は、それぞれの前記ロボットシステムの三次元モデルについて前記シミュレーション動作を実行し、前記モデル動作部（１０３）は、それぞれの前記ロボット制御装置（５０ａ，５０ｂ）から該ロボット制御装置に接続された前記ロボットの動作中の位置姿勢データを取得し、取得した前記位置姿勢データを用いてそれぞれの前記ロボットの三次元モデルを動作させる。
【００５４】
また、本開示の第十一態様は、上記第一態様から第十態様のいずれかロボットのシミュレーション装置（９０）であって、前記ロボットシステムの三次元モデルの表示の縮尺を変更するモデル縮尺変更部（１３３）を更に備える。
【符号の説明】
【００５５】
１１    周辺装置
１１Ｍ  周辺装置モデル
３０    ロボット
３０Ｍ  ロボットモデル
５０    ロボット制御装置
６０    ネットワーク
８０    ヘッドマウントディスプレイ
８１    カメラ
８２    拡張現実画像処理部
８３    表示部
９０    シミュレーション装置
９１    ＣＰＵ
９２    ＲＯＭ
９３    ＲＡＭ
９４    記憶装置９４
９５    操作部９５
９６    ネットワークインタフェース
９７    外部機器インタフェース
９８    表示部
１００  ロボットシミュレーションシステム
１０１  ロボットシステムモデル表示部
１０２  ロボットシステム接続部
１０３  ロボットシステムモデル動作部
１１１  動作プログラム取得部
１１２  動作プログラム表示部
１１３  動作プログラム変更部
１１４  動作プログラム反映部
１２１  設定取得部
１２２  設定表示部
１２３  設定変更部
１２４  設定反映部
１３１  稼働状態取得部
１３２  稼働状態表示部
１３３  モデル縮尺変更部
１４１  シミュレーション実行部
Ｗ      ワーク
ＷＭ    ワークモデル
【図１】
2019188530.tif 000003
【図２】
2019188530.tif 000004
【図３】
2019188530.tif 000005
【図４】
2019188530.tif 000006
【図５】
2019188530.tif 000007
【図６】
2019188530.tif 000008
【図７】
2019188530.tif 000009
【図８】
2019188530.tif 000010
【図９】
2019188530.tif 000011
【図１０】
2019188530.tif 000012
【図１１】
2019188530.tif 000013
【図１２】
2019188530.tif 000014