(57)【要約】【課題】ロボットが円弧動作を行うときに作業ツールの揺らぎを抑制するロボット制御装置を提供する。【解決手段】ロボット制御装置４は、ロボット１の円弧動作を制御する。ロボット制御装置４は、動作プログラム４６における移動点同士の間に補間点を設定する補間点設定部を備える。ロボット制御装置４は、移動点において、ロボット１の姿勢を定めるための基準方向に関する角度を算出する移動点角度算出部５３と、移動点における基準方向に関する角度を補間することにより、補間点における基準方向に関する角度を算出する補間点角度算出部５４とを備える。基準方向は、移動点の位置とは独立した方向であり、予め定められた座標系にて動作プログラムに設定されている。【選択図】図２
2020049611.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの円弧動作を制御するロボット制御装置であって、
予め定められた移動点におけるロボットの位置および姿勢が定められた動作プログラムを記憶する記憶部と、
移動点同士の間に補間点を設定する補間点設定部と、
移動点において、ロボットの姿勢を定めるための基準方向に関する角度をロボットの姿勢に基づいて算出する移動点角度算出部と、
移動点における基準方向に関する角度を補間することにより、補間点における基準方向に関する角度を算出する補間点角度算出部と、
補間点における基準方向に関する角度に基づいて、補間点におけるロボットの姿勢を算出する姿勢算出部と、を備え、
基準方向は、移動点の位置とは独立した方向であり、予め定められた座標系にて動作プログラムに設定されていることを特徴とする、ロボット制御装置。
【請求項２】
基準方向は、予め定められた座標系にて作業者が動作プログラムに入力した座標値にて指定されている、請求項１に記載のロボット制御装置。
【請求項３】
基準方向は、ロボットの移動点を定める教示作業の時に作業者がロボットを動かして定めた方向である、請求項１に記載のロボット制御装置。
【請求項４】
基準方向に関する角度は、基準方向に対する作業ツールの仰角および方位角である、請求項１に記載のロボット制御装置。
【請求項５】
ワークを動かす機械を含むロボット装置に配置されるロボット制御装置であって、
ロボットおよび機械は、互いに協調して動作するように形成されており、
基準方向は、原点がワークに固定され、ワークと共に動くリーダ座標系にて動作プログラムに設定されおり、
補間点角度算出部は、リーダ座標系にて補間点における基準方向に関する角度を算出する、請求項１に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの円弧動作を制御するロボット制御装置に関する。
【背景技術】
【０００２】
ロボット装置は、ロボットと、ロボットに取り付けられた作業ツールと、ロボットを制御する制御装置とを備える。制御装置は、動作プログラムに基づいてロボットおよび作業ツールを駆動する。
【０００３】
作業者は、ロボットの位置および姿勢を定めるために、予め教示点を教示することができる。教示点におけるロボットの位置および姿勢は、移動点として動作プログラムに記憶される。移動点においては、ロボットは、動作プログラムに設定された位置および姿勢になる様に制御される（例えば、特開２０１３−２１５８６２号公報および特開２００１−９６３６７号公報を参照）。
【０００４】
作業者は、移動点同士の間の区間におけるロボットの位置および姿勢の補間方法を動作プログラムに設定することができる。移動点同士の間の区間における補間方法としては、直線動作を行うための直線補間および円弧動作を行うための円弧補間が知られている。直線動作では、ツール先端点が直線状の経路を移動する。また、円弧動作では、ツール先端点が円弧状の経路を移動する。円弧補間を行う場合に、制御装置は、複数の移動点に基づいて円弧状の移動経路を算出する。制御装置は、ツール先端点が円弧状の移動経路を移動するように、ロボットの位置および姿勢を制御する（例えば、特開昭６２−２８５１１０号公報を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２１５８６２号公報
【特許文献２】特開２００１−９６３６７号公報
【特許文献３】特開昭６２−２８５１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ロボットの円弧動作を実施する場合には、動作プログラムにおいて、複数の移動点の中から始点、中継点、および終点が指定される。制御装置は、この３点を通るように算出した円弧状の経路に沿ってロボットが移動するように制御する。
【０００７】
移動点同士の間の区間において、制御装置は、移動点におけるロボットの位置を補間することにより、補間点におけるロボットの位置を算出することができる。ロボットの姿勢については、制御装置は、始点、中継点、および終点の３点から形成される基準面の法線方向を基準方向として算出する。制御装置は、移動点における基準方向に関するロボットの姿勢を算出する。制御装置は、基準方向に関するロボットの姿勢を移動点同士の間の区間で補間する。この制御により、制御装置は、補間点における基準方向に関するロボットの姿勢を算出することができる。
【０００８】
ところが、３個の移動点を通る基準面の法線方向に基づいて、ロボットの姿勢を算出する場合には、ロボットの位置が修正されると基準面の傾きも変化してしまう。この場合に、移動点におけるロボットの姿勢は変更していないにも関わらず、移動点同士の間の区間において、作業ツールの姿勢が安定せずに、揺らいでしまう場合があった。
【０００９】
ロボットの姿勢は、作業ツールの姿勢に対応する。例えば、アーク溶接等の溶接を実施する場合には、溶接の品質を確保するためにロボットの姿勢が重要である。作業ツールの姿勢が揺れると、溶接の品質を悪化させる恐れがある。
【００１０】
また、３個の移動点を通る基準面は制御装置により算出されるために、作業者は、基準面を目視することができない。このために、ロボットの位置の変更に伴って、作業者がロボットの姿勢を修正することは難しい。従来の技術においては、作業ツールの揺らぎが発生しないように、教示点同士の間隔を狭くしていた。このため、教示点の個数が増加し、作業効率が悪いという問題があった。
【課題を解決するための手段】
【００１１】
本開示の一態様のロボット制御装置は、ロボットの円弧動作を制御する。ロボット制御装置は、予め定められた移動点におけるロボットの位置および姿勢が定められた動作プログラムを記憶する記憶部を備える。ロボット制御装置は、移動点同士の間に補間点を設定する補間点設定部を備える。ロボット制御装置は、移動点において、ロボットの姿勢を定めるための基準方向に関する角度をロボットの姿勢に基づいて算出する移動点角度算出部と、移動点における基準方向に関する角度を補間することにより、補間点における基準方向に関する角度を算出する補間点角度算出部とを備える。ロボット制御装置は、補間点における基準方向に関する角度に基づいて、補間点におけるロボットの姿勢を算出する姿勢算出部を備える。基準方向は、移動点の位置とは独立した方向であり、予め定められた座標系にて動作プログラムに設定されている。
【発明の効果】
【００１２】
本開示の一態様によれば、ロボットが円弧動作を行うときに作業ツールの揺らぎを抑制するロボット制御装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態における第１のロボット装置の概略図である。
【図２】第１のロボット装置のブロック図である。
【図３】第１のロボット装置にてワークを溶接するときのワークおよび溶接トーチの斜視図である。
【図４】第１のロボット装置にてワークを溶接するときのワークおよび溶接トーチの他の斜視図である。
【図５】第１のロボット装置において、基準方向を説明する斜視図である。
【図６】第１のロボット装置において、動作プログラムを生成する制御を説明するフローチャートである。
【図７】第１のロボット装置の第１の動作プログラムである。
【図８】ユーザ座標系が設定された設定ファイルである。
【図９】第１のロボット装置において、ロボットの位置および姿勢を制御するフローチャートである。
【図１０】第１のロボット装置において、移動点および補間点における溶接トーチの姿勢を説明する斜視図である。
【図１１】第１のロボット装置において、移動点および補間点における溶接トーチの姿勢を説明する他の斜視図である。
【図１２】第１のロボット装置の第２の動作プログラムである。
【図１３】参照座標系が設定された設定ファイルである。
【図１４】リーダ座標系が設定された設定ファイルである。
【図１５】第１の参考例の制御におけるワークおよび溶接トーチの斜視図である。
【図１６】第１の参考例における基準方向を説明する斜視図である。
【図１７】第１の参考例において、溶接トーチの姿勢を説明する正面図である。
【図１８】第１の参考例において、溶接トーチの姿勢を説明する側面図である。
【図１９】第１の参考例において、基準方向に対する角度および鉛直方向に対する角度を説明する図である。
【図２０】第１の参考例において、移動点の位置に対する溶接トーチの角度を示すグラフである。
【図２１】第１の参考例において、移動点および補間点における溶接トーチの姿勢を説明する斜視図である。
【図２２】第１の参考例において、移動点および補間点における溶接トーチの姿勢を説明する他の斜視図である。
【図２３】第２の参考例の制御におけるワークおよび溶接トーチの斜視図である。
【図２４】第２の参考例における基準方向を説明する斜視図である。
【図２５】第２の参考例において、溶接トーチの姿勢を説明する正面図である。
【図２６】第２の参考例において、溶接トーチの姿勢を説明する側面図である。
【図２７】第２の参考例において、基準方向に対する角度および鉛直方向に対する角度を説明する図である。
【図２８】第２の参考例において、移動点の位置に対する溶接トーチの角度を示すグラフである。
【図２９】第２の参考例において、移動点および補間点における溶接トーチの姿勢を説明する斜視図である。
【図３０】第２の参考例において、移動点および補間点における溶接トーチの姿勢を説明する他の斜視図である。
【図３１】実施の形態における第２のロボット装置のポジショナおよびワークの第１の拡大斜視図である。
【図３２】第２のロボット装置のポジショナおよびワークの第２の拡大斜視図である。
【図３３】第２のロボット装置のポジショナおよびワークの第３の拡大斜視図である。
【図３４】第２のロボット装置のブロック図である。
【図３５】第２のロボット装置にて第１の制御を行うワークの拡大斜視図である。
【図３６】第２のロボット装置にて溶接を行う制御のフローチャートである。
【図３７】第２のロボット装置にて第２の制御を行うワークおよび溶接トーチの拡大斜視図である。
【図３８】第２のロボット装置にて第２の制御を行うワークの拡大斜視図である。
【図３９】第２のロボット装置にて第２の制御を行うワークの側面図である。
【発明を実施するための形態】
【００１４】
図１から図３９を参照して、実施の形態におけるロボット制御装置について説明する。本実施の形態においては、ワークをアーク溶接にて固定するロボット装置を例示して説明する。
【００１５】
図１は、本実施の形態における第１のロボット装置の概略図である。図２は、本実施の形態における第１のロボット装置のブロック図である。図１および図２を参照して、第１のロボット装置９は、作業ツールとしての溶接トーチ２と、溶接トーチ２を移動するロボット１とを備える。本実施の形態のロボット１は、複数の関節部を含む多関節ロボットである。
【００１６】
ロボット１は、ベース部１４と、ベース部１４に支持された旋回ベース１３とを含む。ベース部１４は、設置面に固定されている。旋回ベース１３は、ベース部１４に対して回転する。ロボット１は、上部アーム１１および下部アーム１２を含む。下部アーム１２は、関節部を介して旋回ベース１３に支持されている。上部アーム１１は、関節部を介して下部アーム１２に支持されている。ロボット１は、上部アーム１１の端部に連結されているリスト１５を含む。リスト１５は、関節部を介して上部アーム１１に支持されている。溶接トーチ２は、リスト１５のフランジ１６に固定されている。
【００１７】
本実施の形態のロボット１は、６個の駆動軸を有する。ロボット１は、上部アーム１１等の各部材を駆動するロボット駆動装置を含む。本実施の形態のロボット駆動装置は、上部アーム１１、下部アーム１２、旋回ベース１３、およびリスト１５を駆動するための複数のロボット駆動モータ２２を含む。関節部において、ロボット１の部材の向きが変化することにより、ロボット１の位置および姿勢が変化する。
【００１８】
ロボット装置９は、ロボット１を制御するロボット制御装置４を備える。ロボット制御装置４は、バスを介して互いに接続されたＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、およびＲＯＭ（Read Only Memory）等を有する演算処理装置（コンピュータ）を含む。ロボット１は、通信線を介してロボット制御装置４に接続されている。
【００１９】
ロボット装置９は、溶接トーチ２にワイヤー１９を供給するためのワイヤー供給装置１８を含む。ワイヤー供給装置１８は、溶接を実施するに伴って消耗するワイヤー１９を溶接トーチ２に供給する。ワイヤー供給装置１８は、ロボット１に固定されている。
【００２０】
ロボット装置９は、溶接トーチ２およびワイヤー供給装置１８を制御する溶接制御装置５を含む。溶接制御装置５は、バスを介して互いに接続されたＣＰＵ、ＲＡＭ、およびＲＯＭ等を有する演算処理装置（コンピュータ）を含む。また、溶接制御装置５は、溶接トーチ２およびワイヤー供給装置１８に電気を供給する電源を含む。本実施の形態における溶接制御装置５は、ロボット制御装置４に接続されている。溶接制御装置５は、ロボット制御装置４と互いに通信ができるように形成されている。溶接制御装置５は、ロボット１の動作に応じて、溶接トーチ２に電気を供給したり、ワイヤー１９を供給したりする。本実施の形態の溶接制御装置５は、ロボット制御装置４に制御されている。
【００２１】
ロボット制御装置４には、作業者がロボット制御装置４を操作するための教示操作盤３が接続されている。教示操作盤３は、ロボット１および溶接トーチ２に関する情報を入力する入力部を含む。入力部は、キーボードおよびダイヤルなどにより構成されている。教示操作盤３は、ロボット１および溶接トーチ２に関する情報を表示する表示部を含む。ロボット制御装置４には、ロボット装置９の制御を行うために予め作成された動作プログラム４６が入力される。または、作業者が教示操作盤３を操作してロボット１を駆動することにより、ロボット１の教示点を設定する教示作業を行うことができる。ロボット制御装置４は、教示点に基づいて、ロボット１および溶接トーチ２の動作プログラム４６を生成することができる。ロボット装置９は、動作プログラム４６に基づいて溶接を実施する。
【００２２】
ロボット制御装置４は、ロボット１および溶接トーチ２の制御に関する情報を記憶する記憶部４２を含む。動作プログラム４６および制御に関する設定値が定められた設定ファイル４７は、記憶部４２に記憶される。
【００２３】
ロボット制御装置４は、ロボット１の動作を制御する動作制御部４３を含む。動作制御部４３は、動作プログラム４６に基づいて、ロボット１を駆動するための動作指令をロボット駆動部４５に送出する。ロボット駆動部４５は、ロボット駆動モータ２２を駆動する電源を含む。ロボット駆動部４５は、動作指令に基づいてロボット駆動モータ２２に電気を供給する。
【００２４】
また、動作制御部４３は、溶接トーチ２の動作を制御する。動作制御部４３は、動作プログラム４６に基づいて溶接トーチ２およびワイヤー供給装置１８を駆動する動作指令を溶接制御装置５に送出する。溶接制御装置５は、動作指令に基づいて溶接トーチ２およびワイヤー供給装置１８に電気を供給する。
【００２５】
ロボット１は、ロボット１の位置および姿勢を検出するための状態検出器を含む。本実施の形態における状態検出器は、ロボット駆動モータ２２に取り付けられた位置検出器２３を含む。位置検出器２３の出力により、それぞれの駆動軸におけるロボット１の構成部材の向きを取得することができる。例えば、位置検出器２３は、ロボット駆動モータ２２が駆動するときの回転角を検出する。本実施の形態では、複数の位置検出器２３の出力に基づいて、ロボット１の位置および姿勢が検出される。
【００２６】
本実施の形態のロボット装置９には、ワールド座標系７１が設定されている。図１に示す例では、ロボット１のベース部１４にワールド座標系７１の原点が配置されている。ワールド座標系７１は、ロボットの基準座標系とも称される。ワールド座標系７１は、原点の位置が固定され、更に、座標軸の向きが固定されている座標系である。ロボット１の位置および姿勢が変化してもワールド座標系７１の位置および向きは変化しない。ワールド座標系７１は、座標軸として、互いに直交するＸ軸、Ｙ軸、およびＺ軸を有する。また、Ｘ軸の周りの座標軸としてＷ軸が設定される。Ｙ軸の周りの座標軸としてＰ軸が設定される。Ｚ軸の周りの座標軸としてＲ軸が設定される。
【００２７】
本実施の形態では、作業ツールの任意の位置に設定された原点を有するツール座標系が設定されている。本実施の形態のツール座標系７２の原点は、ツール先端点に設定されている。ツール座標系７２は、座標軸として、互いに直交するＸ軸、Ｙ軸、およびＺ軸を有する。図１に示す例では、ツール座標系７２は、Ｚ軸の延びる方向が溶接トーチ２の先端から突出するワイヤー１９の延びる方向と平行になるように設定されている。また、ツール座標系７２は、Ｘ軸の周りのＷ軸、Ｙ軸の周りのＰ軸、およびＺ軸の周りのＲ軸を有する。
【００２８】
ロボット１の位置および姿勢が変化すると、ツール座標系７２の原点の位置および向きが変化する。例えば、ロボット１の位置は、ツール先端点の位置（ツール座標系７２の原点の位置）に対応する。また、ロボット１の姿勢は、ワールド座標系７１に対するツール座標系７２の向きに対応する。
【００２９】
図３に、第１のロボット装置にて溶接を行うワークおよび溶接トーチの斜視図を示す。図１および図３を参照して、第１のロボット装置９は、ワーク８１に対してワーク８２を溶接により固定する。ワーク８１，８２は、架台８９に固定されている。また、ワーク８１は、上面が水平方向に延びるように形成されている。図３に示す例では、移動経路９１に沿って、溶接トーチ２のツール先端点が移動するように移動点ＴＡ１，ＴＡ２，ＴＡ３が設定されている。ワーク８２は、平面形状が円形になるように形成されている。本実施の形態では、ツール先端点が移動する移動経路９１が円弧になるようにロボット１が円弧動作を実施する。移動経路９１は、水平方向に延びている。
【００３０】
ここでの例では、溶接トーチ２のツール先端点の位置に対応する移動点ＴＡ１，ＴＡ２，ＴＡ３の位置が定められている。移動点ＴＡ１が始点であり、移動点ＴＡ２が中継点であり、移動点ＴＡ３が終点である。また、それぞれの溶接トーチ２の位置ＰＡ１，ＰＡ２，ＰＡ３におけるロボット１の姿勢が定められている。なお、ロボット１の姿勢は、溶接トーチ２の姿勢に対応する。図３における例においては、鉛直方向に対する溶接トーチ２の軸線の角度が一定になるように溶接トーチ２の姿勢が定められている。動作プログラム４６には、移動点におけるロボット１の位置および姿勢が定められる。
【００３１】
図４に、ワークおよび溶接トーチの他の斜視図を示す。作業者は、教示作業において、移動経路を修正するために、ロボット１の位置を修正する場合がある。図３および図４を参照して、移動点ＴＢ１は移動点ＴＡ１に対応し、移動点ＴＢ２は移動点ＴＡ２に対応し、移動点ＴＢ３は移動点ＴＡ３に対応する。溶接トーチ２の位置ＰＢ２および位置ＰＢ３は上側に移動されている。移動経路９１を僅かに移動させて、移動経路９２が生成される。移動経路９２は、水平方向に対して傾く方向に延びている。
【００３２】
ロボット制御装置４は、ロボット１を駆動する場合に、それぞれの移動点ＴＢ１，ＴＢ２，ＴＢ３において、作業者が設定したロボット１の位置および姿勢になるようにロボット１を制御する。
【００３３】
ロボット制御装置４は、移動点ＴＢ１，ＴＢ２，ＴＢ３同士の間に補間点を設定する。補間点は、ツール先端点が通る点に相当する。ロボット制御装置４は、移動点ＴＢ１，ＴＢ２，ＴＢ３に基づいて円弧状の移動経路９２を算出する。ロボット制御装置４は、移動経路９２上に補間点を設定する。補間点の設定方法は、予め定められている。例えば、２個の移動点同士の間に予め定められた個数の補間点が設定される。ロボット制御装置４は、補間点の位置を算出する。更に、ロボット制御装置４は、補間点におけるロボット１の姿勢を算出する。
【００３４】
後述する参考例の円弧動作の制御においては、３個の移動点ＴＢ１，ＴＢ２，ＴＢ３を通る基準面を算出し、その基準面の法線方向を基準方向に設定している。ロボット制御装置４は、この基準方向に関する角度を用いて、補間点におけるロボット１の姿勢を算出することができる。しかしながら、この制御では、移動点ＴＢ１，ＴＢ２，ＴＢ３同士の間の区間で、溶接トーチ２の姿勢が揺れる現象が発現する場合があった。
【００３５】
本実施の形態の制御では、ロボット１の移動点ＴＢ１，ＴＢ２，ＴＢ３とは独立した方向を基準方向に設定する。すなわち、ロボット１の移動点ＴＢ１，ＴＢ２，ＴＢ３の位置が変化しても向きが変わらない基準方向を設定する。この基準方向に関する角度を用いて補間点におけるロボット１の姿勢を算出する。
【００３６】
図５に、本実施の形態の円弧動作を行うための基準方向を説明する概略図を示す。平面９５は、移動点ＴＡ１，ＴＡ２，ＴＡ３を通る面である。すなわち、平面９５は、図３における移動経路９１を含む面であり、水平方向に延びている。
【００３７】
図３および図４に示すように、移動点ＴＢ２，ＴＢ３は、移動点ＴＡ２，ＴＡ３から上側に移動している。平面９６は、移動点ＴＢ１，ＴＢ２，ＴＢ３を通る平面である。平面９６は、平面９５に対して傾いている。本実施の形態では、移動点ＴＢ１，ＴＢ２，ＴＢ３とは独立した平面９５に基づいて、基準方向を設定する。平面９５を基準面に定めて、平面９５の法線方向を基準方向に設定する。
【００３８】
本実施の形態においては、平面９５にＸ軸およびＹ軸が含まれる基準座標系７８を設定する。基準座標系７８のＺ軸の方向が基準方向になる。このように、作業者は、３個の移動点ＴＢ１，ＴＢ２，ＴＢ３を通る平面とは無関係の方向を基準方向として設定する。
【００３９】
図６に、本実施の形態の動作プログラムを生成する工程のフローチャートを示す。ステップ１１１において、作業者は、移動点として、円弧動作を行うための始点、中継点および終点を設定する。作業者は、移動点の位置および移動点におけるロボットの姿勢を設定する。
【００４０】
作業者は、教示作業によって教示点を設定することができる。作業者は、教示操作盤３を操作することにより、ロボット１の位置の姿勢を調整する。作業者は、ロボット１の位置および姿勢が所望の状態になったときに、ロボット１の位置および姿勢を教示点としてロボット制御装置４に記憶することができる。
【００４１】
図３を参照して、作業者は、始点として移動点ＴＡ１を設定し、中継点として移動点ＴＡ２を設定し、終点として移動点ＴＡ３を設定する。また、作業者は、それぞれの移動点ＴＡ１，ＴＡ２，ＴＡ３における溶接トーチ２の姿勢を設定する。図４を参照して、次に、作業者は、移動点ＴＡ１，ＴＡ２，ＴＡ３の位置を、移動点ＴＢ１，ＴＢ２，ＴＢ３の位置に修正する。
【００４２】
なお、移動点の設定においては、ロボット１を動かして教示点を指定する方法に限られない。作業者は、教示操作盤３の入力部からそれぞれの移動点におけるロボット１の位置および姿勢を入力しても構わない。例えば、作業者は、移動点におけるロボット１の位置および姿勢をワールド座標系７１の座標値にて教示操作盤３に入力しても構わない。
【００４３】
図６を参照して、次に、ステップ１１２において、作業者は、円弧動作のための基準方向を設定する。図５を参照して、本実施の形態では、平面９５が基準面になり、基準方向は平面９５の法線方向になる。すなわち、基準座標系７８のＺ軸の方向になる。ここでの例では、作業者は、基準座標系７８をユーザ座標系として設定する。ユーザ座標系は、ロボット１の位置および姿勢が変化しても、原点の位置および座標軸の向きが変化しない座標系である。ユーザ座標系は、作業者が選択した位置を原点に設定することができる。また、ユーザ座標系は、作業者が選択した向きに設定することができる。ユーザ座標系は、作業者が教示操作盤３を用いて予め入力することができる。
【００４４】
次に、ステップ１１３において、ロボット制御装置４は、ロボット装置９の動作プログラム４６および動作プログラム４６に関連する設定ファイル４７を作成する。
【００４５】
図７に、本実施の形態における第１のロボット装置の第１の動作プログラムを示す。動作プログラム４６ａは、ロボット１の動作を定めるための移動点の情報を含む。動作プログラム４６ａには、移動点が記号Ｐを用いて示されている。図７に示す例では、移動点Ｐ［１］，Ｐ［２］，Ｐ［３］，Ｐ［４］，Ｐ［５］が設定されている。
【００４６】
それぞれの移動点におけるロボット１の位置および姿勢は、動作プログラム４６ａとは異なる設定ファイルにて設定されている。または、移動点におけるロボット１の位置および姿勢は、動作プログラム４６ａの最後に記載されていても構わない。それぞれの移動点におけるロボット１の位置および姿勢は、任意の座標系の座標値にて設定することができる。例えば、ロボットの位置および姿勢は、ワールド座標系の座標値を用いて設定することができる。
【００４７】
本実施の形態では、移動点におけるロボット１の位置は、ツール先端点の位置にて指定される。ツール先端点の位置は、ワールド座標系７１のＸ軸の座標値、Ｙ軸の座標値、およびＺ軸の座標値にて指定される。また、移動点におけるロボット１の姿勢は、ツール座標系７２の向きにて指定される。ツール座標系７２の向きは、ワールド座標系７１のＷ軸の座標値、Ｐ軸の座標値、およびＲ軸の座標値にて指定される。
【００４８】
ロボット制御装置４は、それぞれの移動点において、動作プログラム４６ａに記載された位置および姿勢になるようにロボット１を制御する。例えば、動作プログラム４６ａの１番の指令文においては、移動点Ｐ［１］まで移動する指令が記載されている。より具体的には、記号Ｊは、ロボット１のそれぞれの駆動軸の駆動による移動を示している。また、それぞれの駆動軸の最高速度に対して１００％の速度にて移動する指令が記載されている。記号ＦＩＮＥは、高い精度でロボットを駆動することを示している。すなわち、１行目の指令文においては、各駆動軸の速度は最高速度で、移動点Ｐ［１］まで移動することが示されている。
【００４９】
３番の指令文および４番の指令文における記号Ｃは、円弧動作を実施する指令を示している。ここでの例では、ロボット制御装置４は、移動点Ｐ［１］，Ｐ［２］，Ｐ［３］を用いて円弧動作を実施する。また、ロボット制御装置４は、移動点Ｐ［３］，Ｐ［４］，Ｐ［５］を用いて円弧動作を実施する。ここでの例では、移動点Ｐ［１］から移動点Ｐ［３］に向かって、速度５００ｍｍ／ｓｅｃにて移動する指令が記載されている。また、移動点Ｐ［３］から移動点Ｐ［５］に向かって、速度５００ｍｍ／ｓｅｃにて移動する指令が記載されている。
【００５０】
動作プログラム４６ａの２番の行には、円弧動作における基準方向を設定する指令として記号ＯＲＮＴＢＡＳＥが記載されている。記号ＯＲＮＴＢＡＳＥの後には、円弧動作を行うための基準方向を示す記号ＵＦ［１，Ｚ］が記載されている。記号ＵＦ［１，Ｚ］は、ユーザ座標系ＵＦ［１］のＺ軸の方向を基準方向とすることを示している。この指令により、移動点の位置に関わらずに基準方向が固定される。
【００５１】
図８に、ユーザ座標系の設定ファイルの例を示す。設定ファイル４７ａには、ユーザ座標系ＵＦ［１］が、ワールド座標系７１の座標値にて設定されている。ユーザ座標系ＵＦ［１］の原点の位置は、Ｘ軸の座標値、Ｙ軸の座標値、およびＺ軸の座標値にて設定されている。また、ユーザ座標系ＵＦ［１］の向きは、ワールド座標系７１のＷ軸の座標値、Ｐ軸の座標値、およびＲ軸の座標値にて設定されている。
【００５２】
例えば、図５に示す例では、基準方向は、ワールド座標系７１のＺ軸の方向と平行な方向になる。このために、ユーザ座標系ＵＦ［１］をワールド座標系７１と同一の座標系に設定することができる。この場合には、全ての座標軸の座標値を零に設定することができる。
【００５３】
図７を参照して、動作プログラム４６ａの５番の行には、基準方向の指定を終了する記号ＯＲＮＴＢＡＳＥ  ＥＮＤが記載されている。この指令により、円弧動作を実施するときの基準方向の設定が解除される。５番の行よりも後ろに円弧動作の指令が記載された場合には、新たな基準方向を設定するための基準座標系が設定される。または、制御装置は、予め定められた制御により基準方向を設定しても構わない。例えば、制御装置は、後述の参考例のように、円弧動作の３個の移動点を通る平面に垂直な方向を基準方向として設定することができる。このように、本実施の形態においては、特定の区間において、円弧動作のための基準方向を固定することができる。
【００５４】
図２および図４を参照して、本実施の形態の動作制御部４３は、円弧動作を実施するときの基準方向を設定する基準方向設定部５１を含む。動作制御部４３は、移動点同士の間に補間点を設定する補間点設定部５２を含む。補間点設定部５２は、移動点の位置を補間する位置補間制御を実施することにより、補間点の位置を算出する。補間点設定部５２は、移動点ＴＢ１，ＴＢ２，ＴＢ３を通る円弧を算出する。すなわち、補間点設定部５２は、移動経路９２を算出する。補間点設定部５２は、移動点ＴＢ１，ＴＢ２，ＴＢ３同士の間に、予め定められた規則にて補間点を設定する。補間点は、移動経路９２上に設定される。例えば、補間点設定部５２は、移動点同士の間に予め定められた個数の補間点を等間隔に配置することができる。
【００５５】
ロボット制御装置４は、それぞれの補間点における作業ツールの姿勢を補間により算出する姿勢補間制御を実施する。動作制御部４３は、移動点において、ロボット１の姿勢に基づいて、基準方向に関する角度を算出する移動点角度算出部５３を含む。本実施の形態における基準方向に関する角度は、基準方向に基づいた作業ツールの方位角および仰角である。基準方向に関する角度としては、この形態に関わらず、基準方向に対する任意の角度を採用することができる。
【００５６】
作業ツールの方向としては、例えば、溶接トーチ２の先端点から突出するワイヤー１９の延びる方向を設定することができる。または、作業ツールの軸線の方向を作業ツールの方向に設定することができる。このように、ツール座標系７２のＺ軸の方向を作業ツールの方向に設定することができる。作業ツールの仰角は、基準座標系７８のＺ軸の方向に対する角度を採用することができる。または、作業ツールの仰角としては、基準方向のＸ軸およびＹ軸を含む平面に対する角度を採用しても構わない。作業ツールの方位角は、基準座標系７８のＸ軸およびＹ軸を含む平面において、たとえばＸ軸の方向を零としたときの角度を採用することができる。移動点角度算出部５３は、それぞれの移動点において、作業ツールの方位角および仰角を算出する。
【００５７】
動作制御部４３は、補間点における基準方向に関する作業ツールの角度を算出する補間点角度算出部５４を含む。補間点角度算出部５４は、移動点における基準方向に関する作業ツールの角度を補間することにより、補間点における基準方向に関する角度を算出する。補間点角度算出部５４は、移動点における作業ツールの方位角および仰角に基づいて、それぞれの補間点における作業ツールの方位角および仰角を算出する。補間の方法としては、例えば、補間点同士の距離に基づいて線形補間を行うことができる。
【００５８】
動作制御部４３は、補間点における基準方向に関する作業ツールの角度に基づいて、補間点におけるロボット１の姿勢を算出する姿勢算出部５５を含む。姿勢算出部５５は、補間点設定部５２により算出された補間点の位置を取得する。姿勢算出部５５は、補間点角度算出部５４により算出された補間点における作業ツールの基準方向に関する角度を取得する。姿勢算出部５５は、補間点の位置および補間点における作業ツールの基準方向に関する角度に基づいて、ロボットの位置および姿勢を算出する。
【００５９】
図９に、ロボットが円弧動作を実施するときの制御のフローチャートを示す。図２および図９を参照して、ステップ１２１において、動作制御部４３は、動作プログラム４６ａおよび設定ファイル４７ａから、移動点ＴＢ１，ＴＢ２，ＴＢ３におけるロボット１の位置および姿勢を取得する。ここでの移動点は、例えば、円弧動作を実施するときの始点、中継点、および終点である。ステップ１２２において、基準方向設定部５１は、動作プログラム４６ａから基準方向を取得する。
【００６０】
次に、ステップ１２３において、移動点角度算出部５３は、始点、中継点、および終点を溶接するときの基準方向に関する溶接トーチ２の方位角および仰角を算出する。基準方向に関する方位角および仰角は、移動点におけるロボット１の姿勢と、基準方向とに基づいて算出することができる。
【００６１】
次に、ステップ１２４において、補間点設定部５２は、補間点の個数を設定する。補間点の個数は、例えば動作プログラム４６ａに予め設定されている。または、補間点の個数は、自動的に設定される。ステップ１２５において、補間点設定部５２は、移動経路９２として、移動点ＴＢ１，ＴＢ２，ＴＢ３を通る円弧を算出する。補間点設定部５２は、移動点ＴＢ１，ＴＢ２，ＴＢ３の位置を補間することにより、補間点の位置を算出する。
【００６２】
次に、ステップ１２６において、補間点角度算出部５４は、それぞれの補間点における基準方向に関する溶接トーチ２の方位角および仰角を算出する。例えば、補間点角度算出部５４は、移動点ＴＢ１，ＴＢ２，ＴＢ３における方位角および仰角を線形補間することにより、それぞれの補間点における方位角および仰角を算出する。
【００６３】
次に、ステップ１２７において、姿勢算出部５５は、補間点における溶接トーチ２の方位角および仰角に基づいて、補間点におけるロボット１の姿勢を算出する。ここでは、溶接トーチ２の姿勢（ツール座標系７２のＺ軸の方向）がロボット１の姿勢に対応する。また、補間点の位置は、ロボット１の位置に相当する。姿勢算出部５５は、それぞれの補間点の情報に基づいて、補間点におけるロボット１の位置および姿勢を算出する。
【００６４】
ステップ１２８において、動作制御部４３は、ロボット１が移動点において動作プログラム４６ａに設定された位置および姿勢になり、更に、補間点において算出された位置および姿勢になるように、ロボット１を駆動する。
【００６５】
図１０に、ツール先端点を基準座標系の原点に配置したときの移動点および補間点における溶接トーチの斜視図を示す。図１０に示す例においては、位置ＰＢ１と位置ＰＢ２との間に３個の補間点が設定されて、位置ＰＣ１，ＰＣ２，ＰＣ３が示されている。また、位置ＰＢ２と位置ＰＢ３との間に、３個の補間点が設定されて、位置ＰＣ４，ＰＣ５，ＰＣ６が示されている。移動点および補間点に配置された溶接トーチ２の姿勢が揺れることはなく、滑らかに変化することが分かる。
【００６６】
図１１に、始点から終点まで移動するときの溶接トーチの姿勢を説明する斜視図を示す。水平方向に延びる平面９５に対して傾斜する平面９６上に配置された移動経路９２を溶接する時の動きが示されている。図１１には、補間点ＴＣ２，ＴＣ５に対応する位置ＰＣ２，ＰＣ５に配置された溶接トーチ２が記載されている。矢印１５１に示すように、溶接トーチ２の予め定められた位置に設定された点の軌跡は、揺れることはなく、滑らかに移動することが分かる。この結果、高い溶接の品質を維持することができる。
【００６７】
上記の実施の形態では、基準方向は、ユーザ座標系にて設定されているが、この形態に限られない。基準方向は、任意の座標系にて設定することができる。次に、基準方向を設定するための他の座標系について説明する。
【００６８】
図１２に、本実施の形態における第２の動作プログラムを示す。第２の動作プログラム４６ｂにおいては、移動点Ｐ［１］，Ｐ［２］，Ｐ［３］にて、１つの円弧動作が実施される。また、移動点Ｐ［３］，Ｐ［４］，Ｐ［５］にて、１つの円弧動作が実施される。移動点Ｐ［１］から移動点Ｐ［３］までの円弧動作においては、記号ＯＲＮＴＢＡＳＥにより、ユーザ座標系ＵＦ［１］のＸ軸の方向が基準方向に指定されている。
【００６９】
移動点Ｐ［３］から移動点Ｐ［５］まで移動する制御においては、基準方向を設定するための座標系として参照座標系ＲＥＦ［１］が設定されている。参照座標系は、教示作業の期間中に指定された座標系である。参照座標系は、ロボット１の位置および姿勢が変化しても、原点の位置および向きが変化しない座標系である。また参照座標系は、作業者が選択した位置を原点に設定することができる。また、参照座標系は、作業者が選択した向きに設定することができる。
【００７０】
参照座標系ＲＥＦ［１］は、作業者が教示操作盤３を操作して設定することができる。作業者は、教示操作盤３を操作してロボット１の位置の姿勢を調整する。作業者は、溶接トーチ２から突出するワイヤー１９の延びる方向（ツール座標系７２のＺ軸の方向）を基準方向として設定することができる。作業者は、ワイヤー１９の延びる方向が所望の方向に平行になったときに、ツール座標系７２を参照座標系として記憶部４２に記憶させることができる。
【００７１】
図１３に、参照座標系の設定ファイルの例を示す。本実施の形態の参照座標系は、ワールド座標系を用いて原点の位置および向きが設定されている。設定ファイル４７ｂには、参照座標系の原点の位置がワールド座標系のＸ軸の座標値、Ｙ軸の座標値、およびＺ軸の座標値にて設定されている。また、参照座標系の向きは、ワールド座標系のＷ軸の座標値、Ｐ軸の座標値、およびＲ軸の座標値にて設定されている。
【００７２】
図１４に、リーダ座標系の設定ファイルの例を示す。基準方向を設定する座標系としては、ユーザ座標系および参照座標系の他に、後述するリーダ座標系を例示することができる。リーダ座標系の設定ファイル４７ｃにおいても、所定の座標系の座標値を用いてリーザ座標系の位置および向きを設定することができる。例えば、ワールド座標系７１の座標値にて、リーダ座標系の位置および向きが設定される。
【００７３】
次に、参考例の円弧動作の制御について説明する。図１５は、第１の参考例におけるワークおよび溶接トーチの斜視図である。第１の参考例においては、移動経路９１に沿ってワーク８２をワーク８１に溶接する。溶接トーチ２は、位置ＰＡ１から位置ＰＡ２を通って位置ＰＡ３まで移動する。動作プログラムには、移動点ＴＡ１，ＴＡ２，ＴＡ３が設定されている。
【００７４】
図１６に、第１の参考例における基準方向を説明する斜視図を示す。参考例では、基準方向設定部５１は、移動点ＴＡ１，ＴＡ２，ＴＡ３を含む平面９５を基準面に設定する。ここでの例では、基準面は水平方向に延びる。次に、平面９５の法線方向が基準方向に設定される。平面９５に垂直な方向がＺ軸の方向になるように基準座標系７９が設定される。始点となる移動点ＴＡ１、中継点となる移動点ＴＡ２、および終点となる移動点ＴＡ３により１つの円が算出される。ここでの例では、基準座標系７９は、この円の中心が原点となるように設定されている。
【００７５】
基準方向設定部５１は、基準座標系７９のＺ軸の方向を基準方向に設定する。補間点設定部５２は、移動経路９１に沿って補間点を設定する。移動点角度算出部５３は、移動点における基準方向に関する溶接トーチ２の角度を算出する。
【００７６】
補間点角度算出部５４は、移動点ＴＡ１，ＴＡ２，ＴＡ３における基準方向に関する溶接トーチ２の角度を補間することにより、補間点における基準方向に関する溶接トーチ２の角度を算出する。補間点角度算出部５４は、移動点における溶接トーチ２の方位角および仰角に基づいて、それぞれの補間点における溶接トーチ２の方位角および仰角を算出する。姿勢算出部５５は、補間点における溶接トーチ２の方位角および仰角に基づいて、ロボット１の姿勢を算出する。
【００７７】
図１７に、始点、中継点および終点における溶接トーチの姿勢を説明する第１の図を示す。図１７は、図１６の矢印１５２の方向から見たときの正面図である。図１８に、始点、中継点および終点における溶接トーチの姿勢を説明する第２の図を示す。図１８は、図１６の矢印１５３の方向から見たときの側面図である。図１７および図１８では、それぞれの溶接トーチ２のツール先端点を基準座標系７９の原点に配置している。図１７および図１８を参照して、基準座標系７９のＺ軸の方向が基準方向になる。位置ＰＡ１、位置ＰＡ２、位置ＰＡ３において、基準方向に対する溶接トーチ２の軸方向の角度（溶接トーチ２の仰角）は、互いに同一になる。
【００７８】
図１９に、基準方向または鉛直方向に対する溶接トーチの角度を説明する図を示す。図２０に、溶接トーチの位置に対する溶接トーチの角度のグラフを示す。図１９および図２０を参照して、溶接トーチ２の角度としては、基準方向に対する溶接トーチ２の軸線２ａの角度θｒと、鉛直方向に対する軸線２ａの角度θｖとが定められる。基準方向と鉛直方向とは互いに平行なる。それぞれの位置ＰＡ１，ＰＡ２，ＰＡ３において、角度θｒは角度θｖと同一になることが分かる。
【００７９】
図２１に、第１の参考例において、溶接トーチの姿勢を説明する斜視図を示す。図２１では、ツール先端点が基準座標系７９の原点に配置されている。図２２に、第１の参考例において、溶接トーチの姿勢を説明する他の斜視図を示す。図２２には、複数の補間点のうち、補間点ＴＤ２，ＴＤ５に対応する溶接トーチ２の位置ＰＤ２，ＰＤ５が示されている。
【００８０】
図２１および図２２を参照して、第１の参考例においては、補間点に対応する位置ＰＤ１，ＰＤ２，ＰＤ３に配置された溶接トーチ２の姿勢は、滑らかに変化している。また、補間点に対応する位置ＰＤ４，ＰＤ５，ＰＤ６に配置された溶接トーチ２の姿勢は、滑らかに変化している。第１の参考例では、移動経路９１を溶接する時の溶接トーチ２の姿勢は、矢印１５４に示すように、揺れることが無く、滑らかに変化することが分かる。
【００８１】
図２３に、第２の参考例におけるワークおよび溶接トーチの斜視図を示す。第２の参考例においては、第１の参考例の移動点ＴＡ１，ＴＡ２，ＴＡ３の位置を作業者が修正して移動点ＴＢ１，ＴＢ２，ＴＢ３の位置が設定されている。第２の参考例においては、移動経路９２に沿って溶接を実施する。溶接トーチ２は、位置ＰＢ１から位置ＰＢ２を通って位置ＰＢ３まで移動する。図１５に示す第１の参考例と比較して、移動経路９２は移動経路９１からずれている。
【００８２】
図２４に、第２の参考例における基準方向を説明する斜視図を示す。移動経路９２は、水平方向に対して傾いている。基準方向は、移動点ＴＢ１，ＴＢ２，ＴＢ３を通る平面９６に基づいて設定される。基準方向は、平面９６の法線方向が設定される。基準方向設定部５１は、平面９６上に基準座標系８０を設定する。基準方向設定部５１は、基準座標系８０のＺ軸の方向を基準方向に設定する。図２３および図２４を参照して、移動経路９２は、水平方向に対して傾斜している。平面９６は水平方向に対して傾斜しているために、基準方向は鉛直方向からずれている。
【００８３】
図２５に、始点、中継点および終点における溶接トーチの姿勢を説明する第１の図を示す。図２５は、図２４の矢印１５２の方向から見たときの正面図である。図２６に、始点、中継点および終点における溶接トーチの姿勢を説明する第２の図を示す。図２６は、図２４の矢印１５３の方向から見たときの側面図である。図２５および図２６では、それぞれの溶接トーチ２のツール先端点を基準座標系８０の原点に配置している。
【００８４】
図２５および図２６を参照して、基準座標系８０のＺ軸の方向が鉛直方向に対して傾いている。位置ＰＢ１、位置ＰＢ２、位置ＰＢ３において、基準方向に関する溶接トーチ２の軸線の方向の角度（溶接トーチ２の仰角）が互いに異なる。
【００８５】
図２７に、基準方向または鉛直方向に対する溶接トーチの角度の説明図を示す。図２８に、溶接トーチの位置に対する溶接トーチの角度のグラフを示す。図２７および図２８を参照して、基準方向となる基準座標系８０のＺ軸の方向は、鉛直方向に対して傾いている。位置ＰＢ２における溶接トーチ２の軸線２ａと基準方向とのなす角度θｒは、位置ＰＢ１における軸線２ａと基準方向とのなす角度θｒよりも大きくなる。さらに、位置ＰＢ３における軸線２ａと基準方向とのなす角度θｒは、位置ＰＢ２における軸線２ａと基準方向とのなす角度θｒよりも大きくなる。位置ＰＢ１から位置ＰＢ３に向かって、溶接トーチ２の軸線２ａと基準方向とのなす角度は、徐々に増加している。
【００８６】
第２の参考例においても、補間点角度算出部５４は、移動点ＴＢ１，ＴＢ２，ＴＢ３における溶接トーチ２の基準方向に関する方位角および仰角に基づいて、それぞれの補間点における溶接トーチ２の方位角および仰角を算出する。補間点角度算出部５４は、移動点ＴＢ１，ＴＢ２，ＴＢ３における基準方向に関する溶接トーチ２の角度を補間することにより、補間点における基準方向に関する溶接トーチ２の角度を算出する。
【００８７】
この制御にて補間点における溶接トーチ２の仰角を算出すると、図２８に示すように、移動点ＴＢ１，ＴＢ２，ＴＢ３同士の間の区間において、鉛直方向に対する溶接トーチ２の軸線２ａの角度θｖが単調に増加せずに、上がったり下がったりする。角度θｖは、位置ＰＢ１から位置ＰＢ２の間で増加した後に減少している。また、角度θｖは、位置ＰＢ２から位置ＰＢ３の間においても増加した後に減少している。
【００８８】
図２９に、第２の参考例において、溶接トーチの姿勢を説明する斜視図を示す。図３０に、第２の参考例において、溶接トーチの姿勢を説明する他の斜視図を示す。図２９および図３０を参照して、第２の参考例においては、それぞれの移動点において、溶接トーチ２は、基準方向に関する方位角に加えて基準方向に関する仰角が変化している。この結果、矢印１５５に示すように、溶接トーチ２における予め定められた点の軌跡が揺れる。すなわち、位置ＰＢ１から位置ＰＢ３まで溶接する時に、溶接トーチ２の姿勢は揺らいでしまう。このために、教示作業において多くの教示点を設定して、教示点同士の間隔を短くする必要が有る。
【００８９】
このように、円弧動作を実施する場合に、始点、中継点および終点を通る平面の法線方向を基準方向に設定した場合には、移動点同士の間の区間で溶接トーチの姿勢が揺れる場合がある。溶接を行っている期間中に溶接トーチの姿勢が揺れると、溶接の品質が低下する虞がある。
【００９０】
図５を参照して、これに対して、本実施の形態における制御では、移動点ＴＢ１，ＴＢ２，ＴＢ３を通る平面９６に依存しない基準座標系７８が設定されている。図１０および図１１を参照して、作業者が移動点の位置を修正した場合にも、溶接トーチ２が移動点ＴＢ１，ＴＢ２，ＴＢ３同士の間で揺れることを抑制することができる。または、それぞれの移動点において、基準方向に関する仰角が異なる場合においても、移動点同士の間の区間で、溶接トーチの姿勢が揺れることを抑制することができる。この結果、作業者が移動点の位置を修正した場合に、安定した作業ツールの姿勢にて作業を行うことができる。
【００９１】
このために、作業者は、教示作業において多くの教示点を設定する必要がなく、作業効率が向上する。また、作業者は、教示点の位置と、作業ツールの姿勢に関する基準方向とを分離して設定することができる。このために、作業者は、容易に教示点の設定を行うことができて、教示作業の作業効率が向上する。例えば、作業者が基準方向を設定すると教示点の位置を修正しても基準方向は変化しない。作業者は、基準方向を修正することにより、作業ツールの姿勢の修正を行うことができる。特に、作業者は、始点、中継点および終点により定められる平面を見ることができない。このために、移動点同士の間における作業ツールの姿勢を推定することは難しい。しかしながら、本実施の形態の制御においては、基準方向が固定されるために、移動点同士の間における作業ツールの姿勢を容易に推定することができる。
【００９２】
更に、本実施の形態の制御においては、動作プログラムに基準方向を設定する指令を挿入することにより、容易に基準方向を切り替えることができる。例えば、参考例１および参考例２における始点、中継点、および終点を通る平面の法線方向を基準方向に設定する制御と、本実施の形態の基準方向を３点の位置に関係なく定める制御とを１つの動作プログラムにおいて実施しても構わない。
【００９３】
次に、ワークを動かす機械を備える第２のロボット装置について説明する。前述の実施の形態においては、ワーク８１，８２は、架台８９に固定されている。すなわちワーク８１，８２は動かない。本実施の形態の制御は、この形態に限られず、ワークを動かす機械を備えるロボット装置に適用することができる。ロボットおよび機械は、協調して動作するように形成されている。本実施の形態においては、ロボットと協調動作を行う機械としてワークを回転するポジショナを例示して説明する。
【００９４】
図３１に、本実施の形態のポジショナのワークを把持する部分の第１の拡大斜視図を示す。本実施の形態の第２のロボット装置１０は、ロボット１に加えてポジショナ６を備える。ポジショナ６は、ワーク８３を保持するチャック３２を含む。図３１に示す例では、ワーク８３は、円筒状の部材である。第２のロボット装置１０による第１の制御では、ワーク８３に対して円筒状のワーク８４を溶接にて固定する。ポジショナ６は、チャック３２を支持する回転板３１を含む。回転板３１は、矢印１５６に示す向きに回転する。回転板３１が回転することにより、ワーク８３は、ワーク８３の軸線８３ａの周りに回転する。
【００９５】
図３２に、ポジショナのワークを把持する部分の第２の拡大斜視図を示す。図３３に、ポジショナのワークを把持する部分の第３の拡大斜視図を示す。図３１から図３３は、溶接を行っている時のワーク８３の向きおよび溶接トーチ２の位置および姿勢を時間の経過とともに示している。溶接を実施している期間中には、回転板３１が矢印１５６に示す向きに回転する。ワーク８４が回転する動作に伴って、溶接トーチ２が溶接する部分に対向するように、ロボット１の位置および姿勢が変化する。
【００９６】
図３４に、本実施の形態における第２のロボット装置のブロック図を示す。第２のロボット装置１０において、ロボット制御装置４の構成、ロボット１の構成、溶接制御装置５の構成、溶接トーチ２の構成、およびワイヤー供給装置１８の構成は、第１のロボット装置９と同様である（図２を参照）。
【００９７】
第２のロボット装置１０は、ポジショナ６と、ポジショナ６を制御するための機械制御装置としてのポジショナ制御装置７とを備える。ポジショナ６は、回転板３１を駆動するための回転板駆動モータ２４を有する駆動装置を含む。ポジショナ６は、回転板３１の回転位置を検出するための位置検出器２５を含む。位置検出器２５の出力は、ポジショナ制御装置７に送出される。
【００９８】
ポジショナ制御装置７は、ＣＰＵ、ＲＡＭ、およびＲＯＭ等を含む演算処理装置（コンピュータ）を含む。ポジショナ制御装置７は、ポジショナ６の制御に関する情報を記憶する記憶部３３を含む。記憶部３３には、動作プログラム３６が記憶されている。ポジショナ制御装置７は、動作プログラム３６に基づいて、ポジショナ６の動作指令を送出する動作制御部３４を含む。
【００９９】
ポジショナ制御装置７は、回転板駆動モータ２４に電気を供給する電源を含む回転板駆動部３５を含む。回転板駆動部３５は、動作制御部３４からの指令に基づいて、回転板駆動モータ２４に電気を供給する。ポジショナ制御装置７は、ロボット制御装置４と互いに通信が可能なように形成されている。ロボット制御装置４は、ポジショナ制御装置７から回転板３１の回転位置を受信して、ロボット１の位置および姿勢を制御する。または、ポジショナ制御装置７は、ロボット制御装置４からの指令を受けて、回転板３１の回転位置を制御しても構わない。
【０１００】
図３５に、第２のロボット装置の第１の制御にて溶接を行うワークの拡大斜視図を示す。ワーク８３の表面には、リーダ座標系７３が設定されている。リーダ座標系７３は、協調動作を行うときに設定される座標系である。リーダ座標系７３は、ワーク８３に固定されて、ワーク８３と共に移動する。リーダ座標系７３の原点は、ワーク８３における任意の位置に設定することができる。本実施の形態においては、リーダ座標系７３の原点は、ワーク８３の表面に配置されている。本実施の形態のリーダ座標系７３は、Ｚ軸の方向がワーク８４の軸線８４ａの方向と平行になるように配置されている。
【０１０１】
作業者は、教示作業において、ロボット１の位置および姿勢と、ポジショナ６の回転位置とを調整しながら動作プログラムにおける移動点を設定することができる。例えば、作業者は、教示作業により、移動点ＴＡ１，ＴＡ２，ＴＡ３を設定することができる。
【０１０２】
溶接トーチ２の姿勢を定めるための基準方向に関しては、第１の参考例と同様の方法を採用することができる。リーダ座標系７３において、移動点ＴＡ１，ＴＡ２，ＴＡ３を通る平面の法線方向を基準方向に設定することができる。基準方向に関する溶接トーチ２の仰角は、移動点ＴＡ１，ＴＡ２，ＴＡ３において同一になる。この場合には、移動点同士の間の区間において、溶接トーチ２の姿勢が揺れる現象は発現しない。
【０１０３】
ところが、作業者が、移動点ＴＡ１，ＴＡ２，ＴＡ３の位置を、移動点ＴＢ１，ＴＢ２，ＴＢ３の位置に変更する場合がある。この場合に、移動点ＴＢ１，ＴＢ２，ＴＢ３を通る平面の法線方向を基準方向に設定すると、移動点同士の間の区間において、溶接トーチ２の姿勢が揺れる現象が発現する場合がある。このような場合に、本実施の形態における円弧動作の制御を実施することができる。
【０１０４】
動作プログラムを生成するまでの工程は、本実施の形態の第１のロボット装置９と同様である。作業者は、円弧動作における始点としての移動点ＴＢ１、中継点としての移動点ＴＢ２、および終点としての移動点ＴＢ３におけるロボット１の位置および姿勢と、ポジショナ６の回転位置を設定する。
【０１０５】
作業者は、動作プログラムにおいて、円弧動作のための基準方向を設定する。ここでの例では、リーダ座標系７３にて基準方向が設定される。作業者は、リーダ座標系７３のＺ軸の方向を基準方向に設定する。すなわち、ワーク８４の軸線８４ａの延びる方向を基準方向に設定する。動作プログラムには、協調制御を実施する指令が付加された円弧動作の指令が記載されている。そして、基準座標系を設定する指令には、基準方向を設定する為のリーダ座標系７３の座標軸が含まれている。
【０１０６】
図３６に、第２のロボット装置における第１の制御のフローチャートを示す。図３４および図３６を参照して、第２のロボット装置１０においては、ワーク８３，８４が回転するために、基準方向はワーク８３，８４と共に回転する。しかしながら、リーダ座標系７３を設定することにより、前述の制御と同様の制御を実施することができる。
【０１０７】
ステップ１３１において、ロボット制御装置４の動作制御部４３は、動作プログラム４６から移動点ＴＢ１，ＴＢ２，ＴＢ３におけるロボット１の位置および姿勢を取得する。また、動作制御部４３は、動作プログラム４６から移動点ＴＢ１，ＴＢ２，ＴＢ３におけるポジショナ６の回転位置を取得する。
【０１０８】
ステップ１３２において、基準方向設定部５１は、始点としての移動点ＴＢ１、中継点としての移動点ＴＢ２、および終点としての移動点ＴＢ３を溶接するときの基準方向を設定する。溶接を実施している期間中に、ワーク８３，８４は回転する。しかしながら、リーダ座標系７３もワーク８２，８３と共に回転する。このために、基準方向は、リーダ座標系にて設定することができる。リーダ座標系７３のＺ軸の方向を基準方向に設定することができる。
【０１０９】
次に、ステップ１２３において、移動点角度算出部５３は、始点、中継点、および終点を溶接するときの基準方向に関する溶接トーチ２の方位角および仰角を算出する。移動点角度算出部５３は、基準方向に関する方位角および仰角をリーダ座標系７３にて算出する。ステップ１２４において、補間点設定部５２は、補間点の個数を設定する。
【０１１０】
次に、ステップ１２５において、補間点設定部５２は、移動点ＴＢ１，ＴＢ２，ＴＢ３を通る円弧状の移動経路を算出する。補間点設定部５２は、移動点ＴＢ１，ＴＢ２，ＴＢ３の位置を補間することにより、移動経路における補間点の位置を算出する。補間点設定部５２は、リーダ座標系７３にて補間点の位置を算出する。
【０１１１】
ステップ１２６において、補間点角度算出部５４は、それぞれの補間点における基準方向に関する溶接トーチ２の角度をリーダ座標系７３にて算出する。すなわち、補間点角度算出部５４は、補間点における溶接トーチ２の方位角および仰角をリーダ座標系７３にて算出する。次に、ステップ１２７において、姿勢算出部５５は、補間点における溶接トーチ２の方位角および仰角に基づいて、補間点におけるロボット１の姿勢をリーダ座標系７３にて算出する。
【０１１２】
ステップ１３３において、姿勢算出部５５は、移動点および補間点におけるリーダ座標系７３にて定められたロボット１の位置および姿勢を、ワールド座標系７１にて定められるロボット１の位置および姿勢に変換する。姿勢算出部５５は、移動点および補間点におけるワールド座標系７１に対するリーダ座標系７３の相対的な位置および相対的な向きに基づいて、リーダ座標系７３の座標値をワールド座標系７１の座標値に変換することができる。
【０１１３】
ステップ１３４において、動作制御部４３は、ロボット１およびポジショナ６を駆動する。動作制御部４３は、ワールド座標系７１にて定められたロボット１の位置および姿勢に基づいてロボット１を制御する。また、動作制御部４３は、ポジショナ制御装置７を介してポジショナ６の回転位置を制御する。
【０１１４】
このように、ロボットがワークを動かす機械と協調動作を実施する場合に、基準方向設定部は、ワークの回転に対応した補間点における基準方向を設定する。そして、基準方向に基づいて補間点におけるロボットの姿勢を算出することができる。
【０１１５】
次に、本実施の形態における第２のロボット装置の第２の制御について説明する。図３７に、第２の制御におけるワークおよび溶接トーチの第１の拡大斜視図を示す。第２の制御においては、円筒状のワーク８５の端面に、平板状のワーク８６を溶接する。
【０１１６】
ワーク８５は、ポジショナ６に支持されている。移動点ＴＡ１，ＴＡ２，ＴＡ３は、例えば教示作業によって設定されている。ポジショナ６は、溶接を行う期間中にワーク８５を矢印１５６に示す向きに回転する。移動点ＴＡ１，ＴＡ２，ＴＡ３の区間を溶接する場合に、溶接トーチ２の位置および姿勢は一定に維持される。すなわち、ロボット１の位置および姿勢は変化させずに、ポジショナ６がワーク８５を回転することにより、移動点ＴＡ１，ＴＡ２，ＴＡ３を含む移動経路に沿って溶接する。
【０１１７】
ところで、２つのワーク８５，８６を溶接にて固定する場合には、始めに、２つのワーク８５，８６が接触する点において予備的な溶接を実施する場合がある。この作業により、２つのワーク８５，８６の相対的な位置が固定される。そして、予備的な溶接の後に主たる溶接を実施する。予備的な溶接を実施することにより、溶接部８７が形成される。
【０１１８】
図３８に、予備的な溶接により生成された溶接部の拡大斜視図を示す。図３９に、予備的な溶接により形成された溶接部の側面図を示す。図３９は、図３８におけるリーダ座標系７３のＸ軸の負側の方向から見た時の側面図である。ワーク８５，８６は、ポジショナ６により、水平方向に延びるワーク８５の軸線８５ａの周りに回転する。溶接部８７は、ツール先端点が移動する移動経路上に形成される。溶接部８７は、移動経路から突出するように形成される。このために、主たる溶接を実施する時には、溶接部８７を避けるように移動点を設定する必要がある。例えば、溶接部８７の外縁に沿って溶接を実施する必要が有る。この場合に、ロボット１の位置および姿勢を変更する必要があるために、本実施の形態における制御を実施することができる。
【０１１９】
第２のロボット装置の第２の制御において、作業者は、円弧動作を実施するときの基準方向を設定するための座標系として、ワールド座標系７１を用いることができる。本実施の形態においては、ワールド座標系７１は、Ｚ軸の方向が鉛直方向と平行になるように設定されている。なお、ワールド座標系７１の代わりにユーザ座標系を設定しても構わない。また、作業者は、補間点の位置を算出するための座標系として、ワーク８５の表面にリーダ座標系７３を設定することができる。
【０１２０】
溶接部８７の周りには、始点となる移動点ＴＢ１と、中継点となる移動点ＴＢ２と、終点となるＴＢ３とが設定される。ここで、図３７に示す移動点ＴＡ１，ＴＡ２，ＴＡ３を通る平面を基準面とすると、この基準面はワーク８６の表面と平行になる。この場合に、基準面に垂直な方向を基準方向に設定しても、移動点同士の間において溶接トーチ２の姿勢が揺れることはない。しかしながら、図３８および図３９に示す溶接部８７の周りの移動点ＴＢ１，ＴＢ２，ＴＢ３を通る平面９６を基準面に設定すると、この基準面はワーク８６の表面に対して傾いている。この結果、この基準面に垂直な方向を基準方向に設定すると、溶接トーチ２の姿勢が揺れる現象が発現する。
【０１２１】
このために、第２の制御において、作業者は、円弧動作を行うために移動点ＴＢ１，ＴＢ２，ＴＢ３とは独立した基準方向を設定することができる。基準方向としては、ワールド座標系７１のＺ軸の方向を設定することができる。第２の制御においては、ポジショナ６によりワーク８５，８６が回転する時に基準方向は回転しない。また、動作プログラムには、協調動作の指令が付加された円弧指令が記載されている。動作プログラムには、円弧動作のための基準方向が設定されている。
【０１２２】
図３６を参照して、第２の制御では、第１の制御と同様の制御を実施することができる。ここで、第２の制御においては、溶接トーチ２の姿勢を算出するために、リーダ座標系を用いずにワールド座標系７１を用いて第１の制御と同様の制御を実施することができる。
【０１２３】
ステップ１３２において、基準方向設定部５１は、ワールド座標系７１により設定された基準方向を取得する。ステップ１２３において、移動点角度算出部５３は、始点、中継点、および終点を溶接するときの基準方向に関する溶接トーチ２の方位角および仰角をワールド座標系７１にて算出する。
【０１２４】
ステップ１２５において、補間点設定部５２は、移動点ＴＢ１，ＴＢ２，ＴＢ３の位置を補間することにより、移動経路における補間点の位置を算出する。この時に、補間点設定部５２は、リーダ座標系７３にて補間点の位置を算出する。
【０１２５】
ステップ１２６において、補間点角度算出部５４は、補間点における基準方向に関する溶接トーチ２の角度をワールド座標系７１にて算出する。すなわち、補間点における溶接トーチ２の方位角および仰角をワールド座標系７１にて算出する。ステップ１２７において、姿勢算出部５５は、補間点における溶接トーチ２の角度に基づいて、補間点におけるロボット１の姿勢をワールド座標系７１にて算出する。
【０１２６】
ステップ１３３において、姿勢算出部５５は、リーダ座標系７３にて定められる補間点の位置（ロボット１の位置）を、ワールド座標系７１にて定められる補間点の位置（ロボット１の位置）に変換する。動作制御部４３は、ワールド座標系７１にて定められたロボット１の位置および姿勢に基づいて、ロボット１を制御する。その他の制御は、第１の制御と同様である。
【０１２７】
このように、本実施の形態の制御は、ロボットとワークを回転する機械とが協調動作を行う制御に適用することができる。第２のロボット装置の第１の制御および第２の制御においては、第１のロボット装置と同様に、移動点同士の間において作業ツールの姿勢が揺れることを抑制することができる。
【０１２８】
協調動作においては、ワークを把持する機械がロボットと同期して駆動される。本実施の形態の協調動作においては、基準方向をワーク上に配置している。または、基準方向を固定している。参考例のように、始点、中継点および終点の３点を通る平面に垂直な方向を基準方向に設定する場合には、基準方向が大きく変化する。このために、移動点同士の間の区間において作業ツールの姿勢を推定することが難しい。しかしながら、本実施の形態においては、移動点の位置に関わらずに基準方向が設定されているために、移動点同士の間におけるロボットの姿勢を容易に推定することができる。
【０１２９】
また、協調動作を行う場合に、補間点におけるロボットの位置および姿勢のうち少なくとも一方は、リーダ座標系を用いて算出することが好ましい。この制御により、本実施の形態の円弧動作の制御を容易に実施することができる。
【０１３０】
上記の実施の形態においては、ロボットと協調動作を行う機械として、ポジショナを例示しているが、この形態に限られない。ロボットと協調動作を行う機械としては、ワークを動かす任意の機械を採用することができる。例えば、ワークを動かす機械として、ロボットを採用しても構わない。このような２台のロボットが協調動作を行う場合にも、上記と同様の制御を実施することができる。
【０１３１】
その他の第２のロボット装置の構成、作用および効果は、本実施の形態における第１のロボット装置と同様であるので、ここでは説明を繰り返さない。
【０１３２】
本実施の形態のロボットは、６個の駆動軸を有するが、この形態に限られない。任意の機構にて位置および姿勢を変更するロボットを採用することができる。また、本実施の形態の作業ツールは、溶接を行う溶接トーチであるが、この形態に限れられない。作業者は、ロボット装置が行う作業に応じた作業ツールを選定することができる。例えば、接着剤を塗布する作業ツールまたはレーザ光にてワークを切断する作業ツール等を採用することができる。
【０１３３】
上述のそれぞれの制御においては、機能および作用が変更されない範囲において適宜ステップの順序を変更することができる。
【０１３４】
上記の実施の形態は、適宜組み合わせることができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、特許請求の範囲に示される実施の形態の変更が含まれている。
【符号の説明】
【０１３５】
１    ロボット
２    溶接トーチ
４    ロボット制御装置
６    ポジショナ
９，１０    ロボット装置
４２    記憶部
４３    動作制御部
４６，４６ａ，４６ｂ    動作プログラム
５１    基準方向設定部
５２    補間点設定部
５３    移動点角度算出部
５４    補間点角度算出部
５５    姿勢算出部
７１    ワールド座標系
７３    リーダ座標系
７８，７９，８０    基準座標系
８１〜８６    ワーク
９５，９６    平面
ＰＢ１，ＰＢ２，ＰＢ３    位置
ＰＣ１〜ＰＣ６    位置
ＰＤ１〜ＰＤ６    位置
ＴＢ１〜ＴＢ３    移動点
ＴＣ２，ＴＣ５    補間点
ＴＤ２，ＴＤ５    補間点
【図１】
2020049611.tif 000003
【図２】
2020049611.tif 000004
【図３】
2020049611.tif 000005
【図４】
2020049611.tif 000006
【図５】
2020049611.tif 000007
【図６】
2020049611.tif 000008
【図７】
2020049611.tif 000009
【図８】
2020049611.tif 000010
【図９】
2020049611.tif 000011
【図１０】
2020049611.tif 000012
【図１１】
2020049611.tif 000013
【図１２】
2020049611.tif 000014
【図１３】
2020049611.tif 000015
【図１４】
2020049611.tif 000016
【図１５】
2020049611.tif 000017
【図１６】
2020049611.tif 000018
【図１７】
2020049611.tif 000019
【図１８】
2020049611.tif 000020
【図１９】
2020049611.tif 000021
【図２０】
2020049611.tif 000022
【図２１】
2020049611.tif 000023
【図２２】
2020049611.tif 000024
【図２３】
2020049611.tif 000025
【図２４】
2020049611.tif 000026
【図２５】
2020049611.tif 000027
【図２６】
2020049611.tif 000028
【図２７】
2020049611.tif 000029
【図２８】
2020049611.tif 000030
【図２９】
2020049611.tif 000031
【図３０】
2020049611.tif 000032
【図３１】
2020049611.tif 000033
【図３２】
2020049611.tif 000034
【図３３】
2020049611.tif 000035
【図３４】
2020049611.tif 000036
【図３５】
2020049611.tif 000037
【図３６】
2020049611.tif 000038
【図３７】
2020049611.tif 000039
【図３８】
2020049611.tif 000040
【図３９】
2020049611.tif 000041