(57)【特許請求の範囲】
【請求項１】
シミュレータ制御装置を備えるロボットシミュレータであって、
前記シミュレータ制御装置は、
ロボットへの動作指令群であり、前記ロボットが経由すべき複数の目標点を含む情報であるジョブ情報を取得するジョブ情報取得部と、
前記ロボットを含むロボットシステムの３次元空間における仮想的な３次元画像を前記動作指令ごとに生成する画像生成部と、
前記ジョブ情報に連動して前記３次元画像を連続的にアニメーション再生させるための情報である再生情報を生成する再生情報生成部と、
前記ジョブ情報、前記３次元画像および前記再生情報が埋め込まれた出力ファイルを汎用的に閲覧可能な、かつ、前記シミュレータ制御装置が接続されたネットワーク外の装置へ可搬可能な電子文書形式で生成して出力する出力部と
を備え、
前記出力部は、
前記出力ファイルが前記装置で閲覧される場合でも、該装置ごとでの任意の前記動作指令の選択が可能となり、かつ、該動作指令が任意に選択された場合に、前記再生情報に基づいて当該動作指令に対応する前記目標点より一つ手前の前記目標点を起点として前記３次元画像がアニメーション再生されるように前記出力ファイルを生成することを特徴とするロボットシミュレータ。
【請求項２】
前記出力部は、
前記出力ファイルを前記装置を含む各装置の表示装置へ表示させた場合に、該表示装置へ前記３次元画像とともに前記ジョブ情報の内容が表示される出力レイアウトで前記出力ファイルを生成すること
を特徴とする請求項１に記載のロボットシミュレータ。
【請求項３】
前記出力部は、
前記出力ファイルを前記表示装置へ表示させた場合に、前記ジョブ情報の内容が前記動作指令ごとに任意に選択可能となるように前記出力ファイルを生成すること
を特徴とする請求項２に記載のロボットシミュレータ。
【請求項４】
前記出力部は、
前記動作指令が任意に選択された場合に、前記３次元画像のロボットが該動作指令を実行した状態に前記３次元画像が更新されるように前記出力ファイルを生成すること
を特徴とする請求項３に記載のロボットシミュレータ。
【請求項５】
前記出力部は、
前記動作指令が任意に選択された場合に、該動作指令を実行した状態に前記３次元画像を更新し、前記再生情報に基づいて前記３次元画像がアニメーション再生されるように前記出力ファイルを生成すること
を特徴とする請求項３に記載のロボットシミュレータ。
【請求項６】
前記出力部は、
前記出力ファイルを前記表示装置へ表示させた場合に、前記３次元空間における視点変更に対応付けられた所定の操作を受け付けたならば、該操作に基づいた視点変更が可能となるように前記出力ファイルを生成すること
を特徴とする請求項２〜５のいずれか一つに記載のロボットシミュレータ。
【請求項７】
前記出力部は、
前記３次元空間における視点変更を受け付け可能な操作部品を配置した出力レイアウトで前記出力ファイルを生成すること
を特徴とする請求項６に記載のロボットシミュレータ。
【請求項８】
前記出力部は、
前記出力ファイルを前記表示装置へ表示させた場合に、前記３次元空間における縮尺変更に対応付けられた所定の操作を受け付けたならば、該操作に基づいた縮尺変更が可能となるように前記出力ファイルを生成すること
を特徴とする請求項２〜７のいずれか一つに記載のロボットシミュレータ。
【請求項９】
前記出力ファイルは、ＰＤＦファイルであること
を特徴とする請求項１〜８のいずれか一つに記載のロボットシミュレータ。
【請求項１０】
前記出力ファイルは、前記ＰＤＦファイルの一部として前記３次元画像に関する情報を含むこと
を特徴とする請求項９に記載のロボットシミュレータ。
【請求項１１】
シミュレータ制御装置を備えるロボットシミュレータのファイル生成方法であって、
ロボットへの動作指令群であり、前記ロボットが経由すべき複数の目標点を含む情報であるジョブ情報を取得することと、
前記ロボットを含むロボットシステムの３次元空間における仮想的な３次元画像を前記動作指令ごとに生成することと、
前記ジョブ情報に連動して前記３次元画像を連続的にアニメーション再生させるための情報である再生情報を生成することと、
前記ジョブ情報、前記３次元画像および前記再生情報が埋め込まれた出力ファイルを汎用的に閲覧可能な、かつ、前記シミュレータ制御装置が接続されたネットワーク外の装置へ可搬可能な電子文書形式で生成して出力することと
を含み、
前記出力することは、
前記出力ファイルが前記装置で閲覧される場合でも、該装置ごとでの任意の前記動作指令の選択が可能となり、かつ、該動作指令が任意に選択された場合に、前記再生情報に基づいて当該動作指令に対応する前記目標点より一つ手前の前記目標点を起点として前記３次元画像がアニメーション再生されるように前記出力ファイルを生成することを特徴とするロボットシミュレータのファイル生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ロボットシミュレータおよびロボットシミュレータのファイル生成方法に関する。
【背景技術】
【０００２】
従来、３次元ＣＡＤ（Computer  Aided  Design）データ等に基づいて表示装置上にロボットシステムの３次元モデル画像をグラフィック表示し、かかる３次元モデル画像を操作することでロボットシステムの動作をシミュレート演算するロボットシミュレータおよびティーチングシステムが種々提案されている（たとえば、特許文献１参照）。
【０００３】
たとえば、特許文献１に開示の「制御シミュレーションシステム」は、ロボットおよび各種機器の動作をシミュレートする動画を作成してアニメーション再生するものである。
【０００４】
このようなシステムを用いることによって、オペレータは、ロボットを実際に動作させることなく、ロボットによる作業の所要時間やロボットが周辺へ干渉しないかといった検証を行うことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１００３１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術には、シミュレーション結果を容易に確認したり、配布したりするという点で更なる改善の余地がある。
【０００７】
具体的には、従来技術では、シミュレーション結果を確認するだけでもシミュレータやティーチングシステムそのものが必要であった。このため、作成したシミュレーション結果を確認してもらったり、配布したりすることができる相手が限定されてしまっていた。
【０００８】
実施形態の一態様は、上記に鑑みてなされたものであって、シミュレーション結果を容易に確認したり、配布したりすることができるロボットシミュレータおよびロボットシミュレータのファイル生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
実施形態の一態様に係るロボットシミュレータは、シミュレータ制御装置を備えるロボットシミュレータであって、前記シミュレータ制御装置は、ジョブ情報取得部と、画像生成部と、再生情報生成部と、出力部とを備える。前記ジョブ情報取得部は、ロボットへの動作指令群であり、前記ロボットが経由すべき複数の目標点を含む情報であるジョブ情報を取得する。前記画像生成部は、前記ロボットを含むロボットシステムの３次元空間における仮想的な３次元画像を前記動作指令ごとに生成する。前記再生情報生成部は、前記ジョブ情報に連動して前記３次元画像を連続的にアニメーション再生させるための情報である再生情報を生成する。前記出力部は、前記ジョブ情報、前記３次元画像および前記再生情報が埋め込まれた出力ファイルを汎用的に閲覧可能な、かつ、前記シミュレータ制御装置が接続されたネットワーク外の装置へ可搬可能な電子文書形式で生成して出力する。また、前記出力部は、前記出力ファイルが前記装置で閲覧される場合でも、該装置ごとでの任意の前記動作指令の選択が可能となり、かつ、該動作指令が任意に選択された場合に、前記再生情報に基づいて当該動作指令に対応する前記目標点より一つ手前の前記目標点を起点として前記３次元画像がアニメーション再生されるように前記出力ファイルを生成する。
【発明の効果】
【００１０】
実施形態の一態様によれば、シミュレーション結果を容易に確認したり、配布したりすることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施形態に係るロボットシミュレータを含むロボットシステムの全体構成を示す模式図である。
【図２】図２は、実施形態に係るロボットシミュレータの構成を示すブロック図である。
【図３】図３は、表示部へ表示される表示内容の一例を示す模式図である。
【図４】図４は、汎用電子文書の出力レイアウトの一例を示す図である。
【図５Ａ】図５Ａは、汎用電子文書の具体例を示す図（その１）である。
【図５Ｂ】図５Ｂは、汎用電子文書の具体例を示す図（その２）である。
【図５Ｃ】図５Ｃは、汎用電子文書の具体例を示す図（その３）である。
【図５Ｄ】図５Ｄは、汎用電子文書の具体例を示す図（その４）である。
【図５Ｅ】図５Ｅは、汎用電子文書の具体例を示す図（その５）である。
【図５Ｆ】図５Ｆは、汎用電子文書の具体例を示す図（その６）である。
【図５Ｇ】図５Ｇは、汎用電子文書の具体例を示す図（その７）である。
【図５Ｈ】図５Ｈは、汎用電子文書上での操作の一例を示す図である。
【図５Ｉ】図５Ｉは、汎用電子文書の具体例を示す図（その８）である。
【図５Ｊ】図５Ｊは、汎用電子文書の具体例を示す図（その９）である。
【図５Ｋ】図５Ｋは、汎用電子文書の具体例を示す図（その１０）である。
【図６】図６は、ロボットシミュレータが実行する処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して、本願の開示するロボットシミュレータおよびロボットシミュレータのファイル生成方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１３】
また、以下では、ディスプレイ等の表示部に対し、ロボットの３次元モデルのグラフィック画像を出力するロボットシミュレータを例に挙げて説明を行う。なお、かかる３次元モデルのグラフィック画像については、以下、「仮想画像」と記載する場合がある。
【００１４】
図１は、実施形態に係るロボットシミュレータ１０を含むロボットシステム１の全体構成を示す模式図である。
【００１５】
図１に示すように、ロボットシステム１は、ロボットシミュレータ１０と、ロボット制御装置２０と、ロボット３０とを備える。また、ロボットシミュレータ１０は、シミュレータ制御装置１１と、表示部１２と、操作部１３と、ジョブ情報ＤＢ（データベース）１４とを備える。
【００１６】
シミュレータ制御装置１１は、ロボットシミュレータ１０全体を制御するコントローラであり、演算処理処置や記憶装置などを含んで構成される。また、シミュレータ制御装置１１は、表示部１２、操作部１３およびジョブ情報ＤＢ１４といったロボットシミュレータ１０を構成する各種装置と情報伝達可能に接続される。
【００１７】
また、シミュレータ制御装置１１は、操作部１３を介したオペレータの操作に基づいてその動作をシミュレート演算したロボット３０を含む仮想画像を表示部１２に対して出力する。
【００１８】
また、シミュレータ制御装置１１は、同じく操作部１３を介したオペレータの操作に基づいて仮想画像からロボット３０を動作させる動作指令群であるジョブプログラムを生成し、ジョブ情報ＤＢ１４へ登録する。
【００１９】
表示部１２は、いわゆるディスプレイ等の表示デバイスである。また、操作部１３は、マウス等のポインティングデバイスである。なお、操作部１３は、必ずしもハードウェア部品として構成される必要はなく、たとえば、タッチパネルディスプレイに表示されたタッチキーなどのソフトウェア部品であってもよい。
【００２０】
ジョブ情報ＤＢ１４は、前述のジョブプログラムや、かかるジョブプログラムに含まれる「教示点」等、ティーチングに関する情報であるジョブ情報が登録されるデータベースである。
【００２１】
ここで、「教示点」とは、ロボット３０を再生動作させる際に、これらの各関節や回転機構が経由するべき目標位置（目標点）となる情報であり、たとえば、ロボット３０の各軸を駆動させるサーボモータに設けられた各エンコーダのパルス値として記憶される。ロボット３０は、複数の教示点の情報に基づいて動作するため、ジョブ情報ＤＢ１４にはロボット３０の動き（ジョブ）ごとに複数の教示点が関連付けられて記憶されている。
【００２２】
換言すると、ロボット３０のジョブプログラムには、複数の教示点および各教示点間の補間動作指令やロボット３０の先端部に取り付けられたエンドエフェクタへの動作指令などの組合せ情報が含まれている。なお、ジョブ情報ＤＢ１４は、ロボット３０のジョブプログラムごとにそれに含まれる教示点の情報を記憶するようになっており、たとえばロボット３０を再生動作させる際には、かかるジョブプログラムに基づいてロボット３０が動作される。
【００２３】
ジョブ情報ＤＢ１４は、実際のロボット３０の動作を制御するコントローラであるロボット制御装置２０と情報伝達可能に接続されており、ロボット制御装置２０は、かかるジョブ情報ＤＢ１４に登録されたジョブプログラムに基づいてロボット３０の各種動作を制御する。
【００２４】
なお、図１では、ジョブ情報ＤＢ１４（ロボットシミュレータ１０）とロボット制御装置２０とを接続しているが、ロボットシミュレータ１０にて生成されたジョブプログラムをロボット制御装置２０内の所定の記憶部（図示略）に保存できるよう構成されていれば、ジョブ情報ＤＢ１４（ロボットシミュレータ１０）とロボット制御装置２０とは必ずしも接続されている必要はない。
【００２５】
たとえば、ロボットシミュレータ１０にて生成されたジョブプログラムを、ＵＳＢ（Universal  Serial  Bus）メモリ等の媒体にコピーした後、かかる媒体をロボット制御装置２０に接続して、所定の操作によりロボット制御装置２０内の所定の記憶部（図示略）に保存するようにしてもよい。
【００２６】
なお、図１では、説明を分かりやすくする観点から、ジョブ情報ＤＢ１４とシミュレータ制御装置１１とを別体で構成した例を示しているが、ジョブ情報ＤＢ１４をシミュレータ制御装置１１内部の記憶部に記憶させることとしてもよい。
【００２７】
ロボット３０は、基台部３１と、第１アーム３２と、第２アーム３３と、手首部３４と、エンドエフェクタ３５とを備える。基台部３１は、床面などに固定され、第１アーム３２の基端部を軸Ｓまわりに回転可能に（図中の矢印１０１参照）、かつ、軸Ｌまわりに回転可能に（図中の矢印１０２参照）支持する。
【００２８】
第１アーム３２は、基端部を上述のように基台部３１に支持されるとともに、その先端部において、第２アーム３３の基端部を軸Ｕまわりに回転可能に支持する（図中の矢印１０３参照）。
【００２９】
第２アーム３３は、基端部を上述のように第１アーム３２に支持されるとともに、その先端部において、手首部３４の基端部を軸Ｂまわりに回転可能に支持する（図中の矢印１０５参照）。また、第２アーム３３は、軸Ｒまわりに回転可能に設けられている（図中の矢印１０４参照）。
【００３０】
手首部３４は、基端部を上述のように第２アーム３３に支持されるとともに、その先端部において、エンドエフェクタ３５の基端部を軸Ｔまわりに回転可能に支持する（図中の矢印１０６参照）。
【００３１】
なお、本実施形態では、エンドエフェクタ３５が溶接トーチであり、ロボット３０は、かかる溶接トーチを用いて、載荷台４１へ載置された断面Ｔ字状のワークＷに対し溶接加工を施す溶接ロボットであるものとする。
【００３２】
また、ロボット３０の各関節には、サーボモータのような駆動源が搭載されており、これら駆動源は、ジョブ情報ＤＢ１４に登録されたジョブプログラムに基づくロボット制御装置２０からの制御によって駆動される。
【００３３】
次に、実施形態に係るロボットシミュレータ１０のブロック構成について、図２を用いて説明する。図２は、実施形態に係るロボットシミュレータ１０の構成を示すブロック図である。なお、図２では、ロボットシミュレータ１０の説明に必要な構成要素のみを示しており、一般的な構成要素についての記載を省略している。
【００３４】
また、図２を用いた説明では、主としてシミュレータ制御装置１１の内部構成について説明することとし、既に図１で示した表示部１２、操作部１３およびジョブ情報ＤＢ１４については説明を簡略化する場合がある。
【００３５】
図２に示すように、シミュレータ制御装置１１は、制御部１１１と、記憶部１１２とを備える。制御部１１１は、操作受付部１１１ａと、ジョブ生成部１１１ｂと、ジョブ情報取得部１１１ｃと、画像生成部１１１ｄと、再生情報生成部１１１ｅと、出力部１１１ｆとをさらに備える。記憶部１１２は、モデル情報１１２ａと、３次元画像１１２ｂと、再生情報１１２ｃとを記憶する。
【００３６】
操作受付部１１１ａは、操作部１３を介して入力されるオペレータの入力操作を受け付け、かかる入力操作がジョブ生成やジョブ編集に関するものであれば、受け付けた入力操作をジョブ生成部１１１ｂに対して通知する。
【００３７】
なお、ここに言うジョブ生成やジョブ編集に関する入力操作とは、一例として、表示部１２上に表示された「ジョブ生成」ボタンや「ジョブ編集」ボタンといった操作部品を取り扱う操作である。
【００３８】
また、操作受付部１１１ａは、受け付けた入力操作が「汎用電子文書」の出力に関するものであれば、受け付けた入力操作をジョブ情報取得部１１１ｃに対して通知する。ここで、「汎用電子文書」とは、汎用的に閲覧可能な電子文書形式のファイルのことである。汎用的に閲覧可能な電子文書形式としては、一例としてＰＤＦ（Portable  Document  Format）（登録商標）を挙げることができる。
【００３９】
本実施形態では、従来技術と異なり、ロボットシミュレータ１０のシミュレーション結果をかかる「汎用電子文書」にて出力可能にした。これにより、相手を限定することなくシミュレーション結果を確認してもらったり、配布したりすることが可能になる。
【００４０】
なお、前述の「汎用電子文書」の出力に関する入力操作とは、一例として、表示部１２上に表示された「汎用出力」ボタンといった操作部品をクリックする操作である。
【００４１】
ここで、実施形態に係るロボットシミュレータ１０において表示部１２へ表示される表示内容の一例について、図３を用いて説明しておく。図３は、表示部１２へ表示される表示内容の一例を示す模式図である。
【００４２】
なお、本図以降では、仮想画像として描画された各種装置については、名称ならびに符号に加えて、さらに末尾に「Ｖ」を付与するものとする。たとえば、ロボット３０が仮想画像として描画された場合、「ロボット３０Ｖ」として図示される。
【００４３】
図３に示すように、ロボット３０Ｖ、載荷台４１ＶおよびワークＷＶを含むロボットシステム１Ｖの仮想画像は、表示部１２の表示領域の一つである表示ウィンドウ１２０上に表示される。
【００４４】
具体的には、仮想画像は、表示ウィンドウ１２０上の仮想画像領域１２１に表示される。また、表示ウィンドウ１２０は、リボン１２２に表示された各種ボタン１２２ａ〜１２２ｄやダイアログボックス１２３などを含むＧＵＩ（Graphical  User  Interface）ウィジェットを有する。
【００４５】
ここで、たとえばボタン１２２ａは、上述の「ジョブ生成」ボタンに対応する。また、たとえばボタン１２２ｂおよび１２２ｃは、上述の「ジョブ編集」ボタンに対応する。また、たとえばボタン１２２ｄは、上述の「汎用出力」ボタンに対応する。
【００４６】
なお、仮想画像領域１２１の左下には直交座標系が表示されているが、これは仮想画像内の基準座標系であり、前述の３次元座標系に相当し、水平方向や垂直方向の基準となる。具体的には、基準座標系のＸ軸とＹ軸とで規定されるＸＹ平面と平行な方向が水平方向となり、基準座標系のＺ軸と平行な方向が垂直方向となる。
【００４７】
オペレータは、かかるＧＵＩウィジェットや仮想画像上の操作可能部品（たとえば、ロボット３０Ｖの各パーツ等）を操作することによって、ロボットシミュレータ１０に対する指示操作を行う。
【００４８】
ロボットシミュレータ１０は、オペレータの指示操作にしたがって、ロボット３０Ｖの各関節を駆動させたり、仮想画像をどの方向からみた状態で表示するかといった視点の変更や表示の拡大／縮小を行ったりすることができる。
【００４９】
また、仮想画像内の特定点にエンドエフェクタ３５の先端（本実施形態では溶接トーチ先端）が到達するようなロボット３０の各関節位置を逆キネマティクス演算により求めて、到達した状態のロボット３０Ｖを生成、表示することも可能である。
【００５０】
ロボットシミュレータ１０によるジョブ生成の手順の例としては、オペレータが「ジョブ生成」ボタンをクリックするとジョブ生成に必要な条件の入力をオペレータに促すダイアログボックス（不図示）が表示部１２に表示され、オペレータから入力された条件に応じてジョブプログラムを自動的に生成してジョブ情報ＤＢ１４に登録する、といったものが挙げられる。
【００５１】
他にも、オペレータの所定の操作でロボット３０Ｖの各軸を個別に動作させ、ロボット３０Ｖに所望の姿勢を取らせる毎に、その状態を教示点としてジョブ情報ＤＢ１４に登録するようにしてもよい。
【００５２】
さらに、オペレータの指示操作（たとえば「ジョブ編集」ボタンをクリックするといった）にしたがって、ジョブ情報ＤＢ１４に登録された教示点やジョブプログラムを読み出し、特定の教示点に到達した状態のロボット３０Ｖを表示したり、ジョブプログラムによるロボット３０の一連の動作を表示部１２上で再現したり、ジョブプログラムの内容を変更したりすることもできる。ジョブプログラムの内容は、たとえば図３に示すように、ダイアログボックス１２３中に「ジョブ内容」として表示することが可能である。
【００５３】
ただし、ロボットのオフラインティーチングシステムにおける、このような機能は公知のものであるので、本実施形態に係る部分以外の詳細な説明は省略する。
【００５４】
なお、上述の「ジョブ生成」ボタンなどは、リボン１２２上にではなく、たとえばダイアログボックス１２３上などに設けてもよい。
【００５５】
図２の説明に戻り、ジョブ生成部１１１ｂについて説明する。ジョブ生成部１１１ｂは、操作受付部１１１ａからジョブ生成やジョブ編集に関する入力操作を受け取った場合に、入力操作の内容を表示部１２へ表示された仮想画像へ反映しつつ、入力操作の内容に基づいてジョブプログラムを生成し、ジョブ情報ＤＢ１４へ登録する。
【００５６】
なお、仮想画像は、モデル情報１１２ａに基づいて描画される。モデル情報１１２ａは、ロボット３０やワークＷの種別ごとにあらかじめ定義された描画情報を含む情報である。生成したジョブプログラムについて、オペレータは「汎用電子文書」の出力に関する入力操作を行うことができる。具体的には前述の「汎用出力」ボタンをクリックする操作である。
【００５７】
ジョブ情報取得部１１１ｃは、操作受付部１１１ａから「汎用電子文書」の出力に関する入力操作を受け取った場合に、ジョブ情報ＤＢ１４に登録されたジョブプログラムを含む情報であるジョブ情報を取得する。
【００５８】
また、ジョブ情報取得部１１１ｃは、取得したジョブ情報を画像生成部１１１ｄへ渡す。なお、本実施形態では、ジョブ情報取得部１１１ｃは、ジョブ生成部１１１ｂによってジョブプログラム等が登録されたジョブ情報ＤＢ１４からジョブ情報を取得することとしているが、これに限らなくともよい。
【００５９】
たとえば、シミュレータ制御装置１１とは別体のコンピュータ等で生成されたジョブ情報を、通信ネットワークを介して取得することとしてもよいし、ＵＳＢメモリ等の媒体を経由させて取得することとしてもよい。
【００６０】
画像生成部１１１ｄは、ジョブ情報取得部１１１ｃから受け取ったジョブ情報およびモデル情報１１２ａに基づき、ロボット３０を含むロボットシステム１の３次元空間における仮想的な３次元画像を生成し、記憶部１１２へ３次元画像１１２ｂとして記憶させる。
【００６１】
なお、３次元画像１１２ｂは、少なくともジョブプログラムのジョブステップごと（動作指令ごとに相当）に生成される。また、画像生成部１１１ｄは、ジョブ情報取得部１１１ｃから受け取ったジョブ情報を再生情報生成部１１１ｅへ渡す。
【００６２】
再生情報生成部１１１ｅは、画像生成部１１１ｄから受け取ったジョブ情報および３次元画像１１２ｂに基づき、ジョブ情報に連動して３次元画像１１２ｂを連続的にアニメーション再生させるための情報を生成し、再生情報１１２ｃとして記憶部１１２へ記憶させる。
【００６３】
ここで、再生情報１１２ｃには、ジョブステップごとに３次元画像１１２ｂを対応付ける情報や、３次元画像１１２ｂの再生順序に関する情報、３次元画像１１２ｂ間の補間に関する情報、３次元画像１１２ｂを連続的にアニメーション再生させる際の１フレームごとの再生時間に関する情報等が含まれる。
【００６４】
なお、再生情報生成部１１１ｅは、再生時間を、ロボット３０が実際に動作する実動作時間に同期させて設定することが可能である。また、再生情報生成部１１１ｅは、画像生成部１１１ｄから受け取ったジョブ情報を出力部１１１ｆへ渡す。
【００６５】
出力部１１１ｆは、再生情報生成部１１１ｅから受け取ったジョブ情報、３次元画像１１２ｂおよび再生情報１１２ｃに基づき、これら情報が埋め込まれた汎用電子文書Ｇを出力ファイルとして生成し、出力する。
【００６６】
また、出力部１１１ｆは、汎用電子文書Ｇを生成する際にジョブプログラムや汎用電子文書Ｇに関する付加情報も埋め込むことができる。具体的な手順としては、オペレータが「汎用出力」ボタンをクリックすると付加情報の入力をオペレータに促すダイアログボックス（不図示）が表示部１２に表示され、出力部１１１ｆが汎用電子文書Ｇを生成する際に、オペレータから入力されたテキストや指定された静止画などの付加情報を埋め込む、といったものが挙げられる。
【００６７】
一例として、汎用電子文書Ｇが前述のＰＤＦファイルである場合、出力部１１１ｆは、ジョブ情報、３次元画像１１２ｂおよび再生情報１１２ｃをＪａｖａ（登録商標）のＡＰＩ（Application  Programming  Interface）を用いて埋め込むことが可能である。かかる場合、汎用電子文書Ｇは、ＰＤＦファイルの一部としてこれら情報を含むこととなる。
【００６８】
これにより、出力部１１１ｆから出力された汎用電子文書Ｇは、シミュレータ制御装置１１以外の装置、たとえばＰＤＦファイル閲覧用のアプリケーションソフトが予めインストールされた外部のパソコン２０１やパソコン２０２にて閲覧することが可能である。
【００６９】
また、汎用電子文書Ｇは、ジョブ情報、３次元画像１１２ｂおよび再生情報１１２ｃを含んでいるので、パソコン２０１やパソコン２０２にて３次元画像１１２ｂを連続的にアニメーション再生させることも可能である。
【００７０】
したがって、ロボットシミュレータ１０が導入されていない環境であっても、ロボットシミュレータ１０におけるシミュレーション結果を容易に確認したり、配布したりすることができる。これにより、たとえば営業担当者が、汎用電子文書ＧをＵＳＢメモリ等の媒体を用いて客先へ持参し、客先にて確認してもらいつつ営業活動を実施できるといった、従来技術においては成し得なかったメリットを得ることができる。
【００７１】
記憶部１１２は、ハードディスクドライブや不揮発性メモリといった記憶デバイスであり、モデル情報１１２ａ、３次元画像１１２ｂおよび再生情報１１２ｃを記憶する。なお、モデル情報１１２ａ、３次元画像１１２ｂおよび再生情報１１２ｃの内容については既に説明したため、ここでの記載を省略する。
【００７２】
また、図２を用いた説明では、シミュレータ制御装置１１が、あらかじめ登録されたモデル情報１１２ａに基づいてロボット３０Ｖ等の仮想画像を生成する例を示したが、シミュレータ制御装置１１と相互通信可能に接続された上位装置から画像生成に必要となる情報を逐次取得することとしてもよい。
【００７３】
次に、図４を用いて、具体的な汎用電子文書Ｇの出力レイアウトについて説明する。図４は、汎用電子文書Ｇの出力レイアウトの一例を示す図である。なお、本図から、後に示す図５Ｋ（図５Ｈを除く）までは、汎用電子文書Ｇが、たとえばロボットシミュレータ１０の表示部１２や、パソコン２０１および２０２のディスプレイといった表示装置に対して、予めロボットシミュレータ１０やパソコン２０１および２０２へインストールされた閲覧用のアプリケーションソフトによって表示されている場合を示している。
【００７４】
図４に示すように、汎用電子文書Ｇは、たとえば複数の出力エリアＧ１〜Ｇ８と、複数の操作部品Ｇ１０〜Ｇ１６とが配置された出力レイアウトで、出力部１１１ｆによって出力される。
【００７５】
たとえば、出力エリアＧ１は「ビューエリア」であり、ロボット３０Ｖ、ロボット制御装置２０Ｖ、載荷台４１Ｖ、ワークＷＶおよび上述の基準座標系（図３参照）等を含むロボットシステム１Ｖの３次元空間における仮想的な３次元画像が出力されるエリアである。
【００７６】
また、図４に示すように、たとえば出力エリアＧ２は、顧客名が出力される「顧客名エリア」であり、出力エリアＧ３は汎用電子文書Ｇのタイトル名称が出力される「タイトルエリア」である。
【００７７】
また、出力エリアＧ４は、汎用電子文書Ｇにおいて確認可能なジョブ名が出力される「ジョブ名エリア」であり、出力エリアＧ５は、ロボット３０Ｖの機種や汎用電子文書Ｇを出力した日付、オペレータの氏名などジョブプログラムや汎用電子文書Ｇに関する情報が出力される「インフォメーションエリア」である。出力エリアＧ２〜Ｇ５に出力されるこうした情報は、前述の付加情報に基づくものである。
【００７８】
また、たとえば出力エリアＧ６は、ジョブ情報の内容、具体的にはジョブプログラムのジョブステップ全体が実行順にソートされて出力される「指令エリア」である。なお、かかる「指令エリア」内のジョブステップは、マウス等のポインティングデバイスによって行単位で任意に選択可能である。
【００７９】
また、たとえば出力エリアＧ７は、出力エリアＧ６のジョブステップが任意に選択された場合に、選択されたジョブステップの詳細情報が出力される「詳細エリア」である。
【００８０】
また、たとえば出力エリアＧ８は、出力エリアＧ１のロボットシステム１Ｖをアニメーション再生させた場合の再生時間が出力される「サイクルタイムエリア」である。なお、再生時間は上述のようにロボット３０の実動作時間に同期させることが可能である。
【００８１】
操作部品Ｇ１０は、クリックするごとにロボットシステム１Ｖのアニメーション再生および停止を切り替える「Ｐｌａｙ（＆Ｐａｕｓｅ）」ボタンである。また、操作部品Ｇ１１は、アニメーション再生の起点を最初のジョブステップへ戻す「Ｒｅｓｅｔ」ボタンである。
【００８２】
また、操作部品Ｇ１２は、チェックされることによってロボットシステム１Ｖのアニメーション再生をリピート再生させる「Ｒｅｐｅａｔ」チェックボックスである。
【００８３】
また、操作部品Ｇ１３〜Ｇ１６は、出力エリアＧ１におけるロボットシステム１Ｖの視点を所定の方向および位置に変更させる各ボタンである。たとえば、操作部品Ｇ１３の「Ｄｅｆａｕｌｔ」ボタンは、クリックされることによって、ロボットシステム１Ｖの視点を斜視方向の所定位置に変更させる。
【００８４】
また、たとえば操作部品Ｇ１４の「Ｔｏｐ」ボタンは、クリックされることによって、同視点をいわゆる平面視に変更させる。また、たとえば操作部品Ｇ１５の「Ｓｉｄｅ」ボタンは、クリックされることによって、同視点をいわゆる側面視に変更させる。
【００８５】
また、たとえば操作部品Ｇ１６の「Ｆｒｏｎｔ」ボタンは、クリックされることによって、同視点をいわゆる正面視に変更させる。かかる視点変更の具体的なイメージについては、図５Ｅ、図５Ｆおよび図５Ｉ〜図５Ｋを用いて後ほど示すこととする。
【００８６】
これら出力エリアＧ１〜Ｇ８および操作部品Ｇ１０〜Ｇ１６の配置や出力内容の定義、機能の割り付けといった各種設定は、ロボットシミュレータ１０の表示部１２および操作部１３を用いて予め行うことが可能である。
【００８７】
次に、図５Ａ〜図５Ｋを用いて、汎用電子文書Ｇの実際的な具体例および操作例について説明する。図５Ａ〜図５Ｇ、および、図５Ｉ〜図５Ｋは、汎用電子文書Ｇの具体例を示す図（その１）〜（その１０）である。図５Ｈは、汎用電子文書Ｇ上での操作の一例を示す図である。
【００８８】
なお、図５Ａ〜図５Ｋ（図５Ｈを除く）では、便宜的に、図４に示した「顧客名エリア」には「○○株式会社様」と、「タイトルエリア」には「○○株式会社様向けロボット適用検討」と、「ジョブ名エリア」には「テストジョブ＃１」と、それぞれ出力させている。
【００８９】
また、同じく「インフォメーションエリア」には「ロボット機種：ＸＸＸ」と出力させている。また、同じく出力エリアＧ７の「詳細エリア」には、出力エリアＧ６の「指令エリア」で任意に選択されたジョブステップをそのまま出力させている。
【００９０】
また、出力エリアＧ８にはサイクルタイムを「Ｃｙｃｌｅ  Ｔｉｍｅ  （ｓｅｃ）：ＸＸ．ＸＸ」の形式で出力させている。かかるサイクルタイムは、出力エリアＧ１におけるアニメーション再生に応じて適宜更新されるものとする。
【００９１】
また、以下の説明では、図４の出力エリアＧ１で示したロボット３０Ｖの姿勢を「基本姿勢」と呼ぶ場合がある。かかる「基本姿勢」は、出力エリアＧ６のジョブプログラムが実行される前の初期状態姿勢に対応している。
【００９２】
まず、汎用電子文書Ｇでは、出力エリアＧ６における任意のジョブステップが選択された場合、出力エリアＧ１内のロボット３０Ｖは、かかるジョブステップが実際のロボット３０によって実行された状態となるように静止画にて更新される。
【００９３】
換言すると、出力エリアＧ１内のロボット３０Ｖは、再生情報１１２ｃに基づいて、選択されたジョブステップに応じた教示点への到達姿勢をとったロボット３０Ｖへと静止画から静止画へジャンプするように変更される。
【００９４】
たとえば、図５Ａには、出力エリアＧ６で破線５０１に挟まれたジョブステップがマウスカーソルＣによって選択された場合に、ロボット３０Ｖがかかるジョブステップが実行された状態の到達姿勢へ静止画にて更新された様子を示している。
【００９５】
図５Ａの場合、出力エリアＧ７（「詳細エリア」）に表示されているように「ＭＯＶＬ  Ｃ００００２  Ｖ＝１６６．７  ＰＬ＝０」というジョブステップが選択されている。本実施形態では、「ＭＯＶＬ」はロボット３０Ｖへの補間方法の指定を含む、補間動作指令である。具体的にはエンドエフェクタ３５の移動軌跡が直線を描くようロボット３０Ｖを動作させる指令である。「Ｃ００００２」はロボット３０Ｖが到達すべき教示点を示す。すなわち図５Ａはロボット３０Ｖが教示点Ｃ００００２へ到達した状態を示している。また「Ｖ＝１６６．７」はロボット３０Ｖが教示点Ｃ００００２へ移動する際の動作速度を指定している。「ＰＬ＝０」はロボット３０Ｖが教示点Ｃ００００２へ到達する際の経路生成に関するオプションパラメータを指定している。
【００９６】
また、図５Ｂには、破線５０２に挟まれたジョブステップがマウスカーソルＣによって選択された場合に、ロボット３０Ｖがかかるジョブステップが実行された状態の到達姿勢へ静止画にて更新された様子を示している。なお、図５Ａの場合と同様に、図５Ｂはロボット３０Ｖが教示点Ｃ００００３へ到達した状態を示している。
【００９７】
また、図５Ｃには、破線５０３に挟まれたジョブステップがマウスカーソルＣによって選択された場合に、ロボット３０Ｖがかかるジョブステップが実行された状態の到達姿勢へ静止画にて更新された様子を示している。具体的に図５Ｃでは、ロボット３０Ｖは、溶接トーチ先端が断面Ｔ字状のワークＷＶの裏側に差し掛かる到達姿勢をとっている。なお、図５Ｃはロボット３０Ｖが教示点Ｃ００００６へ到達した状態を示している。
【００９８】
そして、図５Ｄには、破線５０４に挟まれたジョブステップがマウスカーソルＣによって選択された場合に、ロボット３０Ｖがかかるジョブステップが実行された状態の到達姿勢へ静止画にて更新された様子を示している。また、図５Ｄはロボット３０Ｖが教示点Ｃ００００７へ到達した状態を示している。
【００９９】
また、操作部品Ｇ１１の「Ｒｅｓｅｔ」ボタンによって一旦リセットされた状態から操作部品Ｇ１０の「Ｐｌａｙ」ボタンがクリックされた場合、出力エリアＧ１では、ロボット３０Ｖが、再生情報１１２ｃに基づいて図４の基本姿勢から図５Ａ〜図５Ｄの到達姿勢を順に経由して基本姿勢に戻るアニメーション再生が行われる。かかる際、図４、図５Ａ〜図５Ｄにおける各姿勢間は補間され、ロボット３０Ｖが滑らかに動作するアニメーション再生が行われる。
【０１００】
また、操作部品Ｇ１２の「Ｒｅｐｅａｔ」チェックボックスがチェックされた場合、かかるアニメーション再生がリピート再生される。
【０１０１】
また、出力エリアＧ６の任意のジョブステップが選択された状態で「Ｐｌａｙ」ボタンがクリックされた場合、選択されたジョブステップを基準としたアニメーション再生が行われる。
【０１０２】
具体的には、まずジョブステップの選択によってロボット３０Ｖが、選択されたジョブステップが実行された状態の到達姿勢へ更新され、さらに「Ｐｌａｙ」ボタンのクリックによって以降のジョブプログラムを実行するアニメーション再生が行われる。かかるアニメーション再生は、たとえばこの基準であるジョブステップを起点としたものでもよいし、この基準であるジョブステップに対応する教示点より一つ手前の教示点を起点にしたものでもよい。
【０１０３】
このように、実施形態に係るロボットシミュレータ１０によれば、アニメーション再生によってジョブプログラム実行時のロボット３０Ｖの一連の動作の確認や検証を行うことができる。さらに選択されたジョブステップに応じた教示点における、エンドエフェクタ３５を含むロボット３０Ｖの位置や姿勢の確認や検証も行うことができる。
【０１０４】
ところで、図５Ｄには、ロボット３０Ｖの溶接トーチ先端がワークＷＶの裏側に隠れてしまっている様子を示している。
【０１０５】
このような場合、汎用電子文書Ｇでは、たとえば図５Ｅに示すように、マウスカーソルＣを出力エリアＧ１上でマウスボタンを押しながら弧状にドラッグさせることによって（図中の矢印５０５参照）、出力エリアＧ１の視点位置を任意に回転させ、変更することが可能である。
【０１０６】
これにより、汎用電子文書Ｇでは、ある視点では隠れてしまう部分を露わにさせることができ、閲覧者による確認をしやすくすることができる。
【０１０７】
また、このような出力エリアＧ１における視点の変更は、既に述べたように操作部品Ｇ１３〜Ｇ１６により、所定の方向および位置からのものにすることが可能である。
【０１０８】
具体的には図５Ｆに示すように、操作部品Ｇ１３の「Ｄｅｆａｕｌｔ」ボタンをマウスカーソルＣによりクリックした場合、出力エリアＧ１におけるロボットシステム１Ｖの視点は、図中の基準座標系のＸ軸正方向およびＹ軸負方向の中間方向、かつ所定位置からのものとなる。
【０１０９】
なお、かかる所定位置からの距離が適正でなく確認しづらいような場合、汎用電子文書Ｇでは、出力エリアＧ１上に対応付けられた所定の操作を行うことにより、縮尺変更を行うことができる。
【０１１０】
たとえば、図５Ｇには、図５Ｆの所定位置から縮尺変更を行ってロボット３０Ｖを出力エリアＧ１において拡大させた様子を示している。かかる縮尺変更は、たとえば、出力エリアＧ１上にマウスカーソルＣを置いたうえで、図５Ｈに示すように操作部１３であるマウスのマウスホイール１３ａを任意量回転させることによって行うことが可能である（図中の矢印５０６参照）。
【０１１１】
これにより、汎用電子文書Ｇでは、ある視点位置からの距離が適正でなく確認しづらいような場合でも縮尺変更で距離を適正化でき、閲覧者による確認をしやすくすることができる。
【０１１２】
視点変更へ説明を戻し、つづいて操作部品Ｇ１４の「Ｔｏｐ」ボタンを操作する場合について説明する。図５Ｉに示すように、操作部品Ｇ１４の「Ｔｏｐ」ボタンをマウスカーソルＣによりクリックした場合、出力エリアＧ１におけるロボットシステム１Ｖの視点は、図中のＺ軸正方向の所定位置からのものとなる。
【０１１３】
また、図５Ｊに示すように、操作部品Ｇ１５の「Ｓｉｄｅ」ボタンをマウスカーソルＣによりクリックした場合、同視点は、図中のＹ軸負方向の所定位置からのものとなる。また、図５Ｋに示すように、操作部品Ｇ１６の「Ｆｒｏｎｔ」ボタンをマウスカーソルＣによりクリックした場合、同視点は、図中のＸ軸正方向の所定位置からのものとなる。
【０１１４】
次に、ロボットシミュレータ１０が実行する処理の処理手順について説明する。図６は、ロボットシミュレータ１０が実行する処理の処理手順を示すフローチャートである。なお、かかる図６を用いた説明では、シミュレーション結果にあたるジョブ情報がジョブ生成部１１１ｂによって既に生成され、ジョブ情報ＤＢ１４へ登録済みであるものとする。
【０１１５】
図６に示すように、まずジョブ情報取得部１１１ｃが、ジョブ情報ＤＢ１４からジョブ情報を取得する（ステップＳ１０１）。
【０１１６】
そして、画像生成部１１１ｄが、ジョブ情報に含まれる動作指令ごとにロボットシステム１の３次元画像１１２ｂを生成する（ステップＳ１０２）。
【０１１７】
つづいて、再生情報生成部１１１ｅが、ジョブ情報に連動して３次元画像１１２ｂをアニメーション再生させる再生情報１１２ｃを生成する（ステップＳ１０３）。
【０１１８】
そして、出力部１１１ｆが、ジョブ情報、３次元画像１１２ｂおよび再生情報１１２ｃを埋め込んだ出力ファイル「汎用電子文書Ｇ」を汎用電子文書形式で生成して出力し（ステップＳ１０４）、処理を終了する。
【０１１９】
上述してきたように、実施形態に係るロボットシミュレータは、ジョブ情報取得部と、画像生成部と、再生情報生成部と、出力部とを備える。
【０１２０】
ジョブ情報取得部は、ロボットへの動作指令群であり、上記ロボットが経由すべき複数の目標点を含む情報であるジョブ情報を取得する。画像生成部は、上記ロボットを含むロボットシステムの３次元空間における仮想的な３次元画像を上記動作指令ごとに生成する。
【０１２１】
再生情報生成部は、上記ジョブ情報に連動して上記３次元画像を連続的にアニメーション再生させるための情報である再生情報を生成する。出力部は、上記ジョブ情報、上記３次元画像および上記再生情報が埋め込まれた出力ファイルを汎用的に閲覧可能な電子文書形式で生成して出力する。
【０１２２】
したがって、実施形態に係るロボットシミュレータによれば、シミュレーション結果を容易に確認したり、配布したりすることができる。
【０１２３】
なお、上述した実施形態では、シミュレーション結果をジョブ情報として取得し、これを３次元空間におけるロボットシステムの仮想的な３次元画像と連動させて汎用電子文書形式で出力可能なロボットシミュレータを例に挙げて説明した。
【０１２４】
かかるロボットシミュレータは、ジョブ情報を生成する機能を含めば、ティーチングシステムとして構成可能である。したがって、上述した実施形態に係るロボットシミュレータはジョブ生成部を含むので、ティーチングシステムに置換可能である。
【０１２５】
また、上述した実施形態では、１つのシミュレータ制御装置が、ジョブプログラムを生成する機能と汎用電子文書を出力する機能とをあわせて含む場合を例に挙げて説明したが、これら機能によってそれぞれ別体でシミュレータ制御装置を構成することとしてもよい。
【０１２６】
また、上述した実施形態では、図４を用いて汎用電子文書の出力レイアウトの一例を挙げたが、これはあくまで一例であり、汎用電子文書の用途や顧客の要望等に応じて適宜変更可能である。たとえば、図４には示さなかったエンドエフェクタに関する詳細な情報等を出力するようにしてもよい。
【０１２７】
具体的には、たとえば任意に編集可能な「フリーエリア」とも言うべき出力エリアを新たに設け、エンドエフェクタの重量に関する情報や、教示点へ到達させるべき先端の位置に関する動的な情報、エンドエフェクタの有する各軸に関する情報等をかかる「フリーエリア」に出力させるとよい。また、各エリアに出力する項目も、たとえば「顧客名エリア」に「自社名」を出力する等、適宜変更してよい。
【０１２８】
また、上述した実施形態では、ロボットが、ワークに対し溶接加工を施す溶接ロボットである場合を例に挙げたが、無論、ロボットの用途を限定するものではない。
【０１２９】
また、上述した実施形態では、ロボットが、６軸の単腕ロボットである例を示しているが、ロボットの軸数や腕の数を限定するものではない。
【０１３０】
また、上述した実施形態では、主として操作にマウスを用いる場合を例に挙げたが、これに限られるものではない。たとえば、いわゆるマルチタッチ対応のタッチパネルなどに汎用電子文書を表示し、かかるタッチパネルに対する閲覧者のマルチタッチ操作を受け付けることとしてもよい。この点は、ロボットシミュレータ自体の表示部および操作部についても同様である。
【０１３１】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１３２】
１、１Ｖ  ロボットシステム
１０    ロボットシミュレータ
１１    シミュレータ制御装置
１２    表示部
１３    操作部
１３ａ  マウスホイール
１４    ジョブ情報ＤＢ
２０、２０Ｖ  ロボット制御装置
３０、３０Ｖ  ロボット
３１    基台部
３２    第１アーム
３３    第２アーム
３４    手首部
３５    エンドエフェクタ
４１、４１Ｖ  載荷台
１１１    制御部
１１１ａ  操作受付部
１１１ｂ  ジョブ生成部
１１１ｃ  ジョブ情報取得部
１１１ｄ  画像生成部
１１１ｅ  再生情報生成部
１１１ｆ  出力部
１１２    記憶部
１１２ａ  モデル情報
１１２ｂ  ３次元画像
１１２ｃ  再生情報
１２０    表示ウィンドウ
１２１    仮想画像領域
１２２    リボン
１２２ａ〜１２２ｄ  ボタン
１２３    ダイアログボックス
２０１、２０２  パソコン
Ｂ      軸
Ｃ      マウスカーソル
Ｇ      汎用電子文書
Ｇ１〜Ｇ８  出力エリア
Ｇ１０〜Ｇ１６  操作部品
Ｌ      軸
Ｒ      軸
Ｓ      軸
Ｔ      軸
Ｕ      軸
Ｗ、ＷＶ  ワーク
【図１】
0006350037.tif 000002
【図２】
0006350037.tif 000003
【図３】
0006350037.tif 000004
【図４】
0006350037.tif 000005
【図５Ａ】
0006350037.tif 000006
【図５Ｂ】
0006350037.tif 000007
【図５Ｃ】
0006350037.tif 000008
【図５Ｄ】
0006350037.tif 000009
【図５Ｅ】
0006350037.tif 000010
【図５Ｆ】
0006350037.tif 000011
【図５Ｇ】
0006350037.tif 000012
【図５Ｈ】
0006350037.tif 000013
【図５Ｉ】
0006350037.tif 000014
【図５Ｊ】
0006350037.tif 000015
【図５Ｋ】
0006350037.tif 000016
【図６】
0006350037.tif 000017