(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-16
(45)【発行日】2023-03-27
(54)【発明の名称】異常診断装置及びそれを備えたロボット制御装置
(51)【国際特許分類】
B25J 19/06 20060101AFI20230317BHJP
【FI】
B25J19/06
(21)【出願番号】P 2019155898
(22)【出願日】2019-08-28
【審査請求日】2022-03-04
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】橋本 敦実
(72)【発明者】
【氏名】中田 広之
(72)【発明者】
【氏名】山本 良祐
(72)【発明者】
【氏名】上田 紘義
(72)【発明者】
【氏名】岩谷 正義
(72)【発明者】
【氏名】本内 保義
【審査官】松浦 陽
(56)【参考文献】
【文献】特開昭54-111871(JP,A)
【文献】特開2019-091285(JP,A)
【文献】国際公開第2016/157643(WO,A1)
【文献】国際公開第2008/066069(WO,A1)
【文献】米国特許第04419897(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
G05B 19/18 - 19/416
(57)【特許請求の範囲】
【請求項1】
1または複数の関節軸を有するロボットの異常を診断する異常診断装置であって、
前記関節軸は、モータと、前記モータに連結された減速機と、前記モータに接続され、前記モータの回転角を検出するエンコーダと、を少なくとも有し、
前記異常診断装置は、
前記エンコーダで検出された前記モータの回転角と前記関節軸の異常要因に対応して予め設定された周期比率とを乗じた値の正弦波成分及び余弦波成分をそれぞれ生成する正弦波生成部と、
前記正弦波生成部で生成された前記正弦波成分及び前記余弦波成分のそれぞれに前記モータに入力されるトルク指令を乗じた値を生成する乗算部と、
前記乗算部で生成された値を所定の単位角毎に取得するとともに前記正弦波成分の1周期分積算して正弦波振幅を、前記余弦波成分の1周期分積算して余弦波振幅をそれぞれ算出する積算部と、
前記積算部で算出された前記正弦波振幅と前記余弦波振幅とに基づいて前記トルク指令に含まれる脈動成分の振幅を算出する演算部と、
前記演算部で算出された前記脈動成分の振幅に基づいて、前記関節軸での異常の有無及び異常要因を判定する判定部と、を有し、
前記正弦波生成部は、異なる周期比率毎に前記正弦波成分及び前記余弦波成分をそれぞれ生成し、
前記積算部は、異なる周期比率毎に前記正弦波振幅及び前記余弦波振幅をそれぞれ算出し、
前記演算部は、異なる周期比率毎に前記脈動成分の振幅を算出し、
前記判定部は、異なる周期比率毎に算出された前記脈動成分の振幅に基づいて、
各周期比率に予め対応付けられた前記関節
軸の異常の有無
を判定し、
さらに、前記関節軸に異常がある場合は、異なる周期比率毎に算出された前記脈動成分の振幅と、各周期比率に予め対応付けられた前記関節軸の異常要因との対応に照らして前記異常要因を判定することを特徴とする異常診断装置。
【請求項2】
請求項
1に記載の異常診断装置において、
m
xを前記周期比率とし、θ
nをデータのサンプリング時点の前記モータの回転角とし、Nを前記モータが1/m
x回転する間のデータのサンプリング回数とそれぞれするとき、
前記正弦波振幅A
xと、前記余弦波振幅B
xと、前記脈動成分の振幅H
xとは、
【数1】
【数2】
【数3】
の関係をそれぞれ満たすことを特徴とする異常診断装置。
ここで、nは1≦n≦Nの関係を満たす整数であり、xは整数で、前記関節軸の異常要因の種類を表わす指数である。
【請求項3】
1または複数の関節軸を有するロボットの動作を制御するロボット制御装置であって、
前記関節軸は、モータと、前記モータに連結された減速機と、前記モータに接続され、前記モータの回転角を検出するエンコーダと、を少なくとも有し、
前記ロボット制御装置は、
前記モータの位置指令を出力するシステム制御部と、
前記位置指令に基づいて前記モータの回転駆動を制御するモータ制御部と、
請求項1
または2に記載の異常診断装置と、を少なくとも備えたことを特徴とするロボット制御装置。
【請求項4】
請求項
3に記載のロボット制御装置において、
前記システム制御部にデータを入力するための入力部と、
前記システム制御部への入力内容及び前記異常診断装置での判定結果を表示する表示部と、をさらに備えたことを特徴とするロボット制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常診断装置及びそれを備えたロボット制御装置に関する。
【背景技術】
【0002】
モータ等の回転部を有する駆動機構では、その動作中に回転部に振動が発生している。従来、この振動を解析して回転部の異常を診断する技術が知られている。
【0003】
例えば、特許文献1には、回転機器において、回転機器の状態量から回転速度に依存した周波数のスペクトルを高速フーリエ変換(以下、FFTという)にて抽出する際に、回転速度が変わることで変動する周波数のスペクトルを追従するための信号処理装置が開示されている。この信号処理装置では、スペクトルの探索周波数範囲を回転速度に応じて変更させることで、周波数のスペクトルを正しく追従している。
【0004】
また、特許文献2には、振動等の解析結果に基づいて、回転機器の入力軸又は出力軸から得られる回転に関する情報量の周波数成分の信号強度を抽出し、得られた周波数成分に基づいて、回転機器の故障状態及び/又は劣化状態を推定する構成が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2008-196876号公報
【文献】特開2015-034776号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、産業用途で広く用いられるロボットは、1または複数の関節軸を有し、関節軸のそれぞれにサーボモータと減速機とエンコーダとが設けられている。このような関節軸に異常が生じると不規則な振動が生じ、回転トルクに脈動成分が重畳する。この脈動成分を解析することで、関節軸の異常の有無や異常要因の診断が可能となる。
【0007】
しかし、特許文献1,2に開示される従来の構成では、モータの回転速度に応じて回転トルクの脈動周波数が変化するので、異常要因の特定がしづらいという問題があった。
【0008】
また、周波数のスペクトル追従や故障状態の推定のために、多くのメモリを要するとともに、各種の信号処理を行う中央演算処理装置(以下、CPUという)に高負荷が加わってしまう。このため、モータのサーボ制御をしながら回転トルクの脈動成分を抽出するのは困難であった。
【0009】
本発明はかかる点に鑑みてなされたもので、その目的は、モータの回転速度に影響されることなく、簡便な構成で、ロボットの関節軸の異常の有無及び異常要因の特定を容易に行うことが可能な異常診断装置及びそれを備えたロボット制御装置を提供することにある。
【課題を解決するための手段】
【0010】
上記の目的を達成するために、本発明に係る異常診断装置は、1または複数の関節軸を有するロボットの異常を診断する異常診断装置であって、前記関節軸は、モータと、前記モータに連結された減速機と、前記モータに接続され、前記モータの回転角を検出するエンコーダと、を少なくとも有し、前記異常診断装置は、前記エンコーダで検出された前記モータの回転角と前記関節軸の異常要因に対応して予め設定された周期比率とを乗じた値の正弦波成分及び余弦波成分をそれぞれ生成する正弦波生成部と、前記正弦波生成部で生成された前記正弦波成分及び前記余弦波成分のそれぞれに前記モータに入力されるトルク指令を乗じた値を生成する乗算部と、前記乗算部で生成された値を所定の単位角毎に取得するとともに前記正弦波成分の1周期分積算して正弦波振幅を、前記余弦波成分の1周期分積算して余弦波振幅をそれぞれ算出する積算部と、前記積算部で算出された前記正弦波振幅と前記余弦波振幅とに基づいて前記トルク指令に含まれる脈動成分の振幅を算出する演算部と、前記演算部で算出された前記脈動成分の振幅に基づいて、前記関節軸での異常の有無及び異常要因を判定する判定部と、を有し、前記正弦波生成部は、異なる周期比率毎に前記正弦波成分及び前記余弦波成分をそれぞれ生成し、前記積算部は、異なる周期比率毎に前記正弦波振幅及び前記余弦波振幅をそれぞれ算出し、前記演算部は、異なる周期比率毎に前記脈動成分の振幅を算出し、前記判定部は、異なる周期比率毎に算出された前記脈動成分の振幅に基づいて、各周期比率に予め対応付けられた前記関節軸の異常の有無を判定し、さらに、前記関節軸に異常がある場合は、異なる周期比率毎に算出された前記脈動成分の振幅と、各周期比率に予め対応付けられた前記関節軸の異常要因との対応に照らして前記異常要因を判定することを特徴とする。
【0011】
この構成によれば、モータの回転速度に影響されることなく、関節軸での異常の有無及び異常要因を簡便に判定することができる。
【0012】
本発明に係るロボット制御装置は、1または複数の関節軸を有するロボットの動作を制御するロボット制御装置であって、前記関節軸は、モータと、前記モータに連結された減速機と、前記モータに接続され、前記モータの回転角を検出するエンコーダと、を少なくとも有し、前記ロボット制御装置は、前記モータの位置指令を出力するシステム制御部と、前記位置指令に基づいて前記モータの回転駆動を制御するモータ制御部と、前記異常診断装置と、を少なくとも備えたことを特徴とする。
【0013】
この構成によれば、簡便な構成で、関節軸での異常の有無及び異常要因を判定できるとともに、モータを含む関節軸の駆動制御を行うことができる。
【発明の効果】
【0014】
本発明の異常診断装置によれば、関節軸での異常の有無及び異常要因を簡便に判定することができる。本発明のロボット制御装置によれば、関節軸での異常の有無及び異常要因を判定できるとともに、モータを含む関節軸の駆動制御を行うことができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の一実施形態に係る溶接ロボットの概略構成図である。
【
図2】ロボット制御装置の機能ブロックの構成を示す図である。
【
図3】モータの回転時の諸量と正弦波生成部で生成された正弦波成分及び余弦波成分の時間変化の一例を示す図である。
【
図4】
図3における区間T1及びT2のそれぞれにおけるデータサンプリング間隔を説明する図である。
【
図5】脈動成分の振幅の算出手順を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態を図面に基づいて詳細に説明する。以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものでは全くない。
【0017】
(実施形態)
[溶接ロボットの構成]
図1は、本実施形態に係る溶接ロボットの概略構成図を示す。なお、説明の便宜上、関節軸10のそれぞれに含まれる構成部品については、1つの関節軸10に連結される分のみを図示している。
【0018】
図1に示すように、垂直多関節型ロボットである溶接ロボット100は、複数の関節軸10と、その各々に取り付けられた複数のアーム20と、を有している。関節軸10のそれぞれは、モータMと、モータMに連結された減速機Gと、モータMに接続され、モータMの回転角θを検出するエンコーダEと、を有している。また、溶接ロボット100の先端に溶接トーチ30が取り付けられ、溶接トーチ30の先端にはアークを発生させるためのタングステン系材料からなる電極31が取り付けられている。
【0019】
溶接ロボット100は、ロボット制御装置200に接続されている。また、ロボット制御装置220には、ティーチングペンダント260が着脱可能に取り付けられている。ティーチングペンダント260はロボット制御装置200の入力部240と表示部250とを兼ねている(
図2参照)。
【0020】
ティーチングペンダント260から入力された教示内容、あるいは教示内容が反映された溶接プログラムに従って、ロボット制御装置200は、溶接ロボット100の各関節軸10を駆動し、電極31の先端が所定の軌跡を描くようにアーム20及び溶接トーチ30を移動させる。なお、溶接プログラムは、ロボット制御装置200の内部または外部に設けられた図示しない記憶部からロボット制御装置200に読み出される。その際、ティーチングペンダント260を介して溶接プログラムが読み出されてもよい。
【0021】
また、図示しない電源から溶接トーチ30に取り付けられた電極31に電力が供給され、この電極31と図示しないワークとの間でアークを発生させてアーク溶接を行う。
【0022】
[ロボット制御装置の構成]
図2は、ロボット制御装置の機能ブロックの構成を示す。なお、説明の便宜上、モータ制御部220と異常診断装置230とは1軸分のみを図示しているが、実際には、関節軸10毎にモータ制御部220と異常診断装置230とが設けられている。
【0023】
ロボット制御装置200は、システム制御部210とモータ制御部220と異常診断装置230と入力部240と表示部250とを有している。
【0024】
システム制御部210は、所定の溶接プログラムに基づいて、モータ制御部220に位置指令を出力する。位置指令の値に応じて、モータMを回転駆動する際の回転角が決められる。また、システム制御部210は、複数の関節軸10に対して、共通して設けられている。
【0025】
モータ制御部220は、モータMの位置を制御する位置制御部221と、モータMの回転速度を制御する速度制御部222と、モータMの駆動電流を制御する電流制御部223と、モータMの実際の駆動電流を検出する電流検出器224とを有している。モータ制御部220はシステム制御部210から入力された位置指令に基づいてモータMの回転駆動を制御する。
【0026】
位置制御部221は、システム制御部210から入力された位置指令とエンコーダEで検出されたモータMの回転角θとに基づいてモータMの速度指令を生成し、速度制御部222に入力する。
【0027】
速度制御部222は、位置制御部221から入力された速度指令とエンコーダEで検出されたモータMの回転角θから算出された回転速度とに基づいてモータMのトルク指令を生成し、電流制御部223に入力する。
【0028】
電流制御部223は、速度制御部222から入力されたトルク指令と電流検出器224で検出されたモータMの駆動電流とエンコーダEで検出されたモータMの回転角θから算出されたモータMの磁極位置とに基づいてモータMの駆動電流を決定し、モータMに入力する。
【0029】
異常診断装置230は、正弦波生成部231と乗算部232と積算部233と演算部234と判定部235とを有しており、関節軸10での異常の有無等を診断する。
【0030】
正弦波生成部231は、エンコーダEで検出されたモータMの回転角θと周期比率mi,mj,mkとを乗じた値の正弦波成分及び余弦波成分をそれぞれ生成する。
【0031】
ここで、周期比率mxは、後で述べる関節軸10の異常要因に対応して予め設定された周期比率であり、モータMの1回転あたりに、異常要因のそれぞれに対応してトルク指令に発生する脈動の回数に相当する。なお、mxは有理数である。また、添字xは整数で、関節軸10の異常要因の種類を表わす指数である。
【0032】
なお、説明の便宜上、
図2において、3種類の周期比率m
i,m
j,m
kのみを示しているが、実際の周期比率の種類は減速機Gの種類等に応じてこれよりも多い値となりうる(
図6参照)。
【0033】
乗算部232は、正弦波生成部231で生成された正弦波成分及び余弦波成分のそれぞれにトルク指令を乗じた値を生成する。
【0034】
積算部233は、乗算部232で生成された値をモータMの1/mx回転分積算して正弦波振幅Axと余弦波振幅Bxとを算出する。
【0035】
【0036】
【0037】
ここで、Iはトルク指令値である。また、Nはサンプリング回数であり、モータMが1/mx回転する間に式(1),(2)の各項のデータをサンプリングする回数に相当する。なお、モータMが1/mx回転する期間は、正弦波生成部231で生成された正弦波成分の1周期分に相当する。また、余弦波成分の1周期分に相当する。また、サンプリング回数Nと周期比率mxとデータのサンプリング時点でのモータMの回転角θnとは式(3)で表わされる関係を満たす。なお、以降の説明において、2π/Nを単位角と呼ぶことがある。
【0038】
mx×θn=2π×(n/N)+c ・・・(3)
【0039】
ここで、nは1≦n≦Nの関係を満たす整数であり、cは任意の値である。
【0040】
演算部234は、積算部233で算出された正弦波振幅Axと余弦波振幅Bxとに基づいてトルク指令に含まれる脈動成分の振幅Hxを算出する。
【0041】
【0042】
判定部235は、演算部234で算出された脈動成分の振幅Hxに基づいて、個々の関節軸10での異常発生の有無及び異常要因を判定する。判定部235での判定結果は、表示部250に表示される。また、図示しない記憶部に保存されてもよい。
【0043】
入力部240は、システム制御部210に対して溶接ロボット100の駆動に関する各種パラメータ、例えば、アーム20の先端の教示点位置等を入力するように構成されている。また、入力部240を介して溶接プログラムをロボット制御装置220に入力するようにしてもよい。また、入力部240から各関節軸10における周期比率m
xを直接入力するようにしてもよい(
図6参照)。
【0044】
表示部250は、入力部240に入力された内容や判定部235での判定結果等を表示する。
【0045】
前述したように、ティーチングペンダント260が入力部240と表示部250とを兼ねるようにしてもよいし、入力部240と表示部250とを別々に設けるようにしてもよい。
【0046】
なお、異常診断装置230は、ロボット制御装置220に設けられたCPU(図示せず)上で所定のソフトウェアを実行することで、その機能が実現される。
【0047】
[脈動成分の振幅算出のためのデータサンプリングについて]
図3は、モータの回転時の諸量と正弦波生成部で生成された正弦波成分及び余弦波成分の時間変化の一例を示し、
図4は、
図3における区間T1及びT2のそれぞれにおけるデータサンプリング間隔を示す。なお、
図3において、モータMの回転時の諸量として、モータMの回転速度とトルク指令とを例示している。また、
図3に示す正弦波成分sin(m
xθ)及び余弦波成分cos(m
xθ)は、
図2に示す正弦波生成部231で生成されたものである。
【0048】
モータMのトルク指令には、
図3に破線で示すように、本来、脈動成分は含まれていない。しかし、関節軸10に異常が生じると不規則な振動が生じ、回転トルクに脈動成分が重畳してしまう。また、エンコーダEでの検出結果を介して、
図3に実線で示すように、この脈動成分はトルク指令に重畳される。
【0049】
トルク指令の脈動成分の周期と
図3に示す正弦波成分sin(m
xθ)及び余弦波成分cos(m
xθ)との周期が一致する場合のみ、Isin(m
xθ)やIcos(m
xθ)のm
xθの2π分に渡っての平均値は非零の有限値となる。この場合、式(1)、(2)のいずれかの値が非零の有限値となり、この値に基づいて、関節軸10に周期比率m
xに対応した異常が発生しているか否かを判断できる。
【0050】
また、トルク指令やモータMの回転角θは所定のタイミング毎、例えば,0.1msec毎にサンプリングしているが、正弦波振幅Axや余弦波振幅Bxを算出するにあたって、このタイミングでサンプリングしたデータをすべて使用すると、モータMの回転速度が異なる場合は、モータMが1回転する間のサンプリング回数が異なってしまう。よって、正弦波振幅Axや余弦波振幅Bx、ひいては、式(4)に示す脈動成分の振幅HxがモータMの回転速度に依存してしまい、異常要因をうまく特定できないおそれがある。また、計算負荷が大きくなりすぎて実用的ではない。
【0051】
よって、式(1)、(2)に示すように、モータMが単位角だけ回転する毎に正弦波振幅A
xや余弦波振幅B
xを算出するためのデータをサンプリングするようにする。例えば、
図4の(a)図に示すように、モータMの回転速度が高い区間T1では、データをサンプリングする時間間隔は短くなり、
図4の(b)図に示すように、モータMの回転速度が低い区間T2では、データをサンプリングする時間間隔は長くなる。いずれの場合もデータのサンプリング回数を同じにすることで、計算負荷を大きく増やさず、また、モータMの回転速度によらず関節軸10の異常の有無や異常要因の特定を行うことができる。
【0052】
なお、本実施形態では、サンプリング回数N=20であるが、特にこれに限定されず、モータMの最大回転速度等に応じて適宜設定される。また、計算負荷の低減とデータの信頼度とを両立させる観点からも、サンプリング回数Nは適切に設定される。
【0053】
[脈動成分の振幅算出手順]
図5は、脈動成分の振幅の算出手順を示す。なお、説明の便宜上、
図5において、1軸のみの振幅算出フローを示している。また、周期比率m
iに関する振幅算出フローのみを示している。実際には、異なる周期比率毎に
図5に示すフローが順次または並行して実行される。
【0054】
まず、時刻tでモータMの回転角θ(t)とトルク指令I(t)を取得する(ステップS1)。なお、ステップS1は所定のタイミング毎に行われ、本実施形態で0.1msec毎に行われる。ただし、特にこれに限定されず、データの取得タイミングは適宜変更されうる。
【0055】
次に、時刻tで取得した回転角とその直前のサンプリングタイミングである時刻t’ で取得した回転角との差分Δθ(t)を算出する。また、時刻tでの差分Δθ(t)と時刻t’での差分Δθ(t’)との積Flagを算出する(ステップS2)。差分Δθ(t)と積Flagとは、異なる周期比率において脈動成分の振幅Hxを算出するにあたって共通して用いられる。
【0056】
次に、周期比率miに対応した脈動成分の振幅Hを算出する。
【0057】
まず、Flagが零よりも大きいか否かが判定され(ステップS3)、ステップS3での判定結果が肯定的、つまり、Flagが零よりも大きい場合はステップS4に進む。一方、ステップS3での判定結果が否定的、つまり、積Flagが零以下の場合は、時刻tと時刻t’とでモータMの回転方向が変化していると考えられるため、ステップS11に進んで、後で述べる各パラメータを初期値にリセットする。
【0058】
ステップS4で、式(5)に示す演算を実行し、パラメータφ(t)を求める。
【0059】
φ(t)=φ(t’)+mi×|Δθ(t)| ・・・(5)
【0060】
なお、式(5)において、モータMの回転方向によって値が変化しないように、差分Δθ(t)の絶対値を用いている。
【0061】
ステップS4で求めたφ(t)とパラメータΦとの大小関係を比較する(ステップS5)。ここで、Φは式(6)で表わされる関係を満たす関数であり、回転角に関するデータのサンプリング点を表現している。
【0062】
Φ=n×dΦ=n×(2π/N) (nは整数で、1≦n≦N) ・・・(6)
【0063】
φ(t)>Φであれば、ステップS6に進む。一方、φ(t)≦Φであれば、φ(t)がサンプリング点に達していないと判断して、ステップS11に進む。
【0064】
なお、後で述べるように、Φが2π以上になるまで、言い換えると、モータMが1/mx回転するまで、ステップS1からステップS9までの処理は繰り返し行われる。よって、ステップS9が終了して、ステップS1に戻った後に、再度、ステップS5が実行されると、式(6)において、nが1つ繰り上がる。つまり、
Φ=Φ+dΦ ・・・(7)
【0065】
ステップS6で、φ(t)とΦとの差がErであるか否かを判定する。ここで、Erは零よりも大きな定数である。式(3)と式(5)との対比からわかるように、φ(t)は厳密にΦと一致するわけではないが、φ(t)とΦとの差が所定値、この場合はEr未満であれば、φ(t)が、ステップS7以降の演算を行うためのサンプリング点に到達したとみなすことができる。
【0066】
従って、ステップS6での判定結果が肯定的であれば、ステップS7に進み、時刻tでの正弦波振幅Aと余弦波振幅Bとを算出する。
【0067】
A=I(t)sinφ(t) ・・・(8)
B=I(t)cosφ(t) ・・・(9)
【0068】
ここで、I(t)は時刻tにおけるトルク指令である。なお、この演算は
図2に示す乗算部232で実行される。
【0069】
一方、ステップS6での判定結果が否定的の場合は、例えば、モータMの回転速度が想定以上に高く、単位角毎のデータのサンプリングがうまく行えないと判断される。この場合は、ステップS11に進む。
【0070】
次に、Φが2πより小さいか否かを判定し(ステップS8)、Φが2πよりも小さい場合は、ステップS9に進んで、式(7)に示すようにΦの値を修正する。さらに、ステップS1に戻って次のサンプリング時刻でのθ(t)及びI(t)を取得し、以降の一連の処理を繰り返し実行する。
【0071】
なお、ステップS9が終了して、ステップS1に戻った後に、再度、ステップS7が実行される場合、式(7),(8)において、前に算出された値が加算される。つまり、
A=A+I(t)sinφ(t) ・・・(10)
B=B+I(t)cosφ(t) ・・・(11)
【0072】
なお、この加算は
図2に示す積算部233で実行される。
【0073】
一方、ステップS8でΦが2π以上と判定された場合は、θ(t)及びI(t)を取得した以降にモータMが1/m
x回転したと判断されるため、式(4)に基づいて脈動成分の振幅Hを算出する(ステップS10)。なお、脈動成分の振幅Hを算出するにあたって、式(10)、(11)にそれぞれ示す正弦波振幅Aと余弦波振幅Bとが用いられる。なお、この演算は
図2に示す演算部234で実行される。
【0074】
脈動成分の振幅Hを算出した後は、各パラメータを初期値にリセットし(ステップS11)、さらに、ステップS1に戻って次のサンプリング時刻でのθ(t)及びI(t)を取得し、以降の一連の処理を繰り返し実行する。なお、ステップS11において、φ(t)と正弦波振幅Aと余弦波振幅Bとは零に、ΦはdΦにそれぞれリセットされる。
【0075】
なお、異なる周期比率においても、
図5に示す手順で脈動成分の振幅が算出されるが、その場合、ステップS1で取得されたθ(t)とI(t)及びステップS2で算出された差分Δθ(t)と積Flagとは異なる周期比率に対応した脈動成分の振幅算出にあたって共通に用いられる。
【0076】
一方、式(5)、(8)~(11)から明らかなように、周期比率が異なると、φ(t)や正弦波振幅Aや余弦波振幅Bは異なったものとなる。また、サンプリング回数Nは同じとしてもよいし、周期比率毎に変えるようにしてもよい。周期比率m
iが大きく、かつモータMの回転速度が高くなると、
図5に示すフローの処理速度が追いつかなくなる場合がある。このような場合は、サンプリング回数Nを小さくする場合がある。なお、式(6)から明らかなように、サンプリング回数Nが周期比率m
iの場合と異なる場合は、パラメータΦも同様に異なるものとなる。
【0077】
[関節軸の異常診断について]
図6は、周期比率の一例を、
図7は、判定部での判定結果の一例をそれぞれ示す。なお、説明の便宜上、
図6において、周期比率は一部のみを示し、
図7において、当該一部の周期比率に対応した異常の有無について図示している。
【0078】
例えば、溶接ロボット100が6軸ロボットである場合、
図6に示すように、第1~第6軸のそれぞれで周期比率が設定される。周期比率は、関節軸10の機構が決まると一義的に決定される。
【0079】
図6に示す例では、m
x=4の場合は、電流検出器224の異常に対応しており、当該異常が発生すると、モータMの1回転あたりでトルク指令に4回の脈動が発生する。本実施形態では、モータMにコギングが生じていれば(m
x=24)、モータMの1回転あたりで24回の脈動が、モータMのロータが偏心していれば(m
x=1)、1回の脈動がそれぞれ発生する。
【0080】
また、関節軸10の機構の違いにより、同じ異常要因であっても周期比率が異なる場合がある。例えば、インプットギアに異常がある場合、主軸である第1~第3軸には、モータMの1回転あたりでトルク指令に9回の脈動が発生するが、インプットギアを持たない手首軸である第4~第6軸には、周期比率が9の場合に対応する脈動は発生しない。また、減速機Gに異常がある場合、それぞれの関節軸10が有する減速機Gの機構の違いに応じて、周期比率がそれぞれ異なる。
【0081】
よって、異常診断を行う前に、関節軸10毎に想定される異常要因に対応した周期比率がティーチングペンダント260(入力部240)から入力されて異常診断装置230にセットされる。関節軸10を構成する各部品に変更が無ければ、最初にセットされた値が継続して用いられる。何らかの理由で構成部品の仕様を変更する場合等は、ティーチングペンダント260(入力部240)を介して元の値をクリアし、新たに周期比率がセットされる。
【0082】
また、前述したように、
図5に示す手順で異なる周期比率毎に脈動成分の振幅H
xが算出され、この値に基づいて、
図2に示す判定部235で各関節軸10の異常の有無が判定される。また、周期比率に対応して異常要因が判定される。
【0083】
例えば、
図7に示すように、ティーチングペンダント260(表示部250)に判定結果が表示される。
図7に示す例では、脈動成分の振幅H
xが直接表示されるのではなく、トルク指令の定格値に対する振幅H
xの比率(以下、単に振幅比率という)がパーセント表示されている。なお、異常の有無については、脈動成分の振幅H
xまたは振幅比率が予め設定された所定のしきい値を超えているか否かで判定される。このしきい値は、関節軸10毎、また、周期比率毎に個別に設定される。
【0084】
図7からわかるように、第1軸において、電流検出器224に対応した振幅比率が80%と高くなっており、第1軸の電流検出器224に何らかの異常が発生していると判断できる。
【0085】
また、コギングに対応した振幅比率も5%と他の要因に対応する振幅比率(1%程度)よりも高くなっているが、これが異常に該当するか否かは前述のしきい値との対比で判断される。同様に、第2軸において、ロータやインプットギアや減速機Gで異常が発生しているか否かは別途設定されたしきい値との対比で判断される。
【0086】
ただし、しきい値を超えていなくても、特定の異常要因に対応した振幅比率が通常よりも高くなっている場合は、対象となる関節軸10において、当該異常要因に関連した異常が発生しているか否かを別途点検等するようにしてもよい。
【0087】
[効果等]
本実施形態に係る異常診断装置230は、複数の関節軸10を有する溶接ロボット100の異常を診断する異常診断装置230である。
【0088】
関節軸10は、モータMと、モータMに連結された減速機Gと、モータMに接続され、モータMの回転角θを検出するエンコーダEと、を少なくとも有している。
【0089】
異常診断装置230は、モータMに入力されるトルク指令とエンコーダEで検出されるモータMの回転角θとに基づいてトルク指令に含まれる脈動成分の振幅を算出するとともに、脈動成分の振幅に基づいて、関節軸10での異常の有無及び異常要因を判定する。
【0090】
本実施形態によれば、モータMの回転速度に影響されることなく、関節軸10での異常の有無及び異常要因を簡便に判定することができる。
【0091】
異常診断装置230は、エンコーダEで検出されたモータMの回転角θと関節軸10の異常要因に対応して予め設定された周期比率mxとを乗じた値の正弦波成分及び余弦波成分をそれぞれ生成する正弦波生成部231と、正弦波生成部231で生成された正弦波成分及び余弦波成分のそれぞれにトルク指令を乗じた値を生成する乗算部232と、乗算部232で生成された値を単位角毎に取得するとともにモータMの1/mx回転分、言い換えると、正弦波成分の1周期分積算して正弦波振幅Axを、余弦波成分の1周期分積算して余弦波振幅Bxをそれぞれ算出する積算部233と、積算部233で算出された正弦波振幅Axと余弦波振幅Bxとに基づいてトルク指令に含まれる脈動成分の振幅Hxを算出する演算部234と、演算部234で算出された脈動成分の振幅Hxに基づいて、関節軸10での異常の有無及び異常要因を判定する判定部235と、を有している。
【0092】
異常診断装置230をこのように構成することで、CPU等の演算装置に高い負荷をかけることなく、また、少ないメモリ容量で効率的に異常の有無及び異常要因を判定できる。
【0093】
正弦波生成部231は、異なる周期比率毎に正弦波成分及び余弦波成分をそれぞれ生成し、積算部233は、異なる周期比率毎に正弦波振幅Ax及び余弦波振幅Bxをそれぞれ算出する。演算部234は、異なる周期比率毎に脈動成分の振幅Hxを算出し、判定部235は、異なる周期比率毎に算出された脈動成分の振幅Hxに基づいて、関節軸10での異常の有無及び異常要因を判定する。
【0094】
このようにすることで、関節軸10での異常の有無及び異常要因を簡便にかつ正確に判定することができる。
【0095】
NをモータMが1/mx回転する間のデータのサンプリング回数とし、θnをデータのサンプリング時点のモータMの回転角とし、mxを周期比率とそれぞれするとき、
正弦波振幅Axと、余弦波振幅Bxと、脈動成分の振幅Hxとは、
【0096】
【0097】
【0098】
【0099】
の関係をそれぞれ満たしている。
【0100】
ここで、nは1≦n≦Nの関係を満たす整数であり、xは整数で、関節軸10の異常要因の種類を表わす指数である。
【0101】
このようにすることで、演算装置での負荷を低減して効率的に異常の有無及び異常要因を判定できる。
【0102】
本実施形態に係るロボット制御装置220は、複数の関節軸10を有する溶接ロボット100の動作を制御する。ロボット制御装置220は、モータMの位置指令を出力するシステム制御部210と、位置指令に基づいてモータMの回転駆動を制御するモータ制御部220と、異常診断装置230と、を少なくとも備えている。
【0103】
ロボット制御装置220をこのように構成することで、モータMを含む関節軸10の駆動制御を行えるとともに、モータMの回転速度に影響されることなく、関節軸10での異常の有無及び異常要因を簡便に判定することができる。
【0104】
また、ロボット制御装置220は、システム制御部210にデータを入力するための入力部240と、システム制御部210への入力内容及び異常診断装置230での判定結果を表示する表示部250と、をさらに備えているのが好ましい。
【0105】
(その他の実施形態)
なお、
図5に示す脈動成分の振幅算出にあたって、1つのサンプリング点におけるトルク指令は同じ値I(t)を用いていたが、前後のサンプリング時刻での少なくとも一方の値との平均値を用いるようにしてもよい。例えば、I(t)の代わりにI(t)とI(t’)との平均値を用いるようにしてもよい。
【0106】
また、
図2に示すロボット制御装置220において、判定部235はシステム制御部210に組み込まれていてもよい。
【0107】
また、
図1に示す溶接ロボット100は、図示しない溶接ワイヤを用いた消耗電極方式のアーク溶接ロボットでもよいし、あるいはレーザ溶接ロボットでも抵抗溶接ロボットでもよい。
【0108】
また、溶接ロボット100に限られず、産業用途で用いられる同様の関節軸10を有するロボットに関して、本願明細書に開示された異常診断装置230やロボット制御装置220を適用できることは言うまでもない。また、溶接ロボット100を含むこのようなロボットにおいて、関節軸10が1つであってもよい。
【産業上の利用可能性】
【0109】
本発明の異常診断装置は、簡便な構成で、関節軸の異常の有無及び異常要因の特定を容易に行うことができ、産業用途で用いられるロボットの制御装置に適用する上で有用である。
【符号の説明】
【0110】
10 関節軸
20 アーム
30 溶接トーチ
100 溶接ロボット
200 ロボット制御装置
210 システム制御部
220 モータ制御部
221 位置制御部
222 速度制御部
223 電流制御部
224 電流検出部
230 異常診断装置
231 正弦波生成部
232 乗算部
233 積算部
234 演算部
235 判定部
240 入力部
250 表示部
260 ティーチングペンダント
E エンコーダ
G 減速機
M モータ