(58)【調査した分野】(Int.Cl.,DB名)
1台の単眼の撮像手段と1個の光ビーム照射手段をマニプレータ先端に装着しまた演算装置を持つ装置において、撮像手段の光軸を通る撮像水平面または撮像垂直面に投影した光ビームと撮像手段の光軸は交差角を有するものであって、前記演算装置は、前記撮像手段で撮像した、対象物が置かれる被写面上の光ビーム照射点の画像から前記光ビーム照射点の前記撮像面における位置を求めて、光ビーム照射方向に直交する被写面と前記光ビーム照射手段との距離Lを演算し、この演算では、
1)前記撮像面における前記光ビーム照射点の位置(xi, yi)(i=0,1, .. N)と、
2)前記光ビーム照射点の位置が(xi, yi)であるときの前記被写面と前記光ビーム照射手段との距離Lの実測値Liと、
から予め作成された関係式を参照して、前記求められた光ビーム照射点の前記撮像面における位置に対応する距離Lを求め、前記求められた距離Lに基づいて、ロボットのキネマティクスにより演算される、前記検出装置が取り付けられる関節点の座標である手先座標点と、光ビーム照射点との相対距離を得る、検出装置。
請求項1記載の検出装置において、被写面上の点の位置は光ビーム照射点Sと被写面の法線方向をもって定義される平面を表す数式により演算するものであって、撮像面上の点pを被写面上に投影し、照射点Sを原点とする投影点Pの位置を、撮像カメラ座標系からロボット座標系に演算する、検出装置。
請求項3記載の検出装置において、被写面を、任意の法線方向を有する参照被写面とし、撮像手段の撮像面上の点qを参照被写面上に投影し、光ビーム照射点Sを原点とする投影点Qの位置を、マニプレータ動作方向で定義される被写面上の方向成分に加え光ビーム照射方向成分とSQ→の内積を演算して求める、検出装置。
請求項3または4記載の検出装置を使って、撮像面上の点を求める際、被写面または参照被写面に投影される作業対象物であって、この対象物を含む撮像画像の矩形領域において、輝度差により抽出される要素で対象物を再構成し、第1のプロフイルデータは角度と大きさ(半径)を有する形状データであって、要素群の図形中心の周りを等角度分割し、分割域内の輝度差要素の図形中心からの半径二乗和の平方根を、この総和で除して単位化したものとし、プロフイルを、撮像時の装置取付基準面と光ビーム照射点の距離、輝度差閾値、輝度差要素群の縦横の大きさ、図形中心位置、輝度差要素数により定義する方法。
請求項3または4記載の検出装置を使って、撮像画像中において作業対象物を探索する方法であって、装置取付基準面と光ビーム照射点の距離を算出し、この距離を基準にして、請求項5記載の方法により登録された対象物のプロフイルの中から近い距離のプロフイルと第1プロフイルデータを選び、登録プロフイルの縦横大きさを距離補間または補外して探索ユニットの大きさを決定し、撮像全画面に配置した探索ユニットで作成した第1プロフイルデータの中で、選択した登録第1プロフイルデータとの絶対差総和が最小の探索ユニットを選び出すことによるものとし、対象物の中心をこの探索ユニットの輝度差要素群の図形中心とすることによって撮像面上の点を指定し、光ビーム照射点を原点とする対象物中心の位置を、ロボット座標系の被写面上の方向成分と光ビーム照射方向成分により演算する、検出方法。
マニプレータの先端に請求項1、3または4に記載の検出装置を具え、検出装置に設けた演算装置とロボットコントローラはLAN接続するものであって、ロボットコントローラから通信にて本演算装置に作業対象物の設定と探索命令を出力することにより、本演算装置は、作業対象物のプロフイルと登録第1プロフイルデータを選択し、撮像画像から請求項6における方法により作業対象物の位置を検出し、装置取付基準面から作業対象物中心との距離、被写面上の位置と対象物の向きをロボットコントローラに返信することによって、ロボットコントローラがマニプレータをリアルタイムで操作する、動作制御方法。
請求項5記載の方法を使って、作業対象物の登録プロフイルデータの作成に使用された輝度差要素を抽出する矩形領域を固定し、登録プロフイルの図形中心を撮像画像より抽出する輝度差要素の図形中心に固定することにより、撮像画像より作成された領域固定プロフイルデータと登録の領域固定プロフイルデータとの絶対差の総和を計算することによって矩形領域における変化を数値化し、作業前の状態の良否、作業の進行程度、作業の終了と作業失敗の有無を含む作業品質の良否に係る事項を検知する、撮像画像中の対象物と登録対象物との差分を検出する方法。
請求項8記載の方法において、領域固定プロフイルデータの絶対差の総和が矩形領域における対象物の変化量を示すものであり、これを対象物位置の変化量とすることにより、エンドエフェクタの駆動動力を制御する位置を検出し、ロボットコントローラが動力を制御して作業を実行する、動作制御方法。
【発明の概要】
【発明が解決しようとする課題】
【0007】
ビデオカメラの撮像画は連続画像であるが、前述のいずれも連続画像の1枚を切り出して処理してロボットの動作制御を行っており、連続画像の特性である時間的変化が利用されているとは言えない。
【0008】
連続画像の時間変化とは、ロボット作業の品質に係るものであり、例えば作業対象物のピックアップの失敗の検知や、作業の完遂の監視といったものであり、産業ロボットが今後取り組む課題である。
【0009】
連続画像の1枚を使用するのは、複眼カメラにおいて2次元の撮像画より3次元情報を入手するために、複雑な処理と相当の解析時間(0.4秒程度と言われている)を要するためであるが、単眼カメラにおいては、撮像フレーム(カメラ)を固定し、カメラと被写面の距離は既知とすることにより3次元情報が得られているのである。
【0010】
複眼カメラでは撮像フレームの自由度があるが処理時間がかかり、単眼カメラでは撮像フレームは固定であるが処理時間が速く、これは被写面の距離検出の時間に関係している。
【0011】
特許文献1においては、ハンドに取り付けられた単眼カメラと3本の光ビームを使用して被写面からカメラ焦点までの距離と被写面の向きをリアルタイムで検知する方法が記述されているが、機器の配置を検知数式が適用できるように調整するのが難しいこと、また、作業対象物の検知やハンドの動作制御については今後の課題となっている。
【課題を解決するための手段】
【0012】
本発明では、マニプレータに取り付けられた1台の単眼のカメラとカメラ光軸と角度をなす1本の光ビームを使用し、撮像面の光ビーム照射点の位置より照射点と装置の取付基準面との距離を算出し、光ビーム照射点群の撮像面座標と基準面との距離をあらかじめ測定し、この照射点群を結ぶ直線を光ビームとして四角錐の仮想撮像空間に取り込み、光ビーム照射点と照射方向を同定して、光ビーム照射点を通り光ビームに直交する被写平面を表す数式を作成し、被写面上の撮像点の位置をこの数式を演算して求めるものである。
【0013】
光ビーム照射点は、撮像面において、装置の取付基準面との距離に関係する一直線上の撮像点であり、検出が容易であり、近似式を用いることにより高速で距離が算出できるためリアルタイムでの画像処理が可能となる。
【0014】
作業対象物は、撮像画像の輝度差によって特徴付けられる輝度差要素を抽出し、プロフイルをこの輝度差要素により定義し、要素群の図心を中心とし、その周りを等角度分割し、分割ゾーン内の要素の個数比率の平方根と平均距離の積を単位化してプロフイルデータとする。
【0015】
プロフイルデータは原イメージデータを圧縮したものでありリアルタイム処理を容易にするものであると共に、輝度差を利用することで環境の照度に影響され難い性質を有するものであって、光ビーム照射点の輝度差を得るためにはむしろ環境照度が低いほうが望ましい面もある。
【0016】
作業対象物の探索は、撮像画像全体を分割、これを再結合して探索ユニットを構成し、前記プロフイルデータを作成し、あらかじめ作成し登録された探索すべき作業対象物のプロフイルデータと比較し、全探索ユニットの内で差異が最小で許容値以内のものを選ぶことにより行い、作業対象物の位置は探索ユニットのプロフイルの中心とする。
【0017】
なお、作業対象物の向き(回転)は、登録作業対象物のプロフイルデータと移動比較し、絶対値総和の差異が最小の角度(位相)とするが、その精度は、分割角の大きさが計算速度に反比例するため、リアルタイム処理を優先すれば制限される。
【0018】
探索された作業対象物のプロフイルの中心(図心)を被写面上の撮像点の位置とすることにより、光ビーム照射点からの平面位置が計算され、作業対象物の3次元位置が求められる。
【0019】
本発明の機器構成は、マニプレータに取付ける1台の単眼カメラと1本の光ビームより構成される装置と前記演算処理(作業対象物のプロフイルデータの生成と管理を含む作業対象物の探索や3次元位置の計算)の結果や画像を表示する演算装置より成る。
【0020】
当該装置を取付けたマニプレータの操作は、ロボットコントローラによって行われ、本検出装置の演算装置とはLAN接続により相互通信するが、ロボットコントローラを主とし本検出装置の演算装置は従とする。
【0021】
ロボットコントローラより作業対象物を設定し、探索を行う命令を本検出装置の演算装置に通信により伝えると、命令を受けた本演算装置は撮像画像を解析し、光ビーム照射点と装置取付基準面との距離、光ビーム照射点を原点とする作業対象物の中心の平面位置及び対象物の向きを、ロボットコントローラに返す。
【0022】
ロボットコントローラは、返信された作業対象物の3次元位置とエンドエフェクタ等の作用点位置の関係を計算し、マニプレータの動作を制御する。
【0023】
作業対象物の3次元位置はリアルタイム(100msec程度)で更新できるので、状況をフィードバックしながら、ロボットコントローラはマニプレータの操作を行うことができる。
【0024】
本装置の撮像カメラは動くマニプレータに設置されるため、解析に適用できる撮像画像は鮮明な画像が撮れる速度から静止での撮像になるが、ロボットの作業動作において作業対象物に接近する場合は低速になる機会がありこれを利用するか、意図的に撮像する機会をつくる必要がある。
【発明の効果】
【0025】
本発明は、単眼カメラによる2次元画像を光ビーム照射の付加により3次元画像に変換し、作業対象物の画像はプロフイルデータに圧縮することにより、簡便で安価な3次元リアルタイム画像解析システムを提供する。
【0026】
産業ロボットにおいては、従来、画像解析システムは、撮像カメラを固定(ロボットの外界または本体に設置)または半固定(旋回や首振りをするロボットヘッドに設置)して利用されてきたが、本発明の撮像カメラは動くマニプレータに設置し、作業対象物との距離、位置や向き(回転)をリアルタイムで検出する新しい検出装置である。
【0027】
ロボット操作に本発明の検出装置を適用することにより、マニプレータと作業対象物との相対距離や位置を測定し、向きの検出を行いながら対象物にエンドエフェクタを作用させるといったロボットの新しい作業形態を提供することができる。
【0028】
これは、ロボットのティーチングの過程にも共通するものであり、現在多くの労力を必要とする作業の省力化と確実性に貢献することが考えられる。
【0029】
また、連続画像の時間的変化を利用することにより、エンドエフェクタと作業対象物の相対位置を監視することで対象物の把持の成否や、対象物基準画像との差異を比較することにより対象物のアライメントの良否や、差異の進行を検知することで作業進行状況の程度や良否といった、従来、対応が難しかったエンドエフェクタにおいて発生する不確実性の解消に貢献することが考えられる。
【発明を実施するための形態】
【0031】
以下、本発明を実施する形態を図面に基づいて説明する。
図1は、対象物の3次元位置検出装置の一実施例の構成を示すものであり、光学系を前方より斜視した構成図、
図2は、仮想撮像面上に写される光ビーム照射点の位置と検出装置取付基準面から光ビーム照射点までの距離を示す図、
図3は、撮像面、仮想撮像面と光ビーム照射点の幾何を示し、成立する数式を説明する図、
図4は、参照被写面上の対象物図心の位置を、光ビーム直交面に投影する数学的処理を幾何的に示す図である。
【0032】
図1および
図3において、3次元位置検出装置は、フレーム3にて固持される光ビーム照射装置1と撮像カメラ2より成り、光ビーム照射装置から照射される1本の光ビームが照射方向ベクトルnb→に対して、光ビームと撮像カメラ光軸とは交差する必要はないが、撮像カメラの光軸LCを通る撮像水平面と角度α、同垂直面と角度βをなす配置にあり、撮像カメラの被写面4は、光ビーム照射点Sにて交わり、検出装置取付基準面BPからの距離Lであり、光ビーム照射方向ベクトルに直交するものであり、演算装置6により、被写面に投影された作業対象物5の画像は、本発明にて考案したプロフイルデータに圧縮され、輝度差要素群の図心はカメラ仮想撮像面2bの座標(Xi,Yi)に演算され、光ビーム照射点の同座標(Xs,Ys)より、被写面上の光ビーム照射点を原点(0,0)とする作業対象物の中心の平面位置(DXn,DYn)が演算され、ロボットコントローラ7の出力命令を通信で受けた演算装置が、作業対象物のこれら3次元位置情報と向きθを、ロボットコントローラへ通信にて出力する検出装置である。
【0033】
光ビーム照射装置1としては
図9にこの一実施例を示すが、レーザーポインターに使用される光ビーム照射モジュール1cを光ビーム発生装置とし、これを内筒1bに内包・固着させ、フレーム3に固持された外筒1aに弾性体の保持部材1dにて支持するが、光ビームの照射方向を微調整できる方向調整ボルト1eを外筒に具え、安全性を増し撮像面焼けを防止する減光板1fを内筒端部に具え、減光板には光ビームの大きさを決める絞穴1gを、
具えてなるものである。
【0034】
撮像カメラ2としては、CCD撮像素子等を撮像面2aとし、演算装置6に撮像信号を入力できるカメラ(例えばUSB端子で接続するWEBカメラ)であり、遠くや近くの被写体が鮮明に撮像できるオートフォーカス機能をもつことが望ましい。
【0035】
演算装置6としては、ディスプレイ(映像表示装置)やUSB端子等の接続等の入出力インターフェイスを持ち、外部機器と通信ができ、ROM等に記憶したプログラムに基づき一時記憶にRAM等を使用しながらCPU(中央演算装置)で演算処理を行うマイクロコンピュータを用いることができる。
【0036】
ロボットコントローラ7としては、マニプレータを操作する装置であり通常マニプレータに付属しているものであるが、自ら演算装置を有し、演算装置6と通信を行って命令を発信し、結果を受信し、操作に反映するため通信機能を有することが必要である。
【0037】
図2において、本発明の根幹をなす光ビーム照射による被写面までの距離を検知する機構を幾可的に説明するが、撮像カメラ2と撮像面2aが成す四角錐と同仮想撮像面2bの成す四角錐は相似関係にあり、光ビーム照射装置1の取付基準面BPから被写面4までの距離Lであり、光ビームは被写面4上の光ビーム照射点Sにて交わり、仮想撮像面との交点を光ビーム照射点とすると、撮像面は、通常、撮像画面の右方向をxsc、下方向をyscとし左上を原点(0,0)とする微小四角撮像素子のピクセル単位の座標が使用され、これをmm単位の実サイズを有する仮想撮像面の座標軸をXsc、Yscとし、光ビーム照射点の仮想撮像面上での座標(Xscs,Yscs)とし、撮像面上の座標(xscs,yscs)とする。
【0038】
一例として、光ビーム照射点の距離をL1からL7の等間隔とし、各照射点と仮想撮像面を有する四角錐の頂点を結ぶ直線を伸縮し、仮想撮像面との交点群を作成すると、交点群は一直線上にあり、この直線の式を撮像面にて
yscs=ysc0+a0・xscs
とすると、ysc0は直線のysc軸切片の値であり、a0は直線の傾き定数であって撮像カメラが光軸を中心にx軸から角度tan
-1a0回転していることを示すものであり、これらは実際に撮像された画像を使用して求めることができる。
【0039】
光ビーム照射点の仮想撮像面での座標Xscsは、光ビーム照射方向ベクトルnb→を、撮像カメラの光軸を通るカメラ水平面に投影した直線ベクトルと撮像カメラの光軸のなす角度αに関係しているが、ピクセル単位である撮像面の座標xscsと距離Lは強い対数関係の相関性を有し、実際に撮像された画像を使用し作成する近似式を、一例として、
L=10
f(xscs)
とすると、ここで、
f(xscs)=Σbi・xscs
i (但しi=0から4)
であり、この近似精度は、一実施例では、距離Lが100から500mmにおいて最大で0.86mm、平均で0.26mmであって、より高次の近似式にすれば精度は向上する。
【0040】
なお、光ビーム照射方向が、検出装置取付基準面BPと正に直交することは、取付基準面に対して平行移動する平面上において、光ビーム照射点の位置が不動であることによって担保される。
【0041】
距離Lは、撮像面において光ビーム照射点が存在する直線上を探索し、光ビーム照射点を見出すことにより座標(xscs,yscs)が求められ、前記の近似式によって算出できるが、赤色光ビームの光ビーム照射点は、左右上下ピクセルの赤色輝度差と中央最大輝度に閾値を設けることにより安定して見出すことができる。
【0042】
ここで、
図3に示すように、光ビーム照射点Sの関係式を導出するために、撮像面2aに撮像カメラ光軸LCと交わる新たな座標を導入し、これを撮像面のxy座標とし、撮像面の幅をwピクセル、高さをhピクセルとすると、x軸とy軸はxsc軸とysc軸に関して
x=xsc−w/2
y=ysc−h/2
となり、z軸をカメラ光軸方向とすると、撮像面を有する四角錐の高さは焦点距離fピクセルであり、撮像面はz=fとなり、撮像面と相似関係にある仮想撮像面2bにもXY座標を導入する。
【0043】
光ビームを撮像カメラの仮想撮像空間(四角錐)に特徴付ける3つの変数、角度α、角度β、距離H0を導入し、以下、これらを定義するが、角度αはカメラ光軸LCを通るカメラ水平面へ投影した光ビーム投影直線とカメラ光軸のなす角度であり、角度βはカメラ光軸を通るカメラ垂直面へ投影した光ビーム投影直線とカメラ光軸のなす角度であり、距離(高さ)H0は同垂直面と光ビームの交点SYの焦点からの距離であるが、光ビーム照射点Sは仮想撮像面2b上にあり、検出装置取付面BPからの距離はLであり、その座標を(Xi,Yi)とし、カメラの撮像空間において、光ビームの同水平面投影直線のZ軸の切片とX軸切片を結ぶ直線の長さをLihとすると、光軸上のXY座標原点とZ軸の切片を結ぶ直線の長さはLih・cosαであり
Xi=Lih・sinα
となり、交点SYの同水平面からの距離をY0とすると
Yi=Y0+Lih・cosα・tanβ
ちなみに光ビーム照射点の直線式から
yi+h/2=ysc0+a0・(xi+w/2)
ここで、xi=0においては
y0=ysc0+(a0・w+h)/2
であり、光ビーム照射点Sと交点SYの光ビーム長さは
Li=Lih・√{1+(cosα・tanβ)
2}
となり、仮想撮像面の焦点からの距離をHiとすると
H0=Hi-Lih・cosα
検出装置取付面BPから交点SYまでの距離は
L0=L-Li
一方、距離L=10
f(xi)の式を用いると
L0=10
f(0)
となる。
【0044】
角度αとβは、実際の撮像画像を用いて求めることができ、その方法は、角度αは、光ビームと直交する被写面4上にスケール直線部をX軸に平行に置き、被写面を検出装置取付基準面BPからの距離ΔLiを平行移動させときのX=0のスケール読値の変化量Δmxより
tanα=Δmx/ΔLi/fβ
ここで、
fβ=√{1+(cosα・tanβ)
2}
であり、例えば、α=24°とβ=1°では、fβは1.0001であり、小さいβにおいては
tanα=Δmx/ΔLi
とすることができ、また、角度βは、被写面上にスケール直線部をY軸に平行に置き、被写面を同距離ΔLi平行移動させときのY=0のスケール読値の変化量Δmyより
tanβ=Δmy/(ΔLi・cosα)/fβ
であり、小さいβにおいては
tanβ=Δmy/(ΔLi・cosα)
とすることができる。
【0045】
光ビーム照射点を撮像カメラ撮像空間に定めるには、交点SYの高さH0とカメラ焦点距離fを同定する必要があり、M個の等間隔の光ビーム照射点の実際の撮像画像を使用して解析すると、撮像面上の光ビーム照射点座標(xi,yi)は撮像画像より読み出され検出装置取付面BPから交点SYまでの距離L0は既に求められており
Li=L−L0
Lih=Li/fβ
Xi=Lih・sinα
Hi=H0+Lih・cosα
であるから、撮像面の撮像空間(四角錐)と仮想撮像面の仮想撮像空間の相似関係により
xi/f=Xi/Hi
であるので、各光ビーム照射点について、平方残差(Xi/Hi−xi/f)
2を求め、照射点の個数をMとするとこの平均総和の平方根
O(Hi,f)=√{Σ(Xi/Hi−xi/f)
2}/√M (但しi=1からM)
が最小となるHi(即ちH0)とfを決定することにより同定され、この精度は4桁程度で充分である。なお、焦点距離fが撮像カメラの仕様により既知であれば、交点SYの高さH0のみの同定計算となる。
【0046】
光ビーム照射方向ベクトルnb→は、光ビーム長さLiのX、Y、Z方向成分よりLih・sinα、Lih・cosα・tanβ、Lih・cosαであり、単位ベクトルにすると
nb(sinα/fβ、cosα・tanβ/fβ,cosα/fβ)→
となる。
【0047】
光ビームに直交する被写面4の法線方向ベクトルはnb→であり,焦点をZ=0とし仮想撮像面2bにX軸Y軸を有する直交座標系において、被写面上の光ビーム照射点Sを通る平面の式は
nbX(X−Xi)+nbY(Y−Yi)+nbZ(Z−Hi)=0
ここで
nbX=sinα/fβ
nbY=cosα・tanβ/fβ
nbZ=cosα/fβ
で表わされる。
【0048】
撮像面に写された作業対象物の位置より被写面上の位置を決定するには、焦点oから撮像面2a上の点p(xp,yp)を通る直線opと被斜面4との交点Pを求めることであり、直線opの方向ベクトルop(xp/op,yp/op,f/op)→より、ここで
op=√(xp
2+yp
2+f
2)
であり、直線opの式は
X/(xp/op)=Y/(yp/op)=Z(f/op)
であり、
X=(xp/op)T
Y=(yp/op)T
Z=(f/op)T
として、先に示した被写面上の光ビーム照射点Sを通る平面の式に代入すると
T=nb→・oS→/nb→・op→
ここで、nb→・oS→とnb→・op→は、ベクトルの内積であり成分で表わすと
nb→・oS→=nbX・Xi+nbY・Yi+nbZ・Hi
nb→・op→=nbX・xp/op+nbY・yp/op+nbZ・f/op
となる。
【0049】
被写面上の点Pは、作業対象物の投影図心を示すものであり、被写面の原点は、視認が可能な光ビーム照射点Sとし、被写面上の座標軸は、光ビームの廻りに任意に決めることができ、マニプレータの動作軸方向を選ぶのが実用上便利であるが、ここではデフォルト(初期設定)として撮像カメラの仮想撮像面の座標軸X、Yを用いて、被写面のXn軸とYn軸を決めると
Xn→=Y→×nb→
Yn→=nb→×X→
ここで、×はベクトルの外積を表し、成分で表すと
Xn(nbZ/SX,0,−nbX/SX)→
Yn(0,nbZ/SY,−nbY/SY)→
ここで、
SX=√(nbZ
2+nbX
2)
SY=√(nbZ
2+nbY
2)
となる。
【0050】
被写面上の点S(Xs,Ys,Zs)と点P(Xp,Yp,Zp)を結ぶ直線SPのベクトルをSP(Xp−Xs,Yp−Ys,Zp−Zs)→とすると、各座標軸成分はSP→と各座標軸ベクトルXn→、Yn→とnb→の内積となり、Xn軸の成分は
SP→・Xn→=(Xp−Xs)・nbZ/SX−(Zp−Zs)・nbX/SX
Yn軸の成分は
SP→・Yn→=(Yp−Ys)・nbZ/SY−(Zp−Zs)・nbY/SY
Zn軸の成分は、SP→とnb→が直交するので
SP→・nb→=0
となる。
【0051】
被写面は光ビームと直交するとは限らないので、
図4に示すように、法線方向ベクトルnr(nrX,nrY,nrZ)→を有し、光ビーム照射点Sを通る参照被写面4aと称する平面の式は
nrX(X−Xi)+nrY(Y−Yi)+nrZ(Z−Hi)=0
であり、撮像面2a上の点をq(xq,yq,zq)、仮想撮像面2b上の点Qとすると
Tr=nr→・oQ→/nr→・oq→
Xq=(xq/oq)Tr
Yq=(yq/oq)Tr
Zq=(f/oq)Tr
となる。
【0052】
参照被写面4a上の点Sと点Qを結ぶ直線ベクトルSQ→は、光ビーム直交面の座標軸Xn、Yn、Znの成分で表す方が、マニプレータの操作上便利であり、各座標軸成分はSQ→と各座標軸ベクトルXn→、Yn→とnb→の内積であり、Xn軸成分は
SQ→・Xn→=(Xq−Xs)・nbZ/SX−(Zq−Zs)・nbX/SX
Yn軸の成分は
SQ→・Yn→=(Yq−Ys)・nbZ/SY−(Zq−Zs)・nbY/SY
Zn軸の成分は
SQ→・nb→=(Xq−Xs)・nbX+(Yq−Ys)・nbY
+(Zq−Zs)・nbZ
となる。
【0053】
ここで、参照被写面4aを仮想撮像面2bとすれば、撮像画像が焦点からの距離Hiの正面画像となるので、撮像カメラの撮像面をマニプレータ取付基準面に平行に、光ビーム照射方向を撮像カメラ光軸と角度を成す、撮像カメラ基準の検出装置にすることができる。
【0054】
この3次元位置検出装置とマニプレータを使用して、被写面の向き(法線方向)を求める手順と方法を示すと、
(1)ロボットコントローラが現在位置の被写面までの距離検出を命令
(2)本演算装置からロボットコントローラに現在位置の被写面までの距離L00を返信
(3)ロボットコントローラがロボット動作X方向にX01移動し、距離検出を命令
(4)本演算装置からロボットコントローラに距離L01を返信
(5)ロボットコントローラがロボット動作X方向に−X01、動作Y方向にY01移動
した後、距離検出を命令
(6)本演算装置からロボットコントローラに距離L02を返信
により、コントローラの演算装置にて、動作X方向に傾き(L01−L00)/X01、動作Y方向に傾き(L02−L00)/Y01があることが計算される。マニプレータの検出装置取付基準面を、これら傾きを解消するように操作すれば、被写面に平行な姿勢となる。また、検出装置の傾きの検出精度は、一実施例では、1/100より小さい。
【0055】
ロボット動作方向を、この検出装置に登録する手順と方法は、
(1)被写面上に円板等の対象物を置き、検出装置の取付基準面を被写面に平行な姿勢にする
(2)検出装置に対象物撮像画像の図心(x00,y00)を記憶
(3)ロボット動作X方向にX02移動
(4)対象物撮像の図心(x01,y01)を記憶
により、ロボット動作X方向ベクトル(x01−x00,y01−y00)→が求められる。
ロボット座標系で使われる+Z方向を手前側にすると、ロボット動作Y方向はこれより反時計回りに90°の方向となるが、ここで、ロボット座標系と撮像カメラ座標系では、Y方向とZ方向が逆向きになっていることが多いので注意を要する。
【0056】
撮像画像より作業対象物を抽出しプロフイルおよびプロフイルデータを作成する方法を説明するが、撮像面は水平(xsc軸)方向と垂直(ysc軸)方向にピクセルという画素を有し、そのサイズは例えば(800x600)のように表し、カラー画像では光の3原色(赤、緑、青)についてそれぞれ輝度値を有するが、この発明では白黒の輝度値(グレースケール)を用いて、水平3ピクセルの左右および垂直3ピクセルの上下の輝度差が、閾値Br以上である3ピクセルを、一つの輝度差要素として抽出し、撮像面座標上に記憶する。
【0057】
作業対象物の撮像された部分を、全画面から長方形で切り取り、水平輝度差要素は垂直方向に逐次、水平方向に3ピクセル毎に、また、垂直輝度差要素は水平方向に逐次、垂直方向に3ピクセル毎に探索し、見出された輝度差要素は個々に座標値を記憶し要素の総個数Neを対象物のプロフイルとして記憶する。ここで、3ピクセルの両端の輝度差を用いるのは、同じ輝度差であれば、隣接するピクセルよりも要素数が多く対象物が捉えやすいこと、および、探索が3ピクセル毎で2ピクセル毎より1.5倍の速度になるためである。
【0058】
なお、輝度差閾値Brと総要素数Neの関係は、一実施例によると、閾値16から40までは、はぼ反比例しているが、50以上になると要素数が加速度的に減少しており、高い閾値は撮像画像の特徴を捉えているが全体を表すものではなく、プロフイルとしての閾値は画像全体を表しかつ要素数が少ないことが望まれるが、表1に一実施例を示す。
【表1】
【0059】
輝度差要素の探索と同時に、要素の水平座標(xsci)、垂直座標(ysci)をそれぞれ加算すると、輝度差要素群の図心(xscc,yscc)は、探索終了時の総要素数Neより
xscc=Σxsci/Ne (但しi=1からNe)
yscc=Σysci/Ne (但しi=1からNe)
となる。
【0060】
撮像画像のプロフイルは、図心の周りを等角度でJ分割し、輝度差要素を、図心からの相対座標(xai,yai)によって該当する分割角度ゾーンに配置し、角度ゾーン番号θで表されるゾーン毎に要素の総個数Nθjと平均半径rθjを演算して作成するが、これらを式で表すと
xai=xsci−xscc
yai=ysci−yscc
θ=fθ(xai,yai)
sumrθj=Σ(xai
2+yai
2) (但しi=1からNθj、θ=j)
rθj=√(sumrθj/Nθj)
であり、ここで、fθ関数は、座標(xai,yai)に、角度ゾーン番号θをあらかじめ記載したテンプレートを用いて、θを読み出すことを表す。
【0061】
平均半径rθjは正しく形状を表しているが、プロフイルデータrθpjとしては、特徴付けを行うために、角度ゾーンの半径二乗和sumrθjの平方根をその総和Σ√sumrθjで除して単位化(データの総和が1)を行ってパーセント(%)で表し、これを式にて表すと
rθpj=√sumrθj/(Σ√sumrθj)・100 (但しj=1からJ)
となる。
【0062】
作業対象物を単独で撮像したプロフイルデータrθpjと背景に何らかの画像が写り撮像されたプロフイルデータでは差異が大きくなり(劣化するという)、対象物ではない部分を撮像したプロフイルデータと判別が難しいことがあるが、同一角度ゾーンの個々の要素半径rθjiと平均半径rθmjの平均絶対差を用いて、要素半径の分布値Δrθjを演算することにより、単独で撮像した分布値に近い(由来する)ものかを判別することができるので、この分布値Δrθjをプロフイルデータに加え、これを式で表すと
rθji=√(xai
2+yai
2) (但しθ=j)
rθmj=(Σrθji)/Nθj (但しi=1からNθj)
Δrθj=(Σ|rθji−rθmj|)/rθmj/Nθj
(但しi=1からNθj)
となり、プロフイルデータrθpjの劣化が大きいとき真偽の判別に使用する。
【0063】
プロフイルデータrθpjの一実施例を
図5に示す。−印で示す水平輝度差要素と|印の垂直輝度差要素が対象物の輪郭を表し、+印の図心の周りを36分割した○印で示す平均半径rθjは輪郭上にあって正しく形状を表わしており、◎印で示すプロフイルデータrθpjは特徴的な形になっているのが判る。この例では、輪郭の一部が欠けており対象物全体を捉えるには、輝度差の閾値を小さくし輝度差要素数を増加させる必要がある。なお、この例のプロフイルは、距離143mm、輝度差48、輝度差要素数772、要素幅93ピクセル、要素高253ピクセルであった。
【0064】
撮像全画面の中より作業対象物を探すときは、対象物の大きさと形状を基に行うが、大きさは対象物の距離に、形状は輝度差閾値による要素数に関係しており、本発明においては、撮像画像中に即座に距離が見出されるので、距離に関するプロフイルおよびプロフイルデータを登録し、撮像画像の一部分である探索ユニットより抽出されるデータと比較することにより容易に対象物を見出すことができる。
【0065】
一実施例として、表2に対象物距離と輝度差・要素数を、
図6に距離とサイズを、
図7に距離とプロフイルデータrθpjを示すが、対象物距離が検出されると
図6から近い距離の縦横大きさを選び距離補間または補外して対象物のサイズが計算され、対象物の向きは不明なので大きい方の高さを対象物サイズとするが、抽出する撮像画像のサイズが決定される。
【0066】
比較のベースとなる
図7のプロフイルデータをみると、距離237から479における絶対差の総和は数%以下であり距離にかかわらずほぼ同じであり、距離169のプロフイルデータは一部に欠けがあり他の距離とは少し形が異なり改良の余地があるが、絶対差の総和は10%程度であり登録データとしては有効である。
【0067】
ここで、撮像全画面の画像より対象物を探す手順と方法を示すと、
(1)対象物を登録
(2)撮像画像から被写面までの距離Lを検出
(3)近い距離の登録データrθpjTを選択し
(4)探索ユニットのサイズを決定
(5)探索輝度差要素数を設定、例えば、登録要素数の0.85から1.2倍
(6)撮像画面全体に探索ユニットを配置
(7)探索ユニットの輝度差要素数を計算
(8)設定要素数の範囲内であれば、プロフイルデータrθpjSを作成
(9)絶対差の総和Σ|rθpjS−rθpjT|が最小となる位相を計算
(10)この絶対差総和の小さい順に探索ユニットを整列
(11)最小の絶対差総和が、例えば20%より、小さければ探索対象物と判別
(12)大きければ、プロフイルデータの分布値ΔrθjSを計算し真偽を判別
により行う。
【0068】
この検出装置がリアルタイムで動作するには、撮像画面に探索ユニットをいかに配置し、高速で探索するかが重要となり、このひとつの方法を
図8に示すが、全画面800x600ピクセルを、24x24ピクセルのブロックに分割し、ここで、ブロック位置(bw,bh)、ブロック番号kとし、ブロックの特性値Bxkとすると、水平方向は33ブロックに分割されるので
k=33bh+bw
探索ユニットの水平・垂直ブロック数Mbとすると、水平部分の総和sumWBxkは
sumWBxk=ΣBxk (但しk=kからk+Mb−1)
探索ユニットの特性値の総和sumBxkは、垂直部分がk、k+33、k+33×2、・・、k+33(Mb−1)であるので
sumBxk=ΣsumWBxn (但しm=0からMb−1、n=k+33m)
となる。
【0069】
この方法が高速演算できるのは、sumWBxkをsumWBx(k)で表すと右隣はsumWBx(k+1)=sumWBx(k)+Bx(k+Mb)−Bx(k)
sumBxkをsumBx(k)で表すと直下は
sumBx(k+33)=sumBx(k)+sumWBx(k+33Mb)
−sumWBx(k)
であり、既計算値に隣接特性値を加減算することにより順次計算できるからである。
【0070】
登録データで使用した撮像画面の区域と登録データの図心を固定すると、登録プロフイルデータと撮像プロフイルデータの絶対値差総和Σ|RθpjS−RθpjT|は作業の進行過程の値を表し、この最終形の値を与えることにより作業完了を検知することができるので、ロボット作業の過程の監視や作業前の対象物の姿勢の良否の判定といったロボット作業の品質を管理向上することが可能となる。
【0071】
ここで、プロフイルデータRθpjは、特徴付けられたrθpjに替り、形状を正しく表す平均半径rθjを使用し、
Rθpj=rθj
とし、領域固定のプロフイルデータRθpjと称する。
【0072】
前記の方法を使って、エンドエフェクタの駆動機構の位置検知センサとし、駆動機に始動や停止の命令を出力することができるので、人が目視確認しながら道具を使うような作業も可能となる。
【0073】
本発明の一実施例として、
図10に対象物の3次元位置検出装置を具えた移動型アームロボットの斜視図を、
図11にアームロボットの部分を取り出した斜視図を示す。
【0074】
移動型アームロボットは、移動台車9aの前方中央に本発明の対象物の3次元位置検出装置を具えたアームロボットを据え、移動台車の後方左右に独立して回転する駆動車輪9bを、前方下左右には自在キャスターを配して任意の2次元方向に前進と後退することができるものであり、後方中央部には動力源である蓄電池とロボットコントローラ、本発明の検出装置用演算装置、LAN通信設備やその他の制御器を収納する設備空間のカバー9cがあり、移動台車の中央左右は荷物置き場9eとなっており、荷物置き場の両側面と後方には台車カバー9dを配して荷崩れを防止し、アームロボットは移動台車前方の地上または両側より物体をピックし荷物置き場に収納することができる。
【0075】
移動台車の操作は、2つの形態によって行われ、ひとつは撮像画像の目印やマークを検出し追跡する走行モードであり、もうひとつはアームロボットの作動範囲外に対象物がある場合に作動範囲内になるようにする接近モードであり、共に、独立して回転する左右の駆動車輪を制御して行う。
【0076】
移動台車においてオドメータ機能は常備されるが、長距離の走行で誤差が蓄積されるので要所地点での位置確認が必要となるが、本発明の対象物の3次元位置検出装置をこの用途に供することができる。
【0077】
アームロボットは6軸の多関節を持ち、その軸組は、肩ヨー−肩ピッチ−肘ピッチ−手首ヨー−手首ピッチ−手首ロールであり、手首3軸は直交しており、3次元位置検出装置は、フレーム3の取付基準面を5自由度ある手首ロール軸の駆動機構8hの背面に密着させ、手首ロール軸と光ビーム照射方向が平行になるようにして、この照射方向が任意の向きにできるようにすることを図っている。
【0078】
アームの制御は、検知した対象物とエンドエフェクタ作用点との相対距離、平面位置と向きのデータを本発明の検出装置から得ることによって、行われる。
【0079】
アームロボットの構造は、アーム台座8aのフランジ上に肩ヨー駆動機構8bを、肩ヨー駆動機構の出力端にL形の肩ヨーボデイ8cを、肩ヨーボデイの端部に肩ピッチ駆動機構8dを、肩ピッチ駆動機構の出力端にフォーク形の肩ピッチボデイ8eを、肩ピッチボデイのフォークの片側に肘ピッチ駆動機構8lを、肘ピッチ駆動機構の出力端に肘ピッチボデイ8fを、肘ピッチボデイの内部に手首ピッチ駆動機構を、手首ピッチ駆動機構の出力端にオフセットした形の手首ヨーボデイ8gを、手首ヨーボデイの端部に手首ピッチ駆動機構8kを、手首ピッチ駆動機構の出力端にL形の手首ピッチボデイ8jを、手首ピッチボデイの片端に手首ロール駆動機構8hを、手首ロール駆動機構の出力端にハンド(エンドエフェクタ)8iを配している。
【0080】
また、この一実施例では、駆動車輪を含む全駆動機構の動力は80W以下の電動機を使用し人との共存ができるように配慮している。
【0081】
前記移動型アームロボットは、いちごの収穫用に考案されたものであり、畝間を走行して左右の畝に成るいちごを、撮像画像より探索し、発見したいちごの3次元位置と向きを検出し、撮像画像の色ヒストグラムで熟れ具合を判定したうえでロボットコントローラへ出力、ロボットコントローラはエンドエフェクタの摘果具でいちごを受け、摘果し、集果場(荷物置き場)に収納するものである。移動型アームロボットは、いちごに限らず果樹の収穫用として広く供されることが考えられる。
【0082】
従来の産業ロボットが動作環境を固定(決定)して使用されるのに対して、移動型アームロボットは環境に対応して作業するものであり、作業対象物の検知に始まり、相対距離と位置関係、対象物の向きをリアルタイムで検出することが必要であり、従来の技術では大掛かりな装備を余儀なくされていたが、本発明の検出装置により装備が大幅に簡素化される。
【課題】撮像画像中にある対象物の3次元位置を演算する装置をマニプレータ先端に具え、ロボットコントローラがリアルタイムで操作して作業を実行するシステムの検出装置を提供する。
【解決手段】光ビーム照射手段1と単眼撮像手段2と演算装置6にて構成される検出装置にて、装置取付基準面BPから光ビーム照射点Sまでの距離Lを算出し、被写面4を表す数式により、被写面4上の撮像点である対象物中心の光ビーム照射点からの平面位置を演算し、ロボットコントローラはこの3次元位置情報を使ってマニプレータをリアルタイムで操作し作業するシステムであり、撮像画像から対象物を探索するには、あらかじめ、対象物を撮像画像特定区域において輝度差による要素にて再構成し、これを目標データとして登録し、距離Lを基準にして決定する大きさの探索ユニットを全画面に配置し、絶対差が最小となる探索ユニットに対象物があると判定することにより行う。