(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022025541
(43)【公開日】2022-02-10
(54)【発明の名称】位置制御システムおよび位置制御方法
(51)【国際特許分類】
B25J 13/08 20060101AFI20220203BHJP
【FI】
B25J13/08 A
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2020128424
(22)【出願日】2020-07-29
(71)【出願人】
【識別番号】000006220
【氏名又は名称】ミツミ電機株式会社
(74)【代理人】
【識別番号】100091627
【弁理士】
【氏名又は名称】朝比 一夫
(74)【代理人】
【識別番号】100173691
【弁理士】
【氏名又は名称】高橋 康久
(74)【代理人】
【識別番号】100091292
【弁理士】
【氏名又は名称】増田 達哉
(74)【代理人】
【識別番号】100137095
【弁理士】
【氏名又は名称】江部 武史
(72)【発明者】
【氏名】図斉 賢治
(72)【発明者】
【氏名】森本 一幸
(72)【発明者】
【氏名】福冨 健智
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707AS06
3C707AS13
3C707BS02
3C707KT01
3C707LV04
3C707MT04
3C707NS01
(57)【要約】
【課題】カメラを用いてワークと作業部を含むカメラ画像を取得し、取得したカメラ画像に基づいてワークと作業部との相対位置の制御を実行するための位置制御システムおよび位置制御方法を提供する。
【解決手段】位置制御システム100は、ワークテーブル11と、ワークテーブル11上に載置されたワーク3に対する作業を実行するための作業部12と、ワーク3と作業部12との相対位置を変化させるための可動部13と、を備えるロボット1と、ワークテーブル11の上方に設けられたカメラ2と、可動部13およびカメラ2を制御するための制御装置4と、を含む。制御装置4は、カメラ2を駆動することによりワーク3および作業部12を含むカメラ画像を取得し、さらに、取得したカメラ画像に基づいて、可動部13を駆動し、ワーク3と作業部12との相対位置の制御を実行するよう構成されている。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ワークテーブルと、前記ワークテーブル上に載置されたワークに対する作業を実行するための作業部と、前記ワークと前記作業部との相対位置を変化させるための可動部と、を備えるロボットと、
前記ワークテーブルの上方に設けられたカメラと、
前記可動部および前記カメラを制御するための制御装置と、を含み、
前記制御装置は、前記カメラを駆動することにより前記ワークおよび前記作業部を含むカメラ画像を取得し、さらに、前記取得したカメラ画像に基づいて、前記可動部を駆動し、前記ワークと前記作業部との前記相対位置の制御を実行するよう構成されていることを特徴とする位置制御システム。
【請求項2】
前記制御装置は、前記カメラによって取得された前記カメラ画像を参照し、前記作業部と前記ワークとの前記相対位置がアプローチ条件を満たしているか否かを判定し、前記作業部と前記ワークとの前記相対位置が前記アプローチ条件を満たしていない場合、前記可動部を駆動し、前記ワークと前記作業部との前記相対位置を変化させる請求項1に記載の位置制御システム。
【請求項3】
前記カメラは、前記カメラの視野内に、前記ワークに対する作業を実行する前記作業部の先端部が位置するような向きおよび位置で、前記ワークテーブルの上方に設けられている請求項1または2に記載の位置制御システム。
【請求項4】
前記制御装置は、前記カメラによって取得された前記カメラ画像から、前記作業部の前記先端部の汚れ、変形、または破損を検出するよう構成されている請求項3に記載の位置制御システム。
【請求項5】
前記ワークテーブルの作業面をXY平面としたとき、前記可動部は、X軸方向に移動可能なX軸可動部と、Y軸方向に移動可能なY軸可動部と、を含んでおり、
前記作業部および前記カメラは、前記X軸可動部によって前記X軸方向に移動可能に設けられており、
前記ワークテーブルは、前記Y軸可動部によって前記Y軸方向に移動可能に設けられている請求項1ないし4のいずれかに記載の位置制御システム。
【請求項6】
前記可動部は、Z軸方向に移動可能なZ軸可動部をさらに含んでおり、
前記Z軸可動部は、前記X軸可動部に取り付けられており、
前記作業部および前記カメラは、前記Z軸可動部に取り付けられ、これにより、前記X軸方向および前記Z軸方向に移動可能である請求項5に記載の位置制御システム。
【請求項7】
ワークテーブルと、前記ワークテーブル上に載置されたワークに対する作業を実行するための作業部と、前記ワークと前記作業部との相対位置を変化させるための可動部と、を備えるロボットの位置制御を実行するための方法であって、
前記ワークテーブルの上方に設けられたカメラを用いて、前記ワークおよび前記作業部を含むカメラ画像を取得する工程と、
前記取得したカメラ画像に基づいて、前記可動部を駆動し、前記ワークと前記作業部との前記相対位置の制御を実行する工程と、を含むことを特徴とする位置制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、ワークに対する作業を実行するための作業部およびワークと作業部との相対位置を変化させるための可動部を備えるロボットの位置制御を実行するための位置制御システムおよび位置制御方法に関し、より具体的には、カメラを用いてワークおよび作業部を含むカメラ画像を取得し、取得したカメラ画像に基づいてワークと作業部との相対位置の制御を実行するための位置制御システムおよび位置制御方法に関する。
【背景技術】
【0002】
近年、工場の生産ラインにおいて、作業の自動化・無人化を図るため、組立や加工用の産業用ロボットが広く用いられている。産業用ロボットは、工場の生産ラインにおいて、作業対象物(これを「ワーク」という)に対する所定の作業、例えば、部品の取り付け、液体材料の塗布や切削等の加工、導電検査等を行う。このような産業用ロボットは、ロボットアームや可動ステージ等の可動部と、ワークに対する所定の作業を実行するための作業部(例えば、ピックアップハンド、ノズル、コンタクトプローブ)とを備えており、可動部によって作業部とワークとの相対位置を制御することにより、ワークに対する所定の作業を実現する。
【0003】
作業部を用いて、ワークに対する所定の作業を実行する際、カメラを用いて作業部とワークのそれぞれの位置を確認して、これらの位置を調整することが広く行われている(特許文献1参照)。
図1には、ワークに対する所定の作業を実行する際の従来技術の典型的な動作が概略的に示されている。
図1に示されている様態では、ロボットのワークテーブルは、ワークテーブルの面方向(X方向およびY方向)に移動可能な可動ステージ上に固定されており、ワークテーブル上にはワークが載置されている。一方、ワークテーブル上に載置されたワークに対して取り付けられる部品または塗布される液滴は、ワークテーブルの上方に設けられたノズル(作業部)の先端部において保持されている。
図1(a)に示されているように、最初に、ワークテーブルの上方に設けられた第1のカメラによって、部品が搭載または液滴が塗布されるワークのワークポイント(作業対象点)の位置を確認し、同時に、ノズルの下方に設けられた第2のカメラでノズルの先端部、すなわち、部品または液滴の位置を確認する。その後、
図1(b)に示されているように、可動ステージが所定の位置まで移動され、さらに、ノイズが下方に移動されることにより、ワークのワークポイントに対する部品の取り付けまたは液滴の塗布を実行する。その後、
図1(c)に示されているように、可動ステージおよびノズルが
図1(a)に示された状態まで戻され、ワークテーブルの上方に設けられた第1のカメラによって、ワークのワークポイントに部品が搭載または液体材料が塗布されたか否かが確認される。
【0004】
しかしながら、
図1に示すような方法でノズルとワークとの相対位置を制御する場合、次のような問題が発生してしまう。ノズルおよび可動ステージの駆動の目標駆動量と実際の駆動量との間に誤差がある場合、ワークのワークポイントに正確に部品を搭載または液滴を塗布することができない。また、ワークのワークポイントに対する第1のカメラの相対位置が、所定の関係からズレていた場合、ノズルの先端部に対する第2のカメラの相対位置が、所定の関係からズレていた場合、および/または、第1のカメラに対する第2のカメラの相対位置が、所定の関係からズレていた場合等のように、各コンポーネントの組立誤差や軸ズレ等の要因により各コンポーネント間の相対位置にズレがあった場合、各コンポーネント間の相対位置のズレによって、ワークのワークポイントに正確に部品を搭載または液滴を塗布することができない。また、各コンポーネント間のズレは、産業用ロボットを組み立てた後でなければ正確に測定することができず、各コンポーネント間の相対位置のズレを、事前に可動ステージの駆動の制御に反映させることが困難である。また、ワークのワークポイントに正確に部品が搭載または液滴が塗布されたかどうかを第1のカメラによって確認する必要があるため、作業時間が長くなるという問題があった。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、上記従来の問題点を鑑みたものであり、その目的は、カメラを用いてワークと作業部を含むカメラ画像を取得し、取得したカメラ画像に基づいてワークと作業部との相対位置の制御を実行するための位置制御システムおよび位置制御方法を提供することにある。
【課題を解決するための手段】
【0007】
このような目的は、以下の(1)~(7)の本発明により達成される。
(1)ワークテーブルと、前記ワークテーブル上に載置されたワークに対する作業を実行するための作業部と、前記ワークと前記作業部との相対位置を変化させるための可動部と、を備えるロボットと、
前記ワークテーブルの上方に設けられたカメラと、
前記可動部および前記カメラを制御するための制御装置と、を含み、
前記制御装置は、前記カメラを駆動することにより前記ワークおよび前記作業部を含むカメラ画像を取得し、さらに、前記取得したカメラ画像に基づいて、前記可動部を駆動し、前記ワークと前記作業部との前記相対位置の制御を実行するよう構成されていることを特徴とする位置制御システム。
【0008】
(2)前記制御装置は、前記カメラによって取得された前記カメラ画像を参照し、前記作業部と前記ワークとの前記相対位置がアプローチ条件を満たしているか否かを判定し、前記作業部と前記ワークとの前記相対位置が前記アプローチ条件を満たしていない場合、前記可動部を駆動し、前記ワークと前記作業部との前記相対位置を変化させる上記(1)に記載の位置制御システム。
【0009】
(3)前記カメラは、前記カメラの視野内に、前記ワークに対する作業を実行する前記作業部の先端部が位置するような向きおよび位置で、前記ワークテーブルの上方に設けられている上記(1)または(2)に記載の位置制御システム。
【0010】
(4)前記制御装置は、前記カメラによって取得された前記カメラ画像から、前記作業部の前記先端部の汚れ、変形、または破損を検出するよう構成されている上記(3)に記載の位置制御システム。
【0011】
(5)前記ワークテーブルの作業面をXY平面としたとき、前記可動部は、X軸方向に移動可能なX軸可動部と、Y軸方向に移動可能なY軸可動部と、を含んでおり、
前記作業部および前記カメラは、前記X軸可動部によって前記X軸方向に移動可能に設けられており、
前記ワークテーブルは、前記Y軸可動部によって前記Y軸方向に移動可能に設けられている上記(1)ないし(4)のいずれかに記載の位置制御システム。
【0012】
(6)前記可動部は、Z軸方向に移動可能なZ軸可動部をさらに含んでおり、
前記Z軸可動部は、前記X軸可動部に取り付けられており、
前記作業部および前記カメラは、前記Z軸可動部に取り付けられ、これにより、前記X軸方向および前記Z軸方向に移動可能である上記(5)に記載の位置制御システム。
【0013】
(7)ワークテーブルと、前記ワークテーブル上に載置されたワークに対する作業を実行するための作業部と、前記ワークと前記作業部との相対位置を変化させるための可動部と、を備えるロボットの位置制御を実行するための方法であって、
前記ワークテーブルの上方に設けられたカメラを用いて、前記ワークおよび前記作業部を含むカメラ画像を取得する工程と、
前記取得したカメラ画像に基づいて、前記可動部を駆動し、前記ワークと前記作業部との前記相対位置の制御を実行する工程と、を含むことを特徴とする位置制御方法。
【発明の効果】
【0014】
本発明によれば、カメラを用いてワークおよび作業部を含むカメラ画像を取得し、取得したカメラ画像に基づいてワークと作業部との相対位置の制御を実行することができる。そのため、ロボットの可動部の駆動の目標駆動量と実際の駆動量との間に差があった場合であっても、繰り返し、ワークと作業部との相対位置の制御を実行することによって、正確にワークに対する作業を実行することができる。
【図面の簡単な説明】
【0015】
【
図1】従来技術におけるカメラを用いた作業部および部品のそれぞれの位置制御を詳述するための図である。
【
図2】本発明の位置制御システムを概略的に示すブロック図である。
【
図3】
図2に示すロボット、カメラ、およびワークを示す斜視図である。
【
図5】
図2に示す制御装置を概略的に示すブロック図である。
【
図6】カメラ画像に基づく作業部とワークとの相対位置の制御を説明するための図である。
【
図7】本発明の位置制御方法を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明の位置制御システムおよび位置制御方法を、添付図面に示す好適な実施形態に基づいて、説明する。なお、以下で参照する各図は、本発明の説明のために用意された模式的な図である。図面に示された各構成要素の寸法(長さ、幅、厚さ等)は、必ずしも実際の寸法を反映したものではない。また、各図において、同一または対応する要素には、同じ参照番号が付されている。以下の説明において、各図のZ軸の正方向を「上側」といい、Z軸の負方向を「下側」ということがある。
【0017】
最初に、
図2~
図6を参照して、本発明の実施形態に係る位置制御システムを詳述する。
図2は、本発明の位置制御システムを概略的に示すブロック図である。
図3は、
図2に示すロボット、カメラ、およびワークを示す斜視図である。
図4は、
図3中のカメラの周辺領域の拡大図である。
図5は、
図2に示す制御装置を概略的に示すブロック図である。
図6は、カメラ画像に基づく作業部とワークとの相対位置の制御を説明するための図である。なお、
図3中では、図面の簡略化のため、ロボットの各コンポーネントおよびカメラと制御装置とを接続する配線は省略されていることに留意されたい。
【0018】
<位置制御システム100>
図2に概略的に示されている位置制御システム100は、ロボット1の可動部13の位置制御を実行するために用いられる。位置制御システム100は、ロボット1と、カメラ2と、ロボット1のワークテーブル11上に載置されたワーク3と、ロボット1およびカメラ2の制御を行うための制御装置4と、を含んでいる。
【0019】
ロボット1は、ワークテーブル11上に載置されたワーク3に対して、部品の取り付け、液体材料の塗布や切削等の加工、導電検査等の所定の作業を行う機能を有している。典型的には、ワーク3は、回路基板または精密部品であり、ロボット1は、ワーク3に対して精密作業を行い、プロダクトまたは仕掛品を得るための産業用ロボットである。ロボット1は、ワークテーブル11と、ワークテーブル11上に載置されるワーク3に対する作業を実行するための作業部12と、ワークテーブル11と作業部12との相対位置を変化させるための可動部13と、を備えている。
【0020】
図3に示されているように、ワークテーブル11は、平板状の部材であり、その上に作業部12によって作業が施されるワーク3が載置される。作業部12は、ワークテーブル11上に載置されたワーク3に対して所定の作業を実行するために用いられる。ワーク3に対して実行すべき作業の内容に応じて、様々なツールを、作業部12として用いることができる。例えば、ワーク3に対して熱硬化性樹脂等の接着剤の塗布を行う場合には、ノズルを作業部12として用いることができ、ワーク3に対して部品の組み付けを行う場合には、ピックアップハンドを作業部12として用いることができ、ワーク3に対して導電検査を行う場合には、コンタクトプローブを作業部12として用いることができる。
【0021】
作業部12は、図示しない配線によって制御装置4に接続されており、制御装置4からの制御に応じて、所定の動作を実行する。例えば、作業部12がノズルである場合には、作業部12は、制御装置4からの制御に応じて、ノズル内部に充填された液体材料(例えば、熱硬化性樹脂等の接着剤)をワーク3に対して塗布する動作を実行する。以下、作業部12は、制御装置4からの制御に応じて、液体材料をワーク3のワークポイント(作業対象点)に対して塗布するためのノズルであるとして説明を提供するが、上述のように作業部12はノズルに限られない点に留意されたい。制御装置4からの制御に応じて、可動部13が駆動され、作業部12とワークテーブル11上に載置されたワーク3との相対位置が調整された後、制御装置4は、作業部12に対して制御信号を送信し、作業部12は、ワーク3に対して自身の内部に充填された液体材料を、ワーク3のワークポイントに対して吐出する。
【0022】
可動部13は、ロボット1の土台として機能するベース131と、ベース131の上方にベース131の上面とは離間して設けられたX軸可動部13Xと、ベース131の上面上に設けられたY軸可動部13Yと、X軸可動部13Xに取り付けられたZ軸可動部13Zと、を備えている。
【0023】
X軸可動部13Xは、図示しない配線によって制御装置4に接続されており、制御装置4からの制御に応じて、X軸ステージ133Xを、
図3中のX軸方向に沿ってスライド移動させる機能を有している。X軸可動部13Xは、ベース131のX軸方向の両端側にそれぞれ立設するよう設けられた一対の脚部131Xと、ベース131の上面から離間し、一対の脚部131Xの間を架橋するよう設けられ、図中のX軸に沿って延伸するX軸レール132Xと、X軸レール132X上をスライド移動可能に設けられた箱形のX軸ステージ133Xと、X軸ステージ133Xをスライド移動させるためのステッピングモーター等のX軸アクチュエーター(図示せず)と、を備えている。制御装置4からX軸アクチュエーターに制御信号が送信されると、X軸アクチュエーターが制御信号に応じて駆動し、X軸ステージ133Xを、X軸レール132X上でスライド移動させる。
【0024】
Y軸可動部13Yは、図示しない配線によって制御装置4に接続されており、制御装置4からの制御に応じて、Y軸ステージ132Yを、
図3中のY軸方向に沿ってスライド移動させる機能を有している。Y軸可動部13Yは、ベース131の上面上に設けられ、図中のY軸に沿って延伸するY軸レール131Yと、Y軸レール131Y上をスライド移動可能に設けられた平板状のY軸ステージ132Yと、Y軸ステージ132Yをスライド移動させるためのステッピングモーター等のY軸アクチュエーター(図示せず)と、を備えている。制御装置4からY軸アクチュエーターに制御信号が送信されると、Y軸アクチュエーターが制御信号に応じて駆動し、Y軸ステージ132YをY軸レール131Y上でスライド移動させる。また、
図3に示されているように、Y軸ステージ132Yの面は、図中のXY平面と一致している。また、ロボット1のワークテーブル11が、Y軸ステージ132Y上に固定されており、さらに、ワークテーブル11上にワーク3が載置されている。
【0025】
Z軸可動部13Zは、図示しない配線によって制御装置4に接続されており、制御装置4からの制御に応じて、Z軸ステージ131Zを、
図3中のZ軸方向に沿ってスライド移動させる機能を有している。Z軸可動部13Zは、X軸可動部13XのX軸ステージ133X上に設けられた平板状のZ軸ステージ131Zと、Z軸ステージ131Zをスライド移動させるためのステッピングモーター等のZ軸アクチュエーター(図示せず)と、を備えている。制御装置4からZ軸アクチュエーターに制御信号が送信されると、Z軸アクチュエーターが制御信号に応じて駆動し、Z軸ステージ131ZをX軸ステージ133X上で、Z軸方向に沿ってスライド移動させる。また、
図3に示されているように、Z軸ステージ131Zの面方向は、図中のXZ平面と一致している。また、作業部12およびカメラ2が、固定具によって、Z軸ステージ131Zの面上に固定されている。
【0026】
このように図示の形態では、ワークテーブル11は、Y軸可動部13YのY軸ステージ132Y上に取り付けられ、さらに、ワーク3が、ワークテーブル11上に載置されている。一方、Z軸可動部13ZのZ軸ステージ131Zは、X軸可動部13XのX軸ステージ133Xに取り付けられており、さらに、作業部12およびカメラ2が、Z軸ステージ131Zに取り付けられている。したがって、制御装置4は、可動部13のX軸可動部13X、Y軸可動部13Y、およびZ軸可動部13Zを駆動することにより、作業部12とワークテーブル11上に載置されたワーク3との相対位置を変更することができる。
【0027】
なお、本明細書において、用語「駆動量」および「駆動の目標量」は、それぞれ、制御装置4からの制御によって駆動され、スライド移動された可動部13の各ステージの「移動量」および「移動の目標量」を指す。例えば、「X軸可動部13Xの駆動量」といった場合、制御装置4からの制御によって駆動されたX軸アクチュエーターによってスライド移動されたX軸ステージ133Xの移動量を指し、「可動部13の駆動量」といった場合、制御装置4からの制御によって駆動されたX軸アクチュエーター、Y軸アクチュエーター、およびZ軸アクチュエーターによってそれぞれスライド移動されたX軸ステージ133X、Y軸ステージ132Y、およびZ軸ステージ131Zの移動ベクトルの和を指す。
【0028】
カメラ2は、ワークテーブル11の上方において、作業部12とワークテーブル11上に載置されたワーク3を撮影可能に設けられた任意の撮像デバイスである。
図3に示されているように、カメラ2は、可動部13のZ軸可動部13ZのZ軸ステージ131Zに取り付けられている。カメラ2は、図示しない配線によって制御装置4に接続されており、作業部12とワーク3を含むカメラ画像を取得し、取得したカメラ画像を制御装置4に送信する。制御装置4は、カメラ2から送信されたカメラ画像を参照することにより、作業部12とワーク3との相対位置を確認することができる。したがって、カメラ2は、作業部12とワーク3との相対位置を観察するための視覚センサーとして機能する。
【0029】
図4は、
図3中のカメラ2の周辺領域の拡大図を示している。なお、
図4中においてカメラ2の先端から下方に向けて放射状に延伸する点線は、カメラ2の視野を表現している。
図4に示されているように、カメラ2は、カメラ2の視野内に常に、ワーク3に対する作業を実行する作業部12の先端部121およびワーク3が位置するような向きおよび位置で、Z軸ステージ131Zに取り付けられている。このように、カメラ2および作業部12の双方がZ軸ステージ131Zに取り付けられているため、カメラ2と作業部12との相対位置は常に一定である。また、作業部12の先端部121は、作業部12がノズルである場合には、液体材料を吐出するノズル先端であり、作業部12がピックアップハンドである場合には、ワーク3を把持するハンド先端部であり、作業部12がコンタクトプローブである場合には、プローブ先端である。
【0030】
このような構成により、ロボット1がワーク3に対する作業を実行する際にカメラ2によって取得されるカメラ画像は、作業部12の先端部121とワークテーブル11上のワーク3を常に含んでいる。そのため、制御装置4は、カメラ画像を参照することにより、作業部12とワーク3との相対位置を直接確認することができ、作業部12とワーク3との相対位置の制御をより正確に実行することができる。
【0031】
図5には、制御装置4のブロック図が示されている。制御装置4は、ロボット1の各コンポーネント(具体的には、作業部12および可動部13)およびカメラ2に接続されている。制御装置4は、ロボット1の各コンポーネントおよびカメラ2を制御する機能を有している。制御装置4は、単体のデバイスとして実施されていてもよいし、デスクトップコンピューター、ラップトップコンピューター、ノートパソコン、ワークステーション、タブレット型コンピューター、携帯電話、スマートフォン、PDA、ウェアラブル端末、サーバー等の任意の演算デバイス内において実施されていてもよい。
【0032】
図5に示されているように、制御装置4は、制御装置4の動作を実行するための1つ以上のプロセッサー41と、制御装置4への入力および制御装置4からの出力を実行するためのI/O(インプット/アウトプット)インターフェース42と、制御装置4の処理を実行するために用いられるデータ44およびモジュール45を保存している1つ以上のメモリー43と、を備えている。
【0033】
1つ以上のプロセッサー41は、1つ以上のマイクロプロセッサー、マイクロコンピューター、マイクロコントローラー、デジタル信号プロセッサー(DSP)、中央演算処理装置(CPU)、メモリーコントロールユニット(MCU)、画像処理用演算処理装置(GPU)、状態機械、論理回路、特定用途向け集積回路(ASIC)、またはこれらの組み合わせ等のコンピューター可読命令に基づいて信号操作等の演算処理を実行する演算ユニットである。特に、プロセッサー41は、メモリー43内に保存されているコンピューター可読命令(例えば、データ、プログラム、モジュール等)をフェッチし、演算、信号操作および制御を実行するよう構成されている。
【0034】
I/Oインターフェース42は、ウェブインターフェース、グラフィカルユーザーインターフェース(GUI)等の様々なソフトウェアインターフェースおよびハードウェアインターフェースを含む。例えば、I/Oインターフェース42は、キーボード、マウス、タッチパネルディスプレイ、外部メモリー、プリンター、ディスプレイのような周辺デバイスのためのインターフェースである。I/Oインターフェース42は、キーボード、マウス、タッチパネルディスプレイのような入力デバイスを用いた制御装置4への入力およびディスプレイ、プリンター、外部メモリーへの制御装置4からの出力を可能とする。また、I/Oインターフェース42は、制御装置4が、インターネット等のネットワークを介して、外部に設けられたウェブサーバーやデータサーバーのような任意の外部デバイスと通信を行うことを可能としてもよい。
【0035】
メモリー43は、揮発性記憶媒体(例えば、RAM、SRAM、DRAM)、不揮発性記憶媒体(例えば、ROM、EPROM、EEPROM、フラッシュメモリー、ハードディスク、ソリッドステートドライブ、SDカード、光ディスク、CD-ROM、デジタル多用途ディスク(DVD)、ブルーレイディスク、磁気カセット、磁気テープ、磁気ディスク)、またはこれらの組み合わせを含むコンピューター可読媒体である。
【0036】
データ44は、カメラ2が取得したカメラ画像に対する歪み補正等の画像処理およびカメラ2のカメラキャリブレーションを実行するために必要なカメラパラメーター441と、ロボット1の可動部13の位置制御のキャリブレーション用の駆動補正パラメーター442と、作業部12の先端部121とワーク3のワークポイントとの相対位置が満たすべきアプローチ条件443と、制御装置4の処理を実行するために必要な任意の数のその他データ444と、を含んでいる。
【0037】
カメラパラメーター441は、カメラ2のレンズの焦点距離、収差特性、カメラ2の画像センサーのセンサー特性等のカメラ2のレンズおよび画像センサーに関するパラメーターである。カメラパラメーター441は、位置制御システム100の構築前に事前に取得または測定され、メモリー43内に保存されている。
【0038】
駆動補正パラメーター442は、制御装置4から可動部13に出力される出力値を補正するためのパラメーターである。制御装置4が、可動部13(X軸可動部13X、Y軸可動部13Y、および/またはZ軸可動部13Z)を所定の目標量だけ駆動させるために、可動部13に対して、目標量に対応する出力値を可動部13に出力したとしても、可動部13の部品の寸法誤差、治具熱膨張、軸ずれ等の影響により、駆動の目標量と、実際の駆動量との間に差が生じてしまう。駆動補正パラメーター442は、このような可動部13の駆動の目標量と実際の駆動量との差を最小化するために用いられる。可動部13の駆動の目標量と実際の駆動量との間の相関関係は、典型的には、高次の多項式で表され、駆動補正パラメーター442は、該高次の多項式の各項の係数である。このような駆動補正パラメーター442を用いることにより、可動部13の駆動の目標量から、可動部13への適切な出力値を得ることができる。駆動補正パラメーター442は、位置制御システム100の利用前に事前に取得され、メモリー43に保存されている。
【0039】
アプローチ条件443は、可動部13のZ軸可動部13Zを駆動して、作業部12の先端部121を下方に移動させ、ワーク3のワークポイントにアプローチさせる際に、作業部12の先端部121とワーク3のワークポイントとの相対位置が満たすべき条件である。より具体的には、アプローチ条件443は、カメラ2によって取得されたカメラ画像内において、作業部12の先端部121とワーク3のワークポイントとの相対位置が、作業部12の先端部121をワーク3のワークポイントに向かってアプローチさせるために適した状態にあるか否かを判断するための条件である。例えば、アプローチ条件443は、カメラ画像内における作業部12の先端部121とワーク3のワークポイントとの離間距離、ワーク3のワークポイントに対する作業部12の先端部121の角度等である。アプローチ条件443は、作業部12の形状、作業部12が行う作業の種類、ワーク3の形状、大きさに応じて事前に設定されている。
【0040】
モジュール45は、ルーティーン、アプリケーション、プログラム、アルゴリズム、ライブラリー、オブジェクト、コンポーネント、データ構造、またはこれらの組み合わせ等のプロセッサー41により実行可能なコンピューター可読命令である。
【0041】
モジュール45は、カメラ2を制御するためのカメラ制御モジュール451と、カメラ2によって取得されたカメラ画像に基づいて、ロボット1の可動部13の駆動量を決定するための駆動量決定モジュール452と、ロボット1を制御するためのロボット制御モジュール453と、作業部12の先端部121とワーク3のワークポイントとの相対位置がアプローチ条件443を満たしているか否かを判定するためのアプローチ条件判定モジュール454と、制御装置4が提供する機能を補うための任意の数のその他モジュール455と、を含んでいる。
【0042】
プロセッサー41は、メモリー43内に保存されている各種モジュールを用いることにより、所望の機能を提供することができる。例えば、プロセッサー41は、ロボット制御モジュール453を用いることにより、ロボット1の作業部12および可動部13を駆動するための処理を実行することができる。また、各モジュールは、他のモジュールを使用することも可能である。
【0043】
カメラ制御モジュール451は、カメラ2を駆動し、カメラ画像を取得する機能と、カメラ2によって取得されたカメラ画像に対して補正を施す機能と、を有している。カメラ制御モジュール451は、カメラ2から送信されるカメラ画像に対して、メモリー43内に保存されているカメラパラメーター441を用いて歪み補正等の画像処理を施す。カメラ制御モジュール451によって取得および補正されたカメラ画像は、メモリー43内に一時的に保存され、制御装置4の各モジュールによって用いられる。
【0044】
駆動量決定モジュール452は、カメラ2によって取得されたカメラ画像に基づいて、ロボット1の可動部13の駆動量を決定する機能を有している。より具体的には、駆動量決定モジュール452は、カメラ2によって取得されたカメラ画像中の作業部12の先端部121およびワーク3のワークポイントのそれぞれの位置を特定する。その後、駆動量決定モジュール452は、メモリー43内に保存されているアプローチ条件443を参照し、作業部12の先端部121とワーク3のワークポイントとの相対位置が、アプローチ条件443を満たすようになるために必要な可動部13のX軸可動部13XおよびY軸可動部13Yのそれぞれの駆動の目標量を決定する。駆動量決定モジュール452によって決定されたX軸可動部13XおよびY軸可動部13Yのそれぞれの駆動の目標量は、ロボット制御モジュール453に送信される。同時に、駆動量決定モジュール452は、可動部13のZ軸可動部13Zの駆動の目標量を、ロボット制御モジュール453に送信する。可動部13のZ軸可動部13Zを駆動して、作業部12の先端部121をワーク3のワークポイントにアプローチする前の作業部12の先端部121とワーク3のワークポイントとの間のZ軸方向の離間距離(すなわち、アプローチ量)は、実行される作業に応じて略一定であるので、可動部13のZ軸可動部13Zの駆動の目標量は、事前に設定された固定値である。
【0045】
なお、上述のようにカメラ2によって取得されるカメラ画像は、作業部12の先端部121を含んでいるので、駆動量決定モジュール452は、カメラ画像を参照することにより、作業部12の先端部121の汚れ、変形、または破損を検出することができる。作業部12の先端部121の汚れ、変形、または破損が検出された場合には、駆動量決定モジュール452は、I/Oインターフェース42を用いて、ディスプレイ等の出力装置にエラーメッセージを表示させる。これにより、位置制御システム100の管理者や使用者等は、作業部12の清掃や交換等の適切な処置を取ることができる。
【0046】
ロボット制御モジュール453は、ロボット1を制御する機能を有している。より具体的には、ロボット制御モジュール453は、ロボット1の可動部13を駆動させ、ロボット1の作業部12とワークテーブル11上のワーク3との相対位置を変化させる機能と、作業部12を駆動させ、ワーク3に対して所定の作業を実行する機能と、を有している。
【0047】
ロボット制御モジュール453は、可動部13のX軸可動部13X、Y軸可動部13Y、およびZ軸可動部13Zをそれぞれ独立に駆動させることができる。なお、ロボット制御モジュール453がロボット1のX軸可動部13X、Y軸可動部13Y、およびZ軸可動部13Zを駆動していない初期状態の作業部12の位置を初期位置という。ロボット制御モジュール453は、駆動量決定モジュール452から、X軸可動部13X、Y軸可動部13Y、およびZ軸可動部13Zのそれぞれの駆動の目標量を受信する。その後、ロボット制御モジュール453は、可動部13のX軸可動部13X、Y軸可動部13Y、およびZ軸可動部13Zの位置制御の精度を高めるため、メモリー43内に保存されている駆動補正パラメーター442を参照し、X軸可動部13X、Y軸可動部13Y、およびZ軸可動部13Zのそれぞれの駆動の目標量から、X軸可動部13X、Y軸可動部13Y、およびZ軸可動部13Zのそれぞれ用の出力値を算出する。
【0048】
その後、ロボット制御モジュール453は、可動部13のX軸可動部13XおよびY軸可動部13Yに対して、算出した出力値を出力し、X軸可動部13XおよびY軸可動部13Yを、それぞれ独立に駆動させる。ロボット制御モジュール453が、可動部13のX軸可動部13XおよびY軸可動部13Yを駆動させると、カメラ制御モジュール451によって、カメラ2が駆動され、カメラ画像が取得される。その後、後述するアプローチ条件判定モジュール454は、カメラ2によって取得されたカメラ画像から、作業部12の先端部121とワーク3のワークポイントとの相対位置がアプローチ条件443を満たしているか否かを判定する。
【0049】
アプローチ条件判定モジュール454によって、作業部12の先端部121とワーク3のワークポイントとの相対位置がアプローチ条件443を満たしていると判定されると、ロボット制御モジュール453は、可動部13のZ軸可動部13Zに対して、算出した出力値を出力し、Z軸可動部13Zを駆動する。これにより、作業部12の先端部121がワーク3のワークポイントに対してアプローチし、作業部12の先端部121が、ワーク3のワークポイントに接触または近接する。その後、ロボット制御モジュール453は、作業部12を駆動し、ワーク3のワークポイントに対して所定の作業を行う。なお、ワーク3のワークポイントに対する所定の作業が終了した後、ロボット制御モジュール453は、Z軸可動部13Zを駆動し、作業部12の先端部121をワーク3から遠ざけ、作業部12のZ軸方向の位置を初期位置に戻す。その後、ロボット制御モジュール453は、X軸可動部13XおよびY軸可動部13Yを駆動して、作業部12のX軸方向およびY軸方向の位置を初期位置に戻す。代替的に、ロボット制御モジュール453は、X軸可動部13XおよびY軸可動部13Yを駆動せず、作業部12のX軸方向およびY軸方向の位置を維持してもよい。
【0050】
なお、ワーク3のワークポイントに対する所定の作業が終了した後、ロボット制御モジュール453がZ軸可動部13Zを駆動し、作業部12のZ軸方向の位置を初期位置に戻すと、カメラ2は、作業部12によって作業が施されたワーク3のワークポイントを撮影することができる。そのため、制御装置4は、カメラ2によって取得されたカメラ画像を確認することにより、ワーク3のワークポイントに対する作業が成功したか否かを容易に判別することができる。例えば、制御装置4は、カメラ画像を参照することにより、ワーク3のワークポイントからズレた位置に作業部12から吐出された液体材料が塗布されていることを検出することができる。この場合、制御装置4は、I/Oインターフェース42を用いて、ディスプレイ等の出力装置にエラーメッセージを表示させる。これにより、位置制御システム100の管理者または使用者等は、ロボット1の調整等の適切な処置を取ることができる。
【0051】
アプローチ条件判定モジュール454は、ロボット制御モジュール453が可動部13を駆動した後にカメラ2によって取得されたカメラ画像を参照し、作業部12の先端部121とワーク3のワークポイントとの相対位置がアプローチ条件443を満たしているか否かを判定する機能を有している。具体的には、アプローチ条件判定モジュール454は、カメラ画像を参照し、作業部12の先端部121とワーク3のワークポイントのそれぞれの位置を特定する。その後、アプローチ条件判定モジュール454は、作業部12の先端部121とワーク3のワークポイントとの相対位置がアプローチ条件443を満たしているか否かを判定する。アプローチ条件判定モジュール454によって、作業部12の先端部121とワーク3のワークポイントとの相対位置がアプローチ条件443を満たしていないと判定された場合、駆動量決定モジュール452によるロボット1の可動部13の駆動の目標量の決定と、ロボット制御モジュール453による可動部13のX軸可動部13XおよびY軸可動部13Yの駆動が再度実行される。
【0052】
図6には、作業部12の先端部121とワーク3のワークポイントとの相対位置が、アプローチ条件を満たすようになるまで、駆動量決定モジュール452によるロボット1の可動部13の駆動の目標量の決定およびロボット制御モジュール453による可動部13のX軸可動部13XおよびY軸可動部13Yの駆動を繰り返す動作が示されている。
図6に示されているように、カメラ2によって取得されたカメラ画像内において、作業部12の先端部121とワーク3のワークポイントとの位置関係がアプローチ条件443を満たすようになるまで、作業部12の先端部121とワーク3のワークポイントとの相対位置の変更が繰り返される。
【0053】
アプローチ条件判定モジュール454によって、作業部12の先端部121とワーク3のワークポイントとの相対位置がアプローチ条件443を満たしていると判定されると、判定結果がロボット制御モジュール453に送信される。その後、ロボット制御モジュール453は、可動部13のZ軸可動部13Zに対して、算出した出力値を出力し、Z軸可動部13Zを駆動させ、作業部12の先端部121をワーク3のワークポイントに対してアプローチさせ、作業部12の先端部121を、ワーク3のワークポイントに接触または近接させる。その後、ロボット制御モジュール453は、作業部12を駆動し、ワーク3に対して所定の作業を行う。
【0054】
このように、本発明の位置制御システム100においては、カメラ2が、カメラ2の視野内に常に、ワーク3に対する作業を実行する作業部12の先端部121およびワーク3が位置するような向きおよび位置で設けられているため、カメラ2によって取得されるカメラ画像は、作業部12の先端部121およびワーク3を含んでいる。そのため、カメラ画像を参照することにより作業部12の先端部121とワーク3のワークポイントとの相対位置を確認しながら、作業部12の先端部121とワーク3のワークポイントとの相対位置を制御することができる。このような構成により、ロボット1を用いたワーク3に対する作業の精度を向上させることができる。
【0055】
さらに、作業部12の先端部121とワーク3のワークポイントとの相対位置がアプローチ条件443を満たすようになるまで、駆動量決定モジュール452によるロボット1の可動部13の駆動の目標量の決定と、ロボット制御モジュール453による可動部13のX軸可動部13XおよびY軸可動部13Yの駆動が繰り返されるので、ロボット1の可動部13の位置制御の精度を、可動部13の動作分解能近くまで追い込むことができる。
【0056】
また、従来技術の欄において述べた従来の位置制御システムと異なり、本発明の位置制御システムでは、用いられるカメラの台数が1台であるため、従来の位置制御システムで問題となる複数のカメラ間の相対位置のズレを考慮する必要がない。また、カメラ画像は作業部12の先端部121を含んでいるので、カメラ画像を参照することにより、作業部12の先端部121の汚れ、変形、または破損を検出することができる。そのため、位置制御システム100の管理者や使用者等は、作業部12の清掃や交換等の適切な処置を取ることができる。
【0057】
<位置制御方法S100>
上述した位置制御システム100を用いて本発明の位置制御方法が実行される。以下、
図7を参照して、本発明の位置制御方法を詳述する。
図7は、本発明の位置制御方法を示すフローチャートである。
【0058】
位置制御方法S100は、位置制御システム100の管理者または使用者等が、制御装置4に対してワーク3に対する所定の作業を開始するための操作を実行すると、開始される。最初に、工程S110において、制御装置4のプロセッサー41は、カメラ制御モジュール451を用いてカメラ2を駆動し、作業部12の先端部121およびワークテーブル11上に載置されているワーク3を撮影し、第1のカメラ画像(移動前カメラ画像)を取得する。
【0059】
次に、工程S120において、制御装置4のプロセッサー41は、駆動量決定モジュール452を用いて、可動部13のX軸可動部13XおよびY軸可動部13Yのそれぞれの駆動の目標量を決定する。具体的には、駆動量決定モジュール452は、最初に、工程S110において取得された第1のカメラ画像を参照し、第1のカメラ画像中の作業部12の先端部121およびワーク3のワークポイントのそれぞれの位置を特定する。その後、駆動量決定モジュール452は、メモリー43内に保存されているアプローチ条件443を参照し、作業部12の先端部121とワーク3のワークポイントとの相対位置が、アプローチ条件443を満たすようになるために必要な可動部13のX軸可動部13XおよびY軸可動部13Yのそれぞれの駆動の目標量を決定する。決定されたX軸可動部13XおよびY軸可動部13Yのそれぞれの駆動の目標量、並びに、事前に設定された固定値であるZ軸可動部13Zの駆動の目標量が、ロボット制御モジュール453に送信され、処理は、工程S130に進む。
【0060】
工程S130において、制御装置4のプロセッサー41は、ロボット制御モジュール453を用いて、ロボット1の可動部13のX軸可動部13XおよびY軸可動部13Yを駆動する。具体的には、ロボット制御モジュール453は、可動部13のX軸可動部13X、Y軸可動部13Y、およびZ軸可動部13Zの位置制御の精度を高めるため、メモリー43内に保存されている駆動補正パラメーター442を参照し、駆動量決定モジュール452から受信したX軸可動部13X、Y軸可動部13Y、およびZ軸可動部13Zのそれぞれの駆動の目標量から、X軸可動部13X、Y軸可動部13Y、およびZ軸可動部13Zのそれぞれ用の出力値を算出する。その後、ロボット制御モジュール453は、可動部13のX軸可動部13XおよびY軸可動部13Yに対して、算出した出力値を出力し、X軸可動部13XおよびY軸可動部13Yを、それぞれ独立に駆動させ、作業部12の先端部121とワーク3のワークポイントとの相対位置を変化させる。作業部12の先端部121とワーク3のワークポイントとの相対位置が変化されると、処理は、工程S140に進む。
【0061】
工程S140において、制御装置4のプロセッサー41は、カメラ制御モジュール451を用いてカメラ2を駆動し、作業部12の先端部121およびワークテーブル11上に載置されているワーク3を撮影し、第2のカメラ画像(移動後カメラ画像)を取得する。工程S150において、制御装置4のプロセッサー41は、アプローチ条件判定モジュール454を用いて、第2のカメラ画像を参照して、可動部13のX軸可動部13XおよびY軸可動部13Yの駆動後の作業部12の先端部121とワーク3のワークポイントとの相対位置を特定する。工程S160において、制御装置4のプロセッサー41は、アプローチ条件判定モジュール454を用いて、作業部12の先端部121とワーク3のワークポイントとの相対位置がアプローチ条件443を満たしているか否かを判定する。
【0062】
工程S160において作業部12の先端部121とワーク3のワークポイントとの相対位置がアプローチ条件443を満たしていないと判定された場合、処理は、工程S110に戻る。一方、工程S160において作業部12の先端部121とワーク3のワークポイントとの相対位置がアプローチ条件443を満たしていると判定された場合、処理は、工程S170に進む。
【0063】
工程S170において、制御装置4のプロセッサー41は、ロボット制御モジュール453を用いて、ロボット1の可動部13のZ軸可動部13Zおよび作業部12を駆動し、ワーク3に対する作業を実行する。具体的には、ロボット制御モジュール453は、ロボット1の可動部13のZ軸可動部13Zを駆動し、作業部12の先端部121をワーク3のワークポイントに対してアプローチさせ、作業部12の先端部121を、ワーク3のワークポイントに接触または近接させる。その後、ロボット制御モジュール453は、作業部12を駆動し、ワーク3のワークポイントに対して所定の作業を行う。ワーク3のワークポイントに対する所定の作業が終了すると、ロボット制御モジュール453は、Z軸可動部13Zを駆動し、作業部12の先端部121をワーク3から遠ざけ、作業部12のZ軸方向の位置を初期位置に戻す。その後、ロボット制御モジュール453は、X軸可動部13XおよびY軸可動部13Yを駆動して、作業部12のX軸方向およびY軸方向の位置を初期位置に戻してもよいし、X軸可動部13XおよびY軸可動部13Yを駆動せず、作業部12のX軸方向およびY軸方向の位置を維持してもよい。その後、位置制御方法S100は終了する。
【0064】
以上、本発明の位置制御システムおよび位置制御方法を図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではない。本発明の各コンポーネントの構成は、同様の機能を発揮し得る任意のものと置換することができ、あるいは、本発明の構成に任意の構成のものを付加することができる。
【0065】
本発明の属する分野および技術における当業者であれば、本発明の原理、考え方、および範囲から有意に逸脱することなく、記述された本発明の位置制御システムおよび位置制御方法の構成の変更を実行可能であろうし、変更された構成を有する位置制御システムおよび位置制御方法もまた、本発明の範囲内である。
【0066】
例えば、
図2~
図6を参照して詳述された位置制御システムのコンポーネントの数や種類は、説明のための例示にすぎず、本発明は必ずしもこれに限られない。本発明の原理および意図から逸脱しない範囲において、任意のコンポーネントが追加若しくは組み合わされ、または任意のコンポーネントが削除された態様も、本発明の範囲内である。また、位置制御システムの各コンポーネントは、ハードウェア的に実現されていてもよいし、ソフトウェア的に実現されていてもよいし、これらの組み合わせによって実現されていてもよい。
【0067】
また、
図7に示された位置制御方法の工程の数や種類は、説明のための例示にすぎず、本発明は必ずしもこれに限られない。本発明の原理および意図から逸脱しない範囲において、任意の工程が、任意の目的で追加若しくは組み合わされ、または、任意の工程が削除される態様も、本発明の範囲内である。
【符号の説明】
【0068】
1…ロボット 2…カメラ 3…ワーク 4…制御装置 11…ワークテーブル 12…作業部 121…先端部 13…可動部 131…ベース 13X…X軸可動部 131X…脚部 132X…X軸レール 133X…X軸ステージ 13Y…Y軸可動部 131Y…Y軸レール 132Y…Y軸ステージ 13Z…Z軸可動部 131Z…Z軸ステージ 41…プロセッサー 42…I/Oインターフェース 43…メモリー 44…データ 441…カメラパラメーター 442…駆動補正パラメーター 443…アプローチ条件 444…その他データ 45…モジュール 451…カメラ制御モジュール 452…駆動量決定モジュール 453…ロボット制御モジュール 454…アプローチ条件判定モジュール 455…その他モジュール 100…位置制御システム S100…位置制御方法 S110、S120、S130、S140、S150、S160、S170…工程