以下、本発明の一実施の形態について図面を参照しつつ説明する。本実施形態は、本発明のロボットを、機械製品である被検査対象の異常検出に適用した場合の例である。
図1は、本実施形態のロボットを備えたロボットシステムの全体構成を概念的に表すシステム構成図である。図2は、本実施形態のロボットの構成を表すロボットの上面図である。
図1及び図2において、本実施形態におけるロボットシステム1は、機械製品である被検査対象が常態(後述)であるか非常態(後述)であるかの検出を行うシステムであり、ロボット100と、このロボット100を制御するロボットコントローラ150とを備えている。ロボット100は、双腕ロボットであり、基台101、胴体部102、2つのアーム103L,103R(ロボットアーム)、センサ130(第1ひずみセンサ)、及び、A/D変換器131を有している。
基台101は、設置面(床部等)に対し図示しないアンカーボルト等により固定されている。胴体部102は、回転軸Ax1周りに回転駆動するアクチュエータAc1が設けられた第1関節部を有している。この胴体部102は、基台101に対し第1関節部を介して旋回可能に設置されており、第1関節部に設けられたアクチュエータAc1の駆動により上記設置面と略水平な方向に沿って旋回する。また、この胴体部102は、別体として構成されたアーム103L,103Rを、それぞれ一方側(図1及び図2中右側)及び他方側(図1及び図2中左側)において支持する。
アーム103Lは、胴体部102の一方側に設けられたマニピュレータであり、肩部104L、上腕A部105L、上腕B部106L、下腕部107L、手首A部108L、手首B部109L、フランジ110L、及びハンド111Lと、これら各部をそれぞれ回転駆動させるアクチュエータAc2〜Ac8がそれぞれ設けられた第2〜第8関節部とを有している。
肩部104Lは、胴体部102に対し第2関節部を介して回転可能に連結されており、第2関節部に設けられたアクチュエータAc2の駆動により上記設置面に対して略水平な回転軸Ax2周りに回転する。上腕A部105Lは、肩部104Lに対し第3関節部を介して旋回可能に連結されており、第3関節部に設けられたアクチュエータAc3の駆動により回転軸Ax2に対して直交する回転軸Ax3周りに旋回する。上腕B部106Lは、上腕A部105Lの先端に対し第4関節部を介して回転可能に連結されており、第4関節部に設けられたアクチュエータAc4の駆動により回転軸Ax3に対して直交する回転軸Ax4周りに回転する。下腕部107Lは、上腕B部106Lに対し第5関節部を介して旋回可能に連結されており、第5関節部に設けられたアクチュエータAc5の駆動により回転軸Ax4に対して直交する回転軸Ax5周りに旋回する。手首A部108Lは、下腕部107Lの先端に対し第6関節部を介して回転可能に連結されており、第6関節部に設けられたアクチュエータAc6の駆動により回転軸Ax5に対して直交する回転軸Ax6周りに回転する。手首B部109Lは、手首A部108Lに対し第7関節部を介して旋回可能に連結されており、第7関節部に設けられたアクチュエータAc7の駆動により回転軸Ax6に対して直交する回転軸Ax7周りに旋回する。フランジ110Lは、手首B部109Lの先端に対し第8関節部を介して回転可能に連結されており、第8関節部に設けられたアクチュエータAc8の駆動により回転軸Ax7に対して直交する回転軸Ax8周りに回転する。ハンド111Lは、フランジ110Lの先端に対し取り付けられており、フランジ110Lの回転により従動的に回転する。
アーム103Rは、胴体部102の他方側に設けられたマニピュレータであり、上記アーム103Lと同様の構造を備えている。このアーム103Rは、肩部104R、上腕A部105R、上腕B部106R、下腕部107R、手首A部108R、手首B部109R、フランジ110R、及びハンド111Rと、これら各部をそれぞれ回転駆動させるアクチュエータAc9〜Ac15がそれぞれ設けられた第9〜第15関節部とを有している。
肩部104Rは、胴体部102に対し第9関節部を介して回転可能に連結されており、第9関節部に設けられたアクチュエータAc9の駆動により上記設置面に対して略水平な回転軸Ax9周りに回転する。上腕A部105Rは、肩部104Rに対し第10関節部を介して旋回可能に連結されており、第10関節部に設けられたアクチュエータAc10の駆動により回転軸Ax9に対して直交する回転軸Ax10周りに旋回する。上腕B部106Rは、上腕A部105Rの先端に対し第11関節部を介して回転可能に連結されており、第11関節部に設けられたアクチュエータAc11の駆動により回転軸Ax10に対して直交する回転軸Ax11周りに回転する。下腕部107Rは、上腕B部106Rに対し第12関節部を介して旋回可能に連結されており、第12関節部に設けられたアクチュエータAc12の駆動により回転軸Ax11に対して直交する回転軸Ax12周りに旋回する。手首A部108Rは、下腕部107Rの先端に対し第13関節部を介して回転可能に連結されており、第13関節部に設けられたアクチュエータAc13の駆動により回転軸Ax12に対して直交する回転軸Ax13周りに回転する。手首B部109Rは、手首A部108Rに対し第14関節部を介して旋回可能に連結されており、第14関節部に設けられたアクチュエータAc14の駆動により回転軸Ax13に対して直交する回転軸Ax14周りに旋回する。フランジ110Rは、手首B部109Rの先端に対し第15関節部を介して回転可能に連結されており、第15関節部に設けられたアクチュエータAc15の駆動により回転軸Ax14に対して直交する回転軸Ax15周りに回転する。ハンド111Rは、フランジ110Rの先端に対し取り付けられており、フランジ110Rの回転により従動的に回転する。
なお、この例では、アーム103L,103Rは、7つの関節部すなわち7自由度(冗長自由度)を有しているが、アーム103L,103Rの自由度は「7」に限られない。
これらアーム103L,103Rの肩部104L,104R、上腕A部105L,105R、上腕B部106L,106R、下腕部107L,107R、手首A部108L,108R、手首B部109L,109R、フランジ110L,110R、及びハンド111L,111Rを構成する構造材料は、例えば鉄やアルミニウム等の金属材料により構成されている。また、これらアーム103L,103Rは、基端側(肩部104L,104R側)に位置するアクチュエータの動作トルクの増大を抑制し、円滑な動作を確保するため、先端側(ハンド111L,111R側)ほど細く軽量に構成されている。このため、各アーム103L,103Rの先端近傍では、筐体内の余分なスペースが少なくなっている。
また、図2に示すように、第1関節部の回転軸Ax1と第2及び第9関節部の各回転軸Ax2,Ax9とは、上記設置面と略水平な方向に長さD1だけオフセットされるように、基台101に対して胴体部102が第1関節部から第2及び第9関節部にかけて水平前方にせり出すように形成されている。これにより、肩部104L,104Rの下方側の空間を作業スペースとすることができると共に、回転軸Ax1を回転させることでアーム103L,103Rの可到範囲が拡大される。
さらに、第11関節部の回転軸Ax11と第12関節部の回転軸Ax12とは、上面視での位置が長さD2だけオフセットされるように、上腕B部106Rの形状が設定されている。そして、第12関節部の回転軸Ax12と第13関節部の回転軸Ax13とは、上面視での位置が長さD3だけオフセットされるように、下腕部107Rの形状が設定されており、回転軸Ax11と回転軸Ax13とが略水平となる姿勢をとったときに、回転軸Ax11と回転軸Ax13とのオフセット長さが(D2+D3)となるようになっている。これにより、人間の「肘」に相当する第12関節部を屈曲させたときに、人間の「上腕」に相当する上腕A部105R及び上腕B部106Rと、人間の「下腕」に相当する下腕A部107Rとの間のクリアランスを大きく確保することができ、ハンド111Rをより胴体部102に近づけた場合でもアーム103Rの動作自由度が拡大される。
またさらに、図2では明示していないが、アーム103Lについても同様に、第4関節部の回転軸Ax4と第5関節部の回転軸Ax5とは、上面視での位置が長さD2だけオフセットされるように、上腕B部106Lの形状が設定されている。そして、第5関節部の回転軸Ax5と第6関節部の回転軸Ax6とは、上面視での位置が長さD3だけオフセットされるように、下腕部107Lの形状が設定されており、回転軸Ax4と回転軸Ax6とが略水平となる姿勢をとったときに、回転軸Ax4と回転軸Ax6とのオフセット長さが(D2+D3)となるようになっている。
センサ130は、各アーム103L,103Rの筐体の先端近傍に、この例では各手首B部109L,109Rの筐体の外側表面に、それぞれ1つずつ設けられている。本実施形態では、各センサ130として、アーム103L,103Rの各部を構成する構造材料である上記金属材料よりも固有振動数(あるいは剛性)が大きい材質の圧電体を有する力センサ、この例では圧電体として水晶が用いられたセンサが、それぞれ使用されている。これは、一般に、固有振動数が大きい力センサほど、より高い周波数成分を含んだ変動力を検出することができ、水晶は、アーム103L,103Rの各部を構成する構造材料である上記金属材料よりも固有振動数(あるいは剛性)が大きいためである。したがって、アーム103L,103Rの先端(ハンド111L,111R等)の構造材料に伝わる微小な高周波振動(速い変形)までも検知することができる。手首B部109Lの筐体の外側表面に設けられたセンサ130は、アーム103Lのうち手首B部109Lよりも先端側(ハンド111L等)にかかる力(詳細には、力の大きさそのものではなく、手首B部109Lよりも先端側にかかる衝撃力に起因する振動等によるひずみ量)を電圧として検出する。手首B部109Rの筐体の外側表面に設けられたセンサ130は、アーム103Rのうち手首B部109Rよりも先端側(ハンド111R等)にかかる力(詳細には、力の大きさそのものではなく、手首B部109Rよりも先端側にかかる衝撃力に起因する振動等によるひずみ量)を電圧として検出する。各センサ130で得られた電圧は、アンプ部132(後述の図5参照)及びA/D変換器131を介して、ロボットコントローラ150のハイパスフィルタ部161(後述の図5参照)にそれぞれ入力されるようになっている。
なお、この例では、センサ130を、手首B部109L,109Rの筐体の外側表面に設けているが、これに限られず、アーム103L,103Rの筐体の先端近傍の他の位置(例えばハンド111L,111Rの筐体の外側表面や、手首B部109L,109Rの筐体内等)に設けるようにしてもよい。また、この例では、センサ130を、各アーム103L,103Rに対し1つずつ設けているが、これに限られず、各アーム103L,103Rに対し2つ以上設けるようにしてもよいし、アーム103L,103Rのうち片方のアームだけに1つ以上設けるようにしてもよい。またさらに、この例では、各センサ130として、圧電体として水晶が用いられたセンサを使用しているが、各センサ130としては、これに限られず、アーム103L,103Rの各部を構成する構造材料よりも固有振動数が大きい圧電体を有する力センサであればよい。
A/D変換器131は、図2に示すように、各センサ130の近傍に、この例では各手首B部109L,109Rの筐体内に、それぞれ1つずつ設けられている。手首B部109Lの筐体内に設けられたA/D変換器131は、図示しないケーブルを介して手首B部109Lの筐体の外側表面に設けられたセンサ130と接続されると共に、アーム103Lの筐体内に配線された屈曲性に優れた図示しないデジタル信号用ケーブルを介して胴体部102側と接続されている。そして、ケーブルを介して入力されたセンサ130の出力信号(アナログ信号)をデジタル信号に変換し、デジタル信号用ケーブルを介して胴体部102側に伝達する。手首B部109Rの筐体内に設けられたA/D変換器131は、図示しないケーブルを介して手首B部109Rの筐体の外側表面に設けられたセンサ130と接続されると共に、アーム103Rの筐体内に配線された屈曲性に優れた図示しないデジタル信号用ケーブルを介して胴体部102側と接続されている。そして、ケーブルを介して入力されたセンサ130の出力信号(アナログ信号)をデジタル信号に変換し、デジタル信号用ケーブルを介して胴体部102側に伝達する。胴体部102側に伝達された各センサ130の出力信号は、ロボットコントローラ150にケーブルを介して入力されるようになっている。
上記のように構成されたロボット100は、各アクチュエータAc1〜Ac15を含む各駆動部位の動作が、ロボットコントローラ150により制御されている。また、各アクチュエータAc1〜Ac15は、それぞれ、図示しないケーブルを挿通可能な中空部を有する減速機一体型のサーボモータにより構成されており、各アクチュエータAc1〜Ac15の回転位置は、各アクチュエータAc1〜Ac15に内蔵された図示しないエンコーダからの信号として、ロボットコントローラ150にケーブルを介して入力されるようになっている。
ここで、機械製品や電子製品の製造・組立工程においては、人間の五感(特に触覚)や体感で品質を評価する官能検査が、常態であるか非常態であるかを検査する(例えば異常の有無を検査する)際に活用されている。特にギア(歯車)やカップリング等、複数の部材が噛合してトルクの伝達を行う部品を含む機械製品では、微小な加工誤差に起因する過度のガタつき(バックラッシ)等を検出するのに官能検査が用いられることがある。
図3は、本実施形態における被検査対象を説明するための説明図である。
図3において、本実施形態における被検査対象140は、互いに噛合する部品を含む機械製品である。
ここで、このような被検査対象140において、部品の加工精度が低い場合や、部品の組み付け精度が良好でない場合等のように、被検査対象140が常態でない場合には、被検査対象140に微小な変動・変形・振動等が生じる場合がある。このため、被検査対象140の製造・組立工程において、被検査対象140が常態であるか非常態であるかの判定が実施されている。しかしながら、被検査対象140が常態であるか非常態であるかの判定を官能検査で行った場合、官能検査は人間の感覚器官を測定器としているため、検査を行う人間の熟練度や体調等により検査結果は大きな影響を受ける。したがって、官能検査に頼ることなく、被検査対象140が常態であるか非常態であるかを精度良く検査できるロボットが要望されている。
本実施形態のロボット100は、このような要望に鑑みてなされたロボットであり、官能検査に頼ることなく、被検査対象140が常態であるか非常態であるかを検査できる。なお、本明細書では、被検査対象140に異常がない状態を常態と定義し、被検査対象140に異常がある状態を非常態と定義する。すなわち、本実施形態のロボット100は、官能検査に頼ることなく、被検査対象140の異常の有無を検査できる。以下、被検査対象140の製造精度を検査対象として、ロボット100のアーム103L,103Rが実行する被検査対象140の異常検査に係る所定の動作の一例を説明する。なお、ここでは、アーム103L,103Rのうち片方のアーム(この例ではアーム103R)が、上記所定の動作を実行する場合を説明する。すなわち、アーム103Rは、所定の動作として、被検査対象140の可動部SHをハンド111Rで把持し、ハンド111Rで把持した状態でフランジ110Rを回転させる動作を行う。これにより、従動的にハンド111Rを回転させ、可動部SHと噛合する部品に噛み合った状態で所定の回転数(例えば4回転)だけ回転させる。すると、ロボットコントローラ150は、アーム103Rが被検査対象140に対し上記所定の動作を行う間の、センサ130の出力信号に基づき、被検査対象140の異常の有無を検出する(詳細は後述する)。
なお、この例では、アーム103Rが動作する場合を例示したが、これに限られず、反対側のアーム103Lが動作してもよいし、両方のアーム103L,103Rが協働して動作してもよい。
図4は、ロボットコントローラ150の機能構成を表す機能ブロック図である。なお、図4中では、図示の煩雑を防止するため、便宜上、アーム103L,103Rの筐体内に設けられた各A/D変換器131を、当該筐体外に図示している。
図4において、ロボットコントローラ150は、図示しない演算器、記憶装置、入力装置等を備えたコンピュータにより構成されており、ロボット100の各駆動部位や各A/D変換器131とケーブルを介して相互通信可能に接続されている。このロボットコントローラ150は、動作指令部151、位置指令遮断部152、平滑化処理部153、サーボ部154、異常検出部155、及び重力トルク補償部157を有している。
動作指令部151は、入力装置を介して教示された各アーム103L,103Rに対する教示情報に基づき、各アクチュエータAc1〜Ac15に対する位置指令(動作指令)をそれぞれ算出し、位置指令遮断部152を介して平滑化処理部153にプールする。
平滑化処理部153は、所定の演算周期毎に、プールされた上記位置指令をサーボ部154に順次出力する。
サーボ部154は、各アクチュエータAc1〜Ac15毎に、各アクチュエータAc1〜Ac15のエンコーダの検出値による関節角度フィードバック回路Fpと、各アクチュエータAc1〜Ac15のエンコーダの検出値から得られる角速度検出値による関節角度フィードバック回路Fvとを有している。このサーボ部154は、平滑化処理部153より順次入力される上記位置指令に基づき、上記所定の演算周期毎に、各アクチュエータAc1〜Ac15に対するトルク指令Trefを生成して出力する。
異常検出部155は、A/D変換器131を介してデジタル信号に変換されたセンサ130の出力値V(出力信号)に基づき、被検査対象140の異常の有無を検出する。この異常検出部155の詳細については、後述する。
位置指令遮断部152は、異常検出部155により被検査対象140の異常が検出された場合に、動作指令部151から平滑化処理部153への上記位置指令の出力を遮断し、サーボ部154に伝達される位置指令を遮断する。なお、サーボ部154への位置指令が遮断されると、フィードバックにより出力されるトルク指令Trefの値が減少して、アーム103L,103Rは速やかに停止動作に入る。
重力トルク補償部157は、各アクチュエータAc1〜Ac15に対するサーボ部154により生成される上記トルク指令Trefに、自重分の重力補償トルクを付加する。
図5は、異常検出部155の機能構成を表す機能ブロック図である。
図5において、異常検出部155は、ハイパスフィルタ部161、区間設定部162、規範波形記録部163、出力波形記録部167、比較判定部164、零点調整部165、及び閾値設定部166を有している。
ハイパスフィルタ部161は、ハイパスフィルタ(又は高周波数帯域を通過帯域とするバンドパスフィルタでもよい)を有しており、センサ130の出力信号に含まれる、被検査対象140の異常に起因する周波数以外の周波数成分(例えば外乱に起因する周波数成分等)を除去するために、アンプ部132を介して増幅されA/D変換器131を介してデジタル信号に変換されたセンサ130の出力信号の高周波振動成分を抽出する。なお、ハイパスフィルタ部161のハイパスフィルタは、被検査対象140の異常に起因する周波数以外の周波数成分(例えば外乱に起因する周波数成分等)を除去できるように、カットオフ周波数が決定されている。
区間設定部162は、入力装置を介して入力された入力情報に基づき、規範波形記録部163によりセンサ130の出力値Vの時間履歴を波形で表した規範波形として記録する区間(以下適宜、単に「記録区間」と称する)を設定する。
規範波形記録部163は、区間設定部162で設定した記録区間に対応する上記所定の動作を、アーム103L,103Rが異常のない被検査対象140に対し行う間の、ハイパスフィルタ部161により抽出された高周波振動成分に基づくセンサ130の出力値Vの時間履歴を、規範波形(後述の図6参照)として記録する。なお、所定の動作とは、入力装置を介して教示された教示情報等に基づいて上記動作指令部151により算出された位置指令に応じた動作である。
出力波形記録部167は、検査時においてアーム103L,103Rが被検査対象140に対し上記所定の動作を行う間の、ハイパスフィルタ部161により抽出された高周波振動成分に基づくセンサ130の出力値Vの時間履歴を、出力波形(後述の図7参照)として記録する。
閾値設定部166は、入力装置を介して入力された入力情報に基づき、比較判定部164における異常有無の判定値となる閾値Dthを設定する。
比較判定部164は、規範波形記録部163に記録された規範波形と、出力波形記録部167に記録された出力波形とを比較することにより、出力波形と規範波形との差(詳細には当該差の絶対値)|D|を算出する。そして、算出した差|D|が一定時間の間(この例ではアーム103L,103Rが被検査対象140に対し上記所定の動作を1回行う間)に閾値設定部166により予め設定された閾値Dthを超えた回数N(以下適宜、「超過回数N」と称する)をカウントする。なお、一定時間の間としては、アーム103L,103Rが被検査対象140に対し所定の動作を1回行う間に限られず、例えば入力装置を介して設定した時間の間等でもよい。そして、カウントした超過回数Nが所定の判定回数Njを超えたかどうかを判定することにより、被検査対象140の異常の有無を判定する。具体的には、超過回数Nが判定回数Nj以内である場合には、被検査対象140に異常がないと判定し、超過回数Nが判定回数Njを超えた場合には、被検査対象140に異常があると判定する。
零点調整部165は、アーム103L,103RのアクチュエータAc2〜Ac15の発熱等による周囲温度の変動や自己発熱によって生じる各センサ130の温度ドリフトの影響を抑制するために、区間設定部162で設定した記録区間に対応する上記所定の動作を、アーム103L,103Rが被検査対象140に対し実行する毎に、各センサ130に対しリセット信号をそれぞれ出力して、各センサ130の零点調整をそれぞれ行う。
図6は、アーム103L,103Rが異常のない被検査対象140に対し所定の動作を実行する間のセンサ130の出力値Vを説明するための説明図である。なお、図6には、横軸に時間tをとり、縦軸にセンサ130の出力値Vをとって、アーム103L,103Rが異常のない被検査対象140に対し行った所定の動作に対応して規範波形記録部163に記録された規範波形の一例を表している。
図6において、例えば教示時に、アーム103L,103Rは、異常のない被検査対象140に対し、ロボットコントローラ150からの上記位置指令に応じた前述の所定の動作を実行して、上記可動部SHを所定の回転数だけ回転させる。規範波形記録部163には、前述の記録区間に対応する上記所定の動作を、アーム103L,103Rが異常のない被検査対象140に対し1回行う間のセンサ130の出力値Vの時間履歴が、規範波形として記録されている。なお、規範波形の記録は、被検査対象140に異常がない状態であればいつでも可能であるが、本実施形態ではロボット100への所定の動作の教示時に記録する場合を一例として説明する。
図7は、検査時においてアーム103L,103Rが被検査対象140に対し所定の動作を実行する間のセンサ130の出力値Vを説明するための説明図である。なお、図7には、横軸に時間tをとり、縦軸にセンサ130の出力値Vをとって、検査時においてアーム103L,103Rが異常のある被検査対象140に対し行った所定の動作に対応して出力波形記録部167に記録された出力波形の一例を表している。
図7において、検査時には、アーム103L,103Rは、被検査対象140(この例では異常のある被検査対象140)に対し、ロボットコントローラ150からの上記位置指令に応じた前述の所定の動作を実行して、可動部SHを所定の回転数だけ回転させる。出力データ記録部167には、上記所定の動作を、アーム103L,103Rが被検査対象140(この例では異常のある被検査対象140)に対し1回行う間のセンサ130の出力値Vの時間履歴が、出力波形として記録されている。ここで、この例のように、被検査対象140に異常がある場合(例えば部品の加工精度が低い場合や、部品の組み付け精度が良好でない場合等)には、アーム103L,103Rが動作する間に、被検査対象140に回転動作中のガタ等に起因して周期的な異常振動や衝撃等を生じる。一般に、被検査対象140にガタつき等の異常振動や衝撃等が生じたときには、アーム103L,103Rに当該異常振動や衝撃等に起因する力が加わる(アーム103L,103Rがひずむ)ので、異常振動や衝撃等が生じていないときに比べて、センサ130の出力値Vが大きくなる傾向にある。したがって、被検査対象140に異常がある場合には、出力波形中にセンサ130の出力値Vが大きくなる区間が周期的に存在することになる。図7に示す出力波形中には、周期的にセンサ130の出力値Vが大きくなる区間が4箇所存在している。
図8は、被検査対象140の異常の有無を検出する手法の一例を説明するための説明図である。図8(a)には、横軸に時間tをとり、縦軸にセンサ130の出力値Vをとって、上記図6に対応する規範波形を表すと共に、上記図7に対応する出力波形を表している。図8(b)には、横軸に時間tをとり、縦軸に上記差|D|をとって、差|D|の時系列変化を波形で表している。
図8(a)(b)において、上述したように、被検査対象140に異常がある場合、出力波形中にセンサ130の出力値Vが大きくなる区間が周期的に存在する。したがって、被検査対象140に異常のない状態で規範波形記録部163に記録した教示時の規範波形と、出力波形記録部167に記録した検査時の出力波形との2つの波形同士を比較することで、規範波形に対する出力波形の周期的な変動を検出することができるので、被検査対象140に異常があるかどうかを検出することができる。すなわち、規範波形と出力波形との差|D|が上記所定の動作をアーム103L,103Rが被検査対象140に対し1回行う間に前述の閾値Dthを超えた超過回数Nが、前述の判定回数Njを超えたかどうかを判定することにより、被検査対象140の異常の有無を判定することができる。具体的には、超過回数Nが判定回数Nj以内である場合には、被検査対象140に異常がないと判定し、超過回数Nが判定回数Njを超えた場合に、被検査対象140に異常があると判定することができる。図8(a)(b)に示す例では、上記超過回数Nは図8(b)に示すように「4」であるので、上記判定回数Njが「3」以下である場合に、被検査対象140に異常があると判定される。
図9は、ロボットコントローラ150が実行する制御手順を表すフローチャートである。
図9において、このフローに示す処理は、例えば入力装置を介して所定の動作開始操作が行われることによって開始される。まずステップS10で、ロボットコントローラ150は、入力装置を介して入力された入力情報に基づき、ロボット100の動作モードが、教示を行う「教示モード」と、検査を行う「検査モード」とのうち、「教示モード」であるかどうかを判定する。ロボット100の動作モードが「教示モード」である場合には、ステップS10の判定が満たされて、ステップS20に移る。
ステップS20では、ロボットコントローラ150は、区間設定部162において、入力装置を介して入力された入力情報に基づき、前述の記録区間を設定する。
その後、ステップS30で、ロボットコントローラ150は、零点調整部165において、各センサ130に対し上記リセット信号を出力して、各センサ130の零点調整を行う。
そして、ステップS40に移り、ロボットコントローラ150は、入力装置を介して教示された各アーム103L,103Rに対する教示情報等に基づいて動作指令部151において算出した各アクチュエータAc1〜Ac15に対する位置指令を、各アクチュエータAc1〜Ac15に対して出力して、アーム103L,103Rに、異常のない被検査対象140に対し当該位置指令に応じた所定の動作を開始させる。
その後、ステップS50で、ロボットコントローラ150は、規範波形記録部163において、規範波形の記録を開始する。したがって、上記ステップS20で設定した記録区間に対応する上記ステップS40で開始した所定の動作を、アーム103L,103Rが異常のない被検査対象140に対し行う間は、規範データ記録部163は、上記アンプ部123を介して増幅され、上記A/D変換器131を介してデジタル信号に変換され、上記ハイパスフィルタ部161より抽出された高周波振動成分に基づくセンサ130の出力値Vの時間履歴を、規範波形として記録する。
そして、アーム103L,103Rが動作完了位置まで動作したら、ステップS60に移り、ロボットコントローラ150は、アーム103L,103Rに動作を完了させる。
その後、ステップS70で、ロボットコントローラ150は、規範波形記録部163において、規範波形の記録を完了する。そして、このフローに示す処理を終了する。なお、このフローに示す処理は、入力装置を介して所定の動作開始操作が行われる度に、ロボットコントローラ150により実行される。
一方、上記ステップS10において、ロボット100の動作モードが「検査モード」であった場合には、ステップS10の判定が満たされず、ステップS80に移る。
ステップS80では、ロボットコントローラ150は、閾値設定部166において、入力装置を介して入力された入力情報に基づき、前述の閾値Dthを設定する。
そして、ステップS90に移り、ロボットコントローラ150は、零点調整部165において、上記ステップS30と同様、各センサ130の零点調整を行う。
その後、ステップS100で、ロボットコントローラ150は、入力装置を介して教示された各アーム103L,103Rに対する教示情報等に基づいて動作指令部151において算出した各アクチュエータAc1〜Ac15に対する位置指令を、各アクチュエータAc1〜Ac15に対して出力して、アーム103L,103Rに、被検査対象140に対し当該位置指令に応じた所定の動作を開始させる。
そして、ステップS110に移り、ロボットコントローラ150は、出力波形記録部167において、出力波形の記録を開始する。したがって、上記ステップS40で開始した所定の動作を、アーム103L,103Rが被検査対象140に対し行う間は、出力波形記録部167は、上記アンプ部123を介して増幅され、上記A/D変換器131を介してデジタル信号に変換され、上記ハイパスフィルタ部161により抽出された高周波振動成分に基づくセンサ130の出力値Vの時間履歴を、出力波形として記録する。
その後、アーム103L,103Rが動作完了位置まで動作したら、ステップS120に移り、ロボットコントローラ150は、アーム103L,103Rに動作を完了させる。
そして、ステップS130に移り、ロボットコントローラ150は、出力波形記録部167において、出力波形の記録を完了する。
その後、ステップS140で、ロボットコントローラ150は、比較判定部164において、上記規範波形記録部163に記録された規範波形と、上記出力波形記録部167に記録された出力波形とを比較することにより、前述の差|D|を算出する。そして、算出した差|D|が、上記ステップS100で開始しステップS120で完了した所定の動作を、アーム103L,103Rが被検査対象140に対し1回行う間に、上記ステップS80で設定した閾値Dthを超えた超過回数Nをカウントする。そして、カウントした超過回数Nが判定回数Njを超えたかどうかを判定することにより、被検査対象140の異常の有無を判定する。具体的には、超過回数Nが判定回数Nj以内である場合には、被検査対象140に異常がないと判定し、超過回数Nが判定回数Njを超えた場合には、被検査対象140に異常があると判定する。
そして、ステップS150に移り、ロボットコントローラ150は、上記ステップS140で被検査対象140に異常があると判定されたかどうかを判定する。被検査対象140に異常がないと判定されていた場合には、ステップS150の判定が満たされず、このフローに示す処理を終了する。一方、被検査対象140に異常があると判定されていた場合には、ステップS150の判定が満たされて、ステップS160に移る。
ステップS160では、ロボットコントローラ150は、位置指令遮断部152において、動作指令部151から平滑化処理部153への上記位置指令の出力を遮断すると共に、サーボ部154により生成される前述のトルク指令Trefを各アクチュエータAc1〜Ac15に出力して、アーム103L,103Rに教示された動作を停止させると共に、図示しない報知部において、被検査対象140の異常を外部に報知する。その後、このフローに示す処理を終了する。
以上説明したように、本実施形態のロボット100は、各アーム103L,103Rの筐体の先端近傍(上記の例では各手首B部109L,109Rの筐体の外側表面)にセンサ130を設けている。これにより、被検査対象140の異常によりアーム103L,103Rの先端(ハンド111L,111R等)に生じた微小な力の変動を検出することができる。また、各センサ130として、アーム103L,103Rの各部を構成する構造材料(上記の例では鉄やアルミニウム等の金属材料)よりも固有振動数が大きい圧電体を有する力センサを設けている。これにより、被検査対象140の異常により各アーム103L,103Rの構造材料に生じた高い周波数の振動や衝撃等についても検出することができるので、被検査対象140の異常の有無を精度良く検出することができる。また、センサ130により、アーム103L,103R(例えばハンド111L,111R等)に作用した外力を精度良く検出することができるので、ロボット100自身が常態であるか非常態であるか、すなわちアーム103L,103Rに対する物体の接触の有無を精度良く検出することができる。したがって、ロボット100によれば、ロボット100自身及び被検査対象140の異常の有無を精度良く検出することができる。
また、本実施形態では特に、次のような効果を得ることができる。すなわち、各アーム103L,103Rの先端近傍に設けられたセンサ130の出力信号は、各アーム103L,103Rの筐体内に配線したケーブルを介して(胴体部102側に)伝達される。ここで、各センサ130の出力信号はアナログ信号である。通常、アナログ信号の伝達にはノイズ抑制等のため同軸ケーブルが用いられるが、同軸ケーブルは屈曲性に劣るため、アーム103L,103Rが屈曲動作した際に信号の伝達不良等を生じるおそれがある。そこで本実施形態では、センサ130の出力信号をデジタル信号に変換するA/D変換器131を、各アーム103L,103Rの先端近傍(上記の例では各手首B部109L,109Rの筐体内)に設ける。これにより、アーム103L,103Rの筐体内に屈曲性に優れたデジタル信号用ケーブルを配線することができる。したがって、アーム103L,103Rの動作に関わらずセンサ130の出力信号を確実に伝達することができ、信頼性を向上できる。
また、本実施形態では特に、センサ130を各手首B部109L,109Rの筐体の外側表面に設ける。これにより、アーム103L,103Rの筐体内にセンサ130の設置スペースを確保する必要がなくなり、アーム103L,103Rの先端が太くなるのを防止できる。
また、本実施形態では特に、各センサ130は、圧電体として水晶が用いられたセンサである。各センサ130として圧電体に水晶を用いたセンサを使用することにより、被検査対象140の異常によりアーム103L,103Rの筐体に生じた高い周波数の振動等を、確実に検出することができる。したがって、被検査対象140の異常の有無を高精度に検出することができる。
なお、本発明は、上記実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を説明する。
(1)物体の接触検出に適用する場合
上記実施形態では、本発明のロボットを被検査対象140の異常検出に適用したが、これに限られず、本発明のロボットをアーム103L,103Rに対する物体の接触検出に適用してもよい。
図10は、本変形例のロボット100の構成を表すロボットの上面図である。なお、この図10は、前述の図2に対応する図である。図2と同等の部分には同符号を付し説明を適宜省略する。
図10に示すように、本変形例のロボット100において、上記実施形態のロボット100と異なる点は、2つのセンサ部120L,120Rを新たに設けた点である。センサ部120L,120Rは、それぞれ、円盤状のセンサ固定治具121と、少なくとも1個(この例では3個)の略直方体状のセンサ122(第2ひずみセンサ)とにより構成されている。センサ部120Lのセンサ固定治具121は、アーム103Lの最も基端側に設けられたアクチュエータAc2の固定子の基部に取り付けられ、このセンサ固定治具121に設けられた各センサ122は、アーム103Lにかかる力(詳細には、力の大きさそのものではなく、アーム103Lにかかる衝撃力に起因する振動等によるひずみ量)をそれぞれ検出可能となっている。センサ部120Rのセンサ固定治具121は、アーム103Rの最も基端側に設けられたアクチュエータAc9の固定子の基部に取り付けられ、このセンサ固定治具121に設けられた各センサ122は、アーム103Rにかかる力(詳細には、力の大きさそのものではなく、アーム103Rにかかる衝撃力に起因する振動等によるひずみ量)をそれぞれ検出可能となっている。
本変形例では、各センサ122として、アーム103L,103Rの各部を構成する構造材料である前述の金属材料よりも固有振動数(あるいは剛性)が大きい材質の圧電体を有する力センサ、この例では圧電体として水晶が用いられたセンサが、それぞれ使用されている。なお、各センサ122としては、圧電体として水晶が用いられたセンサに限られず、アーム103L,103Rの各部を構成する構造材料よりも固有振動数が大きい圧電体を有する力センサであればよい。センサ部120Lの各センサ122は、それぞれ、アーム103Lにかかる力に起因するセンサ固定治具121のラジアル方向のひずみ量を電圧として検出し、センサ部120Rの各センサ122は、それぞれ、アーム103Rにかかる力に起因するセンサ固定治具121のラジアル方向のひずみ量を電圧として検出する。各センサ部122で得られた電圧は、上記アンプ部123を介してそれぞれ増幅され、上記ハイパスフィルタ部161にそれぞれ入力されるようになっている。
上記以外の構成は、上記実施形態のロボット100と同様である。そして、本変形例では、ロボットコントローラ150の図示しない接触検出部が、上記センサ部120L,120Rの各センサ122の出力値V(出力信号)に基づき、アーム103L,103Rに対する物体の接触の有無を検出する。なお、本明細書では、「もの」として認識しうる対象物を物体と定義する。したがって、物体には、前述の被検査対象140や、ロボット100自身、作業機器、壁などの建造物の一部、人体などの生物体等が含まれる。
すなわち、上述したように、センサ部120L,120Rの各センサ122は、アーム103L,103Rにかかる力を検出している。アーム103L,103Rにかかる力としては、アーム103L,103R自身の動作によって生じる内力、及び、アーム103L,103Rに外部から作用する外力が考えられる。アーム103L,103Rが物体の接触がない状態において動作する間は、アーム103L,103Rに外力が作用していないので、各センサ122は、内力に起因する振動だけを検出する。一方、アーム103L,103Rに対して物体が接触した際には、アーム103L,103Rに内力に加え外力が作用するので、各センサ122は、内力及び外力に起因する振動を検出する。このため、アーム103L,103Rに対して物体が接触した際には、外力に起因する分だけセンサ122の出力値Vが大きくなる。そこで本変形例では、接触検出部が、検査時においてアーム103L,103Rが被検査対象140に対し前述の所定の動作を行う際の各センサ122の出力値Vの出力データと、物体の接触のない状態でアーム103L,103Rが被検査対象140に対し前述の所定の動作を行う間のセンサ122の出力値Vの時間履歴として予め記録された規範波形とを比較することにより、アーム103L,103Rに対する物体の接触の有無を判定する。
図11には、検査時においてアーム103L,103Rが被検査対象140に対し実行する所定の動作の一例を模式的に表している。図11に示す例では、アーム103L,103Rは、検査時において、ロボット100の周囲(アーム103L,103Rの可動範囲内)に障害物Bが存在する環境下で、被検査対象140に対し、ロボットコントローラ150からの上記位置指令に応じた前述の所定の動作を実行している。このとき、接触検出部は、各センサ122の出力値Vの出力データと、予め記録された規範波形とを比較することにより、アーム103L,103Rに対する物体の接触の有無を判定する。そして、アーム103L,103Rが上記所定の動作を完了するまでの間に接触検出部によりアーム103L,103Rに対する物体(この例では障害物B)の接触が検出された場合には、ロボットコントローラ150は、その位置(図11中右側に示す位置)でアーム103L,103Rの動作を停止させる。
なお、この例では、アーム103L,103Rに対する障害物Bの接触を検出して、当該接触を検出した際に動作を停止させるように制御する場合を例にとって説明したが、これに限られず、アーム103L,103Rに対する被検査対象140の接触を検出して、当該接触を検出した際に動作を停止させてハンド111L,111Rで可動部SHを把持させるように制御することもできる。
以上説明した本変形例では、アーム103L,103Rの最も基端部に位置するアクチュエータAc2,Ac9の基部に、アーム103L,103Rの各部を構成する構造材料よりも固有振動数が大きい圧電体を有するセンサ122が設けられている。このセンサ122により、アーム103L,103Rに作用した外力を検出することができるので、アーム103L,103Rに対する物体の接触の有無を検出することができる。さらに、センサ122をアーム103L,103Rの内最も基端側に位置するアクチュエータAc2,Ac9の基部に設けているので、その先端側での接触を検出することができる。すなわち、アーム103L,103Rの全体について接触を検出することができる。したがって、ロボット100自身あるいはロボット100の周囲に存在する物体に対して過剰な負荷が生じることを回避することができる。
(2)アーム自身の異常検出に適用する場合
以上においては、本発明のロボットを、被検査対象140の異常検出に適用したり、アーム103L,103Rに対する物体の接触検出に適用したが、これに限られず、本発明のロボットをアーム103L,103R自身の異常検出に適用してもよい。
本変形例のロボット100の構成は、上記(1)の変形例のロボット100と同様で足りる。そして、本変形例では、ロボットコントローラ150が、上記センサ部120L,120Rの各センサ122の出力値V(出力信号)に基づき、アーム103L,103Rに設けられたアクチュエータAc2〜Ac15や減速機等の回転部材の経年劣化等による異常の有無を検出する。なお、これに限られず、アーム103L,103R自身の異常(アクチュエータAc2〜Ac15や減速機等の回転部材の経年劣化等による異常や、アーム103L,103Rの筐体の異常等を含む)の有無を検出するようにしてもよい。
ここで、アーム103L,103RのアクチュエータAc2〜Ac15や減速機等の回転部材に経年劣化による異常等がある場合には、異常箇所が回転位相中に周期的にあらわれるためアーム103L,103Rが動作する際に周期的な異常振動や衝撃等を生じ易い。一般に、アーム103L,103Rに異常振動や衝撃等が生じたときには、アーム103L,103Rに当該異常振動や衝撃等に起因する力が加わる(アーム103L,103Rがひずむ)ので、異常振動や衝撃等が生じていないときに比べて、センサ122の出力値Vが大きくなる傾向にある。したがって、アクチュエータAc2〜Ac15や減速機等の回転部材に経年劣化による異常等がある場合には、センサ122の出力値Vの時間履歴である出力波形中にセンサ122の出力値Vが大きくなる区間が周期的に存在することになる。そこで本変形例では、ロボットコントローラ150が、アーム103L,103Rに異常のない状態で予め記録した各センサ122の出力値Vの時間履歴である規範波形と、検査時においてアーム103L,103Rが被検査対象140に対し前述の所定の動作を1回行う間の各センサ122の出力値Vの時間履歴である出力波形との2つの波形同士を比較することで、規範波形に対する出力波形の周期的な変動を検出して、アーム103L,103RのアクチュエータAc2〜Ac15等の異常の有無を判定する。
本変形例では、次のような効果を得ることができる。すなわち、アーム103L,103Rの各部の構造材料よりも固有振動数が大きい圧電体を有するセンサ122を設けることによって、アーム103L,103RのアクチュエータAc2〜Ac15や減速機等の回転部材に経年劣化による異常等によりアーム103L,103Rの構造部材に生じた高い周波数の異常振動や衝撃を検出することができ、アーム103L,103R自身の異常の有無をも検出することができる。さらに、センサ122をアーム103L,103Rの内最も基端側に位置するアクチュエータAc2,Ac9の基部に設けているので、その先端側にある全てのアクチュエータや減速機等による異常振動等を検出することができる。すなわち、アーム103L,103Rの全体について異常を検出することができる。
また特に、各センサ122として圧電体に水晶を用いたセンサを使用することにより、アーム103L,103RのアクチュエータAc2〜Ac15や減速機等の回転部材の経年劣化による異常等により構造部材に生じた高い周波数の異常振動等を、確実に検出することができる。したがって、アーム103L,103R自身の異常の有無を高精度に検出することができる。
(3)単腕ロボットに適用する場合
以上においては、本発明を2つのアーム103L、103Rを有する双腕ロボットであるロボット100に適用していたが、これに限られず、本発明を1つのロボットアームを有する単腕ロボットに適用してもよい。この場合も、同様の効果を得ることができる。
(4)その他
上記実施形態においては、互いに噛合された部品を含む機械製品を検査対象としていたが、これに限られず、種々の機械製品あるいは電気製品等を検査対象としてもよい。
また例えば、本発明のロボットを、プラスチック等の蓋の閉まり具合の異常検出や、携帯電話等の操作ボタンの押し具合の異常検出等に適用してもよい。
また、以上においては、制御系として、ロボットコントローラ150のみを有する構成としているが、センサ系と接続されて接触検出部としての機能を有する制御装置をロボット100の動作を司るロボットコントローラ150とは別に設けて一体の制御系を構成してもよい。
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。