JP2013129005A - 把持ロボット装置、把持動作制御方法、および、把持動作制御装置 - Google Patents
把持ロボット装置、把持動作制御方法、および、把持動作制御装置 Download PDFInfo
- Publication number
- JP2013129005A JP2013129005A JP2011279447A JP2011279447A JP2013129005A JP 2013129005 A JP2013129005 A JP 2013129005A JP 2011279447 A JP2011279447 A JP 2011279447A JP 2011279447 A JP2011279447 A JP 2011279447A JP 2013129005 A JP2013129005 A JP 2013129005A
- Authority
- JP
- Japan
- Prior art keywords
- gripping
- workpiece
- work
- reference surface
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】従来よりも簡易な構成によって、ワークの把持位置のずれをなるべく高精度に認識する技術を提供する。
【解決手段】把持ロボット装置10であって、基準面に載置されたワークを把持する把持部と、把持部によるワークの把持位置について、基準位置からのずれ量を算出するずれ量算出部と、を備える。把持部は、ワークを傾けて、当該ワークの一端を基準面に接触させる。このとき、ずれ量算出部は、把持部により傾けられたワークと基準面とが接触した状態において、把持部と基準面の位置関係に基づき、ずれ量を算出する。
【選択図】図3
【解決手段】把持ロボット装置10であって、基準面に載置されたワークを把持する把持部と、把持部によるワークの把持位置について、基準位置からのずれ量を算出するずれ量算出部と、を備える。把持部は、ワークを傾けて、当該ワークの一端を基準面に接触させる。このとき、ずれ量算出部は、把持部により傾けられたワークと基準面とが接触した状態において、把持部と基準面の位置関係に基づき、ずれ量を算出する。
【選択図】図3
Description
本発明は、把持ロボット装置、把持動作制御方法、および、把持動作制御装置に関する。
産業用ロボットの中には、複数のロボットアームを備え、対象物(以下では「ワーク」とよぶ)の嵌め合い作業や、積み重ね作業を行うものがある。
例えば、特許文献1には、画像センサーを用いてワークの位置や姿勢などを測定し、その測定結果に基づいてハンドを制御してワークを把持する技術について開示されている。
しかし、従来のように高価な測定手段(カメラ等)や複雑な測定処理によってワークの位置や姿勢を測定しても、その位置分解能は500μm程度であり、ワークを把持する位置(以下では「把持位置」とよぶ)に数百μmのずれが生じてしまう場合がある。当然ながら、このような把持位置のずれを正確に認識できなければ、精度が必要なワークの嵌め合い作業や、ワークの積み重ね作業を正確に行うことはできない。
本発明は、従来よりも簡易な構成によって、ワークの把持位置のずれを高精度に認識する技術を提供することを目的とする。
上記課題を解決するための本願発明は、把持動作制御装置であって、基準面に載置されたワークを把持する把持部と、前記把持部による前記ワークの把持位置について、基準位置からのずれ量を算出するずれ量算出部と、を備え、前記把持部は、前記ワークを傾けて、当該ワークの一端を前記基準面に接触させ、前記ずれ量算出部は、前記把持部により傾けられた前記ワークと前記基準面とが接触した状態において、前記把持部と前記基準面の位置関係に基づき、前記ずれ量を算出する。
これにより、従来よりも簡易な構成によって、ワークの把持位置のずれを高精度に認識できる。
また、前記把持部は、前記ワークの底面に平行な一方向(以下「Y方向」とよぶ)を把持方向として前記ワークを把持し、前記ずれ量算出部は、前記把持部による前記ワークの把持位置について、前記Y方向に直交するX方向へのずれ量dxを、dx=H/sinθ−L (ただし、Hは前記把持位置の前記基準面からの距離、Lは前記ワークの前記基準位置から前記一端までの長さ、θは前記ワークが傾けられた角度を表す)の数式を用いて算出するようにしてもよい。
こうすれば、簡易な数式によって、ワークの把持位置のずれを高精度に認識できる。
また、前記把持部は、第1の把持機構を有する第1の把持部と、第2の把持機構を有する第2の把持部と、を備え、前記第1の把持機構で把持している第1のワークを、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作を実行し、前記ずれ量算出部は、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作において、前記第1の把持部と前記第2の把持部のうちの少なくとも一方に発生した前記第1の把持機構による把持方向と直交する方向の力に基づき、前記ずれ量を算出するようにしてもよい。
これにより、上記とは別の方法(第2の方法)によって、ワークの把持位置のずれを高精度に認識できる。
また、前記ずれ量算出部は、dx=Fx×β (ただし、Fxは前記力、dxは前記ずれ量、βは係数を表す)の数式を用いて、前記ずれ量を算出するとうにしてもよい。
こうすれば、第2の方法によって、ワークの把持位置のずれを算出する場合にも、簡易な数式によって、ワークの把持位置のずれを高精度に認識できる。
また、前記把持部は、第1の把持機構を有する第1の把持部と、第2の把持機構を有する第2の把持部と、を備え、前記第1の把持機構で把持している第1のワークを、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作を実行し、前記ずれ量算出部は、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作において、前記第1の把持部と前記第2の把持部のうちの少なくとも一方に発生した前記第1の把持機構による把持方向と直交する方向の力に基づき、前記第1のワークについての前記ずれ量を算出し、前記第2の把持機構により傾けられた第2のワークと前記基準面とが接触した状態において、前記第2の把持機構と前記基準面の位置関係に基づき、前記第2のワークについての前記ずれ量を算出する、ようにしてもよい。
こうして、持ち替えなしで嵌合可能な1組のワークが、把持位置の高さについて特定不可能な状態で作業台上(基準面)に置かれている場合でも、正確に嵌合作業を行うことができる。
また、前記把持部は、第1の把持機構を有する第1の把持部と、第2の把持機構を有する第2の把持部と、を備え、前記第1の把持機構で把持している第1のワークを、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持して受け渡す動作を実行し、前記ずれ量算出部は、前記第2の把持機構により傾けられた第2のワークと前記基準面とが接触した状態において、前記第2の把持機構と前記基準面の位置関係に基づき、前記第2のワークについての前記ずれ量を算出する、ようにしてもよい。
こうして、ワークを持ち替えることにより嵌合可能となる1組のワークが、把持位置の高さについて特定不可能な状態で作業台上(基準面)に置かれている場合でも、ワークの受け渡し動作のついでに、把持位置のずれ量を算出することができ、効率よく嵌合動作を実行できる。
また、前記ずれ量算出部によって算出された前記ずれ量に基づき、前記把持部の動作を補正する補正部を、さらに備えるようにしてもよい。
こうして、前記ずれ量算出部によって算出されたずれ量に応じて、正確に嵌合作業を行うことができる。
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
以下、本発明の実施形態について図面を用いて説明する。
<第1実施形態>
まず、図1〜図9を用いて、本発明の第1実施形態について説明する。第1実施形態は、持ち替えなしで嵌合可能な1組のワークが、作業台上(基準面)に載置されている場合に採用される。すなわち、一方のワークは凸部を下面に向けて作業台上に載置され、他方のワークは凹部を下面に向けて作業台上に載置されているような場合である。
まず、図1〜図9を用いて、本発明の第1実施形態について説明する。第1実施形態は、持ち替えなしで嵌合可能な1組のワークが、作業台上(基準面)に載置されている場合に採用される。すなわち、一方のワークは凸部を下面に向けて作業台上に載置され、他方のワークは凹部を下面に向けて作業台上に載置されているような場合である。
図1は、本実施形態のロボット10についての外観例を示す図である。図示するように、ロボット10は、複数のロボットアーム(左アーム部11a、右アーム部11b)を有する双腕ロボットである。ロボット10は、各ロボットアーム(11a、11b)の先端に取り付けられたそれぞれのハンド(左ハンド部14a、右ハンド部14b)でワークWを把持し、嵌め合う作業を行う。
ここで、左アーム部11aは、ロボット10の左腕として機能し、複数のリンク12aと、各リンク12aを接続する複数のジョイント(関節)13aと、を備える。
各ジョイント13aは、リンク12a同士や、ロボット10の胴体とリンク12aを回動自在に連結している。そのため、各ジョイント13aを連動させて駆動することにより、左アーム部11aの先端部分に取り付けられた左ハンド部14aを、自在(ただし、所定範囲内)に移動させることができるとともに、自由な方向へ向けることもできる。
また、右アーム11bは、ロボット10の右腕として機能し、複数のリンク12bと、各リンク12bを接続する複数のジョイント(関節)13bと、を備える。
左アーム部11aと同様に、右アーム部11bの各ジョイント13bは、リンク12b同士や、ロボット10の胴体とリンク12bを回動自在に連結している。そのため、各ジョイント13bを連動させて駆動することにより、右アーム部11bの先端部分に取り付けられた右ハンド部14bを、自在(ただし、所定範囲内)に移動させることができるとともに、自由な方向へ向けることもできる。
なお、図には、2軸アームの例が示されているが、もちろん、これに限定されるものではない。例えば、軸数(ジョイント数)をさらに増加させてもよい。また、リンク12(a、b)やハンド部14(a、b)の形状などについても、これに限定されるものではない。また、ロボットアーム(11a、11b)とハンド(14a、14b)を合わせて、「把持装置」ともよぶ。
図2は、ハンド(左ハンド部14a、右ハンド部14b)の詳細について説明するための図である。図示するように、ハンド(左ハンド14aと右ハンド14b)は、第1の指15(a、b)と、第2の指16(a、b)と、力覚センサー17(a、b)と、を備えている。ハンド(左ハンド14aと右ハンド14b)は、図示する把持方向に第1の指15(a、b)と第2の指16(a、b)を移動させて、ワークWを把持することができる。
また、ハンド(左ハンド部14a、右ハンド部14b)は、力覚センサー17(a、b)を備えている。力覚センサー17(a、b)は、少なくとも1軸以上(例えば、6軸)の力覚センサーであり、ワークWに作用する力F(例えば、嵌合方向へワークWを押し込む力)やモーメントMを検出する。
ところで、以上のようなロボットアーム(左アーム部11a、右アーム部11b)とハンド(左ハンド部14a、右ハンド部14b)を有するロボット10は、制御部100によって制御される。制御部100は、図1、図2には示されていないが、ロボット10の本体に内蔵しておいてもよいし、遠隔操作によりロボット10を制御できる位置に設けてもよい。
図3は、ロボット10の概略構成の一例を示すブロック図である。図示する太線で示すように、ロボット10は、制御部100と、上述したロボットアーム(左アーム部11a、右アーム部11b)と、上述したハンド(左ハンド部14a、右ハンド部14b)と、を備える。
なお、上記の図1および図2では説明しなかったが、左アーム部11aに含まれる各ジョイント13aには、各ジョイント13aを駆動するためのアクチュエーター(モーター)が設けられている。同様に、右アーム部11bに含まれる各ジョイント13bにも、各ジョイント13bを駆動するためのアクチュエーター(モーター)が設けられている。
また、左ハンド部14aに含まれる第1の指15aおよび第2の指16aにも、各指(15a、16a)を駆動するためのアクチュエーター(モーター)が設けられている。同様に、右ハンド部14bに含まれる第1の指15bおよび第2の指16bにも、各指(15b、16b)を駆動するためのアクチュエーター(モーター)が設けられている。
一方、制御部100は、中央制御部101と、記憶部102と、インピーダンス制御部103と、接触判定部104と、エンコーダー読み取り部105と、アーム制御部106と、ハンド制御部107と、位置ずれ推定部108と、力覚センサー制御部109と、を備える。
ここで、中央制御部101は、制御部100に備わる各ユニット(102〜109)を統括的に制御する。
また、記憶部102は、各種演算に必要なデータ、ワークWの形状を表すデータ(以下では「形状データ」ともいう)、ロボット10の動作(例えば、嵌め合い作業)を制御するプログラム、などを記憶する。例えば、記憶部102は、DDR−SDRAMなどの揮発性メモリー、フラッシュメモリーなどの不揮発性メモリー、などにより構成される。
インピーダンス制御部103は、ロボットアーム(左アーム部11a、右アーム部11b)の手先(左ハンド部14a、右ハンド部14b)に対して、外部環境から反力が加えられた場合に、目的の作業に適したインピーダンス(位置、速度、加速度)となるようにロボットアーム11(a、b)およびハンド14(a、b)を制御する。例えば、本実施形態では、インピーダンス制御部103は、ハンド14(a、b)で把持されたワークWを下降させているときに、そのワークW(或いはハンド)が作業台(基準面)に接触すると、ワークW(或いはハンド)に対する作業台からの反力(抗力)がなくなるように、ワークWを下降させる速度や加速度を調整する。こうした制御により、ワークWを落としたり、ハンド14(a、b)や作業台に傷をつけるのを防止できる。
接触判定部104は、ハンド14(a、b)で把持されたワークWの少なくとも一部(例えば、一端)が、作業台(基準面)に接触したか否か判定する。例えば、接触判定部104は、力覚センサー17(a、b)から得られたデータを基に、ワークWの一端が作業台(基準面)に接触したか否か判定する。
エンコーダー読み取り部105は、ロボットアーム(左アーム部11a、右アーム部11b)のジョイント13(a、b)に設けられたアクチュエーターのエンコーダー値を読み取る。また、図示していないが、エンコーダー読み取り部105は、ハンド(左ハンド部14a、右ハンド部14b)に設けられたアクチュエーターのエンコーダー値を読み取ることもできる。こうしたエンコーダー値は、ロボットアーム(左アーム部11a、右アーム部11b)やハンド(左ハンド部14a、右ハンド部14b)の位置、移動方向、移動量、速度、加速度などを把握するのに利用される。
アーム制御部106は、ロボットアーム(左アーム部11a、右アーム部11b)を制御する。例えば、アーム制御部106は、ロボットアーム11(a、b)のジョイント13(a、b)に設けられたアクチュエーターを駆動して、ハンド(左アーム部14a、右ハンド部14b)がワークWの嵌合作業に適した位置、向き、速度となるように制御する(指示を出力する)。
ハンド制御部107は、ハンド(左ハンド部14a、右ハンド部14b)を制御する。例えば、ハンド制御部106は、ハンド14(a、b)の第1の指15(a、b)と第2の指16(a、b)に設けられたアクチュエーターを駆動し、ワークWを第1の指15(a、b)と第2の指16(a、b)で挟む(すなわち、把持する)制御、ワークWを解放する制御、などの制御を行う(指示を出力する)。
位置ずれ推定部108は、ワークWを把持している位置(以下では「把持位置」という)について、基準位置からのずれ量dxを推定する。なお、基準位置は、第1の指15(a、b)と第2の指16(a、b)でワークWを確実に把持できる位置とし、例えば、ワークWの下面を構成する四角形の一辺の中点位置でもよいし、ワークWの重心位置でもよい。
また、ワークWを把持している把持方向をY方向とすれば、上記のずれ量dxは、把持方向に略直交する方向であるX方向へのずれ量とする。
本実施形態(第1実施形態)では、位置ずれ推定部108は、角度θで傾けて作業台(基準面)に接触させた状態のワークWと、作業台(基準面)の位置関係に基づき、把持位置のずれ量dxを推定する。
図4は、本実施形態(第1実施形態)において、把持位置のずれ(ずれ量dx)を求める方法について説明する図である。
なお、図4(A)は、下面(すなわち、嵌合面)に凹部(メス)があるワークWを横からみた場合の例を示す図であり、図4(B)は、下面(嵌合面)に凸部(オス)があるワークWを横からみた場合の例を示す図である。以下では、下面に凹部があるワークWを「ワーク(凹)W」と記し、下面に凸部があるワークWを「ワーク(凸)W」と記す。
図4(A)に示すように、下面に凹部を有するワーク(凹)Wが角度θ1で傾けられ、そのワーク(凹)Wの一端(図示する例では、ワーク(凹)Wの下面を構成する長方形の「短辺」)が作業台(基準面)に接触した状態においては、各指(第1の指15と第2の指16)による実際の把持位置は、作業台(基準面)から距離Hsの位置(高さ)になる。そして、図示するように、実際の把持位置が、基準位置(図示する例では、「ワークWの下面を構成する長辺の中点位置」)からずれ量dx分ずれていると仮定すると、ワーク(凹)Wの一端が作業台(基準面)に接触している位置(接触位置)から実際の把持位置までの距離は、「dx+L」となる。ただし、Lは、接触位置から基準位置までの距離とする。なお、本実施形態では、ワークWの長辺の長さを「2×L」とし、Lは、ワークWの下面を構成する長辺の半分の長さとなる。また、dxは、「−L≦dx≦L」の範囲の値とする。
この状態において、本実施形態(第1実施形態)の位置ずれ推定部108は、Hs={dx+(L/2)×sin(θ1)の関係式に「Hs」と「L」の値を代入して、ずれ量「dx」を算出する。ここで、「Hs」は、ロボットアーム(左アーム部11a、右アーム部11b)に設けられたアクチュエーターから得られたエンコーダー値に基づき求まる値である。また、「L」は、記憶部102に格納されたワーク(凹)Wの形状データから得られる値である。
また、図4(B)に示すように、下面に凸部を有するワーク(凸)Wが角度θ2で傾けられ、そのワーク(凸)Wの一端(図示する例では、ワーク(凸)Wの下面を構成する長方形の「短辺」)が作業台(基準面)に接触した状態においては、各指(第1の指15と第2の指16)による実際の把持位置は、作業台(基準面)から距離Hsの位置(高さ)になる。そして、図示するように、実際の把持位置が、基準位置(図示する例では、「ワークWの下面を構成する長辺の中点位置」)からずれ量dx分ずれていると仮定すると、ワーク(凸)Wの一端が作業台(基準面)に接触している位置(接触位置)から実際の把持位置までの距離は、「dx+(L/2)」となる。ただし、Lは、ワークWの下面を構成する長辺の長さとする。また、dxは、「−(L/2)≦dx≦(L/2)」の範囲の値とする。
この状態において、本実施形態(第1実施形態)の位置ずれ推定部108は、Hs={dx+(L/2)×sin(θ2)の関係式に「Hs」と「L」の値を代入して、ずれ量「dx」を算出する。ここで、「Hs」は、ロボットアーム(左アーム部11a、右アーム部11b)に設けられたアクチュエーターから得られたエンコーダー値から求まる値である。また、「L」は、記憶部102に格納されたワーク(凸)Wの形状データから得られる値である。
図3に戻り、力覚センサー制御部109は、左ハンド部14aに備え付けられている左力覚センサー17aと、右ハンド部14bに備え付けられている右力覚センサー17bと、を制御する。例えば、力覚センサー制御部109は、左力覚センサー17aや右力覚センサー17bで検出された力F(ワークWに作用する力F)やモーメントMを取得する。
なお、図に点線で示しているように、制御部100は、作業台(基準面)上に載置されているワークWの向き(上、下)を判定するための撮像部110を備えるようにしてもよい。
上記の制御部100の主な構成要素は、演算装置であるCPUと、プログラム等が記録されたROMと、メインメモリーとしてデータ等を一時的に格納するRAMと、ホスト等との入出力を制御するインターフェイスと、各構成要素間の通信通路となるシステムバスと、を備えた一般的なコンピューターにより達成することができる。特定の処理を専用に行うように設計されたASIC(Application Specific Integrated Circuit)を含んで、又は、ASICにより構成されていてもよい。
本実施形態が適用されたロボット10は、以上のような構成からなる。ただし、この構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的な双腕ロボットが備える他の構成を排除するものではない。また、ロボット10は、さらに多くのロボットアーム、ハンド、指を備えるロボットであってもよい。
また、上記した各構成要素は、制御部100の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。制御部100の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
次に、第1実施形態における、上記構成からなるロボット10の特徴的な動作について説明する。
<第1実施形態にかかるワーク嵌合制御>
図5、図6は、第1実施形態のロボット10で実行される、ワーク(凸)Wとワーク(凹)Wを嵌め合う動作にかかる制御(以下では「ワーク嵌合制御」という)の一例を説明するためのフロー図である。
図5、図6は、第1実施形態のロボット10で実行される、ワーク(凸)Wとワーク(凹)Wを嵌め合う動作にかかる制御(以下では「ワーク嵌合制御」という)の一例を説明するためのフロー図である。
また、図7〜図9は、本フローの制御段階ごとに、左右のハンドの指(第1の指15(a、b)、第2の指16(a、b))と、ワークWの位置、姿勢を示す図である。
上でも触れたが、第1実施形態にかかるワーク嵌合制御は、図7(A)に示すように、作業台(基準面)の上にワーク(凹)W1とワーク(凸)W2のペアが存在する場合に実行されるとよい。
そこで、図5に示す本フローを開始すると、中央制御部101は、まず、作業台(基準面)上に載置されているワークWの位置(例えば、基準面上のX、Y座標)を検出し、それらのワークWうち、下面に凹部を有するワーク(凹)Wと、下面に凸部を有するワーク(凸)Wと、を区別する(ステップS101)。
ただし、各ワークWの位置は、予め記憶部102に用意しておいてもよいし、撮像部110や各種センサーなどを用いて求めてもよい。また、ワーク(凹)Wとワーク(凸)Wのいずれかであるかを区別する方法には、予め記憶部102に用意されているデータを用いて区別する方法、撮像部110で撮像された画像を解析して区別する方法、ワークWの下面の高さと基準面の高さを計測して区別する方法などがある。
それから、中央制御部101は、ステップS101の処理結果に基づいて、作業台(基準面)上に、ワーク(凹)Wとワーク(凸)Wのペアが存在するか否か判別する(ステップS102)。
ここで、1組としてワーク(凹)Wとワーク(凸)Wのペアが存在しない場合には、中央制御部101は、ワーク(凹)Wとワーク(凸)Wのペアは存在しないと判定し(ステップS102;No)、エラー処理を実行して(ステップS118)、第1実施形態にかかるワーク嵌合制御を中止する。
こうして、作業台(基準面)上にワーク(凹)Wとワーク(凸)Wのペアが存在しない場合に、第1実施形態にかかるワーク嵌合制御を即座に終了させることができる。なお、ステップS118のエラー処理には、ユーザーにワーク(凹)Wとワーク(凸)Wのペアが存在しないことを通知する処理などが含まれる。
一方、少なくとも1組以上のワーク(凹)Wとワーク(凸)Wのペアが存在する場合には、中央制御部101は、ワーク(凹)Wとワーク(凸)Wのペアが存在すると判定し(ステップS102;Yes)、第1実施形態にかかるワーク嵌合制御を続行する。
この場合には、アーム制御部106とハンド制御部107は、連動して、作業台(基準面)に載置されているワーク(凹)W1を、左ハンド部14aの各指15a、16aによって把持する(ステップS103)。なお、図7(A)には、ステップS103が完了した段階におけるハンド(左ハンドの第1の指15a、右ハンドの第1の指15b)と、ワークW(ワーク(凹)W1、ワーク(凸)W2)の状態が示されている。
それから、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク(凹)W1を上昇させる(ステップS104)。図7(B)には、ステップS104が完了した段階において、ワーク(凹)W1が上昇した状態が示されている。
ところで、ワーク(凹)W1が上昇している間、エンコーダー読み取り部105は、左アーム部11a(各ジョイント13a)に備わるアクチュエーターからエンコーダー値を読み取り、記憶部102に記憶しておく。こうして、ワーク(凹)W1がステップS104で上昇した距離Z1を後で特定できるようになる。
次に、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク(凹)W1を、角度θ1傾ける(ステップS105)。図7(C)には、ステップS105が完了した段階において、ワーク(凹)W1が基準面に対して角度θ1傾けられた状態が示されている。
また、ワーク(凹)W1が傾けられている間においても、エンコーダー読み取り部105は、左アーム部11a(各ジョイント13a)に備わるアクチュエーターからエンコーダー値を読み取り、記憶部102に記憶しておく。こうして、ワーク(凹)W1がステップS105で傾けられた角度θ1を後で特定できるようになる。
それから、アーム制御部106とハンド制御部107は、角度θ1傾けられたワーク(凹)W1を下降させる制御を開始する。このとき、インピーダンス制御部103は、ワーク(凹)W1の一端が作業台(基準面)に接触することを想定して、接触時に作業台からの反力がワーク(凹)W1へ及ぼされることがないように、インピーダンス制御(例えば、左アーム部11aの下降、上昇を繰り返す制御)を行う。
なお、ここで、ワーク(凹)W1の一端が作業台(基準面)に接触したか否かの判定は、接触判定部104によって行われる(ステップS106)。
そして、ワーク(凹)W1の一端が作業台(基準面)に接触するまでは(ステップS106;No)、インピーダンス制御のもとワーク(凹)W1を下降させる制御が継続される。
もちろん、ワーク(凹)W1が下降している間においても、エンコーダー読み取り部105は、左アーム部11a(各ジョイント13a)に備わるアクチュエーターからエンコーダー値を読み取り、記憶部102に記憶しておく。こうして、ワーク(凹)W1が下降した距離Z2についても後で特定できるようになる。
ところで、ワーク(凹)W1の一端が作業台(基準面)に接触すると(ステップS106;Yes)、アーム制御部106とハンド制御部107は、ワーク(凹)W1の下降制御を停止する。図8(A)には、この段階におけるワーク(凹)W1の状態(基準面に対して角度θ1傾けられ、下面を構成する長方形の短辺が作業台に接触している状態)が示されている。
図8(A)に示す状態において、位置ずれ推定部108は、各指(第1の指15と第2の指16a)による実際の把持位置の高さ(すなわち、基準面からの距離)Hs1を算出する(ステップS107)。具体的には、位置ずれ推定部108は、ワーク(凹)W1をステップS104で上昇させた距離Z1から、インピーダンス制御で下降させた距離Z2を減算することにより、Hs1を算出する(Hs1=Z1−Z2)。
次に、位置ずれ推定部108は、各指(第1の指15と第2の指16a)による実際の把持位置について、基準位置(ここでは、ワークWの下面を構成する長方形の長辺Lの中点)からのずれ量dx1を算出する(ステップS108)。具体的には、位置ずれ推定部108は、まず、記憶部102(形状データ)から、ワーク(凹)W1の下面を構成する長方形の長辺の長さLを読み出す。そして、位置ずれ推定部108は、Hs1={dx1+(L/2)×sin(θ1)の関係式に、ステップS107で算出された「Hs1」と、記憶部102から読み出した「L」の値を代入して、ずれ量「dx1」を算出する。
なお、ステップS108の演算は、図4(A)で説明した原理に基づいている。こうして、本実施形態の位置ずれ推定部108は、把持位置についての正確なずれ量dx1を簡単に得ることができる。
ずれ量dx1が算出された後、アーム制御部106とハンド制御部107は、左アーム11aで把持しているワーク(凹)W1を、作業台(基準面)に対して水平な姿勢に戻し、上昇させる(ステップS109)。
上記のステップS103〜S109の制御が行われて、左ハンド部14aによるワーク(凹)W1の把持位置のずれ量dx1が算出されると、次に、制御部100は、ワーク(凹)W1の嵌合相手となるワーク(凸)W2について右ハンド部14bで把持し、ワーク(凹)W1の場合と同様の制御に従って、ワーク(凸)W2についての把持位置のずれ量dx2を算出する(図6に示すステップS110〜S116)。なお、図8(B)、(C)、図9(A)、(B)には、ステップS110〜S116の制御に従い、右アーム11bの右ハンド部14bと、ワーク(凸)W2と、の状態が遷移する様子が示されている。
ステップS116の処理が終わると、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク(凹)W1と、右ハンド部14bで把持しているワーク(凸)W2と、を嵌合する(ステップS117)。ただし、ステップS117では、アーム制御部106とハンド制御部107は、ステップS108で算出されたワーク(凹)W1についての把持位置のずれ量dx1と、ステップS115で算出されたワーク(凸)W2についての把持位置のずれ量dx2と、に基づき、ワーク(凹)W1の凹部とワーク(凸)W2の凸部が一直線上になるように左ハンド部14aと右ハンド部14bの位置を補正して、両ワークを嵌合する(図9(C))。
こうして、左ハンド部14aと右ハンド部14bによるワークWの把持位置がずれてしまった場合でも、正確に嵌合作業を行うことができる。
以上の制御が、本発明の第1実施形態にかかるワーク嵌合制御である。このように、第1実施形態にかかるワーク嵌合制御は、作業台に載置されたワークWを裏返したりせずに、最初に把持した状態のまま嵌合動作を実行できる場合に適している。
また、第1実施形態にかかるワーク嵌合制御によれば、傾けた状態のワークWを基準面に接触させるだけで把持位置のずれを認識できる。そのため、従来よりも簡易な構成によって、把持位置のずれを認識できるといえる。また、第1実施形態によれば、把持されたワークWと基準面の位置関係について正確に特定(測定)することができるため、従来よりも高精度に把持位置のずれを認識できる。
<第2実施形態>
次に、図10〜図15を用いて、本発明の第2実施形態について説明する。第2実施形態にかかるロボット10は、第1実施形態にかかるロボット10と基本的に同様の構成を備えるため、相違する点を中心に以下説明する。
次に、図10〜図15を用いて、本発明の第2実施形態について説明する。第2実施形態にかかるロボット10は、第1実施形態にかかるロボット10と基本的に同様の構成を備えるため、相違する点を中心に以下説明する。
第2実施形態は、ワークWを持ち替えること(つまり、一方のロボットアームで把持したワークWを他方のロボットアームに受け渡すこと)により嵌合可能となる1組のワークが、作業台上(基準面)に載置されている場合に採用される。すなわち、一方のワークは凸部を下面に向けて作業台上に載置され、他方のワークも凸部を下面に向けて作業台上に載置されているような場合である。また、これとは逆に、一方のワークは凹部を下面に向けて作業台上に載置され、他方のワークも凹部を下面に向けて作業台上に載置されているような場合でもよい。
そして、第2実施形態では、把持位置のずれ量dxを推定(算出)する方法に関して、第1実施形態とは異なる方法を採用する。
図10は、第2実施形態において、把持位置のずれ(ずれ量dx)を求める方法について説明する図である。
図示するように、下面に凸部を有するワークWは、左ハンド部14aに備わる各指(15a、16a)で把持され、右ハンド部14bに備わる各指(15b、16b)に受け渡される。このような受け渡し動作において、ワークWは、左ハンド部14aと右ハンド部14bの両ハンドで把持される状態になる。
このような状態において、例えば、図示するように、ワークWに対して、左ハンド部14aから押し込む力F(右ハンド部14b方向への力)が加えられる。このとき、左ハンド部14aの各指(第1の指15aと第2の指16a)による実際の把持位置が、基準位置(図示する例では、「ワークWの下面を構成する長辺の中点位置」)からずれ量dx分ずれていると仮定すると、基準位置に押し込む力FのモーメントMにより、ワークWには基準位置を中心とした回転運動が与えられる。
そこで、第2実施形態の位置ずれ推定部108は、M=α×F×dxの関係式に「M」、「α」、「F」の値を代入して、ずれ量「dx」を算出する。ここで、「M」および「F」は、力覚センサー(左力覚センサー17a、右力覚センサー17b)で検出される値である。また、「α」は、ワークWに押し込む力FのモーメントMとずれ量dxの関係を調整するための定数であり、予め記憶部102に格納されたデータから得られる値である。
以上のような方法によれば、ワークWの受け渡し動作のついでに、把持位置のずれ量dxを算出することができるため、効率よく嵌合動作を実行できる。
以下に、第2実施形態における、ロボット10の特徴的な動作について説明する。
<第2実施形態にかかるワーク嵌合制御>
図11、図12は、第2実施形態のロボット10で実行される、2つのワーク(凸)Wを嵌め合う動作にかかるワーク嵌合制御の一例を説明するためのフロー図である。
図11、図12は、第2実施形態のロボット10で実行される、2つのワーク(凸)Wを嵌め合う動作にかかるワーク嵌合制御の一例を説明するためのフロー図である。
また、図13〜図15は、本フローの制御段階ごとに、左右のハンドの指(第1の指15(a、b)、第2の指16(a、b))と、ワークWの位置、姿勢を示す図である。
上でも触れたが、第2実施形態にかかるワーク嵌合制御は、図13(A)に示すように、作業台(基準面)の上にワーク(凸)W3とワーク(凸)W4のペアがともに凸部を下に向けて存在する場合に実行されるとよい。もちろん、これとは逆に、作業台(基準面)の上にワーク(凹)Wとワーク(凹)Wのペアがともに凹部を下に向けて存在する場合に実行されてもよい。
図11に示す本フローを開始すると、中央制御部101は、まず、作業台(基準面)上に載置されているワークWの位置(例えば、基準面上のX、Y座標)を検出し、それらのワークWうち、下面に凹部を有するワーク(凹)Wと、下面に凸部を有するワーク(凸)Wと、を区別する(ステップS201)。
ここで、少なくとも1組以上のワーク(凹)Wとワーク(凸)Wのペアが存在する場合には、中央制御部101は、ワーク(凹)Wとワーク(凸)Wのペアが存在すると判定し(ステップS202;Yes)、第1実施形態にかかるワーク嵌合制御の方が適しているため、ステップS103〜S117の制御を行う。
一方、1組としてワーク(凹)Wとワーク(凸)Wのペアが存在しない場合には、中央制御部101は、ワーク(凹)Wとワーク(凸)Wのペアは存在しないと判定し(ステップS202;No)、処理をステップS203へ移行する。
次に、中央制御部101は、1つのワークWを裏返す(例えば、一方のロボットアームで把持したワークWを他方のロボットアームへ受け渡す)ことにより嵌合可能となるようなワークWのペアを作成できるか否か判別する(ステップS203)。
ここで、作業台(基準面)の上に、2個以上のワーク(凸)Wが載置されておらず、かつ、2個以上のワーク(凹)Wも載置されていない場合には、中央制御部101は、1つのワークWを裏返しても嵌合可能となるワークWのペアは作成できないと判定し(ステップS203;Yes)、エラー処理を実行して(ステップS220)、第2実施形態にかかるワーク嵌合制御を中止する。
一方、作業台(基準面)の上に、2個以上のワーク(凸)W、或いは、2個以上のワーク(凸)Wが存在する場合には、中央制御部101は、1つのワークWを裏返すことにより嵌合可能となるワークWのペアを作成できると判定し(ステップS203;Yes)、処理をステップS204に移行する。
処理がステップS204に移行すると、アーム制御部106とハンド制御部107は、連動して、作業台(基準面)に載置されているワーク(凸)W3を、左ハンド部14aの各指15a、16aによって把持する(ステップS204)。なお、図13(A)には、ステップS204が完了した段階におけるハンド(左ハンドの第1の指15a、第2の指16a、右ハンドの第1の指15b、第2の指16b)と、ワークW(ワーク(凸)W3、ワーク(凸)W4)の状態が示されている。
それから、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク(凹)W3を上昇させる(ステップS205)。図13(B)には、ステップS205が完了した段階において、ワーク(凸)W3が上昇した状態が示されている。
次に、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク(凸)W3を、右ハンド部14bでも把持させる(ステップS206)。こうして、図13(C)に示すように、ステップS206が完了した段階において、ワーク(凸)W3は、左ハンド部14a(第1の指15a、第2の指16a)と、右ハンド部14b(第1の指15b、第2の指16b)の両ハンドで把持された状態となる。
それから、アーム制御部106とハンド制御部107は、右ハンド部14b(第1の指15b、第2の指16b)によってワーク(凸)W3に左ハンド部14a方向への力Fを加える制御を開始する(ステップS207)。ここで、アーム制御部106とハンド制御部107は、ワーク(凸)W3が動かないように、左ハンド部14aによってワーク(凸)W3を固定しておく(例えば、左ハンド部14aもワーク(凸)W3に対して反対方向の力を加える)。
そして、ワーク(凸)W3に力Fが加えられている間、左ハンド部14aに備わる左力覚センサー17aは、ワーク(凸)W3の把持位置に加えられている力Fと、基準位置を回転中心とした場合のモーメントMと、を検出している。
このとき、力覚センサー制御部109は、左力覚センサー17aで検出された力Fを取得し、左力覚センサー17aの動作を確認する(ステップS208)。
具体的には、力覚センサー制御部109は、左力覚センサー17aから取得した力Fが一定値未満であれば、左力覚センサー17aの動作について再確認が必要と判定し(ステップS208;No)、所定の時間待機した後、再度、ステップS208の処理を実行する。
一方、力覚センサー制御部109は、左力覚センサー17aから取得した力Fが一定値以上である場合には、左力覚センサー17aは正常に動作していると判定し(ステップS208;Yes)、ここで取得した力Fを記憶部102に記憶する。
次に、力覚センサー制御部109は、左力覚センサー17aで検出されたモーメントMを取得し、記憶部102に記憶する(ステップS209)。
それから、位置ずれ推定部108は、右ハンド部14bの各指(第1の指15bと第2の指16b)による実際の把持位置について、基準位置(ここでは、ワーク(凸)W3の下面を構成する長方形の長辺Lの中点)からのずれ量dx2を算出する(ステップS210)。具体的には、位置ずれ推定部108は、まず、記憶部102から、ワーク(凸)W3に加えられた力Fと、モーメントMと、定数αを読み出す。そして、位置ずれ推定部108は、M=α×F×dxの関係式に「M」、「α」、「F」の値を代入して、ずれ量「dx2」を算出する。
なお、ステップS210の演算は、図10で説明した原理に基づいている。
ずれ量dx2が算出された後、アーム制御部106とハンド制御部107は、左ハンド部14aと右ハンド部14bで把持しているワーク(凸)W3について、左ハンド部14aによる把持を解放する(ステップS211)。図14(A)には、ステップS211で左ハンド部14aがワーク(凸)W3を解放した状態が示されている。
こうして、ワーク(凸)W3は、左ハンド部14aから右ハンド部14bへ受け渡される。以上のように、第2実施形態のロボット10では、ワーク(凸)W3の受け渡し動作のついでに、把持位置についての正確なずれ量dx2を得ることができる。
上記のステップS204〜S211の制御が行われて、右ハンド部14bによるワーク(凹)W3の把持位置のずれ量dx2が算出されると、次に、制御部100は、ワーク(凸)W3の嵌合相手となるワーク(凸)W4について左ハンド部14aで把持し、第1実施形態と同様の制御(S103〜S109)に従って、ワーク(凸)W4についての把持位置のずれ量dx1を算出する(図12に示すステップS212〜S218)。なお、図14(B)、(C)、図15(A)には、ステップS212〜S218の制御に従い、左ハンド部14aと、ワーク(凸)W4と、の状態が遷移する様子が示されている。
ステップS218の制御が終わると、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク(凸)W4と、右ハンド部14bで把持しているワーク(凸)W3と、を嵌合する(ステップS219)。ただし、ステップS219では、アーム制御部106とハンド制御部107は、ステップS217で算出されたワーク(凸)W4についての把持位置のずれ量dx1と、ステップS210で算出されたワーク(凸)W3についての把持位置のずれ量dx2と、に基づき、ワーク(凸)W4の凸部とワーク(凸)W3の凹部が一直線上になるように左ハンド部14aと右ハンド部14bの位置を補正して、両ワークを嵌合する(図15(B))。
こうして、第2実施形態においても、正確に嵌合作業を行うことができる。
以上の制御が、本発明の第2実施形態にかかるワーク嵌合制御である。このように、第2実施形態にかかるワーク嵌合制御は、ワークWを持ち替えることにより嵌合可能となる1組のワークが、作業台上(基準面)に載置されている場合に適している。
また、第2実施形態にかかるワーク嵌合制御によれば、両ハンドで把持された状態のワークWに力Fを加えるだけで把持位置のずれを認識できる。そのため、従来よりも簡易な構成によって、把持位置のずれを認識できるといえる。また、ワークWに加えた力FのモーメントMについては、力覚センサー17(a、b)を用いて正確に特定(検出)することができるため、従来よりも高精度に把持位置のずれを認識できる。
<第3実施形態>
次に、図16〜図21を用いて、本発明の第3実施形態について説明する。第3実施形態にかかるロボット10は、第1実施形態や第2実施形態にかかるロボット10と基本的に同様の構成を備えるため、第1実施形態や第2実施形態と相違する点を中心に以下説明する。
次に、図16〜図21を用いて、本発明の第3実施形態について説明する。第3実施形態にかかるロボット10は、第1実施形態や第2実施形態にかかるロボット10と基本的に同様の構成を備えるため、第1実施形態や第2実施形態と相違する点を中心に以下説明する。
第3実施形態は、持ち替えなしで嵌合可能な1組のワークが、把持位置の高さについて特定できない状態で作業台上(基準面)に置かれている場合に採用される。例えば、一方の把持対象のワーク(凹)Wは、作業台上に置かれた他の物体(例えば、他のワークW)上に積まれて置かれ、他方の把持対象のワーク(凸)Wも、作業台上に置かれた他の物体(例えば、他のワークW)上に積まれて置かれているような場合である。
そして、第3実施形態では、第2実施形態にかかるワーク嵌合制御と同様に、一方の把持対象のワーク(凹)Wについては、図10で説明した原理に従って把持位置のずれ量dx1を推定(算出)し、他方の把持対象のワーク(凸)Wについては、図4で説明した原理に従って把持位置のずれ量dx2を推定(算出)する。
そのため、第3実施形態にかかるワーク嵌合制御は、第2実施形態にかかるワーク嵌合制御とほぼ同様の流れとなる。
<第3実施形態にかかるワーク嵌合制御>
図16、図17は、第3実施形態のロボット10で実行される、ワーク(凹)Wとワーク(凸)Wを嵌め合う動作にかかるワーク嵌合制御の一例を説明するためのフロー図である。
図16、図17は、第3実施形態のロボット10で実行される、ワーク(凹)Wとワーク(凸)Wを嵌め合う動作にかかるワーク嵌合制御の一例を説明するためのフロー図である。
また、図18〜図21は、本フローの制御段階ごとに、左右のハンドの指(第1の指15(a、b)、第2の指16(a、b))と、ワークWの位置、姿勢を示す図である。
上でも触れたが、第3実施形態かかるワーク嵌合制御は、図16(A)にも示すように、作業台(基準面)上に置かれたワークW7やワークW8の上に積み重ねられたワーク(凹)W5、ワーク(凸)W6といったペアが存在する場合に実行されるとよい。
図16に示す本フローを開始すると、中央制御部101は、第1実施形態のステップS101〜S102、S118と同様の制御を実行する(ステップS301〜S302、S320)。
また、第3実施形態にかかるワーク嵌合制御では、第2実施形態のステップS204〜S210と同様の制御が実行されて(ステップS303〜S309)、左ハンド部14aの各指(第1の指15aと第2の指16a)による実際の把持位置について、基準位置(ここでは、ワーク(凹)W5の下面を構成する長方形の長辺Lの中点)からのずれ量dx1が算出される(図18(A)〜(C))。
次に、アーム制御部106とハンド制御部107は、左ハンド14aと右ハンド14bで把持しているワーク(凹)W5について、右ハンド14bによる把持を解放する(ステップS310)。図19(A)には、ステップS320で右ハンド14bがワーク(凹)W5を解放した状態が示されている。
こうして、ワーク(凹)W5は、左ハンド14aから右ハンド14bへ受け渡されずに、左ハンド14aで把持されたままの状態となる。この点は、第2実施形態と相違する点である。すなわち、第2実施形態では、ワーク(凸)W3の受け渡し動作のついでに、把持位置のずれ量dxを求めているのに対し、第3実施形態では、把持位置のずれ量dxを算出することを主な目的として、ワーク(凹)W5を左ハンド14aと右ハンド14bで把持している。
上記のステップS310が終了すると、アーム制御部106とハンド制御部107は、ワーク(凹)W5の嵌合相手となるワーク(凸)W6について右ハンド部14bで把持し(ステップS311)、把持したワーク(凸)W6を作業台(基準面)上に置き、解放する(ステップS312)。
これは、把持位置の高さ(基準面からの距離)が不明なワーク(凸)W6を、基準面に置いて、把持位置の高さを明らかにして把持し直すことを目的としている(図19(B)、(C))。
把持位置の高さが明らかになれば、第1実施形態のステップS111〜S116と同様の制御が実行でき(ステップS313〜S318)、右ハンド部14bの各指(第1の指15bと第2の指16b)による実際の把持位置について、基準位置(ここでは、ワーク(凸)W6の下面を構成する長方形の長辺Lの中点)からのずれ量dx2が算出される(図20(A)〜(C)、図21(A))。
ステップS318の制御が終わると、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク(凹)W5と、右ハンド部14bで把持しているワーク(凸)W6と、を嵌合する(ステップS319)。ただし、ステップS319では、アーム制御部106とハンド制御部107は、ステップS309で算出されたワーク(凹)W5についての把持位置のずれ量dx1と、ステップS317で算出されたワーク(凸)W6についての把持位置のずれ量dx2と、に基づき、ワーク(凹)W5の凹部とワーク(凸)W6の凸部が一直線上になるように左ハンド部14aと右ハンド部14bの位置を補正して、両ワークを嵌合する(図21(B))。
こうして、第3実施形態においても、正確に嵌合作業を行うことができる。
以上の制御が、本発明の第3実施形態にかかるワーク嵌合制御である。このように、第3実施形態にかかるワーク嵌合制御は、持ち替えなしで嵌合可能な1組のワークが、把持位置の高さについて特定不可能な状態で作業台上(基準面)に置かれている場合に適している。
<第4実施形態>
次に、図22〜図27を用いて、本発明の第4実施形態について説明する。第4実施形態にかかるロボット10は、第1〜第3実施形態にかかるロボット10と基本的に同様の構成を備えるため、第1〜第3実施形態と相違する点を中心に以下説明する。
次に、図22〜図27を用いて、本発明の第4実施形態について説明する。第4実施形態にかかるロボット10は、第1〜第3実施形態にかかるロボット10と基本的に同様の構成を備えるため、第1〜第3実施形態と相違する点を中心に以下説明する。
第4実施形態は、ワークWを持ち替えること(つまり、一方のロボットアームで把持したワークWを他方のロボットアームに受け渡すこと)により嵌合可能となる1組のワークが、把持位置の高さについて特定できない状態で作業台上(基準面)に置かれている場合に採用される。例えば、一方の把持対象のワーク(凸)Wが、作業台上に置かれた他の物体(例えば、他のワークW)上に積まれて置かれ、他方の把持対象のワーク(凸)Wも、作業台上に置かれた他の物体(例えば、他のワークW)上に積まれて置かれているような場合である。もちろん、一方の把持対象のワーク(凹)Wが、作業台上に置かれた他の物体上に積まれて置かれ、他方の把持対象のワーク(凹)Wも、作業台上に置かれた他の物体上に積まれて置かれているような場合でもよい。
そして、第4実施形態では、第2実施形態にかかるワーク嵌合制御と同様に、一方の把持対象のワーク(凸)Wについては、図10で説明した原理に従って把持位置のずれ量dx2を推定(算出)し、他方の把持対象のワーク(凸)Wについては、図4で説明した原理に従って把持位置のずれ量dx1を推定(算出)する。
そのため、第4実施形態にかかるワーク嵌合制御は、第2実施形態にかかるワーク嵌合制御とほぼ同様の流れとなる。
<第4実施形態にかかるワーク嵌合制御>
図22、図23は、第4実施形態のロボット10で実行される、2つのワーク(凸)Wを嵌め合う動作にかかるワーク嵌合制御の一例を説明するためのフロー図である。
図22、図23は、第4実施形態のロボット10で実行される、2つのワーク(凸)Wを嵌め合う動作にかかるワーク嵌合制御の一例を説明するためのフロー図である。
また、図24〜図27は、本フローの制御段階ごとに、左右のハンドの指(第1の指15(a、b)、第2の指16(a、b))と、ワークWの位置、姿勢を示す図である。
上でも触れたが、第4実施形態かかるワーク嵌合制御は、図24(A)にも示すように、作業台(基準面)上に置かれたワークW11やワークW12の上に積み重ねられたワーク(凸)W9、ワーク(凸)W10といったペアがともに凸部を下に向けて存在する場合に実行されるとよい。もちろん、これとは逆に、作業台(基準面)の上にワーク(凹)Wとワーク(凹)Wのペアがともに凹部を下に向けて存在する場合に実行されてもよい。
図22に示す本フローを開始すると、制御部100は、第2実施形態のステップS201〜S203、S220と同様の制御を実行する(ステップS401〜S403、S421)。
また、第4実施形態にかかるワーク嵌合制御では、第2実施形態のステップS204〜S210と同様の制御が実行されて(ステップS404〜S410)、左ハンド部14aの各指(第1の指15aと第2の指16a)による実際の把持位置について、基準位置(ここでは、ワーク(凸)W9の下面を構成する長方形の長辺Lの中点)からのずれ量dx2が算出される(図24(A)〜(C))。
次に、アーム制御部106とハンド制御部107は、左ハンド14aと右ハンド14bで把持しているワーク(凸)W9について、左ハンド14aによる把持を解放する(ステップS411)。図25(A)には、ステップS411で左ハンド14aがワーク(凸)W9を解放した状態が示されている。
こうして、ワーク(凸)W9は、左ハンド14aから右ハンド14bへ受け渡される。この点は、第2実施形態と同様であり、受け渡しの動作のついでに、把持位置のずれ量dx2を算出できる。
上記のステップS411が終了すると、アーム制御部106とハンド制御部107は、ワーク(凸)W9の嵌合相手となるワーク(凸)W10について左ハンド部14aで把持し(ステップS412)、把持したワーク(凸)W10を作業台(基準面)上に置き、解放する(ステップS413)。
これは、把持位置の高さ(基準面からの距離)が不明なワーク(凸)W10を、基準面に置いて、把持位置の高さを明らかにして把持し直すことを目的としている(図25(B)、(C))。
把持位置の高さが明らかになれば、第1実施形態のステップS111〜S116と同様の制御が実行でき(ステップS414〜S419)、左ハンド部14aの各指(第1の指15aと第2の指16a)による実際の把持位置について、基準位置(ここでは、ワーク(凸)W10の下面を構成する長方形の長辺Lの中点)からのずれ量dx1が算出される(図26(A)〜(C)、図27(A))。
ステップS419の制御が終わると、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク(凸)W10と、右ハンド部14bで把持しているワーク(凸)W9と、を嵌合する(ステップS420)。ただし、ステップS420では、アーム制御部106とハンド制御部107は、ステップS418で算出されたワーク(凸)W10についての把持位置のずれ量dx2と、ステップS410で算出されたワーク(凸)W9についての把持位置のずれ量dx2と、に基づき、ワーク(凸)W10の凸部とワーク(凸)W9の凹部が一直線上になるように左ハンド部14aと右ハンド部14bの位置を補正して、両ワークを嵌合する(図27(B))。
こうして、第4実施形態においても、正確に嵌合作業を行うことができる。
以上の制御が、本発明の第4実施形態にかかるワーク嵌合制御である。このように、第4実施形態にかかるワーク嵌合制御は、ワークWを持ち替えることにより嵌合可能となる1組のワークが、把持位置の高さについて特定不可能な状態で作業台上(基準面)に置かれている場合に適している。
なお、上記した各フローの各処理単位は、ロボット10を理解容易にするために、主な処理内容に応じて分割したものである。処理ステップの分類の仕方やその名称によって、本願発明が制限されることはない。ロボット10が行う処理は、さらに多くの処理ステップに分割することもできる。また、1つの処理ステップが、さらに多くの処理を実行してもよい。
また、上記の実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。
例えば、上記各実施形態では説明していないが、下面に凹部を有するワーク(凹)Wを把持する場合と、下面に凸部を有するワーク(凸)Wを把持する場合と、に応じて、ハンドによる把持位置を変更する。例えば、ワーク(凹)Wを把持する場合には、ハンドによる把持位置を基準面と同じ高さ(位置)とし、ワーク(凸)Wを把持する場合には、ハンドによる把持位置を、基準面より所定長(凸部の長さ)だけ高くする。
また、上記各実施形態における右ハンド部14aと左ハンド部14bを入れ替えてもよい。
また、上記第1実施形態と上記第3実施形態については、把持位置のずれ量dxを他の方法に代えて推定(算出)するようにしてもよい。
例えば、図28は、上記第1実施形態と上記第3実施形態の変形例について説明する図である。
図示するように、変形例では、左ハンド部14aに備わる各指(15a、16a)で把持されているワークWを、右ハンド部14bに備わる各指(15b、16b)で把持する動作が実行される。
このとき、右ハンド部14bに備わる各指(15b、16b)は、左ハンド部14aの各指(15a、16a)で把持されている位置(把持位置)を中心線(図示する点線)として、ワークWを把持しようとする。
仮に、左ハンド部14aの各指(第1の指15aと第2の指16a)による実際の把持位置が、基準位置(図示する例では、「ワークWの上面を構成する長辺の中点位置」)に一致しているのであれば、右ハンド部14bによる把持動作において各指(第1の指15bと第2の指16b)は、ほぼ同時にワークWに到達する。
しかし、図示するように、左ハンド部14aの各指(第1の指15aと第2の指16a)による実際の把持位置が、基準位置からずれている場合には(ずれ量dx)、右ハンド部14bのいずれかの指(第1の指15b、又は第2の指16b)が先にワークWに到達する。
このとき、ワークWに到達した指(第1の指15b、又は第2の指16b)には、把持方向の反対向きの反力Fxが加えられる。
そのため、変形例の位置ずれ推定部108は、dx=β×Fxの関係式に「β」、「Fx」の値を代入して、ずれ量「dx」を算出する。ここで、「Fx」は、力覚センサー(左力覚センサー17aと右力覚センサー17bの少なくともいずれか)で検出される値である。また、「β」は、上記の反力Fxとずれ量dxの関係を調整するための定数であり、予め記憶部102に格納されたデータから得られる値である。
従って、図示する変形例では、位置ずれ推定部108は、右ハンド部14bが左ハンド部14aによる把持方向と直交する方向に把持する動作において、左ハンド部14aと右ハンド部14bのうちの少なくとも一方に発生した左ハンド部14aによる把持方向と直交する方向の力Fxに基づき、ワークWについてのずれ量dxを算出する。
以上のような変形例によれば、上記第1実施形態と上記第3実施形態よりも簡易な方法によって、把持位置のずれ量dxを算出することができる。
10・・・ロボット、11a・・・左アーム部、11b・・・右アーム部、12a・・・リンク(左)、12b・・・リンク(右)、13a・・・ジョイント(左)、13b・・・ジョイント(右)、14a・・・左ハンド部、14b・・・右ハンド部、15a・・・第1の指(左)、15b・・・第1の指(右)、16a・・・第2の指(左)、16b・・・第2の指(右)、17a・・・力覚センサー(左)、17b・・・力覚センサー(右)、100・・・制御部、101・・・中央制御部、102・・・記憶部、103・・・インピーダンス制御部、104・・・接触判定部、105・・・エンコーダー読み取り部、106・・・アーム制御部、107・・・ハンド制御部、108・・・位置ずれ推定部、109・・・力覚センサー制御部、110・・・撮像部、W・・・ワーク。
Claims (9)
- 把持ロボット装置であって、
基準面に載置されたワークを把持する把持部と、
前記把持部による前記ワークの把持位置について、基準位置からのずれ量を算出するずれ量算出部と、を備え、
前記把持部は、
前記ワークを傾けて、当該ワークの一端を前記基準面に接触させ、
前記ずれ量算出部は、
前記把持部により傾けられた前記ワークと前記基準面とが接触した状態において、前記把持部と前記基準面の位置関係に基づき、前記ずれ量を算出する、
ことを特徴とする把持ロボット装置。 - 請求項1に記載の把持ロボット装置であって、
前記把持部は、
前記ワークの底面に平行な一方向(以下「Y方向」とよぶ)を把持方向として前記ワークを把持し、
前記ずれ量算出部は、
前記把持部による前記ワークの把持位置について、前記Y方向に直交するX方向へのずれ量dxを、
dx=H/sinθ−L
(ただし、Hは前記把持位置の前記基準面からの距離、Lは前記ワークの前記基準位置から前記一端までの長さ、θは前記ワークが傾けられた角度を表す)
の数式を用いて算出する、
ことを特徴とする把持ロボット装置。 - 請求項1又は2に記載の把持ロボット装置であって、
前記把持部は、
第1の把持機構を有する第1の把持部と、第2の把持機構を有する第2の把持部と、を備え、
前記第1の把持機構で把持している第1のワークを、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作を実行し、
前記ずれ量算出部は、
前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作において、前記第1の把持部と前記第2の把持部のうちの少なくとも一方に発生した前記第1の把持機構による把持方向と直交する方向の力に基づき、前記ずれ量を算出する、
ことを特徴とする把持ロボット装置。 - 請求項3に記載の把持ロボット装置であって、
前記ずれ量算出部は、
dx=Fx×β
(ただし、Fxは前記力、dxは前記ずれ量、βは係数を表す)
の数式を用いて、前記ずれ量を算出する、
ことを特徴とする把持ロボット装置。 - 請求項1乃至4のいずれか1項に記載の把持ロボット装置であって、
前記把持部は、
第1の把持機構を有する第1の把持部と、第2の把持機構を有する第2の把持部と、を備え、
前記第1の把持機構で把持している第1のワークを、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作を実行し、
前記ずれ量算出部は、
前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作において、前記第1の把持部と前記第2の把持部のうちの少なくとも一方に発生した前記第1の把持機構による把持方向と直交する方向の力に基づき、前記第1のワークについての前記ずれ量を算出し、
前記第2の把持機構により傾けられた第2のワークと前記基準面とが接触した状態において、前記第2の把持機構と前記基準面の位置関係に基づき、前記第2のワークについての前記ずれ量を算出する、
ことを特徴とする把持ロボット装置。 - 請求項1乃至5のいずれか1項に記載の把持ロボット装置であって、
前記把持部は、
第1の把持機構を有する第1の把持部と、第2の把持機構を有する第2の把持部と、を備え、
前記第1の把持機構で把持している第1のワークを、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持して受け渡す動作を実行し、
前記ずれ量算出部は、
前記第2の把持機構により傾けられた第2のワークと前記基準面とが接触した状態において、前記第2の把持機構と前記基準面の位置関係に基づき、前記第2のワークについての前記ずれ量を算出する、
ことを特徴とする把持ロボット装置。 - 請求項1乃至6のいずれか1項に記載の把持ロボット装置であって、
前記ずれ量算出部によって算出された前記ずれ量に基づき、前記把持部の動作を補正する補正部を、さらに備える、
ことを特徴とする把持ロボット装置。 - 把持機構を備える把持ロボット装置で行われる把持動作制御方法であって、
前記把持機構により、基準面に載置された前記ワークを把持する把持ステップと、
前記把持ステップにおける前記ワークの把持位置について、基準位置からのずれ量を算出するずれ量算出ステップと、を行い、
前記把持ステップでは、
前記ワークを傾けて、当該ワークの一端を前記基準面に接触させ、
前記ずれ量算出ステップでは、
前記把持ステップで傾けられた前記ワークと前記基準面とが接触した状態において、前記把持機構と前記基準面の位置関係に基づき、前記ずれ量を算出する、
ことを特徴とする把持動作制御方法。 - 把持機構を制御する把持動作制御装置であって、
ワークの把持動作についての指示を前記把持機構に出力する指示部と、
前記把持機構によるワークの把持位置について、基準位置からのずれ量を算出するずれ量算出部と、を備え、
前記指示部は、
基準面に載置されたワークを把持し、当該ワークを傾けて、当該ワークの一端を前記基準面に接触させる指示を前記把持機構に出力し、
前記ずれ量算出部は、
前記把持機構により傾けられた前記ワークと前記基準面とが接触した状態において、前記把持機構と前記基準面の位置関係に基づき、前記ずれ量を算出する、
ことを特徴とする把持動作制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011279447A JP2013129005A (ja) | 2011-12-21 | 2011-12-21 | 把持ロボット装置、把持動作制御方法、および、把持動作制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011279447A JP2013129005A (ja) | 2011-12-21 | 2011-12-21 | 把持ロボット装置、把持動作制御方法、および、把持動作制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013129005A true JP2013129005A (ja) | 2013-07-04 |
Family
ID=48907023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011279447A Pending JP2013129005A (ja) | 2011-12-21 | 2011-12-21 | 把持ロボット装置、把持動作制御方法、および、把持動作制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013129005A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015085480A (ja) * | 2013-11-01 | 2015-05-07 | セイコーエプソン株式会社 | ロボット、制御装置、ロボットシステム、ロボット制御方法、及びプログラム |
JP2020151780A (ja) * | 2019-03-18 | 2020-09-24 | 株式会社東芝 | ハンドリングシステム、ロボット管理システム、およびロボットシステム |
-
2011
- 2011-12-21 JP JP2011279447A patent/JP2013129005A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015085480A (ja) * | 2013-11-01 | 2015-05-07 | セイコーエプソン株式会社 | ロボット、制御装置、ロボットシステム、ロボット制御方法、及びプログラム |
JP2020151780A (ja) * | 2019-03-18 | 2020-09-24 | 株式会社東芝 | ハンドリングシステム、ロボット管理システム、およびロボットシステム |
JP7175808B2 (ja) | 2019-03-18 | 2022-11-21 | 株式会社東芝 | ハンドリングシステムおよびロボット管理システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11046530B2 (en) | Article transfer apparatus, robot system, and article transfer method | |
US10589424B2 (en) | Robot control device, robot, and robot system | |
US10456917B2 (en) | Robot system including a plurality of robots, robot controller and robot control method | |
JP5778311B1 (ja) | ピッキング装置およびピッキング方法 | |
US20160184996A1 (en) | Robot, robot system, control apparatus, and control method | |
JP4001105B2 (ja) | ロボットによる任意形状物体の把持方法 | |
CN102642201B (zh) | 工件拾取*** | |
JP2002018754A (ja) | ロボット装置及びその制御方法 | |
JP2007098501A (ja) | ロボットシステム | |
US20170203434A1 (en) | Robot and robot system | |
JP4289619B2 (ja) | 多関節ロボットのツール位置補正方法 | |
JP6322949B2 (ja) | ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム | |
CN113165187B (zh) | 图像信息处理装置、把持***以及图像信息处理方法 | |
JP5787646B2 (ja) | ロボットシステム及び部品の製造方法 | |
JP2008168372A (ja) | ロボット装置及び形状認識方法 | |
JP6314429B2 (ja) | ロボット、ロボットシステム、及びロボット制御装置 | |
JP2017039184A (ja) | ロボット | |
JP2013129005A (ja) | 把持ロボット装置、把持動作制御方法、および、把持動作制御装置 | |
JP2017047479A (ja) | ロボット、制御装置、及びロボットシステム | |
JP2015085499A (ja) | ロボット、ロボットシステム、制御装置及び制御方法 | |
WO2023013740A1 (ja) | ロボット制御装置、ロボット制御システム、及びロボット制御方法 | |
JP2016203282A (ja) | エンドエフェクタの姿勢変更機構を備えたロボット | |
JP2016209936A (ja) | ロボット装置、ロボット制御方法、プログラム及び記録媒体 | |
WO2023013699A1 (ja) | ロボット制御装置、ロボット制御システム、及びロボット制御方法 | |
US8688269B2 (en) | Apparatus for teaching a gripping device |