(57)【特許請求の範囲】
【請求項１】
ロボットの稼動部に取り付けられた慣性センサーと、
前記稼動部を駆動する駆動部と、
前記駆動部を制御する制御部と、
前記ロボットの稼動状況を検知して検知結果を前記制御部に伝達する検知部と、を備え、
前記検知部は、前記慣性センサーからの出力信号に基づく信号パターンが、複数の負荷判定基準に照らして、いずれかの前記負荷判定基準に該当すると検知された場合に、前記負荷判定基準に対応する負荷検知結果を前記制御部に伝達し、
前記制御部は、前記負荷検知結果に基づいて前記駆動部を制御することを特徴とするロボット。
【請求項２】
前記検知部は、前記信号パターンが、複数の異常判定基準に照らして、いずれかの前記異常判定基準に該当すると検知した場合に、前記異常判定基準に対応する異常検知結果を前記制御部に伝達し、
前記制御部は、前記異常検知結果に基づいて前記駆動部を制御することを特徴とする請求項１に記載のロボット。
【請求項３】
前記複数の負荷判定基準は、負荷量別判定基準と対象負荷別判定基準の両方またはいずれか一方からなり、
前記負荷量別判定基準は、負荷量が既知の複数の標準負荷に対して、前記標準負荷毎に求めた対応する信号パターンのセットとして予め準備され、
前記対象負荷別判定基準は、複数種類の既知の対象負荷物に対して、前記対象負荷物毎に求めた対応する信号パターンのセットとして予め準備されることを特徴とする請求項１または２に記載のロボット。
【請求項４】
前記信号パターンは、前記稼動部の振動を捉えた振動の周波数特性パターンであることを特徴とする請求項１ないし請求項３のいずれか一項に記載のロボット。
【請求項５】
ロボットの稼動部に取り付けた慣性センサーからの出力信号を取り込むステップと、
前記出力信号に基づき信号パターンを生成するステップと、
前記信号パターンが、複数の負荷判定基準に照らして、いずれかの前記負荷判定基準に該当すると検知された場合に、前記負荷判定基準に対応する負荷検知結果を前記制御部に伝達するステップと、
前記検知結果に基づいて前記稼動部を駆動する駆動部を制御するステップと、を含むことを特徴とするロボットの制御方法。
【請求項６】
前記信号パターンが、複数の異常判定基準に照らして、いずれかの異常判定基準に該当すると検知された場合に、前記検知結果を、対応する異常検知結果として生成し、
前記異常検知結果に基づいて前記駆動部を制御することを特徴とする請求項５に記載のロボットの制御方法。
【請求項７】
前記複数の負荷判定基準は、負荷量別判定基準と対象負荷別判定基準の両方またはいずれか一方からなり、
前記負荷量別判定基準は、負荷量が既知の複数の標準負荷に対して、前記標準負荷毎に求めた対応する信号パターンのセットとして予め準備され、
前記対象負荷別判定基準は、複数種類の既知の対象負荷物に対して、前記対象負荷物毎に求めた対応する信号パターンのセットとして予め準備されることを特徴とする請求項５または６に記載のロボットの制御方法。
【請求項８】
前記信号パターンは、前記稼動部の振動を捉えた振動の周波数特性パターンであることを特徴とする請求項５ないし請求項７のいずれか一項に記載のロボットの制御方法。
【請求項９】
ロボットを、請求項５ないし請求項８のいずれか一項に記載の制御方法を含み機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボットの制御方法、およびそのプログラムに関する。
【背景技術】
【０００２】
人とロボットとが共存して生活や作業を行う環境では、ロボットの稼動状況の観察（特に異常動作の検出）は安全管理にとって重要な要素である。例えば、ロボットを駆動するモーターのトルク値をモニターし、規定値を超えた場合は警告を発するなどの方法がある。また、特許文献１では、ロボットの駆動部がロボットに対してした仕事量と、ロボットが保有するエネルギー変化推定値との差を捉えて、その差が予め設定した閾値を越えた場合に警報を発し、ロボットを停止するなどの方法および制御装置を提案している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１８８５０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のような従来の方法では、正常に稼動しているか否かの識別と異常検出時の対処（警報や駆動停止）は行われるが、それ以上の情報が得られないという問題があった。例えば、特許文献１に記載の方法および制御装置では、仕事量やエネルギーから算出された値に対する正常あるいは異常という単一の判定情報しか捉えられないことが課題であった。具体的には、ロボットの稼動状況としては様々な段階があり、異常状態としても、異常負荷（想定より大きな負荷がかかる異常）、衝突・衝撃（異常動作や衝突などによる衝撃）、装置のガタ、設定ミスなど様々な要因による異常があるのに対して、その識別ができないという問題があった。その結果、異常原因、異常内容などの情報が得られず、適切な対処に手間取ってしまうことが課題であった。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００６】
［適用例１］本適用例にかかるロボットは、ロボットの稼動部に取り付けられた慣性センサーと、稼動部を駆動する駆動部と、駆動部を制御する制御部と、ロボットの稼動状況を検知して検知結果を制御部に伝達する検知部と、を備え、検知部は、慣性センサーからの出力信号に基づく信号パターンからロボットの稼動状況を検知し、制御部は、検知結果に基づいて駆動部を制御することを特徴とする。
【０００７】
本適用例によれば、ロボットの稼動部に取り付けられた慣性センサーからの出力信号に基づく信号パターンからロボットの稼動状況を検知するため、様々な要因による異常や状態の違いを識別することができる。
【０００８】
［適用例２］上記適用例にかかるロボットにおいて、検知部は、予め備える比較基準と信号パターンとを比較することで、ロボットの稼動状況を検知することを特徴とする。
【０００９】
本適用例によれば、予め備える比較基準と信号パターンとを比較することで、ロボットの稼動状況を検知するため、稼動状況の様々な識別を簡便に行うことができる。具体的には、予め想定される様々な稼動状況における比較基準を作成しておき、信号パターンとの類似度を検証することで稼動状況の様々な識別が可能となる。
【００１０】
［適用例３］上記適用例にかかるロボットにおいて、比較基準には、複数の異常判定基準が含まれ、検知部は、信号パターンが、複数の異常判定基準に照らして、いずれかの異常判定基準に該当すると検知した場合に、異常判定基準に対応する異常検知結果を制御部に伝達し、制御部は、異常検知結果に基づいて駆動部を制御することを特徴とする。
【００１１】
本適用例によれば、信号パターンが、複数の異常判定基準に照らして、いずれかの異常判定基準に該当すると検知された場合に、対応する異常検知結果を制御部に伝達する。そのため、稼動状況の様々な異常の識別と異常に応じた制御を簡便に行うことができる。具体的には、予め想定される様々な稼動異常における比較基準（異常判定基準）を作成しておき、信号パターンとの類似度を検証することで異常稼動状況の様々な識別が可能となる。つまり、異常発生時には、その異常原因、異常内容などの情報が得られ、より適切な対応が可能となる。
【００１２】
［適用例４］上記適用例にかかるロボットにおいて、比較基準には、複数の負荷判定基準が含まれ、検知部は、信号パターンが、複数の負荷判定基準に照らして、いずれかの負荷判定基準に該当すると検知された場合に、負荷判定基準に対応する負荷検知結果を制御部に伝達し、制御部は、負荷検知結果に基づいて駆動部を制御することを特徴とする。
【００１３】
本適用例によれば、信号パターンが、複数の負荷判定基準に照らして、いずれかの負荷判定基準に該当すると検知された場合に、対応する負荷検知結果を制御部に伝達する。そのため、負荷の識別と、負荷に応じた制御を簡便に行うことができる。具体的には、予め想定される稼動負荷に対する比較基準（負荷判定基準）を作成しておき、信号パターンとの類似度を検証することで正常な動作における負荷の違いなどの検出をすることができる。例えば、ロボットがハンドリングする移載対象物の重量（慣性質量）や大きさ（慣性モーメント）の違いによる負荷の違いが検出できるため、移載対象物によってハンドリング作業の内容を変えるなどの利用が可能となる。
【００１４】
［適用例５］上記適用例にかかるロボットにおいて、複数の負荷判定基準は、負荷量別判定基準と対象負荷別判定基準の両方またはいずれか一方からなり、負荷量別判定基準は、負荷量が既知の複数の標準負荷に対して、標準負荷毎に求めた対応する信号パターンのセットとして予め準備され、対象負荷別判定基準は、複数種類の既知の対象負荷物に対して、対象負荷物毎に求めた対応する信号パターンのセットとして予め準備されることを特徴とする。
【００１５】
本適用例によれば、比較基準は、複数の負荷判定基準からなり、複数の負荷判定基準は、負荷量が既知の複数の標準負荷に対して、標準負荷毎に求めた対応する信号パターンのセット、あるいは、複数種類の既知の対象負荷物に対して、対象負荷物毎に求めた対応する信号パターンのセットとして予め準備される。そのため、負荷の識別を簡便に行うことができる。具体的には、ロボットがハンドリングする移載対象物の重量別（例えば１００ｇ置き）、あるいは慣性モーメント別に負荷判定基準（負荷量別判定基準）を準備しておくことで、稼動中にハンドリングしている移載対象物の識別が可能となる。また、例えば、ハンドリングする移載対象物の種類が予め分かっており、それぞれの重量や大きさが異なる場合には、種類毎に負荷判定基準（対象負荷別判定基準）を準備しておくことで、稼動中にハンドリングしている移載対象物の種類の識別が可能となる。
【００１６】
［適用例６］上記適用例にかかるロボットにおいて、信号パターンは、稼動部の振動を捉えた振動の周波数特性パターンであることを特徴とする。
【００１７】
本適用例によれば、信号パターンは、稼動部の振動を捉えた振動の周波数特性パターンであるため、ロボットの稼動部の状態の違いや、ハンドリングする移載対象物の慣性質量や慣性モーメントの違いを容易に識別することができる。具体的には、稼動部に発生する負荷の違い、衝撃、装置のガタ、設定ミスなどの様々な要因による状態の違いは、稼動部における振動の振幅や周波数の違いとして現れる。この周波数特性パターンを、稼動部に取り付けた慣性センサーにより検出することで、稼動部の状態をより簡便に検知、識別することができる。
【００１８】
［適用例７］本適用例にかかるロボットの制御方法は、ロボットの稼動部に取り付けた慣性センサーからの出力信号を取り込むステップと、出力信号に基づき信号パターンを生成するステップと、信号パターンからロボットの稼動状況を検知して検知結果を生成するステップと、検知結果に基づいて稼動部を駆動する駆動部を制御するステップと、を含むことを特徴とする。
【００１９】
本適用例によれば、ロボットの稼動部に取り付けられた慣性センサーからの出力信号に基づく信号パターンからロボットの稼動状況を検知するため、様々な要因による異常や状態の違いを識別することができる。具体的には、慣性センサーは、加速度、衝撃、振動、回転などの度合いを検出することができるため、稼動部に発生する負荷の違い、衝撃、装置のガタ、設定ミスなどの様々な要因による状態の違いを検出することができる。その結果、異常発生時には、その異常原因、異常内容などの想定される情報が得られ、より適切な対応が可能となり、また、正常な動作における負荷の違いなどの検出も可能となる。
【００２０】
［適用例８］上記適用例にかかるロボットの制御方法において、予め備える比較基準と信号パターンとを比較して検知された結果から検知結果を生成することを特徴とする。
【００２１】
本適用例によれば、予め備える比較基準と信号パターンとを比較することで、ロボットの稼動状況を検知するため、稼動状況の様々な識別を簡便に行うことができる。具体的には、予め想定される様々な稼動状況における比較基準を作成しておき、信号パターンとの類似度を検証することで稼動状況の様々な識別が可能となる。
【００２２】
［適用例９］上記適用例にかかるロボットの制御方法において、比較基準には、複数の異常判定基準を含み、信号パターンが、複数の異常判定基準に照らして、いずれかの異常判定基準に該当すると検知された場合に、検知結果を、対応する異常検知結果として生成し、異常検知結果に基づいて駆動部を制御することを特徴とする。
【００２３】
本適用例によれば、信号パターンが、複数の異常判定基準に照らして、いずれかの異常判定基準に該当すると検知された場合に、検知結果を、対応する異常検知結果として生成し、異常検知結果に基づいて駆動部を異常対応制御する。そのため、稼動状況の様々な異常の識別と異常に応じた制御を簡便に行うことができる。具体的には、予め想定される様々な稼動異常における比較基準を作成しておき、信号パターンとの類似度を検証することで異常稼動状況の様々な識別が可能となる。つまり、異常発生時には、その異常原因、異常内容などの情報が得られ、より適切な対応が可能となる。
【００２４】
［適用例１０］上記適用例にかかるロボットの制御方法において、比較基準には、複数の負荷判定基準を含み、信号パターンが、複数の負荷判定基準に照らして、いずれかの負荷判定基準に該当すると検知された場合に、検知結果を、対応する負荷検知結果として生成し、負荷検知結果に基づいて駆動部を制御することを特徴とする。
【００２５】
本適用例によれば、信号パターンが、複数の負荷判定基準に照らして、いずれかの負荷判定基準に該当すると検知された場合に、検知結果を、対応する負荷検知結果として生成し、負荷検知結果に基づいて駆動部を負荷対応制御する。そのため、負荷の識別と、負荷に応じた制御を簡便に行うことができる。具体的には、予め想定される稼動負荷に対する比較基準を作成しておき、信号パターンとの類似度を検証することで正常な動作における負荷の違いなどの検出をすることができる。例えば、ロボットがハンドリングする移載対象物の重量（慣性質量）や大きさ（慣性モーメント）の違いによる負荷の違いが検出できるため、移載対象物によってハンドリング作業の内容を変えるなどの利用が可能となる。
【００２６】
［適用例１１］上記適用例にかかるロボットの制御方法において、複数の負荷判定基準は、負荷量別判定基準と対象負荷別判定基準の両方またはいずれか一方からなり、負荷量別判定基準は、負荷量が既知の複数の標準負荷に対して、標準負荷毎に求めた対応する信号パターンのセットとして予め準備され、対象負荷別判定基準は、複数種類の既知の対象負荷物に対して、対象負荷物毎に求めた対応する信号パターンのセットとして予め準備されることを特徴とする。
【００２７】
本適用例によれば、複数の負荷判定基準は、複数の負荷の大きさを基本として予め備える負荷量別判定基準、あるいは所定の複数の対象負荷物を基本として予め備える対象負荷別判定基準のいずれかであるため、負荷の識別が簡便に実施できる。具体的には、ロボットがハンドリングする移載対象物の重量別（例えば１００ｇ置き）、あるいは慣性モーメント別に負荷判定基準（負荷量別判定基準）を準備しておくことで、稼動中にハンドリングしている移載対象物の識別が可能となる。また、例えば、ハンドリングする移載対象物の種類が予め分かっており、それぞれの重量や大きさが異なる場合には、種類毎に負荷判定基準（対象負荷別判定基準）を準備しておくことで、稼動中にハンドリングしている移載対象物の種類の識別が可能となる。
【００２８】
［適用例１２］上記適用例にかかるロボットの制御方法において、信号パターンは、稼動部の振動を捉えた振動の周波数特性パターンであることを特徴とする
【００２９】
本適用例によれば、信号パターンは、稼動部が振動する周波数特性パターンであるため、ロボットの稼動部の状態の違いや、ハンドリングする移載対象物の慣性質量や慣性モーメントの違いを容易に識別することができる。具体的には、稼動部に発生する負荷の違い、衝撃、装置のガタ、設定ミスなどの様々な要因による状態の違いは、稼動部における振動の振幅や周波数の違いとして現れる。この周波数特性パターンを、稼動部に取り付けた慣性センサーにより検出することで、稼動部の状態をより簡便に検知、識別することができる。
【００３０】
［適用例１３］本適用例にかかるプログラムは、ロボットを、上記に記載の制御方法を含み機能させることを特徴とする。
【００３１】
本適用例によれば、上記に記載の制御方法を含み機能させるプログラムを用いることで、ロボットの稼動部に発生する負荷の違い、衝撃、装置のガタ、設定ミスなどの様々な要因によるロボットの稼動状態を検出することができる。そのため、異常発生時には、その異常原因、異常内容などの想定される情報が得られ、また、正常な動作における負荷の違いなどの検出も可能となる。その結果、稼動状態や異常に応じた適切な処置や対応がより簡便にかつより迅速に行うことのできるロボットを提供することができる。
【図面の簡単な説明】
【００３２】
【図１】実施形態１に係るロボットの構成を示す斜視図。
【図２】実施形態１に係るロボットの機能的構成を示すブロック図。
【図３】稼動状況検知の基本原理を示す説明図。
【図４】停止動作における周波数特性パターンの例を示すグラフ。
【図５】衝撃による周波数特性パターンの例を示すグラフ。
【図６】停止動作における角速度減衰パターンの例を示すグラフ。
【図７】実施形態１に係るロボットの動作を説明するフローチャート。
【発明を実施するための形態】
【００３３】
以下に本発明を具体化した実施形態について、図面を参照して説明する。以下は、本発明の一実施形態であって、本発明を限定するものではない。なお、以下の各図においては、説明を分かりやすくするため、実際とは異なる尺度で記載している場合がある。
【００３４】
（実施形態１）
図１は、実施形態１に係るロボット１００の構成を示す斜視図である。
図１に示すように、ロボット１００は、部品などの移載装置であり、機台１０、アーム軸部２０、アーム駆動モーター２１、給除材アーム３０、ハンド駆動機構４０、保持ハンド５０、統合制御部６０、加速度センサー７０および角速度センサー７１などから構成されている。
【００３５】
機台１０は、アーム駆動モーター２１および軸受機構（図示省略）を内蔵している。
アーム軸部２０は、その一端（下部）が機台１０によって支持され、アーム駆動モーター２１および軸受機構によって回動軸回りに自在に回動する。
アーム軸部２０の機台１０に支持された側と反対側の端（上部）には、給除材アーム３０の一端が固定されている。
給除材アーム３０は、アーム軸部２０の回動軸を中心に回動する。
給除材アーム３０のアーム軸部２０に固定された側と反対側の端には、ハンド駆動機構４０が固定されている。
ハンド駆動機構４０には、稼動部としての保持ハンド５０が取り付けられている。
保持ハンド５０は、部品などの移載対象物を掴んだり放したりできる機能を持っており、ハンド駆動機構４０によって上下動、および回転をすることができる。
【００３６】
つまり、ロボット１００は、駆動部としてのアーム駆動モーター２１およびハンド駆動機構４０によって、保持ハンド５０を移載対象物に離接させると共に、保持ハンド５０によって保持した移載対象物を、載置場所から持ち上げたり、載置場所に載置させたりする動作を行う。
【００３７】
また、保持ハンド５０には、慣性センサーとしての加速度センサー７０および角速度センサー７１が取り付けられている。
加速度センサー７０は、給除材アーム３０の回動や外部から加わる衝撃などによる加速度の検出が可能である。
角速度センサー７１は、給除材アーム３０の回動における角速度や、保持ハンド５０の回転における角速度の検出が可能である。
【００３８】
統合制御部６０は、パソコンなどの情報入出力装置（図示省略）を介して予め入力された制御プログラムに基づいて、ロボット１００の各部の動作を統括制御する。また、統合制御部６０には、検知部６１と制御部６２とを備えている。
検知部６１は、加速度センサー７０や角速度センサー７１からの出力信号を受けて、制御部６２に検知結果を通知する。
制御部６２は、検知結果を受けて、アーム駆動モーター２１、ハンド駆動機構４０、保持ハンド５０に指令を発し動作を制御する。
【００３９】
次に、ロボット１００の機能的構成について、図２を参照して説明する。
図２は、実施形態１に係るロボット１００の機能的構成を示すブロック図である。
上述したように、ロボット１００は、稼動部としての保持ハンド５０と、保持ハンド５０を移動させる駆動部としてのアーム駆動モーター２１とハンド駆動機構４０とを供えている。また、保持ハンド５０には、慣性センサーとしての加速度センサー７０および角速度センサー７１を備えている。
なお、保持ハンド５０は、移載対象物を掴む・放すなどの動作を行う駆動部としての機能も併せ持っている。
【００４０】
制御部６２は、制御プログラムに基づいて、アーム駆動モーター２１、ハンド駆動機構４０、保持ハンド５０に対して動作の指令を発する。
アーム駆動モーター２１、ハンド駆動機構４０、保持ハンド５０は、指令を受け、所望の動作を行う。
加速度センサー７０、角速度センサー７１は、稼動部（保持ハンド５０）の移動や動作によって発生する加速度、角速度の検出結果を出力信号として検知部６１に発信する。
検知部６１は、出力信号を解析し、得られた信号パターンと、予めデータベースとして備えられた比較基準と比較するなどして稼動部の稼動状況を検知する。
検知部６１は、稼動状況の検知結果を制御部６２に伝達する。
検知結果を受けた制御部６２は、制御プログラムに基づいて検知結果に対応した指令をアーム駆動モーター２１、ハンド駆動機構４０、保持ハンド５０に対して発する。
【００４１】
次に、稼動部の稼動状況の検知方法について説明する。
図３は、稼動状況検知の基本原理を示す説明図である。
ロボット１００は、アーム軸部２０を支点として給除材アーム３０の先端にハンド駆動機構４０および保持ハンド５０を持つ構造である。従って、給除材アーム３０のバネ定数をｋとし、給除材アーム３０、保持ハンド５０、ハンド駆動機構４０の総合の負荷イナーシャをｊとした場合に、図３の１質点モデルに示すように、ロボット１００は、ω2＝ｋ／ｊで与えられる振動数ωの固有振動を持つ。この固有振動は、質点ｊを自由振動させた場合に観測できる。つまり、アーム軸部２０を支点とした稼動部（保持ハンド５０）が自由振動した場合に、稼動部に取り付けた慣性センサー（加速度センサー７０）によってこの振動を観測することができる。
【００４２】
これに対し、実際の稼動状態においては、稼動部は固有振動をベースとして様々な影響を受けながら、様々な振動をしている。例えば、停止状態から給除材アーム３０が回動を開始した後の回動しながらの振動、給除材アーム３０が停止した直後の振動、ハンド駆動機構４０が保持ハンド５０を移動させる前後、あるいは移動中の振動、保持ハンド５０が移載対象物を持ち上げたり、載置したりした後の振動などである。これらの振動の周波数は、保持ハンド５０の位置や保持する物体の重量などによって変わってくる。また、振動の振幅や減衰時間なども稼動の状況（ロボット１００の動作）によって変わってくる。しかし、同様の状態、条件、状況においては、振動の周波数、振幅などのパターンは、それぞれある一定の固有振動パターンとして観察される。従って、稼動部に取り付けた加速度センサー７０がセンスする信号を解析することで、稼動部の稼動状況を検知することが可能である。
【００４３】
また、稼動状況は、上述した振動による検知だけではなく、保持ハンド５０の回動や回転動作における角速度の変化においても捉えることが可能である。従って、稼動部に取り付けた角速度センサー７１がセンスする信号を解析することでも、稼動部の稼動状況を検知することが可能である。実施に当たっては、加速度センサー７０と角速度センサー７１とを補完的に活用することが好ましい。
【００４４】
これらの慣性センサーによる稼動状況の検知は、具体的には、例えば一連の正常動作における慣性センサーの出力信号を基準の信号パターンとして予め記録しておき、実際の稼動で観察される慣性センサーからの出力信号と、この基準の信号パターンとを都度比較することで、実際の稼動状況の評価を行うことができる。稼動状況の評価とは、所望する稼動と実際の稼動状況との差異の程度評価である。また、予め想定される異常稼動における基準の信号パターンを用意しておくことで、想定される異常稼動状況との類似度評価を行うこともできる。想定される異常とは、稼動部が受ける負荷異常であり、例えば、想定より重い重量の物体を保持した場合、異常動作や衝突などによる衝撃を受けた場合、装置のガタや設定ミスなどにより異常動作があった場合などである。
このような評価で、稼動状況の正常・異常の識別や、異常時の異常状態・異常原因の類推、正常稼動中の負荷の大きさの類推や特定などが可能となり、それに伴うロボット１００の制御も可能となる。
【００４５】
図４は、給除材アーム３０の停止動作における加速度センサー７０が検出した加速度の周波数特性の例を示すグラフである。
図４のグラフにおいて、実線は保持ハンド５０に何も持たない場合、破線は保持ハンド５０に２ｋｇの物体を持った場合の停止動作における加速度の周波数特性を示している。
グラフの一点鎖線の円で示す部分からも分かるように、負荷により、停止時の振動周波数の特性が大きく異なっている。
【００４６】
図５は、衝撃を与えた場合の、加速度センサー７０が検出した加速度の周波数特性パターンの例を示すグラフである。
図５のグラフにおいて、実線は通常動作時、破線は軽い衝撃を与えた場合の加速度の周波数特性を示している。
グラフの一点鎖線の円で示す部分からも分かるように、１０〜１００Ｈｚでピークが２箇所見られ、衝撃時の振動周波数が検出されている。
【００４７】
図６は、給除材アーム３０の停止動作における角速度センサー７１が検出した角速度減衰パターンを示すグラフである。
図６のグラフにおいて、実線は保持ハンド５０に何も持たない場合、破線は保持ハンド５０に２ｋｇの物体を持った場合の停止動作における角速度の減衰パターンを示している。
グラフの一点鎖線の円で示す部分からも分かるように、負荷により、停止時の減衰特性が大きく異なっている。
【００４８】
以上のように、実際の稼動状態においては、稼動部は様々な影響を受けながら、様々な振動をしており、稼動部に取り付けた慣性センサーによって、様々な状態の差異を検出することができる。具体的には、稼動状況が正常か異常かの判断、異常の場合には、その異常内容の検出、また正常な動作範囲の場合には、負荷の大きさや重さなどの識別が可能となる。以下に、これらの検出や識別など、実際の稼動状況の評価を行う具体的な方法について説明する。
【００４９】
１．準備
１．１．稼動状況検知のタイミングと種類の設定
準備段階としては、まず、稼動状況を評価し検知するタイミングと、評価の種類を設定する。評価のタイミングとは、例えば、給除材アーム３０を大きく回動させる場合の指令発信時から、所定の期間、停止動作指令時から所定の期間、保持ハンド５０が回転している所定の期間などである。また、評価の種類とは、稼動状況の正常・異常の識別評価、異常時の異常状態・異常原因の類推評価、正常稼動中の負荷の大きさの類推評価などである。
これらの設定結果は、制御プログラムに反映し、統合制御部６０によってコントロールされる。
【００５０】
１．２．比較基準の作成
次に、それぞれの評価のタイミングや種類に対応する比較基準を作成する。比較基準としては、稼動状況の正常・異常の識別を行う稼動判定基準、異常時の異常状態・異常原因の類推を行う異常判定基準、正常稼動中の負荷の大きさの類推を行う負荷判定基準などがある。これらの比較基準は、データベースとして蓄積し、ロボット１００の稼動にあたって比較用に随時参照する（図２）。
【００５１】
１．２．１．稼動判定基準
稼動判定基準は、様々な評価のタイミングに合わせた、それぞれの正常動作を示す信号パターン（基準稼動パターン）と、正常・異常の判定を行う閾値情報とからなる。
【００５２】
正常動作による基準稼動パターンは、実際に正常な状態でロボット１００を動作させて、設定した評価タイミングで慣性センサーの出力信号を取得することで作成する。具体的には、例えば、加速度センサー７０からの出力信号をＦＦＴ変換（Fast Fourier Transform高速フーリエ変換）して周波数特性パターン（周波数ごとの振幅パターン）として作成する。
【００５３】
正常・異常の判定を行う閾値情報は、稼動判定基準の基準稼動パターンと、実際の稼動で観測される信号パターン（同様にＦＦＴ変換を行ったパターン）との類似度の閾値として設定する。具体的には、それぞれのパターンの類似度を示す正規化相互相関値に一定の閾値を設定して判定することにより行っている。
正規化相互相関（ＮＣＣ：normalized cross correlation）は、平均と標準偏差とによって正規化された絶対測度であり、値が１に近く大きいほどパターンの類似性が高いことを表す。また、正規化相互相関値を用いていることで、振幅の違いによる影響を受けずにパターン形状の類似度が評価される。
【００５４】
なお、類似度の評価は、振幅の違いなども評価する場合などは正規化相互相関に限定するものではなく、単に相互相関による評価であっても良い。
また、上記のように評価のタイミングを細分化せずに、一連の作業動作全般に亘って連続的に評価を継続する方法を取っても良い。つまり、予め準備された一連の作業動作全般に亘り基準となる信号パターンと、実際の稼動時の慣性センサーの出力信号とを常時連続的に比較する方法である。この場合、パターンの類似度が一定の範囲を超えた場合に、異常判定基準と比較評価し、異常内容を検知する。
【００５５】
１．２．２．異常判定基準
異常判定基準は、様々なタイミングで想定される異常を示す信号パターン（想定異常パターン）と、該当・非該当の判定を行う閾値情報とからなる。
【００５６】
想定異常パターンは、実際に想定される異常な状態でロボット１００を動作させて慣性センサーの出力信号を取得することで作成する方法や、ロボット１００の動作とは別の実験で得られた信号を利用するなどの方法で作成する。また、想定異常パターンは、例えば、稼動判定基準と同様にＦＦＴ変換による周波数特性パターンとして作成する。
また、該当・非該当の判定を行う閾値情報も、稼動判定基準と同様に正規化相互相関値、あるいは相互相関値に対する閾値として設定する。
１．２．３．負荷判定基準
負荷判定基準は、様々なタイミングにおける様々な負荷で想定される信号パターン（基準負荷パターン）と、該当・非該当の判定を行う閾値情報とからなる。
【００５７】
基準負荷パターンは、いくつかの既知の負荷をかけた状態、つまり既知の重量および形状の移載対象物をハンドリングする状態でロボット１００を動作させて慣性センサーの出力信号を取得することで作成する方法や、ロボット１００の動作とは別の実験で得られた信号を利用する方法で作成する。基準負荷パターンは、例えば、稼動判定基準と同様にＦＦＴ変換による周波数特性パターンとして作成する。
また、該当・非該当の判定を行う閾値情報も、稼動判定基準と同様に正規化相互相関値、あるいは相互相関値に対する閾値として設定する。
【００５８】
なお、想定される基準負荷パターンの持ち方としては、複数の基準重量や基準慣性モーメントの負荷に対する負荷量別判定基準として準備しておく方法や、ロボット１００がハンドリングする移載対象物としての例えば部品や製品のタイプ毎に対象負荷別判定基準として準備しておく方法がある。
【００５９】
１．３．指令の準備
次に、稼動状況を検知した結果の指令動作を予め設定しておく。具体的には、異常が検知された場合には、警報の発報やロボット１００の停止処置であったり、特定の負荷が検知された場合には、負荷に応じた作業などであったりする指令を設定しておく。指令の設定内容は、制御プログラムに反映することで、統合制御部６０によってコントロールされる。
【００６０】
２．稼動状況の検知
図７は、ロボット１００の動作を説明するフローチャートである。
次に、図７のフローチャート及び図２を参照してロボット１００の稼動状況検知のフローを説明する。
まず、ロボット１００の稼動条件の設定をする（ステップＳ１）。具体的には、ロボット１００の機械的セットアップおよび制御プログラムの設定を行う。制御プログラムの設定には、比較基準の設定（予め準備した比較基準の選定など）も含まれる。
【００６１】
次に、ロボット１００をスタートし（ステップＳ２）、最初の動作を行う（ステップＳ３）。また、動作に伴い発生する加速度センサー７０、角速度センサー７１の出力信号を検知部６１に取り込む（ステップＳ４）。
次に、このタイミングで稼動判定が必要か、つまり稼動判定のタイミングとして設定されているかを確認し（ステップＳ５）、稼動判定のタイミングとして設定されていない場合には、次のステップ（ステップＳ７）に進む。稼動判定が必要な場合には、稼動判定を行う（ステップＳ６）。具体的には、検知部６１において、取り込んだ加速度センサー７０、角速度センサー７１の出力信号をＦＦＴ変換するなどして信号パターンを生成し、この動作で指定された比較基準（稼動判定基準）と比較して正常か異常かの評価をする。
【００６２】
稼動判定の結果、異常と判断された場合には、異常判定を行う（ステップＥ１）。具体的には、検知部６１において、信号パターンと、指定された比較基準（複数の想定される異常判定基準）とを比較し、いずれの異常判定基準に該当するのか、あるいはいずれの異常判定基準にも該当しないのかの判定を行う。
次に検知部６１は、異常判定の結果に応じて異常検知結果を制御部６２に伝達し、制御部６２は、異常検知結果の内容に応じた異常対応指令をアーム駆動モーター２１、ハンド駆動機構４０、保持ハンド５０などに発する（ステップＥ２）。ここでは、必要に応じ、警報などを発する処置を行っても良い。
【００６３】
稼動判定（ステップＳ６）の結果、正常と判断された場合には、このタイミングで負荷判定が必要か、つまり負荷判定のタイミングとして設定されているかを確認し（ステップＳ７）、負荷判定のタイミングとして設定されていない場合は、次のステップ（ステップＳ１０）に進む。負荷判定が必要な場合には、負荷判定を行う（ステップＳ８）。具体的には、検知部６１において、取り込んだ加速度センサー７０、角速度センサー７１の出力信号をＦＦＴ変換するなどして信号パターンを生成し（既に稼動判定において生成されている場合には再度生成する必要はない。）、この動作で指定された比較基準（複数の負荷判定基準）と比較していずれの負荷判定基準に該当するのか、あるいはいずれの負荷判定基準にも該当しないのかの判定を行う。さらに具体的には、例えば、保持ハンド５０がハンドリングする移載対象物の重量のレベルを判定する場合には、複数の基準重量の負荷に対する負荷量別判定基準と比較評価して行う。また、例えば、保持ハンド５０がハンドリングする移載対象物の部品や製品タイプを判定する場合には、複数の部品や製品タイプ毎の負荷に対する対象負荷別判定基準と比較評価して行う。
【００６４】
次に検知部６１は、負荷判定の結果に応じて負荷検知結果を制御部６２に伝達し、制御部６２は、負荷検知結果の内容に応じた負荷対応指令をアーム駆動モーター２１、ハンド駆動機構４０、保持ハンド５０などに発する（ステップＳ９）。具体的には、例えば、移載対象物を重量別に仕分ける、あるいは部品や製品タイプ別に仕分けるなどといった作業指令を発する。
【００６５】
次に、統合制御部６０は、制御プログラムに従い、ロボット１００の動作が完了しているか確認し（ステップＳ１０）、完了している場合には、動作を終了する。引き続く動作を行う場合には、次の動作に移り（ステップＳ１１）、繰り返し一連の指定された動作を行う（ステップＳ３〜）。
【００６６】
以上述べたように、本実施形態によるロボット、ロボットの制御方法、およびプログラムによれば、以下の効果を得ることができる。
ロボット１００の保持ハンド５０に取り付けられた慣性センサー（加速度センサー７０、角速度センサー７１）からの出力信号に基づく信号パターンを評価してロボット１００の稼動状況が検知できるため、様々な要因による異常や状態の違いを識別することができる。具体的には、加速度センサー７０、角速度センサー７１は、加速度、衝撃、振動、回転などの度合いを検出することができるため、保持ハンド５０に発生する負荷の違い、衝撃、装置のガタ、設定ミスなどの様々な要因による状態を検出することができる。その結果、異常発生時には、その異常原因、異常内容などの想定される情報が得られ、より適切な対応が可能となり、また、正常な動作における負荷の違いなどの検出も可能となる。
【００６７】
また、予め備える比較基準と信号パターンとを比較することで、ロボット１００の稼動状況を検知するため、稼動状況の様々な識別を簡便に行うことができる。具体的には、予め想定される様々な稼動状況における比較基準を作成しておき、信号パターンとの類似度を検証することで稼動状況の様々な識別が可能となる。
例えば、予め想定される様々な異常状態を反映した比較基準を作成しておき、信号パターンとの類似度を検証することで異常稼動状況の様々な識別が可能となる。つまり、異常発生時には、その異常原因、異常内容などの情報が得られ、より適切な対応が可能となる。
また、例えば、予め想定される稼動負荷に対する比較基準を作成しておき、信号パターンとの類似度を検証することで正常な動作における負荷の違いなどの検出をすることができる。例えば、ロボット１００がハンドリングする移載対象物の重量（慣性質量）や大きさ（慣性モーメント）の違いによる負荷の違いが検出できるため、移載対象物の種類の識別や、移載対象物によってハンドリング作業の内容を変えるなどの利用が可能となる。
【００６８】
また、信号パターンを保持ハンド５０が振動する周波数特性パターンとして捉えた場合、ロボット１００の稼動部の状態の違いや、ハンドリングする移載対象物の慣性質量や慣性モーメントの違いを容易に識別することができる。具体的には、稼動部に発生する負荷の違い、衝撃、装置のガタ、設定ミスなどの様々な要因による状態の違いは、稼動部における振動の振幅や周波数の違いとして現れる。この周波数特性パターンを稼動部に取り付けた、慣性センサーにより検出することで、稼動部の状態をより簡便に検知、識別することができる。
【００６９】
以上のように、本実施形態によるロボット、ロボットの制御方法、およびプログラムによれば、ロボットの正常・異常の識別だけでなく、負荷の識別や異常負荷（想定より大きな負荷がかかる異常）、衝突・衝撃（異常動作や衝突などによる衝撃）、装置のガタ、設定ミスなど様々な稼動状況の識別ができるため、負荷に対応した適切な作業や、異常対応に手間取ることなく適切な対処の行えるロボットを提供することができる。
【符号の説明】
【００７０】
１０…機台、２０…アーム軸部、２１…アーム駆動モーター、３０…給除材アーム、４０…ハンド駆動機構、５０…保持ハンド、６０…統合制御部、６１…検知部、６２…制御部、７０…加速度センサー、７１…角速度センサー、１００…ロボット。
【図１】
0005849473.tif 000002
【図２】
0005849473.tif 000003
【図３】
0005849473.tif 000004
【図４】
0005849473.tif 000005
【図５】
0005849473.tif 000006
【図６】
0005849473.tif 000007
【図７】
0005849473.tif 000008