(57)【特許請求の範囲】
【請求項１】
仮想空間上で仮想ロボットの動作のシミュレーションを行うシミュレーション装置のシミュレーション結果に基づいて、ロボットを制御するロボット制御装置であって、
前記シミュレーションでは、
前記仮想空間上に、第１領域と、前記第１領域の内部に位置する第２領域と、を設定可能であり、
前記仮想ロボットが動作する場合、前記第１領域に前記仮想ロボットの特定部分が侵入すると、前記仮想ロボットの動作速度が制限され、前記第２領域に前記仮想ロボットの前記特定部分が侵入すると、前記仮想ロボットの動作が停止、または、前記仮想ロボットが前記第２領域から退避し、
前記仮想空間上の所定の物体と、前記仮想ロボットとが接触した場合、前記物体と前記仮想ロボットとの接触部分に前記物体および前記仮想ロボットとは異なる第１マーク、および、前記第１マークを囲む半透明の第２マークが表示されることを特徴とするロボット制御装置。
【請求項２】
前記シミュレーションでは、前記接触部分の座標が表示される請求項１に記載のロボット制御装置。
【請求項３】
仮想空間上で仮想ロボットの動作のシミュレーションを行うシミュレーション装置のシミュレーション結果に基づいて、ロボットを制御するロボット制御装置であって、
前記シミュレーションでは、
前記仮想空間上に、第１領域と、前記第１領域の内部に位置する第２領域と、を設定可能であり、
前記仮想ロボットの形状に基づいて前記仮想ロボットに第１マージンを設定可能であり、前記仮想空間上の所定の物体の形状に基づいて前記物体に第２マージンを設定可能であり、
前記仮想ロボットが動作する場合、前記第１領域に前記仮想ロボットの特定部分が侵入すると、前記仮想ロボットの動作速度が制限され、前記第２領域に前記仮想ロボットの前記特定部分が侵入すると、前記仮想ロボットの動作が停止、または、前記仮想ロボットが前記第２領域から退避し、
前記第１マージンと前記第２マージンとが接触すると、前記仮想ロボットの動作速度が制限されるか、または、前記仮想ロボットの動作が停止するか、または、前記第１マージンが前記第２マージンから離間する方向に前記仮想ロボットが退避することを特徴とするロボット制御装置。
【請求項４】
前記シミュレーションでは、前記第１マージンの厚さおよび前記第２マージンの厚さを変更可能である請求項３に記載のロボット制御装置。
【請求項５】
前記シミュレーションでは、前記第１領域および前記第２領域は、前記仮想空間上の所定の物体を囲んでいる請求項１ないし４のいずれか１項に記載のロボット制御装置。
【請求項６】
前記シミュレーションでは、前記第１領域および前記第２領域は、ワールド座標系とは異なる座標系に基づいて設定可能である請求項１ないし５のいずれか１項に記載のロボット制御装置。
【請求項７】
前記シミュレーションでは、前記仮想空間上の所定の物体を半透明に表示することが可能である請求項１ないし６のいずれか１項に記載のロボット制御装置。
【請求項８】
前記シミュレーションでは、前記半透明に表示される前記物体の透明度を設定可能である請求項７に記載のロボット制御装置。
【請求項９】
前記仮想ロボットは、仮想マニピュレーターを有し、
前記シミュレーションでは、前記仮想マニピュレーターの特定部分の可動範囲を表示可能である請求項１ないし８のいずれか１項に記載のロボット制御装置。
【請求項１０】
前記仮想マニピュレーターは、回動可能に設けられた複数の仮想アームを有し、
前記シミュレーションでは、前記仮想アーム毎に、前記仮想アームを回動させたときの前記仮想マニピュレーターの前記特定部分の可動範囲を表示可能である請求項９に記載のロボット制御装置。
【請求項１１】
前記仮想マニピュレーターの前記特定部分は、前記仮想マニピュレーターの先端である請求項９または１０に記載のロボット制御装置。
【請求項１２】
請求項１ないし１１のいずれか１項に記載のロボット制御装置により制御されることを特徴とするロボット。
【請求項１３】
仮想空間上で仮想ロボットの動作のシミュレーションを行うシミュレーション装置であって、
前記シミュレーションでは、
前記仮想空間上に、第１領域と、前記第１領域の内部に位置する第２領域と、を設定可能であり、
前記仮想ロボットが動作する場合、前記第１領域に前記仮想ロボットの特定部分が侵入すると、前記仮想ロボットの動作速度が制限され、前記第２領域に前記仮想ロボットの前記特定部分が侵入すると、前記仮想ロボットの動作が停止、または、前記仮想ロボットが前記第２領域から退避し、
前記仮想空間上の所定の物体と、前記仮想ロボットとが接触した場合、前記物体と前記仮想ロボットとの接触部分に前記物体および前記仮想ロボットとは異なる第１マーク、および、前記第１マークを囲む半透明の第２マークが表示されることを特徴とするシミュレーション装置。
【請求項１４】
仮想空間上で仮想ロボットの動作のシミュレーションを行うシミュレーション装置であって、
前記シミュレーションでは、
前記仮想空間上に、第１領域と、前記第１領域の内部に位置する第２領域と、を設定可能であり、
前記仮想ロボットの形状に基づいて前記仮想ロボットに第１マージンを設定可能であり、前記仮想空間上の所定の物体の形状に基づいて前記物体に第２マージンを設定可能であり、
前記仮想ロボットが動作する場合、前記第１領域に前記仮想ロボットの特定部分が侵入すると、前記仮想ロボットの動作速度が制限され、前記第２領域に前記仮想ロボットの前記特定部分が侵入すると、前記仮想ロボットの動作が停止、または、前記仮想ロボットが前記第２領域から退避し、
前記第１マージンと前記第２マージンとが接触すると、前記仮想ロボットの動作速度が制限されるか、または、前記仮想ロボットの動作が停止するか、または、前記第１マージンが前記第２マージンから離間する方向に前記仮想ロボットが退避することを特徴とするシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、ロボットおよびシミュレーション装置に関するものである。
【背景技術】
【０００２】
基台と、複数のアーム（リンク）を有するマニピュレーターとを備えるロボットが知られている。マニピュレーターの隣り合う２つのアームのうちの一方のアームは、関節部を介して、他方のアームに回動可能に連結され、最も基端側（最も上流側）のアームは、関節部を介して、基台に回動可能に連結されている。関節部はモーターにより駆動され、その関節部の駆動により、アームが回動する。また、最も先端側（最も下流側）のアームには、エンドエフェクターとして、例えば、着脱可能にハンドが装着される。そして、ロボットは、例えば、ハンドで対象物を把持し、その対象物を所定の場所へ移動させ、組立等の所定の作業を行う。
【０００３】
このようなロボットの動作を制御するロボット制御装置として、特許文献１には、実際の安全柵の内側に設定された仮想安全柵と、ロボットの手首やその手首に備えたワーク、ツール等を内包するように設定された２以上の３次元空間領域とを定義し、ロボットを制御する装置が開示されている。
【０００４】
このロボット制御装置では、３次元空間領域の軌跡計算上での予測位置と仮想安全柵との照合を行い、仮想安全柵内にいずれかの３次元空間領域が侵入すると、ロボットの動作を停止する。これにより、ロボットと実際の安全柵との衝突を抑制することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３２２２４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載のロボット制御装置では、仮想安全柵内に３次元空間領域が侵入したときにロボットの停止動作を開始しても、ロボットの動作速度が速い場合等は、ロボットが、瞬時に停止することができず、安全柵に衝突する虞がある。
【０００７】
本発明の目的は、仮想空間上で仮想ロボットが仮想の物体に衝突することを抑制することができるシミュレーション装置、前記シミュレーション装置のシミュレーション結果に基づいてロボットを制御するロボット制御装置およびロボットを提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００９】
本発明のロボット制御装置は、仮想空間上で仮想ロボットの動作のシミュレーションを行うシミュレーション装置のシミュレーション結果に基づいて、ロボットを制御するロボット制御装置であって、
前記シミュレーションでは、
前記仮想空間上に、第１領域と、前記第１領域の内部に位置する第２領域と、を設定可能であり、
前記仮想ロボットが動作する場合、前記第１領域に前記仮想ロボットの特定部分が侵入すると、前記仮想ロボットの動作速度が制限され、前記第２領域に前記仮想ロボットの前記特定部分が侵入すると、前記仮想ロボットの動作が停止、または、前記仮想ロボットが前記第２領域から退避することを特徴とする。
【００１０】
これにより、例えば、衝突させたくない仮想の物体を囲むように第１領域および第２領域を設定してシミュレーションを行った場合、ロボットを周辺機器等の衝突させたくない物体に衝突させることなく動作させることができ、安全性が高い。
【００１１】
本発明のロボット制御装置では、前記シミュレーションでは、前記第１領域および前記第２領域は、前記仮想空間上の所定の物体を囲んでいることが好ましい。
【００１２】
これにより、例えば、前記所定の物体を衝突させたくない仮想の物体に設定してシミュレーションを行った場合、仮想ロボットが仮想の周辺機器等の衝突させたくない仮想の物体に衝突することを抑制することができる。これによって、ロボットを周辺機器等の衝突させたくない物体に衝突させることなく動作させることができる。
【００１３】
本発明のロボット制御装置では、前記シミュレーションでは、前記第１領域および前記第２領域は、ワールド座標系とは異なる座標系に基づいて設定可能であることが好ましい。
【００１４】
これにより、任意の方向に座標軸を設定することができ、利便性が高い。これによって、高性能のロボット制御装置を容易に提供することができる。
【００１５】
本発明のロボット制御装置では、前記シミュレーションでは、前記仮想空間上の所定の物体を半透明に表示することが可能であることが好ましい。
【００１６】
これにより、仮想の物体の内部を容易に視認することができ、容易にシミュレーションを行うことができる。これによって、高性能のロボット制御装置を容易に提供することができる。
【００１７】
本発明のロボット制御装置では、前記シミュレーションでは、前記半透明に表示される前記物体の透明度を設定可能であることが好ましい。
【００１８】
これにより、仮想の物体の輪郭の見え具合と内部の見え具合のバランスを調整することができ、容易にシミュレーションを行うことができる。これによって、高性能のロボット制御装置を容易に提供することができる。
【００１９】
本発明のロボット制御装置では、前記シミュレーションでは、前記仮想空間上の所定の物体と、前記仮想ロボットとが接触した場合、前記物体と前記仮想ロボットとの接触部分に前記物体および前記仮想ロボットとは異なる第１マークが表示されることが好ましい。
【００２０】
これにより、仮想の物体と仮想ロボットとの接触部分を容易に把握することができる。これによって、仮想ロボットの移動経路や仮想の周辺機器の配置等の設定を容易に行うことができる。これによって、高性能のロボット制御装置を容易に提供することができる。
【００２１】
本発明のロボット制御装置では、前記シミュレーションでは、前記第１マークを囲む半透明の第２マークが表示されることが好ましい。
【００２２】
これにより、仮想の物体と仮想ロボットとの接触部分をより容易に把握することができる。これによって、高性能のロボット制御装置を容易に提供することができる。
【００２３】
本発明のロボット制御装置では、前記シミュレーションでは、前記接触部分の座標が表示されることが好ましい。
【００２４】
これにより、仮想の物体と仮想ロボットとの接触部分の位置を、定量的に、容易かつ正確に把握することができる。これによって、高性能のロボット制御装置を容易に提供することができる。
【００２５】
本発明のロボット制御装置では、前記シミュレーションでは、
前記仮想ロボットの形状に基づいて前記仮想ロボットに第１マージンを設定可能であり、前記仮想空間上の所定の物体の形状に基づいて前記物体に第２マージンを設定可能であり、
前記仮想ロボットが動作する場合、前記第１マージンと前記第２マージンとが接触すると、前記仮想ロボットの動作速度が制限されるか、または、前記仮想ロボットの動作が停止するか、または、前記第１マージンが前記第２マージンから離間する方向に前記仮想ロボットが退避することが好ましい。
【００２６】
これにより、例えば、衝突させたくない仮想の物体に第２マージンを設定してシミュレーションを行った場合、仮想ロボットが仮想の周辺機器や他の仮想ロボット等の衝突させたくない仮想の物体に衝突することを抑制することができる。これによって、ロボットを周辺機器や他のロボット等の衝突させたくない物体に衝突させることなく動作させることができる。
【００２７】
本発明のロボット制御装置では、前記シミュレーションでは、前記第１マージンの厚さおよび前記第２マージンの厚さを変更可能であることが好ましい。
【００２８】
これにより、例えば、衝突させたくない仮想の物体を囲むように第１領域および第２領域を設定してシミュレーションを行った場合、仮想ロボットが仮想の周辺機器等の衝突させたくない仮想の物体に衝突することを抑制することができ、また、第１マージンまたは第２マージンの厚さが厚すぎて仮想ロボットの作業の妨げになることを抑制することができる。これによって、ロボットを周辺機器等の衝突させたくない物体に衝突させることなく動作させることができ、また、第１マージンまたは第２マージンの厚さが厚すぎてロボットの作業の妨げになることを抑制することができる。
【００２９】
本発明のロボット制御装置では、前記仮想ロボットは、仮想マニピュレーターを有し、
前記シミュレーションでは、前記仮想マニピュレーターの特定部分の可動範囲を表示可能であることが好ましい。
【００３０】
これにより、仮想マニピュレーターの特定部分の可動範囲を容易に把握することができる。これによって、高性能のロボット制御装置を容易に提供することができる。
【００３１】
本発明のロボット制御装置では、前記仮想マニピュレーターは、回動可能に設けられた複数の仮想アームを有し、
前記シミュレーションでは、前記仮想アーム毎に、前記仮想アームを回動させたときの前記仮想マニピュレーターの前記特定部分の可動範囲を表示可能であることが好ましい。
【００３２】
これにより、仮想アーム毎に、仮想アームを回動させたときの仮想マニピュレーターの特定部分の可動範囲を容易に把握することができる。これによって、高性能のロボット制御装置を容易に提供することができる。
【００３３】
本発明のロボット制御装置では、前記仮想マニピュレーターの前記特定部分は、前記仮想マニピュレーターの先端であることが好ましい。
【００３４】
これにより、仮想マニピュレーターの先端の可動範囲を容易に把握することができる。これによって、高性能のロボット制御装置を容易に提供することができる。
【００３５】
本発明のロボットは、本発明のロボット制御装置により制御されることを特徴とする。
【００３６】
これにより、ロボットが周辺機器等の衝突させたくない物体に衝突することを抑制することができ、安全性が高い等の前記本発明のロボット制御装置の利点を有するロボットを提供することができる。
【００３７】
本発明のシミュレーション装置は、仮想空間上で仮想ロボットの動作のシミュレーションを行うシミュレーション装置であって、
前記シミュレーションでは、
前記仮想空間上に、第１領域と、前記第１領域の内部に位置する第２領域と、を設定可能であり、
前記仮想ロボットが動作する場合、前記第１領域に前記仮想ロボットの特定部分が侵入すると、前記仮想ロボットの動作速度が制限され、前記第２領域に前記仮想ロボットの前記特定部分が侵入すると、前記仮想ロボットの動作が停止、または、前記仮想ロボットが前記第２領域から退避することを特徴とする。
【００３８】
これにより、仮想空間上での仮想ロボットの動作のシミュレーションにおいて、例えば、衝突させたくない仮想の物体を囲むように第１領域および第２領域を設定した場合、仮想ロボットが仮想の周辺機器等の衝突させたくない仮想の物体に衝突することを抑制することができる。
【図面の簡単な説明】
【００３９】
【図１】本発明のロボットの第１実施形態におけるロボットを正面側から見た斜視図である。
【図２】図１に示すロボットの概略図である。
【図３】本発明のロボットおよびロボット制御装置の第１実施形態の主要部のブロック図である。
【図４】本発明のシミュレーション装置の第１実施形態を示すブロックである。
【図５】図４に示すシミュレーション装置のシミュレーションを説明するための図である。
【図６】図４に示すシミュレーション装置のシミュレーションを説明するための図である。
【図７】図３に示すロボット制御装置の制御動作を示すフローチャートである。
【図８】本発明のシミュレーション装置の第２実施形態におけるシミュレーションを説明するための図である。
【図９】本発明のシミュレーション装置の第３実施形態におけるシミュレーションを説明するための図である。
【図１０】本発明のシミュレーション装置の第４実施形態におけるシミュレーションを説明するための図である。
【図１１】本発明のシミュレーション装置の第４実施形態におけるシミュレーションを説明するための図である。
【図１２】本発明のシミュレーション装置の第５実施形態におけるシミュレーションを説明するための図である。
【図１３】本発明のシミュレーション装置の第５実施形態におけるシミュレーションを説明するための図である。
【図１４】本発明のシミュレーション装置の第５実施形態におけるシミュレーションを説明するための図である。
【発明を実施するための形態】
【００４０】
以下、本発明のロボット制御装置、ロボットおよびシミュレーション装置を添付図面に示す実施形態に基づいて詳細に説明する。
【００４１】
図１は、本発明のロボットの第１実施形態におけるロボットを正面側から見た斜視図である。図２は、図１に示すロボットの概略図である。図３は、本発明のロボットおよびロボット制御装置の第１実施形態の主要部のブロック図である。図４は、本発明のシミュレーション装置の第１実施形態を示すブロックである。図５は、図４に示すシミュレーション装置のシミュレーションを説明するための図である。図６は、図４に示すシミュレーション装置のシミュレーションを説明するための図である。図７は、図３に示すロボット制御装置の制御動作を示すフローチャートである。
【００４２】
なお、以下では、説明の都合上、図１、図２、図５および図６中の上側を「上」または「上方」、下側を「下」または「下方」と言う。また、図１、図２、図５および図６中の基台側を「基端」または「上流」、その反対側を「先端」または「下流」と言う。また、図１、図２、図５および図６中の上下方向が鉛直方向である。
【００４３】
また、図５のみ、表示装置の表示画面の輪郭を示し、他の図では、前記輪郭の表示は省略する。
【００４４】
図４に示すシミュレーション装置５は、仮想空間上で仮想ロボット１Ａの動作のシミュレーションを行う装置である。この仮想空間は、本実施形態では、３次元の仮想空間であるが、これに限定されるものではない。また、図３に示すロボット制御装置２０は、シミュレーション装置５の前記シミュレーションのシミュレーション結果に基づいて、ロボット１を制御する。
【００４５】
なお、仮想ロボット１Ａの各部の符号は、それぞれ、実際のロボット１の対応する各部の符号の後に「Ａ」を付けて表記する。また、仮想ロボット１Ａの各部の名称は、それぞれ、実際のロボット１の対応する各部の名称の前に「仮想」を付けて表記する。また、仮想ロボット１Ａの説明は、ロボット１の説明で代用する。
【００４６】
まず、ロボット１およびロボット制御装置２０について説明する。
図１〜図３に示すロボットシステム１００は、ロボット１と、ロボット１を制御するロボット制御装置２０とを備えている。すなわち、ロボット１は、ロボット制御装置により制御される。このロボットシステム１００の用途は特に限定されないが、ロボットシステム１００は、例えば、腕時計のような精密機器等を製造する製造工程等で用いることができる。
【００４７】
ロボット制御装置２０は、ロボット１にその一部または全部が内蔵されていてもよく、また、ロボット１とは、別体であってもよい。
【００４８】
また、ロボット制御装置２０は、例えば、ＣＰＵ（Central Processing Unit）が内蔵されたパーソナルコンピューター（ＰＣ）等で構成することができる。このロボット制御装置２０は、ロボット１の後述する第１駆動源４０１の作動（駆動）を制御する第１駆動源制御部２０１、第２駆動源４０２の作動を制御する第２駆動源制御部２０２、第３駆動源４０３の作動を制御する第３駆動源制御部２０３、第４駆動源４０４の作動を制御する第４駆動源制御部２０４、第５駆動源４０５の作動を制御する第５駆動源制御部２０５および第６駆動源４０６の作動を制御する第６駆動源制御部２０６と、制御部２０７と、各情報を記憶する記憶部２０８等を備えている。
【００４９】
図１および図２に示すように、ロボット１は、基台１１と、マニピュレーター１０（ロボットアーム）とを備えている。マニピュレーター１０は、第１アーム１２、第２アーム１３、第３アーム１４、第４アーム１５、第５アーム１７および第６アーム１８と、第１駆動源４０１、第２駆動源４０２、第３駆動源４０３、第４駆動源４０４、第５駆動源４０５および第６駆動源４０６とを備えている。また、第５アーム１７および第６アーム１８によりリスト１６が構成され、第６アーム１８の先端部、すなわちリスト１６の先端面１６３には、例えば、ハンド等のエンドエフェクター（図示せず）を着脱可能に取り付けることができるようになっている。そして、このロボット１は、例えば、ハンドで精密機器、部品等を把持したまま、アーム１２〜１５、リスト１６等の動作を制御することにより、当該精密機器、部品を搬送する等の各作業を行うことができる。
【００５０】
ロボット１は、基台１１と、第１アーム１２と、第２アーム１３と、第３アーム１４と、第４アーム１５と、第５アーム１７と、第６アーム１８とが基端側から先端側に向ってこの順に連結された垂直多関節（６軸）ロボットである。以下では、第１アーム１２、第２アーム１３、第３アーム１４、第４アーム１５、第５アーム１７、第６アーム１８、リスト１６をそれぞれ「アーム」とも言う。また、第１駆動源４０１、第２駆動源４０２、第３駆動源４０３、第４駆動源４０４、第５駆動源４０５および第６駆動源４０６をそれぞれ「駆動源」とも言う。なお、アーム１２〜１５、１７および１８の長さは、それぞれ、特に限定されず、適宜設定可能である。
【００５１】
基台１１と第１アーム１２とは、関節（ジョイント）１７１を介して連結されている。そして、第１アーム１２は、基台１１に対し、鉛直方向と平行な第１回動軸Ｏ１を回動中心とし、その第１回動軸Ｏ１周りに回動可能となっている。第１回動軸Ｏ１は、基台１１の設置面である床１０１の上面の法線と一致している。また、第１回動軸Ｏ１は、ロボット１の最も上流側にある回動軸である。この第１アーム１２は、モーター（第１モーター）４０１Ｍおよび減速機（図示せず）を有する第１駆動源４０１の駆動により回動する。また、モーター４０１Ｍは、モータードライバー３０１を介してロボット制御装置２０により制御される。なお、前記減速機が省略されていてもよい。
【００５２】
第１アーム１２と第２アーム１３とは、関節（ジョイント）１７２を介して連結されている。そして、第２アーム１３は、第１アーム１２に対し、水平方向と平行な第２回動軸Ｏ２を回動中心として回動可能となっている。第２回動軸Ｏ２は、第１回動軸Ｏ１と直交している。この第２アーム１３は、モーター（第２モーター）４０２Ｍおよび減速機（図示せず）を有する第２駆動源４０２の駆動により回動する。また、モーター４０２Ｍは、モータードライバー３０２を介してロボット制御装置２０により制御される。なお、前記減速機が省略されていてもよい。また、第２回動軸Ｏ２は、第１回動軸Ｏ１に直交する軸と平行であってもよい。
【００５３】
第２アーム１３と第３アーム１４とは、関節（ジョイント）１７３を介して連結されている。そして、第３アーム１４は、第２アーム１３に対して水平方向と平行な第３回動軸Ｏ３を回動中心とし、その第３回動軸Ｏ３周りに回動可能となっている。第３回動軸Ｏ３は、第２回動軸Ｏ２と平行である。この第３アーム１４は、モーター（第３モーター）４０３Ｍおよび減速機（図示せず）を有する第３駆動源４０３の駆動により回動する。また、モーター４０３Ｍは、モータードライバー３０３を介してロボット制御装置２０により制御される。なお、前記減速機が省略されていてもよい。
【００５４】
第３アーム１４と第４アーム１５とは、関節（ジョイント）１７４を介して連結されている。そして、第４アーム１５は、第３アーム１４に対し、第３アーム１４の中心軸方向と平行な第４回動軸Ｏ４を回動中心とし、その第４回動軸Ｏ４周りに回動可能となっている。第４回動軸Ｏ４は、第３回動軸Ｏ３と直交している。この第４アーム１５は、モーター（第４モーター）４０４Ｍおよび減速機（図示せず）を有する第４駆動源４０４の駆動により回動する。また、モーター４０４Ｍは、モータードライバー３０４を介してロボット制御装置２０により制御される。なお、前記減速機が省略されていてもよい。また、第４回動軸Ｏ４は、第３回動軸Ｏ３に直交する軸と平行であってもよい。
【００５５】
第４アーム１５とリスト１６の第５アーム１７とは、関節（ジョイント）１７５を介して連結されている。そして、第５アーム１７は、第４アーム１５に対して第５回動軸Ｏ５を回動中心とし、その第５回動軸Ｏ５周りに回動可能となっている。第５回動軸Ｏ５は、第４回動軸Ｏ４と直交している。この第５アーム１７は、モーター（第５モーター）４０５Ｍおよび減速機（図示せず）を有する第５駆動源４０５の駆動により回動する。また、モーター４０５Ｍは、モータードライバー３０５を介してロボット制御装置２０により制御される。なお、前記減速機が省略されていてもよい。また、第５回動軸Ｏ５は、第４回動軸Ｏ４に直交する軸と平行であってもよい。
【００５６】
リスト１６の第５アーム１７と第６アーム１８とは、関節（ジョイント）１７６を介して連結されている。そして、第６アーム１８は、第５アーム１７に対して第６回動軸Ｏ６を回動中心とし、その第６回動軸Ｏ６周りに回動可能となっている。第６回動軸Ｏ６は、第５回動軸Ｏ５と直交している。この第６アーム１８は、モーター（第６モーター）４０６Ｍおよび減速機（図示せず）を有する第６駆動源４０６の駆動により回動する。また、モーター４０６Ｍは、モータードライバー３０６を介してロボット制御装置２０により制御される。なお、前記減速機が省略されていてもよい。また、第６回動軸Ｏ６は、第５回動軸Ｏ５に直交する軸と平行であってもよい。
【００５７】
なお、リスト１６は、第６アーム１８として、円筒状をなすリスト本体１６１を有し、また、第５アーム１７として、リスト本体１６１と別体で構成され、当該リスト本体１６１の基端部に設けられ、リング状をなす支持リング１６２を有している。
【００５８】
駆動源４０１〜４０６には、それぞれのモーターまたは減速機に、第１角度センサー４１１、第２角度センサー４１２、第３角度センサー４１３、第４角度センサー４１４、第５角度センサー４１５、第６角度センサー４１６が設けられている。これらの角度センサーとしては、特に限定されず、例えば、ロータリーエンコーダー等のエンコーダー等を用いることができる。これらの角度センサー４１１〜４１６により、それぞれ、駆動源４０１〜４０６のモーターまたは減速機の回転軸（回動軸）の回転（回動）角度を検出する。
【００５９】
また、駆動源４０１〜４０６のモーターとしては、それぞれ、特に限定されないが、例えば、ＡＣサーボモーター、ＤＣサーボモーター等のサーボモーターを用いるのが好ましい。
【００６０】
ロボット１は、ロボット制御装置２０と電気的に接続されている。すなわち、駆動源４０１〜４０６、角度センサー４１１〜４１６は、それぞれ、ロボット制御装置２０と電気的に接続されている。
【００６１】
そして、ロボット制御装置２０は、アーム１２〜１５、リスト１６をそれぞれ独立して作動させることができる、すなわち、モータードライバー３０１〜３０６を介して、駆動源４０１〜４０６をそれぞれ独立して制御することができる。この場合、ロボット制御装置２０は、角度センサー４１１〜４１６により検出を行い、その検出結果に基づいて、駆動源４０１〜４０６の駆動、例えば、角速度や回転角度等をそれぞれ制御する。この制御プログラムは、ロボット制御装置２０の記憶部２０８に予め記憶されている。
【００６２】
本実施形態では、基台１１は、ロボット１の鉛直方向の最も下方に位置し、設置スペースの床１０１等に固定（設置）される部分である。この固定方法としては、特に限定されず、例えば、本実施形態では、複数本のボルト１１１による固定方法を用いている。
【００６３】
基台１１には、例えば、モーター４０１Ｍやモータードライバー３０１〜３０６等が収納されている。
【００６４】
アーム１２〜１５は、それぞれ、中空のアーム本体２と、アーム本体２内に収納され、モーターを備える駆動機構３と、アーム本体２内を封止する封止封止手段４とを有している。なお、図面では、第１アーム１２が有するアーム本体２、駆動機構３、封止手段４をそれぞれ「２ａ」、「３ａ」、「４ａ」とも表記し、第２アーム１３が有するアーム本体２、駆動機構３、封止手段４をそれぞれ「２ｂ」、「３ｂ」、「４ｂ」とも表記し、第３アーム１４が有するアーム本体２、駆動機構３、封止手段４をそれぞれ「体２ｃ」、「３ｃ」、「４ｃ」とも表記し、第４アーム１５が有するアーム本体２、駆動機構３、封止手段４をそれぞれ「２ｄ」、「３ｄ」、「４ｄ」とも表記する。
【００６５】
次に、シミュレーション装置５について説明するが、まず、仮想ロボット１Ａについて簡単に説明する。
【００６６】
図５に示すように、仮想ロボット１Ａは、前述した実施のロボット１と同様であり、仮想基台１１Ａと、仮想マニピュレーター１０Ａ（仮想ロボットアーム）とを備えている。仮想マニピュレーター１０Ａは、回動可能に設けられた複数のアーム、本実施形態では、仮想第１アーム１２Ａ、仮想第２アーム１３Ａ、仮想第３アーム１４Ａ、仮想第４アーム１５Ａ、仮想第５アーム１７Ａおよび仮想第６アーム１８Ａを備えている。また、仮想マニピュレーター１０Ａは、これらのアームを駆動する複数の駆動源、本実施形態では、６つの駆動源（図示せず）を備えている。
【００６７】
また、仮想第５アーム１７Ａおよび仮想第６アーム１８Ａにより仮想リスト１６Ａが構成され、仮想第６アーム１８Ａの先端、すなわち仮想リスト１６Ａの先端には、例えば、仮想ハンド等の仮想エンドエフェクター（図示せず）を着脱可能に取り付けることができるようになっている。
【００６８】
なお、以下のシミュレーション装置５の説明は、仮想ロボット１Ａの仮想第６アーム１８Ａに仮想エンドエフェクターを取り付けない状態で行う。
【００６９】
図４に示すように、シミュレーション装置５は、各制御を行う制御部５１と、各情報を記憶する記憶部５２と、各操作を行う操作部５３とを備えている。このシミュレーション装置５は、仮想空間上で仮想ロボット１Ａの動作のシミュレーションを行う機能を有している。
【００７０】
また、シミュレーション装置５には、シミュレーションを示す画像等の各画像を表示可能な表示装置６が接続されている。シミュレーション装置５と、表示装置６とにより、シミュレーションシステムが構成される。なお、表示装置６に代えて、シミュレーション装置５が表示装置（表示部）を備えていてもよく、また、表示装置６とは別に、シミュレーション装置５が表示装置を備えていてもよい。以下、シミュレーション装置５が行うシミュレーションについて説明する。
【００７１】
図５および図６に示すように、シミュレーション装置５のシミュレーションでは、仮想空間上に、第１領域７１と、第１領域７１の内部に位置する第２領域７２とを設定可能である。なお、仮想空間には、ワールド座標系（グローバル座標系）が設定される。そして、仮想ロボット１Ａが動作する場合、図５に示すように、第１領域７１に仮想ロボット１Ａの特定部分が侵入すると、仮想ロボット１Ａの動作速度が制限され、図６に示すように、第２領域７２に仮想ロボット１Ａの前記特定部分が侵入すると、仮想ロボット１Ａの動作が停止、または、仮想ロボット１Ａが第２領域７２から退避する。このシミュレーションは、表示装置６に表示される。
【００７２】
また、第１領域７１および第２領域７２は、それぞれ、仮想空間上に、任意に設定可能であり、仮想空間上の所定の物体８１、例えば、仮想ロボット１Ａを衝突させたくない物体８１を囲むように設定される。この物体８１としては、例えば、周辺機器等が挙げられる。これにより、仮想ロボット１Ａが周辺機器等の衝突させたくない物体８１に衝突することを抑制することができる。これによって、容易にシミュレーションを行うことができる。例えば、実際のロボット１についてのオフラインティーチング等を容易に行うことができる。
【００７３】
また、第１領域７１および第２領域７２は、それぞれ、ワールド座標系に基づいて設定可能であるが、ワールド座標系とは異なる座標系に基づいても設定可能であり、本実施形態では、第１領域７１および第２領域７２の設定をワールド座標系とは異なる座標系に基づいて行う。ワールド座標系とは異なる座標系としては、例えば、ローカル座標系（ユーザー座標系）等が挙げられる。これにより、任意の方向に座標軸を設定することができ、利便性が高い。
【００７４】
また、第１領域７１および第２領域７２は、それぞれ、３次元の領域である。この第１領域７１および第２領域７２の形状は、それぞれ、特に限定されず、諸条件に応じて適宜設定可能であり、本実施形態では、直方体である。直方体には立方体が含まれる。なお、第１領域７１および第２領域７２の形状は、それぞれ、後述する他の実施形態におけるマージンのような形状、すなわち、所定の対象物の外形に沿った形状であってもよい。
【００７５】
また、第１領域７１の形状と、第２領域７２の形状とは、同一、すなわち、相似形でもよく、また、異なっていてもよい。
【００７６】
また、仮想ロボット１Ａの前記特定部分は、任意に設定可能であり、本実施形態では、「仮想ロボット１Ａのいずれかの部分」に設定される。したがって、本実施形態では、第１領域７１に仮想ロボット１Ａのいずれかの部分が侵入すると、仮想ロボット１Ａの動作速度が制限され、第２領域７２に仮想ロボット１Ａのいずれかの部分が侵入すると、仮想ロボット１Ａの動作が停止、または、仮想ロボット１Ａが第２領域７２から退避する。
【００７７】
また、前記特定部分の他の具体例としては、仮想マニピュレーター１０Ａの先端、仮想マニピュレーター１０Ａの先端から基端方向に所定距離離間した部分等が挙げられる。
【００７８】
この場合、仮想第６アーム１８Ａに仮想エンドエフェクターが装着されていない状態の仮想ロボット１Ａでは、仮想第６アーム１８Ａの先端が仮想マニピュレーター１０Ａの先端である。
【００７９】
また、仮想第６アーム１８Ａに仮想エンドエフェクターが装着された状態の仮想ロボット１Ａでは、その仮想エンドエフェクターの先端を仮想マニピュレーター１０Ａの先端としてもよく、また、仮想第６アーム１８Ａの先端を仮想マニピュレーター１０Ａの先端としてもよい。すなわち、仮想マニピュレーター１０Ａの先端として、仮想エンドエフェクターの先端と仮想第６アーム１８Ａの先端とのいずれか一方を選択可能になっている。
【００８０】
また、仮想ロボット１Ａの動作速度の制限の具体例としては、下記（１）および（２）が挙げられる。
【００８１】
（１）動作速度を第１領域７１への侵入前よりも遅くする。具体的には、仮想マニピュレーター１０Ａの先端部の移動速度を第１領域７１への侵入前よりも遅くする。
【００８２】
（２）動作速度の上限値を第１領域７１への侵入前よりも小さくする。具体的には、仮想マニピュレーター１０Ａの先端部の移動速度の上限値を第１領域７１への侵入前よりも小さくする。
【００８３】
また、仮想ロボット１Ａが第２領域７２から退避する場合、仮想ロボット１Ａが退避する位置は、特に限定されず、諸条件に応じて適宜設定可能であるが、第１領域７１の外側に退避することが好ましい。なお、仮想ロボット１Ａが退避する位置としては、例えば、初期位置等が挙げられる。
【００８４】
前述したシミュレーション装置５のシミュレーション結果は、ロボット制御装置２０の記憶部２０８に記憶される。
【００８５】
そして、前記シミュレーション結果の情報は、ロボット制御装置２０の実際のロボット１の制御に用いられる。
【００８６】
また、他の構成例としては、第１領域７１および第２領域７２の情報が、ロボット制御装置２０の記憶部２０８に記憶される。すなわちロボット制御装置２０では、第１領域７１および第２領域７２が定義される。
【００８７】
そして、前記定義された第１領域７１および第２領域７２の情報は、ロボット制御装置２０の実際のロボット１の制御に用いられる。すなわち、ロボット制御装置２０は、第１領域７１および第２領域７２の情報に基づいてロボット１を制御する。
【００８８】
このロボット１の制御は、前記シミュレーションと同様であり、簡単に説明すると、第１領域７１にロボット１の特定部分が侵入すると、ロボット１の動作速度が制限され、第２領域７２にロボット１の前記特定部分が侵入すると、ロボット１の動作が停止、または、ロボット１が第２領域７２から退避する。なお、この制御は、シミュレーション装置５をロボット制御装置２０に接続して行ってもよい。
【００８９】
次に、ロボット制御装置２０のロボット１の制御動作の１例を説明する。なお、以下の制御動作の説明では、ロボット１の前記特定部分を「ロボット１のいずれかの部分」に設定し、第１領域７１にロボット１のいずれかの部分が侵入すると、ロボット１の動作速度を侵入前よりも遅くし、第２領域７２にロボット１のいずれかの部分が侵入すると、ロボット１の動作が停止する場合を説明する。
【００９０】
図７に示すように、このロボット１の制御では、まず、ロボット１が第１領域７１に侵入したか否かを判断する（ステップＳ１０１）。ここでは、ロボット１のうちのいずれかの部分が第１領域７１に侵入した場合には、「侵入した」と判断し、ロボット１のうちのいずれの部分も第１領域７１に侵入していないと判断した場合は、「侵入していない」と判断する。
【００９１】
ステップＳ１０１において、ロボット１が第１領域７１に侵入したと判断した場合は、ロボット１の動作速度を第１領域７１への侵入前よりも遅くし（ステップＳ１０２）、ステップＳ１０３に進む。ロボット１の動作速度を低速にすることにより、ロボット１が第２領域に侵入した場合に、ロボット１の動作を素早く停止させることができる。
【００９２】
また、ステップＳ１０１において、ロボット１が第１領域７１に侵入していないと判断した場合は、ステップＳ１０１に戻り、再度、ステップＳ１０１以降を実行する。
【００９３】
次いで、ステップＳ１０３では、ロボット１の全体が第１領域７１の外に出たか否かを判断する（ステップＳ１０３）。
【００９４】
ステップＳ１０３において、ロボット１の全体が第１領域７１の外に出たと判断した場合は、ロボット１の動作速度を元の速度、すなわち、第１領域７１への侵入前の速度に戻す（ステップＳ１０４）。そして、ステップＳ１０１に戻り、再度、ステップＳ１０１以降を実行する。
【００９５】
また、ステップＳ１０３において、ロボット１の少なくとも一部が第１領域７１の外に出ていない、すなわち、ロボット１が第１領域７１に侵入していると判断した場合は、ロボット１が第２領域７２に侵入したか否かを判断する（ステップＳ１０５）。ここでは、ロボット１のうちのいずれかの部分が第２領域７２に侵入した場合には、「侵入した」と判断し、ロボット１のうちのいずれの部分も第２領域７２に侵入していないと判断した場合は、「侵入していない」と判断する。
【００９６】
ステップＳ１０５において、ロボット１が第２領域７２に侵入したと判断した場合は、ロボット１の動作を停止させる（ステップＳ１０６）。これにより、ロボット１が実際の周辺機器等の衝突させたくない物体に衝突することを抑制することができる。
【００９７】
また、ステップＳ１０５において、ロボット１が第２領域７２に侵入していないと判断した場合は、ステップＳ１０３に戻り、再度、ステップＳ１０３以降を実行する。
【００９８】
以上説明したように、シミュレーション装置５では、仮想空間上での仮想ロボット１Ａの動作のシミュレーションにおいて、仮想ロボット１Ａが仮想の周辺機器等の衝突させたくない物体８１に衝突することを抑制することができる。
【００９９】
そして、前述したシミュレーション装置５のシミュレーション結果は、ロボット１の制御において利用される。すなわち、ロボット制御装置２０は、前記シミュレーション結果に基づいてロボット１を制御する。これにより、ロボット１を実際の周辺機器等の衝突させたくない物体に衝突させることなく動作させることができる。このようにして、安全で、高性能のロボット制御装置２０を容易に提供することができる。
【０１００】
なお、本実施形態では、第１領域７１と第２領域７２との２重の領域が設定可能に構成されているが、本発明では、これに限らず、３重以上の領域が設定可能に構成されていてもよい。３重以上の領域を設定する場合は、例えば、動作速度を段階的に制限する。
【０１０１】
＜第２実施形態＞
図８は、本発明のシミュレーション装置の第２実施形態におけるシミュレーションを説明するための図である。なお、図８では、セルの内部は、簡略化して図示している。
【０１０２】
以下、第２実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項はその説明を省略する。
【０１０３】
第２実施形態のロボット制御装置２０は、以下説明する第２実施形態のシミュレーション装置５が行うシミュレーションのシミュレーション結果に基づいてロボット１を制御する。
【０１０４】
図８に示すように、第２実施形態のシミュレーション装置５のシミュレーションでは、仮想空間上の所定の物体の１例であるセル８２を半透明に表示することが可能である。
【０１０５】
前記半透明とは、透明度が完全に透明である場合の半分という意味ではなく、対象物の内部を視認することが可能な透明度を有していることである。また、対象物自体を視認することができない完全な透明は除かれる。
【０１０６】
これにより、例えば、シミュレーション装置５にＣＡＤデータ等を取り込んだ場合に、仮想空間上でセル８２を取り除く等の操作を行うことなく、セル８２の内部や、セル８２の内部に配置されている作業台や作業対象物等の物体８３を容易に視認することができる。これによって、容易にシミュレーションを行うことができる。例えば、実際のロボット１についてのオフラインティーチング、仮想ロボット１Ａの動作経路の確認、仮想ロボット１Ａの衝突の確認等を容易に行うことができる。
【０１０７】
また、シミュレーションでは、半透明に表示されるセル８２の透明度を設定可能である。これにより、セル８２の輪郭の見え具合とセル８２の内部の見え具合のバランスを調整することができ、容易にシミュレーションを行うことができる。
【０１０８】
また、シミュレーション装置５は、前記半透明の表示を有効にする第１表示モードと、無効にする第２表示モードとを選択することが可能に構成されている。これにより、あえて半透明に表示したくない場合は、第２表示モードを選択することで対応することができる。
【０１０９】
以上のような第２実施形態によっても、前述した実施形態と同様の効果を発揮することができる。
【０１１０】
なお、本実施形態では、セル８２を半透明に表示することを例に挙げて説明したが、本発明では、これに限らず、仮想空間上の仮想ロボット１Ａ以外の複数の物体のうちの任意の物体について、半透明に表示することが可能に構成してもよい。また、所定の１つの物体に着目した場合に、その物体の任意の部分のみを半透明に表示することが可能に構成してもよい。また、ロボットについても半透明に表示することが可能に構成してもよく、また、ロボットの任意の部分のみを半透明に表示することが可能に構成してもよい。
【０１１１】
これは、例えば、シミュレーション装置５にＣＡＤデータ等を取り込む際のユニット単位で、第１表示モードと第２表示モードとの選択や、透明度の設定を行うことが可能に構成することで実現することができる。
【０１１２】
＜第３実施形態＞
図９は、本発明のシミュレーション装置の第３実施形態におけるシミュレーションを説明するための図である。
【０１１３】
以下、第３実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項はその説明を省略する。
【０１１４】
第３実施形態のロボット制御装置２０は、以下説明する第３実施形態のシミュレーション装置５が行うシミュレーションのシミュレーション結果に基づいてロボット１を制御する。
【０１１５】
図９に示すように、第３実施形態のシミュレーション装置５のシミュレーションでは、仮想空間上の所定の物体８４と、仮想ロボット１Ａとが接触した場合、物体８４と仮想ロボット１Ａとの接触部分に物体８４および仮想ロボット１Ａとは異なる第１マーク７３が表示される。
【０１１６】
これにより、物体８４と仮想ロボット１Ａとの接触部分を容易に把握することができる。これによって、容易にシミュレーションを行うことができる。例えば、実際のロボット１についてのオフラインティーチング、仮想ロボット１Ａの移動経路や仮想の周辺機器の配置等の設定を容易に行うことができる。
【０１１７】
また、第１マーク７３の形状は、特に限定されず、諸条件に応じて適宜設定可能であり、本実施形態では、球である。また、第１マーク７３の寸法は、特に限定されず、諸条件に応じて適宜設定可能である。なお、本実施形態では、第１マーク７３は、小球で構成されている。
【０１１８】
また、物体８４と仮想ロボット１Ａとが接触した場合、第１マーク７３を囲む半透明の第２マーク７４が表示される。
【０１１９】
これにより、物体８４と仮想ロボット１Ａとの接触部分をより容易に把握することができる。
【０１２０】
また、第２マーク７４の形状は、特に限定されず、諸条件に応じて適宜設定可能であり、本実施形態では、球である。また、第２マーク７４の寸法は、特に限定されず、諸条件に応じて適宜設定可能である。なお、本実施形態では、第２マーク７４は、第１マーク７３よりも大きい半径の小球で構成されており、第１マーク７３の中心と第２マーク７４の中心とが一致するように配置されている。
【０１２１】
また、前記第１マーク７３および第２マーク７４の色は、それぞれ、特に限定されず、諸条件に応じて適宜設定可能であるが、第１マーク７３の色と第２マーク７４の色とは、異なっていることが好ましい。これにより、第１マーク７３を容易に視認することができる。
【０１２２】
また、物体８４と仮想ロボット１Ａとが接触した場合、物体８４と仮想ロボット１Ａとの接触部分の座標が表示される。本実施形態では、前記接触部分のＸ座標、Ｙ座標およびＺ座標が、枠７５内に表示される。なお、図示の例では、枠７５内に、座標（１２２、１３５、６００）が表示されている。
【０１２３】
これにより、物体８４と仮想ロボット１Ａとの接触部分の位置を、定量的に、容易かつ正確に把握することができる。
【０１２４】
また、物体８４と仮想ロボット１Ａとが接触した場合、物体８４と仮想ロボット１Ａとのうちの少なくとも一方の色、好ましくは両方の色を、接触する前と異なる色、例えば、赤色に変更する。この場合、第１マーク７３および第２マーク７４の色は、それぞれ、前記接触後の色とは異なる色、すなわち、赤色とは異なる色に設定され、また、その色は、それぞれ、複数の色のうちから所定の色を選択可能に構成されている。
【０１２５】
これにより、物体８４と仮想ロボット１Ａとが接触したことを容易に把握することができる。
【０１２６】
以上のような第３実施形態によっても、前述した実施形態と同様の効果を発揮することができる。
【０１２７】
＜第４実施形態＞
図１０および図１１は、それぞれ、本発明のシミュレーション装置の第４実施形態におけるシミュレーションを説明するための図である。
【０１２８】
以下、第４実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項はその説明を省略する。
【０１２９】
第４実施形態のロボット制御装置２０は、以下説明する第４実施形態のシミュレーション装置５が行うシミュレーションのシミュレーション結果に基づいてロボット１を制御する。
【０１３０】
図１０および図１１に示すように、第４実施形態のシミュレーション装置５のシミュレーションでは、仮想ロボット１Ａの形状に基づいて仮想ロボット１Ａにマージン７６１を設定可能であり、また、仮想ロボット２Ａの形状に基づいて仮想ロボット２Ａにマージン７６２を設定可能である。同様に、仮想空間上の所定の物体８５の形状に基づいて物体８５にマージン７７１を設定可能であり、また、仮想空間上の所定の物体８６の形状に基づいて物体８６にマージン７７２を設定可能である。また、マージン７６１は、仮想ロボット１Ａの外形に沿って、所定の厚さに設定され、また、マージン７６２は、仮想ロボット２Ａの外形に沿って、所定の厚さに設定される。同様に、マージン７７１は、物体８５の外形に沿って、所定の厚さに設定され、また、マージン７７２は、物体８６の外形に沿って、所定の厚さに設定される。なお、物体８５および８６は、それぞれ、仮想ロボット１Ａおよび２Ａを衝突させたくない物体である。
【０１３１】
また、マージン７６１、７６２、７７１および７７２の厚さは、それぞれ、特に限定されず、諸条件に応じて適宜設定可能である。また、マージン７６１、７６２、７７１および７７２の厚さは、互いに同一であってもよく、また、異なっていてもよい。
【０１３２】
また、マージン７６１の厚さは、一定であってよく、また、部位によって異なっていてもよい。マージン７６２、７７１および７７２の厚さについても同様である。
【０１３３】
ここで、仮想ロボット１Ａを中心に考える場合、その仮想ロボット１Ａに設定されたマージン７６１が第１マージンであり、他の３つのマージン７６２、７７１および７７２は、それぞれ、第２マージンである。また、この場合は、仮想ロボット２Ａは、仮想空間上の所定の物体として規定される。
【０１３４】
同様に、仮想ロボット２Ａを中心に考える場合、その仮想ロボット２Ａに設定されたマージン７６２が第１マージンであり、他の３つのマージン７６１、７７１および７７２は、それぞれ、第２マージンである。また、この場合は、仮想ロボット１Ａは、仮想空間上の所定の物体として規定される。
【０１３５】
すなわち、仮想ロボット１Ａと仮想ロボット２Ａとの関係では、そのうちの一方が、特許請求の範囲で規定している仮想ロボットであり、他方が、仮想空間上の所定の物体である。
【０１３６】
また、仮想ロボット１Ａが動作する場合、図１１に示すように、マージン７６１と、他の３つのマージン７６２、７７１および７７２のうちのいずれかと、が接触すると、仮想ロボット１Ａの動作速度が制限されるか、または、仮想ロボット１Ａの動作が停止するか、または、マージン７６１が前記接触した他のマージンから離間する方向に仮想ロボット１Ａが退避する。なお、図１１には、マージン７６１と、マージン７７１とが接触した例が示されている。
【０１３７】
これにより、仮想ロボット１Ａが、物体８５、８６および仮想ロボット２Ａに衝突することを抑制することができる。
【０１３８】
同様に、仮想ロボット２Ａが動作する場合、マージン７６２と、他の３つのマージン７６１、７７１および７７２のうちのいずれかと、が接触すると、仮想ロボット２Ａの動作速度が制限されるか、または、仮想ロボット２Ａの動作が停止するか、または、マージン７６２が前記接触した他のマージンから離間する方向に仮想ロボット２Ａが退避する。
【０１３９】
これにより、仮想ロボット２Ａが、物体８５、８６および仮想ロボット１Ａに衝突することを抑制することができる。
【０１４０】
これによって、容易にシミュレーションを行うことができる。例えば、実際のロボット１についてのオフラインティーチング等を容易に行うことができる。
【０１４１】
また、仮想ロボット１Ａおよび２Ａの動作速度の制限の具体例としては、それぞれ、下記（１）および（２）が挙げられる。
【０１４２】
（１）動作速度をマージン同士の接触前よりも遅くする。具体的には、仮想マニピュレーター１０Ａの先端部の移動速度をマージン同士の接触前よりも遅くする。
【０１４３】
（２）動作速度の上限値をマージン同士の接触前よりも小さくする。具体的には、仮想マニピュレーター１０Ａの先端部の移動速度の上限値をマージン同士の接触前よりも小さくする。
【０１４４】
また、シミュレーションでは、マージン７６１、７６２、７７１および７７２の厚さをそれぞれ変更可能である。
【０１４５】
これにより、仮想ロボット１Ａが、物体８５、８６および仮想ロボット２Ａに衝突することや、仮想ロボット２Ａが、物体８５、８６および仮想ロボット１Ａに衝突することをより確実に抑制することができる。また、マージン７６１、７６２、７７１または７７２の厚さが厚すぎて仮想ロボット１Ａ、２Ａの作業の妨げになることを抑制することができる。
【０１４６】
以上のような第４実施形態によっても、前述した実施形態と同様の効果を発揮することができる。
【０１４７】
なお、仮想ロボット１Ａと、仮想空間上の物体８５とに着目した場合、本実施形態では、仮想ロボット１Ａおよび物体８５のそれぞれにマージンを設定可能であるが、本発明では、これに限らず、仮想ロボット１Ａのみにマージンを設定可能に構成してもよく、また、物体８５のみにマージンを設定可能に構成してもよい。
【０１４８】
同様に、仮想ロボット１Ａと、仮想ロボット２Ａとに着目した場合、本実施形態では、仮想ロボット１Ａおよび２Ａのそれぞれにマージンを設定可能であるが、本発明では、これに限らず、仮想ロボット１Ａのみにマージンを設定可能に構成してもよく、また、仮想ロボット２Ａのみにマージンを設定可能に構成してもよい。
【０１４９】
そして、本実施形態では、マージン同士の接触をトリガーとして所定の動作を行うように構成されているが、前記一方のみにマージンを設定する場合は、そのマージンと、仮想ロボットや物体との接触をトリガーとして所定の動作を行うように構成する。
【０１５０】
＜第５実施形態＞
図１２〜図１４は、それぞれ、本発明のシミュレーション装置の第５実施形態におけるシミュレーションを説明するための図である。
【０１５１】
以下、第５実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項はその説明を省略する。
【０１５２】
第５実施形態のロボット制御装置２０は、以下説明する第５実施形態のシミュレーション装置５が行うシミュレーションのシミュレーション結果に基づいてロボット１を制御する。
【０１５３】
図１２および図１３に示すように、第５実施形態のシミュレーション装置５のシミュレーションでは、仮想ロボット１Ａの仮想マニピュレーター１０Ａの特定部分の可動範囲、すなわち、可動が可能な範囲を表示可能である。
【０１５４】
また、仮想マニピュレーター１０Ａの前記特定部分は、任意に設定可能であり、本実施形態では、前記特定部分は、「仮想マニピュレーター１０Ａの先端」である。
【０１５５】
本実施形態では、仮想マニピュレーター１０Ａの先端の可動範囲は、図１２に示すように、斜視図に、線分９１で示され、また、図１３に示すように、平面図に、線分９２で示される。図１２に示す斜視図では、線分９１で囲まれた領域が、仮想マニピュレーター１０Ａの先端の可動範囲である。この場合、点線で示される領域は、非可動範囲である。また、図１３に示す平面図では、線分９２で囲まれた領域が、仮想マニピュレーター１０Ａの先端の可動範囲である。この場合、点線で示される領域は、非可動範囲である。
【０１５６】
これにより、仮想マニピュレーター１０Ａの特定部分、すなわち、仮想マニピュレーター１０Ａの先端の可動範囲を容易に把握することができる。これによって、容易にシミュレーションを行うことができる。例えば、実際のロボット１についてのオフラインティーチング、仮想の周辺機器の配置等の設定を容易に行うことができる。
【０１５７】
なお、本実施形態のように、仮想第６アーム１８Ａに仮想エンドエフェクターＡが装着されていない状態の仮想ロボット１Ａでは、仮想第６アーム１８Ａの先端が仮想マニピュレーター１０Ａの先端である。
【０１５８】
また、仮想第６アーム１８Ａに仮想エンドエフェクターが装着された状態の仮想ロボット１Ａでは、その仮想エンドエフェクターの先端を仮想マニピュレーター１０Ａの先端としてもよく、また、仮想第６アーム１８Ａの先端を仮想マニピュレーター１０Ａの先端としてもよい。すなわち、仮想マニピュレーター１０Ａの先端として、仮想エンドエフェクターの先端と仮想第６アーム１８Ａの先端とのいずれか一方を選択可能になっている。
【０１５９】
なお、前記特定部分の他の具体例としては、例えば、仮想マニピュレーター１０Ａの先端から基端方向に所定距離離間した部分等が挙げられる。
【０１６０】
また、仮想マニピュレーター１０Ａの先端の可動範囲は、前記斜視図や平面図に限らず、例えば、側面図、正面図、背面図、底面図等で表示してもよく、また、斜視図において視点を変更できるようにしてもよい。
【０１６１】
また、前記可動範囲を半透明に表示することを可能にしてもよく、また、その透明度を設定可能にしてもよい。
【０１６２】
また、シミュレーションでは、仮想アーム毎に、その仮想アームを回動させたときの仮想マニピュレーター１０Ａの特定部分、すなわち、仮想マニピュレーター１０Ａの先端の可動範囲を表示可能である。
【０１６３】
本実施形態では、仮想ロボット１Ａの任意の姿勢において、仮想第１アーム１２Ａのみを回動させたときの仮想マニピュレーター１０Ａの先端の可動範囲と、仮想第２アーム１３Ａのみを回動させたときの仮想マニピュレーター１０Ａの先端の可動範囲と、仮想第３アーム１４Ａのみを回動させたときの仮想マニピュレーター１０Ａの先端の可動範囲とを表示できるようになっている。
【０１６４】
図１４に示すように、仮想第１アーム１２Ａのみを回動させたときの仮想マニピュレーター１０Ａの先端の可動範囲は、斜視図に、線分９３で示される。また、仮想第２アーム１３Ａのみを回動させたときの仮想マニピュレーター１０Ａの先端の可動範囲は、斜視図に、線分９４で示される。また、仮想第３アーム１４Ａのみを回動させたときの仮想マニピュレーター１０Ａの先端の可動範囲は、斜視図に、線分９５で示される。なお、図１４には、線分９３、９４および９５が３つとも記載されているが、その線分９３、９４および９５は、それぞれ、１つずつ個別に表示される。また、図１４では、線分９３、９４および９５は、それぞれ、互いに区別し易いように、異なる線で記載されている。
【０１６５】
これにより、仮想第１アーム１２Ａのみを回動させたとき、仮想第２アーム１３Ａのみを回動させたとき、仮想第３アーム１４Ａのみを回動させたときのそれぞれについて、仮想マニピュレーター１０Ａの先端の可動範囲を容易に把握することができる。これによって、容易にシミュレーションを行うことができる。例えば、実際のロボット１についてのオフラインティーチング、仮想の周辺機器の配置等の設定を容易に行うことができる。
【０１６６】
なお、線分９３、９４および９５は、１つの画像に同時に表示されるように構成されていてもよい。
【０１６７】
以上のような第５実施形態によっても、前述した実施形態と同様の効果を発揮することができる。
【０１６８】
以上、本発明のロボット制御装置、ロボットおよびシミュレーション装置を、図示の実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物が付加されていてもよい。
【０１６９】
また、本発明は、前記各実施形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１７０】
また、前記実施形態では、ロボットの基台の固定箇所は、例えば、設置スペースにおける床であるが、本発明では、これに限定されず、この他、例えば、天井、壁、作業台、地上等が挙げられる。
【０１７１】
また、本発明では、ロボットは、セル内に設置されていてもよい。この場合、ロボットの基台の固定箇所としては、例えば、セルの床部、天井部、壁部、作業台等が挙げられる。
【０１７２】
また、前記実施形態では、ロボット（基台）が固定される平面（面）である第１面は、水平面と平行な平面（面）であるが、本発明では、これに限定されず、例えば、水平面や鉛直面に対して傾斜した平面（面）でもよく、また、鉛直面と平行な平面（面）であってもよい。すなわち、第１回動軸は、鉛直方向や水平方向に対して傾斜していてもよく、また、水平方向と平行であってもよい。
【０１７３】
また、前記実施形態では、マニピュレーターの回動軸の数は、６つであるが、本発明では、これに限定されず、マニピュレーターの回動軸の数は、例えば、２つ、３つ、４つ、５つまたは７つ以上でもよい。すなわち、前記実施形態では、アーム（リンク）の数は、６つであるが、本発明では、これに限定されず、アームの数は、例えば、２つ、３つ、４つ、５つ、または、７つ以上でもよい。この場合、例えば、前記実施形態のロボットにおいて、第２アームと第３アームとの間にアームを追加することにより、アームの数が７つのロボットを実現することができる。
【０１７４】
また、前記実施形態では、マニピュレーターの数は、１つであるが、本発明では、これに限定されず、マニピュレーターの数は、例えば、２つ以上でもよい。すなわち、ロボット（ロボット本体）は、例えば、双腕ロボット等の複数腕ロボットであってもよい。
【０１７５】
また、本発明では、ロボットは、他の形式のロボットであってもよい。具体例としては、例えば、脚部を有する脚式歩行（走行）ロボット、スカラーロボット等の水平多関節ロボット等が挙げられる。
【０１７６】
また、前記実施形態では、ロボット制御装置と、シミュレーション装置とは別の装置であるが、本発明では、これに限定されず、例えば、ロボット制御装置がシミュレーション装置の機能を有していてもよい。
【符号の説明】
【０１７７】
１…ロボット、１Ａ…仮想ロボット、２Ａ…仮想ロボット、２…アーム本体、２ａ…アーム本体、２ｂ…アーム本体、２ｃ…アーム本体、２ｄ…アーム本体、３２…駆動機構、３…駆動機構、３ａ…駆動機構、３ｂ…駆動機構、３ｃ…駆動機構、３ｄ…駆動機構、４…封止手段、４ａ…封止手段、４ｂ…封止手段、４ｃ…封止手段、４ｄ…封止手段、５…シミュレーション装置、６…表示装置、１０…マニピュレーター、１０Ａ…仮想マニピュレーター、１１…基台、１１Ａ…仮想基台、１２…第１アーム、１２Ａ…仮想第１アーム、１３…第２アーム、１３Ａ…仮想第２アーム、１４…第３アーム、１４Ａ…仮想第３アーム、１５…第４アーム、１５Ａ…仮想第４アーム、１６…リスト、１６Ａ…仮想リスト、１７…第５アーム、１７Ａ…仮想第５アーム、１８…第６アーム、１８Ａ…仮想第６アーム、２０…ロボット制御装置、５１…制御部、５２…記憶部、５３…操作部、７１…第１領域、７２…第２領域、７３…第１マーク、７４…第２マーク、７５…枠、８１…物体、８２…セル、８３…物体、８４…物体、８５…物体、８６…物体、９１…線分、９２…線分、９３…線分、９４…線分、９５…線分、１００…ロボットシステム、１０１…床、１１１…ボルト、１６１…リスト本体、１６２…支持リング、１６３…先端面、１７１…関節、１７２…関節、１７３…関節、１７４…関節、１７５…関節、１７６…関節、２０１…第１駆動源制御部、２０２…第２駆動源制御部、２０３…第３駆動源制御部、２０４…第４駆動源制御部、２０５…第５駆動源制御部、２０６…第６駆動源制御部、２０７…制御部、２０８…記憶部、３０１…モータードライバー、３０２…モータードライバー、３０３…モータードライバー、３０４…モータードライバー、３０５…モータードライバー、３０６…モータードライバー、４０１…第１駆動源、４０１Ｍ…モーター、４０２…第２駆動源、４０２Ｍ…モーター、４０３…第３駆動源、４０３Ｍ…モーター、４０４…第４駆動源、４０４Ｍ…モーター、４０５…第５駆動源、４０５Ｍ…モーター、４０６…第６駆動源、４０６Ｍ…モーター、４１１…第１角度センサー、４１２…第２角度センサー、４１３…第３角度センサー、４１４…第４角度センサー、４１５…第５角度センサー、４１６…第６角度センサー、７６１…マージン、７６２…マージン、７７１…マージン、７７２…マージン、Ｏ１…第１回動軸、Ｏ２…第２回動軸、Ｏ３…第３回動軸、Ｏ４…第４回動軸、Ｏ５…第５回動軸、Ｏ６…第６回動軸、Ｓ１０１〜Ｓ１０６…ステップ
【図１】
0006743453.tif 000002
【図２】
0006743453.tif 000003
【図３】
0006743453.tif 000004
【図４】
0006743453.tif 000005
【図５】
0006743453.tif 000006
【図６】
0006743453.tif 000007
【図７】
0006743453.tif 000008
【図８】
0006743453.tif 000009
【図９】
0006743453.tif 000010
【図１０】
0006743453.tif 000011
【図１１】
0006743453.tif 000012
【図１２】
0006743453.tif 000013
【図１３】
0006743453.tif 000014
【図１４】
0006743453.tif 000015