(57)【要約】【課題】ユーザーの作業負担を増加させることなく、可動部を回動させるモータの故障診断を適切に実行する。【解決手段】ロボットハンドのＥＣＵは、可動部を回動させるモータのキャリブレーションが開始される場合（Ｓ１００にてＹＥＳ）、キャリブレーション動作を行なうための駆動制御を実行するステップ（Ｓ１０２）と、各モータの速度を算出するステップ（Ｓ１０４）と、故障と判定されるモータがある場合（Ｓ１０６にてＹＥＳ）、故障通知処理を実行するステップ（Ｓ１０８）と、故障と判定されるモータがない場合（Ｓ１０６にてＮＯ）、キャリブレーション動作が終了したか否かを判定するステップ（Ｓ１１０）とを含む、制御処理を実行する。【選択図】図３
2016047567.tif 000002
【特許請求の範囲】
【請求項１】
回動可能な可動部を有する指部を複数備えるロボットハンドであって、
前記可動部を回動させるための回転軸を有するモータと、
前記モータの前記回転軸の回転量を検出するエンコーダと、
前記エンコーダの出力に基づいて前記モータを制御する制御装置とを備え、
前記制御装置は、前記モータに対して予め設定された制御指令値を入力して駆動させるとともに前記モータの回転速度を検出し、前記モータの回転速度が故障判定速度よりも低い場合に前記モータが故障していると判定する故障判定処理を、前記可動部の基準位置を検出するキャリブレーションの実行中、対象物の把持を行なう際の把持準備動作の実行中および把持している対象物を解放する把持解除動作の実行中のうちの少なくともいずれかで実行する、ロボットハンド。
【請求項２】
複数の前記指部には、それぞれ、前記可動部が複数個設けられ、
前記モータと前記エンコーダとは、複数の前記可動部の各々に設けられ、
前記制御装置は、前記ロボットハンドの電源が投入されると、複数の前記可動部に対する前記キャリブレーションを実行するとともに複数の前記モータの各々に対して前記故障判定処理を実行する、請求項１に記載のロボットハンド。
【請求項３】
複数の前記指部には、それぞれ、前記可動部が複数個設けられ、
前記モータと前記エンコーダとは、複数の前記可動部の各々に設けられ、
前記制御装置は、複数の前記指部を用いて前記対象物を把持する場合に、複数の前記指部における前記可動部の各々を、前記基準位置から前記対象物を把持するための把持準備位置に移動させる前記把持準備動作を実行するとともに、前記可動部を回動させる前記モータに対して前記故障判定処理を実行する、請求項１または２に記載のロボットハンド。
【請求項４】
複数の前記指部には、それぞれ、前記可動部が複数個設けられ、
前記モータと前記エンコーダとは、複数の前記可動部の各々に設けられ、
前記制御装置は、複数の前記指部により把持されている前記対象物を解放する場合に、複数の前記指部における前記可動部の各々を前記対象物に接触する位置から離隔した位置に移動させる前記把持解除動作を実行するとともに、前記可動部を回動させる前記モータに対して前記故障判定処理を実行する、請求項１〜３のいずれかに記載のロボットハンド。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットハンドの可動部を回動させるモータの故障診断に関する。
【背景技術】
【０００２】
複数のアーム構成ユニットが関節部を介して連結されたアームを備えるロボットアームや複数の指構成ユニットが関節部を介して連結された指部を備えるロボットハンドにおいては、アームや指部の位置制御は、原点位置を基準にして行なわれる。しかしながら、電源をオフした際のアームや指部の停止位置は、場合によって異なる。このため、電源をオンにした際には、アームや指部を一旦原点位置に復帰させ、そこから教示内容に従って動作を開始するようになっている。このような従来のロボット装置として、たとえば、特開昭６２−６３３０２号公報（特許文献１）および特開平３−１１９４０５号公報（特許文献２）には、ロボットのアーム等の可動部の機械原点位置を検出する技術（キャリブレーション）が開示されている。
【０００３】
また、従来のロボット装置では、長時間使用や高負荷状態での使用により可動部を回動させるモータが劣化または故障することがあるため、モータの不調に気づいたユーザーが任意のタイミングで故障診断を実施している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６２−６３３０２号公報
【特許文献２】特開平３−１１９４０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ロボット装置の可動部を回動させるモータは、その寿命が有限であるため、故障して動かなくなる前に交換することが必要となる。このため、一定期間毎にモータを交換することが考えられるが、故障してもいないのに交換することになると手間やコストが上昇するため、各モータは故障する寸前まで利用されることが要求されている。しかしながら、従来の故障診断は、ユーザーが任意のタイミングで実行するものであるため、故障診断の作業負担が増加することやロボット装置を使用できない待ち時間が発生するなどの理由により、ユーザーによっては、適切なタイミングで故障診断が実行されない虞がある。
【０００６】
本発明は、上述した課題を解決するためになされたものであって、その目的は、ユーザーの作業負担を増加させることなく、可動部を回動させるモータの故障診断を適切に実行するロボットハンドを提供することである。
【課題を解決するための手段】
【０００７】
この発明のある局面に係るロボットハンドは、回動可能な可動部を有する指部を複数備えるロボットハンドである。このロボットハンドは、可動部を回動させるための回転軸を有するモータと、モータの回転軸の回転量を検出するエンコーダと、エンコーダの出力に基づいてモータを制御する制御装置とを備える。制御装置は、モータに対して予め設定された制御指令値を入力して駆動させるとともにモータの回転速度を検出し、モータの回転速度が故障判定速度よりも低い場合にモータが故障していると判定する故障判定処理を、可動部の基準位置を検出するキャリブレーションの実行中、対象物の把持を行なう際の把持準備動作の実行中および把持している対象物を解放する把持解除動作の実行中のうちの少なくともいずれかで実行する。
【０００８】
好ましくは、複数の指部には、それぞれ、可動部が複数個設けられる。モータとエンコーダとは、複数の可動部の各々に設けられる。制御装置は、ロボットハンドの電源が投入されると、複数の可動部に対するキャリブレーションを実行するとともに複数のモータの各々に対して故障判定処理を実行する。
【０００９】
さらに好ましくは、複数の指部には、それぞれ、可動部が複数個設けられる。モータとエンコーダとは、複数の可動部の各々に設けられる。制御装置は、複数の指部を用いて対象物を把持する場合に、複数の指部における可動部の各々を、基準位置から対象物を把持するための把持準備位置に移動させる把持準備動作を実行するとともに、可動部を回動させるモータに対して故障判定処理を実行する。
【００１０】
さらに好ましくは、複数の指部には、それぞれ、可動部が複数個設けられる。モータとエンコーダとは、複数の可動部の各々に設けられる。制御装置は、複数の指部により把持されている対象物を解放する場合に、複数の指部における可動部の各々を対象物に接触する位置から離隔した位置に移動させる把持解除動作を実行するとともに、可動部を回動させるモータに対して故障判定処理を実行する。
【発明の効果】
【００１１】
この発明によると、可動部の基準位置を検出するキャリブレーションの実行中、対象物の把持を行なう際の把持準備動作の実行中および把持している対象物を解放する把持解除動作の実行中のうちの少なくともいずれかの実行中に故障判定処理が実行されるので、故障診断を実行するための時間を別途必要とせず、また、ユーザーが故障診断を実行するための作業を行なう必要がない。したがって、ユーザーの作業負担を増加させることなく、可動部を回動させるモータの故障診断を適切に実行するロボットハンドを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】ロボットハンドの構成を模式的に示す図である。
【図２】ＥＣＵの機能ブロック図である。
【図３】第１の実施の形態において、ＥＣＵで実行される制御処理を示すフローチャートである。
【図４】モータの回転速度に基づく故障判定を説明するための図である。
【図５】対象物の把持または把持されている対象物の解放を行なう場合のロボットハンドの可動部の動作を説明するための図である。
【図６】第２の実施の形態において、ＥＣＵで実行される制御処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号が付されている。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返されない。
【００１４】
図１は、本実施の形態に係るロボットハンド１の構成を模式的に示す図である。なお、図１に示すロボットハンド１の構成は例示であって、図１に示す構成に限定されるものではない。
【００１５】
ロボットハンド１は、対象物を把持するためのハンド部１０と、ハンド部１０の動きを制御するＥＣＵ（Electronic  Control  Unit）１００とを含む。
【００１６】
ハンド部１０は、２本の指部２０と、２本の指部２０が所定距離を隔てて支持されるベース部３０とを含む。なお、本実施の形態では、指部２０の本数を２本とする例を説明するが、指部の本数は２本に限定されるものではなく、３本以上であってもよいし１本であってもよい。
【００１７】
各指部２０は、指先部２１と、第１関節部２２と、指元部２３と、第２関節部２４とを含む。指元部２３の一端は第２関節部２４を介してベース部３０に接続され、指元部２３の他端は第１関節部２２を介して指先部２１に接続される。なお、本実施の形態では、指部２０の関節数を２つとしているが、指部の関節数は２つに限定されるものではなく、１つであってもよいし、３つ以上としてもよい。
【００１８】
第１関節部２２は、指先部２１と指元部２３との間に設けられ、指先部２１を指元部２３に対して可動方向αに回動可能に支持する。なお、以下では、指先部２１が対象物を把持する方向（他方の指部２０に近づく方向）を「閉じ方向」ともいい、指先部２１が対象物を放す方向（他方の指部２０から離れる方向）を「開き方向」ともいう。
【００１９】
第１関節部２２は、指先部２１を可動方向αに回動させるための第１モータ（たとえば超音波モータ）５０と、第１モータ５０の回転状態を検出する第１インクリメンタルエンコーダ（以下、単に「第１エンコーダ」という）４０とを含む。
【００２０】
第２関節部２４は、指元部２３とベース部３０との間に設けられ、指元部２３をベース部３０に対して可動方向βに回動可能に支持する。なお、以下では、指元部２３が対象物を把持する方向（他方の指部２０に近づく方向）を「閉じ方向」ともいい、指元部２３が対象物を放す方向（他方の指部２０から離れる方向）を「開き方向」ともいう。
【００２１】
第２関節部２４は、指元部２３を可動方向βに回動させるための第２モータ（たとえば、超音波モータ）６０と、第２モータ６０の回転状態を検出する第２インクリメンタルエンコーダ（以下、単に「第２エンコーダ」という）４２とを含む。
【００２２】
ＥＣＵ１００は、指部２０を用いて対象物を把持する場合、各指元部２３を閉じ方向に回動させるとともに、各指先部２１を閉じ方向に回動させて対象物を把持するように各指部２０の第１モータ５０および第２モータ６０を制御する。
【００２３】
また、ＥＣＵ１００は、指部２０が把持している対象物を解放する場合、たとえば、各指先部２１を開き方向に回動させて対象物を放すように各指部２０の第１モータ５０を制御する。
【００２４】
なお、ＥＣＵ１００は、指部２０が把持している対象物を解放する場合、各指先部２１に代えてまたは加えて各指元部２３を開き方向に回動させて対象物を放すように各指部２０の第１モータ５０または第２モータ６０を制御するようにしてもよい。
【００２５】
ＥＣＵ１００は、第１エンコーダ４０の検出結果に基づいて第１モータ５０の回転状態（たとえば、回転位置）を把握し、その把握結果を用いて第１モータ５０に対する指令信号を生成する。さらに、ＥＣＵ１００は、第２エンコーダ４２の検出結果に基づいて第２モータ６０の回転状態（たとえば、回転位置）を把握し、その把握結果を用いて第２モータ６０に対する指令信号を生成する。
【００２６】
表示装置２００は、ＥＣＵ１００からの制御信号に応じてロボットハンド１の状態等の情報を表示する。表示装置２００は、液晶パネルであってもよいし、予め定められたマークを点灯させる点灯装置であってもよい。なお、表示装置２００に代えて、たとえば、警告音や音声等によってロボットハンド１の状態等の情報を通知する通知装置を用いてもよい。本実施の形態において、表示装置２００は、たとえば、各指部２０の各第１モータ５０や各第２モータ６０の故障判定結果や故障の発生によるロボットハンド１の交換を促す旨を表示する。
【００２７】
以上のような構成において、ロボットハンド１の可動部を回動させる第１モータ５０および第２モータ６０は、その寿命が有限であるため、故障して動かなくなる前に交換することが必要となる。このため、一定期間毎に第１モータ５０および第２モータ６０を交換することが考えられるが、故障してもいないのに交換することになると手間やコストが上昇するため、各モータは故障する寸前まで利用されることが要求されている。しかしながら、従来の故障診断は、ユーザーが任意のタイミングで実行するものであるため、故障診断の作業負担が増加することやロボットハンド１を使用できない待ち時間が発生するなどの理由により、ユーザによっては、適切なタイミングで故障診断が実行されない虞がある。
【００２８】
そこで、本実施の形態に係るロボットハンド１においては、ＥＣＵ１００が、モータ（第１モータ５０または第２モータ６０）に対して予め設定された制御指令値を入力して駆動させるとともにモータの回転速度を検出し、モータの回転速度が故障判定速度よりも低い場合にモータが故障していると判定する故障判定処理を、可動部（指先部２１または指元部２３）の基準位置を検出するキャリブレーションの実行中、対象物の把持を行なう際の把持準備動作の実行中および把持している対象物を解放する把持解除動作の実行中のうちの少なくともいずれかで実行する点を特徴とする。
【００２９】
このようにすると、可動部の基準位置を検出するキャリブレーションの実行中、対象物の把持を行なう際の把持準備動作の実行中および把持している対象物を解放する把持解除動作の実行中のうちの少なくともいずれかの実行中に故障判定処理が実行されるので、故障診断を実行するための時間を別途必要とせず、また、ユーザーが故障診断を実行するための作業を行なう必要がない。そのため、ユーザーの作業負担を増加させることなく、モータの故障診断を適切に実行することができる。
【００３０】
本実施の形態において、ＥＣＵ１００は、キャリブレーションの実行中に各第１モータ５０および各第２モータ６０の故障判定処理を実行する。
【００３１】
図２に、本実施の形態に係るロボットハンド１のＥＣＵ１００の機能ブロック図を示す。ＥＣＵ１００は、キャリブレーション開始判定部１０２と、駆動制御部１０４と、速度算出部１０６と、故障判定部１０８と、通知部１１０と、動作終了判定部１１２とを含む。なお、これらの構成は、プログラム等のソフトウェアにより実現されてもよいし、ハードウェアにより実現されてもよい。
【００３２】
キャリブレーション開始判定部１０２は、キャリブレーションが開始されるか否かを判定する。キャリブレーション開始判定部１０２は、ロボットハンド１の電源が投入された後であって、かつ、キャリブレーションが未実施の場合には、キャリブレーションが開始されると判定する。なお、キャリブレーション開始判定部１０２は、たとえば、キャリブレーションの動作が完了したときにオン状態にされ、電源遮断時あるいは次回の電源投入時にオフ状態にされるキャリブレーションの実施フラグの状態に基づいてキャリブレーションが未実施であるか否かを判定する。
【００３３】
駆動制御部１０４は、キャリブレーション開始判定部１０２によってキャリブレーションが開始されると判定される場合には、各第１モータ５０および各第２モータ６０のキャリブレーション動作を開始する。
【００３４】
以下に、第１モータ５０のキャリブレーション動作について説明する。第１モータ５０によって回動される指先部２１は、図示しない第１ストッパおよび第２ストッパ（いわゆる「当て止め」）によって回動範囲が規制される。すなわち、指先部２１の回動可能範囲は、第１ストッパと第２ストッパとの間の範囲に物理的に制限される。そのため、第１モータ５０の回転可能範囲も、指先部２１が第１ストッパで制限される位置に対応する第１モータ５０の回転位置（第１規制位置）と指先部２１が第２ストッパで制限される位置に対応する第１モータ５０の回転位置（第２規制位置）との間の範囲に物理的に制限される。
【００３５】
ＥＣＵ１００は、指部２０を用いて、対象物を把持する動作または把持している対象物を解放する動作を行なう際に第１モータ５０を駆動する場合には、第１規制位置と第２規制位置との間に設けられる第１制御位置と第２制御位置との間で第１モータ５０を制御する。
【００３６】
キャリブレーション動作においては、ＥＣＵ１００は、第１エンコーダ４０からの信号を検出して、指先部２１を第１制御位置と第２制御位置との間の予め定められた基準位置に位置させるように第１モータ５０を制御する。
【００３７】
キャリブレーション動作が開始されると、第１モータ５０は、予め定められた方向、たとえば、第１規制値の側に回転される。第１エンコーダ４０が、たとえば、第１規制位置の近傍に設定された原点信号を検出すると、ＥＣＵ１００は第１モータ５０の回転を停止し、その後、第１モータ５０を所定角度だけ逆方向に回転して停止するように制御する。この一連の動作により、キャリブレーション動作が完了し、指先部２１が基準位置に位置することとなる。なお、キャリブレーション動作については、上述のような動作に限定されるものではなく、たとえば、第１規制位置の近傍に設定された原点信号を検出する代わりに、第１規制位置または第２規制位置を検出して第１モータ５０を逆回転するように制御してもよい。
【００３８】
第２モータ６０のキャリブレーション動作については、回動対象が指先部２１に代えて指元部２３である点以外については、第１モータ５０のキャリブレーション動作と同様であるため、その詳細な説明は繰り返さない。
【００３９】
駆動制御部１０４は、キャリブレーション開始判定部１０２によってキャリブレーションが開始されると判定される場合には、各第１モータ５０および各第２モータ６０を予め定められた方向への回転させることによってキャリブレーション動作を開始する。このとき、駆動制御部１０４は、第１モータ５０および第２モータ６０に対して回転速度が故障判定速度Ｖ（０）以上の回転速度Ｖ（１）となるように予め定められた制御指令値を各第１モータ５０および各第２モータ６０に出力する。この制御指令値は、たとえば、電圧、周波数あるいは位相差等のモータを駆動させるためのパラメータを固定した値である。故障判定速度Ｖ（０）は、回転速度Ｖ（１）を要求値としてモータを制御した場合に、正常である（故障していない）と判定するための回転速度領域の下限値である。
【００４０】
速度算出部１０６は、駆動制御部１０４によってキャリブレーション動作が開始されると、第１エンコーダ４０および第２エンコーダ４２の検出結果に基づいて、各第１モータ５０および各第２モータ６０の回転速度を算出する。速度算出部１０６は、予め定められた期間の回転量に基づいて回転速度を算出するようにしてもよいし、あるいは、複数の期間の各々の回転速度を算出し、平均回転速度を算出するようにしてもよい。
【００４１】
故障判定部１０８は、速度算出部１０６の算出結果に基づいて各第１モータ５０および各第２モータ６０が故障しているか否かを判定する。具体的には、故障判定部１０８は、各第１モータ５０および各第２モータ６０の回転速度がいずれも故障判定速度Ｖ（０）以上である場合には、各第１モータ５０および各第２モータ６０がいずれも故障していないと判定する。一方、故障判定部１０８は、各第１モータ５０および各第２モータ６０のうちの少なくともいずれかのモータの回転速度が故障判定速度Ｖ（０）よりも低い場合には、当該モータが故障していると判定する。
【００４２】
通知部１１０は、故障判定部１０８によって各第１モータ５０および各第２モータ６０のうちの少なくともいずれかのモータが故障していると判定された場合には、ロボットハンド１に故障が発生した旨を表示装置２００を用いて通知する故障通知処理を実行する。
【００４３】
動作終了判定部１１２は、キャリブレーション動作が終了したか否かを判定する。具体的には、故障判定部１０８によって各第１モータ５０および各第２モータのいずれも故障していないと判定され、かつ、各第１モータ５０および各第２モータのいずれも基準位置に対応する回転位置で停止された場合に、キャリブレーション動作が終了したと判定する。なお、動作終了判定部１１２は、キャリブレーション動作が終了したと判定された場合にキャリブレーションの実施フラグをオン状態にしてもよい。
【００４４】
図３を参照して、本実施の形態に係るロボットハンド１のＥＣＵ１００で実行される制御処理について説明する。
【００４５】
ステップ（以下、ステップをＳと記載する）１００にて、ＥＣＵ１００は、キャリブレーションが開始されるか否かを判定する。キャリブレーションが開始されると判定される場合（Ｓ１００にてＹＥＳ）、処理はＳ１０２に移される。もしそうでない場合（Ｓ１００にてＮＯ）、この処理は終了する。
【００４６】
Ｓ１０２にて、ＥＣＵ１００は、全モータに対してキャリブレーション動作を行なうための駆動制御を実行する。Ｓ１０４にて、ＥＣＵ１００は、各モータの回転速度を算出する。
【００４７】
Ｓ１０６にて、ＥＣＵ１００は、算出された回転速度に基づいて全モータのうち故障しているモータがあるか否かを判定する。すなわち、ＥＣＵ１００は、全モータのうち回転速度が故障判定速度Ｖ（０）よりも低くなるモータがあるか否かを判定する。全モータのうち故障しているモータがあると判定される場合（Ｓ１０６にてＹＥＳ）、処理はＳ１０８に移される。もしそうでない場合（Ｓ１０６にてＮＯ）、処理はＳ１１０に移される。
【００４８】
Ｓ１０８にて、ＥＣＵ１００は、表示装置２００を用いてロボットハンド１に故障が発生している旨を通知する故障通知処理を実行する。
【００４９】
Ｓ１１０にて、ＥＣＵ１００は、キャリブレーション動作が終了したか否かを判定する。ＥＣＵ１００は、全モータにおいて基準位置に対応する回転位置で停止されている場合には、キャリブレーション動作が終了したと判定する。キャリブレーション動作が終了したと判定される場合（Ｓ１１０にてＹＥＳ）、この処理は終了する。もしそうでない場合（Ｓ１１０にてＮＯ）、処理はＳ１０４に移される。
【００５０】
以上のような構造およびフローチャートに基づく本実施の形態に係るロボットハンド１のＥＣＵ１００の動作について説明する。
【００５１】
たとえば、ロボットハンド１の電源が投入された場合を想定する。電源投入後にキャリブレーション動作が未実施である場合には、キャリブレーション動作が開始されると判定される（Ｓ１００にてＹＥＳ）。そのため、全モータに対してキャリブレーション動作が行なわれるように駆動制御が実行される（Ｓ１０２）。このとき、全モータに対して予め定められた制御指令値に基づく駆動制御が実行される。
【００５２】
各モータの回転速度が算出され（Ｓ１０４）、算出された回転速度がいずれのモータにおいても故障判定速度Ｖ（０）以上であることにより故障したと判定されるモータがない場合には（Ｓ１０６にてＮＯ）、キャリブレーションの動作が終了するまで（Ｓ１１０にてＮＯ）、各モータの回転速度の算出（Ｓ１０４）と、故障判定が実施される（Ｓ１０６）。そして、故障したモータがなければ（Ｓ１０６にてＮＯ）、キャリブレーション動作は終了する（Ｓ１１０にてＹＥＳ）。
【００５３】
一方、たとえば、図４に示すように、あるモータにおいて、駆動時間がＮ（０）である場合には、回転速度が故障判定速度Ｖ（０）以上となり故障していないと判定されたものの、駆動時間がＮ（１）（＞Ｎ（０））である場合に、回転速度が故障判定速度Ｖ（０）よりも低くなると、当該モータが故障したと判定される（Ｓ１０６にてＹＥＳ）。そのため、ロボットハンド１に故障が発生した旨を通知する故障通知処理が実行される（Ｓ１０８）。
【００５４】
以上のようにして、本実施の形態に係るロボットハンド１によると、キャリブレーションの実行中に故障判定処理が実行されるので、故障診断を実行するための時間を別途必要とせず、また、ユーザーが故障診断を実行するための作業を行なう必要がない。したがって、ユーザーの作業負担を増加させることなく、可動部を回動させるモータの故障診断を適切に実行するロボットハンドを提供することができる。
【００５５】
また、キャリブレーション動作のように全モータに対して駆動制御を実行する場合に劣化判定処理が実行されるため、ユーザーの作業負担を増加させることなく、すべてのモータに対して故障診断を実行することができる。
【００５６】
本実施の形態においては、キャリブレーション動作中において、モータの回転速度が故障判定速度Ｖ（０）よりも低い場合に、当該モータが故障していると判定するものとして説明したが、たとえば、前回のキャリブレーション動作時のモータの回転速度と今回のキャリブレーション動作時のモータの回転速度と差から回転速度が故障判定速度Ｖ（０）よりも低くなる駆動時間を予測し、予測された駆動時間よりも予め定められた時間だけ前の駆動時間の時点でモータが故障する可能性がある旨を通知するようにしてもよい。このようにすると、ユーザーがモータの故障を予測することができる。
【００５７】
＜第２の実施の形態＞
以下、第２の実施の形態に係るロボットハンドについて説明する。本実施の形態に係るロボットハンド１は、上述の第１の実施の形態に係るロボットハンド１の構成と比較して、ＥＣＵ１００の動作が異なる。それ以外の構成については、上述の第１の実施の形態に係るロボットハンド１の構成と同じ構成である。それらについては同じ参照符号が付してある。それらの機能も同じである。したがって、それらについての詳細な説明はここでは繰り返さない。
【００５８】
図５に示すように、ＥＣＵ１００は、各指部２０を用いて対象物１２を把持する場合には、たとえば、各指先部２１および各指元部２３を図５の実線に示す初期位置から図５の破線に示す把持準備位置に移動するように各第１モータ５０および各第２モータ６０を制御する（把持準備動作）。なお、把持準備位置は、各指部２０が対象物１２を把持する把持位置（対象物１２に接触する位置）よりも少し手前の位置である。把持準備位置は、各第１モータ５０の回転位置と各第２モータの回転位置とがそれぞれ予め定められた位置となることによって特定される。また、初期位置は、キャリブレーションによって検出される基準位置である。その後、ＥＣＵ１００は、各指先部２１を把持位置に移動するように各第１モータ５０を制御する（把持動作）。ＥＣＵ１００は、各指部２０により把持している対象物１２を解放する場合には、各指先部２１を把持位置から把持準備位置または初期位置に移動するように各第１モータ５０を制御する（把持解除動作）。
【００５９】
本実施の形態においては、ＥＣＵ１００が、上述の把持準備動作の実行中に故障判定処理を実行する点を特徴とする。
【００６０】
図６を参照して、本実施の形態に係るロボットハンド１のＥＣＵ１００で実行される制御処理について説明する。
【００６１】
Ｓ２００にて、ＥＣＵ１００は、対象物１２を把持する駆動指令があるか否かを判定する。ＥＣＵ１００は、たとえば、対象物１２を把持するための動作モードが選択された場合に、対象物１２を把持する駆動指令があると判定してもよいし、あるいは、ＥＣＵ１００は、ユーザーが操作部材を操作するなどして、ユーザーから対象物１２を把持する要求を受けた場合に、対象物１２を把持する駆動指令があると判定してもよい。対象物１２を把持する駆動指令があると判定される場合（Ｓ２００にてＹＥＳ）、処理はＳ２０２に移される。もしそうでない場合（Ｓ２００にてＮＯ）、処理はこの処理は終了する。
【００６２】
Ｓ２０２にて、ＥＣＵ１００は、各指先部２１および各指元部２３を初期位置から把持準備位置に移動させるための駆動制御を実行する。なお、把持準備位置は、図５に示す位置に限定されるものではなく、動作モードの種類等に基づいて複数の把持準備位置から選択されるようにしてもよい。
【００６３】
ＥＣＵ１００は、たとえば、図５の実線に示す初期位置から図５の破線に示す把持準備位置に各指先部２１および各指元部２３を移動させるために、各第１モータ５０または各第２モータ６０を制御する。
【００６４】
Ｓ２０４は、ＥＣＵ１００は、駆動中のモータの回転速度を算出する。ＥＣＵ１００は、たとえば、第１エンコーダ４０による検出結果と、第２エンコーダ４２による検出結果とのうちの駆動中のモータに対応する検出結果に基づいて回転速度を算出する。
【００６５】
Ｓ２０６にて、ＥＣＵ１００は、算出された回転速度に基づいて駆動対象となったモータのうち故障しているモータがあるか否かを判定する。すなわち、ＥＣＵ１００は、駆動対象となったモータのうち回転速度が故障判定速度Ｖ（０）よりも低いモータがあるか否かを判定する。駆動対象となったモータのうち故障しているモータがあると判定される場合（Ｓ２０６にてＹＥＳ）、処理はＳ２０８に移される。もしそうでない場合（Ｓ２０６にてＮＯ）、処理はＳ２１０に移される。
【００６６】
Ｓ２０８にて、ＥＣＵ１００は、ロボットハンド１に故障が発生している旨を通知する故障通知処理を実行する。Ｓ２１０にて、ＥＣＵ１００は、各指先部２１および各指元部２３を把持準備位置まで移動させる動作が終了したか否かを判定する。ＥＣＵ１００は、第１エンコーダ４０および第２エンコーダ４２の検出結果に基づいて各指先部２１および各指元部２３の位置が把持準備位置である場合に、各指先部２１および各指元部２３を把持準備位置まで移動させる動作が終了したと判定する。各指先部２１および各指元部２３を把持準備位置まで移動させる動作が終了したと判定される場合（Ｓ２１０にてＹＥＳ）、この処理は終了する。もしそうでない場合（Ｓ２１０にてＮＯ）、処理はＳ２０４に移される。
【００６７】
以上のような構造およびフローチャートに基づく本実施の形態に係るロボットハンド１のＥＣＵ１００の動作について説明する。
【００６８】
たとえば、ロボットハンド１の各指部２０を用いて対象物１２を把持する駆動指令がある場合（Ｓ２００にてＹＥＳ）、各指先部２１および各指元部２３の位置が図５の実線に示す初期位置から図５の破線に示す把持準備位置になるように各第１モータ５０および各第２モータ６０の駆動制御が実行される（Ｓ２０２）。各指先部２１および各指元部２３が把持準備位置まで移動するまでに、駆動中のモータの回転速度が算出され（Ｓ２０４）、算出された回転速度がいずれの駆動中のモータにおいても故障判定速度Ｖ（０）以上であることにより、故障したと判定されるモータがない場合には（Ｓ２０６にてＮＯ）、把持準備位置までの動作が終了するまで（Ｓ２１０にてＮＯ）、駆動中のモータの回転速度の算出（Ｓ２０４）と、駆動対象となったモータの故障判定が実施される（Ｓ２０６）。そして、故障したと判定されるモータがないまま（Ｓ２０６にてＮＯ）、各指先部２１および各指元部２３が把持準備位置まで移動した場合に把持準備位置まで移動させる動作が終了する（Ｓ２１０にてＹＥＳ）。
【００６９】
一方、あるモータにおいて、回転速度が故障判定速度Ｖ（０）よりも低い場合に、当該モータが故障したと判定される（Ｓ２０６にてＹＥＳ）。そのため、ロボットハンド１に故障が発生した旨を通知する故障通知処理が実行される（Ｓ２０８）。
【００７０】
以上のようにして、本実施の形態に係るロボットハンド１によると、各指先部２１および各指元部２３を初期位置から把持準備位置に移動させる把持準備動作の実行中に、故障判定処理が実行されるので、故障診断を実行するための時間を別途必要とせず、また、ユーザーが故障診断を実行するための作業を行なう必要がない。したがって、ユーザーの作業負担を増加させることなく、可動部を回動させるモータの故障診断を適切に実行することができる。
【００７１】
なお、本実施の形態においては、各指先部２１および各指元部２３を初期位置から把持準備位置に移動させる把持準備動作の実行中に故障判定処理を実行するものとして説明したが、たとえば、把持準備動作の実行中に代えてまたは加えて、各指先部２１を把持準備位置から把持位置に移動させる把持動作の実行中に故障判定を実行してもよい。
【００７２】
このようにすると、各指先部２１を把持準備位置から把持位置に移動させる把持動作の実行中に、故障判定処理が実行されるので、故障診断を実行するための時間を別途必要とせず、また、ユーザーが故障診断を実行するための作業を行なう必要がない。そのため、ユーザーの作業負担を増加させることなく、モータの故障診断を適切に実行することができる。
【００７３】
なお、把持準備位置から把持位置まで移動させる把持動作の実行中に、たとえば、フィードバック制御によって、回転速度を目標値に維持し、回転速度が急激に減少したことによって把持位置まで移動したことを検出するような制御が実行される場合には、たとえば、把持準備位置から把持位置まで移動を開始した初期期間において、予め定められた制御指令値としたフィードフォワード制御を実施し、初期期間経過後に、フィードバック制御を実施してもよい。
【００７４】
なお、本実施の形態においては、各指先部２１および各指元部２３を把持準備位置に移動させる把持準備動作の実行中に故障判定処理を実行するものとして説明したが、たとえば、把持準備動作の実行中に代えてまたは加えて、各指部を用いて把持している対象物を解放する場合に、各指先部２１を対象物１２から離隔した位置に移動させる把持解除動作の実行中に、各指先部２１を回動させる各第１モータ５０に対して故障判定処理を実行してもよい。なお、対象物１２から離隔した位置とは、たとえば、把持準備位置であってもよいし、初期位置であってもよい。
【００７５】
このようにすると、各指先部２１を対象物１２から離隔した位置に移動させる把持解除動作の実行中に、故障判定処理が実行されるので、故障診断を実行するための時間を別途必要とせず、また、ユーザーが故障診断を実行するための作業を行なう必要がない。そのため、ユーザーの作業負担を増加させることなく、モータの故障診断を適切に実行することができる。
【００７６】
なお、本実施の形態においては、各指先部２１および各指元部２３を把持準備位置に移動させる把持準備動作の実行中に故障判定処理を実行するものとして説明したが、把持準備動作の実行中に加えて、上述の第１の実施の形態において説明したようにキャリブレーションの実行中に故障判定処理を実行してもよい。
【００７７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７８】
１  ロボットハンド、１０  ハンド部、１２  対象物、２０  指部、２１  指先部、２２  第１関節部、２３  指元部、２４  第２関節部、３０  ベース部、４０  第１エンコーダ、４２  第２エンコーダ、５０  第１モータ、６０  第２モータ、１００  ＥＣＵ、１０２  キャリブレーション開始判定部、１０４  駆動制御部、１０６  速度算出部、１０８  故障判定部、１１０  通知部、１１２  動作終了判定部、２００  表示装置。
【図１】
2016047567.tif 000003
【図２】
2016047567.tif 000004
【図３】
2016047567.tif 000005
【図４】
2016047567.tif 000006
【図５】
2016047567.tif 000007
【図６】
2016047567.tif 000008