JP6881886B2 - 制御方法、ロボット装置、および駆動装置 - Google Patents

制御方法、ロボット装置、および駆動装置 Download PDF

Info

Publication number
JP6881886B2
JP6881886B2 JP2015140622A JP2015140622A JP6881886B2 JP 6881886 B2 JP6881886 B2 JP 6881886B2 JP 2015140622 A JP2015140622 A JP 2015140622A JP 2015140622 A JP2015140622 A JP 2015140622A JP 6881886 B2 JP6881886 B2 JP 6881886B2
Authority
JP
Japan
Prior art keywords
joint
angle
control method
lost motion
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015140622A
Other languages
English (en)
Other versions
JP2017019080A5 (ja
JP2017019080A (ja
Inventor
勉 尾坂
勉 尾坂
隆広 石川
隆広 石川
俊介 川村
俊介 川村
洋平 川口
洋平 川口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015140622A priority Critical patent/JP6881886B2/ja
Priority to US15/200,385 priority patent/US10259121B2/en
Publication of JP2017019080A publication Critical patent/JP2017019080A/ja
Publication of JP2017019080A5 publication Critical patent/JP2017019080A5/ja
Application granted granted Critical
Publication of JP6881886B2 publication Critical patent/JP6881886B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/0095Means or methods for testing manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37209Estimate life of gear, drive
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41059Play in gear, screw backlash, lost motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Description

本発明は、制御方法、ロボット装置、および駆動装置に関する。
従来、工業製品などの物品の生産現場などにおいて、様々なロボット装置が使用されており、近年では、より複雑な動作を行える多軸多関節のロボットアームを備えたロボット装置ないしロボットシステムが普及しつつある。例えば、その一例として、ロボット装置を複数組み合わせて成る、いわゆるロボットセルを用いて工業製品などの物品を製造する生産ラインが知られている。
この種の工業用に用いられるロボット装置のロボットアームの構成は、リンクと関節の構造によって、垂直多関節構成、水平多関節構成などのように分類されることがある。しかしながら、いずれのアーム構成においても、関節の基本的構造は、いずれも類似しており、変速機(多くの場合減速機)を介して回転駆動源の出力を被駆動側のリンクの回転軸に伝達する構成が用いられる。
特にロボットセル構成の生産ラインでは、ラインを構成するロボット装置の1台が寿命となれば製造工程を中止して、速やかに当該のロボット装置を交換するなどの措置を講じる必要がある。一般に、ロボットアームの寿命は、関節に用いられている変速機(多くの場合、減速機)の寿命によって支配される。
このため、ロボット装置を用いた物品の生産システムでは、ロボットアームの変速機(減速機)の寿命を正確に診断する手段が望まれている。例えば、変速機の余命が推定できれば、関節のアセンブリ交換や、新品やオーバーホール済みのロボットアームへの換装などの予防的な措置を生産スケジュールに組み込むことができる、と考えられる。これにより、ロボットアームの突然の故障(寿命到来)によって生産ラインが停止するのを防止できる。
以上に鑑み、近年、ロボットアームの寿命診断に対する種々の技術が提案されている。例えば、各関節を形成するギアの摩耗量を測定し、その摩耗量を先端位置のガタの量に換算して寿命判定を行う技術が提案されている(例えば下記の特許文献1)。また、機械端エンコーダとモータエンコーダを用いて、回転駆動系のロストモーション(駆動部のガタやヒステリシス)を検出、補正する技術が提案されている(例えば下記の特許文献2)。
特許第3089915号公報 特開2001−166805号公報
しかしながら、特許文献1に記載の技術でギアの摩耗量を測定するには、ロボットアームを停止させてロボットアーム外部からギアの摩耗量を測定する必要があり、その測定時間のため製造の中断時間が長くなる傾向がある。また、場合によってはロボットアームを分解する必要があり、さらに多くの作業時間が必要になる、という問題がある。
また、特許文献2は、ラック&ピニオンのような駆動系の出力端と入力端のエンコーダ(機械端エンコーダとモータエンコーダ)を用いて、ロストモーションを測定する構成を開示している。基本的には、同様の測定方式は、垂直多関節(多軸)のロボットアームの関節の回転駆動系にも応用できると考えられる。ところが、多軸多関節のロボットアームでは、例えばアームの姿勢に応じて、測定対象の関節(の回転駆動系)に関する力学的条件が様々に変化する可能性があり、測定結果に影響を与える可能性がある。このため、特許文献2の測定方式を単純に実施しただけでは、信頼性および精度の高いロストモーション測定を行うのは難しい。
本発明の課題は、ロボット装置の関節、特にその駆動系のロストモーションを容易かつ正確に測定できるようにし、それに基づき、ロボット装置の関節機構の寿命、或いは余命を容易かつ正確に診断できるようにすることにある。
上記課題を解決するため、本発明においては、駆動源と、前記駆動源の駆動を変速する変速機と、前記変速機の入力側の角度を検出する第1の角度センサと、前記変速機の出力側の角度を検出する第2の角度センサとを備えた関節と、前記駆動源を駆動させ前記関節を制御する制御装置と、を有したロボット装置の制御方法において、前記制御装置が、前記関節により駆動される被駆動部位の質量により重力モーメントが前記関節に作用する場合、前記重力モーメントが前記関節の駆動抵抗よりも小さくなる位置に、前記被駆動部位を位置させた状態で、前記関節を駆動させて前記第1および第2の角度センサの出力値を取得する角度取得工程と、前記制御装置が、前記角度取得工程で取得した前記第1および第2の角度センサの出力値に基づき、所定の角度と前記変速機の出力側の角度との角度差を算出する角度差算出工程と、を備えたことを特徴とする。
本発明によれば、上記第1および第2の角度センサの出力値に基づき、変速機のロストモーション値を測定することができる。そして、測定したロストモーション値に基づき、ロボット装置の関節機構の寿命、或いは余命を容易かつ正確に診断することができる。
本発明の実施例1に係るロボット装置を模式的に示した斜視図である。 図1のロボットアームの関節の構造を示した断面図である。 実施例1に係るロボット装置の制御装置の構成を示したブロック図である。 実施例1に係るロボット装置の制御系を示した機能ブロック図である。 実施例1の関節の角度関係を示した説明図である。 実施例1のロストモーションの測定制御を示したフローチャート図である。 実施例1におけるロストモーション測定データを示したグラフ図である。 実施例1の処理を示す寿命診断処理を示したフローチャート図である。 ロボットアームに作用する重力モーメントを示した説明図である。 図9の重力モーメント釣り合いを示した説明図である。 (a)、(b)はそれぞれ実施例2におけるロストモーション測定時のロボットアームの異なる姿勢を示した説明図である。 (a)は図11のモーメント釣り合いを示した説明図、(b)は実施例2のロストモーションの測定制御を示したフローチャート図である。 実施例3の測定対象の関節の駆動角度を示した説明図である。 実施例3の制御を示したフローチャート図である。 実施例4のロストモーションの測定制御を示したフローチャート図である。 実施例5のロストモーションの測定制御を示したフローチャート図である。 実施例6のロボットアームの運転時間とロストモーションの関係を示した説明図である。
以下、添付図面に示すいくつかの実施例を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施例はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
下記の各実施例に係るロボットシステムは、例えば物品(工業製品)を製造する現場において組み立てや加工作業などを行うロボット装置を含む。このロボット装置のロボットアームは、例えば多関節アームであって、その関節には回転駆動源(例えばモータ)と、変速機(例えば減速機)が含まれる。下記の各実施例に係るロボット装置では、関節の変速機(減速機)のロストモーションを測定し、またその測定値に基づき、関節、特にその変速機(減速機)寿命診断や余命推定を行う。
また、この種のロボットアームの関節の変速機として用いられる多くの減速機には歯車機構が利用されている。一般に歯車(ギア)を利用した減速機では、運転(稼動)時間が増えると、歯車が摩耗してロストモーション(バックラッシュ、ガタ)が増える。
また、ロボット装置の関節に設けられる減速機には、例えば、部品点数が少なく、小型軽量で、大きな減速比が取れる波動歯車機構がよく利用される。波動歯車機構では弾性歯車が用いられるため、バックラッシュのようなガタは比較的小さく抑えられるが、入力軸と出力軸の間の位置(角度)制御にはヒステリシス特性があり、このヒステリシスもガタの一種と考えることができる。本明細書のロストモーション測定方式によれば、このようなヒステリシスも含んでロストモーションが検出される。
特に、歯車機構を利用する変速機(減速機)では、運転時間に従って、歯車の形が摩耗により変形し、所期の噛合状態を得られなくなる可能性がある。また、変速機(減速機)のロストモーションは、例えばロボットアームの関節の位置(角度)または姿勢制御の精度に大きく影響する。従って、ロボットアームの関節の変速機(減速機)のロストモーションを測定できれば、予め定めておいたロストモーションの許容範囲との比較によって、その関節(特に変速機)の寿命診断や余命予測が可能となる。
一般に、機械部品の「寿命」とは、実装初期状態から使用に適さない状態になるまでの時間の長さ、または、当該の部品が使用に適さない状態になること(いわゆる故障状態)それ自体をいう。変速機の場合は、例えばロストモーションが増え、アーム先端精度の劣化や噛み合い劣化による効率低下などによって性能が低下し、これにより寿命(の長さ)が決まる。また、現時点からの(現時点で予測された)寿命のことを特に「余命」ということがある。
以下の実施例では、ロボットアームの関節に配置したロータリーエンコーダ(角度センサ:以下、単に「エンコーダ」と略記する)を利用して、当該関節の変速機(多くは減速機)のロストモーションを測定する。この測定したロストモーションに基づき、前記変速機の寿命診断を行うことができる。例えば、測定したロストモーションが、予め定めた(通常使用可能状態に対応する)許容範囲内に収まっているか否かに応じて、寿命診断を行う。
以下、実施例1〜5により、本発明の実施形態に係るロボット装置について具体的に説明する。
本発明の実施例1に係るロボット装置500について、図1から図8を参照しながら説明する。まず、実施例1に係るロボット装置500の全体構成について、図1から図3を参照しながら説明する。図1は本発明の実施例1に係るロボット装置500を模式的に示している。図2は図1のロボットアーム100の関節の1つの断面構造を示している。また、図3は、本実施例に係るロボット装置500の制御装置200の構成を示している。
図1に示すように、ロボット装置500は、ワークWの組立てを行うロボットアーム100と、ロボットアーム100を制御する制御装置200と、操作端末としてのティーチングペンダント300と、を備えている。
ロボットアーム100は、例えば6軸多関節のロボットアーム101と、ロボットアーム101の先端に接続されたハンド(エンドエフェクタ)102と、ハンド102に作用する力等を検出可能な不図示の力センサと、を備えている。ロボットアーム101は、作業台に固定される基台101a上に、変位や力を伝達する複数のリンク121〜126と、各リンク121〜126を旋回又は回転可能に連結する複数の関節111〜116と、を備えている。
ここで、複数の関節111〜116の基本構成は同じであるものとし、本実施例ではリンク121とリンク122との間の関節112を説明することにより、他の関節111,113〜116の説明は省略する。下記の測定制御は、ロボットアーム101の複数の関節111〜116のうちの少なくとも1カ所に関節112(図2)と同じ構成の関節が設けられていれば実施できる。
ロボットアーム101の関節112は、例えば図2に断面構造を示すような構成を有する。図2において、関節112は、サーボモータ(モータ)1、サーボモータ1の回転角度(入力側回転角度)を検出するための入力側エンコーダ10(第1の角度センサ)、およびサーボモータ1の出力を減速する減速機11と、を備えている。さらに、減速機11の出力側には、リンク122の駆動軸(同減速機の出力軸)の回転角度(出力側回転角度)を検出する出力側エンコーダ16が設けられている。
回転駆動源としてのサーボモータ1は、例えばブラシレスDCモータやACサーボモータなどの電磁モータから構成される。このサーボモータ1は、回転軸2とロータマグネット3とで構成された回転部4と、モータハウジング5と、回転軸2を回転自在に支持する軸受6,7と、回転部4を回転させるステータコイル8と、を備えている。軸受6,7はモータハウジング5によって支持され、ステータコイル8はモータハウジング5に取り付けられている。また、サーボモータ1はモータカバー9で囲われている。
入力側エンコーダ10(入力側角度検出手段)は、サーボモータ1の回転軸2の一端に配置されており、サーボモータ1の回転軸2の回転に伴って入力側パルス信号を生成し、制御装置200に生成した入力側パルス信号を出力する。なお、サーボモータ1と入力側エンコーダ10との間には、必要に応じて、電源OFF時にロボットアーム101の姿勢を保持する等ためのブレーキユニットを設けることができる。
減速機11は、入力部であるウェブジェネレータ12と、出力部であるサーキュラスプライン13と、ウェブジェネレータ12とサーキュラスプライン13との間に配置されたフレックススプライン14と、を備えている。ウェブジェネレータ12は、サーボモータ1の回転軸2の上記入力側エンコーダ10が設けられているのとは反対側の他端に接続されている。
フレックススプライン14は、リンク121に固定され、一方、サーキュラスプライン13は、リンク122(被駆動部位)と結合され、リンク122の回動角度を決定する。つまり、サーボモータ1の回転軸2とウェブジェネレータ12との結合部が、減速機11の入力側となり、フレックススプライン14とリンク122との結合部が減速機11の出力側となる。そして、サーボモータ1の回転数は、減速機11により1/Nに減速(減速比Nで減速)され、リンク121とリンク122とが相対的に回転する。このときの減速機11の出力側の回転角度が、実出力角度、即ち関節112の角度となる。
出力側エンコーダ(第2の角度センサ)16は、減速機11の出力側に配置され、リンク121とリンク122との相対角度を検出する。具体的には、出力側エンコーダ16は、関節112の駆動(リンク121とリンク122との相対移動)に伴って出力側パルス信号を生成し、制御装置200に対して生成した出力側パルス信号を出力する。なお、入力側エンコーダ10および出力側エンコーダ16は、一般的なロータリーエンコーダと同様に、光学式或いは磁気式ロータリーエンコーダとして構成することができる。さらに、リンク121とリンク122との間には、クロスローラベアリング15が設けられており、リンク121とリンク122とは、クロスローラベアリング15を介して回転可能に結合されている。
再び図1において、ハンド102は、ワークWを把持可能な複数のフィンガと、複数のフィンガを駆動する不図示のアクチュエータと、を備えており、複数のフィンガを駆動することでワークWを把持することができる。ハンド102には不図示の力センサが設けられる。この力センサは、ハンド102が複数のフィンガでワークWを把持する際等にハンド102に作用する力やモーメントを検出するのに用いられる。
ロボットアーム101は、工場などの生産現場に設置され、例えば各種の工業製品などの物品の加工や組み立てに利用することができる。その場合、ワークWは、例えばロボットアーム101により組み立てられる物品103に装着される部品の1つである。本実施例、あるいは他の実施例において例示するロストモーション測定手法を利用して、ロボットアーム101、特にその関節や減速機の寿命を管理することにより、ロボットアーム101の姿勢制御を高精度に実施できる。このため、物品生産の現場において、ロボットアーム101を用いて高精度で信頼性の高い物品(各種の工業製品)の加工や組み立てを行うことができ、良品を歩留まりよく生産することができる。
図1のロボット装置500の制御装置200は例えば図3に示すように構成することができる。図3に示した制御装置200は、CPU(演算部)201と、ROM202と、RAM203と、HDD(記憶部)204と、記録ディスクドライブ205と、各種のインターフェース211〜215と、を備えている。
ROM202、RAM203、HDD204、記録ディスクドライブ205および各種のインターフェース211〜215が、バス216を介して接続されている。ROM202には、BIOS等の基本プログラムが格納されている。RAM203は、CPU201の演算処理結果を一時的に記憶する記憶装置である。
HDD204は、CPU201の演算処理結果である各種のデータ等を記憶する記憶部であると共に、CPU201に、各種演算処理を実行させるためのプログラム(例えば、後述する減速機状態監視処理)330を記録する。CPU201は、例えばHDD204に記録(格納)されたプログラム330に基づいて各種演算処理を実行する。記録ディスクドライブ205は、記録ディスク331に記録された各種データやプログラム等を読み出すことができる。
インターフェース211には、ロボットアーム101の教示などに用いられるロボット操作装置として、ユーザが操作可能なティーチングペンダント300が接続されている。ティーチングペンダント300には、例えばLCDパネルなどによる表示装置やキーボードなどから成るユーザーインターフェースが配置される。このユーザーインターフェースは、ジョグ操作によってロボットアーム101の各関節の角度を指定したり、あるいはロボットアーム101の基準点が取るべき位置姿勢(教示点)を指定するために用いられる。
ティーチングペンダント300は、上記のユーザーインターフェースを介して行われた入力操作に応じた制御量、例えば、入力された各関節111〜116の目標関節角度をインターフェース211およびバス216を介してCPU201に出力する。また、インターフェース212a,212bには、上記の入力側エンコーダ10および出力側エンコーダ16が接続されている。入力側エンコーダ10および出力側エンコーダ16は、前述したパルス信号をインターフェース212a,212bおよびバス216を介してCPU201に出力する。さらに、インターフェース213,214には、各種画像が表示されるモニタ311や書き換え可能な不揮発性メモリや外付けHDD等の外部記憶装置312を接続する。
また、インターフェース215にはサーボ制御装置313が接続されている。CPU201は、サーボモータ1の回転軸2の回転角度の制御量を示す駆動指令のデータを所定間隔でバス216およびインターフェース215を介してサーボ制御装置313に出力することができる。サーボ制御装置313は、CPU201から入力を受けた駆動指令に基づき、サーボモータ1への電流の出力量を演算し、サーボモータ1へ電流を供給して、ロボットアーム101の関節111〜116の関節角度制御を行う。即ち、CPU201は、サーボ制御装置313を介して、関節111〜116の角度が目標関節角度となるように、サーボモータ1による関節111〜116の駆動を制御する。
また、本実施例1のロストモーション測定では必須ではないが、ロボットアーム101には重力センサ217を設けることができる。重力センサ217は、例えばピエゾ抵抗型、静電容量型その他の検出方式による加速度センサデバイスなどから構成することができる。重力センサ217は、例えば基台101aの水平面(ないし鉛直軸)に対する設置姿勢を検出できるよう、基台101a内に配置する。
重力センサ217の出力は、後述の実施例2において、例えば、関節112によって駆動される手先側の被駆動部位の重心がその関節軸を通る鉛直軸gに一致するような姿勢を保つように制御する場合の基準として利用することができる。
ここで、図4を参照して、後述する減速機状態監視処理のために必要なCPU201およびHDD204廻りのハードウェアにより実現される機能について説明する。
図4は、実施例1に係るロボット装置500の制御系を示す機能ブロック図である。図4に示すように、この制御系は、理論出力角演算部401、実出力角演算部402、ロストモーション演算部403、ロストモーション比較診断部404と許容ロストモーション記憶部405、および診断動作記憶部406を備えている。
理論出力角演算部401は、入力側エンコーダ10から受けた入力側パルス信号をカウントして入力側回転角度θを求め、減速比Nを用いて出力側の角度に換算した理論出力角θ(=θ÷N)を演算する。実出力角演算部402は、出力側エンコーダ16から受けた出力側パルス信号をカウントし、実出力角(出力側回転角度)θを演算する。
本実施例では、理論出力角演算部401および実出力角演算部402から得られる理論出力角θと、実出力角θの差を、ロストモーション(Δθ)と考える。図4の構成では、ロストモーション演算部403は、理論出力角演算部401の演算結果と、実出力角演算部402の演算結果の差(θ−θ)から関節(例えば112)のロストモーションΔθを演算する。このロストモーションΔθを求める測定制御については、後で図6を用いて詳しく説明する。
減速機11もサーキュラスプラインとフレックススプライン等が主な要因でロストモーションが発生する。ロボットアーム、即ち、波動歯車減速機の運転に伴い、サーキュラスプラインとフレックススプラインの歯面が摩耗する。この歯面の摩耗により、ロストモーションが増加する。また、波動歯車減速機に限らず、歯車減速機の寿命は一般に歯面の摩耗量で診断できる。以上のことから、減速機のロストモーションを検出すれば、歯面の摩耗量が推定でき、寿命診断が可能となる。
このため、許容ロストモーション記憶部405には、予め求めたロストモーションの許容値を記憶しておく。許容ロストモーション記憶部405に記憶させておくロストモーションの許容値は、使用する減速機のカタログ値などに基づき定めることができる。例えば、波動歯車減速機のメーカーカタログにおいては、例えば角度表現でヒステリシスロスの値が記載されていることがある。また、本実施例においては、ヒステリシスロスをロストモーションの許容値としても良い。また、組付けや搬送などの作業において、ロストモーション増加によってロボット先端精度が悪化し、作業の支障となるようなロストモーション値を求めて、その値を許容ロストモーションの閾値としても良い。
ロストモーション比較診断部404は、ロストモーション演算部403が算出したロストモーションΔθと、許容ロストモーション記憶部405に格納している許容ロストモーションを比較する。そして、ロストモーションΔθが許容ロストモーションを超える場合、ロストモーション比較診断部404は、当該の関節、特にその減速機の寿命が尽きている、と診断する。
一方、ロストモーションΔθが許容値以下の場合は、当該の関節、特にその減速機が通常使用可能であると診断する。減速機11が寿命に達したと診断した場合、ロストモーション比較診断部404は、モニタ311へ寿命に達したことを示す警告を表示する。動作記憶部406には寿命に必要な一連の動作(図6で説明の動作)や姿勢を記憶する。
次に、図5と図6を参照し、ロストモーションの測定手法の一例につき、説明する。ここでは、ロストモーションの最も単純かつ基本的な測定モデルを示すために、図1の関節111のロストモーションの測定方法を説明する。
ここで、図1のロボットアーム101の関節111は、アームの基台101a上でリンク121を回転支持する。図1のようなロボットアーム101は、基台101aを水平な床面などに固定し、設置され、関節111の回転(関節)軸は、鉛直方向にほぼ一致することになる。
上述の通り、ロストモーションは、関節(の減速機)の回転位置(角度)の制御誤差であって、もし関節軸廻りに、例えばその関節の被駆動部位の質量に起因する重力モーメントが作用すると、その大小によってロストモーションの測定値が影響を受ける。ここで、関節111の場合は、関節の被駆動部位(リンク121以降)の質量は、関節111の関節軸廻りの回転モーメントとしては作用しない。本実施例の測定対象である関節111に関しては、その関節以降、手先側の被駆動部位の質量のロストモーションに対する影響を考慮する必要がない。
図5は関節111の回転軸の角度関係の一例を示しており、ここで回転角θ、θ、θは任意の角度である。図6は実施例1のロストモーションの測定手順を示している。図示の測定手順は、例えばCPU201の制御プログラムとして、例えばHDD204(あるいはROM202)に格納しておくことができる(後述の各フローチャートについても同様)。
なお、図6の測定手順では、関節111のモータ(図2ではサーボモータ1に相当)を駆動するが、この時の回動角は、例えば入力側エンコーダ10から得た入力側エンコーダ値に基づき閉ループ制御する。
ロストモーションを測定する場合、図6のステップS11において、まず関節111の関節角を図5の関節角度θに位置決めする。次に、ステップS12において、(図5では反時計廻りに)関節111を回転させ、関節角度θに位置決めする。これらの関節角制御は、例えば上記のように入力側エンコーダ10から得た入力側エンコーダ値に基づき閉ループ制御する。
続いて、ステップS13において、同じ方向に関節111を回転させ、関節角度θを位置決めし、入力側エンコーダ10と出力側エンコーダ16の値を取得する。
さらに、ステップS14において、関節111をステップS13とは逆方向に回転させ、関節111の関節角を図5の関節角度θに位置決めし、入力側エンコーダ10と出力側エンコーダ16の値を取得する。
上記のステップS11とステップ12は、ステップS13およびS14(角度取得工程)に先立って行う片寄せ予備動作で、少なくともステップS13の開始時にロストモーションを片寄しておくために行うものである。即ち、ロストモーション測定の起点、終点である関節角度θ、θにおいて、片寄せを行いロストモーションの初期誤差の影響を0(ないし最小限)に制御する。本実施例の関節111のように、関節軸に関して当該関節の被駆動部位の重力モーメントが作用しない場合などにはこのようなロストモーションの片寄せ予備動作を行うことができる。ここで、ステップS12とステップS13で片寄せを行う時の関節111の回転方向は同じ必要があり、モータの正逆転によって回転する関節回転量(θ−θ2)は、対象の駆動系で想定されるロストモーション量より大きい必要がある。
図7は、本実施例の実験結果の一例で測定データの波形を示している。図7の横軸の数値(701)は測定サンプリング順を示している。また、図7の縦軸は関節角度(θ)で、理論出力軸角702(実線)と、出力側エンコーダ16で測定した実出力角703(破線)の波形を示している。理論出力軸角702(実線)は、入力側エンコーダ10の出力値を用いて例えば理論出力角演算部401により演算される制御値である。なお、図7では説明を簡単にするため、理論出力軸角702および実出力角703の初期値θt、θrを以下のようにとって図示している。
θt = θr = θ = 0° …(1)
上記の式(1)において、θtは理論出力軸角702の初期値、θrは実出力角703の初期値である。
図7のグラフで初期値近傍では理論出力軸角702と実出力角703に差異はないが、途中から差異が発生している。例えば図7では、関節角θからθに向かう正逆回転の往路は、ロストモーションを片寄せ(ステップS11、S12)した状態から回動を開始しており、実出力角703は理論出力軸角702によく追従している。
ところが、関節角θで関節111の回転方向を逆転させて行う関節角θからθに向かう復路(ステップS13、S14)では、機構のロストモーションの影響によって、実出力角703が理論出力軸角702から除々に乖離している。この実出力角703(θ)と理論出力軸角702(θ)の差(704)がロストモーションである。
図6のステップS15では、ロストモーション演算を行う(ロストモーション算出工程)。この時の算出方式としては、例えば、関節角θ(ステップS14)において、生じている実出力角703と理論出力軸角702の差をロストモーションの測定値として用いるものである。ここで、実出力角703は出力側エンコーダ16から求めた角度値、理論出力軸角702は上記のように入力側エンコーダ10の出力値に対して減速比Nを用いて出力側の角度に換算して求める。
なお、ステップS15では、関節角θ(ステップS14:停止角度)におけるロストモーションの値から、関節角θ(ステップS13:初期角度)におけるロストモーションの値を減算して、その値をロストモーション測定値として算出してもよい。即ち、関節角θ(ステップS14:停止角度)においても、入力側エンコーダ10と出力側エンコーダ16の値を取得しているため、上記同様にこの角度においてもロストモーション値を算出できる。この関節角θ(初期角度)におけるロストモーション値を関節角θ(停止角度)におけるロストモーション値から差し引く。この演算方式によれば、予備動作(ステップS11、S12)によって片寄せの制御が充分ではなかった場合にも、それによって生じていた関節角θ(初期角度)におけるロストモーションの成分を除去でき、より信頼性の高い測定値を得ることができる。
以上のようにロボットアーム101の関節111の回動制御を行い、入力側エンコーダ値と出力側エンコーダ値を介して減速機のロストモーションを測定することができる。さらに、測定したロストモーションと予め記憶しておいた許容ロストモーションを比較して寿命診断を行うことができる。
図8は、関節111の寿命診断を行う検査モードの制御手順の一例を示している。図8の手順では、まずステップS21において、ロボットアーム101のユーザ(例えば管理者)が寿命診断の検査を開始するモードを選択する。
次に、ステップS22において、診断動作記憶部406に予め登録しておいたロストモーション測定の姿勢に制御する。この時の関節角は、例えば図6で示した関節111の例ではθとなる。
続いて、ステップS23において、図7の測定手順(測定工程)を実行し、ロストモーションを測定する。このステップ23の測定手順(測定工程)は、図6のステップS11からS15と同様の処理である。
次に、ステップS24において、ステップS23で測定したロストモーションを許容ロストモーション記憶部405に登録しておいた許容値と比較する。そして、ステップS24の比較の結果、ステップS23で測定したロストモーションが許容ロストモーション記憶部405の判定値よりと大きければ、ステップS25において減速機の寿命であると診断してユーザへ警告する。また、ステップS24が否定された場合には、検査モードを正常終了する(ステップS26)。
ただし、正常終了のためにステップS24からステップS26へ分岐する場合は、減速機の寿命が尽きていないことをユーザに明示的に通知してもよい。これらステップS25の警告や、正常終了の通知は、例えばティーチングペンダント300のディスプレイや、別途配置した不図示のディスプレイを用いる、あるいは、不図示の音声合成および音声出力手段を用いて実施することができる。後述の実施例における各種の情報通知も、上記のような表示出力や音声出力による通知手段により実施することができる。
以上のように、本実施例1のロボット装置500によれば、ロボットアーム101の減速機寿命診断をするために、外部から測定機をセットしてガタを測定、またはロボットアームを分解することなく診断することができる。
なお、以上では、例えば図2においてサーボモータ1と減速機11とが直結されている状態を図示した。しかしながら、サーボモータと波動歯車減速機との間にタイミングベルトなどの伝達系を配置する場合も考えられる。そのような構成においても、許容ロストモーション記憶部405に記憶させておくロストモーションの許容値は、予め実験を行うなどして決定することができる。
次に、図9から図12を参照し、本発明の実施例2に係るロボット装置について説明する。ロボット装置の全体構成は図1と同様であるが、便宜上、本実施例2のロボット装置に関しては、図1中の500Aの符号を用いることにする。
上記実施例1では、ロストモーションの測定対象の関節の被駆動部位の質量が関節軸廻りに重力モーメントとして働かない関節111を例にとり、ロストモーションの測定と寿命診断を行う構成を説明した。即ち、上記実施例1では、関節111の関節軸は鉛直方向とほぼ一致しており、この関節軸廻りには関節111よりも手先の被駆動部位の質量によって発生する回転モーメント(重力モーメント)が作用しない。また、関節111は、最も基台101a側のいわゆる第1関節であり、その関節軸の鉛直方向ないし水平面に対する姿勢は、例えばアームの他の部分の位置、姿勢に影響を受けない。
これに対して、図1のようなアーム構成において、第2関節以降、即ち、関節112以降の手先側の関節では、その関節の被駆動部位の姿勢によっては被駆動部位の質量により関節軸廻りに重力モーメントが働く、或いは重力モーメントの大きさが変わる可能性がある。
従って、図1のようなアーム構成において、関節112以降の手先側の関節に関してロストモーション測定およびそれに基づく寿命診断などを行うには、その関節の被駆動部位の質量により関節軸廻りに働く重力モーメントを考慮した制御が必要となる。
例えば、大略、次のような重力モーメント条件の制御手法が考えられる。即ち、ロストモーション測定のための関節駆動の際、当該関節の被駆動部位の質量により関節軸廻りに働く重力モーメントを特定の状態に制御する。例えば、ロストモーション測定のための関節駆動の間、その重力モーメントがなるべく一定の状態、例えば、重力モーメントが0または最小限の状態となるよう制御する。
本実施例2では、上記のようにロストモーションの測定工程において重力モーメント条件を制御し、ロストモーションを測定し、また、それに基づき寿命診断を行う例につき説明する。以下、本実施例2では、その関節の被駆動部位の質量(自重)によって関節軸廻りに比較的大きな重力モーメントが働く関節112を例にロストモーションの測定制御を説明する。
なお、本実施例2の構成は、関節軸廻りの重力モーメントが関節駆動系の駆動抵抗、具体的には摩擦トルク(摩擦抵抗)よりも小さい範囲で関節駆動を行うか、あるいはその範囲内の重力モーメントしか生じないようロボットアームを姿勢制御する技術である。この関節駆動系の駆動抵抗は、ロボットアームの自重に起因する関節軸廻りの重力モーメントに抗してロストモーションが生じないよう自己保持する抵抗(負荷)として作用する。本実施例では、摩擦トルク(摩擦抵抗)よりも小さい範囲で関節駆動を行うか、あるいはその範囲内の重力モーメントしか生じないようロボットアームを姿勢制御する。
図9は、関節112の関節軸廻りに比較的大きな重力モーメントが働くようなロボットアーム101の姿勢の1例を示している。また、図10は図9のアーム姿勢におけるモーメント釣り合いを示している。特に、図10は図9の左右を反転した状態の図示であり、関節112の関節軸(回転中心)501と、リンク122以降の手先部位に相当する被駆動部位502を示している。
図10において、Mは関節112より手先の被駆動部位502の運動質量、L1は関節軸501と運動質量Mの重心の距離である。また、Tfは関節112に設けたクロスローラベアリング等の摩擦トルク(摩擦抵抗)、gは重力加速度で、関節軸501廻りに働く重力モーメントはMgL1となる。
ここで、図9ないし図10の状態は、摩擦トルクTfよりも重力モーメントMgL1の方が大きな状態である(Tf<MgL1)ものとする。この状態では、摩擦トルクTfのみで重力モーメントMgL1を支えることができず、関節112の減速機(図2の11)に回動モーメントが作用する。この回動モーメントの大きさは、厳密には重力モーメントMgL1と摩擦トルクTfの差(MgL1−Tf)である。この回動モーメント(MgL1−Tf)により、減速機の歯面が所定の圧力で接触して、いわゆる片寄せの状態が生じる。この片寄の状態で実施例1の方法でロストモーションを測定するのは困難である。
これに対して、図11(a)、(b)のようなロボットアーム101の姿勢を考える。図11(a)、(b)のいずれにおいても、関節112の関節軸501(回転中心)により駆動される手先側の被駆動部位(リンク122以降)の重心Gは、関節軸501を通る鉛直軸gにほぼ一致する位置を占めている。
このような状態では、図12(a)に示すように重力モーメントMgL2は、関節112の摩擦トルクTfよりも小さくなる。図12において、501、および502は図10同様に、関節112の関節軸、および関節112により回動支持される手先側の被駆動部位である。また、L2は関節軸501と被駆動部位502の運動質量Mの重心(図11(a)、(b)のG)の距離であり、この時の重力モーメントはMgL2となる。
ここで、図12(a)では、理解を容易にするため、意図的に運動質量Mの重心(図11(a)、(b)のG)を関節軸501を通る鉛直軸gから外した位置に図示している。この場合、距離L2は0ではなく、僅かながら摩擦トルクTfよりも小さい重力モーメントMgL2が関節軸に働く。もし、運動質量Mの重心(図11(a)、(b)のG)が関節軸501を通る鉛直軸gに一致する位置にあれば距離L2は0となり、関節軸501には重力モーメントは働かない(MgL2=0)。
即ち、図11(a)、(b)、図12(a)の状態は、摩擦トルクTfよりも重力モーメントMgL2の方が小さな状態である(Tf>MgL2)。この状態が保持されている間は、摩擦トルクTfのみで重力モーメントMgL2を支えることができる。逆に言えば、関節112の摩擦トルクTfに打ち勝って関節に片寄り(せ)を発生するような回動モーメント(MgL2−Tf)が働かないため、図9、図10の場合のように測定外乱として制御すべき片寄り(せ)の状態は発生しない。
図11(a)、(b)のような姿勢(制御)を利用し、被駆動部位によって生じる重力モーメントに起因する片寄せ、即ち、ロストモーションの誤差分を事実上、キャンセルでき、特定の関節回動範囲内のロストモーション(のみ)を測定できる。
その方法の1つは、関節112の初期角度(実施例1のθ)を図11(a)、または図11(b)のいずれかの状態に取り、入力側エンコーダ10と出力側エンコーダ16の値を取得する(図6のステップS13に相当)。続いて、この初期角度(実施例1のθ)から関節112を小さな回動角度の範囲内にある停止角度(実施例1のθ)まで回動させ、入力側エンコーダ10と出力側エンコーダ16の値を取得する(図6のステップS14に相当)。その後、実施例1で説明したのと同様のロストモーション演算(図6のステップS15相当)を実施してロストモーション測定値を得る。この時、初期角度(実施例1のθ)〜停止角度(実施例1のθ)の測定範囲としては、摩擦トルクTfよりも重力モーメントMgL2の方が小さな状態(Tf>MgL2)が保たれる範囲を選ぶ。この初期角度(実施例1のθ)〜停止角度(実施例1のθ)の測定範囲は、例えばロボットアーム101の仕様、特に対象の関節の被駆動部位の重量や、関節に用いられている減速機などの仕様に応じて、あるいは予め実測を行って求めることができる。
また、図11(a)、(b)のような姿勢(制御)を利用する他の手法としては、例えば関節112の初期角度(実施例1のθ)を図11(a)の角度に、また、停止角度(実施例1のθ)を図11(b)の角度に取る。そして、図11(a)の初期角度(実施例1のθ)から図11(b)の停止角度(実施例1のθ)まで関節112を回動させるのに同期(連動)して、被駆動部位の姿勢制御を行う。例えば、図11(a)の被駆動部位(リンク122以降)が鉛直軸gに沿って直立した姿勢から、図11(b)のように被駆動部位の重心Gが鉛直軸g上にバランスする姿勢に移行するよう姿勢制御を行う。そして、その間、常に関節112の被駆動部位の重心Gが関節軸501を通る鉛直軸gにほぼ一致するような姿勢を保つよう、関節112の回動に同期して動的に関節113以降の手先側の各関節の角度を制御する。このような制御は、例えば図12(b)に示すような制御手順によって実現される。
図12(b)は、実施例1の図6に相当するもので、図6のステップS13〜S15の部分を抜き出してある。そして、ステップS13〜S14において関節112を回動させるのに同期して、並行して実行するステップS91において、上記の被駆動部位の同期制御を実行させる。このステップS91の被駆動部位の姿勢制御ルーチンは、CPU201によって同期(並列)実行される別プロセス、あるいは別スレッドとして実装することができる。ステップS91の被駆動部位の姿勢制御ルーチンにおいては、上記のように、関節112の回動に同期して関節112の被駆動部位の重心Gが関節軸501を通る鉛直軸gに一致するような姿勢を保つよう、被駆動部位の姿勢制御を行う。
図12(b)のステップS91の被駆動部位(リンク122以降)の姿勢制御に必要な被駆動部位の重心Gの制御パターンは、アーム仕様、例えば各部の重量などの条件に応じて予め決定しておくことができる。また、本実施例2では関節112を例にとっているが、図12(b)の制御は、他の関節の測定の場合でも、当該関節により駆動される被駆動部位の重心(G)を測定に必要な範囲で制御できれば適用できる。その場合、当然、ステップS91における被駆動部位の重心Gの制御パターンは、アームや関節の仕様によって関節ごとに定めておくことができる。測定対象の関節に対する被駆動部位の重心Gの位置は、例えば、アームの各部の形状や重量といった設計情報に基づき、CPU201によって演算することができる。
また、測定時の関節112の駆動に同期して、関節112の被駆動部位の重心Gが関節軸501を通る鉛直軸gに一致するような姿勢を保つようなロボットアーム101の姿勢制御(ステップS91)のパターンは予めプログラムしておくことができる。このようなロボットアーム101の姿勢制御パターンは、例えば、基台101aの底面などが水平面に対して水平(ないし鉛直軸に対して垂直)となるようなデフォルトの設置姿勢を基準として作成する。その場合、もしロボットアーム101がデフォルトの設置姿勢と異なる姿勢で設置されているならば、ロボットアーム101の姿勢制御パターンは予めプログラムされたパターンとは異なるものに変更(補正)する必要がある。この変更(補正)すべき測定時のロボットアーム101の姿勢制御パターンには、測定時の関節112の駆動角度と、ステップS91における被駆動部位の姿勢制御が含まれる。
そこで重力センサ217(図3)を設けておけば、CPU201は、図12(b)の測定制御を行う場合、重力センサ217を利用して、予め用意したロボットアーム101の姿勢制御パターンを基台101aの設置姿勢に応じて変更(補正)できる。例えば、図12(b)の測定制御において、CPU201は、重力センサ217で検出した基台101aの水平面(ないし鉛直軸)に対する傾斜角度を用いて、各関節の初期角度などのパラメータを変更(補正)することができる。その場合、例えば、重力センサ217で検出した基台101aの傾斜角度に応じて、測定時の関節112の初期角度(実施例1のθ)や、ステップS91における関節113以降の被駆動部位の関節の初期角度を変更(補正)することができる。
以上のように、本実施例2によれば、その被駆動部位の質量によって関節軸廻りに比較的大きな重力モーメントが働く関節(例えば112)でも、重力モーメントによって生じる測定誤差を事実上キャンセルした状態でロストモーションを測定することができる。例えば関節112では、図9のような姿勢では、被駆動部位により生じる重力モーメントによってロストモーションが片寄せされる可能性があり、ロストモーションの測定誤差が生じる。
これに対して、本実施例では、図11(a)、(b)、図12(a)で説明したように、角度取得工程において、駆動抵抗、即ち摩擦トルクTfよりも被駆動部位の重力モーメントMgL2が小さい範囲内でロストモーションを測定する。あるいは、図12(b)で説明したように、測定工程において、より能動的に駆動抵抗、即ち摩擦トルクTfよりも重力モーメントMgL2が小さく保たれるよう、被駆動部位の姿勢制御を行いつつ、特定の関節回動範囲におけるロストモーションを測定する。より具体的には、関節112の場合、被駆動部位の重心Gが関節軸501を通る鉛直軸gにほぼ一致するような姿勢を保つよう、被駆動部位の姿勢制御を行う。いずれの場合も、特定の関節回動範囲における減速機11の入、出力軸のエンコーダの検出角度(位置)の差を介してロストモーションを測定する。
即ち、本実施例2によれば、被駆動部位の質量(自重)によって関節軸廻りに比較的大きな重力モーメントが働く関節(例えば112)でも、重力モーメントによって生じる測定誤差を事実上、キャンセルし、ロストモーションを正確に測定することができる。また、そのロストモーション測定結果に応じて、実施例1と同様の方法で当該関節、特にその駆動系である減速機の寿命を高い信頼性で正確に診断することができる。
なお、CPU201が、測定対象の関節を任意の姿勢(回動角度)で位置決めし、そこで関節のサーボモータ1を駆動停止し、その前後で入力側エンコーダ10および出力側エンコーダ16の出力値を監視する。そして、モータ駆動の遮断の前後で両エンコーダの出力値に変化がなければ、CPU201は、その回動角度(関節角)は駆動抵抗、即ち摩擦トルクTfよりも被駆動部位による重力モーメントMgL2が小さい姿勢と判定(確認)することができる。なお、この時、測定対象の関節の被駆動部位の姿勢は、例えば当該の関節廻りに働く重力モーメントができるだけ小さくなるような姿勢に制御する。
ロボットアーム101のそれぞれの関節の適当な範囲のいくつかの関節角度について、このような重力モーメント確認工程を行うことによって、各関節について、摩擦トルクTfより重力モーメントMgL2が小さくなる関節角の範囲を特定することができる。このような重力モーメントに影響を受けずにロストモーション測定を行える角度範囲を特定する範囲特定工程は、例えば、実機のロボットアーム101のそれぞれの関節について、予め実行しておくことができる。そして、この範囲特定工程の結果に応じて、実機のロボットアーム101の個体ごとにロストモーション測定の始点、終点である関節角度θ、θの角度範囲を決定することができる。
なお、ロボットアーム101先端のエンドエフェクタ交換を行うことにより、アームのジオメトリが変化し、特定関節に関する重力条件(質量や重心位置)が変更になる場合は上記の関節角度θ、θなどの制御条件を変更する必要がある。
次に、図13および図14を参照して、本発明の実施例3に係るロストモーションの測定制御につき説明する。本実施例のロボット装置について用いる参照符号は、図1の500Bとする。本実施例でも、実施例2の場合と同様、ハードウェア構成およびソフトウェア構成は実施例1のものと同様であるものとする。
実施例2では、測定対象の関節より手先の被駆動部位の姿勢を制御して、測定対象の関節の関節軸廻りに働く重力モーメントの条件を制御する、特に被駆動部位により生じる重力モーメントMgL2が摩擦トルクTfよりも小さくなるよう制御する構成を示した。
しかしながら、図11〜図12に示したような被駆動部位の姿勢制御が常に可能であるとは限らない。例えば、工場など、工業製品のような物品の実際の生産現場においては、アームの動作に干渉する可能性のある物体が種々配置されている可能性があり、実施例2に示したような被駆動部位の姿勢制御が不可能な場合もある。そこで、本実施例3では、関節動作のオーバーシュートが生じる区間を利用してロストモーションを測定する手法を示す。
本実施例では、測定対象の関節を関節角度(下記のθ)から関節角度(下記のθ)まで回動させ、関節角度θにおいて関節の回転駆動方向を反転させる。このような動作を行わせると、駆動系全体の慣性によって、実際の関節角度は反転駆動に同期して直ちに反転せず、関節角度(下記のθ)をしばらく行き過ぎた反転角度から実際の関節の反転が開始される。このような現象は、オーバーシュートなどと呼ばれる。また、このようなオーバーシュートは減速機(11)の入出力軸のいずれに設けたエンコーダ(10、16)においても観測される。
本実施例では、関節軸廻りに働く重力モーメントの条件を積極的に制御することなくロストモーションを測定する手法として、上記のような関節の反転駆動時のオーバーシュート区間を利用する。
なお、本実施例においては、測定対象の関節は、例えば実施例2と同様に比較的大きな重力モーメントが働く関節112とする。また、測定対象の関節(112)より手先側の被駆動部位の姿勢については任意であるが、好ましくは特定の関節の測定を行う場合はいつも、その関節に対する被駆動部位の姿勢を一定の姿勢に制御する。
図13は、本実施例の反転駆動時のオーバーシュート区間を利用した測定手法を示している。本実施例では、測定対象の関節(112)を図13の関節角度θから関節角度θまで回動させ、関節角度θにおいて関節の回転駆動方向を反転させる。ロボットアーム101の構成は本実施例でも同様(例えば図11)とする。
また、図13において、鉛直軸は図の垂直(縦)方向に一致しているものとし、関節角度θとθの場合は、重力モーメントが関節角度θの方向へ発生する状態にある。そして、関節角度θにおいて関節の回転駆動方向を反転させた時、重力モーメントと逆方向に上記のオーバーシュートが生じ、実際には関節は関節角度θを行き過ぎて、例えば関節角度θまでオーバーシュートする。
本実施例では、関節角度θから関節角度θに向かうオーバーシュート区間において、入力側エンコーダ10および出力側エンコーダ16を介して、当該関節のロストモーションを測定する。この関節(112)のオーバーシュート区間(θ〜θ)を力学的に見ると、関節軸には、図13の時計廻り(θ−>θ)方向に、被駆動部位の質量および姿勢に応じた重力モーメントが加わる。また、関節角度θからは関節(112)のモータ(サーボモータ1)は反転駆動されており、その駆動力は応じた重力モーメントと同様に図13の時計廻り(θ−>θ)方向に働く。
しかしながら、オーバーシュート区間(θ〜θ)では、実際には、駆動系の慣性によって、関節は図13の反時計廻り(θ−>θ)方向に移動する。すなわち、オーバーシュート区間(θ〜θ)では、関節角度θ−>θのモータ駆動力の設定に応じて生じた慣性が上記の重力モーメント、およびモータ駆動力に打ち勝って、関節(112)が反時計廻り(θ−>θ)方向に動作している。
本実施例では、ロストモーション測定時にはいつも、関節角度θ−>θのモータ駆動力を制御して、この一定区間のオーバーシュート区間(θ−>θ)を生じさせ、この区間(θ−>θ)において、ロストモーションを測定することにする。このオーバーシュート区間(θ−>θ)では、一定の慣性力によって生じるオーバーシュート動作、という一定の条件の元で機構のロストモーションを測定できる。
関節角度θからθに向かうオーバーシュート区間において、測定対象の関節(112)の入力側エンコーダ10および出力側エンコーダ16の出力値を記録する。そして、入力側エンコーダ10および出力側エンコーダ16の差分の変化に基づき、測定対象の関節(112)のロストモーションを測定する。
例えば、オーバーシュート区間(θ〜θ)における入力側エンコーダ10および出力側エンコーダ16の差分の最大値を測定対象の関節(112)のロストモーションの測定値とする。あるいは、オーバーシュート区間(θ〜θ)における入力側エンコーダ10および出力側エンコーダ16の差分の最大値から最小値を減算した値をロストモーションの測定値とする、といった演算手法を用いてもよい。
ここで、特定の関節(112)のロストモーションを測定する時、CPU201は例えば出力側エンコーダ16の出力値を監視しつつ、一定の関節角度θまで(あるいはそれ以上)オーバーシュートするようサーボモータ1の駆動条件を制御する。そして、測定対象の関節(112)の入力側エンコーダ10および出力側エンコーダ16の出力値を記録する区間は、必ず一定角度の関節角度θ〜θの区間とする。
なお、上記のオーバーシュート区間(θ〜θ)の関節角度は、その関節で想定されるロストモーションの量より大きい必要がある。かくなるオーバーシュート量(θ〜θ)を確保するには、例えば、CPU201によって、関節角度θ〜θにおける関節の駆動速度(あるいはさらに関節角度θからの反転駆動速度)を制御し、関節角度θまでオーバーシュートが生じるよう制御する。
例えば、出力側エンコーダ16の出力を監視しながら、関節角度θ−>関節角度θの駆動、および関節角度θにおける反転駆動を繰り返し行い、関節角度θまでオーバーシュートが生じる駆動条件を決定することができる。このような関節角度θ−>関節角度θの駆動、および関節角度θにおける反転駆動を繰り返し試行する場合には、例えば、毎回、関節角度θにおける反転駆動開始時点から入力側エンコーダ10および出力側エンコーダ16の出力値の記録を開始する。そして、関節角度θまでのオーバーシュートを確認できた時点で、各エンコーダ(10、16)の出力値記録を停止し、測定を終了する、といった測定制御を行うことができる。
また、関節角度θまでオーバーシュートが生じるような関節角度θ〜θにおける関節の駆動速度は、例えば、予め測定対象の関節について駆動速度とオーバーシュート角度の実測を行うことによって定めておくこともできる。
本実施例では、測定対象の関節に働く重力モーメントは積極的に制御しないかわりに、オーバーシュート区間(θ〜θ)を一定の角度区間とする。もちろん、このオーバーシュート区間(θ〜θ)においても、例えば関節112のような関節では、少なくない重力モーメントが関節軸に働く可能性がある。しかしながら、例えば関節角度θ〜θにおける関節の駆動速度を制御することによって、一定のオーバーシュート区間(θ〜θ)の角度区間を確保することにより、毎回、一定の測定条件でロストモーションを測定することができる。
図14は、上記図13で説明した測定制御の流れを示している。図14のステップS31において、CPU201は、測定対象の関節112のモータ(サーボモータ1)を駆動し、測定開始点である関節角度θまで回動させる。続いてステップS32では、当該関節を関節角度θまで回動させる。
さらに、ステップS33において、関節角度θからθまでの間、モータ(サーボモータ1)を駆動する。そして、ステップS34において、関節角度がθになった時点でモータの駆動方向を反転させ、上記の関節角度θまでオーバーシュートさせる。このオーバーシュート区間(θ〜θ)では、測定対象の関節112の入力側エンコーダ10および出力側エンコーダ16の出力値を記録する。続いて、測定対象の関節112の駆動を関節角度θで停止させる(ステップS35)。
ステップS36では、オーバーシュート区間(θ〜θ)で記録した測定対象の関節112の入力側エンコーダ10および出力側エンコーダ16の出力値に基づき、上述の演算手法によってロストモーションの測定値を算出する。上記のようにして測定したロストモーションの測定値は、例えば実施例1と同様の寿命診断(図8のステップS24〜S26)に用いることができる。
以上のように、本実施例3によれば、測定対象の関節に被駆動部位の重力モーメントが働く条件においても、重力モーメントと逆方向に一定角度量のオーバーシュートが生じるように関節のモータ(サーボモータ1)を駆動制御する。また、オーバーシュート区間(θ−>θ)の大きさはロストモーションの角度より大きくなるように制御する。そして、モータの反転駆動後の重力モーメントと逆方向の一定角度のオーバーシュート区間(θ−>θ)で、測定対象の関節の入力側エンコーダ(10)および出力側エンコーダ(16)の出力値に基づき、当該関節のロストモーションを測定する。以上のような測定制御を行うことにより、当該関節の被駆動部位により生じる重力モーメントに影響されずに測定対象の関節のロストモーションを測定でき、この測定を定期的に行うことで減速機の寿命を診断することができる。
なお、ロボットアーム101先端のエンドエフェクタ交換を行うことにより、アームのジオメトリが変化し、特定関節に関する重力条件(質量や重心位置)が変更になる場合は上記のオーバーシュート区間(θ〜θ)などの制御条件を変更する必要がある。
上記の実施例1では重力モーメントが影響しない関節(例えば関節111)、実施例2と実施例3では同重力モーメントが影響する可能性のある関節(例えば関節112)に適用可能なロストモーションの測定制御を示した。通常、ロボットアーム(101)では、上記のように、構造あるいはさらにアームの姿勢に応じて、関節の被駆動部位の重力モーメントが影響しない関節と、同影響を受ける関節が生じる。
そこで、本実施例4では、測定対象の関節が、その被駆動部位の重力モーメントの影響を受けるか否かに応じて実施例1、実施例2、または実施例3のいずれかの測定制御を選択する例を示す。なお、ハードウェアおよび制御系の構成は、本実施例でも上述同様であるものとする。
図15に本実施例4における測定制御手順を示す。図15では、図8のフローと同一ないし相当する処理ステップには同様の番号を付して詳細な説明を省略するものとする。
図15のステップS51では、関節111〜116を各々の角度に位置決めし、ロボットアーム101を予め定めた測定姿勢に制御する。そして、関節111〜116の各々について重力モーメントが発生するか否かを計算する。この時、関節111のように構造的に重力モーメントが発生するか否かを特定できる関節については、設計上の条件によって判定が可能である。他の関節については、当該のロボットアーム101の測定姿勢におけるその関節の被駆動部位の姿勢によって判定が可能である。
そして、ステップS52では、重力モーメントが発生しない関節については実施例1の測定制御を選択する。また、同ステップS52において、重力モーメントが発生する場合で、摩擦トルクTfよりも重力モーメントMgL2が小さい姿勢であれば、実施例2の方法を選択し、そうでない場合は実施例3の方法を選択する。なお、摩擦トルクTfと重力モーメントMgL2の大小関係は、例えば実施例2で述べた手法を用いて判定できる。即ち、測定対象の関節を任意の姿勢(回動角度)で位置決めし、そこで関節を駆動するモータの駆動を遮断し、その前後で入力側エンコーダ10および出力側エンコーダ16の出力値を監視し、判定する。
また、ステップS52で実施例2の方法を選択した場合、ステップS53において、姿勢変更を行って実施例1の測定制御を実施可能であれば、ステップS54に進む。ステップS54では、ロボットアーム101を実施例1の測定制御を実施可能な姿勢に変更し、実施例1の測定制御を選択し直す。
また、ステップS52で実施例3の方法を選択した場合も同様で、ステップS53において、姿勢変更を行って実施例1の測定制御を実施可能であれば、ステップS54に進む。そして、ステップS54では、上記同様にロボットアーム101を実施例1の測定制御を実施可能な姿勢に変更し、実施例1の測定制御を選択し直す。
一方、ステップS52で実施例3の測定制御を選択した場合、実施例1の測定制御を実施可能な姿勢に変更不可能であるが、実施例2の測定制御が可能であれば、ステップS54実施例2の測定制御を実施可能な姿勢に変更し、実施例2の測定制御を選択し直す。
上記のようにステップS53、S54の制御を実施するのは、実施例3を行う場合、オーバーシュートをロストモーションより大きくする必要があるので動作調整に時間がかかる場合があるのを考慮したものである。上記のようにステップS53、S54を実装しておくことにより、可能な限り実施例3の測定制御よりも、実施例1または実施例2の測定制御を選択し、迅速にロストモーション測定を行うことができる。
また、ステップS53、S54では、実施例2よりも実施例1の測定制御の方が関節回転角度による重力モーメントの変動が小さいから、いずれの測定制御も選択できる場合は、実施例1を選択するよう構成してもよい。即ち、姿勢変更により複数のロストモーションが選択可能な場合、優先順位としては、第1は実施例1の測定制御、第2は実施例2の測定制御、第3は実施例3の測定制御を選択するよう制御してもよい。
以上のような制御を行うことにより、本実施例4によれば、ロボットアーム101の関節毎に重力モーメントの有無を計算し、異なるロストモーションの測定制御からその関節に最適な測定制御を選択することができる。このため、本実施例4によれば、信頼性の高いロストモーションの測定が可能であり、また、それに基づき信頼性の高い寿命診断を行うことができる。
なお、実施例1の測定制御では被駆動部位による重力モーメントが発生せず、ロストモーションを片寄する予備動作を行っている。また、実施例2の測定制御では、重力モーメントを摩擦でキャンセルできるためロストモーションを片寄する予備動作は行わなくてもよい。また、実施例3の測定制御では、重力モーメントの影響を事実上無視できるオーバーシュート区間を利用しているためロストモーションを片寄せする予備動作は行わなくてもよい。
上述の実施例1〜実施例4に示したロストモーション測定、およびそれに基づく寿命診断は、例えばシステムの電源投入時の初期化動作の際に実行できる。また、タイマ計時などに基づき、定期的にロストモーション測定、およびそれに基づく寿命診断を実行するようにしてもよい。これらは、例えば工業製品などの物品の生産現場などにおけるロボット装置の実稼働期間とは別の検査モード、あるいはテストモードなどとして実行する手法に相当する。
しかしながら、本実施例5で示すように、検査モードやテストモードではなく、ロボット装置の実稼働期間のロボット動作を利用してロストモーション測定、およびそれに基づく寿命診断を実施することもできる。
実施例5では検査モードでなく、物品の生産現場に設置されたロボット装置の実稼働期間、例えば物品の生産工程中にロストモーション測定および寿命診断を行う。
即ち、本実施例5では、物品生産などのために所定のロボットプログラムに基づきロボット装置を動作させる実工程で測定対象の関節について前記角度取得工程を実行可能な関節駆動期間を予め特定しておく。そして、実際に実工程を実施する時、予め特定した関節駆動期間において入力側エンコーダ10および出力側エンコーダ16の出力値を取得し、ロストモーションを測定する。
図16は本実施例5において、物品の生産現場に設置されたロボット装置500CのCPU201が実行する測定制御手順の概略を示している。この場合、物品を生産するための、ロボットアーム101のワーク(部品)や工具などの操作手順は、予めロボットプログラムとして用意されているものとする。また、本実施例5に係るロボット装置500Cのハードウェア、および制御系の構成は本実施例でも上述の各実施例と同様であるものとする。
図16のステップS41では、当該のロボットプログラムに基づき、実工程運転と同じ動作をロボットアーム101に実行させ、その間、各関節の入力側エンコーダ10および出力側エンコーダ16の出力値を取得する。
ステップS42では、CPU201は、例えばステップS41で取得した出力側エンコーダ値を利用し、ロボットプログラムから上記の実施例1〜3で示した測定制御を実施可能な測定区間を抽出(選択)する。その場合、抽出した測定区間ごとに、実施例1〜3のいずれの測定制御を行うかを選択し、関連付けの上、RAM203などに配置した制御メモリ領域に記憶する。
なお、本実施例において、上記の「測定区間」は、例えばRTC素子などを用いたタイマ計時によって特定可能な制御時刻(例えば精度はμsオーダーとする)などによって表現されるものとする。
ステップS43では、ステップS42で抽出した測定区間における各関節の入力側エンコーダ10および出力側エンコーダ16の出力値を用いて、選択した実施例1〜3のいずれかの測定制御によってロストモーションを測定する。
ステップS44では、ステップS43で各関節について、測定した最大のロストモーションを得た測定区間をRAM203などに配置した制御メモリ領域に登録する。また、この時、当該の測定区間で得た(最大の)ロストモーション値を制御メモリ領域に関連付けて登録しておいてもよい。
次に、ステップS45において、ロボットプログラムに応じて、ロボットアーム101に実工程動作を実行させ、物品の製造動作を行わせる。その間、ステップS46において、各関節につきステップS44で登録した測定区間においてその関節のロストモーションを測定する。
ステップS47では、ステップS46で測定したロストモーションが基準値以内であるか否かを判定し、寿命を診断する。即ち、ステップS46で測定したロストモーションと、予め定められたしきい値を比較し、その比較結果に基づき当該関節、特にその変速機の寿命を診断する。この時に用いる基準値には、予めROM202やRAM203に用意したしきい値の他、ステップS44で登録した当該の測定区間で得た(最大の)ロストモーション値を用いるようにしてもよい。ステップS47で当該の関節の寿命が尽きていない、と判断した場合にはステップS45に復帰して実工程動作を継続する。一方、ステップS47で当該関節の寿命が尽きていると診断するとステップS48に進み、当該関節の寿命が尽きている旨をユーザに警告する。ステップS48で、実工程動作を停止する緊急停止制御を実行するか否かは、運用上の規約などに応じて定めておけばよい。
以上のように本実施例5によれば、実工程動作をテストモード(ステップS41〜S44)で実行して、(例えば実施例1〜3のいずれかの測定方式で)ロストモーション測定を行なえる測定区間を選択、登録することができる。そして、その後の実工程運転において、選択、登録した測定区間における入力側エンコーダ10および出力側エンコーダ16の出力値に応じてロストモーション測定を行い、その結果に応じて寿命診断する。従って、本実施例5によれば、実工程運転を利用して実時間でロストモーション測定と寿命診断を行うことができる。このため、実際に物品の製造に直接寄与しない検査モードやテストモードが不要であり、物品の製造効率を著しく向上することができる。
上述の実施例1〜5では、測定対象の関節の駆動系中の減速機(11)の関節の入力側エンコーダ(10)および出力側エンコーダ(16)の出力値に基づき、ロストモーションを測定し、それに基づき寿命判定(寿命診断)を行う構成を示した。また、上述の各実施例では、測定したロストモーションを例えば、許容範囲の限界値に相当する値(しきい値)と比較することにより、寿命診断を行う例を示した。
上述の寿命診断の手法によると、測定対象の関節(特にその駆動系である減速機)の寿命が尽きた場合に、その事を発見(検出)することができる。ところが、実際の工業製品などの物品の生産現場では、実際にロボットアームの関節の寿命が尽きる頃には、組み立て不良などの障害が発生することがある。そして、実際に障害が発生して生産工程が停止し、該当のロボットアームを換装するまで作業によって生産が不可能となる事態となれば大きな損失であるから、可能であればこのような事態は回避すべきである。
そこで、本実施例6では、過去に測定したロストモーションに基づき、ロボット装置、特にその関節(の減速機)の余命を予測して、ユーザ(管理者)にその予測結果を通知する構成を例示する。このように関節(の減速機)の余命の予測結果を得られれば、ユーザ(管理者)はロボットアームの関節の寿命が尽きる頃までに、関節部品(あるいはロボットアーム全体)の交換作業などの予防的な措置(予知保全ないし予防保全)を講じることができる。本実施例6においても、ロボット装置のハードウェア、および制御系の構成は上述の各実施例と同様であるものとする。
図17は本実施例6において、物品の生産現場に設置されたロボット装置(例えば500C)のCPU201が実行する寿命(余命)予測制御手順の概略を示している。
図17は、横軸に運転時間を取り、例えば実施例1〜3の測定制御によって測定したロストモーションの測定値(縦軸)を示している。即ち、図17は、ロボットアーム(101)の運転時間とロストモーションの関係を示しており、通常、運転時間の増加と共にロストモーションも増加する。また、図17は一つの関節のロストモーションの変化を示しているが、図1のような6(関節)軸のロボットアーム(101)では、各関節についてロストモーションを測定すれば同様のグラフが6種類存在することになる。
CPU201は、各関節について測定したロストモーションの測定値をRAM203やHDD204(あるいは他の不揮発メモリ)などに格納した記録領域に、測定時刻と関連づけて記録することができる。その場合、データ形式には、各種データベースシステムにおけるファイルフォーマットなどを利用することができる。
図17の場合、同図中の原点(t0)から時刻t1までの波形711(簡略化のためほぼ直線的に示してある)は、実際に当該の関節で実測したロストモーション値に相当する。この場合、RAM203やHDD204などに配置した記録領域のロストモーション値を参照することにより、CPU201は時刻t1以後のロストモーション値の波形712を線形近似や多項式近似のような補間演算によって予測することができる。
一方、しきい値713は、上述の実施例同様に、当該関節に関して予め定めた限界値であって、図17で予測された波形712は、時刻t2においてしきい値713と交錯することが判る。この時刻t1〜時刻t2の期間は当該関節の余命(の時間長)に相当する。
即ち、時刻t1までに、ロストモーションの測定値の波形711を蓄積すれば、CPU201は、時刻t2においてロストモーションの測定値が限界のしきい値713に到達する、つまり時刻t2において当該の関節の寿命が尽きる、と予測することができる。
上記の余命予測は、CPU201が図8のステップS24や図16のステップS46のように、ロストモーション測定後の寿命判断を行うタイミングで実行することができる。即ち、図8のステップS24や図16のステップS46のタイミング(上記の時刻t1に相当)において、RAM203やHDD204などに配置した記録領域のロストモーション値を参照する。そして、時刻t1以後のロストモーション値の波形712を予測し、時刻t2(あるいは時刻t2までの時間長)を求め、ユーザ(管理者)に通知することができる。
この余命通知は、図8のステップS25や図16のステップS47に相当するタイミングで実行することができる。この場合、予測した時刻t2(あるいは時刻t2までの時間長)を通知するメッセージの出力には、ティーチングペンダント300のディスプレイや、別途配置した不図示のディスプレイを用いることができる。また、同通知には、不図示の音声合成および音声出力手段を用いてもよい。
なお、当然ながら、ロボットアーム(101)に実行させている工程(ロボットプログラム)が変更されれば、当該関節の消耗の進行の度合は変化する。即ち、図17の波形711に対応するロストモーションを蓄積する期間は、同一の工程(ロボットプログラム)をロボットアーム(101)に実行させている期間である必要がある。
このため、ロボットアーム(101)で実行させる工程(ロボットプログラム)を変更した場合は、そして、工程が変更になった時点からのロストモーション測定値の蓄積データを用いて予測値を推定すればよい。このための簡単な制御方法としては、工程変更時の工程変更時刻(たとえばtc)を記憶させ、この工程変更時刻(tc)から時刻t1までのロストモーション測定値の波形を用いて波形予測を行えばよい。また、工程変更を行った場合は、それ以前の古いロストモーション測定値は不要であるから、ロストモーション測定値の蓄積データはRAM203やHDD204(あるいは他の不揮発メモリ)などに配置した記録領域上で消去してしまってもよい。
以上のように、本実施例6によれば、関節(の減速機)の余命を予測して、ユーザ(管理者)にその予測結果を通知することができるため、ユーザ(管理者)は関節部品(あるいはロボットアーム全体)の交換作業などの予防的な措置を講じることができる。このような関節部品(あるいはロボットアーム全体)の交換作業などの予防的な措置は、定期点検などの保守タイミングにおいて実施することができ、突発的に生産ラインを停止させて補修を行う必要がなくなる。このため、物品の生産ラインの稼働効率を低下させることがなく、ロボットアームを用いて極めて効率的な物品の生産が可能となる。
以上、本発明のいくつかの実施例について説明したが、本発明は上述した実施例に限定されるものではない。また、上記各実施例に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は本発明の実施例に記載されたものに限定されるものではない。
例えば、上記各実施例では、説明の都合上、垂直多関節構成のロボットアームを例示したが、本発明のロボット装置の関節のロストモーションの測定技術は水平ロボットアーム(スカラロボット)などにも適用することができる。
また、上記各実施例の測定制御やロボット制御の各機能は、例えば制御装置200の主制御部としてのCPU201により実行される。従って、上述した各機能は、例えば制御プログラムを記録した記録媒体を制御装置200に供給し、制御装置200のコンピュータ(CPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することよって実現することができる。この場合、記録媒体から読み出されたプログラム自体が上述した実施例の機能を実現することになり、プログラム自体、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体は本発明を構成することになる。
また、上記各実施例では、上記のコンピュータ読み取り可能な記録媒体の一例として例えばHDD204を例示したが、本発明に係る制御プログラムの記録媒体はHDD204に限定されるものではない。本発明に係る制御プログラムはコンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、図3に示すROM202、外部記憶装置312、記録ディスク331等を用いてもよい。例えば、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード(フラッシュメモリ)、ROM等を用いることができる。また、本発明に係る制御プログラムを、ネットワークを介してダウンロードしてコンピュータに実行させるようにしてもよい。
また、コンピュータが読み出したプログラムコードを本発明に係る実行することにより、機能が実現されるだけに限定するものではない。例えば本発明に係るプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって上記各実施例の機能が実現される場合も含まれる。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって本発明に係る機能が実現される場合も含まれる。
本発明は、上述の実施例の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1…サーボモータ(モータ)、10…入力側エンコーダ(第1の角度センサ)、11…減速機(変速機)、16…出力側エンコーダ(第2の角度センサ)、100…ロボットアーム、111〜116…関節、200…制御装置、201…CPU(演算部)、204…HDD(記憶部)、300…ティーチングペンダント、500…ロボット装置、W…ワーク。

Claims (20)

  1. 駆動源と、前記駆動源の駆動を変速する変速機と、前記変速機の入力側の角度を検出する第1の角度センサと、前記変速機の出力側の角度を検出する第2の角度センサとを備えた関節と、前記駆動源を駆動させ前記関節を制御する制御装置と、を有したロボット装置の制御方法において、
    前記制御装置が、前記関節により駆動される被駆動部位の質量により重力モーメントが前記関節に作用する場合、前記重力モーメントが前記関節の駆動抵抗よりも小さくなる位置に、前記被駆動部位を位置させた状態で、前記関節を駆動させて前記第1および第2の角度センサの出力値を取得する角度取得工程と、
    前記制御装置が、前記角度取得工程で取得した前記第1および第2の角度センサの出力値に基づき、所定の角度と前記変速機の出力側の角度との角度差を算出する角度差算出工程と、を備えたことを特徴とする制御方法。
  2. 請求項1に記載の制御方法において、前記制御装置は、前記被駆動部位を所定位置に位置させ、当該所定位置の前後で前記第1および第2の角度センサの出力が変化していない場合に、当該所定位置が、前記重力モーメントが前記関節の駆動抵抗よりも小さくなる位置であると判定することを特徴とする制御方法。
  3. 請求項1または2に記載の制御方法において、前記制御装置は、前記被駆動部位の位置を、前記被駆動部位の質量により前記関節に作用する重力モーメントがほぼ一定となるよう制御することを特徴とする制御方法。
  4. 請求項1から3のいずれか1項に記載の制御方法において、前記制御装置は、前記被駆動部位の位置を、前記被駆動部位の重心が前記関節の関節軸を通る鉛直軸に一致するように制御することを特徴とする制御方法。
  5. 請求項4に記載の制御方法において、前記制御装置が、前記ロボット装置の基台に配置された重力センサを用いて前記基台の鉛直軸に対する、前記ロボット装置の設置姿勢を検出し、検出した前記設置姿勢に基づき、前記被駆動部位の位置を、前記被駆動部位の重心が前記関節の関節軸を通る鉛直軸に一致するように制御することを特徴とする制御方法。
  6. 請求項1から5のいずれか1項に記載の制御方法において、前記制御装置は、前記角度取得工程において、前記被駆動部位の質量により前記関節に作用する重力モーメントの方向とは逆方向に前記関節が一定角度動作するオーバーシュート区間を生成するよう前記駆動源の駆動方向を制御し、前記オーバーシュート区間において前記第1および第2の角度センサの出力値を取得することを特徴とする制御方法。
  7. 請求項1からのいずれか1項に記載の制御方法において、前記制御装置が、前記角度取得工程において、過去に算出した前記角度差よりも大きい角度で前記関節を駆動させる工程を含むことを特徴とする制御方法。
  8. 請求項1からのいずれか1項に記載の制御方法において、前記所定の角度は、前記第1の角度センサの出力値に基づいて算出される前記変速機の出力側の角度であることを特徴とする制御方法。
  9. 前記制御装置が、請求項1からのいずれか1項に記載の制御方法によって算出した角度差から、前記変速機の状態を検出し、該状態を通知することを特徴とする制御方法。
  10. 前記制御装置が、請求項1からのいずれか1項に記載の制御方法における前記角度差算出工程を前記ロボット装置の検査において実行することを特徴とする制御方法。
  11. 請求項1から10のいずれか1項に記載の制御方法において、前記制御装置が、所定のロボットプログラムに基づき前記ロボット装置を動作させる実工程において前記関節について前記角度取得工程を実行可能な関節駆動期間を予め特定し、この前記実工程においては、予め特定した前記関節駆動期間において前記第1および第2の角度センサの出力値を取得することを特徴とする制御方法。
  12. 前記制御装置が、請求項1から1のいずれか1項に記載の制御方法によって算出した角度差と、予め定められたしきい値を比較し、その比較結果に基づき前記変速機の寿命を判定することを特徴とする制御方法。
  13. 前記制御装置が、請求項1から1のいずれか1項に記載の制御方法において算出した過去の角度差に基づき、前記ロボット装置の余命を予測する工程を含むことを特徴とする制御方法。
  14. 前記制御装置に、請求項1から1のいずれか1項に記載の各工程を実行させるための制御プログラム。
  15. 請求項1に記載の制御プログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
  16. 請求項1から1のいずれか1項に記載の制御方法に用いられる前記ロボット装置および前記制御装置を備えたことを特徴とするロボットシステム。
  17. 請求項1に記載のロボットシステムを用いて物品を製造することを特徴とする物品の製造方法。
  18. 駆動源と、前記駆動源の駆動を変速する変速機と、前記変速機の入力側の角度を検出する第1の角度センサと、前記変速機の出力側の角度を検出する第2の角度センサとを備えた関節と、前記駆動源を駆動させ前記関節を制御する制御装置と、を有した駆動装置の制御方法において、
    前記制御装置が、前記関節により駆動される被駆動部位の質量により重力モーメントが前記関節に作用する場合、前記重力モーメントが前記関節の駆動抵抗よりも小さくなる位置に、前記被駆動部位を位置させた状態で、前記関節を駆動させて前記第1および第2の角度センサの出力値を取得する角度取得工程と、
    前記制御装置が、前記角度取得工程で取得した前記第1および第2の角度センサの出力値に基づき、所定の角度と前記変速機の出力側の角度との角度差を算出する角度差算出工程と、
    を備えたことを特徴とする制御方法。
  19. 駆動源と、前記駆動源の駆動を変速する変速機と、前記変速機の入力側の角度を検出する第1の角度センサと、前記変速機の出力側の角度を検出する第2の角度センサとを備えた関節と、前記駆動源を駆動させ前記関節を制御する制御装置と、を有したロボット装置において、
    前記制御装置が、前記関節により駆動される被駆動部位の質量により重力モーメントが前記関節に作用する場合、前記重力モーメントが前記関節の駆動抵抗よりも小さくなる位置に、前記被駆動部位を位置させた状態で、前記関節を駆動させて前記第1および第2の角度センサの出力値を取得し、
    前記制御装置が、取得した前記第1および第2の角度センサの出力値に基づき、所定の角度と前記変速機の出力側の角度との角度差を算出する、ことを特徴とするロボット装置。
  20. 駆動源と、前記駆動源の駆動を変速する変速機と、前記変速機の入力側の角度を検出する第1の角度センサと、前記変速機の出力側の角度を検出する第2の角度センサとを備えた関節と、前記駆動源を駆動させ前記関節を制御する制御装置と、を有した駆動装置において、
    前記制御装置が、前記関節により駆動される被駆動部位の質量により重力モーメントが前記関節に作用する場合、前記重力モーメントが前記関節の駆動抵抗よりも小さくなる位置に、前記被駆動部位を位置させた状態で、前記関節を駆動させて前記第1および第2の角度センサの出力値を取得し、
    前記制御装置が、取得した前記第1および第2の角度センサの出力値に基づき、所定の角度と前記変速機の出力側の角度との角度差を算出する、ことを特徴とする駆動装置。
JP2015140622A 2015-07-14 2015-07-14 制御方法、ロボット装置、および駆動装置 Active JP6881886B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015140622A JP6881886B2 (ja) 2015-07-14 2015-07-14 制御方法、ロボット装置、および駆動装置
US15/200,385 US10259121B2 (en) 2015-07-14 2016-07-01 Robot apparatus, and measuring method of rotation driving apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015140622A JP6881886B2 (ja) 2015-07-14 2015-07-14 制御方法、ロボット装置、および駆動装置

Publications (3)

Publication Number Publication Date
JP2017019080A JP2017019080A (ja) 2017-01-26
JP2017019080A5 JP2017019080A5 (ja) 2018-08-23
JP6881886B2 true JP6881886B2 (ja) 2021-06-02

Family

ID=57776350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015140622A Active JP6881886B2 (ja) 2015-07-14 2015-07-14 制御方法、ロボット装置、および駆動装置

Country Status (2)

Country Link
US (1) US10259121B2 (ja)
JP (1) JP6881886B2 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6652292B2 (ja) * 2015-09-24 2020-02-19 キヤノン株式会社 制御方法、制御プログラム、ロボットシステム、回転駆動装置の制御方法、およびロボット装置
EP3415873B1 (en) * 2016-02-10 2020-09-09 Advanced Telecommunications Research Institute International Rotational structure, assist system, and robot
JP2019204805A (ja) * 2016-08-10 2019-11-28 出光興産株式会社 有機エレクトロルミネッセンス素子、及び電子機器
JP2018062028A (ja) * 2016-10-12 2018-04-19 ファナック株式会社 モジュールの情報を追跡するロボットシステム及び保守方法
SG10201608757PA (en) * 2016-10-19 2018-05-30 Component Aerospace Singapore Pte Ltd Method and apparatus for facilitating part verification
DE112018001042T5 (de) 2017-02-28 2019-11-28 Sony Corporation Steuersystem, Steuerungsverfahren und chirurgisches Armsystem
JP7000040B2 (ja) * 2017-05-31 2022-01-19 Dmg森精機株式会社 移動精度監視システム、並びに移動精度監視機能を備えた回転テーブル、工作機械及びnc装置
JP6844434B2 (ja) * 2017-06-15 2021-03-17 株式会社デンソーウェーブ ロボットの負荷重心位置推定装置及びロボットの負荷重心位置推定方法
CN107379017B (zh) * 2017-06-19 2020-04-24 深圳市优必选科技有限公司 机器人及机器人肢体防抖的方法
JP6844462B2 (ja) * 2017-07-21 2021-03-17 株式会社デンソーウェーブ 角度検出器の偏心誤差補正方法、ロボットシステム
CN107972071B (zh) * 2017-12-05 2019-10-08 华中科技大学 一种基于末端点平面约束的工业机器人连杆参数标定方法
US11141855B2 (en) 2018-01-15 2021-10-12 Canon Kabushiki Kaisha Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article
JP6911793B2 (ja) * 2018-02-22 2021-07-28 株式会社デンソーウェーブ ロボットの制御装置
JP6882719B2 (ja) * 2018-03-07 2021-06-02 オムロン株式会社 ロボット制御装置、異常診断方法、及び異常診断プログラム
JP6663475B2 (ja) * 2018-06-07 2020-03-11 株式会社日研工作所 Nc工作機械の診断・保守システム
EP3807058A1 (en) * 2018-06-15 2021-04-21 Universal Robots A/S Estimation of payload attached to a robot arm
CN110887642A (zh) * 2018-08-17 2020-03-17 中国飞机强度研究所 一种仿生机构运动调试试验台
CN109445594A (zh) * 2018-11-01 2019-03-08 深圳岱仕科技有限公司 手部动作捕获装置
CN109483597A (zh) * 2018-11-22 2019-03-19 库曼机器人(武汉)有限公司 一种基于双光电编码器检测外力的方法
US11618163B2 (en) * 2018-12-27 2023-04-04 Fanuc Corporation Industrial robot system
JP7336215B2 (ja) 2019-03-08 2023-08-31 キヤノン株式会社 ロボットシステム、制御方法、物品の製造方法、プログラム、及び記録媒体
CN110083127B (zh) * 2019-05-06 2020-09-29 清能德创电气技术(北京)有限公司 一种针对多关节机器人的伺服驱动器控制方法及系统
CN110370314B (zh) * 2019-06-11 2020-11-13 杭州亿恒科技有限公司 基于多激光跟踪仪的双臂机器人性能测量方法
CN112171655B (zh) * 2019-07-03 2023-01-31 深圳市越疆科技有限公司 一种外力矩的测量方法、装置、控制器及机械臂
WO2021012199A1 (en) * 2019-07-24 2021-01-28 Abb Schweiz Ag Robot and assembly method thereof
JP7404797B2 (ja) * 2019-11-15 2023-12-26 セイコーエプソン株式会社 ロボットシステムの制御方法
JP7436198B2 (ja) * 2019-12-24 2024-02-21 ファナック株式会社 制御装置及びプログラム
US11148287B1 (en) * 2020-04-13 2021-10-19 Orangewood Labs Inc. System and/or method for error compensation in mechanical transmissions
JP2021185724A (ja) * 2020-05-25 2021-12-09 多摩川精機株式会社 サーボモータ減速機故障予知構造、減速機付きサーボモータ、および減速機付きサーボモータ制御システム
GB2596813B (en) * 2020-07-06 2024-09-18 Cmr Surgical Ltd Characterising the performance of a robotic joint
CN112894881B (zh) * 2020-12-29 2022-04-08 埃夫特智能装备股份有限公司 一种工业机器人关节空程测试装置及其测量方法
US11712804B2 (en) * 2021-03-29 2023-08-01 Samsung Electronics Co., Ltd. Systems and methods for adaptive robotic motion control
US11724390B2 (en) 2021-03-29 2023-08-15 Samsung Electronics Co., Ltd. Systems and methods for automated preloading of actuators
US11731279B2 (en) 2021-04-13 2023-08-22 Samsung Electronics Co., Ltd. Systems and methods for automated tuning of robotics systems
CN113659879A (zh) * 2021-07-26 2021-11-16 极限人工智能有限公司 一种手术机器人的电机闭环控制装置及方法
JP2024006725A (ja) * 2022-07-04 2024-01-17 パナソニックホールディングス株式会社 電動工具システム、診断方法及びプログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6149216A (ja) * 1984-08-16 1986-03-11 Fujitsu Ltd 減速機の誤差補償方法
JPS6149217A (ja) * 1984-08-16 1986-03-11 Fujitsu Ltd 減速機の誤差補正方式
JPS62150405A (ja) * 1985-12-23 1987-07-04 Omron Tateisi Electronics Co 産業用ロボツト制御装置
JPS62166980A (ja) * 1986-01-14 1987-07-23 オムロン株式会社 産業用ロボツトにおけるバツクラツシユ量測定方法
JPH0371206A (ja) * 1989-08-10 1991-03-27 Mitsubishi Electric Corp Nc工作機械の機械誤差補正装置
JP3357143B2 (ja) * 1993-09-30 2002-12-16 ファナック株式会社 ロボットの負荷をモニタするロボット制御装置
JP3089915B2 (ja) * 1993-09-30 2000-09-18 トヨタ自動車株式会社 産業用ロボットの寿命推定方法及び寿命推定装置
JP3217254B2 (ja) * 1995-11-15 2001-10-09 トヨタ自動車株式会社 産業用ロボットの寿命推定方法及び寿命推定装置
JP4052490B2 (ja) * 1998-03-18 2008-02-27 株式会社ハーモニック・ドライブ・システムズ 波動歯車減速機の角度伝達誤差補正方法
JPH11308520A (ja) * 1998-04-17 1999-11-05 Matsushita Electric Ind Co Ltd テレビカメラの撮影方位設定方法及び装置
JP2001166805A (ja) * 1999-12-13 2001-06-22 Toshiba Mach Co Ltd ハイブリッド制御方式の工作機械のロストモーション補正値設定方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体および数値制御工作機械
JP4459463B2 (ja) * 2001-02-19 2010-04-28 株式会社ハーモニック・ドライブ・システムズ アクチュエータの位置決め誤差補正方法
JP3868928B2 (ja) * 2003-06-09 2007-01-17 三菱電機株式会社 ロボット位置決め誤差補正装置
DE102004028557A1 (de) * 2004-06-15 2006-02-16 Abb Patent Gmbh Verfahren und System zur Zustandsbewertung von wenigstens einem Achsgelenk
JP2008248928A (ja) * 2007-03-29 2008-10-16 Mazda Motor Corp 車両用変速機の締結装置およびその締結方法
JP5188088B2 (ja) * 2007-03-30 2013-04-24 川崎重工業株式会社 減速機等の故障予知装置
KR100926574B1 (ko) * 2008-01-28 2009-11-17 이부락 하모닉 감속기용 강성 시험기
JP2009198203A (ja) * 2008-02-19 2009-09-03 Yaskawa Electric Corp バックラッシュ量算出方法および直動型ロボット装置
KR20120107714A (ko) * 2011-03-22 2012-10-04 삼성테크윈 주식회사 다링크 및 다연쇄 구조 시스템 및 그 제어 방법
JP6053424B2 (ja) * 2012-09-25 2016-12-27 キヤノン株式会社 ロボット装置、ロボット制御方法、プログラム及び記録媒体
CN104968967B (zh) * 2012-12-22 2017-12-22 株式会社沙夫特 旋转驱动装置
JP6164948B2 (ja) 2013-06-20 2017-07-19 キヤノン株式会社 ロボット装置及び部品の製造方法
CN104669244A (zh) * 2013-12-02 2015-06-03 精工爱普生株式会社 机器人
US9505133B2 (en) 2013-12-13 2016-11-29 Canon Kabushiki Kaisha Robot apparatus, robot controlling method, program and recording medium
JP6489745B2 (ja) 2014-03-03 2019-03-27 キヤノン株式会社 ロボット装置、ロボット装置の制御方法、ロボット装置を用いた物品の組立方法、プログラム及び記録媒体

Also Published As

Publication number Publication date
JP2017019080A (ja) 2017-01-26
US10259121B2 (en) 2019-04-16
US20170015004A1 (en) 2017-01-19

Similar Documents

Publication Publication Date Title
JP6881886B2 (ja) 制御方法、ロボット装置、および駆動装置
JP6164948B2 (ja) ロボット装置及び部品の製造方法
JP6652292B2 (ja) 制御方法、制御プログラム、ロボットシステム、回転駆動装置の制御方法、およびロボット装置
KR102007536B1 (ko) 토크를 검출하기 위한 방법 및 산업용 로봇
US11413759B2 (en) Robot apparatus, control method for controlling the same, non-transitory computer-readable recording medium, manufacturing system, and method for manufacturing an article
JP6053424B2 (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP6652293B2 (ja) ロボット装置、および制御方法
US20150328774A1 (en) Robot system controlling method, program, recording medium, robot system, and diagnosis apparatus
JP6512790B2 (ja) ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法
JP2015093360A (ja) 駆動装置、ロボット装置、駆動装置の制御方法、プログラム及び記録媒体
US11633859B2 (en) Robot
JP2009068950A (ja) 機械診断装置
JP6858353B2 (ja) ロボット制御装置、異常診断方法、及び異常診断プログラム
WO2019171939A1 (ja) ロボット制御装置、異常診断方法、及び異常診断プログラム
CN111331594B (zh) 用于检查机器人装置的检查方法、控制装置和存储介质
JP7358049B2 (ja) 制御方法、プログラム、記録媒体、ロボットシステム、および物品の製造方法
JP6632214B2 (ja) 制御方法、ロボットハンド、ロボット装置、製造方法、ロボットハンド制御プログラム及び記録媒体
JP7267725B2 (ja) ロボットの制御方法、プログラム、記録媒体、ロボットシステム、物品の製造方法
JP7278803B2 (ja) 情報処理方法、情報処理装置、ロボットシステム、ロボットシステムの制御方法、ロボットシステムを用いた物品の製造方法、プログラム及び記録媒体
JP2020097078A (ja) ロボット装置、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、検出装置、制御プログラム及び記録媒体
JP2022094042A (ja) 検出装置、検出方法、ロボット装置、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、駆動装置、制御プログラムおよび記録媒体
US20230400384A1 (en) Abnormality detection device which detects abnormalities in power transmission mechanism for transmitting rotational force outputted by motor
JP2020059122A (ja) 制御方法、制御プログラム、記録媒体、ロボットシステム、物品の製造方法、回転駆動装置の制御方法、およびロボット装置
JP2021070078A (ja) 駆動装置、駆動装置の制御方法、ロボット装置、物品の製造方法、制御プログラム及び記録媒体
CN115213938A (zh) 减速机的状态监视装置及减速机的状态监视方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180710

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191101

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200303

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200430

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201020

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210506

R151 Written notification of patent or utility model registration

Ref document number: 6881886

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151