説明

ロボットの制御装置及びロボットの制御方法

【課題】通常のティーチング以外の動作を行わずとも、カメラとワークとの位置関係を維持しながら撮像対象物の姿勢を変更できるロボットの制御装置を提供する。
【解決手段】ティーチング時に、ロボットの手先座標である制御履歴とカメラが撮像した画像のデータを対応させて連続的に記憶する(S11〜S16)。姿勢変更指示が与えられるとワークの画像データを移動先画像,その画像の中心を注視点,ロボットの手先座標を移動先座標,制御履歴中で手先のカメラから見て奥行き方向の位置と向きが移動先座標と同じものを移動元座標,移動元座標に対応する履歴画像を移動元画像に夫々設定する。移動元及び移動先座標からワークの注視点移動距離を求め、移動先画像と移動元画像間でのワーク上注視点の画像上の位置ずれを画像注視点移動距離とし、各距離と像面距離から三角測量法で求めた注視点距離を維持したまま与えられた方向及び速度だけワークを回転させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット本体のハンドにより把持されたワークの画像を、固定されているカメラにより撮像して視覚検査を行うシステムにおいて、ワークの姿勢を変更する動作をロボット本体に実行させるロボットの制御装置及びロボットの制御方法に関する。
【背景技術】
【0002】
ロボットのハンドにより把持されているワークについて、設備として固定されているカメラを用い視覚検査を行う場合に最適な撮像位置を設定するため、ティーチング時において、カメラからワークまでの撮像距離(位置関係)を維持したまま、ロボットのアームを動かしてワークの姿勢を変更することがある。例えば、カメラの撮像領域内にワークが位置するようにロボットの手先を移動させたが、カメラにより撮像されるワークの向きを変更したい、というような場合である。特許文献1には、2台のカメラを用いて得た視覚情報に基づいてワークの姿勢の変更を行う操作方式が開示されているが、コストやスペース等の問題から一般的には1台のカメラを用いて行うことが多い。
【0003】
特許文献1の操作方式を1台のカメラを用いて実行することを想定すると、以下のような手順になる。
(1)カメラでワークの移動前の画像と、そこからワークを僅かに平行移動させた後の画像とをそれぞれ撮像する。
(2)ワークの移動前後の画像上で、注視点Pの座標をそれぞれ指定する。
(3)三角測量法によりカメラ側の座標系O’から見た注視点Pの相対位置を求める。
(4)ロボット側の絶対座標系Oから座標系O’への座標変換行列を用いて、対座標系Oから見た注視点Pの絶対位置を求める。
(5)ワークの移動前後の位置から、予め設定した距離Rとなる位置Pnにワークの注視点を移動させる。
(6)位置Pnを原点としてワークの姿勢を変更させるようロボットに指示を与える。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平5−318361号公報(図1,段落[0008]〜[0010]参照)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の方式では、ユーザがティーチングを行う際に、カメラの画像上でワークの移動前後の座標を指定する(2)の操作を別途行う必要があり、ユーザの作業負担を増加させてしまう。また、ユーザがワークの姿勢の変更動作が行われることを意図して動作指示を行ったにもかかわらず、直接的には異なる(1)のカメラ移動や(5)のロボット側の動作が余分に実行されるため、ティーチング時間が長引くだけでなく、ユーザにストレスを感じさせてしまうという問題があった。
【0006】
本発明は上記事情に鑑みてなされたものであり、その目的は、通常のティーチングとして行われるもの以外の動作を行わずとも、カメラとワークとの位置関係を維持しながら撮像対象物の姿勢を変更できるロボットの制御装置及びロボットの制御方法を提供することにある。
【課題を解決するための手段】
【0007】
請求項1記載のロボットの制御装置によれば、ティーチングが行われている期間に、ロボット本体の手先座標の変化履歴を制御履歴として記憶し、また、カメラが撮像した画像のデータを制御履歴と1対1で対応させ連続的に記憶する。そして、姿勢の変更を開始させる指示が与えられると、その時点でカメラにより撮像された画像データを移動先画像とし、その画像のフレーム中心を画像上注視点に設定し、またその時点のロボット本体の手先座標を移動先座標とし、制御履歴として記憶されている手先座標の中から移動元座標を選択し、その移動元座標に対応する履歴画像を移動元画像として設定する。
【0008】
そして、移動元座標及び移動先座標からワーク注視点移動距離を求め、また、移動先画像と移動元画像間でのワーク上注視点の画像上の位置ずれを画像注視点移動距離(視差)として求めると、それらの距離とカメラの像面距離(レンズ中心からカメラ撮像素子面までの距離)とから、三角測量法を用いてカメラとワーク上注視点との位置関係を求める。ここで、カメラが持つ座標系とロボット本体の持つ座標系との間の関係は、既知(あるいは校正済み)であるとする。すると、求めた位置関係を維持したまま、与えられた方向に与えられた量だけワークを回転させるようにロボット本体に制御指令を出力する。
【0009】
上記のようにロボットのティーチングが行われる場合は、まず、ワーク上注視点がカメラの画像に映るように大まかな位置決め動作が行わる。また、その次の段階では、画像検査がし易いように、ワーク上注視点がカメラの画像中心に映るように、手先位置の微調整動作が行われる。その微調整動作の際のロボットの手先座標が変化する方向は、ワークの大まかな位置決めが既に完了している状態なので、固定されているカメラの撮像素子面に対してほぼ平行になることが多い。
【0010】
本来、三角測量法を用いてカメラからワーク上注視点までの距離を計算するためには、特許文献1のように余分な教示作業をユーザに意図的に行わせ、ワーク注視点移動距離と画像注視点移動距離を得る必要があった。これに対して、本提案手法では、上記に挙げたようなティーチング内で必ず行われる微調整動作内の特徴を活用することで、上記微調整期間内の制御履歴及び画像履歴から、ワーク注視点移動距離と画像注視点移動距離を自動的に得ることができる。したがって、ユーザは、微調整ティーチングが完了した後、ロボット本体の手先に把持されているワークがカメラの画像中央に捉えられた状態で、ワークの姿勢を変更する必要があると考えた時点で姿勢の変更開始の指示を与えて回転方向及び回転速度を指定すれば、ワーク上の注視点までの距離を得るための操作や指示をその段階から意識的に行わずとも、すぐにワークの姿勢の変更が行われることになる。
【0011】
上記の制御プロセスでは、カメラ−ワーク上注視点間の位置関係の計算に必要なデータの取得が、微調整ティーチングが終了し、姿勢の変更開始の指示が与えられる瞬間までの過程で自動的に行われるから、(1)のカメラ撮像のためのワーク移動や(2)のワークの移動前後の画像座標を指定する操作といった余分な教示動作が必要なく、また姿勢の変更動作自体も、(5)の最適撮像位置への移動といった余分な動作が挿入されないので、ティーチング時間を長引かせず効率化を図ることができる。加えて、ユーザにストレスを感じさせないので、ユーザの意識をティーチング作業に集中させて、当該作業の理解を促すことにも貢献できる。
【0012】
請求項2記載のロボットの制御装置によれば、制御履歴記憶手段,画像履歴記憶手段は、ロボット本体の手先座標の変化量が一定量以上となった場合に制御履歴及びカメラが撮像した画像のデータを記憶する。すなわち、微調整ティーチング期間の終了間際においては、ワーク上注視点が既に画像中心付近に撮像されており、ロボット本体の手先の移動量が極めて小さくなることがある。そのような場合について画像データを連続的に記憶させても、その記憶した画像データは、移動先画像との間で画像上注視点の位置ずれがほとんどない、三角測量法に用いるには適さないデータとなるため、メモリなどの記憶手段の容量を徒に増大させたり、或いは制御履歴・画像履歴内の必要なデータを上書きして消去してしまうことに繋がる。そこで、手先座標の変化量が一定量以上となった場合にだけ制御履歴及び画像データを記憶させれば、必要な記憶容量を低減することができ、或いは必要な制御履歴及び画像データが消去されることを回避できる。
【0013】
三角測量を行うための履歴データとしては、カメラの仮想撮像面に対してロボット本体の手先が平行に移動している状態で得られる手先位置及び対応する画像データが適している。そこで、請求項3記載のロボットの制御装置によれば、制御履歴記憶手段,画像記憶手段は前記ロボット本体の手先座標が変化する方向が前記カメラの仮想撮像面に対して平行となった場合にのみ制御履歴及びカメラが撮像した画像のデータを記憶する。すなわち、三角測量に適したデータのみを記憶させるため、斯様に構成した場合も、データを記憶するために必要な容量を低減できる。
【図面の簡単な説明】
【0014】
【図1】一実施例であり、(a)はティーチング完了後にワークの姿勢の変更を行わせる場合の処理,(b)はティーチング中の制御履歴の記憶処理を示すフローチャート
【図2】軌道生成処理を示すフローチャート
【図3】視覚検査システムの構成を示す図
【図4】ハンドに把持されているワークを、カメラが画像として捉えている状態をモデル的に示す図
【図5】(a)は微調整ティーチング完了直前に手先位置がカメラ撮像素子面に平行に微調整される状態を示す平面図、(b)はワークを把持した状態のハンドについてワーク上注視点とハンド(ツール)座標の中心の位置関係を示す図
【図6】三角測量法によりカメラとワーク上注視点間の距離(位置関係)Lを求める状態を示す図
【発明を実施するための形態】
【0015】
以下、一実施例について図面を参照して説明する。図3は、垂直多関節型(6軸)ロボットを含む視覚検査システムの構成を示す。このロボット本体1は、ベース(回転軸)2上に、この場合6軸のアームを有している。前記ベース2上には、第1関節J1を介して第1のアーム3が回転可能に連結されている。この第1のアーム3には、第2関節J2を介して上方に延びる第2のアーム4の下端部が回転可能に連結され、さらに、この第2のアーム4の先端部には、第3関節J3を介して第3のアーム5が回転可能に連結されている。
【0016】
この第3のアーム5の先端には第4関節J4を介して第4のアーム6が回転可能に連結され、この第4のアーム6の先端には第5関節J5を介して第5のアーム7が回転可能に連結され、この第5のアーム7には第6関節J6を介して第6のアーム8が回転可能に連結されている。なお、各関節J1〜J6においては、図示しないサーボモータにより各アーム3〜8を回転駆動するようになっている。アーム8の先にはハンド(ツール)9が装着されており、そのハンド9はワーク10を把持している。
【0017】
ロボット本体1と制御装置(コントローラ,制御指令出力手段)11との間は、接続ケーブル12によって接続されている。これにより、ロボット本体1の各軸を駆動するサーボモータは、制御装置11により制御される。パッドコントローラ(入力手段)13は、例えば横長の本体14の両端側に、ユーザが左右両手でそれぞれ把持するための把持部15L,15Rが設けられており、ユーザが把持部15L,15Rを両手で把持した状態で、親指により押圧操作可能なジョイパッド16L,16Rが配置されている。また、把持部15L,15Rの図中上方には、人差し指により押圧操作可能なボタン17L,17Rが配置されている。
【0018】
CCD(Charge Coupled Device)又はCMOSイメージセンサを用いたカメラ(撮像手段)21は、支持部材22を介してロボット外部に固定されており、そのカメラ21によりハンド9に把持されているワーク10の画像を捉えて視覚検査を行う。制御装置11には、パーソナルコンピュータ(パソコン)23がケーブル24を介して接続され、パソコン23との間で、ロボットの現在位置の送信や動作コマンドの受信など、高速通信を実行するようになっている。パソコン23には、メモリやハードディスクなどの記憶装置(記憶手段)が内蔵されている。パソコン23は、制御履歴記憶手段,画像記憶手段,注視点設定手段,座標設定手段,実移動距離計算手段,画像上移動距離計算手段,位置関係計算手段を兼ねる。
【0019】
パッドコントローラ13は、接続ケーブル18を経由してパソコン23に接続され、通信インターフェイスを介してパソコン23との間で入力された操作信号等のデータの高速通信を実行するようになっている。ジョイパッド16L,16R等が操作されて入力された操作信号等の情報は、パッドコントローラ13からパソコン23を介してロボットの動作コマンドに変換されて制御装置11へ送信される。カメラ21は、ケーブル25を介してパソコン23に接続されており、カメラ21が捉えた画像のデータはパソコン23に送信されて、ディスプレイ23Dに表示される。
【0020】
次に、本実施例の作用について図1及び図2,図4ないし図6を参照して説明する。本実施例では、カメラ21によりワーク10の画像を捉えて視覚検査を行うためロボットのティーチングを行い、カメラ21の画像上でワーク10の注視点を指定する。その際にユーザが、カメラ21が捉えるワーク10の姿勢を変更させるため、注視点を指定した際のカメラ21−ワーク10間の位置関係,すなわち撮像距離を維持した状態でワーク10を回転させる指示を、パッドコントローラ13を介して制御装置11に出力する。その場合の処理について述べる。
【0021】
先ず、動作原理について図4ないし図6を参照して説明する。図4は、ハンド9に把持されているワーク10を、カメラ21が画像として捉えている状態をモデル的に示している。画像検査を行うために、ワーク10上の注視点をカメラ21の画像中央に映るように微調整ティーチングを行う過程で、ロボット本体1の手先(ハンド9の中心)は画像中央に映るような位置を目指した軌跡を描く。よって、その過程における制御履歴・画像履歴を参照すれば、姿勢の変更開始の指示が入力された時と手先の位置・画像上のワーク上注視点の映り方が微小に異なるデータが得られる。
【0022】
また、微調整ティーチング期間中は、図5(a)に示すように、カメラ21の仮想撮像面に対してロボット本体1の手先は略平行に移動する。尚、ハンド9とワーク10とは一体で動くため、ハンド9の中心の移動量はワーク10の注視点の移動量に等しい(図5(b)参照)。したがって、図6に示すように、姿勢の変更開始の指示を入力した時点での手先位置と画像、制御履歴より得られる手先位置と画像を参照し、それらより実際のワーク注視点移動距離と画像注視点移動距離(視差)を求めれば、カメラ21の像面距離fを与えて三角測量法を用いることで、カメラとワーク上注視点間の距離(撮像距離)Lを計算できる。
【0023】
以下、具体的な手順について図1を参照して説明する。図1(b)は、ロボットのティーチングを行っている期間にパソコン23が行う制御履歴及び画像履歴の記憶処理を示すフローチャートである。ステップS11〜S16のループ内で、パソコン23は、ロボット本体1の手先位置の座標と、カメラ21が撮像した画像データとを連続的にメモリに記憶させる。上記ループの周期は、例えば数10ms程度である。ステップS12では、手先位置の移動量,すなわち、今回の位置と前回の制御周期での位置との差が一定量(閾値)以上か否かを判断し、一定量以上であれば(YES)現在の位置及び画像データを記憶するためステップS13に移行する。また、前記移動量が一定量未満であれば(NO)現在位置及び画像は記憶しない。
【0024】
三角測量を行うための履歴データとしては、カメラの仮想撮像面に対してロボット本体の手先が平行に移動している状態で得られる手先位置及び対応する画像データが適している。そのため、ステップS12の履歴記憶処理は、ロボット本体1の手先が、カメラ21の仮想撮像面に対して平行に移動するようになった場合に行っても良い。
【0025】
ここで、上記「一定量」をどのように決定するかについて説明する。制御履歴・画像履歴として記憶する間隔は、記憶したデータが三角測量法を用いた距離計算に利用可能なデータとなるぐらいの短さであることが望ましい。そこで、ワーク注視点移動距離が大きければ大きいほど画像注視点移動距離の算出誤差に伴う距離計算の誤差が小さくなる三角測量法の理論的な特性を鑑みて、例えばカメラ21の画像上において、画像上で見て長手方向解像度の100分の1以上のワーク上注視点の移動があれば、実用上、距離計算の誤差が無視できるものとする。この時、手先移動量の閾値を以下のように決定する。
(閾値)=(1ピクセルの物理的なサイズ)×(手先−カメラ間概算距離)
×{(画像長手方向解像度/100)/(像面距離)…(1)
尚、(手先−カメラ間概算距離)については、レンズの公式より、レンズ焦点距離と像面距離から求まる概算値を使用する。これに具体数値例を与えて計算してみると、例えば以下のような値となる。現在のレンズの仕様から(手先−カメラ間概算距離)が250mmであったとすると、
(閾値)=5.4×10-3×250×(640/100)/12
=0.72[mm]
上記の距離は、カメラ21の一般的な撮像周期33msで、ロボット本体1の手先をティーチング時の最高速度250mm/sで移動させた場合の移動距離の約8.5%に相当する。
【0026】
再び、図1(b)を参照する。ステップS13では、その時点でパソコン23のメモリに記憶させている履歴のデータ数が、前記メモリに設定されている領域の上限に達したか否かを判断する。上限に達していなければ(NO)、現在得ている手先の位置座標とカメラ21の画像とをメモリに記憶させて履歴を追加する(ステップS15)。一方、履歴のデータ数が上限に達した場合は(YES)、現在得ている手先の位置座標及び画像データを、既にメモリに記憶されている履歴のうち最も古いものに上書きして記憶させる(ステップS14)。
【0027】
図1(a)は、姿勢の変更開始の指示が入力された時にワーク10の姿勢の変更を行わせる処理を示すフローチャートである。ユーザは、パッドコントローラ13により、ロボット本体1のアーム8先端に、ハンド9により把持された状態のワーク10を、ワーク上注視点を中心として、どちらの方向にどれだけの速度(角速度)で姿勢の変更動作をさせるかを入力指示する。この時、ユーザは、ジョイパッド16Lをある方向にオン操作した際の傾き量で移動速度を指示し、オン操作している間が前記速度で移動する時間となる。そして、ユーザは、ジョイパッド16Lを操作した瞬間に(ステップS1)、姿勢の変更制御が開始され、ステップS2〜S10間の姿勢の変更処理ループが実行される。
【0028】
次に、ステップS3において指示された速度がゼロでないか否かを判断し(ステップS4)、速度がゼロでなければ(YES)、ワーク10を回転するための軌道が生成されているか否かを判断する(ステップS5)。軌道が生成されていなければ(NO)ステップS6に移行して、図2に示す軌道生成処理を実行する。
【0029】
ここで、図2の処理について説明する。先ず。カメラ21がワーク10を捉えた状態で画像(1)を撮像し(ステップS21)、その画像の中心において、ワーク10上の注視点が投影された画素の周辺(N×M)画素分を注視領域として、その注視領域に属する画素群を参照元画像として登録する(ステップS22)。例えばパソコン23に内蔵されているメモリやハードディスクなどに記憶させる。初期値はN=(画像幅)/4,M=(画像高さ)/4として、図1のステップS1で回転方向指示が入力されるまでの間だけ、パッドコントローラ13のジョイパッド16Rにより注視領域サイズ(倍率)を調整できる。尚、注視点領域は回転指示量が入力された時点で確定される。
【0030】
次に、制御履歴を探索し(ステップS23)、カメラ21から見て奥行き方向となる座標値とワーク10の向きとが、現在位置と一致する履歴データがあるか否かを判断する(ステップS24)。すなわち、これは、手先の移動方向がカメラ21の仮想撮像面に対して平行となる動きを示した履歴があるか否かの判断である。上記履歴データが無ければ(NO)注視点距離Lの計算はできないので、ディスプレイ23Dにエラーメッセージを表示させて(ステップS30)、図1(a)のステップS6を抜けた時点で姿勢の変更処理を終了する。
【0031】
一方、ステップS24において対象となる履歴データが存在する場合は(YES)、その履歴データに対応する手先位置とカメラ21の画像(2)とを取得する(ステップS25)。それから、画像(2)について、画像(1)の注視点に対応する点を探索する(ステップS26)。ここで、カメラが持つ座標系とロボット本体の持つ座標系との間の関係は、既知(あるいは校正済み)であるとする。
【0032】
この場合対応点は、ロボット本体1の手先;ワーク10が移動元座標から移動先座標に平行に移動しているので、図6に示す移動元から移動先への移動ベクトルと逆方向に延びたエピポーラ線上に存在する。この線分上を走査して各画素位置毎に類似度を計算することで、画像(1)と画像濃淡値が最も類似している画像位置(画像領域)を、例えば正規化相互相関法などを用いて探索する(すなわち、画像特徴量の類似度が一定以上で且つ最大となる画像領域を特定することに対応する)。ここで「一定以上」の「一定」を設定する場合は、例えば0.7(類似度70%)程度とする。
【0033】
続くステップS27において、画像(1),(2)間で類似する部分があると判断すれば(YES)、三角測量法を用いて注視点までの距離Lを計算する(ステップS28)。すなわち、画像(1),(2)に対応する注視点位置から注視点間距離を求め、画像(1),(2)上の注視点から視差を求めれば、注視点距離L(位置関係)は次式で計算される。
(注視点距離L)=(注視点間距離)×(像面距離f)/(視差) …(2)
距離Lを計算すると、その距離Lに基づいてハンド9;ワーク10の目標旋回軌道を生成し(ステップS29)処理を終了する。
【0034】
ここで、図1(a)の処理に移行すると、ステップS7において、生成済みの目標旋回軌道上でワーク10を指定された回転方向及び回転量(回転速度×時間)で回転させる。それから、姿勢の変更処理の終了指示があるか否か、すなわち、ユーザがジョイパッド16Lをオフにしたか否かをステップS8及びS9で判断する。姿勢の変更処理の終了指示が無ければ(ステップS9:NO)ステップS2〜S10のループ実行を継続し、終了指示があれば(YES)処理を終了する。
【0035】
以上のように本実施例によれば、パソコン23は、ティーチング期間中に、ロボット本体1の手先座標の変化履歴を制御履歴として記憶し、また、カメラ21が撮像した画像のデータを画像履歴と1対1で対応させ連続的に記憶する。そして、姿勢の変更を開始させる指示が与えられると、その時点でカメラ21により撮像されているワーク10の画像データを移動先座標とし、その画像のフレーム中心を注視点に設定し、またその時点のロボット本体1の手先座標を移動先座標とし、制御履歴として記憶されている最新の手先座標とそれに対応する履歴画像を選択し、移動元座標として設定する。
【0036】
そして、移動元座標及び移動先座標からワーク10の注視点移動距離を求め、移動先画像と移動元画像間でのワーク上注視点の画像上の位置ずれを画像注視点移動距離(視差)とすると、それらの距離とカメラ21のレンズ像面距離fとから、三角測量法を用いてカメラ21とワーク上の注視点との注視点距離Lを求める。すると、求めた注視点距離Lを維持したまま、与えられた方向に与えられた量だけワーク10を回転させるように制御装置11を介してロボット本体1に制御指令を出力する。
したがって、ユーザは、ティーチングの指示を行った後、ロボット本体1のハンド9に把持されているワーク10がカメラ21の画像内に捉えられた状態を参照しながら、ワーク10の姿勢を変更する必要があると考えた時点で姿勢の変更開始の指示を与えて回転方向及び回転速度を指定すれば、ワーク10上の注視点までの距離を得るための操作や指示を意識的に行わずとも、ワーク10の姿勢の変更が行われる。
【0037】
上記の制御プロセスでは、カメラ−ワーク上注視点間の位置関係の計算に必要なデータの取得が、微調整ティーチングが終了し、姿勢の変更開始の指示が与えられる瞬間までの過程で自動的に行われるから、カメラ21による撮像のためのワーク10の移動や、ワーク10の移動前後の画像座標を指定する操作といった余分な教示動作が必要なく、また姿勢の変更動作自体も、最適撮像位置への移動といった余分な動作が挿入されないので、ティーチング時間を長引かせず効率化を図ることができる。加えて、ユーザにストレスを感じさせないので、ユーザの意識をティーチング作業に集中させて、当該作業の理解を促すことにも貢献できる。
【0038】
また、パソコン23は、ロボット本体1の手先座標の変化量が一定量以上となった場合に制御履歴及びカメラ21が撮像した画像のデータを記憶する。すなわち、微調整ティーチング期間の終了間際においては、ワーク上注視点が既に画像中心付近に撮像されており、ロボット本体1の手先の移動量が極めて小さくなることがある。そのような場合について画像データを連続的に記憶させても、それらの画像データは、移動先画像との間で画像上注視点の位置ずれが殆どなく三角測量法に用いるには適さないデータとなる。すると、利用価値がないデータのためにメモリ等の記憶手段の容量を徒に増大させたり、或いは制御履歴・画像履歴内の必要なデータを上書きして消去してしまうことに繋がる。そこで、手先座標の変化量が一定量以上となった場合にだけ制御履歴及び画像データを記憶させれば、必要な記憶容量を低減することができ、或いは必要な制御履歴及び画像データが消去されることを回避できる。
【0039】
更に、パソコン23は、ロボット本体1の手先座標が変化する方向がカメラ21の仮想撮像面に対して平行となった場合にのみ制御履歴及びカメラが撮像した画像のデータを記憶する。すなわち、三角測量に適したデータのみを記憶させるので、データを記憶するために必要なメモリの容量を低減できる。
【0040】
本発明は上記し、又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
手先移動量の閾値(一定量)は、個別の設計に応じて適宜変更すれば良い。
また、メモリの容量に問題が無く、適切な視差量が得られる位置データを選択することに問題が無ければ、ステップS12を削除しても良い。
移動元座標として必ずしも最新の履歴データを選択する必要はなく、三角測量法に使用することができるデータを選択すれば良い。
ロボット本体の軸数は6軸に限らない。また、垂直多関節型のロボットに限ることなく、水平多関節型のロボットに適用しても良い。
パソコン23は、制御装置11と一体化していても良い。
【符号の説明】
【0041】
図面中、1はロボット本体、9はハンド、10はワーク、11は制御装置(制御指令出力手段)、21はカメラ,23はパーソナルコンピュータ(制御履歴記憶手段,画像記憶手段,注視点設定手段,座標設定手段,実移動距離計算手段,画像上移動距離計算手段,位置関係計算手段)を示す。

【特許請求の範囲】
【請求項1】
ロボット本体のハンドにより把持されたワークの画像を、前記ロボットの根元座標との位置関係が一定且つ既知なカメラにより撮像して視覚検査を行うシステムにおいて、前記カメラにより撮像される画像上で前記ワークの検査対象部位を画像中央に位置させるファインティーチングの過程で、画像中央に映った前記ワーク上の点(注視点)と、前記カメラとの位置関係を維持しながら、前記ワークの姿勢を変更する動作を前記ロボット本体に実行させる制御装置であって、
前記ティーチングが行われている期間に、前記ロボット本体の手先座標の変化履歴を制御履歴として記憶する制御履歴記憶手段と、
前記ティーチングが行われている期間に、前記カメラが撮像した画像のデータを制御履歴と1対1で対応させ、連続的に記憶する画像記憶手段と、
前記姿勢の変更を開始させる指示が与えられると、その時点で前記カメラにより撮像された画像を移動先画像として記憶し、その画像の中心周りの所定領域を注視領域に設定する注視領域設定手段,及びその時点の前記ロボット本体の手先座標を移動先座標とし、前記制御履歴として記憶されている手先座標のうち、手先の前記カメラから見て奥行き方向の位置と向きとが移動先座標と同じものを移動元座標として設定し、その移動元座標に対応する履歴画像を移動元画像として設定する座標設定手段と、
前記移動元座標及び前記移動先座標から求められる手先移動距離を、ワーク注視点移動距離とする実移動距離計算手段と、
前記移動元画像内において、前記移動先画像上の前記注視領域からなる部分画像との画像特徴量の類似度を計算し、前記類似度が一定以上で、且つ最大となる画像領域を特定し、当該特定した画像領域が示す画像座標と前記移動先座標における前記注視領域が示す画像座標とから、前記注視領域の移動距離を画像注視点移動距離として計算する画像上注視点移動距離計算手段と、
予め保持している前記カメラの像面距離と、前記ワーク注視点移動距離と、前記画像注視点移動距離とから、三角測量法により前記カメラと前記ワーク上の注視点との位置関係を求める位置関係計算手段と、
前記位置関係を維持したまま、前記ワークを、前記姿勢の変更開始の指示に続いて与えられる回転方向及び回転速度に応じて回転させるように、前記ロボット本体に制御指令を出力する制御指令出力手段とを備えることを特徴とするロボットの制御装置。
【請求項2】
前記制御履歴記憶手段は、前記ロボット本体の手先座標の変化量が一定量以上となった場合に前記手先座標の変化履歴を制御履歴として記憶し、
前記画像記憶手段は、前記ロボット本体の手先座標の変化量が一定量以上となった場合に、前記カメラが撮像した画像のデータを記憶することを特徴とする請求項1記載のロボットの制御装置。
【請求項3】
前記制御履歴記憶手段は、前記ロボット本体の手先座標が変化する方向が前記カメラの仮想撮像面に対して平行となった場合に、前記手先座標の変化履歴を制御履歴として記憶し、
前記画像記憶手段は、前記ロボット本体の手先座標が変化する方向が前記カメラの仮想撮像面に対して平行となった場合に、前記カメラが撮像した画像のデータを記憶することを特徴とする請求項1又は2記載のロボットの制御装置。
【請求項4】
ロボット本体のハンドにより把持されたワークの画像を、前記ロボットの根元座標との位置関係が一定且つ既知なカメラにより撮像して視覚検査を行うシステムにおいて、前記カメラにより撮像される画像上で前記ワークの検査対象部位を画像中央に位置させるファインティーチングの過程で、画像中央に映った前記ワーク上の点(注視点)と、前記カメラとの位置関係を維持しながら、前記ワークの姿勢を変更する動作を前記ロボット本体に実行させる場合の制御方法であって、
前記ティーチングが行われている期間に、前記ロボット本体の手先座標の変化履歴を制御履歴として記憶すると共に、前記カメラが撮像した画像のデータを制御履歴と1対1で対応させて連続的に記憶し、
前記姿勢の変更を開始させる指示が与えられると、その時点で前記カメラにより撮像された画像を移動先画像として記憶し、その画像の中心周りの所定領域を注視領域に設定し、その時点の前記ロボット本体の手先座標を移動先座標とし、前記制御履歴として記憶されている手先座標のうち、手先の前記カメラから見て奥行き方向の位置と向きとが移動先座標と同じものを移動元座標として設定し、その移動元座標に対応する履歴画像を移動元画像として設定し、
前記移動元座標及び前記移動先座標から求められる手先移動距離を、ワーク注視点移動距離とすると、
前記移動元画像内において、前記移動先画像上の前記注視領域からなる部分画像との画像特徴量の類似度を計算し、前記類似度が一定以上で、且つ最大となる画像領域を特定し、当該特定した画像領域が示す画像座標と前記移動先座標における前記注視領域が示す画像座標とから、前記注視領域の移動距離を画像注視点移動距離として計算し、
予め保持している前記カメラの像面距離と、前記ワーク注視点移動距離と、前記画像注視点移動距離とから、三角測量法により前記カメラと前記ワーク上の注視点との位置関係を求め、
前記位置関係を維持したまま、前記ワークを、前記姿勢の変更開始の指示に続いて与えられる回転方向及び回転速度に応じて回転させるように、前記ロボット本体に制御指令を出力する制御指令出力手段とを備えることを特徴とするロボットの制御方法。
【請求項5】
前記ロボット本体の手先座標の変化量が一定量以上となった場合に、前記ロボット本体の手先座標の変化量が一定量以上となった場合に前記手先座標の変化履歴を制御履歴として記憶すると共に、前記カメラが撮像した画像のデータを記憶することを特徴とする請求項4記載のロボットの制御方法。
【請求項6】
前記ロボット本体の手先座標が変化する方向が前記カメラの仮想撮像面に対して平行となった場合に、前記ロボット本体の手先座標の変化量が一定量以上となった場合に前記手先座標の変化履歴を制御履歴として記憶すると共に、前記カメラが撮像した画像のデータを記憶することを特徴とする請求項4又は5記載のロボットの制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−194494(P2011−194494A)
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願番号】特願2010−62473(P2010−62473)
【出願日】平成22年3月18日(2010.3.18)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】