(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】ロボットシステム
(51)【国際特許分類】
B25J 13/00 20060101AFI20240925BHJP
B25J 9/10 20060101ALI20240925BHJP
【FI】
B25J13/00 Z
B25J9/10 A
(21)【出願番号】P 2019013896
(22)【出願日】2019-01-30
【審査請求日】2021-07-19
【審判番号】
【審判請求日】2023-05-16
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】前田 芳江
(72)【発明者】
【氏名】神谷 陽介
(72)【発明者】
【氏名】大賀 荘平
(72)【発明者】
【氏名】大園 遼
【合議体】
【審判長】鈴木 貴雄
【審判官】菊地 牧子
【審判官】田々井 正吾
(56)【参考文献】
【文献】国際公開第2016/24507(WO,A1)
【文献】国際公開第2015/146180(WO,A1)
【文献】特開2015-205357(JP,A)
【文献】特開平5-111894(JP,A)
【文献】実開平2-15282(JP,U)
【文献】特開2001-105152(JP,A)
【文献】特開平4-13579(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J1/00-21/02
(57)【特許請求の範囲】
【請求項1】
作業モジュールを本体部に対して相対的に移動させることで作業を行う作業装置と、
前記作業装置が取り付けられるロボットと、
前記作業装置および前記ロボットを同期制御するコントローラと
を備え、
前記コントローラは、
前記作業装置に対する前記作業モジュールの相対移動に伴う重心の移動で発生する前記ロボットへの作用力を打ち消すように前記ロボットの動作を制御する制御部
を備え
、
前記制御部は、
前記作用力を算出する算出部と、
前記算出部によって算出される前記作用力に基づき、当該作用力を打ち消す向きに前記作業装置を移動させる非干渉化動作を前記ロボットに行わせる非干渉化部と
を備え、
前記非干渉化部は、
前記作用力を前記非干渉化動作へ変換する際に用いるゲインを前記ロボットの姿勢に基づいて変更すること
を特徴とするロボットシステム。
【請求項2】
作業モジュールを本体部に対して相対的に移動させることで作業を行う作業装置と、
前記作業装置が取り付けられるロボットと、
前記作業装置および前記ロボットを同期制御するコントローラと
を備え、
前記コントローラは、
前記作業装置に対する前記作業モジュールの相対移動に伴う重心の移動で発生する前記ロボットへの作用力を打ち消すように前記ロボットの動作を制御する制御部
を備え、
前記制御部は、
前記作用力を算出する算出部と、
前記算出部によって算出される前記作用力に基づき、当該作用力を打ち消す向きに前記作業装置を移動させる非干渉化動作を前記ロボットに行わせる非干渉化部と
を備え、
前記作業装置は、
前記作業モジュールを支持するとともに、前記作業モジュールの代表点を第1平面に沿って移動させる水平リンク機構と、
前記水平リンク機構を駆動する駆動部と
を備え、
前記算出部は、
前記作業モジュール、前記水平リンク機構および前記駆動部に対応する作業装置情報に基づいて前記作用力を算出し、
前記ロボットは、
垂直多関節ロボットであり、先端アームに前記作業装置を取り付ける取付面を備え、
前記作業装置は、
前記第1平面と、前記ロボットの最も前記作業装置側の関節軸とが平行な姿勢で前記取付面に取り付けられること
を特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、ロボットシステムに関する。
【背景技術】
【0002】
従来、ロボットのエンドエフェクタとしてレーザ加工装置等の作業モジュールと、作業モジュールを移動させる駆動機構とを備えた作業装置を用いることが知られている。ここで、駆動機構により作業モジュールを高速動作させると、作業モジュールの移動によって発生するロボットへの作用力に伴う振動で、作業装置の作業精度を低下させるおそれがある。
【0003】
このため、作業モジュールとは別に可動式の錘体を設け、作業モジュールの移動向きと反対向きに錘体を移動させることで、上記したロボットへの作用力を抑制する作業装置が提案されている(たとえば、特許文献1参照)。なお、特許文献1では、ロボットへの作用力を「移動反力」と表現している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記した従来技術には、錘体等の付加機構を作業装置に設ける必要があり、作業装置が大型化し、重量も増加しやすいという問題がある。
【0006】
実施形態の一態様は、上記した付加機構を設けることなく作業装置の作業精度を向上させることができるロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態の一態様に係るロボットシステムは、作業装置と、ロボットと、コントローラとを備える。作業装置は、作業モジュールを本体部に対して相対的に移動させることで作業を行う。ロボットには、前記作業装置が取り付けられる。コントローラは、前記作業装置および前記ロボットを同期制御する。コントローラは、制御部を備える。制御部は、前記作業装置に対する前記作業モジュールの相対移動に伴う重心の移動で発生する前記ロボットへの作用力を打ち消すように前記ロボットの動作を制御する。前記制御部は、算出部と、非干渉化部とを備える。算出部は、前記作用力を算出する。非干渉化部は、前記算出部によって算出される前記作用力に基づき、当該作用力を打ち消す向きに前記作業装置を移動させる非干渉化動作を前記ロボットに行わせる。前記非干渉化部は、前記作用力を前記非干渉化動作へ変換する際に用いるゲインを前記ロボットの姿勢に基づいて変更する。
【発明の効果】
【0008】
実施形態の一態様によれば、付加機構を設けることなく作業装置の作業精度を向上させることができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係るロボットシステムの概要を示す図である。
【
図4】
図4は、作業装置のリンク構成を示す模式図である。
【
図5】
図5は、ロボットシステムの構成を示すブロック図である。
【
図6A】
図6Aは、ロボットの姿勢その1を示す模式図である。
【
図6B】
図6Bは、ロボットの姿勢その2を示す模式図である。
【
図7】
図7は、ゲイン変更の例を示す説明図である。
【
図8】
図8は、軌跡指令処理の処理手順を示すフローチャートである。
【
図9】
図9は、非干渉化処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して、本願の開示するロボットシステムの実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。また、以下では、ロボットによって支持される作業装置が、作業対象の切断や、作業装置に対する模様付けなどのレーザ加工を行う場合について主に説明するが、作業内容はレーザ加工に限らず、液体や気体などを噴出することによる加工であってもよいし、塗装や溶接などであってもよい。
【0011】
また、以下に示す実施形態では、「直交」、「垂直」、「平行」、「鉛直」あるいは「一致」といった表現を用いるが、厳密にこれらの状態を満たすことを要しない。すなわち、上記した各表現は、製造精度、設置精度、処理精度、検出精度などのずれを許容するものとする。
【0012】
まず、実施形態に係るロボットシステム1の概要について
図1を用いて説明する。
図1は、実施形態に係るロボットシステム1の概要を示す図である。
【0013】
なお、
図1には、説明をわかりやすくするために、ロボット10に対して固定され、鉛直上向きが正方向であるZ軸を含む3次元の直交座標系である「XYZ座標」(「X」、「Y」および「Z」は大文字のアルファベット)を示している。
【0014】
また、
図1には、作業装置20に対して固定される3次元の直交座標系である「xyz座標」(「x」、「y」および「z」は小文字のアルファベット)を併せて示している。なお、「XYZ座標」あるいは「xyz座標」は、以下の説明で用いる他の図面においても示す場合がある。
【0015】
図1に示すように、ロボットシステム1は、ロボット10と、作業装置20と、コントローラ30とを備える。ロボット10は、作業装置20を支持する。また、ロボット10に取り付けられる作業装置20は、作業モジュール500を相対的に移動させることで作業を行う。つまり、ロボット10は、作業装置20を支持するとともに、先端などに取り付けられた作業装置20を作業対象における所望の作業箇所に移動させる。
【0016】
コントローラ30は、ロボット10および作業装置20を同期制御する。ここで、「同期制御」とは、ロボット10および作業装置20に対する動作指令を同期出力する制御や、ロボット10あるいは作業装置20に対するフィードバック制御を同期させる制御を含むものとする。
【0017】
また、コントローラ30は、作業装置20に対する作業モジュール500の相対移動50によって発生するロボット10への作用力100を打ち消すように、ロボット10の動作(打消動作200)を制御する制御部31を備える。
【0018】
ここで、
図1では、制御部31がロボット10および作業装置20とそれぞれ通信することを示すために、両矢印の破線を示しているが、実際の通信線の配置を示すものではない。たとえば、コントローラ30からの通信線をロボット10へ接続するとともに、作業装置20への通信線についてはロボット10の内部を経由して作業装置20に接続することとしてもよい。また、コントローラ30と、ロボット10あるいは作業装置20との通信を無線通信としてもよい。
【0019】
なお、ロボット10の構成の詳細については
図2を、作業装置20の構成の詳細については
図3および
図4を、それぞれ用いて後述することとする。また、コントローラ30の構成の詳細については
図5を用いて後述することとする。
【0020】
ここで、
図1では、説明をわかりやすくする観点から、作業モジュール500の相対移動50がXY平面に沿い、ロボット10への作用力100の向きがX軸正方向で、ロボット10の打消動作200がX軸負方向である場合を例示したが、それぞれの向きを限定するものではない。
【0021】
つまり、作業装置20の動作に起因する振動をロボット10の動作によって抑制するロボットシステム1によれば、作業モジュール500の相対移動50の向きが、xyz座標におけるいかなる向きであっても、相対移動50に伴う作用力100を打ち消す向きにロボット10をXYZ座標において動作させることで、上記した振動を防止することができる。
【0022】
このように、
図1に示したロボットシステム1は、作業装置20を動作させることによって発生するロボット10への作用力100を打ち消すようにロボット10の動作を制御する。これにより、作用力100でロボット10が振動し、振動に伴って作業装置20の位置が変動して作業装置20による作業の作業精度が低下する事態を防止することができる。
【0023】
また、
図1に示したロボットシステム1によれば、作業装置20に錘体や防振機構などの付加機構を設ける必要がないので、作業装置20の小型軽量化を図ることができる。したがって、作業装置20に付加機構を設けることなく作業装置20の作業精度を向上させることができる。なお、本実施形態では、作業モジュール500の相対移動50の向きが、xy平面と平行である場合について主に説明することとする。
【0024】
次に、ロボット10の構成例について
図2を用いて説明する。
図2は、ロボット10の側面図である。なお、
図2には、
図1に示したXYZ座標を示している。また、
図2は、
図1と同様にY軸負方向側からみた側面図に相当する。
【0025】
図2に示すように、ロボット10は、鉛直軸A0~第5軸A5の6軸を有する垂直多関節ロボットである。ロボット10は、基端側から先端側へ向けて、ベース部10Bと、旋回部10Sと、第1アーム11と、第2アーム12と、第3アーム13と、手首部14とを備える。なお、以下では、第1アーム11を「ロアアームL」と、第2アーム12および第3アーム13を「アッパーアームU」と、それぞれ呼ぶことがある。
【0026】
ベース部10Bは、床面などの設置面に設置される。旋回部10Sは、ベース部10Bに支持され、設置面と垂直な鉛直軸A0まわりに回転する。第1アーム11は、旋回部10Sに支持され、鉛直軸A0と垂直な第1軸A1まわりに旋回する。第2アーム12は、第1アーム11に支持され、第1軸A1と平行な第2軸A2まわりに旋回する。なお、
図2では、最も基端側の関節軸が鉛直軸A0である場合を示したが、かかる関節軸の向きは鉛直方向に限られない。つまり、最も基端側の関節軸の向きは任意の向きとすることができる。
【0027】
第3アーム13は、第2アーム12に基端側が支持され、第2軸A2と垂直な第3軸A3まわりに回転する。また、手首部14は、旋回部14aと、回転部14bとを備える。旋回部14aは、第3アーム13の先端側に基端側が支持され、第2軸A2と平行な第4軸A4まわりに旋回する。回転部14bは、旋回部14aの先端側に基端側が支持され、第4軸A4と直交する第5軸A5まわりに回転する。
【0028】
ここで、隣り合うアーム同士の相対角度を変化させずに動作する関節軸を「回転軸」と、隣り合うアーム同士の相対角度を変化させつつ動作する関節軸を「旋回軸」と、それぞれ呼ぶこととする。なお、
図2に示したロボット10では、鉛直軸A0、第3軸A3および第5軸A5が、回転軸に相当し、第1軸A1、第2軸A2および第4軸A4が、旋回軸に相当する。
【0029】
ここで、手首部14の先端側(回転部14bの先端側)には、取付面14bsが設けられ、取付面14bsには、作業内容に応じて各種のエンドエフェクタが着脱可能に固定される。なお、本実施形態では、
図1に示した作業装置20が取付面14bsに取り付けられる場合について主に説明する。なお、
図2に示したロボット10では、第5軸A5が、「ロボット10の最も作業装置20側の関節軸」に相当する。
【0030】
図2に示したように、ロボット10を垂直多関節ロボットとすることで、多自由度をもつ力およびモーメントである作用力100(
図1参照)にもロボット10の動作で対応することができる。
【0031】
なお、
図2では、ロボット10として6軸の垂直多関節ロボットを例示したが、軸数を5軸以下としてもよく、7軸以上としてもよい。また、ロボット10をいわゆる水平多関節ロボットとすることとしてもよい。このように、ロボット10を水平多関節ロボットとする場合には、作業モジュール500の相対移動50の向きがXY平面(水平面)と平行であることが好ましい。
【0032】
つまり、ロボット10の軸構成は、作業モジュール500の動作に伴う作用力100(力およびモーメント)を打ち消す向きへの動作が可能な軸構成であれば足りる。なお、
図2に示したように、ロボット10を6軸以上とすることで、6つの自由度をもつ作用力100(力およびモーメント)にも、ロボット10の6自由度の動作で対応することができる。
【0033】
次に、作業装置20の構成例について
図3および
図4を用いて説明する。
図3は、作業装置20の側面図であり、
図4は、作業装置20のリンク構成を示す模式図である。なお、
図3および
図4には、
図1に示したxyz座標をそれぞれ示している。
図3は、
図1と同様にy軸負方向側からみた側面図に相当し、
図4は、z軸正方向側からみた上面図に相当する。
【0034】
まず、作業装置20の側面形状について
図3を用いて説明する。
図3に示すように、作業装置20は、駆動部20aと、本体部21と、水平リンク機構22とを備える。なお、作業装置20は、2つの駆動部20aと、いわゆる閉リンクを構成する水平リンク機構22とを備えるが、この点の詳細については
図4を用いて後述する。
【0035】
作業装置20は、水平リンク機構22を介して作業モジュール500を支持する。作業モジュール500は、たとえば、レーザを照射することで作業対象を加工する加工モジュールである。なお、かかる作業モジュール500を含めた全体を作業装置20と呼ぶこととしてもよい。
【0036】
なお、
図3では、作業モジュール500の代表点500pを、作業モジュール500のz軸負方向側の先端とした場合を示しているが、代表点500pは、作業モジュール500上の他の位置としてもよい。また、代表点500pを作業モジュール500から所定距離だけ離れた位置とすることとしてもよい。
【0037】
図3に示したように、作業装置20は、作業モジュール500を支持するとともに、作業モジュール500の代表点500pを、
図3に示した第1平面S1に沿って移動させる。また、作業装置20は、第1平面S1と、
図2に示したロボット10の最も作業装置20側の関節軸に相当する第5軸A5とが平行な姿勢でロボット10の取付面14bsに取り付けられる。
【0038】
このように、ロボット10に対する作業装置20の取り付け向きを限定することで、ロボット10に対する作用力100(
図1参照)の算出負荷を低減することができる。さらに、作業装置20の動作によって発生する作用力100が、ロボット10の最も作業装置20側の関節軸(
図2に示した第5軸A5)へ与える影響を抑えることができ、作業装置20の作業精度を向上させることができる。
【0039】
以下、作業装置20の構成についてさらに詳細に説明する。駆動部20aは、水平リンク機構22を駆動するサーボモータ等の回転式アクチュエータである。なお、本実施形態では、駆動部20aがサーボモータ等の回転式アクチュエータである場合について説明するが、直動式等のアクチュエータであってもよい。
【0040】
本体部21は、取付部21aと、支持部21bとを備える。取付部21aは、
図3に示したyz平面と平行な取付面21sを有しており、取付面21sが、
図2に示したロボット10の取付面14bsと接するようにロボット10に取り付けられる。ここで、ロボット10の取付面14bsは、ロボット10の第5軸A5(
図2参照)と垂直であるので、作業装置20の取付面21sも第5軸A5(
図2参照)と垂直となる。
【0041】
支持部21bは、駆動部20aと、駆動部20aによって駆動される水平リンク機構22の基端側とを支持する。水平リンク機構22は、第1リンク22aと、第2リンク22bとを備える。第1リンク22aは、基端側が本体部21に支持され、z軸に沿う駆動軸a1まわりに旋回する。
【0042】
また、第2リンク22bは、基端側が第1リンク22aの先端側で支持され、駆動軸a1と平行な受動軸a2まわりに旋回する。また、第2リンク22bは、作業モジュール500を着脱可能に支持する。つまり、駆動部20aによって駆動される水平リンク機構22は、作業モジュール500の代表点500pを、xy平面と平行な第1平面S1に沿って移動させる。なお、
図4には、駆動軸a1まわりのリンクの旋回を両矢印の実線で、受動軸a2まわりのリンクの旋回を両矢印の破線で、それぞれ示している。
【0043】
このように、作業モジュール500における代表点500pの移動軌跡を第1平面S1に限定する機構を用いることで、作業装置20の動作に伴って発生するロボット10への作用力100(
図1参照)の算出負荷を低減することができる。なお、代表点500pの移動軌跡は、円や楕円、矩形などの様々な形状とすることができる。
【0044】
図3には、作業モジュール500を作業装置20に含めた場合の重心Gを示している。上記したように、作業モジュール500の代表点500pを第1平面S1に沿って移動させると、重心Gも第1平面S1と平行な平面上を移動する。これにより、ロボット10には、
図1に示した作用力100が付加されることになる。
【0045】
なお、重心Gの移動平面(第1平面S1と平行な平面)上に第5軸A5(
図2参照)がある場合、重心Gの移動が第5軸A5まわりの回転へ及ぼす影響を排除すことができる。したがって、重心Gの移動平面と、第5軸A5との距離を小さくすればするほど、重心Gの移動に伴う第5軸A5への影響を抑えることが可能となる。
【0046】
次に、作業装置20のリンク構成について
図4を用いて説明する。
図4に示すように、作業装置20は、2つの駆動軸a1と、3つの受動軸a2とを備える。ここで、駆動軸a1は、
図3に示した駆動部20aの駆動力によって直接的に駆動される。一方、受動軸a2は、リンクを介して受動的に動作する。
【0047】
具体的には、作業装置20は、基端側に2つの駆動軸a1を備える。それぞれの駆動軸a1には、第1リンク22aの基端側が接続され、第1リンク22aの先端側には受動軸a2が接続される。それぞれの受動軸a2には、第2リンク22bの基端側が接続され、それぞれの第2リンク22bの先端側は共通の受動軸a2に接続される。なお、代表点500pは、いずれかの第2リンク22bからオフセットされた位置(
図4では、一方の第2リンク22bに固定された別リンク)に設けられる。なお、代表点500pを、他方の第2リンク22bに固定された別リンクに設けることとしてもよい。
【0048】
つまり、作業装置20は、5つの関節が連結された閉リンク式のリンク構成である。また、作業装置20は、それぞれがz軸と平行な駆動軸a1および受動軸a2を有しており、2つの駆動軸a1を有している。したがって、作業装置20は、xy平面について2つの自由度をもつ。つまり、代表点500pを、xy平面に沿って任意の位置へ移動させることができる。
【0049】
なお、
図4には、閉リンク式のリンク機構を示したが、開リンク式のリンク機構とすることとしてもよい。なお、この点については、
図10を用いて後述する。また、
図4には、いずれかの第2リンク22bからオフセットされた位置に代表点500pがある場合を示したが、いずれかの第2リンク22b上に代表点500pを設けることとしてもよい。また、代表点500pを、いずれかの第1リンク22aからオフセットされた位置や、いずれかの第1リンク22a上に設けることとしてもよい。また、代表点500pをいずれかの受動軸a2上に設けることとしてもよい。
【0050】
次に、実施形態に係るロボットシステム1の構成について
図5を用いて説明する。
図5は、ロボットシステム1の構成を示すブロック図である。
図5に示すように、ロボットシステム1は、ロボット10と、作業装置20と、コントローラ30とを備える。また、ロボット10および作業装置20は、それぞれ、コントローラ30に接続されている。
【0051】
図5に示すように、ロボット10は、
図2に示した各軸(鉛直軸A0~第5軸A5)に対応する駆動部10aをそれぞれ有する。ここで、駆動部10aは、サーボモータ等の回転式アクチュエータであり、コントローラ30によって動作を制御される。
【0052】
作業装置20は、
図3に示した作業モジュール500を相対的に移動させる駆動部20aを備える。ここで、本実施形態では、駆動部20aがサーボモータ等の回転式アクチュエータである場合について説明するが、直動式等のアクチュエータであってもよい。なお、駆動部20aは、駆動部10aと協調動作するように、コントローラ30によって同期制御される。
【0053】
コントローラ30は、制御部31と、記憶部32とを備える。制御部31は、受付部31aと、動作制御部31bと、位置・姿勢取得部31cと、非干渉化部31dと、算出部31eと、軌跡指令部31fとを備える。また、記憶部32は、教示情報32aと、作業装置情報32bとを記憶する。
【0054】
ここで、コントローラ30は、たとえば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、入出力ポートなどを有するコンピュータや各種の回路を含む。
【0055】
コンピュータのCPUは、たとえば、ROMに記憶されたプログラムを読み出して実行することによって、制御部31の受付部31a、動作制御部31b、位置・姿勢取得部31c、非干渉化部31d、算出部31eおよび軌跡指令部31fとして機能する。
【0056】
また、受付部31a、動作制御部31b、位置・姿勢取得部31c、非干渉化部31d、算出部31eおよび軌跡指令部31fの少なくともいずれか一つまたは全部をASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成することもできる。
【0057】
記憶部32は、たとえば、RAMやHDDに対応する。RAMやHDDは、教示情報32aと、作業装置情報32bとを記憶することができる。なお、コントローラ30は、有線や無線のネットワークで接続された他のコンピュータや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。さらに、コントローラ30を複数台の相互に同期可能な装置として構成してもよく、上位または下位の装置と通信可能な階層式の装置として構成してもよい。
【0058】
制御部31は、ロボット10および作業装置20を協調動作させる制御を行う。なお、コントローラ30が複数台で構成される場合には、制御部31は、コントローラ30間の同期をとる処理を併せて行う。
【0059】
受付部31aは、教示情報32aおよび作業装置情報32bを受け付け、記憶部32へ記憶させる。動作制御部31bは、記憶部32の教示情報32aに基づいてロボット10の動作を制御する。
【0060】
また、動作制御部31bは、ロボット10の駆動部10aにおけるエンコーダ値を用いつつフィードバック制御を行うなどしてロボット10の動作精度を向上させる。ここで、教示情報32aは、ロボット10および作業装置20へ動作を教示するティーチング段階で作成され、ロボット10の動作経路を規定するプログラムである「ジョブ」を含んだ情報である。
【0061】
位置・姿勢取得部31cは、動作制御部31bからロボット10の取付面14bsの位置および姿勢を取得し、取得した姿勢を非干渉化部31dへ渡す。以下では、ロボット10の取付面14bsの位置や姿勢を、単に「ロボット位置」や「ロボット姿勢」と記載する場合がある。なお、位置・姿勢取得部31cが取得するロボット10の姿勢の例については、
図6Aおよび
図6Bを用いて後述する。
【0062】
非干渉化部31dは、算出部31eによって算出される作用力100(
図1参照)に基づき、作用力100を打ち消す向きに作業装置20を移動させる非干渉化動作をロボット10に行わせる。
【0063】
具体的には、非干渉化部31dは、算出部31eによって算出された作用力100と、位置・姿勢取得部31cによって取得されたロボット10の姿勢とに基づいてそれぞれの駆動部10aを動作させることで、ロボット10に打消動作200(
図1参照)を行わせるように動作制御部31bへ指示する。
【0064】
なお、非干渉化部31dは、作用力100(
図1参照)を非干渉化動作へ変換する際に用いるゲイン(非干渉化動作に対する作用力100の寄与度)をロボット10の姿勢に基づいて変更する処理を併せて行うが、この点の詳細については
図7を用いて後述する。
【0065】
算出部31eは、作業装置20の動作によってロボット10に作用する作用力100を算出する。ここで、算出部31eは、軌跡指令部31fが作業装置20の駆動部20aへ出力する移動軌跡指令を取得する。また、算出部31eは、
図3に示した作業モジュール500、水平リンク機構22および駆動部20aの動作特性や重量等を含んだ作業装置情報32bを取得する。そして、算出部31eは、取得した移動軌跡指令および作業装置情報32bに基づいて作用力100(
図1参照)を算出する。
【0066】
このように、算出部31eが作用力100を算出し、算出された作用力100に基づいて非干渉化部31dがロボット10に非干渉化動作を行わせることで、作業装置20の動作に伴って発生するロボット10の振動を抑制し、結果的に、作業装置20の作業精度を向上させることができる。
【0067】
具体的には、算出部31eは、上記した移動軌跡指令からロボット10の取付面14bs(
図2参照)に作用する作用力100(
図1参照)を算出する。ここで、作用力100は、リンク機構について公知の逆動力学演算手法を用いて算出することができる。そして、算出部31eは、求めた作用力100を作業装置20に固定されたxyz座標から、ロボット10に固定されたXYZ座標へ変換することで、ロボット10の取付面14bs(
図2参照)に作用する作用力100(
図1参照)を算出する。
【0068】
このように、作業装置20への動作指示に相当する移動軌跡指令を用いて作用力100を算出することで、作業装置20に対する作業モジュール500の相対移動に応じて適切に振動を抑制することが可能となる。
【0069】
なお、作用力100には、上記したように、3つの自由度の力および3つの自由度のモーメントが含まれるが、算出負荷を低減するために、力やモーメントの自由度のうち一部を無視することとしてもよい。
【0070】
軌跡指令部31fは、代表点500p(
図3参照)の移動軌跡を示す「軌跡情報」に基づき、作業装置20の駆動部20aに対して移動軌跡指令を出力する。ここで、「軌跡情報」は、教示情報32aの一部である。つまり、「軌跡情報」は、教示情報32aに含まれる。また、軌跡指令部31fは、移動軌跡指令を駆動部20aとともに、算出部31eにも出力する。なお、「軌跡情報」から移動軌跡指令への変換には、いわゆる逆運動学を用いることができる。
【0071】
なお、軌跡指令部31fは、作業装置20の動作よりも、ロボット10による非干渉化動作が遅れることを防止するために、作業装置20に対する移動軌跡指令をいったんバッファリングしたうえで作業装置20へ出力することによって作業装置20の動作を遅らせる。一方、軌跡指令部31fは、バッファリングする前の移動軌跡指令を算出部31eへ出力する。つまり、算出部31eによる作用力100の算出は、作業装置20の実際の動作よりも早く開始される。
【0072】
このように、作業装置20に対する移動軌跡指令を遅らせることで、非干渉化動作の算出を作業装置20の実際の動作よりも早く開始することができ、ロボット10の非干渉化動作が作業装置20の動作に遅れる事態を防止することが可能となる。なお、移動軌跡指令のバッファリングについては
図9を用いて後述することとする。
【0073】
次に、
図5に示した非干渉化部31dが、作用力100(
図1参照)を非干渉化動作へ変換する際に用いるゲインを、ロボット10の姿勢に応じて変更する処理について、
図6A、
図6Bおよび
図7を用いて説明する。
図6Aおよび
図6Bは、ロボット10の姿勢その1およびその2をそれぞれ示す模式図であり、
図7は、ゲイン変更の例を示す説明図である。
【0074】
なお、
図6Aは、ロボット10をZ軸正方向側からみた上面図に相当し、
図6Bは、
図1と同様に、ロボット10をY軸負方向側からみた側面図に相当する。また、
図6Aに示す首振り角αと、
図6Bに示す見下し(みおろし)角βとは、
図7に示すゲインの算出に用いられる。
【0075】
図6Aに示したのは、ロアアームL(第1アーム11)をX軸に沿う姿勢としたロボット10である。なお、
図6Aでは、上面視で、ロアアームLの延伸向きがX軸正方向を向いた場合を示している。なお、
図6Aに示した姿勢において、第1軸A1および第2軸A2は、Y軸と平行である。また、アッパーアームU(第2アーム12および第3アーム13)の延伸向きもロアアームLと同様にX軸正方向を向いている。
【0076】
ここで、X軸と平行な第3軸A3と、第5軸A5とのなす角を、首振り角αと定義する。なお、
図6Aでは、第3アーム13を第3軸A3まわりに回転させることで、第4軸A4をZ軸と平行にした姿勢を示したが、第4軸A4は、Z軸と平行でなくてもよい。また、
図6Aでは、第3軸A3がX軸と平行な場合を示したが、第3軸A3の向きは、XY平面におけるいずれの向きであってもよい。また、
図6Aには、第3軸A3に対して時計回りの首振り角αを示したが、反時計回りであってもよい。
【0077】
図6Aに示したように、第5軸A5を首振り角αだけ旋回させた場合、手首部14が作業装置20(
図1参照)から受ける外力の第5軸A5に沿う成分は、ロアアームLや、アッパーアームUの振動に影響を及ぼしやすい。このため、鉛直軸A0や、第1軸A1に対応するゲインを算出する際には、首振り角αに応じてゲインを変更することが好ましい。
【0078】
図6Bに示したのは、アッパーアームUを、XY平面(水平面)に対して見下し角βだけ前下がりにした姿勢のロボット10である。つまり、アッパーアームUを旋回させる第2軸A2を通る水平面(XY平面と水平な面)と、第3軸A3とのなす角が見下し角βである。
【0079】
このように、アッパーアームUを水平面に対して前下がりにしたり、前上がりにしたりすると、手首部14が作業装置20(
図1参照)から受ける外力によって第4軸A4が振動の影響を受けやすい。このため、第4軸A4に対応するゲインを算出する際には、見下し角βに応じてゲインを変更することが好ましい。なお、
図6Bには、第2軸A2を通る水平面に対して時計回りの見下し角βを示したが、反時計回りであってもよい。
【0080】
図7に示したのは、S軸(鉛直軸A0)、L軸(第1軸A1)、U軸(第2軸A2)およびB軸(第4軸A4)にそれぞれ対応する「ゲイン」と、ゲインを「変数を含んだ関数」としてあらわす場合の代表的な「変数」とを表形式でまとめた模式図である。たとえば、ゲインをgとした場合に、「g=f(x)、ただし、「f()」は関数、「x」は変数」とあらわされる。ここで、
図7に示した「Lx」は、たとえば、鉛直軸A0と第4軸A4との水平距離である。なお、「Lx」を鉛直軸A0と、鉛直軸A0から最も離れたロボット10の部位との水平距離としてもよい。
【0081】
図7に示すように、S軸(鉛直軸A0)のゲインである「g0」は、第1変数をLxとし、第2変数をαとする関数である。つまり、g0は、Lxの大きさや、αの大きさによって変動する。なお、第1変数に伴う変動量が第2変数に伴う変動量よりも大きくなるように関数の具体的な数式を定めることとしてもよい。このようにすることで、第2変数よりも第1変数の変動をよりg0に反映させることができる。
【0082】
L軸(第1軸A1)のゲインである「g1」は、第1変数をLxとし、第2変数をαとする関数である。つまり、g1は、Lxの大きさや、αの大きさによって変動する。なお、第1変数に伴う変動量が第2変数に伴う変動量よりも大きくなるように関数の具体的な数式を定めることとしてもよい。このようにすることで、第2変数よりも第1変数の変動をよりg1に反映させることができる。
【0083】
U軸(第2軸A2)のゲインである「g2」は、g0や、g1と異なり、変数を持たない。つまり、g2は、特定の変数による影響を受けることがない定数とすることができる。これは、アッパーアームUが一般的に剛性の高い構造となっており、また、S軸(鉛直軸A0)やL軸(第1軸A1)よりもロボット10の先端側に位置するので作業精度への影響が小さいためである。
【0084】
B軸(第4軸A4)のゲインである「g3」は、第1変数をβとし、第2変数をαとする関数である。つまり、g3は、βの大きさや、αの大きさによって変動する。なお、第1変数に伴う変動量が第2変数に伴う変動量よりも大きくなるように関数の具体的な数式を定めることとしてもよい。このようにすることで、第2変数よりも第1変数の変動をよりg3に反映させることができる。
【0085】
このように、作用力100(
図1参照)を非干渉化動作へ変換する際に用いるゲインをロボット10の姿勢に基づいて変更することで、ロボット10の姿勢に応じて変化する振動の増減に柔軟に対応することができ、ロボット10の姿勢に関わらず効果的に振動を抑制することが可能となる。
【0086】
なお、
図7では、6軸のうち回転軸である第3軸A3および第5軸A5については示していないが、その理由は、これらの回転軸については、
図7に示した各軸よりも振動抑制の観点からは影響が小さいためである。つまり、ロボット10による非干渉化動作を
図7に示した各軸を用いて行うこととすれば足りるからである。なお、2つの回転軸を追加し、計6軸を用いてロボット10に非干渉化動作を行わせることとしてもよい。
【0087】
次に、
図5に示したコントローラ30が実行する軌跡指令処理の処理手順について
図8を用いて説明する。
図8は、軌跡指令処理の処理手順を示すフローチャートである。
図8に示すように、軌跡指令部31fは、記憶部32の教示情報32aから軌跡情報を取得する(ステップS101)。
【0088】
つづいて、軌跡指令部31fは、軌跡上の点に逆運動学を適用する(ステップS102)。これにより、軌跡指令部31fは、位置情報を駆動部20a(
図5参照)の回転角へ変換することで、駆動部20aの駆動軸角度を算出する(ステップS103)。
【0089】
そして、軌跡指令部31fは、駆動部20aおよび算出部31eに対して移動軌跡指令を出力する(ステップS104)。次に、軌跡指令部31fは、軌跡情報における軌跡が完了したか否かを判定し(ステップS105)、軌跡が完了した場合には(ステップS105,Yes)、処理を終了する。なお、軌跡が完了していない場合には(ステップS105,No)、ステップS102以降の処理を繰り返す。
【0090】
次に、
図5に示したコントローラ30が実行する非干渉化処理の処理手順について
図9を用いて説明する。
図9は、非干渉化処理の処理手順を示すフローチャートである。
図9に示すように、まず、動作制御部31bは、ロボット10の動作を制御することで、作業装置20を所望する加工位置へ移動させる(ステップS201)。
【0091】
軌跡指令部31fは、移動軌跡指令のバッファリングを開始する(ステップS202)。そして、算出部31eは、軌跡指令部31fから移動軌跡指令を取得し(ステップS203)、ロボット10への作用力100(
図1参照)を算出する(ステップS204)。つづいて、非干渉化部31dは、位置・姿勢取得部31cからロボット位置およびロボット姿勢を取得するとともに(ステップS205)、作用力100を非干渉化動作へ変換し(ステップS206)、動作制御部31bを介して非干渉化動作をロボット10へ指示する(ステップS207)。
【0092】
つづいて、制御部31は、ステップS201の加工位置における全ての加工が完了したか否かを判定し(ステップS208)、全ての加工が完了した場合には(ステップS208,Yes)、処理を終了する。なお、全ての加工が完了していない場合には(ステップS208,No)、ステップS203以降の処理を繰り返す。
【0093】
なお、ロボット10が作業装置20を移動させながら加工処理を実行することとしてもよい。この場合、非干渉化部31dは、算出部31eによって算出された作用力100と、位置・姿勢取得部31cによって取得された最新のロボット位置およびロボット姿勢とに基づいてそれぞれの駆動部10aを動作させることで、打消動作200(
図1参照)と、あらかじめ定められた移動動作との合成動作をロボット10に行わせるように動作制御部31bへ指示する。
【0094】
なお、ロボット10および作業装置20は、
図9に示した処理手順を加工対象におけるすべての加工位置について繰り返すことになる。つまり、ロボット10は、作業装置20をあらかじめ定められた加工位置へ移動させ、作業装置20はかかる加工位置において加工処理を実行する。そして、ロボット10は、次の加工位置へ作業装置20を移動させ、作業装置20は移動した加工位置において加工処理を実行する手順を繰り返す。
【0095】
次に、
図3および
図4に示した作業装置20の変形例について
図10を用いて説明する。
図10は、作業装置20の変形例を示す模式図である。なお、
図10は、
図4に対応する模式図である。ここで、
図10は、作業装置20のリンク構成がいわゆる開リンクである点で、閉リンクである
図4の作業装置20とは異なる。なお、
図10は、
図4と同様に、z軸正方向側からみた上面図に相当する。
【0096】
図10に示すように、作業装置20は、2つの駆動軸a1を備える。ここで、それぞれの駆動軸a1は、
図3に示した駆動部20aの駆動力によって直接的に駆動される。
【0097】
具体的には、基端側の駆動軸a1には、第1リンク22aの基端側が接続され、第1リンク22aの先端側には先端側の駆動軸a1が接続される。また、先端側の駆動軸a1には、第2リンク22bの基端側が接続される。なお、第2リンク22bの先端側は、代表点500pに相当する。
【0098】
つまり、
図10に示した作業装置20は、2つの関節が連結された開リンク式のリンク構成である。このように、
図10に示した作業装置20は、それぞれがz軸と平行な2つの駆動軸a1を有するので、xy平面について2つの自由度をもつ。つまり、代表点500pを、xy平面に沿って任意の位置へ移動させることができる。なお、代表点500pの移動軌跡は、
図4に示した作業装置20と同様に、円や楕円、矩形などの様々な形状とすることができる。
【0099】
上述してきたように、実施形態に係るロボットシステム1は、作業装置20と、ロボット10と、コントローラ30とを備える。作業装置20は、作業モジュール500を相対的に移動させることで作業を行う。ロボット10には、作業装置20が取り付けられる。
【0100】
コントローラ30は、作業装置20およびロボット10を同期制御する。コントローラ30は、制御部31を備える。制御部31は、作業装置20に対する作業モジュール500の相対移動で発生するロボット10への作用力100を打ち消すようにロボット10の動作を制御する。
【0101】
このように、ロボットシステム1では、ロボット10と作業装置20とを協調動作させることで、作業装置20の動作によってロボット10が振動し、結果的に作業装置20の作業精度が低下することを防止する。したがって、作業装置20に錘体や防振機構などの付加機構を設ける必要がない。このため、ロボットシステム1によれば、作業装置20に付加機構を設けることなく作業装置20の作業精度を向上させることができる。
【0102】
なお、上述した実施形態では、作業装置に対する作業モジュールの相対移動で発生するロボットへの作用力を打ち消すようにロボットの動作を制御し、ロボットの振動を抑制することで作業装置の作業精度を向上させる例を示した。しかしながら、これに限らず、他の手法で作業装置の作業精度を向上させることとしてもよい。
【0103】
一例として、ロボットの振動を抑制するのではなく、ロボットの振動が作業装置に加わることを見越して作業装置への動作指令に補正を加えることとしてもよい。たとえば、作業モジュールの動作軌跡を円としたい場合に、あえて作業装置への動作指令を円とは異なる内容に補正しておき、ロボットからの振動が加わることで作業モジュールの動作軌跡が円となるようにしてもよい。つまり、円に対応する動作指令からロボットの振動を差し引いた動作指令、すなわち、補正を加えた動作指令を作業装置に対して行うこととしてもよい。
【0104】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施例に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【0105】
1 ロボットシステム
10 ロボット
10a 駆動部
10B ベース部
10S 旋回部
11 第1アーム
12 第2アーム
13 第3アーム
14 手首部
14a 旋回部
14b 回転部
14bs 取付面
20 作業装置
20a 駆動部
21 本体部
21a 取付部
21b 支持部
21s 取付面
22 水平リンク機構
22a 第1リンク
22b 第2リンク
30 コントローラ
31 制御部
31a 受付部
31b 動作制御部
31c 位置・姿勢取得部
31d 非干渉化部
31e 算出部
31f 軌跡指令部
32 記憶部
32a 教示情報
32b 作業装置情報
50 相対移動
100 作用力
200 打消動作
500 作業モジュール
500p 代表点
A0 鉛直軸
A1 第1軸
A2 第2軸
A3 第3軸
A4 第4軸
A5 第5軸
a1 駆動軸
a2 受動軸
G 重心
L ロアアーム
S1 第1平面
U アッパーアーム
α 首振り角
β 見下し角