(57)【要約】【課題】仮想ロボットによるシミュレーションにおいて、容易に、仮想対象物を取付部分に取り付け、仮想ロボットの動作に連動して仮想対象物を動作させることができるシミュレーション装置、制御装置およびロボットを提供すること。【解決手段】仮想ロボットによるシミュレーションを行うシミュレーション装置であって、前記仮想ロボットと仮想対象物とを連動させて動作させるか否かに関する情報の入力と、前記仮想ロボットに前記仮想対象物を取り付ける取付部分に関する情報の入力を受け付ける受付部と、前記仮想ロボットと、前記受付部が受け付けた前記取付部分に取り付けられた前記仮想対象物とを表示部に表示させ、前記仮想ロボットと前記仮想対象物とを連動させて動作させる入力を前記受付部が受け付けた場合、前記仮想ロボットの動作に連動して、前記仮想対象物を動作させる制御部と、を備えることを特徴とするシミュレーション装置。【選択図】図１
2019081242.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを仮想化した仮想ロボットによるシミュレーションを行うシミュレーション装置であって、
前記仮想ロボットと仮想対象物とを連動させて動作させるか否かに関する情報の入力と、前記仮想ロボットに前記仮想対象物を取り付ける取付部分に関する情報の入力とを受け付ける受付部と、
前記仮想ロボットと、前記受付部が受け付けた前記取付部分に取り付けられた前記仮想対象物とを表示部に表示させ、前記仮想ロボットと前記仮想対象物とを連動させて動作させる入力を前記受付部が受け付けた場合、前記仮想ロボットの動作に連動して、前記仮想対象物を動作させる制御部と、を備えることを特徴とするシミュレーション装置。
【請求項２】
前記取付部分に取り付けられた前記仮想対象物は、前記取付部分から位置を変更可能である請求項１に記載のシミュレーション装置。
【請求項３】
前記取付部分は、前記仮想ロボットが有する仮想関節を含む請求項１または２に記載のシミュレーション装置。
【請求項４】
前記受付部は、前記仮想ロボットが有する複数の座標系からの１つの座標系の選択を受付可能であり、
前記制御部は、前記仮想ロボットと前記仮想対象物とを連動させて動作させる入力を前記受付部が受け付けた場合、前記選択された座標系の原点と、前記仮想対象物が有する座標系の原点とを一致させた状態で、前記表示部に表示させる請求項１ないし３のいずれか１項に記載のシミュレーション装置。
【請求項５】
前記制御部は、前記仮想ロボットと前記仮想対象物とを連動させて動作させる入力を前記受付部が受け付けた場合、前記取付部分とは異なる仮想物体と、前記仮想対象物とが干渉した場合、前記取付部分とは異なる前記仮想物体と前記仮想対象物とが干渉したことを前記表示部に表示させる請求項１ないし４のいずれか１項に記載のシミュレーション装置。
【請求項６】
前記仮想対象物は、仮想力覚センサーを含む請求項１ないし５のいずれか１項に記載のシミュレーション装置。
【請求項７】
前記仮想対象物は、仮想エンドエフェクターを含み、
前記制御部は、前記仮想エンドエフェクターが前記仮想ロボットに取り付けられた状態で、前記仮想力覚センサーを前記仮想ロボットに取り付ける場合、前記仮想エンドエフェクターの位置を変更し、前記仮想力覚センサーを前記仮想ロボットと前記仮想エンドエフェクターとの間に取り付けた状態で前記表示部に表示させる請求項６に記載のシミュレーション装置。
【請求項８】
前記制御部は、前記仮想力覚センサーが有する力覚センサー座標系を前記表示部に表示させる請求項６または７に記載のシミュレーション装置。
【請求項９】
前記仮想対象物は、仮想エンドエフェクターを含み、
前記制御部は、前記仮想エンドエフェクターまたは前記仮想エンドエフェクターが保持する仮想保持対象物が、他の仮想物体に作用する作用点を原点としたフォース座標系を前記表示部に表示させる請求項６ないし８のいずれか１項に記載のシミュレーション装置。
【請求項１０】
前記制御部は、前記作用点に作用する力の大きさを前記表示部に表示させる請求項９に記載のシミュレーション装置。
【請求項１１】
前記力の大きさは、矢印の大きさで表される請求項１０に記載のシミュレーション装置。
【請求項１２】
請求項１ないし１１のいずれか１項に記載のシミュレーション装置によるシミュレーション結果に基づいてロボットを制御することを特徴とする制御装置。
【請求項１３】
対象物を取り付けることが可能な取付部分を有し、
請求項１２に記載の制御装置によって制御されることを特徴とするロボット。
【請求項１４】
ロボットを仮想化した仮想ロボットによるシミュレーションを行うシミュレーション装置であって、
プロセッサーを備え、
前記プロセッサーは、前記仮想ロボットと仮想対象物とを連動させて動作させるか否かに関する情報の入力と、前記仮想ロボットに前記仮想対象物を取り付ける取付部分に関する情報の入力とを受け付け、かつ、前記仮想ロボットと、受け付けた前記取付部分に取り付けられた前記仮想対象物とを表示部に表示させ、前記仮想ロボットと前記仮想対象物とを連動させて動作させる入力を受け付けた場合、前記仮想ロボットの動作に連動して、前記仮想対象物を動作させることを特徴とするシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置、制御装置およびロボットに関する。
【背景技術】
【０００２】
基台と、複数のアーム（リンク）を有するロボットアームとを備えるロボットが知られている。ロボットアームの隣り合う２つのアームのうちの一方のアームは、関節部を介して、他方のアームに回動可能に連結され、最も基端側（最も上流側）のアームは、関節部を介して、基台に回動可能に連結されている。関節部はモーターにより駆動され、その関節部の駆動により、アームが回動する。また、最も先端側（最も下流側）のアームには、エンドエフェクターとして、例えば、着脱可能にハンドが装着される。そして、ロボットは、例えば、ハンドで対象物を把持し、その対象物を所定の場所へ移動させ、組立等の所定の作業を行う。このようなロボットでは、実際に作業を行う前に、ロボットに対して教示を行う必要がある。
【０００３】
特許文献１には、ロボットのシミュレーションを行うロボットシミュレーターが開示されている。
【０００４】
特許文献１に記載のロボットシミュレーターでは、ハンドによりワークを把持し、そのワークを移動させる場合、ハンド側に設定されたニードル（座標軸）と、ワーク側に設定された立体座標とが交差するか否かに応じて、ハンドによるワークの把持の成否を判断するようになっている。このロボットシミュレーターを用いて、ロボットに対してオフラインで教示（オフラインティーチング）を行うことが可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２１４５７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載のロボットシミュレーターでは、シミュレーションにおいてハンドがワークを把持できるようにするために、実機にはない仮想のニードルをハンド側に設定する作業を行う必要があり、その作業に多大な労力および時間を要する。
【課題を解決するための手段】
【０００７】
本発明は、前述した課題の少なくとも一部を解決するためになされたものであり、以下により実現することが可能である。
【０００８】
本発明のシミュレーション装置は、ロボットを仮想化した仮想ロボットによるシミュレーションを行うシミュレーション装置であって、
前記仮想ロボットと仮想対象物とを連動させて動作させるか否かに関する情報の入力と、前記仮想ロボットに前記仮想対象物を取り付ける取付部分に関する情報の入力とを受け付ける受付部と、
前記仮想ロボットと、前記受付部が受け付けた前記取付部分に取り付けられた前記仮想対象物とを表示部に表示させ、前記仮想ロボットと前記仮想対象物とを連動させて動作させる入力を前記受付部が受け付けた場合、前記仮想ロボットの動作に連動して、前記仮想対象物を動作させる制御部と、を備えることを特徴とする。
【０００９】
このようなシミュレーション装置によれば、仮想ロボットと仮想対象物とを連動させて動作させるか否かに関する情報の入力と、仮想ロボットに仮想対象物を取り付ける取付部分に関する情報の入力とを行うことにより、容易に、仮想対象物を取付部分に取り付け、仮想ロボットの動作に連動して仮想対象物を動作させることができる。これにより、容易に、実機に即したシミュレーションを行うことができる。
【００１０】
本発明のシミュレーション装置では、前記取付部分に取り付けられた前記仮想対象物は、前記取付部分から位置を変更可能であることが好ましい。
これにより、仮想対象物を取付部分から離間した位置に配置させることができる。
【００１１】
本発明のシミュレーション装置では、前記取付部分は、前記仮想ロボットが有する仮想関節を含むことが好ましい。
これにより、仮想対象物を仮想ロボットの仮想関節に取り付けることができる。
【００１２】
本発明のシミュレーション装置では、前記受付部は、前記仮想ロボットが有する複数の座標系からの１つの座標系の選択を受付可能であり、
前記制御部は、前記仮想ロボットと前記仮想対象物とを連動させて動作させる入力を前記受付部が受け付けた場合、前記選択された座標系の原点と、前記仮想対象物が有する座標系の原点とを一致させた状態で、前記表示部に表示させることが好ましい。
これにより、容易に、仮想対象物を適切な位置に配置させることができる。
【００１３】
本発明のシミュレーション装置では、前記制御部は、前記仮想ロボットと前記仮想対象物とを連動させて動作させる入力を前記受付部が受け付けた場合、前記取付部分とは異なる仮想物体と、前記仮想対象物とが干渉した場合、前記取付部分とは異なる前記仮想物体と前記仮想対象物とが干渉したことを前記表示部に表示させることが好ましい。
【００１４】
これにより、容易に、取付部分とは異なる仮想物体と仮想対象物とが干渉したことを把握することができる。これによって、実機の作成前に、周辺機器の配置の検証、動作経路の検証等を容易に行うことができる。
【００１５】
本発明のシミュレーション装置では、前記仮想対象物は、仮想力覚センサーを含むことが好ましい。
これにより、仮想力覚センサーを取付部分に取り付けることができる。
【００１６】
本発明のシミュレーション装置では、前記仮想対象物は、仮想エンドエフェクターを含み、
前記制御部は、前記仮想エンドエフェクターが前記仮想ロボットに取り付けられた状態で、前記仮想力覚センサーを前記仮想ロボットに取り付ける場合、前記仮想エンドエフェクターの位置を変更し、前記仮想力覚センサーを前記仮想ロボットと前記仮想エンドエフェクターとの間に取り付けた状態で前記表示部に表示させることが好ましい。
【００１７】
これにより、容易に、実機と同様の位置に、仮想力覚センサーおよび仮想エンドエフェクターを配置させることができる。
【００１８】
本発明のシミュレーション装置では、前記制御部は、前記仮想力覚センサーが有する力覚センサー座標系を前記表示部に表示させることが好ましい。
【００１９】
これにより、力覚センサー座標系を把握することができる。この力覚センサー座標系の各軸は、仮想力覚センサーが検出する力の検出軸である。
【００２０】
本発明のシミュレーション装置では、前記仮想対象物は、仮想エンドエフェクターを含み、
前記制御部は、前記仮想エンドエフェクターまたは前記仮想エンドエフェクターが保持する仮想保持対象物が、他の仮想物体に作用する作用点を原点としたフォース座標系を前記表示部に表示させることが好ましい。
【００２１】
これにより、仮想エンドエフェクターまたは仮想エンドエフェクターが保持する仮想保持対象物の作用点と、フォース座標系とを把握することができる。このフォース座標系は、仮想力覚センサーで検出される力を用いた機能を実行するための座標系であり、フォース座標系の各軸は、前記作用点に加わる力の各成分の方向を向いている。
【００２２】
本発明のシミュレーション装置では、前記制御部は、前記作用点に作用する力の大きさを前記表示部に表示させることが好ましい。
【００２３】
これにより、仮想エンドエフェクターまたは仮想エンドエフェクターが保持する仮想保持対象物の作用点に加わる力を把握することができる。
【００２４】
本発明のシミュレーション装置では、前記力の大きさは、矢印の大きさで表されることが好ましい。
【００２５】
これにより、仮想エンドエフェクターまたは仮想エンドエフェクターが保持する仮想保持対象物の作用点に加わる力を容易に把握することができる。
【００２６】
本発明の制御装置は、本発明のシミュレーション装置によるシミュレーション結果に基づいてロボットを制御することを特徴とする。
【００２７】
このような制御装置によれば、シミュレーション装置で作成した動作プログラムを用いてロボットに適切な動作を行わせることができる。
【００２８】
本発明のロボットは、対象物を取り付けることが可能な取付部分を有し、
本発明の制御装置によって制御されることを特徴とする。
【００２９】
このようなロボットによれば、制御装置の制御により、適切な動作を行うことができる。
【００３０】
本発明のシミュレーション装置は、ロボットを仮想化した仮想ロボットによるシミュレーションを行うシミュレーション装置であって、
プロセッサーを備え、
前記プロセッサーは、前記仮想ロボットと仮想対象物とを連動させて動作させるか否かに関する情報の入力と、前記仮想ロボットに前記仮想対象物を取り付ける取付部分に関する情報の入力とを受け付け、かつ、前記仮想ロボットと、受け付けた前記取付部分に取り付けられた前記仮想対象物とを表示部に表示させ、前記仮想ロボットと前記仮想対象物とを連動させて動作させる入力を受け付けた場合、前記仮想ロボットの動作に連動して、前記仮想対象物を動作させることを特徴とする。
【００３１】
このようなシミュレーション装置によれば、仮想ロボットと仮想対象物とを連動させて動作させるか否かに関する情報の入力と、仮想ロボットに仮想対象物を取り付ける取付部分に関する情報の入力とを行うことにより、容易に、仮想対象物を取付部分に取り付け、仮想ロボットの動作に連動して仮想対象物を動作させることができる。これにより、容易に、実機に即したシミュレーションを行うことができる。
【図面の簡単な説明】
【００３２】
【図１】第１実施形態に係るロボットシステムを示す図である。
【図２】図１に示すロボットシステムのブロック図である。
【図３】表示装置に表示される画面の一例を示す図である。
【図４】表示装置に表示される画面の一例を示す図である。
【図５】表示装置に表示される画面の一例を示す図である。
【図６】表示装置に表示される画面の一例を示す図である。
【図７】表示装置に表示される画面の一例を示す図である。
【図８】表示装置に表示される画面の一例を示す図である。
【図９】表示装置に表示される画面の一例を示す図である。
【図１０】表示装置に表示される画面の一例を示す図である。
【図１１】表示装置に表示される画面の一例を示す図である。
【図１２】図１に示すロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図１３】図１に示すロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図１４】図１に示すロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図１５】図１に示すロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図１６】図１に示すロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図１７】第２実施形態に係るロボットシステムの表示装置に表示される画面の一例を示す図である。
【図１８】第２実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図１９】第２実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図２０】第２実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図２１】第２実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図２２】第２実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図２３】第２実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図２４】第３実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図２５】第３実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図２６】第４実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図２７】第４実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図２８】第５実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図２９】第５実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図３０】第５実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図３１】第５実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図３２】第５実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図３３】第５実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図３４】第５実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図３５】第６実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図３６】第６実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【図３７】ロボットシステムの他の構成例を示す図（ブロック図）である。
【図３８】ロボットシステムの他の構成例を示す図（ブロック図）である。
【発明を実施するための形態】
【００３３】
以下、本発明のシミュレーション装置、制御装置およびロボットを添付図面に示す実施形態に基づいて詳細に説明する。
【００３４】
＜第１実施形態＞
≪ロボットシステム≫  図１は、実施形態に係るロボットシステムを示す図である。図２は、図１に示すロボットシステムのブロック図である。図３〜図１１は、それぞれ、表示装置に表示される画面の一例を示す図である。図１２〜図１６は、図１に示すロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【００３５】
また、図１には、互いに直交する３つの軸としてｘｒ軸、ｙｒ軸およびｚｒ軸が図示されており、各軸を示す矢印の先端側を「＋（正）」、基端側を「−（負）」とする。また、図１中のｚｒ軸方向を「鉛直方向」とし、ｘｒ−ｙｒ平面に沿った方向を「水平方向」とする。また、＋ｚｒ軸側を「上方」とし、−ｚｒ軸側を「下方」とする。
【００３６】
また、以下では、説明の都合上、図１および図３中の上側を「上」または「上方」、下側を「下」または「下方」と言う。また、図１および図３中の基台側を「基端」または「上流」、その反対側を「先端」または「下流」と言う。また、図１および図３中の上下方向が鉛直方向である。
【００３７】
また、本明細書において、「水平」とは、完全に水平な場合のみならず、水平に対して±５°以内で傾斜している場合も含む。同様に、本明細書において、「鉛直」とは、完全に鉛直な場合のみならず、鉛直に対して±５°以内で傾斜している場合も含む。また、本明細書において、「平行」とは、２つの線（軸を含む）または面が、互いに完全な平行である場合のみならず、±５°以内で傾斜している場合も含む。また、本明細書において、「直交」とは、２つの線（軸を含む）または面が、互いに完全な直交である場合のみならず、±５°以内で傾斜している場合も含む。
【００３８】
図１に示すロボットシステム１００は、ロボット１と、ロボット１の動作（駆動）を制御するロボット制御装置２（制御装置）と、ロボット制御装置２と通信可能なシミュレーション装置５と、を有する。
【００３９】
以下、ロボットシステム１００が有する各部を順次説明する。
〈ロボット〉  ロボット１は、いわゆる６軸の垂直多関節ロボットであり、例えば、精密機器等を製造する製造工程等で用いられ、精密機器や部品等の保持対象物（図示せず）の保持や搬送等の作業を行う。ロボット１は、基台１１０と、基台１１０に接続されたロボットアーム１０（可動部）とを有する。なお、保持対象物としては、ロボット１が行う作業で用いられるものであればよく、特に限定されない。
【００４０】
基台１１０は、ロボット１を例えば床等の任意の設置箇所７０に取り付ける部分である。ロボットアーム１０は、アーム１１（第１アーム）、アーム１２（第２アーム）、アーム１３（第３アーム）、アーム１４（第４アーム）、アーム１５（第５アーム）およびアーム１６（第６アーム）を有する。また、アーム１５およびアーム１６によりリストが構成されている。また、アーム１６は、円盤状をなしており、そのアーム１６の先端には、エンドエフェクター１７（保持部）を着脱可能に設ける（取り付ける）ことが可能になっている。これらアーム１１〜１６は、基台１１０側からエンドエフェクター１７側に向かってこの順に連結されている。また、各アーム１１〜１６は、隣り合うアームまたは基台１１０に対して回動可能になっている。すなわち、基台１１０とアーム１１とは、関節１７１（ジョイント）を介して連結されている。また、アーム１１とアーム１２とは、関節１７２（ジョイント）を介して連結されている。また、アーム１２とアーム１３とは、関節１７３（ジョイント）を介して連結されている。また、アーム１３とアーム１４とは、関節１７４（ジョイント）を介して連結されている。また、アーム１４とアーム１５とは、関節１７５（ジョイント）を介して連結されている。また、アーム１５とアーム１６とは、関節１７６（ジョイント）を介して連結されている。
【００４１】
エンドエフェクター１７としては、保持対象物を保持、解放（保持の解除）することが可能なもの（装置）であれば特に限定されないが、本実施形態では、エンドエフェクター１７として、保持対象物を吸着（保持）、解放することが可能な吸着ヘッド（吸着装置）が用いられている。また、エンドエフェクター１７の他の構成例としては、例えば、保持対象物を把持（保持）、解放することが可能なハンド等が挙げられる。また、保持対象物を保持するとは、保持対象物を移動または保持対象物の姿勢を変更させることが可能なように、保持対象物を持つことであり、例えば、把持（掴む）、吸着、載置等が含まれる。
また、エンドエフェクター１７の先端中心をツールセンターポイントＰという。
【００４２】
また、図２に示すように、ロボット１は、一方のアームを他方のアーム（または基台１１０）に対して回動させるモーターおよび減速機等を備える駆動部１３０を有する。モーターとしては、例えば、ＡＣサーボモーター、ＤＣサーボモーター等のサーボモーターを用いることができる。減速機としては、例えば、遊星ギア型の減速機、波動歯車装置等を用いることができる。また、ロボット１は、モーターまたは減速機の回転軸の回転角度を検出する角度センサー１４０を有する。角度センサー１４０としては、例えば、ロータリーエンコーダー等を用いることができる。また、駆動部１３０および角度センサー１４０は、各アーム１１〜１６に対応して設けられており、本実施形態では、ロボット１は、６つの駆動部１３０および６つの角度センサー１４０を有する。
【００４３】
また、各駆動部１３０は、図示はしないが、例えば図１に示す基台１１０に内蔵されたモータードライバーと電気的に接続（以下、単に「接続」とも言う）されている。各駆動部１３０は、対応するモータードライバーを介してロボット制御装置２により制御される。また、各角度センサー１４０は、ロボット制御装置２に電気的に接続されている。また、エンドエフェクター１７を駆動する駆動部（図示せず）は、ロボット制御装置２により制御される。
【００４４】
以上、ロボット１の構成について簡単に説明した。このようなロボット１は、後述するロボット制御装置２によって制御される。これにより、ロボット１は、適切な動作を行うことができる。
【００４５】
なお、ロボット１は、図示はしないが、例えばエンドエフェクター１７に加わる力（モーメントを含む）を検出する６軸力覚センサー等で構成された力検出装置（力検出部）を備えていてもよい。力検出装置は、例えば、アーム１６とエンドエフェクター１７との間に配置され、ロボット制御装置２に電気的に接続される。力検出装置を設けることにより、例えば、インピーダンス制御等の力制御を行うことが可能になる。
【００４６】
〈ロボット制御装置〉  ロボット制御装置２は、ロボット１の動作を制御する。このロボット制御装置２は、ロボット１が有する各部の機能をつかさどるロボットコントローラーで構成されており、ロボット１およびシミュレーション装置５に対して通信可能に接続されている。
【００４７】
ロボット制御装置２とロボット１とは、例えばケーブル等を用いて有線方式で通信可能に接続されていてもよく、また、無線方式で通信可能に接続されていてもよい。また、ロボット制御装置２は、ロボット１と別体であってもよく、また、ロボット１（例えば、基台１１０等）にその一部または全部が内蔵されていてもよい。
【００４８】
また、ロボット制御装置２とシミュレーション装置５とは、例えばケーブル等を用いて有線方式で通信可能に接続されていてもよく、また、無線方式で通信可能に接続されていてもよい。
【００４９】
図２に示すように、ロボット制御装置２は、プロセッサーを備える制御部２１と、制御部２１に通信可能に接続されたメモリー等を備える記憶部２２と、外部インターフェース（Ｉ／Ｆ）を備える外部入出力部２３（受付部）と、を含む。外部入出力部２３は、ロボット制御装置２の受付部の一例である。ロボット制御装置２の各構成要素は、種々のバスを介して相互通信可能に接続されている。
【００５０】
制御部２１は、記憶部２２に記憶された各種プログラム等を実行する。これにより、ロボット１の動作の制御や各種演算および判断等の処理を実現できる。
【００５１】
記憶部２２には、制御部２１により実行可能な各種プログラムが保存（記憶）されている。また、記憶部２２には、外部入出力部２３で受け付けた各種データの保存が可能である。記憶部２２は、例えばＲＡＭ（Random Access Memory）等の揮発性メモリーや、ＲＯＭ（Read Only Memory）等の不揮発性メモリー等を含んで構成されている。なお、記憶部２２は、非着脱式に限らず、着脱式の外部記憶装置（図示せず）を有する構成であってもよい。
【００５２】
各種プログラムとしては、シミュレーション装置５から出力された動作プログラムや、動作プログラムの修正や変更をするプログラム等が挙げられる。各種データとしては、例えば、ツールセンターポイントＰの位置姿勢、各アーム１１〜１６の回動角度等に関するデータ等が挙げられる。
【００５３】
外部入出力部２３は、外部インターフェース（Ｉ／Ｆ）を備え、ロボット１およびシミュレーション装置５の各接続のために用いられる。
【００５４】
このようなロボット制御装置２は、後述するシミュレーション装置５によるシミュレーション結果（動作プログラム）に基づいて（を用いて）ロボット１を制御する。これにより、シミュレーション装置５で作成した動作プログラムを用いて、ロボット１に適切な動作を行わせることができる。また、シミュレーション装置５で作成した動作プログラムを用いてロボット１を動作させることができるので、実機でのティーチング作業を省略することができる。そのため、作業者（ユーザー）が実際にロボット１を動作させてティーチングすることに比べ、ティーチング時間を大幅に短縮することができる。
【００５５】
なお、ロボット制御装置２は、前述した構成に加えて、さらに他の構成が付加されていてもよい。また、ロボット制御装置２には、ディスプレイ等を有する表示装置や、例えばマウスやキーボード等の入力装置が接続されていてもよい。また、記憶部２２に保存されている各種プログラムやデータ等は、予め記憶部２２に記憶されたものであってもよいし、例えばＣＤ−ＲＯＭ等の記録媒体（図示せず）に格納されており、この記録媒体から提供されたものでもよいし、ネットワーク等を介して提供されたものであってもよい。
【００５６】
〈シミュレーション装置〉  シミュレーション装置５は、仮想空間上で、実機であるロボット１を仮想化した仮想ロボット１Ａを動作させ、実機であるロボット１の動作のシミュレーションを行う（図３等参照）。
【００５７】
仮想ロボット１Ａは、前述した実機であるロボット１に対応している（図１および図３参照）。具体的には、仮想ロボット１Ａは、仮想基台１１０Ａと、仮想基台１１０Ａに接続された仮想ロボットアーム１０Ａ（仮想可動部）とを有する。また、仮想ロボットアーム１０Ａは、仮想アーム１１Ａ（仮想第１アーム）、仮想アーム１２Ａ（仮想第２アーム）、仮想アーム１３Ａ（仮想第３アーム）、仮想アーム１４Ａ（仮想第４アーム）、仮想アーム１５Ａ（仮想第５アーム）および仮想アーム１６Ａ（仮想第６アーム）を有する。
また、各仮想アーム１１Ａ〜１６Ａは、隣り合う仮想アームまたは仮想基台１１０Ａに対して回動可能になっている。すなわち、仮想基台１１０Ａと仮想アーム１１Ａとは、仮想関節１７１Ａ（仮想ジョイント）を介して連結されている。また、仮想アーム１１Ａと仮想アーム１２Ａとは、仮想関節１７２Ａ（仮想ジョイント）を介して連結されている。また、仮想アーム１２Ａと仮想アーム１３Ａとは、仮想関節１７３Ａ（仮想ジョイント）を介して連結されている。また、仮想アーム１３Ａと仮想アーム１４Ａとは、仮想関節１７４Ａ（仮想ジョイント）を介して連結されている。また、仮想アーム１４Ａと仮想アーム１５Ａとは、仮想関節１７５Ａ（仮想ジョイント）を介して連結されている。また、仮想アーム１５Ａと仮想アーム１６Ａとは、仮想関節１７６Ａ（仮想ジョイント）を介して連結されている。また、仮想アーム１６Ａの先端には、仮想エンドエフェクター１７Ａ（仮想保持部）を着脱可能に設けることが可能になっている。
【００５８】
このように、各部の符号については、シミュレーション装置５（シミュレーション）では、符号の最後に「Ａ」を付けて表記し、実機では、符号に「Ａ」を付けないで表記する。また、各部の名称については、シミュレーション装置５では、名称の最初に「仮想」を付けて表記し、実機では、名称に「仮想」を付けない。例えば、仮想ロボット１Ａ（ロボット１）以外においては、実機での保持対象物は、シミュレーション装置５では、仮想保持対象物８０Ａとする。したがって、シミュレーション装置５と実機とのいずれか一方で説明したことは、他方ではそれに対応する説明は省略する。なお、ツールセンターポイントＰ、取付部分、各座標系等、一部については、シミュレーション装置５で、「Ａ」、「仮想」の記載を省略している。
【００５９】
図２に示すシミュレーション装置５は、例えばＰＣ（Personal Computer）等の種々のコンピューターで構成されており、ロボット制御装置２に対して通信可能に接続されている。
【００６０】
シミュレーション装置５は、プロセッサーを備える制御部５１と、制御部５１に通信可能に接続されたメモリー等を備える記憶部５２と、外部Ｉ／Ｆ（インターフェース）を備える外部入出力部５３（受付部）と、を含む。外部入出力部５３は、シミュレーション装置５の受付部の一例である。シミュレーション装置５の各構成要素は、種々のバスを介して相互通信可能に接続されている。
【００６１】
制御部５１は、記憶部５２に記憶された各種プログラム等を実行する。これにより、仮想ロボット１Ａの動作の制御や各種演算および判断等の処理を実現できる。
【００６２】
記憶部５２には、制御部５１により実行可能な各種プログラムが保存されている。また、記憶部５２には、外部入出力部５３で受け付けた各種データの保存が可能である。記憶部５２は、例えばＲＡＭ（Random Access Memory）等の揮発性メモリーや、ＲＯＭ（Read Only Memory）等の不揮発性メモリー等を含んで構成されている。なお、記憶部５２は、非着脱式に限らず、着脱式の外部記憶装置（図示せず）を有する構成であってもよい。
【００６３】
各種プログラムとしては、仮想ロボット１Ａによるオフラインティーチング（ロボット１のティーチング作業を、実機であるロボット１を使用しないで行うティーチング）の設定および実行に関するプログラム等が挙げられる。当該プログラムには、仮想ロボット１Ａを動作させる動作命令や、表示装置３１に表示させる信号を出力する出力命令等が含まれる。各種データとしては、例えば、ツールセンターポイントＰの位置姿勢、各仮想アーム１１Ａ〜１６Ａの回動角度等に関するデータ等が挙げられる。
【００６４】
外部入出力部５３は、外部Ｉ／Ｆ（インターフェース）を備え、ロボット制御装置２、表示装置３１および入力装置３２との各接続のために用いられる。したがって、外部入出力部５３は、作業者による入力装置３２の操作（指令）を受け付ける受付部としての機能を有する。また、外部入出力部５３は、表示装置３１のモニターに各種画面（例えば、図３の画面ＷＤ１等）に関する信号を出力する出力部としての機能を有する。
【００６５】
なお、シミュレーション装置５は、前述した構成に加えて、さらに他の構成が付加されていてもよい。また、記憶部５２に保存されている各種プログラムやデータ等は、予め記憶部５２に記憶されたものであってもよいし、例えばＣＤ−ＲＯＭ等の記録媒体（図示せず）に格納されており、この記録媒体から提供されたものでもよいし、ネットワーク等を介して提供されたものであってもよい。
【００６６】
〈表示装置および入力装置〉  図２に示す表示装置３１（表示部）は、ディスプレイを備えており、例えば図３に示す画面ＷＤ１等の各種画面を表示する機能を有する。したがって、作業者は、表示装置３１を介して仮想ロボット１Ａの動作等を確認することができる。また、表示装置３１としては、特に限定されず、例えば、液晶表示装置、有機ＥＬ表示装置等の直視型の表示装置、プロジェクター等の投射型表示装置等が挙げられる。
【００６７】
入力装置３２（入力部）は、例えばマウスやキーボード等を含んで構成されている。したがって、作業者は、入力装置３２を操作することで、シミュレーション装置５に対して各種の処理等の指示（入力）を行うことができる。
【００６８】
具体的には、作業者は、表示装置３１に表示される各種画面（ウィンドウ等）に対して入力装置３２のマウスでクリックする操作や、入力装置３２のキーボードで文字や数字等を入力する操作により、シミュレーション装置５に対する指示を行うことができる。以下、この作業者による入力装置３２を用いた指示（入力装置３２による入力）を「操作指示」とも言う。この操作指示は、入力装置３２により、表示装置３１に表示された内容から所望の内容を選択する選択操作や、入力装置３２により、文字や数字等を入力する入力指示等を含む。また、入力には、選択も含まれる。
【００６９】
なお、シミュレーション装置５には、表示装置３１および入力装置３２がそれぞれ１つ接続されていてもよいし、それぞれ複数接続されていてもよい。また、表示装置３１および入力装置３２の代わりに、表示装置３１および入力装置３２の機能を兼ね備えた表示入力装置（図示せず）を用いてもよい。表示入力装置としては、例えばタッチパネル等を用いることができる。
【００７０】
以上、ロボットシステム１００の基本的な構成について簡単に説明した。かかるロボットシステム１００は、シミュレーション装置５と、シミュレーション装置５によるシミュレーション結果（動作プログラム）に基づいてロボット１の動作の制御を行うロボット制御装置２と、ロボット制御装置２により制御されるロボット１と、を有する。このようなロボットシステム１００（シミュレーション装置５）によれば、実機であるロボット１を用いることなく、表示装置３１が有するディスプレイ上（シミュレーション上の空間）で、仮想ロボット１Ａに対して所定の作業を教示（ティーチング）し、その教示された作業を検証することができる。そのため、実機であるロボット１を用いずとも、例えば、ロボット１による作業におけるサイクルタイム等を検討することができる。
【００７１】
≪シミュレーション≫  次に、シミュレーション装置５が行うシミュレーションについて説明する。
【００７２】
シミュレーション装置５の制御部５１は、表示装置３１の駆動を制御し、表示装置３１が有するディスプレイに画面ＷＤ１を表示し（図３参照）、その画面ＷＤ１に、仮想ロボット１Ａ、仮想対象物７１Ａ、７２Ａ等を表示する（図１２〜図１６参照）。すなわち、制御部５１は、表示装置３１に仮想ロボット１Ａによるシミュレーションを表示させる。
【００７３】
この場合、作業者は、入力装置３２で所定の操作（操作指示）を行うことにより、画面ＷＤ１に仮想対象物７１Ａ、７２Ａを表示することができる。また、入力装置３２で所定の操作（操作指示）を行うことにより、仮想対象物７１Ａ、７２Ａは、それぞれ、仮想ロボット１Ａの取付部分に配置される（取り付けられる）。また、仮想ロボット１Ａの取付部分と仮想対象物７１Ａとは、接触していてもよく、また、離間していてもよい。また、仮想ロボット１Ａの取付部分と仮想対象物７２Ａとは、接触していてもよく、また、離間していてもよい。
【００７４】
また、仮想対象物７１Ａ、７２Ａとしては、それぞれ、仮想ロボット１Ａに取り付けることが可能なものであれば特に限定されず、例えば、仮想エンドエフェクター（例えば、仮想ハンド、仮想吸着ヘッド等）、仮想ワーク、仮想カメラ、仮想エクステンションチューブ、仮想レンズ、仮想力覚センサー、仮想バルブ（例えば、仮想エアーバルブ等）、仮想チューブ（例えば、仮想エアーチューブ等）、仮想配線（仮想ケーブル）、仮想配管等が挙げられる。このような仮想対象物７１Ａ、７２Ａは、それぞれ、例えば、ＣＡＤファイルを読み込んでなるＣＡＤオブジェクト、シミュレーション装置５で生成したオブジェクト（例えば、直方体、球、角柱、円柱、角錐、円錐、面等）等で構成することができる。以下の説明では、代表的に、仮想対象物７１Ａが仮想ワーク、仮想対象物７２Ａが仮想カメラ（取り付け用の治具を含む）の場合を例に挙げて説明する。なお、仮想対象物７１Ａ、７２Ａに対応する実機における対象物の具体的な例示は省略するが、前記に挙げたものから「仮想」を除去すればよい。
【００７５】
また、仮想ロボット１Ａの取付部分としては、仮想ロボット１Ａにおいて、仮想対象物７１Ａを取り付けることが可能な部分（シミュレーションであるので、仮想ロボット１Ａと仮想対象物７１Ａとが接触していてもよく、また、離間していてもよい）であれば特に限定されず、例えば、仮想アーム１１Ａ〜仮想アーム１６Ａ、仮想関節１７１Ａ〜仮想関節１７６Ａ、仮想エンドエフェクター１７Ａ等が挙げられる。以下の説明では、代表的に、仮想対象物７１Ａの取付部分が仮想エンドエフェクター１７Ａの先端、仮想対象物７２Ａの取付部分がアーム１４Ａとアーム１５Ａとを連結する仮想関節１７５Ａの場合を例に挙げて説明する。
【００７６】
なお、仮想対象物の数は、本実施形態では、２つであるが、これに限定されず、例えば、１つでもよく、また、３つ以上でもよい。
【００７７】
まず、概要を説明すると、制御部５１は、仮想ロボット１Ａと、仮想対象物７１Ａとを表示装置３１に表示させる（図１２参照）。
【００７８】
次に、入力装置３２により、仮想ロボット１Ａと仮想対象物７１Ａとを連動させて動作させるか否かに関する情報の入力（操作指示）と、仮想ロボット１Ａに仮想対象物７１Ａを取り付ける取付部分に関する情報の入力（操作指示）とを行う。
【００７９】
外部入出力部５３が仮想ロボット１Ａと仮想対象物７１Ａとを連動させて動作させるか否かに関する情報の入力と、仮想ロボット１Ａに仮想対象物７１Ａを取り付ける取付部分に関する情報の入力とを受け付ける。
【００８０】
そして、制御部５１は、外部入出力部５３が受け付けた取付部分に仮想対象物７１Ａを配置する。すなわち、制御部５１は、仮想ロボット１Ａと、外部入出力部５３が受け付けた取付部分に配置された仮想対象物７１Ａ、７２Ａとを表示装置３１に表示させる（図１３参照）。
【００８１】
また、制御部５１は、仮想ロボット１Ａと仮想対象物７１Ａとを連動させて動作させる入力（操作指示）を外部入出力部５３が受け付けた場合、仮想ロボット１Ａの動作に連動して、仮想対象物７１Ａを動作させる。すなわち、仮想対象物７１Ａの取付部分と仮想対象物７１Ａとを連動（一体的に動作）させる。これにより、仮想対象物７１Ａの取付部分が移動すると、その取付部分とともに仮想対象物７１Ａが移動し、取付部分の姿勢が変更されると、その取付部分とともに仮想対象物７１Ａの姿勢が変更される。
【００８２】
ここで、「仮想ロボット１Ａ（取付部分）と仮想対象物７１Ａとを連動させる」とは、仮想ロボット１Ａが動作した場合、取付部分に対する仮想対象物７１の位置（相対位置）および姿勢（相対姿勢）を保持したまま、仮想対象物７１Ａを仮想ロボット１Ａとともに動作させることを言う。
【００８３】
仮想対象物７２Ａについては、仮想対象物７１Ａと同様であるので、その説明は省略する。
【００８４】
次に、作業者の操作手順および表示装置３１の表示等を説明する。
まず、仮想ロボット１Ａに仮想対象物７１Ａを取り付ける場合について説明する。
【００８５】
図３に示すように、制御部５１は、表示装置３１に、画面ＷＤ１を表示させる。
また、図１２に示すように、制御部５１は、表示装置３１の画面ＷＤ１に仮想対象物７１Ａを表示させる。この仮想対象物７１Ａは、仮想ワークであり、その形状は、立方体である。
【００８６】
作業者は、画面ＷＤ１の図３中の左側のオブジェクトツリー（図４参照）で、対象とするオブジェクトである［ＳＢｏｘ１］を選択する操作指示を行う。外部入出力部５３が前記操作指示を受け付けると、図４に示すように、制御部５１は、表示装置３１に、コンテキストメニュー４１を表示させる。
【００８７】
次に、作業者は、コンテキストメニュー４１で、［Ｐａｒｔ／Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ  Ｓｅｔｔｉｎｇ］４１１を選択する操作指示を行う。外部入出力部５３が前記操作指示を受け付けると、図５に示すように、制御部５１は、ダイアログ４２を表示する。
【００８８】
また、作業者は、前記ダイアログ４２を表示させる操作に代えて、例えば、オブジェクトツリーの図３中の下側のプロパティーグリッド（図６参照）において、［Ｔｙｐｅ］プロパティーのドロップダウンリスト４３１で、［Ｐａｒｔ］または［Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ］を選択する操作指示を行ってもよい。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、ダイアログ４２を表示する。また、ドロップダウンリスト４３１で［Ｐａｒｔ］を選択した場合は、ダイアログ４２では、タイプ（Ｔｙｐｅ）として、［Ｐａｒｔ］が選択された状態になる。また、ドロップダウンリスト４３１で［Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ］を選択した場合は、ダイアログ４２では、タイプ（Ｔｙｐｅ）として、［Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ］が選択された状態になる。
【００８９】
次に、図７に示すように、作業者は、ダイアログ４２のドロップダウンリスト４２１で、タイプ（Ｔｙｐｅ）として、［Ｌａｙｏｕｔ］、［Ｐａｒｔ］、［Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ］のうちのいずれか１つを選択する操作指示を行う。
【００９０】
［Ｐａｒｔ］は、仮想対象物が仮想パーツ（仮想ワーク）等の場合に選択される。また、［Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ］は、仮想対象物が仮想アーム取付機器（例えば、仮想カメラ）等の場合に選択される。また、［Ｌａｙｏｕｔ］は、Ｔｙｐｅの初期値として登録されており、［Ｌａｙｏｕｔ］が登録されている場合は、仮想対象物７１Ａは、仮想ロボット１Ａが動作しても動作せず、その位置および姿勢を変更しない（静止し続ける）。
【００９１】
ここでは、仮想対象物７１Ａが仮想ワークであるので、タイプ（Ｔｙｐｅ）は、それに合わせて、［Ｐａｒｔ］を選択する。以下、［Ｐａｒｔ］を選択した場合を例に挙げて説明する。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、Ｔｙｐｅとして、［Ｐａｒｔ］を設定する。そして、後述するボタン４４１（図８参照）が押されると、制御部５１は、Ｔｙｐｅとして、［Ｐａｒｔ］を登録する（記憶部５２に記憶する）。
ここで、［Ｐａｒｔ］が選択された場合は、後述する仮想対象物７１Ａを取り付ける取付部分として、「Ｊｏｉｎｔ」は選択できず、「Ｔｏｏｌ」のみが選択可能である。また、このような選択の制限がなされないようにしてもよい。
【００９２】
次に、図８に示すように、作業者は、ダイアログ４２のドロップダウンリスト４２２で、仮想ロボット（Ｒｏｂｏｔ）を「１」、「２」、・・・の番号で選択する操作指示を行
う。
【００９３】
ここで、複数の仮想ロボット（例えば、仮想垂直多関節ロボット、仮想スカラーロボット等の仮想水平多関節ロボット）は、それぞれ、前記番号と対応付けがなされている。例えば、「１」は、図３に示す仮想ロボット１Ａに対応している。以下、「１」を選択した場合、すなわち、仮想ロボット１Ａを選択した場合を例に挙げて説明する。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、仮想ロボットとして、「仮想ロボット１Ａ」を設定する。そして、後述するようにボタン４４１（図８参照）が押されると、制御部５１は、仮想ロボットとして、「仮想ロボット１Ａ」を登録する。
【００９４】
次に、作業者は、ダイアログ４２のドロップダウンリスト４２３で、仮想対象物７１Ａを取り付ける取付部分（Ｔｏｏｌ）、すなわち、取付部分に設けられているツール座標系（座標系）を「０」、「１」、「２」、・・・の番号で選択する操作指示を行う。
【００９５】
ここで、仮想ロボット１Ａには、互いに直交する３軸を有する複数のツール座標系（座標系）が設定されており、各ツール座標系のうちの少なくとも一部は、それぞれ、前記番号と対応付けがなされている。例えば、「１」は、エンドエフェクター１７Ａの先端中心を原点とするツール座標系４１Ａ（図１２参照）に対応している。以下、「１」を選択した場合、すなわち、取付部分として仮想エンドエフェクター１７Ａの先端（仮想エンドエフェクター１７Ａに設けられているツール座標系４１Ａ）を選択した場合を例に挙げて説明する。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、取付部分として、「仮想エンドエフェクター１７Ａの先端（ツール座標系４１Ａ）」を設定する。これにより、図１３に示すように、制御部５１は、仮想対象物７１Ａを仮想エンドエフェクター１７Ａの先端に配置する。そして、後述するようにボタン４４１（図８参照）が押されると、制御部５１は、取付部分として、「仮想エンドエフェクター１７Ａの先端（ツール座標系４１Ａ）」を登録する。これにより、制御部５１は、仮想対象物７１Ａを仮想エンドエフェクター１７Ａの先端に保持させる（取り付ける）。すなわち、制御部５１は、仮想ロボット１Ａが動作した場合、仮想エンドエフェクター１７Ａの先端と仮想対象物７１Ａとを連動させる。
【００９６】
また、［Ｏｆｆｓｅｔ  Ｆｒｏｍ  Ｓｅｌｅｃｔｅｄ  Ｔｏｏｌ  ｏｒ  Ｊｏｉｎｔ］４６で、ドロップダウンリスト４２３で選択した［Ｔｏｏｌ］に対する仮想対象物７１Ａの位置（相対位置）および姿勢（相対姿勢）を設定（登録）することができる。すなわち、仮想エンドエフェクター１７Ａの先端に配置された仮想対象物７１Ａは、仮想エンドエフェクター１７Ａの先端から位置およびを変更可能になっている。
【００９７】
まず、［Ｏｆｆｓｅｔ  Ｆｒｏｍ  Ｓｅｌｅｃｔｅｄ  Ｔｏｏｌ  ｏｒ  Ｊｏｉｎｔ］４６の［Ｐｏｓｉｔｉｏｎ］および［Ｒｏｔａｔｉｏｎ］の各数字が「０」の場合は、仮想対象物７１Ａは、仮想対象物７１Ａの後述する原点座標系４６Ａと、ドロップダウンリスト４２３で選択したツール座標系４１Ａとが一致するように配置される（図１３参照）。すなわち、仮想対象物７１Ａは、仮想対象物７１Ａの原点座標系４６Ａの原点とツール座標系４１Ａの原点とが一致し、原点座標系４６Ａの姿勢とツール座標系４１Ａの姿勢とが同じになるように配置される。したがって、制御部５１は、仮想ロボット１Ａと仮想対象物７１Ａとを連動させて動作させる入力を外部入出力部５３が受け付けた場合は、仮想対象物７１Ａの原点座標系４６Ａの原点とツール座標系４１Ａの原点とを一致させた状態で、表示装置３１に表示させる。これにより、容易に、仮想対象物７１Ａを適切な位置に配置させることができる。
【００９８】
そして、作業者が［Ｏｆｆｓｅｔ  Ｆｒｏｍ  Ｓｅｌｅｃｔｅｄ  Ｔｏｏｌ  ｏｒ  Ｊｏｉｎｔ］４６の［Ｐｏｓｉｔｉｏｎ］および［Ｒｏｔａｔｉｏｎ］の各数字を入力する操作指示を行い、外部入出力部５３が前記操作指示を受け付けると、制御部５１は、仮想対象物７１Ａの原点座標系４６Ａがドロップダウンリスト４２３で選択したツール座標系４１Ａに対して、［Ｐｏｓｉｔｉｏｎ］に入力された各数値の分、対応する各軸方向に移動（離間）し、［Ｒｏｔａｔｉｏｎ］に入力された各数値の分、対応する各軸周りに回転するように、仮想対象物７１Ａを表示装置３１に表示させる。これにより、仮想対象物７１Ａを仮想エンドエフェクター１７Ａの先端から離間した位置に配置させることができる。
【００９９】
また、作業者が［Ｚｅｒｏ  Ｃｌｅａｒ］と表示されたボタン４４４に対する操作指示を行い（ボタン４４４を押し）、外部入出力部５３が前記操作指示を受け付けると、制御部５１は、［Ｐｏｓｉｔｉｏｎ］、［Ｒｏｔａｔｉｏｎ］の各数字を全て「０」にし、それに対応するように、仮想対象物７１Ａを配置する。
【０１００】
なお、同様に、［Ｏｆｆｓｅｔ  Ｆｒｏｍ  Ｓｅｌｅｃｔｅｄ  Ｔｏｏｌ  ｏｒ  Ｊｏｉｎｔ］４６で、ドロップダウンリスト４２４で選択した［Ｊｏｉｎｔ］に対する仮想対象物７２Ａの位置（相対位置）および姿勢（相対姿勢）を設定（登録）することができる。
【０１０１】
また、作業者が［Ｒｅｎｄｅｒ  Ｏｂｊｅｃｔ  Ｏｒｉｇｉｎ］と表示されたチェックボックス４５１にチェックを入れる操作指示を行い、外部入出力部５３が前記操作指示を受け付けると、制御部５１は、表示装置３１に、仮想対象物７１Ａ（選択しているオブジェクト）の原点座標系４６Ａ（座標系）を表示させる。この原点座標系４６Ａは、仮想対象物７１Ａの所定の点を原点とし、互いに直交する３軸を有する座標系である。本実施形態では、原点座標系４６Ａの原点は、仮想対象物７１Ａの１つの面の中心に配置され、また、原点座標系４６Ａの２つの軸は、前記面の互いに直交する２辺と平行である。
【０１０２】
また、作業者が［Ｒｅｎｄｅｒ  Ｓｅｌｅｃｔｅｄ  Ｔｏｏｌ］と表示されたチェックボックス４５２にチェックを入れる操作指示を行い、外部入出力部５３が前記操作指示を受け付けると、制御部５１は、表示装置３１に、ドロップダウンリスト４２３で選択したツール座標系４１Ａを表示させる。
【０１０３】
これにより、仮想対象物７１Ａの原点座標系４６Ａとツール座標系４１Ａとが一致していることを目視で確認することで、仮想ロボット１Ａに対する仮想対象物７１Ａの位置合わせを容易かつ適確に行うことができる。
【０１０４】
次に、作業者は、「Ｒｅｇｉｓｔｅｒ」と表示されたボタン４４１に対する操作指示を行う（ボタン４４１を押す）。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、前記各設定（各設定値）の登録を行う。これにより、制御部５１は、仮想ロボット１Ａが動作した場合、仮想対象物７１の取付部部分である仮想エンドエフェクター１７Ａの先端と、仮想対象物７１Ａとを連動させる。すなわち、制御部５１は、仮想ロボット１Ａが動作した場合、仮想エンドエフェクター１７Ａに対する仮想対象物７１の位置（相対位置）および姿勢（相対姿勢）を保持したまま、仮想対象物７１Ａを仮想ロボット１Ａとともに動作させる。なお、仮想ロボット１Ａを動作させる方法は、特に限定されず、例えば、ジョグ、コマンド、プログラム、表示装置３１の画面で仮想ロボットアーム１０Ａ等をドラッグする方法等が挙げられる。
【０１０５】
また、前記登録後で、Ｔｙｐｅとして［Ｐａｒｔ］または［Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ］が登録されている場合は、図９に示すように、「ＵｎＲｅｇｉｓｔｅｒ」と表示されたボタン４４２に対する操作指示を行う（ボタン４４２を押す）ことが可能になる。これにより、前記登録を解除することが可能になる。すなわち、作業者がボタン４４２に対する操作指示を行い、外部入出力部５３が前記操作指示を受け付けると、制御部５１は、前記登録を解除する。これにより、制御部５１は、仮想ロボット１Ａが動作しても仮想対象物７１を動作させず、仮想対象物７１の位置および姿勢を変更しない。
【０１０６】
また、作業者は、前記ボタン４４２を押して前記登録を解除する操作に代えて、例えば、オブジェクトツリーの図３中の下側のプロパティーグリッド（図６参照）において、［Ｔｙｐｅ］プロパティーのドロップダウンリスト４３１で、［Ｌａｙｏｕｔ］を選択する操作指示を行ってもよい。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、Ｔｙｐｅとして、［Ｌａｙｏｕｔ］を登録する。これにより、制御部５１は、仮想ロボット１Ａが動作しても仮想対象物７１を動作させず、仮想対象物７１の位置および姿勢を変更しない。
【０１０７】
また、前記登録後は、図１０に示すように、「Ｕｐｄａｔｅ」と表示されたボタン４４３に対する操作指示を行う（ボタン４４３を押す）ことが可能になる。これにより、登録済みの各設定（各設定値）を変更することが可能になる。すなわち、作業者がボタン４４３に対する操作指示を行い、外部入出力部５３が前記操作指示を受け付けると、制御部５１は、登録済みの各設定を更新する。
【０１０８】
次に、仮想ロボット１Ａに仮想対象物７２Ａを取り付ける場合について、仮想対象物７２Ａを取り付ける場合との相違点を中心に説明する。
【０１０９】
図１４に示すように、制御部５１は、表示装置３１に仮想対象物７２Ａを表示させる。
この仮想対象物７２Ａは、仮想カメラである。
【０１１０】
図７に示すように、作業者は、ダイアログ４２のドロップダウンリスト４２１で、［Ｌａｙｏｕｔ］、［Ｐａｒｔ］、［Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ］のうちのいずれか１つを選択する操作指示を行う。
【０１１１】
ここでは、仮想対象物７２Ａが仮想カメラであるので、図１１に示すように、タイプ（Ｔｙｐｅ）は、それに合わせて、［Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ］を選択する。以下、［Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ］を選択した場合を例に挙げて説明する。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、Ｔｙｐｅとして、［Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ］を設定する。そして、ボタン４４１が押されると、制御部５１は、Ｔｙｐｅとして、［Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ］を登録する。ここで、［Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ］が選択された場合は、仮想対象物７２Ａを取り付ける取付部分として、「Ｔｏｏｌ」は選択できず、「Ｊｏｉｎｔ」のみが選択可能である。また、このような選択の制限がなされないようにしてもよい。
【０１１２】
また、作業者は、ダイアログ４２のドロップダウンリスト４２４で、仮想対象物７２Ａを取り付ける取付部分（Ｊｏｉｎｔ）、すなわち、取付部分に設けられている座標系を「１」、「２」、・・・の番号で選択する操作指示を行う。
【０１１３】
この場合、関節１７１〜関節１７６には、それぞれ、座標系が設定されており、各座標系は、それぞれ、前記番号と対応付けがなされている。例えば、「５」は、仮想アーム１４Ａと仮想アーム１５Ａとを連結している仮想関節１７５Ａに設けられている座標系４２Ａ（図１４参照）に対応している。以下、「５」を選択した場合、すなわち、取付部分として仮想関節１７５Ａ（仮想関節１７５Ａに設けられている座標系４２Ａ）を選択した場合を例に挙げて説明する。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、取付部分として、「仮想関節１７５Ａ（座標系４２Ａ）」を設定する。これにより、図１５に示すように、制御部５１は、仮想対象物７２Ａを仮想関節１７５Ａに配置する。
そして、ボタン４４１（図８参照）が押されると、制御部５１は、取付部分として、「仮想関節１７５Ａ（座標系４２Ａ）」を登録する。これにより、制御部５１は、仮想対象物７２Ａを仮想関節１７５Ａに取り付ける。すなわち、制御部５１は、仮想ロボット１Ａが動作した場合、仮想関節１７５Ａと仮想対象物７２Ａとを連動させる。
【０１１４】
また、作業者が［Ｒｅｎｄｅｒ  Ｏｂｊｅｃｔ  Ｏｒｉｇｉｎ］と表示されたチェックボックス４５１にチェックを入れる操作指示を行い、外部入出力部５３が前記操作指示を受け付けると、制御部５１は、表示装置３１に、仮想対象物７２Ａ（選択しているオブジェクト）の原点座標系４７Ａ（座標系）を表示させる。この原点座標系４７Ａは、仮想対象物７２Ａの所定の点を原点とし、互いに直交する３軸を有する座標系である。本実施形態では、原点座標系４７Ａの原点は、仮想対象物７２Ａから離間した位置に配置されている。
【０１１５】
また、作業者が［Ｒｅｎｄｅｒ  Ｓｅｌｅｃｔｅｄ  Ｊｏｉｎｔ］と表示されたチェックボックス４５３にチェックを入れる操作指示を行い、外部入出力部５３が前記操作指示を受け付けると、制御部５１は、表示装置３１に、ドロップダウンリスト４２４で選択した仮想関節１７５Ａに設けられている座標系４２Ａを表示させる。
【０１１６】
これにより、仮想対象物７２Ａの原点座標系４７Ａと座標系４２Ａとが一致していることを目視で確認することで、仮想ロボット１Ａに対する仮想対象物７２Ａの位置合わせを容易かつ適確に行うことができる。
【０１１７】
なお、以上説明した操作手順および動作以外については、仮想ロボット１Ａに仮想対象物７１Ａを取り付ける場合と同様であるので、その説明は省略する。
【０１１８】
以上のようにして、図１２に示すように、仮想ロボット１Ａに仮想対象物７１Ａ、７２Ａが取り付けられる。
【０１１９】
以上説明したように、ロボットシステム１００によれば、シミュレーションにおいて、仮想ロボット１Ａと仮想対象物７１Ａとを連動させて動作させるか否かに関する情報の入力と、仮想ロボット１Ａに仮想対象物７１Ａを取り付ける取付部分に関する情報の入力とを行うことにより、容易に、仮想対象物７１Ａを取付部分に配置させ、仮想ロボット１Ａの動作に連動して仮想対象物７１Ａを動作させることができる。これにより、容易に、実機に即したシミュレーションを行うことができる。
【０１２０】
また、シミュレーションを行って、オフラインティーチングを行うことができ、ロボット１の動作プログラムの作成、検証を行うことができる。
【０１２１】
以上説明したように、シミュレーション装置５は、ロボット１を仮想化した仮想ロボット１Ａによるシミュレーションを行うシミュレーション装置である。シミュレーション装置５は、仮想ロボット１Ａと仮想対象物７１Ａとを連動させて動作させるか否かに関する情報の入力と、仮想ロボット１Ａに仮想対象物７１Ａを取り付ける取付部分に関する情報の入力とを受け付ける外部入出力部５３（受付部）と、仮想ロボット１Ａと、外部入出力部５３（受付部）が受け付けた取付部分に取り付けられた仮想対象物７１Ａとを表示装置３１に表示させ、仮想ロボット１Ａと仮想対象物７１Ａとを連動させて動作させる入力を外部入出力部５３（受付部）部が受け付けた場合、仮想ロボット１Ａの動作に連動して、仮想対象物７１Ａを動作させる制御部５１と、を備える。
【０１２２】
このようなシミュレーション装置５によれば、仮想ロボット１Ａと仮想対象物７１Ａとを連動させて動作させるか否かに関する情報の入力と、仮想ロボット１Ａに仮想対象物７１Ａを取り付ける取付部分に関する情報の入力とを行うことにより、容易に、仮想対象物７１Ａを取付部分に取り付け、仮想ロボット１Ａの動作に連動して仮想対象物７１Ａを動作させることができる。これにより、容易に、実機に即したシミュレーションを行うことができる。
【０１２３】
また、取付部分に取り付けられた仮想対象物７１Ａは、取付部分から位置を変更可能であることが好ましい。これにより、仮想対象物７１Ａを取付部分から離間した位置に配置させることができる。
【０１２４】
また、取付部分は、仮想ロボット１Ａが有する仮想関節１７５Ａを含む。これにより、仮想対象物７１Ａを仮想ロボット１Ａの仮想関節１７５Ａに取り付けることができる。
【０１２５】
また、外部入出力部５３（受付部）は、仮想ロボット１Ａが有する複数の座標系からの１つの座標系の選択を受付可能であり、制御部５１は、仮想ロボット１Ａと仮想対象物７１Ａとを連動させて動作させる入力を外部入出力部５３（受付部）が受け付けた場合、選択された座標系の原点と、仮想対象物７１Ａが有する座標系の原点とを一致させた状態で、表示装置３１に表示させる。これにより、容易に、仮想対象物７１Ａを適切な位置に配置させることができる。
【０１２６】
また、ロボット制御装置２（制御装置）は、シミュレーション装置５によるシミュレーション結果に基づいてロボット１を制御する。
【０１２７】
このようなロボット制御装置２（制御装置）によれば、シミュレーション装置５で作成した動作プログラムを用いてロボット１に適切な動作を行わせることができる。
【０１２８】
また、ロボット１は、対象物を取り付けることが可能な取付部分を有し、ロボット制御装置２（制御装置）によって制御される。
【０１２９】
このようなロボット１によれば、ロボット制御装置２（制御装置）の制御により、適切な動作を行うことができる。
【０１３０】
また、シミュレーション装置５は、ロボット１を仮想化した仮想ロボット１Ａによるシミュレーションを行うシミュレーション装置であり、プロセッサーを備える制御部５１を有する。プロセッサーは、仮想ロボット１Ａと仮想対象物７１Ａとを連動させて動作させるか否かに関する情報の入力と、仮想ロボット１Ａに仮想対象物７１Ａを取り付ける取付部分に関する情報の入力とを受け付け、かつ、仮想ロボット１Ａと、受け付けた前記取付部分に取り付けられた仮想対象物７１Ａとを表示装置３１に表示させ、仮想ロボット１Ａと仮想対象物７１Ａとを連動させて動作させる入力を受け付けた場合、仮想ロボット１Ａの動作に連動して、仮想対象物７１Ａを動作させる。
【０１３１】
このようなシミュレーション装置５によれば、仮想ロボット１Ａと仮想対象物７１Ａとを連動させて動作させるか否かに関する情報の入力と、仮想ロボット１Ａに仮想対象物７１Ａを取り付ける取付部分に関する情報の入力とを行うことにより、容易に、仮想対象物７１Ａを取付部分に取り付け、仮想ロボット１Ａの動作に連動して仮想対象物７１Ａを動作させることができる。これにより、容易に、実機に即したシミュレーションを行うことができる。
【０１３２】
＜第２実施形態＞
図１７は、第２実施形態に係るロボットシステムの表示装置に表示される画面の一例を示す図である。図１８〜図２３は、それぞれ、第２実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【０１３３】
以下、第２実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項はその説明を省略する。
【０１３４】
図１９および図２１に示すように、第２実施形態のシミュレーション装置５では、仮想ロボット１Ａの仮想アーム１６Ａの先端（仮想アーム１６Ａと仮想エンドエフェクター６Ａとの間）に、仮想対象物である仮想力覚センサー１８Ａを設ける（取り付ける）ことが可能になっている。厳密には、仮想アーム１６Ａの先端には、仮想力覚センサー１８Ａを仮想アーム１６Ａに取り付けるために用いる仮想フランジ１９Ａ（仮想対象物）と、仮想力覚センサー１８Ａ（仮想対象物）とが、この順序で設けられる。また、仮想力覚センサー１８Ａと仮想フランジ１９Ａとは、一体化しており、連動して動作するので、以下では、仮想力覚センサー１８Ａと仮想フランジ１９Ａとの両方を含めて「仮想力覚センサー１８Ａ」と呼ぶ。以下、具体的に説明する。
【０１３５】
シミュレーション装置５の制御部５１は、表示装置３１の駆動を制御し、表示装置３１が有するディスプレイに画面ＷＤ１を表示し（図３参照）、シミュレーションを行うが、そのシミュレーションに先立って、表示装置３１が有するディスプレイに、図１７に示す画面ＷＤ２を表示する。この画面ＷＤ２では、仮想力覚センサー１８Ａに関する各種の情報の登録を行うことができる。
【０１３６】
仮想力覚センサー１８Ａに関する情報の登録を行う場合、作業者は、入力用のテキストボックス４７１で、仮想力覚センサー１８Ａのセンサー名を入力する操作指示を行う。本実施形態では、センサー名として、「ＦｏｒｃｅＳｅｎｓｏｒ１」を入力する。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、センサー名として、「ＦｏｒｃｅＳｅｎｓｏｒ１」を登録する。
【０１３７】
また、作業者は、ドロップダウンリスト４７２で、仮想力覚センサー１８Ａを設ける仮想ロボット（ロボット接続）を「１」、「２」、・・・の番号で選択する操作指示を行う
。
【０１３８】
ここで、複数の仮想ロボット（例えば、仮想垂直多関節ロボット、仮想スカラーロボット等の仮想水平多関節ロボット）は、それぞれ、前記番号と対応付けがなされている。また、仮想力覚センサー１８Ａを設けないことと、前記番号とが対応付けされている。例えば、「１」は、図１８に示す仮想ロボット１Ａに対応している。また、「３」は、仮想力覚センサー１８Ａを設けないことに対応している。以下、「１」を選択した場合、すなわち、仮想ロボット１Ａを選択した場合を例に挙げて説明する。外部入出力部５３が前記操作指示を受け付けると、制御部５１は、仮想ロボットとして、「仮想ロボット１Ａ」を登録する。
【０１３９】
前記登録が完了すると、シミュレーション装置５によりシミュレーションを行うことが可能になる。なお、以下のシミュレーションの説明では、仮想力覚センサー１８Ａを仮想ロボット１Ａに取り付けるための操作手順については、第１実施形態と同様または少し変更したものであるので、その説明は省略する。
【０１４０】
まず、仮想ロボット１Ａの仮想アーム１６Ａの先端に、仮想力覚センサー１８Ａを設けるシミュレーションについて説明する。
【０１４１】
図１８に示すように、仮想アーム１６Ａの先端に仮想エンドエフェクター６Ａが設けられていない場合は、図１９に示すように、仮想力覚センサー１８Ａは、仮想アーム１６Ａの先端に設けられる（配置される）。すなわち、制御部５１は、仮想エンドエフェクター６Ａが仮想ロボット１Ａに設けられていない状態で、仮想力覚センサー１８Ａを仮想ロボット１Ａに設ける場合、仮想力覚センサー１８Ａを仮想アーム１６Ａの先端に配置した状態で表示装置３１に表示させる。
【０１４２】
また、図２０に示すように、仮想アーム１６Ａの先端に仮想エンドエフェクター６Ａが設けられている場合は、図２１に示すように、仮想エンドエフェクター６Ａが仮想アーム１６Ａの先端から先端方向に移動して仮想アーム１６Ａから離間し、仮想力覚センサー１８Ａは、仮想アーム１６Ａと仮想エンドエフェクター６Ａとの間に設けられる。すなわち、仮想アーム１６Ａの先端に仮想力覚センサー１８Ａが設けられ、仮想力覚センサー１８Ａの先端に仮想エンドエフェクター６Ａが設けられる。すなわち、制御部５１は、仮想エンドエフェクター６Ａが仮想ロボット１Ａに設けられた状態で、仮想力覚センサー１８Ａを仮想ロボット１Ａに設ける場合、仮想エンドエフェクター６Ａの位置を先端方向に変更し、仮想力覚センサー１８Ａを仮想ロボット１Ａと仮想エンドエフェクター６Ａとの間に配置した状態で表示装置３１に表示させる。これにより、容易に、実機と同様の位置に、仮想力覚センサー１８Ａおよび仮想エンドエフェクター６Ａを配置させることができる。
【０１４３】
また、図２２に示すように、仮想力覚センサー１８Ａを設ける前は、ツールセンターポイントＰは、仮想アーム１６Ａの先端中心である。そして、図２３に示すように、仮想力覚センサー１８Ａを設けた後は、ツールセンターポイントＰは、仮想力覚センサー１８Ａの先端中心に変更される。これにより、別途、ツールセンターポイントＰを変更する操作指示を行う必要がなく、労力を軽減することができ、また、迅速にシミュレーションを行うことができる。
【０１４４】
なお、このようにツールセンターポイントＰが自動的に変更される設定と、仮想力覚センサー１８Ａを設けてもツールセンターポイントＰが変更されない設定とのいずれか一方を作業者が選択できるようになっていてもよい。
【０１４５】
以上のような第２実施形態によっても、前述した実施形態と同様の効果を発揮することができる。
【０１４６】
以上説明したように、仮想対象物は、仮想力覚センサー１８Ａを含む。これにより、仮想力覚センサー１８Ａを取付部分に取り付けることができる。
【０１４７】
また、仮想対象物は、仮想エンドエフェクター６Ａを含み、制御部５１は、仮想エンドエフェクター６Ａが仮想ロボット１Ａに取り付けられた状態で、仮想力覚センサー１８Ａを仮想ロボット１Ａに取り付ける場合、仮想エンドエフェクター６Ａの位置を変更し、仮想力覚センサー１８Ａを仮想ロボット１Ａと仮想エンドエフェクター６Ａとの間に取り付けた状態で表示装置３１に表示させる。これにより、容易に、実機と同様の位置に、仮想力覚センサー１８Ａおよび仮想エンドエフェクター６Ａを配置させることができる。
【０１４８】
＜第３実施形態＞
図２４および図２５は、それぞれ、第３実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【０１４９】
以下、第３実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項はその説明を省略する。
【０１５０】
図２４に示すように、第３実施形態のシミュレーション装置５では、制御部５１は、仮想力覚センサー１８Ａが有する力覚センサー座標系９１Ａを表示装置３１に表示させる。
この力覚センサー座標系９１Ａは、互いに直交する３軸を有する３次元の座標系であり、各軸は、力覚センサー１８Ａが検出する力の検出軸である。これにより、力覚センサー座標系９１Ａを把握することができる。
【０１５１】
また、制御部５１は、仮想エンドエフェクター７Ａまたは仮想エンドエフェクター７Ａが保持する仮想保持対象物８０Ａが、他の仮想物体に作用する作用点９６Ａを原点としたフォース座標系９２Ａを表示装置３１に表示させる。本実施形態では、フォース座標系９２Ａとして、仮想エンドエフェクター７Ａが保持する仮想保持対象物８０Ａが他の仮想物体に作用する作用点９６Ａを原点とした座標系を例に挙げて説明する。また、本実施形態では、仮想保持対象物８０Ａが仮想ワークの場合を例に挙げて説明する。このフォース座標系９２Ａは、仮想力覚センサー１８Ａで検出される力を用いた機能を実行するための互いに直交する３軸を有する３次元の座標系であり、フォース座標系９２Ａの各軸は、作用点９６Ａに加わる力の各成分の方向を向いている。これにより、仮想エンドエフェクター７Ａが保持する仮想保持対象物８０Ａの作用点９６Ａと、フォース座標系９２Ａとを把握することができる。
【０１５２】
また、制御部５１は、作用点９６Ａに作用する力の大きさを表示装置３１に表示させる。これにより、仮想エンドエフェクター７Ａが保持する仮想保持対象物８０Ａの作用点９６Ａに加わる力を把握することができる。
【０１５３】
また、作用点９６Ａに作用する力の大きさの表示方法は、特に限定されず、例えば、力の大きさを数値で表示する方法、グラフで表示する方法、矢印の大きさで表示する方法等が挙げられる。また、矢印の大きさで表示する方法の場合、フォース座標系９２Ａを構成する矢印の大きさで表示してもよく、また、フォース座標系９２Ａを構成する矢印とは別の矢印を表示し、その別の矢印の大きさで表示してもよい。
【０１５４】
本実施形態では、作用点９６Ａに作用する力の大きさは、フォース座標系９２Ａを構成する矢印の大きさで表される。また、矢印の大きさとは、矢印の長さ、矢印の太さを言いう。また、力の大きさは、矢印の長さのみで表示してもよく、また、矢印の太さのみで表示してもよく、また、矢印の長さおよび太さで表示してもよい。
【０１５５】
具体的には、フォース座標系９２Ａの各軸方向の並進力は、フォース座標系９２Ａの各軸における矢印で表示される。また、各並進力の大きさは、それぞれ、矢印の長さと太さとの少なくとも一方で表される。
【０１５６】
また、図２５に示すように、フォース座標系９２Ａの各軸周りのトルク（モーメント）は、フォース座標系９２Ａの各軸周りの矢印で表示される。また、各トルクの大きさは、それぞれ、矢印の長さと太さとの少なくとも一方で表される。
【０１５７】
これにより、仮想エンドエフェクター７Ａが保持する仮想保持対象物８０Ａの作用点９６Ａに加わる力の大きさを簡素な構成で判り易く表現することができる。これによって、その力の大きさを容易かつ迅速に把握することができる。
【０１５８】
以上のような第３実施形態によっても、前述した実施形態と同様の効果を発揮することができる。
【０１５９】
以上説明したように、シミュレーション装置５は、制御部５１は、仮想力覚センサー１８Ａが有する力覚センサー座標系９１Ａを表示装置３１に表示させる。これにより、力覚センサー座標系９１Ａを把握することができる。この力覚センサー座標系９１Ａの各軸は、仮想力覚センサー１８Ａが検出する力の検出軸である。
【０１６０】
また、仮想対象物は、仮想エンドエフェクター７Ａを含み、制御部５１は、仮想エンドエフェクター７Ａまたは仮想エンドエフェクター７Ａが保持する仮想保持対象物８０Ａが、他の仮想物体に作用する作用点９６Ａを原点としたフォース座標系９２Ａを表示装置３１に表示させる。これにより、仮想エンドエフェクター７Ａまたは仮想エンドエフェクター７Ａが保持する仮想保持対象物８０Ａの作用点９６Ａと、フォース座標系９２Ａとを把握することができる。このフォース座標系９２Ａは、仮想力覚センサー１８Ａで検出される力を用いた機能を実行するための座標系であり、フォース座標系９２Ａの各軸は、作用点９６Ａに加わる力の各成分の方向を向いている。
【０１６１】
また、制御部５１は、作用点９６Ａに作用する力の大きさを表示装置３１に表示させる。これにより、仮想エンドエフェクター７Ａまたは仮想エンドエフェクター７Ａが保持する仮想保持対象物８０Ａの作用点９６Ａに加わる力を把握することができる。
【０１６２】
また、作用点９６Ａに作用する力の大きさは、矢印の大きさで表される。これにより、仮想エンドエフェクター７Ａまたは仮想エンドエフェクター７Ａが保持する仮想保持対象物８０Ａの作用点９６Ａに加わる力を容易に把握することができる。
【０１６３】
＜第４実施形態＞
図２６および図２７は、それぞれ、第４実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【０１６４】
以下、第４実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項はその説明を省略する。
【０１６５】
第４実施形態のシミュレーション装置５は、取付部分とは異なる仮想物体と、仮想対象物との干渉（例えば、衝突、接触等）を検出し、干渉した場合（干渉を検知した）は、その仮想物体と仮想対象物とが干渉したことを表示装置３１に表示（報知）する機能を有している。
【０１６６】
図２６および図２７に示すように、本実施形態では、仮想対象物として、仮想力覚センサー１８Ａと、仮想力覚センサー１８Ａを仮想アーム１６Ａに取り付けるために用いる仮想フランジ１９Ａとを例に挙げ、また、取付部分とは異なる仮想物体として、仮想物体７６Ａを例に挙げて説明する。なお、仮想対象物としては、この他、第１実施形態で例示したもの等が挙げられ、例えば、仮想エンドエフェクター１７Ａが把持（保持）した仮想ワーク、仮想ロボット１に取り付けられた仮想カメラ等でもよい。以下、具体的に説明する。
【０１６７】
制御部５１は、仮想ロボット１Ａと仮想力覚センサー１８Ａとを連動させて動作させる入力を外部入出力部５３が受け付けた場合、仮想力覚センサー１８Ａと仮想物体７６Ａとの干渉を検出し、また、仮想フランジ１９Ａと仮想物体７６Ａとの干渉を検出する。この場合、仮想力覚センサー１８Ａと仮想物体７６Ａとの干渉の検出と、仮想フランジ１９Ａと仮想物体７６Ａとの干渉の検出とは、いずれを先に行ってもよく、また、同時に行ってもよい。
【０１６８】
また、制御部５１は、仮想力覚センサー１８Ａと仮想アーム１６との干渉は検出せず、また、仮想フランジ１９Ａと仮想アーム１６との干渉は検出しない。また、制御部５１は、仮想力覚センサー１８Ａと仮想エンドエフェクター（図示せず）との干渉は検出せず、また、仮想フランジ１９Ａと仮想エンドエフェクター（図示せず）との干渉は検出しない。また、第１実施形態の仮想対象物７１Ａ、７２Ａの場合は、制御部５１は、仮想対象物７１Ａと仮想エンドエフェクター１７Ａとの干渉は検出せず、また、仮想対象物７２Ａと仮想関節１７５（仮想アーム１４および仮想アーム１５）との干渉は検出しない。
【０１６９】
図２６に示すように、仮想力覚センサー１８Ａと仮想物体７６Ａとが干渉した場合は、制御部５１は、仮想力覚センサー１８Ａと仮想物体７６Ａとが干渉したことを表示装置３１に表示させる。これにより、容易に、仮想力覚センサー１８Ａと仮想物体７６Ａとが干渉したことを把握することができる。
【０１７０】
また、図２７に示すように、仮想フランジ１９Ａと仮想物体７６Ａとが干渉した場合は、制御部５１は、仮想フランジ１９Ａと仮想物体７６Ａとが干渉したことを表示装置３１に表示させる。これにより、容易に、仮想フランジ１９Ａと仮想物体７６Ａとが干渉したことを把握することができる。
【０１７１】
また、仮想力覚センサー１８Ａおよび仮想フランジ１９Ａと、仮想物体７６Ａとが干渉した場合（図示せず）は、制御部５１は、仮想力覚センサー１８Ａおよび仮想フランジ１９Ａと、仮想物体７６Ａとが干渉したことを表示装置３１に表示させる。これにより、容易に、仮想力覚センサー１８Ａおよび仮想フランジ１９Ａと、仮想物体７６Ａとが干渉したことを把握することができる。
【０１７２】
したがって、実機の作成前に、周辺機器の配置の検証、動作経路の検証等を容易に行うことができる。
【０１７３】
ここで、干渉したことを表示装置３１に表示するには、表示装置３１の表示態様を変更するが、その表示方法（報知方法）としては、特に限定されず、例えば、表示装置３１に文字で表示する方法、色を変更する方法等が挙げられる。
【０１７４】
本実施形態では、干渉したものの色を変更する方法を採用している。
すなわち、図２６に示すように、仮想力覚センサー１８Ａと仮想物体７６Ａとが干渉した場合は、仮想力覚センサー１８Ａの全体の色を他の色に変更する。なお、図２６では、仮想力覚センサー１８Ａに斜線を付して色を変更したことを示している。これにより、容易かつ適確に、仮想フランジ１９Ａではなく、仮想力覚センサー１８Ａと仮想物体７６Ａとが干渉したことを把握することができる。なお、仮想力覚センサー１８Ａの全体の色ではなく、一部の色を他の色に変更するようにしてもよい。また、仮想力覚センサー１８Ａのみではなく、仮想物体７６Ａの全体の色または一部の色も他の色に変更するようにしてもよい。この場合、仮想物体７６Ａの変更後の色と、仮想力覚センサー１８Ａの変更後の色とは、同一でもよく、また、異なっていてもよい。
【０１７５】
また、変更後の色は、特に限定されず、諸条件に応じて適宜設定可能であり、例えば、赤色、黄色、橙色、紫色等が挙げられ、１色を用いてもよく、また、複数色を用いてもよい。また、前記の色のうちでは、赤色は、仮想力覚センサー１８Ａと仮想物体７６Ａとが干渉したことをイメージし易い色であり、好適である。また、変更後の色は、種々の色に変更可能、例えば、赤色、黄色、橙色、紫色等の複数色のうちから任意の色を選択できるようにしてもよい。
【０１７６】
また、図２７に示すように、仮想フランジ１９Ａと仮想物体７６Ａとが干渉した場合は、仮想フランジ１９Ａの全体の色を他の色に変更する。仮想フランジ１９Ａの変更後の色と、仮想力覚センサー１８Ａの変更後の色とは、同一でもよく、また、異なっていてもよい。なお、図２７では、仮想フランジ１９Ａに斜線を付して色を変更したことを示している。これにより、容易かつ適確に、仮想力覚センサー１８Ａではなく、仮想フランジ１９Ａと仮想物体７６Ａとが干渉したことを把握することができる。なお、仮想フランジ１９Ａの全体の色ではなく、一部の色を他の色に変更するようにしてもよい。また、仮想フランジ１９Ａのみではなく、仮想物体７６Ａの全体の色または一部の色も他の色に変更するようにしてもよい。この場合、仮想物体７６Ａの変更後の色と、仮想フランジ１９Ａの変更後の色とは、同一でもよく、また、異なっていてもよい。なお、変更後の色については、仮想力覚センサー１８Ａと同様であるので、その説明は省略する。
【０１７７】
また、図示しないが、仮想力覚センサー１８Ａおよび仮想フランジ１９Ａと、仮想物体７６Ａとが干渉した場合は、仮想力覚センサー１８Ａおよび仮想フランジ１９Ａの全体の色を他の色に変更する。仮想フランジ１９Ａの変更後の色と、仮想力覚センサー１８Ａの変更後の色とは、同一でもよく、また、異なっていてもよい。これにより、容易かつ適確に、仮想力覚センサー１８Ａおよび仮想フランジ１９Ａと仮想物体７６Ａとが干渉したことを把握することができる。なお、仮想力覚センサー１８Ａの全体の色ではなく、一部の色を他の色に変更するようにしてもよい。また、仮想フランジ１９Ａの全体の色ではなく、一部の色を他の色に変更するようにしてもよい。また、仮想力覚センサー１８Ａおよび仮想フランジ１９Ａのみではなく、仮想物体７６Ａの全体の色または一部の色も他の色に変更するようにしてもよい。この場合、仮想物体７６Ａの変更後の色と仮想力覚センサー１８Ａの変更後の色とは、同一でもよく、また、異なっていてもよい。また、仮想物体７６Ａの変更後の色と仮想フランジ１９Ａの変更後の色とは、同一でもよく、また、異なっていてもよい。なお、変更後の色については、仮想力覚センサー１８Ａと同様であるので、その説明は省略する。
【０１７８】
以上のような第４実施形態によっても、前述した実施形態と同様の効果を発揮することができる。
【０１７９】
以上説明したように、制御部５１は、仮想ロボット１Ａと仮想力覚センサー１８Ａ（仮想対象物）とを連動させて動作させる入力を外部入出力部５３（受付部）が受け付けた場合、取付部分とは異なる仮想物体７６Ａと、仮想力覚センサー１８Ａ（仮想対象物）とが干渉した場合、取付部分とは異なる仮想物体７６Ａと仮想力覚センサー１８Ａ（仮想対象物）とが干渉したことを表示装置３１に表示させる。これにより、容易に、取付部分とは異なる仮想物体７６Ａと仮想力覚センサー１８Ａ（仮想対象物）とが干渉したことを把握することができる。これによって、実機の作成前に、周辺機器の配置の検証、動作経路の検証等を容易に行うことができる。
【０１８０】
＜第５実施形態＞
図２８から図３４は、それぞれ、第５実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【０１８１】
以下、第５実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項はその説明を省略する。
【０１８２】
図２８から図３４に示す様に、第５実施形態のシミュレーション装置５では、制御部５１は、仮想ロボット１Ａの動作方向を表示装置３１に表示させる。本実施形態において、制御部５１は、フォース座標系９２２Ａを表示させ、仮想アーム１６Ａの並進方向を示す矢印５０２Ａと回転方向を示す矢印５０４Ａとの少なくとも一方を仮想ロボット１Ａの動作方向として表示装置３１に表示させる。なお、本実施形態において、仮想アーム１６Ａの並進方向とは、仮想アーム１６Ａの先端中心Ｐ２が移動する方向である。本実施形態において、フォース座標系９２２Ａは、仮想アーム１６Ａの先端中心Ｐ２を原点として有し、仮想力覚センサー１８Ａで検出される力を用いた機能を実行するための互いに直交する３軸を有する３次元の座標系である。本実施形態におけるフォース座標系９２２Ａを座標変換することによって、例えば、第３実施形態におけるフォース座標系９２Ａが得られる。本実施形態において、制御部５１は、教示された作業に応じて仮想アーム１６Ａの動作量を算出し、算出された動作量に応じて並進方向を示す矢印５０２Ａと回転方向を示す矢印５０４Ａとを作成する。
【０１８３】
図２８では、仮想アーム１６ＡがＦｚ方向に沿った方向に並進する場合における、表示の一例が示されている。本実施形態において、矢印５０２Ａの示す方向は、動作に伴う押し付けの方向である。本実施形態では、制御部５１は、並進力の大きさに応じて矢印５０２Ａの大きさを変化させる。
【０１８４】
本実施形態において、シミュレーション装置５は、仮想アーム１６ＡがＦｘ方向とＦｙ方向とＦｚ方向とのうちの複数の方向成分が合成された方向に移動する場合であっても、矢印５０２Ａを表示可能である。例えば図２９に示す様に、シミュレーション装置５は、仮想アーム１６ＡがＦｚ方向成分とＦｙ方向成分とが合成された方向に沿って並進する場合であっても、矢印５０２Ａを表示可能である。また、図３０に示す様に、仮想アーム１６ＡがＦｘ方向成分とＦｙ方向成分とＦｚ方向成分とが合成された方向に沿って並進する場合であっても、矢印５０２Ａを表示可能である。
【０１８５】
図３１では、仮想アーム１６ＡがＦｚ方向を回転軸として回転する場合、つまりＴｚ方向に回転する場合における、表示の一例が示されている。本実施形態において、矢印５０４Ａは、動作に伴う回転方向を示している。また、矢印５０６Ａは、仮想アーム１６Ａが回転する際の回転軸を示している。本実施形態では、制御部５１は、回転力の大きさに応じて矢印５０２Ａの大きさを変化させる。なお、回転軸を示す矢印５０６Ａと並進方向を示す矢印５０２Ａとが互いに判別可能となる様に表示されることが好ましい。この場合には、例えば、矢印５０６Ａと矢印５０２Ａはそれぞれ異なる色で表示されていても良く、また、それぞれ異なる大きさで表示されていても良い。
【０１８６】
本実施形態において、シミュレーション装置５は、仮想アーム１６ＡがＦｘ方向とＦｙ方向とＦｚ方向とのうちの複数の方向成分が合成された方向に延びる回転軸周りに回転する場合、つまりTx方向とTy方向とTz方向とのうちの複数の回転方向で回転する場合であっても、矢印５０４Ａを表示可能である。図３２に示す様に、シミュレーション装置５は、仮想アーム１６ＡがTｚ回転方向成分とTｙ回転方向成分とが合成された回転軸周りに回転する場合であっても、矢印５０６Ａを表示可能である。また、図３３に示す様に、仮想アーム１６ＡがTｘ回転方向成分とTｙ回転方向成分とTｚ回転方向成分とが合成された回転軸周りに回転する場合であっても、矢印５０６Ａを表示可能である。
【０１８７】
本実施形態において、シミュレーション装置５は、仮想ロボット１Ａが仮想アーム１６Ａの並進と回転との両方を行う場合であっても、矢印５０２Ａ、５０４Ａを表示可能である。例えば図３４では、仮想アーム１６ＡがＦｚ方向に並進し、かつ、Ｔｚ方向に回転する場合における、表示の一例が示されている。
【０１８８】
以上説明した第５実施形態のシミュレーション装置５によれば、制御部５１は、仮想ロボット１Ａの動作方向を表示装置３１に表示させる。このため、作業者は、ロボット１を実際に動作させることなく、シミュレーション装置５を用いて仮想ロボット１Ａの動作方向を確認することができる（図２８から図３４の５０２Ａ、５０４Ａ参照）。これにより、例えば図７から図１１における［Ｏｆｆｓｅｔ  Ｆｒｏｍ  Ｓｅｌｅｃｔｅｄ  Ｔｏｏｌ  ｏｒ  Ｊｏｉｎｔ］４６を用いて作業を教示する場合において、作業者は、実際にロボット１を動作させることなく、入力した各数値の正負が正しいか否かを確認できる。
【０１８９】
なお、本実施形態において、制御部５１は、仮想アーム１６Ａの先端中心を原点とするフォース座標系９２２Ａを基準として、矢印５０２Ａ、５０４Ａ、５０６Ａを作成しているが、これに限定されない。例えば、仮想アーム１６Ａの先端に仮想エンドエフェクター１７Ａが設けられている場合には、制御部５１は、仮想エンドエフェクターの先端中心を原点とするツール座標系を基準として、矢印５０２Ａ、５０４Ａ、５０６Ａを作成してもよい。
【０１９０】
＜第６実施形態＞
図３５および図３６は、それぞれ、第６実施形態に係るロボットシステムのシミュレーション装置が行うシミュレーションの一例を示す図である。
【０１９１】
以下、第６実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項はその説明を省略する。
【０１９２】
第６実施形態のシミュレーション装置５では、制御部５１は、仮想ロボット１Ａの動作の目標終了位置を示すための進入検出平面５１０を設定し、表示装置３１に表示させる。本実施形態において、制御部５１は、進入検出平面５１０によって区画された空間のうち、一方を仮想アーム１６Ａが動作の目標終了位置を通過していることを示す内側５１２と設定する。また、制御部５１は、進入検出平面５１０によって区画された空間のうち、他方を仮想アーム１６Ａが動作の目標終了位置に到達していないことを示す外側５１４と設定する。なお、本実施形態において、進入検出平面５１０は端部を有する予め定められた大きさの平面として表示装置３１に表示されている。
【０１９３】
制御部５１は、例えば、作業者によって設定されたエンドエフェクター１７Ａの動作開始位置と移動方向と移動距離とに応じて算出される動作の目標終了位置を用いて進入検出平面５１０を作成する。具体的には、制御部５１は、例えば目標終了位置にエンドエフェクター１７Ａが移動した場合における移動方向に直交し、目標終了位置におけるエンドエフェクター１７Ａの先端中心を含む平面を進入検出平面５１０として作成する。
【０１９４】
制御装置５１は、進入検出平面５１０上に原点Ｏを有する座標系５２０Ａを表示する。座標系５２０Ａは、仮想ロボット１Ａの動作からは独立した座標系である。本実施形態において、座標系５２０ＡのＺ軸は、進入検出平面５１０に直行する座標軸である。座標系５２０Ａの＋Ｚ軸方向は、進入検出平面５１０から内側５１２に向かって離れる方向である。座標系５２０Ａが表示されることにより、作業者は、内側５１２と外側５１４とを容易に判別できる。
【０１９５】
図３５及び図３６に示したように、本実施形態において、制御部５１は、進入検出平面５１０とともに、教示された作業を実行した場合における仮想ロボット１Ａの作業終了時の姿勢を表示装置３１に表示させる。図３５に示す様に、教示された作業をシミュレーションした結果、仮想エンドエフェクター１７Ａが目標終了位置に到達していない場合には、仮想エンドエフェクター１７Ａが進入検出平面５１０の外側５１４に位置している。図３６に示す様に、教示された作業をシミュレーションした結果、仮想エンドエフェクター１７Ａが目標終了位置を通過している場合には、仮想エンドエフェクター１７Ａの先端側が進入検出平面５１０の内側５１２に位置している。なお、教示された作業をシミュレーションした結果、仮想エンドエフェクター１７Ａが目標終了位置に到達している場合には、仮想エンドエフェクター１７Ａの先端側は進入検出平面５１０上に位置する。
【０１９６】
以上説明した第６実施形態によれば、制御部５１は、仮想ロボット１Ａの動作の目標終了位置を示すための進入検出平面５１０を設定し、表示装置３１に表示させる。このため、作業者は、ロボット１を実際に動作させることなく、シミュレーション装置５を用いて仮想ロボット１Ａの教示した動作の終了位置と目標終了位置と比較することができる。このため、作業者は、教示した動作の終了位置が適切であるかを容易に確認することができる。
【０１９７】
なお、本実施形態において、制御部５１は、進入検出平面５１０を用いて仮想ロボット１Ａの動作の終了位置を表示させているが、これに限定されない。例えば、制御部５１は、進入検出平面５１０に代えて、終了位置におけるツール座標系４１ＡのＺ軸に直交する無限平面を表示させてもよい。また、制御部５１は、進入検出平面５１０に代えて、三次元的な広がりを有する空間を設定し、表示させてもよい。この場合に表示される空間は、例えば、終了位置におけるツールセンターポイントＰを中心とした予め定められた大きさの空間であってもよい。これらの場合であっても、進入検出平面５１０の表示する場合と同様に、作業者は、ロボット１を実際に動作させることなく、ミュレーション装置５を用いて教示した動作の終了位置が適切であるかを容易に確認することができる。
【０１９８】
また、制御部５１は、座標系５２０Ａの表示に代えて、仮想ロボット１Ａの色を変化させることによって、仮想ロボット１Ａが進入検出平面５１０の内側５１２と外側５１４とのいずれかに位置しているかを表示してもよい。具体的には、例えば、仮想ロボット１Aのうち内側５１２にある領域と外側５１４にある領域とを異なる色で表示してもよい。この場合であっても、作業者は、内側５１２と外側５１４とを容易に判別できる。
【０１９９】
また、制御部５１は、仮想ロボット１Ａに加えて、ロボット１の周囲に配置されている他のロボットに対応した他の仮想ロボットを表示させてもよい。この場合には、作業者は、仮想ロボット１Ａの動作の終了位置と他の仮想ロボットの位置との関係を確認することができる。仮想ロボット１Ａに加えて他の仮想ロボットを表示装置３１に表示させる場合において、仮想ロボット１Ａと他の仮想ロボットとは、異なる色で表示されることが好ましい。これにより、仮想ロボット１Ａを含む複数の仮想ロボットが表示されている場合であっても、作業者は、進入検出平面５１０に進入したロボットが仮想ロボット１Ａ自身であるか、他の仮想ロボットであるか、を判別できる。
【０２００】
また、制御部５１は、仮想ロボット１Ａの進入検出平面５１０に加えて、他の仮想ロボットにおける進入検出平面を表示させてもよい。この場合には、制御部５１は、他の仮想ロボットが動作に応じて移動しうる領域を他の仮想ロボットの検出平面を用いて表示装置３１に表示させることができる。なお、自身の進入検出平面５１０と他の仮想ロボットにおける進入検出平面とは異なる色で表示されることが好ましい。この場合には、作業者は、仮想ロボット１Ａが仮想ロボット１Ａ自身の進入検出平面５１０に到達した場合と、他の仮想ロボットの進入検出平面に到達した場合と、を容易に区別することができる。
【０２０１】
以上、第１実施形態から第６実施形態を用いてロボットシステム１００について説明した。なお、「ロボットシステム」は、図３７、図３８に示す形態であってもよい。
【０２０２】
図３７、図３８は、それぞれ、ロボットシステムの他の構成例を示す図（ブロック図）である。
【０２０３】
図３７には、ロボット１に直接コンピューター６３が接続されたロボットシステム１００Ｂの全体構成図を示す。ロボット１の制御はコンピューター６３に存在するプロセッサーによりメモリーにある指令を読み出して直接実行される。コンピューター６３は、前述したロボット制御装置２およびシミュレーション装置５の機能を有する。
【０２０４】
図３８には、コントローラー６１が内蔵させたロボット１とコンピューター６６とが接続され、コンピューター６６がＬＡＮ（Local Area Network）等のネットワーク６５を介してクラウド６４に接続されているロボットシステム１００Ｃの全体構成図を示す。ロボット１の制御はコンピューター６６に存在するプロセッサーによりメモリーにある指令を読み出して実行されてもよいし、クラウド６４上に存在するプロセッサーによりコンピューター６６を介してメモリーにある指令を読み出して実行されてもよい。コントローラー６１が、前述したロボット制御装置２の機能を有し、コンピューター６６またはクラウド６４が、前述したシミュレーション装置５の機能を有する。
【０２０５】
また、ロボットシステム１００Ｂ、１００Ｃでは、各プロセッサーは、それぞれ、１つの装置で構成されていてもよく、また、複数の装置で構成されていてもよい、すなわち、複数の単位プロセッサーに分かれていてもよい。
【０２０６】
以上、本発明のシミュレーション装置、制御装置およびロボットを図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物が付加されていてもよい。
【０２０７】
また、本発明は、前記各実施形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０２０８】
また、前述した実施形態では、ロボットとして、６軸の垂直多関節ロボットを例示したが、当該ロボットは、これに限らず、例えば、スカラーロボット等の水平多関節ロボット、脚部を有する脚式歩行（走行）ロボット等の他の形態のロボットであってもよい。また、当該ロボットは、単腕ロボットに限定されず、例えば、双腕ロボット等の他のロボットであってもよい。したがって、ロボットアーム（可動部）の数は、１つに限定されず、２つ以上であってもよい。また、ロボットアーム（可動部）が有するアームの数は、前述した実施形態では、６つであるが、１つ〜５つまたは７つ以上であってもよい。
【符号の説明】
【０２０９】
１…ロボット、１Ａ…仮想ロボット、２…ロボット制御装置、５…シミュレーション装置、６Ａ…仮想エンドエフェクター、７Ａ…仮想エンドエフェクター、１０…ロボットアーム、１０Ａ…仮想ロボットアーム、１１…アーム、１１Ａ…仮想アーム、１２…アーム、１２Ａ…仮想アーム、１３…アーム、１３Ａ…仮想アーム、１４…アーム、１４Ａ…仮想アーム、１５…アーム、１５Ａ…仮想アーム、１６…アーム、１６Ａ…仮想アーム、１７…エンドエフェクター、１７Ａ…仮想エンドエフェクター、１８Ａ…仮想力覚センサー、１９Ａ…仮想フランジ、２１…制御部、２２…記憶部、２３…外部入出力部、３１…表示装置、３２…入力装置、４１…コンテキストメニュー、４１Ａ…ツール座標系、４２…ダイアログ、４２Ａ…座標系、４６…Ｏｆｆｓｅｔ  Ｆｒｏｍ  Ｓｅｌｅｃｔｅｄ  Ｔｏｏｌ  ｏｒ  Ｊｏｉｎｔ、４６Ａ…原点座標系、４７Ａ…原点座標系、５１…制御部、５２…記憶部、５３…外部入出力部、６１…コントローラー、６３…コンピューター、６４…クラウド、６５…ネットワーク、６６…コンピューター、７０…設置箇所、７１Ａ…仮想対象物、７２Ａ…仮想対象物、７６Ａ…仮想物体、８０Ａ…仮想保持対象物、９１Ａ…力覚センサー座標系、９２Ａ…フォース座標系、９６Ａ…作用点、１００…ロボットシステム、１００Ｂ…ロボットシステム、１００Ｃ…ロボットシステム、１１０…基台、１１０Ａ…仮想基台、１３０…駆動部、１４０…角度センサー、１７１…関節、１７１Ａ…仮想関節、１７２…関節、１７２Ａ…仮想関節、１７３…関節、１７３Ａ…仮想関節、１７４…関節、１７４Ａ…仮想関節、１７５…関節、１７５Ａ…仮想関節、１７６…関節、１７６Ａ…仮想関節、４１１…Ｐａｒｔ／Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ  Ｓｅｔｔｉｎｇ、４２１…ドロップダウンリスト、４２２…ドロップダウンリスト、４２３…ドロップダウンリスト、４２４…ドロップダウンリスト、４３１…ドロップダウンリスト、４４１…ボタン、４４２…ボタン、４４３…ボタン、４４４…ボタン、４５１…チェックボックス、４５２…チェックボックス、４５３…チェックボックス、４７１…テキストボックス、４７２…ドロップダウンリスト、５０２Ａ…矢印、５０４Ａ…矢印、５０６Ａ…矢印、５１０…進入検出平面、５１２…内側、５１４…外側、５２０Ａ…座標系、９２２Ａ…フォース座標系、Ｏ…原点、Ｐ…ツールセンターポイント、Ｐ２…ツールセンターポイント、ＷＤ１…画面、ＷＤ２…画面
【図１】
2019081242.tif 000003
【図２】
2019081242.tif 000004
【図３】
2019081242.tif 000005
【図４】
2019081242.tif 000006
【図５】
2019081242.tif 000007
【図６】
2019081242.tif 000008
【図７】
2019081242.tif 000009
【図８】
2019081242.tif 000010
【図９】
2019081242.tif 000011
【図１０】
2019081242.tif 000012
【図１１】
2019081242.tif 000013
【図１２】
2019081242.tif 000014
【図１３】
2019081242.tif 000015
【図１４】
2019081242.tif 000016
【図１５】
2019081242.tif 000017
【図１６】
2019081242.tif 000018
【図１７】
2019081242.tif 000019
【図１８】
2019081242.tif 000020
【図１９】
2019081242.tif 000021
【図２０】
2019081242.tif 000022
【図２１】
2019081242.tif 000023
【図２２】
2019081242.tif 000024
【図２３】
2019081242.tif 000025
【図２４】
2019081242.tif 000026
【図２５】
2019081242.tif 000027
【図２６】
2019081242.tif 000028
【図２７】
2019081242.tif 000029
【図２８】
2019081242.tif 000030
【図２９】
2019081242.tif 000031
【図３０】
2019081242.tif 000032
【図３１】
2019081242.tif 000033
【図３２】
2019081242.tif 000034
【図３３】
2019081242.tif 000035
【図３４】
2019081242.tif 000036
【図３５】
2019081242.tif 000037
【図３６】
2019081242.tif 000038
【図３７】
2019081242.tif 000039
【図３８】
2019081242.tif 000040