(57)【要約】【課題】従来のミラー変換方法では、位置と姿勢に対応する行列からロボットの各構成軸の角度を求める逆変換の際に、複数の可能性が存在することによって、所望の結果が得られない場合が生じている。【解決手段】ミラー対称面を垂直多関節ロボットが設置される面に垂直な垂直多関節ロボットの第１の回転軸の軸心を通る平面とし、第１の回転軸の角度は、ミラー対称面からの角度差を正負反転した角度とし、第１の回転軸が基準値となる角度にある場合の第１の回転軸を通る平面内にある第１の回転軸とは異なる他の回転軸の角度は、各々の回転軸の基準値との差を正負反転した角度となるようにし、第１の回転軸が基準位置となる角度にある場合の第１の回転軸を通る平面に対して垂直な回転軸の角度はそのままとすることにより、元のプログラムからミラープログラムを作成する。【選択図】図３
2011020206.tif 000002
【特許請求の範囲】
【請求項１】
複数の回転軸をもつ関節で構成される垂直多関節ロボットが所定の基準姿勢にある場合の前記垂直多関節ロボットの設置される面に垂直でかつ前記垂直多関節ロボットの第１の関節の回転軸を含む基準平面に対して、前記基準平面に含まれる回転軸をもつ関節と前記基準平面に垂直な回転軸をもつ関節とで前記垂直多関節ロボットは構成されている場合に、ミラー対称面が前記第１の関節の回転軸の軸心を通る平面である際に、前記垂直多関節ロボットを動作させる元となるプログラムから垂直多関節ロボットのミラーイメージプログラムを作成する方法であって、
前記第１の関節の角度は、前記ミラー対称面からの角度差を正負反転した角度とし、
前記垂直多関節ロボットが前記基準姿勢にある場合に前記基準平面に含まれる回転軸をもつ関節で前記第１の関節以外の関節の角度は、前記元となるプログラムの当該関節の角度と前記基準姿勢のときの角度である各々の回転軸の角度の基準値との差を正負反転した角度となるようにし、
前記垂直多関節ロボットが前記基準姿勢にある場合に前記基準平面に垂直な回転軸をもつ関節の角度はそのままとすることにより、
ミラーイメージプログラムを作成する垂直多関節ロボットのミラーイメージプログラム作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、垂直多関節ロボットが作業対象物に対して行う作業の動作位置を表す位置データを、その作業対象物と右勝手と左勝手の関係（垂直面を対称面とする対称、すなわち、ミラー対称の関係）にある別の作業対象物に対する動作位置となるようにミラー変換する垂直多関節ロボットの元のプログラムに対するミラーイメージプログラムの作成に関するものである。
【背景技術】
【０００２】
溶接作業や切断作業等に適用される産業用ロボットとして、垂直多関節ロボットが使用されることが多い。この垂直多関節ロボットの動作は、事前に作業対象物（一般の呼称にあわせて以下「ワーク」と呼ぶ）に合わせて作成されたプログラムを再生することにより行われる。このプログラムには、垂直多関節ロボットが作業を行う上で必要な情報（例えば、溶接条件等）と共に、垂直多関節ロボットが作業を行うために垂直多関節ロボットが到達すべき位置または複数の位置データの連なりがプログラムに登録されている。そして、垂直多関節ロボットが行う作業は、垂直多関節ロボットの動作を制御するロボット制御装置が、プログラムに登録されている一連の位置データが表す位置に順次垂直多関節ロボットを動作させ、垂直多関節ロボットに取り付けられた溶接トーチや切断トーチ等の作業ツールを作用させることで行われる。
【０００３】
また、作業ツールの先端の実際に作業を行う作用点を一般的にＴＣＰ（Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ）と呼ぶ。このＴＣＰは、垂直多関節ロボットの制御における重要な制御対象となっている。プログラムに登録されている位置データは、ワークに対する一動作ごとのＴＣＰの位置および姿勢、すなわち、垂直多関節ロボットの各関節の回転軸の角度を決定する情報であり、ワークの形状や行う作業の内容に合わせて登録される必要がある。
【０００４】
作業動作が複雑になれば多数のＴＣＰの位置と姿勢が必要となり、ＴＣＰの位置や姿勢を決定する情報である位置データを多数登録する必要がある。これに伴い、登録を行う作業の手間は増大する。実際の作業現場では、プログラムを作成するために多くの時間を掛けており、その大半が一連の位置データの登録に費やされている。
【０００５】
ワークには、右勝手／左勝手（垂直面を対称面とする対称）の関係になるものがある。これら２つのワークは、互いにミラー対称の関係を持った形状となっている。この場合、垂直多関節ロボットが一方のワークに対して行う作業の動作は、他方のワークに対して行う作業の位置や姿勢をミラー対称にしたものであればよい。すなわち、一方のワークに対して作業を行うプログラム（元プログラム）があれば、そのプログラム内に登録されている位置データをミラー対称になるように変換（ミラー変換）することにより他方のワークに対して作業を行うプログラム（ミラーイメージプログラム）を生成することができる。これにより、プログラムの作成、特に、位置データの登録の手間を削減することができる。このような考え方から、位置データに対するミラー変換方法が提案されている。
【０００６】
ここで、垂直多関節ロボットの一般的な構成について図１を用いて説明する。なお、煩雑となることを避けるため明示はしないが、「直交」、「平行」、「垂直」、「面内」等の記載はいずれも、機構構成上の誤差を含むものである。
【０００７】
通常、垂直多関節ロボットは、複数の構造材、および、構造材と構造材とをつなぐ関節とで構成されている。各関節は回転軸を有している。
【０００８】
図１に示す垂直多関節ロボットの例では、垂直多関節ロボットの設置面から順に、第１の関節の回転軸であるＲＴと、第２の関節の回転軸であるＵＡと、第３の関節の回転軸であるＦＡと、第４の関節の回転軸であるＲＷと、第５の関節の回転軸であるＢＷと、第６の関節の回転軸であるＴＷの６つの回転軸を有している。
【０００９】
ＲＴは第１の回転軸であり、垂直多関節ロボットのベース１の設置面（図１に示す垂直多関節ロボットの下端）に対して垂直となる旋回軸である。そして、構造材２は、第１の回転軸ＲＴを介してベース１に対して回転可能になっている。ここで、説明の便宜上、第１の回転軸ＲＴを含み第１の回転軸ＲＴの回転と共に回転する平面を考える。図１に示す状態では、この平面は紙面と一致しており、以下の図１についての説明ではこの平面のことを「紙面」と呼ぶ。
【００１０】
ＵＡは第２の回転軸であり、紙面に対して垂直となる旋回軸である。構造材３は、第２の回転軸ＵＡを介して構造材２に対して回転可能になっている。
【００１１】
ＦＡは第３の回転軸であり、紙面に対して垂直となる旋回軸である。構造材４は、第３の回転軸ＦＡを介して構造材３に対して回転可能になっている。
【００１２】
ＲＷは第４の回転軸であり、紙面内に存在する旋回軸である。構造材５は、第４の回転軸ＲＷを介して構造材４に対して回転可能になっている。
【００１３】
ＢＷは第５の回転軸であり、紙面に対して垂直となる旋回軸である。構造材６は、第５の回転軸ＢＷを介して構造材５に対して回転可能になっている。
【００１４】
ＴＷは第６の回転軸であり、紙面内にある旋回軸である。フランジ７には、図示していない作業に必要なツールを取り付ける。フランジ７およびフランジ７に取り付けられた図示していないツールは、第６の回転軸ＴＷを介して構造材６に対して回転可能になっている。
【００１５】
なお、垂直多関節ロボットの各関節は、図示していないモータや減速機や位置検出器などで構成されており、図示していない制御用および動力用のケーブルを介して図示していない制御装置に接続され、動作するようになっている。そして、各関節は第１の回転軸ＲＴから第６の回転軸ＴＷを回転中心として回転するものである。
【００１６】
次に、図２を用いて、図１で示した垂直多関節ロボットの動作をさらに説明する。
【００１７】
第１の回転軸ＲＴは、垂直多関節ロボットの設置面に対して垂直な旋回軸である。図１の説明において、「紙面」としていた平面を、ここでは、平面ｆとして示している。第２の回転軸ＵＡと第３の回転軸ＦＡは平面ｆに対して垂直な旋回軸である。第４の回転軸ＲＷは、平面ｆ内にある旋回軸である。
【００１８】
ここで、第４の回転軸ＲＷを含み第４の回転軸ＲＷの回転と共に回転する図２に示す平面ｇを考える。第５の回転軸ＢＷは平面ｇと垂直な旋回軸である。第６の回転軸ＴＷは、平面ｇ内にある旋回軸である。
【００１９】
なお、垂直多関節ロボットの各関節の回転軸の角度（以下、「各関節の角度」と呼ぶ）の基準となる値を基準値と呼ぶことにする。この基準値をどのように設定するかは任意である。しかし、以下の説明では、図１や図２に示すように垂直多関節ロボットが基準姿勢の状態にあるときの各関節の角度を基準値とする。例えば、図２において、平面ｆと平面ｇが一致するときの第４の回転軸ＲＷの角度が第４の回転軸ＲＷの基準値である。また、第１の回転軸ＲＴの角度が基準値であるときの平面ｆを基準平面ｆｓと呼ぶことにする。
【００２０】
次に、従来のミラーイメージプログラムの作成について説明する。
【００２１】
ＴＣＰの位置および姿勢は、それを所定の座標系上での、「座標（位置）と姿勢角」で表すことができる。しかし、従来から提案されている垂直多関節ロボットの位置データに対するミラー変換方法では、垂直多関節ロボットを構成する構造材と構造材とつなぐ回転軸との位置関係を示す同次行列を順次積算して積み上げた同次行列（以下、「位置と姿勢に対応する行列」と呼ぶ）を用いている（例えば、特許文献１参照）。すなわち、プログラムに登録される位置データを「位置と姿勢に対応する行列」に変換し、これを別途求めておいたミラー変換を行うための同次行列に掛けて、ミラー変換後の「位置と姿勢に対応する行列」を求める方法である。
【００２２】
この方法は、ミラー変換を行うための同次行列を変えることで、任意の対称面に対して完全なミラー変換の解を求めることができる。そして、従来の垂直多関節ロボットのプログラムに対するミラー変換装置はこの方法を搭載したものとなっている。
【先行技術文献】
【特許文献】
【００２３】
【特許文献１】特開平１−２７１８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【００２４】
従来の垂直多関節ロボットの位置データに対するミラー変換方法を使うことにより、一連の位置データに対して、完全なミラー変換の解としての「位置と姿勢に対応する行列」を求めることができる。しかし、実際には、このようにして求めたミラー変換後の一連の位置データを使ってそのまま作業を行うことができるとは限らない。
【００２５】
つまり、従来の方法でミラー変換を行い、それに従って動作を行うと、あるＴＣＰの位置から次のＴＣＰの位置への動作を行うための「各関節の角度」が複数存在するため所望と異なる場合があり、垂直多関節ロボットがその周辺にある他のもの（例えば、ワークやワークを保持するための冶具）と衝突する等干渉して動作できない場合がある。この場合、位置データごとに干渉しないか否かを確認する手間が生じてしまい、また、干渉する場合には位置データを修正する手間が生じてしまい、ミラー変換せずに始めから登録する場合の手間と大差がない状態となってしまうといった課題を生じてしまう。
【００２６】
また、垂直多関節ロボットでは、ミラー変換後の「位置と姿勢に対応する行列」は、「各関節の角度」に変換すること（以下、「逆変換」と呼ぶ）で、ミラー変換した後の位置と姿勢で作業動作を行うことができる。
【００２７】
ところが、ある「位置と姿勢に対応する行列」で表されるＴＣＰの位置と姿勢を実現するための垂直多関節ロボットを構成する「各関節の角度」の組み合わせとして、複数通りが可能となる場合がある。すなわち、逆変換は、必ずしも一意に決まるとは限らない。例えば、３６０度以上の可動範囲を持った軸であれば、３６０度異なる位置が採用可能となる。そのような軸が複数あれば、それらの組み合わせ全てが採用可能となる。これらを吟味して、その中のひとつを選ぶ必要があるが、その方法に絶対的なものがなく、実際に動作をさせてみなければ干渉するか否かを確認することができない。
【００２８】
また、垂直多関節ロボットは、プログラムに登録された位置データを順次目標にして動作するものである。このことを考慮すれば、前後の教示位置と各回転軸の変位量が最小となるものを選択する方法が考えられる。しかし、これには全ての場合に正し選択をする保証はなく、やはり、実際に動作させなければ確認することができず、干渉を起こす場合は位置データの修正が必要となる。
【００２９】
このように、従来のミラーイメージ作成方法の課題は、「位置と姿勢に対応する行列」から「各関節の角度」を求める逆変換の際に、複数の角度の可能性が存在することによって生じる。
【００３０】
本発明は、ミラー対称面の決め方に制約を設けた上で、「位置と姿勢に対応する行列」を使用することなく、直接「各関節の角度」を求めることにより、複数の可能性を排除して唯一確定した結果を得ることができるミラーイメージ作成方法を提供することを目的とする。
【課題を解決するための手段】
【００３１】
上記課題を解決するために、本発明の垂直多関節ロボットのミラーイメージプログラム作成方法は、複数の回転軸をもつ関節で構成される垂直多関節ロボットが所定の基準姿勢にある場合の前記垂直多関節ロボットの設置される面に垂直でかつ前記垂直多関節ロボットの第１の関節の回転軸を含む基準平面に対して、前記基準平面に含まれる回転軸をもつ関節と前記基準平面に垂直な回転軸をもつ関節とで前記垂直多関節ロボットは構成されている場合に、ミラー対称面が前記第１の関節の回転軸の軸心を通る平面である際に、前記垂直多関節ロボットを動作させる元となるプログラムから垂直多関節ロボットのミラーイメージプログラムを作成する方法であって、前記第１の関節の角度は、前記ミラー対称面からの角度差を正負反転した角度とし、前記垂直多関節ロボットが前記基準姿勢にある場合に前記基準平面に含まれる回転軸をもつ関節で前記第１の関節以外の関節の角度は、前記元となるプログラムの当該関節の角度と前記基準姿勢のときの角度である各々の回転軸の角度の基準値との差を正負反転した角度となるようにし、前記垂直多関節ロボットが前記基準姿勢にある場合に前記基準平面に垂直な回転軸をもつ関節の角度はそのままとすることにより、ミラーイメージプログラムを作成するものである。
【発明の効果】
【００３２】
以上のように、本発明によれば、ミラー変換前のプログラムの「各関節の角度」からミラー変換後のミラーイメージプログラムの「各関節の角度」を直接求めることができ、行列式を用いずにミラーイメージプログラムを作成することができる。
【図面の簡単な説明】
【００３３】
【図１】垂直多関節ロボットの概略構成を示す図
【図２】垂直多関節ロボットの動作を説明するための模式図
【図３】垂直多関節ロボットの位置データに対するミラー変換方法の処理を示す図
【図４】実施の形態におけるロボット制御装置の概略構成を示す図
【発明を実施するための形態】
【００３４】
以下、本発明を実施するための最良の形態について、図１から図４を用いて説明する。
【００３５】
（実施の形態１）
本実施の形態の垂直多関節ロボットの構成は、図１と図２に示すものと同様である。従って、背景技術で説明したものと同様の構成等については同一の符号を付して詳細な説明は省略する。ここで、図１および図２で示した垂直多関節ロボットの作業範囲内に、ミラー対称の関係にある一対の図示しないワークがあり、第１の回転軸ＲＴを面内に持つ対称面に対して対称に設置されているものとする。
【００３６】
以下に、前記一対のワークのうちの一方に対して垂直多関節ロボットが動作を行うために予めロボット制御装置に記憶されたプログラムを元のプログラムとし、前記一対のワークのうちの他方に対してのプログラムを元のプログラムに対するミラーイメージプログラムとして作成するミラー変換方法について説明する。なお、元プログラムには、一または複数の位置データが登録されている。そして、この位置データから、垂直多関節ロボットの「各関節の角度」を得ることができる。なお、位置データは、ワークに対する一動作ごとのＴＣＰの位置および姿勢、すなわち、垂直多関節ロボットの各関節の回転軸の角度を決定する情報である。
【００３７】
予め第１の回転軸ＲＴを通る平面である任意に設定したミラー対称面と基準平面ｆｓ（第１の回転軸ＲＴが基準値にあるときの平面ｆ）との成す角をαとすると、ミラー変換前の「各関節の角度」（ＲＴ０，ＵＡ０，ＦＡ０，ＲＷ０，ＢＷ０，ＴＷｎ０）と、ミラー変換後の「各関節の角度」（ＲＴ１，ＵＡ１，ＦＡ１，ＲＷ１，ＢＷ１，ＴＷｎ１）との関係は、次の式で表すことができる。
【００３８】
ＲＴ１＝α−（ＲＴ０−α）  （式１）
ＵＡ１＝ＵＡ０              （式２）
ＦＡ１＝ＦＡ０              （式３）
ＲＷ１＝−ＲＷ０            （式４）
ＢＷ１＝ＢＷ０              （式５）
ＴＷ１＝−ＴＷ０            （式６）
【００３９】
ただし、式１から式６における（ＲＴ０，ＵＡ０，ＦＡ０，ＲＷ０，ＢＷ０，ＴＷ０）および（ＲＴ１，ＵＡ１，ＦＡ１，ＲＷ１，ＢＷ１，ＴＷ１）の各角度は、各々の基準値（ＲＴｓ，ＵＡｓ，ＦＡｓ，ＲＷｓ，ＢＷｓ，ＴＷｓ）からの差である。そして、この基準値は、図１や図２に示すように、垂直多関節ロボットが基準姿勢の状態にあるときの各関節の角度である。このとき、ＲＴ０およびＲＴ１の値は、各々の場合の平面ｆの基準平面ｆｓからの角度を表している。
【００４０】
上記した式は、ミラー対称面が垂直多関節ロボットの設置面に垂直な軸、すなわち、第１の回転軸ＲＴを通る平面である場合においては、元のプログラムの「各関節の角度」からミラーイメージプログラムの「各関節の角度」を次のように計算することを意味している。
【００４１】
１つ目の計算として、第１の回転軸ＲＴの角度、すなわち、平面ｆのミラー対称面からの角度を正負反転した角度となるようにする。
【００４２】
２つ目の計算として、第１の回転軸ＲＴが基準位置である場合の第１の回転軸ＲＴを通る平面内にある第４の回転軸ＲＷと第６の回転軸ＴＷの角度は、各々の回転軸の基準値との差を正負反転した角度となるようにする。
【００４３】
３つ目の計算として、第１の回転軸ＲＴが基準位置である場合の第１の回転軸ＲＴを通る平面に垂直である第２の回転軸ＵＡと第３の回転軸ＦＡと第５の回転軸ＢＷの角度はそのままとする。
【００４４】
上記計算を行うことにより、垂直多関節ロボットに対して、ミラー変換前の元のプログラムの「各関節の角度」から、ミラー変換にて得られたミラーイメージプログラムの「各関節の角度」を直接求めることができる。
【００４５】
次に、図３を用いて、本実施の形態の垂直多関節ロボットの「各関節の角度」のミラー変換処理の流れについて説明する。
【００４６】
図３において、Ｓ０９０で、任意に指定されたミラー対称面と基準平面ｆｓとの成す角αを取得する。なお、αの取得方法については後述する。またここで、ミラー対称面は第１の回転軸ＲＴを面内に有するものである。
【００４７】
Ｓ１００で、未変換の対象位置データが残っているか否かを判断し、残っていなければ処理を終了する。残っていればＳ１１０に進み、Ｓ１１０で元のプログラムから１つの位置データを取り出す。
【００４８】
Ｓ１２０で、位置データを垂直多関節ロボットの各回転軸の基準値からの差分で表した角度（ＲＴ０，ＵＡ０，ＦＡ０，ＲＷ０，ＢＷ０，ＴＷｎ０）とする。これは、元のプログラムの角度が各回転軸の基準値からの差分で表されていれば、差分を行う必要はない。
【００４９】
Ｓ１３０で、上記した（式１）から（式６）までの計算を行い、ミラー変換後の各回転軸の基準値からの差分で表したに角度（ＲＴ１，ＵＡ１，ＦＡ１，ＲＷ１，ＢＷ１，ＴＷｎ１）を求める。
【００５０】
Ｓ１４０で、それらを位置データに変換する。これも、元のプログラムの角度が各回転軸の基準値からの差分で表されていれば、変換を行う必要はない。
【００５１】
Ｓ１５０で、変換先のプログラムにその位置データを格納する。
【００５２】
以上により、元のプログラムからミラーイメージプログラムを作成することができる。
【００５３】
なお、ミラー対称面と基準平面ｆｓとの成す角αの指定する方法の一例として、図４では、図示しないロボット操作器の画面に設けた入力枠ＰＮＬに数値を設定するものを示している。ここでは、角度αとして１０度を指定した例を示している。
【００５４】
また、ミラー対称面と基準平面ｆｓの成す角αを指定する方法の他の例としては、ミラー対称面内の位置を指定することで算出する方法や、平面ｆをミラー対称面に合わせたときの第１の回転軸ＲＴの角度で指定する方法や、与えられたパラメータを元に計算して求める方法などが挙げられる。
【００５５】
また、垂直多関節ロボットは天地を入れ替えた設置をする、すなわち、設置面が上になる場合もある。この場合、構造材５は、垂直多関節ロボットを床面に設置する場合と比べて、第４の回転軸ＲＷを１８０度回転させた状態となる。これに伴い、回転軸ＲＷの基準位置も１８０度回転させた位置となる。
【００５６】
また、産業用ロボットである垂直多関節ロボットは、図４に示すように、図１や図２に示すようなマニピュレータ（図４では、４０１として示す）と、このマニピュレータ４０１の動作を制御するロボット制御装置４００から構成されている。そして、ロボット制御装置４００には、情報の処理等を行う演算部４０２と、元のプログラムを記憶するための第１の記憶部４０３と、ミラーイメージプログラムを記憶する第２の記憶部４０４と、ミラー対称面や平面ｆを設定するための設定部４０５と、角度αを入力するための入力部４０６を備えている。なお、この入力部４０６には、入力枠ＰＮＬ（パネル）が設けられている。なお、マニュピレータ４０１は、ロボット制御装置４００の構成要素である駆動部４０９を通じて接続されている。
【００５７】
そして、演算部４０２が、第１の記憶部４０３や設定部４０５や入力部４０６などからの情報に基づいて、図３に示したミラー変換処理を行いミラーイメージプログラムを作成し、第２の記憶部４０４に記憶する。
【００５８】
以上のように、本実施の形態によれば、ミラー対称面が垂直多関節ロボットの設置面に対して固定された垂直な回転軸をもつ軸を通る平面である場合、行列を使わず、一切の吟味が不要であり、ミラー変換前のプログラムから、ミラー対称面に対して正確にミラー対称となるプログラムを確実に生成することができる。
【００５９】
そして、ミラー変換前の位置データを実現するための「各関節の角度」から、ミラー変換後の位置データを実現するための「各関節の角度」を直接求めることができる。
【産業上の利用可能性】
【００６０】
本発明の方法によれば、元のプログラムからミラーイメージプログラムを作成することができ、ミラー対称となっている一対のワークに対して作業を行う産業用ロボットの動作プログラムの作成方法として産業上有用である。
【符号の説明】
【００６１】
１      ベース
２      構造材
３      構造材
４      構造材
５      構造材
６      構造材
７      フランジ
ＲＴ    第１の回転軸
ＵＡ    第２の回転軸
ＦＡ    第３の回転軸
ＲＷ    第４の回転軸
ＢＷ    第５の回転軸
ＴＷ    第６の回転軸
ｆ      平面（ＲＴの回転軸を含みＲＴの回転と共に回転する平面）
ｆｓ    基準平面（ＲＴの角度が基準値であるときの平面）
ｇ      平面（ＲＷの回転軸を含みＲＷの回転と共に回転する平面）
ＰＮＬ  入力枠
４００  ロボット制御装置
４０１  マニピュレータ
４０２  演算部
４０３  第１の記憶部
４０４  第２の記憶部
４０５  設定部
４０６  入力部
４０９  駆動部
【図１】
2011020206.tif 000003
【図２】
2011020206.tif 000004
【図３】
2011020206.tif 000005
【図４】
2011020206.tif 000006