(57)【要約】【課題】ロボット本体の異常診断の精度を高める技術を提案する。【解決手段】ロボット制御装置３００は、アーム２０３が予め定められた動作をするようにアーム２０３に動力を伝達する回転軸２０４を出発角度位置から第１の目標角度位置に回転させるモータ２０１を備えるロボット本体２００の異常診断を行う。ロボット制御装置３００は、回転軸２０４の回転に伴って発生する振動成分のうち異常に起因する振動成分の検出が可能になる略一定の回転速度で回転軸２０４が出発角度位置から第２の目標角度位置に回転するようにモータ２０１を駆動する駆動制御部３０４と、振動成分を検出する振動検出部３０５と、検出された振動成分に基づいて異常診断を行う診断部３０３を備える。第２の目標角度位置は、異常に起因する１周期以上の振動成分の検出が可能になる回転軸２０４の角度位置である。【選択図】図１
2019155498.tif 000002
【特許請求の範囲】
【請求項１】
アームが予め定められた動作をするように前記アームに動力を伝達する回転軸を出発角度位置から第１の目標角度位置に回転させるモータを備えるロボット本体の異常診断を行うロボット制御装置であって、
前記回転軸の回転に伴って発生する振動成分のうち異常に起因する振動成分の検出が可能になる略一定の回転速度で前記回転軸が前記出発角度位置から第２の目標角度位置に回転するように前記モータを駆動する駆動制御部であって、前記第２の目標角度位置は、前記異常に起因する１周期以上の振動成分の検出が可能になる前記回転軸の角度位置である、駆動制御部と、
前記振動成分を検出する振動検出部と、
前記検出された振動成分に基づいて前記異常診断を行う診断部と、
を備えるロボット制御装置。
【請求項２】
請求項１に記載のロボット制御装置であって、
前記出発角度位置から前記第２の目標角度位置までの角度範囲が前記出発角度位置から前記第１の目標角度位置までの角度範囲より広いときに、異常診断時における前記アームの動作範囲が、前記アームが前記予め定められた動作をするときの動作範囲を超えることを警告する警告情報を出力する出力装置を更に備える、ロボット制御装置。
【請求項３】
請求項１又は２に記載のロボット制御装置であって、
異常診断時に前記回転軸が前記出発角度位置から前記第２の目標角度位置に回転するときの前記回転軸の回転速度プロファイルは、前記アームが前記予め定められた動作をするときに前記回転軸が前記出発角度位置から前記第１の目標角度位置に回転するときの前記回転軸の回転速度プロファイルとは異なる、ロボット制御装置。
【請求項４】
請求項１乃至３のうち何れか１項に記載のロボット制御装置であって、
異常診断時に前記回転軸が前記出発角度位置から前記第２の目標角度位置に回転するときの前記回転軸の回転速度プロファイルは、前記回転軸の回転速度が略一定となる期間を含む略台形状である、ロボット制御装置。
【請求項５】
アームが予め定められた動作をするように前記アームに動力を伝達する回転軸を出発角度位置から第１の目標角度位置に回転させるモータを備えるロボット本体の異常をロボット制御装置が診断する異常診断方法であって、
前記ロボット制御装置が、
前記回転軸の回転に伴って発生する振動成分のうち異常に起因する振動成分の検出が可能になる略一定の回転速度で前記回転軸が前記出発角度位置から第２の目標角度位置に回転するように前記モータを駆動するステップであって、前記第２の目標角度位置は、前記異常に起因する１周期以上の振動成分の検出が可能になる前記回転軸の角度位置である、ステップと、
前記振動成分を検出するステップと、
前記検出された振動成分に基づいて前記異常診断を行うステップと、
を実行する異常診断方法。
【請求項６】
アームが予め定められた動作をするように前記アームに動力を伝達する回転軸を出発角度位置から第１の目標角度位置に回転させるモータを備えるロボット本体の異常診断をロボット制御装置に実行させるための異常診断プログラムであって、
前記ロボット制御装置に、
前記回転軸の回転に伴って発生する振動成分のうち異常に起因する振動成分の検出が可能になる略一定の回転速度で前記回転軸が前記出発角度位置から第２の目標角度位置に回転するように前記モータを駆動するステップであって、前記第２の目標角度位置は、前記異常に起因する１周期以上の振動成分の検出が可能になる前記回転軸の角度位置である、ステップと、
前記振動成分を検出するステップと、
前記検出された振動成分に基づいて前記異常診断を行うステップと、
を実行させる異常診断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、異常診断方法、及び異常診断プログラムに関わる。
【背景技術】
【０００２】
工業製品を製造する生産ラインでは、複数のロボットが互いに連携しながら稼働しているため、ロボットが一台でも故障すると、生産ラインが停止してしまうことがある。例えば、モータの出力トルクを減速機で増幅してアームに伝達するように構成されたロボット本体においては、減速機内部に損傷があると、アームを駆動させるときに不要な振動が発生し、アームの位置決め精度が低下してしまうことがある。ロボットの部品（例えば、減速機）の修理又は交換作業には、長時間を要することがあるため、ロボットの故障により、生産ラインが長時間停止すると、深刻な損害を招く虞がある。このような事情に鑑み、特許文献１は、ロボット本体の関節部において、アームの固有振動数を測定しておき、アームを駆動するモータ及びその減速機で発生する振動によってアームが最も共振する動作速度での定速動作をロボット本体の異常検出の動作条件とし、モータ或いは減速機に設置した温度センサを用いて温度補正を行ったモータトルク値から算出したトルク変動値が、予め設定した閾値を超えた場合に、ロボット本体に異常が発生したと判定するロボットの異常検出方法を提案している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２８１４２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ロボットの部品の損傷（例えば、減速機内部の損傷）に起因して発生する振動成分の周波数は、モータの回転速度に比例することが知られている。
【０００５】
しかし、モータのどの回転速度においても、異常に起因する振動成分の検出に支障が無いという訳ではなく、例えば、振動成分を検出する振動センサの性能や固定方法などから定まる応答周波数より高い周波数帯域においては、異常に起因する振動成分の検出が困難となる。モータの出力トルクに重畳されている振動成分を検出するトルクセンサを使用する場合においても、同様に、応答周波数より高い周波数帯域においては、異常に起因する振動成分の検出が困難となる。一方、モータの回転速度が著しく低いときには、異常に起因する振動成分が現れ難くなるため、検出が困難となる。このように、モータの回転速度の範囲には、異常に起因する振動成分の検出に不向きな範囲がある。
【０００６】
一方、生産ラインで使用される各ロボットは、その役割に応じて、予め定められた特定の動作（例えば、部品の搬送、組み立て、溶接など）を繰り返し行うように設計されている。ロボットのこのような動作は、ティーチングプレイバックと呼ばれており、生産ラインで使用されている多くのロボットは、ティーチングプレイバックに基づいて動作している。例えば、ロボットのアームをティーチングプレイバックに基づいて動作させる場合、ある座標から目標座標までアームを移動させる動作指令がコントローラからサーボドライバに入力され、アームが動作指令に応じた動作をするように、サーボドライバからモータに電流が供給される。このような場合、従来では、コントローラからサーボドライバに入力される動作指令には、モータの回転速度を指定する動作指令は含まれておらず、モータの回転速度が、異常に起因する振動成分の検出に不向きな範囲に入ることがあるため、ロボットの異常診断を正確に行うのが困難であった。
【０００７】
また、異常診断時にアームをティーチングプレイバックに基づいて動作させると、アームの動作範囲が、異常に起因する振動成分を１周期分以上検出するのに足りない場合がある。このような場合、異常診断を正確に行う上で必要な振動成分の情報を十分に取得できないという問題がある。
【０００８】
そこで、本発明は、このような問題を解決し、ロボット本体の異常診断の精度を高める技術を提案することを課題とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するため、本発明の一側面に関わるロボット制御装置は、アームが予め定められた動作をするようにアームに動力を伝達する回転軸を出発角度位置から第１の目標角度位置に回転させるモータを備えるロボット本体の異常診断を行う。このロボット制御装置は、回転軸の回転に伴って発生する振動成分のうち異常に起因する振動成分の検出が可能になる略一定の回転速度で回転軸が出発角度位置から第２の目標角度位置に回転するようにモータを駆動する駆動制御部と、振動成分を検出する振動検出部と、検出された振動成分に基づいて異常診断を行う診断部を備える。ここで、第２の目標角度位置は、異常に起因する１周期以上の振動成分の検出が可能になる回転軸の角度位置である。異常診断において、回転軸を出発角度位置から第２の目標角度位置に回転させることにより、回転軸の回転に伴って発生する振動成分のうち、異常に起因する１周期以上の振動成分を検出することができる。これにより、正確な異常診断に必要な振動成分の情報を不足なく取得できる。また、異常診断時の回転軸の回転速度を略一定値に維持することにより、異常に起因する振動成分の周波数が略一定の周波数に安定し、振動成分の周波数の変動に起因する振幅の変動を抑制することができる。
【００１０】
本発明の一側面に関わるロボット制御装置は、出発角度位置から第２の目標角度位置までの角度範囲が出発角度位置から前記第１の目標角度位置までの角度範囲より広いときに、異常診断時におけるアームの動作範囲が、アームが予め定められた動作をするときの動作範囲を超えることを警告する警告情報を出力する出力装置を更に備えてもよい。このような警告により、例えば、ユーザは、異常診断の対象となるロボット本体が他のロボット又は機器と干渉しないように、異常診断の対象となるロボット本体を移動させたり、或いは、異常診断の対象となるロボット本体の周辺の他のロボット又は機器を移動させるなどの措置を講じることができる。また、この警告により、異常診断の対象となるロボット本体と作業者との干渉による危険を避けるようにユーザに注意を喚起することができる。
【００１１】
異常診断時に回転軸が出発角度位置から第２の目標角度位置に回転するときの回転軸の回転速度プロファイルは、アームが予め定められた動作をするときに回転軸が出発角度位置から第１の目標角度位置に回転するときの回転軸の回転速度プロファイルとは異なっていてもよい。これにより、異常診断に好適な回転速度プロファイルで回転軸を回転させることができる。
【００１２】
異常診断時に回転軸が出発角度位置から第２の目標角度位置に回転するときの回転軸の回転速度プロファイルは、回転軸の回転速度が略一定となる期間を含む略台形状でもよい。異常診断時の回転軸の回転速度を略一定値に維持することにより、異常に起因する振動成分の周波数が略一定の周波数に安定し、振動成分の周波数の変動に起因する振幅の変動を抑制することができる。
【００１３】
本発明の他の面に関わる異常診断方法は、アームが予め定められた動作をするようにアームに動力を伝達する回転軸を出発角度位置から第１の目標角度位置に回転させるモータを備えるロボット本体の異常をロボット制御装置が診断する異常診断方法であって、ロボット制御装置が、回転軸の回転に伴って発生する振動成分のうち異常に起因する振動成分の検出が可能になる略一定の回転速度で回転軸が出発角度位置から第２の目標角度位置に回転するようにモータを駆動するステップと、振動成分を検出するステップと、検出された振動成分に基づいて異常診断を行うステップを実行する。ここで、第２の目標角度位置は、異常に起因する１周期以上の振動成分の検出が可能になる回転軸の角度位置である。異常診断において、回転軸を出発角度位置から第２の目標角度位置に回転させることにより、回転軸の回転に伴って発生する振動成分のうち、異常に起因する１周期以上の振動成分を検出することができる。これにより、正確な異常診断に必要な振動成分の情報を不足なく取得できる。また、異常診断時の回転軸の回転速度を略一定値に維持することにより、異常に起因する振動成分の周波数が略一定の周波数に安定し、振動成分の周波数の変動に起因する振幅の変動を抑制することができる。
【００１４】
本発明の他の面に関わる異常診断プログラムは、アームが予め定められた動作をするようにアームに動力を伝達する回転軸を出発角度位置から第１の目標角度位置に回転させるモータを備えるロボット本体の異常診断をロボット制御装置に実行させるための異常診断プログラムであって、ロボット制御装置に、回転軸の回転に伴って発生する振動成分のうち異常に起因する振動成分の検出が可能になる略一定の回転速度で回転軸が出発角度位置から第２の目標角度位置に回転するようにモータを駆動するステップと、振動成分を検出するステップと、検出された振動成分に基づいて異常診断を行うステップを実行させる。ここで、第２の目標角度位置は、異常に起因する１周期以上の振動成分の検出が可能になる回転軸の角度位置である。異常診断において、回転軸を出発角度位置から第２の目標角度位置に回転させることにより、回転軸の回転に伴って発生する振動成分のうち、異常に起因する１周期以上の振動成分を検出することができる。これにより、正確な異常診断に必要な振動成分の情報を不足なく取得できる。また、異常診断時の回転軸の回転速度を略一定値に維持することにより、異常に起因する振動成分の周波数が略一定の周波数に安定し、振動成分の周波数の変動に起因する振幅の変動を抑制することができる。
【発明の効果】
【００１５】
本発明によれば、ロボット本体の異常診断の精度を高めることができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に関わるロボットの構成の一例を示す説明図である。
【図２】本実施形態に関わるロボットの第１のハードウェア構成の一例を示す説明図である。
【図３】アームが通常動作をするときの回転軸の回転速度プロファイルの一例を示す説明図である。
【図４】本実施形態に関わる異常診断方法における回転軸の回転速度プロファイルの一例を示す説明図である。
【図５】アームが通常動作をするときに検出される振動成分の一例を示すグラフである。
【図６】本実施形態に関わる異常診断方法により検出される振動成分の一例を示すグラフである。
【図７】第１の角度位置と第２の角度位置との関係を示す説明図である。
【図８】第１の角度位置と第２の角度位置との関係を示す説明図である。
【図９】本実施形態に関わるロボット本体の異常診断方法の一例を示すフローチャートである。
【図１０】本実施形態に関わるロボットの第２のハードウェア構成の一例を示す説明図である。
【発明を実施するための形態】
【００１７】
以下、本発明の一側面に関わる実施の形態（以下、「本実施形態」とも表記する）を図面に基づいて説明する。本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更又は改良され得るととともに、本発明には、その等価物も含まれる。なお、同一符号は、同一の構成要素を示すものとし、重複する説明は省略する。
【００１８】
［適用例］
まず、図１を参照しながら、本発明の適用例について説明する。図１は、本実施形態に関わるロボット１００の構成の一例を示す。ロボット１００は、例えば、ロボット本体２００とロボット制御装置３００とを備えてもよい。ロボット制御装置３００は、ロボット本体２００の動作を制御するコンピュータシステムである。ロボット１００の具体例として、垂直多関節ロボット、水平多関節ロボット、直交ロボット、又はパラレルリンクロボットなどを挙げることができる。ロボット１００は、自律的に動作するマニピュレータとして動作し、例えば、部品の組み立て、搬送、塗装、検査、研磨、又は洗浄などの何れかの用途に用いることができる。
【００１９】
ロボット本体２００は、例えば、マニピュレータとして動作するアーム２０３と、アーム２０３に動力を伝達する回転軸２０４を回転させるモータ２０１と、回転軸２０４の回転速度を減速してトルクを増大させ、増大されたトルクを有する動力を、出力軸２０５を通じてアーム２０３に伝達する減速機２０２とを備えてもよい。回転軸２０４は、例えば、モータ２０１の出力軸でもよく、この場合、モータ２０１の回転速度と回転軸２０４の回転速度は一致する。説明の便宜上、図１では、ロボット本体２００の軸数（関節数）が１である場合を例示しているが、軸数は２以上（例えば、４〜７軸）でもよい。
【００２０】
ロボット制御装置３００は、例えば、モータ２０１の動作指令を生成する動作指令部３０２と、動作指令部３０２からの動作指令に応答して、モータ２０１の駆動を制御する駆動制御部３０４と、モータ２０１からの動力により回転する回転軸２０４の回転に伴って発生する振動成分を検出する振動検出部３０５と、振動検出部３０５によって検出された振動成分を周波数解析して異常診断を行う診断部３０３とを備えてもよい。振動検出部３０５は、モータ２０１の出力トルクに重畳されている振動成分を検出してもよく、或いは、ロボット本体２００の部品（例えば、減速機２０２）から発生する振動成分を検出してもよい。ロボット制御装置３００は、例えば、マイクロコンピュータを有する制御部３０１を備えてもよく、動作指令部３０２及び診断部３０３の機能は、制御部３０１のマイクロコンピュータによる情報処理機能によって実現されてもよい。ロボット制御装置３００は、後述する警告情報を出力する出力装置３１６を更に備えてもよい。
【００２１】
ロボット１００は、例えば、ティーチングプレイバックに基づいて、アーム２０３が予め定められた動作をするように設計されていてもよい。本明細書では、ティーチングにより予め定められた動作を、異常診断時のアーム２０３の動作から区別するために、通常動作とも呼ぶ。モータ２０１が回転軸２０４を通常動作用の出発角度位置から通常動作用の目標角度位置に回転させることにより、アーム２０３は、通常動作を行う。ここで、通常動作用の出発角度位置は、アーム２０３が通常動作を開始するときの回転軸２０４の角度位置である。通常動作用の目標角度位置は、アーム２０３が通常動作を終了するときの回転軸２０４の角度位置である。
【００２２】
本明細書において、ロボットの異常とは、ロボットの正常な動作に支障を来している状態又はそのような支障の発生が将来的に見込まれる状態を意味し、例えば、故障、損傷、摩耗、歪み、変形などを含む。異常の中でも、特に、ロボットの動作に著しい支障がある状態を故障と呼ぶ。異常診断においては、回転軸２０４の回転に伴って発生する振動成分のうち、異常に起因する１周期以上の振動成分の検出が可能になる回転軸２０４の異常診断用の目標角度位置が決定される。本明細書では、説明の便宜上、回転軸２０４の通常動作用の目標角度位置を第１の目標角度位置と呼び、回転軸２０４の異常診断用の目標角度位置を第２の目標角度位置と呼び、両者を区別する。なお、回転軸２０４の通常動作用の出発角度位置は、回転軸２０４の異常診断用の出発角度位置と同じであるため、特に両者を区別する場合を除いて、両者を単に出発角度位置と呼ぶ。第２の目標角度位置は、ロボット１００を保守管理するユーザによって決定されてもよく、又は、動作指令部３０２の演算機能或いは後述する上位コントローラ４００の演算機能により決定されてもよい。そして、駆動制御部３０４は、動作指令部３０２からの動作指令に応答して、異常に起因する振動成分の検出が可能になる略一定の回転速度で回転軸２０４が出発角度位置から第２の目標角度位置に回転するようにモータ２０１を駆動する。ここで、異常に起因する振動成分の検出が可能になる回転軸２０４の回転速度の上限は、例えば、振動検出部３０５の性能（例えば、応答周波数）や減速機２０２の構造（例えば、軸受のピッチ円形、転動体の直径、個数、及び接触角など）又は仕様（例えば、減速比）などによって定まるものでもよい。異常に起因する振動成分の検出が可能になる回転軸２０４の回転速度の下限は、例えば、その下限を下回ると振動成分が現れ難くなるような回転速度に設定されてもよい。異常診断においては、回転軸２０４の回転速度を、異常に起因する振動成分の検出が可能になる回転軸２０４の回転速度の上限と下限との間に設定するのが望ましく、特に、異常に起因する振動成分の適度な大きさの振幅を安定して検出できる略一定の回転速度に設定するのが望ましい。異常診断時における回転軸２０４の回転速度プロファイルは、通常動作時の回転軸２０４の回転速度プロファイルとは、異なっていてもよい。本明細書において、回転速度プロファイルとは、回転速度の時間変化の特性を意味する。診断部３０３は、振動検出部３０５によって検出された振動成分に基づいて異常診断（例えば、回転軸２０４の回転に連動する部品の損傷の有無の判定）を行う。
【００２３】
出力装置３１６は、出発角度位置から第２の目標角度位置までの角度範囲が出発角度位置から第１の目標角度位置までの角度範囲より広いときに、警告情報を出力してもよい。この警告情報は、例えば、異常診断時におけるアーム２０３の動作範囲が通常動作時のアーム２０３の動作範囲を超えることを警告するものである。出力装置３１６は、例えば、文字メッセージなどの視覚的に認識可能な警告情報を表示する表示装置でもよく、或いは音声メッセージなどの聴覚的に認識可能な警告情報を出力する音響装置でもよい。出力装置３１６は、例えば、振動を通じて警告を伝える振動装置でもよい。出力装置３１６は、視覚的に認識可能な警告情報、聴覚的に認識可能な警告情報、及び振動のうち何れか二つ以上を組み合わせて警告を伝えてもよい。出力装置３１６は、例えば、有線回線又は無線回線を通じて警告情報を送信する通信装置でもよい。警告情報の送信先は、例えば、ユーザの通信端末（例えば、スマートフォン、スマートウォッチ或いはタブレット端末と呼ばれる移動通信端末、又は、通信機能を有するパーソナルコンピュータ）でもよく、又は通信機能を有する外部機器でもよい。警告情報を受信した通信端末又は外部機器は、視覚的に認識可能な警告情報、聴覚的に認識可能な警告情報、及び振動のうち何れか二つ以上を組み合わせて警告を伝えてもよい。
【００２４】
このように、異常診断において、回転軸２０４を出発角度位置から第２の目標角度位置に回転させることにより、回転軸２０４の回転に伴って発生する振動成分のうち、異常に起因する１周期以上の振動成分を検出することができる。これにより、正確な異常診断に必要な振動成分の情報を不足なく取得できる。また、異常診断時の回転軸２０４の回転速度を略一定値に維持することにより、異常に起因する振動成分の周波数が略一定の周波数に安定し、振動成分の周波数の変動に起因する振幅の変動を抑制することができる。また、出発角度位置から第２の目標角度位置までの角度範囲が出発角度位置から第１の目標角度位置までの角度範囲より広いときに、異常診断時におけるアーム２０３の動作範囲が通常動作時のアーム２０３の動作範囲を超えることを警告することにより、例えば、ユーザは、ロボット１００が他のロボット又は機器と干渉しないようにロボット１００を移動させるなどの措置を講じることができる。
【００２５】
［第１のハードウェア構成］
次に、図２を中心に図１を適宜参照しながら、ロボット１００の第１のハードウェア構成の一例について説明する。
ロボット本体２００は、図１に示すモータ２０１の一例として、エンコーダ付きのサーボモータ２０６を備えている。
ロボット制御装置３００は、図１に示す制御部３０１の一例として、コントローラ３０６を備えている。
【００２６】
コントローラ３０６は、ハードウェア資源として、例えば、プロセッサ３０７と、記憶資源３０８と、入出力インタフェース３０９とを備えるマイクロコンピュータでもよい。記憶資源３０８は、異常診断プログラム３１０を格納してもよく、異常診断プログラム３１０は、そのメインプログラムの中で呼び出されて実行される複数のソフトウェアモジュールである動作指令モジュール３１１及び診断モジュール３１２を備えてもよい。記憶資源３０８は、例えば、半導体メモリ又はディスク媒体などのコンピュータ読み取り可能な記録媒体が提供する記憶領域である。
【００２７】
動作指令モジュール３１１がプロセッサ３０７によって解釈及び実行され、コントローラ３０６のハードウェア資源と動作指令モジュール３１１とが協働することにより、図１に示す動作指令部３０２としての機能が実現される。同様に、診断モジュール３１２がプロセッサ３０７によって解釈及び実行され、コントローラ３０６のハードウェア資源と診断モジュール３１２とが協働することにより、図１に示す診断部３０３としての機能が実現される。このように、動作指令部３０２及び診断部３０３の機能は、コントローラ３０６のハードウェア資源と異常診断プログラム３１０との協働により実現されてもよく、或いは、専用のハードウェア資源（例えば、特定用途向け集積回路（ＡＳＩＣ）、又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）など）やファームウェアを用いて実現されてもよい。
【００２８】
ロボット制御装置３００は、図１に示す駆動制御部３０４の一例として、サーボドライバ３１３を備えている。
ロボット制御装置３００は、図１に示す振動検出部３０５の一例として、モータ２０１の出力トルクに重畳されている振動成分を検出するためのトルクセンサ３１４を備えている。なお、サーボモータ２０６の出力トルクを検出するための手段として、トルクセンサ３１４は必須ではなく、例えば、サーボドライバ３１３の指令トルク又はサーボモータ２０６の出力電流値から求めたトルクからサーボモータ２０６の出力トルクを検出してもよい。
【００２９】
なお、減速機２０２は、例えば、回転軸２０４の回転に連動して回転するベアリング機構又は歯車機構を備えてもよく、ベアリング機構又は歯車機構の損傷（例えば、破損又は経年劣化などに起因する歪みなど）に起因して振動成分が発生してもよい。このようなベアリング機構又は歯車機構の損傷に起因して発生する振動成分の周波数は、回転軸２０４の回転速度に比例することが知られている（「設備管理技術事典」，２００３，第５７４頁）。振動成分の発生原因は、減速機２０２の損傷に限られるものではなく、例えば、回転軸２０４の回転に連動する部品の損傷であればよい。減速機２０２として、例えば、ハーモニックドライブ（登録商標）と呼ばれる波動歯車装置を用いてもよい。
【００３０】
出力装置３１６は、例えば、文字メッセージなどの視覚的に認識可能な警告情報を表示する表示装置（例えば、液晶ディスプレイ、電界発光ディスプレイ、又はプラズマディスプレイなどの平板ディスプレイ）でもよく、或いは音声メッセージなどの聴覚的に認識可能な警告情報を出力する音響装置（例えば、スピーカ装置）でもよい。
【００３１】
図３は、アーム２０３が通常動作をするときに回転軸２０４が出発角度位置から第１の目標角度位置に回転するときの回転軸２０４の回転速度プロファイルの一例を示す。図３の横軸は時間を示し、縦軸は回転速度を示す（図４も同様である）。符号ＲＶ１は、ロボット本体２００の異常に起因する振動成分の検出が可能になる回転軸２０４の回転速度の上限を示しており、図３に示す回転速度プロファイルでは、異常に起因する振動成分の正確な検出が困難である。図４は、異常診断時に回転軸２０４が出発角度位置から第２の目標角度位置に回転するときの回転軸２０４の回転速度プロファイルの一例を示す。図４に示す例では、異常診断時の回転軸２０４の回転速度は、異常に起因する振動成分の検出が可能になる回転軸２０４の回転速度の上限ＲＶ１と下限ＲＶ３との間の回転速度ＲＶ２に設定されている。回転速度ＲＶ２は、異常に起因する振動成分の適度な大きさの振幅を安定して検出できる回転速度であるのが望ましい。異常診断時における回転軸２０４の回転速度プロファイルは、回転軸２０４の回転速度がＲＶ２に維持される期間Ｔ２を含むように略台形状としてもよい。
【００３２】
なお、符号Ｔ１は、回転軸２０４の回転速度が０からＲＶ２に達するまでの立ち上がり時間を示している。符号Ｔ３は、回転軸２０４の回転速度がＲＶ２から０に達するまでの立ち下がり時間を示している。Ｔ１，Ｔ２，Ｔ３の合計時間Ｔは、回転軸２０４が出発角度位置から第２の目標角度位置に回転するのに要する時間に相当する。Ｔ２に比べてＴ１，Ｔ３が十分に短い場合には、期間Ｔ２の長さに応じて、例えば、トルクセンサ３１４により検出される振動成分のうち異常に起因する振動成分の周期数が実質的に定まる。検出に必要な振動成分の周期数は、例えば、モータ２０１又は減速機２０２の仕様に応じて決定してもよい。
【００３３】
図５は、アーム２０３が通常動作をするときに回転軸２０４の回転に伴って発生する振動成分を示しており、符号ＶＣ１は、これらの振動成分のうち異常に起因する振動成分を示している。アーム２０３が通常動作をするときの回転軸２０４の回転速度は、図３に示すように、時間の経過とともに変化し続けるため、異常に起因する振動成分ＶＣ１の周波数は安定せず、振動成分ＶＣ１の周波数の変動に連動してその振幅も変動してしまう。図６は、異常診断時に回転軸２０４の回転に伴って発生する振動成分を示しており、符号ＶＣ２は、これらの振動成分のうち異常に起因する振動成分を示している。異常診断時の回転軸２０４の回転速度は、図４に示すように、異常に起因する振動成分ＶＣ２の適度な大きさの振幅を安定して検出できる回転速度ＲＶ２に維持されるため、振動成分ＶＣ２の周波数及び振幅は安定している。なお、図６に示す例では、期間Ｔ２の長さは、３周期分の振動成分ＶＣ２を検出するのに必要十分である場合を例示している。
【００３４】
図７及び図８は、第１の角度位置と第２の角度位置との関係を示す説明図である。図７に示すように、出発角度位置から第２の目標角度位置までの角度範囲θ２が出発角度位置から第１の目標角度位置までの角度範囲θ１より狭いときは、異常診断時におけるアーム２０３の動作範囲は、通常動作時のアーム２０３の動作範囲を超えないため、異常診断を行っても、ロボット１００が他のロボット又は機器と干渉することはない。これに対し、図８に示すように、出発角度位置から第２の目標角度位置までの角度範囲θ２が出発角度位置から第１の目標角度位置までの角度範囲θ１より広いときは、異常診断時におけるアーム２０３の動作範囲は、通常動作時のアーム２０３の動作範囲を超えるため、異常診断時にロボット１００が他のロボット又は機器と干渉する虞がある。このような場合には、異常診断時におけるアーム２０３の動作範囲が通常動作時のアーム２０３の動作範囲を超えることをユーザに警告するのが望ましい。
【００３５】
図９は、ロボット本体２００の異常診断方法の一例を示すフローチャートである。
ステップ９０１において、検査者は、ロボット本体２００の回転軸２０４のうち異常診断の対象となる回転軸を決定する。図２は、ロボット本体２００の回転軸２０４の数（関節数）が１つである場合を例示しているが、回転軸２０４の数は２以上でもよく、２以上の回転軸２０４の中から異常診断の対象となる回転軸が決定される。
【００３６】
ステップ９０２において、検査者は、例えば、トルクセンサ３１４の性能（例えば、応答周波数）、減速機２０２の構造（例えば、軸受のピッチ円形、転動体の直径、個数、及び接触角など）、減速機２０２の仕様（例えば、減速比）、又はサーボモータ２０６或いはサーボドライバ３１３の特性などを考慮に入れて、異常に起因する振動成分の検出が可能になる回転軸２０４の回転速度ＲＶ２を決定する。検査者は、異常に起因する振動成分の検出に必要な周期数を考慮に入れて第２の目標角度位置を決定する。例えば、図６に示すように、３周期分の振動成分ＶＣ２を検出する場合には、３周期分の振動成分ＶＣ２を検出できる回転軸２０４の角度位置を第２の目標角度位置として決定する。検査者は、回転軸２０４の異常診断を行う指令を、上位コントローラ４００を通じて、コントローラ３０６に与える。この指令には、回転速度ＲＶ２及び第２の目標角度位置を指定する情報が含まれる。
【００３７】
なお、回転速度ＲＶ２は、必ずしも検査者が決定する必要はなく、例えば、ロボット１００の製造メーカが異常診断用に推奨する回転速度でもよい。回転速度ＲＶ２は、動作指令部３０２の演算機能或いは上位コントローラ４００の演算機能により決定されてもよい。
【００３８】
ステップ９０３において、コントローラ３０６は、ステップ９０２で与えられた指令に含まれる情報（回転速度ＲＶ２及び第２の目標角度位置を指定する情報）を考慮に入れて異常診断時の回転軸２０４の回転速度プロファイルを決定する。
【００３９】
ステップ９０４において、コントローラ３０６は、異常診断時のアーム２０３の動作範囲が通常動作時のアーム２０３の動作範囲より狭いか否かをチェックする。
【００４０】
ステップ９０５において、コントローラ３０６は、ステップ９０３で決定された回転速度プロファイルで回転軸２０４を回転させる指令をサーボドライバ３１３に与える。サーボドライバ３１３は、サーボモータ２０６からのフィードバック信号（例えば、角度位置や回転速度などの情報）とコントローラ３０６からの指令値（例えば、第２の目標角度位置や回転速度ＲＶ２などの指令値）との偏差がゼロとなるように、サーボモータ２０６への電流の供給をフィードバック制御し、回転軸２０４を回転させる。
【００４１】
ステップ９０６において、トルクセンサ３１４は、サーボモータ２０６の出力トルクに重畳されている振動成分を検出し、検出した振動成分に関わる情報をコントローラ３０６に出力する。
【００４２】
ステップ９０７において、診断モジュール３１２は、コントローラ３０６に入力された振動成分に関わる情報を周波数解析（例えば、高速フーリエ変換）して異常診断を行う。例えば、特定の周波数の振動成分の振幅が他の周波数の振動成分の振幅よりも閾値を超えて有意に大きい場合には、診断モジュール３１２は、特定の周波数の振動成分が、異常に起因する振動成分であると判断してもよい。
【００４３】
ステップ９０８において、コントローラ３０６は、警告情報の出力を出力装置３１６に指示する。出力装置３１６は、この指示に応答して、異常診断時におけるアーム２０３の動作範囲が通常動作時のアーム２０３の動作範囲を超えることを警告する警告情報を出力する。
【００４４】
ステップ９０９において、検査者は、異常診断動作の実行を許可するか否かを指定する指令を、上位コントローラ４００を通じてコントローラ３０６に与える。
【００４５】
第１のハードウェア構成におけるロボット１０の異常診断においては、トルクセンサ３１４の性能（例えば、応答周波数）、減速機２０２の構造（例えば、軸受のピッチ円形、転動体の直径、個数、及び接触角など）、減速機２０２の仕様（例えば、減速比）、又はサーボモータ２０６或いはサーボドライバ３１３の特性などを考慮に入れて、異常に起因する振動成分の検出が可能になる回転軸２０４の回転速度ＲＶ２が決定される。そして、回転軸２０４を出発角度位置から第２の目標角度位置に回転させることにより、回転軸２０４の回転に伴って発生する振動成分のうち、異常に起因する１周期以上の振動成分を検出することができる。これにより、正確な異常診断に必要な振動成分の情報を不足なく取得できる。
【００４６】
また、異常診断時の回転軸２０４の回転速度をＲＶ２に維持することにより、異常に起因する振動成分の周波数が略一定の周波数に安定し、振動成分の周波数の変動に起因する振幅の変動を抑制することができる。なお、異常診断時の回転軸２０４の回転速度は、必ずしも、ＲＶ２に正確に一致する必要はなく、振動成分の周波数の変動に実質的に影響を与えない範囲内の僅かな誤差は実用上許容し得る。
【００４７】
また、異常診断時におけるアーム２０３の動作範囲が通常動作時のアーム２０３の動作範囲を超えるときにその旨を警告することにより、例えば、ユーザは、異常診断の対象となるロボット１００が他のロボット又は機器と干渉しないように、異常診断の対象となるロボット１００を移動させたり、或いは、異常診断の対象となるロボット１００の周辺の他のロボット又は機器を移動させるなどの措置を講じることができる。また、この警告により、異常診断の対象となるロボット本体２００と作業者との干渉による危険を避けるようにユーザに注意を喚起することができる。
【００４８】
［第２のハードウェア構成］
次に、図１０を中心に図２を適宜参照しながら、ロボット１００の第２のハードウェア構成の一例について説明する。
第２のハードウェア構成におけるロボット１００は、図２に示す第１のハードウェア構成におけるトルクセンサ３１４に替えて、ロボット本体２００の部品（例えば、減速機２０２）から発生する振動成分を検出するための振動センサ３１５を備えている点において、第１のハードウェア構成におけるロボット１００とは相違し、その余の点で共通する。
【００４９】
第２のハードウェア構成におけるロボット１００の異常診断においては、振動センサ３１５の性能（例えば、応答周波数）、減速機２０２の構造（例えば、軸受のピッチ円形、転動体の直径、個数、及び接触角など）、減速機２０２の仕様（例えば、減速比）、又はサーボモータ２０６或いはサーボドライバ３１３の特性などを考慮に入れて、異常に起因する振動成分の検出が可能になる回転軸２０４の回転速度ＲＶ２が決定される。そして、回転軸２０４を出発角度位置から第２の目標角度位置に回転させることにより、回転軸２０４の回転に伴って発生する振動成分のうち、異常に起因する１周期以上の振動成分を検出することができる。これにより、正確な異常診断に必要な振動成分の情報を不足なく取得できる。
【００５０】
第２のハードウェア構成におけるロボット１００が奏するその余の効果は、第１のハードウェア構成におけるロボット１００が奏する効果と同様である。
【００５１】
なお、本実施形態に関わるロボット１００は、ファクトリーオートメーションに用いられる産業ロボットに限定されるものではなく、例えば、サービス業に用いられるロボット（例えば、オペレーティングロボット、医療用ロボット、掃除ロボット、レスキューロボット、セキュリティロボットなど）でもよい。
【００５２】
上述の実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限定されない。
（付記１）
アーム２０３が予め定められた動作をするようにアーム２０３に動力を伝達する回転軸２０４を出発角度位置から第１の目標角度位置に回転させるモータ２０１を備えるロボット本体２００の異常診断を行うロボット制御装置３００であって、
回転軸２０４の回転に伴って発生する振動成分のうち異常に起因する振動成分の検出が可能になる略一定の回転速度で回転軸２０４が出発角度位置から第２の目標角度位置に回転するようにモータ２０１を駆動する駆動制御部３０４であって、第２の目標角度位置は、異常に起因する１周期以上の振動成分の検出が可能になる回転軸２０４の角度位置である、駆動制御部３０４と、
振動成分を検出する振動検出部３０５と、
検出された振動成分に基づいて異常診断を行う診断部３０３と、
を備えるロボット制御装置３００。
【００５３】
（付記２）
付記１に記載のロボット制御装置３００であって、
出発角度位置から第２の目標角度位置までの角度範囲が出発角度位置から第１の目標角度位置までの角度範囲より広いときに、異常診断時におけるアーム２０３の動作範囲が、アーム２０３が予め定められた動作をするときの動作範囲を超えることを警告する警告情報を出力する出力装置３１６を更に備える、ロボット制御装置３００。
【００５４】
（付記３）
付記１又は２に記載のロボット制御装置３００であって、
異常診断時に回転軸２０４が出発角度位置から第２の目標角度位置に回転するときの回転軸２０４の回転速度プロファイルは、アーム２０３が予め定められた動作をするときに回転軸２０４が出発角度位置から第１の目標角度位置に回転するときの回転軸２０４の回転速度プロファイルとは異なる、ロボット制御装置３００。
【００５５】
（付記４）
付記１乃至３のうち何れか１つに記載のロボット制御装置３００であって、
異常診断時に回転軸２０４が出発角度位置から第２の目標角度位置に回転するときの回転軸２０４の回転速度プロファイルは、回転軸２０４の回転速度が略一定となる期間を含む略台形状である、ロボット制御装置３００。
【００５６】
（付記５）
アーム２０３が予め定められた動作をするようにアーム２０３に動力を伝達する回転軸２０４を出発角度位置から第１の目標角度位置に回転させるモータ２０１を備えるロボット本体３００の異常をロボット制御装置３００が診断する異常診断方法であって、
ロボット制御装置３００が、
回転軸２０４の回転に伴って発生する振動成分のうち異常に起因する振動成分の検出が可能になる略一定の回転速度で回転軸２０４が出発角度位置から第２の目標角度位置に回転するようにモータ２０１を駆動するステップ９０５であって、第２の目標角度位置は、異常に起因する１周期以上の振動成分の検出が可能になる回転軸２０４の角度位置である、ステップ９０５と、
振動成分を検出するステップ９０６と、
検出された振動成分に基づいて異常診断を行うステップ９０７と、
を実行する異常診断方法。
【００５７】
（付記６）
アーム２０３が予め定められた動作をするようにアーム２０３に動力を伝達する回転軸２０４を出発角度位置から第１の目標角度位置に回転させるモータ２０１を備えるロボット本体２００の異常診断をロボット制御装置３００に実行させるための異常診断プログラム３１０であって、
ロボット制御装置３００に、
回転軸２０４の回転に伴って発生する振動成分のうち異常に起因する振動成分の検出が可能になる略一定の回転速度で回転軸２０４が出発角度位置から第２の目標角度位置に回転するようにモータ２０１を駆動するステップ９０５であって、第２の目標角度位置は、異常に起因する１周期以上の振動成分の検出が可能になる回転軸２０４の角度位置である、ステップ９０５と、
振動成分を検出するステップ９０６と、
検出された振動成分に基づいて異常診断を行うステップ９０７と、
を実行させる異常診断プログラム３１０。
【符号の説明】
【００５８】
１００…ロボット  ２００…ロボット本体  ２０１…モータ  ２０２…減速機  ２０３…アーム  ２０４…回転軸  ２０５…出力軸  ２０６…サーボモータ  ３００…ロボット制御装置  ３０１…制御部  ３０２…動作指令部  ３０３…診断部  ３０４…駆動制御部  ３０５…振動検出部  ３０６…コントローラ  ３０７…プロセッサ  ３０８…記憶資源  ３０９…入出力インタフェース  ３１０…異常診断プログラム  ３１１…動作指令モジュール  ３１２…診断モジュール  ３１３…サーボドライバ  ３１４…トルクセンサ  ３１５…振動センサ  ３１６…出力装置  ４００…上位コントローラ
【図１】
2019155498.tif 000003
【図２】
2019155498.tif 000004
【図３】
2019155498.tif 000005
【図４】
2019155498.tif 000006
【図５】
2019155498.tif 000007
【図６】
2019155498.tif 000008
【図７】
2019155498.tif 000009
【図８】
2019155498.tif 000010
【図９】
2019155498.tif 000011
【図１０】
2019155498.tif 000012