(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023068431
(43)【公開日】2023-05-17
(54)【発明の名称】滑り検知システム
(51)【国際特許分類】
B25J 13/08 20060101AFI20230510BHJP
【FI】
B25J13/08 Z
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021179553
(22)【出願日】2021-11-02
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002572
【氏名又は名称】弁理士法人平木国際特許事務所
(72)【発明者】
【氏名】久保 陽
(72)【発明者】
【氏名】牧 晃司
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707KS37
3C707LU07
3C707MS14
3C707MS15
(57)【要約】
【課題】触覚センサを用いずに、ロボットハンドと把持中の物体との間の滑りを精度良く検知することができる滑り検知方法、及びそれを適用したロボットシステムを提供する。
【解決手段】滑り検知システムは、ロボットハンドと、当該ロボットハンドが把持する対象物との間の滑りを検知する滑り検知システムであって、ロボットハンドを駆動するハンド駆動モータ51に印加されるハンド駆動電流値を取得する入出力部11と、ハンド駆動電流値に基づいて、ロボットハンドの対象物に対する把持状態を示す把持特徴量を抽出する把持特徴量抽出部123と、ロボットハンドが対象物の把持を完了した時点の把持特徴量に少なくとも基づいて正常把持モデル130を生成する正常把持モデル生成部124と、ロボットハンドが対象物の把持を完了した後の把持特徴量と正常把持モデル130とに基づいて滑りを検知する滑り検知部126と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ロボットハンドと、当該ロボットハンドが把持する対象物との間の滑りを検知する滑り検知システムであって、
前記ロボットハンドを駆動するハンド駆動モータに印加されるハンド駆動電流値を取得する入力部と、
前記ロボットハンドの前記対象物に対する動作状態を判定するフェーズ判定部と、
前記ハンド駆動電流値に基づいて、前記ロボットハンドの前記対象物に対する把持状態を示す把持特徴量を抽出する把持特徴量抽出部と、
前記フェーズ判定部が、前記ロボットハンドが前記対象物の把持を完了したと判定した時点の前記把持特徴量に少なくとも基づいて正常把持モデルを生成する正常把持モデル生成部と、
前記フェーズ判定部が前記ロボットハンドが前記対象物の把持を完了したと判定した時点以降の前記把持特徴量と、前記正常把持モデルとに基づいて前記滑りを検知する滑り検知部と、を備える
ことを特徴とする滑り検知システム。
【請求項2】
前記滑りが検知された場合、前記ハンド駆動モータの把持トルクを調整する把持トルク修正部をさらに備える、
ことを特徴とする請求項1に記載の滑り検知システム。
【請求項3】
前記フェーズ判定部によって前記対象物に対する所定の操作が完了したと判定され、かつ前記滑り検知部によって当該操作の間に前記滑りが生じなかったと判定された場合に、前記対象物を特定するための複数の情報のうち少なくともひとつと、前記対象物に対する操作の間に前記ハンド駆動モータが発揮した把持トルクのデータとを紐づけて記憶する正常把持トルク記録部をさらに備える、
ことを特徴とする請求項1に記載の滑り検知システム。
【請求項4】
前記ハンド駆動電流値に基づいて前記ハンド駆動モータの劣化度を示すハンド劣化特徴量を抽出する劣化特徴量抽出部と、
前記ハンド劣化特徴量と、前記ハンド駆動モータが正常に駆動する範囲内の前記ハンド駆動電流値に基づいて抽出された正常アーム駆動部モデルとに基づいてハンド劣化異常度を導出する劣化異常度導出部と、をさらに備える、
ことを特徴とする請求項1に記載の滑り検知システム。
【請求項5】
前記ロボットハンドには、当該ロボットハンドを移動させるロボットアームが接続され、前記入力部は、前記ロボットアームを駆動するアーム駆動モータに印加されるアーム駆動電流値をさらに取得し、
前記劣化特徴量抽出部は、前記ロボットアームが移動している間に前記アーム駆動モータに印加されるアーム駆動電流値に基づいて前記アーム駆動モータの劣化度を示すアーム劣化特徴量を抽出し、
前記劣化異常度導出部は、前記アーム劣化特徴量と、前記アーム駆動モータが正常に駆動する範囲内の前記アーム駆動電流値に基づいて抽出された前記正常アーム駆動部モデルとに基づいてアーム劣化異常度を導出する、
ことを特徴とする請求項4に記載の滑り検知システム。
【請求項6】
前記把持特徴量抽出部は、前記ハンド駆動電流値を周波数変換して前記把持特徴量を抽出し、前記劣化特徴量抽出部は、前記アーム駆動電流値または前記ハンド駆動電流値を、前記把持特徴量抽出部が変換する周波数よりも低い周波数で周波数変換して前記アーム劣化特徴量及び前記ハンド劣化特徴量を抽出する、
ことを特徴とする請求項5に記載の滑り検知システム。
【請求項7】
表示装置が接続されており、または表示装置を備え、
前記把持特徴量、前記ロボットハンド及び/または前記ロボットアームの動作状況、並びに前記ハンド劣化異常度及び/または前記アーム劣化異常度のうち少なくとも1つを前記表示装置に表示する、
ことを特徴とする請求項6に記載の滑り検知システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットハンドと把持物体との間の滑りを検知するための滑り検知システムに関する。
【背景技術】
【0002】
多品種少量生産設備の自動化に向けて、多様な物体を把持・配置できる産業用ロボットハンドが求められている。巧みで柔軟なマニピュレーションを行うには、必要最低限の力での把持が必要であるが、その実現にはハンドと把持物体との間の滑りを確実に検知することが肝要である。
【0003】
滑り検知には従来、接触面における変位や振動を検出する機能を有する触覚センサが提唱されてきたが、センサ素子によりロボットハンドが大型化・重量化することや、ハンド表面を覆うようにセンサ素子を設置する必要があるため物理的・化学的耐久性向上や保守を要することが課題となってきた。また、視覚センサを用いてロボットハンドと把持物体との間の相対運動を観測する方法もあるが、目に見える範囲でのマクロな変形や移動の検知に限られるため、把持物体がロボットハンドから滑り落ちる前に把持力を調整するための検知方法として用いることが困難な場合がある。
【0004】
ロボット等の機械類の挙動を監視する技術に関して、例えば特許文献1が挙げられる。特許文献1には、回転工具を水平方向に移動させるモータ電流により切削中であると判定された場合に、回転工具を駆動するモータ電流をモニタし、正常状態にある回転工具における切削中の電流データベースと比較することで回転工具の劣化を判定する回転工具向けの診断システムに関する技術が記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ロボットハンドにおいても、特許文献1に記載の技術を適用し、ハンドを移動させるアームを駆動するモータ電流とハンドを駆動するモータ電流によりロボットシステムの動作フェーズを判断し、特定の動作フェーズにおけるハンドのモータ電流から導出した負荷トルクを正常状態(滑りのない状態)にある把持中の負荷トルクと比較することで、滑りによる把持物体の変形や接触面での振動を検知できる可能性はある。しかし、電流信号を用いて、滑り状態と滑りが生じていない正常状態とを判別するには、ハンドや把持物体の形状や重量、摩擦係数といった物理的性質を考慮しなければならず、従って正常状態の定義を一意に決めることが困難であり、現実的ではない。
【0007】
本発明の目的は、触覚センサを用いずに、ロボットハンドと把持中の物体との間の滑りを精度良く検知することができる滑り検知システムを提供することである。
【課題を解決するための手段】
【0008】
本発明による検知システムは、ロボットハンドを駆動するハンド駆動モータに印加されるハンド駆動電流値を取得する入力部と、ロボットハンドの対象物に対する動作状態を判定するフェーズ判定部と、ハンド駆動電流値に基づいて、ロボットハンドの対象物に対する把持状態を示す把持特徴量を抽出する把持特徴量抽出部と、フェーズ判定部が、ロボットハンドが対象物の把持を完了したと判定した時点の把持特徴量に少なくとも基づいて正常把持モデルを生成する正常把持モデル生成部と、フェーズ判定部がロボットハンドが対象物の把持を完了したと判定した時点以降の把持特徴量と、正常把持モデルとに基づいて滑りを検知する滑り検知部と、を備える。
【発明の効果】
【0009】
本発明によると、触覚センサを用いずに、また視覚センサよりも早い段階で、ロボットハンドと把持中の物体との間の滑りを精度良く検知することができる。
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0010】
【
図1】本発明による滑り検知システムを適用したロボットシステムの構成図。
【
図2】本発明の実施例1による制御部10の構成図。
【
図3】実施例1による制御部10が行う処理のフローチャート。
【
図4】本発明の実施例2による制御部10の構成図。
【
図5】実施例2による制御部10が行う処理のフローチャート。
【
図6】本発明の実施例3による制御部10の構成図。
【
図7】実施例3による制御部10が行う処理のフローチャート。
【
図8】ロボットシステムの動作フェーズを説明するための図。
【
図9】モータに印加される電流をフーリエ変換した状態を示す図。
【発明を実施するための形態】
【0011】
以下、本発明の実施例に係る滑り検知システムについて、図面を用いて説明する。
なお、以下の実施例では、本発明による滑り検知システムが、ロボットハンドについて把持異常度を導出する例について説明するが、本発明による滑り検知システムは、ロボットハンド以外にも、義手や装具及びアシストスーツなどのモータが駆動する機械についても応用することができる。
【0012】
<実施例1>
まず、本発明の実施例1による滑り検知システムを、
図1から
図3を用いて説明する。
図1は、本発明による滑り検知システムを適用したロボットシステム全体の構成図である。なお、滑り検知システムは、具体的には、CPU等の演算装置、半導体メモリ等の主記憶装置、補助記憶装置、および、通信装置などのハードウェアを備えた電子制御ユニット(ECU、Electronic Control Unit)であり、記憶部13にロードされたプログラムを演算部12が実行することで、後述する把持特徴量抽出、滑り検知等の各機能を実現するが、以下では、このようなコンピュータ分野の周知技術を適宜省略しながら、各部の詳細を説明する。
【0013】
本発明に係る滑り検知システムは、制御部10によって制御・実行される。従って、以下では、制御部10が行う処理は滑り検知システムが行う処理でもある。制御部10は、ネットワーク20を介してコンピュータ30及び電流センサ40に接続可能である。制御部10は、入出力部11と、演算部12と、記憶部13とを備える。入出力部11は、電流センサ40からデータを取得するとともに、コンピュータ30との間でデータの入出力を行う。演算部12は、制御部10が備える機能を実行する。記憶部13は、制御部10の使用者が入力したデータ、制御部10が求めたデータ、及び制御部10が診断に用いる式やパラメータなどを記憶する。
【0014】
コンピュータ30は、有線または無線のネットワーク20を介して制御部10に接続され、制御部10の使用者がデータを入力するのに使用する入力装置であるとともに、制御部10が使用するデータや求めたデータを表示する表示装置である。
【0015】
電流センサ40は、被制御部50に設置され、被制御部50を駆動するモータに流れる電流(モータ電流)のデータを被制御部50から取得する。
【0016】
被制御部50は、制御部10が制御する駆動システムである。被制御部50は、ハンド駆動部51と、アーム駆動部52を備える。ハンド駆動部51は、把持機能を備えるロボットハンドをハンド駆動モータにより駆動する。アーム駆動部52は、ロボットハンドを移動させる移動機能を備えるロボットアームをアーム駆動モータにより駆動する。ハンド駆動部51およびアーム駆動部52を駆動するモータは、それぞれ複数台でもよいし、一台ずつでもよい。
【0017】
なお、本実施例では滑り検知システムが、
図1に示したコンピュータ30を構成要素として備えていない例を説明するが、制御部10は、コンピュータ30を構成要素として備えてもよい。
【0018】
次に、本実施例による制御部10の詳細な機能構成について、
図2を用いて説明する。
【0019】
図2に示す通り、本実施例における制御部10の演算部12は、座標変換部120、周波数変換部121、動作フェーズ判定部122、把持特徴量抽出部123、正常把持モデル生成部124、把持異常度導出部125、滑り検知部126、及び把持トルク修正部127を備える。
【0020】
座標変換部120は、入出力部11が電流センサ40から取得したモータの三相電流の時系列データを、例えばαβ変換および座標変換を通じて二軸の直流量に変換することでモータの負荷トルクを推定する。
【0021】
周波数変換部121は、入出力部11が電流センサ40から取得したモータの相電流の時系列データまたは座標変換部120によって推定された負荷トルクの時系列データを周波数領域のデータに変換し、周波数領域の電流データから把持異常度の導出に用いる把持特徴量(単に「特徴量」とも呼ぶ)を求める。把持特徴量とは、特定の周波数帯における振幅またはピーク幅のことであり、これらの両方を含んでいてもよいし、いずれか一方だけでもよい。
【0022】
図9は、例えば三相モータのU相における電流を、高速フーリエ変換(FFT)を用いて周波数変換した状態を示す図である。具体的には、
図9(a)に示す、電流の100秒間のデータを、FFTによって
図9(b)に示すような0~300Hzの周波数領域のデータに変換している。このように電流を周波数変換すると、振幅やピーク幅を精度良く検知することが可能になり、ゆえに把持特徴量の算出の精度も向上する。
【0023】
動作フェーズ判定部122は、入出力部11が取得したモータ電流の時系列データ等から、被制御部50の動作フェーズを判定する。ここで、本明細書中において使用される動作フェーズとは、ロボットアーム及びロボットハンドを含む被制御部50が制御部10によって駆動されているときの、ロボットアーム及びロボットハンドの把持対象物に対する動作状態として定義される。
【0024】
具体的には、[動作フェーズ1]は、ロボットアームの屈伸や回旋によってロボットハンドが把持対象物に対して接近していく状態、[動作フェーズ2]は、ロボットハンドが把持対象物を把捉する状態、[動作フェーズ3]は、ロボットハンドが把持対象物を把持した状態で、ロボットアームの屈伸や回旋によって把持対象物が移動している状態、としてそれぞれ定義される。なお、ここでは動作フェーズが3つである例を説明しているが、これに限られず、動作フェーズをより細分化して定義してもよい。例えば、動作フェーズ2をより細分化し、ロボットハンドが複数本の指部を有する場合に、一部の指(例えば親指部、人差し指部及び中指部)が把持対象物を把持するまでを動作フェーズ2-1として定義し、また、その状態では把持対象物を把持したまま移動できないと判断した場合に残りの指部(薬指部及び小指部)を用いて把持対象物を把持するまでを動作フェーズ2-2として定義してもよい。
【0025】
動作フェーズ判定部122は、ロボットアーム及びロボットハンドが、例えば上記のように定義される複数の動作フェーズのうちいずれの状態に該当しているのかを、種々の方法を用いて判定する。ここでは、上記で当初定義した動作フェーズ1、動作フェーズ2、及び動作フェーズ3のそれぞれを判定する場合を考える。まず、動作フェーズ1については、ロボットアームを駆動するアーム駆動モータに印加される電流を監視し、これと、ロボットアームが運動していると判断される電流の閾値とを比較することで、ロボットアームが運動しているか否か判定できる。ロボットアームの運動が停止したと判断された時点を動作フェーズ1の終了であると定義できる。
【0026】
同様に、ロボットアームの停止後、ロボットハンドを駆動するハンド駆動モータに印加される電流を監視し、これと、ロボットアームが運動していると判断される電流の閾値とを比較することで、ロボットハンドが動作しているか否か判定できる。ロボットハンドの動作が開始した時点を動作フェーズ2の開始であると定義できる。
【0027】
ここまでは、単にロボットアーム/ハンドを駆動するモータの電流値を監視するのみでフェーズの開始/終了を判定できたが、当初に述べた通り、把持対象物を滑りが生じないように正常に把持した状態を、電流値のみで検知するのは、把持対象物の物理的性質等を考慮する必要があって一意に定めることができない。従って、動作フェーズ2の完了については電流値そのものを監視する以外の方法で判定する必要がある。以下ではその一例について説明する。
【0028】
まずは、ハンド駆動モータの回転子を監視することで判定できる。すなわち、ロボットハンドが把持対象物の把持を開始すると、ハンド駆動モータの回転子が回転し始める。そして、対象物の把持が完了すると、それはすなわちロボットハンドの把持動作の停止を意味するため、ロボットハンドを動作させるハンド駆動モータの回転子も停止する。従って、被制御部50に予め搭載されている回転センサを用いることで回転子の回転を監視することは容易であるから、この方法で動作フェーズ2の完了を判定できる。また、回転子の回転の有無だけでなく、エンコーダ等を用いてモータの回転角度を監視することで対象物の把持の完了を判定できる。さらには、例えば把持対象物が弾性を有する場合には、外部の視覚センサを用いて対象物の表面の凹みを観察し、その凹み量が所定の閾値を超過した時点で把持が完了したと判定することもできる。さらには、外部の視覚センサを用いた別の方法として、ロボットハンドが把持対象物の把持を開始して一定時間経過後、把持対象物を鉛直方向にわずかに持ち上げる向きにロボットアームを駆動させ、把持対象物が滑らずに持ち上げられるか否かを目視で判定することも可能である。当然上記列挙した方法に限られず、ロボットハンドと把持対象物との間に滑りが生じているか否か判定できるのであればどのような方法でも採用可能である。
【0029】
そして、ロボットハンドによる把持が完了したと判定された時点を動作フェーズ2の完了時点と判定し、その後、再びアーム駆動モータに一定値以上の電流が印加され、ロボットアームの動作が開始した時点を動作フェーズ3の開始時点と判定する。この動作フェーズ3は、把持対象物がロボットハンドに把持された状態でロボットアームによって移動されている状態と定義したが、この移動には、把持対象物がロボットシステムによって完全に持ち上げられて空中に浮いた状態での移動だけでなく、把持対象物の一部が地面に接したまま引きずられるように移動している状態も含まれる。
【0030】
なお、上記では、動作フェーズ2の完了判定以外はモータ電流の監視によって判定する例を説明したが、動作フェーズ2の完了判定以外も、視覚センサを用いた判定やモータ回転子・回転角度の監視による判定としてもよい。
【0031】
把持特徴量抽出部123は、予め定められた周波数帯における特定の物理量の値を、把持異常度の導出に用いる把持特徴量として求める。ここで、把持特徴量として扱う物理量としては、例えばハンド駆動モータの負荷トルクのスペクトルにおける高周波成分の振動の強度としてもよいし、ハンド駆動モータの回転周波数付近の低周波成分の振動の強度としてもよい。把持特徴量抽出部123は、時系列データを時間-周波数領域のデータに変換するのに、短時間フーリエ変換やウェーブレット変換などの時間-周波数分析法を用いることができる。なお、把持特徴量は、特定の周波数帯における振幅またはピーク幅とせずに、例えばモータの負荷トルクの最大値、最小値、または平均値などとしてもよい。把持特徴量をモータの負荷トルクの最大値、最小値、または平均値などとする場合には、周波数変換部121は、モータの負荷トルクの時系列データを周波数領域のデータに変換しなくてもよい。
【0032】
正常把持モデル生成部124は、動作フェーズ判定部122が、動作フェーズ2が完了し、動作フェーズ3に移行する前であると判定した期間を、ハンド駆動部51が滑りなく正常に把持を行っている期間とし、その期間に把持特徴量抽出部123が抽出した把持特徴量を正常把持モデル130として記憶部13へ格納する。
【0033】
ここで、正常把持モデル130とは、正常稼働している被制御部50のモータ電流から得られた、正常に(滑りなく)把持を行った時の把持特徴量の値である。正常把持モデル130は、実際にロボットハンドが把持を行った際に得られた負荷トルクを用いて生成してもよいし、被制御部50についての数値シミュレーションなどを行った際に得られた負荷トルクを用いて生成してもよい。
【0034】
また、正常把持モデル130の生成に用いる把持特徴量を抽出する期間について、上記では動作フェーズ2の完了から動作フェーズ3への移行までと説明したが、これに限られず、動作フェーズ2の完了前及び/または動作フェーズ3の開始後にある程度の時間窓を当てはめて計測し、その期間内に得られた値の平均値や中央値を正常把持モデルとして採用することもできる。さらに、正常把持モデルは、ある特定値だけでなく、一定の範囲の値とすることも可能である。
【0035】
把持異常度導出部125は、動作フェーズ判定部122が動作フェーズ3にあると判定した場合、把持特徴量抽出部123が求めた把持特徴量と正常把持モデル生成部124が求めた正常把持モデルとを用いて把持異常度を求める。把持異常度導出部125は、把持異常度を導出するのに、マハラノビス法などの統計的手法を用いる。
【0036】
滑り検知部126は、把持異常度導出部125が導出した把持異常度から滑りの有無を判定し、ハンド駆動部51が発揮する把持トルクに修正が必要かを判定する。ロボットハンドと把持対象物との間に滑りがあると判定するには、把持異常度に設けた閾値や、変化点検出などによる時系列解析の手法を用いる。
【0037】
把持トルク修正部127は、動作フェーズ判定部122が動作フェーズ3の完了を判定するまでの間に、滑り検知部126により把持トルクの修正が必要であると判定された場合、把持異常度が減少して滑り有の判定基準以下になるように、ハンド駆動部51が発揮する把持トルクに対して修正を行う。
【0038】
制御部10の記憶部13は、正常把持モデル生成部124が生成した正常把持モデル130を格納する。また、記憶部13は、動作フェーズ3が完了するまでの間に滑り検知部126により把持トルクの修正が必要であると判定されなかった場合には、正常把持モデルを消去する。
【0039】
図3は、本実施例による制御部10が行う処理のフローチャートである。制御部10の使用者は、コンピュータ30を操作することにより、制御部10に処理を開始させることができる。
【0040】
ステップS101で、制御部10の入出力部11は、コンピュータ30からの指示により、電流センサ40からモータ電流(相電流)を入力する。
【0041】
ステップS102で、座標変換部120は、入出力部11が入力したモータ電流の時系列データからモータの負荷トルクを推定する。また、周波数変換部121は、座標変換部120が導出した負荷トルクの時系列データないし入出力部11が入力したモータ電流の時系列データを、時間-周波数領域のデータに変換する。
【0042】
ステップS103、ステップS104、ステップS105、ステップS106で、動作フェーズ判定部122は、ステップS101で取得を開始したモータ電流の時系列データないしはステップS102で変換を開始したモータ電流の時間-周波数領域のデータ、あるいはロボットハンドの把持対象物に対する把持状態を示す種々のデータから、アーム駆動部52によりロボットアームが移動を開始したこと、アーム駆動部52によりロボットアームが移動を完了したこと、ハンド駆動部51によりロボットハンドが把持を開始したこと、ハンド駆動部51によりロボットハンドが把持を完了したことをそれぞれ判定する。
【0043】
ステップS107で、正常把持モデル生成部124は、把持特徴量抽出部123にハンド駆動部51のモータの負荷トルクの時間-周波数領域のデータから把持特徴量を抽出させ、正常把持モデルとして記憶部13に格納する。
【0044】
ステップS108で、動作フェーズ判定部122は、ステップS101で取得を開始したモータ電流の時系列データないしはステップS102で変換を開始したモータ電流の時間-周波数領域のデータから、もしくは外部の視覚センサ、モータの回転子、回転角度等から、アーム駆動部52によりロボットアームが持ち上げを開始したことを判定する。
【0045】
ステップS109で、把持異常度導出部125は、ステップS107で生成した正常把持モデルと、把持特徴量抽出部123がハンド駆動部51のモータの負荷トルクから抽出した把持特徴量とを統計処理することで把持異常度を導出する。滑り検知部126は、閾値判定や変化点検出など時系列解析の手法を用いて滑りを判定し、ハンド駆動部51の発揮する把持トルクを修正する必要があるか否かを判定する。
【0046】
ステップS110は、ステップS109でロボットハンドと把持物体との間で滑りがあると判定された場合の処理である。ステップS110で、把持トルク修正部127は、滑り検知部126により滑りが検知されなくなるまで把持トルクを修正する。
【0047】
ステップS111は、ステップS109でロボットハンドと把持物体との間で滑りがないと判定された場合の処理である。ステップS111で、制御部10は、把持物体の把持および移動の動作を完了させる。
【0048】
最後に、上記で行ったフローの概要について、
図8を用いて、動作フェーズ及び把持特徴量の抽出に用いるハンド駆動電流値との関係性の観点から説明する。
【0049】
まず、動作フェーズ1ではロボットアームの動作によりロボットハンドが把持対象物に対して接近していく。次に、
図8(a)に示すように、動作フェーズ2に入ると、ハンド駆動モータにハンド駆動電流が印加される。このとき、ハンド駆動モータの回転子は回転している状態である。
【0050】
そして、対象物を正常に把持したまま動作フェーズ2が完了した時点のハンド駆動電流値を基に抽出された把持特徴量に少なくとも基づいて正常把持モデルが生成される。
【0051】
動作フェーズ3に移行すると、ロボットハンドが把持対象物を把持した状態で把持対象物が移動している時のハンド駆動電流値に基づいて抽出された把持特徴量と正常把持モデルとを比較することによって、ロボットハンドと把持対象物との間に滑りが生じているか否かが診断(判定)される。
図8(c)は滑りが生じておらず、従ってハンド駆動電流値が比較的安定していて正常把持モデルの範囲内であると診断(判定)される。しかし、
図8(c)では滑りが生じている状態であり、従ってハンド駆動電流値が不安定となっており、正常把持モデルから逸脱していると診断(判定)される。この場合には、滑りが生じなくなるように把持トルクが修正される。
【0052】
<実施例2>
続いて、本発明の実施例2による滑り検知システムについて、
図4から
図5を用いて説明する。本実施例による滑り検知システムも、実施例1と同様に制御部10によって制御・実行される。制御部10は、ロボットハンドが特定の把持対象物を滑りなく把持し、配置等の特定の作業を完了させることができた際、特定の把持対象物に紐付く部品の種類や型番等のデータ(Bill Of Material、以後BOMとする)や特定の作業に紐付く工程やプロセスのデータ(Bill Of Process、以後BOPとする)、または把持対象物の画像データと把持トルクのデータ(例えば時系列データ)とを紐づけ、正常把持トルク134として記憶部13に格納することができる。
【0053】
したがって、本実施例による制御部10は、把持対象物を取り扱う際に、以前にも同じ把持対象物に対して同じ作業を行ったことがあると判断した場合、記憶部13に格納済みのBOMやBOPに紐付く正常把持トルクをハンド駆動部51に発揮させることができる。よって、同じ部品や作業に対して試行錯誤や失敗を繰り返すことなく、適切な把持を行うことができる。以下では、本実施例による制御部10について、実施例1による制御部10と異なる点を主に説明する。
【0054】
図4は、本実施例による滑り検知システムを制御・実行する制御部10の構成を示す図である。本実施例による制御部10は、実施例1による制御部10(
図2)において、演算部12がさらに正常把持トルク記録部128を備え、記憶部13がさらにBOM131、BOP132、画像データ133、及び正常把持トルク134を格納する。
【0055】
正常把持トルク記録部128は、動作フェーズ判定部122と滑り検知部126により、ロボットハンドが特定の把持対象物を滑りなく正常に把持し、移動や配置等の特定の作業を完了させることができたと判定された際、BOM131とBOP132と画像データ133のうち少なくともひとつと、正常把持トルク134とを紐づけて格納する。
【0056】
図5は、本実施例による制御部10が行う処理のフローチャートである。
図5に示すフローチャートは、実施例1による制御部10が行う処理のフローチャート(
図3)において、ステップS112とステップS113の処理が加わっている。
【0057】
ステップS112で、入出力部11は、コンピュータ30から、被制御部50が現在取り扱っている把持物体に紐づくBOMや画像データ、または作業内容に紐づくBOPを出力する。BOMやBOPは、制御部10の使用者がコンピュータ30を操作することにより制御部10に事前に入力しておいてもよいし、画像認識を用いて分類・格納してもよい。
ステップS112は、ステップS111と並行して実行される。ステップS112は、ステップS111の前または後に実行されてもよい。
【0058】
ステップS113で、滑り検知部126は、動作フェーズ3において滑りなく動作が完了したと判定された場合、把持物体に対してハンド駆動部51が発揮した負荷トルクの時系列データ等を、ステップS112で取得したBOM、BOP、画像情報のうち少なくともひとつと紐づけを行い、正常把持トルクとして記憶部13に格納する。
【0059】
上記のように、本実施例においては、把持対象物に対する把持操作の完了後、正常把持トルクを記録させている。これによって、すでに一度把持操作を完了した把持対象物を再度把持する場合(その把持対象物に関する正常把持トルクデータが存在する場合)に、アーム駆動部52に当該正常把持トルクに沿って動作するように指令することが可能になり、同じ部品や作業に対して試行錯誤や失敗を繰り返すことなく、適切な把持を行うことができる。
【0060】
ただし、把持環境の違い(温度、湿度等)やハンド駆動モータ毎の劣化等に起因する能力差等によって、記録されていた正常把持トルクを発揮させたにも関わらず正常に把持操作が完了できなかった場合(滑りが生じた場合)が想定され得る。そのような場合には、実際に正常に把持操作を完了させるために発揮した把持トルクを改めて記憶部13に記録させる。
【0061】
<実施例3>
続いて、本発明の実施例3による滑り検知システムについて、
図6から
図7を用いて説明する。本実施例による滑り検知システムは、制御部10が、被制御部50を構成するモータやギヤなどの駆動部が劣化に伴い上昇する劣化特徴量を、把持特徴量と切り分けて抽出し、劣化異常度を導出することで、駆動部に対する保守や運転計画変更を提示することができる点が実施例1及び2と異なる。以下では、本実施例による滑り検知システムを制御・実行するための制御部10について、実施例1による制御部10と異なる点を主に説明する。
【0062】
図6は、本実施例による滑り検知システムを制御・実行するための制御部10の構成を示す図である。本実施例における制御部10は、実施例1による制御部10(
図2)において、演算部12がさらに劣化特徴量抽出部129と劣化異常度導出部1210とを備え、記憶部13がさらに正常駆動部モデル135を格納する。
【0063】
劣化特徴量抽出部129は、入出力部11が電流センサ40から取得したアーム/ハンド駆動モータ電流の時系列データを周波数領域のデータに変換し、周波数領域の電流データから異常度の導出に用いる劣化特徴量を求める。
【0064】
ここで、劣化特徴量とは、軸受やギヤの仕様とモータの回転数などにより決定される特定の周波数帯における振幅またはピーク幅のことであり、これらの両方を含んでいてもよいし、いずれか一方だけでもよい。劣化特徴量抽出部129は、予め定められた周波数帯における劣化特徴量の値を、劣化異常度の導出に用いる劣化特徴量として求める。劣化特徴量抽出部129は、時系列データを周波数領域のデータに変換するのに、フーリエ変換などの周波数分析法を用いることができる。なお、劣化特徴量を求めるために使用する周波数帯は比較的低い周波数帯(数十Hz程度)であり、比較的高い周波数帯(数百~数kHz)を使用する把持特徴量とは区別可能である。
【0065】
なお、劣化特徴量は、特定の周波数帯における振幅またはピーク幅とせずに、例えばモータ電流の最大値、最小値、または平均値などとしてもよい。劣化特徴量をモータ電流の最大値、最小値、または平均値などとする場合には、劣化特徴量抽出部129は、モータ電流の時系列データを周波数領域のデータに変換しなくてもよい。
【0066】
劣化異常度導出部1210は、劣化特徴量抽出部129が求めた劣化特徴量と被制御部50の正常時の劣化特徴量(後述の正常駆動部モデル135)とを用いて劣化異常度を導出し、導出した劣化異常度をコンピュータ30により出力する。
【0067】
劣化異常度導出部1210は、正常稼働している被制御部50を構成するアーム/ハンド駆動モータの電流から得られた正常時の劣化特徴量(後述の正常駆動部モデル135)を記憶部13に入力し、劣化特徴量抽出部129が求めた劣化特徴量と正常駆動部モデル135との差を、劣化異常度として導出する。記憶部13は、後述するように、正常駆動部モデル135を格納している。劣化異常度導出部1210は、既存の方法を用いて劣化異常度を導出することができる。例えば、劣化異常度導出部1210は、劣化特徴量の分布空間において、マハラノビス距離を用いて、劣化特徴量抽出部129が求めた劣化特徴量と正常駆動部モデル135との差(分布空間内の距離)を求め、この差を劣化異常度とすることができる。
【0068】
劣化異常度導出部1210は、予め任意に定められた被制御部50の構成部品(モータやギヤ)に対する閾値等に基づき、導出した劣化異常度の結果をコンピュータ30に出力する。例えば、被制御部50を構成するあるモータの交換や修理が必要となったとき、コンピュータ30を介して作業者に異常アラートを出すことができる。
【0069】
正常駆動部モデル135は、正常稼働している被制御部50を構成するアーム/ハンド駆動モータの電流から得られた正常時の劣化特徴量の値である。正常駆動部モデル135は、製造直後や修理直後の被制御部50から得られたデータから導出してもよいし、被制御部50についての数値シミュレーションなどから導出してもよい。
【0070】
図7は、本実施例による制御部10が行う処理のフローチャートである。
図7に示すフローチャートは、実施例1による制御部10が行う処理のフローチャート(
図3)において、ステップS114とステップS115とステップS116とステップS117の処理が加わっているため、これらの追加されたステップについてのみ説明する。
【0071】
ステップS114で、劣化特徴量抽出部129は、アーム駆動部52のアーム駆動モータ電流からアーム劣化特徴量を抽出する。劣化異常度導出部1210は、劣化特徴量抽出部129が抽出したアーム劣化特徴量と正常駆動部モデル135に格納されたアーム駆動部52の正常時におけるアーム劣化特徴量を用いてアーム劣化異常度を導出する。
【0072】
ステップS115は、ステップS114で導出されたアーム劣化異常度が閾値以上であると判定された場合、入出力部11を介してアラートをコンピュータ30に表示する。
【0073】
ステップS116で、劣化特徴量抽出部129は、ハンド駆動部51のハンド駆動モータ電流からハンド劣化特徴量を抽出する。劣化異常度導出部1210は、劣化特徴量抽出部129が抽出したハンド劣化特徴量と正常駆動部モデル135に格納されたハンド駆動部51の正常時におけるハンド劣化特徴量を用いてハンド劣化異常度を導出する。
【0074】
ステップS117は、ステップS116で導出されたハンド劣化異常度が閾値以上であると判定された場合、入出力部11を介してアラートをコンピュータ30に表示する。
【0075】
コンピュータ30は、演算部12が演算して求めたデータを入出力部11から入力し、入力したデータを表示することができる。例えば、コンピュータ30は、把持特徴長/異常度の時間変化と、アーム/ハンド劣化特徴量/異常度の時間変化と、動作フェーズとのうち少なくとも1つを示すグラフを表示する。
【0076】
上記のように、本実施例によれば、ロボットシステムによる把持対象物の把持操作とは切り離してロボットアーム/ハンドの劣化度を診断できるようになる。これにより、ロボットシステムを常に正常な状態で動作させることが可能になり、ロボットシステムの異常により正常把持モデルの正確性が希釈されるといったリスクを回避することが可能になる。
【0077】
以上で説明した本発明の実施例によれば、以下の作用効果を奏する。
(1)ロボットハンドを駆動するハンド駆動モータに印加されるハンド駆動電流値を取得する入力部と、ロボットハンドの対象物に対する動作状態を判定するフェーズ判定部と、ハンド駆動電流値に基づいて、ロボットハンドの対象物に対する把持状態を示す把持特徴量を抽出する把持特徴量抽出部と、フェーズ判定部が、ロボットハンドが対象物の把持を完了したと判定した時点の把持特徴量に少なくとも基づいて正常把持モデルを生成する正常把持モデル生成部と、フェーズ判定部がロボットハンドが対象物の把持を完了したと判定した時点以降の把持特徴量と、正常把持モデルとに基づいて滑りを検知する滑り検知部と、を備える。
【0078】
上記構成により、ロボットハンドによる把持対象物の把持状態と、ロボットハンドを駆動するモータの電流値とを用いて滑りの有無を検知することが可能になる。従って、滑り検知に触覚センサ等を用いる必要がなくなるため、ロボットシステム全体の大型化/重量化を抑制することが可能になる。
【0079】
(2)滑りが検知された場合、ハンド駆動モータの把持トルクを調整する把持トルク修正部をさらに備える。これにより、ロボットハンドと把持対象物との間に滑りが生じた場合でも、滑りが生じないように直ちに修正することが可能になる。
【0080】
(3)フェーズ判定部によって対象物に対する所定の操作が完了したと判定され、かつ滑り検知部によって当該操作の間に滑りが生じなかったと判定された場合に、対象物を特定するための複数の情報のうち少なくともひとつと、対象物に対する操作の間にハンド駆動モータが発揮した把持トルクのデータとを紐づけて記憶する正常把持トルク記録部をさらに備える。これにより、一度把持したことのある把持対象物については、記録された正常把持トルクをハンド駆動モータに発揮させることが可能になり、試行錯誤や失敗を繰り返すことなく確実に把持操作を行うことが可能になる。
【0081】
(4)ロボットハンドが対象物の把持を開始してから完了するまでの間のハンド駆動電流値に基づいてハンド駆動モータの劣化度を示すハンド劣化特徴量を抽出する劣化特徴量抽出部と、ハンド劣化特徴量と、ハンド駆動モータが正常に駆動する範囲内のハンド駆動電流値に基づいて抽出された正常アーム駆動部モデルとに基づいてハンド劣化異常度を導出する劣化異常度導出部とをさらに備える。これにより、ロボットハンドを常に正常な状態で動作させることが可能になり、ロボットハンドの異常により正常把持モデルの正確性が希釈されるといったリスクを回避することが可能になる。
【0082】
(5)ロボットハンドには、当該ロボットハンドを移動させるロボットアームが接続され、入力部は、ロボットアームを駆動するアーム駆動モータに印加されるアーム駆動電流値をさらに取得し、劣化特徴量抽出部は、ロボットアームが移動している間にアーム駆動モータに印加されるアーム駆動電流値に基づいてアーム駆動モータの劣化度を示すアーム劣化特徴量を抽出し、劣化異常度導出部は、アーム劣化特徴量と、アーム駆動モータが正常に駆動する範囲内のアーム駆動電流値に基づいて抽出された正常アーム駆動部モデルとに基づいてアーム劣化異常度を導出する。これにより、ロボットアームを常に正常な状態で動作させることが可能になり、ロボットアームの異常により正常把持モデルの正確性が希釈されるといったリスクを回避することが可能になる。
【0083】
(6)把持特徴量抽出部は、ハンド駆動電流値を周波数変換して把持特徴量を抽出し、劣化特徴量抽出部は、アーム駆動電流値またはハンド駆動電流値を、把持特徴量抽出部が変換する周波数よりも低い周波数で周波数変換してアーム劣化特徴量及びハンド劣化特徴量を抽出する。これにより、把持特徴量と劣化特徴量とを確実に区別してそれぞれの演算に用いることが可能になる。
【0084】
(7)システムには表示装置が接続されており、またはシステムは表示装置を備え、把持特徴量、ロボットハンド及び/またはロボットアームの動作状況、並びにハンド劣化異常度及び/またはアーム劣化異常度のうち少なくとも1つを表示装置に表示する。これにより、システムの使用者は常に各種データを参照しながら作業できるため、作業の正確性や効率性の向上が期待できる。
【0085】
なお、本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。例えば、上記の実施例は、本発明を分かりやすく説明するために詳細に説明したものであり、本発明は、必ずしも説明した全ての構成を備える態様に限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能である。また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、削除したり、他の構成を追加・置換したりすることが可能である。
【符号の説明】
【0086】
10…制御部(滑り検知システム)、11…入出力部(入力部)、51…ハンド駆動部(ハンド駆動モータ)、52…アーム駆動部(アーム駆動モータ)、123…把持特徴量抽出部、124…正常把持モデル生成部、126…滑り検知部、127…把持トルク修正部、128…正常把持トルク記録部、129…劣化特徴量抽出部、1210…劣化異常度導出部、130…正常把持モデル、134…正常把持トルク、135…正常駆動部モデル