説明

多軸ロボット及びその速度制御装置

【課題】多軸ロボットの表面部位の移動速度を適正に規制しつつもその移動速度をなるべく高くする。
【解決手段】基台2に連設された複数の連結部材3〜8の先端にツール部材9を取り付けてなり、基台2及び複数の連結部材3〜8が互いに相対回転可能な多軸ロボット1であって、ツール部材9の移動時に各回転軸A1〜A6の角速度を制御する速度制御装置を備え、速度制御装置が、複数の連結部材3〜8及びツール部材9において予め設定された複数の表面部位の最高移動速度が所定の制限移動速度となるように当該回転軸の角速度を求める制御を実行する構成となっている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は各種作業用のツール部材を取り付けてなる多軸ロボットに関し、より詳しくは、表面部位の移動速度を所定速度以下に規制するよう動作する多軸ロボット及びその速度制御装置に関する。
【背景技術】
【0002】
多軸ロボットは、例えば搬送作業、塗装作業又は溶接作業等の自動化のため、生産分野において広く利用され、その先端部位には各種作業用のツール部材が取り付けられる。多軸ロボットは各回転軸周りの回転を互いに独立して行い得るよう構成され、各回転軸の回転位置の制御によりツール部材を所望位置に所望姿勢で停止させ、各回転軸の角速度の制御によりツール部材を所望経路に沿って所望速度で移動させることができる。
【0003】
多軸ロボットには多様な動作モード、例えばティーチモード、チェックモード及びリピートモード等がある。ティーチモードは移動開始位置及び移動終了位置を制御装置側に教示するための動作モードであり、このモードではロボットをマニュアル操作により動作させる。チェックモードは、ティーチモードで教示した位置間の移動が適正に行われ得るか否かをチェックするための動作モードであり、これら位置間の移動を予め定めた動作計画に従って自動的に行わせる。リピートモードは、チェックを終了して実用に供する際に使用される動作モードであり、このモードではロボットを自動的且つ継続的に動作させる。
【0004】
ティーチモード及びチェックモードは、実用に供する前に実行される試験的な動作モードであるので、これら動作モードの実行中には多軸ロボットの表面部位の移動速度を所定の制限移動速度以下に規制することが好ましい。このため、従来、これら動作モードの実行中に多軸ロボットがどのような姿勢になっていてもツール部材の移動速度が制限移動速度以下となるような回転軸の許容角速度を予め設定しておき、これら動作モードでロボットが動作している場合の回転軸の角速度をこの許容角速度以下に規制する制御が行われている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平9−193060号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、このような許容角速度が設定されていると、多軸ロボットの姿勢によっては表面部位の移動速度が制限移動速度を大きく下回ることがある。そのため、動作開始位置及び動作終了位置の教示や、ロボットの自動移動のチェックに要する時間が長くなってしまう。また、例えば長尺のツール部材が取り付けられた場合、ロボットの先端部位の移動速度が制限移動速度以下に規制されていても、ツール部材の端点の移動速度が制限移動速度を超えるおそれがある。
【0007】
そこで本発明は、多軸ロボットの表面部位の移動速度を適正に規制しつつもその移動速度をなるべく高くすることを目的としている。
【課題を解決するための手段】
【0008】
本発明はかかる事情に鑑みてなされたものであり、本発明に係る多軸ロボットは、基台に連設された複数の連結部材の先端にツール部材を取り付けてなり、前記基台及び前記複数の連結部材が互いに相対回転可能な多軸ロボットであって、前記ツール部材の移動時に各回転軸の角速度を制御する速度制御装置を備え、前記速度制御装置が、前記複数の連結部材及び前記ツール部材において予め設定された複数の表面部位の移動速度のうち最高移動速度が所定の制限移動速度となるような当該回転軸の角速度を求めることを特徴としている。
【0009】
このような構成とすることにより、ロボットの移動時に各回転軸の角速度を求めるに際し、複数の表面部位を考慮した上でこれら表面部位の最高移動速度が制限移動速度となるようにしている。そのため、表面部位の移動速度を適正に規制した上でロボットの動作性をなるべく高くすることができる。なお、移動速度が制限移動速度以下となるよう考慮される部位は予め定めた複数の表面部位に限られているため、速度制御装置が実行する処理の内容が煩雑になるのを避けることができる。
【0010】
前記予め設定された複数の表面部位に、前記ツール部材の中心位置、及び前記ツール部材が取り付けられる連結部材の中心位置が含まれていてもよい。また、前記予め設定された複数の表面部位に、前記ツール部材の1以上の端点が含まれていることが好ましい。これにより、ツール部材として例えば長尺のものや、突出部分を有した特異な形状のものを取り付けた場合においても、このツール部材も含めた表面部位の全てを制限移動速度以下に制限することができる。また、ツール部材が折り畳まれたような姿勢となっているときには、連結部材の中心位置を制限移動速度で移動させることができ、ロボットの動作性が悪くなるのを避けることができる。
【0011】
予め設定された前記複数の表面部位に、何れかの回転軸周りに回転する部材を当該回転軸方向に見たときに当該回転軸からの距離が最も大きくなる表面部位が含まれていることが好ましい。本構成によれば、ツール部材がある回転軸周りに回転する部材の表面部位よりも回転軸寄りに位置する場合であっても、この表面部位の移動速度を制限移動速度以下に規制することができる。
【0012】
前記複数の連結部材は、前記基台に対して第1回転軸周りに回転可能に連結された第1の連結部材と、前記第1の連結部材に対して第2回転軸周りに回転可能に連結された第2の連結部材と、前記第2の連結部材に対して第3回転軸周りに回転可能に連結された第3の連結部材とを含み、前記第1回転軸に対して予め設定された複数の表面部位に、前記第2及び第3の連結部材のジョイントの表面部位が含まれていることが好ましい。第2回転軸の回転角度位置によっては、第2の連結部材が第1回転軸方向に見て第1の連結部材に対して軸直交方向外側に位置する可能性がある。すなわち、第2の連結部材と第3の連結部材のジョイントから第1回転軸までの距離が、ツール部材の端点から第1回転軸までの距離や、第1の連結部材の表面部位から第1回転軸までの距離よりも大きくなる可能性がある。本構成によれば、ジョイントの表面部位が第1回転軸から最遠となる場合においても、このジョイントの表面部位の移動速度を制限移動速度以下に規制することができるようになる。
【0013】
前記第1の連結部材と、前記ジョイントとにそれぞれ揺動可能に連結されて前記第2の連結部材と平行に並ぶ平行部材を備え、前記第1回転軸の角速度を求めるための複数の表面部位に、前記平行部材と前記ジョイントとの連結部分の表面部位が含まれていてもよい。このような平行部材を備えた場合、第2回転軸の回転角度位置に応じて、ジョイントは、第1回転軸に対して軸直交方向外側に位置することもあれば、軸直交方向内側に位置することもある。本構成によれば、平行部材とジョイントとの連結部分が、ジョイントよりも第1回転軸から軸直交方向外側に位置するようなことがあっても、この連結部分の移動速度を制限移動速度以下に規制することができるようになる。
【0014】
また、本発明に係る多軸ロボットの速度制御装置は、基台に連設された複数の連結部材の先端にツール部材を取り付けてなり前記基台及び前記複数の連結部材が互いに相対回転可能に構成された多軸ロボットに備えられ、前記ツール部材の移動時に各回転軸の角速度を制御する多軸ロボットの速度制御装置であって、前記複数の連結部材及び前記ツール部材の表面部位において予め設定された複数の表面部位の移動速度のうち最高移動速度が所定の制限移動速度となるように当該回転軸の角速度を求めることを特徴としている。
【0015】
このような構成とすることにより、ロボットの姿勢に関わらず表面部位の最高移動速度が制限移動速度となり、表面部位の移動速度を適正に規制した上でロボットの動作性をなるべく高くすることができる。なお、移動速度が制限移動速度以下となるように考慮される部位は予め定めた複数の表面部位に限られているため、処理内容が煩雑になるのを避けることができる。
【発明の効果】
【0016】
本発明によれば、多軸ロボットの表面部位の移動速度を適正に規制しつつもその移動速度をなるべく高くすることができる。
【図面の簡単な説明】
【0017】
【図1】本発明の第1実施形態に係る多軸ロボットの一例として示す6軸垂直型ロボットの構造を示す模式図である。
【図2】図1に示すロボットの制御系の構成を示すブロック図である。
【図3】図2に示すコントローラによって実行される第6回転軸の角速度を規制するための処理の概念図である。
【図4】図2に示すコントローラによって実行される第4及び第5回転軸の角速度を規制するための処理の概念図であり、図4(a)が手首装置の模式図、図4(b)が第6回転軸をZ軸として定義した直交三次元座標系のXY平面を示す図、図4(c)は第5回転軸をX軸として定義した直交三次元座標系のYZ平面を示す図である。る。
【図5】図2に示すコントローラによって実行される第1乃至第3回転軸の角速度を求めるための処理の説明図である。
【図6】本発明の第2実施形態に係る多軸ロボットの一例として示す6軸垂直型ロボットの構造を示す模式図である。
【図7】図6に示すロボットにおいて実行される第1回転軸の角速度を規制するための処理の説明図であり、図7(a)が第3ジョイントの主部が第1回転軸から離れて位置する状態、図7(b)が第3ジョイントの突部が第1回転軸から離れて位置する状態をそれぞれ示している。
【図8】本発明の第3実施形態に係る多軸ロボットの一例として示す6軸垂直型ロボットの構造を示す模式図である。
【発明を実施するための形態】
【0018】
以下、これら図面を参照しながら本発明の実施形態について説明する。
【0019】
[第1実施形態]
図1に示すロボット1は、その基台2が作業スペース下側の床面に設置される所謂床置き型の産業用ロボットである。基台2には基端アーム4、先端アーム5、第1ハンド6、第2ハンド7及びアタッチメント8がこの順で連設され、アタッチメント8の先端をなすフランジ面8aに各種作業用のツール9が取り付けられる。ツール9には、例えば搬送作業用の把持部材又は吸着部材、塗装作業用のガン、及び溶接作業用のトーチ等が含まれ、フランジ面8aには作業内容に応じて適宜選択されたツール9が着脱可能に取り付けられる。ここではツール9がフランジ面8aに取り付けられると、ツール9はアタッチメント8に対して相対変位しないものとする。
【0020】
基台2からアタッチメント8までの7つの部材2〜8は互いに相対回転可能に連結されている。つまり、基台2と旋回台3との連結部である第1ジョイントJT1において旋回台3の基台2に対する第1回転軸A1周りの回転が許容され、旋回台3の上端部と基端アーム4の一端部との連結部である第2ジョイントJT2において基端アーム4の旋回台3に対する第2回転軸A2周りの回転が許容され、基端アーム4の他端部と先端アーム5の一端部との連結部である第3ジョイントJT3において先端アーム5の基端アーム4に対する第3回転軸A3周りの回転が許容される。また、先端アーム5の他端部と第1ハンド6の一端部との連結部である第4ジョイントJT4において第1ハンド6の先端アーム5に対する第4回転軸A4周りの回転が許容され、第1ハンド6の他端部と第2ハンド7の一端部との連結部である第5ジョイントJT5において第2ハンド7の第1ハンド6に対する第5回転軸A5周りの回転が許容され、第2ハンド7の他端部とアタッチメント8の端部との連結部である第6ジョイントJT6においてアタッチメント8の第2ハンド7に対する第6回転軸A6周りの回転が許容される。
【0021】
基台2が床面に適正に設置されると、第1回転軸A1は鉛直に指向し、第2及び第3回転軸A2,A3はそれぞれ水平に指向する。第4回転軸A4は第3回転軸A3と直交方向であって先端アーム5の延在方向に指向し、第5回転軸A5は第4回転軸A4と直交方向に指向し、第6回転軸A6は第5回転軸A5と直交方向に指向している。本実施形態では、後述するように第3回転軸A3が第4回転軸A4と交差し、第4回転軸A4が第5回転軸A5と交差し、第5回転軸A5が第6回転軸A6と交差している場合を例示する。また、第1回転軸A1が第2回転軸A2と捩れの関係にある場合を例示するが、これら両軸A1,A2は互いに交差していてもよい。
【0022】
第1ハンド6、第2ハンド7及びアタッチメント8はツール9に近い側に設けられる部材であり、これらはツール9の微細な動作を行わせるための構造体10(以下これを「手首装置」と呼ぶ)をなしている。第1乃至第3回転軸A1〜A3は、ツール9を手首装置10とともに水平旋回させたり揺動させたりする回転軸であり、ロボット1の所謂主軸をなしている。第4乃至第6回転軸A4〜A6は、手首装置10に設定される回転軸であり、所謂RBR型の手首軸をなしている。
【0023】
第1乃至第6ジョイントJT1〜JT6にはそれぞれ第1乃至第6サーボモータM1〜M6が設けられており、各サーボモータM1〜M6が動作することによってこれに対応するジョイントJT1〜JT6において許容される各回転軸A1〜A6周りの回転が行われる。各サーボモータM1〜M6は互いに独立して動作可能であり、各回転軸A1〜A6周りの回転を互いに独立して行うことによりアタッチメント8に取り付けたツール9を任意の位置及び姿勢に任意の経路に沿って移動させることができる。
【0024】
図2は図1に示すロボット1の制御系の構成を示すブロック図である。以降ではロボット1の構造的な構成要素には図1の参照符号を付して説明する。図2に示すコントローラ15は、所定の制御モードの中から現に設定されているモードに基づいて各サーボモータM1〜M6の駆動制御を行い、これによりツール9を適宜移動させる制御を実行する。この制御モードには、例えば、ロボット1の移動終了位置をコントローラ15に教示して記憶させるため、オペレータがロボット1をマニュアル操作で動作させるティーチモード、ティーチモードで教示された位置間での自動的な移動が適正に行われ得るか否かをチェックするため、動作計画に従ってロボット1を自動的に動作させるチェックモード、チェック終了後にロボット1を実用に供するため、ロボット1を自動的且つ継続的に動作させるリピートモード等が含まれる。
【0025】
そして、コントローラ15は、サーボモータM1〜M6の駆動制御を行うための機能ブロックとして、ロボット動作演算部16及び制御部17を有している。また、コントローラ15はティーチペンダント等の外部装置30と接続可能となっており、オペレータは、外部装置30を利用することにより、例えばティーチモード及びチェックモードの実行開始指令の入力、ティーチモードの実行中におけるロボット1の動作のマニュアル操作、ティーチモードの実行中における移動開始位置及び移動終了位置の入力などを行うことができる。
【0026】
ロボット動作演算部16はCPU20、メモリ21、入出力部22、通信部23及びパワーシーケンス部24を有し、外部装置30は入出力部22に接続されることによってコントローラ15と通信可能となる。制御部17は通信部25、CPU26、メモリ27及びアンプ28を有しており、通信部25においてロボット動作演算部16と通信可能となっている。アンプ28は各サーボモータM1〜M6に個別に設けられ、各アンプ28は対応する1つのサーボモータと接続されている。
【0027】
ティーチモードの実行中、オペレータは外部装置30において、各回転軸A1〜A6周りの回転を行うモードである「各軸モード」と、ツール9を所定の直交三次元座標系によって定義される軸方向に直進運動させたり各軸周りに回転運動させたりするモードである「直交座標系モード」とを切り替え可能となっている。
【0028】
「各軸モード」の設定時には、オペレータの操作に応じて、外部装置30から、ある回転軸周りに所定回転方向に回転させる指令が入出力部22に入力される。制御部17のCPU26は制御時間(例えば10msec)毎に入出力部22に入力される指令に基づいて、制御時間が経過する間における当該回転軸周りの目標回転変位量を算出する。この目標回転変位量は、制御時間と予め定められた制限移動速度(例えば250mm/s) 等から求まる。そして、この目標回転変位量に基づいて当該回転軸に対応するサーボモータの動作量の指令値を演算し、これをアンプ28に出力する。アンプ28は対応するサーボモータM1〜M6に指令値に応じた電流を供給し、これによりサーボモータが制御時間毎に指令値に準じた動作量だけ動作する。
【0029】
「直交座標系モード」の設定時には、ツール9の中心位置(所謂TCP,図3参照)を原点とした直交三次元座標系(例えば所謂ツール座標系)によって定義される3つの軸各々の向きにツール9を直進運動させることができるとともに、これら3つの軸各々を中心としてツール9を回転運動させることができ、オペレータの操作に応じて外部装置30から直進運動又は回転運動させる指令が入出力部22に入力される。ロボット動作部16のCPU20は制御時間毎に入出力部22に入力される指令に基づいて、ツール9がこの制御時間の経過後にツール9が位置すべき目標位置を算出する。この目標位置は、制御時間と予め定められたツール9の制限移動速度等から求まる移動距離に基づいて算出され、コントローラ15が演算可能なようにツール座標系において定義された座標データという形で算出される。通信部23は目標位置の座標データを制御部17に与える。制御部17のCPU26は目標位置の座標データの逆変換処理を行い、制御時間の経過後にツール9を目標位置まで移動させるために必要となる各回転軸A1〜A6の目標回転位置を算出する。そして、目標回転位置と現在の回転位置との偏差に基づき、各回転軸A1〜A6を制御時間の経過後に目標回転位置まで回転させるために必要となる各サーボモータM1〜M6の動作量の指令値を演算し、これを各アンプ28に出力する。アンプ28が対応するサーボモータM1〜M6に指令値に応じた電流を供給することにより、各サーボモータM1〜M6が制御時間毎に指令値に準じた動作量だけ動作し、ツール9が制御時間毎に目標位置まで直進する。
【0030】
なお、各軸モードでは複数の回転軸周りの回転を同時に行わせることも可能であり、直進モードでは2以上の直進運動や回転運動を同時に行わせることも可能である。このような場合の各サーボモータM1〜M6の駆動制御も、前述したものに準じて実行される。
【0031】
そして、オペレータは、ロボット1が所望する移動終了位置に達すると、外部装置30を利用してその位置を移動終了位置として設定することができる。この設定の指令に基づいてCPU20はメモリ21に移動終了位置を記憶させる。ティーチモードではこの一連の動作を繰り返し行うことが可能であり、メモリ21には1以上の移動終了位置が記憶されることとなる。
【0032】
ティーチモードが終了してチェックモードを開始するに際して、CPU20は移動終了位置同士の間の移動経路を示す情報と、その移動経路に沿った移動速度の情報とを含む動作計画を生成する。典型的にはこの移動速度の最大値が予め定めた制限移動速度(例えば250mm/s)に設定される。
【0033】
チェックモードでロボット1を移動させる場合、ロボット動作部16のCPU20は移動経路の補間処理を行い、この移動経路上に制御時間毎の目標位置を設定する。制御部17のCPU26は、ロボット動作部16より制御時間毎に送られる目標位置の座標データに基づいて前述同様の処理を行い、各サーボモータM1〜M6の動作量の指令値を演算し、これを各アンプ28に出力する。アンプ28が対応するサーボモータM1〜M6に指令値に応じた電流を供給することにより、各サーボモータM1〜M6が制御時間毎に指令値に準じた動作量だけ動作し、ツール9が制御時間毎に目標位置まで移動する。
【0034】
なお、パワーシーケンス部24は、動作計画と無関係の動作(例えばサーボモータM1〜M6の電源投入直後の始動時の動作や、ロボット1の緊急停止時の動作など)を制御する機能ブロックであり、後述する速度規制の処理はティーチモードや通常のロボット1の動作時だけでなくパワーシーケンス部24により制御されるロボット1の動作時に実施されてもよい。
【0035】
コントローラ15は、これら各モードでロボット1を移動させるに際し、ツール9を含めたロボット1のあらゆる表面部位の移動速度が所定の制限移動速度以下となるように各回転軸A1〜A6周りの角速度を規制する制御を実行する。本実施形態では、この速度規制の処理が煩雑になるのを避けるため、予め定められた複数の表面部位に着目し、これら表面部位の全ての移動速度が制限移動速度以下となるようにしている。その上で、ロボット1がどのような姿勢であっても予め定められた複数の表面部位の一つが制限移動速度で移動するようにし、複数の表面部位の最高移動速度を常に制限移動速度で維持するようにしてロボット1の動作性の向上を図っている。ここで制限移動速度とは、オペレータやコントローラ15の設計者が例えば安全規格等で定められた所定の上限値(例えば250mm/s 等)を超えない限りにおいて任意に設定可能な速度である。
【0036】
以下、各回転軸A1〜A6の角速度(すなわち制御時間毎の回転変位量)を規制するための処理について説明する。なお、コントローラ15の各機能ブロック16,17に個別対応してCPU20,26及びメモリ21,27が設けられる場合を例示したが、これらCPU20,26により実行される制御を統括して行う単一のCPUに替えたり、これらメモリ21,27内の各情報やCPUが実行する制御プログラムを一括して記憶する単一のメモリに替えてもよく、以降では便宜上これら複数のCPU及びメモリの区別が無いものとして説明する。つまり、この処理を行うために用いる情報や制御プログラムは何れのメモリ21,27に格納されてもよく、この処理は何れのCPU20,26によって実行されてもよい。また、以降ではコントローラ15の構成要素には図2の参照符号を付して説明する。
【0037】
まず、各軸モードにおける各回転軸A1〜A6の角速度の速度規制の処理について説明する。ここではツール9に近い側である第6回転軸A6から順に説明する。また、6軸ロボットの場合、基台2に設定された所定の位置を原点とする「ベース座標系」、各回転軸A1〜A6上の所定の位置を原点とする「ロボット座標系」、前述したTCPを原点とする「ツール座標系」など、様々な座標系の各々においてロボット1の位置を定義することが可能である。ここでTCPはツール9の所定の位置に設定されるものであり、後述するように本実施形態では先端面の中心位置に設定しているが、その他の任意の位置に設定可能である。なお、第1回転軸A1のロボット座標系を第1のロボット座標系と呼び、以下同様にして各回転軸に付与された序数とそれに対応するロボット座標系の序数とを対応させるものとしている。各座標系は設計データや各回転軸の回転位置に従って互いに変換可能である。そのため、以降の説明に挙げる各座標データを定義する座標系は実施形態の一つを例示したものに過ぎず、その他の座標系において各座標データが定義されていてもよい。
【0038】
図3は第6回転軸A6の角速度を規制する処理の説明図である。図3ではツール9が仮想的に直方体状である場合を例示しており、このツール9の先端中心に前述したTCPを設定している旨を概念的に示している。
【0039】
オペレータは、外部装置30を利用してツール9の形状データを入力し、これをコントローラ15のメモリに記憶させることができる。この形状データは、例えば図3に示すように、オペレータが任意に設定したツール9の端点の位置を示す座標データによって実現される。この座標データは、ツール9をフランジ面8aに取り付けた状態としてフランジ面8aの中心O6を原点とした第6のロボット座標系で定義することも可能であるし、ツール座標系で定義することも可能である。図3では、直方体状であるとしたツール9の8個の頂点をそれぞれ上記端点t1〜t8として設定し、各端点t1〜t8の座標データを第6のロボット座標系で定義してメモリに記憶させた場合を概念的に例示している。ここでは便宜的に、ツール座標系及び第6のロボット座標系のX軸及びY軸がフランジ面8aの面方向を規定しており、ツール座標系のZ軸と第6のロボット座標系のZ軸とが一致しているものとする。つまり、第6回転軸A6はこのZ軸上にあり、ツール座標系と第6のロボット座標系とは、フランジ面8aの中心O6とTCPとの間のZ方向の距離のみに基づいて互いに変換可能であるとする。
【0040】
ツール9の形状データを記憶させた場合、TCPと、8つの端点t1〜t8との合計9箇所の表面部位を考慮して第6回転軸A6の角速度(制御時間毎の回転変位量)が求められる。つまり、これら9箇所の表面部位を第6回転軸A6方向に見たときに第6回転軸A6から各表面部位までの軸直交方向の距離がそれぞれ求められる。言い換えると、9個の表面部位がフランジ面8aと平行な面であるXY平面上に投影され、このXY平面内において点となる第6回転軸A6から9個の表面部位の各々までのXY成分の距離が求められる。そして、求められた9個の距離が互いに比較されて最大値が抽出される。この最大値に対応する表面部位は第6回転軸A6周りの回転が生じたときに最大の移動速度で移動する部位となる。そこでコントローラ15のCPUは、この表面部位の移動速度が制限移動速度となる第6回転軸A6の制御時間当たりの回転変位量θ6(すなわち角速度)を算出する。そして、この回転変位量θ6に基づいて第6サーボモータM6の動作量の指令値を演算する。これにより、第6回転軸A6周りの回転を行わせるに際し、9個の表面部位の全ての移動速度が制限移動速度以下となってそのうちの1つの移動速度が制限移動速度となる。
【0041】
図4は第4及び第5回転軸A4,A5の角速度を規制する処理の説明図である。第5回転軸A5の制御時間当たりの回転変位量の算出には、TCPと、ツール9の各端点と、フランジ面8aの中心O6と、第2ハンド7に設定されている「許容最近部位」q5との合計11個の表面部位が考慮される。
【0042】
この「許容最近部位」とは、ある回転軸周りの回転が生じたときにその回転軸の回転を許容するジョイントに連結された部材の中から基台2に最も近い部材に着目し、その部材を当該回転軸方向に見たときに回転軸から軸直交方向に最も遠位にある表面部位をいう。ここで着目される部材の姿勢は、当該回転軸の回転位置のみに依存して変化し、それよりもツール9側に設定されている回転軸の回転に応じて変化するものではない。従って、当該部材を当該回転軸方向に見たときには、当該回転軸から軸直交方向に最も遠位にある表面部位は当該回転軸の回転位置に関わらず常に同じ部位であり、本書ではこの部位を許容最近部位として定義している。第5回転軸A5に関して言えば、第5ジョイントJT5によって回転が許容される部材7〜9のうち基台2に最も近い部材(すなわち第5ジョイントJT5に直接的に連結された部材6,7のうちツール9側に位置する部材)は第2ハンド7であるが、この第2ハンド7を第5回転軸A5方向に見たときに第5回転軸A5から軸直交方向に最も遠位にある表面部位q5が許容最近部位として設定される。この部位は、ロボット1の設計段階において各部材の寸法が定まることで予め決定しておくことが可能であり、コントローラ15のメモリには動作の事前に予めその位置を示す座標データが記憶される。このように許容最近部位を表面部位として考慮すると、ツール部材9が許容最近部位に対して回転軸寄りに位置する姿勢になっていたとしても、上記着目すべき部材の移動速度を制限移動速度以下に規制することが可能となる。なお、ある回転軸周りに回転する部材のうち最も基台側に位置する部材に、角速度の決定に考慮する表面部位を設定する場合を例示したが、その他の部材にこのような表面部位が設定されていてもよい。
【0043】
この許容最近部位の概念は他の回転軸にも同様にして適用可能である。つまり、第4回転軸A4においては第1ハンド6を第4回転軸A4方向に見たときに第4回転軸A4から最も遠位にある表面部位q4、第3回転軸A3においては先端アーム5を第3回転軸A3方向に見たときに第3回転軸A3から最も遠位にある表面部位q3(図5参照)、第2回転軸A2においては基端アーム3を第2回転軸A2方向に見たときに第2回転軸A2から最も遠位にある表面部位q2(図5参照)、第1回転軸A1においては旋回台3を第1回転軸A1方向に見たときに第1回転軸A1から最も遠位にある表面部位q1(図5参照)がそれぞれ許容最近部位として扱われ得る。
【0044】
なお、ここでは便宜的に第5及び第6回転軸A5,A6が互いに直交するように設定され、第5回転軸A5は第6のロボット座標系のX軸と平行に向くものと仮定する。つまり、第6のロボット座標系が規定するYZ平面は第5回転軸A5の直交平面となる。この場合において、第5及び第6回転軸A5,A6の交点O5を原点として第5のロボット座標系を定義すれば、第6のロボット座標系の原点O6の座標は、交点O5との間のZ方向の距離z5に基づいて、第5のロボット座標系では(0,0,z5)に変換される。
【0045】
コントローラ15は、前述した第6回転軸A6と同様、11個の表面部位を第5回転軸A5方向に見たときにおける第5回転軸A5から各表面部位までの軸直交方向の距離をそれぞれ求める。つまり、11個の表面部位が第5回転軸A5の直交平面であるYZ平面上に投影され、このYZ平面内で点となる第5回転軸A5から11個の表面部位の各々までのYZ成分の距離が求められ、求めた11個の距離が互いに比較されて最大値が抽出され、この最大値に対応する表面部位の移動速度が制限移動速度となる第5回転軸A5の制御時間当たりの回転変位量θ5(すなわち角速度)が算出される。そして、この回転変位量θ5に基づいて第5サーボモータM5の動作量の指令値が演算される。これにより、第5回転軸A5周りの回転を行わせるに際し、11個の表面部位の全ての移動速度が制限移動速度以下となってそのうちの1つの移動速度が制限移動速度となる。
【0046】
なお、第5回転軸A5から許容最近部位q5までのYZ成分の距離は、第5のロボット座標系で定義される許容最近部位q5の座標データを用いて容易に求めることができる。他方、その他の10個の表面部位については、第6のロボット座標系又はツール座標系で定義された座標を第5のロボット座標系に変換する必要がある。これら10個の表面部位のYZ成分の距離の導出に関し、ここではツールの端点の1つtnに着目して説明する。図4(a)に示す端点tnの座標(Xn,Yn,Zn)は第6のロボット座標系で定義されたものとする。図4(b)に示すように、ツール9は第6回転軸A6周り(すなわちZ軸周り)に回転するため、前述した第6回転軸A6周りの回転変位量θ6に基づいてXY平面内を移動する。コントローラ15は、第6のロボット座標系において定義された座標(Xn,Yn,Zn)とこの回転変位量θ6とに基づいて、この回転後の端点tn′の座標(Xn′,Yn′,Zn)を算出する。図4(a)に戻り、次いで、第6のロボット座標系と第5のロボット座標系の各原点O5,O6間のZ方向の距離z5を用い、回転後の端点tn′の座標(Xn′,Yn′,Zn)を、第5のロボット座標系において定義される座標(Xn′,Yn′,Zn+z5)へと変換する。この座標(Xn′,Yn′,Zn+z5)に基づいて、端点tn′の原点O5からのYZ成分の距離dtnが次式より求められる。
【0047】
【数1】

【0048】
この要領で、第5回転軸A5とは独立して第6回転軸A6周りに回転し得るTCP、8つの端点t1〜t8、及びフランジ面8aの中心O6の10個の表面部位について、第5回転軸A5上の原点O5からのYZ成分の距離が求められる。
【0049】
第4回転軸A4の制御時間当たりの回転変位量の算出においても、TCP、ツール9の各端点、フランジ面8aの中心O6、及び第1ハンド6に設定されている許容最近部位q4との合計11個の表面部位が考慮される。
【0050】
なお、ここでは、第4及び第5回転軸A4,A5は互いに交差するよう設定され、第4回転軸A4と第4ジョイントJT4の先端面との交点O4を原点とする直交三次元座標系が第4のロボット座標系として定義されるものとしている。また、この第4のロボット座標系では、図4(a)の記載を基準にして、Y軸上に第4回転軸A4が位置し、ZX平面が第4回転軸A4の直交平面となるものと仮定する。
【0051】
コントローラ15は、前述した第5回転軸A5と同様、11個の表面部位を第4回転軸A4方向に見たときにおける第4回転軸A4から各表面部位までの軸直交方向の距離をそれぞれ求める。つまり、11個の表面部位が第4回転軸A4の直交平面であるZX平面上に投影され、このZX平面内で点となる第4回転軸A4から11個の表面部位の各々までのZX成分の距離が求められ、求めた11個の距離が互いに比較されて最大値が抽出され、この最大値に対応する表面部位の移動速度が制限移動速度となる第4回転軸A4の制御時間当たりの回転変位量(すなわち角速度)が算出される。そして、この回転変位量に基づいて第4サーボモータM4の動作量の指令値が演算される。これにより、第4回転軸A4周りの回転を行わせるに際し、11個の表面部位の全ての移動速度が制限移動速度以下となってそのうちの1つの移動速度が制限移動速度となる。
【0052】
なお、第4回転軸A4から許容最近部位q4までのZX成分の距離は、第4のロボット座標系で定義される許容最近部位q4の座標データを用いて容易に求めることができる。他方、その他の10個の表面部位については、第6のロボット座標系又はツール座標系で定義された座標を第4のロボット座標系に変換する必要がある。これら10個の表面部位のZX成分の距離の導出に関し、ここではツールの端点の1つtmに着目して説明する。図4(a)に示す端点tmの座標(Xm,Ym,Zm)も第6のロボット座標系に設定されたものとする。この端点tmについても、まず、第5回転軸A5の回転変位量θ5を算出したときと同様、第6回転軸A6の回転変位量θ6と距離z5を考慮して第5のロボット座標系に定義される座標(Xm′,Ym′,Zm+z5)へと変換する。次いで、図4(c)に示すように、ツール9は第5回転軸A5周り(すなわちX軸周り)に回転するため、前述した第5回転軸A5周りの回転変位量θ5に基づいてYZ平面内を移動する。コントローラ15は、第5のロボット座標系に定義された座標(Xm′,Ym′,Zm+z5)とこの回転変位量θ5とに基づき、この回転後の端点tm″の座標(Xm′,Ym″,(Zm+z5)′)を算出する。図4(a)に戻り、次いで、この座標(Xm′,Ym″,(Zm+z5)′)に基づいて、端点tm″の原点O4からのZX成分の距離dtmが次式より求められる。
【0053】
【数2】

【0054】
この要領で、第4回転軸A4とは独立して第5及び第6回転軸A5,A6周りに回転し得るTCP、8つの端点t1〜t8及びフランジ面8aの中心O6の10個の表面部位について、第4回転軸A4上の原点O4からのZX成分の距離が求められる。
【0055】
このように手首装置10に設定された第4乃至第6回転軸A4〜A6の各角速度は、TCPと、ツール9の端点t1〜t8の位置と、当該回転軸に対応する許容最近部位及びフランジ面8aの中心O6(第6回転軸A6を除く)とを用いて求められる。他方、所謂ロボット1の主軸をなす第1乃至第3回転軸A1〜A3については、座標変換処理を行う回数や考慮しなければならない他の回転軸の回転変位量が多いため、原則的にTCPと許容最近部位とフランジ面8aの中心O6の3個の表面部位を考慮してその角速度を求めるようにしており、これにより処理が煩雑になるのを避けることができる。なお、これら主軸A1〜A3からツール9の端点t1〜t8までの距離は、手首装置10がどのような姿勢になっていたとしても、TCP又はフランジ面8aの中心O6までの距離と大して変わらない。このためTCP及びフランジ面8aの中心O6を表面部位として考慮してさえいれば、ツール9の端点t1〜t8を考慮しなくとも、主軸A1〜A3の各々を中心とした回転が行われたときにツール9が制限移動速度を超えて移動するような状況は起こりにくいと考えられ、このように処理を簡略化しても問題となりにくい。なお、第1乃至第3回転軸A1〜A3の角速度を求めるための処理を簡略化するためにツール9の端点t1〜t8を表面部位として考慮しない場合には、各回転軸A1〜A3の回転変位量を求めるために用いる制限移動速度を第4乃至第6回転軸A4〜A6の回転変位量を求めるために用いた制限移動速度よりも小さくなるように設定してもよい。勿論、第1乃至第3回転軸A1〜A3の角速度を求めるためにツール9の端点t1〜t8を表面部位として考慮してもよい。
【0056】
図5は第1乃至第3回転軸A1〜A3の角速度を規制する処理の説明図である。第3回転軸A3の角速度の算出においては、TCP、フランジ面8aの中心O6、及び先端アーム5に設定された許容最近部位q3との3個の表面部位が考慮される。そして、前述した第4乃至第6回転軸A4〜A6と同様、3個の表面部位を第3回転軸A3方向に見たときにおける第3回転軸A3から各表面部位までの軸直交方向の距離をそれぞれ求める。つまり、3個の表面部位が第3回転軸A3の直交平面に投影され、この平面内で点となる第3回転軸A3から3個の表面部位の各々までの距離が求められ、求めた3個の距離が互いに比較されて最大値が抽出され、この最大値に対応する表面部位の移動速度が制限移動速度となる第3回転軸A3の制御時間当たりの回転変位量(すなわち角速度)が算出される。そして、この回転変位量に基づいて第3サーボモータM3の動作量の指令値が演算される。これにより、第3回転軸A3周りの回転を行わせるに際し、3個の表面部位の全ての移動速度が制限移動速度以下となってそのうちの1つの移動速度が制限移動速度となる。なお、図5は第3回転軸A3方向に見たロボット1の模式図となっており、TCPの移動速度が制限移動速度となる場合を例示している。前述したように3個の表面部位は互いに異なる座標系において定義されていたとしても、第3回転軸A3の位置を基準にして互いに関連付け可能となっている。
【0057】
第2回転軸A2の角速度の算出においては、TCP、フランジ面8aの中心O6、及び基端アーム4に設定された許容最近部位q2との3個の表面部位が考慮され、第3回転軸A3と同じ要領で第2回転軸A2の制御時間当たりの回転変位量(すなわち角速度)が算出され、この回転変位量に基づいて第2サーボモータM2の動作量の指令値が算出される。これにより、第2回転軸A2周りの回転を行わせるに際し、3個の表面部位の全てが制限移動速度以下となってそのうちの1つの移動速度が制限移動速度となる。なお、図5は第2回転軸A2方向に見たロボット1の模式図となっており、TCPの移動速度が制限移動速度となる場合を例示している。
【0058】
第1回転軸A1の角速度の算出においては、TCP、フランジ面8aの中心O6、及び基端アーム4に設定された許容最近部位q2との3個の表面部位に、更に基端アーム4の他端部(第3ジョイントJT3)の表面部位を加えた合計4個の表面部位が考慮される。第1回転軸A1の制御時間当たりの回転変位量(すなわち)角速度を算出する手順は、考慮する表面部位の個数が1個増えることのみを除き、第2及び第3回転軸A2,A3に関する回転変位量を算出する手順と同じである。このようにして求めた回転変位量に基づいて第1サーボモータM1の動作量の指令値を算出することにより、第1回転軸A1周りの回転を行わせるに際して、4個の表面部位の全てが制限移動速度以下となってそのうちの1つの移動速度が制限移動速度となる。
【0059】
このように第1回転軸A1に限り、角速度の算出のために考慮する表面部位の中に、第1ジョイントJT1により回転が許容される部材3〜9のうち基台3に最も近い旋回台2だけでなく、その先に連結されている基端アーム4の表面部位が含まれている。これは、基端アーム4が基台2からツール9までの部材の中でも特に長尺のものであって、第1回転軸A1方向に見て旋回台3よりも外側に位置し易く、先端アーム5の他端部(第4ジョイントJT4)が基端アーム4の他端部(第3ジョイントJT3)に対して第1回転軸A1寄りに位置しがちであってTCP及びフランジ面8aの中心O6が基端アーム4の他端部よりも第1回転軸A1寄りに位置しがちであるためである。図5では、ロボット1の動作時において一般に見られる基端アーム4と先端アーム5とが折り畳まれている場合を例示しており、TCPよりも基端アーム4の他端部(第3ジョイントJT3)の表面部位が第1回転軸A1から遠位にある場合を例示している。
【0060】
基端アーム4の他端部を第1回転軸A1方向に見たときにおける第1回転軸O1から該他端部までの距離dJT3は、第1回転軸A1から第2回転軸A2までの第1回転軸A1の直交平面内での距離をd1、第2回転軸A2の回転位置をθ2,第2回転軸A2と第3回転軸A3(すなわち基端アーム4の各揺動支軸)との間の直線距離をd2、第3回転軸A3から基端アーム4の他端部の表面部位までの距離をd3とすると、式:dJT3=|d1+d2sinθ2|+d3 で表される。
【0061】
ここで、回転位置θ2は基端アーム4が鉛直に延びる状態を0とし、第1回転軸A1に対して遠ざかる方向に基端アーム4が揺動すると正側に増加し、第1回転軸A1に対して近づく方向に基端アーム4が揺動すると負側に増加するものとしている。図5は回転位置θ2が負の値をとる場合を例示しており、このように回転位置θ2が負であっても距離dJT3を算出できるように上記式では(d1+d2sinθ2)の絶対値をとるようにしている。第1回転軸A1の角速度の算出には、このようにして算出された距離dJT3が、第1回転軸A1から他の3個の表面部位の各々までの距離と比較されることとなる。
【0062】
このように、各回転軸A1〜A6における制御時間当たりの回転変位量が、当該回転軸方向に見て当該回転軸からの距離が最大となる表面部位の移動速度が制限移動速度となるようにして決定されている。そのため、ロボット1の表面部位の全てを制限移動速度以下で移動させることができる。しかも、ロボット1の姿勢がどのようなものであっても表面部位の最高速度が制限移動速度となるため、無用にロボット1の動作速度が遅くなることもなく、ロボット1の動作性が向上する。より具体的にいえば、ティーチモードを実行してロボット1の移動停止位置を教示するための作業に要する時間や、チェックモードでのロボット1の動作に要する時間を短縮することができ、ロボット1がリピートモードで動作して実用に供されるまでに要する時間を短縮できる。
【0063】
また、本実施形態においてはツール9の形状データを考慮して回転軸の角速度を求めている。このため、ガンやトーチのように長尺のツールを取り付けた場合であっても、ガンやトーチの先端を制限移動速度以下で移動させることができる。なお、本実施形態ではツール9の形状データのみをメモリに記憶させることができ、これを考慮して回転軸の角速度を求めるとしたが、ツール9として搬送作業用の把持部材や吸着部材を取り付ける場合、これら部材の端点のみならずこれら部材により搬送されるワークの形状データを入力してもよい。これによりワークの端点を制限移動速度以下で移動させることができるようになる。
【0064】
次に、直交座標系モードにおける各回転軸A1〜A6の角速度の速度規制の処理について説明する。直交座標系モードにおいては、前述したように、まず、制御時間の経過後にツール9が位置すべき目標位置が算出される。この目標位置は、TCP及び/又はフランジ面8aの中心O6の目標位置としている。そのため、目標位置は、TCP及び/又はフランジ面8aの中心O6の現在(すなわち制御時間の計時前)の座標と、制限移動速度とを用いた演算により、TCP及び/又はフランジ面8aの中心O6の制御時間経過後の目標座標という形で算出される。すなわち、TCP及び/又はフランジ面8aの中心O6が、制御時間が経過する間にここで算出された目標位置まで移動したとすれば、これら表面部位の移動速度が制限移動速度となる。そして、この目標位置を示す目標座標の逆変換処理を行うことにより、TCP及び/又はフランジ面8aの中心O6が制限移動速度で目標座標まで移動するために必要となる各回転軸A1〜A6周りの回転変位量が算出される。
【0065】
次いで、コントローラ15のCPUは、各回転軸A1〜A6に関し、求められた回転変位量で回転した場合に、TCP及びフランジ面8aの中心O6以外に予め設定されている表面部位の制御時間当たりの移動量(すなわち移動速度)を算出する。各回転軸の移動量の算出に考慮する表面部位は、上記の各軸モードにおいて各回転軸の角速度の算出に考慮した表面部位と同じである。つまり、例えば第1回転軸A1においては旋回台3に設定された許容最近部位q1、及び第3ジョイントJT3の2個の表面部位の移動量が求められ、例えば第4回転軸A4においては第1ハンド6に設定された許容最近部位q4、及びツール9の8つの端点t1〜t8の9個の表面部位の移動量が求められ、全て合わせると30個の移動量が求められることとなる。
【0066】
そして、これら移動量のうち最大となるものを抽出する。抽出された移動量がTCP及び/又はフランジ面8aの中心O6の移動量であった場合には、当初算出された回転変位量に基づいて各サーボモータM1〜M6の動作量の指令値を算出し、指令値に基づいて各サーボモータM1〜M6を駆動する。これによりTCP及び/又はフランジ面8aの中心O6の移動速度が制限移動速度であって、それ以外の表面部位の移動速度は制限移動速度となる。他方、抽出された移動量がTCP及び/又はフランジ面8aの中心O6以外の表面部位のものであった場合には、その表面部位の制御時間当たりの移動量が制限移動速度と等しくなるような、TCP及び/又はフランジ面8aの中心O6の目標位置を改めて算出する。ここで算出される目標位置は当初算出された目標位置よりも手前側に設定されることとなる。コントローラ15のCPUは、再算出された目標位置を示す目標座標の逆変換処理を行い、TCP及び/又はフランジ面8aの中心O6がこの目標座標まで移動するために必要となる各回転軸A1〜A6周りの回転変位量を改めて算出する。そして、再算出された回転変位量に基づいて各サーボモータM1〜M6の動作量の指令値を算出し、指令値に基づいて各サーボモータM1〜M6を駆動する。これにより、最大の移動量になるとして抽出された表面部位の移動速度が制限移動速度であって、TCP及びフランジ面8aの中心O6を含むその他の表面部位の移動速度が制限移動速度以下となる。
【0067】
このように、本実施形態によれば、直交座標系モードの設定時においても、ロボット1の表面部位の全てを制限移動速度以下で移動させることができ、ロボット1の姿勢がどのようなものであっても表面部位の最高速度が制限移動速度となる。
【0068】
[第2実施形態]
図6は本発明の第2実施形態に係る多軸ロボットの一例として示す6軸垂直型のロボット51の模式図である。本実施形態のロボット51は第1実施形態に対して構造が相違しており、これに伴い第1及び第2回転軸A1,A2の角速度を求める処理が相違している。その他の点では第1実施形態と共通しており、この共通点については第1実施形態と同じ参照符号を付して重複する詳細説明を省略する。また、ここでは各軸モードにおいて角速度を規制する処理についてのみ説明するが、直進モードにおいても第1実施形態で説明した各軸モードとの関連性に基づき、本実施形態を同様にして適用することができる。
【0069】
図6に示すロボット51の旋回台2と第3ジョイントJT3′との間には、基端アーム4と平行に並ぶようにして平行リンク52が跨って設けられており、平行リンク52の一端部が旋回台2に対して揺動可能に連結され、平行リンク52の他端部が第3ジョイントJT3′に揺動可能に連結されている。このため、この第3ジョイントJT3′は、第1実施形態と同様にして基端アーム4と先端アーム5とを相対回転可能に連結して第3回転軸A3が設定されている主部JT3aと、主部JT3aから第3回転軸A3の軸直交方向に突出して設けられて平行リンク52の他端部が連結される突部JT3bとを有している。ここでいう「平行」とは、平行リンク52の2つの揺動支軸A2′,A3′を結ぶ直線と、基端アーム4の2つの揺動支軸A2,A3とを結ぶ直線とが互いに平行であることを意味し、平行リンク52及び基端アーム4の各々の揺動支軸間での形状は任意のものにすることができる。第2ジョイントJT2において許容される第2回転軸A2周りの回転が行われると、平行リンク52は揺動支軸A2′を中心にして基端アーム4とともに揺動し、基端アーム4と「平行」に並ぶ状態が維持される。
【0070】
第2回転軸A2の角速度の算出には、第2回転軸A2方向に見たときにTCP、フランジ面8aの中心O6、基端アーム5及び平行リンク52に含まれている許容最近部位q2′の3個の表面部位が考慮される。
【0071】
図7は図6に示すロボット51において第1回転軸A1の角速度を規制するための処理の説明図である。本実施形態においても、第1回転軸A1の角速度の算出に際し、TCP、フランジ面8aの中心O6、旋回台2に含まれる許容最近部位q1のみならず、第3ジョイントJT3′の表面部位が考慮される。ここで、平行リンク52の揺動支軸A2′は第1回転軸A1方向に見て第1回転軸A1と第2回転軸A2との間に位置している。このため、図7(a)に示すように、基端アーム4の回転角度が正側であって基端アーム4が延長に延びる状態から第1回転軸A1に対して遠ざかる方向に揺動しているときには、突部JT3bは第3回転軸A3よりも第1回転軸A1寄りに位置するようになり、第3ジョイントJT3′を第1回転軸方向A1に見て第1回転軸A1からの距離が最大となる表面部位は、第1実施形態と同様にして基端アーム4と先端アーム5とが連結されて第3回転軸A3が設定された主部JT3aの表面部位となる。
【0072】
他方、図7(b)に示すように基端アーム4の回転角度θ2′が負側であって基端アーム4が鉛直に延びる状態から第1回転軸A1へと近づく方向に揺動しているときには、突部JT3bは第3回転軸A3よりも第1回転軸A1から離れて位置するようになり、第3ジョイントJT3′を第1回転軸方向A1に見て第1回転軸A1からの距離が最大となる表面部位は、突部JT3bの表面部位となる。
【0073】
そして、第2回転軸A2が0に近い所定の「臨界回転角度」に位置すると、第1回転軸A1から主部JT3aまでの距離と突部JT3bまでの距離とが等しくなる。なお、この臨界回転角度は、平行リンク52及び基端アームの寸法や、第1乃至第3回転軸A1〜A3及び平行リンク52の揺動支軸A1′,A2′の間の位置関係に応じて変更される。
【0074】
コントローラ15は、第1回転軸A1の角速度を算出するに際し、まず第2回転軸A2の回転角度がこの臨界回転角度に対して正側にあるか負側にあるのかを検知する。検知した回転角度が臨界回転角度に対して正側であったときには、第1回転軸方向A1に見たときの第1回転軸A1からTCPまでの距離、第1回転軸A1からフランジ面8aの中心O6までの距離、第1回転軸A1から旋回台3に設定された許容最遠部位q1までの距離、及び第1回転軸A1から第3ジョイントJT3′の主部JT3aの表面部位までの距離が求められ、求めた4個の距離が互いに比較されて最大値が抽出され、この最大値に対応する表面部位の移動速度が制限移動速度となる第1回転軸A1の制御時間当たりの回転変位量(すなわち角速度)が算出される。そして、この回転変位量に基づいて第1サーボモータM1の動作量の指令値が演算される。これにより、第1回転軸A1周りの回転を行わせるに際し、4個の表面部位の全ての移動速度が制限移動速度以下となってそのうちの1つの移動速度が制限移動速度となる。他方、検知した回転角度が臨界回転角度に対して負側であったときには、第1回転軸A1から第3ジョイントJT3′の主部JT3aの表面部位までの距離に替えて第1回転軸A1から第3ジョイントJT3′の突部JT3bまでの距離が求められ、以下同様にして第1回転軸A1の制御時間当たりの回転変位量が算出される。
【0075】
このように平行リンクを備えた場合には、第2回転軸A2の回転角度に応じて第3ジョイントJT3′の表面部位の中で第1回転軸A1から最も離れた部位が、主部JT3aであるのか突部JT3bであるのかを判断し、その判断結果に基づいて第1回転軸A1の角速度を求めるようにしているため、第2回転軸A2の回転角度が負であっても突部JT3bの移動速度を制限移動速度以下に規制することができる。
【0076】
なお、ここでは平行リンク52の一端部の揺動支点A2′を第1回転軸A1と第2回転軸A2との間に配置したため、第2回転軸A2の回転角度が負であるときに突部JT3bの表面部位を考慮する必要があったが、第1回転軸A1から揺動支点A2′までの距離が第2回転軸A2までの距離よりも大きくなるときには、第2回転軸A2の回転角度が正となったときに突部JT3bの表面部位を考慮して第1回転軸A1の角速度を求めるように適宜処理内容が変更される。但し、平行リンク52の一端部の揺動支点A2を本実施形態のように配置することにより、基台2に対して平行リンク52をコンパクトに配置することができる点で有利である。
【0077】
[第3実施形態]
図8は本発明の第3実施形態に係る多軸ロボットの一例として示す6軸垂直型のロボット101の模式図である。本実施形態は第1及び第2実施形態に対してロボットの据付箇所が相違している。その他の点では上記実施形態とほぼ同一であり、上記各実施形態と同一の構成については同一の符号を付して重複する詳細説明を省略している。また、ここでも各軸モードにおいて角速度を規制する処理についてのみ説明するが、直進モードにおいても第1実施形態で説明した各軸モードとの関連性に基づき、本実施形態を同様にして適用することができる。
【0078】
図8に示すロボット101は、基台2が作業スペース上側の棚面に設置される所謂棚置き型の産業用ロボットである。このため、作業を行うときなどには、旋回台103に対して基端アーム4が水平に張り出し、基端アーム4の他端部に対して先端アーム5が下側に延びるような姿勢となる傾向にある。
【0079】
本実施形態においても、第1回転軸A1の角速度の算出に際しては、TCP、フランジ面8aの中心O6、及び旋回台3に設定される許容最近部位q1に、第3ジョイントJT3″の表面部位を加えた合計4個の表面部位が用いられる。
【0080】
第1回転軸A1方向に見たときの第1回転軸A1から第3ジョイントJT3″の表面部位までの距離dJT3″は、第2回転軸A2と第3回転軸A3との間の直線距離をd2、第2回転軸A2の回転角度をθ2″、第3回転軸A3から第3ジョイントJT3″の表面部位までの距離をd3とすると、式:dJT3″=d2cosθ2″+d3 で表される。
【0081】
ここで、回転角度θ2″は基端アーム4が水平に延びる状態を0としている。ここでは第2実施形態のように絶対値をとる項を設定していないが、基端アーム4が鉛直に延びる状態を超えて図示する状態と反対側まで揺動するようなことがないため、実用上は絶対値をとる項を設定しなくても問題とならない。また、上記式は、第1回転軸A1方向に見て第2回転軸A2が第1回転軸A1上を通過するよう旋回台103を構成した場合を想定しているが、第2回転軸A2と第1回転軸A1とがこのような位置関係にない場合には、適宜第1回転軸A1と第2回転軸A2との位置関係(すなわち距離)をパラメータとする項が上記式に加えられる。
【0082】
本実施形態のように第1回転軸A1方向に見て第3ジョイントJT3″の表面部位が最遠部位となる傾向にある棚置き型のロボット101においては、第1回転軸A1の角速度を求めるために第3ジョイントJT3″の表面部位を考慮するのは特に有効となる。なお、本実施形態においても基端アーム4と平行に並ぶ平行リンクを第2実施形態と同様にして設けてもよい。
【0083】
これまで本発明の実施形態について説明したが、上記構成は本発明の範囲内で適宜変更可能である。例えば手首装置10に設定される回転軸として所謂RBR型の手首軸を例示したが、所謂BBR型の手首軸や3R型の手首軸であってもよい。また、多軸ロボットとして6軸垂直型の産業用ロボットを例示したが、ロボットの軸数は6つに限られないし、水平型や直角座標型のロボットにも好適に適用することができる。また産業用途に限らず、他の用途で利用されるロボットにも好適に適用することができる。また、本発明に係る速度制御装置として例示したコントローラ15はロボット1の例えば基台2に取り付けられていてもよいし、ロボット1と遠隔に配置されていて物理的に着脱可能な形態で接続されていてもよい。
【産業上の利用可能性】
【0084】
本発明はロボットの動作速度を適正に制限しつつもその動作速度をなるべく高くすることができるという優れた作用効果を奏し、表面部位に速度制限をかける必要がある多軸ロボットに利用すると有益である。
【符号の説明】
【0085】
A1〜A6 第1〜第6回転軸
JT1〜JT6 第1〜第6ジョイント
JT3′,JT3″ 第3ジョイント
JT3a 主部
JT3b 突部(連結部分)
M1〜M6 第1〜第6サーボモータ
1,51,101 ロボット
2 基台
3,103 旋回台(第1の連結部材)
4 基端アーム(第2の連結部材)
5 先端アーム(第3の連結部材)
6 第1ハンド(連結部材)
7 第2ハンド(連結部材)
8 アタッチメント(連結部材)
9 ツール
10 手首装置
15 コントローラ(速度制御装置)
21,25,28 CPU
22,26,28 メモリ
52 平行リンク(平行部材)

【特許請求の範囲】
【請求項1】
基台に連設された複数の連結部材の先端にツール部材を取り付けてなり、前記基台及び前記複数の連結部材が互いに相対回転可能な多軸ロボットであって、
前記ツール部材の移動時に各回転軸の角速度を制御する速度制御装置を備え、
前記速度制御装置が、前記複数の連結部材及び前記ツール部材において予め設定された複数の表面部位の移動速度のうち最高移動速度が所定の制限移動速度となるように当該回転軸の角速度を求めることを特徴とする多軸ロボット。
【請求項2】
前記予め設定された複数の表面部位に、前記ツール部材の中心位置、及び前記ツール部材が取り付けられる連結部材の中心位置、前記ツール部材の1以上の端点が含まれていることを特徴とする請求項1に記載の多軸ロボット。
【請求項3】
前記予め設定された複数の表面部位に、何れかの回転軸周りに回転する部材を当該回転軸方向に見たときに当該回転軸からの距離が最大となる表面部位が含まれていることを特徴とする請求項1又は2に記載の多軸ロボット。
【請求項4】
前記複数の連結部材は、前記基台に対して第1回転軸周りに回転可能に連結された第1の連結部材と、前記第1の連結部材に対して第2回転軸周りに回転可能に連結された第2の連結部材と、前記第2の連結部材に対して第3回転軸周りに回転可能に連結された第3の連結部材とを含み、
前記第1回転軸に対して予め設定された複数の表面部位に、前記第2及び第3の連結部材のジョイントの表面部位が含まれていることを特徴とする請求項1乃至3のいずれか1項に記載の多軸ロボット。
【請求項5】
前記第1の連結部材と、前記ジョイントとにそれぞれ揺動可能に連結されて前記第2の連結部材と平行に並ぶ平行部材を備え、
前記第1回転軸の角速度に対して予め設定された複数の表面部位に、前記平行部材と前記ジョイントとの連結部分の表面部位が含まれていることを特徴とする請求項4に記載の多軸ロボット。
【請求項6】
基台に連設された複数の連結部材の先端にツール部材を取り付けてなり前記基台及び前記複数の連結部材が互いに相対回転可能に構成された多軸ロボットに備えられ、前記ツール部材の移動時に各回転軸の角速度を制御する多軸ロボットの速度制御装置であって、
前記複数の連結部材及び前記ツール部材において予め設定された複数の表面部位の移動速度のうち最高移動速度が所定の制限移動速度となるように当該回転軸の角速度を求めることを特徴とする多軸ロボットの速度制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−167515(P2010−167515A)
【公開日】平成22年8月5日(2010.8.5)
【国際特許分類】
【出願番号】特願2009−10549(P2009−10549)
【出願日】平成21年1月21日(2009.1.21)
【出願人】(000000974)川崎重工業株式会社 (1,710)
【Fターム(参考)】