【文献】
Simon Kielhofer et al.,DLR VR-SCAN: A Versatile and Robust Miniaturized Laser Scanner for short range 3D-Modelling and Exploration in Robotics,2011 IEEE/RSJ International Conference on Intelligent Robots and Systems,IEEE,2011年 9月25日,1933-1939
(58)【調査した分野】(Int.Cl.,DB名)
対象物に作業を行う作業部を備えたロボットと、前記ロボットに対して前記作業部の近傍に取り付けられたカメラと、前記カメラの撮像データに基づいて対象物を確認しながら前記ロボットの駆動を制御する制御装置とを有するロボットシステムにおいて、
前記制御装置は、対象物に対して前記作業部を予め設定された軌道に従って移動させる際、前記カメラに対して、対象物を撮像する複数回の撮像制御と、当該撮像制御により複数回行われる撮像のうち全てではない所定の撮像について焦点を合わせるようにした焦点制御とを行うものであることを特徴とするロボットシステム。
前記制御装置は、複数回行う前記撮像のうち対象物に対して焦点が合わせられた位置での撮像と、当該撮像位置より前記対象物に向けて移動する前記作業部の移動方向前方の移動位置で前記カメラの焦点を合わせるための前記焦点制御とを同期させて行うものであることを特徴とする請求項2に記載のロボットシステム。
前記ロボットは多関節のロボットアームであり、前記ロボットアームの先端部分には、前記作業部としてハンド機構が設けられ、且つ、前記カメラが取り付けられたものであることを特徴とする請求項1乃至請求項3のいずれかに記載のロボットシステム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
前記従来例のロボットアームは、その駆動処理と、カメラによって撮像された撮像データの処理とが段階的に行われるものである。そのため、ロボットアームを駆動させながら撮像データに従ってエンドエフェクタの移動位置を制御するものには適していない。特にカメラによって対象物を撮像するには、その焦点を合わせなければならないが、移動速度が速い場合に自動焦点制御が対象物との相対的変化に追従できない。この点、
上記特許文献2には、レンズ位置および被写界深度に応じた絞り開度の情報が撮影する対象物毎にテーブルに記録され、このテーブルに従って自動焦点制御が行われるようになっている。しかし、同文献に記載の技術は、対象物とカメラとの距離が大きく変化するロボットアームなどの駆動に適するものではない。
【0005】
そこで、本発明は、カメラの撮像データを参照しながら対象物に対するロボットの駆動制御を行うロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様におけるロボットシステムは、対象物に作業を行う作業部を備えたロボットと、前記ロボットに対して前記作業部の近傍に取り付けられたカメラと、前記カメラの撮像データに基づいて対象物を確認しながら前記ロボットの駆動を制御する制御装置とを有し、前記制御装置は、対象物に対して前記作業部を予め設定された軌道に従って移動させる際、前記カメラに対して、対象物を撮像する複数回の撮像制御と、当該撮像制御により複数回行われる撮像のうち
全てではない所定の撮像について焦点を合わせるようにした焦点制御とを行うものである。
【発明の効果】
【0007】
本発明によれば、ロボットによって対象物を把持して移動させるなどの作業を行う場合、作業部を対象物に対して予め設定された軌道に従って移動させるため、カメラによって撮像を繰り返し、得られた撮像データを参照しながらロボットの駆動制御が行われる。その際、複数回行われる撮像のうち所定の撮像について焦点が合うようにしたため、全ての撮像について焦点合わせが行われないとしても、設定された軌道からずれることなく適切な位置を通って作業部を移動させることができる。
【発明を実施するための形態】
【0009】
次に、本発明に係るロボットシステムの一実施形態について、図面を参照しながら以下に説明する。本実施形態のロボットシステムは、例えば電子部品実装機に使用されるロボットアームであり、部品供給装置から送り出された電子部品を取り出し、その電子部品を回路基板の所定個所へと装着させるものである。
図1は、そうしたロボットシステムを概念的に示した図である。このロボットシステム10は、多関節のロボットアーム1によって構成されたものであり、アーム先端部に設けられたエンドエフェクタ2が、電子部品を摘まむようにして取り扱うことができる作業部である。
【0010】
ロボットアーム1は、旋回テーブルや複数の関節機構などによって構成され、サーボモータや関節軸を回転駆動させるアクチュエータなどが組み込まれている。そのサーボモータや各アクチュエータの駆動制御によりエンドエフェクタ2が3次元空間を移動することができる。そのエンドエフェクタ2は、電子部品を把持するチャック機構などによって構成されたものである。また、ロボットアーム1には、エンドエフェクタ2が位置するアーム先端部にカメラ3が取り付けられている。カメラ3は、エンドエフェクタ2による作業をサポートするためのものであり、エンドエフェクタ2と電子部品など対象物との相対的な位置情報を取得するためのものである。そのカメラ3はCCDイメージセンサやCMOSイメージセンサなどが使用され、エンドエフェクタ2の近傍に取り付けられている。
【0011】
ロボットシステム10は、ロボットアーム1およびエンドエフェクタ2の駆動制御や、カメラ3の撮像制御を行うための制御装置5が設けられている。ここで、
図2は、本実施形態のロボットシステム10を示したブロック図である。ロボットアーム1(エンドエフェクタ2を含む)及びカメラ3には制御装置5が接続されている。その制御装置5は、マイクロプロセッサやメインメモリによって構成されたものであり、駆動制御部11、画像処理部12、軌道生成部13及び記憶部14が構成されている。
【0012】
本実施形態のロボットシステム10が組み込まれる電子部品実装機では、前述したようにロボットアーム1によって掴み取られた電子部品が回路基板の所定個所へと装着される。その際、基板生産を実行するための各作業は予め決められており、ロボットアーム1の動き、すなわちエンドエフェクタ2の移動位置は予め設定されている。よって、制御装置5の記憶部14には、ロボットアーム1及びエンドエフェクタ2に対して所定の動作を行わせる部品実装プログラムが格納されている。
【0013】
部品実装プログラムによって駆動が制御されるロボットアーム1は、エンドエフェクタ2を決められた軌道に従って移動させることになるが、対象物との相対的な関係において様々な要因による微妙な誤差が生じ得る。例えば、部品供給装置から供給される部品の位置や回路基板に対する装着位置は、必ずしも常に一定であるわけではなく位置ズレが生じ得る。また、ロボットアーム1自体も、構造的な要因によってエンドエフェクタ2の移動位置が設定された軌道に対して微妙にずれが生じ得る。
【0014】
そこで、制御装置5では、エンドエフェクタ2による電子部品の掴み取りや回路基板への装着作業を正確に行うことができるように、エンドエフェクタ2の移動をサポートする構成が採られている。すなわち本実施形態では、エンドエフェクタ2の移動に生じる誤差をカメラ3によって得られた撮像データを参照した補正処理を行いながら、ロボットアーム1に対する駆動制御が行われる。よって、制御装置5の駆動制御部11では、ロボットアーム1に対する所定の駆動制御を実行するため、カメラ3に対して撮像を実行させる撮像制御や、対象物である電子部品などに対するレンズの焦点を合わせる焦点制御が行われる。
【0015】
そのほか、制御装置5の画像処理部12では、カメラ3の撮像により得られた撮像データから、電子部品に対するエンドエフェクタ2の相対的な位置が算出される。また、画像処理部12では、例えば撮像された撮像データから電子部品のエッジ位置が求められ、当該電子部品の配置方向(姿勢)や中心位置のほか、その中心位置とエンドエフェクタ2の基準点との相対的な位置などのいわゆる空間データが生成される。そして、軌道生成部13では、エンドエフェクタ2を電子部品などの目標位置に移動させるための軌道が生成される。更に、記憶部14には、各種データやプログラムが格納され、例えば、ある基板生産に対する電子部品の取り出しや装着における、エンドエフェクタ2を移動させるための軌道情報や、ロボットアーム1を駆動させるための駆動制御プログラムなどが格納されている。
【0016】
そこで、ロボットアーム1の作業では、駆動制御部11に対して軌道生成部13から軌道情報が送信され、その軌道に沿ってエンドエフェクタ2の移動が制御される。ロボットアーム1の駆動が実行されることにより、移動するエンドエフェクタ2の位置データが駆動制御部11から軌道生成部13へと送信される。一方、エンドエフェクタ2の移動に伴いカメラ3によって対象物(電子部品又は回路基板の装着位置など)が撮像され、その撮像データが画像処理部12へと送信される。画像処理部12では、撮像データから空間データが生成され、記憶部14に格納された設定軌道との誤差が算出される。そして、補正処理によって誤差が修正され、新たに生成された補正後の軌道情報が駆動制御部11へと送信される。駆動制御部11では、更に補正後の軌道情報に基づいたロボットアーム1の駆動制御が継続される。
【0017】
前述したように、軌道情報を生成するためにカメラ3によって対象物が撮像され、その撮像データが画像処理部12へと送信される。ここで
図3は、カメラ3による撮像制御のイメージ図であり、電子部品30を掴み取る場合の軌跡と撮像画面が示されている。ロボットアーム1は、電子部品30の位置へと軌道20に沿ってエンドエフェクタ2を移動させるための駆動制御が行われる。その移動過程における第1〜第9ポイントでカメラ3による対象物の撮像が行われる。なお、第1〜第9ポイントは、撮像間隔が10msに設定されたことによる位置である。それに対し、使用されるカメラ3の性能はレンズの焦点合わせに要する焦点時間が30msのものである。
【0018】
一般的に、駆動速度が速いロボットの軌道修正には撮像間隔を1ms〜10ms程度にする必要があるものの、搭載するカメラの性能に関しては焦点時間が数十ms程度のものが使用される。そのため、撮像間隔が焦点時間より短くなってしまい、レンズの焦点を合わせるための焦点制御が撮像のタイミングより遅れてしまう。これでは、常に最適な焦点合わせが行われない状態の撮像データに基づいてロボットアーム1に対する軌道修正のための補正処理が行われることになる。そこで、本実施形態のロボットシステム10は、撮像の間隔が焦点時間より短い場合でも適切な軌道修正を可能なものとする。
【0019】
先ず、
図3に示すように、軌道20上の第1ポイントから第9ポイントにおいて、カメラ3による電子部品30の撮像が行われる。前述したように、エンドエフェクタ2の移動を開始してから10ms間隔でカメラ3による撮像が繰り返される。しかし、本実施形態では、こうした全てのポイントでカメラ3に対する焦点制御が行われるわけではなく、特定のポイントだけに向けて、レンズの焦点合わせるための焦点制御が行われるようになっている。
【0020】
ここで、
図4は、カメラ3の焦点制御に使用される焦点制御テーブルを示した図である。この焦点制御テーブルは、上段に第1ポイントから第9ポイントに対応した撮像回数が示されている。すなわち、各ポイントで1回ずつの撮像が行われるため、上段の数値は、ポイントの位置を示すとともに移動開始後に行われた撮像回数が示されている。一方、下段には焦点制御によってレンズの焦点合わせが行われる焦点位置が示されている。特に焦点制御は、電子部品30からの高さHを基準にしてレンズの焦点合わせが行われるため、下段の数値は電子部品30からの高さを示す数値である。
【0021】
図4の焦点制御テーブルでは、予め焦点位置(焦点高さ)が100mmに設定されるようになっている。これは第1回目の撮像位置が電子部品30から100mmの位置だからである。そして、第1ポイントすなわち第1回目の撮像である上段の「1」に対応して「60」の値が示されている。これは、第1回目の撮像終了と同時に焦点位置を高さ60mmに合わせるようにカメラ3のレンズに対して焦点制御が行われることを意味している。駆動制御部11の焦点制御指令によってカメラ3の焦点制御が行われたとしても、前述したようにレンズの焦点が合うまでに30msの焦点時間を要する。そのため、10ms間隔で撮像が繰り返される本実施形態では、焦点制御指令後の撮像から数えて4回後の撮像時に焦点合わせが完了することになる。
【0022】
そこで、焦点合わせを開始したカメラ3が、電子部品30に向けて移動する移動方向前方の移動位置すなわち数回後の撮像時に通過する高さで焦点が合うように、数回(数ポイント)先の撮像において焦点を合わせるための焦点制御が行われる。本実施形態では、このような焦点制御を「予約フォーカス」と称する。この予約フォーカスが行われるのは、レンズの焦点が合わせられた高さで撮像が行われた後である。そこで、駆動制御部11によって行われるカメラ3に対する撮像制御と焦点制御(予約フォーカス)とが同期するように構成されている。そして、本実施形態で撮像制御と焦点制御とが同期して行われるのは、9回行われる撮像のうちの1回目と5回目である。
【0023】
図4に示すように、本実施形態では9回行われる撮像のうちの1回目と5回目のタイミングで予約フォーカスが行われる。先ず、第1回目の撮像に同期して行われる予約フォーカスは、4回後である第5回目の撮像時にカメラ3が移動している位置(
図3に示す第5ポイント)が電子部品30から60mmの高さH1となるため、その高さに合わせて設定された焦点制御となる。同じく、第5回目の撮像に同期して行われる予約フォーカスは、4回後である第9回目の撮像時にカメラ3が移動している位置(
図3に示す第9ポイント)が電子部品30から10mmの高さH2となるため、その高さに合わせて設定された焦点制御となる。
【0024】
ところで、予約フォーカスでは、数回先の撮像に対して焦点合わせが行われるが、その間に行われる撮像において焦点が合っていないということではない。カメラ3のレンズにおける被写界深度により、焦点の合う焦点範囲について一定の許容量が認められているからである。
図4に示す第2回目から第4回目、或いは第6回目から第8回目までの撮像においては、カメラ3のレンズは高さH1,H2に向けてそれぞれ焦点合わせの実行中である。このときカメラ3自体も同高さに向けて移動しているということもあり、対象物である電子部品30が焦点範囲の中心にはないとしても、被写界深度の範囲内には収まっている。よって、予約フォーカスの対象となっていないポイントの撮像であっても十分にはっきりと像を結んだ撮像データが得られる。
【0025】
ここで、
図5は、ロボットシステム10の撮像制御、焦点制御および焦点位置の関係を示した図であり、
図3および
図4と同じ制御パターンが示されている。よって、本例におけるロボットシステム10では、次のようにしてエンドエフェクタ2の移動が制御される。先ず、カメラ3は予め100mmの高さに焦点が合わせられている。そして、軌道20に沿ってエンドエフェクタ2が移動し、カメラ3による第1回目の撮像が電子部品30から100mmの高さH0の第1ポイントで行われる。その際、制御装置5の駆動制御部11からカメラ3に対して撮像指令信号(トリガ信号)が入力され、カメラ3ではシャッタが切られて電子部品30の撮像が行われる。そこで、
図3に示すポイント1画像が得られる。
【0026】
そして、
図4に示す焦点制御テーブルに従い、第1回目の撮像指令信号に同期して、駆動制御部11からカメラ3に対して焦点制御指令信号が入力される。カメラ3では、第1回目の撮像後に入力される焦点制御指令信号に従い、対象物から60mmの高さでレンズの焦点が合うようにした駆動調整が行われる。そして、このときロボットアーム1が駆動してエンドエフェクタ2及びカメラ3の移動が続けられており、第2回目、第3回目そして第4回目の撮像が、駆動制御部11からカメラ3に入力されるトリガ信号によって実行される。その撮像では、
図5に示すように、焦点合わせの実行中であって焦点位置が変化している最中であるが、前述したように電子部品30は被写界深度の範囲内に収まっているため、
図3に示すポイント3画像が得られる(ポイント2画像およびポイント4画像は省略)。
【0027】
続いて、第5回目である第5ポイントでの撮像は、カメラ3の移動位置が電子部品30から高さH1である60mmの位置を通過する際に行われる。カメラ3は、その時点でレンズの焦点が高さ60mmに合わせられているため、まさに電子部品30に対して焦点の中心が合った状態で撮像が行われる。このとき
図3に示すポイント5画像が得られる。そして、
図4に示す焦点制御テーブルに従い、第5回目の撮像指令信号に同期して駆動制御部11からカメラ3に対して焦点制御指令信号が入力され、カメラ3ではレンズの焦点が電子部品30から高さ10mmで合うようにするための駆動調整が行われる。
【0028】
移動を続けるカメラ3は、更に第6回目、第7回目および第8回目の撮像が、
図5に示すように焦点位置が変化している状況で実行され、
図3に示すポイント7画像が得られる(ポイント6画像およびポイント8画像は省略)。そして、第9回目である第9ポイントの撮像は、カメラ3の高さH2が電子部品30から10mmの位置、すなわち電子部品30を把持する直前で行われる。その時点でレンズの焦点が高さ10mmに合わせたられているため、電子部品30に対して焦点が合った状態で撮像が行われ、
図3に示すポイント9画像が得られる。
【0029】
よって、本実施形態のロボットシステム10によれば、カメラ3の焦点時間が撮像間隔より長い場合であっても、予約フォーカスを行うことにより軌道20からずれることなく適切な位置を通ってエンドエフェクタ2及びカメラ3を移動させることができる。すなわち、複数ある撮像回数のうち全てではない数回について予約フォーヵスを行うことにより、確実に焦点を合わせた撮像データを得ることができ、設定された軌道20の位置とエンドエフェクタ2の移動位置との誤差を補正処理によって修正することができる。そして、予約フォーカスの対象となっていない回の撮像であっても、カメラ3の移動に従って焦点が合わせられているため、被写界深度の範囲内に電子部品30があるため焦点が合った状態でほぼ全ての回の撮像データを得ることができる。
【0030】
以上、本発明の一実施形態について説明したが、本発明はこれらに限定されるものではなく、その趣旨を逸脱しない範囲で様々な変更が可能である。
例えば、前記実施形態では多関節のロボットアーム1によって構成されたロボットシステムを例に挙げて説明したが、ロボットアームの他にも水平多関節型やXYZ直交型のロボットなどであってもよい。
また、
図4に示す焦点制御テーブルは一例であって、カメラ3の性能やエンドエフェクタ2の移動距離などによって様々に設定可能である。