以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することによって重複した説明を省く。
[実施形態1]
<キャリブレーション処理の概略>
図2は、センサの高さ及び傾斜角度の検出を説明するための図である。用紙上にHHP20を載置した場合の用紙に対するセンサの高さ及び傾斜角度のズレを計測するために、キャリブレーションを実行する。キャリブレーションは、例えば、HHP20の製造時のテスト工程及びユーザがHHP20を使用する前などに実行される。表示デバイス10は、例えば、スマートフォン、タブレット端末等の機器であってもよい。
キャリブレーションを実行する際は、ユーザは、図2(a)に示すように表示デバイス10の画面11上にHHP20を載置し、キャリブレーションボタン5を押下する。キャリブレーションボタン5が押下されると、LED6が点灯する。なお、LED6は、キャリブレーション処理が完了するまで点灯する。続いて、HHP20は、キャリブレーション処理を開始する。
図2(b)の左側は、HHP20を載置した場合の表示デバイス10の画面11を示す。例えば、表示デバイス10は、画面11に棒状の図形12を表示する。画面11の面をXY平面としたとき、キャリブレーション開始時には、例えば、棒状の図形12はY軸に平行に画面11の左側の位置に表示される。続いて、表示デバイス10は、棒状の図形12をX軸に平行に右側に移動させる。
図2(b)の右側は、HHP20の底面を示す。HHP20の底面には、センサ30a及びセンサ30bがIJ記録ヘッド24の上部及び下部に配置されている。キャリブレーションが開始されると、センサ30a及びセンサ30bは、それぞれ棒状の図形12の位置を検知し、棒状の図形12の移動量ΔXを計測する。なお、表示デバイス10は、さらにX軸に平行な棒状の図形12をY軸方向に平行に移動させ、センサ30a及びセンサ30bに移動量ΔYを計測させてもよい。
図2(c)は、HHP20を載置する位置を表示した場合の画面11を示す。点線で表示されるガイド13は、HHP20の底面と同じ形状となっている。ユーザは、HHP20の底面をガイド13に合わせて載置することでHHP20を正確な位置に載置することができる。
図2(d)の左側は、センサ30bが正しく配置されている場合に計測される移動量を示す。センサ30aとセンサ30bを通る線は、X軸に垂直かつY軸に平行であるものとする。センサ30bが傾きなく正しい位置に配置されている場合、センサ30bは、HHP20のX軸方向の移動量ΔXとY軸方向の移動量ΔYとを正しく計測する。
図2(d)の右側は、センサ30bがXY方向に傾いて配置されている場合に計測される移動量を示す。センサ30bがXY方向かつ反時計方向に角度θ傾いて配置されているものとする。センサ30bが正しく配置されている場合と比較して、センサ30bは、ΔXの計測値が大きくなり、ΔYの計測値が小さくなり、計測した移動量に誤差が発生する。また、センサ30bの高さのズレ、XZ方向及びYZ方向の傾きによってもΔX及びΔYに誤差が発生する。
HHP20は、例えば、図2(d)の右側のような場合に、キャリブレーション処理であらかじめ算出された補正係数を用いて、センサ30bが正しく配置されている場合と同じになるように移動量ΔX及びΔYを補正する。これにより、HHP20の個体差及び経年劣化等によってセンサ30の配置にずれが生じても、HHP20の移動量を正しく計測し、装置の正確な位置を検出することができる。
<ハードウェア構成>
図3は、HHP20のハードウェア構成を示す図である。HHP20は、印刷媒体に画像を形成する画像形成装置の一例である。HHP20は、制御部25によって全体の動作が制御され、制御部25には通信I/F(Interface)27、IJ記録ヘッド駆動回路23、OPU(Operation Unit)26、ROM(Read Only Memory)28、DRAM(Dynamic Random Memory)29、及び、センサ30が電気的に接続されている。また、HHP20は電力により駆動されるため、電源22と電源回路21を有している。電源回路21が生成する電力は、点線で示す配線により、通信I/F27、IJ記録ヘッド駆動回路23、OPU26、ROM28、DRAM29、IJ記録ヘッド24、制御部25、及び、センサ30に供給されている。
電源22は主に電池(バッテリー)が利用される。太陽電池や商用電源(交流電源)、燃料電池等が用いられてもよい。電源回路21は、電源22が供給する電力をHHP20の各部に分配する。また、電源22の電圧を各部に適した電圧に降圧や昇圧する。また、電源22が電池で充電可能である場合、電源回路21は交流電源の接続を検出して電池の充電回路に接続し、電源22の充電を可能にする。
通信I/F27は、スマートフォンやPC等の画像データ出力器9から画像データの受信等を行う。通信I/F27は例えば無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)、赤外線、3G(携帯電話)、又は、LTE(Long Term Evolution)等の通信規格に対応した通信装置である。また、このような無線通信の他、有線LAN、USBケーブルなどを用いた有線通信に対応した通信装置であってもよい。
ROM28は、HHP20のハードウェア制御を行うファームウェアや、IJ記録ヘッド24の駆動波形データ(液滴を吐出するための電圧変化を規定するデータ)や、HHP20の初期設定データ等を格納している。
DRAM29は通信I/F27が受信した画像データを記憶したり、ROM28から展開されたファームウェアを格納したりするために使用される。従って、CPU31がファームウェアを実行する際のワークメモリとして使用される。
センサ30は、HHP20の位置を検出するセンサである。センサ30は、例えば、発光ダイオード(LED)やレーザ等の光源と、印刷媒体2を撮像する撮像センサ、又は、入反射光の干渉縞を撮像するセンサを有している。HHP20が印刷媒体2上を走査されると、印刷媒体2の微小なエッジが次々に検出され(撮像され)エッジ間の距離を解析することで移動量が得られる。センサ30は、HHP20の少なくとも2箇所に搭載されている。両者を区別する場合、センサ30a,30bという。なお、センサ30として、さらに多軸の加速度センサやジャイロセンサ等を用いてもよく、加速度センサやジャイロセンサのみでHHP20の位置を検出してもよい。
OPU26は、HHP20の状態を表示するLED6、ユーザがHHP20に画像形成を指示するためのスイッチ(例えば、キャリブレーションボタン5)等を有している。ただし、これに限定するものではなく、液晶ディスプレイを有していてよく、さらにタッチパネルを有していてもよい。また、音声入力機能を有していてもよい。
IJ記録ヘッド駆動回路23は上記の駆動波形データを用いて、IJ記録ヘッド24を駆動するための駆動波形を生成する。インクの液滴のサイズなどに応じた駆動波形を生成できる。
IJ記録ヘッド24は、インクを吐出するためのヘッドである。図ではCMYKの4色のインクを吐出可能になっているが、単色でもよく5色以上の吐出が可能でもよい。色ごとに一列(二列以上でもよい)に並んだ複数のインク吐出用のノズル(後述する)が配置されている。また、インクの吐出方式はピエゾ方式でもサーマル方式でもよく、この他の方式でもよい。
制御部25は、センサ30が検出する移動量を元に、IJ記録ヘッド24の各ノズルの位置、該位置に応じて形成する画像の決定、吐出ノズル可否判定(ノズルの位置が目標吐出位置から所定範囲内かどうかの判定)等を行う。制御部25について詳細は次述する。
図4は、制御部25の構成を説明する図の一例である。制御部25はSoC(System On a Chip)50とASIC(Application Specific Integrated Circuit)/FPGA(Field Programmable Gate Array)40を有している。SoC50とASIC/FPGA40はバス47,バス48を介して通信する。ASIC/FPGA40はどちらの実装技術で設計されてもよいことを意味し、ASIC/FPGA40以外の他の実装技術で構成されてよい。また、SoC50とASIC/FPGA40を別のチップにすることなく1つのチップや基盤で構成してもよい。あるいは、3つ以上のチップや基盤で実装してもよい。
SoC50は、バス48を介して接続されたCPU31、位置算出回路32、メモリCTL(コントローラ)35、及び、ROMCTL(コントローラ)36等の機能を有している。なお、SoC50が有する構成要素はこれらに限られない。
また、ASIC/FPGA40は、バス47を介して接続されたImageRAM(Image Random Access Memory)37、DMAC(Direct Memory Access Controller)38、回転器39、割込みコントローラ41、センサI/F42、印字/センサタイミング生成部43、及び、IJ記録ヘッド制御部44を有している。なお、ASIC/FPGA40が有する構成要素はこれらに限られない。
CPU31は、ROM28からDRAM29に展開されたファームウェア(プログラム)などを実行し、SoC50内の位置算出回路32、メモリCTL(Controller)35、及び、ROMCTL36の動作を制御する。また、ASIC/FPGA40内のImageRAM37、DMAC38、回転器39、割込みコントローラ41、センサI/F42、印字/センサタイミング生成部43、及び、IJ記録ヘッド制御部44の動作を制御する。
位置算出回路32は、センサ30が検出するサンプリング周期ごとの移動量に基づいてHHP20の位置(座標情報)を算出する。HHP20の位置とは、厳密にはノズルの位置であるが、センサ30のある位置が分かればノズルの位置を算出できる。なお、本実施形態では、センサ30aとセンサ30bのいずれか一方を指す場合、センサ30と表すことがある。また、位置算出回路32は目標吐出位置を算出する。
センサ30の位置は、例えば所定の原点(例えば、印刷用紙又は画像データ7の左上コーナーなど)を基準に算出されている。また、位置算出回路32は、過去の位置と最も新しい位置の差に基づいて移動速度や移動方向を推定し、例えば次回の算出タイミングにおける位置を予測する。こうすることで、ユーザの走査に対する遅れを抑制してインクを吐出できる。
メモリCTL35は、DRAM29とのインタフェースであり、DRAM29に対しデータを要求し、取得したファームウェアをCPU31に送出したり、取得した画像データ7をASIC/FPGA40に送出したりする。
ROMCTL36は、ROM28とのインタフェースであり、ROM28に対しデータを要求し、取得したデータをCPU31やASIC/FPGA40に送出する。
DMAC38は、位置算出回路32が算出した位置情報を元に、メモリCTL35を介してIJ記録ヘッド24の各ノズル周辺の画像データ7を取得する。つまり、印刷媒体2に対しHHP20が存在する位置の周辺の画像データ7が取得される。
回転器39は、DMAC38が取得した画像データを、インクを吐出するヘッド、及び、ヘッド内のノズル位置に応じて回転させる。DMAC38は回転後の画像データをIJ記録ヘッド制御部44へ出力する。回転器39は、例えば、位置算出回路32が位置を算出する際に算出した回転角θを取得し、その回転角θを用いて画像を回転させることができる。
ImageRAM37はDMAC38が取得した画像データ7を一時的に格納する。すなわち、ある程度の画像データ7がバッファリングされ、HHP20の位置に応じて読み出される。
IJ記録ヘッド制御部44は、画像データ7(ビットマップデータ)にディザ処理などを施して大きさと密度で画像を表す点の集合に画像データ7を変換する。これにより、画像データ7は吐出位置と点のサイズのデータとなる。IJ記録ヘッド制御部44は点のサイズに応じた制御信号をIJ記録ヘッド駆動回路23に出力する。IJ記録ヘッド駆動回路23は上記のように制御信号に対応した駆動波形データを用いて、駆動波形を生成する。
センサI/F42は、センサ30と通信し、センサ30からの情報として移動量ΔX及びΔYを受信し、その値を内部レジスタに格納する。ΔX及びΔYは、図2に示された表示デバイス10の画面11をXY平面とし、画面11に表示された画像のX軸方向及びY軸方向の移動量を示す。
印字/センサタイミング生成部43は、センサI/F42にセンサ30の情報を読み取るタイミングを通知し、IJ記録ヘッド制御部44に駆動タイミングを通知する。IJ記録ヘッド制御部44は吐出ノズル可否判定を行い、インクを吐出すべき目標吐出位置があればインクを吐出し、目標吐出位置がなければ吐出しないと判定する。
割込みコントローラ41は、センサI/F42がセンサ30との通信が完了したことを検知して、SoC50へそれを通知するための割り込み信号を出力する。CPU31はこの割り込みにより、センサI/F42が内部レジスタに記憶するΔX、ΔYを取得する。その他、エラー等のステータス通知機能も有する。
図5は、センサ30のブロック図である。センサ30は、HostI/F55と、イメージプロセッサ51と、LED/LASERDrive52と、レンズ53aと、レンズ53bと、イメージアレイ54とを有する。
LED/LASERDrive52は、LEDからのレーザ光の照射を制御する。LED/LASERDrive52は、レンズ53aによりLED/LASERDrive52から受けたレーザ光を平行光とし、平行光としたレーザ光を印刷媒体2の所定の範囲に照射する。イメージアレイ54は、レンズ53bを介して印刷媒体2からの反射光を受光し、画像データとしてイメージプロセッサ51に送信する。イメージプロセッサ51は、受信した画像データに基づいて移動量ΔX及びΔYを算出する。イメージプロセッサ51は、HostI/F55を介して外部の端末に移動量ΔX及びΔYに関するデータを送信する。
図6は、センサ30による直線方向の移動成分の検出を説明するための図である。図6(a)は、センサ30から印刷媒体2にLEDレーザを照射した場合を示す。LED/LASERDrive52は、レンズ53aによりLED/LASERDrive52からのレーザ光を平行光とし、レーザ光を印刷媒体2の所定の範囲に照射する。イメージアレイ54は、レンズ53bを介して印刷媒体2からの反射光を受光し、画像データとしてイメージプロセッサ51に送信する。
図6(b)は、イメージアレイ54により生成された画像データを示す。Samp1、Samp2及びSamp3は、イメージアレイ54により受光され、イメージプロセッサ51により既定の分解能でマトリクス化された画像データである。例えば、プリンタの場合、1200dpi程度の分解能でマトリクス化を行う。また、Samp1、Samp2及びSamp3は、HHP20をX軸方向に平行に所定速度で移動させた場合に、各時間に取得された画像データであり、Samp1からスタートしてSamp2、Samp3の順にイメージアレイで取得された画像データである。
Samp1と比較してSamp2は、画像が1マス分左に移動している。また、Samp1と比較してSamp3は、画像が2マス分左に移動している。したがって、Samp1からSamp2までのHHP20の移動量は、(ΔX,ΔY)=(1,0)であり、Samp1からSamp3までのHHP20の移動量は、(ΔX,ΔY)=(2,0)となる。なお、HHP20をY軸方向に移動させた場合、画像が上下方向に移動し、ΔYの値が変化する。
また、イメージアレイ54でより高い分解能で画像データを取得すれば、より詳細な移動量を計測することが可能となる。
図7は、センサ30による回転成分の検出を説明するための図である。図7(a)は、HHP20の底面を表す。図7(b)はIJ記録ヘッド24及びノズル24a〜24fを表す。
本実施形態のHHP20は、2つ以上のセンサ30を有している。HHP20は、センサ30を2つ以上有することで、センサ30が印刷媒体上で回転しても回転角θを検出できる。例えば、図7(a)ではノズル24a〜24fの配列方向に離間して2つのセンサ30a、センサ30bが配置されている。2つのセンサ30a、センサ30bの間の長さは距離Lである。回転角θは、センサ30a及びセンサ30bのX軸方向又はY軸方向の移動量の差分と距離Lとを用いて算出することができる。
また、距離Lが長いほど検出可能な最小の回転角θが小さくなり、HHP20の位置の誤差が少なくなるため、距離Lは長いほどよい。
センサ30aからIJ記録ヘッド24までの距離はそれぞれ距離a、bである。距離aと、距離bは等しい。また、図7(b)に示すように、IJ記録ヘッド24の先端から最初のノズルまでの距離は距離d、隣接するノズル間の距離は距離eである。距離a〜eの値はROM28などに予め記憶されている。
位置算出回路32は、センサ30の位置を算出すれば、センサ30との位置関係から各ノズルの位置を算出できる。
本実施形態では、印刷媒体2に水平な方向をX軸、垂直な方向をY軸に設定する。これに対し、センサ30は次のような座標軸(X'軸、Y'軸)で位置を出力する。すなわち、ノズル24a〜24fの配列方向(2つのセンサ30a、30bを通る線に平行な方向)をY'軸、Y'軸に直交する方向をX'軸とする。
<キャリブレーションにより実行される3種類の計測>
図8は、キャリブレーションを実行する際に使用する装置を示す図である。図8(a)に示すようにHHP20を表示デバイス10に載置してキャリブレーションを実行してもよい。なお、HHP20を表示デバイス10に載置してキャリブレーションを実行する操作の方法については、図2を用いて説明した。
また、図8(b)に示すように、画像が印刷された用紙3にHHP20を密接させてキャリブレーションを実行してもよい。図8(b)の場合には、HHP20を同じ位置に固定した状態で、用紙3の方をX軸方向及びY軸方向に移動させる装置を用いてキャリブレーションを実行する。
HHP20は、キャリブレーションを実行することによりセンサ30a及び30bの高さ方向のズレ及び傾き方向のズレを検出する。
例えば、表示デバイス10の画面11をXY平面とし、XY平面の鉛直方向にZ軸があるものとした場合、高さ方向のズレは、Z軸方向のズレを示す。また、傾き方向のズレは、2種類に分類され、一つは、XZ方向及びYZ方向のセンサ30の傾きであり、もう一つは、XY平面に対し、時計方向又は反時計方向にセンサ30を回転させた場合のXY方向の傾きである。
HHP20は、表示デバイス10の画面11に表示された画像を検出することによりキャリブレーションを実行し、高さ方向(Z軸方向)のズレ、XZ方向及びYZ方向の傾き、及びXY方向の傾きの3つをそれぞれ個別に計測する。
以下、キャリブレーション実行時の高さ方向(Z軸方向)のズレ、XZ方向及びYZ方向の傾き、XY方向の傾きの3つの計測についてそれぞれ説明する。
<高さ方向(Z軸方向)のズレの計測>
HHP20は、例えば、以下の4つの方法で高さ方向のズレを計測する。
図9は、高さ方向のズレの計測を行う場合の説明図である。図9〜図13を用いて高さ方向のズレを計測する第1の例について説明する。(a)は、センサ30を通常の高さに配置した場合を示し、(b)は、センサ30が左側よりもZ軸方向の距離h分高く配置されている場合を示す。
図9の(a)に示すように、LED/LASERDrive52は、レンズ53aによりLED/LASERDrive52からのレーザ光を平行光とし、平行光としたレーザ光を印刷媒体2の所定の範囲に照射する。イメージアレイ54は、レンズ53bを介して印刷媒体2からの反射光を取得し、画像データとしてイメージプロセッサ51に送信する。イメージプロセッサ51では、所定の分解能でマトリクス化した画像データを生成する。
図9の(a)の場合と(b)の場合を比較すると、Z軸方向の距離h分高く配置されたことにより、イメージアレイ54が反射光から取得する画像の解像度が(a)よりも(b)の方が低くなる。
図10は、センサ30の高さ方向のズレを計測する第1の例における元画像と取得された画像を示す図である。図10(a)は、印刷媒体2に表される元画像を示す。また、図10の(b)及び(c)は、それぞれ図9(a)及び(b)に対応するイメージアレイ54によって取得された画像を示す。図10(b)及び(c)の1セルが1000dpi×1000dpiに相当する。
図10(b)は、図9(a)の場合にイメージアレイ54によって取得された画像を示しており、画像の大きさがX軸方向に2セル、Y軸方向に2セル分となっている。このため、図10(b)の正方形の画像の一辺は、50.8um(=25.4/1000×2)となる。
図10(c)は、図9(b)の場合にイメージアレイ54によって取得された画像を示しており、画像の大きさがX軸方向に1セル、Y軸方向に1セル分となっている。このため、図10(c)の正方形の画像の一辺は、25.4um(=25.4/1000×1)となり、図10(b)の場合と比較して解像度が低い。
このように、センサ30の高さにより画像データの大きさが変わる。センサ30の高さが低くなる程、画像の解像度が高くなり、センサ30の高さが高くなる程画像の解像度が低くなる。すなわち、センサ30の高さと画像の解像度とは関連しており、画像の解像度からセンサ30の高さを求めることが可能である。また、センサ30の高さから画像の解像度を求めることも可能である。
したがって、高さ検出部45は、センサ30から取得された画像の解像度に基づいてセンサ30の高さを検出することができる。
図11は、キャプチャ画像のサイズと解像度との関係表の一例を示す図である。図11の関係表は、キャプチャ画像一辺あたりのセル数と、センサ30の高さ(mm)と、センサの解像度(dpi)との関係を示す。画面11に表示される図形12の一辺に相当するセル数をカウントし、図11の関係表と比較することにより、センサ30の現在の高さ(mm)に相当する解像度(dpi)を求めることができる。
例えば、図11の関係表は、図形12の一辺の長さが254μm、センサ30の標準の高さを2.5mm、設定解像度を1000dpiとした場合のセル数とセンサの解像度との関係を示している。
例えば、図11に係る関係表をROM28に保持しておき、位置算出回路32は、センサ30の移動量ΔX及びΔYを補正する場合に用いてもよい。また、センサ30によって計測されたセル数と解像度との関係を示す数式で使用する係数を補正係数としてROM28に保持しておき、位置算出回路32は、センサ30の移動量ΔX及びΔYを補正する場合に用いてもよい。例えば、補正係数は、実際のHHP20の移動量(キャリブレーション時は図形12の移動量)を、センサ30が検出した移動量で除算した値であってもよい。
図12は、解像度とセンサ30の高さとの関係を示す図である。図12に示されるグラフの縦軸は、解像度(dpi)を示し、横軸は、高さ(mm)を示す。高さ2.0mm〜3.0mmの範囲でグラフはほぼ直線となっており、高さ及び解像度の間で、比例関係が成り立っていることがわかる。すなわち、センサ30の高さが高くなるほど解像度が低くなり、センサ30の高さが低くなるほど解像度が高くなる。
また、センサ30により安定してHHP20の移動量を計測できる高さの範囲がある。例えば、図12の例では、センサ30により安定してHHP20の移動量を計測できる高さが2.0mm〜3.0mmとなっている。
高さ検出部45は、計測したセンサ30の解像度に基づいてセンサ30の高さを求める。例えば、高さ検出部45は、計測した解像度が800dpiである場合、センサ30の高さが2.0mmであると判定する。また、高さ検出部45は、計測した解像度が1000dpiである場合、センサ30の高さが2.5mmであると判定する。また、高さ検出部45は、計測した解像度が1200dpiである場合、センサ30の高さが3.0mmであると判定する。解像度(センサ30の高さ)とHHP20の移動量とは相関があり、解像度が低い程、センサ30の高さが高くなって、HHP20の移動量が実際のHHP20の移動量よりも大きく検出される。よって、解像度に基づきセンサ30の高さを検出することによりHHP20の移動量を補正することができる。
図13は、センサ30の高さ方向のズレを計測する第2の例における元画像と取得された画像を示す図である。第2の高さ方向のズレの計測方法について説明する。(A)は、印刷媒体2に印刷された異なる粒度の図形が複数表示された元画像を示す。(B)、(C)及び(D)は、イメージプロセッサ51によって取得された画像である。(B)がセンサ30の高さが最も低い場合に取得された画像であり、(C)、(D)の順にセンサ30の高さが高い場合に取得された画像である。(A)に示すように、元画像には粒度の異なる4つの図形が表示されている。センサ30の高さが最も低い(B)の場合、元画像に表示されている4つの図形全てが表示されている。次にセンサ30の高さが低い(C)の場合、元画像に表示されている4つの図形のうち、3つの図形が表示され、一番左の最も粒度の小さい図形が読み取れなくなっている。最もセンサ30の高さが高い(D)の場合、元画像に表示されている4つの図形のうち、2つの図形が表示され、左から一番目の図形と二番目の図形が読み取れなくなっている。また、(D)の場合、一番右側の図形の境界線が不鮮明となり、元画像が正方形であるのに対し、十字状の図形となっている。
このように、センサ30の高さが比較的低い場合、解像度が高くなるため、粒度の小さい図形を検出することができ、センサ30の高さが比較的高い場合、解像度が低くなるため、粒度の大きい図形しか検出することができない。
したがって、高さ検出部45は、粒度の異なる図形の画像をセンサ30から取得し、検出された最も小さい粒度の図形に基づいて解像度を求めることができる。
図14は、センサ30の高さ方向のズレを計測する第3の例における画面と取得された画像を示す図である。第3の高さ方向のズレの計測方法について説明する。図14の左側の図は、HHP20を載置した場合の表示デバイス10の画面11を示す。例えば、表示デバイス10は、画面11に棒状の図形12を表示する。画面11の面をXY平面としたとき、キャリブレーション開始時には、例えば、棒状の図形はY軸に平行に画面11の左側の位置に表示される。続いて、表示デバイス10は、棒状の図形12をX軸に平行に徐々に右側へ移動させる。
図14の(A)、(B)及び(C)は、センサ30の高さが標準よりも低い場合のイメージアレイ54によって取得された画像を示し、(a)、(b)及び(c)は、センサ30の高さが標準よりも高い場合のイメージアレイ54によって取得された画像を示す。センサ30の高さを標準よりも低くした場合、標準よりも解像度が高くなり、センサ30の高さを標準よりも高くした場合、標準よりも解像度が低くなる。
(A)及び(a)は、画面11の初期位置に棒状の図形12が表示されている場合に、イメージアレイ54によって取得された画像を示す。(B)及び(b)は、画面11において棒状の図形12をX軸に平行に所定距離移動させた場合に、イメージアレイ54によって取得された画像を示す。(C)及び(c)は、画面11において棒状の図形12をX軸に平行に終了位置まで移動させた場合に、イメージアレイ54によって取得された画像を示す。
棒状の図形12が(A)の位置から(B)の位置まで移動した場合、高さ検出部45は、ΔX=5を検出し、(B)の位置から(C)の位置まで移動した場合、高さ検出部45は、ΔX=5を検出する。したがって、高さ検出部45は、棒状の図形12が初期位置から終了位置まで移動した場合にΔX=10を検出する。
一方、棒状の図形12が(a)の位置から(b)の位置まで移動した場合、高さ検出部45は、ΔX=2を検出し、(b)の位置から(c)の位置まで移動した場合、高さ検出部45は、ΔX=2を検出する。したがって、高さ検出部45は、棒状の図形12が初期位置から終了位置まで移動した場合にΔX=4を検出する。
このように、センサ30の高さが高い場合(解像度が低い場合)、センサ30によって検出される図形12の移動量が大きくなり、センサ30の高さが低い場合(解像度が高い場合)、センサ30によって検出される図形の移動量が小さくなる。すなわち、図形の移動量とセンサ30の高さ(解像度)とは関連しており、図形を一定距離移動させた場合に、センサ30によって検出される図形の移動量からセンサ30の高さを求めることができる。
したがって、高さ検出部45は、図形を一定距離移動させた場合に、センサ30によって検出された図形の移動量に基づいてセンサの高さ(解像度)を求める。
図15は、センサ30の高さ方向のズレを計測する第4の例における元画像と取得された画像を示す図である。第4の高さ方向のズレの計測方法について説明する。(A)は、印刷媒体2に印刷された元画像を示す。(B)、(C)及び(D)は、イメージアレイ54によって取得された画像であり、(B)が最も露光時間を短くして取得された画像であり、(C)、(D)の順に露光時間を長くして取得された画像である。
最も露光時間が短い(B)の場合、元画像に表示されている4つの画像のうち、2つの画像が表示され、左から一番目の画像と二番目の画像が読み取れなくなっている。さらに、一番右側の画像の境界線が不鮮明となり、元画像が正方形であるのに対し、十字状の画像となっている。次に露光時間が短い(C)の場合、元画像に表示されている4つの画像のうち、3つの画像が表示され、一番左の画像が読み取れなくなっている。露光時間が最も長い(D)の場合、元画像に表示されている4つの画像の全てが表示されている。
そして、センサ30の高さが高く、解像度が低い場合、イメージアレイ54によって鮮明な画像が取得されるまでの露光時間が長くなり、センサ30の高さが低く、解像度が高い場合、イメージアレイ54によって鮮明な画像が取得されるまでの露光時間が短くなる。
すなわち、高さ検出部45は、イメージアレイ54によって鮮明な画像が取得されるまでの露光時間を計測することでセンサ30の高さを求めることができる。例えば、高さ検出部45は、露光時間とセンサ30の高さとの関係を示す数式、又はセンサ30の高さごとに露光時間を関連付けた表をROM28に保持しておき、計測した露光時間からセンサ30の高さを求める際に使用してもよい。
<XZ方向及びYZ方向の傾きの計測>
図16は、センサ30のXZ方向の傾きを計測する例を示す図である。XZ方向及びYZ方向の傾き計測する2つの方法について、以下に例示して説明する。
(a)には、画面11の面をXY方向とし、画面11の面に対して鉛直な軸をZ軸とし、XZ方向に平行なHHP20の断面図を2つ示している。
(a)の左側の図では、HHP20の底面をXY平面に平行にした場合に、センサ30の面がXY平面に対して平行となっている。これに対して(a)の右側の図では、HHP20の底面をXY平面に平行にした場合に、センサ30の面がXY平面に対して傾きを持っている。
(b)は、センサ30から印刷媒体2にLEDレーザを照射した場合を示す。(b)の左側の図は、(a)の左側の図に対応しており、センサ30をXY平面に平行とした状態で印刷媒体2にLEDレーザを照射した場合を示す。また、(b)の右側の図は、(a)の右側の図に対応しており、センサ30がXY平面に対して傾いている状態で印刷媒体2にLEDレーザを照射した場合を示す。
(c)は、LEDレーザが照射された印刷媒体2の一部を拡大した図である。縞状の線は、LEDレーザの照射方向を表す。(c)の左側の図は、(b)の左側の図に対応しており、やや左斜め上方向から印刷媒体2にLEDレーザが照射され、印刷媒体2上の突起の右部分に影が生じている。(c)の右側の図は、(b)の右側の図に対応しており、(c)の左側の図よりもより左側の方向から印刷媒体2にLEDレーザが照射されている。(c)の右側の図は、(c)の左側の図よりも左側からLEDレーザが照射されているため、突起の右方向に(X軸正方向)にやや長い影が生じる。
(d)は、イメージアレイ54によって取得された画像を示す。(d)の左側の2つの図は、(c)の左側の図に対応しており、左側は図形12が初期位置にある場合の画像であり、右側は図形12が移動して終了位置にある場合の画像である。同様に、(d)の右側の2つの図は、(c)の右側の図に対応しており、左側は図形12が初期位置にある場合の画像であり、右側は図形12が移動して終了位置にある場合の画像である。
(d)の左側の図の初期位置にある図形12の縦の長さは3セル、横の長さは3セルとなっており、縦横比が1:1となっている。これに対して、(d)の右側の図の初期位置にある図形12の縦の長さは3セル、横の長さは4セルとなっており、縦横比が3:4となっている。すなわち、(d)の右側の図は、センサ30がXZ方向に傾いていることにより、図形12の形状がX軸方向に1セル分伸びている。このように、傾き検出部46は、センサ30をXY平面に平行とした状態のときの画像と比較した画像の形状(例えば、縦横比)によって、センサ30のXZ方向の傾きを検出できる。
傾き検出部46は、X軸方向(横方向)の図形の長さ、及びY軸方向(縦方向)の図形の長さの比率に基づいて補正係数を算出する。
また、印刷媒体2を所定距離移動させた場合の画像の移動量によってもセンサ30のXZ方向の傾きを検出できる。
印刷媒体2をX軸方向に6セル分移動(ΔX=6)させた場合を例に説明する。センサ30をXY平面に平行とした状態でX軸方向に6セル分移動させた場合、傾き検出部46は、(d)の左側の図のように図形12の初期位置から終了位置まで6セル分の移動(dx=6)を検出する。これに対して、センサ30をXY平面に対して傾きがある状態でX軸方向に6セル分移動させた場合、傾き検出部46は、(d)の右側の図のように図形12の初期位置から終了位置まで8セル分の移動(dx=8)を検出する。このように、傾き検出部46は、X軸方向に一定距離図形を移動させたときの移動量に基づいてセンサ30のXZ方向の傾きを検出できる。
傾き検出部46は、計測したX軸方向の移動量及び計測したY軸方向の移動量の比率に基づいて補正係数を算出する。
このように、傾き検出部46は、センサ30をXY平面に平行とした状態のときの画像の縦横比又は移動量と比較することで、センサ30のXZ方向の傾きを検出できる。
また、傾き検出部46は、上記と同様の方法によりYZ方向の傾きに係る補正係数を求める。
<XY方向の傾きの計測>
図17は、HHP20の底面の各部位の位置関係を示す図である。図17は、HHP20の底面である。HHP20の縦方向及び横方向の辺に平行な軸をX軸、Y軸とする。X軸はIJ記録ヘッド24のノズルの配列方向に垂直であり、Y軸はIJ記録ヘッド24のノズルの配列方向に平行である。また、センサ30a及びセンサ30bの形状は、例えば、長方形であり、短辺がX軸に平行であり、長辺がY軸に平行である。図17に示すような場合にセンサ30a及びセンサ30bは、XY方向に傾きなく取り付けられているものとする。なお、IJ記録ヘッド24の形状は、長方形に限定されない。
図18は、センサ30のXY方向の傾きによる影響を示す図である。(a)は、HHP20の底面の各部位の位置関係を示す。IJ記録ヘッド24及びセンサ30aの位置関係は、図18と同様に各辺がX軸及びY軸に平行である。一方、センサ30bは、短辺がX軸に対して角度θ、反時計方向に傾いている。
(b)は、HHP20をX軸方向にΔX、Y軸方向にΔY移動させた場合の各センサが計測するX軸方向及びY軸方向の移動量を示す。(i)は、センサ30aが計測したΔX及びΔYであり、HHP20の実際の移動量と一致している。一方、(ii)は、センサ30bが計測したΔX及びΔYであり、HHP20の実際の移動量よりもΔXが長くなっており、ΔYが短くなっている。
(c)は、センサ30a及びセンサ30bが計測した移動量を比較するための図である。(ii)のΔXの軸を(i)のΔXの軸にそろえた場合に、センサ30a及びセンサ30bの実際の移動量が同じであっても、計測される移動量ΔX及びΔYに誤差が生じることが分かる。
傾き検出部46は、一方のセンサ30に対する他方のセンサ30のXY方向の傾きθを算出する。例えば、センサ30aの短辺に平行な軸をX軸、長辺に平行な軸をY軸としたとき、センサ30bのXY方向の傾きθは、以下の数式に基づいて算出することができる。すなわち、傾きθはセンサ30a及びセンサ30bのXY方向の角度差である。
また、位置算出回路32は、数1の数式により算出したXY方向の傾きθに基づいて下記の数式により実際の移動量ΔX及びΔYを算出することができる。
ΔX=dx×cosθ+dy×sinθ
ΔY=dx×sinθ−dy×cosθ・・・(1)
このように、センサ30a及びセンサ30b間で発生する移動量の誤差を補正することでセンサ30のXY方向の傾きによる誤差を軽減することができる。
また、傾き検出部46は、sinθ及びcosθを補正係数としてメモリ29に記録しておき、実際の移動量ΔX及びΔYを算出する際に使用してもよい。
<キャリブレーションに使用される図形のパターン例>
図19は、キャリブレーションに使用される図形のパターン例を示す第1の図である。(a)は、正方形の図形を等間隔に複数並べた場合の画像である。(a)の図形をX軸方向及びY軸方向に動かし、移動量ΔX及びΔYを求めることにより、高さ方向のズレ、XZ方向及びYZ方向の傾き、XY方向の傾きを算出することができる。(b)は、Y軸方向に平行な線状の図形を複数並べた場合の画像である。(b)の図形は、Y軸方向に動かしてΔYを求める場合に用いられる。また、X軸方向に平行な線状の図形を用いることで、高さ検出部45及び傾き検出部46は、図形をX軸方向に動かしてΔXを求めることもできる。
図20は、キャリブレーションに使用される図形のパターン例を示す第2の図である。図20の(a)及び(b)は、図19の(a)及び(b)と同じパターンの図形であるが、図19と比べてHHP20の載置位置が45°傾いているため、図19と比べて図形がXY方向に45°傾いている。
高さ検出部45及び傾き検出部46は、セル単位で図形の移動量を計測し、セル単位の図形の移動量の平均値に基づいて移動量ΔX及びΔYを求めてもよい。これにより、画面11上のHHP20が載置された位置にズレがあっても、キャリブレーションへの影響を少なくすることができる。
<キャリブレーション処理のフロー>
図21は、キャリブレーション処理の全体のフローを示す図である。図21の左側はユーザの操作又は表示デバイス10の動作を示し、右側はHHP20の動作を示す。
ユーザによりHHP20の電源ボタンが押下されると(ステップS10)、HHP20の高さ方向(Z軸方向)のズレ、XZ方向及びYZ方向の傾き、XY方向の傾きの計測値が初期化される(ステップS20)。続いて、キャリブレーション処理が開始され(ステップS11)、ユーザにより表示デバイス10がHHP20の下に設置される。続いて、表示デバイス10は、固定パターン画像を表示する(ステップS13)。例えば、表示デバイス10は、図2(b)のような棒状の図形を固定パターン画像として表示する。続いて、ユーザによりHHP20のキャリブレーションボタン5が押下される(ステップS14)。HHP20は、キャリブレーションボタン5が押下されるとレディ状態に移行する。
HHP20は、レディ状態であるか否かを判定する(ステップS21)。HHP20は、レディ状態に移行していた場合(ステップS21Yes)、LED6を点灯させる(ステップS22)。一方、HHP20は、レディ状態に移行していない場合(ステップS21No)、所定時間経過後にステップS21を再度実行する。
続いて、HHP20は、センサ30上のキャプチャ画像を取り込む(ステップS23)。続いて、HHP20は、キャプチャ画像一辺のセル数をカウントする(ステップS24)。
続いて、高さ検出部45は、キャプチャ画像一辺のセル数から現在の画面11からの高さ(Z軸方向の距離h)を求める(ステップS25)。例えば、高さ検出部45は、図11に示す関係表を用いてセンサ30の高さを求めてもよい。続いて、高さ検出部45は、高さに対応する解像度に応じた補正係数をメモリ29に格納する(ステップS26)。なお、高さ検出部45は、図11に示す関係表をメモリ29に格納し、補正係数の代わりに用いてもよい。
続いて、傾き検出部46は、キャプチャ画像一辺のセル数から現在のXZ方向の傾きを算出する(ステップS27)。
キャプチャ画像一辺のセル数から現在のXZ方向の傾きを算出する方法以外の方法を用いてXZ方向の傾きを算出してもよい。例えば、傾き検出部46は、例えば、図16(d)に示す例のように画面11に表示された図形12の移動量に基づいてXZ方向の傾きを算出してもよい。
続いて、傾き検出部46は、XZ方向の傾きに応じた補正係数をメモリ29に格納する(ステップS28)。
続いて、傾き検出部46は、キャプチャ画像一辺のセル数から現在のYZ方向の傾きを算出する(ステップS29)。続いて、傾き検出部46は、YZ方向の傾きに応じた補正係数をメモリ29に格納する(ステップS30)。
続いて、表示デバイス10は、キャリブレーションボタン5が押下されてから一定時間経過した後に、固定パターン画像を移動させる(ステップS15)。
続いて、傾き検出部46は、2つのセンサ30a及びセンサ30bによって計測された固定パターン画像の移動量ΔX及びΔYに基づいて現在のXY方向の傾きθを算出する(ステップS31)。例えば、傾き検出部46は、数1の数式に基づいてXY方向の傾きθを算出する。
傾き検出部46は、算出したXY方向の傾きθに応じた補正係数をメモリ29に格納する(ステップS32)。例えば、傾き検出部46は(1)の数式に使用するsinθ及びcosθを補正係数としてメモリに格納してもよい。
続いて、HHP20は、LED6を消灯させる(ステップS33)。続いて、ユーザによってHHP20が印字媒体上に移動されると、メモリ29に格納された各補正係数を用いて位置算出回路32によって算出された正確な現在位置を参照しつつ、HHP20は、印字処理を開始する(ステップS16)。
なお、ステップS25、S26の高さ(Z)方向のずれの補正、ステップS27〜S30の傾き(XZ,YZ)方向のずれの補正、ステップS31、32の平面上(XY方向)のずれの補正のうち、高さ(Z)方向のずれの補正のみが行われてもよい。また、ステップS27〜S30の傾き(XZ,YZ)方向のずれの補正のみが行われてもよい。ステップS31、32の平面上(XY方向)のずれの補正のみが行われてもよい。ただし、上記3つの補正がすべて実行されることが好ましい。また、上記3つの補正が行われる順番は、図21の順番に限らず、どのような順番であってもよい。
<移動後のセンサの移動成分の算出>
図22は、センサの位置算出方法を説明するための図である。図22において左側に移動前のIJ記録ヘッド24が示され、右側に移動後のIJ記録ヘッド24が示される。IJ記録ヘッド24の両端にはセンサ30a及びセンサ30bが配置されている。IJ記録ヘッド24は、右上方向に移動しており、センサ30a及びセンサ30bを通る軸が正時計方向にdθ旋回している。
センサ30aの初期位置を(X0,Y0)とし、センサ30bの初期位置を(X1,Y1)とし、センサ30aからセンサ30bまでの距離をLとする。また、移動前及び移動後のセンサ30a及びセンサ30bを通る軸の回転成分をdθとし、また、移動前及び移動後のセンサ30aのX軸方向の並行移動成分をΔX0,Y軸方向の並行移動成分をΔY0とする。また、移動前及び移動後のセンサ30aによって検出されたX軸方向の移動成分をdxS0、Y軸方向の移動成分をdyS0とする。なお、センサ30aによって検出された移動成分をdxS0及びdyS0には、センサ30a及びセンサ30bを通る軸の回転成分が含まれている。
位置算出回路32は、dxS0から回転成分と並行移動成分をそれぞれ算出する。位置算出回路32は、回転成分dθを以下の数式に基づいて算出する。
位置算出回路32は、並行移動成分dX0及びdY0を以下の数式に基づいて算出する。
dX0=dxS0×cosθ+dyS0×sinθ
dY0=−dxS0×sinθ+dyS0×cosθ・・・(2)
<移動後のセンサの位置の補正>
続いて、位置算出回路32は、センサ30aの解像度から算出された補正係数に基づいてdX0及びdY0を補正する。具体的には、高さ検出部45によってセンサ30の高さに対応する補正係数があらかじめ算出され、メモリ29に格納されている。位置算出回路32は、メモリ29に格納されている補正係数に基づいて並行移動成分dX0及びdY0を補正する。
例えば、補正係数CTは、実際のHHP20の移動量を、センサ30が検出した移動量で除算した値とする場合、以下の数式を用いて並行移動成分dX0及びdY0を補正する。なお、補正後のdX0及びdY0は、dX0'及びdY0'である。
dX0'=CT×dX0
dY0'=CT×dY0・・・(3)
続いて、位置算出回路32は、傾き検出部46によって算出されたXZ方向の傾きに係る補正係数及びYZ方向の傾きに係る補正係数に基づいて移動成分dX0及びdY0を補正する。例えば、X軸方向の移動量の係数をCX、Y軸方向の移動量の係数をCYとした場合、以下の数式を用いて並行移動成分dX0及びdY0を補正する。
dX0'=CX×dX0
dY0'=CY×dY0・・・(4)
続いて、位置算出回路32は、XY方向の傾きに係る補正係数(例えば、センサ30a及びセンサ30bのsinθ,cosθ)を(2)の数式に用いることにより、移動成分dX0及びdY0を補正する。
続いて、位置算出回路32は、センサ30aの初期位置(X0,Y0)に移動量dX0及びdY0を加算(X0+dX0,Y0+dY0)することで、センサ30aの移動後の位置(X0',Y0')を算出する。
続いて、位置算出回路32は、センサ30aの移動後の位置(X0',Y0')、及びセンサ30aとセンサ30bとを通る線とY軸との角度θを、以下の数式に代入し、センサ30bの移動後の位置(X1',Y1')を算出する。
X1'=X0'−L×sinθ
Y1'=Y0'−L×cosθ・・・(5)
なお、位置算出回路32は、センサ30aと同様にしてセンサ30bの移動後の位置を算出してもよい。
<各ノズルの位置の算出>
図23は、先頭のノズル位置の算出を説明するための第1の図である。センサ30a及びセンサ30bを結ぶ線分上にノズル24a〜24fが配置されている。位置算出回路32は、上記処理によって補正されたセンサ30a及びセンサ30bと各ノズルの位置関係から、各ノズルの正確な位置を算出する。
センサ30aからIJ記録ヘッド24までの距離をa、IJ記録ヘッド24のセンサ30a側の端部から先頭のノズル24aまでの距離をd、各ノズル間の距離をeとした場合、位置算出回路32は、配列の先頭のノズル24aの位置(NZL1_X, NZL1_Y)を以下の数式で求める。また、位置算出回路32は、後尾のノズル24fをノズル24aの場合と同様に求める。
NZL1_X=X0−(a+d)×sinθ
NZL1_Y=Y0−(a+d)×cosθ・・・(6)
図24は、先頭のノズル位置の算出を説明するための第2の図である。ノズル24A〜24Fは、センサ30a及びセンサ30bを結ぶ線分上に配置されていない。ノズル24a〜24fの配列をn列、ノズル24a〜24fの配列をc列とし、n列とc列との距離をfとしたとき、位置算出回路32は、配列cの先頭のノズル24Aの位置(NZL1_X, NZL1_Y)を以下の数式で求める。また、位置算出回路32は、配列cの後尾のノズル24Fをノズル24Aの場合と同様に求める。
NZLc−1_X=X0−(a+d)×sinθ+f×cosθ
NZLc−1_Y=Y0−(a+d)×cosθ+f×sinθ・・・(7)
図25は、先頭及び後尾ノズルの中間にあるノズルの位置の算出を説明するための第1の図である。位置算出回路32は、先頭及び後尾ノズルとの位置関係に基づいて、以下の数式で先頭及び後尾ノズルの中間にある先頭からN番目のノズル24N(24b〜f)の位置を求める。
NZLN_X=XS+{(XE−XS)/(E−1)}×N
NZLN_X=YS+{(YE−YS)/(E−1)}×N・・・(8)
図26は、先頭及び後尾ノズルの中間にあるノズルの位置の算出を説明するための第2の図である。例えば、位置算出回路32は、ノズル配列の延長線上に存在する仮想のノズルの位置に基づいて、先頭のノズル以降のノズルの位置を求めることができる。位置算出回路32は、各ノズル間の距離eと、X軸方向とのノズル配列の傾きθに基づいて仮想のノズルの位置(NZL_XE,NZL_YE)をあらかじめ算出しておく。
例えば、ノズル配列に192個のノズルが配置されており、257番目のノズルを仮想のノズルとし、1番目のノズル24_1の位置を(NZL_XS,NZL_YS)、仮想のノズル24_257の位置を(NZL_XE,NZL_YE)としたとき、以下の数式で先頭及び後尾ノズルの中間にある先頭からN番目のノズル24_Nの位置(NZLNX, NZLNY)を求める。
NZLNX={NZL_XS×(257−N)+NZL_XE×(N−1)}÷256
NZLNY={NZL_YS×(257−N)+NZL_YE×(N−1)}÷256・・・(9)
[実施形態2]
実施形態1では、ユーザが印字処理を開始する前にキャリブレーションを実行することを説明したが、これに限定されず、HHP20の製造工程においてキャリブレーションを実行してもよい。
HHP20の製造工程において実行されたキャリブレーションの結果は、例えば、ROM28に保持しておいてもよい。例えば、高さ検出部45によって計測されたセンサ30の高さに係る補正係数、傾き検出部46によって計測されたXZ方向及びYZ方向の傾きに係る補正係数、傾き検出部46によって計測されたXY方向の傾きに係る補正係数を算出し、ROM28に保持しておく。
これにより、HHP20を稼働させ始めた初期の段階で、ユーザによるキャリブレーション処理を省略又は簡略化することができ、ユーザの利便性を向上できる。
また、センサ30の高さを計測し、安定してHHP20の移動量を計測できない高さであった場合は、センサ30を取り付け直したり、センサ30を交換したりするようにしてもよい。すなわち、HHP20のテスト工程でキャリブレーション処理を実行してもよい。
例えば、図12に示す例では、センサ30の高さが2.0mm〜3.0mmの範囲である場合に安定してHHP20の移動量を計測できるが、センサ30の高さが2.0mm〜3.0mmの範囲外である場合、センサ30を取り付け直したり、センサ30を交換したりするようにしてもよい。
なお、HHP20は、画像形成装置の一例である。センサ30は、検出手段の一例である。センサI/F42は、移動量算出部の一例である。高さ検出部45及び傾き検出部46は、取得手段の一例である。画面11は、表面情報の一例である。図6(b)のsamp1〜3は、基本表面情報の一例である。位置算出回路32は、補正手段の一例である。センサ30の高さに関する情報は、高さ情報の一例である。XZ方向及びYZ方向の傾き、XY方向の傾きに関する情報は、傾度情報の一例である。また、高さ情報(センサ30の高さに関する情報)及び傾度情報(XY方向の傾きに関する情報)は、補正情報の一例である。
図形12は、所定のパターンの一例である。セルは、単位画像の一例である。XY方向の傾きは、組み付け角度の一例である。ROM28は、記憶領域の一例である。また、第1の方向とは、例えば、X軸方向であり、第2の方向とは、例えば、Y軸方向である。また、第1の方向の移動距離とは、センサ30により計測されたX軸方向の移動量ΔXの一例である。第2方向の移動距離とは、センサ30により計測されたY軸方向の移動量ΔYの一例である。