ロボットのねじ締め作業異常検知方法
【課題】高機能なねじ締めロボットシステムを低コストで構築することができるロボットのねじ締め作業異常検知方法を得る。
【解決手段】ロボット2の先端部に力覚センサ3およびねじ締めドライバ4を備え、力覚センサ3が前記先端部に作用する力を測定するねじ締めロボットシステム1において、ねじ締め異常判定手段6により、力覚センサ3の出力に基づいてねじ締め作業の正常または異常の判定を行うステップを有するロボットのねじ締め作業異常検知方法。
【解決手段】ロボット2の先端部に力覚センサ3およびねじ締めドライバ4を備え、力覚センサ3が前記先端部に作用する力を測定するねじ締めロボットシステム1において、ねじ締め異常判定手段6により、力覚センサ3の出力に基づいてねじ締め作業の正常または異常の判定を行うステップを有するロボットのねじ締め作業異常検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、自動組立システムの異常検知、特にねじ締め作業の異常検知に関する。
【背景技術】
【0002】
従来の自動ねじ締付機に適用できるねじの締付座面の異物有無判定装置は、ナットランナー(ねじ締めドライバ)の回転トルクを検出するトルク検出部と、モータ回転角を検出する回転角検出部と、トルク検出部および回転角検出部のそれぞれの検出値に基づき締付回転角度に対する締付トルクの傾き波形を演算処理し、さらに、近似曲線の関数の2階微分値の波形を演算処理し、2階微分値の波形に変曲点が存在する場合には、ねじの締付座面に異物が存在していると判定し、2階微分値の波形に変曲点が存在しない場合には、ねじの締付座面に異物が存在していないと判定する演算処理装置とを備えている。前記異物有無判定装置が、異物が存在していると判定した場合は、警報を発する(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009―255241号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の自動ねじ締付機に適用できるねじの締付座面の異物有無判定装置は、自動ねじ締付け装置の角度情報とトルク信号に基づいて異常判別するため、ねじ締付け装置から角度情報やトルク情報を出力しない低コストのねじ締付け装置を用いることができず、自動ねじ締付機のコストが高くなる問題があった。
【0005】
また、ロボットを用いた自動組立の分野においては、1台のロボットで複数工程を行うセル生産ロボットの研究開発が進められている。セル生産ロボットが組立対象とする電機製品などでは1つの組立対象物に複数種類のねじ締め工程が必要な製品が多くあり、ねじ締めドライバをロボットが持ち替えあるいは付け替えながら組立作業を進めていく。それぞれのねじ締め工程でのねじ締め異常検知を従来の異物有無判定装置を用いておこなうには、ロボットが持ち替えあるいは付け替えて使用するねじ締めドライバすべてに対して角度情報およびトルク情報を計測し、出力する機能を備える必要がある。そのため、ねじ締め装置を含めたセル生産ロボットシステム全体のコストが非常に高くなる問題があった。
【0006】
また、従来の異物有無判定装置では、判別できるねじ締め異常が、座面の異物の有無など特定の異常要因に限定されている。そのため特定の要因以外の原因で発生する異常については検知できない問題があった。
【0007】
この発明は、このような問題を解決するためになされたもので、高機能なねじ締めロボットシステムを低コストで構築することができるロボットのねじ締め作業異常検知方法を得ることを目的とする。
【課題を解決するための手段】
【0008】
この発明に係るロボットのねじ締め作業異常検知方法は、ロボットの先端部に力覚センサおよびねじ締めドライバを備え、前記力覚センサが前記先端部に作用する力を測定するねじ締めロボットシステムにおいて、ねじ締め異常判定手段により、前記力覚センサの出力に基づいてねじ締め作業の正常または異常の判定を行うステップを有するロボットのねじ締め作業異常検知方法である。
【発明の効果】
【0009】
この発明によれば、高機能なねじ締めロボットシステムを低コストで構築することができるロボットのねじ締め作業異常検知方法を得ることができる。
【図面の簡単な説明】
【0010】
【図1】この発明の実施の形態1に係るねじ締めロボットシステムの概略図である。
【図2】この発明の実施の形態1に係るねじ締めロボットシステムの制御システムの構成を示すブロック図である。
【図3】この発明の実施の形態1に係るロボット制御装置の内部構成およびねじ締め異常判定手段への信号の流れを示す説明図である。
【図4】この発明の実施の形態1に係る異常判定方法を説明するための図である。
【図5】この発明の実施の形態2に係るロボット制御装置の内部構成およびねじ締め異常判定手段への信号の流れを示す説明図である。
【図6】この発明の実施の形態3に係る異常判定方法を説明するための図である。
【図7】この発明の実施の形態5に係るロボット制御装置の内部構成およびねじ締め異常判定手段への信号の流れを示す説明図である。
【図8】この発明の実施の形態5に係る異常判定方法を説明するための図である。
【図9】この発明の実施の形態6に係る異常判定方法を説明するための図である。
【図10】この発明の実施の形態7に係る異常判定のフローチャートである。
【図11】この発明の実施の形態7に係るねじ挿入方向反力とねじ挿入方向変位との関係を示す図である。
【図12】この発明の実施の形態7に係る特徴量空間の例を示す図である。
【発明を実施するための形態】
【0011】
実施の形態1.
図1に、ねじ締めロボットシステム1の概略図を示す。ロボット2は先端近辺(先端部)に力覚センサ3を備える。ロボット2は、図1のような垂直多関節ロボットだけでなく、スカラロボットや全て直動軸(直線上を動作する軸)で構成される直交ロボットでもよい。力覚センサ3はロボット2の手先先端方向の軸方向に作用する力と手先先端方向の軸周りのモーメントが測定できるセンサとする。ロボット2は、力覚センサ3よりも先端側にねじ締めドライバ4を備える。ねじ締めドライバ4は、ロボット2の先端に常時備え付けられていてもよいし、ねじ締めドライバ4よりもロボット2の本体側に開閉ハンドもしくはツールチェンジャーを備え、ねじ締め作業を行う場合のみ、ねじ締めドライバ4を把持もしくは取り付ける構成としてもよい。さらに、ねじ締めロボットシステム1はねじ締め作業のみ行ってもよいし、搬送や組み付けなどの他の作業を行ってもよい。
【0012】
ねじ締めロボットシステム1の制御システムの構成を図2に示す。ロボット制御装置5は、ロボット制御装置5に書き込まれているロボットプログラムを逐次解釈し、ロボット2の本体及び周辺装置への指令を生成する。周辺装置としては、図2に記載のねじ締めドライバ4、ねじ供給機、システム内のエアーもしくはモータで駆動する駆動軸、ビジョンセンサ(ねじ締めドライバ4以外は図示せず)などがある。ロボット制御装置5は、こうした周辺装置に対しては、動作開始などの命令を送信するとともに、ロボット2の本体に対しては時々刻々のロボット2の目標位置指令を生成し、生成した目標位置指令に追従させるようロボット2の各軸を動作させるモータ2aを制御するとともに、モータ2aの角度をエンコーダもしくはレゾルバといった変位測定手段(図示せず)で測定し、測定したロボットの各軸のモータ変位を受け取る。またロボット制御装置5は、ロボット2に取り付けた力覚センサ3の測定値も受け取り、力覚センサ3の出力を用いた制御をおこなうと共に、後述するこの実施の形態での異常検知に活用する。さらにロボット制御装置5は、ねじ締め装置であるねじ締めドライバ4に対して、ねじ締め開始命令を送信する。ねじ締め終了は、ねじ締めドライバ4内部で判定し、判定結果をロボット制御装置5へ送信してもよいし、ロボット制御装置5の内部で力覚センサ3の情報などに基づいて判断し、ねじ締め終了命令をロボット制御装置5からねじ締めドライバ4へ送信してもよい。
【0013】
この実施の形態では、図3に示すように、ロボット制御装置5の内部にねじ締め作業の異常の有無とねじ締め作業に異常が発生した場合の異常の種類を判定するねじ締め異常判定手段6を備える。同図には、ねじ締め異常判定手段6への信号の流れを矢印で示している。ロボット動作計画手段7は、ロボットプログラムを逐次解釈し、ロボット2の本体に時々刻々の位置指令を生成し、各軸位置指令を生成し、各軸制御手段8に送付する。各軸制御手段8では、各軸の位置指令に追従するようにロボット2の各軸のモータ2aを制御する。その際、ロボット2の本体からは各軸の変位がフィードバックされる。各軸制御手段8が受信したロボット2の各軸の変位は手先位置算出手段9に送付され、時々刻々のロボット2の手先の現在位置が算出される。ロボット動作計画手段7、各軸制御手段8、および手先位置算出手段9は、通常、ロボット制御装置5が備えるものである。
【0014】
次に、ロボットプログラムにねじ締め作業に関する命令が記載されていると、ロボット動作計画手段7は、プログラムの該当箇所の処理を行う時点でプログラムに記載されたねじ締め用の動作をロボット2の本体に指令する(ねじ締め動作を行うためのロボット動作の時々刻々の位置指令を生成する)とともに、ねじ締めドライバ4にねじ締め動作開始指令を送信する。さらに、ねじ締め異常判定手段6にねじ締め動作を開始したことを送信する。ロボット動作計画手段7は、ねじ締め異常判定手段6から、ねじ締め異常情報を受信するか、ロボットプログラムで指定されている条件が成立した時点(例えば、ロボット2に与える指令が指定された地点に到達したとき、例えば、ロボット2に与える指令が指定された地点に到達し、さらに指定された時間経過したときなど)で、ねじ締めドライバ4に停止指令を送信する。
【0015】
ねじ締め異常判定手段6では、ロボット動作計画手段7からねじ締め動作開始信号を受信すると、ねじ締め異常判定のための処理(ステップ)を開始する。処理周期ごとに手先位置算出手段9で算出したロボット2の手先位置(ねじ締めドライバの位置)と、力覚センサ3から送信される力覚センサ測定値とをねじ締め異常判定手段6へ入力する。ねじ締め方向の力とねじ締め方向の軸周りのモーメントを常時チェックし、ねじ締め方向の力とねじ締め方向の軸周りのモーメントの少なくとも1つが予め定められた閾値以上であるかどうかを判別する。また、ロボット2の現在の手先位置と、ねじ締め作業開始時の手先位置から、ねじ挿入方向変位を算出する。ねじ締め方向の力とねじ締め方向の軸周りのモーメントのいずれもが閾値以下の場合は、その処理周期では正常と判定する。
【0016】
少なくともどちらかが閾値以上となった場合は、判定したときのねじ挿入方向変位から、図4に示すエリア1、2、3のどこで閾値以上となったかを判別する。エリア1で閾値以上となった場合は、位置ずれエラー(ねじ穴が、ロボット2を教示したときの位置からずれている)が発生したと判定し、ロボット動作計画手段7に位置ずれエラー発生を通知する。エリア2で閾値以上となった場合は、ねじつまり(ねじ締め途中でねじが斜めになっている、あるいはねじ穴にゴミが詰まっているなどの原因により、途中でねじが進まなくなる)が発生したと判定し、ロボット動作計画手段7にねじつまりエラー発生を通知する。エリア3で閾値以上となった場合は、ねじ締め作業が正常に終了したと判定し、ねじ締め作業正常終了をロボット動作計画手段7に通知する。ロボットプログラムで規定された条件が成立するまでに、ねじ締め異常判定手段6から位置ずれエラー、ねじつまりエラー、正常終了のいずれの通知もない場合、ロボット動作計画手段7は、ねじ締めドライバ4とねじ締め異常判定手段6の両者にねじ締め作業終了信号を送信する。ねじ締め異常判定手段6は、ねじ締め作業終了信号を受信した時点でもねじ締め方向の力とねじ締め方向の軸周りのモーメントのいずれもが閾値以下の場合は、ねじなしエラーをロボット動作計画手段7に通知する。
【0017】
ロボット動作計画手段7は、ねじ締め異常判定手段6から正常終了通知を受け取った場合は特別な作用はなにもせず、ロボットプログラムにねじ締め作業の次に記載されている処理(ステップ)を行う。ねじ締め異常判定手段6から、位置ずれエラー、ねじつまりエラー、ねじなしエラーのいずれかの通知を受け取った場合は、自動で、受信したエラーの種類に応じた復旧方法を選択して実行する処理(ステップ)を行う。
【0018】
位置ずれエラーを受信した場合は、ねじ締めロボットシステム1の内部のねじ穴を認識できるビジョンセンサでねじ穴を認識し、ロボットの目標位置を認識結果に応じて修正してから、再度、ねじ締め作業を実施する。もし、ねじ締めロボットシステム1の内部にねじ穴を認識できるビジョンセンサがないときは、位置ずれエラーが発生したことをロボット制御装置5に接続されている表示器(図示せず)に表示し、ロボット2を停止させる。また、ねじつまりエラーを受信した場合は、ねじ締めドライバを逆方向に回転させながらロボットを上方に予め指定している位置まで退避させ、再度、ねじ締め作業を実施する。また、ねじなしエラーを受信した場合は、ねじ供給機へロボット2の手先を移動させ、再度ねじを吸着する動作を実施してから、ねじ締め位置へロボット2を戻してねじ締め作業を再度、実施する。
【0019】
なお、上記の説明では、手先位置算出手段9が、ロボット2の各軸の変位から算出したロボット2の手先位置に基づいてねじ締め異常判定処理をおこなう場合を示したが、例えば、ロボット2の各関節の現在位置、ロボット2の各関節軸の位置指令、ロボット2の現在の先端位置姿勢などのロボット2の現在位置情報のいずれか、または複数に基づいてねじ締め異常判定処理をおこなってもよい。
【0020】
以上より、この発明の実施の形態1では、力覚センサ3と、力覚センサ3よりも先端側にねじ締めドライバ4を把持もしくは取り付けたロボット2でねじ締め作業を行う際、ねじ締め作業中の力覚センサ3の出力データとロボット2の現在位置情報(ロボット2の各関節の現在位置、ロボット2の各関節軸の位置指令、ロボット2の現在の先端位置姿勢のいずれか、または複数)を逐次読み込み、読み込んだ力覚センサ3の出力の値とロボット2の現在位置情報とに基づいて、実行中のねじ締め作業が正常であるか異常であるか、異常の場合はどの異常かを判別する(異常の種類を判別する)ねじ締め異常判定手段6を備えている。
【0021】
このねじ締め異常判定手段6は、力覚センサ3とこの力覚センサ3よりも先端側にねじ締めドライバ4を把持もしくは取り付けたロボット2でねじ締め作業を行う際、ねじ締め作業中の力覚センサ3のデータを逐次読み込み、読み込んだ力覚センサ3の出力の値に基づいて、実行中のねじ締め作業の正常、異常を判定する。また、この実施の形態のねじ締め異常判定手段6は、ねじ締め時の挿入量とねじ締め時の測定力、モーメントに基づいて判定するねじ締め異常判定手段であり、ねじ締め時の挿入量毎に領域を分けて、領域に応じて異常の種類を判別するねじ締め異常判定手段である。
【0022】
また、ねじ締め異常判定手段6は、力覚センサ3の出力とねじ締めドライバの位置情報とからねじ締め挿入量を算出するステップと、このねじ締め時の挿入量とねじ締め時の力覚センサ3の出力(力およびモーメント)に基づいてねじ締めの異常を判定するステップを有するロボットのねじ締め作業異常検知方法を実行している。また、ねじ締め異常判定手段6は、ねじ締め時の挿入量毎に領域分けをするステップを経て、領域に応じて異常の種類を判別するステップを有するロボットのねじ締め作業異常検知方法を実行している。
【0023】
このように、ロボット2の先端部に力覚センサ3およびねじ締めドライバ4を備え、前記力覚センサ3が前記先端部に作用する力を測定するねじ締めロボットシステム1において、ねじ締め異常判定手段6により、力覚センサ3の出力に基づいてねじ締め作業の正常はたは異常を判定するステップを有するロボットのねじ締め作業異常検知方法を実行することで、ねじ締めドライバ4にトルクセンサなどの高価なセンサを設ける必要なくなり、ねじ締めドライバ4は単にねじ締め作業が行えるだけの安価なドライバでよくなり、ねじ締めロボットシステム1の全体のコストを低減できる。特に、組立対象物を組み立てるために複数種類のねじを締める必要がある場合、ねじの種類に応じて複数のねじ締めドライバを持ち替えて(付け替えて)作業を行う必要があるため、ねじ締めドライバ4も複数必要となるので、コスト削減効果が大きい。
【0024】
また、ねじ締め作業の正常、異常の判定だけでなく、異常の種類まで判定できるため、異常の種類に応じた復旧動作や報知を行うことができるという格別な効果がある。
【0025】
実施の形態2.
この実施の形態2では、実施の形態1とねじ締めロボットシステム1の制御システムの構成が異なる。具体的には、実施の形態1では、ねじ締め異常判定手段6をロボット制御装置5の内部に備えていたが、実施の形態2では、図5に示すように、ねじ締め異常判定手段6をロボット制御装置5とは異なる異常判定装置10内部に設けている。異常判定装置10は、例えば、ねじ締め異常判定のために専用に設けるパソコンでもよいし、ねじ締めロボットシステム1全体を制御するシーケンサの内部に設けてもよい。なお、これ以外は実施の形態1と同様であるので説明を省略する。
【0026】
実施の形態3.
この実施の形態3では、実施の形態1とねじ締め異常判定手段6でのねじ締め作業異常検知方法が異なる。それ以外は実施の形態1と同様であるので、ここでは、ねじ締め異常判定手段6での作業異常検知方法(判定方法)についてのみ説明する。
【0027】
ねじ締め異常判定手段6では、まず、正常なねじ締め時のねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係式を記憶しておく。ねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係式は陽に表現される数式でもよいし、ねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係のテーブルをもち、テーブルの間の値については直線近似で求めてもよい。記憶してある正常なねじ締め時のねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係式に正の値を加算したものを上側閾値、負の値を加算したものを下側閾値とし、力およびモーメントのそれぞれが上側閾値以上となるか、下側閾値以下となるかを判別する。
【0028】
この実施の形態では、図6に示すように、エリア1で上側閾値を超えた(上側閾値以上となった)場合は、位置ずれエラー発生と判定する。エリア2で上側閾値を超えた場合は、ねじつまりエラー発生と判定する。エリア3で上側閾値を超えた場合は、正常終了と判定する。エリア1、2、3のいずれかで下側閾値を超えた場合(下側閾値以下となった場合)はねじなしエラー発生と判定する。さらに、エリア3で、上側閾値以下で下側閾値以上のままロボット動作計画手段7からねじ締め動作終了信号を受信した場合は、正常終了と判定する。
【0029】
この実施の形態のねじ締め異常判定手段6は、ねじ締め時の挿入量とねじ締め時の測定力、モーメントに基づいて判定するねじ締め異常判別手段であり、ねじ締め時の挿入量毎に領域を分けて、領域に応じて異常の種類を判別するねじ締め異常判別手段であり、ねじ締め時の作用力、作用モーメントの推定値算出機能を備え、算出した推定値に基づいて異常判別を行うねじ締め異常判定手段である。
【0030】
また、ねじ締め異常判定手段6は、ねじ締め時の挿入量とねじ締め時の力覚センサ3の出力(力およびモーメント)に基づいてねじ締め異常を判定するステップを有するロボットのねじ締め作業異常検知方法を実行している。また、ねじ締め異常判定手段6は、ねじ締め時の挿入量毎に領域を分けるステップを経て、領域に応じて異常の種類を判別するステップを有するロボットのねじ締め作業異常検知方法を実行している。さらに、ねじ締め異常判定手段6は、ねじ締め時の作用力および作用モーメントの推定値を算出するステップを経て、この算出した推定値に基づいて異常判定を行うステップを有するロボットのねじ締め作業異常検知方法を実行している。
【0031】
実施の形態4.
この実施の形態4では、実施の形態1とねじ締めエラー判定後の作用、動作が異なる。実施の形態4では、ロボット動作計画手段7は、ねじ締め異常判定手段6から正常終了通知を受け取った場合には特別な作用はなにもせず、ロボットプログラムに記載されている次の処理を行う。ねじ締め異常判定手段6から、位置ずれエラー、ねじつまりエラー、ねじなしエラーのいずれかの通知を受け取った場合は、ロボットを停止させる。さらに受信したエラーの種類を、ロボット制御装置5に接続されている表示器(図示せず)に表示する。
【0032】
実施の形態5.
この実施の形態5では、実施の形態1とねじ締め異常判定手段6への信号の流れと、ねじ締め異常判定手段6内部での処理が異なる。実施の形態5のねじ締め異常判定手段6への信号の流れを、図7に示す。
【0033】
実施の形態5では、ねじ締め異常判定手段6において手先位置算出手段9の出力を使用しない。ねじ締め異常判定手段6内部では、図8に示す通り、ねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが、ねじ締め開始からどれだけたってから予め定められた閾値を超えるかで正常、異常の判定するステップと、異常時のエラー種類の判別を行うステップを実行する。
【0034】
ねじ締め開始からの経過時間がエリア1の範囲でねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが閾値を超えた場合は、位置ずれエラー発生と判定する。ねじ締め開始からの経過時間がエリア2の範囲でねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが閾値を超えた場合は、ねじつまり発生と判定する。ねじ締め開始からの経過時間がエリア3の範囲でねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが閾値を超えた場合は、正常終了と判定する。エリア4に至るまでにねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが閾値を越えなかった場合は、ねじなし異常発生と判定する。なお、ロボット動作計画手段7の作用は実施の形態1と同様なので説明は省略する。
【0035】
この実施の形態のねじ締め異常判定手段6は、ねじ締め開始からの経過時間とねじ締め時の測定力、モーメントに基づいて判別するねじ締め異常判別手段であり、ねじ締め開始からの経過時間毎に領域を分けて、領域に応じて異常の種類を判別するねじ締め異常判別手段である。
【0036】
また、ねじ締め異常判定手段6は、ねじ締め開始からの経過時間とねじ締め時の力覚センサの出力(力およびモーメント)に基づいてねじ締め異常を判定するステップを有するロボットのねじ締め作業異常検知方法を実行している。また、ねじ締め異常判定手段6は、ねじ締め開始からの経過時間毎に領域を分けるステップを経て、領域に応じて異常の種類を判別するステップを有するロボットのねじ締め作業異常検知方法を実行している。
【0037】
実施の形態6.
この実施の形態6では、実施の形態3とねじ締め異常判定手段6内部の判定方法とロボット動作計画手段7の作用が異なる。それ以外は、実施の形態3と同様なので説明を省略する。
【0038】
実施の形態6のねじ締め異常判定手段6では、正常なねじ締め時のねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係を記憶しておく。ねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係は、陽に表現される数式でもよいし、ねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係のテーブルをもち、テーブルの間の値については直線近似で求めてもよい。記憶してある正常なねじ締め時のねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係に正の値を加算したものを上側閾値、負の値を加算したものを下側閾値とし、力およびモーメントのそれぞれが上側閾値以上となるか、下側閾値以下となるかを判別する。
【0039】
図9に示すように、エリア1で上側閾値を超えた(上側閾値以上となった)場合は、エラー発生と判定する。エリア2で上側閾値を超えた場合は、正常終了と判定する。エリア1、2のいずれかで下側閾値を超えた場合(下側閾値以下となった場合)はエラー発生と判定する。さらに、エリア2で、上側閾値以下で下側閾値以上のままロボット動作計画手段7からねじ締め動作終了信号を受信した場合は、正常終了と判定する。この実施の形態では正常、異常の判定のみを行い、異常(エラー)の種類までは判別を行わない。したがってロボット動作計画手段7には正常終了か異常(エラー)発生のいずれかを通知する。
【0040】
ロボット動作計画手段7では、ねじ締め異常判定手段6から正常終了通知を受け取った場合は特別な作用はなにもせず、ロボットプログラムにねじ締め作業の次に記載されている処理を行う。ねじ締め異常判定手段6からエラー発生通知を受け取った場合は、ロボット2を停止させる。さらに、ねじ締めエラーが発生したことを、ロボット制御装置5に接続されている表示器(図示せず)に表示する。
【0041】
実施の形態7.
この実施の形態7では、実施の形態1とねじ締め異常判定手段6でのねじ締め作業異常検知方法が異なる。それ以外は実施の形態1と同様であるので、ここでは、ねじ締め異常判定手段6での作業異常検知方法(判定方法)についてのみ説明する。
【0042】
図10に示すように、ねじ締め異常判定手段6は、ロボット動作計画手段7からねじ締め異常判定手段6へねじ締め作業開始信号が入力されると(ステップS101)、力覚センサ3の出力データとロボット2の手先位置を処理周期毎に記憶する動作を開始する(データログの採取を開始する)ステップS102を実行する。ロボット動作計画手段7からねじ締め異常判定手段6へねじ締め作業終了信号が入力されると(ステップS103)、力覚センサ3の出力データとロボット2の手先位置とを処理周期毎に記憶していく処理を終了させる(データログの採取を終了させる)ステップS104を実行し、記憶した力覚センサ3の出力データとロボット2の手先位置データを一括で読み込むステップS105を実行する。次に読み込んだデータから挿入状態判別特徴量(力覚センサ3の出力データに基づく挿入状態判別特徴量、以下では特徴量と記載)を算出するステップS106を実行する。なお、物理的な記憶は、ねじ締め異常判定手段6内に行っても、別途設けたメモリなどの外部記憶装置を用いてもよい。
【0043】
この実施の形態では、特徴量として、挿入推定量L1、挿入推定量L2、最大挿入反力Fm、挿入反力の傾きα、挿入時間tの5つの特徴量を算出するステップを実行する。挿入推定量L1は、ねじ締め方向の軸周りのモーメントの変化率が0を横切る回数であるゼロクロス回数をNz、ねじのピッチをLpとすると、
L1=Nz×Lp/2
で、算出される値である。なお、上記の説明では、挿入推定量L1は、ねじ締め方向の軸周りのモーメントの変化率が0を横切る回数であるゼロクロス回数をNzとしたが、ねじ締め方向の軸周りのモーメントが0を横切る回数であるゼロクロス回数をNzとしてもよい。
【0044】
挿入推定量L2は、ねじ締め開始時の手先位置をZ0、ねじ締め終了時の手先位置をZeとし、
L2=|Z0―Ze|
で、算出される値である。ここで、| |は絶対値を示している。ここで、ねじ締め開始の手先位置はモーメントの変化率が大きくなった最初の時点でもよいし、ねじ締め方向の力が大きくなり始めた時点でもよい。また、ねじ締め終了時の手先位置はモーメントの変化率が充分に小さくなった時点でもよいし、ねじ締め方向の力が充分に小さくなった時点でもよい。
【0045】
最大挿入反力Fm、挿入反力の傾きα(ねじ締め挿入方向変位とねじ締め方向の反力を直線近似した場合の直線の傾き)は、図11に示す値を用いればよく、挿入反力の傾きαは、
α=Fm/Lm
により算出できる。ここでLmは、ねじ締め挿入方向変位とねじ締め方向の反力を直線近似した場合の直線において、ねじ締め方向の反力が0からFmまで変化したときのねじ挿入方向変位の変化分である。
【0046】
挿入時間tは、ねじ締め作業開始の手先位置からねじ締め作業終了の手先位置まで、手先が移動するのにかかった時間である。
【0047】
これらの特徴量の全部または一部を特徴量空間でマッピングし、特徴量空間のどのエリアに属するかで、ねじ締め作業が正常であるか、どの異常であるかを判別するステップS107を実行する。特徴量空間の例を図12に示す。特徴量空間のどこが正常で、どこがどのエラーの領域になるかは、予め試行実験を行っておき、サポートベクターマシンなどで獲得しておく。判別した結果(正常終了、位置ずれエラー、ねじつまりエラー、ねじなしエラー)はロボット動作計画手段7に出力される(ステップS108)。
【0048】
なお、以上の説明では、ロボット2の手先位置を処理周期毎に記憶して特徴量の算出に用いたが、ロボット2の現在位置情報である、ロボット2の各関節の現在位置、ロボット2の各関節軸の位置指令およびロボット2の現在の先端位置姿勢のいずれか、または複数を、ロボット2の手先位置に関するデータとして記憶し、特徴量の算出に用いてもよい。
【0049】
以上より、この発明の実施の形態7では、力覚センサ3と、力覚センサ3よりも先端側にねじ締めドライバ4を把持もしくは取り付けたロボット2でねじ締め作業を行う際、ねじ締め作業中の力覚センサ3の出力データとロボット2の現在位置情報(例えば、ロボット2の各関節の現在位置、ロボット2の各関節軸の位置指令およびロボット2の現在の先端位置姿勢のいずれか)を記憶しておき、記憶していた力覚センサデータとロボットの現在位置情報に基づいて特徴量を算出し、この算出した特徴量に基づいて、ねじ締め作業の正常、異常の判定と、異常の場合はどの異常かを判別する(異常の種類を判別する)ねじ締め異常判定手段6を備える。
【0050】
また、このねじ締め異常判定手段6は、力覚センサ3と、力覚センサ3よりも先端側にねじ締めドライバ4を把持もしくは取り付けたロボット2でねじ締め作業を行う際、ねじ締め作業中の力覚センサ3の出力データとロボット2の現在位置情報(例えば、ロボット2の各関節の現在位置、ロボット2の各関節軸の位置指令およびロボット2の現在の先端位置姿勢のいずれか)を記憶するステップ、記憶していた力覚センサデータとロボットの現在位置情報に基づいて特徴量を算出するステップ、この算出した特徴量に基づいて、ねじ締め作業の正常、異常の判定と、異常の場合はどの異常かを判別する(異常の種類を判別する)ステップを有するロボットのねじ締め作業異常検知方法を実行している。
【0051】
このように、ロボット2の先端部に力覚センサ3およびねじ締めドライバ4を備えたねじ締めロボットシステム1において、実施の形態7のロボットのねじ締め作業異常検知方法を実行することで、ねじ締め作業中に記憶しておいたデータに基づいて特徴量を算出し、算出した特徴量に基づいて正常、異常の判定を行うため、力覚センサからの時系列データからは直接判別しにくい場合も判定も行えるとい格別な効果がある。
【符号の説明】
【0052】
1 ねじ締めロボットシステム、2 ロボット、2a モータ、3 力覚センサ、4 ねじ締めドライバ、5 ロボット制御装置、6 ねじ締め異常判定手段、7 ロボット動作計画手段、8 各軸制御手段、9 手先位置算出手段、10 異常判定装置。
【技術分野】
【0001】
この発明は、自動組立システムの異常検知、特にねじ締め作業の異常検知に関する。
【背景技術】
【0002】
従来の自動ねじ締付機に適用できるねじの締付座面の異物有無判定装置は、ナットランナー(ねじ締めドライバ)の回転トルクを検出するトルク検出部と、モータ回転角を検出する回転角検出部と、トルク検出部および回転角検出部のそれぞれの検出値に基づき締付回転角度に対する締付トルクの傾き波形を演算処理し、さらに、近似曲線の関数の2階微分値の波形を演算処理し、2階微分値の波形に変曲点が存在する場合には、ねじの締付座面に異物が存在していると判定し、2階微分値の波形に変曲点が存在しない場合には、ねじの締付座面に異物が存在していないと判定する演算処理装置とを備えている。前記異物有無判定装置が、異物が存在していると判定した場合は、警報を発する(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009―255241号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の自動ねじ締付機に適用できるねじの締付座面の異物有無判定装置は、自動ねじ締付け装置の角度情報とトルク信号に基づいて異常判別するため、ねじ締付け装置から角度情報やトルク情報を出力しない低コストのねじ締付け装置を用いることができず、自動ねじ締付機のコストが高くなる問題があった。
【0005】
また、ロボットを用いた自動組立の分野においては、1台のロボットで複数工程を行うセル生産ロボットの研究開発が進められている。セル生産ロボットが組立対象とする電機製品などでは1つの組立対象物に複数種類のねじ締め工程が必要な製品が多くあり、ねじ締めドライバをロボットが持ち替えあるいは付け替えながら組立作業を進めていく。それぞれのねじ締め工程でのねじ締め異常検知を従来の異物有無判定装置を用いておこなうには、ロボットが持ち替えあるいは付け替えて使用するねじ締めドライバすべてに対して角度情報およびトルク情報を計測し、出力する機能を備える必要がある。そのため、ねじ締め装置を含めたセル生産ロボットシステム全体のコストが非常に高くなる問題があった。
【0006】
また、従来の異物有無判定装置では、判別できるねじ締め異常が、座面の異物の有無など特定の異常要因に限定されている。そのため特定の要因以外の原因で発生する異常については検知できない問題があった。
【0007】
この発明は、このような問題を解決するためになされたもので、高機能なねじ締めロボットシステムを低コストで構築することができるロボットのねじ締め作業異常検知方法を得ることを目的とする。
【課題を解決するための手段】
【0008】
この発明に係るロボットのねじ締め作業異常検知方法は、ロボットの先端部に力覚センサおよびねじ締めドライバを備え、前記力覚センサが前記先端部に作用する力を測定するねじ締めロボットシステムにおいて、ねじ締め異常判定手段により、前記力覚センサの出力に基づいてねじ締め作業の正常または異常の判定を行うステップを有するロボットのねじ締め作業異常検知方法である。
【発明の効果】
【0009】
この発明によれば、高機能なねじ締めロボットシステムを低コストで構築することができるロボットのねじ締め作業異常検知方法を得ることができる。
【図面の簡単な説明】
【0010】
【図1】この発明の実施の形態1に係るねじ締めロボットシステムの概略図である。
【図2】この発明の実施の形態1に係るねじ締めロボットシステムの制御システムの構成を示すブロック図である。
【図3】この発明の実施の形態1に係るロボット制御装置の内部構成およびねじ締め異常判定手段への信号の流れを示す説明図である。
【図4】この発明の実施の形態1に係る異常判定方法を説明するための図である。
【図5】この発明の実施の形態2に係るロボット制御装置の内部構成およびねじ締め異常判定手段への信号の流れを示す説明図である。
【図6】この発明の実施の形態3に係る異常判定方法を説明するための図である。
【図7】この発明の実施の形態5に係るロボット制御装置の内部構成およびねじ締め異常判定手段への信号の流れを示す説明図である。
【図8】この発明の実施の形態5に係る異常判定方法を説明するための図である。
【図9】この発明の実施の形態6に係る異常判定方法を説明するための図である。
【図10】この発明の実施の形態7に係る異常判定のフローチャートである。
【図11】この発明の実施の形態7に係るねじ挿入方向反力とねじ挿入方向変位との関係を示す図である。
【図12】この発明の実施の形態7に係る特徴量空間の例を示す図である。
【発明を実施するための形態】
【0011】
実施の形態1.
図1に、ねじ締めロボットシステム1の概略図を示す。ロボット2は先端近辺(先端部)に力覚センサ3を備える。ロボット2は、図1のような垂直多関節ロボットだけでなく、スカラロボットや全て直動軸(直線上を動作する軸)で構成される直交ロボットでもよい。力覚センサ3はロボット2の手先先端方向の軸方向に作用する力と手先先端方向の軸周りのモーメントが測定できるセンサとする。ロボット2は、力覚センサ3よりも先端側にねじ締めドライバ4を備える。ねじ締めドライバ4は、ロボット2の先端に常時備え付けられていてもよいし、ねじ締めドライバ4よりもロボット2の本体側に開閉ハンドもしくはツールチェンジャーを備え、ねじ締め作業を行う場合のみ、ねじ締めドライバ4を把持もしくは取り付ける構成としてもよい。さらに、ねじ締めロボットシステム1はねじ締め作業のみ行ってもよいし、搬送や組み付けなどの他の作業を行ってもよい。
【0012】
ねじ締めロボットシステム1の制御システムの構成を図2に示す。ロボット制御装置5は、ロボット制御装置5に書き込まれているロボットプログラムを逐次解釈し、ロボット2の本体及び周辺装置への指令を生成する。周辺装置としては、図2に記載のねじ締めドライバ4、ねじ供給機、システム内のエアーもしくはモータで駆動する駆動軸、ビジョンセンサ(ねじ締めドライバ4以外は図示せず)などがある。ロボット制御装置5は、こうした周辺装置に対しては、動作開始などの命令を送信するとともに、ロボット2の本体に対しては時々刻々のロボット2の目標位置指令を生成し、生成した目標位置指令に追従させるようロボット2の各軸を動作させるモータ2aを制御するとともに、モータ2aの角度をエンコーダもしくはレゾルバといった変位測定手段(図示せず)で測定し、測定したロボットの各軸のモータ変位を受け取る。またロボット制御装置5は、ロボット2に取り付けた力覚センサ3の測定値も受け取り、力覚センサ3の出力を用いた制御をおこなうと共に、後述するこの実施の形態での異常検知に活用する。さらにロボット制御装置5は、ねじ締め装置であるねじ締めドライバ4に対して、ねじ締め開始命令を送信する。ねじ締め終了は、ねじ締めドライバ4内部で判定し、判定結果をロボット制御装置5へ送信してもよいし、ロボット制御装置5の内部で力覚センサ3の情報などに基づいて判断し、ねじ締め終了命令をロボット制御装置5からねじ締めドライバ4へ送信してもよい。
【0013】
この実施の形態では、図3に示すように、ロボット制御装置5の内部にねじ締め作業の異常の有無とねじ締め作業に異常が発生した場合の異常の種類を判定するねじ締め異常判定手段6を備える。同図には、ねじ締め異常判定手段6への信号の流れを矢印で示している。ロボット動作計画手段7は、ロボットプログラムを逐次解釈し、ロボット2の本体に時々刻々の位置指令を生成し、各軸位置指令を生成し、各軸制御手段8に送付する。各軸制御手段8では、各軸の位置指令に追従するようにロボット2の各軸のモータ2aを制御する。その際、ロボット2の本体からは各軸の変位がフィードバックされる。各軸制御手段8が受信したロボット2の各軸の変位は手先位置算出手段9に送付され、時々刻々のロボット2の手先の現在位置が算出される。ロボット動作計画手段7、各軸制御手段8、および手先位置算出手段9は、通常、ロボット制御装置5が備えるものである。
【0014】
次に、ロボットプログラムにねじ締め作業に関する命令が記載されていると、ロボット動作計画手段7は、プログラムの該当箇所の処理を行う時点でプログラムに記載されたねじ締め用の動作をロボット2の本体に指令する(ねじ締め動作を行うためのロボット動作の時々刻々の位置指令を生成する)とともに、ねじ締めドライバ4にねじ締め動作開始指令を送信する。さらに、ねじ締め異常判定手段6にねじ締め動作を開始したことを送信する。ロボット動作計画手段7は、ねじ締め異常判定手段6から、ねじ締め異常情報を受信するか、ロボットプログラムで指定されている条件が成立した時点(例えば、ロボット2に与える指令が指定された地点に到達したとき、例えば、ロボット2に与える指令が指定された地点に到達し、さらに指定された時間経過したときなど)で、ねじ締めドライバ4に停止指令を送信する。
【0015】
ねじ締め異常判定手段6では、ロボット動作計画手段7からねじ締め動作開始信号を受信すると、ねじ締め異常判定のための処理(ステップ)を開始する。処理周期ごとに手先位置算出手段9で算出したロボット2の手先位置(ねじ締めドライバの位置)と、力覚センサ3から送信される力覚センサ測定値とをねじ締め異常判定手段6へ入力する。ねじ締め方向の力とねじ締め方向の軸周りのモーメントを常時チェックし、ねじ締め方向の力とねじ締め方向の軸周りのモーメントの少なくとも1つが予め定められた閾値以上であるかどうかを判別する。また、ロボット2の現在の手先位置と、ねじ締め作業開始時の手先位置から、ねじ挿入方向変位を算出する。ねじ締め方向の力とねじ締め方向の軸周りのモーメントのいずれもが閾値以下の場合は、その処理周期では正常と判定する。
【0016】
少なくともどちらかが閾値以上となった場合は、判定したときのねじ挿入方向変位から、図4に示すエリア1、2、3のどこで閾値以上となったかを判別する。エリア1で閾値以上となった場合は、位置ずれエラー(ねじ穴が、ロボット2を教示したときの位置からずれている)が発生したと判定し、ロボット動作計画手段7に位置ずれエラー発生を通知する。エリア2で閾値以上となった場合は、ねじつまり(ねじ締め途中でねじが斜めになっている、あるいはねじ穴にゴミが詰まっているなどの原因により、途中でねじが進まなくなる)が発生したと判定し、ロボット動作計画手段7にねじつまりエラー発生を通知する。エリア3で閾値以上となった場合は、ねじ締め作業が正常に終了したと判定し、ねじ締め作業正常終了をロボット動作計画手段7に通知する。ロボットプログラムで規定された条件が成立するまでに、ねじ締め異常判定手段6から位置ずれエラー、ねじつまりエラー、正常終了のいずれの通知もない場合、ロボット動作計画手段7は、ねじ締めドライバ4とねじ締め異常判定手段6の両者にねじ締め作業終了信号を送信する。ねじ締め異常判定手段6は、ねじ締め作業終了信号を受信した時点でもねじ締め方向の力とねじ締め方向の軸周りのモーメントのいずれもが閾値以下の場合は、ねじなしエラーをロボット動作計画手段7に通知する。
【0017】
ロボット動作計画手段7は、ねじ締め異常判定手段6から正常終了通知を受け取った場合は特別な作用はなにもせず、ロボットプログラムにねじ締め作業の次に記載されている処理(ステップ)を行う。ねじ締め異常判定手段6から、位置ずれエラー、ねじつまりエラー、ねじなしエラーのいずれかの通知を受け取った場合は、自動で、受信したエラーの種類に応じた復旧方法を選択して実行する処理(ステップ)を行う。
【0018】
位置ずれエラーを受信した場合は、ねじ締めロボットシステム1の内部のねじ穴を認識できるビジョンセンサでねじ穴を認識し、ロボットの目標位置を認識結果に応じて修正してから、再度、ねじ締め作業を実施する。もし、ねじ締めロボットシステム1の内部にねじ穴を認識できるビジョンセンサがないときは、位置ずれエラーが発生したことをロボット制御装置5に接続されている表示器(図示せず)に表示し、ロボット2を停止させる。また、ねじつまりエラーを受信した場合は、ねじ締めドライバを逆方向に回転させながらロボットを上方に予め指定している位置まで退避させ、再度、ねじ締め作業を実施する。また、ねじなしエラーを受信した場合は、ねじ供給機へロボット2の手先を移動させ、再度ねじを吸着する動作を実施してから、ねじ締め位置へロボット2を戻してねじ締め作業を再度、実施する。
【0019】
なお、上記の説明では、手先位置算出手段9が、ロボット2の各軸の変位から算出したロボット2の手先位置に基づいてねじ締め異常判定処理をおこなう場合を示したが、例えば、ロボット2の各関節の現在位置、ロボット2の各関節軸の位置指令、ロボット2の現在の先端位置姿勢などのロボット2の現在位置情報のいずれか、または複数に基づいてねじ締め異常判定処理をおこなってもよい。
【0020】
以上より、この発明の実施の形態1では、力覚センサ3と、力覚センサ3よりも先端側にねじ締めドライバ4を把持もしくは取り付けたロボット2でねじ締め作業を行う際、ねじ締め作業中の力覚センサ3の出力データとロボット2の現在位置情報(ロボット2の各関節の現在位置、ロボット2の各関節軸の位置指令、ロボット2の現在の先端位置姿勢のいずれか、または複数)を逐次読み込み、読み込んだ力覚センサ3の出力の値とロボット2の現在位置情報とに基づいて、実行中のねじ締め作業が正常であるか異常であるか、異常の場合はどの異常かを判別する(異常の種類を判別する)ねじ締め異常判定手段6を備えている。
【0021】
このねじ締め異常判定手段6は、力覚センサ3とこの力覚センサ3よりも先端側にねじ締めドライバ4を把持もしくは取り付けたロボット2でねじ締め作業を行う際、ねじ締め作業中の力覚センサ3のデータを逐次読み込み、読み込んだ力覚センサ3の出力の値に基づいて、実行中のねじ締め作業の正常、異常を判定する。また、この実施の形態のねじ締め異常判定手段6は、ねじ締め時の挿入量とねじ締め時の測定力、モーメントに基づいて判定するねじ締め異常判定手段であり、ねじ締め時の挿入量毎に領域を分けて、領域に応じて異常の種類を判別するねじ締め異常判定手段である。
【0022】
また、ねじ締め異常判定手段6は、力覚センサ3の出力とねじ締めドライバの位置情報とからねじ締め挿入量を算出するステップと、このねじ締め時の挿入量とねじ締め時の力覚センサ3の出力(力およびモーメント)に基づいてねじ締めの異常を判定するステップを有するロボットのねじ締め作業異常検知方法を実行している。また、ねじ締め異常判定手段6は、ねじ締め時の挿入量毎に領域分けをするステップを経て、領域に応じて異常の種類を判別するステップを有するロボットのねじ締め作業異常検知方法を実行している。
【0023】
このように、ロボット2の先端部に力覚センサ3およびねじ締めドライバ4を備え、前記力覚センサ3が前記先端部に作用する力を測定するねじ締めロボットシステム1において、ねじ締め異常判定手段6により、力覚センサ3の出力に基づいてねじ締め作業の正常はたは異常を判定するステップを有するロボットのねじ締め作業異常検知方法を実行することで、ねじ締めドライバ4にトルクセンサなどの高価なセンサを設ける必要なくなり、ねじ締めドライバ4は単にねじ締め作業が行えるだけの安価なドライバでよくなり、ねじ締めロボットシステム1の全体のコストを低減できる。特に、組立対象物を組み立てるために複数種類のねじを締める必要がある場合、ねじの種類に応じて複数のねじ締めドライバを持ち替えて(付け替えて)作業を行う必要があるため、ねじ締めドライバ4も複数必要となるので、コスト削減効果が大きい。
【0024】
また、ねじ締め作業の正常、異常の判定だけでなく、異常の種類まで判定できるため、異常の種類に応じた復旧動作や報知を行うことができるという格別な効果がある。
【0025】
実施の形態2.
この実施の形態2では、実施の形態1とねじ締めロボットシステム1の制御システムの構成が異なる。具体的には、実施の形態1では、ねじ締め異常判定手段6をロボット制御装置5の内部に備えていたが、実施の形態2では、図5に示すように、ねじ締め異常判定手段6をロボット制御装置5とは異なる異常判定装置10内部に設けている。異常判定装置10は、例えば、ねじ締め異常判定のために専用に設けるパソコンでもよいし、ねじ締めロボットシステム1全体を制御するシーケンサの内部に設けてもよい。なお、これ以外は実施の形態1と同様であるので説明を省略する。
【0026】
実施の形態3.
この実施の形態3では、実施の形態1とねじ締め異常判定手段6でのねじ締め作業異常検知方法が異なる。それ以外は実施の形態1と同様であるので、ここでは、ねじ締め異常判定手段6での作業異常検知方法(判定方法)についてのみ説明する。
【0027】
ねじ締め異常判定手段6では、まず、正常なねじ締め時のねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係式を記憶しておく。ねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係式は陽に表現される数式でもよいし、ねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係のテーブルをもち、テーブルの間の値については直線近似で求めてもよい。記憶してある正常なねじ締め時のねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係式に正の値を加算したものを上側閾値、負の値を加算したものを下側閾値とし、力およびモーメントのそれぞれが上側閾値以上となるか、下側閾値以下となるかを判別する。
【0028】
この実施の形態では、図6に示すように、エリア1で上側閾値を超えた(上側閾値以上となった)場合は、位置ずれエラー発生と判定する。エリア2で上側閾値を超えた場合は、ねじつまりエラー発生と判定する。エリア3で上側閾値を超えた場合は、正常終了と判定する。エリア1、2、3のいずれかで下側閾値を超えた場合(下側閾値以下となった場合)はねじなしエラー発生と判定する。さらに、エリア3で、上側閾値以下で下側閾値以上のままロボット動作計画手段7からねじ締め動作終了信号を受信した場合は、正常終了と判定する。
【0029】
この実施の形態のねじ締め異常判定手段6は、ねじ締め時の挿入量とねじ締め時の測定力、モーメントに基づいて判定するねじ締め異常判別手段であり、ねじ締め時の挿入量毎に領域を分けて、領域に応じて異常の種類を判別するねじ締め異常判別手段であり、ねじ締め時の作用力、作用モーメントの推定値算出機能を備え、算出した推定値に基づいて異常判別を行うねじ締め異常判定手段である。
【0030】
また、ねじ締め異常判定手段6は、ねじ締め時の挿入量とねじ締め時の力覚センサ3の出力(力およびモーメント)に基づいてねじ締め異常を判定するステップを有するロボットのねじ締め作業異常検知方法を実行している。また、ねじ締め異常判定手段6は、ねじ締め時の挿入量毎に領域を分けるステップを経て、領域に応じて異常の種類を判別するステップを有するロボットのねじ締め作業異常検知方法を実行している。さらに、ねじ締め異常判定手段6は、ねじ締め時の作用力および作用モーメントの推定値を算出するステップを経て、この算出した推定値に基づいて異常判定を行うステップを有するロボットのねじ締め作業異常検知方法を実行している。
【0031】
実施の形態4.
この実施の形態4では、実施の形態1とねじ締めエラー判定後の作用、動作が異なる。実施の形態4では、ロボット動作計画手段7は、ねじ締め異常判定手段6から正常終了通知を受け取った場合には特別な作用はなにもせず、ロボットプログラムに記載されている次の処理を行う。ねじ締め異常判定手段6から、位置ずれエラー、ねじつまりエラー、ねじなしエラーのいずれかの通知を受け取った場合は、ロボットを停止させる。さらに受信したエラーの種類を、ロボット制御装置5に接続されている表示器(図示せず)に表示する。
【0032】
実施の形態5.
この実施の形態5では、実施の形態1とねじ締め異常判定手段6への信号の流れと、ねじ締め異常判定手段6内部での処理が異なる。実施の形態5のねじ締め異常判定手段6への信号の流れを、図7に示す。
【0033】
実施の形態5では、ねじ締め異常判定手段6において手先位置算出手段9の出力を使用しない。ねじ締め異常判定手段6内部では、図8に示す通り、ねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが、ねじ締め開始からどれだけたってから予め定められた閾値を超えるかで正常、異常の判定するステップと、異常時のエラー種類の判別を行うステップを実行する。
【0034】
ねじ締め開始からの経過時間がエリア1の範囲でねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが閾値を超えた場合は、位置ずれエラー発生と判定する。ねじ締め開始からの経過時間がエリア2の範囲でねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが閾値を超えた場合は、ねじつまり発生と判定する。ねじ締め開始からの経過時間がエリア3の範囲でねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが閾値を超えた場合は、正常終了と判定する。エリア4に至るまでにねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが閾値を越えなかった場合は、ねじなし異常発生と判定する。なお、ロボット動作計画手段7の作用は実施の形態1と同様なので説明は省略する。
【0035】
この実施の形態のねじ締め異常判定手段6は、ねじ締め開始からの経過時間とねじ締め時の測定力、モーメントに基づいて判別するねじ締め異常判別手段であり、ねじ締め開始からの経過時間毎に領域を分けて、領域に応じて異常の種類を判別するねじ締め異常判別手段である。
【0036】
また、ねじ締め異常判定手段6は、ねじ締め開始からの経過時間とねじ締め時の力覚センサの出力(力およびモーメント)に基づいてねじ締め異常を判定するステップを有するロボットのねじ締め作業異常検知方法を実行している。また、ねじ締め異常判定手段6は、ねじ締め開始からの経過時間毎に領域を分けるステップを経て、領域に応じて異常の種類を判別するステップを有するロボットのねじ締め作業異常検知方法を実行している。
【0037】
実施の形態6.
この実施の形態6では、実施の形態3とねじ締め異常判定手段6内部の判定方法とロボット動作計画手段7の作用が異なる。それ以外は、実施の形態3と同様なので説明を省略する。
【0038】
実施の形態6のねじ締め異常判定手段6では、正常なねじ締め時のねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係を記憶しておく。ねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係は、陽に表現される数式でもよいし、ねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係のテーブルをもち、テーブルの間の値については直線近似で求めてもよい。記憶してある正常なねじ締め時のねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係に正の値を加算したものを上側閾値、負の値を加算したものを下側閾値とし、力およびモーメントのそれぞれが上側閾値以上となるか、下側閾値以下となるかを判別する。
【0039】
図9に示すように、エリア1で上側閾値を超えた(上側閾値以上となった)場合は、エラー発生と判定する。エリア2で上側閾値を超えた場合は、正常終了と判定する。エリア1、2のいずれかで下側閾値を超えた場合(下側閾値以下となった場合)はエラー発生と判定する。さらに、エリア2で、上側閾値以下で下側閾値以上のままロボット動作計画手段7からねじ締め動作終了信号を受信した場合は、正常終了と判定する。この実施の形態では正常、異常の判定のみを行い、異常(エラー)の種類までは判別を行わない。したがってロボット動作計画手段7には正常終了か異常(エラー)発生のいずれかを通知する。
【0040】
ロボット動作計画手段7では、ねじ締め異常判定手段6から正常終了通知を受け取った場合は特別な作用はなにもせず、ロボットプログラムにねじ締め作業の次に記載されている処理を行う。ねじ締め異常判定手段6からエラー発生通知を受け取った場合は、ロボット2を停止させる。さらに、ねじ締めエラーが発生したことを、ロボット制御装置5に接続されている表示器(図示せず)に表示する。
【0041】
実施の形態7.
この実施の形態7では、実施の形態1とねじ締め異常判定手段6でのねじ締め作業異常検知方法が異なる。それ以外は実施の形態1と同様であるので、ここでは、ねじ締め異常判定手段6での作業異常検知方法(判定方法)についてのみ説明する。
【0042】
図10に示すように、ねじ締め異常判定手段6は、ロボット動作計画手段7からねじ締め異常判定手段6へねじ締め作業開始信号が入力されると(ステップS101)、力覚センサ3の出力データとロボット2の手先位置を処理周期毎に記憶する動作を開始する(データログの採取を開始する)ステップS102を実行する。ロボット動作計画手段7からねじ締め異常判定手段6へねじ締め作業終了信号が入力されると(ステップS103)、力覚センサ3の出力データとロボット2の手先位置とを処理周期毎に記憶していく処理を終了させる(データログの採取を終了させる)ステップS104を実行し、記憶した力覚センサ3の出力データとロボット2の手先位置データを一括で読み込むステップS105を実行する。次に読み込んだデータから挿入状態判別特徴量(力覚センサ3の出力データに基づく挿入状態判別特徴量、以下では特徴量と記載)を算出するステップS106を実行する。なお、物理的な記憶は、ねじ締め異常判定手段6内に行っても、別途設けたメモリなどの外部記憶装置を用いてもよい。
【0043】
この実施の形態では、特徴量として、挿入推定量L1、挿入推定量L2、最大挿入反力Fm、挿入反力の傾きα、挿入時間tの5つの特徴量を算出するステップを実行する。挿入推定量L1は、ねじ締め方向の軸周りのモーメントの変化率が0を横切る回数であるゼロクロス回数をNz、ねじのピッチをLpとすると、
L1=Nz×Lp/2
で、算出される値である。なお、上記の説明では、挿入推定量L1は、ねじ締め方向の軸周りのモーメントの変化率が0を横切る回数であるゼロクロス回数をNzとしたが、ねじ締め方向の軸周りのモーメントが0を横切る回数であるゼロクロス回数をNzとしてもよい。
【0044】
挿入推定量L2は、ねじ締め開始時の手先位置をZ0、ねじ締め終了時の手先位置をZeとし、
L2=|Z0―Ze|
で、算出される値である。ここで、| |は絶対値を示している。ここで、ねじ締め開始の手先位置はモーメントの変化率が大きくなった最初の時点でもよいし、ねじ締め方向の力が大きくなり始めた時点でもよい。また、ねじ締め終了時の手先位置はモーメントの変化率が充分に小さくなった時点でもよいし、ねじ締め方向の力が充分に小さくなった時点でもよい。
【0045】
最大挿入反力Fm、挿入反力の傾きα(ねじ締め挿入方向変位とねじ締め方向の反力を直線近似した場合の直線の傾き)は、図11に示す値を用いればよく、挿入反力の傾きαは、
α=Fm/Lm
により算出できる。ここでLmは、ねじ締め挿入方向変位とねじ締め方向の反力を直線近似した場合の直線において、ねじ締め方向の反力が0からFmまで変化したときのねじ挿入方向変位の変化分である。
【0046】
挿入時間tは、ねじ締め作業開始の手先位置からねじ締め作業終了の手先位置まで、手先が移動するのにかかった時間である。
【0047】
これらの特徴量の全部または一部を特徴量空間でマッピングし、特徴量空間のどのエリアに属するかで、ねじ締め作業が正常であるか、どの異常であるかを判別するステップS107を実行する。特徴量空間の例を図12に示す。特徴量空間のどこが正常で、どこがどのエラーの領域になるかは、予め試行実験を行っておき、サポートベクターマシンなどで獲得しておく。判別した結果(正常終了、位置ずれエラー、ねじつまりエラー、ねじなしエラー)はロボット動作計画手段7に出力される(ステップS108)。
【0048】
なお、以上の説明では、ロボット2の手先位置を処理周期毎に記憶して特徴量の算出に用いたが、ロボット2の現在位置情報である、ロボット2の各関節の現在位置、ロボット2の各関節軸の位置指令およびロボット2の現在の先端位置姿勢のいずれか、または複数を、ロボット2の手先位置に関するデータとして記憶し、特徴量の算出に用いてもよい。
【0049】
以上より、この発明の実施の形態7では、力覚センサ3と、力覚センサ3よりも先端側にねじ締めドライバ4を把持もしくは取り付けたロボット2でねじ締め作業を行う際、ねじ締め作業中の力覚センサ3の出力データとロボット2の現在位置情報(例えば、ロボット2の各関節の現在位置、ロボット2の各関節軸の位置指令およびロボット2の現在の先端位置姿勢のいずれか)を記憶しておき、記憶していた力覚センサデータとロボットの現在位置情報に基づいて特徴量を算出し、この算出した特徴量に基づいて、ねじ締め作業の正常、異常の判定と、異常の場合はどの異常かを判別する(異常の種類を判別する)ねじ締め異常判定手段6を備える。
【0050】
また、このねじ締め異常判定手段6は、力覚センサ3と、力覚センサ3よりも先端側にねじ締めドライバ4を把持もしくは取り付けたロボット2でねじ締め作業を行う際、ねじ締め作業中の力覚センサ3の出力データとロボット2の現在位置情報(例えば、ロボット2の各関節の現在位置、ロボット2の各関節軸の位置指令およびロボット2の現在の先端位置姿勢のいずれか)を記憶するステップ、記憶していた力覚センサデータとロボットの現在位置情報に基づいて特徴量を算出するステップ、この算出した特徴量に基づいて、ねじ締め作業の正常、異常の判定と、異常の場合はどの異常かを判別する(異常の種類を判別する)ステップを有するロボットのねじ締め作業異常検知方法を実行している。
【0051】
このように、ロボット2の先端部に力覚センサ3およびねじ締めドライバ4を備えたねじ締めロボットシステム1において、実施の形態7のロボットのねじ締め作業異常検知方法を実行することで、ねじ締め作業中に記憶しておいたデータに基づいて特徴量を算出し、算出した特徴量に基づいて正常、異常の判定を行うため、力覚センサからの時系列データからは直接判別しにくい場合も判定も行えるとい格別な効果がある。
【符号の説明】
【0052】
1 ねじ締めロボットシステム、2 ロボット、2a モータ、3 力覚センサ、4 ねじ締めドライバ、5 ロボット制御装置、6 ねじ締め異常判定手段、7 ロボット動作計画手段、8 各軸制御手段、9 手先位置算出手段、10 異常判定装置。
【特許請求の範囲】
【請求項1】
ロボットの先端部に力覚センサおよびねじ締めドライバを備え、前記力覚センサが前記ロボットの先端部に作用する力を測定するねじ締めロボットシステムにおいて、
ねじ締め異常判定手段により、前記力覚センサの出力に基づいてねじ締め作業の正常または異常の判定を行うステップを有するロボットのねじ締め作業異常検知方法。
【請求項2】
力覚センサの出力とねじ締めドライバの位置情報とからねじ締め挿入量を算出するステップを有し、ねじ締め異常判定手段により、前記挿入量と前記力覚センサの出力とに基づいてねじ締め作業の正常または異常の判定を行うステップを有することを特徴とする請求項1記載のロボットのねじ締め作業異常検知方法。
【請求項3】
異常の判定を行った場合に、ねじ締め異常判定手段により異常の種類の判別を行うステップを有することを特徴とする請求項1記載のロボットのねじ締め作業異常検知方法。
【請求項4】
ねじ締め異常判定手段が判別した異常の種類に応じて、ロボット動作計画手段にて復旧方法を自動で選択して実行するステップを有することを特徴とする請求項3記載のロボットのねじ締め作業異常検知方法。
【請求項1】
ロボットの先端部に力覚センサおよびねじ締めドライバを備え、前記力覚センサが前記ロボットの先端部に作用する力を測定するねじ締めロボットシステムにおいて、
ねじ締め異常判定手段により、前記力覚センサの出力に基づいてねじ締め作業の正常または異常の判定を行うステップを有するロボットのねじ締め作業異常検知方法。
【請求項2】
力覚センサの出力とねじ締めドライバの位置情報とからねじ締め挿入量を算出するステップを有し、ねじ締め異常判定手段により、前記挿入量と前記力覚センサの出力とに基づいてねじ締め作業の正常または異常の判定を行うステップを有することを特徴とする請求項1記載のロボットのねじ締め作業異常検知方法。
【請求項3】
異常の判定を行った場合に、ねじ締め異常判定手段により異常の種類の判別を行うステップを有することを特徴とする請求項1記載のロボットのねじ締め作業異常検知方法。
【請求項4】
ねじ締め異常判定手段が判別した異常の種類に応じて、ロボット動作計画手段にて復旧方法を自動で選択して実行するステップを有することを特徴とする請求項3記載のロボットのねじ締め作業異常検知方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−171071(P2012−171071A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−37520(P2011−37520)
【出願日】平成23年2月23日(2011.2.23)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成22年度独立行政法人新エネルギー・産業技術総合開発機構「戦略的先端ロボット要素技術開発プロジェクト、柔軟物も取扱える生産用ロボットシステム(次世代産業用ロボット分野)、FA機器組立ロボットシステムの研究開発」委託研究、産業技術力強化法19条の適用を受ける特許出願)
【出願人】(000236920)富山県 (197)
【出願人】(000006013)三菱電機株式会社 (33,312)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願日】平成23年2月23日(2011.2.23)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成22年度独立行政法人新エネルギー・産業技術総合開発機構「戦略的先端ロボット要素技術開発プロジェクト、柔軟物も取扱える生産用ロボットシステム(次世代産業用ロボット分野)、FA機器組立ロボットシステムの研究開発」委託研究、産業技術力強化法19条の適用を受ける特許出願)
【出願人】(000236920)富山県 (197)
【出願人】(000006013)三菱電機株式会社 (33,312)
[ Back to top ]