(57)【要約】【課題】付加機構を設けることなく作業装置の作業精度を向上させること。【解決手段】ロボットシステムは、作業装置と、ロボットと、コントローラとを備える。作業装置は、作業モジュールを相対的に移動させることで作業を行う。ロボットは、作業装置が取り付けられる。コントローラは、作業装置およびロボットを同期制御する。コントローラは、制御部を備える。制御部は、作業装置に対する作業モジュールの相対移動で発生するロボットへの作用力を打ち消すようにロボットの動作を制御する。【選択図】図１
2020121360.tif 000002
【特許請求の範囲】
【請求項１】
作業モジュールを相対的に移動させることで作業を行う作業装置と、
前記作業装置が取り付けられるロボットと、
前記作業装置および前記ロボットを同期制御するコントローラと
を備え、
前記コントローラは、
前記作業装置に対する前記作業モジュールの相対移動で発生する前記ロボットへの作用力を打ち消すように前記ロボットの動作を制御する制御部
を備えることを特徴とするロボットシステム。
【請求項２】
前記制御部は、
前記作用力を算出する算出部と、
前記算出部によって算出される前記作用力に基づき、当該作用力を打ち消す向きに前記作業装置を移動させる非干渉化動作を前記ロボットに行わせる非干渉化部と
を備えることを特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記算出部は、
前記作業装置に対する前記作業モジュールの移動軌跡指令に基づいて前記作用力を算出すること
を特徴とする請求項２に記載のロボットシステム。
【請求項４】
前記制御部は、
前記移動軌跡指令を前記作業装置へ出力する軌跡指令部
を備え、
前記軌跡指令部は、
前記移動軌跡指令をバッファリングして出力すること
を特徴とする請求項３に記載のロボットシステム。
【請求項５】
前記非干渉化部は、
前記作用力を前記非干渉化動作へ変換する際に用いるゲインを前記ロボットの姿勢に基づいて変更すること
を特徴とする請求項２〜４のいずれか一つに記載のロボットシステム。
【請求項６】
前記作業装置は、
前記作業モジュールを支持するとともに、前記作業モジュールの代表点を第１平面に沿って移動させる水平リンク機構と、
前記水平リンク機構を駆動する駆動部と
を備え、
前記算出部は、
前記作業モジュール、前記水平リンク機構および前記駆動部に対応する作業装置情報に基づいて前記作用力を算出すること
を特徴とする請求項２〜５のいずれか一つに記載のロボットシステム。
【請求項７】
前記ロボットは、
垂直多関節ロボットであり、先端アームに前記作業装置を取り付ける取付面を備え、
前記作業装置は、
前記第１平面と、前記ロボットの最も前記作業装置側の関節軸とが平行な姿勢で前記取付面に取り付けられること
を特徴とする請求項６に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ロボットシステムに関する。
【背景技術】
【０００２】
従来、ロボットのエンドエフェクタとしてレーザ加工装置等の作業モジュールと、作業モジュールを移動させる駆動機構とを備えた作業装置を用いることが知られている。ここで、駆動機構により作業モジュールを高速動作させると、作業モジュールの移動によって発生するロボットへの作用力に伴う振動で、作業装置の作業精度を低下させるおそれがある。
【０００３】
このため、作業モジュールとは別に可動式の錘体を設け、作業モジュールの移動向きと反対向きに錘体を移動させることで、上記したロボットへの作用力を抑制する作業装置が提案されている（たとえば、特許文献１参照）。なお、特許文献１では、ロボットへの作用力を「移動反力」と表現している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−２２６０３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した従来技術には、錘体等の付加機構を作業装置に設ける必要があり、作業装置が大型化し、重量も増加しやすいという問題がある。
【０００６】
実施形態の一態様は、上記した付加機構を設けることなく作業装置の作業精度を向上させることができるロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態の一態様に係るロボットシステムは、作業装置と、ロボットと、コントローラとを備える。作業装置は、作業モジュールを相対的に移動させることで作業を行う。ロボットには、前記作業装置が取り付けられる。コントローラは、前記作業装置および前記ロボットを同期制御する。コントローラは、制御部を備える。制御部は、前記作業装置に対する前記作業モジュールの相対移動で発生する前記ロボットへの作用力を打ち消すように前記ロボットの動作を制御する。
【発明の効果】
【０００８】
実施形態の一態様によれば、付加機構を設けることなく作業装置の作業精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係るロボットシステムの概要を示す図である。
【図２】図２は、ロボットの側面図である。
【図３】図３は、作業装置の側面図である。
【図４】図４は、作業装置のリンク構成を示す模式図である。
【図５】図５は、ロボットシステムの構成を示すブロック図である。
【図６Ａ】図６Ａは、ロボットの姿勢その１を示す模式図である。
【図６Ｂ】図６Ｂは、ロボットの姿勢その２を示す模式図である。
【図７】図７は、ゲイン変更の例を示す説明図である。
【図８】図８は、軌跡指令処理の処理手順を示すフローチャートである。
【図９】図９は、非干渉化処理の処理手順を示すフローチャートである。
【図１０】図１０は、作業装置の変形例を示す模式図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本願の開示するロボットシステムの実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。また、以下では、ロボットによって支持される作業装置が、作業対象の切断や、作業装置に対する模様付けなどのレーザ加工を行う場合について主に説明するが、作業内容はレーザ加工に限らず、液体や気体などを噴出することによる加工であってもよいし、塗装や溶接などであってもよい。
【００１１】
また、以下に示す実施形態では、「直交」、「垂直」、「平行」、「鉛直」あるいは「一致」といった表現を用いるが、厳密にこれらの状態を満たすことを要しない。すなわち、上記した各表現は、製造精度、設置精度、処理精度、検出精度などのずれを許容するものとする。
【００１２】
まず、実施形態に係るロボットシステム１の概要について図１を用いて説明する。図１は、実施形態に係るロボットシステム１の概要を示す図である。
【００１３】
なお、図１には、説明をわかりやすくするために、ロボット１０に対して固定され、鉛直上向きが正方向であるＺ軸を含む３次元の直交座標系である「ＸＹＺ座標」（「Ｘ」、「Ｙ」および「Ｚ」は大文字のアルファベット）を示している。
【００１４】
また、図１には、作業装置２０に対して固定される３次元の直交座標系である「ｘｙｚ座標」（「ｘ」、「ｙ」および「ｚ」は小文字のアルファベット）を併せて示している。なお、「ＸＹＺ座標」あるいは「ｘｙｚ座標」は、以下の説明で用いる他の図面においても示す場合がある。
【００１５】
図１に示すように、ロボットシステム１は、ロボット１０と、作業装置２０と、コントローラ３０とを備える。ロボット１０は、作業装置２０を支持する。また、ロボット１０に取り付けられる作業装置２０は、作業モジュール５００を相対的に移動させることで作業を行う。つまり、ロボット１０は、作業装置２０を支持するとともに、先端などに取り付けられた作業装置２０を作業対象における所望の作業箇所に移動させる。
【００１６】
コントローラ３０は、ロボット１０および作業装置２０を同期制御する。ここで、「同期制御」とは、ロボット１０および作業装置２０に対する動作指令を同期出力する制御や、ロボット１０あるいは作業装置２０に対するフィードバック制御を同期させる制御を含むものとする。
【００１７】
また、コントローラ３０は、作業装置２０に対する作業モジュール５００の相対移動５０によって発生するロボット１０への作用力１００を打ち消すように、ロボット１０の動作（打消動作２００）を制御する制御部３１を備える。
【００１８】
ここで、図１では、制御部３１がロボット１０および作業装置２０とそれぞれ通信することを示すために、両矢印の破線を示しているが、実際の通信線の配置を示すものではない。たとえば、コントローラ３０からの通信線をロボット１０へ接続するとともに、作業装置２０への通信線についてはロボット１０の内部を経由して作業装置２０に接続することとしてもよい。また、コントローラ３０と、ロボット１０あるいは作業装置２０との通信を無線通信としてもよい。
【００１９】
なお、ロボット１０の構成の詳細については図２を、作業装置２０の構成の詳細については図３および図４を、それぞれ用いて後述することとする。また、コントローラ３０の構成の詳細については図５を用いて後述することとする。
【００２０】
ここで、図１では、説明をわかりやすくする観点から、作業モジュール５００の相対移動５０がＸＹ平面に沿い、ロボット１０への作用力１００の向きがＸ軸正方向で、ロボット１０の打消動作２００がＸ軸負方向である場合を例示したが、それぞれの向きを限定するものではない。
【００２１】
つまり、作業装置２０の動作に起因する振動をロボット１０の動作によって抑制するロボットシステム１によれば、作業モジュール５００の相対移動５０の向きが、ｘｙｚ座標におけるいかなる向きであっても、相対移動５０に伴う作用力１００を打ち消す向きにロボット１０をＸＹＺ座標において動作させることで、上記した振動を防止することができる。
【００２２】
このように、図１に示したロボットシステム１は、作業装置２０を動作させることによって発生するロボット１０への作用力１００を打ち消すようにロボット１０の動作を制御する。これにより、作用力１００でロボット１０が振動し、振動に伴って作業装置２０の位置が変動して作業装置２０による作業の作業精度が低下する事態を防止することができる。
【００２３】
また、図１に示したロボットシステム１によれば、作業装置２０に錘体や防振機構などの付加機構を設ける必要がないので、作業装置２０の小型軽量化を図ることができる。したがって、作業装置２０に付加機構を設けることなく作業装置２０の作業精度を向上させることができる。なお、本実施形態では、作業モジュール５００の相対移動５０の向きが、ｘｙ平面と平行である場合について主に説明することとする。
【００２４】
次に、ロボット１０の構成例について図２を用いて説明する。図２は、ロボット１０の側面図である。なお、図２には、図１に示したＸＹＺ座標を示している。また、図２は、図１と同様にＹ軸負方向側からみた側面図に相当する。
【００２５】
図２に示すように、ロボット１０は、鉛直軸Ａ０〜第５軸Ａ５の６軸を有する垂直多関節ロボットである。ロボット１０は、基端側から先端側へ向けて、ベース部１０Ｂと、旋回部１０Ｓと、第１アーム１１と、第２アーム１２と、第３アーム１３と、手首部１４とを備える。なお、以下では、第１アーム１１を「ロアアームＬ」と、第２アーム１２および第３アーム１３を「アッパーアームＵ」と、それぞれ呼ぶことがある。
【００２６】
ベース部１０Ｂは、床面などの設置面に設置される。旋回部１０Ｓは、ベース部１０Ｂに支持され、設置面と垂直な鉛直軸Ａ０まわりに回転する。第１アーム１１は、旋回部１０Ｓに支持され、鉛直軸Ａ０と垂直な第１軸Ａ１まわりに旋回する。第２アーム１２は、第１アーム１１に支持され、第１軸Ａ１と平行な第２軸Ａ２まわりに旋回する。なお、図２では、最も基端側の関節軸が鉛直軸Ａ０である場合を示したが、かかる関節軸の向きは鉛直方向に限られない。つまり、最も基端側の関節軸の向きは任意の向きとすることができる。
【００２７】
第３アーム１３は、第２アーム１２に基端側が支持され、第２軸Ａ２と垂直な第３軸Ａ３まわりに回転する。また、手首部１４は、旋回部１４ａと、回転部１４ｂとを備える。旋回部１４ａは、第３アーム１３の先端側に基端側が支持され、第２軸Ａ２と平行な第４軸Ａ４まわりに旋回する。回転部１４ｂは、旋回部１４ａの先端側に基端側が支持され、第４軸Ａ４と直交する第５軸Ａ５まわりに回転する。
【００２８】
ここで、隣り合うアーム同士の相対角度を変化させずに動作する関節軸を「回転軸」と、隣り合うアーム同士の相対角度を変化させつつ動作する関節軸を「旋回軸」と、それぞれ呼ぶこととする。なお、図２に示したロボット１０では、鉛直軸Ａ０、第３軸Ａ３および第５軸Ａ５が、回転軸に相当し、第１軸Ａ１、第２軸Ａ２および第４軸Ａ４が、旋回軸に相当する。
【００２９】
ここで、手首部１４の先端側（回転部１４ｂの先端側）には、取付面１４ｂｓが設けられ、取付面１４ｂｓには、作業内容に応じて各種のエンドエフェクタが着脱可能に固定される。なお、本実施形態では、図１に示した作業装置２０が取付面１４ｂｓに取り付けられる場合について主に説明する。なお、図２に示したロボット１０では、第５軸Ａ５が、「ロボット１０の最も作業装置２０側の関節軸」に相当する。
【００３０】
図２に示したように、ロボット１０を垂直多関節ロボットとすることで、多自由度をもつ力およびモーメントである作用力１００（図１参照）にもロボット１０の動作で対応することができる。
【００３１】
なお、図２では、ロボット１０として６軸の垂直多関節ロボットを例示したが、軸数を５軸以下としてもよく、７軸以上としてもよい。また、ロボット１０をいわゆる水平多関節ロボットとすることとしてもよい。このように、ロボット１０を水平多関節ロボットとする場合には、作業モジュール５００の相対移動５０の向きがＸＹ平面（水平面）と平行であることが好ましい。
【００３２】
つまり、ロボット１０の軸構成は、作業モジュール５００の動作に伴う作用力１００（力およびモーメント）を打ち消す向きへの動作が可能な軸構成であれば足りる。なお、図２に示したように、ロボット１０を６軸以上とすることで、６つの自由度をもつ作用力１００（力およびモーメント）にも、ロボット１０の６自由度の動作で対応することができる。
【００３３】
次に、作業装置２０の構成例について図３および図４を用いて説明する。図３は、作業装置２０の側面図であり、図４は、作業装置２０のリンク構成を示す模式図である。なお、図３および図４には、図１に示したｘｙｚ座標をそれぞれ示している。図３は、図１と同様にｙ軸負方向側からみた側面図に相当し、図４は、ｚ軸正方向側からみた上面図に相当する。
【００３４】
まず、作業装置２０の側面形状について図３を用いて説明する。図３に示すように、作業装置２０は、駆動部２０ａと、本体部２１と、水平リンク機構２２とを備える。なお、作業装置２０は、２つの駆動部２０ａと、いわゆる閉リンクを構成する水平リンク機構２２とを備えるが、この点の詳細については図４を用いて後述する。
【００３５】
作業装置２０は、水平リンク機構２２を介して作業モジュール５００を支持する。作業モジュール５００は、たとえば、レーザを照射することで作業対象を加工する加工モジュールである。なお、かかる作業モジュール５００を含めた全体を作業装置２０と呼ぶこととしてもよい。
【００３６】
なお、図３では、作業モジュール５００の代表点５００ｐを、作業モジュール５００のｚ軸負方向側の先端とした場合を示しているが、代表点５００ｐは、作業モジュール５００上の他の位置としてもよい。また、代表点５００ｐを作業モジュール５００から所定距離だけ離れた位置とすることとしてもよい。
【００３７】
図３に示したように、作業装置２０は、作業モジュール５００を支持するとともに、作業モジュール５００の代表点５００ｐを、図３に示した第１平面Ｓ１に沿って移動させる。また、作業装置２０は、第１平面Ｓ１と、図２に示したロボット１０の最も作業装置２０側の関節軸に相当する第５軸Ａ５とが平行な姿勢でロボット１０の取付面１４ｂｓに取り付けられる。
【００３８】
このように、ロボット１０に対する作業装置２０の取り付け向きを限定することで、ロボット１０に対する作用力１００（図１参照）の算出負荷を低減することができる。さらに、作業装置２０の動作によって発生する作用力１００が、ロボット１０の最も作業装置２０側の関節軸（図２に示した第５軸Ａ５）へ与える影響を抑えることができ、作業装置２０の作業精度を向上させることができる。
【００３９】
以下、作業装置２０の構成についてさらに詳細に説明する。駆動部２０ａは、水平リンク機構２２を駆動するサーボモータ等の回転式アクチュエータである。なお、本実施形態では、駆動部２０ａがサーボモータ等の回転式アクチュエータである場合について説明するが、直動式等のアクチュエータであってもよい。
【００４０】
本体部２１は、取付部２１ａと、支持部２１ｂとを備える。取付部２１ａは、図３に示したｙｚ平面と平行な取付面２１ｓを有しており、取付面２１ｓが、図２に示したロボット１０の取付面１４ｂｓと接するようにロボット１０に取り付けられる。ここで、ロボット１０の取付面１４ｂｓは、ロボット１０の第５軸Ａ５（図２参照）と垂直であるので、作業装置２０の取付面２１ｓも第５軸Ａ５（図２参照）と垂直となる。
【００４１】
支持部２１ｂは、駆動部２０ａと、駆動部２０ａによって駆動される水平リンク機構２２の基端側とを支持する。水平リンク機構２２は、第１リンク２２ａと、第２リンク２２ｂとを備える。第１リンク２２ａは、基端側が本体部２１に支持され、ｚ軸に沿う駆動軸ａ１まわりに旋回する。
【００４２】
また、第２リンク２２ｂは、基端側が第１リンク２２ａの先端側で支持され、駆動軸ａ１と平行な受動軸ａ２まわりに旋回する。また、第２リンク２２ｂは、作業モジュール５００を着脱可能に支持する。つまり、駆動部２０ａによって駆動される水平リンク機構２２は、作業モジュール５００の代表点５００ｐを、ｘｙ平面と平行な第１平面Ｓ１に沿って移動させる。なお、図４には、駆動軸ａ１まわりのリンクの旋回を両矢印の実線で、受動軸ａ２まわりのリンクの旋回を両矢印の破線で、それぞれ示している。
【００４３】
このように、作業モジュール５００における代表点５００ｐの移動軌跡を第１平面Ｓ１に限定する機構を用いることで、作業装置２０の動作に伴って発生するロボット１０への作用力１００（図１参照）の算出負荷を低減することができる。なお、代表点５００ｐの移動軌跡は、円や楕円、矩形などの様々な形状とすることができる。
【００４４】
図３には、作業モジュール５００を作業装置２０に含めた場合の重心Ｇを示している。上記したように、作業モジュール５００の代表点５００ｐを第１平面Ｓ１に沿って移動させると、重心Ｇも第１平面Ｓ１と平行な平面上を移動する。これにより、ロボット１０には、図１に示した作用力１００が付加されることになる。
【００４５】
なお、重心Ｇの移動平面（第１平面Ｓ１と平行な平面）上に第５軸Ａ５（図２参照）がある場合、重心Ｇの移動が第５軸Ａ５まわりの回転へ及ぼす影響を排除すことができる。したがって、重心Ｇの移動平面と、第５軸Ａ５との距離を小さくすればするほど、重心Ｇの移動に伴う第５軸Ａ５への影響を抑えることが可能となる。
【００４６】
次に、作業装置２０のリンク構成について図４を用いて説明する。図４に示すように、作業装置２０は、２つの駆動軸ａ１と、３つの受動軸ａ２とを備える。ここで、駆動軸ａ１は、図３に示した駆動部２０ａの駆動力によって直接的に駆動される。一方、受動軸ａ２は、リンクを介して受動的に動作する。
【００４７】
具体的には、作業装置２０は、基端側に２つの駆動軸ａ１を備える。それぞれの駆動軸ａ１には、第１リンク２２ａの基端側が接続され、第１リンク２２ａの先端側には受動軸ａ２が接続される。それぞれの受動軸ａ２には、第２リンク２２ｂの基端側が接続され、それぞれの第２リンク２２ｂの先端側は共通の受動軸ａ２に接続される。なお、代表点５００ｐは、いずれかの第２リンク２２ｂからオフセットされた位置（図４では、一方の第２リンク２２ｂに固定された別リンク）に設けられる。なお、代表点５００ｐを、他方の第２リンク２２ｂに固定された別リンクに設けることとしてもよい。
【００４８】
つまり、作業装置２０は、５つの関節が連結された閉リンク式のリンク構成である。また、作業装置２０は、それぞれがｚ軸と平行な駆動軸ａ１および受動軸ａ２を有しており、２つの駆動軸ａ１を有している。したがって、作業装置２０は、ｘｙ平面について２つの自由度をもつ。つまり、代表点５００ｐを、ｘｙ平面に沿って任意の位置へ移動させることができる。
【００４９】
なお、図４には、閉リンク式のリンク機構を示したが、開リンク式のリンク機構とすることとしてもよい。なお、この点については、図１０を用いて後述する。また、図４には、いずれかの第２リンク２２ｂからオフセットされた位置に代表点５００ｐがある場合を示したが、いずれかの第２リンク２２ｂ上に代表点５００ｐを設けることとしてもよい。また、代表点５００ｐを、いずれかの第１リンク２２ａからオフセットされた位置や、いずれかの第１リンク２２ａ上に設けることとしてもよい。また、代表点５００ｐをいずれかの受動軸ａ２上に設けることとしてもよい。
【００５０】
次に、実施形態に係るロボットシステム１の構成について図５を用いて説明する。図５は、ロボットシステム１の構成を示すブロック図である。図５に示すように、ロボットシステム１は、ロボット１０と、作業装置２０と、コントローラ３０とを備える。また、ロボット１０および作業装置２０は、それぞれ、コントローラ３０に接続されている。
【００５１】
図５に示すように、ロボット１０は、図２に示した各軸（鉛直軸Ａ０〜第５軸Ａ５）に対応する駆動部１０ａをそれぞれ有する。ここで、駆動部１０ａは、サーボモータ等の回転式アクチュエータであり、コントローラ３０によって動作を制御される。
【００５２】
作業装置２０は、図３に示した作業モジュール５００を相対的に移動させる駆動部２０ａを備える。ここで、本実施形態では、駆動部２０ａがサーボモータ等の回転式アクチュエータである場合について説明するが、直動式等のアクチュエータであってもよい。なお、駆動部２０ａは、駆動部１０ａと協調動作するように、コントローラ３０によって同期制御される。
【００５３】
コントローラ３０は、制御部３１と、記憶部３２とを備える。制御部３１は、受付部３１ａと、動作制御部３１ｂと、位置・姿勢取得部３１ｃと、非干渉化部３１ｄと、算出部３１ｅと、軌跡指令部３１ｆとを備える。また、記憶部３２は、教示情報３２ａと、作業装置情報３２ｂとを記憶する。
【００５４】
ここで、コントローラ３０は、たとえば、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、ＨＤＤ（Hard  Disk  Drive）、入出力ポートなどを有するコンピュータや各種の回路を含む。
【００５５】
コンピュータのＣＰＵは、たとえば、ＲＯＭに記憶されたプログラムを読み出して実行することによって、制御部３１の受付部３１ａ、動作制御部３１ｂ、位置・姿勢取得部３１ｃ、非干渉化部３１ｄ、算出部３１ｅおよび軌跡指令部３１ｆとして機能する。
【００５６】
また、受付部３１ａ、動作制御部３１ｂ、位置・姿勢取得部３１ｃ、非干渉化部３１ｄ、算出部３１ｅおよび軌跡指令部３１ｆの少なくともいずれか一つまたは全部をＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェアで構成することもできる。
【００５７】
記憶部３２は、たとえば、ＲＡＭやＨＤＤに対応する。ＲＡＭやＨＤＤは、教示情報３２ａと、作業装置情報３２ｂとを記憶することができる。なお、コントローラ３０は、有線や無線のネットワークで接続された他のコンピュータや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。さらに、コントローラ３０を複数台の相互に同期可能な装置として構成してもよく、上位または下位の装置と通信可能な階層式の装置として構成してもよい。
【００５８】
制御部３１は、ロボット１０および作業装置２０を協調動作させる制御を行う。なお、コントローラ３０が複数台で構成される場合には、制御部３１は、コントローラ３０間の同期をとる処理を併せて行う。
【００５９】
受付部３１ａは、教示情報３２ａおよび作業装置情報３２ｂを受け付け、記憶部３２へ記憶させる。動作制御部３１ｂは、記憶部３２の教示情報３２ａに基づいてロボット１０の動作を制御する。
【００６０】
また、動作制御部３１ｂは、ロボット１０の駆動部１０ａにおけるエンコーダ値を用いつつフィードバック制御を行うなどしてロボット１０の動作精度を向上させる。ここで、教示情報３２ａは、ロボット１０および作業装置２０へ動作を教示するティーチング段階で作成され、ロボット１０の動作経路を規定するプログラムである「ジョブ」を含んだ情報である。
【００６１】
位置・姿勢取得部３１ｃは、動作制御部３１ｂからロボット１０の取付面１４ｂｓの位置および姿勢を取得し、取得した姿勢を非干渉化部３１ｄへ渡す。以下では、ロボット１０の取付面１４ｂｓの位置や姿勢を、単に「ロボット位置」や「ロボット姿勢」と記載する場合がある。なお、位置・姿勢取得部３１ｃが取得するロボット１０の姿勢の例については、図６Ａおよび図６Ｂを用いて後述する。
【００６２】
非干渉化部３１ｄは、算出部３１ｅによって算出される作用力１００（図１参照）に基づき、作用力１００を打ち消す向きに作業装置２０を移動させる非干渉化動作をロボット１０に行わせる。
【００６３】
具体的には、非干渉化部３１ｄは、算出部３１ｅによって算出された作用力１００と、位置・姿勢取得部３１ｃによって取得されたロボット１０の姿勢とに基づいてそれぞれの駆動部１０ａを動作させることで、ロボット１０に打消動作２００（図１参照）を行わせるように動作制御部３１ｂへ指示する。
【００６４】
なお、非干渉化部３１ｄは、作用力１００（図１参照）を非干渉化動作へ変換する際に用いるゲイン（非干渉化動作に対する作用力１００の寄与度）をロボット１０の姿勢に基づいて変更する処理を併せて行うが、この点の詳細については図７を用いて後述する。
【００６５】
算出部３１ｅは、作業装置２０の動作によってロボット１０に作用する作用力１００を算出する。ここで、算出部３１ｅは、軌跡指令部３１ｆが作業装置２０の駆動部２０ａへ出力する移動軌跡指令を取得する。また、算出部３１ｅは、図３に示した作業モジュール５００、水平リンク機構２２および駆動部２０ａの動作特性や重量等を含んだ作業装置情報３２ｂを取得する。そして、算出部３１ｅは、取得した移動軌跡指令および作業装置情報３２ｂに基づいて作用力１００（図１参照）を算出する。
【００６６】
このように、算出部３１ｅが作用力１００を算出し、算出された作用力１００に基づいて非干渉化部３１ｄがロボット１０に非干渉化動作を行わせることで、作業装置２０の動作に伴って発生するロボット１０の振動を抑制し、結果的に、作業装置２０の作業精度を向上させることができる。
【００６７】
具体的には、算出部３１ｅは、上記した移動軌跡指令からロボット１０の取付面１４ｂｓ（図２参照）に作用する作用力１００（図１参照）を算出する。ここで、作用力１００は、リンク機構について公知の逆動力学演算手法を用いて算出することができる。そして、算出部３１ｅは、求めた作用力１００を作業装置２０に固定されたｘｙｚ座標から、ロボット１０に固定されたＸＹＺ座標へ変換することで、ロボット１０の取付面１４ｂｓ（図２参照）に作用する作用力１００（図１参照）を算出する。
【００６８】
このように、作業装置２０への動作指示に相当する移動軌跡指令を用いて作用力１００を算出することで、作業装置２０に対する作業モジュール５００の相対移動に応じて適切に振動を抑制することが可能となる。
【００６９】
なお、作用力１００には、上記したように、３つの自由度の力および３つの自由度のモーメントが含まれるが、算出負荷を低減するために、力やモーメントの自由度のうち一部を無視することとしてもよい。
【００７０】
軌跡指令部３１ｆは、代表点５００ｐ（図３参照）の移動軌跡を示す「軌跡情報」に基づき、作業装置２０の駆動部２０ａに対して移動軌跡指令を出力する。ここで、「軌跡情報」は、教示情報３２ａの一部である。つまり、「軌跡情報」は、教示情報３２ａに含まれる。また、軌跡指令部３１ｆは、移動軌跡指令を駆動部２０ａとともに、算出部３１ｅにも出力する。なお、「軌跡情報」から移動軌跡指令への変換には、いわゆる逆運動学を用いることができる。
【００７１】
なお、軌跡指令部３１ｆは、作業装置２０の動作よりも、ロボット１０による非干渉化動作が遅れることを防止するために、作業装置２０に対する移動軌跡指令をいったんバッファリングしたうえで作業装置２０へ出力することによって作業装置２０の動作を遅らせる。一方、軌跡指令部３１ｆは、バッファリングする前の移動軌跡指令を算出部３１ｅへ出力する。つまり、算出部３１ｅによる作用力１００の算出は、作業装置２０の実際の動作よりも早く開始される。
【００７２】
このように、作業装置２０に対する移動軌跡指令を遅らせることで、非干渉化動作の算出を作業装置２０の実際の動作よりも早く開始することができ、ロボット１０の非干渉化動作が作業装置２０の動作に遅れる事態を防止することが可能となる。なお、移動軌跡指令のバッファリングについては図９を用いて後述することとする。
【００７３】
次に、図５に示した非干渉化部３１ｄが、作用力１００（図１参照）を非干渉化動作へ変換する際に用いるゲインを、ロボット１０の姿勢に応じて変更する処理について、図６Ａ、図６Ｂおよび図７を用いて説明する。図６Ａおよび図６Ｂは、ロボット１０の姿勢その１およびその２をそれぞれ示す模式図であり、図７は、ゲイン変更の例を示す説明図である。
【００７４】
なお、図６Ａは、ロボット１０をＺ軸正方向側からみた上面図に相当し、図６Ｂは、図１と同様に、ロボット１０をＹ軸負方向側からみた側面図に相当する。また、図６Ａに示す首振り角αと、図６Ｂに示す見下し（みおろし）角βとは、図７に示すゲインの算出に用いられる。
【００７５】
図６Ａに示したのは、ロアアームＬ（第１アーム１１）をＸ軸に沿う姿勢としたロボット１０である。なお、図６Ａでは、上面視で、ロアアームＬの延伸向きがＸ軸正方向を向いた場合を示している。なお、図６Ａに示した姿勢において、第１軸Ａ１および第２軸Ａ２は、Ｙ軸と平行である。また、アッパーアームＵ（第２アーム１２および第３アーム１３）の延伸向きもロアアームＬと同様にＸ軸正方向を向いている。
【００７６】
ここで、Ｘ軸と平行な第３軸Ａ３と、第５軸Ａ５とのなす角を、首振り角αと定義する。なお、図６Ａでは、第３アーム１３を第３軸Ａ３まわりに回転させることで、第４軸Ａ４をＺ軸と平行にした姿勢を示したが、第４軸Ａ４は、Ｚ軸と平行でなくてもよい。また、図６Ａでは、第３軸Ａ３がＸ軸と平行な場合を示したが、第３軸Ａ３の向きは、ＸＹ平面におけるいずれの向きであってもよい。また、図６Ａには、第３軸Ａ３に対して時計回りの首振り角αを示したが、反時計回りであってもよい。
【００７７】
図６Ａに示したように、第５軸Ａ５を首振り角αだけ旋回させた場合、手首部１４が作業装置２０（図１参照）から受ける外力の第５軸Ａ５に沿う成分は、ロアアームＬや、アッパーアームＵの振動に影響を及ぼしやすい。このため、鉛直軸Ａ０や、第１軸Ａ１に対応するゲインを算出する際には、首振り角αに応じてゲインを変更することが好ましい。
【００７８】
図６Ｂに示したのは、アッパーアームＵを、ＸＹ平面（水平面）に対して見下し角βだけ前下がりにした姿勢のロボット１０である。つまり、アッパーアームＵを旋回させる第２軸Ａ２を通る水平面（ＸＹ平面と水平な面）と、第３軸Ａ３とのなす角が見下し角βである。
【００７９】
このように、アッパーアームＵを水平面に対して前下がりにしたり、前上がりにしたりすると、手首部１４が作業装置２０（図１参照）から受ける外力によって第４軸Ａ４が振動の影響を受けやすい。このため、第４軸Ａ４に対応するゲインを算出する際には、見下し角βに応じてゲインを変更することが好ましい。なお、図６Ｂには、第２軸Ａ２を通る水平面に対して時計回りの見下し角βを示したが、反時計回りであってもよい。
【００８０】
図７に示したのは、Ｓ軸（鉛直軸Ａ０）、Ｌ軸（第１軸Ａ１）、Ｕ軸（第２軸Ａ２）およびＢ軸（第４軸Ａ４）にそれぞれ対応する「ゲイン」と、ゲインを「変数を含んだ関数」としてあらわす場合の代表的な「変数」とを表形式でまとめた模式図である。たとえば、ゲインをｇとした場合に、「ｇ＝ｆ（ｘ）、ただし、「ｆ（）」は関数、「ｘ」は変数」とあらわされる。ここで、図７に示した「Ｌｘ」は、たとえば、鉛直軸Ａ０と第４軸Ａ４との水平距離である。なお、「Ｌｘ」を鉛直軸Ａ０と、鉛直軸Ａ０から最も離れたロボット１０の部位との水平距離としてもよい。
【００８１】
図７に示すように、Ｓ軸（鉛直軸Ａ０）のゲインである「ｇ０」は、第１変数をＬｘとし、第２変数をαとする関数である。つまり、ｇ０は、Ｌｘの大きさや、αの大きさによって変動する。なお、第１変数に伴う変動量が第２変数に伴う変動量よりも大きくなるように関数の具体的な数式を定めることとしてもよい。このようにすることで、第２変数よりも第１変数の変動をよりｇ０に反映させることができる。
【００８２】
Ｌ軸（第１軸Ａ１）のゲインである「ｇ１」は、第１変数をＬｘとし、第２変数をαとする関数である。つまり、ｇ１は、Ｌｘの大きさや、αの大きさによって変動する。なお、第１変数に伴う変動量が第２変数に伴う変動量よりも大きくなるように関数の具体的な数式を定めることとしてもよい。このようにすることで、第２変数よりも第１変数の変動をよりｇ１に反映させることができる。
【００８３】
Ｕ軸（第２軸Ａ２）のゲインである「ｇ２」は、ｇ０や、ｇ１と異なり、変数を持たない。つまり、ｇ２は、特定の変数による影響を受けることがない定数とすることができる。これは、アッパーアームＵが一般的に剛性の高い構造となっており、また、Ｓ軸（鉛直軸Ａ０）やＬ軸（第１軸Ａ１）よりもロボット１０の先端側に位置するので作業精度への影響が小さいためである。
【００８４】
Ｂ軸（第４軸Ａ４）のゲインである「ｇ３」は、第１変数をβとし、第２変数をαとする関数である。つまり、ｇ３は、βの大きさや、αの大きさによって変動する。なお、第１変数に伴う変動量が第２変数に伴う変動量よりも大きくなるように関数の具体的な数式を定めることとしてもよい。このようにすることで、第２変数よりも第１変数の変動をよりｇ３に反映させることができる。
【００８５】
このように、作用力１００（図１参照）を非干渉化動作へ変換する際に用いるゲインをロボット１０の姿勢に基づいて変更することで、ロボット１０の姿勢に応じて変化する振動の増減に柔軟に対応することができ、ロボット１０の姿勢に関わらず効果的に振動を抑制することが可能となる。
【００８６】
なお、図７では、６軸のうち回転軸である第３軸Ａ３および第５軸Ａ５については示していないが、その理由は、これらの回転軸については、図７に示した各軸よりも振動抑制の観点からは影響が小さいためである。つまり、ロボット１０による非干渉化動作を図７に示した各軸を用いて行うこととすれば足りるからである。なお、２つの回転軸を追加し、計６軸を用いてロボット１０に非干渉化動作を行わせることとしてもよい。
【００８７】
次に、図５に示したコントローラ３０が実行する軌跡指令処理の処理手順について図８を用いて説明する。図８は、軌跡指令処理の処理手順を示すフローチャートである。図８に示すように、軌跡指令部３１ｆは、記憶部３２の教示情報３２ａから軌跡情報を取得する（ステップＳ１０１）。
【００８８】
つづいて、軌跡指令部３１ｆは、軌跡上の点に逆運動学を適用する（ステップＳ１０２）。これにより、軌跡指令部３１ｆは、位置情報を駆動部２０ａ（図５参照）の回転角へ変換することで、駆動部２０ａの駆動軸角度を算出する（ステップＳ１０３）。
【００８９】
そして、軌跡指令部３１ｆは、駆動部２０ａおよび算出部３１ｅに対して移動軌跡指令を出力する（ステップＳ１０４）。次に、軌跡指令部３１ｆは、軌跡情報における軌跡が完了したか否かを判定し（ステップＳ１０５）、軌跡が完了した場合には（ステップＳ１０５，Ｙｅｓ）、処理を終了する。なお、軌跡が完了していない場合には（ステップＳ１０５，Ｎｏ）、ステップＳ１０２以降の処理を繰り返す。
【００９０】
次に、図５に示したコントローラ３０が実行する非干渉化処理の処理手順について図９を用いて説明する。図９は、非干渉化処理の処理手順を示すフローチャートである。図９に示すように、まず、動作制御部３１ｂは、ロボット１０の動作を制御することで、作業装置２０を所望する加工位置へ移動させる（ステップＳ２０１）。
【００９１】
軌跡指令部３１ｆは、移動軌跡指令のバッファリングを開始する（ステップＳ２０２）。そして、算出部３１ｅは、軌跡指令部３１ｆから移動軌跡指令を取得し（ステップＳ２０３）、ロボット１０への作用力１００（図１参照）を算出する（ステップＳ２０４）。つづいて、非干渉化部３１ｄは、位置・姿勢取得部３１ｃからロボット位置およびロボット姿勢を取得するとともに（ステップＳ２０５）、作用力１００を非干渉化動作へ変換し（ステップＳ２０６）、動作制御部３１ｂを介して非干渉化動作をロボット１０へ指示する（ステップＳ２０７）。
【００９２】
つづいて、制御部３１は、ステップＳ２０１の加工位置における全ての加工が完了したか否かを判定し（ステップＳ２０８）、全ての加工が完了した場合には（ステップＳ２０８，Ｙｅｓ）、処理を終了する。なお、全ての加工が完了していない場合には（ステップＳ２０８，Ｎｏ）、ステップＳ２０３以降の処理を繰り返す。
【００９３】
なお、ロボット１０が作業装置２０を移動させながら加工処理を実行することとしてもよい。この場合、非干渉化部３１ｄは、算出部３１ｅによって算出された作用力１００と、位置・姿勢取得部３１ｃによって取得された最新のロボット位置およびロボット姿勢とに基づいてそれぞれの駆動部１０ａを動作させることで、打消動作２００（図１参照）と、あらかじめ定められた移動動作との合成動作をロボット１０に行わせるように動作制御部３１ｂへ指示する。
【００９４】
なお、ロボット１０および作業装置２０は、図９に示した処理手順を加工対象におけるすべての加工位置について繰り返すことになる。つまり、ロボット１０は、作業装置２０をあらかじめ定められた加工位置へ移動させ、作業装置２０はかかる加工位置において加工処理を実行する。そして、ロボット１０は、次の加工位置へ作業装置２０を移動させ、作業装置２０は移動した加工位置において加工処理を実行する手順を繰り返す。
【００９５】
次に、図３および図４に示した作業装置２０の変形例について図１０を用いて説明する。図１０は、作業装置２０の変形例を示す模式図である。なお、図１０は、図４に対応する模式図である。ここで、図１０は、作業装置２０のリンク構成がいわゆる開リンクである点で、閉リンクである図４の作業装置２０とは異なる。なお、図１０は、図４と同様に、ｚ軸正方向側からみた上面図に相当する。
【００９６】
図１０に示すように、作業装置２０は、２つの駆動軸ａ１を備える。ここで、それぞれの駆動軸ａ１は、図３に示した駆動部２０ａの駆動力によって直接的に駆動される。
【００９７】
具体的には、基端側の駆動軸ａ１には、第１リンク２２ａの基端側が接続され、第１リンク２２ａの先端側には先端側の駆動軸ａ１が接続される。また、先端側の駆動軸ａ１には、第２リンク２２ｂの基端側が接続される。なお、第２リンク２２ｂの先端側は、代表点５００ｐに相当する。
【００９８】
つまり、図１０に示した作業装置２０は、２つの関節が連結された開リンク式のリンク構成である。このように、図１０に示した作業装置２０は、それぞれがｚ軸と平行な２つの駆動軸ａ１を有するので、ｘｙ平面について２つの自由度をもつ。つまり、代表点５００ｐを、ｘｙ平面に沿って任意の位置へ移動させることができる。なお、代表点５００ｐの移動軌跡は、図４に示した作業装置２０と同様に、円や楕円、矩形などの様々な形状とすることができる。
【００９９】
上述してきたように、実施形態に係るロボットシステム１は、作業装置２０と、ロボット１０と、コントローラ３０とを備える。作業装置２０は、作業モジュール５００を相対的に移動させることで作業を行う。ロボット１０には、作業装置２０が取り付けられる。
【０１００】
コントローラ３０は、作業装置２０およびロボット１０を同期制御する。コントローラ３０は、制御部３１を備える。制御部３１は、作業装置２０に対する作業モジュール５００の相対移動で発生するロボット１０への作用力１００を打ち消すようにロボット１０の動作を制御する。
【０１０１】
このように、ロボットシステム１では、ロボット１０と作業装置２０とを協調動作させることで、作業装置２０の動作によってロボット１０が振動し、結果的に作業装置２０の作業精度が低下することを防止する。したがって、作業装置２０に錘体や防振機構などの付加機構を設ける必要がない。このため、ロボットシステム１によれば、作業装置２０に付加機構を設けることなく作業装置２０の作業精度を向上させることができる。
【０１０２】
なお、上述した実施形態では、作業装置に対する作業モジュールの相対移動で発生するロボットへの作用力を打ち消すようにロボットの動作を制御し、ロボットの振動を抑制することで作業装置の作業精度を向上させる例を示した。しかしながら、これに限らず、他の手法で作業装置の作業精度を向上させることとしてもよい。
【０１０３】
一例として、ロボットの振動を抑制するのではなく、ロボットの振動が作業装置に加わることを見越して作業装置への動作指令に補正を加えることとしてもよい。たとえば、作業モジュールの動作軌跡を円としたい場合に、あえて作業装置への動作指令を円とは異なる内容に補正しておき、ロボットからの振動が加わることで作業モジュールの動作軌跡が円となるようにしてもよい。つまり、円に対応する動作指令からロボットの振動を差し引いた動作指令、すなわち、補正を加えた動作指令を作業装置に対して行うこととしてもよい。
【０１０４】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施例に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１０５】
１      ロボットシステム
１０      ロボット
１０ａ    駆動部
１０Ｂ    ベース部
１０Ｓ    旋回部
１１      第１アーム
１２      第２アーム
１３      第３アーム
１４      手首部
１４ａ    旋回部
１４ｂ    回転部
１４ｂｓ  取付面
２０      作業装置
２０ａ    駆動部
２１      本体部
２１ａ    取付部
２１ｂ    支持部
２１ｓ    取付面
２２      水平リンク機構
２２ａ    第１リンク
２２ｂ    第２リンク
３０      コントローラ
３１      制御部
３１ａ    受付部
３１ｂ    動作制御部
３１ｃ    位置・姿勢取得部
３１ｄ    非干渉化部
３１ｅ    算出部
３１ｆ    軌跡指令部
３２      記憶部
３２ａ    教示情報
３２ｂ    作業装置情報
５０      相対移動
１００      作用力
２００      打消動作
５００      作業モジュール
５００ｐ    代表点
Ａ０      鉛直軸
Ａ１      第１軸
Ａ２      第２軸
Ａ３      第３軸
Ａ４      第４軸
Ａ５      第５軸
ａ１      駆動軸
ａ２      受動軸
Ｇ        重心
Ｌ        ロアアーム
Ｓ１      第１平面
Ｕ        アッパーアーム
α        首振り角
β        見下し角
【図１】
2020121360.tif 000003
【図２】
2020121360.tif 000004
【図３】
2020121360.tif 000005
【図４】
2020121360.tif 000006
【図５】
2020121360.tif 000007
【図６Ａ】
2020121360.tif 000008
【図６Ｂ】
2020121360.tif 000009
【図７】
2020121360.tif 000010
【図８】
2020121360.tif 000011
【図９】
2020121360.tif 000012
【図１０】
2020121360.tif 000013