(57)【要約】【課題】ロボット及びハンドの動作を容易に教示することのできる制御装置を提供する。【解決手段】ユーザによりアーム（１０Ａ）の位置及び姿勢を変更して保持可能であるロボット（１０）と、アームに取り付けられ、ユーザにより開閉位置を変更して保持可能であるハンド（２０）と、の動作を制御する制御装置であって、アームの位置及び姿勢を検出する第１検出部（３１〜３３）と、ハンドの開閉位置を検出する第２検出部（２２）と、ハンドの把持力を検出する第３検出部（２３）と、アーム及びハンドの状態を記録する操作を受け付ける受付部（１９）と、受付部により操作を受け付けた時に検出された位置、姿勢、開閉位置、及び把持力を状態情報として時系列に記録する記録部（３５）と、記録部により時系列に記録された状態情報を再現するように、アーム及びハンドの動作を制御する制御部（３６）と、を備える。【選択図】      図１
2020151837.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによりアームの位置及び姿勢を変更して保持可能であるロボットと、前記アームに取り付けられ、前記ユーザにより開閉位置を変更して保持可能であるハンドと、の動作を制御する制御装置であって、
前記位置及び前記姿勢を検出する第１検出部と、
前記開閉位置を検出する第２検出部と、
前記ハンドの把持力を検出する第３検出部と、
前記アーム及び前記ハンドの状態を記録する操作を受け付ける受付部と、
前記受付部により前記操作を受け付けた時に、前記第１検出部、前記第２検出部、及び前記第３検出部によりそれぞれ検出された前記位置、前記姿勢、前記開閉位置、及び前記把持力を状態情報として時系列に記録する記録部と、
前記記録部により時系列に記録された前記状態情報を再現するように、前記アーム及び前記ハンドの動作を制御する制御部と、
を備えるロボット及びハンドの制御装置。
【請求項２】
前記制御部は、前記状態情報の前記把持力が前記ハンドの把持動作を判定することのできる第１力よりも大きい場合に、前記開閉位置よりも前記把持力を優先して前記状態情報を再現する、請求項１に記載のロボット及びハンドの制御装置。
【請求項３】
前記制御部は、前記状態情報の前記把持力が前記ハンドの把持動作を判定することのできる第１力よりも大きい場合に、前記状態情報を再現する際に前記開閉位置よりも所定量手前まで最速で前記ハンドを動作させる、請求項１又は２に記載のロボット及びハンドの制御装置。
【請求項４】
前記制御部は、前記状態情報の前記把持力が前記ハンドの非把持動作を判定することのできる第２力よりも小さい場合に、前記状態情報を再現する際に最速で前記開閉位置を再現する、請求項１〜３のいずれか１項に記載のロボット及びハンドの制御装置。
【請求項５】
前記制御部は、連続する２つの前記状態情報の前記把持力に基づいて、前記連続する２つの前記状態情報の間における前記ハンドの動作を制御する、請求項１〜４のいずれか１項に記載のロボット及びハンドの制御装置。
【請求項６】
前記制御部は、連続する２つの前記状態情報の前記把持力が共に、前記ハンドの把持動作を判定することのできる第１力よりも大きい場合に、前記連続する２つの前記状態情報の間における前記ハンドの動作を把持動作に維持する、請求項１〜５のいずれか１項に記載のロボット及びハンドの制御装置。
【請求項７】
前記制御部は、連続する２つの前記状態情報の前記把持力が共に、前記ハンドの非把持動作を判定することのできる第２力よりも小さい場合に、前記連続する２つの前記状態情報の間における前記ハンドの動作を非把持動作に維持する、請求項１〜６のいずれか１項に記載のロボット及びハンドの制御装置。
【請求項８】
前記制御部は、第１の前記状態情報の前記把持力が前記ハンドの非把持動作を判定することのできる第２力よりも小さく、且つ第１の前記状態情報に続く第２の前記状態情報の前記把持力が前記ハンドの把持動作を判定することのできる第１力よりも大きい場合に、前記第２の前記状態情報を再現する際に前記位置及び前記姿勢を再現した後に前記開閉位置及び前記把持力を再現する、請求項１〜７のいずれか１項に記載のロボット及びハンドの制御装置。
【請求項９】
前記制御部は、第３の前記状態情報の前記把持力が前記ハンドの把持動作を判定することのできる第１力よりも大きく、且つ第３の前記状態情報に続く第４の前記状態情報の前記把持力が前記ハンドの非把持動作を判定することのできる第２力よりも小さい場合に、前記第４の前記状態情報を再現する際に前記位置及び前記姿勢を再現した後に前記開閉位置及び前記把持力を再現する、請求項１〜８のいずれか１項に記載のロボット及びハンドの制御装置。
【請求項１０】
前記制御部は、前記状態情報の前記開閉位置を再現した時に前記第３検出部により検出された前記把持力が、前記状態情報の前記把持力よりも小さい度合が所定度合を超える場合に、前記ハンドによりワークを把持できなかったと判定する、請求項１〜９のいずれか１項に記載のロボット及びハンドの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット及びハンドの動作を制御する制御装置に関する。
【背景技術】
【０００２】
従来、ロボットのアームの先端に力センサを介してハンドを固定し、力センサの出力に基づいてアームの目標位置修正量を作成し、予め教示された目標位置に目標位置修正量を加算した位置へアームを制御する制御装置がある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１３６５８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１に記載の制御装置では、力センサの出力に基づいてアームの目標位置修正量を作成している。しかし、ハンドの動作を教示するためには、ハンドの把持力等を入力する必要がある。このため、ロボット及びハンドの動作を容易に教示可能にする上で、特許文献１に記載の制御装置は改善の余地がある。
【０００５】
本発明は、こうした課題を解決するためになされたものであり、その主たる目的は、ロボット及びハンドの動作を容易に教示することのできる制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するための第１の手段は、ユーザによりアームの位置及び姿勢を変更して保持可能であるロボットと、前記アームに取り付けられ、前記ユーザにより開閉位置を変更して保持可能であるハンドと、の動作を制御する制御装置であって、
前記位置及び前記姿勢を検出する第１検出部と、
前記開閉位置を検出する第２検出部と、
前記ハンドの把持力を検出する第３検出部と、
前記アーム及び前記ハンドの状態を記録する操作を受け付ける受付部と、
前記受付部により前記操作を受け付けた時に、前記第１検出部、前記第２検出部、及び前記第３検出部によりそれぞれ検出された前記位置、前記姿勢、前記開閉位置、及び前記把持力を状態情報として時系列に記録する記録部と、
前記記録部により時系列に記録された前記状態情報を再現するように、前記アーム及び前記ハンドの動作を制御する制御部と、
を備える。
【０００７】
上記構成によれば、ロボットは、ユーザによりアームの位置及び姿勢を変更して保持可能である。このため、ユーザは、ダイレクトティーチによりアームを直接掴んで移動させたり、操作器の操作によりアームを移動させたりすることができ、そしてアームの位置及び姿勢を保持することができる。アームにハンドが取り付けられており、ハンドはユーザにより開閉位置を変更して保持可能である。このため、ユーザは、ダイレクトティーチによりハンドを直接掴んで開閉させたり、操作器の操作によりハンドを開閉させたりすることができ、そしてハンドの開閉位置を保持することができる。
【０００８】
ここで、第１検出部はアームの位置及び姿勢を検出し、第２検出部はハンドの開閉位置を検出し、第３検出部はハンドの把持力を検出する。受付部は、アーム及びハンドの状態を記録する操作を受け付ける。このため、ユーザがアーム及びハンドの状態を記録する操作を行うと、その操作が受付部により受け付けられる。そして、記録部は、受付部により上記操作を受け付けた時に、第１検出部、第２検出部、及び第３検出部によりそれぞれ検出されたアームの位置、アームの姿勢、ハンドの開閉位置、及びハンドの把持力を状態情報として時系列に記録する。
【０００９】
このため、例えばロボットにワークをハンドで把持する動作をさせ、その状態を記録する操作をユーザが受付部に行うことで、ハンドの把持力を含む状態情報を記録することができる。次に、ユーザは、アームを移動する動作等をさせ、その状態を記録する操作を行うことで、状態情報を時系列に記録することができる。そして、制御部は、記録部により時系列に記録された状態情報を再現するように、アーム及びハンドの動作を制御する。したがって、ハンドの把持力等を入力する必要がなく、専門知識を有さないユーザであっても、ロボット及びハンドの動作を容易に教示及び再現することができる。
【００１０】
また、ハンドによりワークを把持する把持動作では、ハンドの開閉位置を制御するとともに、適切な力でワークを把持する必要がある。状態情報がハンドの把持動作であるか否かは、把持力がハンドの把持動作を判定することのできる第１力よりも大きいか否かで判定することができる。第１力は、検出された把持力が第１力よりも大きい場合に、ハンドがワークを把持していると判定することのできる力である。
【００１１】
この点、第２の手段では、前記制御部は、前記状態情報の前記把持力が前記ハンドの把持動作を判定することのできる第１力よりも大きい場合に、前記開閉位置よりも前記把持力を優先して前記状態情報を再現する。したがって、状態情報がハンドの把持動作である場合に、再現時のワークと開閉位置との関係が記録された状態情報とずれていても、適切な力で確実にハンドによりワークを把持することができる。
【００１２】
ハンドによりワークを把持する場合であっても、ハンドがワークに接触する前は把持力を調節する必要がない。
【００１３】
この点、第３の手段では、前記制御部は、前記状態情報の前記把持力が前記ハンドの把持動作を判定することのできる第１力よりも大きい場合に、前記状態情報を再現する際に前記開閉位置よりも所定量手前まで最速で前記ハンドを動作させる。したがって、ハンドによりワークを把持する場合であっても、把持を終了する開閉位置よりも所定量手前まで最速でハンドを動作させることができ、動作時間を短縮することができる。
【００１４】
ハンドの開閉位置を制御する場合であっても、ハンドによりワークを把持しない非把持動作（ハンドの移動動作）では、把持力を調節する必要がない。状態情報がハンドの非把持動作であるか否かは、把持力がハンドの非把持動作を判定することのできる第２力よりも小さいか否かで判定することができる。第２力は、検出された把持力が第２力よりも小さい場合に、ハンドがワークを把持していないと判定することのできる力である。例えば、第２力は上記第１よりも小さい力であり、０よりも若干大きい力等を採用することができる。
【００１５】
この点、第４の手段では、前記制御部は、前記状態情報の前記把持力が前記ハンドの非把持動作を判定することのできる第２力よりも小さい場合に、前記状態情報を再現する際に最速で前記開閉位置を再現する。したがって、状態情報がハンドの非把持動作である場合に、最速で開閉位置を再現することができ、動作時間を短縮することができる。さらに、ハンドの動作の教示において、ハンドの開閉速度を設定する手間を減らすことができる。
【００１６】
連続する２つの状態情報の把持力に応じて、連続する２つの状態情報の間におけるハンドの適切な動作は変化する。例えば、第１の状態情報が把持動作であり、次の状態情報である第２の状態情報も把持動作である場合は、第１の状態情報と第２の状態情報との間においても把持動作を維持すべきと判定できる。
【００１７】
この点、第５の手段では、前記制御部は、連続する２つの前記状態情報の前記把持力に基づいて、前記連続する２つの前記状態情報の間における前記ハンドの動作を制御する。したがって、連続する２つの状態情報の把持力に応じて、連続する２つの状態情報の間におけるハンドの動作を適切に制御することができる。
【００１８】
具体的には、第６の手段のように、前記制御部は、連続する２つの前記状態情報の前記把持力が共に、前記ハンドの把持動作を判定することのできる第１力よりも大きい場合に、前記連続する２つの前記状態情報の間における前記ハンドの動作を把持動作に維持する、といった構成を採用することができる。
【００１９】
具体的には、第７の手段のように、前記制御部は、連続する２つの前記状態情報の前記把持力が共に、前記ハンドの非把持動作を判定することのできる第２力よりも小さい場合に、前記連続する２つの前記状態情報の間における前記ハンドの動作を非把持動作に維持する、といった構成を採用することができる。
【００２０】
第１の状態情報としてアームがワークから離れ且つハンドがワークを把持していない状態が教示され、第１の状態情報に続く第２の状態情報としてアームがワークまで移動し且つハンドがワークを把持した状態が教示されることがあり得る。この場合、第１の状態情報のアームの位置から第２の状態情報のアームの位置まで移動するまでにハンドが閉じると、ハンドによりワークを把持することができなくなる。
【００２１】
この点、第８の手段では、前記制御部は、第１の前記状態情報の前記把持力が前記ハンドの非把持動作を判定することのできる第２力よりも小さく、且つ第１の前記状態情報に続く第２の前記状態情報の前記把持力が前記ハンドの把持動作を判定することのできる第１力よりも大きい場合に、前記第２の前記状態情報を再現する際に前記位置及び前記姿勢を再現した後に前記開閉位置及び前記把持力を再現する。このため、アームがワークから離れ且つハンドがワークを把持していない状態の次に、アームがワークまで移動し且つハンドがワークを把持した状態を教示しても、ハンドによりワークを把持することができる。したがって、教示する状態情報（動作状態）の数を減らすことができ、ロボット及びハンドの動作を更に容易に教示することができる。
【００２２】
第３の状態情報としてアームがワークまで移動し且つハンドがワークを把持した状態が教示され、第３の状態情報に続く第４の状態情報としてアームが第３の状態情報の位置から移動し且つハンドがワークを把持していない状態が教示されることがあり得る。この場合、第３の状態情報のアームの位置から第４の状態情報のアームの位置まで移動するまでにハンドが開くとワークが落下し、ワークを第４の状態情報の位置まで移動させることができなくなる。
【００２３】
この点、第９の手段では、前記制御部は、第３の前記状態情報の前記把持力が前記ハンドの把持動作を判定することのできる第１力よりも大きく、且つ第３の前記状態情報に続く第４の前記状態情報の前記把持力が前記ハンドの非把持動作を判定することのできる第２力よりも小さい場合に、前記第４の前記状態情報を再現する際に前記位置及び前記姿勢を再現した後に前記開閉位置及び前記把持力を再現する。このため、ハンドがワークを把持した状態の次に、ワークを移動させてハンドがワークを放した状態を教示しても、ワークを落下させずに移動させることができる。したがって、教示する状態情報の数を減らすことができ、ロボット及びハンドの動作を更に容易に教示することができる。
【００２４】
ワークの位置や角度によっては、ハンドによりワークを把持できない場合がある。この場合、状態情報のハンドの開閉位置を再現しても、検出されるハンドの把持力は状態情報の把持力よりも小さくなる。
【００２５】
この点、第１０の手段では、前記制御部は、前記状態情報の前記開閉位置を再現した時に前記第３検出部により検出された前記把持力が、前記状態情報の前記把持力よりも小さい度合が所定度合を超える場合に、前記ハンドによりワークを把持できなかったと判定する。したがって、ハンドによりワークを把持できなかったことを判定することができる。
【図面の簡単な説明】
【００２６】
【図１】ロボット及びハンドを示す模式図。
【図２】動作を教示する手順を示すフローチャート。
【図３】ピック位置に移動する態様を示す模式図。
【図４】ピック位置でワークを把持する態様を示す模式図。
【図５】プレイス位置に移動する態様を示す模式図。
【図６】プレイス位置でワークを放す態様を示す模式図。
【図７】教示された動作を再現する手順を示すフローチャート。
【発明を実施するための形態】
【００２７】
以下、多関節ロボット及びハンドの制御装置に具現化した一実施形態について、図面を参照しつつ説明する。
【００２８】
図１に示すように、ロボット１０は、例えば６軸の垂直多関節型ロボットであり、基台（ベース）１１とアーム１０Ａとを備えている。アーム１０Ａの隣り合うリンク１３，１５（一部のみ図示）は、順に関節１２，１４，１６（一部のみ図示）を介して相対回転可能に連結されている。各関節１２，１４，１６は、各関節１２，１４，１６に対応する各モータ（図示せず）により駆動される。
【００２９】
アーム１０Ａの先端には、ハンド２０が取り付けられている。ハンド２０は、一対の爪２０Ａ，２０Ｂを備えており、爪２０Ａ，２０Ｂの間隔を拡大及び縮小する開閉動作を行う。爪２０Ａ，２０Ｂは、モータ（図示せず）により駆動される。
【００３０】
基台１１の内部には、ロボット１０及びハンド２０の状態を記録する記録部３５、及びロボット１０及びハンド２０の動作を制御する制御部３６が設けられている。制御部３６は、ＣＰＵ、ＲＯＭ、ＲＡＭ、駆動回路、及び入出力インターフェース等を備えるコンピュータとして構成されている。
【００３１】
ロボット１０のリンク１５には、ハンド２０の開ボタン１７、閉ボタン１８、及び位置取込ボタン１９が設けられている。制御部３６は、ユーザが開ボタン１７を押している間、ハンド２０を第１速度で開く動作を実行する。制御部３６は、ユーザが閉ボタン１８を押している間、ハンド２０を第２速度で閉じる動作を実行する。第２速度は、第１速度と同じ速度であってもよいし、第１速度よりも低い速度であってもよい。制御部３６は、ユーザが開ボタン１７及び閉ボタン１８を押すことをやめた時のハンド２０の開閉位置を保持する。すなわち、ハンド２０は、ユーザにより開閉位置を変更して保持可能である。位置取込ボタン１９については後述する。
【００３２】
例えばロボット１０の各関節１２，１４，１６には、各関節１２，１４，１６の回転角度を検出するエンコーダ３１，３２，３３がそれぞれ設けられている。すなわち、エンコーダ３１，３２，３３（第１検出部）は、アーム１０Ａの制御点の位置及び姿勢（以下、「アーム１０Ａの位置及び姿勢」という）を検出する。制御点は、アーム１０Ａの先端の中央に設定されている。
【００３３】
ハンド２０には、ハンド２０の開閉位置を検出するエンコーダ２２（第２検出部）が設けられている。また、ハンド２０には、ハンド２０の把持力を検出する力センサ２３が設けられている。力センサ２３（第３検出部）は、爪２０Ａ，２０Ｂを駆動するモータに流れる電流を検出する電流センサや、爪２０Ａ，２０Ｂに作用する圧力を検出する圧力センサ等である。
【００３４】
制御部３６は、アーム１０Ａに作用する外力に従って、アーム１０Ａの位置及び姿勢を制御する。そして、制御部３６は、アーム１０Ａに作用する外力がなくなった時のアーム１０Ａの位置及び姿勢を保持する。すなわち、ロボット１０は、ユーザによりアーム１０Ａの位置及び姿勢を変更して保持可能である。本実施形態では、ユーザは、ダイレクトティーチによりアーム１０Ａを直接掴んで移動させることができ、そしてアーム１０Ａの位置及び姿勢を保持することができる。
【００３５】
ユーザが位置取込ボタン１９を押した時に、制御部３６は、エンコーダ３１，３２，３３、エンコーダ２２、力センサ２３の検出結果に基づいて、その時のアーム１０Ａの位置及び姿勢、ハンド２０の開閉位置、把持力、及び把持状態を、状態情報として記録部３５に記録させる。制御部３６は、ユーザが位置取込ボタン１９を押す度に、状態情報を時系列に記録部３５に記録させる。すなわち、位置取込ボタン１９（受付部）は、アーム１０Ａ及びハンド２０の状態を記録する操作を受け付ける。記録部３５は、位置取込ボタン１９により操作を受け付けた時に、エンコーダ３１，３２，３３、エンコーダ２２、及び力センサ２３によりそれぞれ検出されたアーム１０Ａの位置及び姿勢、ハンド２０の開閉位置、把持力、及び把持状態を状態情報として時系列に記録する。したがって、ユーザは、アーム１０Ａの移動、ハンド２０の開閉、及び位置取込を繰り返すことにより、アーム１０Ａ及びハンド２０の動作を教示することができる。
【００３６】
制御部３６は、力センサ２３により検出された把持力に基づいて、ハンド２０の上記把持状態を判定する。具体的には、力センサ２３により検出された把持力が、ハンド２０の把持動作（把持している状態）を判定することのできる第１力よりも大きい場合に把持動作であると判定する。第１力は、力センサ２３により検出された把持力が第１力よりも大きい場合に、ハンド２０がワークＷを把持していると判定することのできる力である。一方、力センサ２３により検出された把持力が、ハンド２０の非把持動作（把持していない状態）を判定することのできる第２力よりも小さい場合に非把持動作であると判定する。第２力は、力センサ２３により検出された把持力が第２力よりも小さい場合に、ハンド２０がワークＷを把持していないと判定することのできる力である。例えば、第２力は第１よりも小さい力であり、０よりも若干大きい力等を採用することができる。
【００３７】
制御部３６は、記録部３５により時系列に記録された上記状態情報を再現するように、アーム１０Ａ及びハンド２０の動作を制御する。したがって、ユーザは、教示したアーム１０Ａ及びハンド２０の動作を、制御部３６により再現させることができる。これにより、ユーザは、ロボット１０によりワークＷに対して作業を実行させることができる。なお、エンコーダ３１，３２，３３（第１検出部）、エンコーダ２２（第２検出部）、力センサ２３（第３検出部）、位置取込ボタン１９（受付部）、記録部３５、及び制御部３６により、ロボット及びハンドの制御装置が構成されている。
【００３８】
図２は、動作を教示する手順を示すフローチャートである。この一連の処理は、ユーザによって実行される。ここでは、図３〜６に示すように、作業台Ｓ１の上に置かれたワークＷを作業台Ｓ２の上に移動させて放す動作を教示する手順を説明する。
【００３９】
まず、アーム１０Ａをピック位置（ワークＷを拾う位置）に移動させる（Ｓ１０）。具体的には、図３に示すように、ユーザは、ダイレクトティーチによりアーム１０Ａを直接掴んで、ピック位置まで移動させる。なお、ハンド２０がワークＷの幅よりも閉じている場合は、ユーザは開ボタン１７を押してハンド２０をワークＷの幅よりも開く。
【００４０】
続いて、位置取込ボタン１９を押す（Ｓ１１）。ユーザにより位置取込ボタン１９が押された時に、制御部３６は、エンコーダ３１，３２，３３、エンコーダ２２、力センサ２３によりそれぞれ検出されたアーム１０Ａの位置及び姿勢、ハンド２０の開閉位置、把持力、及び把持状態を、状態情報として記録部３５に記録させる。図３では、アーム１０Ａの位置及び姿勢としてピック位置及び下向きの姿勢、ハンド２０の開閉位置としてワークＷの幅よりも開いた開閉位置、把持力として０、把持状態として非把持動作が記録される。
【００４１】
続いて、ハンド２０によりワークＷを把持させる（Ｓ１２）。具体的には、図４に示すように、ユーザは、ハンド２０がワークＷを把持するまで閉ボタン１８を押し続け、ハンド２０が適切な力でワークＷを把持した時に閉ボタン１８を押すことをやめる。ハンド２０が適切な力でワークＷを把持したことは、ユーザがハンド２０及びワークＷの状態を見て判断してもよいし、力センサ２３により検出された把持力を表示して表示された把持力をユーザが見て判断してもよい。
【００４２】
続いて、位置取込ボタン１９を押す（Ｓ１３）。ユーザにより位置取込ボタン１９が押された時に、制御部３６は、その時の状態情報を前回の状態情報に続いて記録部３５に記録させる。図４では、アーム１０Ａの位置及び姿勢としてピック位置及び下向きの姿勢、ハンド２０の開閉位置としてワークＷの幅に対応する開閉位置、把持力としてワークＷを把持している把持力、把持状態として把持動作が記録される。
【００４３】
続いて、アーム１０Ａをプレイス位置（ワークＷを置く位置）に移動させる（Ｓ１４）。具体的には、図５に示すように、ユーザは、ダイレクトティーチによりアーム１０Ａを直接掴んで、プレイス位置まで移動させる。このとき、ハンド２０は、ワークＷを把持した状態（把持動作）を維持している。
【００４４】
続いて、位置取込ボタン１９を押す（Ｓ１５）。ユーザにより位置取込ボタン１９が押された時に、制御部３６は、その時の状態情報を前回の状態情報に続いて記録部３５に記録させる。図５では、アーム１０Ａの位置及び姿勢としてプレイス位置及び下向きの姿勢、ハンド２０の開閉位置としてワークＷの幅に対応する開閉位置、把持力としてワークＷを把持している把持力、把持状態として把持動作が記録される。
【００４５】
続いて、ハンド２０によりワークＷを放させる（Ｓ１６）。具体的には、図６に示すように、ユーザは、ハンド２０がワークＷを放すまで開ボタン１７を押し続け、ハンド２０が適切な幅まで開いた時に開ボタン１７を押すことをやめる。
【００４６】
続いて、位置取込ボタン１９を押す（Ｓ１７）。ユーザにより位置取込ボタン１９が押された時に、制御部３６は、その時の状態情報を前回の状態情報に続いて記録部３５に記録させる。図６では、アーム１０Ａの位置及び姿勢としてプレイス位置及び下向きの姿勢、ハンド２０の開閉位置としてワークＷの幅よりも開いた開閉位置、把持力として０、把持状態として非把持動作が記録される。その後、この一連の処理を終了する（ＥＮＤ）。
【００４７】
図７は、教示された動作を再現する手順を示すフローチャートである。この一連の処理は、制御部３６によって実行される。ここでは、図３〜６に示すように、作業台Ｓ１の上に置かれたワークＷを作業台Ｓ２の上に移動させて放す動作を再現する手順を説明する。
【００４８】
まず、アーム１０Ａを記録されたピック位置に移動させるとともに、ハンド２０を記録された開閉位置まで移動動作で開く（Ｓ２０）。具体的には、図３に示すように、状態情報の把持状態が非把持動作である場合、すなわち状態情報の把持力が上記第２力よりも小さい場合に、状態情報を再現する際に最速で開閉位置を再現する。
【００４９】
続いて、アーム１０Ａを記録されたピック位置に待機させるとともに、ハンド２０を記録された開閉位置及び把持力が再現されるまで把持動作で閉じる（Ｓ２１）。具体的には、図４に示すように、状態情報の把持状態が把持動作である場合、すなわち状態情報の把持力が上記第１力よりも大きい場合に、開閉位置よりも把持力を優先して状態情報を再現する。詳しくは、エンコーダ２２により検出された開閉位置（以下、「検出開閉位置」という）が、状態情報として記録された開閉位置（以下、「記録開閉位置」という）になる前に、力センサ２３により検出された把持力（以下、「検出把持力」という）が、状態情報として記録された把持力（以下、「記録把持力」という）になった時は、ハンド２０を閉じる動作を停止する。また、検出開閉位置が記録開閉位置になっても、検出把持力が記録把持力にならない時は、検出把持力が記録把持力になるまで、ハンド２０を閉じる動作を継続する。ただし、記録開閉位置を再現した時に、検出把持力が記録把持力よりも小さい度合が所定度合を超える場合は、ハンド２０によりワークＷを把持できなかったと判定する。検出把持力が記録把持力よりも小さい度合が所定度合を超える場合として、例えば検出把持力が記録把持力の半分未満である場合や、検出把持力が０である場合等を採用することができる。
【００５０】
続いて、アーム１０Ａを記録されたプレイス位置に移動させるとともに、記録された開閉位置及び把持力が再現されるまでハンド２０の把持動作を維持する（Ｓ２２）。具体的には、図４，５に示すように、連続する２つの状態情報の把持状態が共に把持動作である場合、すなわち連続する２つの状態情報の把持力が共に上記第１力よりも大きい場合に、連続する２つの状態情報の間におけるハンド２０の動作を把持動作に維持する。要するに、連続する２つの状態情報の把持力に基づいて、連続する２つの状態情報の間におけるハンド２０の動作を制御する。
【００５１】
続いて、アーム１０Ａを記録されたプレイス位置に待機させるとともに、ハンド２０を記録された開閉位置まで移動動作で開く（Ｓ２３）。具体的には、図６に示すように、状態情報の把持状態が非把持動作である場合、すなわち状態情報の把持力が上記第２力よりも小さい場合に、状態情報を再現する際に最速で開閉位置を再現する。その後、この一連の処理を終了する（ＥＮＤ）。
【００５２】
以上詳述した本実施形態は、以下の利点を有する。
【００５３】
・記録部３５は、位置取込ボタン１９により記録操作を受け付けた時に、エンコーダ３１，３２，３３、エンコーダ２２、及び力センサ２３によりそれぞれ検出されたアーム１０Ａの位置及び姿勢、ハンド２０の開閉位置及び把持力を状態情報として時系列に記録する。このため、ロボット１０にワークＷをハンド２０で把持する動作をさせ、その状態を記録する操作をユーザが位置取込ボタン１９により行うことで、ハンド２０の把持力を含む状態情報を記録することができる。次に、ユーザは、アーム１０Ａを移動する動作等をさせ、その状態を記録する操作を行うことで、状態情報を時系列に記録することができる。そして、制御部３６は、記録部３５により時系列に記録された状態情報を再現するように、アーム１０Ａ及びハンド２０の動作を制御する。したがって、ハンド２０の把持力等を入力する必要がなく、専門知識を有さないユーザであっても、ロボット１０及びハンド２０の動作を容易に教示及び再現することができる。
【００５４】
・ハンド２０によりワークＷを把持する把持動作では、ハンド２０の開閉位置を制御するとともに、適切な力でワークＷを把持する必要がある。この点、制御部３６は、状態情報の把持力がハンド２０の把持動作を判定することのできる第１力よりも大きい場合に、開閉位置よりも把持力を優先して状態情報を再現する。したがって、状態情報がハンド２０の把持動作である場合に、再現時のワークＷと開閉位置との関係が記録された状態情報とずれていても、適切な力で確実にハンド２０によりワークＷを把持することができる。
【００５５】
・ハンド２０の開閉位置を制御する場合であっても、ハンド２０によりワークＷを把持しない非把持動作（ハンド２０の移動動作）では、把持力を調節する必要がない。この点、制御部３６は、状態情報の把持力がハンド２０の非把持動作を判定することのできる第２力よりも小さい場合に、状態情報を再現する際に最速で開閉位置を再現する。したがって、状態情報がハンド２０の非把持動作である場合に、最速で開閉位置を再現することができ、動作時間を短縮することができる。さらに、ハンド２０の動作の教示において、ハンド２０の開閉速度を設定する手間を減らすことができる。
【００５６】
・連続する２つの状態情報の把持力に応じて、連続する２つの状態情報の間におけるハンド２０の適切な動作は変化する。例えば、第１の状態情報が把持動作であり、次の状態情報である第２の状態情報も把持動作である場合は、第１の状態情報と第２の状態情報との間においても把持動作を維持すべきと判定できる。この点、制御部３６は、連続する２つの状態情報の把持力に基づいて、連続する２つの状態情報の間におけるハンド２０の動作を制御する。具体的には、制御部３６は、連続する２つの状態情報の把持力が共に上記第１力よりも大きい場合に、連続する２つの状態情報の間におけるハンド２０の動作を把持動作に維持する。したがって、連続する２つの状態情報の把持力に応じて、連続する２つの状態情報の間におけるハンド２０の動作を適切に制御することができる。
【００５７】
・ワークＷの位置や角度によっては、ハンド２０によりワークＷを把持できない場合がある。この場合、状態情報のハンド２０の開閉位置を再現しても、検出されるハンド２０の把持力は状態情報の把持力よりも小さくなる。この点、制御部３６は、状態情報の開閉位置を再現した時に力センサ２３により検出された把持力が、状態情報の把持力よりも小さい度合が所定度合を超える場合に、ハンド２０によりワークＷを把持できなかったと判定する。したがって、ハンド２０によりワークＷを把持できなかったことを判定することができる。
【００５８】
なお、上記の実施形態を、以下のように変更して実施することもできる。上記実施形態と同一の部分については、同一の符号を付すことにより説明を省略する。
【００５９】
・ハンド２０によりワークＷを把持できなかったことを判定する処理を省略することもできる。
【００６０】
・制御部３６は、連続する２つの状態情報の把持力に基づいて、連続する２つの状態情報の間におけるハンド２０の動作を制御する他の例として、以下の制御を行ってもよい。すなわち、制御部３６は、連続する２つの状態情報の把持力が共に、ハンド２０の非把持動作を判定することのできる第２力よりも小さい場合に、連続する２つの状態情報の間におけるハンド２０の動作を非把持動作に維持してもよい。
【００６１】
・把持動作でのハンド２０の速度である第３速度は、開ボタン１７の操作による上記第１速度及び閉ボタン１８の操作による上記第２速度よりも低く設定してもよいし、第１速度及び第２速度と等しく設定してもよい。
【００６２】
・状態情報の把持力が上記第２力よりも小さい場合に、状態情報を再現する際に、最速よりも若干遅い速度や、上記第１速度、上記第２速度、及び上記第３速度よりも高い速度でハンド２０を動作させてもよい。
【００６３】
・ハンド２０によりワークＷを把持する場合であっても、ハンド２０がワークＷに接触する前は把持力を調節する必要がない。そこで、制御部３６は、状態情報の把持力が上記第１力よりも大きい場合に、状態情報を再現する際に開閉位置よりも所定量手前まで最速でハンド２０を動作させてもよい。こうした構成によれば、ハンド２０によりワークＷを把持する場合であっても、把持を終了する開閉位置よりも所定量手前まで最速でハンド２０を動作させることができ、動作時間を短縮することができる。なお、把持を終了する開閉位置よりも所定量手前まで、最速よりも若干遅い速度や、上記第１速度、上記第２速度、及び上記第３速度よりも高い速度でハンド２０を動作させてもよい。
【００６４】
・第１の状態情報としてアーム１０ＡがワークＷから離れ且つハンド２０がワークＷを把持していない状態が教示され、第１の状態情報に続く第２の状態情報としてアーム１０ＡがワークＷまで移動し且つハンド２０がワークＷを把持した状態が教示されることがあり得る。この場合、第１の状態情報のアーム１０Ａの位置から第２の状態情報のアーム１０Ａの位置まで移動するまでにハンド２０が閉じると、ハンド２０によりワークＷを把持することができなくなる。
【００６５】
そこで、制御部３６は、第１の状態情報の把持力が上記第２力よりも小さく、且つ第１の状態情報に続く第２の状態情報の把持力が上記第１力よりも大きい場合に、第２の状態情報を再現する際に位置及び姿勢を再現した後に開閉位置及び把持力を再現する。こうした構成によれば、アーム１０ＡがワークＷから離れ且つハンド２０がワークＷを把持していない状態の次に、アーム１０ＡがワークＷまで移動し且つハンド２０がワークＷを把持した状態を教示しても、ハンド２０によりワークＷを把持することができる。したがって、教示する状態情報（動作状態）の数を減らすことができ、ロボット１０及びハンド２０の動作を更に容易に教示することができる。
【００６６】
・第３の状態情報としてアーム１０ＡがワークＷまで移動し且つハンド２０がワークＷを把持した状態が教示され、第３の状態情報に続く第４の状態情報としてアーム１０Ａが第３の状態情報の位置から移動し且つハンド２０がワークＷを把持していない状態が教示されることがあり得る。この場合、第３の状態情報のアーム１０Ａの位置から第４の状態情報のアーム１０Ａの位置まで移動するまでにハンド２０が開くとワークＷが落下し、ワークＷを第４の状態情報の位置まで移動させることができなくなる。
【００６７】
そこで、制御部３６は、第３の状態情報の把持力が上記第１力よりも大きく、且つ第３の状態情報に続く第４の状態情報の把持力が上記第２力よりも小さい場合に、第４の状態情報を再現する際に位置及び姿勢を再現した後に開閉位置及び把持力を再現する。こうした構成によれば、ハンド２０がワークＷを把持した状態の次に、ワークＷを移動させてハンド２０がワークＷを放した状態を教示しても、ワークＷを落下させずに移動させることができる。したがって、教示する状態情報の数を減らすことができ、ロボット１０及びハンド２０の動作を更に容易に教示することができる。
【００６８】
・把持動作は、ワークＷを外側から掴む動作に限らず、ワークＷの空洞部に一対の爪２０Ａ，２０Ｂを挿入して開くことによりワークＷを把持する動作であってもよい。
【００６９】
・ロボット１０は、ダイレクトティーチによりアーム１０Ａを移動させる構成に限らず、ティーチングペンダント（操作器）等の操作によりアーム１０Ａを移動させる構成であってもよい。その場合は、開ボタン１７、閉ボタン１８、及び位置取込ボタン１９がティーチングペンダントに設けられていてもよい。
【００７０】
・ロボット１０は、垂直多関節型のロボットに限らず、水平多関節型のロボット等であってもよい。
【符号の説明】
【００７１】
１０…ロボット、１０Ａ…アーム、１７…開ボタン、１８…閉ボタン、１９…位置取込ボタン（受付部）、２０…ハンド、２２…エンコーダ（第２検出部）、２３…力センサ（第３検出部）、３１…エンコーダ（第１検出部）、３２…エンコーダ（第１検出部）、３３…エンコーダ（第１検出部）、３５…記録部、３６…制御部。
【図１】
2020151837.tif 000003
【図２】
2020151837.tif 000004
【図３】
2020151837.tif 000005
【図４】
2020151837.tif 000006
【図５】
2020151837.tif 000007
【図６】
2020151837.tif 000008
【図７】
2020151837.tif 000009