(57)【要約】【課題】ロボットの動作シミュレーションの精度を向上できるロボット制御装置を提案する。【解決手段】ロボット制御装置１０は、ロボット２０に付されているマーカー２１及び各オブジェクト３０に付されているマーカー３１を読み取る読み取り装置４０と、マーカー２１，３１の読み取り情報に基づいて、ロボット２０及び各オブジェクト３０のそれぞれの実空間上の位置を画像解析するとともに、ロボット２０及び各オブジェクト３０の実空間上の位置を示す情報と、マーカー２１に関連付けられているロボット２０の３次元形状モデルの情報と、各マーカー３１に関連付けられている各オブジェクト３０の３次元形状モデルの情報とに基づいて、ロボット２０及び各オブジェクト３０の３次元形状モデルを仮想空間内に配置して、ロボット２０の動作をシミュレーションするＣＰＵ１１１を備える。【選択図】図２
2020075338.tif 000002
【特許請求の範囲】
【請求項１】
ロボットに付されている第１のマーカーであって、前記ロボットの３次元形状モデルの情報に関連付けられている第１のマーカーを読み取るとともに、前記ロボットの周辺に配置されている一つ又はそれ以上の各オブジェクトに付されている一つ又はそれ以上の第２のマーカーであって、それぞれが、対応するオブジェクトの３次元形状モデルの情報に関連付けられている、一つ又はそれ以上の第２のマーカーを読み取る読み取り装置と、
前記読み取り装置によって読み取られた前記第１のマーカー及び前記一つ又はそれ以上の第２のマーカーの読み取り情報に基づいて、前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を画像解析する解析部と、
前記解析部により解析された前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を示す情報と、前記第１のマーカーに関連付けられている前記ロボットの３次元形状モデルの情報と、前記一つ又はそれ以上の第２のマーカーのそれぞれに関連付けられている前記一つ又はそれ以上の各オブジェクトの３次元形状モデルの情報とに基づいて、前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルを仮想空間内に配置して、前記ロボットの動作をシミュレーションするシミュレーション部と、
を備えるロボット制御装置。
【請求項２】
請求項１に記載のロボット制御装置であって、
前記仮想空間内に配置されている前記ロボットの３次元形状モデル及び前記一つ又はそれ以上の各オブジェクトの３次元形状モデルを表示する表示部と、
操作者の補正指示に応答して、前記ロボットの３次元形状モデル又は前記一つ又はそれ以上の各オブジェクトの３次元形状モデルの縮尺を補正する補正部と、
を更に備える、ロボット制御装置。
【請求項３】
請求項２に記載のロボット制御装置であって、
前記ロボット制御装置にワイヤレス接続する拡張現実ゴーグル、複合現実ゴーグル、又は仮想現実ゴーグルの何れか一つが前記表示部として機能する、ロボット制御装置。
【請求項４】
請求項１乃至３のうち何れか１項に記載のロボット制御装置であって、
操作者からの前記第２のマーカーの指定に応答して、予め定められた動作をするように前記ロボットの動作を制御する制御部を更に備える、ロボット制御装置。
【請求項５】
ロボットに付されている第１の無線タグから、前記ロボットの３次元形状モデルの情報に関連付けられている第１の識別情報を読み取るとともに、前記ロボットの周辺に配置されている一つ又はそれ以上の各オブジェクトに付されている一つ又はそれ以上の第２の無線タグから、対応するオブジェクトの３次元形状モデルの情報に関連付けられている一つ又はそれ以上の第２の識別情報を読み取る読み取り装置と、
前記読み取り装置によって読み取られた前記第１の識別情報及び前記一つ又はそれ以上の第２の識別情報の読み取り情報に基づいて、前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を解析する解析部と、
前記解析部により解析された前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を示す情報と、前記第１の識別情報に関連付けられている前記ロボットの３次元形状モデルの情報と、前記一つ又はそれ以上の第２の識別情報のそれぞれに関連付けられている前記一つ又はそれ以上の各オブジェクトの３次元形状モデルの情報とに基づいて、前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルを仮想空間内に配置して、前記ロボットの動作をシミュレーションするシミュレーション部と、
を備えるロボット制御装置。
【請求項６】
請求項５に記載のロボット制御装置であって、
前記仮想空間内に配置されている前記ロボットの３次元形状モデル及び前記一つ又はそれ以上の各オブジェクトの３次元形状モデルを表示する表示部と、
操作者の補正指示に応答して、前記ロボットの３次元形状モデル又は前記一つ又はそれ以上の各オブジェクトの３次元形状モデルの縮尺を補正する補正部と、
を更に備える、ロボット制御装置。
【請求項７】
請求項６に記載のロボット制御装置であって、
前記ロボット制御装置にワイヤレス接続する拡張現実ゴーグル、複合現実ゴーグル、又は仮想現実ゴーグルの何れか一つが前記表示部として機能する、ロボット制御装置。
【請求項８】
請求項５乃至７のうち何れか１項に記載のロボット制御装置であって、
操作者からの前記第２の無線タグの指定に応答して、予め定められた動作をするように前記ロボットの動作を制御する制御部を更に備える、ロボット制御装置。
【請求項９】
コンピュータシステムが、
ロボットに付されている第１のマーカーであって、前記ロボットの３次元形状モデルの情報に関連付けられている第１のマーカーを読み取るとともに、前記ロボットの周辺に配置されている一つ又はそれ以上の各オブジェクトに付されている一つ又はそれ以上の第２のマーカーであって、それぞれが、対応するオブジェクトの３次元形状モデルの情報に関連付けられている、一つ又はそれ以上の第２のマーカーを読み取るステップと、
前記第１のマーカー及び前記一つ又はそれ以上の第２のマーカーの読み取り情報に基づいて、前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を画像解析するステップと、
前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を示す情報と、前記第１のマーカーに関連付けられている前記ロボットの３次元形状モデルの情報と、前記一つ又はそれ以上の第２のマーカーのそれぞれに関連付けられている前記一つ又はそれ以上の各オブジェクトの３次元形状モデルの情報とに基づいて、前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルを仮想空間内に配置して、前記ロボットの動作をシミュレーションするステップと、
を実行するシミュレーション方法。
【請求項１０】
コンピュータシステムが、
ロボットに付されている第１の無線タグから、前記ロボットの３次元形状モデルの情報に関連付けられている第１の識別情報を読み取るとともに、前記ロボットの周辺に配置されている一つ又はそれ以上の各オブジェクトに付されている一つ又はそれ以上の第２の無線タグから、対応するオブジェクトの３次元形状モデルの情報に関連付けられている一つ又はそれ以上の第２の識別情報を読み取るステップと、
前記第１の識別情報及び前記一つ又はそれ以上の第２の識別情報の読み取り情報に基づいて、前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を解析するステップと、
前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を示す情報と、前記第１の識別情報に関連付けられている前記ロボットの３次元形状モデルの情報と、前記一つ又はそれ以上の第２の識別情報のそれぞれに関連付けられている前記一つ又はそれ以上の各オブジェクトの３次元形状モデルの情報とに基づいて、前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルを仮想空間内に配置して、前記ロボットの動作をシミュレーションするステップと、
を実行するシミュレーション方法。
【請求項１１】
コンピュータシステムに、
ロボットに付されている第１のマーカーであって、前記ロボットの３次元形状モデルの情報に関連付けられている第１のマーカーを読み取るとともに、前記ロボットの周辺に配置されている一つ又はそれ以上の各オブジェクトに付されている一つ又はそれ以上の第２のマーカーであって、それぞれが、対応するオブジェクトの３次元形状モデルの情報に関連付けられている、一つ又はそれ以上の第２のマーカーを読み取るステップと、
前記第１のマーカー及び前記一つ又はそれ以上の第２のマーカーの読み取り情報に基づいて、前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を画像解析するステップと、
前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を示す情報と、前記第１のマーカーに関連付けられている前記ロボットの３次元形状モデルの情報と、前記一つ又はそれ以上の第２のマーカーのそれぞれに関連付けられている前記一つ又はそれ以上の各オブジェクトの３次元形状モデルの情報とに基づいて、前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルを仮想空間内に配置して、前記ロボットの動作をシミュレーションするステップと、
を実行させるシミュレーションプログラム。
【請求項１２】
コンピュータシステムに、
ロボットに付されている第１の無線タグから、前記ロボットの３次元形状モデルの情報に関連付けられている第１の識別情報を読み取るとともに、前記ロボットの周辺に配置されている一つ又はそれ以上の各オブジェクトに付されている一つ又はそれ以上の第２の無線タグから、対応するオブジェクトの３次元形状モデルの情報に関連付けられている一つ又はそれ以上の第２の識別情報を読み取るステップと、
前記第１の識別情報及び前記一つ又はそれ以上の第２の識別情報の読み取り情報に基づいて、前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を解析するステップと、
前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を示す情報と、前記第１の識別情報に関連付けられている前記ロボットの３次元形状モデルの情報と、前記一つ又はそれ以上の第２の識別情報のそれぞれに関連付けられている前記一つ又はそれ以上の各オブジェクトの３次元形状モデルの情報とに基づいて、前記ロボット及び前記一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルを仮想空間内に配置して、前記ロボットの動作をシミュレーションするステップと、
を実行させるシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボット制御装置、シミュレーション方法、及びシミュレーションプログラムに関わる。
【背景技術】
【０００２】
ファクトリーオートメーションにおいては、生産性を向上させつつ、ランニングコストを低減するための手法としてロボットによる自動化生産が広範に行われている。生産ラインで使用される多くのロボットは、その役割に応じて予め定められた特定の動作（例えば、部品の搬送、組み立て、溶接など）を繰り返し行うように設計されており、ロボットのこのような動作は、ティーチングプレイバックと呼ばれている。生産ラインにおいては、ロボットの周囲に各種のオブジェクトが配置されているため、ティーチングプレイバックに基づくロボットの動作がオブジェクトに干渉しないことを事前に検証するのが望ましい。ここで、オブジェクトとは、ロボットの周囲に配置されている物体（例えば、作業用の道具、設備、機器など）を総称する用語である。このような検証を行う方法として、例えば、特許文献１において提案されているように、ロボットの動作を仮想空間上でシミュレーションする技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３３１４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなシミュレーションにおいては、動作検証の対象となるロボットの３次元形状モデルと、そのロボットの周辺に配置されている各オブジェクトの３次元形状モデルとを操作者が手作業で仮想空間内に配置する必要がある。このとき、ロボット又はオブジェクトの３次元形状モデルの仮想空間内における位置又は姿勢が、現実のロボット又はオブジェクトの実空間内における位置又は姿勢と整合していない場合には、正しいシミュレーション結果を得ることができないという不都合が生じ得る。このような不整合は、例えば、ロボット又はオブジェクトの位置又は姿勢が何等かの原因で変更されたにも関わらず、その変更がシミュレーションに反映されていない場合に生じ得る。また、ロボット又はオブジェクトの３次元形状モデルの縮尺が実物のロボット又はオブジェクトのサイズと整合していない場合にも、正しいシミュレーション結果を得ることができないという不都合が生じ得る。
【０００５】
そこで、本発明は、このような不整合を低減し、ロボットの動作シミュレーションの精度を向上できるロボット制御装置、シミュレーション方法、及びシミュレーションプログラムを提案することを課題とする。
【課題を解決するための手段】
【０００６】
上述の課題を解決するため、本発明に関わるロボット制御装置は、ロボットに付されている第１のマーカーであって、ロボットの３次元形状モデルの情報に関連付けられている第１のマーカーを読み取るとともに、ロボットの周辺に配置されている一つ又はそれ以上の各オブジェクトに付されている一つ又はそれ以上の第２のマーカーであって、それぞれが、対応するオブジェクトの３次元形状モデルの情報に関連付けられている、一つ又はそれ以上の第２のマーカーを読み取る読み取り装置と、読み取り装置によって読み取られた第１のマーカー及び一つ又はそれ以上の第２のマーカーの読み取り情報に基づいて、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を画像解析する解析部と、解析部により解析されたロボット及び一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を示す情報と、第１のマーカーに関連付けられているロボットの３次元形状モデルの情報と、一つ又はそれ以上の第２のマーカーのそれぞれに関連付けられている一つ又はそれ以上の各オブジェクトの３次元形状モデルの情報とに基づいて、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルを仮想空間内に配置して、ロボットの動作をシミュレーションするシミュレーション部と、を備える。
【０００７】
斯かる構成によれば、ロボット及びその周囲に配置されている一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルの仮想空間内における位置及び姿勢を、ロボット及び一つ又はそれ以上のオブジェクトの実空間内における位置及び姿勢と自動的に整合させることができる。例えば、ロボット又は何れかのオブジェクトの位置又は姿勢が何等かの原因で変更された場合には、その変更をシミュレーションに適切に反映させることができる。
【０００８】
本発明に関わるロボット制御装置は、仮想空間内に配置されているロボットの３次元形状モデル及び一つ又はそれ以上の各オブジェクトの３次元形状モデルを表示する表示部と、操作者の補正指示に応答して、ロボットの３次元形状モデル又は一つ又はそれ以上の各オブジェクトの３次元形状モデルの縮尺を補正する補正部と、を更に備えてもよい。
【０００９】
斯かる構成によれば、ロボットの３次元形状モデルの縮尺が実物のロボットのサイズと整合するように補正することができる。同様に、オブジェクトの３次元形状モデルの縮尺が実物のオブジェクトのサイズと整合するように補正することができる。
【００１０】
ロボット制御装置にワイヤレス接続する拡張現実ゴーグル、複合現実ゴーグル、又は仮想現実ゴーグルの何れか一つが表示部として機能してもよい。これにより、操作者は配線の煩わしさを感じることなく、ロボット及び一つ又はそれ以上のオブジェクトが配置されている実空間内或いはその近傍において、ロボットの３次元形状モデル又は一つ又はそれ以上の各オブジェクトの３次元形状モデルの縮尺の補正指示を入力することができる。
【００１１】
本発明に関わるロボット制御装置は、操作者からの第２のマーカーの指定に応答して予め定められた動作をするようにロボットの動作を制御する制御部を更に備えてもよい。これにより、第２のマーカーの指定を通じてロボットの動作を制御できる。
【００１２】
本発明に関わるロボット制御装置は、ロボットに付されている第１の無線タグから、ロボットの３次元形状モデルの情報に関連付けられている第１の識別情報を読み取るとともに、ロボットの周辺に配置されている一つ又はそれ以上の各オブジェクトに付されている一つ又はそれ以上の第２の無線タグから、対応するオブジェクトの３次元形状モデルの情報に関連付けられている一つ又はそれ以上の第２の識別情報を読み取る読み取り装置と、読み取り装置によって読み取られた第１の識別情報及び一つ又はそれ以上の第２の識別情報の読み取り情報に基づいて、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を解析する解析部と、解析部により解析されたロボット及び一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を示す情報と、第１の識別情報に関連付けられているロボットの３次元形状モデルの情報と、一つ又はそれ以上の第２の識別情報のそれぞれに関連付けられている一つ又はそれ以上の各オブジェクトの３次元形状モデルの情報とに基づいて、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルを仮想空間内に配置して、ロボットの動作をシミュレーションするシミュレーション部と、を備える。
【００１３】
斯かる構成によれば、ロボット及びその周囲に配置されている一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルの仮想空間内における位置及び姿勢を、ロボット及び一つ又はそれ以上のオブジェクトの実空間内における位置及び姿勢と自動的に整合させることができる。例えば、ロボット又は何れかのオブジェクトの位置又は姿勢が何等かの原因で変更された場合には、その変更をシミュレーションに適切に反映させることができる。
【００１４】
本発明に関わるロボット制御装置は、仮想空間内に配置されているロボットの３次元形状モデル及び一つ又はそれ以上の各オブジェクトの３次元形状モデルを表示する表示部と、操作者の補正指示に応答して、ロボットの３次元形状モデル又は一つ又はそれ以上の各オブジェクトの３次元形状モデルの縮尺を補正する補正部と、を更に備えてもよい。
【００１５】
斯かる構成によれば、ロボットの３次元形状モデルの縮尺が実物のロボットのサイズと整合するように補正することができる。同様に、オブジェクトの３次元形状モデルの縮尺が実物のオブジェクトのサイズと整合するように補正することができる。
【００１６】
ロボット制御装置にワイヤレス接続する拡張現実ゴーグル、複合現実ゴーグル、又は仮想現実ゴーグルの何れか一つが表示部として機能してもよい。これにより、操作者は配線の煩わしさを感じることなく、ロボット及び一つ又はそれ以上のオブジェクトが配置されている実空間内或いはその近傍において、ロボットの３次元形状モデル又は一つ又はそれ以上の各オブジェクトの３次元形状モデルの縮尺の補正指示を入力することができる。
【００１７】
本発明に関わるロボット制御装置は、操作者からの第２の無線タグの指定に応答して予め定められた動作をするようにロボットの動作を制御する制御部を更に備えてもよい。これにより、第２の無線タグの指定を通じてロボットの動作を制御できる。
【００１８】
本発明に関わるシミュレーション方法は、コンピュータシステムが、ロボットに付されている第１のマーカーであって、ロボットの３次元形状モデルの情報に関連付けられている第１のマーカーを読み取るとともに、ロボットの周辺に配置されている一つ又はそれ以上の各オブジェクトに付されている一つ又はそれ以上の第２のマーカーであって、それぞれが、対応するオブジェクトの３次元形状モデルの情報に関連付けられている、一つ又はそれ以上の第２のマーカーを読み取るステップと、第１のマーカー及び一つ又はそれ以上の第２のマーカーの読み取り情報に基づいて、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を画像解析するステップと、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を示す情報と、第１のマーカーに関連付けられているロボットの３次元形状モデルの情報と、一つ又はそれ以上の第２のマーカーのそれぞれに関連付けられている一つ又はそれ以上の各オブジェクトの３次元形状モデルの情報とに基づいて、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルを仮想空間内に配置して、ロボットの動作をシミュレーションするステップと、を実行する。
【００１９】
このようなシミュレーション方法によれば、ロボット及びその周囲に配置されている一又はそれ以上のオブジェクトのそれぞれの３次元形状モデルの仮想空間内における位置及び姿勢を、ロボット及び一つ又はそれ以上のオブジェクトの実空間内における位置及び姿勢と自動的に整合させることができる。例えば、ロボット又は何れかのオブジェクトの位置又は姿勢が何等かの原因で変更された場合には、その変更をシミュレーションに適切に反映させることができる。
【００２０】
本発明に関わるシミュレーション方法は、コンピュータシステムが、ロボットに付されている第１の無線タグから、ロボットの３次元形状モデルの情報に関連付けられている第１の識別情報を読み取るとともに、ロボットの周辺に配置されている一つ又はそれ以上の各オブジェクトに付されている一つ又はそれ以上の第２の無線タグから、対応するオブジェクトの３次元形状モデルの情報に関連付けられている一つ又はそれ以上の第２の識別情報を読み取るステップと、第１の識別情報及び一つ又はそれ以上の第２の識別情報の読み取り情報に基づいて、ロボット及び前つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を解析するステップと、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を示す情報と、第１の識別情報に関連付けられているロボットの３次元形状モデルの情報と、一つ又はそれ以上の第２の識別情報のそれぞれに関連付けられている一つ又はそれ以上の各オブジェクトの３次元形状モデルの情報とに基づいて、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルを仮想空間内に配置して、ロボットの動作をシミュレーションするステップと、を実行する。
【００２１】
このようなシミュレーション方法によれば、ロボット及びその周囲に配置されている一又はそれ以上のオブジェクトのそれぞれの３次元形状モデルの仮想空間内における位置及び姿勢を、ロボット及び一つ又はそれ以上のオブジェクトの実空間内における位置及び姿勢と自動的に整合させることができる。例えば、ロボット又は何れかのオブジェクトの位置又は姿勢が何等かの原因で変更された場合には、その変更をシミュレーションに適切に反映させることができる。
【００２２】
本発明に関わるシミュレーションプログラムは、コンピュータシステムに、ロボットに付されている第１のマーカーであって、ロボットの３次元形状モデルの情報に関連付けられている第１のマーカーを読み取るとともに、ロボットの周辺に配置されている一つ又はそれ以上の各オブジェクトに付されている一つ又はそれ以上の第２のマーカーであって、それぞれが、対応するオブジェクトの３次元形状モデルの情報に関連付けられている、一つ又はそれ以上の第２のマーカーを読み取るステップと、第１のマーカー及び一つ又はそれ以上の第２のマーカーの読み取り情報に基づいて、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を画像解析するステップと、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を示す情報と、第１のマーカーに関連付けられているロボットの３次元形状モデルの情報と、一つ又はそれ以上の第２のマーカーのそれぞれに関連付けられている一つ又はそれ以上の各オブジェクトの３次元形状モデルの情報とに基づいて、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルを仮想空間内に配置して、ロボットの動作をシミュレーションするステップと、を実行させる。
【００２３】
このようなシミュレーションプログラムによれば、ロボット及びその周囲に配置されている一又はそれ以上のオブジェクトのそれぞれの３次元形状モデルの仮想空間内における位置及び姿勢を、ロボット及び一つ又はそれ以上のオブジェクトの実空間内における位置及び姿勢と自動的に整合させることができる。例えば、ロボット又は何れかのオブジェクトの位置又は姿勢が何等かの原因で変更された場合には、その変更をシミュレーションに適切に反映させることができる。
【００２４】
本発明に関わるシミュレーションプログラムは、コンピュータシステムに、コンピュータシステムが、ロボットに付されている第１の無線タグから、ロボットの３次元形状モデルの情報に関連付けられている第１の識別情報を読み取るとともに、ロボットの周辺に配置されている一つ又はそれ以上の各オブジェクトに付されている一つ又はそれ以上の第２の無線タグから、対応するオブジェクトの３次元形状モデルの情報に関連付けられている一つ又はそれ以上の第２の識別情報を読み取るステップと、第１の識別情報及び一つ又はそれ以上の第２の識別情報の読み取り情報に基づいて、ロボット及び前つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を解析するステップと、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの実空間上の位置を示す情報と、第１の識別情報に関連付けられているロボットの３次元形状モデルの情報と、一つ又はそれ以上の第２の識別情報のそれぞれに関連付けられている一つ又はそれ以上の各オブジェクトの３次元形状モデルの情報とに基づいて、ロボット及び一つ又はそれ以上のオブジェクトのそれぞれの３次元形状モデルを仮想空間内に配置して、ロボットの動作をシミュレーションするステップと、を実行させる。
【００２５】
このようなシミュレーションプログラムによれば、ロボット及びその周囲に配置されている一又はそれ以上のオブジェクトのそれぞれの３次元形状モデルの仮想空間内における位置及び姿勢を、ロボット及び一つ又はそれ以上のオブジェクトの実空間内における位置及び姿勢と自動的に整合させることができる。例えば、ロボット又は何れかのオブジェクトの位置又は姿勢が何等かの原因で変更された場合には、その変更をシミュレーションに適切に反映させることができる。
【発明の効果】
【００２６】
本発明によれば、ロボットの動作シミュレーションの精度を向上できる。
【図面の簡単な説明】
【００２７】
【図１】本実施形態に関わるロボット制御装置の説明図である。
【図２】本実施形態に関わるロボット制御装置の第１のハードウェア構成の一例を示す説明図である。
【図３】本実施形態に関わるロボット制御装置の機能の一例を示すブロック図である。
【図４】本実施形態に関わるマーカーの一例を示す説明図である。
【図５】本実施形態に関わるシミュレーション方法の処理の流れの一例を示すフローチャートである。
【図６】本実施形態に関わるロボット制御装置の第２のハードウェア構成の一例を示す説明図である。
【図７】本実施形態に関わるシミュレーション方法の処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明の一側面に関わる実施形態を図面に基づいて説明する。本発明の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更又は改良され得るととともに、本発明には、その等価物も含まれる。なお、同一符号は、同一の構成要素を示すものとし、重複する説明は省略する。
【００２９】
［適用例］
まず、図１を参照しながら、本発明の適用例について説明する。
本実施形態に関わるロボット制御装置１０は、ロボット２０の動作を仮想空間内でシミュレーションする機能と、ロボット２０の動作を実空間８０内で制御する機能とを有するコンピュータシステムである。ここで、実空間とは、仮想空間と対比される概念であり、作業空間と同義である。ロボット２０の具体例として、垂直多関節ロボット、水平多関節ロボット、直交ロボット、又はパラレルリンクロボットなどを挙げることができる。ロボット２０は、自律的に動作するマニピュレータとして動作し、例えば、部品の組み立て、搬送、塗装、検査、研磨、又は洗浄などの用途に用いることができる。
【００３０】
実空間８０内には、ロボット２０の周囲に一つ又はそれ以上のオブジェクト３０が配置されている。オブジェクト３０は、ロボット２０の周囲に配置される物体であり、例えば、作業台、作業用箱、作業用マットなどがその具体例である。ロボット２０には、ロボット２０の識別情報を担うマーカー２１が付されている。ロボット２０におけるマーカー２１の位置は既知であるものとする。マーカー２１は、ロボット２０の３次元形状モデルの情報に予め関連付けられている。各オブジェクト３０には、そのオブジェクト３０の識別情報を担うマーカー３１が付されている。各オブジェクト３０におけるマーカー３１の位置は既知であるものとする。マーカー３１は、オブジェクト３０の３次元形状モデルの情報に予め関連付けられている。
【００３１】
ここで、３次元形状モデルは、例えば、ＣＡＤ（Computer-Aided Design）モデルであり、３次元形状モデルの情報は、モデル形状及びモデルサイズに関わるモデル情報を含む。ロボット制御装置１０は、ロボット２０及びその周囲に配置されている一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルの情報を予め記憶している。なお、マーカー２１，３１として、例えば、ＱＲ（Quick Response）コード又はＡＲ（Augmented Reality）コードと呼ばれる二次元コードを用いてもよい。
【００３２】
ロボット制御装置１０は、ロボット２０及びその周囲に配置されている一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置及び姿勢を画像認識し、マーカー２１と一つ又はそれ以上のマーカー３１とを読み取るための読み取り装置４０を備えている。読み取り装置４０の例として、例えば、カメラなどの撮影装置を挙げることができる。ロボット制御装置１０は、読み取り装置４０によって読み取られたマーカー２１及び一つ又はそれ以上のマーカー３１の読み取り情報に基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置及び姿勢を画像解析する。
【００３３】
ロボット制御装置１０は、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置及び姿勢を示す情報と、マーカー２１に関連付けられているロボット２０の３次元形状モデルの情報と、一つ又はそれ以上のマーカー３１のそれぞれに関連付けられている一つ又はそれ以上の各オブジェクト３０の３次元形状モデルの情報とに基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルを仮想空間内に配置して、ロボット２０の動作をシミュレーションする。シミュレーションの結果から、ロボット２０がその周囲のオブジェクト３０に干渉する虞がないものと判定される場合には、ロボット制御装置１０は、ロボット２０の動作を実空間８０内で制御する。一方、シミュレーションの結果から、ロボット２０がその周囲の何れかのオブジェクト３０に干渉する虞があるものと判定される場合には、干渉が生じないように、オブジェクト３０及びロボット２０の何れか一方又は両方の設置場所を実空間８０内で変更したり、或いはロボット２０の動作範囲を制限したりしてもよい。
【００３４】
このような方法によれば、ロボット２０及びその周囲に配置されている一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルの仮想空間内における位置及び姿勢を、ロボット２０及び一つ又はそれ以上のオブジェクト３０の実空間８０内における位置及び姿勢と自動的に整合させることができる。例えば、ロボット２０又は何れかのオブジェクト３０の位置又は姿勢が何等かの原因で変更された場合には、その変更をシミュレーションに適切に反映させることができる。
【００３５】
なお、ロボット２０の出荷時にマーカー２１が予め付されてもよく、或いは、ロボット２０の出荷後に、ユーザがロボット２０にマーカー２１を付するようにしてもよい。同様に、オブジェクト３０の出荷時にマーカー３１が付されてもよく、或いは、オブジェクト３０の出荷後に、ユーザがオブジェクト３０にマーカー３１を付するようにしてもよい。
【００３６】
ロボット２０には、マーカー２１に替えて、無線タグ２２が付されていてもよい。無線タグ２２は、ロボット２０の３次元形状モデルの情報に関連付けられている識別情報を、無線信号を通じて読み出し可能な半導体メモリを備えている。同様に、各オブジェクト３０には、マーカー３１に替えて、無線タグ３２が付されていてもよい。無線タグ３２は、オブジェクト３０の３次元形状モデルの情報に関連付けられている識別情報を、無線信号を通じて読み出し可能な半導体メモリを備えている。この場合、カメラなどの撮影装置に替えて、タグリーダを読み取り装置４０として用いることができる。読み取り装置４０は、ロボット２０の３次元形状モデルの情報に関連付けられている識別情報を無線タグ２２から読み取る。ロボット制御装置１０は、無線タグ２２から受信した無線信号の位相情報に基づいてロボット２０の実空間８０上の位置を解析する。読み取り装置４０は、オブジェクト３０の３次元形状モデルの情報に関連付けられている識別情報を無線タグ３２から読み取る。ロボット制御装置１０は、無線タグ３２から受信した無線信号の位相情報に基づいてオブジェクト３０の実空間８０上の位置を解析する。
【００３７】
ロボット制御装置１０は、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を示す情報と、無線タグ２２から読み出される識別情報に関連付けられているロボット２０の３次元形状モデルの情報と、一つ又はそれ以上の無線タグ３２から読み出される識別情報にそれぞれ関連付けられている一つ又はそれ以上のオブジェクト３０の３次元形状モデルの情報とに基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルを仮想空間内に配置して、ロボット２０の動作をシミュレーションする。
【００３８】
このように、マーカー２１，３１に替えて、無線タグ２２，３２を用いる場合においても、ロボット２０及びその周囲に配置されている一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルの仮想空間内における位置を、ロボット２０及び一つ又はそれ以上のオブジェクト３０の実空間８０内における位置と自動的に整合させることができる。
【００３９】
なお、ロボット２０の出荷時に無線タグ２２が予め付されてもよく、或いは、ロボット２０の出荷後に、ユーザがロボット２０に無線タグ２２を付するようにしてもよい。同様に、オブジェクト３０の出荷時に無線タグ２３が付されてもよく、或いは、オブジェクト３０の出荷後に、ユーザがオブジェクト３０に無線タグ２３を付するようにしてもよい。
【００４０】
説明の便宜上、図１に示す例では、ロボット２０には、マーカー２１と無線タグ２２とが両方とも付されているが、何れか一方がロボット２０に付されていればよい。同様に、オブジェクト３０には、マーカー３１と無線タグ３２とが両方とも付されているが、何れか一方がオブジェクト３０に付されていればよい。
【００４１】
［第１のハードウェア構成］
次に、図２を参照しながら、ロボット制御装置１０の第１のハードウェア構成の一例について説明する。
ロボット制御装置１０は、そのハードウェア資源として、演算装置１１と、記憶装置１２と、入出力インタフェース１３と、表示装置１４と、入力装置１５と、読み取り装置４０とを備える。演算装置１１は、ＣＰＵ（Central Processing Unit）１１１と、ＲＯＭ（Read Only Memory）１１２と、ＲＡＭ（Random Access Memory）１１３とを備えている。記憶装置１２は、ディスク媒体（例えば、磁気記録媒体又は光磁気記録媒体）又は半導体メモリ（例えば、揮発性メモリ又は不揮発性メモリ）などのコンピュータ読み取り可能な記録媒体である。このような記録媒体は、例えば、非一過性の記録媒体と呼ぶこともできる。記憶装置１２は、ロボット２０の動作を仮想空間内でシミュレーションするためのシミュレーションプログラム１２１と、ロボット２０の動作を実空間８０内で制御するためのロボット制御プログラム１２２と、オペレーティングシステム１２３と、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルの情報（モデル情報）１２４とを格納している。各種のソフトウェアプログラム（例えば、シミュレーションプログラム１２１、ロボット制御プログラム１２２、及びオペレーティングシステム１２３）は、それぞれ、記憶装置１２からＲＡＭ１１３に読み込まれ、ＣＰＵ１１１により解釈及び実行される。入出力インタフェース１３は、読み取り装置４０及びロボット２０に接続している。表示装置１４は、ロボット２０及びその周囲に配置されている一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルが仮想空間内に配置されている様子を画面に表示するとともに、ロボット２０の動作を仮想空間内でシミュレーションする様子を画面に表示する。表示装置１４は、例えば、液晶ディスプレイ、電界発光ディスプレイ、又はプラズマディスプレイなどの平板ディスプレイである。入力装置１５は、シミュレーションの設定やロボット２０の動作設定などの各種の設定情報を操作者が入力するためのデバイスである。入力装置１５は、例えば、キーボード、マウス、タッチスクリーンなどである。なお、携帯端末５０及びゴーグル６０の説明については後述する。
【００４２】
［第１の機能構成］
図３ロボット制御装置１０の機能の一例を示すブロック図である。
ロボット制御装置１０のハードウェア資源と各種のソフトウェアプログラム（例えば、シミュレーションプログラム１２１、ロボット制御プログラム１２２、及びオペレーティングシステム１２３）との協働により、解析部１０１、シミュレーション部１０２、補正部１０３、制御部１０４、記憶部１０５、表示部１０６、及び操作部１０７としての機能が実現される。特に、解析部１０１、シミュレーション部１０２、及び補正部１０３の各機能は、シミュレーションプログラム１２１とＣＰＵ１１１との協働により実現される。制御部１０４の機能は、ロボット制御プログラム１２２とＣＰＵ１１１との協働により実現される。記憶部１０５の機能は、オペレーティングシステム１２３と記憶装置１２との協働により実現される。表示部１０６の機能は、オペレーティングシステム１２３と表示装置１４との協働により実現される。操作部１０７の機能は、オペレーティングシステム１２３と入力装置１５との協働により実現される。
【００４３】
記憶部１０５は、モデル情報１２４を記憶している。解析部１０１は、読み取り装置４０によって読み取られたマーカー２１及び一つ又はそれ以上のマーカー３１の読み取り情報に基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置及び姿勢を画像解析する。シミュレーション部１０２は、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置及び姿勢を示す情報と、マーカー２１に関連付けられているロボット２０のモデル情報１２４と、一つ又はそれ以上のマーカー３１のそれぞれに関連付けられている一つ又はそれ以上の各オブジェクト３０のモデル情報１２４とに基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルを仮想空間内に配置してロボット２０の動作をシミュレーションする。表示部１０６は、仮想空間内に配置されているロボット２０の３次元形状モデル及び一つ又はそれ以上の各オブジェクト３０の３次元形状モデルを画面に表示する。
【００４４】
ロボット２０又はオブジェクト３０の３次元形状モデルの縮尺は、実物のロボット２０又はオブジェクト３０のサイズと整合していない場合がある。このような場合、操作者は、表示部１０６に表示されるロボット２０及び一つ又はそれ以上の各オブジェクト３０の３次元形状モデルと、実物のロボット２０及び一つ又はそれ以上の各オブジェクト３０とを対比する。ロボット２０の３次元形状モデルの縮尺が実物のロボット２０のサイズと整合していない場合には、操作者は、操作部１０７を操作してロボット２０の３次元形状モデルの縮尺を補正するための補正指示を入力する。補正部１０３は、操作者の補正指示に応答して、ロボット２０の３次元形状モデルの縮尺が実物のロボット２０のサイズと整合するように補正する。同様に、何れかのオブジェクト３０の３次元形状モデルの縮尺が実物のオブジェクト３０のサイズと整合していない場合には、操作者は、操作部１０７を操作してオブジェクト３０の３次元形状モデルの縮尺を補正するための補正指示を入力する。補正部１０３は、操作者の補正指示に応答して、オブジェクト３０の３次元形状モデルの縮尺が実物のオブジェクト３０のサイズと整合するように補正する。
【００４５】
ロボット２０に複数のマーカー２１が付されており、マーカー２１間の距離が既知である場合には、補正部１０３は、ロボット２０の３次元形状モデルの縮尺が実物のロボット２０のサイズと整合するように自動的に補正してもよい。同様に、オブジェクト３０に複数のマーカー３１が付されており、マーカー３１間の距離が既知である場合には、補正部１０３は、オブジェクト３０の３次元形状モデルの縮尺が実物のオブジェクト３０のサイズと整合するように自動的に補正してもよい。
【００４６】
なお、表示部１０６として機能するデバイスは、表示装置１４に限られるものではなく、例えば、携帯端末５０が入出力インタフェース１３に接続している場合には、携帯端末５０の表示装置５１が表示部１０６として機能してもよい。このとき、携帯端末５０の入力装置５２が操作部１０７として機能してもよい。操作者は、携帯端末５０の表示装置５１に表示されるロボット２０及び一つ又はそれ以上の各オブジェクト３０の３次元形状モデルと、実物のロボット２０及び一つ又はそれ以上の各オブジェクト３０とを対比し、携帯端末５０の入力装置５２を操作して、ロボット２０又はオブジェクト３０の３次元形状モデルの縮尺の補正指示を入力することができる。携帯端末５０は、例えば、スマートフォン、スマートウォッチ或いはタブレット端末と呼ばれる移動通信端末、又は、通信機能を有するパーソナルコンピュータである。
【００４７】
また、ゴーグル６０が入出力インタフェース１３に接続している場合には、ゴーグル６０が表示部１０６として機能してもよい。ここで、ゴーグル６０は、例えば、拡張現実（Augmented Reality）ゴーグル、複合現実（Mixed Reality）ゴーグル、又は仮想現実（Virtual Reality）ゴーグルである。操作者は、ゴーグル６０に表示されるロボット２０及び一つ又はそれ以上の各オブジェクト３０の３次元形状モデルと、実物のロボット２０及び一つ又はそれ以上の各オブジェクト３０とを対比し、操作部１０７を操作して、ロボット２０又はオブジェクト３０の３次元形状モデルの縮尺の補正指示を入力することができる。ゴーグル６０は、例えば、近距離無線通信（例えば、Wi-fi）を通じて入出力インタフェース１３にワイヤレス接続してもよい。これにより、操作者は、配線の煩わしさを感じることなく、実空間８０内或いはその近傍で上述の縮尺の補正指示を入力することができる。
【００４８】
シミュレーションの結果から、ロボット２０がその周囲のオブジェクト３０に干渉する虞がないものと判定される場合には、制御部１０４は、ロボット２０の動作を実空間８０内で制御する。ロボット２０の動作制御は、例えば、ティーチングプレイバックに基づくものでもよい。このようなティーチングプレイバックにおいては、例えば、マーカー３１の指定に応じて、ロボット２０が予め定められた動作をするように制御してもよい。例えば、図２に示す例において、二つのオブジェクト３０のそれぞれが作業用箱である場合には、一方の作業用箱からワークを取り出して、他方の作業用箱にワークを入れる作業を、それぞれの作業用箱に付されているマーカー３１の指定を通じて、ロボット２０に指示することができる。このような指示は、例えば、操作者による操作部１０７の操作により行うことができる。なお、ワークとは、例えば、仕掛け品又は部品を意味する。
【００４９】
図４は本実施形態に関わるマーカー３１の一例を示す説明図である。オブジェクト３０は、例えば、ロボット２０の作業上マットであり、ロボット２０は、例えば、作業上マットの上に置かれたワークを移動させる作業などを行うことができる。作業用マットの表面には、複数の点３１Ａがランダムに付されている。複数の点３１Ａの並び方や、隣接する二つの点３１Ａの間の距離は既知であるものとする。ランダムに付された複数の点３１Ａの並び方は、その作業用マットの表面に対して、どの方向から見ても類似していないため、複数の点３１Ａの並び方を読み取り装置４０がパターン認識することにより、作業用マットの向きや、この作業用マットに置かれたワークの位置を特定することができる。このような複数の点３１Ａの集まりは、全体として、作業用マットの識別情報を担うマーカー３１として機能し得る。作業用マットのマーカー３１は、作業用マットの３次元形状モデルの情報に予め関連付けられている。なお、複数の点３１Ａのうち一部の点は、他の点とは異なる色彩が施されていてもよく、各点３１Ａの並び方に加えて色彩を考慮したパターン認識により、作業用マットの向きや、この作業用マットに置かれたワークの位置を特定してもよい。
【００５０】
オブジェクト３０に付されるマーカー３１の他の例として、複数の発光素子の集まりからなるものを用いてもよい。マーカー３１を構成する複数の発光素子の発光パターンとオブジェクト３０の識別情報とを一対一に対応付けることにより、マーカー３１を構成する複数の発光素子の発光パターンからオブジェクト３０の識別情報を読み取ることができる。この識別情報は、オブジェクト３０の３次元形状モデルの情報に予め関連付けられている。なお、発光パターンは、各発光素子の点灯又は消灯のタイミングを示す点灯パターンと各発光素子の点灯色との組み合わせを意味する。発光素子として、例えば、発光ダイオードを用いることができる。
【００５１】
同様に、ロボット２０に付されるマーカー２１の他の例として、複数の発光素子の集まりからなるものを用いてもよい。マーカー２１を構成する複数の発光素子の発光パターンとロボット２０の識別情報とを一対一に対応付けることにより、マーカー２１を構成する複数の発光素子の発光パターンからロボット２０の識別情報を読み取ることができる。この識別情報は、ロボット２０の３次元形状モデルの情報に予め関連付けられている。
【００５２】
［第１のシミュレーション方法］
図５は第１のハードウェア構成におけるロボット制御装置１０によるシミュレーション方法の処理の流れの一例を示すフローチャートである。この処理は、シミュレーションプログラム１２１によるボット制御装置１０のハードウェア資源の制御を通じて実行される。
ステップ５０１において、ロボット制御装置１０は、ロボット２０に付されているマーカー２１を読み取るとともに、ロボット２０の周辺に配置されている一つ又はそれ以上の各オブジェクト３０に付されている一つ又はそれ以上のマーカー２２を読み取る。
ステップ５０２において、ロボット制御装置１０は、マーカー２１及び一つ又はそれ以上のマーカー２２の読み取り情報に基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を画像解析する。
ステップ５０３において、ロボット制御装置１０は、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を示す情報と、マーカー２１に関連付けられているロボットのモデル情報１２４と、一つ又はそれ以上のマーカー２２のそれぞれに関連付けられている一つ又はそれ以上の各オブジェクト３０のモデル情報１２４とに基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルを仮想空間内に配置して、ロボット２０の動作をシミュレーションする。
【００５３】
［第２のハードウェア構成］
次に、図６を参照しながら、ロボット制御装置１０の第２のハードウェア構成の一例について説明する。
図６に示すように、ロボット２０には、マーカー２１に替えて、無線タグ２２が付されている。同様に、各オブジェクト３０には、マーカー３１に替えて、無線タグ３２が付されている。読み取り装置４０として、カメラなどの撮影装置に替えて、タグリーダが用いられている。読み取り装置４０は、ロボット２０の３次元形状モデルの情報に関連付けられている識別情報を無線タグ２２から読み取るとともに、オブジェクト３０の３次元形状モデルの情報に関連付けられている識別情報を無線タグ３２から読み取る。その他の第２のハードウェア構成は、第１のハードウェア構成と同様であるため、重複する説明を省略する。
【００５４】
［第２の機能構成］
第２のハードウェア構成におけるロボット制御装置１０の機能ブロック図は、図３のブロック図と同じであるため、図３を参照しながら、第２のハードウェア構成におけるロボット制御装置１０の各機能について説明する。
解析部１０１は、無線タグ２２から受信した無線信号の位相情報に基づいてロボット２０の実空間８０上の位置を解析する。ロボット２０に３枚の無線タグ２２が付されている場合には、解析部１０１は、ロボット２０の実空間８０上の位置に加えてその姿勢も解析することができる。解析部１０１は、無線タグ３２から受信した無線信号の位相情報に基づいてオブジェクト３０の実空間８０上の位置を解析する。オブジェクト３０に３枚の無線タグ３２が付されている場合には、解析部１０１は、オブジェクト３０の実空間８０上の位置に加えてその姿勢も解析することができる。シミュレーション部１０２は、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置（又は位置及び姿勢）を示す情報と、無線タグ２２から読み出される識別情報に関連付けられているロボット２０のモデル情報１２４と、一つ又はそれ以上の無線タグ３２から読み出される識別情報にそれぞれ関連付けられている一つ又はそれ以上のオブジェクト３０のモデル情報１２４とに基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルを仮想空間内に配置して、ロボット２０の動作をシミュレーションする。なお、第２のハードウェア構成における補正部１０３、制御部１０４、記憶部１０５、表示部１０６、及び操作部１０７の各機能は、第１のハードウェア構成における補正部１０３、制御部１０４、記憶部１０５、表示部１０６、及び操作部１０７の各機能と同様である。
【００５５】
シミュレーションの結果から、ロボット２０がその周囲のオブジェクト３０に干渉する虞がないものと判定される場合には、制御部１０４は、ロボット２０の動作を実空間８０内で制御する。ロボット２０の動作制御は、例えば、ティーチングプレイバックに基づくものでもよい。このようなティーチングプレイバックにおいては、例えば、無線タグ３２の指定に応じて、ロボット２０が予め定められた動作をするように制御してもよい。例えば、図６に示す例において、二つのオブジェクト３０のそれぞれが作業用箱である場合には、一方の作業用箱からワークを取り出して、他方の作業用箱にワークを入れる作業を、それぞれの作業用箱に付されている無線タグ３２の指定を通じて、ロボット２０に指示することができる。このような指示は、例えば、操作者による操作部１０７の操作により行うことができる。
【００５６】
［第２のシミュレーション方法］
図７は第２のハードウェア構成におけるロボット制御装置１０によるシミュレーション方法の処理の流れの一例を示すフローチャートである。この処理は、シミュレーションプログラム１２１によるボット制御装置１０のハードウェア資源の制御を通じて実行される。
ステップ７０１において、ロボット制御装置１０は、ロボット２０の３次元形状モデルの情報に関連付けられている識別情報を無線タグ２２から読み取るとともに、オブジェクト３０の３次元形状モデルの情報に関連付けられている識別情報を無線タグ３２から読み取る。
ステップ７０２において、ロボット制御装置１０は、無線タグ２２から受信した無線信号の位相情報に基づいてロボット２０の実空間８０上の位置を解析するとともに、無線タグ３２から受信した無線信号の位相情報に基づいてオブジェクト３０の実空間８０上の位置を解析する。
ステップ７０３において、ロボット制御装置１０は、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を示す情報と、無線タグ２２から読み出される識別情報に関連付けられているロボット２０のモデル情報１２４と、一つ又はそれ以上の無線タグ３２から読み出される識別情報にそれぞれ関連付けられている一つ又はそれ以上のオブジェクト３０のモデル情報１２４とに基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルを仮想空間内に配置して、ロボット２０の動作をシミュレーションする。
【００５７】
なお、ロボット制御装置１０の各機能（解析部１０１、シミュレーション部１０２、補正部１０３、制御部１０４、記憶部１０５、表示部１０６、及び操作部１０７）は、必ずしも、ロボット制御装置１０のハードウェア資源と各種のソフトウェアプログラム（例えば、シミュレーションプログラム１２１、ロボット制御プログラム１２２、及びオペレーティングシステム１２３）との協働によって実現される必要はなく、例えば、ロボット制御装置１０の専用のハードウェア資源（例えば、特定用途向け集積回路（ＡＳＩＣ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）など）を用いて実現されてもよい。
【００５８】
本実施形態に関わるロボット２０は、ファクトリーオートメーションに用いられる産業ロボットに限定されるものではなく、例えば、サービス業に用いられるロボット（例えば、オペレーティングロボット、医療用ロボット、掃除ロボット、レスキューロボット、セキュリティロボットなど）でもよい。
【００５９】
上述の実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限定されない。
（付記１）
ロボット２０に付されている第１のマーカー２１であって、ロボット２０の３次元形状モデルの情報に関連付けられている第１のマーカー２１を読み取るとともに、ロボット２０の周辺に配置されている一つ又はそれ以上の各オブジェクト３０に付されている一つ又はそれ以上の第２のマーカー３１であって、それぞれが、対応するオブジェクト３０の３次元形状モデルの情報に関連付けられている、一つ又はそれ以上の第２のマーカー３１を読み取る読み取り装置４０と、
読み取り装置４０によって読み取られた第１のマーカー２１及び一つ又はそれ以上の第２のマーカー３１の読み取り情報に基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を画像解析する解析部１０１と、
解析部１０１により解析されたロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を示す情報と、第１のマーカー２１に関連付けられているロボット２０の３次元形状モデルの情報と、一つ又はそれ以上の第２のマーカー３１のそれぞれに関連付けられている一つ又はそれ以上の各オブジェクト３０の３次元形状モデルの情報とに基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルを仮想空間８０内に配置して、ロボット２０の動作をシミュレーションするシミュレーション部１０２と、
を備えるロボット制御装置１０。
（付記２）
付記１に記載のロボット制御装置１０であって、
仮想空間８０内に配置されているロボット２０の３次元形状モデル及び一つ又はそれ以上の各オブジェクト３０の３次元形状モデルを表示する表示部１０６と、
操作者の補正指示に応答して、ロボット２０の３次元形状モデル又は一つ又はそれ以上の各オブジェクト３０の３次元形状モデルの縮尺を補正する補正部１０３と、
を更に備える、ロボット制御装置１０。
（付記３）
付記１又は２に記載のロボット制御装置１０であって、
ロボット制御装置１０１にワイヤレス接続する拡張現実ゴーグル６０、複合現実ゴーグル６０、又は仮想現実ゴーグル６０の何れか一つが表示部１０６として機能する、ロボット制御装置１０。
（付記４）
付記１乃至３のうち何れか一つに記載のロボット制御装置１０であって、
操作者からの第２のマーカー３１の指定に応答して、予め定められた動作をするようにロボット２０の動作を制御する制御部１０４を更に備える、ロボット制御装置１０。
（付記５）
ロボット２０に付されている第１の無線タグ２２から、ロボット２０の３次元形状モデルの情報に関連付けられている第１の識別情報を読み取るとともに、ロボット２０の周辺に配置されている一つ又はそれ以上の各オブジェクト３０に付されている一つ又はそれ以上の第２の無線タグ３２から、対応するオブジェクト３０の３次元形状モデルの情報に関連付けられている一つ又はそれ以上の第２の識別情報を読み取る読み取り装置４０と、
読み取り装置４０によって読み取られた第１の識別情報及び一つ又はそれ以上の第２の識別情報の読み取り情報に基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を解析する解析部１０１と、
解析部１０１により解析されたロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を示す情報と、第１の識別情報に関連付けられているロボット２０の３次元形状モデルの情報と、一つ又はそれ以上の第２の識別情報のそれぞれに関連付けられている一つ又はそれ以上の各オブジェクト３０の３次元形状モデルの情報とに基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルを仮想空間内に配置して、ロボット２０の動作をシミュレーションするシミュレーション部１０２と、
を備えるロボット制御装置１０。
（付記６）
付記５に記載のロボット制御装置１０であって、
仮想空間内に配置されているロボット２０の３次元形状モデル及び一つ又はそれ以上の各オブジェクト３０の３次元形状モデルを表示する表示部１０６と、
操作者の補正指示に応答して、ロボット２０の３次元形状モデル又は一つ又はそれ以上の各オブジェクト３０の３次元形状モデルの縮尺を補正する補正部１０３と、
を更に備える、ロボット制御装置１０。
（付記７）
付記５又は６に記載のロボット制御装置１０であって、
ロボット制御装置１０１にワイヤレス接続する拡張現実ゴーグル６０、複合現実ゴーグル６０、又は仮想現実ゴーグル６０の何れか一つが表示部１０６として機能する、ロボット制御装置１０。
（付記８）
付記５乃至７のうち何れか一つに記載のロボット制御装置１０であって、
操作者からの第２の無線タグ３２の指定に応答して、予め定められた動作をするようにロボット２０の動作を制御する制御部１０４を更に備える、ロボット制御装置１０。
（付記９）
コンピュータシステムが、
ロボット２０に付されている第１のマーカー２１であって、ロボット２０の３次元形状モデルの情報に関連付けられている第１のマーカー２１を読み取るとともに、ロボット２０の周辺に配置されている一つ又はそれ以上の各オブジェクト３０に付されている一つ又はそれ以上の第２のマーカー３１であって、それぞれが、対応するオブジェクト３０の３次元形状モデルの情報に関連付けられている、一つ又はそれ以上の第２のマーカー３１を読み取るステップ５０１と、
第１のマーカー２１及び一つ又はそれ以上の第２のマーカー３１の読み取り情報に基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を画像解析するステップ５０２と、
ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を示す情報と、第１のマーカー２１に関連付けられているロボット２０の３次元形状モデルの情報と、一つ又はそれ以上の第２のマーカー３１のそれぞれに関連付けられている一つ又はそれ以上の各オブジェクト３０の３次元形状モデルの情報とに基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルを仮想空間内に配置して、ロボット２０の動作をシミュレーションするステップ５０３と、
を実行するシミュレーション方法。
（付記１０）
コンピュータシステムが、
ロボット２０に付されている第１の無線タグ２２から、ロボット２０の３次元形状モデルの情報に関連付けられている第１の識別情報を読み取るとともに、ロボット２０の周辺に配置されている一つ又はそれ以上の各オブジェクト３０に付されている一つ又はそれ以上の第２の無線タグ３２から、対応するオブジェクト３０の３次元形状モデルの情報に関連付けられている一つ又はそれ以上の第２の識別情報を読み取るステップ７０１と、
第１の識別情報及び一つ又はそれ以上の第２の識別情報の読み取り情報に基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間上の位置を解析するステップ７０２と、
ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を示す情報と、第１の識別情報に関連付けられているロボット２０の３次元形状モデルの情報と、一つ又はそれ以上の第２の識別情報のそれぞれに関連付けられている一つ又はそれ以上の各オブジェクト３０の３次元形状モデルの情報とに基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルを仮想空間８０内に配置して、ロボット２０の動作をシミュレーションするステップ７０３と、
を実行するシミュレーション方法。
（付記１１）
コンピュータシステムに、
ロボット２０に付されている第１のマーカー２１であって、ロボット２０の３次元形状モデルの情報に関連付けられている第１のマーカー２１を読み取るとともに、ロボット２０の周辺に配置されている一つ又はそれ以上の各オブジェクト３０に付されている一つ又はそれ以上の第２のマーカー３１であって、それぞれが、対応するオブジェクト３０の３次元形状モデルの情報に関連付けられている、一つ又はそれ以上の第２のマーカー３１を読み取るステップ５０１と、
第１のマーカー２１及び一つ又はそれ以上の第２のマーカー３１の読み取り情報に基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を画像解析するステップ５０２と、
ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を示す情報と、第１のマーカー２１に関連付けられているロボット２０の３次元形状モデルの情報と、一つ又はそれ以上の第２のマーカー３１のそれぞれに関連付けられている一つ又はそれ以上の各オブジェクト３０の３次元形状モデルの情報とに基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルを仮想空間内に配置して、ロボット２０の動作をシミュレーションするステップ５０３と、
を実行させるシミュレーションプログラム１２１。
（付記１２）
コンピュータシステムに、
ロボット２０に付されている第１の無線タグ２２から、ロボット２０の３次元形状モデルの情報に関連付けられている第１の識別情報を読み取るとともに、ロボット２０の周辺に配置されている一つ又はそれ以上の各オブジェクト３０に付されている一つ又はそれ以上の第２の無線タグ３２から、対応するオブジェクト３０の３次元形状モデルの情報に関連付けられている一つ又はそれ以上の第２の識別情報を読み取るステップ７０１と、
第１の識別情報及び一つ又はそれ以上の第２の識別情報の読み取り情報に基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間上の位置を解析するステップ７０２と、
ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの実空間８０上の位置を示す情報と、第１の識別情報に関連付けられているロボット２０の３次元形状モデルの情報と、一つ又はそれ以上の第２の識別情報のそれぞれに関連付けられている一つ又はそれ以上の各オブジェクト３０の３次元形状モデルの情報とに基づいて、ロボット２０及び一つ又はそれ以上のオブジェクト３０のそれぞれの３次元形状モデルを仮想空間８０内に配置して、ロボット２０の動作をシミュレーションするステップ７０３と、
を実行させるシミュレーションプログラム１２１。
【符号の説明】
【００６０】
１０…ロボット制御装置  １１…演算装置  １２…記憶装置  １３…入出力インタフェース  １４…表示装置  １５…入力装置  ２０…ロボット  ２１…マーカー  ２２…無線タグ  ３０…オブジェクト  ３１…マーカー  ３２…無線タグ  ４０…読み取り装置  ５０…携帯端末  ６０…ゴーグル  ８０…実空間  １０１…解析部  １０２…シミュレーション部  １０３…補正部  １０４…制御部  １０５…記憶部  １０６…表示部  １０７…操作部  １２１…シミュレーションプログラム  １２２…ロボット制御プログラム  １２３…オペレーティングシステム  １２４…モデル情報
【図１】
2020075338.tif 000003
【図２】
2020075338.tif 000004
【図３】
2020075338.tif 000005
【図４】
2020075338.tif 000006
【図５】
2020075338.tif 000007
【図６】
2020075338.tif 000008
【図７】
2020075338.tif 000009