(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】異常検出装置及び異常検出方法
(51)【国際特許分類】
B25J 19/06 20060101AFI20241217BHJP
B25J 17/00 20060101ALI20241217BHJP
B25J 9/06 20060101ALI20241217BHJP
H01L 21/677 20060101ALN20241217BHJP
【FI】
B25J19/06
B25J17/00 G
B25J9/06 D
H01L21/68 A
(21)【出願番号】P 2021088230
(22)【出願日】2021-05-26
【審査請求日】2024-04-15
(73)【特許権者】
【識別番号】000002233
【氏名又は名称】ニデックインスツルメンツ株式会社
(74)【代理人】
【識別番号】100123788
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】花岡 正志
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2013-133192(JP,A)
【文献】特開2020-110877(JP,A)
【文献】特開2006-102889(JP,A)
【文献】特開平06-345240(JP,A)
【文献】特開2005-216213(JP,A)
【文献】特開2015-036184(JP,A)
【文献】米国特許第10018256(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
H01L 21/67 - 21/687
(57)【特許請求の範囲】
【請求項1】
各軸のモータがサーボドライバによって駆動制御されるロボットにおける異常を検出する異常検出装置であって、
前記ロボットにおいて歯付きベルトを介して前記モータによって駆動される軸を検出対象軸として、前記検出対象軸の前記モータに対応する前記サーボドライバにおけるトルク指令値の絶対値が第1閾値以下となりそののち前記第1閾値を超えたときを基準点として、前記基準点から所定の検出適用時間内に前記トルク指令値の絶対値が第2閾値を超えた場合に、前記検出対象軸に異常が発生したと判定する異常検出部を備える、異常検出装置。
【請求項2】
前記ロボットは垂直方向に移動させる垂直軸を備えており、
前記検出対象軸は前記垂直軸である、請求項1に記載の異常検出装置。
【請求項3】
前記ロボットにおいて前記垂直軸は各々の段が前記モータを備える多段構成であり、
前記異常検出部は前記段ごとの前記モータの前記トルク指令値に基づいて、前記段ごとに前記異常の発生の有無を判定する、請求項2に記載の異常検出装置。
【請求項4】
前記ロボットは、水平多関節ロボットである、請求項1乃至3のいずれか1項に記載の異常検出装置。
【請求項5】
各軸のモータがサーボドライバによって駆動制御されるロボットにおける異常を検出する異常検出方法であって、
前記ロボットにおいて歯付きベルトを介して前記モータによって駆動される軸を検出対象軸として、前記検出対象軸の前記モータに対応する前記サーボドライバにおけるトルク指令値の絶対値が第1閾値以下となりそののち前記第1閾値を超えたときを基準点として、前記基準点から所定の検出適用時間内に前記トルク指令値の絶対値が第2閾値を超えた場合に、前記検出対象軸に異常が発生したと判定する、異常検出方法。
【請求項6】
前記ロボットは垂直方向に移動させる垂直軸を備えており、
前記検出対象軸は前記垂直軸である、請求項5に記載の異常検出方法。
【請求項7】
前記ロボットにおいて前記垂直軸は各々の段が前記モータを備える多段構成であり、
前記段ごとの前記モータの前記トルク指令値に基づいて、前記段ごとに前記異常の発生の有無を判定する、請求項6に記載の異常検出方法。
【請求項8】
前記ロボットは水平多関節ロボットである、請求項5乃至7のいずれか1項に記載の異常検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、産業用ロボットにおける駆動用歯付きベルトの歯飛びなどの異常を検出する異常検出装置及び異常検出方法に関する。
【背景技術】
【0002】
ワークの搬送などに用いられる産業用ロボット(以下、ロボットと呼ぶ)では、各軸を駆動するためのモータが設けられるとともに、モータの駆動力を各軸のアームに伝達するための伝達機構が設けられる。伝達機構は、例えば、減速機、プーリー、歯付きベルトなどによって構成される。以下において、歯付きベルトのことを単にベルトと記載する。ロボットでは、伝達機構における異常が起きたときにはそれを検出できることが求められている。伝達機構における異常のうちベルトの歯飛びは、ベルトの破断や脱落の予兆現象であるとともに、ロボット手先の位置ずれという異常をもたらすので、ベルトの歯飛びが発生したときは、直ちにロボットの駆動を停止するとともにブレーキを作動させて各軸のアーム等が動かないようにする必要がある。そのため、伝達機構で発生したベルトの歯飛びを素早くかつ確実に検出できることが求められる。
【0003】
ロボットでは、モータに取り付けられたエンコーダなどの検出器によってモータの位置や速度を検出してフィードバックし、入力した位置指令とフィードバック値とに基づいてモータに対するトルク指令を生成し、モータを制御している。ロボットのいずれかの軸において例えばベルトの歯飛びが発生した場合、その軸のモータが実質的に空転状態となるので、トルク指令値にもその影響が表れる。そこで特許文献1は、モータに対するトルク指令信号を積分処理し、その飽和状態となるまでの時間が所定時間より長くなった場合にベルトが歯飛びが発生したと判断することを開示している。
【0004】
伝達機構一般の故障を検出する方法として特許文献2は、ロボットの各駆動軸への指令角度とモータの位置データとしての実角度とモータに対する駆動電流とに基づいて入力側の仕事率と負荷側の仕事率とを算出し、これらの仕事率の比または差により伝達機構における故障の有無を判定する方法を開示している。特許文献3は、各軸に設けられる減速機の異常を検出する方法として、速度指令と速度検出値とトルク検出値とに基づいて減速機における異常の有無を判定する方法を開示している。特許文献3に記載された方法は、減速機における異常の検出を目的とするものであり、ベルトの歯飛びの検出に用いることはできない。
【先行技術文献】
【特許文献】
【0005】
【文献】特開平5-346812号公報
【文献】特開平11-129186号公報
【文献】特開2006-102889号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述したようにロボットでは、ベルトの歯飛びを素早く確実に検出できることが求められる。ロボットを鉛直方向に移動させる軸すなわち垂直軸に着目すると、垂直軸に関してロボットを静止させるときは、ロボットの自重が垂直軸に常時加わっているので、この自重による負荷に抗するためにモータは、常時、保持トルクを発生してロボットを支える必要がある。ここで垂直軸のベルトに歯飛びが起きると、ロボットの自重がモータに伝達されなくなるので、垂直軸のモータの保持トルクはほぼ0に変化する。一方、ロボットの正規の駆動条件として垂直軸下降方向へ加速しているときにおいても、ロボットの自重が作用するので、瞬間的にトルク指令値が0近辺となることがある。特許文献1に記載された方法では、ベルトの歯飛びによって保持トルクが0近辺となってトルク指令値が0近辺となったのか、ロボットが正規に下降しているからトルク指令値が0近辺になったのかを区別することができないから、結果として、垂直軸のベルトの歯飛びを適切に検出することができない場合がある。特許文献2に記載された方法は、モデルを使用して計算を行うので、各軸における異常を検出するための演算量が大きくなるという問題点を有する。
【0007】
本発明の目的は、ロボットの各軸におけるベルトの歯飛びなどの異常を、少ない演算量で素早く確実に検出することができる異常検出装置及び異常検出方法を提供することにある。
【課題を解決するための手段】
【0008】
本発明の異常検出装置は、各軸のモータがサーボドライバによって駆動制御されるロボットにおける異常を検出する異常検出装置であって、ロボットにおいて歯付きベルトを介してモータによって駆動される軸を検出対象軸として、検出対象軸のモータに対応するサーボドライバにおけるトルク指令値の絶対値が第1閾値以下となりそののち第1閾値を超えたときを基準点として、基準点から所定の検出適用時間内にトルク指令値の絶対値が第2閾値を超えた場合に、検出対象軸に異常が発生したと判定する異常検出部を備える。
【0009】
ロボットの軸がベルトを介してモータによって駆動されるときにベルトの歯飛びが発生すると、モータの駆動力が軸には少なくとも部分的に伝わらなくなるので、モータに対するトルク指令値は0に近づく。歯飛びから復帰するときはベルトに加わる負荷が一時的に急変動するので、トルク指令値は跳ね上がり、その後、トルク指令値は、振動しながら通常時の値に収束する。そこで、トルク指令値が0に近づき、すなわちトルク指令値の絶対値が第1閾値以下となり、その後、所定の期間内にトルク指令値の絶対値が跳ね上がって第2閾値を超えたことを検出することにより、歯飛びなどベルトにおける異常が発生したと判定することができる。したがって、本発明の異常検出装置によれば、ロボットにおける駆動用のベルトの歯飛びなどの異常を、少ない演算量で素早く確実に検出することができる。
【0010】
本発明の異常検出装置では、ロボットが垂直方向に移動させる垂直軸を備えているときに、検出対象軸は例えば垂直軸である。ロボットの垂直軸のモータは、荷重を支えるというその特性から、常時、保持トルクを発生しているが、モータに機械的に連結しているベルトに歯飛びが発生するなどの異常が発生したときは保持トルクがほとんど0となり、それに対応して、モータに対するトルク指令値もほぼ0となる。したがって、トルク指令値の絶対値が閾値以下の場合に垂直軸に異常が発生したと判定することができる。しかしながら、垂直軸が正規に下降方向に加速されているときもトルク指令値が0に近づくことがあり、単純にトルク指令値の絶対値と閾値とを比較した場合には誤検出の恐れがある。本発明の異常検出装置は、トルク指令値がほぼ0となったのちのトルク指令値の跳ね上がりを検出するため、垂直軸におけるベルトの異常を誤検出なく確実に検出することができる。
【0011】
本発明の異常検出装置では、ロボットにおいて垂直軸は各々の段がモータを備える多段構成であってもよく、その場合、異常検出部は、段ごとのモータのトルク指令値に基づいて、段ごとに異常の発生の有無を判定することができる。本発明の異常検出装置によれば、多段構成の垂直軸を有するロボットにおいてもベルトの異常を的確に検出できるようになる。
【0012】
本発明の異常検出装置では、ロボットは、例えば水平多関節ロボットである。ロボットが水平多関節ロボットである場合、垂直軸におけるベルトの異常を検出できるとともに、垂直軸以外の軸におけるベルトの異常を検出することができる。水平多関節ロボットにおいて垂直軸以外の軸は、水平方向にあるいは水平面内でロボットを移動させる軸である。そのような軸においてベルトの歯飛びが起きるときは、一般に、ベルトに力が加わっているとき、すなわち、動作指令に応じてモータがトルクを発生してその軸を駆動しているときであると考えられる。このような状態でベルトの歯飛びが起きるときは、その軸を動かす動作指令が入力しているにも関わらず、前兆としてその軸のモータにおいて上述したようなトルク指令値の変化が起きるから、本発明によれば、水平多関節ロボットにおける垂直軸以外の軸におけるベルトの異常も検出することができる。
【0013】
本発明の異常検出方法は、各軸のモータがサーボドライバによって駆動制御されるロボットにおける異常を検出する異常検出方法であって、ロボットにおいて歯付きベルトを介してモータによって駆動される軸を検出対象軸として、検出対象軸のモータに対応するサーボドライバにおけるトルク指令値の絶対値が第1閾値以下となりそののち第1閾値を超えたときを基準点として、基準点から所定の検出適用時間内にトルク指令値の絶対値が第2閾値を超えた場合に、検出対象軸に異常が発生したと判定する。
【0014】
本発明の異常検出方法によれば、誤検出を防ぎつつ、ベルトにおける異常を素早くかつ確実に検出することができる。また、破断、脱落の予兆を検査するから、この異常検出方法は予防保全にも用いることができる。さらにこの異常検出方法は、ロボットを駆動制御する制御装置(ロボットコントローラ)が設けられる場合に、別途のハードウエア類を設けることなく、制御装置における簡単な演算処理によって実現することができ、制御装置がソフトウエア制御によるものであれば、ソフトウエアの改修によって実現することができる。
【0015】
本発明の異常検出方法では、ロボットが垂直方向に移動させる垂直軸を備えているときに、検出対象軸は例えば垂直軸である。ロボットの垂直軸では、その正常な動作に伴ってモータに対するトルク指令値が0に近づくことがあり、トルク指令値が0に近づいたことのみを用いてベルトの異常を検出すると、誤検出の恐れがある。本発明の異常検出方法をロボットの垂直軸に適用することにより、誤検出の恐れなく確実にベルトの異常を検出することができる。
【0016】
本発明の異常検出方法では、ロボットにおいて垂直軸は各々の段がモータを備える多段構成であってもよく、その場合、段ごとのモータのトルク指令値に基づいて、段ごとに異常の発生の有無を判定することができる。すなわち本発明の異常検出方法によれば、多段構成の垂直軸を有するロボットにおいてもベルトの異常を的確に検出できるようになる。
【0017】
本発明の異常検出方法では、ロボットは、例えば水平多関節ロボットである。ロボットが水平多関節ロボットである場合、垂直軸におけるベルトの異常を検出できるとともに、垂直軸以外の軸におけるベルトの異常を検出することができる。
【発明の効果】
【0018】
本発明によれば、ロボットの各軸におけるベルトの歯飛びに代表される異常を、少ない演算量で素早く確実に検出することができるようになる。
【図面の簡単な説明】
【0019】
【
図1】本発明の実施の一形態の異常検出方法が適用されるロボットを示す図であって、(a)は概略側面図、(b)は平面図である。
【
図3】動作制御と異常検出のための構成を示すブロック図である。
【
図4】速度の変化と速度に対応したトルク指令値の変化とを示す波形図である。
【
図5】トルク指令値の変化を拡大して示す図である。
【発明を実施するための形態】
【0020】
次に、本発明の実施の形態について、図面を参照して説明する。
図1は、本発明の実施の一形態の異常検出方法が適用されるロボットを示す図であって、(a)は概略側面図であり、(b)は平面図である。このロボット10は、ガラス基板などのワークを搬送することを目的とするものであって、水平多関節ロボットとして構成されている。そしてロボット10には、ロボット10に対する動作指令が外部から入力してこの動作指令に基づいてロボット10を駆動し制御する制御装置(ロボットコントローラ)40が、ケーブルを介して電気的に接続している。制御装置40は、本発明に基づく異常検出装置としても機能する。なお、説明を分かりやすくするため、
図1(b)には制御装置40とそれに接続するケーブルとは描かれていない。
【0021】
ロボット10は、ワーク60(
図1(a)には不図示)をそれぞれ保持する2つのハンド13A,13Bを備えるいわゆるダブル・ハンド・ロボットとして構成されている。制御装置40は、動作指令が入力するとともに異常の発生を検出する制御部41と、ロボット10に設けられている各軸のモータごとに設けられてそのモータを駆動するためにサーボドライバ45(
図2参照)などを含む駆動回路42と、を備えている。制御装置40の詳細な構成については後述する。本実施形態のロボット10はワーク60の搬送に用いられるものであるので、動作指令は、基本的には、ハンド13A,13Bをどの位置に移動させるか、という移動動作の指令である。制御部41は、動作指令に基づいてロボット10の軸ごとにその軸についての速度を含む内部指令を生成し、駆動回路42は、軸ごとの内部指令によってロボット10の各軸のモータを実際に駆動する。
【0022】
ロボット10は、床面において直線に設けられた相互に平行な1対のレール21上を移動可能な基台22と、基台22の上に設けられ、基台22に内蔵されたモータ35THによって回転軸31の周りで水平面内で回転する回転台23と、回転台23に対して直立するように設けられた昇降機構24を備えている。レール21にはそれを覆うカバー25が取り付けられている。基台22にはレール21に沿って基台22を水平方向に移動させるためのモータ35Xが設けられており、モータ35Xは、基台22ごとロボット10をレール21に沿って水平方向に移動させる水平移動機構を構成するとともに駆動する。また、モータ35TH及び回転台23は、垂直な回転軸31の周りで基台22に対して昇降機構24を回転させる回転機構を構成し、この回転機構は、モータ35THによって駆動される。
【0023】
昇降機構24は、回転台23に取り付けられている固定部24Aと、モータによって固定部24Aに対して鉛直方向に昇降する移動部24Bとを備えている。
図2は、昇降機構24の構造を示す図である。昇降機構にモータを1個だけ用いてよいが、質量が大きいロボットを高速かつ大きな昇降量で移動させるためには、複数のモータを用いて移動機構24を多段構成とすることが有効である。本実施形態では2段構成とし、固定部24Aに1段目のZ軸モータ35ZAを設け、移動部24Bに2段目のZ軸モータ35ZBを設けている。固定部24Aの筐体に取付られたZ軸モータ35ZAは、ベルト52Aを介してボールねじ54Aを回転駆動する。ボールねじ54Aには、ボールねじ54Aの回転に伴って昇降するスライダ55が取り付けられている。スライダ55には、移動部24Bの筐体が取り付けられており、移動部24B内の2段目のZ軸モータ35ZBは、ベルト52Bを介してボールねじ54Bを回転駆動する。ボールねじ54Bには、ボールねじ54Bの回転に伴って昇降するスライダであるアーム支持部26が取り付けられている。もちろん、昇降機構24を3段以上の構成とすることもできる。多段構成の昇降機構24では、モータと、ボールねじと、モータとボールねじの間に架け渡されたベルトと、ボールねじの回転に伴って昇降するスライダとが、段ごとに設けられる。昇降機構24に設けられるベルト52A,52Bは歯付きベルトである。
【0024】
アーム支持部26は、水平多関節機構を保持する部材であり、
図1に示すように、水平方向に延びるように設けられている。アーム支持部26の先端には2組の水平多関節機構が上下方向に配列して取り付けられている。昇降機構24は、モータ35ZA,35ZBによって駆動されて基台22に対してアーム支持部26を昇降させる。上側の水平多関節機構は、アーム支持部26に取り付けられて共通軸32の周りで水平面内を回転可能な第1アーム11Aと、第1アーム11Aの先端に取り付けられて軸33Aの周りで水平面内を回転可能な第2アーム12Aとを備えており、第2アーム12Aの先端にハンド13Aが取り付けられている。同様に下側の水平多関節機構は、アーム支持部26に取り付けられて共通軸32の周りで水平面内を回転可能な第1アーム11Bと、第1アーム11Bの先端に取り付けられて軸33Bの周りで水平面内を回転可能な第2アーム12Bとを備えており、第2アーム12Bの先端にハンド13Bが取り付けられている。
【0025】
ハンド13A,13Bは、下から保持することによって板状のワーク60を水平状態に保ったまま搬送できるように、複数の棒状部材を平行に配置したフォーク状の形状となっている。ハンド13A,13Bは、処理装置のカセットやロードロック室などに収納されているワーク60を取り出してハンド13A,13B上に保持したり、保持しているワーク60をカセット内などに収納したりするときに、ワーク60に対して前進または後退する。このハンド13A,13Bの前進したり後退する方向は、棒状部材の延びる方向と一致している。ハンド13A,13Bの左右方向すなわち前後方向に直交する方向での幅は、搬送対象のワーク60の左右方向の幅よりも短くなっている。
【0026】
このロボット10において水平多関節機構は、第1アーム11A,11Bと第2アーム12A,12Bとに組み込まれたリンク機構により、アーム支持部26が延びる方向とは直交する方向に沿う直線運動でハンド13A,13Bが前進及び後退運動を行うように構成されている。すなわち両方のハンド13A,13Bは同一方向に前進及び後退を行う。中心軸32に対してハンド13A,13Bの先端が遠ざかる動きが前進運動であり、前進運動とは反対方向の動きが後退運動である。第1アーム11A,11Bと第2アーム12A,12Bとは全体して屈曲運動を行い、それにも関わらず水平面内でのハンド13A,13Bの向きを一定とするために、ハンド13A,13Bは、それぞれ、第2アーム12A,12Bの先端の位置で手首軸34A,34Bの周りで水平面内を回転可能に取り付けられている。上側の水平多関節機構では、アーム支持部26に設けられたモータ35RUによってリンク機構が駆動されることによって、第1アーム11A及び第2アーム12Aが動き、ハンド13Aはその向きを保ったまま、アーム支持部26の延びる方向とは直交する方向に移動する。同様に下側の水平多関節機構では、アーム支持部26に設けられたモータ35RDによってリンク機構が駆動されることによって、第1アーム11B及び第2アーム12Bが動き、ハンド13Bはその向きを保ったまま、アーム支持部26の延びる方向とは直交する方向に移動する。このロボット10では、ハンド13Aとハンド13Bとを独立して前進及び後退させることができる。第1アーム11A,11Bと第2アーム12A,12Bとの屈曲運動により、ハンド13A,13Bが前進または後退することをアームの伸縮と呼ぶ。
【0027】
結局、
図1に示すロボット10での動きは、レール21に沿った水平方向の移動(これをX軸あるいは走行軸の動きとする)と、鉛直方向を向いた軸である回転軸31の周りでの基台に対する回転(これをθ軸あるいは回転軸の動きとする)と、ハンド13A,13Bの水平方向での前進及び後退運動すなわちアームの伸縮運動(これをR軸の動きとする)と、昇降機構24によるアーム支持部26の鉛直方向での昇降(これを垂直軸またはZ軸の動きとする)とに分けることができる。2つのハンド13A,13Bに対応して2つの水平多関節機構が設けられていることにより、このロボット10では、R軸は、上側のハンド13Aに対応するRU軸と下側のハンド13Bに対応するRD軸とに分けられる。RU軸とRD軸とは相互に独立している。X軸、θ軸、RU軸、RD軸は、それぞれの軸に対応するモータ35X,35TH,35RU,35RDによって、プーリやベルトを介して駆動される。X軸、θ軸、RU軸、RD軸は、ロボット10を水平面内で動かす軸であるので、水平面内移動軸である。垂直軸であるZ軸は、2段のモータ35ZA,35ZBによって、ベルト52A,52Bを介して駆動される。ロボット10は、動作指令に応じた制御装置40からの内部指令に基づく駆動制御により、これらの各軸のうちの1つの軸だけを動かす動作や、2以上の軸を同時に動かす動作とを実行する。Z軸を駆動するときは、基本的には2段のモータ35ZA,35ZBが同時に駆動される。上述したように垂直軸のベルト52A,52Bは歯付きベルトであるが、X軸、θ軸、RU軸、RD軸のベルトも歯付きベルトである。
【0028】
図3は、本実施形態でのロボット10の動作制御と異常検出とを説明するために、ロボット10の制御系を示したブロック図である。上述したようにロボット10には、各軸のモータとして、垂直軸である昇降機構24を駆動する3段のモータ35ZA,35ZB、上下のハンド13A,13Bに対応するアームの伸縮をそれぞれ駆動するモータ35RU,35RD、水平移動機構を駆動するモータ35X、及び回転機構を駆動するモータ35THが設けられている。これらのモータはいずれもエンコーダ付きのモータであって、制御装置40内の駆動回路42においてモータごとに設けられたサーボドライバ45によってサーボ制御される。各軸のサーボドライバ45は、制御装置40内の制御部41から軸ごとに内部指令が供給され、内部指令に応じて対応するモータを駆動する。また各軸のサーボトライバ45からは、対応するモータに対するトルク指令値を示す信号も出力されている。
【0029】
制御装置40の制御部41には、ロボット10に所望の動作を実行させるための動作指令が入力する。動作指令は、例えばロボットに対する教示の結果として生成されたものであって、一例として、ハンド13Aの移動の始点と終点とを含んでいる。制御部41には、入力した動作指令を解析してロボットの軌道を生成し、軌道に基づいて各軸に求められる動きを算出して軸ごとの内部指令を生成する軌道計算部43が設けられている。軌道計算部43が出力する内部指令は、各軸のモータに対する位置指令及び速度指令の少なくとも一方を含んでいる。
【0030】
ロボット10の各軸における異常、特に、各軸の伝達機構におけるベルトの歯飛びなどの異常を検出するために、制御部41には、異常検出部44も設けられている。異常検出部44には、軌道計算部43から、各軸のサーボドライバ45に対してどのような内部指令を現在出力しているかという指令出力情報が入力するともに、各サーボドライバ45からのトルク指令値を示す信号も出力している。指令出力情報の代わりに、サーボドライバ45ごとの内部指令がそのまま異常検出部44に与えられてもよい。以下、異常検出部44による異常検出の処理について説明する。
【0031】
モータがベルトを介してロボットの軸を駆動する場合にベルトがスリップしているときは、特に歯飛びにおいて歯滑りしているときは、モータからの駆動力が軸に少なくとも部分的に伝わらなくなり、モータの負荷が減少して空転状態となるからモータに対するトルク指令値は0に近づく。スリップから復帰するとき、すなわちベルトの歯が再係合するときは、ベルトに加わる負荷が一時的に急変動するのでトルク指令値は跳ね上がる。スリップから復帰した後は、トルク指令値は、振動しながら通常時の値に収束する。そこで異常検出部44は、本発明に基づく異常検出方法を適用して、ロボットのある軸のモータのトルク指令値が0に近づき、すなわちトルク指令値の絶対値が第1閾値以下となりそののち第1閾値を超えたときを基準点Qとして、基準点Qから所定の検出適用時間内にトルク指令値の絶対値が第2閾値を超えた場合に、その軸に異常が発生したと判定する。ここで説明する異常検出方法は、ベルトが破断、脱落するときの前兆現象として考えられているベルトの歯飛びを検出する方法であるので、ベルトの予防保全のために用いることもできる。
【0032】
異常検出部44は、ロボット10の各軸のうち、少なくとも垂直軸に関し、本発明に基づく異常検出方法を適用してベルトにおける異常の発生を検出する。垂直軸であるZA軸及びZB軸に関してベルトの歯飛びなどの異常を検出する場合には、上述の第1閾値は特に落下検出用トルク指令値範囲と呼ばれる。第2閾値は、歯飛び検出用トルク指令値閾値とも呼ばれる。ロボットの垂直軸に対して本発明に基づく異常検出方法を適用した場合、スリップからの復帰の際のトルク指令値の跳ね上がりは、トルク指令値における上昇方向への跳ね上がりであるので、モータを上昇方向に回転させるトルク指令値を正の値としているときは、第2閾値との比較を行うときにトルク指令値の絶対値でなくトルク指令値そのものを用いてもよい。モータを上昇方向に回転させるトルク指令値を負の値としているときは、第2閾値を負の値とし、トルク指令値が第2閾値より小さくなることで判定してもよい。本発明に基づく異常検出方法では、トルク指令値が0に近づくことを検出するだけでなく、トルク指令値が0に近づいたのちのトルク指令値の跳ね上がりを検出することによってベルトの異常を検出するので、特に垂直軸に関し、トルク指令値が0に近づいたことだけを検出することによる異常の誤検出を防ぐことができる。後述するように第1閾値や第2閾値の値、検出適用時間の長さはロボット10の構成や動作条件に基づいて予め定められる。
【0033】
異常検出部44は、水平面内移動軸であるX軸、θ軸、RU軸、RD軸についても、異常の検出を行うことができる。水平面内移動軸の場合、その軸を移動させる内部指令が軌道計算部43から出力されているにも関わらず、その軸のモータに対するトルク指令値がほぼ0であれば、ベルトの歯飛びなどの異常が起きていると判断することができる。そのため異常検出部44は、軌道計算部43からの指令出力情報においてある水平面内移動軸を移動させる内部指令が出力されているときに、その水平面内移動軸のモータに対するサーボドライバ45におけるトルク指令値の絶対値が閾値以下であることを検出したら、その水平面内移動軸に異常が発生したと判断する。あるいは、異常検出部44は、水平面内移動軸についても、上述した本発明に基づく異常検出方法を適用してベルトにおける異常の発生を検出してもよい。垂直軸に異常があると判定したときも、水平面内移動軸に異常があると判定したときも、異常検出部44は、異常を検出したことを知らせる信号を外部に出力する。
【0034】
以下、本実施形態でのロボット10における垂直軸での異常検出について、さらに詳しく説明する。
図4は、ある位置にある昇降機構24を上昇させ、いったん停止したのち、下降させて元の位置に戻すときのZA軸及びZB軸での速度の変化と、速度の変化に対応したトルク指令値の変化とを示す波形図である。(a)は速度の変化を示し、(b)はトルク指令値の変化を示している。実線はZA軸での変化を示し、破線はZB軸での変化を示している。トルク指令値のグラフにおいて縦軸の上昇方向及び下降方向は、モータを上昇方向に回転させるトルク指令値であるのか、下降方向に回転させるトルク指令値であるかを示している。上昇の局面ではまず加速したのち一定の速度(定速区間)となり、その後、減速してロボットは停止する。そして、下降の局面でもまず加速する期間(下降加速期間)があり、続いて定速区間となって、最後に減速する期間(下降減速期間)となっている。
【0035】
トルク指令値のグラフにおいてZA軸、ZB軸のいずれもがほぼ全域において上昇方向のトルク指令値となっているのは、垂直軸がロボット10の自重やワーク60の重量を支える軸であり、垂直方向には動いていないとき(例えば図における「停止」の期間)であっても、モータが保持トルクを発生させる必要があるからである。ロボットが停止していても0でないトルク指令値となっていることが、垂直軸が水平面内移動軸と異なる点である。しかしながら図において領域Pで示すように、下降加速期間において、ZB軸のトルク指令値が0に近づいている。垂直軸においてもベルトの歯飛びなどの異常が起こればトルク指令値が0に近づくので、そのことを検出すれば異常の有無を判定できるが、ロボットが正常に動作しているときにもトルク指令値が0に近づくことがあると、トルク指令値が0に近づいたかどうかでは異常と判断することができない。そこで本実施形態では、上述したように、トルク指令値が0に近づいたのちにトルク指令値の跳ね上がりがあるかどうかを検出することにより、誤検出を防止し、垂直軸のベルトにおける異常を少ない演算量で素早く確実に検出することができるようにしている。
【0036】
次に本実施形態における異常の検出と、第1閾値、第2閾値及び検出適用時間の設定とについて、
図5を用いて説明する。
図5は、垂直軸において歯付きベルトの歯飛びが起きた場合のトルク指令値の変化を示したものである。垂直軸であるから、保持トルクを発生するために、上昇方向の一定のトルク指令値が発生している。ここで歯付きベルトの歯飛びが発生するものとする。図では、時間軸で100msの近傍において歯飛びが発生している。歯飛びでは現象としてまず、歯滑りが発生するから、歯滑り区間Sで示すように、トルク指令値が0に近づく。第1閾値(落下検出用トルク指令値範囲)は、歯滑りによってトルク指令値が0に近づいたことを検出できるように設定される。ここで示す例では、保持トルクに対応するトルク指令値よりも小さな正の値をaとし、aを第1閾値としている。したがってトルク指令値が+aと-aとの間の値となったときに、すなわちトルク指令値の絶対値が第1閾値a以下となったときに、トルク指令値が0に近づいたと判定されることになる。
【0037】
ベルトの歯飛びが進行すると次に、ベルトの歯の再係合が発生する。このとき、トルク指令値における上昇方向への跳ね上がりが起こる。そこで、トルク指令値における跳ね上がりの有無を検出するために、トルク指令値の絶対値が第1閾値a以下となってそののち第1閾値aを超えたときを基準点Qとして、基準点Qから所定の検出適用期間T内において、トルク指令値の絶対値が第2閾値(歯飛び検出用トルク指令値閾値)bを超えたかどうかを判定する。
図5に示した例では、点Rで示すようにトルク指令値の絶対値が第2閾値bを超えているので、歯飛びが発生したと判定される。歯の再係合により跳ね上がったトルク指令値は、その後、振動しながら、保持トルクに対応する値に収束する。
図5は、垂直軸における昇降が行われずに保持トルクのみが垂直軸に加わっている場合を示しているが、実際には垂直軸において昇降を行っているときにも歯飛びを検出できる必要がある。そこで検出適用時間Tは、ベルトにおける歯の形状や間隔、垂直軸の昇降に伴うベルトの速度などの条件を考慮して、歯飛びによるトルク指令値における跳ね上がりが発生すると考えられるタイミングに基づいて定められる。また、第2閾値も、通常動作時に起こり得るトルク指令値あるいはその変化と、歯飛びによるトルク指令値における跳ね上がりとを区別できるように定められる。
【0038】
図5は、ロボット10の垂直軸におけるベルトの異常の検出を説明しているが、ロボット10の水平面内移動軸に関しても、その軸を駆動しているときにベルトに異常が起これば、その軸のモータにおけるトルク指令値は
図5に示すものと同様に変化するものと考えられるので、垂直軸の場合と同様にして、ベルトにおける異常の発生を検出することができる。水平面内移動軸を対象とするときは、その軸のモータの正逆の回転方向に応じ、
図5における上昇方向及び下降方向を正方向及び逆方向に読み替えればよい。正方向のトルク指令値によって軸を駆動しているときに歯飛びが発生すれば、歯滑り後のトルク指令値の跳ね上がりの方向は正方向となり、反対に逆方向のトルク指令値によって軸を駆動しているときに歯飛びが発生すれば、歯滑り後のトルク指令値の跳ね上がりの方向は逆方向となる。
【0039】
以上、ベルトが歯付きベルトであるものとして、異常の検出と第1閾値、第2閾値及び検出適用時間の設定とについて説明したが、ベルトが歯付きベルトでない場合でも、破断、脱落の前兆としてベルトにおけるスリップとスリップからの復帰が起こると考えられるから、上述と同様に第1閾値、第2閾値及び検出適用時間を定めることにより、ベルトにおける破断、脱落などの異常を検出することができる。
【0040】
以上説明した本実施形態によれば、垂直軸に関しては、誤検出することなく、少ない演算量で異常の発生を素早く見つけることができる。水平面内移動軸に関しても、少ない演算量で異常の発生を素早く見つけることができる。
【符号の説明】
【0041】
10…ロボット;11A,11B…第1アーム;12A,12B…第2アーム;13A,13B…ハンド;21…レール;22…基台;23…回転台;24…昇降機構;24A…固定部;24B…移動部;25…カバー;26…アーム支持部;31…回転軸;32…共通軸;33A,33B…軸;34A,34B…手首軸;35RD,35RU,35TH,35X,35ZA,35ZB…モータ;40…制御装置;41…制御部;42…駆動回路;43…軌道計算部;44…異常検出部;45…サーボドライバ;52A,52B…ベルト;54A,54B…ボールねじ;55…スライダ;60…ワーク。