JP3823799B2 - Position and orientation control method by visual servo - Google Patents
Position and orientation control method by visual servo Download PDFInfo
- Publication number
- JP3823799B2 JP3823799B2 JP2001306476A JP2001306476A JP3823799B2 JP 3823799 B2 JP3823799 B2 JP 3823799B2 JP 2001306476 A JP2001306476 A JP 2001306476A JP 2001306476 A JP2001306476 A JP 2001306476A JP 3823799 B2 JP3823799 B2 JP 3823799B2
- Authority
- JP
- Japan
- Prior art keywords
- orientation
- visual servo
- data
- control method
- orientation control
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Analysis (AREA)
- Manipulator (AREA)
- Image Processing (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、カメラにより撮影した画像データに基づいて位置姿勢の制御を行なうようにしたビジュアルサーボによる位置姿勢制御方法に関する。
【0002】
【発明が解決しようとする課題】
ロボットなどによりワークを把持させる場合などで、ハンドに取り付けたカメラによりワークを撮影してハンドの位置姿勢を制御するようにしたビジュアルサーボの技術がある。これは、あらかじめ参照画像を登録してその参照画像と同じようにワークが見える位置姿勢となるように制御することで、迅速且つ正確にハンドの位置姿勢制御を行なうようにした方法である。この場合、参照画像は、ロボットのハンドを位置姿勢制御したい場所に配置してワークを把持するときの状態にし、ハンドに取り付けたカメラで撮影したものを用いる。
【0003】
このようなビジュアルサーボの技術を採用することで、ロボットのハンドをカメラが捕らえる画像の分解能の範囲で正確に位置姿勢制御を行なうことができるが、研究レベルにおいては技術的な問題は生じていないように見えていたが、実用上においては次のような点で不具合が生じることが発明者の研究により明らかになりつつある。
【0004】
例えば、ロボットのハンドにより対象物を把持したり部品を取り付けたりするなどの作業において、位置決め精度が要求される場合に生ずるもので、CCDカメラなどでワークを撮影する画像の性質上、画素数と分解能の関係で精度の向上に限界が生ずるものである。すなわち、カメラの光軸方向をz軸とし、撮影した画面をxy平面とすると、ビジュアルサーボでは、カメラで撮影した二次元画像データから得られるxy平面内の位置(x,y)およびz軸回りの回転(Rz)に対しては高精度の制御を行なうことができるが、x軸あるいはy軸回りの回転(Rx,Ry)や奥行き方向(z)の補正に対しては精度に限界がある。
【0005】
例えば、図14(a),(b)に示すように、カメラ1により対象物P1およびP2を撮影する場合において、x軸回りRxの回転角度である縦揺れ角の微小な変化に対して、カメラ1a(Rx方向に微小角度だけ傾いた位置)の撮影画像におけるCCDの画素数の変化は図15(a)の位置から(b)あるいは(c)に変化した状態では、量子化誤差があるため画像上の変化として捕らえることができる範囲には限界がある。この場合、現状では例えば±2°程度の分解能である。
【0006】
対象物P1とP2とでは、それぞれの高さ寸法h1,h2がh1>h2となっており、奥行き方向の寸法(z軸方向の寸法)が対象物P1の方が大きいので、Rxの変化に対して変化量Error1の方がError2よりも大きくなり、その変化角度を捉ええやすいが、奥行き方向の寸法が小さい対象物P2の場合には縦揺れ角の変化角度の補正精度が低くなる(図15(d)参照)。
【0007】
これは、図16(a)に示すような対象物P1において、幅寸法がDの場合に、Rxの変化に対する撮影画像上での幅寸法dは、同図(b)に示すような関係として表される。すなわち、この関係は、
d/D= cos(Rx)
と表されるから、Rxが小さい領域では、角度に対する変化量が小さくなり、図17に示すように、画素pixの数の違いとしてカウントできる範囲が広くなり、その分だけ分解能が低下するのである。つまり、ビジュアルサーボでは、姿勢角の要素である縦揺れ角(pitch )および偏揺れ角(yaw )の精度について、カメラ1の量子化精度に大きく依存することになるのである。
【0008】
上述の不具合を回避して分解能を高めるためには、例えば、カメラ1以外に別途にセンサを設けて、ビジュアルサーボによる位置姿勢の制御が収束した状態では、センサの検出信号に基づいて位置姿勢の補正をすることで制御精度の向上を図ることが必要となる。
【0009】
本発明は、上記事情に鑑みてなされたもので、その目的は、ビジュアルサーボによる位置姿勢制御のみを用いる場合においても、位置姿勢制御が収束した状態でさらに参照画像の基準位置に近い位置姿勢となるように高い精度で制御することができるようにしたビジュアルサーボによる位置姿勢制御方法を提供することにある。
【0010】
【課題を解決するための手段】
請求項1の発明によれば、第1の過程で、異なる姿勢でカメラにより対象物を撮影した画像を記憶し、第2の過程で、記憶した複数の画像のデータから推定される少なくとも縦揺れ角および偏揺れ角を示す姿勢データと、画像のデータおよび参照画像のデータの間の誤差を示す誤差データとの相関から、誤差データが許容誤差量以下となる基準位置に相当する位置姿勢を推定し、第3の過程で、推定した基準位置に相当する位置姿勢への補正量を演算し、第4の過程で、ビジュアルサーボによる位置姿勢制御が収束した状態での位置姿勢に対して第3の過程で演算した補正量に基づいて制御体操装置の位置姿勢の補正を行なうようにしたので、カメラで撮影した画像からは位置姿勢を示す縦揺れ角および偏揺れ角の不感帯となる領域、つまりビジュアルサーボの位置姿勢制御では収束状態となって量子化誤差に含まれて画像データとして差異が現れない領域にある場合でも、さらに位置姿勢の補正を行なってより正確な位置姿勢に制御することができるようになる。これにより、別途にセンサなどを設ける構成としなくとも、位置姿勢の制御精度を高めることができるようになる。
【0011】
そして、第1の過程を、ビジュアルサーボによる位置姿勢制御が収束した状態で、前記カメラの位置姿勢を画素数の変化として現れる程度に所定以上変化するように移動させて前記姿勢データが変化するようにしたときの画像を記憶することにより実行するようにしたので、ビジュアルサーボによる位置姿勢制御が収束している状態すなわち、最も対象物に近接して基準位置に近い位置を起点としてここから第1の過程以降の処理を実施することで、位置姿勢の補正量を正確且つ迅速に検出して位置姿勢を補正することができるようになる。
【0012】
請求項2の発明によれば、第1の過程を、ビジュアルサーボによる位置姿勢制御が収束する状態となるまでの期間中におけるカメラの画像を記憶することにより実行するようにしたので、ビジュアルサーボによる位置姿勢制御を実行しながら対象物に近接する過程でカメラが撮影した画像を第1の過程として取り込んでいくことができ、ビジュアルサーボの制御と処理を並行して補正量の算出を行なうことができ、迅速に位置姿勢の制御を行なうことができるようになる。
【0013】
そして、第1の過程を実施するに際して、ビジュアルサーボによる位置姿勢制御が収束する状態となるまでの期間中のカメラの位置姿勢の制御を行なうときに画素数の変化として現れない場合には前記カメラの位置姿勢の変化が画素数の変化として現れる程度に所定以上変化するように移動させて前記姿勢データが変化するようにしたので、上述の場合において、対象物に近接するときに実際にカメラがあまり振れない場合つまり姿勢データの変化量が補正量を求めるための判定角度以上振れない場合には、位置姿勢の補正を正確に行なえるようにするために、画像取り込みのための姿勢をとるように制御するようにしたので、第1の過程を実行しながら近接する場合でも確実に補正量の値を算出することができるようになる。
【0014】
請求項3の発明によれば、上記各発明において、参照画像として記憶する対象物の画像データは、基準点に対して複数の特徴点を設定し、その基準点との間を結ぶ複数のベクトルを含んだものとして設定し、第2の過程を実施する際には、少なくともベクトルの長さもしくはベクトル間の長さの比に基づいて算出した誤差データにより位置姿勢の推定を行なうようにしたので、例えば、カメラにより撮影した画像と参照画像との間に、カメラの姿勢データの縦揺れ角や偏揺れ角のずれが生じている場合などで、対象物の基準点に対して一方側の特徴点とを結んでできるベクトルが長くなると共に、他方側の特徴点とをむすんでできるベクトルが短くなるような場合に、対象物の全長をもとに判断する場合と異なり、双方の差を検出することにより、姿勢データに対する検出能力を高めて、精度の高い補正量算出を行なうことができるようになる。
【0015】
請求項4の発明によれば、上記各発明において、参照画像として記憶する対象物の画像データは、基準点に対して複数の特徴点を設定し、それら特徴点間を結ぶ複数のベクトルを含んだものとして設定され、第2の過程を実施する際には、少なくともベクトルの長さもしくはベクトル間の長さの比に基づいて算出した誤差データにより位置姿勢の推定を行なうようにしたので、上述と同様にして姿勢データに対する検出能力を高めて、精度の高い補正量算出を行なうことができるようになる。
【0016】
請求項5の発明によれば、請求項3および4の発明において、参照画像として記憶する対象物の画像データは、設定された複数のベクトルについて、ベクトル間の角度に基づいて算出した誤差データにより位置姿勢の推定を行なうようにしたので、2つのベクトルのなす角度も補正量算出のデータとして捕らえて参照画像のデータに対する比較をより厳密に行なって精度の高い補正量算出処理を行なうことができるようになる。
【0017】
請求項6の発明によれば、請求項3ないし5の発明において、誤差データの算出を、ベクトルについての長さあるいは角度について撮影した画像と参照画像との間の差分の自乗和として求め、位置姿勢の推定を、上記方法により算出される誤差データの最小値を得るときの姿勢データとするようにしたので、変数としての姿勢データの値に対して参照画像との差分の絶対値の和に相当する値を関数値としてその最小値を求めることで、関数の最小値つまりもっとも参照画像に近接した位置姿勢の姿勢データを求めることができるようになる。この場合、上述した関数を変数に対応してプロットし、その最小値を求めるように演算を行なうようにしても良いし、簡易的に関数の値が許容誤差値以下となるような範囲の変数値の中間値を採用するということでも求めることができる。
【0018】
この場合、請求項7の発明のように、位置姿勢の推定を、誤差データの値と姿勢データの縦揺れ角および偏揺れ角の値とから、姿勢データを変数とした誤差データ関数を求め、その誤差データ関数の最小値を演算による求めることで行なうようにすると良い。
【0019】
請求項8の発明によれば、上記各発明において、ビジュアルサーボによる位置姿勢制御が収束した状態で、カメラの位置をその収束位置から近接した位置に移動させて第1ないし第4の過程を実施するので、収束位置では撮影された画像の範囲では精度が得られない場合でも、近接した位置で撮影することで拡大した状態の撮影画像を得ることができ、これによって姿勢データに関して精度を向上した画像データを得ることができるようになり、位置姿勢の補正をより高い精度で行なうことができるようになる。また、これによって、姿勢データのうちで対象物の形状に起因して精度を上げ難い姿勢データがある場合でも、位置姿勢の補正精度を高めることができるようになる。
【0020】
請求項9の発明によれば、上記した請求項8の発明において、ビジュアルサーボによる位置姿勢制御が収束した状態で、姿勢データのうちの検出精度の向上が必要とされる姿勢データについてその収束位置から近接した位置に移動させて実施するので、必要な姿勢データについてのみ、近接した位置まで移動した状態で位置姿勢の補正のための対象物の撮影画像を得ることで、拡大した画像に基づいた精度の良い補正を行なうことができる。
【0021】
請求項10の発明によれば、上記各発明において、対象物の形状がその参照画像のデータとして姿勢データのうちの検出精度の向上が望めない姿勢データについては位置姿勢の補正を行なう対象から除外する判定動作を実行し、ビジュアルサーボによる位置姿勢制御が収束した状態では、姿勢データのうちの除外されていないものについて位置姿勢の補正のための演算処理を実行するので、検出精度の向上が望めない姿勢データについて無駄な検出処理のための時間を費やすことなく迅速に位置姿勢の制御の処理を行なうことができるようになる。
【0022】
【発明の実施の形態】
(第1の実施形態)
以下、本発明を組立用の多関節ロボットに適用した場合の第1の実施形態について図1ないし図8を参照しながら説明する。図1は組立用ロボットのシステムを概略的に示している。このシステムは、制御対象装置としてのロボット本体11と、このロボット本体11を制御する制御装置12とを備えて構成され、制御装置12は、ロボットコントローラ13、視覚装置14およびCCDカメラ15とから構成されている。
【0023】
ロボット本体11は、組立用の6軸の小型垂直多関節型ロボットとして構成されている。このロボット本体11において、ベース部16上にショルダ部17が垂直軸を中心として回動(旋回)可能に設けられ、そのショルダ部16の左右両端部に上方に延出される一対の下アーム18が水平軸を中心に回動可能に連結されている。この下アーム部18の上端部に両側から挟まれるようにして、中間アーム部19の前端部が水平軸を中心に回動可能に連結されている。
【0024】
また、中間アーム部19の前端部には、前方に延びる上アーム部20の後端部が同軸回転可能に連結されており、その上アーム部20の前端側は、左右に二股をなすように延びており、そらの間に位置してリスト部21が水平軸を中心に回動可能に連結されている。さらに、リスト部10の前端部には、円形のフランジ部22が同軸回動可能に連結され、そのフランジ部22は、対象物としてワークWを把持するためのハンドが取り付け可能な状態に設けられている。なお、図示はしないが、このロボット本体11の内部には、各軸を駆動するためのサーボモータが組み込まれている。
【0025】
前述したCCDカメラ15は、ワークWを撮影するもので、上アーム部20に取り付けられている。CCDカメラ15の画像信号を伝達する信号線はロボット本体11を制御するためのケーブル23と一体にして配設されている。ロボットコントローラ13は、CPUを主体として制御用プログラムを記憶するROM、RAMを備えると共に、制御指令を駆動信号としてロボット本体11に出力するサーボ制御部などから構成されている。
【0026】
視覚装置14は、ビジュアルサーボを行なうためのCPUを主体として、位置姿勢制御用のプログラムを記憶したROM、RAMを備えると共に、CCDカメラ15からの画像信号を入力するインターフェース回路、画像処理部、画像メモリなどの各種回路を備えた構成である。
【0027】
そして、制御装置12は、後述するように、視覚装置14により、CCDカメラ15の画像信号を取り込み、あらかじめ登録されている参照画像と見え方が一致するような位置姿勢となる状態の制御信号をロボットコントローラ13に出力すると、ロボットコントローラ13は、これに基づいてロボット本体11の移動すべき位置姿勢に駆動制御する。
【0028】
図2は、対象物としてのワークWを基準位置からCCDカメラ15により撮影した参照画像として登録する場合の、登録データを示している。ここでは、ワークWの特徴を繰り入れた参照画像を設定する例として、図示のような部材を例にとって説明する。まず、このワークWについて、任意の基準点P0を例えば中心部の所定部位に定め、その周辺部の特徴的な点を特徴点P1〜P5として設定する。基準点P0と各特徴点P1〜P5のそれぞれを結んでできるベクトルV1〜V5のデータを設定する。また、各ベクトルV1〜V5の隣接する角度φ1〜φ5のデータを設定し、これを参照画像のデータとして登録する。
【0029】
次に本実施形態の作用について図3ないし図8も参照して説明する。制御装置12は、図3に示すフローチャートにしたがってロボット本体11の位置姿勢の制御を実施する。制御装置12は、制御動作を開始すると、初期設定などの種々の設定を経て後述するビジュアルサーボ制御に移行する(ステップS1)。そして、ビジュアルサーボ制御を進めて行くことで制御サイクルが収束すると、その誤差が許容値以下になり(ステップS2で「YES」と判断)、次のRx,Ryの検出処理に移行する(ステップS3)。
【0030】
ここでは、本発明でいうところの補正量の算出処理を行ない、その誤差値が許容値以下になると(ステップS4で「YES」と判断)、そのときに得られた補正値を記憶し、ロボット本体11の位置姿勢を目的位置すなわち補正値に従った状態となるように移動させるようになる(ステップS5)。この結果、従来のビジュアルサーボのみの位置姿勢制御では得られない正確な位置姿勢制御を行なうことができるようになる。
【0031】
次に、上述のステップS1で実行したビジュアルサーボの位置姿勢制御について簡単に説明する。図4(a)は、ワークWを基準位置においてCCDカメラ15により撮影したときの画像を参照画像として登録するための登録データを示すものである。ここでいう基準位置は、ロボット本体11の制御を行なうことにより最終的に得た位置姿勢の状態を示すものである。なお、このビジュアルサーボの位置姿勢制御の段階では、図2に示した画像データを用いた制御を行なわないので、ワークWの形状を直方体のものとして簡略的に示している。
【0032】
さて、ロボット本体11が任意の位置姿勢にあるときに、CCDカメラ15により撮影したワークWの画像W1,W2(図4(b),(c)参照)に基づいて、視覚装置14により、参照画像との比較を行なって制御すべき位置姿勢を示すデータをロボットコントローラ13に出力する。ロボットコントローラ13は、CCDカメラ15による撮影画像が参照画像と同じ見え方になるようにロボット本体11の位置姿勢の制御を行なう。
【0033】
このようにしてロボット本体11の位置姿勢の制御を進めていき、CCDカメラ15によるビジュアルサーボの位置姿勢制御が収束する状態すなわち、参照画像と同じ撮影画像が得られる状態になると、その位置姿勢が確定されるようになる。しかし、この状態では、前述のようにCCDカメラ15の縦揺れ角と偏揺れ角の精度が低いことから、これらの姿勢データには±2°程度の範囲を上限として検出不能な誤差が含まれている場合がある。
【0034】
次に、図3のフローチャートのステップS3において実施したRx,Ryの検出処理について説明する。この検出処理においては、まず、上述のようにビジュアルサーボによる位置姿勢制御が収束した状態で、図5に示すように、CCDカメラ15の姿勢を例えばx軸回りの回転角度Rxが所定以上変化するように移動させる(図中、収束した状態を15の位置として、15a,15bの位置)。この場合、Rxの変化量は、CCDカメラ15による撮影画像で見たときに、画素数の変化として現れる程度に大きく設定している。
【0035】
これにより、画素数の変化に基づいてx軸回りRxあるいはy軸回りRyの回転角すなわち姿勢データとしての縦揺れ角あるいは偏揺れ角の値が求められる。そして、このとき変化させたRx,Ryの値に対する誤差値の関数f(Rx,Ry)を次のように定義する。この場合の誤差値の関数f(Rx,Ry)は、図2で説明したベクトルV1〜V5及びφ1〜φ5の値を用いて参照画像のデータとの比較を行なうものである。
【0036】
【数1】
【0037】
いま、例えば、上述の図5に示したCCDカメラ15の移動を角度を変えて8回分の画像データを取り込んだ場合について考える。一方の姿勢角RxあるいはRyを固定して他方の姿勢角RyあるいはRxについて変化させたときに、ワークWのベクトルV1〜V5のそれぞれの比の値Lλ(λ=1〜5)と、角度φ1〜φ5の比の値θλ(λ=1〜5)との値を、式(1)に従って関数値f(Rx,Ry)として求める。8回分の画像データに対応して8個の関数値f1〜f8が得られる。
【0038】
ここで、得られた関数値f1〜f8をそれぞれ検出されている姿勢角RxあるいはRyに対してプロットすると、図6に示すように、誤差値を示す関数値f1〜f8を結んだ曲線として得られる。この関数曲線は、参照画像を撮影した位置つまり基準位置を通るときにゼロになる筈である。ただし、固定している姿勢角がずれている場合や、測定の誤差を考慮すると、図中破線で示すようにゼロを取らない場合があるので、判定基準は、誤差値の関数値をゼロで判断するのではなく、許容誤差値以下であることを条件とする。
【0039】
さて、ビジュアルサーボによる位置姿勢制御では、関数値f4〜f6に対応するデータはすべて収束した状態としてこれらの間の違いをCCDカメラ15の画像の違いとして認識することができないとすると、この範囲では姿勢角の検出精度が低いことになる。ここで、ビジュアルサーボによる位置姿勢制御で、例えば、f5に対応した姿勢角を検出位置Rdとして得られている場合を考えると、関数値fがゼロになる基準位置Roに対してΔRだけずれていることになる。そして、このずれた量ΔRを補正値として取り込んでメモリに記憶する。
【0040】
このような補正値を姿勢角Rx,Ryのそれぞれについて求めることで、得られた補正値の分だけ位置姿勢を修正することで、ビジュアルサーボによる位置姿勢の制御では得られなかった精度で、基準位置に略一致する位置姿勢とすることができるようになる。
【0041】
図7及び図8は、ベクトルV1〜V5を定めて位置姿勢の検出を行なうことで、精度の向上を図ることができる根拠を示したものである。いま、CCDカメラ15の位置Pから、距離dだけ離れた位置にある長さ2Lの線分ABを撮影した場合について考える。CCDカメラ15の光軸zに対して線分ABが中点Mで直交する状態である場合には、CCDカメラ15のスクリーン(距離f)に右半分の長さAM及び左半分BMの長さは等しくIとして得ることができる(下記の式(2)参照)。この場合、中点Mは前述の基準点P0に相当し、両端部A,Bは特徴点に相当している。
【0042】
また、この線分ABが角度θだけ傾いた状態つまり相対的にCCDカメラ15の姿勢角がθだけ傾いた状態を想定すると、そのときCCDカメラ15で撮影した線分A′B′のスクリーン上での画素数I′(pix) 、I″(pix) は下記の式 (3)、(4)で示される。
【0043】
【数2】
【0044】
上式中、sの値はCCDカメラ15の画像面上での実寸を画素に換算する計数であり、例えば、図8の計算をするに際して用いた値では、CCDカメラ15の1画素サイズが0.0074mm(7.4μm)であるから、画像面上で0.074mmの長さがある場合には10画素分の長さとして観測される。したがって、I(pix) をmmから画素に換算する計数sの値は135(1/0.0074の近似値)となる。
【0045】
上述の場合、線分A′B′が遠ざかった右半分A′Mの画素数I′(pix) は、少なく見えるようになり、近付いた左半分B′Mの画素数I″(pix) は一旦増加して見えるようになり角度θが大きくなるに従って減少するように変化していく。これらI′(pix) およびI″(pix) の値について、それぞれI(pix) の値との差を演算した結果ΔI′、ΔI″を、姿勢角θを横軸にとってプロットすると、図8に示すような曲線として得られる。また、図8には、線分の全体の画素数I′(pix) +I″(pix) について2I(pix) との差を演算した結果を、同様にしてプロットした結果も示している。
【0046】
この図8のプロットから、線分を中点Mで分割したそれぞれについて画素数を比較すると、姿勢角θに対する変化量が全体の画素数について比較した値よりも大きい変化を示していることがわかる。つまり、図2に示したように、基準点を中心として特徴点との間を結んでできるベクトルV1〜V5のそれぞれについて比較をすることで検出能力を高めることができるのである。このことは、特徴点間を結んで得られるベクトルを定義して、これらについて同様の演算を行なうことでも同じ効果を得ることができる。
【0047】
このような本実施形態によれば、CCDカメラ15の位置姿勢を示す縦揺れ角および偏揺れ角に対応した姿勢データを、ビジュアルサーボによる位置姿勢制御が収束した状態で、CCDカメラ15を所定角度以上傾けて得られる画像データから補正量を推定するようにしたので、センサなどを別途に設けることなくビジュアルサーボによる位置姿勢制御で精度を上げることが難しい姿勢角についての制御を精度良く行なうことができるようになる。
【0048】
また、本実施形態によれば、ワークWの参照画像として、基準点と複数の特徴点との間を結んで得られるベクトルV1〜V5およびそれらの間の角度φ1〜φ5を定義して、これらを補正量の算出に際して誤差値の関数として設定するようにしたので、分解能を高めて精度の良い補正量算出を行なうことができるようになる。
【0049】
(第2の実施形態)
図9および図10は、本発明の第2の実施形態を示すもので、以下、第1の実施形態と異なる部分について説明する。
この実施形態においては、CCDカメラ15による図3のステップS3で行なわれると同様のRx,Ry検出処理のための画像データの取り込みを、ビジュアルサーボによる位置姿勢制御が収束した後に行なうのではなく、図10に示すように、ビジュアルサーボによる位置姿勢制御が収束するまでの間、つまりワークWへのアプローチを行なっている期間中(ステップP1)に行なうようにしたところである。
【0050】
図示のように、ビジュアルサーボによる位置姿勢制御を行なっている期間中(ステップP1)では、CCDカメラ15をビジュアルサーボによる位置姿勢制御のために、角度αだけ大きく変化させながらアプローチさせる(ステップP2)。このようにしてアプローチしながらそのときCCDカメラ15により撮影した画像データを取り込んで記憶させ(ステップP3)、誤差が許容値以下になったら(ステップP4で「YES」と判断)、ビジュアルサーボを終了する。ここで角度αは、Rx,Ryの検出処理に必要となる程度の縦揺れ角および偏揺れ角に相当する角度を示している。
【0051】
次に、それまでに得られた画像データを元にして、Rx,Ryの検出処理を実施する(ステップP5)。この検出処理の内容は、第1の実施形態で述べたと同様である。これによって補正量が算出されると、補正量による位置姿勢の制御を行なって目的位置に移動させる(ステップP6)。
【0052】
このような第2の実施形態によっても、第1の実施形態と同様の効果を得ることができると共に、ビジュアルサーボによる位置姿勢制御のアプローチの間にRx,Ry検出処理のための画像データを取得するので、アプローチ期間中の動作が若干遅くなるものの、収束位置に達した状態では、計算を行なうのみで迅速に位置姿勢の補正を行なうことができるようになる。
【0053】
(第3の実施形態)
図11は、本発明の第3の実施形態を示すもので、第2の実施形態と異なるところは、CCDカメラ15の傾き角度をチェックして本来のビジュアルサーボによるアプローチで傾き角度がαよりも大きい場合には(ステップP7で「YES」と判断)、上述したステップP2をジャンプするようにしたところである。
【0054】
これにより、必要以上にCCDカメラ15を傾けたりすることなく、迅速且つ正確に補正量の演算を行なうことができ、このような第3の実施形態によっても同様の作用効果を得ることができるようになる。
【0055】
(第4の実施形態)
図12および図13は本発明の第4の実施形態を示すもので、上記各実施形態と異なるところは、図2に示したワークWに対してこれとは形状の異なるワークWaを対象とする場合の位置姿勢の補正を行なう場合を取り扱うようにしたところである。ここで、ワークWaは、図12に示すように、前述したワークWよりもX軸方向とY軸方向との長さの比が大きく、上述した方法でRx,Ryを検出しようとすると、短い側の検出精度を上げることが難しくなるような条件のものである。
【0056】
すなわち、図12に示すワークWaは上述した条件を示す模式的な形状を示しており、4個の特徴点p1〜p4が菱形の頂点に対応した位置にある。この場合、Y軸方向の長さを示す特徴点p1とp3との間の距離L1とX軸方向の長さを示す特徴点p2とp4との間の距離L2との関係は、L1がL2よりも大きく、その比が所定以上となる形状である。
【0057】
前述のように、距離L1はX軸回りの回転角Rxの検出精度に関係し、距離L2はY軸回りの回転角Ryの検出精度に関係するので、上記したようにL1,L2の長さの関係からすると、式(2)で示した関係を考慮すると距離L2の回転角Ryの変位に対する変化量は小さく、距離L1の場合に比べて検出精度が低いことがわかる。極端な場合、距離L2がゼロに近いワークの場合には、実効的にはY軸回りの回転角Ryの検出は不可能となる。
【0058】
そこで、このような場合に対処するために、第1に、検出精度を向上させるための方法を提案すると共に、第2に、検出精度に限界があるような条件を認識するように設定して検出精度を高めることができない場合に処理時間を短縮することで、実用上の効果を得るようにした。
【0059】
まず、上記した第1の方法について説明する。この場合には、図12に示しているように、特徴点p2とp4とを結ぶ線分の長さが短いので、そのままでは精度を上げることができない。そこで、このような場合には、あらかじめ設定した条件により、対象となるワークWaの特徴点間を結ぶ線分から得られるベクトルが所定寸法以下(カメラ15の撮像画像の範囲内における寸法で決める)のときに、検出精度の向上を図るために、カメラ15の位置をビジュアルサーボで得られる基準位置よりもワークWaに近付けて検出処理を行なう。
【0060】
これにより、図13に示すように、短い方の線分L2がカメラ15の撮影画面内で長くとることができるようになり、検出精度の向上を図ることができるようになる。なお、この場合に、カメラ15をワークWaに近付けると、長い方の線分L1は撮影画面からはみ出してしまうので、先に前述同様の方法でX軸回りの回転角Rxについて検出処理を行ない、この後、カメラ15を近接させて図13に示すような撮影画像を得て、Y軸回りの回転角Ryの検出処理を行なうことでRx,Ryの両者について検出を行なう。
【0061】
この結果、Rx,Ryの双方の値について検出精度を確保しつつ、適切な検出処理時間で行なうことができ、得られた結果に基づいて精度良く補正量を演算して求めることができる。
【0062】
次に、第2の方法について説明する。これは、検出精度に限界がある場合に、第1の方法のようにして検出精度を上げることが難しい場合や、その回転角の姿勢データの精度が要求されないような場合に適用するものである。まず、このような条件が成立するか否かをあらかじめ設定した条件に基づいて判定し、検出精度を上げなくとも良いと判断された場合には、その回転軸に関する補正量の検出を行なわないようにする。
【0063】
このことは、検出精度の向上が望めない状況で検出精度の向上のための検出処理を継続することが、いたずらに時間を要する結果とならぬように、あらかじめ判定した結果に基づいて検出処理を停止することで、処理速度の向上を図るようにしたものである。これにより、必要とされる精度のみの向上を図ることで、短時間で効率の良い検出動作を行なうことができるようになり、実用上で大きなメリットを得ることができるようになる。
【0064】
(他の実施形態)
本発明は、上記実施形態にのみ限定されるものではなく、次のように変形また拡張できる。
第1の実施形態と第2の実施形態を複合的に行なうようにすることもできる。例えば、第2の実施形態のようにワークWにアプローチする過程で角度を振って画像データを記憶しながらビジュアルサーボを行ない、収束した時点で補正量を求める場合の精度を向上させるために、さらに第1の実施形態のように画像データを取り込むようにすることができる。これにより、両者の利点を柔軟に取り入れて、迅速且つ正確な位置姿勢制御を行なうことができるようになる。
【0065】
対象物の参照画像の登録において、ベクトルを設定する方法は、必要に応じて選択的に実施することができる。ベクトルを設定しない方法を採用しても、従来技術のビジュアルサーボによる位置姿勢の制御に比べて、位置姿勢の精度を向上させることは可能である。
【0066】
上記各実施形態においては、Rx,Ryの検出を行なうための誤差値を求める関係式として式(1)を用いているが、これに限らず、基準位置における位置姿勢との誤差をRx,Ryの関係において評価することができて、その誤差値を元にしてRx,Ryの検出を行なうことができる関係式であれば他の式を用いることもできる。
【0067】
上記各実施形態において説明したロボット本体11は、対象物であるワークWとの相対的に移動していない場合を想定しているが、これに限らず、対象物が移動している場合や、ロボット本体が移動可能な場合あるいは、双方が移動している状態でも適用することができ、これらの場合のように相対的に移動する物体に対してその速度ベクトルを補間する処理を実施することで同様にして位置姿勢制御を精度良く行なうことができるものである。
【0068】
さらに、制御対象装置としては、ロボットのみならず、位置姿勢を制御すべき車両や、対象物の形状や動作などを正確に認識する認識装置などについても適用することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態を示す全体の概略構成図
【図2】ワークの基準点、特徴点の設定とベクトルの設定状態の説明図
【図3】ビジュアルサーボと補正量の算出の処理過程を示すフローチャート
【図4】ビジュアルサーボによる位置姿勢制御の概略説明図
【図5】CCDカメラのアプローチと角度を振る場合の作用説明図
【図6】カメラの姿勢角に対する誤差値の関数の値を示した図
【図7】基準点と特徴点との間のベクトルの傾きに対する変化を説明するための図
【図8】傾き角度と画素の関係を示す図
【図9】本発明の第2の実施形態を示す図5相当図
【図10】図3相当図
【図11】本発明の第3の実施形態を示す図3相当図
【図12】本発明の第4の実施形態を示す基準位置からワークWaを撮影している状態を示す作用説明図
【図13】基準位置よりも近接した位置における図12相当図
【図14】従来例を示す対象物の説明図
【図15】対象物の傾きと誤差値の説明図
【図16】傾き角度に対する線分幅の変化を説明する図
【図17】画素データの説明図
【符号の説明】
11はロボット本体(制御対象装置)、12は制御装置、13はロボットコントローラ、14は視覚装置、15はCCDカメラ(カメラ)、Wはワーク(対象物)である。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a position / orientation control method using visual servoing that controls position and orientation based on image data captured by a camera.
[0002]
[Problems to be solved by the invention]
There is a visual servo technique in which a workpiece is photographed by a camera attached to the hand and the position and orientation of the hand are controlled when the workpiece is gripped by a robot or the like. This is a method in which the position and orientation of the hand is controlled quickly and accurately by registering a reference image in advance and controlling the position and orientation so that the workpiece can be seen in the same manner as the reference image. In this case, the reference image is used when the robot hand is placed in a position where position / posture control is desired and the workpiece is gripped and taken with a camera attached to the hand.
[0003]
By adopting such visual servo technology, it is possible to accurately control the position and orientation within the range of resolution of the image that the robot's hand can be captured by the camera, but there is no technical problem at the research level. Although it seemed like this, inventors' research has revealed that the following problems occur in practical use.
[0004]
For example, this occurs when positioning accuracy is required in operations such as gripping an object with a robot hand or attaching parts. Due to the nature of the image taken by a CCD camera or the like, the number of pixels There is a limit to the improvement in accuracy due to the resolution. That is, assuming that the optical axis direction of the camera is the z-axis and the captured screen is the xy plane, in the visual servo, the position (x, y) in the xy plane obtained from the two-dimensional image data captured by the camera and around the z axis Although high-precision control can be performed with respect to the rotation (Rz), there is a limit to the accuracy with respect to rotation (Rx, Ry) around the x-axis or y-axis and correction in the depth direction (z). .
[0005]
For example, as shown in FIGS. 14 (a) and 14 (b), when photographing the objects P1 and P2 by the
[0006]
In the objects P1 and P2, the height dimensions h1 and h2 are h1> h2, and the dimension in the depth direction (dimension in the z-axis direction) is larger in the object P1. On the other hand, the change amount Error1 is larger than Error2, and the change angle can be easily grasped. However, in the case of the object P2 having a small dimension in the depth direction, the correction accuracy of the change angle of the pitch angle is low (see FIG. 15 (d)).
[0007]
In the object P1 as shown in FIG. 16A, when the width dimension is D, the width dimension d on the photographed image with respect to the change in Rx is as shown in FIG. 16B. expressed. That is, this relationship is
d / D = cos (Rx)
Therefore, in the region where Rx is small, the amount of change with respect to the angle is small, and as shown in FIG. 17, the range that can be counted as the difference in the number of pixels pix is widened, and the resolution is reduced accordingly. . That is, in the visual servo, the accuracy of the pitch angle (pitch) and the yaw angle (yaw), which are elements of the posture angle, greatly depends on the quantization accuracy of the
[0008]
In order to avoid the above-described problems and increase the resolution, for example, a sensor is provided separately from the
[0009]
The present invention has been made in view of the above circumstances, and its purpose is to provide a position and orientation closer to the reference position of the reference image with the position and orientation control converged even when only the position and orientation control by visual servo is used. An object of the present invention is to provide a position and orientation control method using visual servoing that can be controlled with high accuracy.
[0010]
[Means for Solving the Problems]
According to the first aspect of the present invention, at least the pitching estimated from the data of the plurality of images stored in the second process is stored in the first process. Estimate the position and orientation corresponding to the reference position where the error data is below the allowable error amount from the correlation between the orientation data indicating the angle and yaw angle and the error data indicating the error between the image data and the reference image data In the third process, the correction amount to the position and orientation corresponding to the estimated reference position is calculated, and in the fourth process, the third position is obtained with respect to the position and orientation in the state where the position and orientation control by the visual servo has converged. Since the position and orientation of the control gymnastic apparatus are corrected based on the correction amount calculated in the process of, from the image captured by the camera, a region that is a dead zone of the pitch angle and yaw angle indicating the position and orientation, that is, In the position and orientation control of dual servo, even if it is in a converged state and is included in the quantization error and in a region where no difference appears as image data, the position and orientation can be further corrected to control the position and orientation more accurately. become able to. Thereby, the control accuracy of the position and orientation can be improved without providing a separate sensor or the like.
[0011]
Then, in the first process, with the position and orientation control by visual servo converged, the position and orientation of the camera are The posture data is moved so as to change more than a predetermined amount so that it appears as a change in the number of pixels. Since it is executed by storing the image when changing, the position and orientation control by visual servo is converged, that is, the position closest to the reference position closest to the target object From the first step, the position and orientation can be corrected by detecting the correction amount of the position and orientation accurately and quickly.
[0012]
[0013]
And When performing the first process, when controlling the position and orientation of the camera during the period until the position and orientation control by the visual servo converges If the change does not appear as a change in the number of pixels, the posture data changes by moving the camera so that the change in the position and orientation of the camera changes by a predetermined amount or more so as to appear as a change in the number of pixels. As described above, in the above case, if the camera does not actually shake much when approaching the object, that is, if the change amount of the posture data does not shake more than the determination angle for obtaining the correction amount, In order to perform the correction accurately, the control is performed so that the posture for capturing the image is taken. Therefore, the correction amount value is surely calculated even when approaching while performing the first process. Will be able to.
[0014]
[0015]
Claim 4 According to the invention, in each of the above inventions, it is assumed that the image data of the object stored as the reference image includes a plurality of feature points with respect to the reference point and a plurality of vectors connecting the feature points. When the second process is set, the position / orientation is estimated based on error data calculated based on at least the length of vectors or the ratio of lengths between vectors. As a result, the detection capability for posture data can be improved and the correction amount can be calculated with high accuracy.
[0016]
[0017]
Claim 6 According to the invention of
[0018]
In this case, the claim 7 As described above, the position / orientation estimation is performed by obtaining an error data function using the attitude data as a variable from the error data value and the pitch angle and yaw angle value of the attitude data. It is better to do this by calculating the value.
[0019]
Claim 8 According to the invention, in each of the above inventions, the first to fourth processes are performed by moving the camera position from the convergence position to a position close to the convergence position in the state where the position and orientation control by the visual servo has converged. Even if accuracy is not obtained in the range of the captured image at the convergence position, it is possible to obtain an enlarged captured image by capturing at a close position, thereby obtaining image data with improved accuracy with respect to posture data. As a result, the position and orientation can be corrected with higher accuracy. Further, this makes it possible to improve the position / orientation correction accuracy even in the case where there is posture data whose accuracy is difficult to increase due to the shape of the object.
[0020]
Claim 9 According to the invention of claim 8 In the present invention, in the state where the position / orientation control by the visual servo has converged, the attitude data that needs to be improved in detection accuracy in the attitude data is moved from the convergence position to a position close to the position, so that it is necessary. Only with respect to the posture data, by obtaining a captured image of the object for correcting the position and orientation while moving to a close position, accurate correction based on the enlarged image can be performed.
[0021]
[0022]
DETAILED DESCRIPTION OF THE INVENTION
(First embodiment)
Hereinafter, a first embodiment in which the present invention is applied to an articulated robot for assembly will be described with reference to FIGS. FIG. 1 schematically shows an assembly robot system. This system includes a robot body 11 as a control target device and a
[0023]
The robot body 11 is configured as a 6-axis small vertical articulated robot for assembly. In the robot body 11, a
[0024]
Further, the rear end portion of the
[0025]
The
[0026]
The
[0027]
Then, as will be described later, the
[0028]
FIG. 2 shows registration data when a workpiece W as an object is registered as a reference image taken by the
[0029]
Next, the operation of the present embodiment will be described with reference to FIGS. The
[0030]
Here, the correction amount calculation processing referred to in the present invention is performed, and when the error value is equal to or less than the allowable value (determined as “YES” in step S4), the correction value obtained at that time is stored, and the robot The position and orientation of the main body 11 are moved so as to be in a state according to the target position, that is, the correction value (step S5). As a result, accurate position and orientation control that cannot be obtained by conventional position and orientation control using only visual servo can be performed.
[0031]
Next, the visual servo position and orientation control executed in step S1 will be briefly described. FIG. 4A shows registration data for registering an image when the workpiece W is photographed by the
[0032]
Now, when the robot body 11 is in an arbitrary position and orientation, the
[0033]
In this way, the control of the position and orientation of the robot main body 11 is advanced, and when the position and orientation control of the visual servo by the
[0034]
Next, the Rx and Ry detection processing performed in step S3 of the flowchart of FIG. 3 will be described. In this detection process, first, in the state where the position and orientation control by the visual servo has converged as described above, the orientation of the
[0035]
Thereby, based on the change in the number of pixels, the rotation angle around the x-axis Rx or the y-axis Ry, that is, the value of the pitch angle or yaw angle as posture data is obtained. Then, an error value function f (Rx, Ry) for the values of Rx, Ry changed at this time is defined as follows. In this case, the error value function f (Rx, Ry) is used to compare the reference image data with the vectors V1 to V5 and φ1 to φ5 described in FIG.
[0036]
[Expression 1]
[0037]
Now, for example, consider the case where the movement of the
[0038]
Here, when the obtained function values f1 to f8 are plotted with respect to the detected posture angles Rx or Ry, respectively, as shown in FIG. 6, a curve obtained by connecting the function values f1 to f8 indicating error values is obtained. It is done. This function curve should be zero when passing through the position where the reference image is taken, that is, the reference position. However, if the fixed posture angle is deviated or if measurement error is taken into consideration, there may be cases where zero is not taken as shown by the broken line in the figure. The condition is not to judge but to be equal to or smaller than an allowable error value.
[0039]
In the position / orientation control by visual servo, if all the data corresponding to the function values f4 to f6 are in a converged state and the difference between them cannot be recognized as the difference in the image of the
[0040]
By obtaining such correction values for each of the posture angles Rx and Ry, by correcting the position and posture by the amount of the obtained correction value, it is possible to obtain the reference with accuracy that cannot be obtained by the position and posture control by the visual servo. A position and orientation that substantially matches the position can be obtained.
[0041]
FIG. 7 and FIG. 8 show the grounds on which accuracy can be improved by detecting the position and orientation by determining the vectors V1 to V5. Consider a case where a line segment AB having a length of 2L at a position separated by a distance d from the position P of the
[0042]
Further, assuming that the line segment AB is inclined by an angle θ, that is, a state where the attitude angle of the
[0043]
[Expression 2]
[0044]
In the above equation, the value of s is a count for converting the actual size on the image plane of the
[0045]
In the above case, the pixel number I ′ (pix) of the right half A′M where the line segment A′B ′ has moved away appears to be small, and the pixel number I ″ (pix) of the approaching left half B′M is Once it appears to increase, it changes so as to decrease as the angle θ increases. For these values of I ′ (pix) and I ″ (pix), the difference from the value of I (pix), respectively. When the calculated results ΔI ′ and ΔI ″ are plotted with the posture angle θ as the horizontal axis, a curve as shown in FIG. 8 is obtained. In FIG. 8, the total number of pixels I ′ (pix) in the line segment is obtained. The result of calculating the difference between + I ″ (pix) and 2I (pix) is also plotted.
[0046]
From the plot of FIG. 8, when the number of pixels is compared for each of the line segments divided by the midpoint M, it can be seen that the amount of change with respect to the posture angle θ shows a larger change than the value compared for the total number of pixels. . That is, as shown in FIG. 2, the detection capability can be enhanced by comparing each of the vectors V1 to V5 formed by connecting the feature point with the reference point as the center. The same effect can be obtained by defining vectors obtained by connecting feature points and performing similar operations on these vectors.
[0047]
According to the present embodiment, the attitude data corresponding to the pitch angle and the yaw angle indicating the position and orientation of the
[0048]
Further, according to the present embodiment, as the reference image of the workpiece W, the vectors V1 to V5 obtained by connecting the reference point and the plurality of feature points and the angles φ1 to φ5 between them are defined, and these Is set as a function of the error value when calculating the correction amount, it is possible to increase the resolution and calculate the correction amount with high accuracy.
[0049]
(Second Embodiment)
FIG. 9 and FIG. 10 show a second embodiment of the present invention. Hereinafter, parts different from the first embodiment will be described.
In this embodiment, image data for Rx and Ry detection processing similar to that performed in step S3 of FIG. 3 by the
[0050]
As shown in the figure, during the position / orientation control by visual servo (step P1), the
[0051]
Next, Rx, Ry detection processing is performed based on the image data obtained so far (step P5). The contents of this detection process are the same as described in the first embodiment. When the correction amount is calculated in this way, the position and orientation are controlled by the correction amount and moved to the target position (step P6).
[0052]
According to the second embodiment, the same effect as that of the first embodiment can be obtained, and image data for Rx and Ry detection processing is acquired during the position / orientation control approach by visual servo. Therefore, although the operation during the approach period is slightly delayed, the position and orientation can be corrected quickly only by calculating in the state where the convergence position has been reached.
[0053]
(Third embodiment)
FIG. 11 shows a third embodiment of the present invention. The difference from the second embodiment is that the inclination angle of the
[0054]
As a result, the correction amount can be calculated quickly and accurately without tilting the
[0055]
(Fourth embodiment)
12 and 13 show a fourth embodiment of the present invention. The difference from each of the above embodiments is a workpiece Wa having a shape different from that of the workpiece W shown in FIG. In this case, the case of correcting the position and orientation is handled. Here, as shown in FIG. 12, the workpiece Wa has a larger length ratio between the X-axis direction and the Y-axis direction than the workpiece W described above, and is short when it is attempted to detect Rx and Ry by the above-described method. This is a condition that makes it difficult to increase the detection accuracy on the side.
[0056]
That is, the workpiece Wa shown in FIG. 12 has a schematic shape showing the above-described conditions, and the four feature points p1 to p4 are at positions corresponding to the vertices of the rhombus. In this case, the relationship between the distance L1 between the feature points p1 and p3 indicating the length in the Y-axis direction and the distance L2 between the feature points p2 and p4 indicating the length in the X-axis direction is such that L1 is L2. It is a shape that is larger than the predetermined ratio.
[0057]
As described above, since the distance L1 is related to the detection accuracy of the rotation angle Rx around the X axis, and the distance L2 is related to the detection accuracy of the rotation angle Ry around the Y axis, the lengths of L1 and L2 as described above. From this relationship, it can be understood that the change amount with respect to the displacement of the rotation angle Ry of the distance L2 is small and the detection accuracy is lower than that in the case of the distance L1 in consideration of the relationship expressed by the equation (2). In an extreme case, in the case of a workpiece whose distance L2 is close to zero, it is impossible to effectively detect the rotation angle Ry around the Y axis.
[0058]
Therefore, in order to deal with such a case, firstly, a method for improving the detection accuracy is proposed, and secondly, a condition that the detection accuracy is limited is set to be recognized. When the detection accuracy could not be increased, the processing time was shortened to obtain a practical effect.
[0059]
First, the first method described above will be described. In this case, as shown in FIG. 12, since the length of the line segment connecting the feature points p2 and p4 is short, the accuracy cannot be improved as it is. Therefore, in such a case, the vector obtained from the line segment connecting the feature points of the target workpiece Wa is not larger than a predetermined dimension (determined by the dimension within the range of the captured image of the camera 15) according to preset conditions. Sometimes, in order to improve the detection accuracy, the detection process is performed with the position of the
[0060]
As a result, as shown in FIG. 13, the shorter line segment L2 can be taken longer in the shooting screen of the
[0061]
As a result, both the values of Rx and Ry can be performed in an appropriate detection processing time while ensuring the detection accuracy, and the correction amount can be accurately calculated based on the obtained result.
[0062]
Next, the second method will be described. This is applied when it is difficult to increase the detection accuracy as in the first method when the detection accuracy is limited, or when the accuracy of the posture data of the rotation angle is not required. . First, whether or not such a condition is satisfied is determined based on a preset condition, and if it is determined that the detection accuracy does not need to be increased, the correction amount related to the rotation axis is not detected. To.
[0063]
This means that the detection process based on the result of the determination in advance is not necessary so that continuing the detection process for improving the detection accuracy in a situation where the improvement of the detection accuracy cannot be expected does not result in an unnecessary time. By stopping, the processing speed is improved. Thereby, by improving only the required accuracy, an efficient detection operation can be performed in a short time, and a great merit can be obtained in practice.
[0064]
(Other embodiments)
The present invention is not limited to the above embodiment, and can be modified or expanded as follows.
The first embodiment and the second embodiment can be performed in combination. For example, in order to improve the accuracy when the visual servo is performed while storing the image data while changing the angle in the process of approaching the workpiece W as in the second embodiment and the correction amount is obtained at the time of convergence, Image data can be captured as in the first embodiment. Thereby, both advantages can be taken in flexibly, and quick and accurate position and orientation control can be performed.
[0065]
In registering a reference image of an object, a method of setting a vector can be selectively performed as necessary. Even if a method in which a vector is not set is adopted, it is possible to improve the position and orientation accuracy as compared with the position and orientation control by the conventional visual servo.
[0066]
In each of the above embodiments, Expression (1) is used as a relational expression for obtaining an error value for detecting Rx and Ry. However, the present invention is not limited to this, and the error from the position and orientation at the reference position is represented by Rx and Ry. Other expressions can be used as long as the relational expression can be evaluated based on the error value and Rx and Ry can be detected based on the error value.
[0067]
The robot main body 11 described in each of the above embodiments assumes a case in which the robot body 11 is not moving relative to the workpiece W, which is an object, but is not limited to this. It can also be applied when the robot body is movable or when both are moving, and by performing the process of interpolating the velocity vector for the relatively moving object as in these cases Similarly, the position and orientation control can be performed with high accuracy.
[0068]
Furthermore, the control target apparatus can be applied not only to a robot but also to a vehicle whose position and orientation are to be controlled, a recognition apparatus that accurately recognizes the shape and operation of an object, and the like.
[Brief description of the drawings]
FIG. 1 is an overall schematic configuration diagram showing a first embodiment of the present invention.
FIG. 2 is an explanatory diagram of setting of a reference point and a feature point of a workpiece and a vector setting state
FIG. 3 is a flowchart showing a process of visual servo and correction amount calculation.
FIG. 4 is a schematic explanatory diagram of position and orientation control by visual servoing.
FIG. 5 is an explanatory diagram of the action when the CCD camera approach and angle are shaken.
FIG. 6 is a diagram showing a function value of an error value with respect to the posture angle of the camera.
FIG. 7 is a diagram for explaining a change with respect to a vector gradient between a reference point and a feature point;
FIG. 8 is a diagram illustrating a relationship between an inclination angle and a pixel.
FIG. 9 is a view corresponding to FIG. 5 showing a second embodiment of the present invention.
FIG. 10 is a view corresponding to FIG.
FIG. 11 is a view corresponding to FIG. 3, showing a third embodiment of the present invention.
FIG. 12 is an operation explanatory diagram illustrating a state in which a workpiece Wa is imaged from a reference position according to the fourth embodiment of the present invention.
13 is a view corresponding to FIG. 12 at a position closer to the reference position.
FIG. 14 is an explanatory diagram of an object showing a conventional example.
FIG. 15 is an explanatory diagram of an object inclination and an error value;
FIG. 16 is a diagram for explaining a change in line width with respect to an inclination angle;
FIG. 17 is an explanatory diagram of pixel data.
[Explanation of symbols]
11 is a robot body (control target device), 12 is a control device, 13 is a robot controller, 14 is a visual device, 15 is a CCD camera (camera), and W is a work (object).
Claims (10)
異なる姿勢で前記カメラにより前記対象物を撮影した画像を記憶する第1の過程と、
記憶された複数の画像のデータから推定される少なくとも縦揺れ角および偏揺れ角を示す姿勢データと、画像のデータおよび前記参照画像のデータの間の誤差を示す誤差データとの相関から、誤差データが許容誤差量以下となる前記基準位置に相当する位置姿勢を推定する第2の過程と、
前記推定された基準位置に相当する位置姿勢への補正量を演算する第3の過程と、
前記ビジュアルサーボによる位置姿勢制御が収束した状態での位置姿勢に対して前記第3の過程で演算された補正量に基づいて前記制御体操装置の位置姿勢の補正を行なう第4の過程とを実行し、
前記第1の過程では、前記ビジュアルサーボによる位置姿勢制御が収束した状態で、前記カメラの位置姿勢を画素数の変化として現れる程度に所定以上変化するように移動させて前記姿勢データが変化するようにしたときの画像を記憶することを特徴とするビジュアルサーボによる位置姿勢制御方法。The control unit is configured so that an object is previously captured as a reference image from a reference position by a camera attached to the control target device and is registered, and the control is performed so that the image of the object captured by the camera is in the same state as the reference image. In the position / orientation control method by visual servo that controls the position / orientation of the target device,
A first step of storing images taken of the object by the camera in different postures;
From the correlation between the posture data indicating at least the pitch angle and the yaw angle estimated from the data of the plurality of stored images and the error data indicating the error between the image data and the reference image data, error data is obtained. A second process of estimating a position and orientation corresponding to the reference position where is equal to or less than an allowable error amount;
A third step of calculating a correction amount to a position and orientation corresponding to the estimated reference position;
And a fourth step of correcting the position and orientation of the control gymnastic apparatus based on the correction amount calculated in the third step with respect to the position and orientation in a state where the position and orientation control by the visual servo has converged. And
In the first process, in a state where the position / orientation control by the visual servo has converged, the position / orientation of the camera is moved so as to change more than a predetermined degree so as to appear as a change in the number of pixels, so that the attitude data changes. A position / orientation control method using visual servoing, which stores an image when the image is selected .
異なる姿勢で前記カメラにより前記対象物を撮影した画像を記憶する第1の過程と、
記憶された複数の画像のデータから推定される少なくとも縦揺れ角および偏揺れ角を示す姿勢データと、画像のデータおよび前記参照画像のデータの間の誤差を示す誤差データとの相関から、誤差データが許容誤差量以下となる前記基準位置に相当する位置姿勢を推定する第2の過程と、
前記推定された基準位置に相当する位置姿勢への補正量を演算する第3の過程と、
前記ビジュアルサーボによる位置姿勢制御が収束した状態での位置姿勢に対して前記第3の過程で演算された補正量に基づいて前記制御体操装置の位置姿勢の補正を行なう第4の過程とを実行し、
前記第1の過程では、前記ビジュアルサーボによる位置姿勢制御が収束する状態となるまでの期間中における前記カメラの画像を記憶し、前記ビジュアルサーボによる位置姿勢制御が収束する状態となるまでの期間中の前記カメラの位置姿勢の制御を行なうときに画素数の変化として現れない場合には前記カメラの位置姿勢の変化が画素数の変化として現れる程度に所定以上変化するように移動させて前記姿勢データが変化するように制御することを特徴とするビジュアルサーボによる位置姿勢制御方法。The control unit is configured so that an object is previously captured as a reference image from a reference position by a camera attached to the control target device and is registered, and the control is performed so that the image of the object captured by the camera is in the same state as the reference image. In the position / orientation control method by visual servo that controls the position / orientation of the target device,
A first step of storing images taken of the object by the camera in different postures;
From the correlation between the posture data indicating at least the pitch angle and the yaw angle estimated from the data of the plurality of stored images and the error data indicating the error between the image data and the reference image data, error data is obtained. A second process of estimating a position and orientation corresponding to the reference position where is equal to or less than an allowable error amount;
A third step of calculating a correction amount to a position and orientation corresponding to the estimated reference position;
And a fourth step of correcting the position and orientation of the control gymnastic apparatus based on the correction amount calculated in the third step with respect to the position and orientation in a state where the position and orientation control by the visual servo has converged. And
In the first process, an image of the camera during a period until the position and orientation control by the visual servo is converged is stored, and during a period until the position and orientation control by the visual servo is converged If the position and orientation of the camera does not appear as a change in the number of pixels when the position and orientation of the camera is controlled, the camera is moved so that the change in the position and orientation of the camera appears as a change in the number of pixels. A position and orientation control method using visual servo , wherein control is performed so that the angle changes .
前記参照画像として記憶する前記対象物の画像データは、基準点に対して複数の特徴点を設定し、その基準点との間を結ぶ複数のベクトルを含んだものとして設定され、前記第2の過程を実施する際には、少なくとも前記ベクトルの長さもしくはベクトル間の長さの比に基づいて算出した誤差データにより前記位置姿勢の推定を行なうことを特徴とするビジュアルサーボによる位置姿勢制御方法。In the position and orientation control method by visual servo according to claim 1 or 2 ,
The image data of the object to be stored as the reference image is set to include a plurality of feature points with respect to a reference point and a plurality of vectors connecting to the reference point, and the second A position / orientation control method using visual servo , wherein when performing the process, the position / orientation is estimated based on error data calculated based on at least the length of the vector or the ratio of lengths between vectors .
前記参照画像として記憶する前記対象物の画像データは、基準点に対して複数の特徴点を設定し、それら特徴点間を結ぶ複数のベクトルを含んだものとして設定され、前記第2の過程を実施する際には、少なくとも前記ベクトルの長さもしくはベクトル間の長さの比に基づいて算出した誤差データにより前記位置姿勢の推定を行なうことを特徴とするビジュアルサーボによる位置姿勢制御方法。In the position and orientation control method by the visual servo according to any one of claims 1 to 3,
The image data of the object to be stored as the reference image is set to include a plurality of feature points with respect to a reference point, and includes a plurality of vectors connecting the feature points. A position / posture control method using visual servo, wherein the position / posture is estimated based on error data calculated based on at least the length of the vector or the length ratio between vectors .
前記参照画像として記憶する前記対象物の画像データは、設定された前記複数のベクトルについて、ベクトル間の角度に基づいて算出した誤差データにより前記位置姿勢の推定を行なうことを特徴とするビジュアルサーボによる位置姿勢制御方法。In the position and orientation control method by visual servo according to claim 3 or 4,
The image data of the object to be stored as the reference image is a visual servo characterized in that the position / orientation is estimated based on error data calculated based on an angle between vectors for the set vectors. Position and orientation control method.
前記誤差データの算出は、前記ベクトルについての長さあるいは角度について撮影した画像と参照画像との間の差分の自乗和として求め、
前記位置姿勢の推定は、上記方法により算出される誤差データの最小値を得るときの姿勢データとすることを特徴とするビジュアルサーボによる位置姿勢制御方法。In the position and orientation control method by visual servo according to any one of claims 3 to 5,
The calculation of the error data is obtained as the sum of squares of the difference between the image taken for the length or angle of the vector and the reference image,
The position / orientation control method using visual servo, wherein the position / orientation estimation is used as attitude data for obtaining a minimum value of error data calculated by the above method.
前記位置姿勢の推定は、前記誤差データの値と前記姿勢データの縦揺れ角および偏揺れ角の値とから、姿勢データを変数とした誤差データ関数を求め、その誤差データ関数の最小値を演算による求めることで行なうことを特徴とするビジュアルサーボによる位置姿勢制御方法。The position and orientation control method using visual servo according to claim 6 ,
The position and orientation is estimated by calculating an error data function using the posture data as a variable from the error data value and the pitch angle and yaw angle value of the posture data, and calculating the minimum value of the error data function. A position and orientation control method using visual servo, characterized in that it is performed by obtaining the above.
前記ビジュアルサーボによる位置姿勢制御が収束した状態で、前記カメラの位置をその収束位置から近接した位置に移動させて前記第1ないし第4の過程を実施することを特徴とするビジュアルサーボによる位置姿勢制御方法。In the position and orientation control method by visual servo according to any one of claims 1 to 7,
The position and orientation by visual servo, wherein the first to fourth processes are performed by moving the position of the camera from the convergence position to a position close to the convergence position in a state where the position and orientation control by the visual servo has converged Control method.
前記ビジュアルサーボによる位置姿勢制御が収束した状態で、前記姿勢データのうちの検出精度の向上が必要とされる姿勢データについてその収束位置から近接した位置に移動させて実施することを特徴とするビジュアルサーボによる位置姿勢制御方法。The position and orientation control method by visual servo according to claim 8,
In a state in which the position / orientation control by the visual servo has converged, the attitude data of the attitude data that needs to be improved in detection accuracy is moved to a position close to the convergence position and executed. Position and orientation control method by servo.
前記対象物の形状がその参照画像のデータとして前記姿勢データのうちの検出精度の向上が望めない姿勢データについては位置姿勢の補正を行なう対象から除外する判定動作を実行し、
前記ビジュアルサーボによる位置姿勢制御が収束した状態では、前記姿勢データのうちの除外されていないものについて前記位置姿勢の補正のための演算処理を実行することを特徴とするビジュアルサーボによる位置姿勢制御方法。In the position and orientation control method by visual servo according to any one of claims 1 to 9,
For posture data that cannot be improved in detection accuracy of the posture data as the reference image data as the shape of the target object, a determination operation is performed to exclude the target from the position and posture correction target,
Position / orientation control by visual servo, in which the position / orientation control by visual servo converges , arithmetic processing for correcting the position / orientation is executed for those not excluded from the attitude data Method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001306476A JP3823799B2 (en) | 2001-10-02 | 2001-10-02 | Position and orientation control method by visual servo |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001306476A JP3823799B2 (en) | 2001-10-02 | 2001-10-02 | Position and orientation control method by visual servo |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003117867A JP2003117867A (en) | 2003-04-23 |
JP3823799B2 true JP3823799B2 (en) | 2006-09-20 |
Family
ID=19126108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001306476A Expired - Fee Related JP3823799B2 (en) | 2001-10-02 | 2001-10-02 | Position and orientation control method by visual servo |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3823799B2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2411532B (en) * | 2004-02-11 | 2010-04-28 | British Broadcasting Corp | Position determination |
JP4271161B2 (en) | 2005-03-24 | 2009-06-03 | 株式会社東芝 | Robot device, method of turning robot device, and program |
JP2020196059A (en) * | 2019-05-31 | 2020-12-10 | セイコーエプソン株式会社 | robot |
JP2022073192A (en) * | 2020-10-30 | 2022-05-17 | セイコーエプソン株式会社 | Control method of robot |
US20220134577A1 (en) * | 2020-10-30 | 2022-05-05 | Dmg Mori Co., Ltd. | Image processing method, image processing apparatus, robot-mounted transfer device, and system |
CN113591542B (en) * | 2021-06-04 | 2024-01-26 | 江汉大学 | Visual servo control method, device and equipment for robot |
JP7169474B1 (en) | 2022-02-25 | 2022-11-10 | Dmg森精機株式会社 | Conveying device, control method, and control program |
WO2023167490A1 (en) * | 2022-03-01 | 2023-09-07 | Samsung Electronics Co., Ltd. | Apparatus and method for self-supervised learning for visual feature representation of egocentric images |
-
2001
- 2001-10-02 JP JP2001306476A patent/JP3823799B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003117867A (en) | 2003-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6180087B2 (en) | Information processing apparatus and information processing method | |
US9672630B2 (en) | Contour line measurement apparatus and robot system | |
KR970007039B1 (en) | Detection position correction system | |
CN109940662B (en) | Image pickup device provided with vision sensor for picking up workpiece | |
CN108621167B (en) | Visual servo decoupling control method based on contour edge and inner wrapping circle features | |
US10909720B2 (en) | Control device for robot, robot, robot system, and method of confirming abnormality of robot | |
JP3823799B2 (en) | Position and orientation control method by visual servo | |
CN111152243B (en) | Control system | |
US8941732B2 (en) | Three-dimensional measuring method | |
KR102094004B1 (en) | Method for controlling a table tennis robot and a system therefor | |
JP2012061553A (en) | Workpiece posture detection device, workpiece processing device, and workpiece posture detection method | |
JP2003311670A (en) | Positioning control method of robot arm and robot equipment | |
US20110118876A1 (en) | Teaching line correcting apparatus, teaching line correcting method, and program thereof | |
JP5509859B2 (en) | Robot control apparatus and method | |
JP2006350897A (en) | Motion measurement device | |
JP5891698B2 (en) | robot | |
JP6930517B2 (en) | Alignment device | |
JP6202356B2 (en) | Image processing apparatus and method, and imaging apparatus | |
WO2023013740A1 (en) | Robot control device, robot control system, and robot control method | |
JPH06259536A (en) | Three-dimensional correcting method for image pickup position and posture and three-dimensional position correcting method for robot | |
JP2007098550A (en) | Grip controlling device of robot hand | |
JP6578671B2 (en) | ROBOT, ROBOT CONTROL METHOD, AND ROBOT CONTROL DEVICE | |
JP7171313B2 (en) | Control method for imaging device, imaging device, control program, recording medium, and manufacturing method for parts | |
JPWO2018173192A1 (en) | Parallelism determination method for articulated robot and tilt adjustment device for articulated robot | |
JPH06270083A (en) | Work position detector |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20031215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060322 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060511 |
|
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: 20060606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060619 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3823799 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120707 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120707 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120707 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130707 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130707 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130707 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |