(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、本発明にかかる印刷装置の好適な実施の形態を詳細に説明する。
本実施の形態では、多関節ロボットを用いて被印刷体とプリントヘッドとの相対位置を変化させながら印刷を行う印刷装置の例として、プリントヘッドを固定設置するとともに、被印刷体を多関節ロボットで移動させながら印刷を行う場合について説明する。
また、本実施の形態では、印刷装置がインクジェット式プリンタであるものとする。
【0010】
図1は、実施の形態にかかる印刷装置10の構成を示す説明図である。
印刷装置10は、曲面形状を有する基材20の表面に配線パターンを印刷する。
一般的に、配線パターンは、平面状のフレキシブル基板をエッチングしてパターンを作成する。しかしながら、このような方法では曲面形状を有する基材20に配線パターンを形成するのは困難である。
一方で、実施の形態にかかる印刷装置10は、多関節ロボットを用いて被印刷体とプリントヘッドとの相対位置を変化させながら印刷を行うので、曲面形状を有する基材20に自由に配線パターンを配置することができる。
【0011】
印刷装置10は、プリントヘッド102、被印刷体移動手段としての多関節ロボット104、インク硬化手段108および
図2に示す各種制御手段によって構成され、曲面形状を有する被印刷体の表面に画像を印刷する。本実施の形態では、被印刷体(ワーク)の一例として、半球状の基材20を用いている。
【0012】
プリントヘッド102は、第1の支持部材22に支持され、移動不能に配置されるとともに、画像を形成するインクを基材20に対して吐出するインク吐出口102Aを備える。プリントヘッド102は、たとえばインク吐出口102Aからのインク吐出方向が重力方向と一致するように下向きに支持されている。インク吐出口102Aは、プリントヘッド102に複数備えられていてもよい。
【0013】
また、プリントヘッド102は、基材20に対するインク吐出口102Aの位置を調整する位置調整機構を備えていてもよい。位置調整機構としては、たとえば多関節ロボット(被印刷体移動手段としての多関節ロボット104と別個に設けたプリントヘッド移動手段としての多関節ロボット)を用いることができる。このような位置調整機構を設けることによって、被印刷体とプリントヘッド102との相対位置変化の自由度を高めることができ、印刷効率を向上させることができる。
【0014】
プリントヘッド102から吐出されるインクは、たとえば、エネルギー照射によって硬化する硬化型インクである。例えば、導体素材を用いた硬化型インクによって周波数選択素子(FSS)のパターンを描画し、後述するインク硬化手段108を用いてインクを硬化させることによって、曲面形状を有する基材20の表面に周波数選択素子を形成することが可能となる。
【0015】
インク硬化手段108は、第2の支持部材23に支持され、インクが吐出された基材20にエネルギー照射をおこなう。インク硬化手段108は、硬化型インクの種類に合わせて、たとえばレーザ、熱源、フラッシュ光、UV光などを照射することにより、基材20の表面に吐出された硬化型インクを硬化させる。インク硬化手段108は、多関節ロボットにツールとして持たせずに、
図1に示すように第2の支持部材23に設置することによって安全性を向上させることができる。
【0016】
多関節ロボット104は、基材20を作業点に固定して保持しながら作業点を移動させることにより基材20とプリントヘッド102との相対位置を変化させる。
図1では、多関節ロボット104で基材20を保持した状態を図示している。多関節ロボット104は、具体的には軸方向に移動可能なロボットであり、望ましくは4軸以上の移動方向を有する多軸ロボットである。
本実施の形態では、多関節ロボット104として6軸多関節ロボットを用いる。
【0017】
図3は、多関節ロボット104の構成例を示す説明図である。
図3に示した多関節ロボット104は6軸多関節ロボットであり、主に体部104A、腕部104B、手首部104Cによって構成される。
本実施の形態では、基材20は治具を介して手首部104Cに支持され、多関節ロボット104の移動に追従して移動される。
本実施の形態では、多関節ロボット104の作業点は、手首部104Cに支持される治具の先端部(多関節ロボット104と基材20との接触点)とする。
【0018】
多関節ロボット104の体部104Aは、S軸を中心として回転可能であり、また、L軸を中心として前後方向に揺動可能である。
多関節ロボット104の腕部104Bは、R軸を中心に回転可能であり、また、U軸を中心として上下方向に揺動可能である。
多関節ロボット104の手首部104Cは、T軸を中心に回転可能であり、また、B軸を中心に上下方向に揺動可能である。
より詳細には、多関節ロボット104の各部(体部104A、腕部104B、手首部104C)には、それぞれの移動軸(S軸、L軸、R軸、U軸、T軸、B軸)に沿った支軸、および各支軸を回転させるモータ105(
図2参照)が設けられている。各モータ105は、後述するロボットコントローラ106により回転量が制御される。
【0019】
多関節ロボット104の位置や姿勢を規定する座標系として、体部104Aの接地中心を原点とするベース座標系(X,Y,Z)と、作業点(手首部104Cに支持される治具の先端部)を原点とするメカニカルインターフェース座標系(Xm,Ym,Zm)とがある。ベース座標系は他の座標系の基準となり変化しないが、メカニカルインターフェース座標系は各軸の角度変化により変化する。
多関節ロボット104の位置や姿勢を変化させるには、各座標系に対して移動量(位置偏差や回転偏差)および変位速度を入力する。
【0020】
また、多関節ロボット104の移動軸(S軸、L軸、R軸、U軸、T軸、B軸)には、それぞれの移動軸に沿った各部(体部104A、腕部104B、手首部104C)の移動量を測定する移動量測定手段が設けられている。
移動量測定手段とは、具体的には
図4に示すようなエンコーダ50である。エンコーダ50は、物体が回転移動や直線移動する際に、移動方向や移動量、角度を検出する。
図4Aに一般的な光学透過型のエンコーダ50の概略図を示す。
エンコーダ50は、LED発光素子502、レンズ504、コードホイール506、受光IC508を含んで構成される。
LED発光素子502およびレンズ504は、円板状のコードホイール506の一方の表面と対向するように設置される。また、受光IC508は、コードホイール506の他方の表面と対向するように設置される。
【0021】
コードホイール506は、移動軸を回転させるモータ105の出力軸に取り付けられ、モータ105の回転に連動して回転する。また、コードホイール506には、長方形の穴が開いたスリット部506Aと、穴が開いていない平板部506Bとが設けられている。スリット部506Aは、円板状のコードホイール506の外周に沿って、1周にわたり等間隔で開口している。
このコードホイール506の一方の表面に対して、LED発光素子502から検出用の光を照射する。LED発光素子502から照射光は錯乱光であるため、レンズ504で集光して平行光に近づける。
上述のように、コードホイール506にはスリット部506Aと平板部506Bとが設けられているため、スリット部506Aが通過するタイミングでのみ、コードホイール506の他方の表面側にある受光IC508に到達する。
受光IC508上にはフォトダイオードが配置されており、信号変換回路部で処理されて、
図4Bに示すような1/4周期の位相差をもつ2相のパルス列をモータ105の出力軸の角変位に応じて出力する。この2相パルス列(A相およびB相)の位相関係は回転方向に対応して反転する。
このようなパルス列を用いることによって、モータ105の回転方向、回転位置および回転速度を検出することができる。
【0022】
より詳細には、A相とB相のどちらが先に立ち上がるかを検出することによって、コードホイール506を取り付けた回転軸の回転方向を判別することができる。
例えば、コードホイール506が正転(時計方向)へ回転している時、A相よりもB相が遅れて立ち上がることになる。コードホイール506が反転(反時計方向)へ逆回転すると、物理的な回転円板の回転方向が反転するので、B相がA相よりも先に立ち上がることになる。またこのような構成は、回転方向だけではなく、水平(リニア)駆動時の移動方向の判別にも用いることができる。
【0023】
また、コードホイール506には、スリット部506Aが1周にわたり、等間隔で設けられている。例えば、コードホイール506の1周に360個のスリット部506Aが設けられているとすると、1つのスリット部506A当たり1つのパルスが出力されるので、1パルス当たり1度の回転位置を検出することができる。同様に、1周に3600個のスリットを設ければ、0.1度単位で回転角度を検出することができる。
さらに、A相とB相のそれぞれの波形の立ち上がり/立ち下がり位置をカウントすることで、物理的に設けたスリット部506Aの数よりも細かい角度位置を検出することができる。
【0024】
また、エンコーダ50から出力される1周期のパルス時間と1周期当たりの出力パルス数を測定し、下記式(1)を適用することで、モータ105の出力軸の回転速度を算出することができる。
回転速度(r/min)=(1/(1周期の時間(秒)×パルス数))×60・・・(1)
【0025】
つぎに、印刷装置10の制御系統について説明する。
図2は、印刷装置10の制御系統を示すブロック図である。
印刷装置10は、ロボットコントローラ106、コンピュータ120、距離算出用チップ122、パルス生成部123、プリントヘッドドライバ124を備えている。
コンピュータ120は、CPU、ROM、RAM、ハードディスク装置、キーボード、マウス、ディスプレイ等を有し、作業者が印刷図形の設定や多関節ロボット104およびプリントヘッド102への指示等を行うインターフェースとして機能する。
【0026】
ロボットコントローラ106は、多関節ロボット104の移動方向および移動量を制御して、基材20をプリントヘッド102に対して所望の位置に移動させる。多関節ロボット104の移動方向および移動量は、コンピュータ120から出力される制御情報(基材20上の領域の印刷順序など)に基づいて決定する。
より詳細には、ロボットコントローラ106は、コンピュータ120からの制御情報に基づいて、多関節ロボット104の各移動軸に設けられたモータ105に対して制御信号を出力する。多関節ロボット104は、制御信号に基づいて各軸のモータ105を駆動させることにより指示された動きを実行する。
このとき、各モータ105の出力軸に付いているエンコーダ50からパルス信号が出力される。ロボットコントローラ106は、このパルス信号をエンコーダカウンタで処理して、上記制御信号との差動比較を行い、各移動軸が指示された動きを実行しているかを確認する。
また、ロボットコントローラ106は、各移動軸のエンコーダ50から出力されたパルス信号を用いて、多関節ロボット104の座標(X,Y,ZおよびXm,Ym,Zm)を算出する。そして、算出した座標をコンピュータ120を介して距離算出用チップ122に出力する。
なお、多関節ロボット104の座標の算出を距離算出用チップ122で行ってもよい。この場合、ロボットコントローラ106から距離算出用チップ122に対して、各移動軸のエンコーダ50から出力されたパルス信号をそのまま出力する。
また、基材20の形状や作業点に対する基材20の設置状態は既知であるため、作業点の位置(座標)が特定できれば、基材20の任意の点の位置(座標)も算出することができる。
【0027】
距離算出用チップ122は、多関節ロボット104の作業点の移動軌跡を算出する専用チップであり、本実施の形態ではField Programmable Gate Array(FPGA)を用いている。
FPGAはチップ上に専用のソフトウェアを用いて生成した回路を実装したものであり、回路は再定義可能である。FPGAはコンピュータのCPUと異なり、オペレーションシステム(OS)を介していないので、処理を高速化することが可能である。
このように、コンピュータのCPUと別個に距離算出用チップ122を設けることによって、処理負荷の上昇による遅延を防止し、印刷装置10の印刷精度を向上させる上で有利となる。
【0028】
距離算出用チップ122は、距離算出回路122Aを備えている。
距離算出回路122Aは、距離算出手段として機能し、多関節ロボット104の座標から作業点の移動軌跡および移動距離を算出する。すなわち、距離算出回路122Aは、複数のエンコーダ50(移動量測定手段)で測定された複数の移動量に基づいて、多関節ロボット104の作業点の3次元空間上の位置を算出する。
図5は、多関節ロボット104の移動経路の算出方法を説明する説明図である。
図5では、説明の便宜上、紙面上にX軸およびZ軸を取り、このX−Z平面上を作業点が移動するものとする。
図5Aに示すように、距離算出回路122Aには、所定のサンプリング間隔で多関節ロボット104の座標情報が入力される。例えば、時刻T1における多関節ロボット104の座標は(X1,Z1)であり、この位置をP1とする。また、時刻T2(時刻T1から単位サンプリング時間後)における多関節ロボット104の座標は(X2,Z2)であり、この位置をP2とする。以下同様に、
図5Aには時刻T3〜T5における座標を示している。
図5Bに示すように、時刻T1から時刻T2の間における多関節ロボット104の移動量L1は、ピタゴラスの定理を用いて算出することができる。
また、三次元空間に適合させ、より一般化した形での移動量L1は、下記式(2)で与えられる。
【0030】
また、各時刻間ごとの移動量を累計することによって、多関節ロボット104の移動距離を算出することができる。移動経路は、各時刻の座標から特定される位置(
図5AのP1〜P5)をつないだ線となる。
【0031】
図2の説明に戻り、パルス生成部123は、モータ123Aおよびエンコーダ123Bからなり、距離算出回路122Aで算出された作業点の位置に応じたパルス信号を出力する。
モータ123Aは、距離算出回路122Aで算出された作業点の位置に応じた回転量で回転する。
例えばモータ123Aがパルスモータである場合、モータ123Aと距離算出回路122Aとの間に、作業点が単位距離移動するごとにパルスを生成するパルス生成回路を設けて、作業点が単位距離移動するごとにモータ123Aが単位角度の回転を行うようにする。
また、例えばモータ123Aと距離算出回路122Aとの間に電流発生回路を設けて、作業点が単位距離移動するごとに所定時間電流を発生させ、作業点が単位距離移動するごとにモータ123Aが単位角度の回転を行うようにしてもよい。
また、例えばモータ123Aと距離算出回路122Aとの間に電圧発生回路を設けて、作業点が単位距離移動するごとに所定時間電圧を発生させ、作業点が単位距離移動するごとにモータ123Aが単位角度の回転を行うようにしてもよい。
これらパルス生成回路、電流発生回路、電圧発生回路は、例えば距離算出用チップ122上に設ける。
【0032】
エンコーダ123Bは、上述した多関節ロボット104のモータ105に取り付けられたエンコーダ50と同様の構成であり、モータ123Aの回転量に応じたパルス信号をプリントヘッドドライバ124に出力する。
エンコーダ123Bは、モータ123Aが所定の単位角度回転するごとにパルス信号を出力するよう構成される。
すなわち、モータ123Aおよびエンコーダ123Bによって、作業点が単位距離移動するごとにパルス信号をプリントヘッドドライバ124に出力する。
【0033】
プリントヘッドドライバ124は、プリント制御手段として機能し、印刷図形の形状情報と、基材20における印刷位置情報を含む印刷指示情報と、パルス生成回路122Bで生成されたパルス信号とに基づいて、プリントヘッド102による印刷動作を制御する。
本実施の形態では、印刷装置10がインクジェット式プリンタであるため、プリントヘッドドライバ124は、パルス信号に基づいてプリントヘッド102に対する基材20の位置を検出しながら、プリントヘッド102によるインクの吐出タイミングおよび吐出量を制御する。
【0034】
図6は、プリントヘッドドライバ124による制御を模式的に示す説明図である。
図6Aに示す図案F1は、印刷装置10での印刷図形の例であり、基材20上に等間隔(距離Xi)に描かれた2色の縞模様である。
図6A下段に示すパルス信号は、多関節ロボット104による基材20の移動速度を示す。
図6A下段のパルス信号は、時間T=4t(tは単位時間)で距離Xi×2だけ基材20を移動させることを示す。すなわち、単位時間(t)当たりの移動距離は2Xi/4であり、この速度が標準移動速度であるものとする。
この場合、プリントヘッドドライバ124は、時間4t内に距離Xi×2分の印刷を行う。
【0035】
ここで、何らかの理由で基材20の移動速度が速くなり、時間3tで距離Xi×2だけ基材20が移動したとする。この場合、単位時間(t)当たりの移動距離、すなわち移動速度は2Xi/3(>標準速度)となる。
従来のように基材20の移動速度が一定(標準速度)であるものとして印刷を行うと、時間4t内に距離Xi×2分の印刷を行うことになり、印刷速度に対して基材20の移動速度が速すぎてしまい、
図6Bの図案F2のように縞模様の間隔が広くなる。なお、図案F2には単に縞模様の間隔が広くなったように図示しているが、実際には例えば印刷のムラなどが生じると考えられる。
【0036】
一方、印刷装置10のプリントヘッドドライバ124は、作業点の移動距離に応じたパルス信号に基づいて印刷動作を制御するので、基材20の実際の移動速度に合わせて印刷範囲等を変更することができる。
すなわち、
図6C下段に示すように何らかの理由で基材20の移動速度が速くなった場合(移動速度2Xi/3)、プリントヘッドドライバ124は、時間3t内に距離Xi×2分の印刷を行う。これにより、
図6C上段の図案F3のように、誤差なく印刷図形を印刷することができる。
【0037】
図7は、印刷装置10における印刷処理の流れを示すフロー図である。
図7のフロー図は一例であり、例えば
図7でロボットコントローラ106またはプリントヘッドドライバ124が行っている処理を、コンピュータ120が行うように構成してもよい。
コンピュータ120は、作業者から印刷指示情報が入力されると(ステップS700)、ロボットコントローラ106に対しては多関節ロボット104の動きに関する制御情報を、プリントヘッドドライバ124に対しては印刷図形の形状情報や基材20における印刷位置情報などを含む制御情報(印刷指示情報)を、それぞれ出力する(ステップS702)。
ロボットコントローラ106は、制御情報が入力されると(ステップS704)、多関節ロボット104を作動させ、基材20を印刷開始位置に移動させる(ステップS706)。印刷開始位置への移動が完了すると、ロボットコントローラ106はプリントヘッドドライバ124に対して移動完了信号を出力する(ステップS708)。
【0038】
プリントヘッドドライバ124は、コンピュータ120からの制御情報(ステップS709)および移動完了信号が入力されると(ステップS710)、ロボットコントローラ106に対して印刷開始信号を出力する(ステップS712)。
ロボットコントローラ106は、印刷開始信号が入力されると(ステップS714)、多関節ロボット104をステップS704で入力された制御情報に沿って移動させる(ステップS716)。そして、各移動軸のモータ105に取り付けられたエンコーダ50から出力される移動量情報に基づいてベース座標およびメカニカルインターフェース座標を算出し、算出した座標情報を距離算出用チップ122に出力する(ステップS718)。
【0039】
距離算出用チップ122は、座標情報が入力されると(ステップS720)、作業点の移動距離を算出するとともに、作業点の移動距離に対応してパルス、電流、電圧のいずれかを発生させてパルス生成部123へと出力する(ステップS722)。
パルス生成部123は、距離算出用チップ122から出力されたパルス、電流、電圧のいずれかを用いて、作業点が単位距離移動するごとにモータ123Aを単位角度回転させるとともに、エンコーダ123Bでモータの回転角度を検出して回転量に応じたパルス信号を生成する。すなわち、作業点の移動距離に基づいてパルス信号を生成し、プリントヘッドドライバ124に出力する(ステップS724)。
プリントヘッドドライバ124は、ステップS709で入力された制御情報およびパルス信号に基づいてプリントヘッド102からのインクの吐出を制御する(ステップS726)。なお、印刷開始からごく短時間の間はパルス信号が入力されないので、制御情報のみを用いてプリントヘッド102を制御する。
【0040】
以上説明したように、実施の形態にかかる印刷装置10は、印刷開始後の作業点の実際の移動量に基づいてプリントヘッド102による印刷動作を制御するので、従来簡易的に(設定通りに多関節ロボット104が動くことを前提に)決定していた印刷動作のタイミングをより正確に決定することができる。これにより、印刷品質の向上を図るとともに、同一条件下での印刷の再現性を向上させることができる。
また、印刷装置10は、作業点の位置が所定の単位距離変化するごとにパルス信号を出力するので、3次元空間内を移動する作業点に対して疑似的なエンコーダとして機能させることができる。
また、印刷装置10は、距離算出回路122Aおよびパルス生成回路122Bを単一の専用集積回路により構成したので、処理負荷の上昇による遅延を防止し、印刷精度を向上させる上で有利となる。
また、印刷装置10は、インクジェット式プリンタであるので、インクとして特殊な材質を用いることが可能であり、例えば基板上に回路を形成するなど図面印刷以外の用途に用いることが可能となる。
また、印刷装置10は、プリントヘッド102を固定し、基材20を動かしながら印刷するため、インクの吐出方向を安定させることができ、印刷品質を向上させることができる。
【0041】
なお、本発明の適用は印刷装置に限られない。すなわち、多関節ロボットを用いて被作業対象体と作業具との相対位置を変化させながら作業を行う装置であれば、本発明の適用が可能である。
また、本実施の形態では、プリントヘッド102を移動不能に配置し、多関節ロボット104で基材20を移動させながら印刷を行ったが、これに限らず、基材20を移動不能に配置し、多関節ロボット104でプリントヘッド102を移動させながら印刷を行う、または基材20およびプリントヘッド102の両方を多関節ロボット104で移動させながら印刷を行うようにしてもよい。
【0042】
10……印刷装置、20……基材、22,23……支持部材、50……エンコーダ、502……発光素子、504……レンズ、506……コードホイール、506A……スリット部、506B……平板部、508……受光IC、102……プリントヘッド、102A……インク吐出口、104……多関節ロボット、104A……体部、104B……腕部、104C……手首部、105……モータ、106……ロボットコントローラ、108……インク硬化手段、120……コンピュータ、122……距離算出用チップ、122A……距離算出回路、122B……パルス生成回路、124……プリントヘッドドライバ。