(57)【要約】【課題】仮想空間においてロボットシステムの３次元モデルのレイアウトを簡単に構築可能とする技術が求められている。【解決手段】シミュレーション装置１０は、ロボットシステムの構成要素の３次元モデルである構成要素モデルを仮想空間に配置するモデル配置部２６と、仮想空間において基準点、基準軸、または基準面を設定する基準設定部２８と、仮想空間に配置された構成要素モデルの、基準点、基準軸、または基準面に関して対称な３次元モデルである対称構成要素モデルを生成する対称モデル生成部３０と、仮想空間において構成要素モデルおよび対称構成要素モデルを模擬的に動作させるシミュレーションを実行するシミュレート部３２とを備える。【選択図】図１
2018069367.tif 000002
【特許請求の範囲】
【請求項１】
ロボットシステムの動作のシミュレーションを行うシミュレーション装置であって、
前記ロボットシステムの構成要素の３次元モデルである構成要素モデルを仮想空間に配置するモデル配置部と、
前記仮想空間において基準点、基準軸、または基準面を設定する基準設定部と、
前記仮想空間に配置された前記構成要素モデルの、前記基準点、前記基準軸、または前記基準面に関して対称な３次元モデルである対称構成要素モデルを生成する対称モデル生成部と、
前記仮想空間において前記構成要素モデルおよび前記対称構成要素モデルを模擬的に動作させるシミュレーションを実行するシミュレート部と、を備える、シミュレーション装置。
【請求項２】
前記対称モデル生成部は、前記構成要素モデルを前記仮想空間で模擬的に動作させるのに要する仮想動作パラメータを複製し、生成した前記対称構成要素モデルに与える、請求項１に記載のシミュレーション装置。
【請求項３】
前記ロボットシステムは、ワークを把持するロボット、前記ワークを搬送する搬送装置、または前記ワークを加工する工作機械を有し、
前記構成要素モデルは、
前記ロボットの３次元モデルであるロボットモデル、
前記搬送装置の３次元モデルである搬送装置モデル、または
前記工作機械の３次元モデルである工作機械モデルを有し、
前記仮想動作パラメータは、
前記仮想空間において前記ロボットモデルを模擬的に動作させるときに基準となるロボット座標系の原点および軸方向、
前記仮想空間において前記搬送装置モデルを模擬的に動作させるときに基準となる搬送装置座標系の原点および軸方向、または、
前記仮想空間において前記工作機械モデルを模擬的に動作させるときに基準となる工作機械座標系の原点および軸方向に関するパラメータを有する、請求項２に記載のシミュレーション装置。
【請求項４】
前記対称モデル生成部は、
前記構成要素モデルの、前記基準点、前記基準軸、または前記基準面に関して対称な位置を求め、
生成した前記対称構成要素モデルを、前記構成要素モデルと前記基準点、前記基準軸、または前記基準面に関して対称となるように、前記位置に配置する、請求項１〜３のいずれか１項に記載のシミュレーション装置。
【請求項５】
前記モデル配置部は、複数の前記構成要素モデルを前記仮想空間に配置し、
前記シミュレーション装置は、前記複数の構成要素モデルのうちの少なくとも１つを選択する入力操作を受け付ける入力受付部をさらに備え、
前記対称モデル生成部は、選択された前記構成要素モデルの前記対称構成要素モデルを生成する、請求項１〜４のいずれか１項に記載のシミュレーション装置。
【請求項６】
前記仮想空間には、複数の座標系が配置され、
前記シミュレーション装置は、前記複数の座標系のうちの１つを選択する入力操作と、選択された前記座標系の原点、該座標系の軸、または該座標系によって規定される面を選択する入力操作と、を受け付ける第２入力受付部をさらに備え、
前記基準設定部は、選択された前記原点、前記軸、または前記面を、前記基準点、前記基準軸、または前記基準面として設定する、請求項１〜５のいずれか１項に記載のシミュレーション装置。
【請求項７】
ロボットシステムの動作のシミュレーションを行う方法であって、
前記ロボットシステムの構成要素の３次元モデルである構成要素モデルを仮想空間に配置することと、
前記仮想空間において基準点、基準軸、または基準面を設定することと、
前記仮想空間に配置された前記構成要素モデルの、前記基準点、前記基準軸、または前記基準面に関して対称な３次元モデルである対称構成要素モデルを生成することと、
前記仮想空間において前記構成要素モデルおよび前記対称構成要素モデルを模擬的に動作させるシミュレーションを実行することと、を備える、方法。
【請求項８】
ロボットシステムの動作のシミュレーションを行うために、コンピュータを、
前記ロボットシステムの構成要素の３次元モデルである構成要素モデルを仮想空間に配置するモデル配置部、
前記仮想空間において基準点、基準軸、または基準面を設定する基準設定部、
前記仮想空間に配置された前記構成要素モデルの、前記基準点、前記基準軸、または前記基準面に関して対称な３次元モデルである対称構成要素モデルを生成する対称モデル生成部、および
前記仮想空間において前記構成要素モデルおよび前記対称構成要素モデルを模擬的に動作させるシミュレーションを実行するシミュレート部
として機能させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステムの動作のシミュレーションを行うシミュレーション装置、シミュレーション方法、および、シミュレーションを行うためのコンピュータプログラムを記録する記録媒体に関する。
【背景技術】
【０００２】
仮想空間においてロボットシステムを動作させるシミュレーション技術が知られている（例えば、特許文献１および２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００４／０８５１２０号
【特許文献２】特開２０１４−１００７８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
仮想空間においてロボットシステムの３次元モデルのレイアウトを簡単に構築可能とする技術が求められている。
【課題を解決するための手段】
【０００５】
本発明の一態様において、ロボットシステムの動作のシミュレーションを行うシミュレーション装置は、ロボットシステムの構成要素の３次元モデルである構成要素モデルを仮想空間に配置するモデル配置部と、仮想空間において基準点、基準軸、または基準面を設定する基準設定部とを備える。
【０００６】
シミュレーション装置は、仮想空間に配置された構成要素モデルの、基準点、基準軸、または基準面に関して対称な３次元モデルである対称構成要素モデルを生成する対称モデル生成部と、仮想空間において構成要素モデルおよび対称構成要素モデルを模擬的に動作させるシミュレーションを実行するシミュレート部とを備える。
【０００７】
対称モデル生成部は、構成要素モデルを仮想空間で模擬的に動作させるのに要する仮想動作パラメータを複製し、生成した対称構成要素モデルに与えてもよい。ロボットシステムは、ワークを把持するロボット、ワークを搬送する搬送装置、またはワークを加工する工作機械を有してもよい。
【０００８】
構成要素モデルは、ロボットの３次元モデルであるロボットモデル、搬送装置の３次元モデルである搬送装置モデル、または工作機械の３次元モデルである工作機械モデルを有してもよい。
【０００９】
仮想動作パラメータは、仮想空間においてロボットモデルを模擬的に動作させるときに基準となるロボット座標系の原点および軸方向、仮想空間において搬送装置モデルを模擬的に動作させるときに基準となる搬送装置座標系の原点および軸方向、または、仮想空間において工作機械モデルを模擬的に動作させるときに基準となる工作機械座標系の原点および軸方向に関するパラメータを有してもよい。
【００１０】
対称モデル生成部は、構成要素モデルの、基準点、基準軸、または基準面に関して対称な位置を求め、生成した対称構成要素モデルを、構成要素モデルと基準点、基準軸、または基準面に関して対称となるように、位置に配置してもよい。
【００１１】
モデル配置部は、複数の構成要素モデルを仮想空間に配置してもよい。シミュレーション装置は、複数の構成要素モデルのうちの少なくとも１つを選択する入力操作を受け付ける入力受付部をさらに備えてもよい。対称モデル生成部は、選択された構成要素モデルの対称構成要素モデルを生成してもよい。
【００１２】
仮想空間には、複数の座標系が配置されてもよい。シミュレーション装置は、複数の座標系のうちの１つを選択する入力操作と、選択された座標系の原点、該座標系の軸、または該座標系によって規定される面を選択する入力操作とを受け付ける第２入力受付部をさらに備えてもよい。基準設定部は、選択された原点、軸、または面を、基準点、基準軸、または基準面として設定してもよい。
【００１３】
本発明の他の態様において、ロボットシステムの動作のシミュレーションを行う方法は、ロボットシステムの構成要素の３次元モデルである構成要素モデルを仮想空間に配置することと、仮想空間において基準点、基準軸、または基準面を設定することとを備える。
【００１４】
この方法は、仮想空間に配置された構成要素モデルの、基準点、基準軸、または基準面に関して対称な３次元モデルである対称構成要素モデルを生成することと、仮想空間において構成要素モデルおよび対称構成要素モデルを模擬的に動作させるシミュレーションを実行することとを備える。
【００１５】
本発明のさらに他の態様において、コンピュータ読み取り可能な記録媒体は、ロボットシステムの動作のシミュレーションを行うために、コンピュータを、ロボットシステムの構成要素の３次元モデルである構成要素モデルを仮想空間に配置するモデル配置部、および、仮想空間において基準点、基準軸、または基準面を設定する基準設定部として機能させるためのコンピュータプログラムを記録する。
【００１６】
上記コンピュータプログラムは、コンピュータを、さらに、仮想空間に配置された構成要素モデルの、基準点、基準軸、または基準面に関して対称な３次元モデルである対称構成要素モデルを生成する対称モデル生成部、および、仮想空間において構成要素モデルおよび対称構成要素モデルを模擬的に動作させるシミュレーションを実行するシミュレート部として機能させる。
【図面の簡単な説明】
【００１７】
【図１】一実施形態に係るシミュレーション装置のブロック図である。
【図２】図１に示すシミュレーション装置の動作フローの一例を示すフローチャートである。
【図３】図２中のステップＳ１で生成される仮想空間の画像である。
【図４】図２中のステップＳ３で生成される座標系の拡大画像である。
【図５】図２中のステップＳ４で生成される仮想空間の画像である。
【図６】図２中のステップＳ６で生成される仮想空間の画像である。
【図７】図２中のステップＳ７で生成される仮想空間の画像である。
【図８】図２中のステップＳ８で生成される仮想空間の画像である。
【図９】図２中のステップＳ９で生成される仮想空間の画像である。
【図１０】図２中のステップＳ１で生成される仮想空間の画像の他の例である。
【図１１】図２中のステップＳ４で生成される座標系の拡大画像の他の例である。
【図１２】図２中のステップＳ６で生成される仮想空間の画像の他の例である。
【図１３】図２中のステップＳ７で生成される仮想空間の画像の他の例である。
【図１４】図２中のステップＳ８で生成される仮想空間の画像の他の例である。
【図１５】図２中のステップＳ９で生成される仮想空間の画像の他の例である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。
【００１９】
図１を参照して、本発明の一実施形態に係るシミュレーション装置１０について説明する。シミュレーション装置１０は、ＣＰＵ１２、システムメモリ１４、ワークメモリ１６、入力／出力インターフェース（Ｉ／Ｏインターフェース）１８、データ入力部２０、および表示部２２を備える。
【００２０】
ＣＰＵ１２は、システムメモリ１４、ワークメモリ１６、およびＩ／Ｏインターフェース１８と、バス２４を介して通信可能に接続されており、これらの要素と通信しつつ、後述する各種のプロセスを実行する。
【００２１】
システムメモリ１４は、電気的に消去・記録可能な不揮発性メモリであり、例えば、ＥＥＰＲＯＭ（登録商標）等から構成される。システムメモリ１４は、後述するシミュレーションを実行するのに要する定数、変数、設定値、パラメータ、およびプログラム等を、シミュレーション装置１０の非動作時にも失われないように記録している。
【００２２】
ワークメモリ１６は、ＣＰＵ１２が各種のプロセスを実行するのに要するデータを一時的に保管する。また、ワークメモリ１６には、システムメモリ１４に記録されている定数、変数、設定値、パラメータ、プログラム等が適宜展開され、ＣＰＵ１２は、ワークメモリ１６に展開されたデータを、各種のプロセスを実行するために利用する。
【００２３】
Ｉ／Ｏインターフェース１８は、データ入力部２０と通信可能に接続され、ＣＰＵ１２からの指令の下、データ入力部２０からデータを受信する。また、Ｉ／Ｏインターフェース１８は、表示部２２と通信可能に接続され、ＣＰＵ１２からの指令の下、表示部２２に画像データを送信する。
【００２４】
Ｉ／Ｏインターフェース１８は、例えばイーサネットポートまたはＵＳＢポート等から構成され、表示部２２およびデータ入力部２０と有線で通信してもよい。または、Ｉ／Ｏインターフェース１８は、例えばＷｉ−Ｆｉまたは無線ＬＡＮを介して、表示部２２およびデータ入力部２０と無線で通信してもよい。
【００２５】
データ入力部２０は、例えばキーボード、タッチパネル、またはマウスから構成され、使用者は、データ入力部２０を操作することによって、データを入力できる。データ入力部２０は、入力されたデータを、Ｉ／Ｏインターフェース１８を介して、ＣＰＵ１２に送信する。
【００２６】
表示部２２は、例えば、ＣＲＴ、液晶ディスプレイ（ＬＣＤ）、または有機ＥＬディスプレイから構成され、Ｉ／Ｏインターフェース１８から送信された画像データを受信し、使用者が視認可能な画像として表示する。
【００２７】
シミュレーション装置１０は、ロボット、搬送装置、または工作機械等の構成要素を備えるロボットシステムの動作のシミュレーションを行う装置である。
【００２８】
次に、図２〜図９を参照して、一実施形態に係る、シミュレーション装置１０の機能について説明する。図２に示すフローは、例えば、使用者がデータ入力部２０を操作してシミュレーション開始指令を入力し、ＣＰＵ１２が、データ入力部２０からシミュレーション開始指令を受け付けたときに、開始する。
【００２９】
なお、ＣＰＵ１２は、図２に示すステップＳ１〜Ｓ１０を、コンピュータプログラムに従って実行してもよい。このコンピュータプログラムは、システムメモリ１４に予め記憶されてもよい。
【００３０】
この場合、システムメモリ１４は、該コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体として機能する。または、該コンピュータプログラムは、シミュレーション装置１０に外付けされる記録媒体（例えば、ハードディスク、ＥＥＰＲＯＭ等）に記録されてもよい。
【００３１】
ステップＳ１において、ＣＰＵ１２は、ロボットシステムの構成要素の３次元モデルである構成要素モデルを仮想空間に配置する。
【００３２】
具体的には、ＣＰＵ１２は、使用者の入力操作に応じて、図３に示すように、仮想空間１００において、ロボットモデル１０２と、搬送装置モデル１０４とを配置する。
【００３３】
ロボットモデル１０２は、ワークを把持して移動する垂直多関節ロボットの３次元モデルであって、ロボットベースモデル１０６、旋回胴モデル１０８、ロボットアームモデル１１０、手首部モデル１１２、およびロボットハンドモデル１１４を有する。
【００３４】
ロボットアームモデル１１０は、旋回胴モデル１０８に回動可能に接続される上腕部モデル１１６と、上腕部モデル１１６の先端に回動可能に接続される前腕部モデル１１８とを有する。
【００３５】
手首部モデル１１２は、前腕部モデル１１８の先端に設けられ、仮想空間１００内でロボットハンドモデル１１４を３軸周りに回動可能に支持する。ロボットハンドモデル１１４は、手首部モデル１１２に接続されるハンドベースモデル１２０と、ハンドベースモデル１２０に開閉可能に接続される複数の指部モデル１２２および１２４を有する。
【００３６】
一方、搬送装置モデル１０４は、ワークを搬送可能な搬送装置（例えば、ベルトコンベア）の３次元モデルであって、支持部モデル１２６および１２８と、該支持部モデル１２６および１２８に可動に設けられたるコンベアモデル１３０とを有する。
【００３７】
システムメモリ１４は、ロボットモデル１０２を含む、複数種類のロボットモデルと、搬送装置モデル１０４を含む、複数種類の搬送装置モデルとを、予め記憶する。一例として、ＣＰＵ１２は、システムメモリ１４に記憶された複数種類のロボットモデルおよび搬送装置モデルをリストの形態で表した画像データを生成し、表示部２２に表示させる。
【００３８】
使用者は、データ入力部２０を操作して、表示部２２に表示されたリストの中から、ロボットモデル１０２および搬送装置モデル１０４を選択する。データ入力部２０は、使用者が入力した入力データを、Ｉ／Ｏインターフェース１８を介して、ＣＰＵ１２に送信する。
【００３９】
ＣＰＵ１２は、受信した入力データに応じて、システムメモリ１４に記憶された複数種類のロボットモデルおよび搬送装置モデルの中から、ロボットモデル１０２および搬送装置モデル１０４を読み出し、仮想空間１００に配置する。そして、ＣＰＵ１２は、該仮想空間１００を画像データとして生成し、図３に示すような仮想空間１００の画像として、表示部２２に表示させる。
【００４０】
システムメモリ１４は、ロボットモデル１０２に関連付けて、種々の仮想ロボット動作パラメータを記憶する。この仮想ロボット動作パラメータは、後述するステップＳ１０でロボットモデル１０２を仮想空間１００内で模擬的に動作させるのに要するパラメータである。
【００４１】
仮想ロボット動作パラメータは、ロボット座標系１３２の原点および軸方向、ツール座標系１３４の原点および軸方向、最大駆動速度、および仮想可動範囲等のパラメータを含む。
【００４２】
ロボット座標系１３２は、仮想空間１００においてロボットモデル１０２を動作させるときに基準となる座標系であって、仮想ロボット動作パラメータに含まれる、該ロボット座標系１３２の原点および軸方向によって仮想空間１００内で定義される。
【００４３】
図３に示す実施形態においては、ロボット座標系１３２の原点は、ロボットベースモデル１０６の中心に配置され、旋回胴モデル１０８は、ロボット座標系１３２のｚ軸周りに回動される。
【００４４】
ツール座標系１３４は、仮想空間１００におけるロボットハンドモデル１１４の位置および姿勢を規定する座標系であって、仮想ロボット動作パラメータに含まれる、該ツール座標系１３４の原点および軸方向によって仮想空間１００内で定義される。
【００４５】
図３に示す実施形態においては、ツール座標系１３４は、その原点がロボットハンドモデル１１４の指部モデル１２２および１２４の間に位置し、且つ、そのｚ軸が指部モデル１２２および１２４の開閉方向に対して直交するように、設定されている。
【００４６】
ロボットモデル１０２は、ロボットハンドモデル１１４の位置および姿勢を、ツール座標系１３４によって規定される位置および姿勢に一致させるように、ロボット座標系１３２を基準として旋回胴モデル１０８、ロボットアームモデル１１０、および手首部モデル１１２を仮想空間１００内で動作させる。
【００４７】
最大駆動速度は、ロボットモデル１０２が、仮想空間１００内で旋回胴モデル１０８、ロボットアームモデル１１０、または手首部モデル１１２を駆動するときの最大速度（回動速度）を決定するパラメータである。
【００４８】
仮想可動範囲は、仮想空間１００内でロボットモデル１０２がロボットハンドモデル１１４を移動させることのできる可動範囲（すなわち、ツール座標系１３４を設定可能な範囲を示すパラメータである。
【００４９】
また、システムメモリ１４は、搬送装置モデル１０４に関連付けて、種々の仮想搬送装置動作パラメータを記憶する。この仮想搬送装置動作パラメータは、後述するステップＳ１０において搬送装置モデル１０４を仮想空間１００内で模擬的に動作させるのに要するパラメータである。
【００５０】
この仮想搬送装置動作パラメータは、搬送装置座標系１３６の原点および軸方向、コンベアモデル１３０の搬送速度等のパラメータを含む。
【００５１】
搬送装置座標系１３６は、仮想空間１００においてコンベアモデル１３０を模擬的に動作させるときに基準となる座標系であって、仮想搬送装置動作パラメータに含まれる、該搬送装置座標系１３６の原点および軸方向によって仮想空間１００内で定義される。
【００５２】
図３に示す実施形態においては、搬送装置座標系１３６の原点は、コンベアモデル１３０の一方の端部の中央に配置され、コンベアモデル１３０は、搬送装置座標系１３６のｙ軸方向に移動される。
【００５３】
搬送速度は、仮想空間１００においてコンベアモデル１３０によってワークモデルを搬送する速度（すなわち、コンベアモデル１３０の移動速度）を決定するパラメータである。
【００５４】
図３に示すように、ＣＰＵ１２は、ロボットモデル１０２および搬送装置モデル１０４とともに、ロボット座標系１３２、ツール座標系１３４、および搬送装置座標系１３６を仮想空間１００に配置する。また、仮想空間１００には、仮想空間１００の３次元座標を規定する主座標系１３８がさらに配置されている。
【００５５】
このように、本実施形態においては、ＣＰＵ１２は、ロボットモデル１０２および搬送装置モデル１０４といった構成要素モデルを仮想空間１００に配置するモデル配置部２６（図１）として機能する。
【００５６】
ステップＳ２において、データ入力部２０は、構成要素モデルを選択する入力操作を受け付ける。具体的には、使用者は、データ入力部２０（例えばマウス）を操作して、表示部２２に表示された複数の構成要素モデル（すなわち、ロボットモデル１０２および搬送装置モデル１０４）のうちの少なくとも１つを選択する。
【００５７】
以下、使用者がロボットモデル１０２を選択した場合について説明する。この場合、データ入力部２０は、使用者の入力操作を受け付けて、ロボットモデル１０２が選択されたことを表す入力データを、Ｉ／Ｏインターフェース１８を介して、ＣＰＵ１２に送信する。ＣＰＵ１２は、受信した入力データに応じて、ロボットモデル１０２を、複製対象として決定する。
【００５８】
このように、本実施形態においては、データ入力部２０は、仮想空間１００に配置された複数の構成要素モデル（ロボットモデル１０２および搬送装置モデル１０４）のうちの１つを選択する入力操作を受け付ける入力受付部として機能する。
【００５９】
なお、ＣＰＵ１２は、使用者の視認性を向上させるために、このステップＳ２で複製対象としたロボットモデル１０２を、表示部２２において強調表示（例えば、色の種類または色調を変更する、点滅表示する等）してもよい。
【００６０】
ステップＳ３において、データ入力部２０は、後述のステップＳ７で対称構成要素モデルを生成するときに基準とする座標系を選択する入力操作を受け付ける。具体的には、使用者は、データ入力部２０（例えばマウス）を操作して、図３中のロボット座標系１３２、ツール座標系１３４、搬送装置座標系１３６、および主座標系１３８のうちの１つを選択する。
【００６１】
以下、使用者が搬送装置座標系１３６を選択した場合について説明する。この場合、データ入力部２０は、使用者の入力操作を受け付けて、搬送装置座標系１３６が選択されたことを表す入力データを、Ｉ／Ｏインターフェース１８を介して、ＣＰＵ１２に送信する。ＣＰＵ１２は、受信した入力データに応じて、搬送装置座標系１３６を、基準座標系として決定する。
【００６２】
このように、本実施形態においては、データ入力部２０は、仮想空間１００に配置された複数の座標系（すなわち、ロボット座標系１３２、ツール座標系１３４、搬送装置座標系１３６、および主座標系１３８）のうちの１つを選択する入力操作を受け付ける第２入力受付部として機能する。
【００６３】
次いで、ＣＰＵ１２は、基準座標系として決定した搬送装置座標系１３６を、表示部２２において図４に示すように表示する。図４に示す搬送装置座標系１３６においては、ｘ軸、ｙ軸、およびｚ軸に加えて、原点Ｏと、ｘ−ｙ平面Ｐ１と、ｘ−ｚ平面Ｐ２と、ｙ−ｚ平面Ｐ３とが新たに表示されている。
【００６４】
ステップＳ４において、データ入力部２０は、ステップＳ３で選択された座標系の原点、該座標系の軸、または該座標系によって規定される面を選択する入力操作を受け付ける。
【００６５】
具体的には、使用者は、データ入力部２０（例えばマウス）を操作して、表示部２２にて図４に示すように表示された搬送装置座標系１３６の原点Ｏ、ｘ軸、ｙ軸、ｚ軸、ｘ−ｙ平面Ｐ１、ｘ−ｚ平面Ｐ２、およびｙ−ｚ平面Ｐ３のうちの１つを選択する。
【００６６】
以下、使用者が、搬送装置座標系１３６のｙ−ｚ平面Ｐ３を選択した場合について説明する。この場合、データ入力部２０は、使用者の入力操作を受け付けて、搬送装置座標系１３６のｙ−ｚ平面Ｐ３が選択されたことを表す入力データを、Ｉ／Ｏインターフェース１８を介して、ＣＰＵ１２に送信する。
【００６７】
このように、本実施形態においては、データ入力部２０は、ステップＳ３で選択された座標系（例えば、搬送装置座標系１３６またはロボット座標系１３２）の原点Ｏ、ｘ軸、ｙ軸、ｚ軸、ｘ−ｙ平面Ｐ１、ｘ−ｚ平面Ｐ２、またはｙ−ｚ平面Ｐ３を選択する入力操作を受け付ける第２入力受付部として機能する。
【００６８】
ステップＳ５において、ＣＰＵ１２は、基準点、基準軸、または基準面を設定する。具体的には、ＣＰＵ１２は、ステップＳ４でデータ入力部２０から受信した入力データに応じて、図４に示す搬送装置座標系１３６のｙ−ｚ平面Ｐ３を、基準面Ｐ３として設定する。
【００６９】
次いで、ＣＰＵ１２は、基準面Ｐ３を、表示部２２において図５に示すように表示する。図５においては、基準面Ｐ３が、使用者が視認し易くするために拡大表示されている。このように、本実施形態においては、ＣＰＵ１２は、仮想空間において基準点、基準軸、または基準面を設定する基準設定部２８（図１）として機能する。
【００７０】
ステップＳ６において、ＣＰＵ１２は、構成要素モデルの基準点、基準軸、または基準面に関して対称な位置を求める。一例として、ＣＰＵ１２は、ロボット座標系１３２の原点Ｏの、基準面Ｐ３に関して対称な対称原点Ｏ’（図６）の座標を求める。
【００７１】
例えば、図６に示すように、ロボット座標系１３２の原点Ｏの、搬送装置座標系１３６における座標が（−ｘ１，ｙ１，−ｚ１）であるとすると、対称原点Ｏ’の搬送装置座標系１３６における座標は、（ｘ１，ｙ１，−ｚ１）として求まる。
【００７２】
ＣＰＵ１２は、このようにして求めた対称原点Ｏ’の座標（ｘ１，ｙ１，−ｚ１）を、ロボットモデル１０２の基準面Ｐ３に関して対称な位置を表す座標として、ワークメモリ１６に記憶する。
【００７３】
ステップＳ７において、ＣＰＵ１２は、対称構成要素モデルを生成する。具体的には、ＣＰＵ１２は、ステップＳ２で複製対象として決定したロボットモデル１０２の、基準面Ｐ３に関して対称な３次元モデルである対称ロボットモデル１０２Ｍを、システムメモリ１４に記憶されたロボットモデル１０２の情報を用いて、生成する。
【００７４】
生成された対称ロボットモデル１０２Ｍを、図７に示す。この対称ロボットモデル１０２Ｍは、対称ロボットベースモデル１０６Ｍ、対称旋回胴モデル１０８Ｍ、対称ロボットアームモデル１１０Ｍ、対称手首部モデル１１２Ｍ、および対称ロボットハンドモデル１１４Ｍを有する。
【００７５】
対称ロボットベースモデル１０６Ｍ、対称旋回胴モデル１０８Ｍ、対称ロボットアームモデル１１０Ｍ、対称手首部モデル１１２Ｍ、および対称ロボットハンドモデル１１４Ｍは、それぞれ、ロボットベースモデル１０６、旋回胴モデル１０８、ロボットアームモデル１１０、手首部モデル１１２、およびロボットハンドモデル１１４の、基準面Ｐ３に関して対称な形状を有する３次元モデルである。
【００７６】
このように、本実施形態においては、ＣＰＵ１２は、対称構成要素モデルを生成する対称モデル生成部３０（図１）として機能する。
【００７７】
ステップＳ８において、ＣＰＵ１２は、対称構成要素モデルを、ステップＳ８で求めた位置に配置する。具体的には、ＣＰＵ１２は、ステップＳ７で生成した対称ロボットモデル１０２Ｍを、ステップＳ８で求めた対称原点Ｏ’に対して配置する。
【００７８】
このとき、対称ロボットモデル１０２Ｍに対する対称原点Ｏ’の位置が、ロボットモデル１０２に対するロボット座標系１３２の原点Ｏの位置と同じとなるように、対称ロボットモデル１０２Ｍは、対称原点Ｏ’に対して配置される。
【００７９】
より具体的には、本実施形態においては、ロボット座標系１３２の原点Ｏは、上述したように、ロボットベースモデル１０６の中心に配置されている。したがって、対称原点Ｏ’が対称ロボットベースモデル１０６Ｍの中心に配置されるように、対称ロボットモデル１０２Ｍは、対称原点Ｏ’に対して配置される。
【００８０】
その結果、図８に示すように、対称ロボットベースモデル１０６Ｍは、元のロボットモデル１０２と基準面Ｐ３に関して対称となる位置に、配置される。
【００８１】
ステップＳ９において、ＣＰＵ１２は、仮想動作パラメータを複製し、生成した対称構成要素モデルに与える。具体的には、ＣＰＵ１２は、システムメモリ１４に記憶されている、ロボットモデル１０２の仮想ロボット動作パラメータを読み出して複製することによって、第２仮想ロボット動作パラメータを作成する。
【００８２】
そして、ＣＰＵ１２は、第２仮想ロボット動作パラメータを、図８に示す対称ロボットモデル１０２Ｍに関連付けて、システムメモリ１４に記憶する。第２仮想ロボット動作パラメータは、後述するステップＳ１０において対称ロボットモデル１０２Ｍを仮想空間１００内で模擬的に動作させるのに要するパラメータである。
【００８３】
第２仮想ロボット動作パラメータは、第２ロボット座標系１３２’（図９）の原点および軸方向、第２ツール座標系１３４’（図９）の原点および軸方向、最大駆動速度、および仮想可動範囲等のパラメータを含む。
【００８４】
図９に示すように、第２ロボット座標系１３２’の原点は、ステップＳ６で求めた対称原点Ｏ’に配置され、第２ロボット座標系１３２’の軸方向は、ロボット座標系１３２と、基準面Ｐ３に関して対称となっている。また、第２ツール座標系１３４’の原点および軸方向は、ツール座標系１３４と、基準面Ｐ３に関して対称となっている。
【００８５】
第２仮想ロボット動作パラメータの最大駆動速度および仮想可動範囲等のパラメータは、ロボットモデル１０２に関連付けられている仮想ロボット動作パラメータと同じ値である。
【００８６】
こうして、新たに作成された第２仮想ロボット動作パラメータは、対称ロボットモデル１０２Ｍに付与され、ＣＰＵ１２は、後述のステップＳ１０において、該第２仮想ロボット動作パラメータを用いて、対称ロボットモデル１０２Ｍを仮想空間１００内で動作させる。
【００８７】
以上のステップＳ１〜Ｓ９を実行することにより、図９に示すように、ロボットモデル１０２、搬送装置モデル１０４、および対称ロボットモデル１０２Ｍを備えるロボットシステムモデル１５０が、仮想空間１００内で構築される。
【００８８】
ステップＳ１０において、ＣＰＵ１２は、ロボットシステムモデル１５０を模擬的に動作させるシミュレーションを実行する。具体的には、ＣＰＵ１２は、仮想ロボット動作パラメータ、第２仮想ロボット動作パラメータ、仮想搬送装置動作パラメータ、および作業プログラムに従って、ロボットモデル１０２、搬送装置モデル１０４、および対称ロボットモデル１０２Ｍを仮想空間１００内で模擬的に動作させる。
【００８９】
作業プログラムは、システムメモリ１４に予め記憶される。この作業プログラムは、例えば、搬送装置モデル１０４のコンベアモデル１３０によって搬送されるワークモデルＷ（図９）を、ロボットモデル１０２および対称ロボットモデル１０２Ｍによって把持する動作を仮想空間１００で実行させるプログラムである。
【００９０】
このように、本実施形態においては、ＣＰＵ１２は、ロボットモデル１０２、搬送装置モデル１０４、および対称ロボットモデル１０２Ｍを模擬的に動作させるシミュレーションを実行するシミュレート部３２（図１）として機能する。
【００９１】
次に、図２、図４、図１０〜図１５を参照して、他の実施形態に係る、シミュレーション装置１０の機能について説明する。
【００９２】
ステップＳ１において、ＣＰＵ１２は、使用者の入力操作に応じて、図１０に示すように、仮想空間１００において、ロボットモデル１０２と、工作機械モデル１６０とを配置する。
【００９３】
工作機械モデル１６０は、切削工具でワークを加工可能な工作機械の３次元モデルであって、ワークテーブルモデル１６２、主軸頭モデル１６４、切削工具モデル１６６、治具モデル１６８、およびワークモデル１７０を有する。
【００９４】
主軸頭モデル１６４は、ワークテーブルモデル１６２に対して接近および離反する方向へ移動可能となるように、ワークテーブルモデル１６２に設けられている。切削工具モデル１６６は、主軸頭モデル１６４の先端に回転可能に設けられている。
【００９５】
治具モデル１６８は、ワークテーブルモデル１６２に対して移動不能となるように、該ワークテーブルモデル１６２の上に設けられている。ワークモデル１７０は、治具モデル１６８に設置される。
【００９６】
システムメモリ１４は、ロボットモデル１０２を含む、複数種類のロボットモデルと、工作機械モデル１６０を含む、複数種類の工作機械モデルとを予め記憶する。ＣＰＵ１２は、システムメモリ１４に記憶された複数種類のロボットモデルおよび工作機械モデルをリストの形態で表した画像データを生成し、表示部２２に表示させる。
【００９７】
使用者は、データ入力部２０を操作して、表示部２２に表示されたリストの中から、ロボットモデル１０２および工作機械モデル１６０を選択する。データ入力部２０は、使用者が入力した入力データを、Ｉ／Ｏインターフェース１８を介して、ＣＰＵ１２に送信する。
【００９８】
ＣＰＵ１２は、受信した入力データに応じて、システムメモリ１４に記憶された複数種類のロボットモデルおよび工作機械モデルの中から、ロボットモデル１０２および工作機械モデル１６０を読み出し、仮想空間１００に配置する。そして、ＣＰＵ１２は、該仮想空間１００を画像データとして生成し、図１０に示すような仮想空間１００の画像として、表示部２２に表示させる。
【００９９】
システムメモリ１４は、工作機械モデル１６０に関連付けて、種々の仮想工作機械動作パラメータを記憶する。この仮想工作機械動作パラメータは、後述するステップＳ１０で工作機械モデル１６０を仮想空間１００内で模擬的に動作させるのに要するパラメータである。
【０１００】
この仮想工作機械動作パラメータは、工作機械座標系１７２の原点および軸方向、ワークテーブルモデル１６２の移動速度および仮想可動範囲、主軸頭モデル１６４の移動速度および仮想可動範囲、治具モデル１６８に対するワークモデル１７０の位置決め情報、ならびに、切削工具モデル１６６の回転数等といったパラメータを含む。
【０１０１】
工作機械座標系１７２は、仮想空間１００で工作機械モデル１６０を動作させるときに基準となる座標系であって、仮想工作機械動作パラメータに含まれる、工作機械座標系１７２の原点および軸方向によって仮想空間１００内で定義される。
【０１０２】
本実施形態においては、工作機械座標系１７２の原点は、ワークテーブルモデル１６２上の所定位置に配置され、ワークテーブルモデル１６２は、工作機械座標系１７２のｘ−ｙ平面に沿って移動される。
【０１０３】
ワークテーブルモデル１６２が移動されるとともに、その上に固設された治具モデル１６８、および該冶具モデル１４８に設置されたワークモデル１７０も、ワークテーブルモデル１６２と一体となって、ｘ−ｙ平面に沿って移動される。
【０１０４】
また、主軸頭モデル１６４は、工作機械座標系１７２のｚ軸に沿って移動される。また、切削工具は、ｚ軸と平行な回転軸線周りに回転される。
【０１０５】
ワークテーブルモデル１６２の移動速度は、仮想空間１００でワークテーブルモデル１６２を移動させる速度を決定するパラメータである。また、ワークテーブルモデル１６２の仮想可動範囲は、工作機械座標系１７２のｘ−ｙ平面におけるワークテーブルモデル１６２の移動範囲を表すパラメータである。
【０１０６】
主軸頭モデル１６４の移動速度は、仮想空間１００で主軸頭モデル１６４を移動させる速度を決定するパラメータである。また、主軸頭モデル１６４の仮想可動範囲は、工作機械座標系１７２のｚ軸に沿った主軸頭モデル１６４の移動範囲を表すパラメータである。
【０１０７】
治具モデル１６８に対するワークモデル１７０の位置決め情報は、工作機械座標系１７２における、治具モデル１６８に対するワークモデル１７０の位置座標、および、治具モデル１６８によるワークモデル１７０のクランプ方法（例えば、治具モデル１６８に設けられた開閉可能な２つの爪の間で挟持する等）に関するパラメータを含む。
【０１０８】
切削工具モデル１６６の回転数は、仮想空間１００において主軸頭モデル１６４が切削工具モデル１６６を回転させるときの回転数を決定するパラメータである。
【０１０９】
図１０に示すように、ＣＰＵ１２は、ロボットモデル１０２および工作機械モデル１６０とともに、ロボット座標系１３２、ツール座標系１３４、および工作機械座標系１７２を仮想空間１００に配置する。また、仮想空間１００には、図３の実施形態と同様に、主座標系１３８が配置されている。
【０１１０】
ステップＳ２において、データ入力部２０は、構成要素モデルを選択する入力操作を受け付ける。具体的には、使用者は、データ入力部２０（例えばマウス）を操作して、表示部２２に表示された複数の構成要素モデル（すなわち、ロボットモデル１０２および工作機械モデル１６０）のうちの少なくとも１つを選択する。
【０１１１】
以下、使用者が工作機械モデル１６０を選択した場合について説明する。この場合、データ入力部２０は、使用者の入力操作を受け付けて、工作機械モデル１６０が選択されたことを表す入力データを、Ｉ／Ｏインターフェース１８を介して、ＣＰＵ１２に送信する。ＣＰＵ１２は、受信した入力データに応じて、工作機械モデル１６０を、複製対象として決定する。
【０１１２】
なお、ＣＰＵ１２は、使用者の視認性を向上させるために、このステップＳ２で複製対象とした工作機械モデル１６０を、表示部２２において強調表示（例えば、色の種類または色調を変更する、点滅表示する等）してもよい。
【０１１３】
ステップＳ３において、データ入力部２０は、基準とする座標系を選択する入力操作を受け付ける。具体的には、使用者は、データ入力部２０（例えばマウス）を操作して、図１０中のロボット座標系１３２、ツール座標系１３４、工作機械座標系１７２、および主座標系１３８のうちの１つを選択する。
【０１１４】
以下、使用者がロボット座標系１３２を選択した場合について説明する。この場合、データ入力部２０は、使用者の入力操作を受け付けて、ロボット座標系１３２が選択されたことを表す入力データを、Ｉ／Ｏインターフェース１８を介して、ＣＰＵ１２に送信する。ＣＰＵ１２は、受信した入力データに応じて、ロボット座標系１３２を、基準座標系として決定する。
【０１１５】
次いで、ＣＰＵ１２は、基準座標系として決定したロボット座標系１３２を、表示部２２において図４に示すように表示する。図４に示すロボット座標系１３２においては、ロボット座標系１３２のｘ軸、ｙ軸、およびｚ軸に加えて、原点Ｏと、ｘ−ｙ平面Ｐ１と、ｘ−ｚ平面Ｐ２と、ｙ−ｚ平面Ｐ３とが表示されている。
【０１１６】
ステップＳ４において、データ入力部２０は、ステップＳ３で選択された座標系の原点、該座標系の軸、または該座標系によって規定される面を選択する入力操作を受け付ける。
【０１１７】
具体的には、使用者は、データ入力部２０（例えばマウス）を操作して、表示部２２にて図４に示すように表示されたロボット座標系１３２の原点Ｏ、ｘ軸、ｙ軸、ｚ軸、ｘ−ｙ平面Ｐ１、ｘ−ｚ平面Ｐ２、およびｙ−ｚ平面Ｐ３のうちの１つを選択する。
【０１１８】
以下、使用者が、ロボット座標系１３２のｙ−ｚ平面Ｐ３を選択した場合について説明する。この場合、データ入力部２０は、使用者の入力操作を受け付けて、ロボット座標系１３２のｙ−ｚ平面Ｐ３が選択されたことを表す入力データを、Ｉ／Ｏインターフェース１８を介して、ＣＰＵ１２に送信する。
【０１１９】
ステップＳ５において、ＣＰＵ１２は、基準点、基準軸、または基準面を設定する。具体的には、ＣＰＵ１２は、ステップＳ４でデータ入力部２０から受信した入力データに応じて、図４に示すロボット座標系１３２のｙ−ｚ平面Ｐ３を、基準面Ｐ３として設定する。
【０１２０】
次いで、ＣＰＵ１２は、基準面Ｐ３を、表示部２２において図１１に示すように表示する。図１１においては、基準面Ｐ３が、使用者が視認し易くするために拡大表示されている。
【０１２１】
ステップＳ６において、ＣＰＵ１２は、構成要素モデルの基準点、基準軸、または基準面に関して対称な位置を求める。一例として、ＣＰＵ１２は、工作機械座標系１７２の原点Ｏの、基準面Ｐ３に関して対称な対称原点Ｏ’（図１２）の座標を求める。
【０１２２】
例えば、図１２に示すように、工作機械座標系１７２の原点Ｏの、ロボット座標系１３２における座標が（−ｘ２，ｙ２，ｚ２）であるとすると、対称原点Ｏ’の座標は、（ｘ２，ｙ２，ｚ２）として求まる。
【０１２３】
ＣＰＵ１２は、このようにして求めた対称原点Ｏ’の座標（ｘ２，ｙ２，ｚ２）を、工作機械モデル１６０の基準面Ｐ３に関して対称な位置を表す座標として、ワークメモリ１６に記憶する。
【０１２４】
ステップＳ７において、ＣＰＵ１２は、対称構成要素モデルを生成する。具体的には、ＣＰＵ１２は、ステップＳ２で複製対象として決定した工作機械モデル１６０の、基準面Ｐ３に関して対称な３次元モデルである対称工作機械モデル１６０Ｍを、システムメモリ１４に記憶された工作機械モデル１６０の情報を用いて、生成する。
【０１２５】
生成された対称工作機械モデル１６０Ｍを、図１３に示す。この対称工作機械モデル１６０Ｍは、対称ワークテーブルモデル１６２Ｍ、対称主軸頭モデル１６４Ｍ、対称切削工具モデル１６６Ｍ、対称治具モデル１６８Ｍ、および対称ワークモデル１７０Ｍを有する。
【０１２６】
対称ワークテーブルモデル１６２Ｍ、対称主軸頭モデル１６４Ｍ、対称切削工具モデル１６６Ｍ、対称治具モデル１６８Ｍ、および対称ワークモデル１７０Ｍは、それぞれ、ワークテーブルモデル１６２、主軸頭モデル１６４、切削工具モデル１６６、治具モデル１６８、およびワークモデル１７０の、基準面Ｐ３に関して対称な形状を有する３次元モデルである。
【０１２７】
ステップＳ８において、ＣＰＵ１２は、対称構成要素モデルを、ステップＳ８で求めた位置に配置する。具体的には、ＣＰＵ１２は、ステップＳ７で生成した対称ロボットモデル１０２Ｍを、ステップＳ８で求めた対称原点Ｏ’に対して配置する。
【０１２８】
このとき、対称工作機械モデル１６０Ｍに対する対称原点Ｏ’の位置が、工作機械モデル１６０に対する工作機械座標系１７２の原点Ｏの位置と同じとなるように、対称工作機械モデル１６０Ｍは、対称原点Ｏ’に対して配置される。
【０１２９】
より具体的には、本実施形態においては、工作機械座標系１７２の原点は、上述したように、ワークテーブルモデル１６２上の所定位置に配置されている。したがって、対称原点Ｏ’が対称ワークテーブルモデル１６２Ｍ上の対応する所定位置に配置されるように、対称ロボットモデル１０２Ｍは、対称原点Ｏ’に対して配置される。
【０１３０】
その結果、図１４に示すように、対称工作機械モデル１６０Ｍは、元の工作機械モデル１６０と基準面Ｐ３に関して対称となる位置に、配置される。
【０１３１】
ステップＳ９において、ＣＰＵ１２は、仮想動作パラメータを複製し、生成した対称構成要素モデルに与える。具体的には、ＣＰＵ１２は、システムメモリ１４に記憶されている、工作機械モデル１６０の仮想工作機械動作パラメータを読み出して複製することによって、第２仮想工作機械動作パラメータを作成する。
【０１３２】
そして、ＣＰＵ１２は、第２仮想工作機械動作パラメータを、図１４に示す対称工作機械モデル１６０Ｍに関連付けて、システムメモリ１４に記憶する。第２仮想工作機械動作パラメータは、後述するステップＳ１０で対称工作機械モデル１６０Ｍを仮想空間１００内で模擬的に動作させるのに要するパラメータである。
【０１３３】
第２仮想工作機械動作パラメータは、第２工作機械座標系１７２’（図１５）の原点および軸方向、対称ワークテーブルモデル１６２Ｍの移動速度および仮想可動範囲、対称主軸頭モデル１６４Ｍの移動速度および仮想可動範囲、対称治具モデル１６８Ｍに対する対称ワークモデル１７０Ｍの位置決め情報（以下、第２位置決め情報とする）、ならびに、対称切削工具モデル１６６Ｍの回転数等といったパラメータを含む。
【０１３４】
図１５に示すように、第２工作機械座標系１７２’の原点は、ステップＳ６で求めた対称原点Ｏ’に配置され、第２工作機械座標系１７２’の軸方向は、工作機械座標系１７２と、基準面Ｐ３に関して対称となっている。
【０１３５】
第２仮想ロボット動作パラメータに含まれる、対称ワークテーブルモデル１６２Ｍの移動速度および仮想可動範囲、対称主軸頭モデル１６４Ｍの移動速度および仮想可動範囲、ならびに、対称切削工具モデル１６６Ｍの回転数等のパラメータは、工作機械モデル１６０に関連付けられている仮想工作機械動作パラメータと同じ値である。
【０１３６】
第２位置決め情報は、第２工作機械座標系１７２’における、対称治具モデル１６８Ｍに対する対称ワークモデル１７０Ｍの位置情報（以下、第２位置情報とする）、および、対称治具モデル１６８Ｍによる対称ワークモデル１７０Ｍのクランプ方法（以下、第２クランプ方法とする）に関するパラメータを含む。
【０１３７】
第２位置情報は、元の位置情報と、基準面Ｐ３に関して対称となるように複製される。また、第２クランプ方法は、元のクランプ方法と同じである。
【０１３８】
こうして、新たに作成された第２仮想工作機械動作パラメータは、対称工作機械モデル１６０Ｍに付与され、ＣＰＵ１２は、後述のステップＳ１０において、該第２仮想ロボット動作パラメータを用いて、対称工作機械モデル１６０Ｍを仮想空間１００内で動作させる。
【０１３９】
以上のステップＳ１〜Ｓ９を実行することにより、図１５に示すように、ロボットモデル１０２、工作機械モデル１６０、および対称工作機械モデル１６０Ｍを備えるロボットシステムモデル１８０が、仮想空間１００内に構築される。
【０１４０】
ステップＳ１０において、ＣＰＵ１２は、ロボットシステムモデル１８０を模擬的に動作させるシミュレーションを実行する。具体的には、ＣＰＵ１２は、仮想ロボット動作パラメータ、仮想工作機械動作パラメータ、第２仮想工作機械動作パラメータ、および作業プログラムに従って、ロボットモデル１０２、工作機械モデル１６０、および対称工作機械モデル１６０Ｍを仮想空間１００内で模擬的に動作させる。
【０１４１】
作業プログラムは、システムメモリ１４に予め記憶される。この作業プログラムは、例えば、工作機械モデル１６０に設置されたワークモデル１７０、および、対称工作機械モデル１６０Ｍに設置された対称ワークモデル１７０Ｍを、ロボットモデル１０２で交換する動作を仮想空間１００で実行させるプログラムである。
【０１４２】
以上に述べたように、上述の実施形態においては、ロボットシステムモデル１５０、１８０の構成要素モデル（例えば、ロボットモデル１０２または工作機械モデル１６０）を、所望の基準（点、軸、または面）に関して対称となるように、仮想空間１００内で容易に複製することができる。
【０１４３】
この構成によれば、シミュレーションのために仮想空間１００においてロボットシステムモデル１５０、１８０のレイアウトを構築する作業を、大幅に容易化することができる。
【０１４４】
また、上述の実施形態においては、ＣＰＵ１２は、対称構成要素モデル（例えば、対称ロボットモデル１０２Ｍまたは対称工作機械モデル１６０Ｍ）を生成したときに、元の構成要素モデル（例えば、ロボットモデル１０２または工作機械モデル１６０）の仮想動作パラメータを複製し、生成した対称構成要素モデルに与えている。
【０１４５】
これにより、ステップＳ１０において、生成した対称構成要素モデルを模擬的に動作させるシミュレーションを円滑且つ確実に実行できる。
【０１４６】
なお、上述のステップＳ８において、ＣＰＵ１２は、生成した対称構成要素モデル（例えば、対称ロボットモデル１０２Ｍまたは対称工作機械モデル１６０Ｍ）を、対称位置に配置したときに、元の構成要素モデル（例えば、ロボットモデル１０２または工作機械モデル１６０）を消去してもよい。
【０１４７】
この場合、元の構成要素モデル（例えば、ロボットモデル１０２または工作機械モデル１６０）を、対称構成要素モデル（例えば、対称ロボットモデル１０２Ｍまたは対称工作機械モデル１６０Ｍ）へ反転移動させたことになる。
【０１４８】
また、上述のステップＳ３において、使用者は、仮想空間１００内の如何なる座標系を選択してもよい。また、上述のステップＳ４において、使用者は、座標系（例えば、搬送装置座標系１３６またはロボット座標系１３２）の原点Ｏ、ｘ軸、ｙ軸、ｚ軸、ｘ−ｙ平面Ｐ１、ｘ−ｚ平面Ｐ２、およびｙ−ｚ平面Ｐ３のうちのいずれを基準として選択してもよい。
【０１４９】
例えば、使用者が、座標系のｚ軸を基準として選択した場合、ステップＳ７において、ＣＰＵ１２は、ステップＳ２で選択された構成要素モデル（例えば、ロボットモデル１０２または工作機械モデル１６０）の、ｚ軸周りに回転対称となる対称構成要素モデルを生成してもよい。
【０１５０】
この場合において、データ入力部２０は、元の構成要素モデルと、生成する対称構成要素モデルとの間のｚ軸周りの角度θを使用者から受け付けてもよい。この場合、ＣＰＵ１２は、元の構成要素モデルと、生成した対称構成要素モデルとの間のｚ軸周りの角度がθとなるように、対称構成要素モデルを生成する（すなわち、角度θで回転コピーする）。
【０１５１】
また、上述のステップＳ６において、ＣＰＵ１２は、例えば主座標系１３８に基づいて、構成要素モデルの基準点、基準軸、または基準面に関して対称な位置を求めてもよい。
【０１５２】
具体的には、図６に示す実施形態の場合、ロボット座標系１３２の原点Ｏの、主座標系１３８における座標が（ｘ３，ｙ３，ｚ３）であるとすると、ＣＰＵ１２は、対称原点Ｏ’の主座標系１３８における座標（ｘ４，ｙ４，ｚ４）を、原点Ｏの座標（ｘ３，ｙ３，ｚ３）および基準面Ｐ３から算出する。
【０１５３】
また、上述のステップＳ１において、ＣＰＵ１２は、ロボットモデル１０２、搬送装置モデル１０４、工作機械モデル１６０以外の、産業用ロボットシステムで用いられる如何なる構成要素（例えば、視覚センサ、ローダ等）の３次元モデルを仮想空間１００に配置してもよい。
【０１５４】
また、上述のシミュレーション装置１０から、システムメモリ１４、ワークメモリ１６、Ｉ／Ｏインターフェース１８、データ入力部２０、および表示部２２の少なくとも１つを省略してもよい。
【０１５５】
この場合、シミュレーション装置１０は、ＣＰＵ１２のみから構成され、省略されたシステムメモリ１４、ワークメモリ１６、Ｉ／Ｏインターフェース１８、データ入力部２０、および表示部２２の少なくとも１つは、シミュレーション装置１０に外付けされる外部機器として構成され得る。
【０１５６】
以上、発明の実施形態を通じて本発明を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。また、本発明の実施形態の中で説明されている特徴を組み合わせた形態も本発明の技術的範囲に含まれ得るが、これら特徴の組み合わせの全てが、発明の解決手段に必須であるとは限らない。さらに、上述の実施形態に、多様な変更または改良を加えることが可能であることも当業者に明らかである。
【０１５７】
また、特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、工程、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」、「次いで」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１５８】
１０    シミュレーション装置
１２    ＣＰＵ
２６    モデル配置部
２８    基準設定部
３０    対称モデル生成部
３２    シミュレート部
１００    仮想空間
１０２，１０２Ｍ    ロボットモデル
１０４    搬送装置モデル
１６０，１６０Ｍ    工作機械モデル
【図１】
2018069367.tif 000003
【図２】
2018069367.tif 000004
【図３】
2018069367.tif 000005
【図４】
2018069367.tif 000006
【図５】
2018069367.tif 000007
【図６】
2018069367.tif 000008
【図７】
2018069367.tif 000009
【図８】
2018069367.tif 000010
【図９】
2018069367.tif 000011
【図１０】
2018069367.tif 000012
【図１１】
2018069367.tif 000013
【図１２】
2018069367.tif 000014
【図１３】
2018069367.tif 000015
【図１４】
2018069367.tif 000016
【図１５】
2018069367.tif 000017