以下、本発明の一実施の形態について図面を参照しつつ説明する。本実施形態は、本発明のロボットを、一例として、ロボットアームの異常検出に適用した場合の例である。
図1は、本実施形態のロボットを備えたロボットシステムの全体構成を概念的に表すシステム構成図である。図2は、本実施形態のロボットの構成を表すロボットの上面図である。
図1及び図2において、本実施形態におけるロボットシステム1は、複数の物品Pを搬送するベルトコンベア2の一方側に設けられたロボット100と、このロボット100を制御するロボットコントローラ150とを備えている。ロボット100は、双腕ロボットであり、基台101、胴体部102、2つのアーム103L,103R(ロボットアーム)、及び、2つのセンサ部120L,120Rを有している。
基台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を構成する構造材料は、例えば鉄やアルミニウム等の金属材料により構成されている。
また、図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)となるようになっている。
センサ部120L,120Rは、それぞれ、図2に示すように、ロボット100の外郭を構成する筐体(この例では胴体部102の外郭を構成する筐体)の内側に設けられ、円環形状に形成されたセンサ固定治具121と、少なくとも3つ(この例では3つ)の略直方体状のセンサ122(ひずみセンサ)とにより構成されている。センサ部120Lのセンサ固定治具121は、アーム103Lの内最も基端側に位置するアクチュエータAc2の固定子の基部に取り付けられ、このセンサ固定治具121に設けられた3つのセンサ122は、アーム103Lにかかる力(詳細には、力の大きさそのものではなく、アーム103Lにかかる衝撃力に起因する振動等によるひずみ量)をそれぞれ検出可能となっている。センサ部120Rのセンサ固定治具121は、アーム103Rの内最も基端側に位置するアクチュエータAc9の固定子の基部に取り付けられ、このセンサ固定治具121に設けられた3つのセンサ122は、アーム103Rにかかる力(詳細には、力の大きさそのものではなく、アーム103Rにかかる衝撃力に起因する振動等によるひずみ量)をそれぞれ検出可能となっている。このセンサ部120L,120Rの詳細については、後述する。
なお、この例では、センサ部120L,120Rのセンサ固定治具121を、胴体部102の筐体の内側にそれぞれ設けているが、これに限られず、アーム103L,103Rの筐体の内側にそれぞれ設けるようにしてもよい。また、この例では、センサ122を、センサ固定治具121に3つ設けているが、これに限られず、センサ固定治具121に4つ以上(例えば4つや5つ)設けるようにしてもよい。
上記のように構成されたロボット100は、アーム103L,103Rが上記ベルトコンベア2上の物品Pの両側より内側に向けて動作して、ハンド111L,111Rで物品Pを把持するように、各アクチュエータAc1〜Ac15を含む各駆動部位の動作が、ロボットコントローラ150により制御されている。また、各アクチュエータAc1〜Ac15は、それぞれ、図示しない配線を挿通可能な中空部を有する減速機一体型のサーボモータにより構成されており、各アクチュエータAc1〜Ac15の回転位置は、各アクチュエータAc1〜Ac15に内蔵された図示しないエンコーダからの信号として、ロボットコントローラ150に配線を介して入力されるようになっている。
図3は、ロボットコントローラ150の機能構成を表す機能ブロック図である。
図3において、ロボットコントローラ150は、図示しない演算器、記憶装置、入力装置等を備えたコンピュータにより構成されており、ロボット100の各駆動部位や各センサ122と配線を介して相互通信可能に接続されている。このロボットコントローラ150は、動作指令部151、位置指令遮断部152、平滑化処理部153、サーボ部154、異常検出部155、把持トルク補償部156、及び重力トルク補償部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は、センサ部120L,120Rの各センサ122の出力値V(出力信号)に基づき、アーム103L,103Rに設けられたアクチュエータAc2〜Ac15や減速機等の回転部材の経年劣化等による異常の有無を検出する。なお、これに限られず、アーム103L,103R自身の異常(アクチュエータAc2〜Ac15や減速機等の回転部材の経年劣化等による異常や、アーム103L,103Rの筐体の異常等を含む)の有無を検出するようにしてもよい。この異常検出部155の詳細については、後述する。
位置指令遮断部152は、異常検出部155によりアーム103L,103RのアクチュエータAc2〜Ac15等の異常が検出された場合に、動作指令部151から平滑化処理部153への上記位置指令の出力を遮断し、サーボ部154に伝達される位置指令を遮断する。なお、サーボ部154への位置指令が遮断されると、フィードバックにより出力されるトルク指令Trefの値が減少して、アーム103L,103Rは速やかに停止動作に入る。
把持トルク補償部156は、各アクチュエータAc1〜Ac15に対するサーボ部154により生成される上記トルク指令Trefに、アーム103L,103Rが物品Pを把持するための把持補償トルクを付加する。
重力トルク補償部157は、各アクチュエータAc1〜Ac15に対するサーボ部154により生成される上記トルク指令Trefに、自重分の重力補償トルクを付加する。
図4は、異常検出部155の機能構成を表す機能ブロック図である。
図4において、異常検出部155は、ハイパスフィルタ部161、区間設定部162、規範波形記録部163、出力波形記録部167、比較判定部164、零点調整部165、及び閾値設定部166を有している。
ハイパスフィルタ部161は、センサ部120L,120Rの各センサ122の出力信号に含まれる、アーム103L,103Rの異常に起因する周波数以外の周波数成分(例えば外乱に起因する周波数成分等)を除去するために、各センサ122の出力信号の高周波振動成分をそれぞれ抽出する。このハイパスフィルタ部161の詳細については、後述する。
区間設定部162は、入力装置を介して入力された入力情報に基づき、規範波形記録部163によりセンサ122の出力値Vの時間履歴を波形で表した規範波形として記録する区間(以下適宜、単に「記録区間」と称する)を設定する。
規範波形記録部163は、アーム103L,103Rに異常のない状態で、区間設定部162で設定した記録区間に対応する所定の動作を、アーム103L,103Rが行う間の、ハイパスフィルタ部161により抽出された高周波振動成分に基づく各センサ122の出力値Vの時間履歴を、各センサ122毎に規範波形(後述の図6(b)参照)としてそれぞれ記録する。ここで、アーム103L,103Rに異常がない状態とは、アーム103L,103Rの筐体(構造部材やカバー部材あるいは配線等を含む)、及び、アーム103L,103Rに設けられたアクチュエータAc2〜Ac15や減速機等に、構造上及び機能上の欠陥・故障がなく、これらが正常に動作する状態で、且つ、アーム103L,103Rに意図しない接触や干渉が生じていない状態をいう。例えば、アーム103L,103Rの筐体、及び、アーム103L,103Rに設けられたアクチュエータAc2〜Ac15や減速機等が正常に動作することを点検した直後の状態や、初期不良のない初期稼働時の状態等が該当する。また、所定の動作とは、入力装置を介して教示された教示情報(動作開始位置及び動作完了位置の情報)等に基づいて上記動作指令部151により算出された位置指令に応じた動作である。
出力波形記録部167は、稼働時においてアーム103L,103Rが上記所定の動作を行う間の、ハイパスフィルタ部161により抽出された高周波振動成分に基づく各センサ122の出力値Vの時間履歴を、各センサ122毎に出力波形(後述の図7(b)参照)としてそれぞれ記録する。本実施形態では、稼働時において可動範囲内に把持対象となる物品Pが存在しないとき(例えば物品Pの搬送開始直後や搬送を中断して行う点検時等)にアーム103L,103Rが所定の動作を行う間の、上記各センサ122の出力値Vの時間履歴を、各センサ122毎に出力波形として記録するようになっている。なお、これに限られず、稼働時において可動範囲内に把持対象となる物品Pが存在するときにアーム103L,103Rが上記所定の動作を行う間の、上記各センサ122の出力値Vの時間履歴を、各センサ122毎に出力波形として記録するようにしてもよい。
閾値設定部166は、入力装置を介して入力された入力情報に基づき、比較判定部164における異常有無の判定値となる閾値Dthを設定する。
比較判定部164は、規範波形記録部163に各センサ122毎に記録された規範波形と、出力波形記録部167に各センサ122毎に記録された出力波形とを、各センサ122毎にそれぞれ比較することにより、各センサ122毎に規範波形と出力波形との差(詳細には当該差の絶対値)|D|をそれぞれ算出する。そして、各センサ122毎に算出した差|D|が、一定時間の間(この例ではアーム103L,103Rが上記所定の動作を1回行う間)に閾値設定部166により予め設定された閾値Dthを超えた回数N(以下適宜、「超過回数N」と称する)を、各センサ122毎にそれぞれカウントする。なお、一定時間の間としては、アーム103L,103Rが所定の動作を1回行う間に限られず、例えば入力装置を介して設定した時間の間等でもよい。そして、各センサ122毎にカウントした超過回数Nが、所定の判定回数Njを超えたかどうかを、各センサ122ごとにそれぞれ判定することにより、アーム103L,103RのアクチュエータAc2〜Ac15等の異常の有無を判定する。この比較判定部164の詳細については、後述する。
零点調整部165は、アーム103L,103RのアクチュエータAc2〜Ac15の発熱等による周囲温度の変動や自己発熱によって生じる各センサ122の温度ドリフトの影響を抑制するために、区間設定部162で設定した記録区間に対応する上記所定の動作をアーム103L,103Rが実行する毎に、各センサ122に対しリセット信号をそれぞれ出力して、各センサ122の零点調整をそれぞれ行う。
図5は、センサ部120L,120R、ハイパスフィルタ部161、及び比較判定部164の詳細を説明するための説明図である。なお、この図5中では、上記規範波形記録部163及び出力波形記録部167等の図示を省略している。
図5において、前述したように、センサ部120L,120Rは、それぞれ、胴体部102の筐体の内側に設けられ、円環形状に形成されたセンサ固定治具121と、センサ固定治具121に設けられた3つの略直方体状のセンサ122とにより構成されている。センサ部120L,120Rのセンサ固定治具121は、略中央に、アーム103L,103Rに設けられたアクチュエータAc2〜Ac15等の配線を挿通可能な開口121Aをそれぞれ有している。センサ部120Lの3つのセンサ122は、センサ固定治具121の内側の面、すなわち上記アクチュエータAc2の固定子の基部への取り付け面ではない方の面(図2中左側の面、図5中紙面手前側の面)に、略同一円周上に略等間隔に配置され、各センサ122が放射状の向きとなるように配置されている。センサ部120Rの3つのセンサ122は、センサ固定治具121の内側の面、すなわち上記アクチュエータAc9の固定子の基部への取り付け面ではない方の面(図2中右側の面、図5中紙面手前側の面)に、略同一円周上に略等間隔に配置され、各センサ122が放射状の向きとなるように配置されている。
本実施形態では、各センサ122として、アーム103L,103Rの各部を構成する構造材料である上記金属材料よりも固有振動数(あるいは剛性)が大きい材質の圧電体を有する力センサ、この例では圧電体として水晶が用いられたセンサが、それぞれ使用されている。これは、一般に、固有振動数が大きい力センサほど、より高い周波数成分を含んだ変動力を検出することができ、水晶は、アーム103L,103Rの各部を構成する構造材料である上記金属材料よりも固有振動数(あるいは剛性)が大きいためである。したがって、アーム103L,103Rの各部の構造材料に伝わる微小な高周波振動(速い変形)までも検知することができる。
なお、各センサ122としては、圧電体として水晶が用いられたセンサに限られず、アーム103L,103Rの各部を構成する構造材料よりも固有振動数が大きい圧電体を有する力センサであればよい。ここで、1つのセンサ122は、センサ固定治具121に生じた一方向のひずみを検出するのに対し、アーム103L,103RのアクチュエータAc2〜Ac15や減速機等の回転部材の異常による異常振動や衝撃等は、アーム103L,103Rの各部の構造材料を通じてセンサ固定治具121に対し複数の方向から伝わる。したがって、上記のように各センサ固定治具121に3つのセンサ122を設けることにより、各センサ固定治具121に生じた3方向のひずみを検出することができる。センサ部120Lの各センサ122は、それぞれ、アーム103Lにかかる力に起因するセンサ固定治具121のラジアル方向のひずみ量を電圧として検出し、センサ部120Rの各センサ122は、それぞれ、アーム103Rにかかる力に起因するセンサ固定治具121のラジアル方向のひずみ量を電圧として検出する。各センサ部122で得られた電圧は、アンプ部123を介してそれぞれ増幅され、ハイパスフィルタ部161の各ハイパスフィルタ161A(後述)にそれぞれ入力されるようになっている。
ハイパスフィルタ部161は、センサ122の出力信号の高周波振動成分を抽出可能な複数のハイパスフィルタ161A(又は高周波数帯域を通過帯域とするバンドパスフィルタでもよい)を有しており、これら各ハイパスフィルタ161Aにより、アンプ部123を介して増幅された各センサ122の出力信号の高周波振動成分をそれぞれ抽出する。なお、各ハイパスフィルタ161Aは、アーム103L,103Rの異常に起因する周波数以外の周波数成分(例えばアクチュエータAc2〜Ac15の動作等の接触以外の事象に起因する周波数成分等)を除去できるように、カットオフ周波数が決定されている。
比較判定部164は、上述したように、各センサ122毎にカウントした上記超過回数Nが判定回数Njを超えたかどうかを、各センサ122毎に判定することにより、アーム103L,103RのアクチュエータAc2〜Ac15等の異常の有無を判定する。具体的には、各センサ122に係わる超過回数Nのうち、全てのセンサ122に係わる超過回数Nが判定回数Nj以内である場合には、アクチュエータAc2〜Ac15等に異常がないと判定し、各センサ122に係わる超過回数Nのうち、いずれか1つのセンサ122に係わる超過回数Nが判定回数Njを超えた場合には、アクチュエータAc2〜Ac15等に異常があると判定する。
なお、比較判定部164は、アーム103L,103Rの動作速度に応じて上記判定回数Njを変更しつつ上記判定を行っている。すなわち、アーム103L,103RのアクチュエータAc2〜Ac15や減速機等の回転部材に経年劣化による異常等があり、アーム103L,103Rが動作する際に周期的な異常振動や衝撃等を生じる場合、アーム103L,103Rの動作速度が速い場合には周期的な異常振動等の回数は多くなり、動作速度が遅い場合には周期的な異常振動等の回数は少なくなる。このため、上記判定回数Njを一定の値とした場合には、動作速度によっては異常の誤検出を招くことになる。そこで本実施形態では、比較判定部164がアーム103L,103Rの動作速度に応じて判定回数Njを変更しつつ上記判定を行うことで、このような誤検出を防止している。
図6は、アーム103L,103Rが異常のない状態で実行する所定の動作、及び、その間のセンサ122の出力値Vを説明するための説明図である。
図6(a)には、アーム103L,103Rが異常のない状態で実行する所定の動作の一例を模式的に表している。図6(a)に示す例では、アーム103L,103Rは、例えば教示時に、アーム103L,103Rに異常がない状態、且つ、把持対象である物品Pが存在せず、ロボット100の周囲(アーム103L,103Rの可動範囲内)に障害物が存在しないような環境下、すなわちアーム103L,103Rに対する物体の接触がない状態で、ロボットコントローラ150からの上記位置指令に応じた所定の動作、すなわち教示された動作開始位置(図6(a)中左側に示す位置)から教示された動作完了位置(図6(a)中右側に示す位置)までの動作を実行している。なお、動作完了位置は、ハンド111L,111Rが上記ベルトコンベア2により搬送される物品Pのうち最小の物品Pを把持可能な位置に設定されている。
図6(b)には、横軸に時間tをとり、縦軸にセンサ122の出力値Vをとって、上記図6(a)に示す動作に対応して規範波形記録部163に記録された規範波形の一例を表している。図6(b)に示す例では、規範波形記録部163には、アーム103L,103Rが異常のない状態で前述の記録区間に対応する上記図6(a)に示す動作を1回行う間のセンサ122の出力値Vの時間履歴が、規範波形として記録されている。なお、規範波形の記録は、アーム103L,103Rに異常がない状態であればいつでも可能であるが、本実施形態ではロボット100への所定の動作の教示時に記録する場合を一例として説明する。
図7は、稼働時においてアーム103L,103Rが実行する所定の動作、及び、その間のセンサ122の出力値Vを説明するための説明図である。
図7(a)には、稼働時においてアーム103L,103Rが実行する所定の動作の一例を模式的に表している。図7(a)に示す例では、アーム103L,103Rは、稼働時において可動範囲内に把持対象である物品Pが存在しないとき(例えば物品Pの搬送開始直後や搬送を中断して行う点検時等)に、アーム103L,103RのアクチュエータAc2〜Ac15や減速機等の回転部材に経年劣化による異常のある状態で、ロボットコントローラ150からの上記位置指令に応じた上記所定の動作、すなわち教示された動作開始位置(図7(a)中左側に示す位置)から教示された動作完了位置(図7(a)中右側に示す位置)までの動作を実行している。なお、この図7(a)に示す例では、アーム103L,103Rは、上記のように可動範囲内に把持対象である物品Pが存在しないときに上記所定の動作を実行する場合を示しているので、ハンド111L,111Rで物品Pを把持することなく、上記図6(a)と同様の動作完了位置まで動作を実行している。なお、図示はしていないが、把持対象である物品Pが存在する場合には、アーム103L,103Rは、動作開始位置から上記ベルトコンベア2上の物品Pの両側より内側に向けて動作し、アーム103L,103Rに対して物品Pが接触したら、その位置で動作を停止してハンド111L,111Rで物品Pを把持するようになっている。
図7(b)には、横軸に時間tをとり、縦軸にセンサ122の出力値Vをとって、上記図7(a)に示す動作に対応して出力波形記録部167に記録された出力波形の一例を表している。図7(b)に示す例では、出力波形記録部167には、アーム103L、103RがアクチュエータAc2〜Ac15や減速機等の回転部材に経年劣化による異常のある状態で上記図7(a)に示す動作を1回行う間のセンサ122の出力値Vの時間履歴が、出力波形として記録されている。ここで、この例のように、アーム103L,103RのアクチュエータAc2〜Ac15や減速機等の回転部材に経年劣化による異常等がある場合には、異常箇所が回転位相中に周期的にあらわれるためアーム103L,103Rが動作する際に周期的な異常振動や衝撃等を生じ易い。一般に、アーム103L,103Rに異常振動や衝撃等が生じたときには、アーム103L,103Rに当該異常振動や衝撃等に起因する衝撃力が伝達されるので、異常振動や衝撃等が生じていないときに比べて、センサ122の出力値Vが大きくなる傾向にある。したがって、アクチュエータAc2〜Ac15や減速機等の回転部材に経年劣化による異常等がある場合には、出力波形中にセンサ122の出力値Vが大きくなる区間が周期的に存在することになる。図7(b)に示す出力波形中には、周期的にセンサ122の出力値Vが大きくなる区間が4箇所存在している。
図8は、アーム103L,103Rの異常の有無を検出する手法の一例を説明するための説明図である。図8(a)には、横軸に時間tをとり、縦軸にセンサ122の出力値Vをとって、上記図6(b)に対応する規範波形を表すと共に、上記図7(b)に対応する出力波形を表している。図8(b)には、横軸に時間tをとり、縦軸に上記差|D|をとって、差|D|の時系列変化を波形で表している。
図8(a)(b)において、上述したように、アーム103L,103Rに異常がある場合、出力波形中にセンサ122の出力値Vが大きくなる区間が周期的に存在する。したがって、アーム103L,103Rに異常のない状態で規範波形記録部163に記録した教示時の規範波形と、出力波形記録部167に記録した稼働時の出力波形との2つの波形同士を比較することで、規範波形に対する出力波形の周期的な変動を検出することができるので、アーム103L,103RのアクチュエータAc2〜Ac15等に異常があるかどうかを検出することができる。すなわち、規範波形と出力波形との差|D|がアーム103L,103Rが上記所定の動作を1回行う間に前述の閾値Dthを超えた超過回数Nが、アーム103L,103Rの動作速度に応じた前述の判定回数Njを超えたかどうかを判定することにより、のアクチュエータAc2〜Ac15等の異常の有無を判定することができる。具体的には、超過回数Nが判定回数Nj以内である場合には、アクチュエータAc2〜Ac15等に異常がないと判定し、超過回数Nが判定回数Njを超えた場合に、アクチュエータAc2〜Ac15等に異常があると判定することができる。図8(a)(b)に示す例では、上記超過回数Nは図8(b)に示すように「4」であるので、上記判定回数Njが「3」以下である場合に、アクチュエータAc2〜Ac15等に異常があると判定される。
図9は、ロボットコントローラ150が実行する制御手順を表すフローチャートである。
図9において、このフローに示す処理は、例えば入力装置を介して所定の動作開始操作が行われることによって開始される。まずステップS10で、ロボットコントローラ150は、入力装置を介して入力された入力情報に基づき、ロボット100の動作モードが、教示を行う「教示モード」と、稼働を行う「稼働モード」とのうち、「教示モード」であるかどうかを判定する。ロボット100の動作モードが「教示モード」である場合には、ステップS10の判定が満たされて、ステップS20に移る。
ステップS20では、ロボットコントローラ150は、区間設定部162において、入力装置を介して入力された入力情報に基づき、前述の記録区間を設定する。
その後、ステップS30で、ロボットコントローラ150は、零点調整部165において、各センサ122に対し上記リセット信号を出力して、各センサ122の零点調整を行う。
そして、ステップS40に移り、ロボットコントローラ150は、入力装置を介して教示された各アーム103L,103Rに対する教示情報(動作開始位置及び動作完了位置の情報)等に基づいて動作指令部151において算出した各アクチュエータAc1〜Ac15に対する位置指令を、各アクチュエータAc1〜Ac15に対して出力して、アーム103L,103Rに異常のない状態、且つ、アーム103L,103Rに対する物体の接触のない状態で、アーム103L,103Rに当該位置指令に応じた所定の動作(図6(a)参照)を開始させる。
その後、ステップS50で、ロボットコントローラ150は、規範波形記録部163において、各センサ122毎に規範波形の記録を開始する。したがって、アーム103L,103Rに異常のない状態且つ物体の接触のない状態で、上記ステップS20で設定した記録区間に対応する上記ステップS40で開始した所定の動作をアーム103L,103Rが行う間は、規範波形記録部163は、上記アンプ部123を介して増幅され、上記各ハイパスフィルタ161Aにより抽出された高周波振動成分に基づく各センサ122の出力値Vの時間履歴を、各センサ122毎に規範波形として記録する。
そして、アーム103L,103Rが動作完了位置まで動作したら、ステップS60に移り、ロボットコントローラ150は、アーム103L,103Rに動作を完了させる。
その後、ステップS70で、ロボットコントローラ150は、規範波形記録部163において、各センサ122についての規範波形の記録を完了する。そして、このフローに示す処理を終了する。なお、このフローに示す処理は、入力装置を介して所定の動作開始操作が行われる度に、ロボットコントローラ150により実行される。
一方、上記ステップS10において、ロボット100の動作モードが「稼働モード」であった場合には、ステップS10の判定が満たされず、ステップS80に移る。
ステップS80では、ロボットコントローラ150は、閾値設定部166において、入力装置を介して入力された入力情報に基づき、前述の閾値Dthを設定する。
そして、ステップS90に移り、ロボットコントローラ150は、零点調整部165において、上記ステップS30と同様、各センサ122の零点調整を行う。
その後、ステップS100で、ロボットコントローラ150は、入力装置を介して教示された各アーム103L,103Rに対する教示情報(動作開始位置及び動作完了位置の情報)等に基づいて動作指令部151において算出した各アクチュエータAc1〜Ac15に対する位置指令を、各アクチュエータAc1〜Ac15に対して出力して、アーム103L,103Rの可動範囲内に把持対象である物品Pが存在しないときに、アーム103L,103Rに当該位置指令に応じた所定の動作(図7(a)参照)を開始させる。
そして、ステップS110に移り、ロボットコントローラ150は、出力波形記録部167において、各センサ122毎に出力波形の記録を開始する。したがって、アーム103L,103Rの可動範囲内に把持対象である物品Pが存在しないときに、上記ステップS40で開始した所定の動作をアーム103L,103Rが行う間は、出力波形記録部167は、上記アンプ部123を介して増幅され、上記各ハイパスフィルタ161Aにより抽出された高周波振動成分に基づく各センサ122の出力値Vの時間履歴を、各センサ122毎に出力波形として記録する。
その後、アーム103L,103Rが動作完了位置まで動作したら、ステップS120に移り、ロボットコントローラ150は、アーム103L,103Rに動作を完了させる。
そして、ステップS130に移り、ロボットコントローラ150は、出力波形記録部167において、各センサ122についての出力波形の記録を完了する。
その後、ステップS140で、ロボットコントローラ150は、比較判定部164において、上記規範波形記録部163に各センサ122毎に記録された規範波形と、上記出力波形記録部167に各センサ122毎に記録された出力波形とを、各センサ122毎に比較することにより、各センサ122毎に前述の差|D|を算出する。そして、各センサ122毎に算出した差|D|が、上記ステップS100で開始しステップS120で完了した所定の動作をアーム103L,103Rが1回行う間に、上記ステップS80で設定した閾値Dthを超えた超過回数Nを、各センサ122毎にカウントする。そして、各センサ122毎にカウントした超過回数Nが、アーム103L,103Rの動作速度に応じて設定した判定回数Njを超えたかどうかを、各センサ122毎に判定することにより、アーム103L,103RのアクチュエータAc2〜Ac15等の異常の有無を判定する。具体的には、全てのセンサ122に係わる超過回数Nが判定回数Nj以内である場合には、アクチュエータAc2〜Ac15等に異常がないと判定し、いずれか1つのセンサ122に係わる超過回数Nが判定回数Njを超えた場合には、アクチュエータAc2〜Ac15等に異常があると判定する。
そして、ステップS150に移り、ロボットコントローラ150は、上記ステップS140でアクチュエータAc2〜Ac15等に異常があると判定されたかどうかを判定する。アクチュエータAc2〜Ac15等に異常がないと判定されていた場合には、ステップS150の判定が満たされず、このフローに示す処理を終了する。一方、アクチュエータAc2〜Ac15等に異常があると判定されていた場合には、ステップS150の判定が満たされて、ステップS160に移る。
ステップS160では、ロボットコントローラ150は、位置指令遮断部152において、動作指令部151から平滑化処理部153への上記位置指令の出力を遮断すると共に、サーボ部154により生成される前述のトルク指令Trefを各アクチュエータAc1〜Ac15に出力して、アーム103L,103Rに教示された動作を停止させると共に、図示しない報知部において、アーム103L,103Rの異常を外部に報知する。その後、このフローに示す処理を終了する。
以上説明したように、本実施形態のロボット100は、アーム103L,103Rを有しており、それらアーム103L,103Rの最も基端部に位置するアクチュエータAc2,Ac9の基部に設けられたセンサ固定治具121には、アーム103L,103Rの各部を構成する構造材料(上記の例では鉄やアルミニウム等の金属材料)よりも固有振動数が大きい圧電体を有するセンサ122が(上記の例では3つ)設けられている。センサ122をアーム103L,103Rの各部を構成する構造材料よりも固有振動数が大きい圧電体を有するセンサとしたことにより、次の効果を得ることができる。すなわち、アーム103L,103RのアクチュエータAc2〜Ac15や減速機等の回転部材に経年劣化による異常等がある場合、アーム103L,103Rが動作する際に周期的な異常振動や衝撃等を生じる場合がある。そこでアーム103L,103Rの各部の構造材料よりも固有振動数が大きい圧電体を有するセンサ122を設けることによって、上記異常によりアーム103L,103Rの各部の構造材料に生じた高い周波数の異常振動や衝撃を検出することができ、アーム103L,103RのアクチュエータAc2〜Ac15等の異常の有無をも検出することができるので、ロボット100の機能性を向上することができる。
さらに、センサ122をアーム103L,103Rの内最も基端側に位置するアクチュエータAc2,Ac9の基部に設けるので、その先端側にある全てのアクチュエータAc2〜Ac15や減速機等の回転部材による異常振動等を検出することができる。すなわち、アーム103L,103Rの全体について異常を検出することができる。
また、本実施形態では、センサ固定治具121を胴体部102の筐体の内側に設けている。これにより、各センサ122を筐体内に設けることができるので、筐体外部の物体の接触や衝突等によるセンサ122の破損等を防止できる。また、筐体外部の液滴や粉塵等からセンサ122を保護できる効果もある。
また、本実施形態では特に、センサ122は、センサ固定治具121に3つ設けられている。そして、3つのセンサが、同一円周上に等間隔に配置され、各センサ122が放射状の向きとなるように配置されている。センサ122を3つ設けることにより、センサ固定治具121に生じた3方向のひずみを検出することができ、異常振動や衝撃等を高精度に検出することができる。また、3つのセンサ122を、同一円周上に等間隔、且つ、放射状の向きとなるように配置することにより、センサ122の検出感度を一方向に偏らせることなく、周方向に略均一にすることができる。したがって、アーム103L,103Rの各部の構造材料を通じてセンサ固定治具121に対し複数の方向から伝わる異常振動や衝撃等を、高精度に検出することができる。
また、本実施形態では特に、センサ固定治具121は、略中央に開口121Aを有する円環形状に形成されている。アーム103L,103Rの基端側に位置するセンサ固定治具121を、略中央に開口121Aを有する円環形状に形成することにより、アーム103L,103RのアクチュエータAc2〜Ac15等の配線をセンサ固定治具121の開口121A内に挿通して(胴体部102側に)引き回すことができる。これにより、配線を筐体の外部に露出させることなく引き回すことができるので、配線を保護できると共に、ロボット100の外観性も向上できる。
また、本実施形態では特に、各センサ122は、圧電体として水晶が用いられたセンサである。これにより、アーム103L,103RのアクチュエータAc2〜Ac15や減速機等の回転部材の経年劣化による異常等によりアーム103L,103Rの各部の構造材料に生じた高い周波数の異常振動や衝撃を確実に検出することができ、アーム103L,103RのアクチュエータAc2〜Ac15等の異常の有無をより高精度に検出することができる。
なお、本発明は、上記実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を説明する。
(1)物体の接触検出に適用する場合
上記実施形態では、本発明のロボットをアーム103L,103Rの異常検出に適用したが、これに限られず、本発明のロボットをアーム103L,103Rに対する物体の接触検出に適用してもよい。
本変形例では、ロボットコントローラ150の図示しない接触検出部が、上記センサ部120L,120Rの各センサ122の出力値V(出力信号)に基づき、アーム103L,103Rに対する物体の接触の有無を検出する。なお、本明細書では、「もの」として認識しうる対象物を物体と定義する。したがって、物体には、ロボット100による把持対象である物品P、ロボット100自身、前述のベルトコンベア2などの作業機器、壁などの建造物の一部、人体などの生物体等が含まれる。
ここで、前述したように、センサ部120L,120Rの各センサ122は、アーム103L,103Rにかかる力を検出している。アーム103L,103Rにかかる力としては、アーム103L,103R自身の動作によって生じる内力、及び、アーム103L,103Rに外部から作用する外力が考えられる。アーム103L,103Rが前述の図6(a)に示すような物体の接触がない状態において動作する間は、アーム103L,103Rに外力が作用していないので、各センサ122は、内力に起因する振動だけを検出する。一方、アーム103L,103Rに対して物体が接触した際には、アーム103L,103Rに内力に加え外力が作用するので、各センサ122は、内力及び外力に起因する振動を検出する。このため、アーム103L,103Rに対して物体が接触した際には、外力に起因する分だけセンサ122の出力値Vが大きくなる。そこで本変形例では、接触検出部が、稼働時においてアーム103L,103Rが所定の動作を行う際のセンサ122の出力値Vと、アーム103L,103Rが物体の接触のない状態で所定の動作を行う間のセンサ122の出力値Vとして予め記録された規範波形とを比較することにより、アーム103L,103Rに対する物体の接触の有無を判定する。
図10には、稼働時においてアーム103L,103Rが実行する所定の動作の一例を模式的に表している。図10に示す例では、アーム103L,103Rは、稼働時において、ロボット100の周囲(アーム103L,103Rの可動範囲内)に障害物Bが存在する環境下で、ロボットコントローラ150からの上記位置指令に応じた所定の動作、すなわち教示された動作開始位置(図10中左側に示す位置)から教示された動作完了位置までの動作を実行している。このとき、接触検出部は、上記のような手法を用いてアーム103L,103Rに対する物体の接触の有無を判定する。そして、アーム103L,103Rが動作開始位置からベルトコンベア2(図10では図示省略)上の物品Pの両側より内側に向けて動作し、動作完了位置まで動作するまでの間に接触検出部によりアーム103L,103Rに対する物体(この例では障害物B)の接触が検出された場合には、ロボットコントローラ150は、その位置(図10中右側に示す位置)でアーム103L,103Rの動作を停止させる。
なお、この例では、アーム103L,103Rに対する障害物Bの接触を検出して、当該接触を検出した際に動作を停止させるように制御する場合を例にとって説明したが、これに限られず、アーム103L,103Rに対する物品Pの接触を検出して、当該接触を検出した際に動作を停止させてハンド111L,111Rで物品Pを把持させるように制御することもできる。
本変形例においても、上記実施形態と同様の効果を得ることができる。また、センサ122により、アーム103L,103Rに作用した外力を検出することができるので、アーム103L,103Rに対する物体の接触の有無を検出することができる。さらに、前述したようにセンサ122をアーム103L,103Rの内最も基端側に位置するアクチュエータAc2,Ac9の基部に設けているので、その先端側での接触を検出することができる。すなわち、アーム103L,103Rの全体について接触を検出することができる。したがって、ロボット100自身あるいはロボット100の周囲に存在する物体に対して過剰な負荷が生じることを回避することができる。
(2)単腕ロボットに適用する場合
以上においては、本発明を2つのアーム103L、103Rを有する双腕ロボットであるロボット100に適用していたが、これに限られず、本発明を1つのロボットアームを有する単腕ロボットに適用してもよい。この場合も、上記実施形態や(1)の変形例と同様の効果を得ることができる。
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。