(57)【要約】【課題】容易かつ迅速に、オフラインでロボットに対して教示を行うことができるシミュレーション装置、ロボット制御装置およびロボットを提供すること。【解決手段】表示装置に表示された仮想ロボットアームの動作を行うシミュレーション装置であって、入力部からの前記仮想ロボットアームの先端に対するドラッグ操作を受け付ける受付部と、前記受付部が受け付けた前記ドラッグ操作に基づいて、前記仮想ロボットアームの姿勢を変更する表示制御部と、を備えることを特徴とするシミュレーション装置。【選択図】図６
2018176367.tif 000002
【特許請求の範囲】
【請求項１】
表示装置に表示された仮想ロボットアームの動作を行うシミュレーション装置であって、
入力部からの前記仮想ロボットアームの先端に対するドラッグ操作を受け付ける受付部と、
前記受付部が受け付けた前記ドラッグ操作に基づいて、前記仮想ロボットアームの姿勢を変更する表示制御部と、を備えることを特徴とするシミュレーション装置。
【請求項２】
前記仮想ロボットアームは、複数の仮想アームを有し、
前記複数の仮想アームのうちの少なくとも１つの前記仮想アームの姿勢は、前記ドラッグ操作によって変更可能である請求項１に記載のシミュレーション装置。
【請求項３】
前記受付部は、前記仮想ロボットアームの先端の位置を固定する指示を受け付けた場合、前記仮想ロボットアームの姿勢は、前記仮想ロボットアームの先端の位置を固定した状態で変更可能である請求項１または２に記載のシミュレーション装置。
【請求項４】
前記ドラッグ操作によって前記仮想ロボットアームの姿勢が前記仮想ロボットアームの不可能な姿勢となる場合、前記表示装置の表示態様を変更する請求項１ないし３のいずれか１項に記載のシミュレーション装置。
【請求項５】
前記受付部が仮想対象物に対する操作を受け付けた場合、前記仮想対象物上の位置を前記仮想ロボットアームの教示点とすることが可能である請求項１ないし４のいずれか１項に記載のシミュレーション装置。
【請求項６】
前記受付部が仮想対象物に含まれる線分の選択を受け付けた場合、前記線分を含む図形の重心を前記仮想ロボットアームの教示点とすることが可能である請求項１ないし５のいずれか１項に記載のシミュレーション装置。
【請求項７】
前記線分が円弧の場合、前記円弧の中心を前記仮想ロボットアームの教示点とすることが可能である請求項６に記載のシミュレーション装置。
【請求項８】
前記表示制御部は、前記仮想ロボットアームが表示された画面上に、前記仮想ロボットアームの先端の位置を教示する際に用いる教示点設定画面を前記表示装置に表示させる請求項１ないし７のいずれか１項に記載のシミュレーション装置。
【請求項９】
前記表示装置は、前記入力部を備える請求項１ないし８のいずれか１項に記載のシミュレーション装置。
【請求項１０】
請求項１ないし９のいずれか１項に記載のシミュレーション装置のシミュレーション結果に基づいてロボットアームを備えるロボットを制御することを特徴とするロボット制御装置。
【請求項１１】
ロボットアームを備え、
請求項１０に記載のロボット制御装置により制御されることを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置、ロボット制御装置およびロボットに関するものである。
【背景技術】
【０００２】
基台と、複数のアーム（リンク）を有するロボットアームとを備えるロボットが知られている。ロボットアームの隣り合う２つのアームのうちの一方のアームは、関節部を介して、他方のアームに回動可能に連結され、最も基端側（最も上流側）のアームは、関節部を介して、基台に回動可能に連結されている。関節部はモーターにより駆動され、その関節部の駆動により、アームが回動する。また、最も先端側（最も下流側）のアームには、エンドエフェクターとして、例えば、着脱可能にハンドが装着される。そして、ロボットは、例えば、ハンドで対象物を把持し、その対象物を所定の場所へ移動させ、組立等の所定の作業を行う。このようなロボットでは、実際に作業を行う前に、ロボットに対して教示を行う必要がある。
【０００３】
特許文献１には、オフラインでロボットに対して教示を行うことが可能なロボットシミュレーターが開示されている。このロボットシミュレーターでは、表示装置に、仮想のロボットとともに、そのロボットを操作するために用いられる仮想の操作ハンドルが表示される。
【０００４】
操作ハンドルは、ロボットに設定された所定の制御点（例えば、ロボットアームの先端）を原点とするｘｙｚ座標軸（三次元座標軸）で表現されている。ロボットシミュレーターの操作部を介してその操作ハンドルを操作することにより、ロボットの制御点を、ｘ軸、ｙ軸、ｚ軸に沿ってそれぞれ移動させることができ、また、ｘ軸周り、ｙ軸周り、ｚ軸周りにそれぞれ回動させることができる。
【０００５】
このようなロボットシミュレーターを用いることにより、ユーザーは、ロボットを動作させずに、教示データを作成することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１６１９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載のロボットシミュレーターでは、ｘｙｚ座標軸で表現された操作ハンドルを操作してロボットの姿勢を変更するので、ｘ軸、ｙ軸、ｚ軸、ｘ軸周り、ｙ軸周りおよびｚ軸周りの６方向について、各方向を個別に操作する必要があり、このため、ロボットの姿勢の変更に手間および時間がかかる。
【課題を解決するための手段】
【０００８】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００９】
本発明のシミュレーション装置は、表示装置に表示された仮想ロボットアームの動作を行うシミュレーション装置であって、
入力部からの前記仮想ロボットアームの先端に対するドラッグ操作を受け付ける受付部と、
前記受付部が受け付けた前記ドラッグ操作に基づいて、前記仮想ロボットアームの姿勢を変更する表示制御部と、を備えることを特徴とする。
【００１０】
これにより、仮想ロボットアームの先端に対するドラッグ操作を行うことで、そのドラッグ操作に追従して仮想ロボットアームの姿勢が変更されるので、容易かつ迅速に、仮想ロボットアームの姿勢を変更することができ、その結果、容易かつ迅速に、オフラインでロボットアーム（ロボット）の教示データを作成することができる。すなわち、容易かつ迅速に、オフラインでロボットアーム（ロボット）に対して教示、特に、粗教示を行うことができる。
【００１１】
本発明のシミュレーション装置では、前記仮想ロボットアームは、複数の仮想アームを有し、
前記複数の仮想アームのうちの少なくとも１つの前記仮想アームの姿勢は、前記ドラッグ操作によって変更可能であることが好ましい。
【００１２】
これにより、複数の仮想アームの姿勢を個別に変更して教示データを作成することができ、容易に、仮想ロボットアームの姿勢を目的の姿勢に変更することができる。
【００１３】
本発明のシミュレーション装置では、前記受付部は、前記仮想ロボットアームの先端の位置を固定する指示を受け付けた場合、前記仮想ロボットアームの姿勢は、前記仮想ロボットアームの先端の位置を固定した状態で変更可能であることが好ましい。
【００１４】
これにより、容易かつ迅速に、仮想ロボットアームの先端の位置を固定した状態で仮想ロボットアームの姿勢を変更することができる。本機能は、実際の作業中に、例えば、ロボットアームと周辺機器との干渉を回避したい場合、ロボットアームが所定の対象物を把持し、その対象物を移動させずにロボットアームの姿勢のみを変更したい場合等に利用することができる。
【００１５】
本発明のシミュレーション装置では、前記ドラッグ操作によって前記仮想ロボットアームの姿勢が前記仮想ロボットアームの不可能な姿勢となる場合、前記表示装置の表示態様を変更することが好ましい。
【００１６】
これにより、仮想ロボットアームの姿勢が仮想ロボットアームの不可能な姿勢になったことを容易かつ適確に把握することができる。
【００１７】
本発明のシミュレーション装置では、前記受付部が仮想対象物に対する操作を受け付けた場合、前記仮想対象物上の位置を前記仮想ロボットアームの教示点とすることが可能であることが好ましい。
【００１８】
これにより、容易かつ迅速に、仮想対象物上の位置を教示点とする教示データを作成することができる。
【００１９】
本発明のシミュレーション装置では、前記受付部が仮想対象物に含まれる線分の選択を受け付けた場合、前記線分を含む図形の重心を前記仮想ロボットアームの教示点とすることが可能であることが好ましい。
【００２０】
これにより、容易かつ迅速に、仮想対象物に含まれる線分を含む図形の重心の位置を教示点とする教示データを作成することができる。
【００２１】
本発明のシミュレーション装置では、前記線分が円弧の場合、前記円弧の中心を前記仮想ロボットアームの教示点とすることが可能であることが好ましい。
【００２２】
これにより、容易かつ迅速に、仮想対象物に含まれる円弧の中心の位置を教示点とする教示データを作成することができる。これによって、例えば、ネジ締め、多点のネジ締め、グリスの塗布や注入等の互いの中心軸を一致させる動作を含む作業の教示データを容易かつ迅速に作成することができる。
【００２３】
本発明のシミュレーション装置では、前記表示制御部は、前記仮想ロボットアームが表示された画面上に、前記仮想ロボットアームの先端の位置を教示する際に用いる教示点設定画面を前記表示装置に表示させることが好ましい。
【００２４】
これにより、従来のように２つのウィンドウを行ったり来たりして作業を行う場合に比べ、利便性が良く、また、作業効率を向上させることができる。
【００２５】
本発明のシミュレーション装置では、前記表示装置は、前記入力部を備えることが好ましい。
これにより、表示装置の他に、別途入力部を用意する必要がなく、利便性が良い。
【００２６】
本発明のロボット制御装置は、本発明のシミュレーション装置のシミュレーション結果に基づいてロボットアームを備えるロボットを制御することを特徴とする。
【００２７】
これにより、容易かつ迅速に、オフラインでロボットアーム（ロボット）に対して教示を行うことができ、得られた教示データに基づいてロボットを適確に動作させることができる。
【００２８】
本発明のロボットは、ロボットアームを備え、
本発明のロボット制御装置により制御されることを特徴とする。
【００２９】
これにより、容易かつ迅速に、オフラインでロボットアーム（ロボット）に対して教示を行うことができ、ロボットは、得られた教示データに基づいて適確に動作することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明のロボットの実施形態を示す斜視図である。
【図２】図１に示すロボットの概略図である。
【図３】本発明のロボットおよびロボット制御装置の実施形態の主要部のブロック図である。
【図４】本発明のシミュレーション装置の第１実施形態を示すブロックである。
【図５】図４に示すシミュレーション装置の制御動作を示すフローチャートである。
【図６】図４に示すシミュレーション装置のシミュレーションを説明するための図である。
【図７】図４に示すシミュレーション装置のシミュレーションを説明するための図である。
【図８】図４に示すシミュレーション装置のシミュレーションを説明するための図である。
【図９】図４に示すシミュレーション装置のシミュレーションを説明するための図である。
【図１０】図４に示すシミュレーション装置のシミュレーションを説明するための図である。
【図１１】表示装置に表示されるツールバーを示す図である。
【図１２】表示装置に表示されるＴｅａｃｈ Ｊｏｉｎｔ Ｐｏｓｉｔｉｏｎｓを示す図である。
【図１３】表示装置に表示されるＴｅａｃｈ Ｊｏｉｎｔ Ｐｏｓｉｔｉｏｎｓを示す図である。
【図１４】図４に示すシミュレーション装置のシミュレーションを説明するための図である。
【図１５】図４に示すシミュレーション装置のシミュレーションを説明するための図である。
【図１６】教示点を登録する操作を説明するための図である。
【図１７】表示装置に表示されるティーチダイアログボックスを示す図である。
【図１８】本発明のシミュレーション装置の第２実施形態におけるシミュレーションを説明するための図である。
【図１９】本発明のシミュレーション装置の第２実施形態におけるシミュレーションを説明するための図である。
【図２０】表示装置に表示されるＣｕｒｖｅ Ｃｅｎｔｅｒダイアログボックスを示す図である。
【図２１】表示装置に表示されるＣｕｒｖｅ Ｃｅｎｔｅｒダイアログボックスを示す図である。
【発明を実施するための形態】
【００３１】
以下、本発明のシミュレーション装置、ロボット制御装置およびロボットを添付図面に示す実施形態に基づいて詳細に説明する。
【００３２】
＜第１実施形態＞
図１は、本発明のロボットの実施形態を示す斜視図である。図２は、図１に示すロボットの概略図である。図３は、本発明のロボットおよびロボット制御装置の実施形態の主要部のブロック図である。図４は、本発明のシミュレーション装置の第１実施形態を示すブロックである。図５は、図４に示すシミュレーション装置の制御動作を示すフローチャートである。図６〜図１０は、それぞれ、図４に示すシミュレーション装置のシミュレーションを説明するための図である。図１１は、表示装置に表示されるツールバーを示す図である。図１２および図１３は、それぞれ、表示装置に表示されるＴｅａｃｈ Ｊｏｉｎｔ Ｐｏｓｉｔｉｏｎｓを示す図である。図１４および図１５は、それぞれ、図４に示すシミュレーション装置のシミュレーションを説明するための図である。図１６は、教示点を登録する操作を説明するための図である。図１７は、表示装置に表示されるティーチダイアログボックスを示す図である。
【００３３】
なお、以下では、説明の都合上、図１および図２中の上側を「上」または「上方」、下側を「下」または「下方」と言う（仮想ロボットが図示されている図も同様）。また、図１および図２中の基台側を「基端」または「上流」、その反対側を「先端」または「下流」と言う（仮想ロボットが図示されている図も同様）。また、図１および図２中の上下方向を「鉛直方向」とし、左右方向を「水平方向」とする（仮想ロボットが図示されている図も同様）。また、本明細書において、「水平」とは、完全に水平な場合のみならず、水平に対して±５°以内で傾斜している場合も含む。同様に、本明細書において、「鉛直」とは、完全に鉛直な場合のみならず、鉛直に対して±５°以内で傾斜している場合も含む。また、本明細書において、「平行」とは、２つの線（軸を含む）または面が、互いに完全な平行である場合のみならず、±５°以内の角度を有する場合も含む。また、本明細書において、「直交」とは、２つの線（軸を含む）または面が、互いに完全な直交である場合のみならず、±５°以内の角度を有する場合も含む。
【００３４】
また、本実施形態では、仮想ロボット１Ａにおいて、仮想ロボット１Ａが備える仮想基台１１Ａの底面に原点を有し、仮想基台１１Ａの底面に直交するｚ軸と、ｚ軸に直交するｘ軸と、ｘ軸およびｚ軸に直交するｙ軸とを有する３次元座標系である仮想ロボット座標系を設定する（図６参照）。また、本実施形態では、仮想ロボット座標系のｘｙ平面と、仮想床１０１Ａの仮想床面（上面）と、水平面とは、互いに平行である。
【００３５】
図４に示すシミュレーション装置５は、仮想空間上で仮想ロボット１Ａの動作のシミュレーションを行う装置、すなわち、表示装置６に表示された仮想ロボットアーム１０Ａを備える仮想ロボット１Ａの動作等を行う装置である。この仮想空間は、本実施形態では、３次元の仮想空間であるが、これに限定されるものではない。
【００３６】
また、図３に示すロボット制御装置２０は、後に詳述するシミュレーション装置５のシミュレーションの結果（シミュレーション結果）に基づいて、ロボットアーム１０を備えるロボット１を制御する。シミュレーション装置５によれば、容易かつ迅速に、オフラインでロボットアーム１０（ロボット１）に対して教示を行うことができ、このロボット制御装置２０によれば、得られた教示データに基づいてロボット１を適確に動作させることができる。
【００３７】
また、図１〜図３に示すロボット１は、ロボットアーム１０を備え、ロボット制御装置２０により制御される。シミュレーション装置５によれば、容易かつ迅速に、オフラインでロボットアーム１０（ロボット１）に対して教示を行うことができ、このロボット１によれば、得られた教示データに基づいて適確に動作することができる。
【００３８】
なお、実際のロボット１の符号と仮想ロボット１Ａの符合との対応関係を説明すると、仮想ロボット１Ａの各部の符号は、それぞれ、ロボット１の対応する各部の符号の後に「Ａ」を付けて表記する。また、仮想ロボット１Ａの各部の名称は、それぞれ、実際のロボット１の対応する各部の名称の前に「仮想」を付けて表記する。また、仮想ロボット１Ａの説明は、ロボット１の説明で代用する。
【００３９】
まず、ロボット１およびロボット制御装置２０について説明する。
図１〜図３に示すロボットシステム１００は、ロボット１と、ロボット１が有するロボットアーム１０等のロボット１を制御するロボット制御装置２０とを備えている。すなわち、ロボット１は、ロボット制御装置により制御される。このロボットシステム１００の用途は特に限定されないが、ロボットシステム１００は、例えば、電子部品および電子機器等のワーク（対象物）の保持、搬送、組み立ておよび検査等の作業で用いることができる。
【００４０】
また、本実施形態では、ロボット制御装置２０は、ロボット１と別体で構成されている。この場合は、例えば、ロボット１とロボット制御装置２０とをケーブル（配線）で接続し、有線方式で通信を行うようにしてもよく、また、前記ケーブルを省略し、無線方式で通信を行うようにしてもよい。すなわち、ロボット１とロボット制御装置２０とは、有線通信で接続されていてもよく、また、無線通信で接続されていてもよい。
【００４１】
また、ロボット制御装置２０は、前記ロボット１と別体の構成に限定されず、ロボット１にその一部または全部が内蔵されていてもよい。この場合は、例えば、ロボット制御装置２０は、ロボット１の基台１１内に内蔵することが可能である。
【００４２】
また、ロボット制御装置２０は、例えば、ＣＰＵ（Central Processing Unit）が内蔵され、プログラム（ＯＳ等）がインストールされたパーソナルコンピューター（ＰＣ）等で構成することができる。このロボット制御装置２０は、ロボット１の後述する第１駆動源４０１の作動（駆動）を制御する第１駆動源制御部２０１、第２駆動源４０２の作動を制御する第２駆動源制御部２０２、第３駆動源４０３の作動を制御する第３駆動源制御部２０３、第４駆動源４０４の作動を制御する第４駆動源制御部２０４、第５駆動源４０５の作動を制御する第５駆動源制御部２０５および第６駆動源４０６の作動を制御する第６駆動源制御部２０６と、制御部２０７と、各情報を記憶する記憶部２０８等を備えている。制御部２０７は、例えば、ＣＰＵ等を有している。また、記憶部２０８は、例えば、ハードディスク、ＲＡＭ、プログラム等が記憶されたＲＯＭ等を有している。また、ロボット制御装置２０の機能は、例えば、ＣＰＵにより各種プログラムを実行することにより実現することができる。
【００４３】
図１および図２に示すように、ロボット１は、基台１１と、ロボットアーム１０とを備えている。ロボットアーム１０は、第１アーム１２、第２アーム１３、第３アーム１４、第４アーム１５、第５アーム１７および第６アーム１８と、第１駆動源４０１、第２駆動源４０２、第３駆動源４０３、第４駆動源４０４、第５駆動源４０５および第６駆動源４０６とを備えている。また、第５アーム１７および第６アーム１８によりリスト１６が構成され、第６アーム１８の先端部、すなわちリスト１６の先端面１６３には、例えば、ハンド等のエンドエフェクター（図示せず）を着脱可能に取り付けることができるようになっている。エンドエフェクターが取り付けられている場合は、そのエンドエフェクターは、ロボットアーム１０の構成要素である。そして、このロボット１は、例えば、ハンドでワークを把持したまま、アーム１２〜１５、リスト１６等の動作を制御することにより、そのワークを搬送する等の種々の作業を行うことができる。
【００４４】
ロボット１は、基台１１と、第１アーム１２と、第２アーム１３と、第３アーム１４と、第４アーム１５と、第５アーム１７と、第６アーム１８とが基端側から先端側に向ってこの順に連結された垂直多関節（６軸）ロボットである。以下では、第１アーム１２、第２アーム１３、第３アーム１４、第４アーム１５、第５アーム１７、第６アーム１８、リスト１６をそれぞれ「アーム」とも言う。また、第１駆動源４０１、第２駆動源４０２、第３駆動源４０３、第４駆動源４０４、第５駆動源４０５および第６駆動源４０６をそれぞれ「駆動源」とも言う。なお、アーム１２〜１５、１７および１８の長さは、それぞれ、特に限定されず、適宜設定可能である。
【００４５】
基台１１と第１アーム１２とは、関節（ジョイント）１７１を介して連結されている。そして、第１アーム１２は、基台１１に対し、鉛直方向と平行な第１回動軸Ｏ１を回動中心とし、その第１回動軸Ｏ１周りに回動可能となっている。第１回動軸Ｏ１は、基台１１の設置面である床１０１の上面の法線と一致している。また、第１回動軸Ｏ１は、ロボット１の最も上流側にある回動軸である。この第１アーム１２は、モーター（第１モーター）４０１Ｍおよび減速機（図示せず）を有する第１駆動源４０１の駆動により回動する。また、モーター４０１Ｍは、モータードライバー３０１を介してロボット制御装置２０により制御される。なお、前記減速機が省略されていてもよい。
【００４６】
第１アーム１２と第２アーム１３とは、関節（ジョイント）１７２を介して連結されている。そして、第２アーム１３は、第１アーム１２に対し、水平方向と平行な第２回動軸Ｏ２を回動中心として回動可能となっている。第２回動軸Ｏ２は、第１回動軸Ｏ１と直交している。この第２アーム１３は、モーター（第２モーター）４０２Ｍおよび減速機（図示せず）を有する第２駆動源４０２の駆動により回動する。また、モーター４０２Ｍは、モータードライバー３０２を介してロボット制御装置２０により制御される。なお、前記減速機が省略されていてもよい。また、第２回動軸Ｏ２は、第１回動軸Ｏ１に直交する軸と平行であってもよい。
【００４７】
第２アーム１３と第３アーム１４とは、関節（ジョイント）１７３を介して連結されている。そして、第３アーム１４は、第２アーム１３に対して水平方向と平行な第３回動軸Ｏ３を回動中心とし、その第３回動軸Ｏ３周りに回動可能となっている。第３回動軸Ｏ３は、第２回動軸Ｏ２と平行である。この第３アーム１４は、モーター（第３モーター）４０３Ｍおよび減速機（図示せず）を有する第３駆動源４０３の駆動により回動する。また、モーター４０３Ｍは、モータードライバー３０３を介してロボット制御装置２０により制御される。なお、前記減速機が省略されていてもよい。
【００４８】
第３アーム１４と第４アーム１５とは、関節（ジョイント）１７４を介して連結されている。そして、第４アーム１５は、第３アーム１４に対し、第３アーム１４の中心軸方向と平行な第４回動軸Ｏ４を回動中心とし、その第４回動軸Ｏ４周りに回動可能となっている。第４回動軸Ｏ４は、第３回動軸Ｏ３と直交している。この第４アーム１５は、モーター（第４モーター）４０４Ｍおよび減速機（図示せず）を有する第４駆動源４０４の駆動により回動する。また、モーター４０４Ｍは、モータードライバー３０４を介してロボット制御装置２０により制御される。なお、前記減速機が省略されていてもよい。また、第４回動軸Ｏ４は、第３回動軸Ｏ３に直交する軸と平行であってもよい。
【００４９】
第４アーム１５とリスト１６の第５アーム１７とは、関節（ジョイント）１７５を介して連結されている。そして、第５アーム１７は、第４アーム１５に対して第５回動軸Ｏ５を回動中心とし、その第５回動軸Ｏ５周りに回動可能となっている。第５回動軸Ｏ５は、第４回動軸Ｏ４と直交している。この第５アーム１７は、モーター（第５モーター）４０５Ｍおよび減速機（図示せず）を有する第５駆動源４０５の駆動により回動する。また、モーター４０５Ｍは、モータードライバー３０５を介してロボット制御装置２０により制御される。なお、前記減速機が省略されていてもよい。また、第５回動軸Ｏ５は、第４回動軸Ｏ４に直交する軸と平行であってもよい。
【００５０】
リスト１６の第５アーム１７と第６アーム１８とは、関節（ジョイント）１７６を介して連結されている。そして、第６アーム１８は、第５アーム１７に対して第６回動軸Ｏ６を回動中心とし、その第６回動軸Ｏ６周りに回動可能となっている。第６回動軸Ｏ６は、第５回動軸Ｏ５と直交している。この第６アーム１８は、モーター（第６モーター）４０６Ｍおよび減速機（図示せず）を有する第６駆動源４０６の駆動により回動する。また、モーター４０６Ｍは、モータードライバー３０６を介してロボット制御装置２０により制御される。なお、前記減速機が省略されていてもよい。また、第６回動軸Ｏ６は、第５回動軸Ｏ５に直交する軸と平行であってもよい。
【００５１】
なお、リスト１６は、第６アーム１８として、円筒状をなすリスト本体１６１を有し、また、第５アーム１７として、リスト本体１６１と別体で構成され、当該リスト本体１６１の基端部に設けられ、リング状をなす支持リング１６２を有している。
【００５２】
駆動源４０１〜４０６には、それぞれのモーターまたは減速機に、第１角度センサー４１１、第２角度センサー４１２、第３角度センサー４１３、第４角度センサー４１４、第５角度センサー４１５、第６角度センサー４１６が設けられている。これらの角度センサーとしては、特に限定されず、例えば、ロータリーエンコーダー等のエンコーダー等を用いることができる。これらの角度センサー４１１〜４１６により、それぞれ、駆動源４０１〜４０６のモーターまたは減速機の回転軸（回動軸）の回転（回動）角度を検出する。
【００５３】
また、駆動源４０１〜４０６のモーターとしては、それぞれ、特に限定されないが、例えば、ＡＣサーボモーター、ＤＣサーボモーター等のサーボモーターを用いるのが好ましい。
【００５４】
ロボット１は、ロボット制御装置２０と接続されている。すなわち、駆動源４０１〜４０６、角度センサー４１１〜４１６は、それぞれ、ロボット制御装置２０と接続されている。
【００５５】
そして、ロボット制御装置２０は、アーム１２、１３、１４、１５、１７、１８をそれぞれ独立して作動させることができる、すなわち、モータードライバー３０１〜３０６を介して、駆動源４０１〜４０６をそれぞれ独立して制御することができる。この場合、ロボット制御装置２０は、角度センサー４１１〜４１６により検出を行い、その検出結果に基づいて、駆動源４０１〜４０６の駆動、例えば、角速度や回転角度等をそれぞれ制御する。この制御プログラムは、ロボット制御装置２０の記憶部２０８に予め記憶されている。
【００５６】
本実施形態では、基台１１は、ロボット１の鉛直方向の最も下方に位置し、設置スペースの床１０１等に固定（設置）される部分である。この固定方法としては、特に限定されず、例えば、本実施形態では、複数本のボルト１１１による固定方法を用いている。
【００５７】
基台１１には、例えば、モーター４０１Ｍやモータードライバー３０１〜３０６等が収納されている。
【００５８】
アーム１２〜１５は、それぞれ、中空のアーム本体２と、アーム本体２内に収納され、モーターを備える駆動機構３と、アーム本体２内を封止する封止部材４とを有している。なお、図面では、第１アーム１２が有するアーム本体２、駆動機構３、封止部材４をそれぞれ「２ａ」、「３ａ」、「４ａ」とも表記し、第２アーム１３が有するアーム本体２、駆動機構３、封止部材４をそれぞれ「２ｂ」、「３ｂ」、「４ｂ」とも表記し、第３アーム１４が有するアーム本体２、駆動機構３、封止部材４をそれぞれ「２ｃ」、「３ｃ」、「４ｃ」とも表記し、第４アーム１５が有するアーム本体２、駆動機構３、封止部材４をそれぞれ「２ｄ」、「３ｄ」、「４ｄ」とも表記する。
【００５９】
次に、シミュレーション装置５について説明するが、まず、仮想ロボット１Ａについて簡単に説明する。
【００６０】
図６に示すように、仮想ロボット１Ａは、前述した実施のロボット１と同様であり、仮想基台１１Ａと、仮想ロボットアーム１０Ａとを備えている。仮想ロボットアーム１０Ａは、回動可能に設けられた複数のアーム、本実施形態では、仮想第１アーム１２Ａ、仮想第２アーム１３Ａ、仮想第３アーム１４Ａ、仮想第４アーム１５Ａ、仮想第５アーム１７Ａおよび仮想第６アーム１８Ａを備えている。また、仮想ロボットアーム１０Ａは、これらのアームを駆動する複数の仮想駆動源、本実施形態では、６つの仮想駆動源（図示せず）を備えている。
【００６１】
また、仮想第５アーム１７Ａおよび仮想第６アーム１８Ａにより仮想リスト１６Ａが構成され、仮想第６アーム１８Ａの先端、すなわち仮想リスト１６Ａの先端には、例えば、仮想ハンド等の仮想エンドエフェクター（図示せず）を着脱可能に取り付けることができるようになっている。
【００６２】
なお、以下のシミュレーション装置５の説明は、仮想ロボット１Ａの仮想第６アーム１８Ａに仮想エンドエフェクターを取り付けない状態で行う。
【００６３】
まず、特許請求の範囲の記載に対応させてシミュレーション装置５の概要について説明し、その後で、具体的に説明する。
【００６４】
図４に示すシミュレーション装置５は、表示装置６に表示された仮想ロボットアーム１０Ａ（仮想ロボット１Ａ）の動作を行う装置である。シミュレーション装置５は、入力装置７（入力部）からの仮想ロボットアーム１０Ａの先端に対するドラッグ操作を受け付ける受付部５３と、受付部５３が受け付けたドラッグ操作に基づいて、仮想ロボットアーム１０Ａの姿勢を変更する表示制御部５１とを備えている。
【００６５】
ドラッグ操作とは、表示装置６に表示された画像において、対象物の所定の部分を掴み、所定の位置に移動（例えば、並進、回動等）させて放す操作を言う。また、対象物の所定の部分を掴むとは、対象物の所定の移動させる部分を指定することである。具体例としては、例えば、マウス等の入力装置７を操作して、ポインターにより対象物の所定の部分を掴み、所定の位置に移動させて放す操作等が挙げられる。
【００６６】
このシミュレーション装置５によれば、仮想ロボットアーム１０Ａの先端に対するドラッグ操作を行うことで、そのドラッグ操作に追従して仮想ロボットアーム１０Ａの姿勢が変更されるので、容易かつ迅速に、仮想ロボットアーム１０Ａの姿勢を変更することができ、その結果、容易かつ迅速に、オフラインでロボットアーム１０（ロボット１）の教示データを作成することができる。すなわち、容易かつ迅速に、オフラインでロボットアーム１０（ロボット１）に対して教示、特に、粗教示を行うことができる。
【００６７】
また。図６に示す仮想ロボットアーム１０Ａは、６つの仮想アーム１２Ａ、１３Ａ、１４Ａ、１５Ａ、１７Ａ、１８Ａ（複数の仮想アーム）を有している。そして、仮想アーム１２Ａ、１３Ａ、１４Ａ、１５Ａ、１７Ａ、１８Ａ（複数の仮想アーム）のうちの少なくとも１つの仮想アームの姿勢は、受付部５３が受け付けたドラッグ操作によって変更可能である。本実施形態では、仮想アーム１２Ａ、１３Ａ、１４Ａ、１５Ａ、１７Ａ、１８Ａの姿勢は、それぞれ、受付部５３が受け付けたドラッグ操作によって変更可能である。これにより、仮想アーム１２Ａ、１３Ａ、１４Ａ、１５Ａ、１７Ａ、１８Ａの姿勢を個別に変更して教示データを作成することができ、容易に、仮想ロボットアーム１０Ａの姿勢を目的の姿勢に変更することができる。
【００６８】
また、シミュレーション装置５では、受付部５３は、仮想ロボットアーム１０Ａの先端の位置を固定する指示を受け付けた場合、仮想ロボットアーム１０Ａの姿勢は、仮想ロボットアーム１０Ａの先端の位置を固定した状態で変更可能である。これにより、容易かつ迅速に、仮想ロボットアーム１０Ａの先端の位置を固定した状態で仮想ロボットアーム１０Ａの姿勢を変更することができる。本機能は、実際の作業中に、例えば、ロボットアーム１０と周辺機器との干渉を回避したい場合、ロボットアーム１０が所定の対象物を把持し、その対象物を移動させずにロボットアーム１０の姿勢のみを変更したい場合等に利用することができる。以下、具体的に説明する。
【００６９】
図４に示すように、シミュレーション装置５は、表示制御部５１と、記憶部５２と、受付部５３とを備えている。このシミュレーション装置５は、仮想空間上で仮想ロボット１Ａの動作のシミュレーションを行う機能、すなわち、表示装置６に表示された仮想ロボット１Ａの動作等を行う機能を有している。そして、シミュレーション装置５は、オフラインでのロボット１に対する教示、特に、粗教示に用いられる。
【００７０】
また、表示制御部５１は、表示装置６に各種の画像（ウィンドウ等の各種の画面等を含む）や文字等を表示させる機能を有している。すなわち、表示制御部５１は、表示装置６の駆動を制御する。この表示制御部５１の機能は、例えば、ＧＰＵ等により実現することができる。
【００７１】
また、記憶部５２は、各種の情報（データやプログラム等を含む）を記憶する機能を有している。この記憶部５２は、プログラム等を記憶する。記憶部５２の機能は、例えば、ハードディスク、ＲＡＭ、ＲＯＭ等やいわゆる外部記憶装置によって実現することができる。
【００７２】
また、受付部５３は、入力装置７からの入力等の各入力を受け付ける機能を有している。この受付部５３の機能は、例えば、インターフェース回路によって実現することができる。また、例えば、タッチパネルを用いる場合には、受付部５３は、ユーザーの指のタッチパネルへの接触等を検知する入力検知部としての機能を有する。
【００７３】
また、シミュレーション装置５は、シミュレーションを示す画像等の各画像を表示可能な表示装置６と有線または無線により通信可能になっている。表示装置６は、例えば、液晶ディスプレイ、ＥＬディスプレイ等で構成されたモニター（図示せず）を備えており、例えば、各種の画像（ウィンドウ等の各種の画面等を含む）や文字等を表示する機能を有する。したがって、ユーザーは、仮想ロボット１Ａの動作や姿勢等を把握することができる。
【００７４】
また、シミュレーション装置５は、シミュレーション装置５への各入力操作（入力）を行うことが可能な入力装置７と有線または無線により通信可能になっている。入力装置７は、例えば、マウス、キーボード等で構成されている。したがって、ユーザーは、入力装置７を操作することで、シミュレーション装置５に対して各種の処理等の指示（入力）を行うことができる。
【００７５】
具体的には、ユーザーは、表示装置６に表示される各種画面（ウィンドウ等）に対して入力装置７のマウスでクリックする操作（ドラッグ操作等を含む）や、入力装置７のキーボードで文字や数字等を入力する操作により、シミュレーション装置５に対する指示を行うことができる。以下、このユーザーによる入力装置７を用いた指示（入力装置７による入力）を「操作指示」とも言う。この操作指示は、入力装置７により、表示装置６に表示された内容から所望の内容を選択する選択操作や、入力装置７により、文字や数字等を入力する入力指示等を含む。また、入力には、選択も含まれる。
【００７６】
また、表示装置６と入力装置７とは、別体であるが、これに限らず、表示装置６が入力装置７（入力部）を備える構成としてもよい。すなわち、表示装置６および入力装置７の代わりに、表示装置６および入力装置７を兼ね備えた表示入力装置（図示せず）を設けてもよい。表示入力装置としては、例えば、タッチパネル（静電式タッチパネルや感圧式タッチパネル）等を用いることができる。これにより、表示装置６の他に、別途入力装置７を用意する必要がなく、利便性が良い。
【００７７】
また、シミュレーション装置５と、入力装置７と、表示装置６とにより、シミュレーションシステムが構成される。なお、表示装置６に代えて、シミュレーション装置５が表示装置（表示部）を備えていてもよく、また、表示装置６とは別に、シミュレーション装置５が表示装置（表示部）を備えていてもよい。また、入力装置７に代えて、シミュレーション装置５が入力装置７（入力部）を備えていてもよく、また、入力装置７とは別に、シミュレーション装置５が入力装置（入力部）を備えていてもよい。
【００７８】
以下、シミュレーション装置５が行うシミュレーションについて説明する。
シミュレーション装置５では、入力装置７を操作して行う仮想ロボット１Ａの動作について、下記の構成１、構成２および構成３が可能である。また、シミュレーション装置５は、構成１、構成２および構成３が、それぞれ、第１の動作モード、第２の動作モードおよび第３の動作モードとして設定されている。なお、シミュレーション装置５は、構成１が可能であれば、構成２および構成３については、いずれか一方のみが可能であってもよく、また、２つとも実行できなくてもよい。
【００７９】
（構成１）
シミュレーション装置５では、ドラッグ操作により、仮想ロボット１Ａの仮想アーム１２Ａ、１３Ａ、１４Ａ、１５Ａ、１７Ａ、１８Ａを個別に目的の角度、回動させる動作、すなわち、仮想アーム１２Ａ、１３Ａ、１４Ａ、１５Ａ、１７Ａ、１８Ａのうち、所定の対象の仮想アームのみを目的の角度、回動させる動作が可能である。
【００８０】
図１１に示すように、表示装置６には、ツールバー８１が表示される。ユーザーは、入力装置７を操作し、ツールバー８１の回転／ジョグボタン８２（アイコン）を押す。
【００８１】
これにより、シミュレーション装置５の受付部５３は、入力装置７から入力された回転／ジョグボタン８２を押した操作を受け付ける。表示制御部５１は、ドラッグ操作により仮想ロボット１Ａの仮想アーム１２Ａ、１３Ａ、１４Ａ、１５Ａ、１７Ａ、１８Ａを個別に回動させることが可能な状態にする。
【００８２】
ユーザーは、表示装置６に表示された画像を見つつ、入力装置７を操作し、仮想ロボット１Ａの仮想アーム１２Ａ、１３Ａ、１４Ａ、１５Ａ、１７Ａ、１８Ａのうち、対象の仮想アームに対するドラッグ操作を行う。すなわち、入力装置７を操作し、ポインターにより、対象の仮想アームを掴み、目的の角度、回動させて放す。
【００８３】
この場合、まず、ユーザーは、入力装置７を操作し、ポインターが対象の仮想アームを掴む操作（マウスのクリック操作）を行う。シミュレーション装置５の受付部５３は、ユーザーの操作指示を受け付け、図６に示すように、表示制御部５１は、表示装置６を制御し、その対象の仮想アームの色を他の色（例えば、青色）に変更する。本実施形態では、対象の仮想アームは、仮想第２アーム１３Ａである。図６、図７では、仮想第２アーム１３Ａに斜線を付して色を変更したことを示している。これにより、対象の仮想アーム、すなわち、仮想第２アーム１３Ａを容易に把握することができる。なお、以下では、対象の仮想アームが仮想第２アーム１３Ａの場合を代表的に説明する。
【００８４】
次に、ユーザーは、入力装置７を操作し、ポインターで掴んだ仮想第２アーム１３Ａを目的の角度、回動させて放す。シミュレーション装置５の受付部５３は、ユーザーの操作指示を受け付け、図７に示すように、表示制御部５１は、受付部５３が受け付けた仮想第２アーム１３Ａに対するドラッグ操作に基づいて、表示装置６を制御し、仮想ロボットアーム１０Ａの姿勢を変更する。すなわち、仮想第２アーム１３Ａを目的の方向に、目的の角度、回動させる。
【００８５】
この場合、表示制御部５１は、表示装置６の視点方向から見て、ポインターで対象の仮想アームを掴んだ状態での入力装置７のマウスの移動方向および移動量（ポインターの移動方向および移動量）に基づいて、仮想第２アーム１３Ａを回動させる方向と回動量とを求め、仮想第２アーム１３Ａを回動させる。
【００８６】
次に、ユーザーは、入力装置７を操作し、教示点（教示位置）を登録する操作を行う。これにより、シミュレーション装置５は、教示点を記憶部５２に記憶する。教示点を登録する操作については、後で詳述する。
【００８７】
ここで、教示点の記憶（登録）とは、仮想ロボットアーム１０Ａの所定の部分、本実施形態では、仮想第６アーム１８Ａの中央の先端が目的位置（教示点）に位置しているときの各仮想アーム１２Ａ、１３Ａ、１４Ａ、１５Ａ、１７Ａ、１８Ａの回動角度を記憶部５２に記憶（登録）することを言う。
【００８８】
次に、図５のフローチャートに基づいて、ユーザーのドラッグ操作に伴うシミュレーション装置５の制御動作について説明する。なお、このフローチャートに基づく制御動作の説明は、構成例１において代表的に行い、構成例２および構成例３では省略する。
【００８９】
図５に示すように、シミュレーション装置５の受付部５３は、入力装置７から入力された対象の仮想アームである仮想第２アーム１３Ａに対するドラッグ操作を受け付ける（ステップＳ１０１）。
【００９０】
次いで、表示制御部５１は、受付部５３が受け付けた仮想第２アーム１３Ａに対するドラッグ操作に基づいて、表示装置６を制御し、仮想第２アーム１３Ａの色を変更し、仮想ロボットアーム１０Ａの姿勢を変更する。すなわち、仮想第２アーム１３Ａを目的の方向に、目的の角度、回動させる（ステップＳ１０２）。
【００９１】
（構成２）
シミュレーション装置５では、ドラッグ操作により、仮想ロボット１Ａの仮想ロボットアーム１０Ａの先端、本実施形態では仮想第６アーム１８Ａの中央の先端（ツールセンターポイント）を目的位置に移動させる動作が可能である。以下、仮想第６アーム１８Ａの中央の先端を「仮想第６アーム１８Ａの先端」とも言う。
【００９２】
ユーザーは、入力装置７を操作し、構成２を実行可能な動作モードに設定するための図示しないボタンを押す。
【００９３】
これにより、シミュレーション装置５の受付部５３は、入力装置７から入力された前記ボタンを押した操作を受け付ける。表示制御部５１は、ドラッグ操作により仮想第６アーム１８Ａの先端を目的位置に移動させることが可能な状態にする。
【００９４】
また、図８に示すように、表示制御部５１は、表示装置６を制御し、網目形状をなす仮想網目形状体１１２Ａを仮想第６アーム１８Ａの位置に表示する。この仮想網目形状体１１２Ａは、本実施形態では、正方形や長方形等の四角形をなしており、仮想ロボット座標系のｘｙ平面と平行、すなわち、水平面と平行に設定されている。したがって、仮想網目形状体１１２Ａの位置は、仮想第６アーム１８Ａとともに変更されるが、仮想網目形状体１１２Ａの姿勢は、一定である。この仮想網目形状体１１２Ａにより、構成２を実行可能な動作モードであることを把握することができ、また、容易に水平面を把握することができ、例えば、位置決めにおいて有効に使用することができる。
【００９５】
ユーザーは、表示装置６に表示された画像を見つつ、入力装置７を操作し、仮想ロボット１Ａの仮想ロボットアーム１０Ａの先端、本実施形態では仮想第６アーム１８Ａの先端に対するドラッグ操作を行う。すなわち、入力装置７を操作し、ポインターにより、仮想第６アーム１８Ａの先端を掴み、目的位置に移動させて放す。
【００９６】
この場合、ユーザーが入力装置７を操作し、ポインターが仮想第６アーム１８Ａの近傍を掴む操作を行うと、受付部５３は、ユーザーの操作指示を受け付け、表示制御部５１は、表示装置６を制御し、ポインターが仮想第６アーム１８Ａの中央の先端を掴むように表示する。これにより、容易かつ適確に、ポインターで仮想第６アーム１８Ａの中央の先端を掴むことができる。
【００９７】
次に、ユーザーは、入力装置７を操作し、ポインターで掴んだ仮想第６アーム１８Ａの中央の先端を目的位置に移動させて放す。シミュレーション装置５の受付部５３は、ユーザーの操作指示を受け付け、図９に示すように、表示制御部５１は、受付部５３が受け付けた仮想第６アーム１８Ａの中央の先端に対するドラッグ操作に基づいて、表示装置６を制御し、仮想ロボットアーム１０Ａの姿勢を変更し、仮想第６アーム１８Ａの中央の先端を目的位置に移動させる。なお、図９には、仮想第６アーム１８Ａの中央の先端を先端方向（図９中の左側に）に移動させた例が示されている。
【００９８】
この場合、表示制御部５１は、表示装置６の視点方向から見て、ポインターで仮想第６アーム１８Ａの中央の先端を掴んだ状態での入力装置７のマウスの移動方向および移動量（ポインターの移動方向および移動量）に基づいて、仮想アーム１２Ａ、１３Ａ、１４Ａ、１５Ａ、１７Ａ、１８Ａを回動させる方向と回動量とを求め、仮想ロボットアーム１０Ａの姿勢を変更する。本実施形態では、仮想第６アーム１８Ａの中央の先端の最初の位置と最後の位置とが特定できれば、仮想ロボットアーム１０Ａの姿勢を適確に変更できるようになっているが、これに限らず、例えば、前記仮想ロボットアーム１０Ａの姿勢の変更において、仮想第６アーム１８Ａの中央の先端の最初の位置と最後の位置との間の移動軌跡が考慮されるようになっていてもよい。
【００９９】
次に、ユーザーは、入力装置７を操作し、教示点を登録する操作を行う。これにより、シミュレーション装置５は、教示点を記憶部５２に記憶する。
【０１００】
ここで、図１０に示すように、ドラッグ操作によって仮想ロボットアーム１０Ａの姿勢が仮想ロボットアーム１０Ａの不可能な姿勢となる場合は、表示制御部５１は、表示装置６の表示態様を変更する。表示装置６の表示態様の変更の具体例としては、色を変更することや、「不可能な姿勢」、「ＮＧ」等の文字を表示すること等が挙げられる。また、色を変更する場合は、例えば、仮想ロボットアーム１０Ａ（仮想ロボット１Ａ）の色を、不可能な姿勢となることをイメージし易い赤色に変更する。本実施形態では、仮想ロボット１Ａ全体の色を他の色（例えば、赤色）に変更する。図１０では、仮想ロボット１Ａに斜線を付して色を変更したことを示している。これにより、仮想ロボットアーム１０Ａの姿勢が仮想ロボットアーム１０Ａの不可能な姿勢になったことを容易かつ適確に把握することができる。
【０１０１】
なお、本実施形態では、ドラッグ操作により仮想第６アーム１８Ａの中央の先端を移動させるように構成されているが、ドラッグ操作に限らず、例えば、仮想第６アーム１８Ａの中央の先端の移動先の位置にポインターを合わせ（配置し）、入力装置７のマウスをクリック操作すると、仮想ロボットアーム１０Ａの姿勢が変更され、仮想第６アーム１８Ａの中央の先端が前記移動先の位置に移動するように構成してもよい。
【０１０２】
（構成３）
シミュレーション装置５では、入力装置７の操作により、仮想ロボット１Ａの仮想ロボットアーム１０Ａの先端、本実施形態では仮想第６アーム１８Ａの中央の先端の位置を固定しつつ、仮想ロボットアーム１０Ａの姿勢を目的姿勢に変更する動作が可能である。
【０１０３】
ユーザーは、入力装置７を操作し、表示装置６に表示されている図１２に示すＴｅａｃｈ Ｊｏｉｎｔ Ｐｏｓｉｔｉｏｎｓパネル６１（ウィンドウ）のＬｏｃｋボタン６２を押す（図１３参照）。
【０１０４】
これにより、シミュレーション装置５の受付部５３は、入力装置７から入力されたＬｏｃｋボタン６２を押した操作を受け付ける。表示制御部５１は、仮想第６アーム１８Ａの中央の先端の位置を固定する。これにより、仮想ロボットアーム１０Ａの姿勢は、仮想第６アーム１８Ａの中央の先端の位置を固定した状態で変更可能になる。
【０１０５】
ユーザーは、入力装置７を操作し、図１３に示すＴｅａｃｈ Ｊｏｉｎｔ Ｐｏｓｉｔｉｏｎｓパネル６１のＪｏｉｎｔ Ｃｏｎｔｒｏｌ６３において、仮想アーム１２Ａ、１３Ａ、１４Ａ、１５Ａ、１７Ａ、１８Ａ（Ｊｏｉｎｔ１、２、３、４、５、６）のうち、回動させたい仮想アーム（Ｊｏｉｎｔ）について、対応するスライドバー６４を移動させ、仮想ロボットアーム１０Ａの姿勢が目的姿勢になるように、回動角度を変更する。この回動角度は、仮想ロボットアーム１０Ａの基準姿勢を０°としたときの回動角度であり、対応するテキストボックス６５に表示される。なお、テキストボックス６５に直接、数値を入力することも可能である。以下、本実施形態では、仮想第５アーム１７Ａの回動角度を変更する場合を代表的に説明する。
【０１０６】
シミュレーション装置５の受付部５３は、ユーザーの操作指示を受け付け、表示制御部５１は、表示装置６を制御し、仮想第５アーム１７Ａを目的回動角度まで回動させる。これにより、仮想ロボットアーム１０Ａの姿勢は、図１４に示す姿勢から図１５に示す姿勢に変更される。
【０１０７】
次に、ユーザーは、入力装置７を操作し、教示点を登録する操作を行う。これにより、シミュレーション装置５は、教示点を記憶部５２に記憶する。
【０１０８】
次に、教示点を登録する操作について説明する。
まず、特許請求の範囲の記載に対応させて教示点を登録する操作におけるシミュレーション装置５の特徴について説明し、その後で、具体的に説明する。
【０１０９】
シミュレーション装置５では、表示制御部５１は、図１６に示す仮想ロボットアーム１０Ａが表示された画面７１（ウィンドウ）上に、図１７に示す仮想ロボットアーム１０Ａの先端の位置を教示する際に用いる教示点設定画面の１例であるティーチダイアログボックス７３（ウィンドウ）を表示装置６に表示させる。これにより、従来のように２つのウィンドウを行ったり来たりして作業を行う場合に比べ、利便性が良く、また、作業効率を向上させることができる。以下、具体的に説明する。
【０１１０】
図１６に示すように、ユーザーは、入力装置７を操作し、仮想ロボットアーム１０Ａが表示された画面７１にポインターを合わせ、クリック操作を行う。
【０１１１】
これにより、シミュレーション装置５の受付部５３は、ユーザーの操作指示を受け付け、表示制御部５１は、表示装置６を制御し、仮想ロボットアーム１０Ａが表示された画面７１に、コンテキストメニュー７２を表示する。
【０１１２】
次に、ユーザーは、入力装置７を操作し、コンテキストメニュー７２のティーチボタン７２１を押す。
【０１１３】
これにより、受付部５３は、ユーザーの操作指示を受け付け、表示制御部５１は、表示装置６を制御し、仮想ロボットアーム１０Ａが表示された画面７１に、コンテキストメニュー７２に代えて、図１７に示すティーチダイアログボックス７３を表示する。
【０１１４】
次に、ユーザーは、入力装置７を操作し、ティーチダイアログボックス７３のティーチボタン７３１を押す。
【０１１５】
これにより、受付部５３は、ユーザーの操作指示を受け付け、シミュレーション装置５は、記憶部５２に教示点を記憶する。このようにして、教示点が登録される。
【０１１６】
なお、入力装置７を操作し、図１１に示すツールバー８１のティーチボタン８３を押しても、ティーチダイアログボックス７３が表示される。
【０１１７】
以上説明したように、シミュレーション装置５では、容易かつ迅速に、仮想ロボットアーム１０Ａの姿勢を変更することができ、その結果、容易かつ迅速に、オフラインでロボットアーム１０（ロボット１）の教示データを作成することができる。すなわち、容易かつ迅速に、オフラインでロボットアーム１０（ロボット１）に対して教示、特に、粗教示を行うことができる。
【０１１８】
＜第２実施形態＞
図１８は、本発明のシミュレーション装置の第２実施形態におけるシミュレーションを説明するための図である。
【０１１９】
以下、第２実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項はその説明を省略する。
【０１２０】
図１８に示すように、第２実施形態のシミュレーション装置５では、受付部５３が仮想対象物９１Ａに対する操作を受け付けた場合、仮想対象物９１Ａ上の位置を仮想ロボットアーム１０Ａの教示点とすることが可能である。これにより、容易かつ迅速に、仮想対象物９１Ａ上の位置を教示点とする教示データを作成することができる。以下、具体的に説明する。
【０１２１】
ユーザーは、入力装置７を操作し、表示装置６に表示されているＣｌｉｃｋ ｔｏ Ｐｏｉｎｔボタン（図示せず）を押す。
【０１２２】
これにより、シミュレーション装置５の受付部５３は、ユーザーの操作指示を受け付け、表示制御部５１は、動作モードをＣｌｉｃｋ ｔｏ Ｐｏｉｎｔモードに設定する。
【０１２３】
次に、ユーザーは、入力装置７を操作し、表示装置６に表示されている仮想対象物９１Ａのうちの所定の位置（部分）を選択する。この場合、入力装置７を操作し、仮想対象物９１Ａの所定の位置にポインターを合わせ、クリック操作を行う。
【０１２４】
これにより、受付部５３は、ユーザーの操作指示を受け付け、表示制御部５１は、表示装置６を制御し、ポインターの位置にマーカー９２Ａを表示する。マーカー９２Ａは、特に限定されないが、本実施形態では、形状が球状（小球）であり、例えば、赤色で表示される。
【０１２５】
この操作は、仮想対象物９１Ａの１箇所に対して行ってもよく、また、位置を変更して仮想対象物９１Ａの複数の箇所に対して行ってもよく、また、複数の図示しない仮想対象物に対して行ってもよい。シミュレーション装置５は、クリック操作を行ったときのポインターの位置を、ユーザーが選択した順（クリック操作を行った順）に、リスト化して記憶部５２に記憶する。これにより、教示点の登録が完了する。
【０１２６】
次に、ユーザーは、入力装置７を操作し、表示装置６に表示されているＥｘｐｏｒｔボタン（図示せず）を押す。
【０１２７】
これにより、受付部５３は、ユーザーの操作指示を受け付け、シミュレーション装置５は、記憶部５２にリスト化して記憶されている位置情報を出力する。すなわち、表示制御部５１は、表示装置６を制御し、記憶部５２にリスト化して記憶されている位置情報を表示する。
【０１２８】
また、ツールの姿勢、すなわち、仮想第６アーム１８Ａに装着されている仮想エンドエフェクター１９Ａの姿勢（ｘ軸回りの回動角度、ｙ軸回りの回動角度、ｚ軸回りの回動角度）のデフォルト値は、（０、０、０）、仮想エンドエフェクター１９Ａの姿勢が、記憶部５２にリスト化して記憶されている位置が属する面が持つＣＡＤの法線と同じ向きになる姿勢、記憶部５２にリスト化して記憶されている位置が属する面が持つＣＡＤの法線と逆向きになる姿勢、現在の仮想ロボットアーム１０Ａの仮想エンドエフェクター１９Ａの姿勢等とすることができる。さらに、そのデフォルト値からｘ軸回りの回動角度、ｙ軸回りの回動角度、ｚ軸回りの回動角度をそれぞれ変更し、仮想エンドエフェクター１９Ａの姿勢を調整することもできる。
【０１２９】
以上のような第２実施形態によっても、前述した実施形態と同様の効果を発揮することができる。
【０１３０】
＜第３実施形態＞
図１９は、本発明のシミュレーション装置の第３実施形態におけるシミュレーションを説明するための図である。図２０および図２１は、それぞれ、表示装置に表示されるＣｕｒｖｅ Ｃｅｎｔｅｒダイアログボックスを示す図である。
【０１３１】
以下、第３実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項はその説明を省略する。
【０１３２】
図１９に示すように、第３実施形態のシミュレーション装置５では、受付部５３が仮想対象物９３Ａに含まれる線分９４Ａ（仮想孔９３１Ａのエッジ）の選択を受け付けた場合、その線分９４Ａを含む図形９５Ａ（仮想孔９３１Ａのエッジで画成される円）の重心（中心）を仮想ロボットアーム１０Ａの教示点とすることが可能である。これにより、容易かつ迅速に、線分９４Ａを含む図形９５Ａの重心の位置を教示点とする教示データを作成することができる。
【０１３３】
また、図形９５Ａの形状は、本実施形態では、円であるが、これに限定されず、例えば、長方形や正方形等の四角形、五角形、六角形等の多角形、楕円等が挙げられる。
【０１３４】
また、本実施形態では、図形９５Ａは、仮想孔９３１Ａのエッジで画成される円であるので、線分９４Ａは円弧である。シミュレーション装置５では、線分９４Ａが円弧（円または円の一部）の場合、その円弧の中心を仮想ロボットアーム１０Ａの教示点とすることが可能である。これにより、容易かつ迅速に、仮想対象物９３Ａに含まれる円弧の中心の位置を教示点とする教示データを作成することができる。これによって、例えば、ネジ締め、多点のネジ締め、グリスの塗布や注入等の互いの中心軸を一致させる動作を含む作業の教示データを容易かつ迅速に作成することができる。
【０１３５】
また、円弧には、曲率が一定の完全な円弧の他、所定の誤差（例えば、５％）の範囲内の曲率を有するものが含まれる。以下、具体的に説明する。
【０１３６】
ユーザーは、入力装置７を操作し、表示装置６に表示されているＣｕｒｖｅ Ｃｅｎｔｅｒボタン（図示せず）を押す。
【０１３７】
これにより、シミュレーション装置５の受付部５３は、ユーザーの操作指示を受け付け、表示制御部５１は、表示装置６を制御し、図２０に示すＣｕｒｖｅ Ｃｅｎｔｅｒダイアログボックス７６を表示する。
【０１３８】
また、図１９に示すように、表示装置６の画面（３Ｄ画面）上には、仮想対象物９３Ａが表示される。本実施形態では、仮想対象物９３Ａは、５つ（複数）の仮想孔９３１Ａを有する板体である。また、各仮想孔９３１Ａの形状は、本実施形態では、仮想対象物９３Ａの平面視で、円である。
【０１３９】
この場合、本実施形態の仮想孔９３１Ａのエッジは、線分９４Ａに対応する。したがって、線分９４Ａは、本実施形態では、円弧（円）である。また、仮想孔９３１Ａのエッジ画成される図形は、図形９５Ａに対応する。したがって、図形９５Ａは、本実施形態では、円である。また、仮想孔９３１Ａの中心は、図形９５Ａの重心、円弧（円）の中心にそれぞれ対応する。
【０１４０】
なお、仮想対象物９３Ａの形状は、本実施形態では、仮想対象物９３Ａの平面視で、円であるが、これに限定されず、例えば、長方形や正方形等の四角形、五角形、六角形等の多角形、楕円等が挙げられる。
【０１４１】
次に、ユーザーは、入力装置７を操作し、表示装置６に表示されている３Ｄ画面上で、仮想対象物９３Ａの各仮想孔９３１Ａのエッジを選択する。この場合、入力装置７を操作し、仮想対象物９３Ａの各仮想孔９３１Ａのエッジの位置にポインターを合わせ、クリック操作を行った状態で、エッジに沿ってポインターを移動させる。
【０１４２】
これにより、受付部５３は、ユーザーの操作指示を受け付け、表示制御部５１は、表示装置６を制御し、各仮想孔９３１Ａの中心（重心）にマーカー９６Ａを表示する。マーカー９６Ａは、特に限定されないが、本実施形態では、形状が球状（小球）であり、例えば、赤色で表示される。
【０１４３】
また、シミュレーション装置５は、各仮想孔９３１Ａの中心の位置を、ユーザーが選択した順に、リスト化して記憶部５２に記憶する。これにより、教示点の登録が完了する。また、表示制御部５１は、表示装置６を制御し、図２１に示すように、テキストボックス７７に、「Ｃｅｎｔｅｒ１」、「Ｃｅｎｔｅｒ２」、「Ｃｅｎｔｅｒ３」、「Ｃｅｎｔｅｒ４」、「Ｃｅｎｔｅｒ５」のように、登録が完了した教示点のリストを表示する。
【０１４４】
ここで、各仮想孔９３１Ａの中心の位置は、Ｃｕｒｖｅ Ｃｅｎｔｅｒダイアログボックス７６のＰｏｓｉｔｉｏｎ（ｍｍ）７８に、ｘ軸方向、ｙ軸方向、ｚ軸方向のうちの所定の方向のオフセット値を入力して設定することで、その位置を変更（補正）することができる。
【０１４５】
また、Ｃｕｒｖｅ Ｃｅｎｔｅｒダイアログボックス７６のＯｒｉｅｎｔａｉｏｎ（Ｒｏｔａｔｉｏｎ）（ｄｅｇ）７９に、ｘ軸回りの回動角度、ｙ軸回りの回動角度、ｚ軸回りの回動角度のうちの所定のオフセット値を入力して設定することで、ツールの姿勢、すなわち、仮想第６アーム１８Ａに装着されている仮想エンドエフェクター１９Ａ（図１８参照）の姿勢を変更（補正）することができる。
【０１４６】
以上のような第３実施形態によっても、前述した実施形態と同様の効果を発揮することができる。
【０１４７】
以上、本発明のシミュレーション装置、ロボット制御装置およびロボットを、図示の実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物が付加されていてもよい。
【０１４８】
また、本発明は、前記各実施形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１４９】
また、前記実施形態では、ロボットの基台の固定箇所は、設置スペースにおける床であるが、本発明では、これに限定されず、この他、例えば、天井、壁、作業台、地上等が挙げられる。
【０１５０】
また、本発明では、ロボットは、セル内に設置されていてもよい。この場合、ロボットの基台の固定箇所としては、例えば、セルの床部、天井部、壁部、作業台等が挙げられる。
【０１５１】
また、前記実施形態では、ロボット（基台）が固定される平面（面）である第１面は、水平面と平行な平面（面）であるが、本発明では、これに限定されず、例えば、水平面や鉛直面に対して傾斜した平面（面）でもよく、また、鉛直面と平行な平面（面）であってもよい。すなわち、第１回動軸は、鉛直方向や水平方向に対して傾斜していてもよく、また、水平方向と平行であってもよい。
【０１５２】
また、前記実施形態では、ロボットアームの回動軸の数は、６つであるが、本発明では、これに限定されず、ロボットアームの回動軸の数は、例えば、２つ、３つ、４つ、５つまたは７つ以上でもよい。すなわち、前記実施形態では、アーム（リンク）の数は、６つであるが、本発明では、これに限定されず、アームの数は、例えば、２つ、３つ、４つ、５つ、または、７つ以上でもよい。この場合、例えば、前記実施形態のロボットにおいて、第２アームと第３アームとの間にアームを追加することにより、アームの数が７つのロボットを実現することができる。
【０１５３】
また、前記実施形態では、ロボットアームの数は、１つであるが、本発明では、これに限定されず、ロボットアームの数は、例えば、２つ以上でもよい。すなわち、ロボット（ロボット本体）は、例えば、双腕ロボット等の複数腕ロボットであってもよい。
【０１５４】
また、本発明では、ロボットは、他の形式のロボットであってもよい。具体例としては、例えば、脚部を有する脚式歩行（走行）ロボット、スカラーロボット等の水平多関節ロボット等が挙げられる。水平多関節ロボットとは、水平方向にアーム（スプラインシャフトを除く）が動作するロボットのことをいう。
【０１５５】
また、前記実施形態では、ロボット制御装置と、シミュレーション装置とは別の装置であるが、本発明では、これに限定されず、例えば、ロボット制御装置とシミュレーション装置との一方が他方の機能を有していてもよい。
【符号の説明】
【０１５６】
１…ロボット、１Ａ…仮想ロボット、２…アーム本体、２ａ…アーム本体、２ｂ…アーム本体、２ｃ…アーム本体、２ｄ…アーム本体、３…駆動機構、３ａ…駆動機構、３ｂ…駆動機構、３ｃ…駆動機構、３ｄ…駆動機構、４…封止部材、４ａ…封止部材、４ｂ…封止部材、４ｃ…封止部材、４ｄ…封止部材、１０…ロボットアーム、１０Ａ…仮想ロボットアーム、１１…基台、１１Ａ…仮想基台、１２…第１アーム、１２Ａ…仮想第１アーム、１３…第２アーム、１３Ａ…仮想第２アーム、１４…第３アーム、１４Ａ…仮想第３アーム、１５…第４アーム、１５Ａ…仮想第４アーム、１６…リスト、１６Ａ…仮想リスト、１７…第５アーム、１７Ａ…仮想第５アーム、１８…第６アーム、１８Ａ…仮想第６アーム、１９Ａ…仮想エンドエフェクター、２０…ロボット制御装置、５…シミュレーション装置、５１…表示制御部、５２…記憶部、５３…受付部、６…表示装置、６１…Ｔｅａｃｈ Ｊｏｉｎｔ Ｐｏｓｉｔｉｏｎｓパネル、６２…Ｌｏｃｋボタン、６３…Ｊｏｉｎｔ Ｃｏｎｔｒｏｌ、６４…スライドバー、６５…テキストボックス、７…入力装置、７１…画面、７２…コンテキストメニュー、７２１…ティーチボタン、７３…ティーチダイアログボックス、７３１…ティーチボタン、７６…Ｃｕｒｖｅ Ｃｅｎｔｅｒダイアログボックス、７７…テキストボックス、７８…Ｐｏｓｉｔｉｏｎ（ｍｍ）、７９…Ｏｒｉｅｎｔａｉｏｎ（Ｒｏｔａｔｉｏｎ）（ｄｅｇ）、８１…ツールバー、８２…回転／ジョグボタン、８３…ティーチボタン、９１Ａ…仮想対象物、９２Ａ…マーカー、９３Ａ…仮想対象物、９３１Ａ…仮想孔、９４Ａ…線分、９５Ａ…図形、９６Ａ…マーカー、１００…ロボットシステム、１０１…床、１０１Ａ…仮想床、１１１…ボルト、１１１Ａ…仮想ボルト、１１２Ａ…仮想網目形状体、１６１…リスト本体、１６２…支持リング、１６３…先端面、１７１…関節、１７２…関節、１７３…関節、１７４…関節、１７５…関節、１７６…関節、２０１…第１駆動源制御部、２０２…第２駆動源制御部、２０３…第３駆動源制御部、２０４…第４駆動源制御部、２０５…第５駆動源制御部、２０６…第６駆動源制御部、２０７…制御部、２０８…記憶部、３０１…モータードライバー、３０２…モータードライバー、３０３…モータードライバー、３０４…モータードライバー、３０５…モータードライバー、３０６…モータードライバー、４０１…第１駆動源、４０１Ｍ…モーター、４０２…第２駆動源、４０２Ｍ…モーター、４０３…第３駆動源、４０３Ｍ…モーター、４０４…第４駆動源、４０４Ｍ…モーター、４０５…第５駆動源、４０５Ｍ…モーター、４０６…第６駆動源、４０６Ｍ…モーター、４１１…第１角度センサー、４１２…第２角度センサー、４１３…第３角度センサー、４１４…第４角度センサー、４１５…第５角度センサー、４１６…第６角度センサー、Ｏ１…第１回動軸、Ｏ２…第２回動軸、Ｏ３…第３回動軸、Ｏ４…第４回動軸、Ｏ５…第５回動軸、Ｏ６…第６回動軸、Ｓ１０１…ステップ、Ｓ１０２…ステップ
【図１】
2018176367.tif 000003
【図２】
2018176367.tif 000004
【図３】
2018176367.tif 000005
【図４】
2018176367.tif 000006
【図５】
2018176367.tif 000007
【図６】
2018176367.tif 000008
【図７】
2018176367.tif 000009
【図８】
2018176367.tif 000010
【図９】
2018176367.tif 000011
【図１０】
2018176367.tif 000012
【図１１】
2018176367.tif 000013
【図１２】
2018176367.tif 000014
【図１３】
2018176367.tif 000015
【図１４】
2018176367.tif 000016
【図１５】
2018176367.tif 000017
【図１６】
2018176367.tif 000018
【図１７】
2018176367.tif 000019
【図１８】
2018176367.tif 000020
【図１９】
2018176367.tif 000021
【図２０】
2018176367.tif 000022
【図２１】
2018176367.tif 000023