説明

カメラ付きロボット

【課題】 ロボットアームに搭載されるカメラのシャッターチャンスを最適化し、組立作業効率を向上させる。
【解決手段】 フィンガー4上の点Fと、カメラ1の位置基準であるアライメントマーク3aに対する位置をカメラ1によって撮像し、画像処理によってカメラ1の位置を計測する。カメラ1の位置が予め設定された位置閾値以下で、かつ、カメラ1に搭載された速度センサ3によって計測されるカメラ1の移動速度が予め設定された速度閾値以下である時にカメラ1のシャッターを切る。あるいは更に、速度センサ3の微分値によって計測されるカメラ1の移動加速度が予め設定された加速度閾値以下である時と論理積を取ってシャッター切る。これによって、ワーク12を探索するための画像のブレを防ぎ、位置誤差を低減するとともに、シャッターを早く切ることで作業効率を向上させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、組立作業対象であるワークを確認するためのカメラを搭載するカメラ付きロボットに関するものである。
【背景技術】
【0002】
一般に、カメラの画像処理に必要な撮像の条件として、振動によるブレが無いことと、被写体の位置が撮像上で再現性あること、すなわち、カメラ座標と、被写体が存在する座標との相対位置が把握されていることが挙げられる。
【0003】
振動対策として単にシャッターを速くすると、光量不足による撮像感度低下の問題がある。特に、被写界深度(ピントの合う奥行き範囲)を拡大するためにレンズを絞り込む場合に顕著である。
【0004】
例えば、自動組立のFA分野で近年一般化しているロボットアームにカメラを実装する時の振動対策として、振動収束の見込み時間の経過後にシャッターを切る手法が知られている(特許文献1参照)。
【0005】
一方、カメラ単体の一般的な振動防止策として、XY平面の角加速度センサ(例えばジャイロへの慣性力)の積分値から角速度を算出し、その値が閾値以下のときにシャッター動作を可能とする技術が知られている(特許文献2参照)。ここで、角速度をW、振動の旋回中心から任意の点Fまでの回転半径をRとすれば、点Fの速度はV=RWとなる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2001−252883号公報
【特許文献2】特許第2603871号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、組立用のロボットにカメラを搭載すると以下の問題が生じる。例えば、図7(a)に示す構成では、手首旋回J7軸107と下腕のJ6軸108、及び図示しないJ5軸からJ1軸を有する7軸垂直多関節ロボットのアーム(ロボットアーム)を使う。J7軸107の先端にはハンド106を実装し、その基部にカメラ支柱102を介しカメラ101を実装する。ハンド106の先端部はワーク112を把持するフィンガー104で構成する。カメラ101の画像を処理する画像処理部109及び、ロボットの制御部110に書き込んだ組立用プログラムによって、ワーク112の組立作業を行う。
【0008】
すなわち、カメラ101によりワーク112をパターンマッチなどの画像処理手法によって探索し、その結果からフィンガー104で把持する。フィンガー104上にはカメラ座標(Xc、Yc、Zc)内の基準となる点Fを設け、点Fの取得を、図7(b)の破線内をパターンマッチなどの画像処理手法で行う。
【0009】
このカメラ付きロボットで、ハンド106を、図6に示す始点Psと終点Peの2点間を台形状の速度指令Vcmで移動させる事を想定する。すると7軸機構を主とする機械弾性の影響でハンド106は振動し、加速終盤でのオーバーシュートと、減速終盤でのアンダーシュートとを生じる。アンダーシュートの振動が残留していると、点Fとワークの相対位置がばらつき、正確な画像処理が困難となる。尚、説明を分かり易くする為に、始点Psと終点Peはロボット座標(X、Y、Z、Xm、Ym、Zm)のX軸上にあるとする。
【0010】
アンダーシュートへの振動対策として、特許文献1に開示されたようにロボットの振動が十分収束するまで待つ方法がある。すなわち、図5で位置指令Pcmの終了時刻teを起点とした実位置Pcmの振動収束見込み時間WTを待ってからシャッターを切る方法で、組立タクトに悪影響を及ぼす。振動収束見込み時間WTは1秒前後の場合もあり、実際に振動が収束した時刻t7を起点とした余裕時間WTsを含める事が多い。この様に、振動収束を待つためにシャッターを切るまでの無駄時間が発生する事が課題である。
【0011】
ところで、図5の上部に振動収束見込み時間WTが経過した後の時間帯を「6 タイマWT経過」の行に黒帯で明記した。黒帯の先頭に丸印で明示した時刻t8にシャッターを切る。
【0012】
また、振動収束見込み時間WTはアームの移動ストロークにより異なる。そのために、マトリクス状にピック・アンド・プレイスを実施する場合では、毎回ストロークが異なることから、最大振動に合わせて振動収束の余裕時間WTsを見込む必要があり、さらなる無駄時間を発生させていた。
【0013】
一方、カメラ単体での振動対策として、特許文献2に開示されたように、振動抑制のために、角速度が低い時にシャッターを切る方式がある。しかしこの場合は、撮像内における被写体の特定点の位置は保証されず、そのままでは組立用のロボットに適用できない。
【0014】
本発明は、画像処理に必要な精度を満たす範囲で、ワークを探索するためのカメラのシャッターを早く切ることを可能とするカメラ付きロボットを提供することを目的とするものである。
【課題を解決するための手段】
【0015】
本発明のカメラ付きロボットは、ワークを把持するためのフィンガーを有するハンドと、前記ハンドを駆動するロボットアームと、前記ハンドに配置されたカメラと、前記カメラによる画像に基づいてワークを探索し、前記ロボットアームを制御するための制御部と、前記カメラの移動速度を検出する手段と、前記カメラの位置を検出する手段と、前記カメラの移動速度が予め設定された速度閾値以下であり、かつ、前記カメラの位置が予め設定された位置閾値以下である時に、あるいはそれに加えて前記カメラの加速度が予め設定された加速度閾値以下である時に、ワークを探索するための前記カメラによる撮像を許可する手段と、を有することを特徴とする。
【発明の効果】
【0016】
組立要求精度に応じて必要最小限の範囲で振動が収束したと判断した瞬間にシャッターを切ることで、ワークを探索するための画像のブレを低減し、しかも、より早くシャッターを切ることで無駄時間を抑制して組立の作業効率を向上することができる。
【図面の簡単な説明】
【0017】
【図1】実施例1によるカメラ付きロボットの構成を示す斜視図である。
【図2】実施例1による撮像画像を説明する図である。
【図3】実施例2によるカメラ付きロボットの構成を示す斜視図である。
【図4】実施例2による力覚センサの構成を説明する模式図である。
【図5】アンダーシュートとシャッターチャンスの関係を説明するグラフである。
【図6】アーム駆動時のハンド位置、速度、加速度の変化を示すグラフである。
【図7】一従来例によるカメラ付きロボットを説明するものである。
【発明を実施するための形態】
【0018】
[実施例1]
実施例1と、前述の従来例との主たる物理的相違は、速度センサ3の付加である。
【0019】
図1は、実施例1によるカメラ付きロボットを示すもので、手首旋回J7軸7と下腕のJ6軸8、及び図示しないJ5軸からJ1軸を有するロボットアームを使う。J7軸7の先端にはハンド6を実装し、その基部にカメラ支柱2を介しカメラ1を実装する。カメラ1には移動速度を検出する手段である速度センサ3を実装する。速度センサ3の速度情報は、画像処理部9を通じて制御部10で把握する。ハンド6の先端部はワーク12を把持するフィンガー4で構成する。カメラ1の画像を処理する画像処理部9及び、ロボットの制御部10に書き込んだ組立用プログラムによって、ワーク12の組立作業を行う。 カメラ1によって撮像された画像により、ワーク12の位置をパターンマッチなどの画像処理手法によって探索し、フィンガー4で把持する。フィンガー4上にはカメラ座標(Xc、Yc、Zc)内の基準となる点Fを設ける。速度センサ3は、加速度を検出してその積分値より速度を求める方式とする。
【0020】
また、ロボットアームと同じ架台に、カメラ位置を検出するための位置基準となるアライメントマーク3aを配置することにより、カメラ1の画像から、カメラ1の位置を検出できる。アライメントマーク3aのロボット座標が既知であれば、カメラ1のロボット座標を取得できる。また、フィンガー4上の点Fとアライメントマーク3aとの位置座標偏差をカメラ1より取得できる。
【0021】
図2は、カメラ1の撮像例であり、下端線のXとYはロボット座標、中央線XcとYcはカメラ座標を示している。図2(a)は、ハンド6を駆動し、完全に静止した後、例えば図5の時刻t8の時点で、ワーク12を探索するために制御部10から画像処理部9を通じてシャッターを切った場合の画像である。アライメントマーク3aと点FとのカメラX座標の距離偏差がゼロという正規の値がカメラ1から取得されたとする。
【0022】
図2(b)は、最初に実速度Vnが最初にゼロになった時刻t0でシャッターを切った画像である。この時点では実位置Pnのアンダーシュートが大きくカメラ1の位置もX座標の右方向へずれるために、本来はゼロであるべきアライメントマーク3aと点Fとの距離偏差Pxが誤差となってカメラ1から取得される。
【0023】
図2(c)は、実位置Pnのアンダーシュートが小さくなってからシャッターを切った画像であり、例えば図5の時刻t4の時点である。アライメントマーク3aと点Fとの距離は図2(b)よりも小さな値であるΔPx分の誤差となってカメラ1から取得される。
【0024】
このように、アンダーシュートが小さな状態でシャッターを切れば測定の誤差が小さくなる。例えばアンダーシュートが小さな状態を、図5の実位置Pnの軸において、+Δp1と−Δp2の範囲内とし、これを位置閾値と定義する。
【0025】
位置閾値Δp1とΔp2の具体的な数値は、画像処理システムへの要求精度に依る。自動組立のFA分野ではケースバイケースであるが、およそ0.1〜1mm程度であり、その数分の一前後としてユーザーが任意に決定する。例えば画像処理システムへの要求精度Rpが0.5mmで、Rpの何分の一を測定誤差として許容するかの実位置Pnの閾値係数Kpを5と決定すれば、位置閾値Δp1とΔp2は(1)式よりそれぞれ0.1mmとなる。
Δp1=Δp2=Rp/kp=(0.5mm/5)=0.1mm・・・(1)
要求精度が緩ければ、Δp1とΔp2を大きくできるので、より早いタイミングでシャッターを切れる。なお、Δp1とΔp2とは同じ数値である必要はない。
【0026】
ただし、ある瞬間にアンダーシュートが小さくとも、その時点のカメラ1の速度が大きと、カメラ1は相応の高速シャッターを切らなければ画像がブレてしまう。例えば図5の時刻t1の時点では、実位置Pnが終点Peに達しているが、この時点での速度Vt1は高速であるために、ブレの可能性が極めて高い。そこで、シャッターを切る条件として、許容速度の上限を図5の速度Vの軸上で、+Δv1と−Δv2の範囲内とし、これを速度閾値と定義する。
【0027】
速度閾値Δv1とΔv2の具体的な数値は、前述の位置閾値Δp1とΔp2と同様に、画像処理システムへの要求精度に依る。例えば、シャッター速度Ss(=シャッター開放時間)を1/100秒(=0.01s)とし、要求精度Rpを前述の0.5mmとし、その何分の一を測定誤差として許容するかの実速度Vnの閾値係数Kvを5とする。カメラ1の移動速度の上限を設定する速度閾値Δv1とΔv2は(2)式よりそれぞれ10mm/sとなる。
Δv1=Δv2=(Rp/Kv)/Ss=(0.5mm/5)/0.01s=10mm/s・・・(2)
要求精度が緩ければ、Δv1とΔv2を大きくできるので、より早いタイミングでシャッターを切れる。なお、Δv1とΔv2とは同じ数値である必要はない。
ところで、図5の上部に位置閾値以下の時間帯を「1 実位置Pn」、速度閾値以下の時間帯を「2 実速度Vn」の行に黒帯で明記した。これらを両立する時間帯は「4 Pn×Vn」である。
【0028】
上述した結果より、位置閾値以下であって、しかも、速度閾値以下である時間帯がシャッターを切るタイミング、すなわちシャッターチャンスとなる。従来の振動収束見込み時間WTを待つよりも早いシャッターチャンスは、図5の時刻t2からt3の間、あるいは時刻t5からt8の間となる。最も速いチャンスは時刻t2であり、「4 Pn×Vn」の黒帯の先頭に丸印で明示した。尚、位置閾値と速度閾値への到達判断は制御部10が行い、画像処理部9を通して、シャッターを切る撮像指令を発生する。
【0029】
従って以上説明した様に、ハンドの位置と速度の双方が閾値以下になった時にシャッターを切る事で、振動収束見込み時間WTを待つ従来の手段に比較して無駄時間の課題を解決できる。
【0030】
[実施例2]
実施例2は、図3に示すように、実施例1とは主に以下三項目の物理構成物が異なる。
1.ハンド6の代わりに、ブラケット5と同じ全長の6軸の力覚センサ13を備えるハンド50を使う。
2.速度センサ3が無い。
3.フィンガー4の代わりに、アライメントマーク14aを点Fと同じ位置に有するフィンガー14を配置する。
【0031】
力覚センサ13は、ロボット座標の直行軸成分(X、Y、Z)とそれらのモーメント軸成分(Xm、Ym、Zm)とで6軸方向に対して、フィンガー14にかかる力を、フィンガー14の変位で検出し、これを組立のコンプライアンス制御などに利用する。物理的な検出素子としては歪みゲージによるものが広く知られているが、本実施例では歪みゲージに代わる検出素子として、磁石を用いた磁気変動を検出する構成を用いる。
【0032】
この力覚センサは磁石とオペアンプなどのアナログ回路で構成される為、電気的には数KHz程度の応答特性を有している。従って10Hz前後のアンダーシュートの振動周波数に対して、力覚センサは正確な振動抽出が可能となる。すなわち、力覚センサ13に接続されたフィンガー14が、振動に応じた慣性で振られて力覚センサ13が反応し、その変位の振幅は、例えば±100μm前後である。力覚センサ13で計測された変位Xcfの微分値が実速度Vnとして検出できる。
【0033】
図4は、磁石を使った力覚センサ13の構造を示すもので、フィンガー14に固定された取付部20に弾性体21、22を介して筐体23を結合する。そして、筐体23に支持された磁石24に対向する磁石24を取付部20に固定する。振動によって加わった慣性で力Fx(説明のために一点に印加と仮定)が加わると、旋回軸からの距離L2にある磁石24、25の距離が変化し、磁界の変化をアンプ26で増幅する。
【0034】
この動きを介在する弾性体21、22の動きは、力Fxに対してリニアである。力Fxを加えた時の旋回角θfと、アンプ26の出力Vfの関係は、係数をKfとすれば、一次式である(3)式より求められる。なお、Kfは弾性体41とアンプ26と旋回軸からの距離L1などから一義的に求められる。
θf×Kf =Vf ・・・(3)
また、(4)式が成り立つ。
Xcf=L1×tanθf ・・・(4)
一方、フィンガー14上のアライメントマーク14aは角度θfの旋回動作をする。そのため、リジット構造であった実施例1のブラケット方式に比較すると、振動時の測定値は(5)式、(6)式からそれぞれ求められるΔXcfeとΔYcfeの誤差が発生する。しかし前述のように、アンプ26の出力から変位θfとXcfとを算出できるので、アライメントマーク14aと撮像基準位置12aとの相対位置の補正が可能となる。
ΔXcfe=(Xcf×sinθf)×cosθf・・・(5)
ΔYcfe=(Xcf×sinθf)×sinθf・・・(6)
なお、上述の微分計算や(3)〜(6)式の計算は、任意の処理が可能な制御部10で行い、その計算結果は、画像処理部9と共用する。
【0035】
従って以上説明した様に、力覚センサ13を有するロボットは、力覚センサ13でハンドの速度を検出する事で、実施例1で説明した速度センサ3が不要となり、ローコストで小型な構成で無駄時間の課題を解決できる。
【0036】
[実施例3]
実施例3は、実施例1の図1と同様の物理構成物である。
【0037】
物体の加速度は速度の微分値であり、図6及び図5に実速度Vnと実加速度Anの経時軌跡を描く。但し、説明を分かり易くする為に図6及び図5では実加速度Anの振幅を誇張している。
【0038】
実施例1で説明した様に時刻t5以降はシャッターチャンスであり、移動の実速度Vnは収束へ向かいブレ像が発生し難くなっていく。ところが実加速度Anは一時上昇している。
【0039】
加速度とロボットアーム系質量との積は「ロボットアーム系を押す力」として作用し、振動の原因となる。この為、速度閾値Δv1とΔv2を下げてシャッターを切っても意外な振動が残留し、被写体の計測位置精度を劣化させる可能性がある。
【0040】
振動振幅は、「ロボットアーム系を押す力」とロボットアーム系の弾性係数とで予測できるが、弾性係数は姿勢や減速機の構造で非線形な部分がある事から、パラメータ算出の手間や誤差や手間が発生する。
【0041】
従って加速度が実測可能ならば、これをフィードバックさせてシャッターを切るタイミングの制御に利用する手法が有効とある。
【0042】
加速度は、実施例1で説明した速度センサ3の速度検出値の微分値、あるいは実施例2で説明した力覚センサ13の速度検出値の微分値が相当するので、画像処理部9または109、あるいは制御部10または110で取得できる。
【0043】
そこで、実施例1で説明した速度閾値Δv1とΔv2、及び位置閾値Δp1とΔp2に対し、加速度閾値Δa1とΔa2とを新設し、これら3種全ての閾値を下回った時刻t6以降にシャッターを切る事にする。位置閾値と速度閾値への到達判断と同様に、加速度閾値への到達判断は制御部10が行い、画像処理部9を通して、シャッターを切る撮像指令を発生する。
【0044】
ところで、図5の上部に加速度閾値以下の時間帯を「3 実加速度An」の行に黒帯で明記した。位置、速度、加速度の3種全ての閾値を下回る時間帯は「5 Pn×Vn×An」の行に黒帯で示した。
【0045】
最も速いシャッターチャンスは、黒帯の先頭に丸印で示した時刻t6であるから、実施例1のシャッターチャンスの時刻t2より遅れが、より振動が低い状態を実現できる。
【0046】
加速度閾値であるΔa1とΔa2の具体的な数値については、例えば、許容振動振幅をAとすると次式を目安に設定する。
Δa1=Aω^2 (G) ・・・(7)
但し単位G=9.8m/s^2
例えば、許容振動振幅を0.1mm、振動周波数を10Hzの場合は、
Δa1=0.1mm×(2×π×10Hz)^2=0.39G
を設定値とする。
【0047】
従って以上説明した様に、ハンド6の加速度、位置、速度ら全ての閾値を満足させてシャッターのタイミングを決定する。この事で、振動収束見込み時間WTを待つ従来の手段に比較して無駄時間の課題を解決でき、これに併せて[実施例1]での説明以上に振動が低い状態でシャッターを切れるメリットがある。
【符号の説明】
【0048】
1 カメラ
3 速度センサ
3a、14a アライメントマーク
4、14 フィンガー
6 ハンド
9 画像処理部
10 制御部
13 力覚センサ
50 力覚センサ付きハンド

【特許請求の範囲】
【請求項1】
ワークを把持するためのフィンガーを有するハンドと、
前記ハンドを駆動するロボットアームと、 前記ハンドに配置されたカメラと、 前記カメラによる画像に基づいてワークを探索し、前記ロボットアームを制御するための制御部と、
前記カメラの移動速度を検出する手段と、
前記カメラの位置を検出する手段と、
前記カメラの移動速度が予め設定された速度閾値以下であり、かつ、前記カメラの位置が予め設定された位置閾値以下である時に、ワークを探索するための前記カメラによる撮像を許可する手段と、を有することを特徴とするカメラ付きロボット。
【請求項2】
前記カメラの移動速度を検出する手段は、前記カメラに搭載された速度センサであることを特徴とする請求項1に記載のカメラ付きロボット。
【請求項3】
前記ハンドは、前記フィンガーにかかる力を計測するための力覚センサを備え、
前記カメラの移動速度を検出する手段及び前記カメラの位置を検出する手段は、それぞれ、前記力覚センサの出力に基づいて、前記カメラの移動速度及び位置を検出することを特徴とする請求項1に記載のカメラ付きロボット。
【請求項4】
前記カメラの移動加速度を検出する手段と、
前記カメラの移動加速度が予め設定された加速度閾値以下であり、かつ、前記カメラの移動速度が予め設定された速度閾値以下であり、かつ、前記カメラの位置が予め設定された位置閾値以下である時に、ワークを探索するための前記カメラによる撮像を許可する手段と、を有することを特徴とする請求項1に記載のカメラ付きロボット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−11330(P2011−11330A)
【公開日】平成23年1月20日(2011.1.20)
【国際特許分類】
【出願番号】特願2010−128040(P2010−128040)
【出願日】平成22年6月3日(2010.6.3)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】