(57)【要約】【課題】  ロボットアームの急峻な動作で生じる慣性により、瞬時にロボットハンドからワークが落下しそうになる場合でも、ワークの把持を保つことができるロボット装置を提供する。【解決手段】  ロボットアームにエンドエフェクタを設けたロボット装置であって、エンドエフェクタには、エンドエフェクタ制御装置と、エンドエフェクタの状態を記憶する記憶部と、が設けられており、エンドエフェクタ制御装置は、所定の信号を受信すると、記憶部に記憶されている所定の信号を受信する前の前記エンドエフェクタの状態に基づいてエンドエフェクタを制御することを特徴とするロボット装置を採用した。【選択図】  図５
2020104178.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームにエンドエフェクタを設けたロボット装置であって、
前記エンドエフェクタには、
エンドエフェクタ制御装置と、
前記エンドエフェクタの状態を記憶する記憶部と、が設けられており、
前記エンドエフェクタ制御装置は、
所定の信号を受信すると、前記記憶部に記憶されている前記所定の信号を受信する前の前記エンドエフェクタの状態に基づいて前記エンドエフェクタを制御することを特徴とするロボット装置。
【請求項２】
請求項１に記載のロボット装置において、
前記エンドエフェクタ制御装置は、
前記所定の信号を受信すると、前記記憶部に記憶されている前記所定の信号を受信する前の前記エンドエフェクタの状態を維持するように前記エンドエフェクタを制御することを特徴とするロボット装置。
【請求項３】
請求項１または２に記載のロボット装置において、
前記ロボットアームを制御するロボットアーム制御装置を備え、
前記エンドエフェクタは、前記ロボットアーム制御装置に異常が発生したことを検知する異常検出部を備えており、
前記所定の信号は、前記異常検出部から送信される、前記ロボットアーム制御装置に異常が発生したことを示す信号であることを特徴とするロボット装置。
【請求項４】
請求項１または２に記載のロボット装置において、
前記エンドエフェクタは、前記エンドエフェクタに生じる加速度を検出する検出手段を備えており、
前記所定の信号は、前記検出手段から送信される、所定の加速度の値を検出したことを示す信号であることを特徴とするロボット装置。
【請求項５】
請求項１または２に記載のロボット装置において、
前記ロボットアームを制御するロボットアーム制御装置を備え、
前記エンドエフェクタは、前記ロボットアーム制御装置と無線通信を行う無線通信部を備えており、
前記所定の信号は、前記無線通信部から送信される、前記ロボットアーム制御装置との通信に異常が発生したことを示す信号であることを特徴とするロボット装置。
【請求項６】
請求項３から５のいずれか１項に記載のロボット装置において、
前記ロボットアーム制御装置は、前記エンドエフェクタの制御も行っており、
前記エンドエフェクタ制御装置は、切換部を有しており、
前記切換部は、前記所定の信号を受信すると、前記ロボットアーム制御装置から、前記エンドエフェクタ制御装置に切り換えて、前記エンドエフェクタ制御装置により前記エンドエフェクタを制御させることを特徴とするロボット装置。
【請求項７】
請求項１に記載のロボット装置において、
前記エンドエフェクタはロボットハンドであり、前記ロボットハンドは少なくとも２つの指部を備え、前記指部により対象物を把持することができ、
前記エンドエフェクタ制御装置は、
前記指部を前記対象物に接近させている際に、前記所定の信号を受信すると、前記指部を、前記対象物から離間させるように制御すること特徴とするロボット装置。
【請求項８】
請求項７に記載のロボット装置において、
前記エンドエフェクタ制御装置は、
前記対象物を把持している際に、前記所定の信号を受信すると、把持力を大きくするように前記指部を制御することを特徴とするロボット装置。
【請求項９】
請求項８に記載のロボット装置において、
前記把持力を大きくさせる際の値は、作業者により設定できることを特徴とするロボット装置。
【請求項１０】
エンドエフェクタであって、
制御装置と、
前記エンドエフェクタの状態を記憶する記憶部と、が設けられており、
前記制御装置は、
所定の信号を受信すると、前記記憶部に記憶されている前記所定の信号を受信する前の前記エンドエフェクタの状態に基づいて前記エンドエフェクタを制御することを特徴とするエンドエフェクタ。
【請求項１１】
請求項１０に記載のエンドエフェクタにおいて、
前記制御装置は、
前記所定の信号を受信すると、前記記憶部から前記所定の信号を受信する前の前記エンドエフェクタの状態を維持するように前記エンドエフェクタを制御することを特徴とするエンドエフェクタ。
【請求項１２】
ロボットアームにエンドエフェクタを設けたロボット装置の制御方法であって、
前記エンドエフェクタには、
エンドエフェクタ制御装置と、
前記エンドエフェクタの状態を記憶する記憶部と、が設けられており、
前記エンドエフェクタ制御装置は、
所定の信号を受信すると、前記記憶部に記憶されている前記所定の信号が入力される前の前記エンドエフェクタの状態に基づいて前記エンドエフェクタを制御することを特徴とする制御方法。
【請求項１３】
ロボットアームにエンドエフェクタを設けたロボット装置を用いた、物品の製造方法であって、
前記エンドエフェクタには、
エンドエフェクタ制御装置と、
前記エンドエフェクタの状態を記憶する記憶部と、が設けられており、
前記エンドエフェクタ制御装置は、
所定の信号を受信すると、前記記憶部に記憶されている前記所定の信号を受信する前の前記エンドエフェクタの状態に基づいて前記エンドエフェクタを制御し、物品を製造することを特徴とする物品の製造方法。
【請求項１４】
請求項１２に記載の制御方法または請求項１３に記載の物品の製造方法を実行可能な制御プログラム。
【請求項１５】
請求項１４に記載の制御プログラムを記録した、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット装置に関する。
【背景技術】
【０００２】
現在、多くの産業において多関節型のロボットアームといったロボット装置が、生産現場の省人化や自動化のために工場等で広く利用されている。特に近年では、少子化や人件費の高騰などから生産の自動化が加速しており、生産現場におけるロボット装置の需要はますます高まっている。
【０００３】
生産現場におけるロボット装置は、主にロボットアームとロボットハンドにより構成され、ロボットハンドにより部品を把持し、ロボットアームにより把持した部品を別の部品へ組み付ける等して製品の製造が行われる。
【０００４】
その際、ロボットハンドで把持した部品がロボットハンドから滑り落ちる等して把持した部品が破損しないよう、確実に部品を把持することがロボット装置に求められる。
【０００５】
特許文献１に記載のロボットハンドは、ロボットハンドのフィンガーの先端に把持対象物の滑りを検知するセンサを設置し、把持対象物の滑りが検知された場合はフィンガーの把持力を所定量増加させる。これにより把持対象物を最小限の把持力で、把持対象物が滑り落ちることがないよう確実に把持することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−１８９４８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら特許文献１に記載の技術は、把持対象物となるワークとロボットハンドとの相対位置がズレてしまい、不安定な状態でワークを把持することで生じる、ワークの滑り落ちに対して、徐々に把持力を大きくすることで対応している。
【０００８】
そのため、例えば、種々の要因によりロボットアームが急停止してしまい、急停止により生じる慣性によって、瞬時にワークが落下してしまう場合には把持力の増加が間に合わず対応できない可能性がある。
【０００９】
また、ロボットハンドによりワークの把持を行っている動作中に、ロボットアームの急峻な動作により、ロボットハンドに想定外の慣性がかかり、ロボットハンドがワークに強く接触してしまい、ワークの破損を招く可能性がある。
【００１０】
同様にロボットハンドの代わりに、ネジ締めドライバーや研磨ツール等のツールをワークと接触させている場合に、ロボットアームの急停止が起きると上述したような課題が発生する。
【００１１】
以上の課題を鑑み、本発明では、ロボットアームの急停止や急峻な動作により、ロボットハンド等のエンドエフェクタの動作が不安定になる場合でも、状況に応じて適切にエンドエフェクタを制御することができるロボット装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を鑑み、本発明は、ロボットアームにエンドエフェクタを設けたロボット装置であって、前記エンドエフェクタには、エンドエフェクタ制御装置と、前記エンドエフェクタの状態を記憶する記憶部と、が設けられており、前記エンドエフェクタ制御装置は、所定の信号を受信すると、前記記憶部に記憶されている前記所定の信号を受信する前の前記エンドエフェクタの状態に基づいて前記エンドエフェクタを制御することを特徴とするロボット装置を採用した。
【発明の効果】
【００１３】
本発明によれば、種々の原因によりロボットアームが急停止した場合でも急停止が起きた状況に応じて適切にエンドエフェクタを制御することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態におけるロボット装置１００の概略構成を示す図である。
【図２】第１の実施形態におけるロボットハンド本体３００の概略構成を示す図である。
【図３】第１の実施形態におけるロボット装置１００の構成を示すブロック図である。
【図４】第１の実施形態におけるロボットアーム本体２００の制御ブロック図である。
【図５】第１の実施形態における制御フローチャートである。
【図６】第２の実施形態におけるロボットハンド本体３００の概略構成を示す図である。
【図７】第３の実施形態におけるロボットハンド本体３００の概略構成を示す図である。
【発明を実施するための形態】
【００１５】
以下、添付図面に示す実施例を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施例はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００１６】
（第１の実施形態）
図１は、本実施形態におけるロボット装置１００を、ＸＹＺ座標系の任意の方向から見た平面図である。なお以下の図面において、図中の矢印Ｘ、Ｙ、Ｚはロボット装置１００全体の座標系を示す。一般に、ロボット装置を用いたロボットシステムでは、ＸＹＺ３次元座標系は、設置環境全体のグローバル座標系の他に、制御の都合などによって、ロボットハンド、指部などに関して適宜ローカル座標系を用いる場合がある。本実施形態ではロボット装置１００全体の座標系をＸＹＺ、ローカル座標系をｘｙｚで表すものとする。
【００１７】
図１に示すように、ロボット装置１００は、多関節のロボットアーム本体２００、ロボットハンド本体３００、ロボットアーム本体２００の動作を制御するロボットアーム制御装置４００を備えている。
【００１８】
また、ロボットアーム制御装置４００に教示データを送信する教示装置としての外部入力装置５００を備えている。外部入力装置５００の一例としてティーチングペンダントが挙げられ、作業者がロボットアーム本体２００やロボットハンド本体３００の位置を指定するのに用いる。
【００１９】
本実施形態では、エンドエフェクタとしてロボットアーム本体２００の先端部に設けられるものが、ロボットハンドである場合について説明するが、これに限定するものではなく、ツール等であってもよい。
【００２０】
ロボットアーム本体２００の基端となるリンク２０１は、基台２１０に設けられている。
【００２１】
ロボットハンド本体３００は、部品やツール等の対象物を把持するものである。本実施形態のロボットハンド本体３００は不図示の駆動機構により２本の指部３０１を開閉し、対象物の把持ないし開放を行う。対象物をロボットアーム本体２００に対して相対的に変位させないように把持できれば良い。
【００２２】
ロボットハンド本体３００はリンク２０６に接続され、リンク２０６が回転することで、ロボットハンド本体３００も回転させることができる。
【００２３】
ロボットアーム本体２００は、複数の関節、例えば６つ関節（６軸）を有している。ロボットアーム本体２００は、各関節Ｊ１〜Ｊ６を各回転軸まわりの矢印方向にそれぞれ回転駆動させる複数（６つ）のサーボモータ２１１〜２１６を有している。
【００２４】
ロボットアーム本体２００は、複数のリンク２０１〜２０６が各関節Ｊ１〜Ｊ６で回転可能に連結されている。ここで、ロボットアーム本体２００の基端側から先端側に向かって、リンク２０１〜２０６が順に直列に連結されている。
【００２５】
ロボットアーム本体２００は、可動範囲の中であれば、任意の３次元位置で任意の３方向の姿勢に、ロボットアーム本体２００のエンドエフェクタ（ロボットハンド本体３００）を向けることができる。
【００２６】
ここで、ロボットアーム本体２００の手先とは、本実施形態では、ロボットハンド本体３００のことである。ロボットハンド本体３００が物体を把持している場合は、ロボットハンド本体３００と把持している物体（例えば部品やツール等）とを含めてロボットアーム本体２００の手先という。
【００２７】
つまり、ロボットハンド本体３００が物体を把持している状態であるか物体を把持していない状態であるかにかかわらず、エンドエフェクタであるロボットハンド本体３００を手先という。
【００２８】
各関節Ｊ１〜Ｊ６は、それぞれモータ２１１〜２１６と、各モータ２１１〜２１６にそれぞれ接続されたセンサ部２２１〜２２６とを有している。各センサ部２２１〜２２６は、各モータの回転軸の位置を検出する位置センサ（角度センサ）と、各関節Ｊ１〜Ｊ６で生じるトルクを検出するトルクセンサとを有している。
【００２９】
また、各関節Ｊ１〜Ｊ６は、不図示の減速機を有し、直接、又は不図示のベルトやベアリング等の伝達部材を介して各関節で駆動されるリンク２０１〜２０６に接続されている。
【００３０】
基台２１０の内部には、各モータ２１１〜２１６の駆動を制御する駆動制御部としてのサーボ制御部２３０が配置されている。
【００３１】
サーボ制御部２３０は、入力された各関節Ｊ１〜Ｊ６に対応する各トルク指令値に基づき、各関節Ｊ１〜Ｊ６のトルクがトルク指令値に追従するよう、各モータ２１１〜２１６に電流を出力し、各モータ２１１〜２１６の駆動を制御する。
【００３２】
なお、本実施形態では、サーボ制御部２３０が１つの制御装置で構成されているものとして説明しているが、各モータ２１１〜２１６にそれぞれ対応した複数の制御装置の集合体で構成されていてもよい。
【００３３】
また、本実施形態では、サーボ制御部２３０は、基台２１０の内部に配置されているが、ロボットアーム制御装置４００の内部に配置されていてもよい。
【００３４】
以上の構成により、ロボットアーム本体２００によりロボットハンド本体３００を任意の位置に動作させ、所望の作業を行わせることができる。所望の作業とは例えば、対象物同士を組み付け物品の製造を行う等の作業である。
【００３５】
図２は、本実施形態におけるロボットハンド本体３００の構成を示す模式図である。ロボットハンド本体３００は、対象物を把持するための指部を複数備えている。例として、ここでは２つのフィンガー３０１の場合について説明する。２つのフィンガー３０１は、１つのモータ３１１で駆動される。
【００３６】
モータ３１１には、センサ部３２１が接続され、不図示のベルトやベアリング等の伝達部材を介して指部３０１に接続されている。ここで、センサ部３２１とは指部３０１の位置に相当するモータ３１１の回転角度を検出する角度センサである。
【００３７】
ロボットハンド本体３００の内部には、モータ３１１の駆動を制御するエンドエフェクタ制御装置３５１が配置されている。
【００３８】
エンドエフェクタ制御装置３５１は、入力される指部３０１に対応する位置指令値に基づき、指部３０１の位置および生じる把持力が位置指令値および把持力指令値に追従するようにモータ３１１に電流を出力し、モータ３１１の駆動を制御する。
【００３９】
また、ロボットハンド本体３００の内部には、エンドエフェクタの状態を記憶するための記憶部３６１が備えられている。ここでいうエンドエフェクタの状態とは、次の５つの状態を指す。
【００４０】
第一に、ロボットハンド本体３００が対象物を把持している状態で、ロボットハンド本体３００が移動をしている状態（対象物あり移動状態）がある。
【００４１】
第二に、ロボットハンド本体３００が対象物を把持していない状態で、ロボットハンド本体３００が移動をしている状態（対象物なし移動状態）が挙げられる。
【００４２】
第三に、ロボットハンド本体３００が物体を把持している状態で、ロボットハンド本体３００が移動をしていない状態（対象物あり待機状態）がある。
【００４３】
第四に、ロボットハンド本体３００が対象物を把持していない状態で、ロボットハンド本体３００が移動をしていない状態（対象物なし待機状態）がある。
【００４４】
第五に、ロボットハンド本体３００は移動をしていないが、ロボットハンド本体３００の指部３０１が対象物を把持するために、対象物に接近中の状態（ワーク取得中状態）がある。
【００４５】
加えて、エンドエフェクタ制御装置３５１には、制御装置切換部３７１が備えられている。制御装置切換部３７１が外部より所定の信号を受け取った場合に、ロボットハンド本体３００に設けられた指部３０１の位置および把持力の指令値を出力し制御する制御装置を、ロボットアーム制御装置４００から、エンドエフェクタ制御装置３５１に切り換える。
【００４６】
なお、ロボットハンド本体３００がリンク２０６に接続されることで、ロボットアーム本体２００内部を介して配線されている不図示の通信ケーブルに接続され、ロボットアーム制御装置４００と通信可能となるものとする。
【００４７】
また、本実施形態では、記憶部３６１がエンドエフェクタ制御装置３５１と別体となって設けられている例を示したが、エンドエフェクタ制御装置３５１の内部に記憶部３６１を設けても良い。
【００４８】
図３は、本実施形態におけるロボット装置１００の構成を示すブロック図である。ロボットアーム制御装置４００は、コンピュータで構成されており、制御装置４００は、コンピュータで構成されており、制御部（処理部）としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１を備えている。
【００４９】
また制御装置４００は、記憶部として、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４０４を備えている。また、制御装置４００は、記録ディスクドライブ４０５、各種のインタフェース４０６〜４０９を備えている。
【００５０】
ＣＰＵ４０１には、ＲＯＭ４０２、ＲＡＭ４０３、ＨＤＤ４０４、記録ディスクドライブ４０５、各種のインタフェース４０６〜４０９が、バス４１０を介して接続されている。
【００５１】
ＲＯＭ４０２には、ＣＰＵ４０１に、演算処理を実行させるためのプログラム４３０が格納されている。ＣＰＵ４０１は、ＲＯＭ４０２に記録（格納）されたプログラム４３０に基づいてロボット制御方法の各工程を実行する。
【００５２】
ＲＡＭ４０３は、ＣＰＵ４０１の演算処理結果等、各種データを一時的に記憶する記憶装置である。
【００５３】
ＨＤＤ４０４は、ＣＰＵ４０１の演算処理結果や外部から取得した各種データ等を記憶する記憶装置である。
【００５４】
記録ディスクドライブ４０５は、記録ディスク４３１に記録された各種データやプログラム等を読み出すことができる。
【００５５】
外部入力装置５００はインタフェース４０６に接続されている。ＣＰＵ４０１はインタフェース４０６及びバス４１０を介して外部入力装置５００からの教示データの入力を受ける。
【００５６】
サーボ制御部２３０は、インタフェース４０９に接続されている。ＣＰＵ４０１は、サーボ制御部２３０、インタフェース４０９及びバス４１０を介して各センサ部２２１〜２２６から検出結果を取得する。また、ＣＰＵ４０１は、各関節のトルク指令値のデータを所定時間間隔でバス４１０及びインタフェース４０９を介してサーボ制御部２３０に出力する。
【００５７】
同様にエンドエフェクタ制御装置３５１も、インタフェース４１１に接続され、バス４１０を介してＣＰＵ４０１と通信可能に設けられている。ＣＰＵ４０１は、エンドエフェクタ制御装置３５１、バス４１０及びインタフェース４１１を介してセンサ部３２１から検出結果を取得する。また、ＣＰＵ４０１は、各指部３０１の指令値のデータを所定時間間隔でバス４１０及びインタフェース４１１を介してエンドエフェクタ制御装置３５１に出力する。
【００５８】
インタフェース４０７には、モニタ４２１が接続されており、モニタ４２１には、ＣＰＵ４０１の制御の下、各種画像が表示される。インタフェース４０８は、書き換え可能な不揮発性メモリや外付けＨＤＤ等の記憶部である外部記憶装置４２２が接続可能に構成されている。
【００５９】
なお本実施形態では、コンピュータ読み取り可能な記録媒体がＨＤＤ４０４であり、ＨＤＤ４０４にプログラム４３０が格納される場合について説明するが、これに限定するものではない。プログラム４３０は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。
【００６０】
例えば、プログラム４３０を供給するための記録媒体としては、ＲＯＭ４０２、記録ディスク４３１、外部記憶装置４２２等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性メモリ、ＲＯＭ等を用いることができる。
【００６１】
図４は、本実施形態におけるロボット装置１０００のロボットアーム本体２００の制御系を示す制御ブロック図である。制御装置４００のＣＰＵ４０１（図３）は、プログラム４３０（図３）を実行することにより、力制御部５０４及び位置目標値生成部５０５として機能する。
【００６２】
サーボ制御部２３０は、複数（６関節であるので６つ）の切換制御部５１１〜５１６と、複数の位置制御部５２１〜５２６と、複数のモータ制御部５３１〜５３６として機能する。
【００６３】
各センサ部２２１〜２２６は、位置センサ（角度センサ）５５１〜５５６と、トルクセンサ５４１〜５４６（トルク検出手段）とを有する。位置センサ５５１〜５５６は、モータ２１１〜２１６又は関節Ｊ１〜Ｊ６の角度（位置）をそれぞれ検知するものである。
【００６４】
本実施形態では、位置センサ５５１〜５５６は、モータ２１１〜２１６の角度θ１〜θ６を直接検知する。なお、関節Ｊ１〜Ｊ６の角度ｑ１〜ｑ６は、不図示の減速機の減速比等に基づき、位置センサ５５１〜５５６で検出される角度θ１〜θ６から求めることができる。したがって、位置センサ５５１〜５５６は、間接的に各関節Ｊ１〜Ｊ６の角度ｑ１〜ｑ６を検知していることになる。トルクセンサ５４１〜５４６は、関節Ｊ１〜Ｊ６のトルクτ１〜τ６をそれぞれ検知する。
【００６５】
外部入力装置５００は、作業者の操作により、力教示データ５０１に含まれる力目標値Ｆｄと、位置教示データ５０２に含まれる位置目標値ＰｄとをＣＰＵ３０１に出力する。力目標値Ｆｄは、ロボットアーム本体２００の手先で生じる力の目標値であり、操作者が外部入力装置５００を用いて設定する。
【００６６】
位置目標値Ｐｄは、ロボットアーム本体２００の手先の位置の目標値であり、操作者が外部入力装置５００を用いて設定する。外部記憶装置４２２にはロボットモデル５０３が記憶されている。
【００６７】
力制御部５０４は、手先負荷モデルを含むロボットモデル５０３、力目標値Ｆｄ、位置目標値Ｐｄ、現在位置Ｐ及び力Ｆを入力する。そして、力制御部５０４は、これら値を用いて、各関節Ｊ１〜Ｊ６に対するトルク指令値τＦｄ１〜τＦｄ６を求める。
【００６８】
このとき、手先力Ｆと力目標値Ｆｄとの力偏差、手先の位置Ｐと位置目標値Ｐｄとの位置偏差が小さくなるようにトルク指令値τＦｄ１〜τＦｄ６を求める。力制御部５０４は、求めた各トルク指令値τＦｄ１〜τＦｄ６を各切替制御部５１１〜５１６に出力する。
【００６９】
位置目標値生成部５０５は、手先の位置目標値Ｐｄから逆運動学計算により各関節Ｊ１〜Ｊ６の角度指令値（位置指令値）ｑｄ１〜ｑｄ６を求め、各角度指令値ｑｄ１〜ｑｄ６を各位置制御部５２１〜５２６に出力する。
【００７０】
各位置制御部５２１〜５２６は、各関節Ｊ１〜Ｊ６の角度ｑ１〜ｑ６と各関節Ｊ１〜Ｊ６の角度指令値ｑｄ１〜ｑｄ６との角度偏差が小さくなるようトルク指令値τＰｄ１〜τＰｄ６を求める。なお、この角度偏差を小さくすることは、各モータ２１１〜２１６の角度と角度指令値ｑｄ１〜ｑｄ６を減速機の減速比等で換算した角度指令値との角度偏差を小さくすることと等価である。各位置制御部５２１〜５２６は、各トルク指令値τＰｄ１〜τＰｄ６を各切替制御部５１１〜５１６に出力する。
【００７１】
各切替制御部５１１〜５１６は、トルクベース力制御を行う力制御モードと、位置制御を行う位置制御モードとを切り替え制御する。各切替制御部５１１〜５１６は、力制御モード時は、各トルク指令値τＦｄ１〜τＦｄ６を各トルク指令値τｄ１〜τｄ６として各モータ制御部５３１〜５３６に出力する。また、各切替制御部５１１〜５１６は、位置制御モード時は、各トルク指令値τＰｄ１〜τＰｄ６を各トルク指令値τｄ１〜τｄ６として各モータ制御部５３１〜５３６に出力する。
【００７２】
各モータ制御部５３１〜５３６は、各モータ２１１〜２１６の角度（位置）θ１〜θ６に基づき、各トルク指令値τｄ１〜τｄ６を実現するように各電流Ｃｕｒ１〜Ｃｕｒ６を各モータ２１１〜２１６に通電する。
【００７３】
以上の構成により、ロボットアーム本体２００に、位置情報により制御する位置制御と、トルク等の力情報により制御する力制御とを実行させることが可能となる。
【００７４】
図５は、本実施形態における制御方法を示すフローチャートである。ロボットアーム制御装置４００のＣＰＵ４０１が、プログラム４３０を実行することにより、ロボットアーム本体２００が動作する。
【００７５】
図５より、まずロボット装置１００が動作を開始する。その後、Ｓ１０１にてロボットハンド本体３００の状態を、ロボットハンド本体３００内部の記憶部３６１に記憶させる。
【００７６】
ここでいうロボットハンド本体３００の状態とは、上述した、ワークあり移動状態、ワークなし移動状態、ワークあり待機状態、ワークなし待機状態、ワーク取得中状態の５つの状態である。これらの状態はロボットハンド本体３００に設けられたセンサ部３２１からの検出結果に基づいて判別され、記憶部３６１に記憶される。
【００７７】
次にＳ１０２で、ロボットハンド本体３００内部の制御装置切換部３７１が、外部から所定の制御装置切換信号を受信したかどうか判定する。制御装置切換信号とは、ロボットアーム本体２００が急停止等により急峻な動作を行ったことを示す信号である。
【００７８】
今回は、ロボットアーム制御装置４００が、ロボットアーム本体２００に設けられたセンサ部２２１〜２２６の検出結果に基づき、ロボットハンド本体３００にかかる加速度を算出する。ロボットハンド本体３００にかかる加速度が所定の値を超えた場合、ロボットアーム制御装置４００は、ロボットアーム本体２００が急峻な動作を行ったと判定する。そしてロボットアーム制御装置４００から制御装置切換信号が制御装置切換部３７１に送信される。
【００７９】
ロボットハンド本体３００にかかる加速度が所定の値を超えない場合、ロボットアーム本体２００は急峻な動作をしていないと判定し、制御装置切換信号は制御装置切換部３７１に送信されない。
【００８０】
制御切換信号が制御装置切換部３７１に送信されない場合、Ｓ１０２：ＮＯとなり、Ｓ１０１の直前まで戻り、再度ロボットハンド本体３００の状態を記憶部３６１に記憶させる。これにより、制御装置切換信号が制御装置切換部３７１に送信される前のロボットハンド本体３００の状態を常に記憶させておくことができる。
【００８１】
ロボットハンド本体３００にかかる加速度が所定の値を超えた場合、ロボットアーム本体２００は急峻な動作を行っていると判定し、制御装置切換信号が制御装置切換部３７１に送信される。
【００８２】
なお、本実施形態では加速度の算出をトルクセンサにより行っているが、加速度を検出する加速度センサをロボットハンド本体３００に設け、直接、加速度の値を検出することで、制御装置切換信号の送信のトリガーとしても良い。
【００８３】
また、トルクセンサだけではなく、力覚センサや位置センサ等、加速度を演算するための物理量を検出できる検出手段を適宜用い、加速度の演算を行っても良い。
【００８４】
制御装置切換信号が制御装置切換部３７１に送信された場合、Ｓ１０２：ＹＥＳとなり、Ｓ１０３に進む。
【００８５】
Ｓ１０３では、ロボットハンド本体３００の制御を行う制御装置を、ロボットアーム制御装置４００からエンドエフェクタ制御装置３５１に変更する。以下Ｓ１０４からの制御フローはエンドエフェクタ制御装置３５１により行われるものとする。
【００８６】
Ｓ１０４では、制御装置切換信号が制御装置切換部３７１に送信される前のロボットハンド本体３００の状態が「対象物あり移動状態」であるか記憶部３６１を参照し判定する。「対象物あり移動状態」でない場合、Ｓ１０４：ＮＯとなりＳ１０５へ進み、「対象物あり移動状態」である場合はＳ１０４：ＹＥＳよりＳ１０９へ進む。
【００８７】
Ｓ１０９では、ロボットハンド本体３００で把持した対象物が、ロボットアーム本体２００の急峻な動作により落下しないよう、指部３０１の把持力を所定量増加（＋ΔＴ［Ｎ］）させる。これにより、ロボットハンド本体３００に加速度がかかり把持した対象物に慣性がかかっても、把持した対象物落下を防ぐことができる。
【００８８】
この際、把持力の変化量ΔＴについて、作業者が適宜設定できるようにしてもよい。こうすることで、把持力の増加によりワークが破損しない程度の変化量にしておけば、さらに対象物の破損の危険性を低減できる。
【００８９】
Ｓ１０５では、制御装置切換信号が制御装置切換部３７１に送信される前のロボットハンド本体３００の状態が「対象物なし移動状態」であるか記憶部３６１を参照し判定する。「対象物なし移動状態」でない場合、Ｓ１０５：ＮＯとなりＳ１０６へ進み、「対象物なし移動状態」である場合はＳ１０５：ＹＥＳとなり、Ｓ１１０へ進む。
【００９０】
ここで、「対象物なし移動状態」の場合、ロボットハンド本体３００は対象物を把持していないので、ワークの落下の危険性はない。そのため、エンドエフェクタ制御装置３５１によって対象物を保護する制御動作は無いため、Ｓ１０９で行った把持力の増加は行わない。
【００９１】
Ｓ１１０では、指部３０１の位置を、記憶部３６１に記憶している制御装置切換信号が制御装置切換部３７１に送信される前の指部３０１の位置に移動させる。これにより、制御装置切換信号が制御装置切換部３７１に送信される前のロボットハンド本体３００の状態を維持させる。
【００９２】
Ｓ１０６では、制御装置切換信号が制御装置切換部３７１に送信される前のロボットハンド本体３００の状態が「対象物あり待機状態」であるか記憶部３６１を参照し判定する。「対象物あり待機状態」でない場合はＳ１０６：ＮＯよりＳ１０７に進み、「対象物あり待機状態」である場合はＳ１０６：ＹＥＳよりＳ１０９に進む。
【００９３】
「対象物あり待機状態」において、加速度が生じるということは、ロボットアーム制御装置４００に異常が発生し、ロボットアーム本体２００が急停止し、ロボットハンド本体３００の位置を保つことができなくなったために、急峻に位置が変わったと考えられる。
【００９４】
そのため、Ｓ１０９で、ロボットハンド本体３００で把持した対象物が、ロボットアーム本体２００の急停止により落下しないよう、指部３０１の把持力を所定量増加（＋ΔＴ［Ｎ]）させる。これにより、ロボットハンド本体３００に加速度がかかり把持した対象物に慣性がかかっても、把持した対象物落下を防ぐことができる。
【００９５】
Ｓ１０７では、制御装置切換信号が制御装置切換部３７１に送信される前のロボットハンド本体３００の状態が「対象物なし待機状態」であるか記憶部３６１を参照し判定する。「対象物なし待機状態」でない場合はＳ１０７：ＮＯよりＳ１０８に進み、「対象物なし待機状態」である場合はＳ１０７：ＹＥＳよりＳ１１０に進む。
【００９６】
ここで、「対象物なし待機状態」の場合、ロボットハンド本体３００は対象物を把持していないので、ワークの落下の危険性はない。そのため、エンドエフェクタ制御装置３５１によって対象物を保護する制御動作は無いため、Ｓ１０９で行った把持力の増加は行わない。
【００９７】
Ｓ１１０では、指部３０１の位置を、記憶部３６１に記憶している制御装置切換信号が制御装置切換部３７１に送信される前の指部３０１の位置に移動させる。これにより、制御装置切換信号が制御装置切換部３７１に送信される前のロボットハンド本体３００の状態を維持させる。
【００９８】
Ｓ１０８に進むということは、５つの状態の内、残りの「対象物接近中状態」しか残っていないため、制御装置切換信号が制御装置切換部３７１に送信される前のロボットハンド本体３００の状態が「対象物接近中状態」であると判定する。
【００９９】
そしてＳ１０８では、ロボットハンド本体３００の指部３０１の位置を、対象物に接触しない位置まで開くように移動させる。具体的には、指部３０１の位置を最も開いた位置まで移動させる。
【０１００】
ここで「対象物接近中状態」では、対象物を把持するために指部３０１の把持力を制御した状態で、対象物に接触するまで指部３０１を一定速度で対象物に接近させるように速度制御している。
【０１０１】
そのため、指部３０１を最も開いた位置まで移動させることで指部３０１を対象物から離間させることができ、ロボットアーム本体２００の急峻な動作により指部３０１が対象物に接触し破損する可能性を低減することができる。
【０１０２】
以下、ロボットハンド本体３００の各状態における効果について、具体例を挙げて説明する。
【０１０３】
まず、ロボットハンド本体３００が「対象物あり移動状態」「対象物あり待機中状態」の場合、ロボットハンド本体３００の指部３０１は、対象物のある方向に一定の把持力を生じるように制御されている。よって、対象物の落下の危険性を低減することができる。
【０１０４】
次にロボットハンド本体３００が「対象物なし移動状態」「対象物なし待機状態」の場合、ロボットハンド本体３００の指部３０１を制御装置切換信号が制御装置切換部３７１に送信される前のロボットハンド本体３００の状態に維持しておく。こうすることで、待機状態を保つことができる。
【０１０５】
以上より、本実施形態によれば、ロボットアーム本体２００に急峻な動作が生じた場合、ロボットハンド本体３００の制御をエンドエフェクタ制御装置３５１に切り換えている。
【０１０６】
これにより、ロボットハンド本体３００に近接した場所に位置する制御装置を用いて、対象物の落下を防ぐ制御を行うことができるので、制御の応答性を高めることができ、対象物が瞬時に落下してしまう場合でも、落下防止制御を間に合わせることができる。
【０１０７】
また、ロボットハンド本体３００の状態を記憶しておき、ロボットハンド本体３００の種々の状態に対応して、落下防止制御の内容を変更している。
【０１０８】
これにより、柔軟な落下防止制御を行うことができ、例えば、把持力の増加による対象物破損、指部と対象物との強い接触による破損、といった落下以外の要因による対象物破損の危険性も低減することができる。
【０１０９】
なお、本実施形態では、主に５つの状態を例に取り説明したが、これに限られない。例えば、エンドエフェクタがロボットハンドではなく、研磨ツールやドライバー等のツールであった場合、ツールによって、状態の判定方法を変更し、制御内容を変更しても良い。
【０１１０】
（第２の実施形態）
上記第１の実施形態では、制御装置を切り換える信号を、ロボットハンド本体３００にかかる加速度をトリガーにした。しかしながら、例えばロボットアーム本体２００を制御するロボットアーム制御装置４００に何らかの異常が発生した場合、ロボットアーム本体２００を緊急停止する場合がある。
【０１１１】
この際、ロボットアーム本体２００は急峻に停止動作を行うため、ロボットハンド本体３００に想定外の加速度がかかる。
【０１１２】
しかしながら、第１の実施形態では、ロボットハンド本体３００にかかる加速度を、センサ部２２１〜２２６の検出結果を基に、ロボットアーム制御装置４００で算出する。
【０１１３】
そのため、ロボットアーム制御装置４００に異常をきたしている場合、上記の加速度の演算ができなくなり、対象物の落下防止制御を実行できなくなってしまう。
【０１１４】
本実施形態では、上述したようにロボットアーム制御装置４００に異常をきたした場合でも、対象物の落下の危険性を低減できる制御方法を説明する。
【０１１５】
以下では、第１の実施形態とは異なるハードウェアや制御系の構成の部分について必要があれば図示し説明する。また、第１の実施形態と同様の部分については上記と同様の構成ならびに作用が可能であるものとし、その詳細な説明は省略するものとする。
【０１１６】
図６は本実施形態におけるロボットハンド本体３００の概略図である。本実施形態では、ロボットハンド本体３００の内部にロボットアーム制御装置４００に異常が発生したことを検出する異常検出部３８１を備えている。
【０１１７】
異常検出部３８１は、異常検出方法として、ロボットアーム制御装置４００からの通信信号が遮断されたことを検出する。
【０１１８】
異常が発生していない場合、ロボットアーム制御装置４００は、ロボットハンド本体３００に対して指部３０１を制御するための制御値を所定時間間隔ΔＴ１で出力している。
【０１１９】
このΔＴ１に対して、ΔＴ２＞ΔＴ１となるようなΔＴ２を予め設定しておき、ΔＴ２の時間が経過しても制御値がロボットアーム制御装置４００から出力されなかった場合に、異常検出部３８１がロボットアーム制御装置４００に異常が生じたと判定する。
【０１２０】
そして、異常検出部３８１が図５のＳ１０２で、制御装置切換信号を制御装置切換部３７１に送信する。
【０１２１】
あとは図５のフローと同じ制御を、エンドエフェクタ制御装置３５１により行う。
【０１２２】
以上により、ロボットアーム制御装置４００に何らかの異常をきたし、ロボットアーム本体２００が緊急停止し、ロボットハンド本体３００に想定外の加速度がかかったとしても、対象物の落下防止制御を行うことができる。
【０１２３】
なお、別の異常検出方法として、ロボットアーム制御装置４００からの電源電圧が遮断されたことを検知する場合について説明する。
【０１２４】
電圧の閾値をΔＶｔｈとして設定しておき、ロボットアーム制御装置４００から供給される電源電圧Ｖｎが、Ｖｎ＜ΔＶｔｈとなった場合に、異常検出部３８１が制御装置切替信号を制御装置切換部３７１に送信する。
【０１２５】
これにより、上記と同様にロボットアーム制御装置４００の異常を検出でき、ロボットアーム制御装置４００に何らかの異常をきたし、ロボットハンド本体３００に想定外の加速度がかかったとしても、対象物の落下防止制御を行うことができる。
【０１２６】
なお、本実施形態の場合、ロボットアーム制御装置４００が異常から復帰した後の、エンドエフェクタの制御を別途、設定しておいても良い。
【０１２７】
（第３の実施形態）
上記第１の実施形態、第２の実施形態では、エンドエフェクタ制御装置３５１とロボットアーム制御装置４００との通信が有線による通信で行われていた。
【０１２８】
しかし、ロボットハンド本体３００とロボットアーム本体２００との電気的な接続部を無線化し、ロボットアーム本体２００には通信ケーブルを配線し、半有線、半無線で指部３０１の制御をロボットアーム本体４００の通信で行っている場合でも効果を発揮する。
【０１２９】
上述の半有線、半無線による通信方法は、特開２０１２−１０１３１５号公報等に記載の公知の技術を用いるものとし詳細な説明は割愛する。
【０１３０】
上述した、半有線、半無線による通信方法では、無線部分の通信が不安定であるという課題がある。
【０１３１】
そのため、無線部分の通信が途切れてしまうと、指部３０１の制御を行うことができなくなり、把持していた対象物を落下させてしまう危険性が生じる。
【０１３２】
本実施形態では、上述したように指部３０１とロボットアーム制御装置４００との通信に無線部分があり、通信が途絶えてしまった場合でも、対象物の落下の危険性を低減できる制御方法を説明する。
【０１３３】
以下では、第１の実施形態、第２の実施形態とは異なるハードウェアや制御系の構成の部分について必要があれば図示し説明する。また、第１の実施形態と同様の部分については上記と同様の構成ならびに作用が可能であるものとし、その詳細な説明は省略するものとする。
【０１３４】
図７は本実施形態におけるロボットハンド本体３００とロボットアーム本体２００のリンク２０６の概略図である。本実施形態では、ロボットハンド本体３００の内部に、ロボットアーム制御装置４００から配された通信ケーブル２４０とエンドエフェクタ制御装置３５１とを無線で通信を行うための無線通信部３９１を備えている。
【０１３５】
同様に無線通信部３９１はリンク２０６の内部に設けられており、通信ケーブル２４０と接続されている。これにより、半有線、半無線で、エンドエフェクタ制御装置３５１とロボットアーム制御装置４００との通信を可能にする。
【０１３６】
なお、本実施形態では、エンドエフェクタ３５１に入力される電源電圧は不図示の電源ケーブルにより有線で供給されるものとする。
【０１３７】
さらに無線通信部３９１は、無線通信が途切れたことを検出する機能も備えている。以下詳述する。
【０１３８】
無線通信が途切れていない場合、ロボットアーム制御装置４００は、ロボットハンド本体３００に対して指部３０１を制御するための制御値を所定時間間隔ΔＴ３で出力している。
【０１３９】
このΔＴ３に対して、ΔＴ４＞ΔＴ３となるようなΔＴ４を予め設定しておき、ΔＴ４の時間が経過しても制御値がロボットアーム制御装置４００から出力されなかった場合に、無線通信部３９１が、通信が途切れたと判定する。
【０１４０】
そして、無線通信部３９１が図５のＳ１０２で、制御装置切換信号を制御装置切換部３７１に送信する。
【０１４１】
あとは図５のフローと同じ制御を、エンドエフェクタ制御装置３５１により行う。
【０１４２】
以上により、指部３０１とロボットアーム制御装置４００との通信に無線部分があり、通信が途絶えてしまった場合でも、対象物の落下の危険性を低減することができる。
【０１４３】
なお、本実施形態の場合、無線通信が復帰した後の、エンドエフェクタの制御を別途、設定しておいても良い。
【０１４４】
上述した種々の実施形態の処理手順は具体的にはエンドエフェクタ制御装置４５１により実行されるものとして説明した。しかし、上述した機能を実行可能なソフトウェアの制御プログラムおよびそのプログラムを記録した記録媒体を別の装置に搭載させて実施しても良い。
【０１４５】
従って上述した機能を実行可能なソフトウェアの制御プログラムおよびそのプログラムを記録した記録媒体は本発明を構成することになる。
【０１４６】
また、上記実施形態では、コンピュータで読み取り可能な記録媒体がＲＯＭ或いはＲＡＭであり、ＲＯＭ或いはＲＡＭに制御プログラムが格納される場合について説明したが、本発明はこのような形態に限定されるものではない。
【０１４７】
本発明を実施するための制御プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、制御プログラムを供給するための記録媒体としては、ＨＤＤ、外部記憶装置、記録ディスク等を用いてもよい。
【０１４８】
（その他の実施形態）
上述した種々の実施形態では、ロボット装置１００が複数の関節を有する多関節ロボットアームを用いた場合を説明したが、関節の数はこれに限定されるものではない。ロボット装置の形式として、垂直多軸構成を示したが、パラレルリンク型など異なる形式の関節においても上記と同等の構成を実施することができる。
【０１４９】
また、ロボット装置１００の構成例を各実施形態の例図により示したが、これに限定されるものではなく、当業者において任意に設計変更が可能である。また、ロボット装置１００に設けられる各モータは、上述の構成に限定されるものではなく、各関節を駆動する駆動源は例えば人工筋肉のようなデバイス等であってもよい。
【０１５０】
また上述した種々の実施形態は、制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる機械に適用可能である。
【符号の説明】
【０１５１】
１００  ロボット装置
２００  ロボットアーム本体
２１０  基台
２０１、２０２、２０３、２０４、２０５、２０６  リンク
２１１、２１２、２１３、２１４、２１５、２１６、３１１  モータ
２２１、２２２、２２３、２２４、２２５、２２６、３２１  センサ部
２４０  通信ケーブル
３００  ロボットハンド本体
３０１  指部
３５１  エンドエフェクタ制御装置
３６１  記憶部
３７１  制御装置切換部
３８１  異常検出部
３９１  無線通信部
【図１】
2020104178.tif 000003
【図２】
2020104178.tif 000004
【図３】
2020104178.tif 000005
【図４】
2020104178.tif 000006
【図５】
2020104178.tif 000007
【図６】
2020104178.tif 000008
【図７】
2020104178.tif 000009