(58)【調査した分野】(Int.Cl.,DB名)
前記協働ロボットモデルの動作を表す動作経路情報を前記動作プログラムから取得し、前記協働ロボットモデルが前記動作を開始する前に前記動作経路情報を前記三次元仮想空間に画像として表示させる動作経路情報表示部を更に具備する、請求項1に記載のシミュレーション装置。
【発明を実施するための形態】
【0009】
次に、本開示の実施形態について図面を参照して説明する。参照する図面において、同様の構成部分または機能部分には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
【0010】
図1は一実施形態に係るロボットシミュレーションシステム100の全体構成を表す構成図である。ロボットシミュレーションシステム100は、協働ロボットと人とによる協働的作業のシミュレーションを行うためのシステムである。
図1に示されるように、ロボットシミュレーションシステム100は、操作者90の頭部に装着される頭部装着型表示装置としてのヘッドマウントディスプレイ80と、シミュレーション動作を実行するシミュレーション装置50と、操作者90の位置や動きを検出する検出装置70とを具備する。ヘッドマウントディスプレイ80および視覚センサ70は、無線接続或いは有線接続によりシミュレーション装置50に接続される。
【0011】
シミュレーション装置50は、協働ロボット、ワークおよび周辺装置を含むロボットシステムの三次元モデルデータを有しており、これらロボットシステムモデルを三次元仮想空間に配置した画像を生成してヘッドマウントディスプレイ80の表示部83(
図2参照)に表示させる機能を有する。
図1の破線の枠線には、協働ロボットモデル20M、ワークモデル10M、および周辺装置モデル11Mが仮想空間(ヘッドマウントディスプレイ80の表示部83)に擬似立体物として表示された画像の例が図示されている。なお、シミュレーション装置50は、CPU、ROM、RAM、記憶装置、有線または無線のネットワークインタフェース、外部機器インタフェース、操作部、表示部等を有する一般的なコンピュータによって構成することができる。以下で説明する、シミュレーション装置50の各種機能は、シミュレーション装置50のCPUがシミュレーションンプログラム等の各種プログラムを実行することによって実現される。検出装置70は、実空間内での操作者70の位置や動きを検出する。この構成により、シミュレーション装置50は、実空間内での操作者90の位置や動きに応じて、仮想空間内での協働ロボットモデル20Mと操作者90の相対位置関係を求め、その相対位置関係に応じてロボットシステムモデルの表示画像を生成することができる。よって、操作者90は、実空間内において移動することで、ヘッドマウントディスプレイ80に表示された仮想空間内でロボットシステムモデルに近づいたり、ロボットシステムモデルから離れたりすることができる。
【0012】
図2は、ロボットシミュレーションシステム100の機能ブロック図である。
図2に示されるように、シミュレーション装置50は、位置計算部501、三次元モデル表示部502、シミュレーション実行部503、動作経路情報表示部506、および警告報知部507を備える。
【0013】
検出装置70は、例えば、操作者を視覚的に検出する視覚センサであり、操作者90を撮像して操作者90の位置や動きを検出する機能する。具体的には、検出装置70は、撮像された画像を解析して、画像内での操作者90の位置や動き、および操作者90の手の動きを検出する機能を有している。画像内での人体や手の位置を検出する手法としては、モデル画像とのマッチングを行うなど、当分野で知られた各種検出手法を用いることができる。検出装置70は、検出した操作者90の位置や動きをシミュレーション装置50に提供する。
【0014】
位置計算部501は、検出装置70から提供される操作者90の実空間における位置や動きに基づいて、仮想空間における協働ロボットモデル20Mと操作者90との相対位置を算出する。位置計算部501は、仮想空間における協働ロボットモデル20Mと操作者90との相対距離を算出する距離計算部としての機能も有する。協働ロボットモデル20M、ワークモデル10M、および周辺装置モデル11Mは、三次元モデル表示部502によって、仮想空間に設定した座標系上の所定の位置に配置されている。位置計算部501は、検出装置70から提供される操作者90の位置(実空間に設定された座標系上の位置)を、仮想空間に設定された座標系上の位置に変換し、それにより仮想空間内での協働ロボットモデル20Mと操作者90との相対位置を算出する。
【0015】
三次元モデル表示部502は、位置計算部501によって算出された、仮想空間内における操作者90と協働ロボットモデル20Mの相対位置に基づいて、協働ロボットモデル20M、ワークモデル10M、および周辺装置モデル11Mを仮想空間内に配置した画像データを生成する。三次元モデル表示部502は、生成された画像データをヘッドマウントディスプレイ80に送信し、画像データに基づく画像(ロボットシステムモデルが仮想空間に配置された画像)をヘッドマウントディスプレイ80の表示部83に表示させる。
【0016】
シミュレーション実行部502は、ロボットシステムモデルのシミュレーション動作を実行する。本明細書において、シミュレーション動作とは、動作プログラムや操作者による教示入力にしたがって、ロボットシステムモデルを模擬的に動作させることをいう。シミュレーション実行部502は、位置計算部501から、仮想空間内での操作者90と協働ロボットモデル20Mとの相対位置を取得し、協働した作業のシミュレーション動作に使用する。この相対位置を用いることで、シミュレーション動作中に操作者90が協働ロボットモデル20Mに近づき過ぎた場合に仮想空間内に警告を表示するといったことも可能になる。
【0017】
また、シミュレーション実行部502は、操作者90と協働ロボットモデル20Mとの相対位置を用いることで協働ロボットモデル20Mに次のような安全動作の少なくとも一つを与えても良い。
(M1)シミュレーション動作中に操作者90が協働ロボットモデル20Mに近づいた場合には協働ロボットモデル20Mの動作速度を低下させる。
(M2)シミュレーション動作中に操作者90が協働ロボットモデル20Mに接触した場合には、協働ロボットモデル20Mを停止させる。
(M3)シミュレーション動作中に操作者90が協働ロボットモデル20Mを押した場合には、協働ロボットモデル20Mを操作者90の動きに合わせて動作させる。
なお、上記のような動作は、検出装置70によって撮像された操作者90の動きを解析し、操作者90の手の動きを検出することによって実現することができる。
【0018】
動作経路情報表示部506は、動作プログラムから、ロボットモデル20Mの動作に関する情報である動作経路情報を取得する。動作経路情報は、協働ロボットモデル20Mの動作履歴を含んでいても良い。動作経路情報表示部506は、動作経路情報を画像として仮想空間(ヘッドマウントディスプレイ80の表示部83)に表示させる機能を有する。一例として、動作経路情報表示部506は、協働ロボットモデル20Mが次の動作を行う前(例えば、次の動作を行う直前)にその動作の動作経路情報を表示させる。これにより、操作者90は、協働ロボットモデル20Mが次にとる行動を知ることができ、次に行うべき作業を認識することができる。
【0019】
警告報知部507は、仮想空間内での操作者90と協働ロボットモデル20Mとの相対距離に基づいて、操作者90に対して、協働ロボットモデル20Mに近づき過ぎていることを警告する。例えば、仮想区間内で協働ロボットモデル20Mと操作者90との相対距離が所定値以下になった場合、警告報知部507は、ヘッドマウントディスプレイ80の表示部83に警告メッセージを表示させる。なお、このような警告は、警告音によってなされても良い。この場合、警告報知部507は、ヘッドマウントディスプレイ80またはシミュレーション装置50に設けられたスピーカより警告音を発しても良い。
【0020】
ヘッドマウントディスプレイ80は、三次元モデル表示部502から提供される画像データを処理して表示部83に表示させる画像処理を行う画像処理部81と、操作者90の両眼に対応して設けられた表示部83とを有する。一例として、画像処理部81は、両眼視差画像を生成して表示部83に表示する。これにより、操作者90はロボットシステムモデルを疑似立体物として認識することができる。
【0021】
図3は、本実施形態に係るシミュレーション動作のフローチャートである。
図3のシミュレーション動作は、シミュレーション装置50のCPUが、シミュレーション装置50内の記憶装置に記憶されたシミュレーションプログラムを実行することによって実現される。なお、シミュレーションプログラムは、コンピュータにより読み取り可能な各種記憶媒体(ROM、RAM、フラッシュメモリ、HDD、CD−ROM、DVD−ROM等)に格納することができる。
図3のシミュレーション動作は、一例として、予め準備された協働ロボットの暫定的な動作プログラムを
図1のロボットシミュレーションシステム100において動作させることで、動作プログラムや協働的作業における改善点を見つけ出す目的で実行される。シミュレーション動作中においては、協働ロボットモデル20Mは状況に応じて上述の(M1)〜(M3)の安全動作をするように設定されても良い。
【0022】
シミュレーション装置50が操作されシミュレーションプログラムが起動されると、はじめに、三次元モデル表示部502によって、ロボットモデル20M、ワークモデル10M,および周辺装置モデル11Mが仮想空間(ヘッドマウントディスプレイ80の表示部83)に表示される(ステップS1)。ここでは、
図1の破線枠線内に示されたような画像が、ヘッドマウントディスプレイ80の表示部83に表示される。
【0023】
次に、検出装置70によって、操作者90の位置や動きを検出する動作が開始される(ステップS2)。検出装置70によって検出される操作者90の位置や動きは、シミュレーション装置50に提供される。次に、シミュレーション実行部503は、検出装置70によって検出された操作者90の位置や動きを用いて、シミュレーション動作を開始させる(ステップS3)。シュミュレーション動作においては、協働ロボットモデル20Mは、動作プログラムにしたがって動作する。また、操作者90は、協働的作業における人の作業を模擬的に遂行する。ここでは、協働的作業の一例として、協働ロボットモデル20Mがワークモデル10Mを搬送して人に渡す動作を行い、操作者90は協働ロボットモデル20Mからワークモデル10Mを受け取る動作を行うものとする。
図4は、シミュレーション動作が開始された際の仮想空間内でのロボットシステムモデルの表示状態を示している。
図4に示されるように、操作者90が装着するヘッドマウントディスプレイ80の表示部83には、ロボットモデル20Mがワークモデル10Mを把持して搬送し始めた状態の画像が表示されている。操作者90は、作業手順にしたがって、ロボットモデル20Mからワークモデル10Mを受け取るような動きをする。
【0024】
シミュレーション動作の実行中、動作経路情報表示部506は、協働ロボットモデル20Mの動作経路情報を示す画像を、仮想空間における操作者90と協働ロボットモデル20Mの相対位置に基づいて生成し、仮想空間に表示させる(ステップS4)。動作経路情報を表示することにより、操作者90に、協働ロボットモデル20Mが次にどのように動くかを把握させることができる。したがって、操作者90が作業手順を必ずしも把握していなくてもシミュレーションを適切に実行することができる。動作経路情報の表示の例について以下、説明する。
【0025】
図5は、動作経路情報として協働ロボットモデル20Mの次の動作方向および速度を示す画像101を表示する例を示している。画像101は、一例として、ワークモデル10Mをつかみ終えた協働ロボットモデル20Mが動き出す直前に表示される。これにより、操作者90は、協働ロボット20Mが次に動作する方向及び速度を瞬時に把握することができる。
【0026】
図6は、動作経路情報として協働ロボットモデル20Mの動作を示す動作軌跡102を表示する例を示している。動作軌跡102は、一例として、協働ロボットモデル20Mが動き出す直前或いは移動中に表示される。これにより、操作者90は、協働ロボット20Mが動作し始める前に軌跡全体を把握することができる。
【0027】
図7は、動作経路情報として協働ロボットモデル20Mの動作プログラム(教示点)をグラフィカルに示す画像103を表示する例を示している。なお、画像103における、P1〜P4は、教示点を表し、教示点P1〜P4間を結ぶ直線が経路を表している。画像103は、一例として、協働ロボットモデル20Mが動き出す直前或いは移動中に表示される。これにより、操作者90は、協働ロボット20Mが動作し始める前に経路全体を把握することができる。
【0028】
図8は、動作経路情報として協働ロボットモデル20Mの次の動作を表すプレビュー画像104を表示する例を示している。プレビュー画像104は、協働ロボットモデル20Mの次の動作位置に配置された、協働ロボットモデル20Mの擬似的な画像である。プレビュー画像104は、一例として、ワークモデル10Mをつかみ終えた協働ロボットモデル20Mが動き出す直前に表示される。これにより、操作者90は、協働ロボット20Mが次にとる動作を的確に認識することができる。なお、プレビュー画像として、ロボットモデル20Mが次の位置まで動く動画を表示しても良い。
【0029】
図3の説明に戻り、シミュレーション動作中に操作者90がロボットモデル20Mに近づき過ぎた場合に(すなわち、仮想空間内でのロボットモデル20Mと操作者90との相対距離が所定値以下となった場合に)、警告報知部507は警告を表示する(ステップS5)。
図9は、警告情報の表示例を示している。
図9の例では、ロボットシステムモデルの画像と共に警告メッセージ106が、ヘッドマウントディスプレイ80の表示部83に表示されている。シミュレーション動作においてこのような警告を表示することで、シミュレーション実行中の操作者90と協働ロボットモデル20Mとの接触や接近を回避することができる。
【0030】
なお、シミュレーション動作中には仮想空間内での操作者90の位置が把握されているので、シミュレーション実行部503は、例えば、協働ロボットモデル20Mがワークモデル10Mを目的位置まで搬送させた際に、操作者90がワークモデル10Mを受け取れる位置にいるか否かを確認するような処理をシミュレーション動作において行っても良い。或いは、協働的作業において協働ロボットモデル20Mが操作者90からワークモデル10Mを受け取る動作が含まれる場合には、シミュレーション実行部503は、協働ロボットモデル20Mがワークモデル10Mを受け取る動作を行う際に、操作者90がワークモデル10Mを受け渡すことができる位置に存在しているか否かを確認するようにしても良い。すなわち、シミュレーション実行部503は、操作者90の協働動作と、協働ロボットモデル20Mの動作プログラムに基づく動作とが無理なく協調するか否かの観点で確認する処理を実行しても良い。
【0031】
上述のようなシミュレーション動作により見出すことができた協働ロボットモデル20Mと作業者との接触の可能性等を、動作プログラムの変更や作業手順の見直しに利用することができる。例えば、協働ロボットモデル20Mと作業者との接触を回避するために動作プログラム(教示点)を変更したり、作業者の作業手順に協働ロボットが移動するのを待つための手順を加えたりすることが考えられる。或いは、周辺装置やワークの配置を見直すことも考えられる。シミュレーション実行部503は、操作者90と協働ロボットモデル20Mとの相対距離に基づいて、例えば操作者90と協働ロボットモデル20Mとの接触を回避するように、協働ロボットモデル20Mの動作経路を自動的変更する機能を有していても良い。なお、上述の動作経路情報の画像101(動作方向および速度)、動作軌跡102、画像103(動作プログラム)、プレビュー画像104のうちの二つ以上を同時に表示しても良い。
【0032】
以上、典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、上述の各実施形態に変更及び種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
【0033】
上述の実施形態では、操作者90の位置や動きを検出する検出装置として視覚センサが用いられる例を示したが、検出装置はこのような例に限られない。
図10は、操作者90の位置や動きを検出する検出装置として着衣型検出装置170が用いられる場合のロボットシミュレーションシステム100aの構成を表す構成図である。なお、
図10には、着衣型検出装置170の機能ブロック図も参考として括弧内に示している。ロボットシミュレーションシステム100aは、操作者90の位置や動きを検出する検出装置として着衣型検出装置170が用いられる点以外は、上述のロボットシミュレーションシステム100と同様の構成を有するものとする。着衣型検出装置170は、例えば加速度センサや角速度センサ等からなる動きセンサ75を身体の複数の部位(手先部、腕部、胴体部、脚部等)に対応する部分に設けた構成を有し、各動きセンサ75で捉えた操作者90の身体の各部位の動きや位置をシミュレーション装置50に無線通信により提供する。このような着衣型検出装置170を操作者90が装着した構成の場合にも、
図3で説明したシミュレーション動作を上述の実施形態の場合と同様に実行することができる。ロボットシミュレーションシステム100a場合にも、上述の実施形態と同様の効果を得ることができる。
【0034】
なお、着衣型検出装置170が、身体の複数の動作部位に対応する位置にそれぞれ配置された電動アクチュエータ76による駆動機構(例えば、身体の各関節部分の動きを補助する電動アクチェータによる駆動機構)を有する構成であっても良い。この場合には、操作者90の身体部位と協働ロボットモデル20Mとの仮想空間内での接触が検出された場合に、着衣型検出装置170は、その身体部位に対応する位置の電動アクチェータ76を作動させて操作者90の動きに負荷を生じさせることができる。例えば、操作者90が協働ロボットモデル20Mを手で押す動作をした場合に、着衣型検出装置170は、操作者90の手の部分の電動アクチュエータ76を作動させて操作者90の手の動きに負荷をかけても良い。一例として、シミュレーション実行部503は、操作者90の三次元仮想空間内での位置に基づいて、操作者90の身体部位と協働ロボットモデル20Mとの三次元仮想空間内での接触が検出された場合に着衣型検出装置170に検出信号を送っても良い。着衣型検出装置170は、シミュレーション実行部503からの検出信号に応じて、その身体部位に対応する位置の電動アクチェータ76を作動させて操作者90の動きに負荷を生じさせる。
【0035】
図1に示したロボットシミュレーションシステム100は、操作者90が協働ロボットモデル20Mに対する教示入力を行って動作プログラムを作成するようなシミュレーション動作にも用いることができる。例えば、操作者90が手にもって操作できような外部コントローラをシミュレーション装置50に接続する構成とする。この場合、操作者90は、ヘッドマウントディスプレイ80の表示部83に表示されている協働ロボットモデル20Mの画像をみながら、外部コントローラを手動で操作して教示入力を行う。
【0036】
また、本開示の課題を解決するために、以下のような各種の態様とその効果を提供することができる。なお、以下の態様の説明文における括弧内の番号は本開示の図面の参照符号に対応する。
【0037】
例えば、本開示の第一態様は、協働ロボットと人とが協働して行う協働的作業のシミュレーションのためのシミュレーション装置(50)であって、前記協働的作業を模擬的に遂行する操作者(90)に装着される頭部装着型表示装置(80)と、前記操作者(90)の実空間における位置を検出する検出部(70)と、協働ロボットモデル(20M)を含むロボットシステムモデルを三次元仮想空間に配置した画像を、前記頭部装着型表示装置(80)に表示させる三次元モデル表示部(502)と、前記協働的作業を実行する前記協働ロボットの動作プログラムと、前記検出部によって検出された前記操作者(90)の位置とに基づいて、前記三次元仮想空間で前記協働ロボットモデルを模擬的に動作させるシミュレーション実行部(503)と、を具備するシミュレーション装置(50)である。
【0038】
上記第一態様によれば、人と協働ロボットとが協働する作業を操作者が擬似的に体験しながらシミュレーションを実行することができるので、よりいっそう効率的に的確な動作プログラムや作業手順を作成することが可能となる。
【0039】
また、本開示の第二態様は、上記第一態様のシミュレーション装置(50)であって、前記協働ロボットモデル(20M)の動作を表す動作経路情報を前記動作プログラムから取得し、前記協働ロボットモデル(20M)が前記動作を開始する前に前記動作経路情報を前記三次元仮想空間に画像として表示させる動作経路情報表示部(506)を更に具備する。
【0040】
また、本開示の第三態様は、上記第二態様のシミュレーション装置(50)であって、前記動作経路情報は、前記協働ロボットモデルの動作方向および速度の少なくともいずれかを含む。
【0041】
また、本開示の第四態様は、上記第二態様または第三態様のシミュレーション装置(50)であって、前記動作経路情報は、前記協働ロボットモデルの動作軌跡を含む。
【0042】
また、本開示の第五態様は、上記第二態様から第四態様のいずれかのシミュレーション装置(50)であって、前記動作経路情報は、前記協働ロボットモデルの教示点を含む。
【0043】
また、本開示の第六態様は、上記第二態様から第五態様のいずれかのシミュレーション装置(50)であって、前記動作経路情報は、前記協働ロボットモデルの前記動作のプレビュー画像を含む。
【0044】
また、本開示の第七態様は、上記第一態様から第六態様のいずれかのシミュレーション装置(50)であって、前記検出部によって検出された前記操作者の位置に基づいて、前記協働ロボットモデルと前記操作者との前記三次元仮想空間内での距離を算出する距離計算部(501)と、前記距離計算部によって算出された前記距離が所定値以下となった場合に、警告の報知を行う警告報知部(507)と、を更に具備する。
【0045】
また、本開示の第八態様は、上記第一態様から第七態様のいずれかのシミュレーション装置(50)であって、前記検出部(70)は、前記操作者を視覚的に検出する視覚センサである。
【0046】
また、本開示の第九態様は、上記第一態様から第七態様のいずれかのシミュレーション装置(50)であって、前記検出部は、前記操作者の身体の運動を物理的に検出する着衣型検出装置(170)である。
【0047】
また、本開示の第十態様は、上記第九態様のシミュレーション装置(50)であって、 前記着衣型検出装置(170)は、身体の複数の動作部位に対応する位置にそれぞれ配置されたアクチュエータを備え、前記シミュレーション実行部503は、前記検出部(70)によって検出された前記操作者(90)の位置に基づいて前記操作者(90)の身体部位と前記協働ロボットモデルとの前記三次元仮想空間内での接触が検出された場合に前記着衣型検出装置(170)に検出信号を送り、前記着衣型検出装置(170)は、前記シミュレーション実行部(503)からの前記検出信号に応じて、前記身体部位に対応する位置の前記アクチェータを作動させて前記操作者の動きに負荷を生じさせる。