(57)【要約】【課題】仮想ロボットによるシミュレーションにおいて、仮想撮像部の光軸方向の各部のレイアウト検証等を容易かつ迅速に行うことができるシミュレーション装置、制御装置およびロボットを提供すること。【解決手段】ロボットを仮想化した仮想ロボットによるシミュレーションを行うシミュレーション装置であって、仮想撮像部の被写界深度および視野に関する情報の入力を受け付ける受付部と、前記仮想ロボットと、前記仮想撮像部と、前記受付部が受け付けた前記情報に基づいて求めた前記被写界深度の前面における前記視野および前記被写界深度の後面における前記視野とを表示部に表示させる制御部と、を備えることを特徴とするシミュレーション装置。【選択図】図１
2019081236.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを仮想化した仮想ロボットによるシミュレーションを行うシミュレーション装置であって、
仮想撮像部の被写界深度および視野に関する情報の入力を受け付ける受付部と、
前記仮想ロボットと、前記仮想撮像部と、前記受付部が受け付けた前記情報に基づいて求めた前記被写界深度の前面における前記視野および前記被写界深度の後面における前記視野とを表示部に表示させる制御部と、を備えることを特徴とするシミュレーション装置。
【請求項２】
前記情報は、前記仮想撮像部に用いられる仮想レンズに関する情報および仮想エクステンションチューブに関する情報の少なくとも１つを含む請求項１に記載のシミュレーション装置。
【請求項３】
前記受付部は、前記仮想ロボットに前記仮想撮像部を取り付ける取付部分に関する情報の入力を受け付け可能であり、
前記制御部は、前記受付部が受け付けた前記取付部分に取り付けられた前記仮想撮像部を前記表示部に表示させる請求項１または２に記載のシミュレーション装置。
【請求項４】
前記制御部は、前記前面における前記視野の中心および前記後面における前記視野の中心を前記表示部に表示させる請求項１ないし３のいずれか１項に記載のシミュレーション装置。
【請求項５】
前記制御部は、前記前面と前記後面との間の中間位置を前記表示部に表示させる請求項１ないし４のいずれか１項に記載のシミュレーション装置。
【請求項６】
前記制御部は、前記仮想撮像部の光軸を前記表示部に表示させる請求項１ないし５のいずれか１項に記載のシミュレーション装置。
【請求項７】
前記制御部は、前記仮想撮像部の仮想撮像画像を前記表示部に表示させる請求項１ないし６のいずれか１項に記載のシミュレーション装置。
【請求項８】
前記制御部は、前記仮想撮像画像、および前記仮想撮像部の視野外の部分を前記表示部に表示させる請求項７に記載のシミュレーション装置。
【請求項９】
請求項１ないし８のいずれか１項に記載のシミュレーション装置によるシミュレーション結果に基づいてロボットを制御することを特徴とする制御装置。
【請求項１０】
ロボットアームを有し、
請求項９に記載の制御装置によって制御されることを特徴とするロボット。
【請求項１１】
ロボットを仮想化した仮想ロボットによるシミュレーションを行うシミュレーション装置であって、
プロセッサーを備え、
前記プロセッサーは、仮想撮像部の被写界深度および視野に関する情報の入力を受け付け、かつ、前記仮想ロボットと、前記仮想撮像部と、受け付けた前記情報に基づいて求めた前記被写界深度の前面における前記視野および前記被写界深度の後面における前記視野とを表示部に表示させることを特徴とするシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置、制御装置およびロボットに関する。
【背景技術】
【０００２】
基台と、複数のアーム（リンク）を有するロボットアームとを備えるロボットが知られている。ロボットアームの隣り合う２つのアームのうちの一方のアームは、関節部を介して、他方のアームに回動可能に連結され、最も基端側（最も上流側）のアームは、関節部を介して、基台に回動可能に連結されている。関節部はモーターにより駆動され、その関節部の駆動により、アームが回動する。また、最も先端側（最も下流側）のアームには、エンドエフェクターとして、例えば、着脱可能にハンドが装着される。そして、ロボットは、例えば、ハンドで対象物を把持し、その対象物を所定の場所へ移動させ、組立等の所定の作業を行う。このようなロボットでは、実際に作業を行う前に、ロボットに対して教示を行う必要がある。
【０００３】
特許文献１には、ロボットのシミュレーションを行うシミュレーション装置が開示されている。特許文献１に記載のシミュレーション装置では、表示装置の画面に、ロボットおよびカメラを表示し、シミュレーションを行う。また、表示装置の画面には、カメラの視野が四角錐（３次元形状）で表示される。これにより、カメラで撮像可能な撮像範囲を把握することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１３５２７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載のシミュレーション装置では、カメラで撮像可能な撮像範囲は判るが、カメラのピント（フォーカス）が合う光軸方向の範囲、すなわち、被写界深度は判らない。このため、カメラの光軸方向の各部のレイアウト検証等を行う場合、その作業に多大な労力および時間を要する。
【課題を解決するための手段】
【０００６】
本発明は、前述した課題の少なくとも一部を解決するためになされたものであり、以下により実現することが可能である。
【０００７】
本発明のシミュレーション装置は、ロボットを仮想化した仮想ロボットによるシミュレーションを行うシミュレーション装置であって、
仮想撮像部の被写界深度および視野に関する情報の入力を受け付ける受付部と、
前記仮想ロボットと、前記仮想撮像部と、前記受付部が受け付けた前記情報に基づいて求めた前記被写界深度の前面における前記視野および前記被写界深度の後面における前記視野とを表示部に表示させる制御部と、を備えることを特徴とする。
【０００８】
このようなシミュレーション装置によれば、仮想撮像部の被写界深度の前面における視野および後面における視野を表示部に表示することができるので、仮想撮像部の光軸方向の各部のレイアウト検証等を容易かつ迅速に行うことができる。
【０００９】
本発明のシミュレーション装置では、前記情報は、前記仮想撮像部に用いられる仮想レンズに関する情報および仮想エクステンションチューブに関する情報の少なくとも１つを含むことが好ましい。
【００１０】
これにより、適確に、仮想撮像部の被写界深度の前面における視野および後面における視野を表示部に表示することができる。
【００１１】
本発明のシミュレーション装置では、前記受付部は、前記仮想ロボットに前記仮想撮像部を取り付ける取付部分に関する情報の入力を受け付け可能であり、
前記制御部は、前記受付部が受け付けた前記取付部分に取り付けられた前記仮想撮像部を前記表示部に表示させることが好ましい。
これにより、容易に、仮想撮像部を取付部分に取り付けることができる。
【００１２】
本発明のシミュレーション装置では、前記制御部は、前記前面における前記視野の中心および前記後面における前記視野の中心を前記表示部に表示させることが好ましい。
【００１３】
これにより、容易に、被写界深度の前面における仮想撮像部の視野の中心および被写界深度の後面における仮想撮像部の視野の中心を容易に把握することができ、利便性が良い。
【００１４】
本発明のシミュレーション装置では、前記制御部は、前記前面と前記後面との間の中間位置を前記表示部に表示させることが好ましい。
【００１５】
これにより、容易に、被写界深度の前面と被写界深度の後面との間の中間位置を容易に把握することができ、利便性が良い。
【００１６】
本発明のシミュレーション装置では、前記制御部は、前記仮想撮像部の光軸を前記表示部に表示させることが好ましい。
【００１７】
これにより、仮想撮像部の光軸、すなわち、仮想撮像部からの各距離の地点における仮想撮像部の視野の中心を容易に把握することができ、利便性が良い。
【００１８】
本発明のシミュレーション装置では、前記制御部は、前記仮想撮像部の仮想撮像画像を前記表示部に表示させることが好ましい。
これにより、仮想撮像部の仮想撮像画像を見ることができ、利便性が良い。
【００１９】
本発明のシミュレーション装置では、前記制御部は、前記仮想撮像画像、および前記仮想撮像部の視野外の部分を前記表示部に表示させることが好ましい。
【００２０】
これにより、仮想撮像画像のみを表示した場合では、仮想撮像部がどの部分を撮像したのかを把握し難い場合でも、さらに仮想撮像部の視野外の部分を表示することにより、容易に、仮想撮像部がどの部分を撮像したのかを把握することができる。
【００２１】
本発明の制御装置は、本発明のシミュレーション装置によるシミュレーション結果に基づいてロボットを制御することを特徴とする。
【００２２】
このような制御装置によれば、シミュレーション装置で作成した動作プログラムを用いてロボットに適切な動作を行わせることができる。
【００２３】
本発明のロボットは、ロボットアームを有し、
本発明の制御装置によって制御されることを特徴とする。
【００２４】
このようなロボットによれば、制御装置の制御により、適切な動作を行うことができる。
【００２５】
本発明のシミュレーション装置は、ロボットを仮想化した仮想ロボットによるシミュレーションを行うシミュレーション装置であって、
プロセッサーを備え、
前記プロセッサーは、仮想撮像部の被写界深度および視野に関する情報の入力を受け付け、かつ、前記仮想ロボットと、前記仮想撮像部と、受け付けた前記情報に基づいて求めた前記被写界深度の前面における前記視野および前記被写界深度の後面における前記視野とを表示部に表示させることを特徴とする。
【００２６】
このようなシミュレーション装置によれば、仮想撮像部の被写界深度の前面における視野および後面における視野を表示部に表示することができるので、仮想撮像部の光軸方向の各部のレイアウト検証等を容易かつ迅速に行うことができる。
【図面の簡単な説明】
【００２７】
【図１】第１実施形態に係るロボットシステムを示す図である。
【図２】図１に示すロボットシステムのブロック図である。
【図３】表示装置に表示される画面の１例（シミュレーション装置が行うシミュレーションの１例）を示す図である。
【図４】表示装置に表示される画面の１例を示す図である。
【図５】表示装置に表示される画面の１例を示す図である。
【図６】表示装置に表示される画面の１例を示す図である。
【図７】図１に示すロボットシステムのシミュレーション装置が行うシミュレーションの１例を示す図である。
【図８】図１に示すロボットシステムのシミュレーション装置が行うシミュレーションにおいて作業者が行う作業手順を説明するための図である。
【図９】第２実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの１例を示す図である。
【図１０】ロボットシステムの他の構成例を示す図（ブロック図）である。
【図１１】ロボットシステムの他の構成例を示す図（ブロック図）である。
【発明を実施するための形態】
【００２８】
以下、本発明のシミュレーション装置、制御装置およびロボットを添付図面に示す実施形態に基づいて詳細に説明する。
【００２９】
＜第１実施形態＞
≪ロボットシステム≫
図１は、実施形態に係るロボットシステムを示す図である。図２は、図１に示すロボットシステムのブロック図である。図３は、表示装置に表示される画面の１例（シミュレーション装置が行うシミュレーションの１例）を示す図である。図４〜図６は、それぞれ、表示装置に表示される画面の１例を示す図である。図７は、図１に示すロボットシステムのシミュレーション装置が行うシミュレーションの１例を示す図である。図８は、図１に示すロボットシステムのシミュレーション装置が行うシミュレーションにおいて作業者が行う作業手順を説明するための図である。
【００３０】
また、以下では、説明の都合上、図１および図３中の上側を「上」または「上方」、下側を「下」または「下方」と言う。また、図１および図３中の基台側を「基端」または「上流」、その反対側を「先端」または「下流」と言う。また、図１および図３中の上下方向が鉛直方向である。
【００３１】
また、本明細書において、「水平」とは、完全に水平な場合のみならず、水平に対して±５°以内で傾斜している場合も含む。同様に、本明細書において、「鉛直」とは、完全に鉛直な場合のみならず、鉛直に対して±５°以内で傾斜している場合も含む。また、本明細書において、「平行」とは、２つの線（軸を含む）または面が、互いに完全な平行である場合のみならず、±５°以内で傾斜している場合も含む。また、本明細書において、「直交」とは、２つの線（軸を含む）または面が、互いに完全な直交である場合のみならず、±５°以内で傾斜している場合も含む。
【００３２】
図１に示すロボットシステム１００は、ロボット１と、ロボット１の動作（駆動）を制御するロボット制御装置２（制御装置）と、ロボット制御装置２と通信可能なシミュレーション装置５と、を有する。
【００３３】
以下、ロボットシステム１００が有する各部を順次説明する。
〈ロボット〉
ロボット１の種類は、特に限定されないが、本実施形態では、ロボット１は、水平多関節ロボットの１例であるスカラーロボットである。また、ロボット１は、例えば、精密機器等を製造する製造工程等で用いられ、精密機器や部品等の保持対象物（図示せず）の保持や搬送等の作業を行う。
【００３４】
ロボット１は、基台１１０と、基台１１０に接続されたロボットアーム１０（可動部）とを有する。なお、保持対象物としては、ロボット１が行う作業で用いられるものであればよく、特に限定されない。
【００３５】
基台１１０は、ロボット１を例えば天井等の任意の設置箇所７０に取り付ける部分である。ロボットアーム１０は、アーム１１（第１アーム）と、アーム１２（第２アーム）と、シャフト１３１を有する作業ヘッド１３（第３アーム）とを備える。
【００３６】
作業ヘッド１３のシャフト１３１の先端には、エンドエフェクター１７（保持部）を着脱可能に設ける（取り付ける）ことが可能になっている。これらアーム１１〜１３は、基台１１０側からエンドエフェクター１７側に向かってこの順に連結されている。また、アーム１１は、基台１１０に対して回動可能になっている。また、アーム１２は、アーム１１に対して回動可能になっている。また、作業ヘッド１３のシャフト１３１は、アーム１２に対して回動可能で、かつ、シャフト１３１の軸方向に移動可能になっている。すなわち、基台１１０とアーム１１とは、関節１７１（ジョイント）を介して連結されている。また、アーム１１とアーム１２とは、関節１７２（ジョイント）を介して連結されている。
【００３７】
エンドエフェクター１７としては、保持対象物を保持、解放（保持の解除）することが可能なもの（装置）であれば特に限定されないが、本実施形態では、エンドエフェクター１７として、保持対象物を吸着（保持）、解放することが可能な吸着ヘッド（吸着装置）が用いられている。また、エンドエフェクター１７の他の構成例としては、例えば、保持対象物を把持（保持）、解放することが可能なハンド等が挙げられる。また、保持対象物を保持するとは、保持対象物を移動または保持対象物の姿勢を変更させることが可能なように、保持対象物を持つことであり、例えば、把持（掴む）、吸着、載置等が含まれる。また、エンドエフェクター１７の先端中心をツールセンターポイントという。なお、エンドエフェクター１７は、ロボット１の構成要素として捉えてもよく、また、ロボット１の構成要素から除外するように捉えてもよい。
【００３８】
また、図２に示すように、ロボット１は、アーム１１を基台１１０に対して回動（駆動）させるモーターおよび減速機等を備える駆動部１３０と、アーム１２をアーム１１に対して回動させるモーターおよび減速機等を備える駆動部１３０と、作業ヘッド１３のシャフト１３１をアーム１２に対して回動させるモーターおよび減速機等を備える駆動部１３０と、シャフト１３１をアーム１２に対してシャフト１３１の軸方向に移動させるモーターおよび減速機等を備える駆動部１３０とを有する。
【００３９】
モーターとしては、例えば、ＡＣサーボモーター、ＤＣサーボモーター等のサーボモーターを用いることができる。また、減速機としては、例えば、遊星ギア型の減速機、波動歯車装置等を用いることができる。また、減速機は省略されていてもよい。また、ロボット１は、モーターまたは減速機の回転軸の回転角度を検出する角度センサー１４０を有する。角度センサー１４０としては、例えば、ロータリーエンコーダー等を用いることができる。また、駆動部１３０および角度センサー１４０は、アーム１１、アーム１２および作業ヘッド１３に対応して設けられており、本実施形態では、ロボット１は、４つの駆動部１３０および４つの角度センサー１４０を有する。
【００４０】
また、各駆動部１３０は、図示はしないが、例えば図１に示す基台１１０に内蔵されたモータードライバーと電気的に接続（以下、単に「接続」とも言う）されている。各駆動部１３０は、対応するモータードライバーを介してロボット制御装置２により制御される。また、各角度センサー１４０は、ロボット制御装置２に電気的に接続されている。また、エンドエフェクター１７を駆動する駆動部（図示せず）は、ロボット制御装置２により制御される。
【００４１】
また、ロボット１には、例えばエンドエフェクター１７に加わる力（モーメントを含む）を検出する力覚センサー１８（力検出装置）が設けられている。力覚センサー１８は、本実施形態では、作業ヘッド１３のシャフト１３１とエンドエフェクター１７との間に配置され、ロボット制御装置２に電気的に接続されている。力覚センサー１８を設けることにより、例えば、インピーダンス制御等の力制御を行うことが可能になる。力覚センサー１８としては、特に限定されず、例えば、６軸力覚センサー等が挙げられる。この力覚センサー１８は、ロボット１の構成要素として捉えてもよく、また、ロボット１の構成要素から除外して捉えてもよい。また、力覚センサー１８は、省略されていてもよい。
【００４２】
以上、ロボット１の構成について簡単に説明した。このようなロボット１は、後述するロボット制御装置２によって制御される。これにより、ロボット１は、適切な動作を行うことができる。
【００４３】
〈ロボット制御装置〉
ロボット制御装置２は、ロボット１の動作を制御する。このロボット制御装置２は、ロボット１が有する各部の機能をつかさどるロボットコントローラーで構成されており、ロボット１およびシミュレーション装置５に対して通信可能に接続されている。
【００４４】
ロボット制御装置２とロボット１とは、例えばケーブル等を用いて有線方式で通信可能に接続されていてもよく、また、無線方式で通信可能に接続されていてもよい。また、ロボット制御装置２は、ロボット１と別体であってもよく、また、ロボット１（例えば、基台１１０等）にその一部または全部が内蔵されていてもよい。
【００４５】
また、ロボット制御装置２とシミュレーション装置５とは、例えばケーブル等を用いて有線方式で通信可能に接続されていてもよく、また、無線方式で通信可能に接続されていてもよい。
【００４６】
図２に示すように、ロボット制御装置２は、プロセッサーを備える制御部２１と、制御部２１に通信可能に接続されたメモリー等を備える記憶部２２と、外部インターフェース（Ｉ／Ｆ）を備える外部入出力部２３（受付部）と、を含む。外部入出力部２３は、ロボット制御装置２の受付部の１例である。ロボット制御装置２の各構成要素は、種々のバスを介して相互通信可能に接続されている。
【００４７】
制御部２１は、記憶部２２に記憶された各種プログラム等を実行する。これにより、ロボット１の動作の制御や各種演算および判断等の処理を実現できる。
【００４８】
記憶部２２には、制御部２１により実行可能な各種プログラムが保存（記憶）されている。また、記憶部２２には、外部入出力部２３で受け付けた各種データの保存が可能である。記憶部２２は、例えばＲＡＭ（Random Access Memory）等の揮発性メモリーや、ＲＯＭ（Read Only Memory）等の不揮発性メモリー等を含んで構成されている。なお、記憶部２２は、非着脱式に限らず、着脱式の外部記憶装置（図示せず）を有する構成であってもよい。
【００４９】
各種プログラムとしては、シミュレーション装置５から出力された動作プログラムや、動作プログラムの修正や変更をするプログラム等が挙げられる。各種データとしては、例えば、ツールセンターポイントの位置姿勢、各アーム１１〜１６の回動角度等に関するデータ等が挙げられる。
【００５０】
外部入出力部２３は、外部インターフェース（Ｉ／Ｆ）を備え、ロボット１およびシミュレーション装置５の各接続のために用いられる。
【００５１】
このようなロボット制御装置２は、後述するシミュレーション装置５によるシミュレーション結果（動作プログラム）に基づいて（を用いて）ロボット１を制御する。これにより、シミュレーション装置５で作成した動作プログラムを用いて、ロボット１に適切な動作を行わせることができる。また、シミュレーション装置５で作成した動作プログラムを用いてロボット１を動作させることができるので、実機でのティーチング作業を省略することができる。そのため、作業者（ユーザー）が実際にロボット１を動作させてティーチングすることに比べ、ティーチング時間を大幅に短縮することができる。
【００５２】
なお、ロボット制御装置２は、前述した構成に加えて、さらに他の構成が付加されていてもよい。また、ロボット制御装置２には、ディスプレイ等を有する表示装置や、例えばマウスやキーボード等の入力装置が接続されていてもよい。また、記憶部２２に保存されている各種プログラムやデータ等は、予め記憶部２２に記憶されたものであってもよいし、例えばＣＤ−ＲＯＭ等の記録媒体（図示せず）に格納されており、この記録媒体から提供されたものでもよいし、ネットワーク等を介して提供されたものであってもよい。
【００５３】
〈シミュレーション装置〉
シミュレーション装置５は、仮想空間上で、実機であるロボット１を仮想化した仮想ロボット１Ａを動作させ、実機であるロボット１の動作のシミュレーションを行う（図３等参照）。
【００５４】
仮想ロボット１Ａは、前述した実機であるロボット１に対応している（図１および図３参照）。具体的には、仮想ロボット１Ａは、仮想基台１１０Ａと、仮想基台１１０Ａに接続された仮想ロボットアーム１０Ａ（仮想可動部）とを有する。また、仮想ロボットアーム１０Ａは、仮想アーム１１Ａ（仮想第１アーム）と、仮想アーム１２Ａ（仮想第２アーム）と、仮想シャフト１３１Ａを有する仮想作業ヘッド１３Ａ（仮想第３アーム）とを備える。
【００５５】
また、仮想アーム１１Ａは、仮想基台１１０Ａに対して回動可能になっている。また、仮想アーム１２Ａは、仮想アーム１１Ａに対して回動可能になっている。また、仮想作業ヘッド１３Ａの仮想シャフト１３１Ａは、仮想アーム１２Ａに対して回動可能で、かつ、仮想シャフト１３１Ａの軸方向に移動可能になっている。すなわち、仮想基台１１０Ａと仮想アーム１１Ａとは、仮想関節１７１Ａ（仮想ジョイント）を介して連結されている。また、仮想アーム１１Ａと仮想アーム１２Ａとは、仮想関節１７２Ａ（仮想ジョイント）を介して連結されている。また、仮想作業ヘッド１３Ａの仮想シャフト１３１Ａの先端には、仮想エンドエフェクター１７Ａ（仮想保持部）を着脱可能に設けることが可能になっている。また、仮想シャフト１３１Ａと仮想エンドエフェクター１７Ａとの間に、仮想力覚センサー１８Ａを着脱可能に設けることが可能になっている。
【００５６】
このように、各部の符号については、シミュレーション装置５（シミュレーション）では、符号の最後に「Ａ」を付けて表記し、実機では、符号に「Ａ」を付けないで表記する。また、各部の名称については、シミュレーション装置５では、名称の最初に「仮想」を付けて表記し、実機では、名称に「仮想」を付けない。例えば、仮想ロボット１Ａ（ロボット１）以外においては、実機での保持対象物は、シミュレーション装置５では、仮想保持対象物８０Ａとする。したがって、シミュレーション装置５と実機とのいずれか一方で説明したことは、他方ではそれに対応する説明は省略する。なお、ツールセンターポイント、取付部分、光軸、被写界深度の前面および後面、各座標系等、一部については、シミュレーション装置５で、「Ａ」、「仮想」の記載を省略している。
【００５７】
図２に示すシミュレーション装置５は、例えばＰＣ（Personal Computer）等の種々のコンピューターで構成されており、ロボット制御装置２に対して通信可能に接続されている。
【００５８】
シミュレーション装置５は、プロセッサーを備える制御部５１と、制御部５１に通信可能に接続されたメモリー等を備える記憶部５２と、外部Ｉ／Ｆ（インターフェース）を備える外部入出力部５３（受付部）と、を含む。外部入出力部５３は、シミュレーション装置５の受付部の１例である。シミュレーション装置５の各構成要素は、種々のバスを介して相互通信可能に接続されている。
【００５９】
制御部５１は、記憶部５２に記憶された各種プログラム等を実行する。これにより、仮想ロボット１Ａの動作の制御や各種演算および判断等の処理を実現できる。
【００６０】
記憶部５２には、制御部５１により実行可能な各種プログラムが保存されている。また、記憶部５２には、外部入出力部５３で受け付けた各種データの保存が可能である。記憶部５２は、例えばＲＡＭ（Random Access Memory）等の揮発性メモリーや、ＲＯＭ（Read Only Memory）等の不揮発性メモリー等を含んで構成されている。なお、記憶部５２は、非着脱式に限らず、着脱式の外部記憶装置（図示せず）を有する構成であってもよい。
【００６１】
各種プログラムとしては、仮想ロボット１Ａによるオフラインティーチング（ロボット１のティーチング作業を、実機であるロボット１を使用しないで行うティーチング）の設定および実行に関するプログラム等が挙げられる。当該プログラムには、仮想ロボット１Ａを動作させる動作命令や、表示装置３１に表示させる信号を出力する出力命令等が含まれる。各種データとしては、例えば、ツールセンターポイントの位置姿勢、仮想アーム１１Ａ、１２Ａの回動角度、仮想作業ヘッド１３Ａの仮想シャフト１３１Ａの回動角度および位置等に関するデータ等が挙げられる。
【００６２】
外部入出力部５３は、外部Ｉ／Ｆ（インターフェース）を備え、ロボット制御装置２、表示装置３１および入力装置３２との各接続のために用いられる。したがって、外部入出力部５３は、作業者による入力装置３２の操作（指令）を受け付ける受付部としての機能を有する。具体例を挙げると、本実施形態では、外部入出力部５３は、後述する仮想撮像部８１Ａ、８２Ａの被写界深度および視野に関する情報、仮想ロボット１Ａに仮想撮像部８１Ａを取り付ける取付部分に関する情報等の入力を受け付けることが可能になっている。また、外部入出力部５３は、表示装置３１のモニターに各種画面（例えば、図３の画面ＷＤ１等）に関する信号を出力する出力部としての機能を有する。
【００６３】
なお、シミュレーション装置５は、前述した構成に加えて、さらに他の構成が付加されていてもよい。また、記憶部５２に保存されている各種プログラムやデータ等は、予め記憶部５２に記憶されたものであってもよいし、例えばＣＤ−ＲＯＭ等の記録媒体（図示せず）に格納されており、この記録媒体から提供されたものでもよいし、ネットワーク等を介して提供されたものであってもよい。
【００６４】
〈表示装置および入力装置〉
図２に示す表示装置３１（表示部）は、ディスプレイを備えており、例えば図３に示す画面ＷＤ１等の各種画面を表示する機能を有する。したがって、作業者は、表示装置３１を介して仮想ロボット１Ａの動作等を確認することができる。また、表示装置３１としては、特に限定されず、例えば、液晶表示装置、有機ＥＬ表示装置等の直視型の表示装置、プロジェクター等の投射型表示装置等が挙げられる。
【００６５】
入力装置３２（入力部）は、例えばマウスやキーボード等を含んで構成されている。したがって、作業者は、入力装置３２を操作することで、シミュレーション装置５に対して各種の処理等の指示（入力）を行うことができる。
【００６６】
具体的には、作業者は、表示装置３１に表示される各種画面（ウィンドウ等）に対して入力装置３２のマウスでクリックする操作や、入力装置３２のキーボードで文字や数字等を入力する操作により、シミュレーション装置５に対する指示を行うことができる。以下、この作業者による入力装置３２を用いた指示（入力装置３２による入力）を「操作指示」とも言う。この操作指示は、入力装置３２により、表示装置３１に表示された内容から所望の内容を選択する選択操作や、入力装置３２により、文字や数字等を入力する入力指示等を含む。また、入力には、選択も含まれる。
【００６７】
なお、シミュレーション装置５には、表示装置３１および入力装置３２がそれぞれ１つ接続されていてもよいし、それぞれ複数接続されていてもよい。また、表示装置３１および入力装置３２の代わりに、表示装置３１および入力装置３２の機能を兼ね備えた表示入力装置（図示せず）を用いてもよい。表示入力装置としては、例えばタッチパネル等を用いることができる。
【００６８】
以上、ロボットシステム１００の基本的な構成について簡単に説明した。かかるロボットシステム１００は、シミュレーション装置５と、シミュレーション装置５によるシミュレーション結果（動作プログラム）に基づいてロボット１の動作の制御を行うロボット制御装置２と、ロボット制御装置２により制御されるロボット１と、を有する。このようなロボットシステム１００（シミュレーション装置５）によれば、実機であるロボット１を用いることなく、表示装置３１が有するディスプレイ上（シミュレーション上の空間）で、仮想ロボット１Ａに対して所定の作業を教示（ティーチング）し、その教示された作業を検証することができる。そのため、実機であるロボット１を用いずとも、例えば、ロボット１による作業におけるサイクルタイム等を検討することができる。
【００６９】
≪シミュレーション≫
次に、シミュレーション装置５が行うシミュレーションについて説明する。
【００７０】
シミュレーション装置５の制御部５１は、表示装置３１の駆動を制御し、表示装置３１が有するディスプレイに画面ＷＤ１を表示し（図３参照）、その画面ＷＤ１に、仮想ロボット１Ａ、仮想撮像部８１Ａ、８２Ａ、仮想ワーク７１Ａ、仮想ワーク７１Ａ（仮想対象物）を収納（載置）する仮想容器７２Ａ（仮想対象物）等を表示する（図３参照）。すなわち、制御部５１は、表示装置３１に仮想ロボット１Ａによるシミュレーションを表示させる。
【００７１】
この場合、作業者は、入力装置３２で所定の操作（操作指示）を行うことにより、画面ＷＤ１に仮想撮像部８１Ａ、８２Ａを表示することができる。また、入力装置３２で所定の操作（操作指示）を行うことにより、仮想撮像部８１Ａ、８２Ａは、それぞれ、仮想ロボット１Ａの取付部分や、仮想ロボット１Ａ以外の取付部分に配置される（取り付けられる）。本実施形態では、仮想撮像部８１Ａは、仮想ロボット１Ａの取付部分に配置（取り付けられる）モバイルカメラとし、仮想撮像部８２Ａは、仮想ロボット１Ａ以外の取付部分に配置（取り付けられる）固定カメラとして説明する。仮想ロボット１Ａの取付部分と仮想撮像部８１Ａとは、接触していてもよく、また、離間していてもよい（オフセットさせてもよい）。また、仮想ロボット１Ａ以外の取付部分と仮想撮像部８２Ａとは、接触していてもよく、また、離間していてもよい。なお、仮想撮像部の数は、本実施形態では、２つであるが、これに限らず、１つ、または、３つ以上でもよい。
【００７２】
まず、仮想撮像部８１Ａ、８２Ａについて説明するが、仮想撮像部８１Ａの構成と仮想撮像部８２Ａの構成とは同様であるので、代表的に、仮想撮像部８１Ａについて説明する。
【００７３】
仮想撮像部８１Ａは、仮想撮像素子８１２Ａを有する仮想本体８１１Ａと、複数のレンズを有する仮想レンズユニット８１３Ａと、仮想エクステンションチューブ８１４Ａ（仮想筒体）とを備えている。仮想エクステンションチューブ８１４Ａを設ける（取り付ける）か否かは、選択することができる。仮想エクステンションチューブ８１４Ａを設けない場合は、仮想本体８１１Ａに、仮想レンズユニット８１３Ａが着脱可能に設けられる。また、仮想エクステンションチューブ８１４Ａを設ける場合は、仮想本体８１１Ａに、仮想エクステンションチューブ８１４Ａが着脱可能に取り付けられ、仮想エクステンションチューブ８１４Ａに、仮想レンズユニット８１３Ａが着脱可能に取り付けられる。このように、仮想エクステンションチューブ８１４Ａは、スペーサーの機能を有している。
【００７４】
また、仮想撮像素子８１２Ａとしては、特に限定されず、例えば、ＣＣＤイメージセンサー、ＣＭＯＳイメージセンサー等が挙げられる。
【００７５】
なお、仮想撮像部８２Ａは、仮想撮像素子８２２Ａを有する仮想本体８２１Ａと、複数のレンズを有する仮想レンズユニット８２３Ａと、仮想エクステンションチューブ８２４Ａ（仮想筒体）とを備えている。
【００７６】
次に、仮想撮像部８１Ａ、８２Ａを取り付ける（設ける）場合の作業者の操作手順および表示装置３１の表示等を説明する。
【００７７】
まず、仮想撮像部８２Ａを仮想空間内の所定位置に設ける場合について説明する。
図３に示すように、制御部５１は、表示装置３１に、画面ＷＤ１を表示させる。なお、図３に示す画面ＷＤ１に表示されている仮想ロボット１Ａ等のシミュレーションの画像は、最終的に略全部が表示させた状態の画像である。
【００７８】
作業者は、画面ＷＤ１のツールバー４０の所定のアイコンを選択する操作指示を行う。外部入出力部５３が前記操作指示を受け付けると、図４に示すように、制御部５１は、表示装置３１に、ダイアログ４１を表示させる。
【００７９】
次に、図４に示すように、作業者は、ダイアログ４１のドロップダウンリスト４１１で、仮想撮像部８２Ａのモデルを選択する操作指示を行う。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、その操作指示に応じた設定を行う。
【００８０】
また、作業者は、ドロップダウンリスト４１２で、仮想エクステンションチューブ８１４Ａの有無と、仮想エクステンションチューブ８１４Ａを設ける場合は、その仮想エクステンションチューブ８１４Ａの長さを選択する操作指示を行う。仮想エクステンションチューブ８１４Ａを設けない場合は、長さを「０」にし、仮想エクステンションチューブ８１４Ａを設ける場合は、長さを「０」以外の所定値にする。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、その操作指示に応じた設定を行う。
【００８１】
また、作業者は、ドロップダウンリスト４１３で、仮想撮像部８２Ａのタイプ（メガピクセルまたは標準）を選択する操作指示を行う。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、その操作指示に応じた設定を行う。
【００８２】
また、作業者は、ドロップダウンリスト４１４で、仮想レンズユニット８２３Ａの焦点距離を選択する操作指示を行う。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、その操作指示に応じた設定を行う。
【００８３】
また、作業者は、ドロップダウンリスト４１５で、仮想撮像部８２Ａの取付設定、すなわち、「固定」と「モバイル」とのいずれか一方を選択する操作指示を行う。この場合、仮想撮像部８２Ａは、固定カメラであるので、「固定」を選択する。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、その操作指示に応じた設定を行う。
【００８４】
次に、作業者は、「Ａｄｄ」と表示されたボタン４１８に対する操作指示を行う（ボタン４１８を押す）。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、前記各設定（各設定値）の登録を行う。
【００８５】
次に、仮想撮像部８１Ａを仮想ロボット１Ａに取り付ける（設ける）場合について説明する。
【００８６】
図５に示すように、作業者は、前記と同様に、ダイアログ４１のドロップダウンリスト４１１〜４１４で、所定の操作指示を行う。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、その操作指示に応じた設定を行う。
【００８７】
また、作業者は、ドロップダウンリスト４１５で、仮想撮像部８２Ａの取付設定、すなわち、「固定」と「モバイル」とのいずれか一方を選択する操作指示を行う。この場合、仮想撮像部８１Ａは、モバイルカメラであるので、「モバイル」を選択する。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、その操作指示に応じた設定を行う。
【００８８】
また、作業者は、ドロップダウンリスト４１６で、仮想ロボット（Ｒｏｂｏｔ）を「１」、「２」、・・・の番号で選択する操作指示を行う。
【００８９】
ここで、複数の仮想ロボット（例えば、仮想垂直多関節ロボット、仮想スカラーロボット等の仮想水平多関節ロボット）は、それぞれ、前記番号と対応付けがなされている。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、その操作指示に応じた設定を行う。
【００９０】
また、作業者は、ドロップダウンリスト４１７で、仮想撮像部８１Ａを取り付ける取付部分（Ｊｏｉｎｔ）、すなわち、取付部分に設けられている座標系を「１」、「２」、・・・の番号で選択する操作指示を行う。
【００９１】
この場合、関節１７１、関節１７２、作業ヘッド１３のシャフト１３１の関節に相当する部分（図示せず）には、それぞれ座標系が設定されており、各座標系は、それぞれ、前記番号と対応付けがなされている。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、その操作指示に応じた設定を行う。なお、仮想撮像部８１Ａには、互いに直交する３軸を有する座標系が設定されており、仮想撮像部８１Ａは、その座標系と選択された座標系とが一致するように設けられる。
【００９２】
次に、作業者は、「Ａｄｄ」と表示されたボタン４１８に対する操作指示を行う（ボタン４１８を押す）。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、前記各設定（各設定値）の登録を行う。
【００９３】
また、作業者は、画面ＷＤ１の図３中の左上にある［Ｌａｙｏｕｔ  Ｏｂｊｅｃｔｓ］でカメラオブジェクトを選択し、所定の操作指示を行う。また、画面ＷＤ１の図３中の左下にある［Ｐｒｏｐｅｒｔｙ］の中にある［Ｍｏｕｎｔ  Ｔｙｐｅ］プロパティー（図示せず）にて、設定値を「Ｆｉｘｅｄ（固定）」から「Ｍｏｂｉｌｅ（モバイル）」に変更する操作指示を行う。外部入出力部５３が前記操作指示を受け付けると、図６に示すように、制御部５１は、表示装置３１に、ダイアログ４２を表示させる。
【００９４】
なお、作業者が画面ＷＤ１のツールバー４０の所定のアイコンを選択する操作指示を行い、外部入出力部５３が前記操作指示を受け付けると、制御部５１は、表示装置３１に、ダイアログ４２を表示させるようにしてもよい。
【００９５】
図６に示すように、ダイアログ４２では、ドロップダウンリスト４２１で、仮想ロボット（Ｒｏｂｏｔ）の選択が可能であり、また、ドロップダウンリスト４２２で、仮想撮像部８１Ａを取り付ける取付部分（Ｊｏｉｎｔ）、すなわち、取付部分に設けられている座標系の選択が可能である。
【００９６】
また、［Ｏｆｆｓｅｔ  Ｆｒｏｍ  Ｓｅｌｅｃｔｅｄ  Ｊｏｉｎｔ］４６で、ドロップダウンリスト４２２（４１７）で選択した［Ｊｏｉｎｔ］に対する仮想撮像部８１Ａの位置（相対位置）および姿勢（相対姿勢）を設定（登録）することができる。すなわち、仮想撮像部８１Ａのオフセット量を設定することができる。
【００９７】
以上のようにして、図３に示すように、仮想ロボット１Ａのうち、前記操作で選択された取付部分に仮想撮像部８１Ａが取り付けられ、例えば仮想床に仮想撮像部８２Ａが取り付けられる。すなわち、表示装置３１には、前記操作で選択された取付部分に配置された仮想撮像部８１Ａが表示され、仮想床に配置された仮想撮像部８２Ａが表示される。
【００９８】
また、制御部５１は、仮想ロボット１Ａと仮想撮像部８１Ａとを連動させて動作させる入力（操作指示）を外部入出力部５３が受け付けた場合は、仮想ロボット１Ａの動作に連動して、仮想撮像部８１Ａを動作させる。すなわち、仮想撮像部８１Ａの取付部分と仮想撮像部８１Ａとを連動（一体的に動作）させる。これにより、仮想撮像部８１Ａの取付部分が移動すると、その取付部分とともに仮想撮像部８１Ａが移動し、取付部分の姿勢が変更されると、その取付部分とともに仮想撮像部８１Ａの姿勢が変更される。
【００９９】
ここで、「仮想ロボット１Ａ（取付部分）と仮想撮像部８１Ａとを連動させる」とは、仮想ロボット１Ａが動作した場合、取付部分に対する仮想撮像部８１Ａの位置（相対位置）および姿勢（相対姿勢）を保持したまま、仮想撮像部８１Ａを仮想ロボット１Ａとともに動作させることを言う。
【０１００】
このようなシミュレーション装置５では、制御部５１は、仮想撮像部８１Ａ、８２Ａの被写界深度の前面（近い側の面）における仮想撮像部８１Ａ、８２Ａの視野および後面（遠い側の面）における仮想撮像部８１Ａ、８２Ａの視野を表示装置３１に表示させる。なお、仮想撮像部８１Ａの場合と仮想撮像部８２Ａの場合とは同様であるので以下では、代表的に仮想撮像部８１Ａの場合について説明する。
【０１０１】
まず、制御部５１は、仮想撮像部８１Ａの被写界深度および視野に関する情報に基づいて、仮想撮像部８１Ａの被写界深度の前面における仮想撮像部８１Ａの視野および後面における仮想撮像部８１Ａの視野を求める。
【０１０２】
被写界深度の前面とは、仮想撮像部８１Ａのピント（フォーカス）が合う近位側の限界位置であり、被写界深度の後面とは、仮想撮像部８１Ａのピントが合う遠位側の限界位置である。したがって、前記前面と前記後面との間の領域において、仮想撮像部８１Ａのピントが合う。
【０１０３】
また、被写界深度および視野に関する情報には、仮想撮像部８１Ａに用いられる仮想レンズユニット８１３Ａ（仮想レンズ）に関する情報および仮想エクステンションチューブ８１４Ａに関する情報の少なくとも１つが含まれる。
【０１０４】
具体的には、被写界深度および視野に関する情報としては、例えば、仮想エクステンションチューブ８１４Ａの有無、仮想エクステンションチューブ８１４Ａの長さ（仮想エクステンションチューブ８１４Ａを設けない場合は、長さは「０」である）、仮想レンズユニット８１３Ａの焦点距離、仮想レンズユニット８１３Ａ（仮想撮像部８１Ａ）のタイプ、仮想レンズユニット８１３Ａの口径、仮想レンズユニット８１３ＡのＦ値等が挙げられ、これらのうちの少なくとも１つ（好ましくは２つ以上）が用いられる。
【０１０５】
本実施形態では、前述したように、仮想エクステンションチューブ８１４Ａの有無、仮想エクステンションチューブ８１４Ａの長さ、仮想レンズユニット８１３Ａ（仮想撮像部８１Ａ）のタイプ、仮想レンズユニット８１３Ａの焦点距離が用いられる。
【０１０６】
ここで、仮想エクステンションチューブ８１４Ａの長さは、仮想撮像素子８１２Ａと仮想レンズユニット８１３Ａとの距離に相当する（相関がある）。
【０１０７】
また、仮想レンズユニット８１３Ａ（仮想撮像部８１Ａ）のタイプとしては、本実施形態では、「標準」と「メガピクセル」とがあり、それらは、例えば、解像度等の性能（特性）を示している。
【０１０８】
次に、制御部５１は、仮想撮像部８１Ａの被写界深度の前面における仮想撮像部８１Ａの視野および後面における仮想撮像部８１Ａの視野と、仮想撮像部８１Ａの光軸６６Ａとを表示装置３１に表示させる。以下、仮想撮像部８１Ａの被写界深度の前面を単に「前面」とも言い、仮想撮像部８１Ａの被写界深度の後面を単に「後面」とも言う。また、仮想撮像部８１Ａの被写界深度の前面における仮想撮像部８１Ａの視野を単に「前面における視野」とも言い、仮想撮像部８１Ａの被写界深度の後面における仮想撮像部８１Ａの視野を単に「後面における視野」とも言う。
【０１０９】
図７に示すように、本実施形態では、前面における視野は、枠６１Ａで示され、後面における視野は、枠６２Ａで示されている。これにより、前面における視野および後面における視野を容易に把握することができる。そして、この枠６１Ａおよび枠６２Ａを指標とし、枠６１Ａと枠６２Ａとの間で、かつ、仮想撮像部８１Ａの視野に、仮想対象物、例えば、仮想容器７２Ａが配置されるように、各部のレイアウト、仮想撮像部８１Ａの各部（例えば、光学機器等）の選定等を行うことができる。また、その作業を容易かつ迅速に行うことができる。
【０１１０】
また、枠６１Ａの色と枠６２Ａの色は、異なっている。これにより、前面における視野と後面における視野とを容易に区別することができる。なお、枠６１Ａの色および枠６２Ａの色は、それぞれ、特に限定されない。また、枠６１Ａの色と枠６２Ａの色は、同じであってもよい。
【０１１１】
また、枠６１Ａおよび枠６２Ａの色は、それぞれ、複数の色から任意の色を選択することが可能になっている。なお、選択ができないようにしてもよい。
【０１１２】
また、枠６１Ａの内部の領域は、例えば、透明にしてもよく、また、半透明（枠６１Ａと同じ色でもよく、また、異なった色でもよい）にしてもよい。また、枠６１Ａを表示し、枠６１Ａの内部の領域を透明にする形態と、枠６１Ａを表示し、枠６１Ａの内部の領域を半透明にする形態とを選択できるようにしてもよい。
【０１１３】
同様に、枠６２Ａの内部の領域は、例えば、透明にしてもよく、また、半透明（枠６２Ａと同じ色でもよく、また、異なった色でもよい）にしてもよい。また、枠６２Ａを表示し、枠６２Ａの内部の領域を透明にする形態と、枠６２Ａを表示し、枠６２Ａの内部の領域を半透明にする形態とを選択できるようにしてもよい。
【０１１４】
また、制御部５１は、前面における視野の中心および後面における視野の中心を表示装置３１に表示させる。これにより、容易に、前面における視野の中心および後面における視野の中心を容易に把握することができ、利便性が良い。
【０１１５】
本実施形態では、前面における視野の中心に、マーク６１１Ａを配置し、後面における視野の中心に、マーク６２１Ａを配置する。マーク６１１Ａ、６２１Ａは、それぞれ、後述する光軸６６Ａ上に位置し、「＋」の形状をなしている。なお、マーク６１１Ａ、６２１Ａの形状は、それぞれ、他の形状、例えば、「×」の形状、「・」の形状、網目形状等であってもよい。また、マーク６１１Ａの形状とマーク６２１Ａの形状は、同じでもよく、また、異なっていてもよい。
【０１１６】
また、マーク６１１Ａの色は、枠６１Ａの色と同じでもよく、また、異なっていてもよい。また、マーク６２１Ａの色は、枠６２Ａの色と同じでもよく、また、異なっていてもよい。
【０１１７】
なお、前面における視野の中心および後面における視野の中心は、それぞれ、表示しなくてもよい。
【０１１８】
また、制御部５１は、仮想撮像部８１Ａの光軸６６Ａを表示装置３１に表示させる。
仮想撮像部８１Ａの光軸６６Ａとは、仮想撮像部８１Ａの視野の中心を通る直線である。これにより、仮想撮像部８１Ａの光軸６６Ａ、すなわち、仮想撮像部８１Ａからの各距離の地点における仮想撮像部８１Ａの視野の中心を容易に把握することができ、利便性が良い。
【０１１９】
また、光軸６６Ａの色は、特に限定されない。また、光軸６６Ａの色は、枠６１Ａの色と、同じであってもよく、また、異なっていてもよい。また、光軸６６Ａの色は、枠６２Ａの色と、同じであってもよく、また、異なっていてもよい。また、光軸６６Ａは、複数の色から任意の色を選択することが可能になっていてもよく、また、選択ができないようなっていてもよい。なお、光軸６６Ａは、表示しなくてもよい。
【０１２０】
また、制御部５１は、前面と後面との間の中間位置を表示装置３１に表示させる。これにより、容易に、前面と後面との間の中間位置を容易に把握することができ、利便性が良い。
【０１２１】
本実施形態では、前面と後面との間の中間位置であって、光軸６６上に、マーク６３１Ａを配置する。なお、マーク６３１Ａは、後述する枠６３Ａの中心に配置されている。また、マーク６３１Ａは、「＋」の形状をなしている。なお、マーク６３１Ａの形状は、他の形状、例えば、「×」の形状、「・」（点）の形状、網目形状等であってもよい。また、マーク６３１Ａの形状とマーク６１１Ａの形状は、同じでもよく、また、異なっていてもよい。また、マーク６３１Ａの形状とマーク６２１Ａの形状は、同じでもよく、また、異なっていてもよい。
【０１２２】
また、マーク６３１Ａの色は、枠６３Ａの色と同じでもよく、また、異なっていてもよい。
【０１２３】
なお、前面と後面との間の中間位置は、表示しなくてもよい。
また、本実施形態では、前面と後面との間の中間位置（以下、単に「中間位置」とも言う）における視野は、枠６３Ａで示されている。これにより、中間位置における視野を容易に把握することができる。
【０１２４】
また、枠６３Ａの色は、枠６１Ａの色および枠６２Ａの色のそれぞれと異なっている。これにより、中間位置における視野と、前面における視野と、後面における視野とを容易に区別することができる。なお、枠６３の色は、特に限定されない。また、枠６３Ａの色は、枠６１Ａの色と同じであってもよく、また、枠６２Ａの色と同じであってもよい。以下、枠６３および枠６３の内部の領域についての説明は、省略するが、前述した枠６１Ａ、枠６２Ａと同様に各種の形態が可能である。なお、枠６３Ａは表示しなくてもよい。
なお、仮想撮像部８２Ａの場合については説明を省略する。
【０１２５】
次に、シミュレーションにおいて作業者が行う作業手順の１例について、図８に基づいて簡単に説明する。
【０１２６】
まず、作業者は、仮想ロボット１Ａ、仮想ワーク７１Ａ、仮想容器７２Ａ等を所定の位置に配置する（ステップＳ１０１）。
【０１２７】
次いで、仮想撮像部８１Ａ、仮想撮像部８２Ａの各部の選定を行う（ステップＳ１０２）。
【０１２８】
次いで、仮想撮像部８１Ａ、仮想撮像部８２Ａを所定の位置に配置する（ステップＳ１０３）。
【０１２９】
次いで、各部のレイアウトの検証を行い（ステップＳ１０４）、不合格の場合は、ステップＳ１０２に戻り、再度、ステップＳ１０２以降を行う。
また、合格の場合は、ロボットの動作プログラムを作成する（ステップＳ１０５）。
【０１３０】
次いで、経路、不本意な干渉（衝突、接触等）、サイクルタイム等の検証を行い（ステップＳ１０６）、不合格の場合は、ステップＳ１０５に戻り、再度、ステップＳ１０５以降を行う。
また、合格の場合は、以上で、作業を終了する。
【０１３１】
以上説明したように、ロボットシステム１００によれば、ミュレーションにおいて、仮想撮像部８１Ａ、７２Ａの被写界深度の前面における視野および後面における視野を表示装置３１に表示することができるので、仮想撮像部８１Ａ、８２Ａの光軸６６Ａ方向の各部のレイアウト検証等を容易かつ迅速に行うことができる。
【０１３２】
具体的には、仮想撮像部８１Ａ、８２Ａ、すなわち、仮想本体８１１Ａ、８２１Ａ、仮想レンズユニット８１３Ａ、８２３Ａ、仮想エクステンションチューブ８１４Ａ、８２４Ａ等の光学機器の選定、レイアウト検証、経路検証、プログラム検証等のビジョンを用いたシステムを作成する一連のオフライン作業を完結させることができる。また、実機を制作する前に各検証を行うことができるので、実機でのやり直し、各機器の買い直し等が生じることを抑制することができる。
【０１３３】
また、シミュレーションを行って、オフラインティーチングを行うことができ、ロボット１の動作プログラムの作成、検証を行うことができる。
【０１３４】
以上説明したように、シミュレーション装置５は、ロボット１を仮想化した仮想ロボット１Ａによるシミュレーションを行うシミュレーション装置である。シミュレーション装置５は、仮想撮像部８１Ａ、８２Ａの被写界深度および視野に関する情報の入力を受け付ける外部入出力部５３（受付部）と、仮想ロボット１Ａと、仮想撮像部８１Ａ、８２Ａと、外部入出力部５３（受付部）が受け付けた前記情報に基づいて求めた被写界深度の前面における仮想撮像部８１Ａ、８２Ａの視野および被写界深度の後面における仮想撮像部８１Ａ、８２Ａの視野とを表示装置３１（表示部）に表示させる制御部５１と、を備える。
【０１３５】
このようなシミュレーション装置によれば、仮想撮像部８１Ａ、８２Ａの被写界深度の前面における視野および後面における視野を表示装置３１（表示部）に表示することができるので、仮想撮像部８１Ａ、８２Ａの光軸方向の各部のレイアウト検証等を容易かつ迅速に行うことができる。
【０１３６】
また、仮想撮像部８１Ａ、８２Ａの被写界深度および視野に関する情報は、仮想撮像部８１Ａ、８２Ａに用いられる仮想レンズユニット８１３Ａ、８２３Ａ（仮想レンズ）に関する情報および仮想エクステンションチューブ８１４Ａ、８２４Ａに関する情報の少なくとも１つを含む。これにより、適確に、仮想撮像部８１Ａ、８２Ａの被写界深度の前面における視野および後面における視野を表示装置３１（表示部）に表示することができる。
【０１３７】
また、外部入出力部５３（受付部）は、仮想ロボット１Ａに仮想撮像部８１Ａ、８２Ａを取り付ける取付部分に関する情報の入力を受け付け可能であり、制御部５１は、外部入出力部５３（受付部）が受け付けた取付部分に取り付けられた仮想撮像部８１Ａ、８２Ａを表示装置３１（表示部）に表示させる。これにより、容易に、仮想撮像部８１Ａ、８２Ａを取付部分に取り付けることができる。
【０１３８】
また、制御部５１は、仮想撮像部８１Ａ、８２Ａの被写界深度の前面における視野の中心および仮想撮像部８１Ａ、８２Ａの被写界深度の後面における視野の中心を表示装置３１（表示部）に表示させる。これにより、容易に、仮想撮像部８１Ａ、８２Ａの被写界深度の前面における仮想撮像部８１Ａ、８２Ａの視野の中心および被写界深度の後面における仮想撮像部８１Ａ、８２Ａの視野の中心を容易に把握することができ、利便性が良い。
【０１３９】
また、制御部５１は、仮想撮像部８１Ａ、８２Ａの被写界深度の前面と被写界深度の後面との間の中間位置を表示装置３１（表示部）に表示させる。これにより、容易に、仮想撮像部８１Ａ、８２Ａの被写界深度の前面と被写界深度の後面との間の中間位置を容易に把握することができ、利便性が良い。
【０１４０】
また、制御部５１は、仮想撮像部８１Ａ、８２Ａの光軸６６Ａを表示装置３１（表示部）に表示させる。これにより、仮想撮像部８１Ａ、８２Ａの光軸６６Ａ、すなわち、仮想撮像部８１Ａ、８２Ａからの各距離の地点における仮想撮像部８１Ａ、８２Ａの視野の中心を容易に把握することができ、利便性が良い。
【０１４１】
また、ロボット制御装置２（制御装置）は、シミュレーション装置５によるシミュレーション結果に基づいてロボット１を制御する。
【０１４２】
このようなロボット制御装置２（制御装置）によれば、シミュレーション装置５で作成した動作プログラムを用いてロボット１に適切な動作を行わせることができる。
【０１４３】
また、ロボット１は、ロボットアーム１０を有し、ロボット制御装置２（制御装置）によって制御される。
【０１４４】
このようなロボット１によれば、ロボット制御装置２（制御装置）の制御により、適切な動作を行うことができる。
【０１４５】
また、シミュレーション装置５は、ロボットを仮想化した仮想ロボット１Ａによるシミュレーションを行うシミュレーション装置である。シミュレーション装置５は、プロセッサーを備え、プロセッサーは、仮想撮像部８１Ａ、８２Ａの被写界深度および視野に関する情報の入力を受け付け、かつ、仮想ロボット１Ａと、仮想撮像部８１Ａ、８２Ａと、受け付けた前記情報に基づいて求めた被写界深度の前面における仮想撮像部８１Ａ、８２Ａの視野および前記被写界深度の後面における仮想撮像部８１Ａ、８２Ａの視野とを表示装置３１（表示部）に表示させる。
【０１４６】
このようなシミュレーション装置によれば、仮想撮像部８１Ａ、８２Ａの被写界深度の前面における視野および後面における視野を表示装置３１（表示部）に表示することができるので、仮想撮像部８１Ａ、８２Ａの光軸方向の各部のレイアウト検証等を容易かつ迅速に行うことができる。
【０１４７】
＜第２実施形態＞
図９は、第２実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの１例を示す図である。
【０１４８】
以下、第２実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項はその説明を省略する。
【０１４９】
図９に示すように、第２実施形態のシミュレーション装置５では、制御部５１は、仮想撮像部８１Ａの仮想撮像画像を表示装置３１に表示させる。すなわち、図３に示す画面ＷＤ１に、サブウィンドウ（別のサブウィンドウ）として、図９に示す画面ＷＤ２が表示される。そして、画面ＷＤ２には、枠６１Ａ、６２Ａ、マーク６１１Ａ、６１２Ａが表示される。これにより、仮想撮像部８Ａの仮想撮像画像を見ることができ、利便性が良い。なお、画面ＷＤ２は、表示されなくてもよい。
【０１５０】
また、制御部５１は、仮想撮像部８１Ａの仮想撮像画像および仮想撮像部８１Ａの視野外の部分９１（領域）を表示装置３１に表示させる。この仮想撮像部８１Ａの視野外の部分９１は、仮想撮像部８１Ａの視野の外側の部分（視野を囲む部分）であって、視野と連続している。すなわち、視野の周囲の部分である。これにより、仮想撮像画像のみを表示した場合では、仮想撮像部８１Ａがどの部分を撮像したのかを把握し難い場合でも、さらに仮想撮像部８１Ａの視野外の部分９１Ａを表示することにより、容易に、仮想撮像部８１Ａがどの部分を撮像したのかを把握することができる。
【０１５１】
ここで、画面ＷＤ２に表示される仮想撮像部８１Ａの仮想撮像画像の部分と、視野外の部分９１との配分は、特に限定されず、適宜設定される。この場合、視野外の部分９１の面積は、例えば、仮想撮像画像の部分の面積に対する比率で設定したり、具体的な数値（面積、幅等）で設定する方法等が挙げられる。
なお、視野外の部分９１は、表示されなくてもよい。
【０１５２】
また、制御部５１は、仮想撮像部８１Ａの被写界深度から光軸６６Ａ方向にずれている仮想撮像部８１Ａの仮想撮像画像、すなわち、前面よりも仮想撮像部８１Ａに近い位置の仮想被写体を撮像して得られる仮想画像と、後面よりも仮想撮像部８１Ａから近い位置の仮想被写体を撮像して得られる仮想画像とは、それぞれ、ぼかして表示装置３１に表示させる。これにより、仮想撮像部８１Ａの仮想撮像画像を見て、仮想被写体が仮想撮像部８１Ａの被写界深度から光軸６６Ａ方向にずれていることを容易に把握することができる。なお、このような仮想撮像画像をぼかして表示することは、行わなくてもよい。
【０１５３】
また、制御部５１は、仮想撮像部８２Ａの仮想撮像画像を表示装置３１に表示させる。すなわち、図３に示す画面ＷＤ１に、サブウィンドウ（別のサブウィンドウ）として、前述した画面ＷＤ２と同様の画面（図示せず）が表示される。なお、仮想撮像部８２Ａの場合は、仮想撮像部８１Ａの場合と同様であるので、その説明は省略する。
【０１５４】
このようにして、画面ＷＤ１には、仮想撮像部の台数分の画面がサブウィンドウとして表示される。
【０１５５】
以上のような第２実施形態によっても、前述した実施形態と同様の効果を発揮することができる。
【０１５６】
以上説明したように、制御部５１は、仮想撮像部８１Ａ、８２Ａの仮想撮像画像を表示装置３１に表示させる。これにより、仮想撮像部８１Ａ、８２Ａの仮想撮像画像を見ることができ、利便性が良い。
【０１５７】
また、制御部５１は、８１Ａ、８２Ａの仮想撮像画像、および仮想撮像部８１Ａ、８２Ａの視野外の部分９１を表示装置３１に表示させる。これにより、仮想撮像画像のみを表示した場合では、仮想撮像部８１Ａ、８２Ａがどの部分を撮像したのかを把握し難い場合でも、さらに仮想撮像部８１Ａ、８２Ａの視野外の部分９１Ａを表示することにより、容易に、仮想撮像部８１Ａ、８２Ａがどの部分を撮像したのかを把握することができる。
【０１５８】
以上、ロボットシステム１００について説明した。なお、「ロボットシステム」は、図１０、図１１に示す形態であってもよい。
【０１５９】
図１０、図１１は、それぞれ、ロボットシステムの他の構成例を示す図（ブロック図）である。
【０１６０】
図１０には、ロボット１に直接コンピューター６３が接続されたロボットシステム１００Ｂの全体構成図を示す。ロボット１の制御はコンピューター６３に存在するプロセッサーによりメモリーにある指令を読み出して直接実行される。コンピューター６３は、前述したロボット制御装置２およびシミュレーション装置５の機能を有する。
【０１６１】
図１１には、コントローラー６１が内蔵させたロボット１とコンピューター６６とが接続され、コンピューター６６がＬＡＮ（Local Area Network）等のネットワーク６５を介してクラウド６４に接続されているロボットシステム１００Ｃの全体構成図を示す。ロボット１の制御はコンピューター６６に存在するプロセッサーによりメモリーにある指令を読み出して実行されてもよいし、クラウド６４上に存在するプロセッサーによりコンピューター６６を介してメモリーにある指令を読み出して実行されてもよい。コントローラー６１が、前述したロボット制御装置２の機能を有し、コンピューター６６またはクラウド６４が、前述したシミュレーション装置５の機能を有する。
【０１６２】
また、ロボットシステム１００Ｂ、１００Ｃでは、各プロセッサーは、それぞれ、１つの装置で構成されていてもよく、また、複数の装置で構成されていてもよい、すなわち、複数の単位プロセッサーに分かれていてもよい。
【０１６３】
以上、本発明のシミュレーション装置、制御装置およびロボットを図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物が付加されていてもよい。
【０１６４】
また、本発明は、前記各実施形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１６５】
また、前述した実施形態では、ロボットとして、スカラーロボット（水平多関節ロボット）を例示したが、当該ロボットは、これに限らず、例えば、垂直多関節ロボット、脚部を有する脚式歩行（走行）ロボット等の他の形態のロボットであってもよい。また、当該ロボットは、単腕ロボットに限定されず、例えば、双腕ロボット等の他のロボットであってもよい。したがって、ロボットアーム（可動部）の数は、１つに限定されず、２つ以上であってもよい。また、ロボットアーム（可動部）が有するアームの数は、前述した実施形態では、３つであるが、１つ、２つまたは４つ以上であってもよい。
【符号の説明】
【０１６６】
１…ロボット、１Ａ…仮想ロボット、２…ロボット制御装置、５…シミュレーション装置、１０…ロボットアーム、１０Ａ…仮想ロボットアーム、１１…アーム、１１Ａ…仮想アーム、１２…アーム、１２Ａ…仮想アーム、１３…作業ヘッド、１３Ａ…仮想作業ヘッド、１７…エンドエフェクター、１７Ａ…仮想エンドエフェクター、１８…力覚センサー、１８Ａ…仮想力覚センサー、２１…制御部、２２…記憶部、２３…外部入出力部、３１…表示装置、３２…入力装置、４０…ツールバー、４１…ダイアログ、４２…ダイアログ、５１…制御部、５２…記憶部、５３…外部入出力部、６１…コントローラー、６１Ａ…枠、６２Ａ…枠、６３…コンピューター、６３Ａ…枠、６４…クラウド、６５…ネットワーク、６６…コンピューター、６６Ａ…光軸、７０…設置箇所、７１Ａ…仮想ワーク、７２Ａ…仮想容器、８１Ａ…仮想撮像部、８２Ａ…仮想撮像部、９１Ａ…視野外の部分、１００…ロボットシステム、１００Ｂ…ロボットシステム、１００Ｃ…ロボットシステム、１１０…基台、１１０Ａ…仮想基台、１３０…駆動部、１３１…シャフト、１３１Ａ…仮想シャフト、１４０…角度センサー、１７１…関節、１７１Ａ…仮想関節、１７２…関節、１７２Ａ…仮想関節、４１１…ドロップダウンリスト、４１２…ドロップダウンリスト、４１３…ドロップダウンリスト、４１４…ドロップダウンリスト、４１５…ドロップダウンリスト、４１６…ドロップダウンリスト、４１７…ドロップダウンリスト、４１８…ボタン、４２１…ドロップダウンリスト、４２２…ドロップダウンリスト、６１１Ａ…マーク、６１２Ａ…マーク、６２１Ａ…マーク、６３１Ａ…マーク、８１１Ａ…仮想本体、８１２Ａ…仮想撮像素子、８１３Ａ…仮想レンズユニット、８１４Ａ…仮想エクステンションチューブ、８２１Ａ…仮想本体、８２２Ａ…仮想撮像素子、８２３Ａ…仮想レンズユニット、８２４Ａ…仮想エクステンションチューブ、Ｓ１０１…ステップ、Ｓ１０２…ステップ、Ｓ１０３…ステップ、Ｓ１０４…ステップ、Ｓ１０５…ステップ、Ｓ１０６…ステップ、ＷＤ１…画面、ＷＤ２…画面
【図１】
2019081236.tif 000003
【図２】
2019081236.tif 000004
【図３】
2019081236.tif 000005
【図４】
2019081236.tif 000006
【図５】
2019081236.tif 000007
【図６】
2019081236.tif 000008
【図７】
2019081236.tif 000009
【図８】
2019081236.tif 000010
【図９】
2019081236.tif 000011
【図１０】
2019081236.tif 000012
【図１１】
2019081236.tif 000013