JP6700726B2 - ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム - Google Patents

ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム Download PDF

Info

Publication number
JP6700726B2
JP6700726B2 JP2015218214A JP2015218214A JP6700726B2 JP 6700726 B2 JP6700726 B2 JP 6700726B2 JP 2015218214 A JP2015218214 A JP 2015218214A JP 2015218214 A JP2015218214 A JP 2015218214A JP 6700726 B2 JP6700726 B2 JP 6700726B2
Authority
JP
Japan
Prior art keywords
robot
grip
gripping
information
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.)
Active
Application number
JP2015218214A
Other languages
English (en)
Other versions
JP2017087325A (ja
Inventor
大澤 弘幸
弘幸 大澤
鈴木 雅博
雅博 鈴木
小林 一彦
一彦 小林
片山 昭宏
昭宏 片山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015218214A priority Critical patent/JP6700726B2/ja
Publication of JP2017087325A publication Critical patent/JP2017087325A/ja
Application granted granted Critical
Publication of JP6700726B2 publication Critical patent/JP6700726B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、把持対象物を把持および運搬し、組み付け等のタスクの実行を行うロボットを制御するロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラムに関する。
従来、ロボットが搬送すべき把持対象物(ワーク)の把持を行う際の把持状態を、視覚センサを用いて検出することにより、ロボット制御の方法を変更する手法がある。
例えば、特許文献1は、ロボットのハンドが把持するワークを固定カメラで撮像し、撮像された画像からワークの特徴部の位置および姿勢を求めるワーク搬送装置を開示する。具体的には、このワーク搬送装置は、搬送中のワークの特徴箇所の位置と、撮像時のロボットの位置とから、ハンドがワークを把持する状態(把持状態)を認識し、予め記憶された把持状態と比較して所定誤差を超えた場合にワーク搬送先位置を補正する。
特許文献2は、ロボットアームの先端に設けられた多指ハンド部の指先力センサにより、多指ハンド部の対象物に対する実際の接触位置を検出し、視覚センサにより検出された対象物の位置情報・姿勢情報を修正するロボット装置を開示する。
特許第4174342号公報 特許第5505138号公報
ここで、ロボットが把持対象物を把持する際に把持ずれが発生した場合、カメラ等の視覚センサで把持対象物の位置・姿勢の変化として検出することができる。
しかしながら、視覚センサの撮像だけで、把持対象物の把持ずれを判断したのでは、リアルタイムに把持ずれを検出することが困難であり、把持ずれが進行している際に迅速かつ正確に把持ずれ後の把持対象物の位置・姿勢を求めることが困難であった。
また、常時、把持対象物やロボットの画像撮像、認識、及び位置・姿勢算出等の高負荷の画像処理を動作させなければならず、処理負荷が増大していた。
そこで、本発明の目的は、ロボットが把持対象物を把持する際に発生する把持ずれを、迅速かつ正確に検知すると共に、その処理負荷を低減することができるロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラムを提供することにある。
上記課題を解決するために、本願発明に係るロボット制御装置の一態様は、把持対象物を把持するロボットハンドを備えるロボット装置を制御するロボット制御装置であって、前記把持対象物の視覚情報を取得する第1の取得手段と、前記ロボットハンドにより前記把持対象物に作用する力覚情報を取得する第2の取得手段と、前記第1の取得手段により取得された前記視覚情報から前記把持対象物の位置および姿勢を算出する算出手段と、前記第2の取得手段により取得された前記力覚情報に基づいて、前記把持対象物の把持状態変動性を導出する導出手段と、前記導出手段により導出された前記把持対象物の前記把持状態変動性に基づいて、前記第1の取得手段および前記算出手段の少なくとも1つの処理実行を制御する制御手段と、を具備し、前記制御手段は、前記導出手段により導出された前記把持状態変動性に基づいて、前記第1の取得手段および前記算出手段の少なくとも1つが実行する画像処理の画像サイズ、画像解像度、およびフレームレートの少なくとも1つを決定する。
本発明によれば、ロボットが把持対象物を把持する際に発生する把持ずれを、迅速かつ正確に検知すると共に、その処理負荷を低減することができる。
実施形態1のロボット制御システムのブロック構成を示す図である。 把持ずれ現象の状態を説明するための図である。 実施形態1の処理の流れを示すフローチャートである。 実施形態1の処理の流れを示すフローチャートである。 実施形態1の座標系を説明するための図である。 実施形態1における把持対象物にかかるモーメントを説明する図である。 実施形態1の把持変動性値の説明をするための図である。 実施形態1の把持変動性値の説明をするための図である。 実施形態2の把持変動性値の説明をするための図である。 実施形態2の処理の流れを示すフローチャートである。 実施形態2の処理の流れを示すフローチャートである。 実施形態3のロボット制御システムのブロック構成を示す図である。 実施形態で説明した各部のハードウエア構成の一例を示す図である。
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
実施形態1
(概要)
本実施形態では、力覚センサと視覚センサとを用いて、把持対象物の把持ずれ状態を判断し、判断された把持ずれ状態に基づき視覚制御を行う。これにより、本実施形態は、把持ずれ状態を正確に測定し、把持ずれが進行していても正確に組み付けタスクを実行できるように構成される。
以下の説明においては、ロボット動作の対象とするタスクとして、部品(把持対象物)を所定の位置に組み付けるジョブ(ロボットシステムによる把持対象物への操作)を想定する。
把持対象物の組み付けジョブの対象動作とは、把持対象物の認識、位置および姿勢取得動作、把持対象物の把持動作、把持対象物の運搬動作、把持対象物の組み付け動作、の一連の動作をいう。組み付けジョブは、これら一連の動作を、位置および姿勢精度を保証するようにロボットアームやロボットハンドのロボット行動計画を生成し、実行することである。
(ロボット制御システムの構成)
本実施形態のロボット制御システムの構成について述べる。
図1は、本実施形態のロボット制御システム8(ロボットシステム)のブロック構成を示す図である。図1に示すように、ロボット制御システム8は、ロボット制御装置10(ロボット駆動制御装置)と、ロボット装置11と、把持対象物情報取得装置12と、力覚測定装置13と、から構成される。また、ロボット装置11は、把持対象物14を把持して、組み付け先部位17に取り付けるジョブを実行するものとする。
ロボット装置11は、ロボットアーム15を備えている。更にロボット装置11は、ロボットアーム15の先端にロボットハンド16を備えている。
ロボットアーム15は、空間内において有形の運動および方向の変更ができ、この運動および変更によって、ロボットアーム15の先端に備えられているロボットハンド16の位置および姿勢を任意に変更することができる。
把持対象物情報取得装置12は、視覚センサであり、例えば、把持対象物14を撮像するカメラなどを利用することができる。また、図1では、把持対象物情報取得装置12は、ロボットアーム15もしくはロボットハンド16に取り付けられているがこれに限定されず、把持対象物14を撮像できれば、どこに取り付けられていてもよい。この視覚センサは、把持対象物14の2次元画像および3次元情報(距離画像や点群データ)の少なくともいずれか一方の視覚情報を取得することができる。
力覚測定装置13は、力覚センサであり、ロボットハンド16の把持対象物14と接触する部位(ロボットハンド16のフィンガー先端やハンド手掌など)に備えられている。この力覚センサによって、ロボットハンド16と把持対象物14との間に発生する力の大きさ(量)を検出することができる。力覚センサは、力の大きさだけでなくトルクの大きさを検出してもよい。
本実施形態のロボット装置11は、把持対象物14を、組み付け先部位17に設置するよう動作する。本実施形態において、ロボット装置11のジョブの一例は、以下の通りである。まず、ロボットハンド16で把持対象物14を把持する動作を実行する。次に、ロボットアーム15を動作させて把持対象物14を運搬する。さらに、把持対象物14を組み付け先部位17に組み付ける動作を実行する。
(ロボット制御装置)
ロボット制御装置10は、プログラムを実行可能なコンピュータで構成され、CPU、メモリなどの基本的なPCの構成を有する。図1に示すロボット制御装置10の各部は、CPUが所定のプログラムを実行して、メモリに格納されている各種データを処理することによって実現される。
また、ロボット制御装置10は、ロボット装置11、把持対象物情報取得装置12および力覚情報取得装置16を接続するためのインターフェースを備えている。ロボット制御装置10は、これらのインターフェースを介して、ロボット装置11、把持対象物情報取得装置12および力覚情報取得装置16を制御することができる。
把持対象物情報取得装置12は、把持対象物14の3次元情報もしくは2次元画像を取得する視覚センサである。
ここでは、例えば、所定のプロジェクタが把持対象物14に対して所定の像をパターン投影する。把持対象物情報取得装置12である視覚センサは、把持対象物14が反射した光パターンを撮像して、把持対象物14の2次元画像を取得する。さらに、把持対象物情報取得装置12は、取得した2次元画像に基づき、視覚センサとプロジェクタとの配置関係から、三角測量法により取得した2次元画像の各画素の3次元形状情報を取得する方法を用いる。但し、把持対象物情報取得装置12は把持対象物14の3次元情報および2次元画像(以下、「2次元情報」として参照する。)を取得できればよく、これらに限定されない。
次に、ロボット制御装置10(ロボット駆動制御装置)の各部の構成について説明する。図1に示すように、ロボット制御装置10は、把持ずれ算出部9と、行動計画部112と、ロボット制御部113とを備える。この把持ずれ算出部9は、力覚情報取得部107と、把持変動性値評価部108と、視覚制御部109と、把持対象物情報取得部110と、位置・姿勢算出部111とを備える。
力覚情報取得部107(第2の取得手段)は、ロボット制御装置10に接続された力覚測定装置13からの力覚情報を取得する。この力覚情報とは、把持対象物14とロボットハンド16との接触点または接触面における力情報又はトルク情報の少なくともいずれか一方を含む情報である。この力覚情報は、ロボットハンド16により把持対象物14に作用する力覚情報であり、接触面の情報であっても、接触点の情報であってもよい(接触面及び接触点を、以下、単に「接触点」とする)。
把持変動性値評価部108(導出手段)は、把持対象物14に作用する力覚情報から、把持状態の変動性を判断し、判断した把持の変動性を、把持変動性値(把持対象物14の把持状態変動性)として算出する。
この把持変動性値は、ロボットハンド16に備えられた力覚測定装置13である力覚センサの出力する力覚情報の時間的な変動状態を示す数値である。力覚センサが出力する力覚情報の値の変動(変動量)が大きいほど、把持変動性値が大きく変化をする。また、力覚センサの力覚情報の値の変動(変動量)が小さいほど、把持変動性値は小さく変化をする。把持変動性値評価部108が把持変動性値を算出することによって、ロボットハンド16が把持対象物14を把持している際の、把持の状態を評価することができる。
視覚制御部109(制御手段)は、把持変動性評価部108が出力する把持変動性値(把持状態の変動性)に基づき、把持対象物情報取得部110および位置・姿勢算出部111のうち、少なくとも一方または双方の処理の実行を制御する。
把持対象物情報取得部110(第1の取得手段)は、ロボット制御装置10に接続された把持対象物情報取得装置12から、把持対象物14の3次元情報および2次元情報(視覚情報)を取得する。
位置・姿勢算出部111(算出手段)は、把持対象物情報取得部110が出力する把持対象物14の視覚情報(3次元情報および2次元情報)から、把持対象物14の位置および姿勢を算出する。
次に、行動計画部112およびロボット制御部113について説明する。
行動計画部112(計画手段)は、把持対象物14の運搬先の目的場所とする位置および姿勢の状態まで把持対象物14を運搬できるように、ロボットアーム15およびロボットハンド16の各関節角度の時系列変化であるロボット行動計画情報を算出する。すなわち、行動計画部112は、把持ずれ算出部9が出力するロボット装置11及び把持対象物14の情報に基づき、所望の動作を実現するためのロボットアーム15およびロボットハンド16の軌道情報、ロボット装置11の各関節の駆動情報等を生成する。
ロボット制御部113(第2の制御手段)は、行動計画部112で算出されたロボット行動計画情報に従って、ロボット装置11の動作(運動)を制御する。すなわち、ロボット制御部113(第2の制御手段)は、ロボット装置11のロボットアーム15及びロボットハンド16の駆動装置を制御する。
このようにして、ロボット制御装置10は、ロボット装置11を制御して、把持対象物14を目的の運搬先に運ぶことができる。
(把持ずれ現象)
次に、把持ずれ現象について説明する。図2は、本発明の実施形態1の把持ずれ現象の状態を説明する図である。
把持ずれ現象とは、把持対象物14を目的地に運搬する際に、ロボットハンド16の把持圧力と把持対象物14にかかるモーメントの状態によって発生する意図しない把持対象物14の姿勢の変化のことをいう。
把持対象物14の運搬動作等を実行する際に、把持圧力と把持対象物14にかかるモーメントの状態によっては、図2(a)における20で示される方向に把持対象物14が回動し、本来の位置から回転してずれてしまうことが考えられる。このずれの結果、把持対象物14の位置が、図2に示す把持位置14aから把持位置14bに変化してしまう。
さらに、把持ずれが進行し、最終的に図2(b)に示すように、把持対象物14が、把持位置14cの位置まで回転しずれた状態で停止する。このような把持ずれ現象の発生と、把持ずれ後の把持対象物14の位置および姿勢の正確な予測は困難である。
このような把持ずれ現象が進行すると、把持対象物14が把持位置14aの状態にあることを前提としたロボット行動計画では、把持対象物14の運搬動作や把持対象物14の組み付け動作の精度の保証が困難になる。このため、ロボット装置11が実行するジョブの成功の保証が困難となる。
(本実施形態における処理の概要)
次に、ロボット制御装置10の処理の流れの説明を行う。図3、図4は、本実施形態に係るロボット制御装置10の処理の流れを示すフローチャートである。図3、図4に示される処理動作は、ロボット制御装置10の備えるCPUがプログラムを実行することによって達成される。
最初に、ロボット制御装置10の処理の基本的な流れを述べる。
まず、把持対象物情報取得部110が、把持対象物14の把持対象物情報(視覚情報)の取得を行い、位置・姿勢算出部111が、把持対象物14の位置および姿勢の値を算出する。次に、行動計画部112が、その把持対象物14の位置および姿勢に合わせて、把持対象物14の組み付けジョブのためのロボット行動計画情報を算出する。
ロボット制御部113は、算出されたロボット行動計画情報に従って、ロボット装置11の制御を実行する。
本実施形態においては、ロボット制御部113が上記のロボット制御を実行している間に、力覚情報取得部107が、力覚測定装置13の出力する力覚情報に基づき、把持対象物14の把持の状態を取得する。そして、把持変動性値評価部108が、取得された把持の状態に基づき、把持変動性値の算出を行う。このように算出された把持変動性値を評価することにより、視覚制御部109が、把持対象物情報取得部110(第1の取得手段)と、位置・姿勢算出部111(算出手段)と、の実行の制御を行う。
このような処理によって、把持対象物14の把持ずれに対する実行制御を行うことができる。
把持ずれに対する上記の実行制御を実行した後で、さらに把持ずれが生じた場合には、その把持ずれの状態に合わせて、再度、ロボットの行動計画を立て直す。把持ずれが許容範囲以下の状態であり、ロボット装置11のジョブの実行(動作継続)に問題が無ければ、ロボット制御部113によるロボット制御が引き続き実行される。最終的に、ロボットの行動計画情報の通りに、ロボット制御が実行され完了すれば、把持対象物14の組み付けジョブは終了する。
(ロボット制御装置10の処理フロー詳細)
次に、前述したロボット制御装置10が実行する処理の詳細なフローを説明する。図3の処理が開始されると、S2において、把持ずれ算出部9(視覚制御部109)は、最初に、把持ずれフラグをOFFにする。
この把持ずれフラグとは、視覚制御部109によって管理され参照・更新可能な、把持の変動性評価の際に用いられるフラグである。
この把持ずれフラグは、把持対象物14の把持が安定している時に、把持を行ってから以降継続している安定状態なのか、それとも一度把持ずれが発生した後の安定状態なのかを示すフラグであって、把持ずれが発生した履歴を示すフラグである。
具体的には、把持ずれフラグがONの場合は、その把持対象物14に関して把持ずれが発生したことがあることを表す。一方、把持ずれフラグがOFFの場合は、その把持対象物14において把持ずれが発生したことがないことを表す。
次に、S3において、視覚制御部109は、把持対象物情報取得部110もしくは位置・姿勢算出部111の実行を制御するための実行制御フラグをOFFにする。この実行制御フラグとは、把持対象物情報取得部110と、位置・姿勢算出部111との実行を制御するフラグである。
具体的には、実行制御フラグがONの場合は、把持対象物情報取得部110と、位置・姿勢算出部111との実行を抑制する。一方、実行制御フラグがOFFの場合は、把持対象物情報取得部110と、位置・姿勢算出部111との処理の実行は抑制されず、通常実行される。視覚制御部109は、この実行制御フラグを保持し管理を行う。
次に、S4において、把持対象物情報取得部110は、把持対象物14の3次元情報と2次元情報とのいずれか一方または双方の情報の取得を行う。
次に、S5において、位置・姿勢算出部111は、S4で取得された把持対象物14の把持対象物情報から、把持対象物14の種類の認識と、把持対象物14の位置および姿勢の算出とを行う。ここで、把持対象物情報とは、把持対象物14の3次元情報と2次元情報とのいずれか一方または双方の情報(視覚情報)をいう。
具体的には、位置・姿勢算出部111は、把持対象物14の位置および姿勢の算出を、把持対象物情報が3次元点群の場合はICP(Iterative Closest Point)アルゴリズムを用いて実行する。また、把持対象物情報が2次元情報であれば、2次元モデル画像とのマッチングを利用して実行することができる。
次に、S6において、行動計画部112は、S5で算出された把持対象物14の位置および姿勢から、把持対象物14の組み付けジョブ中の一連の動作に対応するロボット行動計画情報を生成する。組み付けジョブ中の一連の動作には、例えば、把持対象物14に対しての認識、位置および姿勢の取得動作(撮像)、把持動作、運搬動作、組付け動作等が含まれる。具体的には、行動計画部112は、ロボット行動計画情報の作成の際、RRT(Rapidly−exploring Random Tree)アルゴリズムを用いた経路計画アルゴリズムを利用できる。
ロボット行動計画情報の一種である把持行動プランや運搬行動プランなどは、ロボット装置11のロボットアーム15やロボットハンド16の各関節の値の時系列変化情報であり、ロボットの動作軌道を示す情報である。
把持対象物14の把持動作についてのロボット行動計画情報の生成には、FORCE−CLOSURE FUNCTIONによる把持姿勢評価を基にした経路計画アルゴリズムを利用できる。これらの手法を用いることで、行動計画部112は、既知の障害物やオンラインで検出された障害物などを回避したロボット装置11のロボット行動計画を生成できる。なお、同様の結果が得られるのであれば、その他の装置やアルゴリズムを用いても構わない。
次に、行動計画部112が作成したロボット行動計画情報に従って、ロボット制御装置10は、把持対象物14に対するロボット装置11の把持動作を実行させる。これらの把持動作は、S7〜S19において以下のとおり実行される。
S7において、ロボット制御部113は、ロボット行動計画情報に従ってロボット11の制御(ロボットの動作制御)を行う。ここで、ロボットの動作制御とは、S6において行動計画部112が生成したロボット行動計画情報である時系列の各関節角度情報から、ロボット装置11への動作指令コマンドを生成して、実際にロボット装置11を動作させることをいう。具体的には、ロボット制御部113は、時系列の各関節角度情報を、ロボット装置11に含まれる各ロボットコントローラの仕様に合わせて動作指令コマンドに変換し、ロボット装置11に送信する。この動作指令コマンドにより、ロボット装置11に含まれるロボットアーム15やロボットハンド16の各関節のモータの値が変更されて、ロボット装置11が動作する。
このようなロボット装置11の動作制御は、一度にすべての動作軌道を動作させるのではなく、ロボット制御部113が、ごく短い時間間隔でロボット装置11への軌道制御を実行することで実現できる。これによって、ロボット装置11は、所望のジョブを実行することができるとともに、急なジョブの変更等にも対応することができる。
(把持ずれ制御処理詳細)
このロボット装置11の動作中に、上述したような把持ずれ等の意図しない現象が発生する。例えば、把持ずれ現象が進行している過程で、把持対象物情報取得部110や位置・姿勢算出部111が通常の動作を実行すると、把持対象物14の把持対象物情報である3次元情報や2次元情報に撮影ぶれが生じてしまう。本実施形態では、このような問題に対処できるよう、以下の把持ずれ検出処理を行っている。把持ずれ検出処理(制御処理)は、図3に示すS8〜図4に示すS18までの処理である。
図3のS8において、力覚情報取得部107は、まず、力覚測定装置13から力覚情報の取得を行う。この力覚情報は、把持対象物14とロボットハンド16との間にかかる力やトルクの値である。
S9において、把持変動性値評価部108は、把持対象物14の把持の状態を求めて、把持変動性値の算出を行う。
ここで、力覚取得部107で取得された力覚情報は、ロボット装置11の運動のモーメント等の影響を含んでいるため、ロボット装置11の運動のモーメントや重力の影響を排除した把持対象物14自体のモーメントによる力覚値に変換する必要がある。把持変動性値評価部108は、この補正された力覚情報を算出する。この補正された力覚情報の算出方法については、図6を用いて後に詳細を説明する。
S9において、把持変動性値評価部108は、この補正された力覚情報から、把持状態の変動性を示す値である把持変動性値を算出する。
ここで算出される把持変動性値(把持状態変動性)とは、ロボットハンド16と把持対象物14の接触部(接触点または接触面)に作用する力の大きさの単位時間あたりの変化量(変動量)を表す指標である。換言すれば、把持変動性値評価部108は、力覚情報の単位時間当たりの変化量に基づいて、その変化量を示す指標として把持変動特性値(把持状態変動性)を算出する(導出する)。把持状態が安定している場合には、ロボットハンド16と把持対象物14との接触面に対して法線方向に安定的に一定の力がかかる。このため、この力の大きさや方向が安定しない場合に、把持対象物14に対する把持ずれが進行していると判断することができる。このような力覚情報に基づく把持ずれ(ないし把持安定)検出(把持変動性値算出)の詳細に関しては、図7から図9を用いて後に詳細を説明する。
次に、図4のS10において、把持変動性値評価部108は、算出された把持変動性値の絶対値がある一定の閾値より大きい値かどうかを判定する。把持変動性値が、閾値より大きい場合は、把持状態は安定していないと判断して、S11に進む。一方、把持変動性値が閾値と同一か小さい場合は、把持状態は安定していると判断して、次のS12に進む。
更に、S12において、把持変動性値評価部108は、把持ずれフラグがONであるかOFFであるかを判定し、把持ずれフラグがONである場合はS13に進み、把持ずれフラグがOFFである場合はS15に進む。
この一連のS10からS12を経て判断された把持ずれ現象は、以下の3種類の状態に分類される。
第1の状態は、S10(Yes)から分岐しS11からS14に至る処理の状態である。この場合は、把持対象物14に対する把持状態が安定せず、把持ずれ現象が進行している過程であると判断する。S11において、把持変動性値評価部108は、前述の把持ずれフラグをONにしてから、S14に進む。S14において、視覚制御部109は、把持対象物情報取得部110および位置・姿勢算出部111のうち、いずれか一方または双方の処理の実行を抑制するために、視覚制御部109が保持する実行制御フラグをONにする。すなわち、把持変動性値評価部108は、把持変動性値の算出を行った結果、所定の閾値より大きく、把持ずれが生じていると判断した場合、視覚制御部109(制御手段)は、次のような処理を実行する。その処理は、把持対象物情報取得部110(第1の取得手段)および位置・姿勢算出部111(算出手段)のうち、いずれか一方または双方の処理の実行を抑制する処理である。
第2の状態は、S12(Yes)から分岐しS13に至る処理の状態である。この場合は、把持対象物14に対する把持状態が一度不安定になり把持ずれ現象が発生した後に、把持状態が安定した状態に移行したと判断する。S13において、視覚制御部109は、把持対象物情報取得部110と、位置・姿勢算出部111との処理を実行させて把持ずれ後の把持対象物14の位置および姿勢を算出させるために、視覚制御部109が保持する実行制御フラグをOFFにする。
また、視覚制御部109は、把持対象物取得部101と位置・姿勢算出部111とにおける画像処理等が実行されている最中である場合は、これらの処理を中断し、画像処理を再スタートするように制御を行う。このような制御を行う理由は、後述する図8(b)の把持変動性判定タイミング73により迅速に同期させるためである。視覚制御部109は、このような制御を実行することによって、特に画像処理がマルチタスクで実行されている場合、より応答性の高い画像処理を行わせることができる。その結果、把持ずれ現象からの復帰に対してより迅速に対応することができる。
第3の状態は、S12(No)から分岐しS15に至る処理の状態である。この場合は、過去に把持ずれ現象が発生したことがない、つまり、把持対象物14の把持が正常に行われ、把持ロボット行動計画や運搬ロボット行動計画が正常に実行できていると判断する。この状態では特に問題は生じないので、S15において、視覚制御部109は、把持対象物情報取得部110と、位置・姿勢算出部111との処理を実行させるために、視覚制御部109が保持する実行制御フラグをOFFにする。
視覚制御部109がS13もしくはS15もしくはS14を実行した後、S16に進む。
S16において、視覚制御部109は、視覚制御部109が保持する実行制御フラグがOFFであるか否か判定する。視覚制御部109は、実行制御フラグがOFFである場合は、把持対象物14の把持ずれの位置を確認するために、再度、把持対象物情報取得部110に把持対象物14の3次元情報や2次元情報の取得を行わせる。続いて、S17において、視覚制御部109は、実行制御フラグがOFFである場合は、S16で取得された把持対象物14の3次元情報や2次元情報から、位置・姿勢算出部111に把持対象物14の位置および姿勢の算出を行わせる。
一方、視覚制御部109が保持する実行制御フラグがONの場合、S16およびS17における把持対象物情報取得部110と位置・姿勢算出部111との処理は実行されない。
次に、把持ずれが発生したかどうかの判定を行う。S18において、視覚制御部109または行動計画部112は、現在得られている把持対象物14の位置および姿勢の値と、図3のS6においてロボット行動計画情報を算出した時に用いた把持対象物14の位置および姿勢の値とを比較する。そして、両者の差が所定の閾値より大きいか否かを判定する。ここで、S17において把持対象物14の位置および姿勢の値が算出されている場合は、S17において算出された値と、S6においてロボット行動計画情報を算出した時に用いた把持対象物14の位置および姿勢の値とを比較して所定の閾値内か判定する。
両者の差が所定の閾値より大きい場合は、行動計画部112は、把持ずれ現象による把持対象物14の把持ずれ量が、ロボット行動計画情報の実行に影響があると判断をして、図3のS2に戻る。そして、把持ずれ後の把持対象物14の位置および姿勢(把持対象物14の把持ずれ量(すべり量))に基づいて、ロボット装置11の復帰動作の行動計画のプランニングが実行される。
上記第1の状態の場合、S11で把持ずれフラグがON、S14で実行制御フラグがONとされ、S16およびS17の処理はバイパスされるので、S18の比較結果はNoとなり、計画が終了するまでS7に戻って処理が繰り返される。このため、把持状態が変動する間、把持対象物14の位置および姿勢の算出に係る画像処理は抑制される。次以降のループで把持状態が安定したと判断された際に(S10Yes)、上記第2の状態に移行し、S13で実行処理フラグがOFFとされて、把持ずれ後の把持対象物14の位置および姿勢が算出される(S16、S17)。S18で把持ずれ量が許容範囲外であれば(S18Yes)、S2に戻ってロボット装置11の復帰動作の行動計画が算出される。
S18Yesで処理がS2に戻った後にプランニングされるロボット装置11の復帰動作の行動計画とは、把持対象物14が、把持ずれ状態から、組み付け可能タスクを実行可能な把持状態に変更する行動計画を示す。例えば、把持ずれした把持対象物14を台に一度置いて持ち直すなどの手法を用いて把持ずれ状態の解消を行うロボット行動計画情報である。このロボット装置11の復帰動作の行動計画によって、把持ずれ現象によって生じた把持の位置および姿勢に関する不具合を解消することができる。
また、図4のS18において、把持ずれ量が許容範囲内であり、持ち替えなどの動作をせずに組み付けジョブがそのまま実行可能と判断することができる場合もある(S18No)。この場合は、行動計画部112は、そのまま組み付けジョブなどの次工程のロボット行動計画を実行するように、復帰動作の行動計画をプランニングしてもよい。
これに替えて、S18において、行動計画部112は、把持ずれが発生していると判断する場合でも、把持ずれの量に基づき把持ずれ量を補償するようにロボット装置11の動作を制御するような復帰動作の行動計画をプランニングしてもよい。これらの処理は、行動計画部112が、通常の動作プランニング処理と同様に備えており、S6で実行することができる。
次に、S19において、行動計画部112は、ロボット行動計画の実行が終了したかどうかの確認を行い、終了していない場合は、図3のS7に戻り、ロボット制御部113が、ロボット装置11の動作の制御を実行する。一方、終了している場合は、処理を完了し、ロボット装置11の組み付けジョブの動作処理を終了する。
S19において、行動計画部112は、ロボット行動計画の実行の終了判定を実行する。具体的には、行動計画部112は、図3のS6において作成されたロボット行動計画の時系列中のロボット装置11の各関節の値と、実際のロボットの各関節の値が同一(許容誤差より小さい誤差)になったか否かを判定する。そして、行動計画部112は、これらの値が同一になった場合に、ロボット行動計画の実行の終了と判定する。
以上説明した図3および図4のフローチャートに従い、ロボット行動計画の情報の算出およびロボット制御を行うことによって、把持ずれ現象が発生した状態においても、把持ずれがない状態への復帰動作をより迅速に行うことができる。したがって、組み付け動作などのジョブをより円滑かつ高精度にロボット装置11に実行させることができる。
(ロボット制御システムの座標系)
次に、ロボット制御装置10を含むシステム全体の座標系に関して説明する。図5は、本実施形態の座標系を説明する図である。
ロボット装置11の行動計画におけるロボット装置11の位置および姿勢の算出や、把持対象物14の位置および姿勢の制御の演算、組み付け先部位17の位置および姿勢の算出等は、図5に示される座標系によって演算が行われる。
図5に示すように、ロボット装置11の作業空間内にある一点を原点座標502とする。この原点座標502と、ロボット装置11の座標との変位を、ベクトル503(RX、RY、RZ)とする。ロボット装置11の姿勢を示す3×3の回転行列を、RMとする。
また、ロボット装置11の座標と、ロボットアーム15先端との変位を、ベクトル505(FX、FY、FZ)とする。ロボットアーム15の姿勢を示す3×3回転行列を、FMとする。ロボットアーム15の先端とロボットハンド16の先端(把持対象物14の把持ポイント)との変位は、ベクトル506(EX、EY、EZ)とする。また、ロボットハンド16の姿勢を示す3×3の回転行列は、EMとする。ロボットアーム15の先端と、把持対象物情報取得装置12の焦点位置との変位は、ベクトル507(CX、CY、CZ)とする。また、把持対象物情報取得装置12である視覚センサの姿勢を示す3×3の回転行列を、CMとする。把持対象物情報取得装置12の焦点位置と把持対象物14(ワーク)との変位を、ベクトル508(VX、VY、VZ)とする。また、視覚センサから見た把持対象物14の位置および姿勢を示す3×3の回転行列を、VMとする。
ここで、原点座標502から見た把持対象物14の座標値を、座標504(WX、WY、WZ)とする。また、把持対象物14の姿勢を示す3×3の回転行列をWMとすると、このWMについては、以下の2式で表すことができる。
Figure 0006700726
Figure 0006700726
式1は、ロボット装置11のロボットアーム15のある位置および姿勢と、力覚的な予測から推定する把持対象物14の位置および姿勢を示す式である。力覚的な予測からEM、EX、EY、EZを生成するためには、把持対象物14の重心位置と力覚情報とから算出できる。把持対象物14の形状情報が既知である場合、EM、EX、EY、EZは、以下のように算出できる。
まず、力覚センサ(力覚測定装置13)が取得した力覚情報の値から把持対象物14の重心位置を推定する。この力覚情報から推定される重心位置と、既知の(把持対象物14の)形状情報から算出される重心位置との差に基づき、EM、EX、EY、EZを算出することができる。その詳細な算出方法として、例えば、「中島明、早川義一、「視覚と力覚情報の融合に基づく多指ハンドによる把握・操り制御」、計測自動制御学会第6回制御部門大会予稿集、名古屋大学、pp.309-312、2006年」が利用できる。
力覚情報を取得する位置が少なければ少ないほど、力覚情報量が少なくなり正確な把持対象物14の位置および姿勢を求めることは難しくなる。一方、力覚センサが面の計測可能である場合は、この力覚センサからより多くの力覚情報が得られる。したがって、このような多くの力覚情報を用いれば、把持対象物14の位置および姿勢をより正確に求められる。
式2は、ロボット装置11のロボットアーム15が存在する位置および姿勢と、視覚情報から測定される把持対象物14の位置および姿勢を示す式である。視覚情報に基づき、把持対象物14の把持状態を計測することは、把持対象物情報(3次元情報および2次元情報)から算出することができる。この算出には、例えば、「五十嵐克司、細田耕、浅田稔(大阪大学工学部)、「未知環境における視覚と力覚のハイブリッド制御」、ロボティクスシンポジア予稿集、pp87-92、1996年」が利用できる。
これら2式(式1、式2)から算出される把持対象物14の位置および姿勢の情報を重ね合わせること等によって3次元再構成処理を行うことができる。この3次元再構成処理は、例えば、特許文献2で開示されている手法を利用することができる。また同様に、位置合わせを行う際に用いられるICP(Iterative Closest Point)等のフィッティングアルゴリズムも、例えば特許文献2で開示されている手法を用いることができる。このようにして、把持対象物14の位置および姿勢の算出を行うことができる。
式1で算出された把持対象物14の位置および姿勢は、精度が低い可能性がある。そのため、本実施形態では、力覚センサの形態等を考慮し、式2で算出された把持対象物14の位置および姿勢の値と、式1で算出された把持対象物14の位置および姿勢の値とを、所定の重み付けで重ね合わせている。
次に式1と式2の関係について説明をする。
式1と式2は、それぞれ把持対象物14の位置および姿勢であるWM、WX、WY、WZを求める式であるため、式1と式2のWM、WX、WY、WZの値は、理想的には一致する。
しかし、把持ずれ現象等が発生すると、力覚情報取得部107が取得する力覚情報や、把持対象物情報取得部110が取得する把持対象物情報(把持対象物14の情報)などに急激な変化が発生する。そのため、式1および式2からそれぞれ求めた把持対象部14の位置および姿勢の値の相対的な差(誤差値)が大きくなる。この把持対象物14の位置および姿勢の誤差値を用いることによって、視覚情報による把持対象物情報と力覚情報による把持対象物情報とを統合して、図4のS10の把持状態の変動性値の算出に用いてもよい。
次に、行動計画部112のロボット行動計画情報の算出に関して説明する。
まず、図5に示すように、組み付け先部位17の組み付け先部位位置501に組み付けた状態の把持対象物14の位置を座標509(TX、TY、TZ)、組み付け先部位位置501における把持対象物14の姿勢を示す3×3回転行列をTMとする。ここでロボット行動計画情報の生成(算出)とは、他の障害物との衝突を避けながら、座標509と座標504が一致し、更に回転行列WMと回転行列TMが一致するように、ロボットの関節値を変化させることである。
本実施形態は、このように装置間の座標を定義し算出しているので、位置・姿勢算出部111は、把持対象物14を認識し、把持対象物14の位置および姿勢を算出し、行動計画部112は、ロボット装置11の行動計画等を算出することができる。
(把持対象物にかかるモーメントと把持変動性値)
次に、把持対象物14にかかる力覚の値(力覚値)について説明をする。図6は、本実施形態における把持対象物14にかかるモーメントを説明する図である。
図3のS6において生成したロボット行動計画情報に基づき、ロボット制御部113はロボット装置11を制御している。そのロボット装置11の制御の実行中に、図3のS9において、把持変動性値評価部108は、把持対象物14の把持変動性値の算出を行っている。ここでは、この把持変動性値の算出方法を詳細に述べる。
本実施形態において、把持変動性値とは、ロボットハンド16と把持対象物14の接触部(接触面または接触点)にかかる力の大きさの単位時間あたりの変化量(変動量)のことをいい、把持対象物の把持状態の変動値を意味する。把持対象物14に対する把持状態が安定している場合、ロボットハンド16と把持対象物14の接触面に対して法線方向に安定的に一定の力がかかる。ただし、ロボットアーム15が運搬動作等を行っている場合、把持対象物14には、次の3種類の力やモーメントがかかる。
第1に、ロボットハンド16のフィンガーからかかる把持圧力である。第2に、ロボットアーム15が運搬動作をしている際に発生するロボットハンド16へのモーメント62である。第3に、把持対象物14の重量に由来する重力の力61である。これら3つの力が、ロボットハンド16のフィンガーの先端に付けられている力覚測定装置13と把持対象物14の接触点または接触面64にかかる。そのため、力覚情報取得部107が取得する力覚情報は、この3つの力の合算値として得られる。
図6では、便宜上、モーメント62と重力の力61の合力63を示すが、さらにこれらに把持圧力も加えられて、3つの力の合算値が得られる。ロボットアーム15による運搬動作によって発生するモーメント62は、ロボットアーム15の形状とロボット装置11の運搬動作によるロボット行動計画情報(時系列の各関節の値)から、算出することができる。また、把持対象物14の重量や形状が既知であれば、重力の値61も算出することができる。
本実施形態においては、把持変動性値評価部108は、ロボット装置11の運搬動作を知るために、ロボット制御部113(第2の制御手段)から、ロボット装置11の位置および姿勢を検出する。さらに、把持変動性値評価部108は、ロボット装置11のロボットアーム15およびロボットハンド16の位置および姿勢も検出する。これによって、把持変動性値評価部108は、ロボットアーム15およびロボットハンド16の運動を知ることができ、モーメント62を計算することができる。ロボット制御部113は、既に説明したように、ロボット装置11の関節の動きを制御する動作指令コマンドを逐次ロボット装置11に送信しているので、現在のロボット装置11の位置および姿勢を把握し、検出することができる。
その結果、以下の式3を用いて、力覚測定装置13と把持対象物14の接触面における把持圧力値を算出することができる。
SF=GF+AF+FF (式3)
この式3において、SFは、力覚測定装置13(力覚センサ)が取得する力覚値(力覚情報)、GFは、把持対象物14にかかる重力値、AFは、ロボットのアームの動作のモーメントによる力である。FFは、ロボットハンド16のフィンガー先端と把持対象物14との間に発生する把持圧力を示している。
把持変動性値評価部108が用いる力覚情報(力覚値)は、FFで示されるロボットハンド16のフィンガー先端と把持対象物14との間に発生する把持圧力を用いることができる。そこで、式3からFFを求める。式3を変形して、下記式4を得る。
FF=SF−GF−AF (式4)
この式4によって得られたFFの値を、把持対象物14にかかる力覚情報の値(力覚値)として用いる。このようにFFのみを抽出することによって、把持対象物14を把持したロボットハンド16が取り付けられたロボットアーム15が動作していたとしても、ロボットアーム15の動きによる影響を取り除くことができる。このように、力覚測定装置13(力覚センサ)が取得する力覚値を、重力(GF)、モーメント(AF)を用いて補正して得られたFFの値を、力覚情報の値として用いることができる。このような補正は、把持変動性値評価部108が実行する。
把持変動性値は、この(補正後の)力覚情報の値の単位時間当たりの変動量として得られる。本実施形態においては、この変動量を把持変動性値HSS(式5)として表す。ここで、単位時間tは、ロボット装置11の稼働可能な速度に対して、十分短い時間を用いる。この計算も把持変動性値評価部108が実行する。
Figure 0006700726
この式5で表される把持変動性値HSSの最大値もしくは平均値が所定の閾値より大きい場合、把持変動性値評価部108は、把持対象物14に対する把持状態が不安定だと判断し、把持ずれが発生・進行していると判断できる。一方、把持変動性値HSSの最大値もしくは平均値が所定の閾値より小さい場合、把持対象物14に対する把持状態が安定であると判断し、把持ずれが発生・進行していないと判断できる。
(把持変動性検出の実例:実施形態1の画像処理制御)
次に、実際に発生する把持ずれ現象に対して、力覚情報と、画像処理の連動動作に関して実例を説明する。図7、図8は、本実施形態の把持対象物14に対する把持の変動性検出と、視覚制御部109の動作の関連を説明する図である。
図7(a)は、把持対象物14が把持対象物14aの位置から把持対象物14bの位置に向かって、矢印20の方向にずれるように把持ずれ現象が発生し、把持状態が不安定になった状態を示す図である。図7(b)は、図7(a)で示した把持ずれ現象が発生している状況において、力覚情報取得部107が取得する力覚情報を表したグラフと、時間経過に伴う画像処理単位の遷移を模式的に表したタイムチャートとを示す。図7(b)に示すように、把持ずれ現象が発生している状況において、力覚情報は、例えばグラフ71aのような波形になり、不規則な高周波成分を含む状態となる。このときに、図3および図4に示す処理フローにより、把持対象物情報取得部110や位置・姿勢算出部111等における画像処理は、視覚制御部109による制御によって実行が抑制されないよう制御される。
図7(b)において画像処理単位72で示される画像処理は、把持対象物情報取得部110や位置・姿勢算出部111等における画像取得および認識処理、および付随する把持対象物14の位置および姿勢算出処理等の画像処理の単位を表す。図7(b)の画像処理単位72と同様に、図8(b)においても画像処理単位74、75が示されている。ここで、画像処理単位72および74(点線の画像処理単位)は画像処理が行われていないことを示すのに対して、画像処理単位75(実線の画像処理単位)は画像処理が行われていることを示す。図7(b)に示すように、力覚情報に不規則な高周波成分が含まれている間は、視覚制御部109が画像処理等の実行を抑制しているので、撮影ぶれ等の発生する不正確な把持対象物取得情報を元にした位置および姿勢算出処理等の実行は抑制される。
次に、図8(a)は、把持対象物14が把持対象物14cの位置で把持ずれ現象を起こしている不安定な状態から、把持対象物14dの位置へ移動し、把持が安定して把持ずれが終了した状態を示す図である。このように把持ずれ現象を起こしている状態から、把持ずれ状態が終了した状態において、力覚情報取得部107によって得られる力覚情報の変動は、図8(b)のグラフ71bに示されている。このグラフ71bに示すように、力覚情報のグラフは、高周波な変動状態もしくは高振幅な変動状態から、把持変動性判定タイミング73位置を境界として、低周波な変動状態もしくは低振幅な変動状態に、状態が変化する。この段階での画像処理は、図3および図4のフローチャートにより、把持変動性判定タイミング73経過前は、視覚制御部109の制御によって、画像処理の実行が抑制された状態である(図7(b)の破線の画像処理単位74)。
一方、把持変動性判定タイミング73経過後は、把持安定状態と判定され、画像取得等である画像処理単位75(実線で示されている)から実行が開始される。
このように、力覚情報取得部107が取得した力覚情報によって、把持変動性評価部108が把持変動性(把持安定性)の評価を行う。この把持変動性の評価に応じて、視覚制御部109が、把持対象物取得部110等の画像処理実行ユニットを動作させるか否か(またはどのように動作させるか)の制御を可変に行う。このため、把持対象物情報取得部110や位置・姿勢算出部111の不要な画像処理実行を有効に抑制することができ、画像処理に係る処理負荷が軽減される。
(本実施形態の効果)
以上述べたように、本実施形態によれば、把持対象物14の把持ずれ現象が発生している状態での、各種演算の抑制と、把持ずれの状態の検出を実現できる。
さらに、本実施形態によれば、把持ずれが解消した後の安定した状態での把持対象物14の正確な位置および姿勢を得ることができる。したがって、把持ずれが発生しても正確に把持対象物14を運搬でき、把持ずれが発生しても組み付け等のタスクを実現することができる。
実施形態2
(概要)
本実施形態は、実施形態1で説明した構成および処理に加え、把持ずれ現象が進行している過程での把持対象物14の位置および姿勢の算出を行い、把持ずれの状態把握を行うように構成したものである。このような構成および処理によって、実施形態2は、ロボット行動計画を作成して復帰の対処ができる。以下、実施形態2を実施形態1と異なる点につき説明する。
(把持変動性検出の実例:実施形態2の画像処理制御)
本実施形態における視覚制御部109の動作に関して説明する。実施形態2において、実際に発生する把持ずれに対して力覚情報取得部107が取得する力覚情報と、画像処理の連動性に関しての実例を図9に示す。図9(a)は、把持対象物14に対する把持状態が不安定になっている状態(図7(a))における力覚情報を表すグラフと、画像処理の流れを模式的に表したタイムチャートとを示す図であり、実施形態1において説明した図7(b)に相当する図である。
図7(a)に示すように14aの位置から14bの位置へ把持ずれが発生した状態において、力覚情報取得部107が取得する力覚情報は、図9(a)のグラフ81aのように、不規則な高周波成分を含む状態もしくは高振幅な信号を含む状態となる。このような状態の場合、本実施形態では、実施形態1と異なり、把持対象物情報取得部110や位置・姿勢算出部111等が実行する画像処理は、視覚制御部109によって次のように制御される。すなわち、把持ずれが発生している間、画像処理等は、画像サイズ等の画像処理単位の値を小さく設定され、また、画像処理のフレームレートを上げて実行されるよう制御される。ここでは、画像サイズとフレームレートを調整する例を示したが、画像解像度や他のパラメータを調整するのでもよい。このように、視覚制御部109(制御手段)は、把持対象物情報取得部110(第1の取得手段)及び位置・姿勢算出部111(算出手段)の少なくとも1つが実行する画像処理の画像サイズ及び画像解像度のうち少なくとも1つを決定する。また、画像サイズや画像解像度以外の、画像処理のフレームレート等を決定してもよい。
本実施形態の図9(a)に示す動作が、実施形態1の図7(b)との動作と異なる点は、把持ずれ現象が進行している過程において、画像サイズが小さいが高フレームレートに画像処理を実行し、把持対象物14の位置および姿勢を算出している点である。このように構成することで、本実施形態においては、把持ずれ現象の進行状態を低精度ではあるがより迅速に把握することができる。
次に、図9(b)は、把持対象物14に対する把持状態が不安定な状態から安定な状態へ遷移している状態を示す。
図8(a)に示す把持対象物14が把持ずれ現象を起こしている不安定な状態から、把持対象物14dの位置へ移動し、把持が安定して把持ずれが終了した状態において、力覚情報取得部107が取得する力覚情報が図9(b)の力覚情報に示されている。グラフ81bに示すように、把持変動性判定タイミング位置83の経過前、力覚情報値は、高周波成分を含むもしくは高振幅な変動を伴う値である。一方、把持変動性判定タイミング位置83の経過後、力覚情報値は、低周波成分を主として含む状態に変位する、もしくは低振幅な状態に変位する。
この場合の画像処理等は、把持変動性判定タイミング83を境にして次のように変化する。すなわち、把持変動性判定タイミング83の経過前は、画像サイズが小さく高フレームレートで画像処理等が実行される(図9(b)の画像処理単位84)。一方、把持変動性判定タイミング83の経過後は、画像サイズが大きく、低フレームレートで画像処理等が実行される(図9(b)の画像処理単位85)。図9(b)において、画像処理単位82、84と比べて画像処理単位85は、より大きいサイズもしくは解像度によって画像処理が行われる。このため、把持状態が安定した後には、低フレームレートではあるが、精度が高い位置および姿勢の計測値の算出が実行される。
上記のように構成することで、本実施形態では、視覚制御部109は、把持ずれ中の把持対象物14の位置および姿勢を位置・姿勢算出部111に算出させることができる。この際、上述した視覚制御部109の制御により、位置・姿勢算出部111は、把持ずれ進行中においても、把持対象物14の位置および姿勢算出処理の精度を下げる替わりにより高速に位置および姿勢を算出することができる。また、把持対象物14に対する把持ずれがなくなり、安定した把持状態になると、視覚制御部109は、画像処理単位を大きくし、フレームレートを下げて行わせるように画像処理実行を制御する。その結果、より高精度な把持対象物14の位置および姿勢を算出することが可能になる。
(実施形態2の処理フローチャート)
次に、本実施形態におけるロボット制御装置10の動作を、図10、図11のフローチャートに基づき説明する。図10、図11で示される処理動作は、ロボット制御装置10の備えるCPUがプログラムを実行することによって達成される。ここでは、実施形態1の図3および図4のフローチャートと異なる点につき説明する。
実施形態1において把持ずれ現象が進行中のとき、視覚制御部109は把持対象物情報取得部110と、位置・姿勢算出部111の処理を停止(抑制)していた。これに対して、本実施形態においては、把持変動性に応じて画像処理の処理量を変化させ、把持ずれ現象が進行している途中でも、把持対象物14の位置および姿勢を算出する。
本実施形態の基本的な処理の流れ(図10のS1から図11のS20まで)は、実施形態1の図3、図4と同じであるため全体の処理の説明は割愛する。
本実施形態が、実施形態1から変更されている点は、視覚制御部109の制御に関わる処理である図10のS3b、図11のS13b、S14b、S15bである。また、この視覚制御部109の制御の変更に伴って、視覚制御部109の影響を受ける把持対象物情報取得部110と、位置・姿勢算出部111とに関わる処理である、図10のS4b、S5b、図11のS16b、S17bも変更されている。
まず、S3bにおいて、視覚制御部109は、把持対象物情報取得部110と、位置・姿勢算出部111とに対する実行制御量を少なくする。実行制御量が少なく設定されたことにより、把持ずれ算出部9は、より高精度な画像処理(把持対象物14の位置および姿勢の算出)を実行する。
本実施形態において、実行制御量は、視覚制御部109が把持対象物情報取得部110と、位置・姿勢算出部111とに対して出力する。この実行制御量とは、把持対象物情報取得部110と、位置・姿勢算出部111の処理方法と量を決定する値であり、実行制御量を少なくすると、処理対象画像は高解像度(画像サイズ大)で処理される。従って、画像処理のフレームレートは低下する。逆に実行制御量を多くすると、処理対象画像は低解像度(画像サイズ小)で処理されるため、画像処理のフレームレートは向上する。また、低解像度で処理する代わりに、解像度は変えずに画像をトリミングしてサイズを小さくした画像を使っても、画像処理のフレームレートは向上する。
したがって、S3bにおいて、視覚制御部109が実行制御量を少なく設定したことは、把持対象物情報取得部110と、位置・姿勢算出部111において、低フレームレートであるが、高解像度で処理が行われる。
次に、本実施形態は、S10およびS12を経て得られる把持ずれ現象の3状態に対する処理の内容が実施形態1と異なる。
第1の状態は、図11のS10(Yes)から分岐しS11からS14bに至る処理の状態である。この場合は、把持対象物14に対する把持状態が安定せず、把持ずれ現象が進行している過程であると判断する。図11のS11において、把持変動性値評価部108は、前述の把持ずれフラグをONにし、S14bに進む。
S14bにおいて、視覚制御部109は、把持対象物情報取得部110と、位置・姿勢算出部111とに対する上述した実行制御量を多くした設定を把持ずれ算出部9bへ行う。
第2の状態は、S12(Yes)から分岐しS13bに至る処理の状態である。この場合は、把持状態が一度不安定になり把持ずれ現象が発生した後に、把持が安定した状態に移行したと判断する。S13bにおいて、視覚制御部109は、把持対象物情報取得部110と位置・姿勢算出部111との実行制御量を少なくした設定を把持ずれ算出部9へ行う。
第3の状態は、S12(No)から分岐しS15bに至る処理の状態である。この場合は、過去に把持ずれ現象が発生したことがない状態、つまり、把持対象物14に対する把持ロボット行動計画や、運搬ロボット行動計画等がこれまで正常に実行できていると判断する。この状態では、特に問題は生じないので、S15bにおいて、視覚制御部109は、把持対象物情報取得部110と、位置・姿勢算出部111との実行制御量を少なくした設定を把持ずれ算出部9へ行う。
S13b、S15bもしくはS14bを実行した後、S16bにおいて、把持対象物情報取得部110は、把持ずれ後の把持対象物14の位置の確認のために、再度、把持対象物14の3次元情報や2次元情報の取得を行う。
次に、S17bにおいて、位置・姿勢算出部111は、S16bで取得された把持対象物14の3次元情報や2次元情報から、把持ずれ後の把持対象物14の位置および姿勢の算出を行う。
次に、S18において、S17bで取得された把持対象物14の位置および姿勢と、図10のS5bでロボット行動計画情報算出の際に算出された把持対象物14の位置および姿勢とを比較し、把持ずれが発生したか否かを判定する。両者の差が所定の閾値より大きい場合は、把持ずれ現象による把持対象物14の把持ずれ量が、ロボット行動計画情報の実行に影響があると判断をして、図10のS2に戻る。図10のS2において、行動計画部112は、把持ずれ後の把持対象物14の位置および姿勢に基づいて、ロボット装置11の復帰動作のプランニングを実行する。
なお、S15bを経て、S18bが実行される場合、すなわち把持ずれが生じていないと判断される場合でも、実施形態1と異なり、S16bおよびS17bの実行は抑制されずに実行されるため、把持ずれ発生有無がS18で判断される。
本実施形態においては、把持変動性がない場合(S10No)、S16bにおいて、視覚制御手段109は、把持対象物情報取得部110から得られる把持対象物取得情報の画像サイズを大きくすることにより、画像サイズとフレームレートの制御を行える。同様に、把持変動性がない場合、S17bにおいて、視覚制御手段109は、位置・姿勢算出部111で処理される画像サイズを大きくすることにより、画像サイズとフレームレートの制御を行える。これにより、視覚制御手段109は、図9において説明した制御を実現することができる。例えば、画像サイズを大きくし、フレームレートを下げる制御を行うことができる。
把持ずれ現象が生じている間でも、S17bにおいて、視覚制御手段109は、位置・姿勢算出部111の画像サイズやフレームレートを制御し、把持対象物14の位置および姿勢を、制御された画像サイズやフレームレートで出力させることができる。例えば、画像サイズを小さくし、フレームレートを上げる制御を行うことができる。
(変形例)
また、本実施形態の変形例として、把持対象物情報取得装置12の視覚センサは、把持変動性値に応じて、シャッター速度を変更してもよい。把持変動性値と、被写体(把持対象物14)の撮影ぶれには関係性があるため、把持変動性値に応じてシャッター速度を可変とすることで、被写体の撮影ぶれの少ないより正確な把持対象物情報を取得することができる。なお、撮影ぶれとは、例えば2次元情報(2次元画像)上で被写体の動きによって被写体の像が多重に露光される現象である。
更に、把持対象物情報取得装置12の視覚センサのシャッタータイミングを、図9(b)で示した把持変動性判定タイミング83に合わせてもよい。把持対象物情報取得装置12の視覚センサのシャッタータイミングを合わせることによって、被写体の撮影ぶれの少ないより正確な把持対象物情報を取得することができる。
このように、把持変動性値に基づいて、ロボット制御装置10の各部の処理内容を変更することによって、把持ずれ現象が発生している状況において、把持対象物14の位置および姿勢を取得することができる。したがって、本実施形態によれば、把持ずれ現象が発生している状況下でも、行動計画部112は、把持対象物14の位置および姿勢の状態を考慮しながら、ロボット行動計画情報を生成し実行することができる。その結果、行動計画部112は、例えば、ロボットハンド16の把持圧力を高めるなどのロボット行動計画情報を生成し実行することができる。これにより、把持ずれ現象が進行している状態においても、それに対応した行動をロボット装置11に行わせることができる。
(本実施形態の効果)
以上説明したように、本実施形態に係るロボット制御装置10によれば、把持対象物14の把持状態の変動性を効率よく取得して、把持ずれ後の安定した状態での把持対象物14の正確な位置および姿勢を得ることができる。さらに、把持ずれ現象が進行している過程での把持対象物14の位置および姿勢も得ることができる。したがって、本実施形態に係るロボット制御装置10は、把持ずれが発生しても、ロボット装置11に正確に把持対象物14を運搬し、組み付け等のタスクを実行させることができる。
また、本実施形態に係るロボット制御装置10は、把持ずれ現象が進行中の間も視覚センサの撮影パラメータを連動させて撮像を行わせることができるので、把持対象物14の位置および姿勢をより正確に得ることができる。把持ずれ現象が進行中の間に、画像処理を行う際の画像サイズやフレームレート、画像の解像度を可変に制御することで、処理負荷を低減することができる。
実施形態3
(概要)
本実施形態は、実施形態1で説明した構成に加え、力覚センサと視覚センサ(固定カラ等)を用いて把持ずれ現象の状態を判断し、視覚制御を行う。このような構成によって、本実施形態のロボット制御装置10bは、把持ずれ現象が発生しても正確に組み付けタスクをロボット装置11に実行させることができる。
ここで、対象とするタスクとして部品(把持対象物14)を所定の位置(組み付け先部位17)に組み付けるジョブ(ロボットシステムによる把持対象物14への操作)は、実施形態1と同様であるとの前提で説明を行う。
(本実施形態の構成)
図12は、本実施形態に係るロボット制御システム8bの構成を示す図である。
本実施形態において、把持対象物情報取得装置12bは、ロボット装置11以外の箇所に固定されている視覚センサである。図12に示された構成と、実施形態1の図1との相違点は、把持対象物情報取得装置12bと、位置・姿勢算出部111bとである。
本実施形態において、把持対象物情報取得装置12bは、ロボット装置12のロボットアーム15に装備されたロボットアームカメラではなく、ロボット装置11とは別個の所定の箇所に固定された視覚センサである。このように、把持対象物情報取得装置12bとして、所定の箇所に固定された視覚センサを用いることで、位置・姿勢算出部111bの処理が一部変更されている。
本実施形態にかかる位置・姿勢算出部111bの処理が、実施形態1の位置・姿勢算出部111の処理と異なる点は、把持対象物14の位置および姿勢に関しての算出式の変更である。すなわち、実施形態1で説明した式2が、以下の式6のように変更される。
Figure 0006700726
このように固定視覚センサによる把持対象物14の位置および姿勢の算出方法の詳細は、例えば、「井口征士、佐藤宏介、「3次元画像計測」、昭晃堂、1990年」に記載されている。
(本実施形態の効果)
以上述べたように、本実施形態によれば、固定の視覚センサを用いた装置構成であったとしても、把持ずれ後の安定した状態での把持対象物の正確な位置および姿勢を得ることができる。そして、把持ずれが発生しても正確に把持対象物を運搬し、組み付け等のタスクを実現することができる。
(他の構成例)
図13は、上記各実施形態の各部を構成することのできるコンピュータ210の構成の例を示す。例えば、図1に示すロボット制御装置10(10b)を、コンピュータ210で構成することができる。また、ロボット制御装置10(10b)に含まれる各部を、それぞれコンピュータ(例えばコンピュータ210)で構成することもできる。また、例えば、把持ずれ算出部9(9b)をコンピュータ210で構成してもよい。行動計画部112やロボット制御部113は、把持ずれ算出部9(9b)とは別のコンピュータ210で構成することもできる。
CPU211は、ROM212、RAM213、外部メモリ214等に格納されたプログラムを実行することによって、上記各実施形態の各部を実現する。ROM212は上記CPUが実行するプログラムや各種データを保持することができる。RAM213は、把持対象物情報取得装置12が撮像した画像情報や、力覚測定装置13が取得した力覚情報を保持することができる。
また、外部メモリ214は、ハードディスク、光学式ディスクや半導体記憶装置等で構成してよく、力覚情報(値)の時系列データを格納してもよい。また、撮像部215は、把持対象物情報取得装置12の視覚センサを構成してもよい。すなわち、ロボット制御装置10や把持ずれ算出部9をコンピュータ210で構成し、把持対象物情報取得装置12を、撮像部215で構成することができる。
入力部216は、ロボット制御装置10の操作者が操作をする操作部を構成することができる。キーボードやタッチパネルで構成することができるが、マウス等のポインティングデバイスや各種スイッチで構成してもよい。
表示部217は、各種ディスプレイで構成することができる。そして、操作者に対して、ロボット制御装置10のロボットの制御の様子や、把持ずれの状態等を表示させることもできる。通信I/F218は、外部と通信を行うインターフェースであり、インターネット等を通じてロボット制御部10を操作して、ロボット装置11を遠隔操作することができる。また、コンピュータ210の上記説明した各部はバス219によって相互に接続されている。
また、上記各実施形態は、以下の処理を実行することによっても実現される。即ち、上述した各実施形態の1以上の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給することによって実現してよい。その場合、当該システム或いは装置のコンピュータ(またはCPUやMPUまたは1つ以上のプロセッサ等)がプログラムを読み出して処理を実行する。また、そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供してもよい。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
8・・・ロボット制御システム、9・・・把持ずれ算出部、10・・・ロボット制御装置、11・・・ロボット装置、12・・・把持対象物情報取得装置、13・・・力覚測定装置、14・・・把持対象物、15・・・ロボットアーム、16・・・ロボットハンド、17・・・組み付け先部位、110・・・把持対象物情報取得部、111・・・位置・姿勢算出部、112・・・行動計画部、113・・・ロボット制御部、107・・・力覚情報取得部、108・・・把持変動性値評価部、109・・・視覚制御部

Claims (10)

  1. 把持対象物を把持するロボットハンドを備えるロボット装置を制御するロボット制御装置であって、
    前記把持対象物の視覚情報を取得する第1の取得手段と、
    前記ロボットハンドにより前記把持対象物に作用する力覚情報を取得する第2の取得手段と、
    前記第1の取得手段により取得された前記視覚情報から前記把持対象物の位置および姿勢を算出する算出手段と、
    前記第2の取得手段により取得された前記力覚情報に基づいて、前記把持対象物の把持状態変動性を導出する導出手段と、
    前記導出手段により導出された前記把持対象物の前記把持状態変動性に基づいて、前記第1の取得手段および前記算出手段の少なくとも1つの処理実行を制御する制御手段と、
    を具備し、
    前記制御手段は、前記導出手段により導出された前記把持状態変動性に基づいて、前記第1の取得手段および前記算出手段の少なくとも1つが実行する画像処理の画像サイズ、画像解像度、およびフレームレートの少なくとも1つを決定する
    ことを特徴とするロボット制御装置。
  2. 前記第2の取得手段は、前記把持対象物と前記ロボットハンドとの接触点または接触面における力またはトルクの少なくとも1つを、前記力覚情報として取得することを特徴とする請求項1に記載のロボット制御装置。
  3. 前記導出手段は、前記把持対象物の前記力覚情報の単位時間当たりの変化量に基づいて、前記把持対象物の前記把持状態変動性を導出することを特徴とする請求項1または2に記載のロボット制御装置。
  4. 前記制御手段は、前記導出手段により導出された前記把持状態変動性に基づいて、前記第1の取得手段および前記算出手段の処理実行を抑制することを特徴とする請求項1から3のいずれか1項に記載のロボット制御装置。
  5. 前記導出手段は、前記把持対象物を把持運搬する前記ロボットハンドの運動のモーメントと、前記把持対象物に作用する重力とに基づいて、前記第2の取得手段により取得された前記力覚情報を補正し、補正された力覚情報に基づいて、前記把持対象物の前記把持状態変動性を導出することを特徴とする請求項1からのいずれか1項に記載のロボット制御装置。
  6. 前記把持状態変動性は、前記把持対象物の前記力覚情報の単位時間当たりの変化量を示す指標であることを特徴とする請求項1からのいずれか1項に記載のロボット制御装置。
  7. 請求項1からのいずれか1項に記載のロボット制御装置と、
    前記ロボット装置のロボットアームおよび前記ロボットハンドの軌道情報、および前記ロボット装置の各関節の駆動情報を生成する計画手段と、
    前記ロボットアームおよび前記ロボットハンドの駆動装置を制御する第2の制御手段と、
    を具備することを特徴とするロボット駆動制御装置。
  8. 請求項記載のロボット駆動制御装置と、
    前記ロボット駆動制御装置により駆動制御される前記ロボット装置と、
    前記把持対象物を撮像して、前記第1の取得手段へ前記視覚情報を供給する視覚センサと、
    前記力覚情報を検知して、前記第2の取得手段へ前記力覚情報を供給する力覚センサと、
    を備えることを特徴とするロボットシステム。
  9. 把持対象物を把持するロボットハンドを備えるロボット装置を制御するロボット制御方法であって、
    前記把持対象物の視覚情報を取得するステップと、
    前記ロボットハンドにより前記把持対象物に作用する力覚情報を取得するステップと、
    前記取得された前記視覚情報から前記把持対象物の位置および姿勢を算出するステップと、
    前記取得された前記力覚情報に基づいて、前記把持対象物の把持状態変動性を導出するステップと、
    前記導出された前記把持対象物の前記把持状態変動性に基づいて、前記視覚情報を取得するステップおよび前記把持対象物の位置および姿勢を算出するステップの少なくとも1つのステップの処理実行を制御するステップと、
    を含み、
    前記制御するステップにおいて、導出された前記把持状態変動性に基づいて、前記視覚情報を取得するステップおよび前記算出するステップの少なくとも1つにおいて実行される画像処理の画像サイズ、画像解像度、およびフレームレートの少なくとも1つを決定する
    ことを特徴とするロボット制御方法。
  10. コンピュータを、請求項1からのいずれか1項に記載のロボット制御装置の各手段として機能させるためのコンピュータプログラム。
JP2015218214A 2015-11-06 2015-11-06 ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム Active JP6700726B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015218214A JP6700726B2 (ja) 2015-11-06 2015-11-06 ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015218214A JP6700726B2 (ja) 2015-11-06 2015-11-06 ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2017087325A JP2017087325A (ja) 2017-05-25
JP6700726B2 true JP6700726B2 (ja) 2020-05-27

Family

ID=58769930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015218214A Active JP6700726B2 (ja) 2015-11-06 2015-11-06 ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6700726B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6988757B2 (ja) 2018-09-26 2022-01-05 オムロン株式会社 エンドエフェクタおよびエンドエフェクタ装置
JP6904327B2 (ja) * 2018-11-30 2021-07-14 オムロン株式会社 制御装置、制御方法、及び制御プログラム
CN113439013A (zh) * 2019-02-25 2021-09-24 国立大学法人东京大学 机器人系统,机器人的控制装置,以及机器人的控制程序
JP7369995B2 (ja) 2019-07-08 2023-10-27 パナソニックIpマネジメント株式会社 制御システム、保持機構、及び制御方法
JP2021062464A (ja) * 2019-10-17 2021-04-22 株式会社マイクロ・テクニカ ピッキング装置
JP6758540B1 (ja) * 2019-12-17 2020-09-23 三菱電機株式会社 情報処理装置、ワーク認識装置およびワーク取り出し装置
JP7358994B2 (ja) * 2020-01-08 2023-10-11 オムロン株式会社 ロボット制御装置、ロボット制御システム、ロボット制御方法及びロボット制御プログラム
JPWO2022039058A1 (ja) * 2020-08-20 2022-02-24
JP6913833B1 (ja) * 2021-01-19 2021-08-04 Dmg森精機株式会社 ワーク装着システム
CN113989472A (zh) * 2021-09-30 2022-01-28 深圳先进技术研究院 一种精准抓取目标物的方法、系统和设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4228871B2 (ja) * 2002-10-29 2009-02-25 パナソニック株式会社 ロボット把持制御装置及びロボット把持制御方法
JP2010125582A (ja) * 2008-12-01 2010-06-10 Seiko Epson Corp ロボットアーム装置、ロボットアーム装置の制御方法および制御プログラム
US8352076B2 (en) * 2009-06-03 2013-01-08 Canon Kabushiki Kaisha Robot with camera
JP5528095B2 (ja) * 2009-12-22 2014-06-25 キヤノン株式会社 ロボットシステム、その制御装置及び方法
JP5849477B2 (ja) * 2011-07-11 2016-01-27 セイコーエプソン株式会社 ロボット、ロボット制御装置、ロボット制御方法、およびプログラム
JP2013052451A (ja) * 2011-09-01 2013-03-21 Seiko Epson Corp ロボット制御システム、ロボットシステム及びプログラム
JP2013078825A (ja) * 2011-10-04 2013-05-02 Yaskawa Electric Corp ロボット装置、ロボットシステムおよび被加工物の製造方法
JP6425385B2 (ja) * 2014-01-24 2018-11-21 キヤノン株式会社 ロボット制御方法、ロボット制御装置、プログラム、記録媒体、及び部品の製造方法

Also Published As

Publication number Publication date
JP2017087325A (ja) 2017-05-25

Similar Documents

Publication Publication Date Title
JP6700726B2 (ja) ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム
US20150105907A1 (en) Robot controller, robot system, robot, robot control method, and program
JP6180087B2 (ja) 情報処理装置及び情報処理方法
JP6180086B2 (ja) 情報処理装置及び情報処理方法
CN109227532B (zh) 机器人的控制装置及其系统、机器人及摄像机的校正方法
US20190015988A1 (en) Robot control device, robot, robot system, and calibration method of camera for robot
US9089971B2 (en) Information processing apparatus, control method thereof and storage medium
CN110076772B (zh) 一种机械臂的抓取方法及装置
JP5505138B2 (ja) ロボット装置およびロボット装置による把持方法
CN106945007B (zh) 机器人系统、机器人、以及机器人控制装置
US9519736B2 (en) Data generation device for vision sensor and detection simulation system
JP4961860B2 (ja) ロボット装置及びロボット装置の制御方法
JP6484265B2 (ja) 学習制御機能を備えたロボットシステム及び学習制御方法
JP6007636B2 (ja) ロボット制御システム及びロボット制御装置
US11230004B2 (en) Robot system and robot control method
JP2018161692A (ja) 情報処理装置、情報処理方法およびプログラム
Cherubini et al. Multimodal control for human-robot cooperation
JP7377627B2 (ja) 物体検出装置、物体把持システム、物体検出方法及び物体検出プログラム
JP2016196077A (ja) 情報処理装置、情報処理方法、およびプログラム
Li et al. Integrating vision, haptics and proprioception into a feedback controller for in-hand manipulation of unknown objects
JP6777670B2 (ja) 画像処理を利用してロボットの教示を補正するロボットシステム
JP7323993B2 (ja) 制御装置、ロボットシステム、制御装置の動作方法及びプログラム
JP2014014902A (ja) 制御システム、プログラム及び機械装置の制御方法
WO2021117479A1 (ja) 情報処理装置、方法およびプログラム
Guanglong et al. Human–manipulator interface using hybrid sensors with Kalman filters and adaptive multi-space transformation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200317

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200501

R151 Written notification of patent or utility model registration

Ref document number: 6700726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151