作業装置及びその校正方法
【課題】画像計測時にマーカの中心部を含む部分が遮蔽されていても作業部の位置の校正を行うことを可能とする。
【解決手段】作業装置は、被作業物体に対して作業を行う作業部と、マーカ中心点から放射状に複数のマーカが配置された校正治具とを有し、複数のマーカは、立体的に配置されており、校正治具は、作業部に対して設定された校正用の基準点とマーカ中心点とが一致するように作業部に装着されている。
【解決手段】作業装置は、被作業物体に対して作業を行う作業部と、マーカ中心点から放射状に複数のマーカが配置された校正治具とを有し、複数のマーカは、立体的に配置されており、校正治具は、作業部に対して設定された校正用の基準点とマーカ中心点とが一致するように作業部に装着されている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械制御装置及び機械制御方法に関する。特に、撮像手段によって撮像された画像を用いて機械が有する作業部を制御する機械制御装置における座標の校正に関するものである。
【背景技術】
【0002】
ロボットアームによる組み立て作業や検査においては、固定カメラで被作業物体の位置姿勢を検出し、ロボットアームを近づけて所定の作業を行うことがある。このためにはワールド座標と画像座標との変換関数であるカメラパラメータと、ロボットのセンサ情報とワールド座標との変換写像である順・逆キネマティクスが既知である必要がある。画像には撮像系由来の像のひずみがあり、ロボットアームには組み付けの誤差や経年変化による微小なずれがあるため、高精度な作業のためには、ロボットが作業を行う広い範囲でずれを補正しておくことが望ましい。このような補正作業を校正と呼ぶ。
【0003】
実際の校正の作業では、ロボットアームの先端などを作業基準点と定め、ロボットアームを複数箇所に動かして、ロボットのセンサ情報からワールド座標上の作業基準点の各位置を算出する。また、固定カメラから得られた画像から画像座標上の作業基準点の位置を求め、これをワールド座標に変換することにより、位置ずれの補正を行なう。
【0004】
上記のような校正の作業においては、ロボットアームの姿勢や固定カメラの位置によっては作業基準点を画像上で直接確認できないことがある。そのためコントラストの高いマーカを付した平面の校正治具プレートをロボットアームの先端に取り付けて校正を行う手法が特許文献1や特許文献2などで開示されている。用いられるマーカの形態は公知例によって様々であり、格子、矩形、多角形、円の配列などがある。
【特許文献1】特開昭64−2889号公報
【特許文献2】特許第3402021号公報
【特許文献3】特許第2616225号公報
【特許文献4】特開平4−313106号公報
【特許文献5】特開平11−189393号公報
【特許文献6】特開2003−28614号公報
【非特許文献1】Rousseeuw P.J., “Least median of squares regression”, J Am. Stat. Assoc., 1984, vol. 79, p.871-880
【非特許文献2】Rousseeuw P.J. and Leroy A., “Robust Regression and Outlier Detection”, 1987, John Wiley and Sons, New York
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記の平面の校正治具プレートは以下のようないくつかの問題がある。即ち、
(1)公知例の校正方法は校正治具の標識面の大部分が遮蔽されることを前提としていない。しかし多自由度のロボットアームの場合、位置姿勢によってはロボットアーム本体で校正治具プレートの多くが遮蔽されることがあり得る。上記例の校正治具プレートではそのような場所では校正を行うことができず、これを回避するためにはその都度校正治具プレートの角度を変えるか、遮蔽が起こらない場所に固定カメラを設置するか、校正治具プレートを大きくする必要がある。しかし大きな校正治具プレートはロボットアームや床に干渉しやすくロボットアームの動作の自由度を制限してしまうため、校正治具として適さない。
【0006】
(2)ロボットアームの位置姿勢によっては校正治具プレートの見えの角度が鋭角になり、マーカが観測しづらくなるため位置姿勢の推定精度が著しく下がることがある。
【0007】
(3)従来例ではマーカの位置姿勢を検出し、マーカから相対位置としてロボットアームの作業基準点を求めている。マーカとロボットアームの作業基準点との間には所定の距離があるため、仮にマーカの位置姿勢の推定に誤差があると、作業基準点の算出において誤差が増幅してしまう可能性がある。
【0008】
(4)作業の精度を上げるために複数のカメラを用いることがあるが、カメラの数が増えれば上記(1),(2)の問題の回避がより困難になる。
【0009】
平面プレートのマーカの欠点の一部を解決する手段として、立体形状を持つマーカを挙げることができる。特許文献3や特許文献4では被作業物体に高低差をつけた同心円状のマーカを貼付してカメラで計測し、被作業物体の相対位置姿勢を求める方法が開示されている。ただし当該手法ではマーカに対してカメラがある程度正対している必要があり、広範囲な角度から複数のカメラによって同時に治具を計測するような場合には適さない。
【0010】
また、特許文献5や特許文献6は、放射状のマーカを用いた手法を記載している。これらの手法は放射状マーカの中心部分のパターンが拡大・縮小に対して不変であることを利用してテンプレートマッチングの手法で放射状マーカの中心を検出して、被作業物体の位置を検出している。しかしながら、特許文献5,6では、マーカの中心部分が隠されて撮影できないようなケースを想定しておらず、上記(1)の課題が生じる。
【0011】
本発明は上記の課題に鑑みてなされたものであり、画像計測時にマーカの中心部を含む部分が遮蔽されていても作業部の位置の校正を行うことを可能とすることを目的とする。
【課題を解決するための手段】
【0012】
上記の目的を達成するための本発明の一態様による作業装置は以下の構成を備える。すなわち、
被作業物体に対して作業を行う作業部と、
マーカ中心点から放射状に複数のマーカが配置された校正治具とを備え、
前記校正治具は、前記作業部に対して設定された校正用の基準点と前記マーカ中心点とが一致するように前記作業部に装着され、
前記複数のマーカは、立体的に配置されている。
【0013】
また、上記の目的を達成するための本発明の他の態様による作業装置の校正方法は、
被作業物体に対して作業を行う作業部と、
マーカ中心点から放射状に複数のマーカが配置された校正治具とを備えた作業装置の校正方法であって、
前記校正治具は、前記作業部に対して設定された校正用の基準点と前記マーカ中心点とが一致するように前記作業部に装着され、
前記複数のマーカは、立体的に配置され、
前記作業部を撮像する撮像工程と、
前記撮像工程で撮像された画像に存在するマーカの画像に基づいてマーカ中心点の画像上の座標を算出する算出工程と、
前記算出工程で算出されたマーカ中心点の座標と、前記作業部の前記基準点の装置上の座標とに基づいて、画像上の座標と装置上の座標を変換するための変換処理を校正する校正工程とを備える。
【発明の効果】
【0014】
本発明によれば、画像計測時にマーカの中心部を含む部分が遮蔽されていても作業部の位置の校正を行うことが可能となる。
【発明を実施するための最良の形態】
【0015】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【0016】
<第1実施形態>
第1実施形態では被作業物体であるワークに対して作業部であるロボットアームが作業を行なう前に、作業の精度を高めるために3次元空間上の位置の校正を行う方法を述べる。本実施形態では、カメラパラメータを事前に求めずに、直接に画像上の座標である画像座標と装置上の座標であるロボット座標とを校正する。
【0017】
図1は、第1実施形態による機械制御装置と、制御対象の機械としてのロボットを模式的に示すブロック図である。また、図2は、本実施形態によるロボットを模式的に示す斜視図である。
【0018】
ロボット制御部120は、座標変換部121と駆動制御部122を有する。座標変換部121は、カメラ101で撮影された画像上の座標を装置上の座標であるロボット座標に変換する。駆動制御部122は、作業部106を含むロボットの全体を制御する。特に、駆動制御部122は、座標変換部121から得られた座標が示す位置に作業部106(の基準点)を移動させるべくロボットを駆動する。
【0019】
校正部113は、座標変換部121が行う、カメラ101から得られた画像上の座標値をロボット座標上の座標値へ変換する座標変換処理を校正する。この校正処理については後述する。マーカ中心点算出部112は、カメラ101から得られた画像から検出されたマーカ109に基づいて算出されたマーカ中心点の座標値(画像座標)を算出する。座標値記憶部117は、マーカ中心点算出部112が算出した座標値と、そのときの作業部106の作業基準点105の座標値(ロボット座標)を対応付けて記憶する。校正部113は、座標値記憶部117に記憶された座標値に基づいて画像座標とロボット座標間の変換処理を校正する。
【0020】
図2に示されるように、作業部106はXYZ直交型のロボットアームに接続されている。また、作業部106には、円錐形の校正治具107が装着されており、校正治具107の錐体部分である円錐側面には放射状に線分形状のマーカ109が配置されている。組み立て部品等のワークである被作業物体110には被作業物体基準点111が設定されている。また、ステージ201には、XYZ直交型のロボットアームが設置されている。ステージ201の上方には、撮像手段としてのカメラ101が配置されている。更に、ロボットアームにはレーザ距離計108が取り付けられている。レーザ距離計108は、ロボットアーム(作業部106或いは作業基準点105)からステージ201までの高さやロボットアームからステージ201上の被作業物体110(被作業物体基準点111)までの高さを計測できる。
【0021】
(校正治具の形態)
本実施形態で用いることが可能な校正治具107の例を図3に示す。図3の(a)に示される校正治具107は、コーン状の円錐部分301と円筒形部分302とを有し、円錐部分301には放射状に線分形状のマーカ109aが付されている。なお、図示の便宜上マーカの1つにのみ参照番号を付している。円筒形部分302の内部にはハンドに取り付けるためのクリップ状の機構(不図示)が備えられている。上記クリップ状の機構はハンドが把持をするためのつまみや、ネジによる取り付け穴でもよい。校正治具107は、放射状のマーカ109aの中心点であるマーカ中心点305aとロボットアームの作業基準点105が正確に一致するようにロボットアームに固定される。
【0022】
図3の(a)以外の校正治具107の例として、図3の(b)〜(h)に示されるような形態のものを用いることもできる。図3の(d)に示される校正治具107は、筒状の本体330に、マーカ中心点305dを中心として放射状にピン状のマーカ109dが位置するように配置された形状を有する。また、図3の(g)に示される校正治具107は、樹脂などでできた、光を透過する透明のブロック360にレーザ等を照射して線分状のマーカ109gを刻印したものである。マーカ109gはマーカ中心点305gを中心とした放射状に配置されている。図3の(h)に示される校正治具107は、特定のロボットアームに把持させたり取り付けたりすることが可能なように、図3の(g)に示した校正治具107のブロック360に切断、穿孔等の加工を施して得られた形状のブロック370を有するものである。よって、図3の(h)において、マーカ109hはマーカ中心点305hを中心として放射状に配置されている。
【0023】
また、図3の(e)や図3の(f)に示されるように、放射状のマーカ109eを付した円盤状の部材340或いはマーカ109fを付した半円状の部材350を立体的に複数組み合わせるような形態でもよい。図3の(e)(f)においても、マーカ109e、マーカ109fはそれぞれマーカ中心点305e、マーカ中心点305fを中心として放射状に配置される。なお、校正治具107は、図3の(e)に示すように原点を中心として全方位について点対称な構造でもよいし、図3の(a)のように円錐や角錐といった錐体のような、方向性を持つ点対象でない構造でもよい。また、図3の(c)のように、2つの円錐部分321,322を対にして組み合わせた形態や、3つの円錐部分をx軸、y軸、z軸に向けて配置して組み合わせるなど、放射状の形状を部分的に組み合わせたものでもよい。また、図3の(b)に示されるように、円錐部分301に配置されるマーカとして、円形のマーカ109bをマーカ中心点305bを中心とした放射状に配置するようにしてもよい。
【0024】
(校正作業)
次に、校正部113が実行する校正作業の工程を説明する。図4に示すように、校正治具107を取り付けた作業部106(ロボットアーム)をロボット座標上の所定の校正を行なう点103に動かす。ここでi番目の校正点のロボット座標値をpi(xi,yi,zi)とする。またこのとき、レーザ距離計108でステージの床面までの高さを計測して記憶する。レーザ距離計108の高さと作業基準点105の高さは一致しないため、この差をあらかじめ計測しておき、補正した値を校正基準点の高さhiとする。次に上方のカメラ101からロボットアームを計測する。カメラ101で撮影した画像から校正治具107に配置されたマーカ109を抽出し、ハフ変換等の画像処理を行って線分の画像座標上のパラメータを求める。また、このとき図3の(b)で示したような、コントラストの大きい円形のマーカ109bの列を放射状に並べた校正治具107を用いる場合は、前処理によって所定の大きさのブロッブを抽出し、抽出したブロッブに対してハフ変換を行ってもよい。
【0025】
以上の画像処理を最低2本の線分について行い、それらの線分の交点を求めてi番目の校正点における校正基準点の画像上の位置qi(ui,vi)を得る。例として、円形のマーカ109bを用いて校正基準点を求める場合の処理を図5のフローチャートに示す。ステップS501において校正部113のマーカ中心点算出部112は、カメラ101からの入力画像を二値化して二値化画像を取得する。ステップS502において、マーカ中心点算出部112は、二値化画像からブロッブを抽出して重心を求める。次に、ステップS503において、マーカ中心点算出部112は、複数のブロッブの重心点を使ってハフ変換を行う。ステップS504において、マーカ中心点算出部112は、ハフ変換の結果得られた複数の線分を用いて線分の交点に投票を行う。ステップS505において、マーカ中心点算出部112は、ステップS504における投票の結果、投票の値がもっとも高かった点を交点として得る。そして、S506において、マーカ中心点算出部112は、当該交点に対応する座標(画像座標)を校正基準点として決定する。
【0026】
なお、線分の検出誤差を考慮して、複数の線分を検出し、最小二乗法などによって消失点を求めてもよい。またはロバスト推定の手法であるLTS推定(非特許文献1参照)やLMedS推定(非特許文献2参照)を用いて消失点を求めてもよい。最小二乗法で消失点を求める際に、放射状に配置されたマーカ109に属さない無関係な線分が外れ値として混入すると消失点の推定精度が悪化するが、上記のロバスト推定の手法を用いればより外れ値の影響が少ない推定が可能である。
【0027】
校正部113では、このようにして求めた画像座標上の校正基準点の位置qi(ui,vi)に、レーザ距離計108で得られた高さの値hiを加え、拡張した座標値ri(ui,vi,hi)とする。そして、riおよびriに対応するロボット座標上の点pi(xi,yi,zi)の座標値の組を座標値記憶部117に記憶する。
【0028】
本実施形態の校正作業においては、z1とz2の2種類の高さの校正点を用いて校正を行う。図6は、本実施形態による校正処理を説明するフローチャートである。
【0029】
ステップS601において、校正部113hは、校正点の数をカウントするカウンタiを1にセットする。ステップS602において、ロボット制御部120は、ロボットハンドを駆動し、作業部106の作業基準点105を第1の高さz1に移動し、レーザ距離計108で高さh1を計測する。そして、ロボット制御部120は、ロボットハンドを駆動して、作業部106の作業基準点105をpi1(xi1,yi1,z1)に移動する。ステップS604、S605において、マーカ中心点算出部112は、カメラ101より得られた画像を用いて、校正治具107の校正基準点の位置qi(ui,vi)を、例えば図5で説明した処理により計測する。このとき、画像から算出されたマーカ中心点の、当該画像に対して垂直方向の座標値は、距離測定を行うセンサ、即ちレーザ距離計108により計測された値から取得される。なお、画像に対して垂直方向の座標には、距離測定を行うセンサにより計測された値hiに基づく値が用いられる。本実施形態では、hiがそのまま用いられる。ステップS606で、マーカ中心点算出部112は、そのときの作業基準点105のロボット座標系の座標値pi1(xi1,yi1,z1)に、ステップS605で算出された位置qi1(ui1,vi1)とレーザ距離計108で計測した高さh1を対応付ける。即ち、pi1(xi1,yi1,z1)とri1(ui1,vi1,h1)の組が座標値記憶部117に記憶される。ステップS607により、上記ステップS602〜S606の処理が、n個の校正点について繰り返される。
【0030】
以上のように、校正部113は、第1の高さz1の第1の平面102上の所定の位置に格子状に並んだn個の点p11(x11,y11,z1),…,pn1(xn1,yn1,z1)にロボットアームを動かし、その都度上記の作業を行う。次に同じ作業を、第2の高さz2の第2の平面104上で点p12(x12,y12,z2),…,pn2(xn2,yn2,z2)について行う(ステップS608〜S614)。これによって2n個の離散点における画像座標系とロボット座標系間の変換gi:Ri→Piと逆変換g-1i:Pi→Riを得る。校正を行った点の集合をそれぞれ座標別に{Pi},{Qi},{Ri}とする。
【0031】
なお、ここでは第1の高さで行う校正の点の数と第2の高さで行う校正の点の数が同数であることを仮定しているが、実際は校正の点は同数でなくても可能である。同様に第1と第2の高さの各点の間で、Pi1とPi2のxy座標が(xi1,yi1)=(xi2,yi2)のように一致していなくてもよい。ただし以降の説明では簡単のために2つの高さの異なる第1の平面102と第2の平面104上にそれぞれn個の点が格子状に並んでおり、各点のxy座標の位置は一致している((xi1,yi1)=(xi2,yi2))ものとする。
【0032】
(パラメータの算出)
次に、校正部113は、上述のステップS601〜S614で得られた各校正点の値から校正に必要となるパラメータを求める。
【0033】
図7の(a)に示すようにロボット座標上の点p11とp12はxy平面上の座標位置が同じだが、高さh1,h2が異なっている。このためp11とp12の画像座標上の位置q11(u11,v11)とq12(u12,v12)の間には図7の(b)に示されるような位置ずれがある。なお、図7の(b)ではカメラの像面の歪みやカメラ座標とロボットアーム座標との回転方向のずれ、ロボットアームの組み付け誤差に起因する微小なずれを仮定して図示している。図7の(a)に示すようにカメラの焦点からxy平面に下ろした垂線202の上ではこのような位置ずれは生じない。校正部113では、この垂線202が通過する点を画像座標上で求めてuv平面の原点q0(u0,v0)とする。またq0(u0,v0)に対応するp0(x0,y0)をxy平面の原点とする(ステップS615)。
【0034】
ただし一般に垂線202は校正を行った点qi∈{Qi}のいずれかを通過するとは限らないため、原点q0の算出にあたっては、ずれの量Δqi1=(qi2−qi1)の絶対値が最小となる4点qk1∈D({Qi})を用いて推定を行う。ここでD({Qi})は、校正を行なう点の集合{Qi}のうちΔqの絶対値が最も小さい上位の4点、すなわち原点q0の4つの近傍点を示す。4点におけるずれの量Δqk1を用いて線形補間し、ずれが0となる点q0(u0,v0)をサブピクセル精度で推定する。
【0035】
ここで、図7の(a)に示すようにp12(x12,y12,z2)と画像座標上で同じ位置に見えるp12’(x12’,y12’,z1)を仮定する。カメラからステージ床面までの高さをh0とする。また、ステージ床面から第1の平面102の高さをh1、第2の平面104の高さをh2、Δx1=x12’−x0,Δx2=x12−x0,Δy1=y12’−y0,Δy2=y12−y0とする。この場合、相似の関係から以下の簡単な関係があり、これによって高さh0を求めることができる。
【0036】
【数1】
【0037】
ここで未知の値であるx12’,y12’を求めるには図8に示すようにまず画像座標(u,v)上でq12の周囲の点{q11,q21,q31,q41}を射影変換して正方形の頂点{q11’,q21’,q31’,q41’}を得る。同じ変換を用いてq12をq12’に写す。正方形{q11’,q21’,q31’,q41’}の内分点としてq12’がΔu’とΔv’を内分するパラメータa,b(0≦a≦1,0≦b≦1)を求める。パラメータa,bを用いて{q11,q21,q31,q41}に対応する{p11,p21,p31,p41}の内分点としてp12’(x12’,y12’,z1)を求める。即ち、q12と周囲の点{q11,q21,q31,q41}の相対的な位置関係と、p12’と{p11,p21,p31,p41}の相対的な位置関係が同一になるように、p12’が決定される。
【0038】
(座標変換)
ここで校正を行なった点qi(ui,vi)に任意の高さhを与えた座標ri(ui,vi,h)について考える。相似の関係を用いれば、画像座標riをロボット座標に写す変換fi:Ri→Pを以下のような式で表すことができる。即ち、校正部113は、q0,p0及び2n個の座標の組を用いて、離散点iにおける画像座標とロボット座標の変換関数fi:Ri→Pを得る(ステップS616)。
【0039】
【数2】
【0040】
ただしΔz=z2−z1,Δh=h2−h1とおいている。また、式中のxiとyiは下式のように画像座標系とロボット座標系間の変換関数gi:Ri→Piを用いて求める。
【0041】
【数3】
【0042】
校正を行なった点{Qi}に含まれない位置の変換については、図8で示した方法と同様に校正を行った複数の近傍点の値を用いて射影変換等の方法を用いて補間する。これによって、任意の点r(u,v,h)からp(x,y,z)への座標の変換手段f:R→Pが得られる。即ち、校正部113は、離散点iを補間して画像座標とロボット座標の連続の変換関数f:R(u,v,h)→P(x,y,z)を得る(ステップS617)。逆変換f-1:P→Rについても、f:R→Pと同様にして相似関係と近傍の校正を行なった点の値の補間を利用することによって実現することができる。以上のようにして取得された変換関数fは座標値記憶部117に記憶される。
【0043】
以上のような方法で校正を行った後、校正治具107を取り外して校正を終了する。なお、一度校正を完了すればその後は経年変化や衝撃等による位置ずれのあったときなど、必要なときにのみ校正を行えばよい。またこのときロボットアームの作業に支障がないならば、校正治具107を外さずに被作業物体に対して作業を行ってもよい。
【0044】
(校正終了後の装置の動作)
次に実際にステージ上の被作業物体に対して作業を行う際の装置の動作を説明する。以下では被作業物体が立体形状であり、作業を行う際に基準となる被作業物体の被作業物体基準点111の高さhkがレーザ距離計108で計測する等して既知であることを前提とする。
【0045】
ロボット制御部120は、まずカメラ101でステージ201上の被作業物体110を撮影して作業基準点の画像上の位置qk(uk,vk)を検出する。ロボット制御部120は、被作業物体基準点111の既知の高さhkを用いて、基準点の座標rk(uk,vk,hk)を求める。次に、座標変換部121は、座標値記憶部117に保存されている座標変換のための変換関数fを呼び出してrkを変換し、作業基準点のロボット座標上の位置pk(xk,yk,zk)を求める。ロボットアームの作業基準点105を、求めた作業基準点から所定の距離(xw,yw,zw)だけ離した位置pk+w(xk+xw,yk+yw,zk+zw)に移動させ、所定の姿勢で所定の作業を行う。
【0046】
以上のように、第1実施形態に係る校正治具107は、作業基準点を中心に広がる放射状に配置されたマーカ109を備えるため、校正治具の多くが遮蔽されているような場合にも画像から作業基準点の位置を推定することが可能となる。また平面プレートの校正治具(マーカ)は観測する角度によっては標識面が観測しにくい欠点があるが、上記実施形態のようにマーカが立体の形状を取ることによって、どのような角度からでもマーカを安定して観測することが可能となる。また、複数のカメラを用いた場合には、このような立体的に、且つ、放射状に配置されたマーカにより、様々な角度から同時に校正基準点を観測することが可能となる。
【0047】
また、カメラ101による上方からの撮影ではロボットアームに隠れて校正基準点を直接観測することができない場合が多い。しかしながら、上記実施形態によれば、観測した画像データに複数のマーカの部分形状が含まれていれば、マーカ中心点算出部112によってマーカの中心点の画像座標を推定できる。
【0048】
また、放射状の線分が配置された、図1や図3の(a)、(b)のような校正治具107を、ロボットアーム先端などの所定位置の周囲に用いれば、ハフ変換等の低計算コストの画像処理手法でマーカの線分を検出することができる。このとき校正の作業基準点が遮蔽されていても2本以上のマーカの線分を検出できれば消失点を求めることで基準点が検出可能である。また、3本以上の線分を用いる場合は、最小二乗法等によって消失点を求めることで検出の精度を上げることができる。従って、図3の(a)〜(d)のように基準点(マーカ中心点)が見えない形態や図10の(a)〜(c)のようにマーカの中心部が空間であってもよい。
【0049】
また、校正治具107の形状は、図3に例示したように種々の放射状の形態が利用可能である。特に、図3の(a)〜(c)に示したような円錐の形状のものであれば、ロボットアームにとりつけて動作させる際に他の物体への干渉を少なくさせることが可能である。また、このとき、校正治具に透明の部材を用いれば校正治具自体によって起こるマーカの遮蔽をなくすことができる。
【0050】
<第2実施形態>
次に第2実施形態として、レーザ距離計108を用いない校正の方法を述べる。この方法ではXYZ直交型ロボットアーム以外にスカラー型や垂直多間接型などの多自由度のロボットアームの校正が可能である。第2実施形態では、ロボットアームと、第1実施形態で用いたものと同じ校正治具と、2個以上のカメラを用いる。マーカが立体の形状を取ることによって、どのような角度からでもマーカを安定して観測することが可能となるため、様々な角度から同時に校正基準点を観測することが可能である。第2実施形態では、このようなマーカの特徴を利用して複数のカメラにより同時に校正基準点を観測する。なお、第2実施形態の構成は第1実施形態(図1)とほぼ同様であり、カメラ101が複数台接続された形態となる。
【0051】
複数のカメラ101に関して、それぞれのカメラパラメータを求めておく。カメラパラメータの算出は、形状が既知の校正用の物体を計測する等の一般的な手法によって行うことができる。このとき像面の歪みも幾何補正を行って取り除いておく。
【0052】
第1実施形態と同様の校正治具107を用いて複数のカメラ101で基準点を計測する。そして、各々の画像において検出した校正治具107の基準点の位置をワールド座標上のエピポーラ線に変換する。そして、複数のカメラ画像によって得られた複数のエピポーラ線の交点s1(x1,y1,z1)を求めることで、校正基準点のワールド座標上の3次元位置、即ち3次元座標を算出することができる。
【0053】
第1実施形態と同じように所定の校正を行う位置{Pi}={p1(x1,y1,z1),…,pm(xm,ym,zm)}にロボットアームを動かし、各位置に対応する{Si}={s1(x1,y1,z1),…,sm(xm,ym,zm)}を得る。校正を行う点{Pi}={p1,…,pm}は立体格子状とする。これによってm個の立体格子状の離散点におけるワールド座標系とロボット座標系間の変換fi:Si→Piと逆変換fi-1:Pi→Siを得る。
【0054】
複数のカメラで撮像した任意の物体Jの画像から対応するロボット座標pjを得るためには、上記の格子状の校正点の対応関係を線形補間して求める。まずカメラの数nだけ存在する画像座標上の値{qj1(uj1,vj1),…,qjn(ujn,vjn)}からエピポーラ線の交点を算出してワールド座標sj(xj,yj,zj)を求める。次にワールド座標上のsj(xj,yj,zj)の近傍の複数の点sk(xk,yk,zk)∈D(sj)を求める。ただしs∈D(sj)は校正を行った点の集合{Si}のうちsj(xj,yj,zj)の近傍の8つの頂点{sk(xk,yk,zk)}を表す。8点各々に変換fi:Si→Piを用いてロボット座標上の8点{pk(xk,yk,zk)}を得る。
【0055】
多自由度ロボットアームは直交型ロボットアームと異なり、ロボットアームとワールド座標上の位置ずれがどのような特性で生じるか予想し難い。しかし校正を行なう立体格子状の点{Pi}が十分密な格子であれば、ワールド座標上の頂点{sk(xk,yk,zk)}はスケーリング、回転、スキューおよび平行移動によって立方体に変換することが可能である。skをアフィン変換して立方体の頂点sk’(xk’,yk’,zk’)=A(sk(xk,yk,zk))を得る。同様にsjを変換してsj’=A(sj)を得る。ただしAは三次元アフィン変換を表す関数である。
【0056】
次に、写像先の立方体{sk’}を内分する点sj’の内分点パラメータa,b,c(0≦a≦1,0≦b≦1,0≦c≦1)を算出する。内分点パラメータa,b,cを用いてロボット座標上の立方体の頂点{pk}を内分する点としてpj(xj,yj,zj)を求める。即ち、sj’と周囲の点{sk’}の相対的な位置関係と、pjと{pk}の相対的な位置関係が同一になるように、pjが決定される。この値pjが物体Jのロボット座標上での位置になる。これによって任意のワールド座標の位置とロボット座標の位置の間の校正が可能となる。
【0057】
以上のように、第2実施形態によれば、基準点の高さ位置を計測するためのレーザ距離計108を装着することが不要となる。従って、ロボットアームに装着する部品点数を減少させることが出来る。
【0058】
<第3実施形態>
次に、第3実施形態として第2実施形態で説明した校正処理の派生的な手法として、校正作業中に図3又は図9に示したような校正治具を用いない方法を挙げる。本実施形態ではまず、ロボットアーム上の所定の位置に4つのマーカを配置する。次に、第2の実施形態と同様の校正治具を取り付けてカメラで計測し、校正基準点と4つのマーカを検出する。これらをワールド座標に変換して校正基準点と4つのマーカのワールド座標上の位置を得る。次に4つのマーカと校正基準点のワールド座標上での相対位置関係を記憶する。次に校正治具を外し、以降は4つのマーカの相対位置関係からワールド座標上の校正基準点の位置を決定する。
【0059】
その後の工程は第2実施形態と同じである。なお、この手法が正しく機能するためには、
(1)ここで述べた4つのマーカの位置が作業中に常にカメラから観測できること、
(2)校正基準点とマーカの相対位置が変形やねじれ等によって変化しないこと、
(3)4つの点が同一平面上にないこと、
の3つの条件を満たす必要がある。
【0060】
<第4実施形態>
第4実施形態では、ロボットアームの位置の校正のみならず姿勢の校正も同時に行う方法をのべる。なお、本実施形態の装置構成や校正作業は基本的に第2実施形態と同じである。以下では、図9の(a)に示すように円錐の底面部分の円周上に姿勢検出用の周辺部マーカ901aを付した校正治具を用いて校正を行う場合を説明する。
【0061】
本実施形態では第2実施形態で行った校正作業に加えて、校正治具107の底面部分の円周に配置された周辺部マーカ901aを検出する。なお、周辺部マーカ901aは円形状を有し、校正部113は線分形状のマーカ109aとマーカ109aを容易に識別できる。なお、周辺部マーカ901aは、線分形状のマーカ109aと区別できるように、色や形状が選択されていればよい。そして、一般ハフ変換等の手法を用いて、検出された複数の周辺部マーカ901aに楕円をフィッティングする。次に求めた楕円の中心点を求める。そして、この中心点と基準点(マーカ中心点)を結んだ軸を求めることで校正治具107の円錐の仮想的な頂点が向いている方向を求めることができる。なお、底面部分の形状は円形に限られるものではなく、矩形等、種々の形状を適用することが出来る。なお、このような処理のアルゴリズムは周知であるので、詳細な説明は省略する。
【0062】
またこのとき、図9の(b)に示すように、各々のマーカ901bに色をつけるなどして個々のマーカを区別するようにしてもよい。このようにすれば、画像処理による楕円の検出を行わなくてもあらかじめ記憶装置に記憶されたマーカ間の相対位置関係を参照することによって、校正治具の姿勢を求めることができる。さらに色だけでなく、図9の(c)のように個々のマーカ901cの位置が既知の所定の位置にある校正治具を用いてもよい。この場合も、図9の(b)と同様の効果を得ること、即ち楕円の検出を不要とすることが可能である。この場合の校正治具の姿勢の検出処理も周知であるため、詳細な説明は省略する。
【0063】
以上のように、第4実施形態では、
・校正治具の底面の中心を求めて中心軸を求めること、または、
・互いに識別可能なマーカを付加的に設けてその位置を検出すること、
によってロボットアームの位置姿勢を求める。このように、第1〜3実施形態の校正手法では校正基準点の位置しか検出することができなかったが、第4実施形態によれば、円錐のような方向性を持った校正治具を用いることでロボットアームの位置姿勢を検出、校正することができる。
【0064】
<第5実施形態>
第5実施形態として本発明の校正治具を被作業物体の表面に貼付して被作業物体の基準位置を検出する方法を述べる。まず、図3で示したような校正治具107の作業基準点105を被作業物体110の被作業物体基準点111に合わせる。即ち、マーカ中心点から放射状に、且つ、立体的に複数のマーカが配置された校正治具が、被作業物体110の被作業物体基準点111とマーカ中心点とが一致するように、被作業物体110の外部に固定される。そして、校正治具107を複数のカメラで計測し、第2実施形態と同様の手法を用いることにより被作業物体基準点111の画像上の位置を検出することができる。
【0065】
さらに、図10の(a)〜(c)に示すような形態の校正治具を用いれば、被作業物体110の被作業物体基準点111を校正治具から離れた空間上の一点(1005a〜c)として示すことが可能である。またこのとき図10の(c)のように複数の校正治具を組み合わせることにより、複数台のカメラからの観測が容易になる、基準位置検出の精度を上げるなどの効果を得ることができる。
【0066】
以上のように、本願が用いる校正治具107は、作業部106の校正治具としての用途のみならず、被作業物体の基準点(被作業物体基準点111)の位置を画像から検出するのにも用いることができる。
【0067】
<第6実施形態>
第6実施形態では、上記実施形態で説明した校正治具を用いた被作業物体110の位置決めの正常/異常の判定の方法を述べる。図11ではクレーン状のワーク搬送装置1102で搬送されてくる被作業物体110を空中の所定の位置に位置決めする実施形態を示している。被作業物体110にはあらかじめ所定の位置に複数の位置決めマーカ1101が付してある。また、位置決めを行うステージ201の周囲にはあらかじめ複数の校正治具107が設置されている。このときワークが正しい位置姿勢に置かれたときにのみ、各構成治具107のマーカ中心点が各位置決めマーカ1101と一致するような位置に校正治具107を設置しておく。カメラ101で校正治具107と位置決めマーカ1101とを観測し、画像から求めた校正治具107のマーカ中心点と位置決めマーカ1101が全て一致しているか否かで、被作業物体110の位置決めが正常に行われたかどうかの判定が行われる。
【0068】
即ち、第6実施形態では、マーカ中心点から放射状に、且つ、立体的に複数のマーカが配置された校正治具107が被作業物体110の外部に固定される。このとき、校正治具107は、被作業物体110が所定の位置に移動された場合に、被作業物体110に配置された位置決めマーカ1101の位置と中心点マーカの位置が一致するように配置されている。また、校正治具107は、マーカ中心点が存在する位置には校正治具が存在しない空間となっており、被作業物体110と校正治具107が干渉することはない。
【0069】
従来の被作業物体110の位置決めの判定手法では、被作業物体110が正しい位置におかれたときのマーカの画像上の形状やマーカとマーカの間の相対位置関係を記憶しておく。そして、撮像したマーカが記憶されているマーカと一致したか否かで、位置決めの正常、異常を判定する。しかしこの手法はズームやカメラパンを行わなければマーカを全て観測できないような大きな被作業物体には適さない。対して、第6実施形態では、校正治具107とマーカ1101の一組ずつを個別にズームやパンで観測することにより、位置決めの正常・異常を判定することが可能である。
【0070】
また立体校正治具を用いる従来手法の多くがワークに立体校正治具を貼付する形態を取っているが、本実施形態ではワークに立体校正治具を貼付する必要がない。このため立体校正治具をワークの数の分用意する必要がない。また、ワークに突起物を配置しない(立体構成治具を配置しない)ので作業や搬送の支障にならないという効果がある。
【0071】
以上のように、本実施形態の校正治具は、作業部106の校正治具としての用途のみならず、被作業物体を所定の位置に移動させるときの位置合せの目的で用いることも可能である。
【0072】
以上説明したように、上記各実施形態によれば、校正治具は立体的、且つ、放射状に配置された複数のマーカを備える。このため、計測時に構成治具(マーカ群)が部分的にカメラから遮蔽されていても、ハフ変換等を用いて放射状のマーカの中心を求めることでロボットアームの位置の校正を行うことができる。また、1つあるいは複数のカメラで、さまざまな角度から観測してロボットアームの位置の校正を行うことができる。また、放射状のマーカを備えた円錐状の形状は床やロボットアーム自身等に干渉しにくいため、従来のプレート状の治具に比べて、校正作業時のロボットアームの姿勢の自由度が大きい。場合によっては、構成治具を装着したままロボットを稼動させることも可能となる。また、上記実施形態の構成治具は、何もない空間上の一点を校正や位置合せの基準点として利用することができる。
【0073】
特に、近年製造現場において製造工程自動化が進んでおり、カメラ等の撮像装置によって制御されるロボットアームを用いる機会が多くなっている。本願の機械制御装置はこれら製造工程における作業精度を高める利用効果がある。
【0074】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【0075】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0076】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0077】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
【0078】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0079】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【0080】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【0081】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【0082】
【図1】第1実施形態による機械制御装置と、制御対象の機械としてのロボットを模式的に示すブロック図である。
【図2】本実施形態によるロボットを模式的に示す斜視図である。
【図3】第1実施形態で利用可能な校正治具の種々の変形例を示す図である。
【図4】第1実施形態に係わる校正方法を説明する図である。
【図5】円形のマーカ109bを有する構成治具を用いて基準点を画像計測する処理を説明するフローチャートである。
【図6】第1実施形態に係わる校正処理を示すフローチャートである。
【図7】第1実施形態に係わる校正方法の原理を示した図である。
【図8】校正を行った近傍の点を利用して、任意の点の位置を補間する方法を説明する図である。
【図9】校正治具の位置姿勢を同定するためのマーカを付した構成治具の例を示す図である。
【図10】被作業物体の基準位置を位置決めする校正治具の実施形態の例を示す図である。
【図11】校正治具を用いて被作業物体の位置決めをする実施形態を説明する図である。
【技術分野】
【0001】
本発明は、機械制御装置及び機械制御方法に関する。特に、撮像手段によって撮像された画像を用いて機械が有する作業部を制御する機械制御装置における座標の校正に関するものである。
【背景技術】
【0002】
ロボットアームによる組み立て作業や検査においては、固定カメラで被作業物体の位置姿勢を検出し、ロボットアームを近づけて所定の作業を行うことがある。このためにはワールド座標と画像座標との変換関数であるカメラパラメータと、ロボットのセンサ情報とワールド座標との変換写像である順・逆キネマティクスが既知である必要がある。画像には撮像系由来の像のひずみがあり、ロボットアームには組み付けの誤差や経年変化による微小なずれがあるため、高精度な作業のためには、ロボットが作業を行う広い範囲でずれを補正しておくことが望ましい。このような補正作業を校正と呼ぶ。
【0003】
実際の校正の作業では、ロボットアームの先端などを作業基準点と定め、ロボットアームを複数箇所に動かして、ロボットのセンサ情報からワールド座標上の作業基準点の各位置を算出する。また、固定カメラから得られた画像から画像座標上の作業基準点の位置を求め、これをワールド座標に変換することにより、位置ずれの補正を行なう。
【0004】
上記のような校正の作業においては、ロボットアームの姿勢や固定カメラの位置によっては作業基準点を画像上で直接確認できないことがある。そのためコントラストの高いマーカを付した平面の校正治具プレートをロボットアームの先端に取り付けて校正を行う手法が特許文献1や特許文献2などで開示されている。用いられるマーカの形態は公知例によって様々であり、格子、矩形、多角形、円の配列などがある。
【特許文献1】特開昭64−2889号公報
【特許文献2】特許第3402021号公報
【特許文献3】特許第2616225号公報
【特許文献4】特開平4−313106号公報
【特許文献5】特開平11−189393号公報
【特許文献6】特開2003−28614号公報
【非特許文献1】Rousseeuw P.J., “Least median of squares regression”, J Am. Stat. Assoc., 1984, vol. 79, p.871-880
【非特許文献2】Rousseeuw P.J. and Leroy A., “Robust Regression and Outlier Detection”, 1987, John Wiley and Sons, New York
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記の平面の校正治具プレートは以下のようないくつかの問題がある。即ち、
(1)公知例の校正方法は校正治具の標識面の大部分が遮蔽されることを前提としていない。しかし多自由度のロボットアームの場合、位置姿勢によってはロボットアーム本体で校正治具プレートの多くが遮蔽されることがあり得る。上記例の校正治具プレートではそのような場所では校正を行うことができず、これを回避するためにはその都度校正治具プレートの角度を変えるか、遮蔽が起こらない場所に固定カメラを設置するか、校正治具プレートを大きくする必要がある。しかし大きな校正治具プレートはロボットアームや床に干渉しやすくロボットアームの動作の自由度を制限してしまうため、校正治具として適さない。
【0006】
(2)ロボットアームの位置姿勢によっては校正治具プレートの見えの角度が鋭角になり、マーカが観測しづらくなるため位置姿勢の推定精度が著しく下がることがある。
【0007】
(3)従来例ではマーカの位置姿勢を検出し、マーカから相対位置としてロボットアームの作業基準点を求めている。マーカとロボットアームの作業基準点との間には所定の距離があるため、仮にマーカの位置姿勢の推定に誤差があると、作業基準点の算出において誤差が増幅してしまう可能性がある。
【0008】
(4)作業の精度を上げるために複数のカメラを用いることがあるが、カメラの数が増えれば上記(1),(2)の問題の回避がより困難になる。
【0009】
平面プレートのマーカの欠点の一部を解決する手段として、立体形状を持つマーカを挙げることができる。特許文献3や特許文献4では被作業物体に高低差をつけた同心円状のマーカを貼付してカメラで計測し、被作業物体の相対位置姿勢を求める方法が開示されている。ただし当該手法ではマーカに対してカメラがある程度正対している必要があり、広範囲な角度から複数のカメラによって同時に治具を計測するような場合には適さない。
【0010】
また、特許文献5や特許文献6は、放射状のマーカを用いた手法を記載している。これらの手法は放射状マーカの中心部分のパターンが拡大・縮小に対して不変であることを利用してテンプレートマッチングの手法で放射状マーカの中心を検出して、被作業物体の位置を検出している。しかしながら、特許文献5,6では、マーカの中心部分が隠されて撮影できないようなケースを想定しておらず、上記(1)の課題が生じる。
【0011】
本発明は上記の課題に鑑みてなされたものであり、画像計測時にマーカの中心部を含む部分が遮蔽されていても作業部の位置の校正を行うことを可能とすることを目的とする。
【課題を解決するための手段】
【0012】
上記の目的を達成するための本発明の一態様による作業装置は以下の構成を備える。すなわち、
被作業物体に対して作業を行う作業部と、
マーカ中心点から放射状に複数のマーカが配置された校正治具とを備え、
前記校正治具は、前記作業部に対して設定された校正用の基準点と前記マーカ中心点とが一致するように前記作業部に装着され、
前記複数のマーカは、立体的に配置されている。
【0013】
また、上記の目的を達成するための本発明の他の態様による作業装置の校正方法は、
被作業物体に対して作業を行う作業部と、
マーカ中心点から放射状に複数のマーカが配置された校正治具とを備えた作業装置の校正方法であって、
前記校正治具は、前記作業部に対して設定された校正用の基準点と前記マーカ中心点とが一致するように前記作業部に装着され、
前記複数のマーカは、立体的に配置され、
前記作業部を撮像する撮像工程と、
前記撮像工程で撮像された画像に存在するマーカの画像に基づいてマーカ中心点の画像上の座標を算出する算出工程と、
前記算出工程で算出されたマーカ中心点の座標と、前記作業部の前記基準点の装置上の座標とに基づいて、画像上の座標と装置上の座標を変換するための変換処理を校正する校正工程とを備える。
【発明の効果】
【0014】
本発明によれば、画像計測時にマーカの中心部を含む部分が遮蔽されていても作業部の位置の校正を行うことが可能となる。
【発明を実施するための最良の形態】
【0015】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【0016】
<第1実施形態>
第1実施形態では被作業物体であるワークに対して作業部であるロボットアームが作業を行なう前に、作業の精度を高めるために3次元空間上の位置の校正を行う方法を述べる。本実施形態では、カメラパラメータを事前に求めずに、直接に画像上の座標である画像座標と装置上の座標であるロボット座標とを校正する。
【0017】
図1は、第1実施形態による機械制御装置と、制御対象の機械としてのロボットを模式的に示すブロック図である。また、図2は、本実施形態によるロボットを模式的に示す斜視図である。
【0018】
ロボット制御部120は、座標変換部121と駆動制御部122を有する。座標変換部121は、カメラ101で撮影された画像上の座標を装置上の座標であるロボット座標に変換する。駆動制御部122は、作業部106を含むロボットの全体を制御する。特に、駆動制御部122は、座標変換部121から得られた座標が示す位置に作業部106(の基準点)を移動させるべくロボットを駆動する。
【0019】
校正部113は、座標変換部121が行う、カメラ101から得られた画像上の座標値をロボット座標上の座標値へ変換する座標変換処理を校正する。この校正処理については後述する。マーカ中心点算出部112は、カメラ101から得られた画像から検出されたマーカ109に基づいて算出されたマーカ中心点の座標値(画像座標)を算出する。座標値記憶部117は、マーカ中心点算出部112が算出した座標値と、そのときの作業部106の作業基準点105の座標値(ロボット座標)を対応付けて記憶する。校正部113は、座標値記憶部117に記憶された座標値に基づいて画像座標とロボット座標間の変換処理を校正する。
【0020】
図2に示されるように、作業部106はXYZ直交型のロボットアームに接続されている。また、作業部106には、円錐形の校正治具107が装着されており、校正治具107の錐体部分である円錐側面には放射状に線分形状のマーカ109が配置されている。組み立て部品等のワークである被作業物体110には被作業物体基準点111が設定されている。また、ステージ201には、XYZ直交型のロボットアームが設置されている。ステージ201の上方には、撮像手段としてのカメラ101が配置されている。更に、ロボットアームにはレーザ距離計108が取り付けられている。レーザ距離計108は、ロボットアーム(作業部106或いは作業基準点105)からステージ201までの高さやロボットアームからステージ201上の被作業物体110(被作業物体基準点111)までの高さを計測できる。
【0021】
(校正治具の形態)
本実施形態で用いることが可能な校正治具107の例を図3に示す。図3の(a)に示される校正治具107は、コーン状の円錐部分301と円筒形部分302とを有し、円錐部分301には放射状に線分形状のマーカ109aが付されている。なお、図示の便宜上マーカの1つにのみ参照番号を付している。円筒形部分302の内部にはハンドに取り付けるためのクリップ状の機構(不図示)が備えられている。上記クリップ状の機構はハンドが把持をするためのつまみや、ネジによる取り付け穴でもよい。校正治具107は、放射状のマーカ109aの中心点であるマーカ中心点305aとロボットアームの作業基準点105が正確に一致するようにロボットアームに固定される。
【0022】
図3の(a)以外の校正治具107の例として、図3の(b)〜(h)に示されるような形態のものを用いることもできる。図3の(d)に示される校正治具107は、筒状の本体330に、マーカ中心点305dを中心として放射状にピン状のマーカ109dが位置するように配置された形状を有する。また、図3の(g)に示される校正治具107は、樹脂などでできた、光を透過する透明のブロック360にレーザ等を照射して線分状のマーカ109gを刻印したものである。マーカ109gはマーカ中心点305gを中心とした放射状に配置されている。図3の(h)に示される校正治具107は、特定のロボットアームに把持させたり取り付けたりすることが可能なように、図3の(g)に示した校正治具107のブロック360に切断、穿孔等の加工を施して得られた形状のブロック370を有するものである。よって、図3の(h)において、マーカ109hはマーカ中心点305hを中心として放射状に配置されている。
【0023】
また、図3の(e)や図3の(f)に示されるように、放射状のマーカ109eを付した円盤状の部材340或いはマーカ109fを付した半円状の部材350を立体的に複数組み合わせるような形態でもよい。図3の(e)(f)においても、マーカ109e、マーカ109fはそれぞれマーカ中心点305e、マーカ中心点305fを中心として放射状に配置される。なお、校正治具107は、図3の(e)に示すように原点を中心として全方位について点対称な構造でもよいし、図3の(a)のように円錐や角錐といった錐体のような、方向性を持つ点対象でない構造でもよい。また、図3の(c)のように、2つの円錐部分321,322を対にして組み合わせた形態や、3つの円錐部分をx軸、y軸、z軸に向けて配置して組み合わせるなど、放射状の形状を部分的に組み合わせたものでもよい。また、図3の(b)に示されるように、円錐部分301に配置されるマーカとして、円形のマーカ109bをマーカ中心点305bを中心とした放射状に配置するようにしてもよい。
【0024】
(校正作業)
次に、校正部113が実行する校正作業の工程を説明する。図4に示すように、校正治具107を取り付けた作業部106(ロボットアーム)をロボット座標上の所定の校正を行なう点103に動かす。ここでi番目の校正点のロボット座標値をpi(xi,yi,zi)とする。またこのとき、レーザ距離計108でステージの床面までの高さを計測して記憶する。レーザ距離計108の高さと作業基準点105の高さは一致しないため、この差をあらかじめ計測しておき、補正した値を校正基準点の高さhiとする。次に上方のカメラ101からロボットアームを計測する。カメラ101で撮影した画像から校正治具107に配置されたマーカ109を抽出し、ハフ変換等の画像処理を行って線分の画像座標上のパラメータを求める。また、このとき図3の(b)で示したような、コントラストの大きい円形のマーカ109bの列を放射状に並べた校正治具107を用いる場合は、前処理によって所定の大きさのブロッブを抽出し、抽出したブロッブに対してハフ変換を行ってもよい。
【0025】
以上の画像処理を最低2本の線分について行い、それらの線分の交点を求めてi番目の校正点における校正基準点の画像上の位置qi(ui,vi)を得る。例として、円形のマーカ109bを用いて校正基準点を求める場合の処理を図5のフローチャートに示す。ステップS501において校正部113のマーカ中心点算出部112は、カメラ101からの入力画像を二値化して二値化画像を取得する。ステップS502において、マーカ中心点算出部112は、二値化画像からブロッブを抽出して重心を求める。次に、ステップS503において、マーカ中心点算出部112は、複数のブロッブの重心点を使ってハフ変換を行う。ステップS504において、マーカ中心点算出部112は、ハフ変換の結果得られた複数の線分を用いて線分の交点に投票を行う。ステップS505において、マーカ中心点算出部112は、ステップS504における投票の結果、投票の値がもっとも高かった点を交点として得る。そして、S506において、マーカ中心点算出部112は、当該交点に対応する座標(画像座標)を校正基準点として決定する。
【0026】
なお、線分の検出誤差を考慮して、複数の線分を検出し、最小二乗法などによって消失点を求めてもよい。またはロバスト推定の手法であるLTS推定(非特許文献1参照)やLMedS推定(非特許文献2参照)を用いて消失点を求めてもよい。最小二乗法で消失点を求める際に、放射状に配置されたマーカ109に属さない無関係な線分が外れ値として混入すると消失点の推定精度が悪化するが、上記のロバスト推定の手法を用いればより外れ値の影響が少ない推定が可能である。
【0027】
校正部113では、このようにして求めた画像座標上の校正基準点の位置qi(ui,vi)に、レーザ距離計108で得られた高さの値hiを加え、拡張した座標値ri(ui,vi,hi)とする。そして、riおよびriに対応するロボット座標上の点pi(xi,yi,zi)の座標値の組を座標値記憶部117に記憶する。
【0028】
本実施形態の校正作業においては、z1とz2の2種類の高さの校正点を用いて校正を行う。図6は、本実施形態による校正処理を説明するフローチャートである。
【0029】
ステップS601において、校正部113hは、校正点の数をカウントするカウンタiを1にセットする。ステップS602において、ロボット制御部120は、ロボットハンドを駆動し、作業部106の作業基準点105を第1の高さz1に移動し、レーザ距離計108で高さh1を計測する。そして、ロボット制御部120は、ロボットハンドを駆動して、作業部106の作業基準点105をpi1(xi1,yi1,z1)に移動する。ステップS604、S605において、マーカ中心点算出部112は、カメラ101より得られた画像を用いて、校正治具107の校正基準点の位置qi(ui,vi)を、例えば図5で説明した処理により計測する。このとき、画像から算出されたマーカ中心点の、当該画像に対して垂直方向の座標値は、距離測定を行うセンサ、即ちレーザ距離計108により計測された値から取得される。なお、画像に対して垂直方向の座標には、距離測定を行うセンサにより計測された値hiに基づく値が用いられる。本実施形態では、hiがそのまま用いられる。ステップS606で、マーカ中心点算出部112は、そのときの作業基準点105のロボット座標系の座標値pi1(xi1,yi1,z1)に、ステップS605で算出された位置qi1(ui1,vi1)とレーザ距離計108で計測した高さh1を対応付ける。即ち、pi1(xi1,yi1,z1)とri1(ui1,vi1,h1)の組が座標値記憶部117に記憶される。ステップS607により、上記ステップS602〜S606の処理が、n個の校正点について繰り返される。
【0030】
以上のように、校正部113は、第1の高さz1の第1の平面102上の所定の位置に格子状に並んだn個の点p11(x11,y11,z1),…,pn1(xn1,yn1,z1)にロボットアームを動かし、その都度上記の作業を行う。次に同じ作業を、第2の高さz2の第2の平面104上で点p12(x12,y12,z2),…,pn2(xn2,yn2,z2)について行う(ステップS608〜S614)。これによって2n個の離散点における画像座標系とロボット座標系間の変換gi:Ri→Piと逆変換g-1i:Pi→Riを得る。校正を行った点の集合をそれぞれ座標別に{Pi},{Qi},{Ri}とする。
【0031】
なお、ここでは第1の高さで行う校正の点の数と第2の高さで行う校正の点の数が同数であることを仮定しているが、実際は校正の点は同数でなくても可能である。同様に第1と第2の高さの各点の間で、Pi1とPi2のxy座標が(xi1,yi1)=(xi2,yi2)のように一致していなくてもよい。ただし以降の説明では簡単のために2つの高さの異なる第1の平面102と第2の平面104上にそれぞれn個の点が格子状に並んでおり、各点のxy座標の位置は一致している((xi1,yi1)=(xi2,yi2))ものとする。
【0032】
(パラメータの算出)
次に、校正部113は、上述のステップS601〜S614で得られた各校正点の値から校正に必要となるパラメータを求める。
【0033】
図7の(a)に示すようにロボット座標上の点p11とp12はxy平面上の座標位置が同じだが、高さh1,h2が異なっている。このためp11とp12の画像座標上の位置q11(u11,v11)とq12(u12,v12)の間には図7の(b)に示されるような位置ずれがある。なお、図7の(b)ではカメラの像面の歪みやカメラ座標とロボットアーム座標との回転方向のずれ、ロボットアームの組み付け誤差に起因する微小なずれを仮定して図示している。図7の(a)に示すようにカメラの焦点からxy平面に下ろした垂線202の上ではこのような位置ずれは生じない。校正部113では、この垂線202が通過する点を画像座標上で求めてuv平面の原点q0(u0,v0)とする。またq0(u0,v0)に対応するp0(x0,y0)をxy平面の原点とする(ステップS615)。
【0034】
ただし一般に垂線202は校正を行った点qi∈{Qi}のいずれかを通過するとは限らないため、原点q0の算出にあたっては、ずれの量Δqi1=(qi2−qi1)の絶対値が最小となる4点qk1∈D({Qi})を用いて推定を行う。ここでD({Qi})は、校正を行なう点の集合{Qi}のうちΔqの絶対値が最も小さい上位の4点、すなわち原点q0の4つの近傍点を示す。4点におけるずれの量Δqk1を用いて線形補間し、ずれが0となる点q0(u0,v0)をサブピクセル精度で推定する。
【0035】
ここで、図7の(a)に示すようにp12(x12,y12,z2)と画像座標上で同じ位置に見えるp12’(x12’,y12’,z1)を仮定する。カメラからステージ床面までの高さをh0とする。また、ステージ床面から第1の平面102の高さをh1、第2の平面104の高さをh2、Δx1=x12’−x0,Δx2=x12−x0,Δy1=y12’−y0,Δy2=y12−y0とする。この場合、相似の関係から以下の簡単な関係があり、これによって高さh0を求めることができる。
【0036】
【数1】
【0037】
ここで未知の値であるx12’,y12’を求めるには図8に示すようにまず画像座標(u,v)上でq12の周囲の点{q11,q21,q31,q41}を射影変換して正方形の頂点{q11’,q21’,q31’,q41’}を得る。同じ変換を用いてq12をq12’に写す。正方形{q11’,q21’,q31’,q41’}の内分点としてq12’がΔu’とΔv’を内分するパラメータa,b(0≦a≦1,0≦b≦1)を求める。パラメータa,bを用いて{q11,q21,q31,q41}に対応する{p11,p21,p31,p41}の内分点としてp12’(x12’,y12’,z1)を求める。即ち、q12と周囲の点{q11,q21,q31,q41}の相対的な位置関係と、p12’と{p11,p21,p31,p41}の相対的な位置関係が同一になるように、p12’が決定される。
【0038】
(座標変換)
ここで校正を行なった点qi(ui,vi)に任意の高さhを与えた座標ri(ui,vi,h)について考える。相似の関係を用いれば、画像座標riをロボット座標に写す変換fi:Ri→Pを以下のような式で表すことができる。即ち、校正部113は、q0,p0及び2n個の座標の組を用いて、離散点iにおける画像座標とロボット座標の変換関数fi:Ri→Pを得る(ステップS616)。
【0039】
【数2】
【0040】
ただしΔz=z2−z1,Δh=h2−h1とおいている。また、式中のxiとyiは下式のように画像座標系とロボット座標系間の変換関数gi:Ri→Piを用いて求める。
【0041】
【数3】
【0042】
校正を行なった点{Qi}に含まれない位置の変換については、図8で示した方法と同様に校正を行った複数の近傍点の値を用いて射影変換等の方法を用いて補間する。これによって、任意の点r(u,v,h)からp(x,y,z)への座標の変換手段f:R→Pが得られる。即ち、校正部113は、離散点iを補間して画像座標とロボット座標の連続の変換関数f:R(u,v,h)→P(x,y,z)を得る(ステップS617)。逆変換f-1:P→Rについても、f:R→Pと同様にして相似関係と近傍の校正を行なった点の値の補間を利用することによって実現することができる。以上のようにして取得された変換関数fは座標値記憶部117に記憶される。
【0043】
以上のような方法で校正を行った後、校正治具107を取り外して校正を終了する。なお、一度校正を完了すればその後は経年変化や衝撃等による位置ずれのあったときなど、必要なときにのみ校正を行えばよい。またこのときロボットアームの作業に支障がないならば、校正治具107を外さずに被作業物体に対して作業を行ってもよい。
【0044】
(校正終了後の装置の動作)
次に実際にステージ上の被作業物体に対して作業を行う際の装置の動作を説明する。以下では被作業物体が立体形状であり、作業を行う際に基準となる被作業物体の被作業物体基準点111の高さhkがレーザ距離計108で計測する等して既知であることを前提とする。
【0045】
ロボット制御部120は、まずカメラ101でステージ201上の被作業物体110を撮影して作業基準点の画像上の位置qk(uk,vk)を検出する。ロボット制御部120は、被作業物体基準点111の既知の高さhkを用いて、基準点の座標rk(uk,vk,hk)を求める。次に、座標変換部121は、座標値記憶部117に保存されている座標変換のための変換関数fを呼び出してrkを変換し、作業基準点のロボット座標上の位置pk(xk,yk,zk)を求める。ロボットアームの作業基準点105を、求めた作業基準点から所定の距離(xw,yw,zw)だけ離した位置pk+w(xk+xw,yk+yw,zk+zw)に移動させ、所定の姿勢で所定の作業を行う。
【0046】
以上のように、第1実施形態に係る校正治具107は、作業基準点を中心に広がる放射状に配置されたマーカ109を備えるため、校正治具の多くが遮蔽されているような場合にも画像から作業基準点の位置を推定することが可能となる。また平面プレートの校正治具(マーカ)は観測する角度によっては標識面が観測しにくい欠点があるが、上記実施形態のようにマーカが立体の形状を取ることによって、どのような角度からでもマーカを安定して観測することが可能となる。また、複数のカメラを用いた場合には、このような立体的に、且つ、放射状に配置されたマーカにより、様々な角度から同時に校正基準点を観測することが可能となる。
【0047】
また、カメラ101による上方からの撮影ではロボットアームに隠れて校正基準点を直接観測することができない場合が多い。しかしながら、上記実施形態によれば、観測した画像データに複数のマーカの部分形状が含まれていれば、マーカ中心点算出部112によってマーカの中心点の画像座標を推定できる。
【0048】
また、放射状の線分が配置された、図1や図3の(a)、(b)のような校正治具107を、ロボットアーム先端などの所定位置の周囲に用いれば、ハフ変換等の低計算コストの画像処理手法でマーカの線分を検出することができる。このとき校正の作業基準点が遮蔽されていても2本以上のマーカの線分を検出できれば消失点を求めることで基準点が検出可能である。また、3本以上の線分を用いる場合は、最小二乗法等によって消失点を求めることで検出の精度を上げることができる。従って、図3の(a)〜(d)のように基準点(マーカ中心点)が見えない形態や図10の(a)〜(c)のようにマーカの中心部が空間であってもよい。
【0049】
また、校正治具107の形状は、図3に例示したように種々の放射状の形態が利用可能である。特に、図3の(a)〜(c)に示したような円錐の形状のものであれば、ロボットアームにとりつけて動作させる際に他の物体への干渉を少なくさせることが可能である。また、このとき、校正治具に透明の部材を用いれば校正治具自体によって起こるマーカの遮蔽をなくすことができる。
【0050】
<第2実施形態>
次に第2実施形態として、レーザ距離計108を用いない校正の方法を述べる。この方法ではXYZ直交型ロボットアーム以外にスカラー型や垂直多間接型などの多自由度のロボットアームの校正が可能である。第2実施形態では、ロボットアームと、第1実施形態で用いたものと同じ校正治具と、2個以上のカメラを用いる。マーカが立体の形状を取ることによって、どのような角度からでもマーカを安定して観測することが可能となるため、様々な角度から同時に校正基準点を観測することが可能である。第2実施形態では、このようなマーカの特徴を利用して複数のカメラにより同時に校正基準点を観測する。なお、第2実施形態の構成は第1実施形態(図1)とほぼ同様であり、カメラ101が複数台接続された形態となる。
【0051】
複数のカメラ101に関して、それぞれのカメラパラメータを求めておく。カメラパラメータの算出は、形状が既知の校正用の物体を計測する等の一般的な手法によって行うことができる。このとき像面の歪みも幾何補正を行って取り除いておく。
【0052】
第1実施形態と同様の校正治具107を用いて複数のカメラ101で基準点を計測する。そして、各々の画像において検出した校正治具107の基準点の位置をワールド座標上のエピポーラ線に変換する。そして、複数のカメラ画像によって得られた複数のエピポーラ線の交点s1(x1,y1,z1)を求めることで、校正基準点のワールド座標上の3次元位置、即ち3次元座標を算出することができる。
【0053】
第1実施形態と同じように所定の校正を行う位置{Pi}={p1(x1,y1,z1),…,pm(xm,ym,zm)}にロボットアームを動かし、各位置に対応する{Si}={s1(x1,y1,z1),…,sm(xm,ym,zm)}を得る。校正を行う点{Pi}={p1,…,pm}は立体格子状とする。これによってm個の立体格子状の離散点におけるワールド座標系とロボット座標系間の変換fi:Si→Piと逆変換fi-1:Pi→Siを得る。
【0054】
複数のカメラで撮像した任意の物体Jの画像から対応するロボット座標pjを得るためには、上記の格子状の校正点の対応関係を線形補間して求める。まずカメラの数nだけ存在する画像座標上の値{qj1(uj1,vj1),…,qjn(ujn,vjn)}からエピポーラ線の交点を算出してワールド座標sj(xj,yj,zj)を求める。次にワールド座標上のsj(xj,yj,zj)の近傍の複数の点sk(xk,yk,zk)∈D(sj)を求める。ただしs∈D(sj)は校正を行った点の集合{Si}のうちsj(xj,yj,zj)の近傍の8つの頂点{sk(xk,yk,zk)}を表す。8点各々に変換fi:Si→Piを用いてロボット座標上の8点{pk(xk,yk,zk)}を得る。
【0055】
多自由度ロボットアームは直交型ロボットアームと異なり、ロボットアームとワールド座標上の位置ずれがどのような特性で生じるか予想し難い。しかし校正を行なう立体格子状の点{Pi}が十分密な格子であれば、ワールド座標上の頂点{sk(xk,yk,zk)}はスケーリング、回転、スキューおよび平行移動によって立方体に変換することが可能である。skをアフィン変換して立方体の頂点sk’(xk’,yk’,zk’)=A(sk(xk,yk,zk))を得る。同様にsjを変換してsj’=A(sj)を得る。ただしAは三次元アフィン変換を表す関数である。
【0056】
次に、写像先の立方体{sk’}を内分する点sj’の内分点パラメータa,b,c(0≦a≦1,0≦b≦1,0≦c≦1)を算出する。内分点パラメータa,b,cを用いてロボット座標上の立方体の頂点{pk}を内分する点としてpj(xj,yj,zj)を求める。即ち、sj’と周囲の点{sk’}の相対的な位置関係と、pjと{pk}の相対的な位置関係が同一になるように、pjが決定される。この値pjが物体Jのロボット座標上での位置になる。これによって任意のワールド座標の位置とロボット座標の位置の間の校正が可能となる。
【0057】
以上のように、第2実施形態によれば、基準点の高さ位置を計測するためのレーザ距離計108を装着することが不要となる。従って、ロボットアームに装着する部品点数を減少させることが出来る。
【0058】
<第3実施形態>
次に、第3実施形態として第2実施形態で説明した校正処理の派生的な手法として、校正作業中に図3又は図9に示したような校正治具を用いない方法を挙げる。本実施形態ではまず、ロボットアーム上の所定の位置に4つのマーカを配置する。次に、第2の実施形態と同様の校正治具を取り付けてカメラで計測し、校正基準点と4つのマーカを検出する。これらをワールド座標に変換して校正基準点と4つのマーカのワールド座標上の位置を得る。次に4つのマーカと校正基準点のワールド座標上での相対位置関係を記憶する。次に校正治具を外し、以降は4つのマーカの相対位置関係からワールド座標上の校正基準点の位置を決定する。
【0059】
その後の工程は第2実施形態と同じである。なお、この手法が正しく機能するためには、
(1)ここで述べた4つのマーカの位置が作業中に常にカメラから観測できること、
(2)校正基準点とマーカの相対位置が変形やねじれ等によって変化しないこと、
(3)4つの点が同一平面上にないこと、
の3つの条件を満たす必要がある。
【0060】
<第4実施形態>
第4実施形態では、ロボットアームの位置の校正のみならず姿勢の校正も同時に行う方法をのべる。なお、本実施形態の装置構成や校正作業は基本的に第2実施形態と同じである。以下では、図9の(a)に示すように円錐の底面部分の円周上に姿勢検出用の周辺部マーカ901aを付した校正治具を用いて校正を行う場合を説明する。
【0061】
本実施形態では第2実施形態で行った校正作業に加えて、校正治具107の底面部分の円周に配置された周辺部マーカ901aを検出する。なお、周辺部マーカ901aは円形状を有し、校正部113は線分形状のマーカ109aとマーカ109aを容易に識別できる。なお、周辺部マーカ901aは、線分形状のマーカ109aと区別できるように、色や形状が選択されていればよい。そして、一般ハフ変換等の手法を用いて、検出された複数の周辺部マーカ901aに楕円をフィッティングする。次に求めた楕円の中心点を求める。そして、この中心点と基準点(マーカ中心点)を結んだ軸を求めることで校正治具107の円錐の仮想的な頂点が向いている方向を求めることができる。なお、底面部分の形状は円形に限られるものではなく、矩形等、種々の形状を適用することが出来る。なお、このような処理のアルゴリズムは周知であるので、詳細な説明は省略する。
【0062】
またこのとき、図9の(b)に示すように、各々のマーカ901bに色をつけるなどして個々のマーカを区別するようにしてもよい。このようにすれば、画像処理による楕円の検出を行わなくてもあらかじめ記憶装置に記憶されたマーカ間の相対位置関係を参照することによって、校正治具の姿勢を求めることができる。さらに色だけでなく、図9の(c)のように個々のマーカ901cの位置が既知の所定の位置にある校正治具を用いてもよい。この場合も、図9の(b)と同様の効果を得ること、即ち楕円の検出を不要とすることが可能である。この場合の校正治具の姿勢の検出処理も周知であるため、詳細な説明は省略する。
【0063】
以上のように、第4実施形態では、
・校正治具の底面の中心を求めて中心軸を求めること、または、
・互いに識別可能なマーカを付加的に設けてその位置を検出すること、
によってロボットアームの位置姿勢を求める。このように、第1〜3実施形態の校正手法では校正基準点の位置しか検出することができなかったが、第4実施形態によれば、円錐のような方向性を持った校正治具を用いることでロボットアームの位置姿勢を検出、校正することができる。
【0064】
<第5実施形態>
第5実施形態として本発明の校正治具を被作業物体の表面に貼付して被作業物体の基準位置を検出する方法を述べる。まず、図3で示したような校正治具107の作業基準点105を被作業物体110の被作業物体基準点111に合わせる。即ち、マーカ中心点から放射状に、且つ、立体的に複数のマーカが配置された校正治具が、被作業物体110の被作業物体基準点111とマーカ中心点とが一致するように、被作業物体110の外部に固定される。そして、校正治具107を複数のカメラで計測し、第2実施形態と同様の手法を用いることにより被作業物体基準点111の画像上の位置を検出することができる。
【0065】
さらに、図10の(a)〜(c)に示すような形態の校正治具を用いれば、被作業物体110の被作業物体基準点111を校正治具から離れた空間上の一点(1005a〜c)として示すことが可能である。またこのとき図10の(c)のように複数の校正治具を組み合わせることにより、複数台のカメラからの観測が容易になる、基準位置検出の精度を上げるなどの効果を得ることができる。
【0066】
以上のように、本願が用いる校正治具107は、作業部106の校正治具としての用途のみならず、被作業物体の基準点(被作業物体基準点111)の位置を画像から検出するのにも用いることができる。
【0067】
<第6実施形態>
第6実施形態では、上記実施形態で説明した校正治具を用いた被作業物体110の位置決めの正常/異常の判定の方法を述べる。図11ではクレーン状のワーク搬送装置1102で搬送されてくる被作業物体110を空中の所定の位置に位置決めする実施形態を示している。被作業物体110にはあらかじめ所定の位置に複数の位置決めマーカ1101が付してある。また、位置決めを行うステージ201の周囲にはあらかじめ複数の校正治具107が設置されている。このときワークが正しい位置姿勢に置かれたときにのみ、各構成治具107のマーカ中心点が各位置決めマーカ1101と一致するような位置に校正治具107を設置しておく。カメラ101で校正治具107と位置決めマーカ1101とを観測し、画像から求めた校正治具107のマーカ中心点と位置決めマーカ1101が全て一致しているか否かで、被作業物体110の位置決めが正常に行われたかどうかの判定が行われる。
【0068】
即ち、第6実施形態では、マーカ中心点から放射状に、且つ、立体的に複数のマーカが配置された校正治具107が被作業物体110の外部に固定される。このとき、校正治具107は、被作業物体110が所定の位置に移動された場合に、被作業物体110に配置された位置決めマーカ1101の位置と中心点マーカの位置が一致するように配置されている。また、校正治具107は、マーカ中心点が存在する位置には校正治具が存在しない空間となっており、被作業物体110と校正治具107が干渉することはない。
【0069】
従来の被作業物体110の位置決めの判定手法では、被作業物体110が正しい位置におかれたときのマーカの画像上の形状やマーカとマーカの間の相対位置関係を記憶しておく。そして、撮像したマーカが記憶されているマーカと一致したか否かで、位置決めの正常、異常を判定する。しかしこの手法はズームやカメラパンを行わなければマーカを全て観測できないような大きな被作業物体には適さない。対して、第6実施形態では、校正治具107とマーカ1101の一組ずつを個別にズームやパンで観測することにより、位置決めの正常・異常を判定することが可能である。
【0070】
また立体校正治具を用いる従来手法の多くがワークに立体校正治具を貼付する形態を取っているが、本実施形態ではワークに立体校正治具を貼付する必要がない。このため立体校正治具をワークの数の分用意する必要がない。また、ワークに突起物を配置しない(立体構成治具を配置しない)ので作業や搬送の支障にならないという効果がある。
【0071】
以上のように、本実施形態の校正治具は、作業部106の校正治具としての用途のみならず、被作業物体を所定の位置に移動させるときの位置合せの目的で用いることも可能である。
【0072】
以上説明したように、上記各実施形態によれば、校正治具は立体的、且つ、放射状に配置された複数のマーカを備える。このため、計測時に構成治具(マーカ群)が部分的にカメラから遮蔽されていても、ハフ変換等を用いて放射状のマーカの中心を求めることでロボットアームの位置の校正を行うことができる。また、1つあるいは複数のカメラで、さまざまな角度から観測してロボットアームの位置の校正を行うことができる。また、放射状のマーカを備えた円錐状の形状は床やロボットアーム自身等に干渉しにくいため、従来のプレート状の治具に比べて、校正作業時のロボットアームの姿勢の自由度が大きい。場合によっては、構成治具を装着したままロボットを稼動させることも可能となる。また、上記実施形態の構成治具は、何もない空間上の一点を校正や位置合せの基準点として利用することができる。
【0073】
特に、近年製造現場において製造工程自動化が進んでおり、カメラ等の撮像装置によって制御されるロボットアームを用いる機会が多くなっている。本願の機械制御装置はこれら製造工程における作業精度を高める利用効果がある。
【0074】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【0075】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0076】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0077】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
【0078】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0079】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【0080】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【0081】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【0082】
【図1】第1実施形態による機械制御装置と、制御対象の機械としてのロボットを模式的に示すブロック図である。
【図2】本実施形態によるロボットを模式的に示す斜視図である。
【図3】第1実施形態で利用可能な校正治具の種々の変形例を示す図である。
【図4】第1実施形態に係わる校正方法を説明する図である。
【図5】円形のマーカ109bを有する構成治具を用いて基準点を画像計測する処理を説明するフローチャートである。
【図6】第1実施形態に係わる校正処理を示すフローチャートである。
【図7】第1実施形態に係わる校正方法の原理を示した図である。
【図8】校正を行った近傍の点を利用して、任意の点の位置を補間する方法を説明する図である。
【図9】校正治具の位置姿勢を同定するためのマーカを付した構成治具の例を示す図である。
【図10】被作業物体の基準位置を位置決めする校正治具の実施形態の例を示す図である。
【図11】校正治具を用いて被作業物体の位置決めをする実施形態を説明する図である。
【特許請求の範囲】
【請求項1】
被作業物体に対して作業を行う作業部と、
マーカ中心点から放射状に複数のマーカが配置された校正治具とを備え、
前記複数のマーカは、立体的に配置されており、
前記校正治具は、前記作業部に対して設定された校正用の基準点と前記マーカ中心点とが一致するように前記作業部に装着されていることを特徴とする作業装置。
【請求項2】
前記作業部を撮像する撮像手段と、
前記撮像手段により撮像された画像に存在するマーカの画像に基づいてマーカ中心点の画像上の座標を算出する算出手段と、
前記算出手段により算出されたマーカ中心点の座標と、前記作業部の前記基準点の装置上の座標とに基づいて、画像上の座標と装置上の座標の間の変換処理を校正する校正手段とを更に備えることを特徴とする請求項1に記載の作業装置。
【請求項3】
前記複数のマーカの各々は、前記マーカ中心点を中心に線分形状を有し、
前記算出手段は、前記線分形状のマーカの交点をマーカ中心点として算出することを特徴とする請求項2に記載の作業装置。
【請求項4】
前記校正治具は、前記マーカ中心点を頂点とした錐体部分を有し、前記複数のマーカが前記錐体部分の側面に配置されていることを特徴とする請求項1乃至3のいずれか1項に記載の作業装置。
【請求項5】
前記校正治具の前記複数のマーカが配置される部分は、光を透過する部材で構成されていることを特徴とする請求項1乃至4のいずれか1項に記載の作業装置。
【請求項6】
前記算出手段は、画像から算出されたマーカ中心点の、前記画像に対して垂直方向の座標を、距離測定を行うセンサにより計測された値から取得することを特徴とする請求項2に記載の作業装置。
【請求項7】
前記作業部を撮像する複数の撮像手段と、
前記複数の撮像手段により撮像された複数の画像の各々について、マーカの画像に基づいてマーカ中心点の画像上の座標を算出する算出手段と、
前記複数の画像からマーカ中心点に関わる複数のエピポーラ線を取得し、前記複数のエピポーラ線の交点に基づいてマーカ中心点の3次元座標を取得する取得手段と、
前記取得手段により算出手段により算出されたマーカ中心点の3次元座標と、前記作業部の前記基準点の装置上の座標とに基づいて、前記複数の画像から取得される3次元座標と装置上の座標の間の変換処理を校正する校正手段とを更に備えることを特徴とする請求項1に記載の作業装置。
【請求項8】
前記校正治具は、前記マーカ中心点を頂点とした錐体部分を有し、前記複数のマーカが前記錐体部分の側面に配置されるとともに、前記錐体部分の底面部分を検出させるための複数の周辺部マーカが配置され、
前記周辺部マーカにより底面部分を検出し、検出された底面部分の中心から、前記算出手段で算出されたマーカ中心点へ延びる方向に基づいて前記校正治具の姿勢を検出する姿勢検出手段を更に備えることを特徴とする請求項2または3に記載の作業装置。
【請求項9】
前記校正治具は、互いに異なる色もしくは形状の複数のマーカを備え、
前記互いに異なる色もしくは形状の複数のマーカの位置関係から、前記校正治具の位置もしくは姿勢を検出する姿勢検出手段を更に備えることを特徴とする請求項2乃至7のいずれか1項に記載の作業装置。
【請求項10】
被作業物体に対して作業を行う作業部と、
マーカ中心点から放射状に複数のマーカが配置された校正治具とを備えた作業装置の校正方法であって、
前記複数のマーカは、立体的に配置され、
前記校正治具は、前記作業部に対して設定された校正用の基準点と前記マーカ中心点とが一致するように前記作業部に装着され、
前記作業部を撮像する撮像工程と、
前記撮像工程で撮像された画像に存在するマーカの画像に基づいてマーカ中心点の画像上の座標を算出する算出工程と、
前記算出工程で算出されたマーカ中心点の座標と、前記作業部の前記基準点の装置上の座標とに基づいて、画像上の座標と装置上の座標を変換するための変換処理を校正する校正工程とを備えることを特徴とする作業装置の校正方法。
【請求項11】
被作業物体に対して作業を行う作業部と、
マーカ中心点から放射状に複数のマーカが配置された校正治具とを備え、
前記複数のマーカは、立体的に配置されており、
前記校正治具は、前記被作業物体の基準点と前記マーカ中心点とが一致するように、前記被作業物体の外部に固定されることを特徴とする作業装置。
【請求項12】
被作業物体に対して作業を行う作業部と、
マーカ中心点から放射状に複数のマーカが配置された校正治具とを備え、
前記複数のマーカは、立体的に配置されており、
前記マーカ中心点が存在する位置には校正治具が存在しない空間となっており、
前記被作業物体が所定の位置に移動された場合に、前記被作業物体に配置されたマーカの位置と、前記マーカ中心点の位置が一致するように、前記被作業物体の外部に固定されることを特徴とする作業装置。
【請求項13】
請求項10に記載の作業装置の校正方法をコンピュータに実行させるためのプログラム。
【請求項1】
被作業物体に対して作業を行う作業部と、
マーカ中心点から放射状に複数のマーカが配置された校正治具とを備え、
前記複数のマーカは、立体的に配置されており、
前記校正治具は、前記作業部に対して設定された校正用の基準点と前記マーカ中心点とが一致するように前記作業部に装着されていることを特徴とする作業装置。
【請求項2】
前記作業部を撮像する撮像手段と、
前記撮像手段により撮像された画像に存在するマーカの画像に基づいてマーカ中心点の画像上の座標を算出する算出手段と、
前記算出手段により算出されたマーカ中心点の座標と、前記作業部の前記基準点の装置上の座標とに基づいて、画像上の座標と装置上の座標の間の変換処理を校正する校正手段とを更に備えることを特徴とする請求項1に記載の作業装置。
【請求項3】
前記複数のマーカの各々は、前記マーカ中心点を中心に線分形状を有し、
前記算出手段は、前記線分形状のマーカの交点をマーカ中心点として算出することを特徴とする請求項2に記載の作業装置。
【請求項4】
前記校正治具は、前記マーカ中心点を頂点とした錐体部分を有し、前記複数のマーカが前記錐体部分の側面に配置されていることを特徴とする請求項1乃至3のいずれか1項に記載の作業装置。
【請求項5】
前記校正治具の前記複数のマーカが配置される部分は、光を透過する部材で構成されていることを特徴とする請求項1乃至4のいずれか1項に記載の作業装置。
【請求項6】
前記算出手段は、画像から算出されたマーカ中心点の、前記画像に対して垂直方向の座標を、距離測定を行うセンサにより計測された値から取得することを特徴とする請求項2に記載の作業装置。
【請求項7】
前記作業部を撮像する複数の撮像手段と、
前記複数の撮像手段により撮像された複数の画像の各々について、マーカの画像に基づいてマーカ中心点の画像上の座標を算出する算出手段と、
前記複数の画像からマーカ中心点に関わる複数のエピポーラ線を取得し、前記複数のエピポーラ線の交点に基づいてマーカ中心点の3次元座標を取得する取得手段と、
前記取得手段により算出手段により算出されたマーカ中心点の3次元座標と、前記作業部の前記基準点の装置上の座標とに基づいて、前記複数の画像から取得される3次元座標と装置上の座標の間の変換処理を校正する校正手段とを更に備えることを特徴とする請求項1に記載の作業装置。
【請求項8】
前記校正治具は、前記マーカ中心点を頂点とした錐体部分を有し、前記複数のマーカが前記錐体部分の側面に配置されるとともに、前記錐体部分の底面部分を検出させるための複数の周辺部マーカが配置され、
前記周辺部マーカにより底面部分を検出し、検出された底面部分の中心から、前記算出手段で算出されたマーカ中心点へ延びる方向に基づいて前記校正治具の姿勢を検出する姿勢検出手段を更に備えることを特徴とする請求項2または3に記載の作業装置。
【請求項9】
前記校正治具は、互いに異なる色もしくは形状の複数のマーカを備え、
前記互いに異なる色もしくは形状の複数のマーカの位置関係から、前記校正治具の位置もしくは姿勢を検出する姿勢検出手段を更に備えることを特徴とする請求項2乃至7のいずれか1項に記載の作業装置。
【請求項10】
被作業物体に対して作業を行う作業部と、
マーカ中心点から放射状に複数のマーカが配置された校正治具とを備えた作業装置の校正方法であって、
前記複数のマーカは、立体的に配置され、
前記校正治具は、前記作業部に対して設定された校正用の基準点と前記マーカ中心点とが一致するように前記作業部に装着され、
前記作業部を撮像する撮像工程と、
前記撮像工程で撮像された画像に存在するマーカの画像に基づいてマーカ中心点の画像上の座標を算出する算出工程と、
前記算出工程で算出されたマーカ中心点の座標と、前記作業部の前記基準点の装置上の座標とに基づいて、画像上の座標と装置上の座標を変換するための変換処理を校正する校正工程とを備えることを特徴とする作業装置の校正方法。
【請求項11】
被作業物体に対して作業を行う作業部と、
マーカ中心点から放射状に複数のマーカが配置された校正治具とを備え、
前記複数のマーカは、立体的に配置されており、
前記校正治具は、前記被作業物体の基準点と前記マーカ中心点とが一致するように、前記被作業物体の外部に固定されることを特徴とする作業装置。
【請求項12】
被作業物体に対して作業を行う作業部と、
マーカ中心点から放射状に複数のマーカが配置された校正治具とを備え、
前記複数のマーカは、立体的に配置されており、
前記マーカ中心点が存在する位置には校正治具が存在しない空間となっており、
前記被作業物体が所定の位置に移動された場合に、前記被作業物体に配置されたマーカの位置と、前記マーカ中心点の位置が一致するように、前記被作業物体の外部に固定されることを特徴とする作業装置。
【請求項13】
請求項10に記載の作業装置の校正方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2009−172718(P2009−172718A)
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願番号】特願2008−14177(P2008−14177)
【出願日】平成20年1月24日(2008.1.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願日】平成20年1月24日(2008.1.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]