(57)【特許請求の範囲】
【請求項１】
ロボットの先端部に力覚センサおよびねじ締めドライバを備え、前記力覚センサが前記ロボットの先端部に作用する力を測定するねじ締めロボットシステムにおいて、
ねじ締め異常判定手段として、
前記ロボットの各軸の変位から算出したロボット手先位置を算出する手先位置算出ステップと、
前記力覚センサの出力データと前記ロボットのロボット手先位置データとを処理周期毎に記憶し、記憶した前記力覚センサの出力データと前記ロボット手先位置データとから挿入状態判別特徴量を算出するステップと、
前記挿入状態判別特徴量を特徴量空間にマッピングしたときに、前記挿入状態判別特徴量が前記特徴量空間のどのエリアに属するかで、ねじ締め作業が正常であるか、またはどの異常であるかを判別するステップと、
を有するロボットのねじ締め作業異常検知方法。
【請求項２】
前記挿入状態判別特徴量を算出するステップは、
ねじ締め方向の軸周りのモーメントの変化率が０を横切るゼロクロス回数およびねじのピッチから算出される第１挿入推定量と、
前記ロボット手先位置データに基づいて算出されるねじ締め開始位置およびねじ締め終了位置から算出される第２挿入推定量と、
前記力覚センサの出力データから算出される最大挿入反力と、
ねじ締め挿入方向変位とねじ締め方向の反力とを直線近似した場合の直線の傾きから求められる挿入反力の傾きと、
ねじ締め作業開始の手先位置からねじ締め作業終了の手先位置まで、手先が移動するのにかかった時間と、
を前記挿入状態判別特徴量として算出し、前記挿入状態判別特徴量を前記特徴量空間でマッピングした領域における正常領域とエラー領域とを、予め試行を行って定義するステップを有する
請求項１記載のロボットのねじ締め作業異常検知方法。
【請求項３】
前記ねじ締め作業が正常であるか、またはどの異常であるかを判別するステップが判別した異常の種類に応じて、ロボット動作計画手段にて復旧方法を自動で選択して実行するステップを有する請求項１または２記載のロボットのねじ締め作業異常検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、自動組立システムの異常検知、特にねじ締め作業の異常検知に関する。
【背景技術】
【０００２】
従来の自動ねじ締付機に適用できるねじの締付座面の異物有無判定装置は、ナットランナー（ねじ締めドライバ）の回転トルクを検出するトルク検出部と、モータ回転角を検出する回転角検出部と、トルク検出部および回転角検出部のそれぞれの検出値に基づき締付回転角度に対する締付トルクの傾き波形を演算処理し、さらに、近似曲線の関数の２階微分値の波形を演算処理し、２階微分値の波形に変曲点が存在する場合には、ねじの締付座面に異物が存在していると判定し、２階微分値の波形に変曲点が存在しない場合には、ねじの締付座面に異物が存在していないと判定する演算処理装置とを備えている。前記異物有無判定装置が、異物が存在していると判定した場合は、警報を発する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９―２５５２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の自動ねじ締付機に適用できるねじの締付座面の異物有無判定装置は、自動ねじ締付け装置の角度情報とトルク信号に基づいて異常判別するため、ねじ締付け装置から角度情報やトルク情報を出力しない低コストのねじ締付け装置を用いることができず、自動ねじ締付機のコストが高くなる問題があった。
【０００５】
また、ロボットを用いた自動組立の分野においては、１台のロボットで複数工程を行うセル生産ロボットの研究開発が進められている。セル生産ロボットが組立対象とする電機製品などでは１つの組立対象物に複数種類のねじ締め工程が必要な製品が多くあり、ねじ締めドライバをロボットが持ち替えあるいは付け替えながら組立作業を進めていく。それぞれのねじ締め工程でのねじ締め異常検知を従来の異物有無判定装置を用いておこなうには、ロボットが持ち替えあるいは付け替えて使用するねじ締めドライバすべてに対して角度情報およびトルク情報を計測し、出力する機能を備える必要がある。そのため、ねじ締め装置を含めたセル生産ロボットシステム全体のコストが非常に高くなる問題があった。
【０００６】
また、従来の異物有無判定装置では、判別できるねじ締め異常が、座面の異物の有無など特定の異常要因に限定されている。そのため特定の要因以外の原因で発生する異常については検知できない問題があった。
【０００７】
この発明は、このような問題を解決するためになされたもので、高機能なねじ締めロボットシステムを低コストで構築することができるロボットのねじ締め作業異常検知方法を得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係るロボットのねじ締め作業異常検知方法は、ロボットの先端部に力覚センサおよびねじ締めドライバを備え、前記力覚センサが前記先端部に作用する力を測定するねじ締めロボットシステムにおいて、ねじ締め異常判定手段として、前記ロボットの各軸の変位から算出したロボット手先位置を算出する手先位置算出ステップと、前記力覚センサの出力データと前記ロボットのロボット手先位置データとを処理周期毎に記憶し、記憶した前記力覚センサの出力データと前記ロボット手先位置データとから挿入状態判別特徴量を算出するステップと、前記挿入状態判別特徴量を特徴量空間にマッピングしたときに、前記挿入状態判別特徴量が前記特徴量空間のどのエリアに属するかで、ねじ締め作業が正常であるか、またはどの異常であるかを判別するステップとを有するロボットのねじ締め作業異常検知方法である。
【発明の効果】
【０００９】
この発明によれば、高機能なねじ締めロボットシステムを低コストで構築することができるロボットのねじ締め作業異常検知方法を得ることができる。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１に係るねじ締めロボットシステムの概略図である。
【図２】この発明の実施の形態１に係るねじ締めロボットシステムの制御システムの構成を示すブロック図である。
【図３】この発明の実施の形態１に係るロボット制御装置の内部構成およびねじ締め異常判定手段への信号の流れを示す説明図である。
【図４】この発明の実施の形態１に係る異常判定方法を説明するための図である。
【図５】この発明の実施の形態２に係るロボット制御装置の内部構成およびねじ締め異常判定手段への信号の流れを示す説明図である。
【図６】この発明の実施の形態３に係る異常判定方法を説明するための図である。
【図７】この発明の実施の形態５に係るロボット制御装置の内部構成およびねじ締め異常判定手段への信号の流れを示す説明図である。
【図８】この発明の実施の形態５に係る異常判定方法を説明するための図である。
【図９】この発明の実施の形態６に係る異常判定方法を説明するための図である。
【図１０】この発明の実施の形態７に係る異常判定のフローチャートである。
【図１１】この発明の実施の形態７に係るねじ挿入方向反力とねじ挿入方向変位との関係を示す図である。
【図１２】この発明の実施の形態７に係る特徴量空間の例を示す図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１に、ねじ締めロボットシステム１の概略図を示す。ロボット２は先端近辺（先端部）に力覚センサ３を備える。ロボット２は、図１のような垂直多関節ロボットだけでなく、スカラロボットや全て直動軸（直線上を動作する軸）で構成される直交ロボットでもよい。力覚センサ３はロボット２の手先先端方向の軸方向に作用する力と手先先端方向の軸周りのモーメントが測定できるセンサとする。ロボット２は、力覚センサ３よりも先端側にねじ締めドライバ４を備える。ねじ締めドライバ４は、ロボット２の先端に常時備え付けられていてもよいし、ねじ締めドライバ４よりもロボット２の本体側に開閉ハンドもしくはツールチェンジャーを備え、ねじ締め作業を行う場合のみ、ねじ締めドライバ４を把持もしくは取り付ける構成としてもよい。さらに、ねじ締めロボットシステム１はねじ締め作業のみ行ってもよいし、搬送や組み付けなどの他の作業を行ってもよい。
【００１２】
ねじ締めロボットシステム１の制御システムの構成を図２に示す。ロボット制御装置５は、ロボット制御装置５に書き込まれているロボットプログラムを逐次解釈し、ロボット２の本体及び周辺装置への指令を生成する。周辺装置としては、図２に記載のねじ締めドライバ４、ねじ供給機、システム内のエアーもしくはモータで駆動する駆動軸、ビジョンセンサ（ねじ締めドライバ４以外は図示せず）などがある。ロボット制御装置５は、こうした周辺装置に対しては、動作開始などの命令を送信するとともに、ロボット２の本体に対しては時々刻々のロボット２の目標位置指令を生成し、生成した目標位置指令に追従させるようロボット２の各軸を動作させるモータ２ａを制御するとともに、モータ２ａの角度をエンコーダもしくはレゾルバといった変位測定手段（図示せず）で測定し、測定したロボットの各軸のモータ変位を受け取る。またロボット制御装置５は、ロボット２に取り付けた力覚センサ３の測定値も受け取り、力覚センサ３の出力を用いた制御をおこなうと共に、後述するこの実施の形態での異常検知に活用する。さらにロボット制御装置５は、ねじ締め装置であるねじ締めドライバ４に対して、ねじ締め開始命令を送信する。ねじ締め終了は、ねじ締めドライバ４内部で判定し、判定結果をロボット制御装置５へ送信してもよいし、ロボット制御装置５の内部で力覚センサ３の情報などに基づいて判断し、ねじ締め終了命令をロボット制御装置５からねじ締めドライバ４へ送信してもよい。
【００１３】
この実施の形態では、図３に示すように、ロボット制御装置５の内部にねじ締め作業の異常の有無とねじ締め作業に異常が発生した場合の異常の種類を判定するねじ締め異常判定手段６を備える。同図には、ねじ締め異常判定手段６への信号の流れを矢印で示している。ロボット動作計画手段７は、ロボットプログラムを逐次解釈し、ロボット２の本体に時々刻々の位置指令を生成し、各軸位置指令を生成し、各軸制御手段８に送付する。各軸制御手段８では、各軸の位置指令に追従するようにロボット２の各軸のモータ２ａを制御する。その際、ロボット２の本体からは各軸の変位がフィードバックされる。各軸制御手段８が受信したロボット２の各軸の変位は手先位置算出手段９に送付され、時々刻々のロボット２の手先の現在位置が算出される。ロボット動作計画手段７、各軸制御手段８、および手先位置算出手段９は、通常、ロボット制御装置５が備えるものである。
【００１４】
次に、ロボットプログラムにねじ締め作業に関する命令が記載されていると、ロボット動作計画手段７は、プログラムの該当箇所の処理を行う時点でプログラムに記載されたねじ締め用の動作をロボット２の本体に指令する（ねじ締め動作を行うためのロボット動作の時々刻々の位置指令を生成する）とともに、ねじ締めドライバ４にねじ締め動作開始指令を送信する。さらに、ねじ締め異常判定手段６にねじ締め動作を開始したことを送信する。ロボット動作計画手段７は、ねじ締め異常判定手段６から、ねじ締め異常情報を受信するか、ロボットプログラムで指定されている条件が成立した時点（例えば、ロボット２に与える指令が指定された地点に到達したとき、例えば、ロボット２に与える指令が指定された地点に到達し、さらに指定された時間経過したときなど）で、ねじ締めドライバ４に停止指令を送信する。
【００１５】
ねじ締め異常判定手段６では、ロボット動作計画手段７からねじ締め動作開始信号を受信すると、ねじ締め異常判定のための処理（ステップ）を開始する。処理周期ごとに手先位置算出手段９で算出したロボット２の手先位置（ねじ締めドライバの位置）と、力覚センサ３から送信される力覚センサ測定値とをねじ締め異常判定手段６へ入力する。ねじ締め方向の力とねじ締め方向の軸周りのモーメントを常時チェックし、ねじ締め方向の力とねじ締め方向の軸周りのモーメントの少なくとも１つが予め定められた閾値以上であるかどうかを判別する。また、ロボット２の現在の手先位置と、ねじ締め作業開始時の手先位置から、ねじ挿入方向変位を算出する。ねじ締め方向の力とねじ締め方向の軸周りのモーメントのいずれもが閾値以下の場合は、その処理周期では正常と判定する。
【００１６】
少なくともどちらかが閾値以上となった場合は、判定したときのねじ挿入方向変位から、図４に示すエリア１、２、３のどこで閾値以上となったかを判別する。エリア１で閾値以上となった場合は、位置ずれエラー（ねじ穴が、ロボット２を教示したときの位置からずれている）が発生したと判定し、ロボット動作計画手段７に位置ずれエラー発生を通知する。エリア２で閾値以上となった場合は、ねじつまり（ねじ締め途中でねじが斜めになっている、あるいはねじ穴にゴミが詰まっているなどの原因により、途中でねじが進まなくなる）が発生したと判定し、ロボット動作計画手段７にねじつまりエラー発生を通知する。エリア３で閾値以上となった場合は、ねじ締め作業が正常に終了したと判定し、ねじ締め作業正常終了をロボット動作計画手段７に通知する。ロボットプログラムで規定された条件が成立するまでに、ねじ締め異常判定手段６から位置ずれエラー、ねじつまりエラー、正常終了のいずれの通知もない場合、ロボット動作計画手段７は、ねじ締めドライバ４とねじ締め異常判定手段６の両者にねじ締め作業終了信号を送信する。ねじ締め異常判定手段６は、ねじ締め作業終了信号を受信した時点でもねじ締め方向の力とねじ締め方向の軸周りのモーメントのいずれもが閾値以下の場合は、ねじなしエラーをロボット動作計画手段７に通知する。
【００１７】
ロボット動作計画手段７は、ねじ締め異常判定手段６から正常終了通知を受け取った場合は特別な作用はなにもせず、ロボットプログラムにねじ締め作業の次に記載されている処理（ステップ）を行う。ねじ締め異常判定手段６から、位置ずれエラー、ねじつまりエラー、ねじなしエラーのいずれかの通知を受け取った場合は、自動で、受信したエラーの種類に応じた復旧方法を選択して実行する処理（ステップ）を行う。
【００１８】
位置ずれエラーを受信した場合は、ねじ締めロボットシステム１の内部のねじ穴を認識できるビジョンセンサでねじ穴を認識し、ロボットの目標位置を認識結果に応じて修正してから、再度、ねじ締め作業を実施する。もし、ねじ締めロボットシステム１の内部にねじ穴を認識できるビジョンセンサがないときは、位置ずれエラーが発生したことをロボット制御装置５に接続されている表示器（図示せず）に表示し、ロボット２を停止させる。また、ねじつまりエラーを受信した場合は、ねじ締めドライバを逆方向に回転させながらロボットを上方に予め指定している位置まで退避させ、再度、ねじ締め作業を実施する。また、ねじなしエラーを受信した場合は、ねじ供給機へロボット２の手先を移動させ、再度ねじを吸着する動作を実施してから、ねじ締め位置へロボット２を戻してねじ締め作業を再度、実施する。
【００１９】
なお、上記の説明では、手先位置算出手段９が、ロボット２の各軸の変位から算出したロボット２の手先位置に基づいてねじ締め異常判定処理をおこなう場合を示したが、例えば、ロボット２の各関節の現在位置、ロボット２の各関節軸の位置指令、ロボット２の現在の先端位置姿勢などのロボット２の現在位置情報のいずれか、または複数に基づいてねじ締め異常判定処理をおこなってもよい。
【００２０】
以上より、この発明の実施の形態１では、力覚センサ３と、力覚センサ３よりも先端側にねじ締めドライバ４を把持もしくは取り付けたロボット２でねじ締め作業を行う際、ねじ締め作業中の力覚センサ３の出力データとロボット２の現在位置情報（ロボット２の各関節の現在位置、ロボット２の各関節軸の位置指令、ロボット２の現在の先端位置姿勢のいずれか、または複数）を逐次読み込み、読み込んだ力覚センサ３の出力の値とロボット２の現在位置情報とに基づいて、実行中のねじ締め作業が正常であるか異常であるか、異常の場合はどの異常かを判別する（異常の種類を判別する）ねじ締め異常判定手段６を備えている。
【００２１】
このねじ締め異常判定手段６は、力覚センサ３とこの力覚センサ３よりも先端側にねじ締めドライバ４を把持もしくは取り付けたロボット２でねじ締め作業を行う際、ねじ締め作業中の力覚センサ３のデータを逐次読み込み、読み込んだ力覚センサ３の出力の値に基づいて、実行中のねじ締め作業の正常、異常を判定する。また、この実施の形態のねじ締め異常判定手段６は、ねじ締め時の挿入量とねじ締め時の測定力、モーメントに基づいて判定するねじ締め異常判定手段であり、ねじ締め時の挿入量毎に領域を分けて、領域に応じて異常の種類を判別するねじ締め異常判定手段である。
【００２２】
また、ねじ締め異常判定手段６は、力覚センサ３の出力とねじ締めドライバの位置情報とからねじ締め挿入量を算出するステップと、このねじ締め時の挿入量とねじ締め時の力覚センサ３の出力（力およびモーメント）に基づいてねじ締めの異常を判定するステップを有するロボットのねじ締め作業異常検知方法を実行している。また、ねじ締め異常判定手段６は、ねじ締め時の挿入量毎に領域分けをするステップを経て、領域に応じて異常の種類を判別するステップを有するロボットのねじ締め作業異常検知方法を実行している。
【００２３】
このように、ロボット２の先端部に力覚センサ３およびねじ締めドライバ４を備え、前記力覚センサ３が前記先端部に作用する力を測定するねじ締めロボットシステム１において、ねじ締め異常判定手段６により、力覚センサ３の出力に基づいてねじ締め作業の正常はたは異常を判定するステップを有するロボットのねじ締め作業異常検知方法を実行することで、ねじ締めドライバ４にトルクセンサなどの高価なセンサを設ける必要なくなり、ねじ締めドライバ４は単にねじ締め作業が行えるだけの安価なドライバでよくなり、ねじ締めロボットシステム１の全体のコストを低減できる。特に、組立対象物を組み立てるために複数種類のねじを締める必要がある場合、ねじの種類に応じて複数のねじ締めドライバを持ち替えて（付け替えて）作業を行う必要があるため、ねじ締めドライバ４も複数必要となるので、コスト削減効果が大きい。
【００２４】
また、ねじ締め作業の正常、異常の判定だけでなく、異常の種類まで判定できるため、異常の種類に応じた復旧動作や報知を行うことができるという格別な効果がある。
【００２５】
実施の形態２．
この実施の形態２では、実施の形態１とねじ締めロボットシステム１の制御システムの構成が異なる。具体的には、実施の形態１では、ねじ締め異常判定手段６をロボット制御装置５の内部に備えていたが、実施の形態２では、図５に示すように、ねじ締め異常判定手段６をロボット制御装置５とは異なる異常判定装置１０内部に設けている。異常判定装置１０は、例えば、ねじ締め異常判定のために専用に設けるパソコンでもよいし、ねじ締めロボットシステム１全体を制御するシーケンサの内部に設けてもよい。なお、これ以外は実施の形態１と同様であるので説明を省略する。
【００２６】
実施の形態３．
この実施の形態３では、実施の形態１とねじ締め異常判定手段６でのねじ締め作業異常検知方法が異なる。それ以外は実施の形態１と同様であるので、ここでは、ねじ締め異常判定手段６での作業異常検知方法（判定方法）についてのみ説明する。
【００２７】
ねじ締め異常判定手段６では、まず、正常なねじ締め時のねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係式を記憶しておく。ねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係式は陽に表現される数式でもよいし、ねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係のテーブルをもち、テーブルの間の値については直線近似で求めてもよい。記憶してある正常なねじ締め時のねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係式に正の値を加算したものを上側閾値、負の値を加算したものを下側閾値とし、力およびモーメントのそれぞれが上側閾値以上となるか、下側閾値以下となるかを判別する。
【００２８】
この実施の形態では、図６に示すように、エリア１で上側閾値を超えた（上側閾値以上となった）場合は、位置ずれエラー発生と判定する。エリア２で上側閾値を超えた場合は、ねじつまりエラー発生と判定する。エリア３で上側閾値を超えた場合は、正常終了と判定する。エリア１、２、３のいずれかで下側閾値を超えた場合（下側閾値以下となった場合）はねじなしエラー発生と判定する。さらに、エリア３で、上側閾値以下で下側閾値以上のままロボット動作計画手段７からねじ締め動作終了信号を受信した場合は、正常終了と判定する。
【００２９】
この実施の形態のねじ締め異常判定手段６は、ねじ締め時の挿入量とねじ締め時の測定力、モーメントに基づいて判定するねじ締め異常判別手段であり、ねじ締め時の挿入量毎に領域を分けて、領域に応じて異常の種類を判別するねじ締め異常判別手段であり、ねじ締め時の作用力、作用モーメントの推定値算出機能を備え、算出した推定値に基づいて異常判別を行うねじ締め異常判定手段である。
【００３０】
また、ねじ締め異常判定手段６は、ねじ締め時の挿入量とねじ締め時の力覚センサ３の出力（力およびモーメント）に基づいてねじ締め異常を判定するステップを有するロボットのねじ締め作業異常検知方法を実行している。また、ねじ締め異常判定手段６は、ねじ締め時の挿入量毎に領域を分けるステップを経て、領域に応じて異常の種類を判別するステップを有するロボットのねじ締め作業異常検知方法を実行している。さらに、ねじ締め異常判定手段６は、ねじ締め時の作用力および作用モーメントの推定値を算出するステップを経て、この算出した推定値に基づいて異常判定を行うステップを有するロボットのねじ締め作業異常検知方法を実行している。
【００３１】
実施の形態４．
この実施の形態４では、実施の形態１とねじ締めエラー判定後の作用、動作が異なる。実施の形態４では、ロボット動作計画手段７は、ねじ締め異常判定手段６から正常終了通知を受け取った場合には特別な作用はなにもせず、ロボットプログラムに記載されている次の処理を行う。ねじ締め異常判定手段６から、位置ずれエラー、ねじつまりエラー、ねじなしエラーのいずれかの通知を受け取った場合は、ロボットを停止させる。さらに受信したエラーの種類を、ロボット制御装置５に接続されている表示器（図示せず）に表示する。
【００３２】
実施の形態５．
この実施の形態５では、実施の形態１とねじ締め異常判定手段６への信号の流れと、ねじ締め異常判定手段６内部での処理が異なる。実施の形態５のねじ締め異常判定手段６への信号の流れを、図７に示す。
【００３３】
実施の形態５では、ねじ締め異常判定手段６において手先位置算出手段９の出力を使用しない。ねじ締め異常判定手段６内部では、図８に示す通り、ねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが、ねじ締め開始からどれだけたってから予め定められた閾値を超えるかで正常、異常の判定するステップと、異常時のエラー種類の判別を行うステップを実行する。
【００３４】
ねじ締め開始からの経過時間がエリア１の範囲でねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが閾値を超えた場合は、位置ずれエラー発生と判定する。ねじ締め開始からの経過時間がエリア２の範囲でねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが閾値を超えた場合は、ねじつまり発生と判定する。ねじ締め開始からの経過時間がエリア３の範囲でねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが閾値を超えた場合は、正常終了と判定する。エリア４に至るまでにねじ締め方向の力もしくはねじ締め方向の軸周りのモーメントが閾値を越えなかった場合は、ねじなし異常発生と判定する。なお、ロボット動作計画手段７の作用は実施の形態１と同様なので説明は省略する。
【００３５】
この実施の形態のねじ締め異常判定手段６は、ねじ締め開始からの経過時間とねじ締め時の測定力、モーメントに基づいて判別するねじ締め異常判別手段であり、ねじ締め開始からの経過時間毎に領域を分けて、領域に応じて異常の種類を判別するねじ締め異常判別手段である。
【００３６】
また、ねじ締め異常判定手段６は、ねじ締め開始からの経過時間とねじ締め時の力覚センサの出力（力およびモーメント）に基づいてねじ締め異常を判定するステップを有するロボットのねじ締め作業異常検知方法を実行している。また、ねじ締め異常判定手段６は、ねじ締め開始からの経過時間毎に領域を分けるステップを経て、領域に応じて異常の種類を判別するステップを有するロボットのねじ締め作業異常検知方法を実行している。
【００３７】
実施の形態６．
この実施の形態６では、実施の形態３とねじ締め異常判定手段６内部の判定方法とロボット動作計画手段７の作用が異なる。それ以外は、実施の形態３と同様なので説明を省略する。
【００３８】
実施の形態６のねじ締め異常判定手段６では、正常なねじ締め時のねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係を記憶しておく。ねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係は、陽に表現される数式でもよいし、ねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係のテーブルをもち、テーブルの間の値については直線近似で求めてもよい。記憶してある正常なねじ締め時のねじ挿入方向変位とねじ締め方向の力とねじ締め方向の軸周りのモーメントの関係に正の値を加算したものを上側閾値、負の値を加算したものを下側閾値とし、力およびモーメントのそれぞれが上側閾値以上となるか、下側閾値以下となるかを判別する。
【００３９】
図９に示すように、エリア１で上側閾値を超えた（上側閾値以上となった）場合は、エラー発生と判定する。エリア２で上側閾値を超えた場合は、正常終了と判定する。エリア１、２のいずれかで下側閾値を超えた場合（下側閾値以下となった場合）はエラー発生と判定する。さらに、エリア２で、上側閾値以下で下側閾値以上のままロボット動作計画手段７からねじ締め動作終了信号を受信した場合は、正常終了と判定する。この実施の形態では正常、異常の判定のみを行い、異常（エラー）の種類までは判別を行わない。したがってロボット動作計画手段７には正常終了か異常（エラー）発生のいずれかを通知する。
【００４０】
ロボット動作計画手段７では、ねじ締め異常判定手段６から正常終了通知を受け取った場合は特別な作用はなにもせず、ロボットプログラムにねじ締め作業の次に記載されている処理を行う。ねじ締め異常判定手段６からエラー発生通知を受け取った場合は、ロボット２を停止させる。さらに、ねじ締めエラーが発生したことを、ロボット制御装置５に接続されている表示器（図示せず）に表示する。
【００４１】
実施の形態７．
この実施の形態７では、実施の形態１とねじ締め異常判定手段６でのねじ締め作業異常検知方法が異なる。それ以外は実施の形態１と同様であるので、ここでは、ねじ締め異常判定手段６での作業異常検知方法（判定方法）についてのみ説明する。
【００４２】
図１０に示すように、ねじ締め異常判定手段６は、ロボット動作計画手段７からねじ締め異常判定手段６へねじ締め作業開始信号が入力されると（ステップＳ１０１）、力覚センサ３の出力データとロボット２の手先位置を処理周期毎に記憶する動作を開始する（データログの採取を開始する）ステップＳ１０２を実行する。ロボット動作計画手段７からねじ締め異常判定手段６へねじ締め作業終了信号が入力されると（ステップＳ１０３）、力覚センサ３の出力データとロボット２の手先位置とを処理周期毎に記憶していく処理を終了させる（データログの採取を終了させる）ステップＳ１０４を実行し、記憶した力覚センサ３の出力データとロボット２の手先位置データを一括で読み込むステップＳ１０５を実行する。次に読み込んだデータから挿入状態判別特徴量（力覚センサ３の出力データに基づく挿入状態判別特徴量、以下では特徴量と記載）を算出するステップＳ１０６を実行する。なお、物理的な記憶は、ねじ締め異常判定手段６内に行っても、別途設けたメモリなどの外部記憶装置を用いてもよい。
【００４３】
この実施の形態では、特徴量として、挿入推定量Ｌ１、挿入推定量Ｌ２、最大挿入反力Ｆｍ、挿入反力の傾きα、挿入時間ｔの５つの特徴量を算出するステップを実行する。挿入推定量Ｌ１は、ねじ締め方向の軸周りのモーメントの変化率が０を横切る回数であるゼロクロス回数をＮｚ、ねじのピッチをＬｐとすると、
Ｌ１＝Ｎｚ×Ｌｐ／２
で、算出される値である。なお、上記の説明では、挿入推定量Ｌ１は、ねじ締め方向の軸周りのモーメントの変化率が０を横切る回数であるゼロクロス回数をＮｚとしたが、ねじ締め方向の軸周りのモーメントが０を横切る回数であるゼロクロス回数をＮｚとしてもよい。
【００４４】
挿入推定量Ｌ２は、ねじ締め開始時の手先位置をＺ０、ねじ締め終了時の手先位置をＺｅとし、
Ｌ２＝｜Ｚ０―Ｚｅ｜
で、算出される値である。ここで、｜  ｜は絶対値を示している。ここで、ねじ締め開始の手先位置はモーメントの変化率が大きくなった最初の時点でもよいし、ねじ締め方向の力が大きくなり始めた時点でもよい。また、ねじ締め終了時の手先位置はモーメントの変化率が充分に小さくなった時点でもよいし、ねじ締め方向の力が充分に小さくなった時点でもよい。
【００４５】
最大挿入反力Ｆｍ、挿入反力の傾きα（ねじ締め挿入方向変位とねじ締め方向の反力を直線近似した場合の直線の傾き）は、図１１に示す値を用いればよく、挿入反力の傾きαは、
α＝Ｆｍ／Ｌｍ
により算出できる。ここでＬｍは、ねじ締め挿入方向変位とねじ締め方向の反力を直線近似した場合の直線において、ねじ締め方向の反力が０からＦｍまで変化したときのねじ挿入方向変位の変化分である。
【００４６】
挿入時間ｔは、ねじ締め作業開始の手先位置からねじ締め作業終了の手先位置まで、手先が移動するのにかかった時間である。
【００４７】
これらの特徴量の全部または一部を特徴量空間でマッピングし、特徴量空間のどのエリアに属するかで、ねじ締め作業が正常であるか、どの異常であるかを判別するステップＳ１０７を実行する。特徴量空間の例を図１２に示す。特徴量空間のどこが正常で、どこがどのエラーの領域になるかは、予め試行実験を行っておき、サポートベクターマシンなどで獲得しておく。判別した結果（正常終了、位置ずれエラー、ねじつまりエラー、ねじなしエラー）はロボット動作計画手段７に出力される（ステップＳ１０８）。
【００４８】
なお、以上の説明では、ロボット２の手先位置を処理周期毎に記憶して特徴量の算出に用いたが、ロボット２の現在位置情報である、ロボット２の各関節の現在位置、ロボット２の各関節軸の位置指令およびロボット２の現在の先端位置姿勢のいずれか、または複数を、ロボット２の手先位置に関するデータとして記憶し、特徴量の算出に用いてもよい。
【００４９】
以上より、この発明の実施の形態７では、力覚センサ３と、力覚センサ３よりも先端側にねじ締めドライバ４を把持もしくは取り付けたロボット２でねじ締め作業を行う際、ねじ締め作業中の力覚センサ３の出力データとロボット２の現在位置情報（例えば、ロボット２の各関節の現在位置、ロボット２の各関節軸の位置指令およびロボット２の現在の先端位置姿勢のいずれか）を記憶しておき、記憶していた力覚センサデータとロボットの現在位置情報に基づいて特徴量を算出し、この算出した特徴量に基づいて、ねじ締め作業の正常、異常の判定と、異常の場合はどの異常かを判別する（異常の種類を判別する）ねじ締め異常判定手段６を備える。
【００５０】
また、このねじ締め異常判定手段６は、力覚センサ３と、力覚センサ３よりも先端側にねじ締めドライバ４を把持もしくは取り付けたロボット２でねじ締め作業を行う際、ねじ締め作業中の力覚センサ３の出力データとロボット２の現在位置情報（例えば、ロボット２の各関節の現在位置、ロボット２の各関節軸の位置指令およびロボット２の現在の先端位置姿勢のいずれか）を記憶するステップ、記憶していた力覚センサデータとロボットの現在位置情報に基づいて特徴量を算出するステップ、この算出した特徴量に基づいて、ねじ締め作業の正常、異常の判定と、異常の場合はどの異常かを判別する（異常の種類を判別する）ステップを有するロボットのねじ締め作業異常検知方法を実行している。
【００５１】
このように、ロボット２の先端部に力覚センサ３およびねじ締めドライバ４を備えたねじ締めロボットシステム１において、実施の形態７のロボットのねじ締め作業異常検知方法を実行することで、ねじ締め作業中に記憶しておいたデータに基づいて特徴量を算出し、算出した特徴量に基づいて正常、異常の判定を行うため、力覚センサからの時系列データからは直接判別しにくい場合も判定も行えるとい格別な効果がある。
【符号の説明】
【００５２】
１  ねじ締めロボットシステム、２  ロボット、２ａ  モータ、３  力覚センサ、４  ねじ締めドライバ、５  ロボット制御装置、６  ねじ締め異常判定手段、７  ロボット動作計画手段、８  各軸制御手段、９  手先位置算出手段、１０  異常判定装置。
【図１】
0005496129.tif 000002
【図２】
0005496129.tif 000003
【図３】
0005496129.tif 000004
【図４】
0005496129.tif 000005
【図５】
0005496129.tif 000006
【図６】
0005496129.tif 000007
【図７】
0005496129.tif 000008
【図８】
0005496129.tif 000009
【図９】
0005496129.tif 000010
【図１０】
0005496129.tif 000011
【図１１】
0005496129.tif 000012
【図１２】
0005496129.tif 000013