(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-16
(54)【発明の名称】位置検出装置、ハンドヘルド装置、位置検出方法、及びプログラム
(51)【国際特許分類】
B41J 3/28 20060101AFI20221109BHJP
B41J 2/01 20060101ALI20221109BHJP
【FI】
B41J3/28
B41J2/01 203
B41J2/01 451
B41J2/01 303
(21)【出願番号】P 2019012592
(22)【出願日】2019-01-28
【審査請求日】2021-10-21
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】小池 孝尚
(72)【発明者】
【氏名】木口 博之
(72)【発明者】
【氏名】田中 祐司
(72)【発明者】
【氏名】徳丸 弘
(72)【発明者】
【氏名】四折 淳
(72)【発明者】
【氏名】邑田 拓也
【審査官】佐藤 孝幸
(56)【参考文献】
【文献】特開2018-021844(JP,A)
【文献】特開2011-100381(JP,A)
【文献】特開2017-081012(JP,A)
【文献】特開2016-129978(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 3/28
B41J 2/01
(57)【特許請求の範囲】
【請求項1】
位置検出装置が搭載されたハンドヘルド装置の移動面における位置を検出する位置検出装置であって、
前記移動面における前記ハンドヘルド装置の検出移動量を検出する移動量検出部と、
少なくとも前記移動面における前記ハンドヘルド装置の姿勢を検出する姿勢検出部と、
前記移動量検出部の特性情報を格納する格納部と、
格納された前記特性情報に基づいて前記検出移動量を補正した補正移動量を出力する補正部と、
前記補正移動量及び前記姿勢に基づいて取得した前記ハンドヘルド装置の前記位置を出力する位置取得部と、を有
し、
前記特性情報は、前記ハンドヘルド装置の前記移動面における移動速度に応じた速度倍率を含み、
前記補正部は、前記移動速度に応じた前記速度倍率に基づき、前記検出移動量を補正する
位置検出装置。
【請求項2】
前記特性情報は、前記ハンドヘルド装置の前記移動面における移動方向に応じた方向倍率を含み、
前記補正部は、前記移動方向に応じた前記方向倍率に基づき、前記検出移動量を補正する
請求項1に記載の位置検出装置。
【請求項3】
前記特性情報は、前記移動量検出部が前記検出移動量を検出する検出面に対する前記移動量検出部の高さに応じた前記方向倍率及び前記速度倍率の少なくとも一方を含み、
前記補正部は、前記高さと前記移動方向とに応じた前記方向倍率、及び前記高さと前記移動速度とに応じた前記速度倍率の少なくとも一方に基づき、前記検出移動量を補正する請求項2
に記載の位置検出装置。
【請求項4】
前記特性情報は、前記移動面の種別に応じた前記方向倍率及び前記速度倍率の少なくとも一方を含み、
前記補正部は、前記移動面の種別と前記移動方向とに応じた前記方向倍率、及び前記移動面の種別と前記移動速度とに応じた前記速度倍率の少なくとも一方に基づき、前記検出移動量を補正する
請求項2
、又は3に記載の位置検出装置。
【請求項5】
前記姿勢に基づいて取得される、前記ハンドヘルド装置の前記移動面における回転角の回転中心を通り、前記移動面に直交する軸上に、前記移動量検出部の前記移動面における中心位置が配置され、
前記格納部は、前記姿勢検出部の特性情報を格納し、
前記補正部は、格納された前記姿勢検出部の特性情報に基づいて前記姿勢を補正した補正姿勢を出力し、
前記位置取得部は、前記補正移動量及び前記補正姿勢に基づいて取得した前記ハンドヘルド装置の前記位置を出力する
請求項1乃至
4の何れか1項に記載の位置検出装置。
【請求項6】
請求項1乃至
5の何れか1項に記載の位置検出装置と、
前記ハンドヘルド装置の前記位置に応じて、印刷媒体に前記位置の画像を形成するための液体を吐出する液体吐出部と、を有する
ハンドヘルド装置。
【請求項7】
前記移動面は、
印刷媒体面に含まれる
請求項
6に記載のハンドヘルド装置。
【請求項8】
前記格納部に格納された前記特性情報を、前記ハンドヘルド装置の外部から入力された入力情報に基づき書き換える特性情報書換部を有する
請求項
6、又は
7に記載のハンドヘルド装置。
【請求項9】
位置検出装置が搭載されたハンドヘルド装置の移動面における位置を検出する位置検出方法であって、
前記移動面における前記ハンドヘルド装置の検出移動量を検出する移動量検出工程と、
少なくとも前記移動面における前記ハンドヘルド装置の姿勢を検出する姿勢検出工程と、
前記移動量検出工程の特性情報を格納する格納工程と、
格納された前記特性情報に基づいて前記検出移動量を補正した補正移動量を出力する補正工程と、
前記補正移動量に基づいて取得した前記ハンドヘルド装置の前記位置を出力する位置取得工程と、を含
み、
前記特性情報は、前記ハンドヘルド装置の前記移動面における移動速度に応じた速度倍率を含み、
前記補正工程は、前記移動速度に応じた前記速度倍率に基づき、前記検出移動量を補正する
位置検出方法。
【請求項10】
位置検出装置が搭載されたハンドヘルド装置の移動面における位置を検出する位置検出装置を、
前記移動面における前記ハンドヘルド装置の検出移動量を検出する移動量検出部、
少なくとも前記移動面における前記ハンドヘルド装置の姿勢を検出する姿勢検出部、
前記移動量検出部の特性情報を格納する格納部、
格納された前記特性情報に基づいて前記検出移動量を補正した補正移動量を出力する補正部、
前記補正移動量に基づいて取得した前記ハンドヘルド装置の前記位置を出力する位置取得部、
として機能させるためのプログラム
であって、
前記特性情報は、前記ハンドヘルド装置の前記移動面における移動速度に応じた速度倍率を含み、
前記補正部は、前記移動速度に応じた前記速度倍率に基づき、前記検出移動量を補正するプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置検出装置、ハンドヘルド装置、位置検出方法、及びプログラムに関する。
【背景技術】
【0002】
ノートPCの小型化、スマートデバイスの普及等により、プリンタの小型化・携帯化のニーズが高まり、プリンタから紙搬送システムを削除することで小型化された液体吐出装置(以下、HHP:ハンドヘルドプリンタという)が実用化されつつある。HHPでは、紙搬送システムが搭載されていないため、人が紙面上でHHPを移動させ、移動中にインク等の液体が吐出されることで紙面上に画像が形成される。紙面上で液体が吐出される位置を正確に制御するために、HHPの紙面上での移動量が移動量検出部により検出され、検出された移動量に基づいて取得されたHHPの位置情報が用いられる。
【0003】
このような位置情報を取得する装置として、移動量検出部が所定の時間前の時刻に取得した画像と現在の時刻に取得した画像との相関値に基づき移動量を検出し、検出された移動量に基づいて位置を取得するものが開示されている(例えば、特許文献1参照)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の装置では、移動量検出部における撮像光学系の寸法誤差や取付ばらつき等に起因した移動量の検出誤差により、位置の検出精度が低下する場合がある。
【0005】
位置検出装置がPC(Personal Computer)で用いられるマウス等に適用される場合には、ユーザがディスプレイ上のカーソルの位置を視認し、視認された位置をユーザが自身のマウス操作に反映させればよいため、位置検出装置に必ずしも高い精度が要求されない。
【0006】
しかし、HHPでは、HHPの位置情報が印刷される画像の品質に大きく影響するため、位置情報に高い精度が要求され、特許文献1による装置では位置検出精度が不足する場合があった。
【0007】
本発明は、上記の点に鑑みてなされたものであって、検出精度を確保した位置検出装置を提供することを課題とする。
【課題を解決するための手段】
【0008】
開示の技術の一態様に係る位置検出装置は、位置検出装置が搭載されたハンドヘルド装置の移動面における位置を検出する位置検出装置であって、前記移動面における前記ハンドヘルド装置の検出移動量を検出する移動量検出部と、少なくとも前記移動面における前記ハンドヘルド装置の姿勢を検出する姿勢検出部と、前記移動量検出部の特性情報を格納する格納部と、格納された前記特性情報に基づいて前記検出移動量を補正した補正移動量を出力する補正部と、前記補正移動量及び前記姿勢に基づいて取得した前記ハンドヘルド装置の前記位置を出力する位置取得部と、を有し、前記特性情報は、前記ハンドヘルド装置の前記移動面における移動速度に応じた速度倍率を含み、前記補正部は、前記移動速度に応じた前記速度倍率に基づき、前記検出移動量を補正する。
【発明の効果】
【0009】
検出精度を確保した位置検出装置を提供することができる。
【図面の簡単な説明】
【0010】
【
図1】実施形態に係るHHPによる印刷の様子の一例を説明する図である。
【
図2】実施形態に係るHHPのハードウェア構成の一例を説明するブロック図である。
【
図3】実施形態に係る制御部のハードウェア構成の一例を説明するブロック図である。
【
図4】ジャイロセンサが角速度を検出する原理を説明する図である。
【
図5】ナビゲーションセンサのハードウェア構成の一例を説明するブロック図である。
【
図6】ナビゲーションセンサによる移動量の検出方法の一例を説明する図であり、(a)は印刷媒体への光の照射を説明する図、(b)はイメージデータの一例を示す図である。
【
図7】実施形態に係るIJ記録ヘッド駆動回路の構成の一例を説明するブロック図である。
【
図8】IJ記録ヘッドのノズル位置の一例を説明する図であり、(a)実施形態に係るHHPの構成の一例を説明する平面図、(b)はIJ記録ヘッドのみを説明する図である。
【
図9】実施形態に係るHHPの座標系と位置の算出方法の一例を説明する図であり、(a)はHHPのX座標を説明する図、(b)はナビゲーションセンサが検出する移動量を示す図である。
【
図10】印刷中に生じるHHPの回転角の求め方の一例を説明する図である。
【
図11】目標吐出位置とノズルの位置の関係の一例を説明する図である。
【
図12】画像データ出力器とHHPによる印刷動作の一例を示すフローチャートである。
【
図13】移動方向に応じたナビゲーションセンサの検出倍率の相違を説明する図であり、(a)は移動方向に対する異方性がない場合の検出倍率を示す図、(b)は移動方向に対する異方性がある場合の検出倍率を示す図である。
【
図14】移動速度に応じたナビゲーションセンサの検出倍率の相違を説明する図である。
【
図15】第1の実施形態に係るHHPのハードウェア構成の一例を説明するブロック図である。
【
図16】第1の実施形態に係る制御部のハードウェア構成の一例を説明するブロック図である。
【
図17】第1の実施形態に係る位置検出装置の機能構成の一例を説明するブロック図である。
【
図18】HHPの移動方向に応じたナビゲーションセンサの検出倍率データの取得方法の一例を説明する図であり、(a)は検出倍率データ取得時の移動面内でのナビゲーションセンサの回転を説明する図、(b)は取得された検出倍率データの一例を示す図である。
【
図19】移動方向に応じた補正テーブルの一例を示す図である。
【
図20】第1の実施形態に係る補正部による補正方法の一例を説明する図である。
【
図21】移動速度に応じた補正テーブルの一例を示す図である。
【
図22】第1の実施形態に係る位置検出装置の動作の一例について説明するフローチャートである。
【
図23】ナビゲーションセンサの高さを説明する図である。
【
図24】ナビゲーションセンサの高さと検出移動量との関係の一例を説明する図である。
【
図25】第2の実施形態に係るHHPの機能構成の一例を説明するブロック図である。
【
図26】格納部に格納された各種補正テーブルの一例を説明する図である。
【
図27】第2の実施形態に係る位置検出装置による補正テーブルの選択処理の一例を示すフローチャートである。
【
図28】ナビゲーションセンサとジャイロセンサとの配置の一例を説明する図である。
【
図29】第3の実施形態に係るHHPの機能構成の一例を説明するブロック図である。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【0012】
実施形態では、位置検出装置を搭載したハンドヘルドプリンタ(以下、HHPという)について説明する。HHPは、ユーザにより印刷媒体上で移動(走査)されながら、画像データと、位置検出装置で検出された位置情報とに基づいてインク(液体の一例)を吐出し、印刷媒体上に画像を形成する装置である。ここで、HHPは「ハンドヘルド装置」の一例である。
【0013】
なお、実施形態では、記録ヘッドを「IJ記録ヘッド」と称する。また、実施形態の用語における印刷、画像形成、印字、記録はいずれも同義とする。
【0014】
<実施形態に係るHHPの構成>
先ず、実施形態に係るHHPについて説明する。
図1は、実施形態に係るHHPによる印刷の様子の一例を説明する図である。HHP20には、スマートフォンやPC(Personal Computer)等の画像データ出力器11から画像データが送信される。ユーザはHHP20を把持して、印刷媒体12(定形用紙やノート等)から浮き上がらないようにフリーハンドで走査させる。このHHP20が走査される面は、「移動面」の一例である。
【0015】
HHP20は後述するようにナビゲーションセンサ30とジャイロセンサ31で位置を検出し、HHP20が目標吐出位置に移動すると、目標吐出位置で吐出すべき色のインクを吐出する。すでにインクを吐出した場所はマスクされるため(インクの吐出の対象とならないため)、ユーザは、印刷媒体12上で任意の方向にHHP20を走査させることで、印刷媒体12上に画像を形成することができる。
【0016】
印刷媒体12からHHP20が浮き上がらないことが好ましいのは、ナビゲーションセンサ30が印刷媒体12からの反射光を利用して移動量を検出するためである。印刷媒体12からHHP20が浮き上がると反射光を検出できなくなり移動量を検出できない。印刷媒体12からナビゲーションセンサ30がはみ出した場合も、印刷媒体12の厚みにより反射光を検出できなくなったり、検出できても位置がずれたりする場合がある。このため、ナビゲーションセンサ30は印刷媒体12上で走査されることが好ましく、上記のようにノズル61とナビゲーションセンサ30が印刷媒体12上に共に存在することが好ましい。
【0017】
<実施形態に係るHHPのハードウェア構成>
図2は、実施形態に係るHHPのハードウェア構成の一例を説明する図である。HHP20は、制御部25によって全体の動作が制御され、制御部25には通信I/F(Interface)27、IJ(Inkjet)記録ヘッド駆動回路23、OPU(Operation panel Unit)26、ROM(Read Only Memory)28、DRAM(Dynamic Random Access Memory)29、ナビゲーションセンサ30、及びジャイロセンサ31等が電気的に接続されている。
【0018】
また、HHP20は電力により駆動されるため、電源22と電源回路21とを有している。電源回路21が生成する電力は、点線22aで示す配線等により、通信I/F27、IJ記録ヘッド駆動回路23、OPU26、ROM28、DRAM29、IJ記録ヘッド24、制御部25、ナビゲーションセンサ30、及びジャイロセンサ31に供給されている。ここで、IJ記録ヘッド24は、「液体吐出部」の一例である。
【0019】
電源22としては主に電池(バッテリー)が利用される。太陽電池や商用電源(交流電源)、燃料電池等が用いられても良い。電源回路21は、電源22が供給する電力をHHP20の各部に分配する。また、電源22の電圧を各部に適した電圧に降圧や昇圧する。また、電源22が充電可能な電池である場合、電源回路21は交流電源の接続を検出して電池の充電回路に接続し、電源22の充電を可能にする。
【0020】
通信I/F27は、スマートフォンやPC等の画像データ出力器11から画像データの受信等を行う。通信I/F27は例えば無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)、赤外線、3G(携帯電話)、又は、LTE(Long Term Evolution)等の通信規格に対応した通信装置である。また、このような無線通信の他、有線LAN、USBケーブルなどを用いた有線通信に対応した通信装置であっても良い。
【0021】
ROM28は、HHP20のハードウェア制御を行うファームウェアや、IJ記録ヘッド24の駆動波形データ(液滴を吐出するための電圧変化を規定するデータ)や、HHP20の初期設定データ等を格納している。
【0022】
DRAM29は通信I/F27が受信した画像データを記憶したり、ROM28から展開されたファームウェアを格納したりするために使用される。したがって、CPU33がファームウェアを実行する際のワークメモリとして使用される。
【0023】
ナビゲーションセンサ30は、所定のサイクル時間毎にHHP20の移動量を検出するセンサである。ナビゲーションセンサ30は、例えば、発光ダイオード(LED)やレーザ等の光源と、印刷媒体12を撮像する撮像センサを有している。HHP20が印刷媒体12上を走査されると、印刷媒体12の微小なエッジが次々に検出され(撮像され)エッジ間の距離を解析することで移動量が得られる。実施形態では、ナビゲーションセンサ30は、HHP20の底面に1つだけ搭載されている。従来は2つであった。ただし、説明のためナビゲーションセンサ30が2つあるHHP20について説明する場合がある。なお、ナビゲーションセンサ30として、さらに多軸の加速度センサを用いても良く、HHP20は加速度センサのみでHHP20の移動量を検出しても良い。
【0024】
ジャイロセンサ31は、印刷媒体12に垂直な軸を中心にHHP20が回転した際の角速度を検出するセンサである。詳細は後述される。
【0025】
OPU26は、HHP20の状態を表示するLED、ユーザがHHP20に印刷を指示するためのスイッチ等を有している。ただし、これに限定されるものではなく、液晶ディスプレイを有していても良く、さらにタッチパネルを有していても良い。また、音声入力機能を有していても良い。
【0026】
IJ記録ヘッド駆動回路23は上記の駆動波形データを用いて、IJ記録ヘッド24を駆動するための駆動波形(電圧)を生成する。インクの液滴のサイズ等に応じた駆動波形を生成できる。
【0027】
IJ記録ヘッド24は、インクを吐出するためのヘッドである。図ではCMYKの4色のインクを吐出可能になっているが、単色でも良く5色以上の吐出が可能でも良い。色毎に一列(二列以上でも良い)に列状に並んだ複数のインク吐出用のノズル61(吐出ノズルの一例)が配置されている。また、インクの吐出方式はピエゾ方式でもサーマル方式でも良く、この他の方式でも良い。IJ記録ヘッド24は、ノズル61からインク等の液体を吐出・噴射する機能部品である。吐出される液体は、IJ記録ヘッド24から吐出可能な粘度や表面張力を有するものであれば良く、特に限定されないが、常温、常圧下において、または加熱、冷却により粘度が30〔mPa・s〕以下となるものであることが好ましい。より具体的には、水や有機溶媒等の溶媒、染料や顔料等の着色剤、重合性化合物、樹脂、界面活性剤等の機能性付与材料、DNA、アミノ酸やたんぱく質、カルシウム等の生体適合材料、天然色素等の可食材料、などを含む溶液、懸濁液、エマルジョンなどであり、これらは例えば、インクジェット用インク、表面処理液、電子素子や発光素子の構成要素や電子回路レジストパターンの形成用液、3次元造形用材料液等の用途で用いることができる。
【0028】
制御部25はCPU33を有し、HHP20の全体を制御する。制御部25は、ナビゲーションセンサ30により検出される移動量及びジャイロセンサ31により検出される角速度を元に、IJ記録ヘッド24の各ノズルの位置と、その位置に応じて形成する画像の決定、後述する吐出ノズル可否判定等を行う。制御部25について詳細は次述する。
【0029】
<制御部のハードウェア構成>
図3は、制御部25のハードウェア構成の一例を説明するブロック図である。制御部25はSoC(System on a Chip)50とASIC(Application Specific Integrated Circuit)/FPGA(Field-Programmable Gate Array)40を有している。SoC50とASIC/FPGA40はバス46,47を介して通信する。ASIC/FPGA40はどちらの実装技術で設計されても良いことを意味し、ASIC/FPGA40以外の他の実装技術で構成されて良い。また、SoC50とASIC/FPGA40を別のチップにすることなく1つのチップや基板で構成してもよい。或いは、3つ以上のチップや基板で実装してもよい。
【0030】
SoC50は、バス47を介して接続されたCPU33、位置算出回路34、メモリCTL(コントローラ)35、及びROM CTL(コントローラ)36等の機能を有している。なお、SoC50が有する構成要素はこれらに限られない。
【0031】
また、ASIC/FPGA40は、バス46を介して接続されたImage RAM37、DMAC38、回転器39、割込みコントローラ41、ナビゲーションセンサI/F42、印字/センサタイミング生成部43、IJ記録ヘッド制御部44及びジャイロセンサI/F45を有している。なお、ASIC/FPGA40が有する構成要素はこれらに限られない。
【0032】
CPU33は、ROM28からDRAM29に展開されたファームウェア(プログラム)などを実行し、SoC50内の位置算出回路34、メモリCTL35、及び、ROM CTL36等の動作を制御する。また、ASIC/FPGA40内のImage RAM37、DMAC38、回転器39、割込みコントローラ41、ナビゲーションセンサI/F42、印字/センサタイミング生成部43、IJ記録ヘッド制御部44及びジャイロセンサI/F45等の動作を制御する。
【0033】
位置算出回路34は、ナビゲーションセンサ30が検出するサンプリング周期毎の移動量及びジャイロセンサ31が検出するサンプリング周期毎の角速度に基づいてHHP20の位置(座標情報)を算出する。HHP20の位置とは、厳密にはノズル61の位置であるが、ナビゲーションセンサ30のある位置が分かればノズル61の位置を算出できる。実施形態では、特に断らない限りナビゲーションセンサ30の位置としてナビゲーションセンサS0の位置をいう。また、位置算出回路34は目標吐出位置を算出する。なお、位置算出回路34をCPU33がソフト的に実現しても良い。
【0034】
ナビゲーションセンサ30の位置は、後述するように所定の原点(印刷が開始される時のHHP20の初期位置)等を基準に算出されている。また、位置算出回路34は、過去の位置と最も新しい位置の差に基づいて移動方向や加速度を推定し、次回の吐出タイミングにおけるナビゲーションセンサ30の位置を予測することができる。こうすることで、ユーザの走査に対する遅れを抑制してインクを吐出できる。
【0035】
メモリCTL35は、DRAM29とのインタフェースであり、DRAM29に対しデータを要求し、取得したファームウェアをCPU33に送出したり、取得した画像データをASIC/FPGA40に送出したりする。
【0036】
ROM CTL36は、ROM28とのインタフェースであり、ROM28に対しデータを要求し、取得したデータをCPU33やASIC/FPGA40に送出する。
【0037】
I2C CTL69は、NVRAM67とのインタフェースである。但し、I2Cに限定されるものではなく、SPI(Serial Peripheral Interface)やパラレルバス等のインタフェースを用いても良い。
【0038】
回転器39は、DMAC38が取得した画像データを、インクを吐出するヘッド、ヘッド内のノズル位置、及び、取り付け誤差等によるヘッド傾きに応じて回転させる。DMAC38は回転後の画像データをIJ記録ヘッド制御部44へ出力する。
【0039】
Image RAM37はDMAC38が取得した画像データを一時的に格納する。すなわち、ある程度の画像データがバッファリングされ、HHP20の位置に応じて読み出される。
【0040】
IJ記録ヘッド制御部44は、画像データ(ビットマップデータ)にディザ処理などを施して大きさと密度で画像を表す点の集合に画像データを変換する。これにより、画像データは吐出位置と点のサイズのデータとなる。IJ記録ヘッド制御部44は点のサイズに応じた制御信号をIJ記録ヘッド駆動回路23に出力する。IJ記録ヘッド駆動回路23は上記のように制御信号に対応した駆動波形データを用いて、駆動波形(電圧)を生成する。
【0041】
ナビゲーションセンサI/F42は、ナビゲーションセンサ30と通信し、ナビゲーションセンサ30からの情報として移動量ΔX´、ΔY´(これらについては後述する)を受信し、その値を内部レジスタに格納する。
【0042】
印字/センサタイミング生成部43は、ナビゲーションセンサI/F42とジャイロセンサI/F45が情報を読み取るタイミングを通知し、IJ記録ヘッド制御部44に駆動タイミングを通知する。情報を読み取るタイミングの周期はインクの吐出タイミングの周期よりも長い。IJ記録ヘッド制御部44は吐出ノズル可否判定を行い、インクを吐出すべき目標吐出位置があればインクを吐出し、目標吐出位置がなければ吐出しないと判定する。
【0043】
ジャイロセンサI/F45は印字/センサタイミング生成部43により生成されたタイミングになるとジャイロセンサ31が検出する角速度を取得してその値をレジスタに格納する。
【0044】
割込みコントローラ41は、ナビゲーションセンサI/F42がナビゲーションセンサ30との通信が完了したことを検知して、SoC50へそれを通知するための割込み信号を出力する。CPU33はこの割込みにより、ナビゲーションセンサI/F42が内部レジスタに記憶するΔX´、ΔY´を取得する。その他、エラー等のステータス通知機能も有する。ジャイロセンサI/F45に関しても同様に、割込みコントローラ41はSoC50に対し、ジャイロセンサ31との通信が終了したことを通知するための割込み信号を出力する。
【0045】
<ジャイロセンサによる検出原理>
図4は、ジャイロセンサ31が角速度を検出する原理を説明する図である。移動している物体に回転が加わると、物体の移動方向と回転軸の両方に直行する方向にコリオリ力が発生する。
【0046】
物体を移動させるため、ジャイロセンサ31ではMEMS(Micro Electro Mechanical Systems)素子を振動させることで速度v(ベクトル)を発生させる。振動している質量mのMEMS素子に外部から角速度ω(ベクトル)の回転が加わると、MEMS素子にコリオリ力が加わる。コリオリ力Fは以下のように表すことができる。
F=-2mΩ×v
なお、「×」はベクトルの外積を表し、上記のように物体の移動方向と回転軸に直交する方向がコリオリ力Fの方向である。MEMS素子は例えば櫛歯構造の電極を有しており、ジャイロセンサ31はコリオリ力Fにより発生した変位を静電容量の変化として捉える。コリオリ力Fの信号はジャイロセンサ31内で増幅されフィルタリングされた後、角速度に演算されて出力される。すなわち、F,m、vが既知なので角速度ωを取り出すことができる。
【0047】
<ナビゲーションセンサのハードウェア構成>
図5は、ナビゲーションセンサのハードウェア構成の構成例を示す図である。ナビゲーションセンサ30は、Host I/F301、イメージプロセッサ302、LEDドライバ303、2つのレンズ304、306及び、イメージアレイ305を有する。LEDドライバ303は、LEDと制御回路が一体となっておりイメージプロセッサ302からの命令によりLED光を照射する。イメージアレイ305は、レンズ304を介して印刷媒体12からのLED光の反射光を受光する。2つのレンズ304,306は、印刷媒体12の表面に対して光学的に焦点が合うように設置されている。
【0048】
イメージアレイ305は、LED光の波長に感度を有するフォトダイオード等を有し、受光したLED光からイメージデータを生成する。イメージプロセッサ302はイメージデータを取得して、イメージデータからナビゲーションセンサの移動距離(上記のΔX´、ΔY´)を算出する。イメージプロセッサ302は、算出した移動距離を、ホストI/F301を介して制御部25へ出力する。
【0049】
光源として使用される発光ダイオード(LED)は、表面が粗い印刷媒体12、例えば紙を使用する場合に有用である。これは、表面が粗い場合、影が発生するため、その影を特徴部分として、X軸方向及びY軸方向の移動距離を正確に算出することができる。一方、表面が滑らか、或いは透明な印刷媒体12に対しては、光源としてレーザ光を発生させる半導体レーザ(LD)を使用することができる。半導体レーザで、印刷媒体12上に例えば縞模様等を形成することで特徴部分を作ることができ、それを基に正確に移動距離を算出することができる。
【0050】
<ナビゲーションセンサの動作>
次に、
図6を用いて、ナビゲーションセンサ30の動作について説明する。
図6はナビゲーションセンサ30による移動量の検出方法の一例を説明する図であり、(a)は印刷媒体への光の照射の様子を説明する図、(b)はイメージデータの一例を示す図である。
【0051】
LEDドライバ303が照射した光は、レンズ306を介して印刷媒体12の表面に照射される。印刷媒体12の表面は、
図6(a)に示すように様々な形状の微小な凹凸を有している。このため、様々な形の影が発生する。
【0052】
イメージプロセッサ302は、予め決められたサンプリングタイミング毎に、レンズ304及びイメージアレイ305を介して反射光を受光し、イメージデータ310を取得する。
図6(b)に示すように生成したイメージデータ310を、イメージプロセッサ302は規定の分解能単位でマトリクス化する。すなわち、イメージデータ310を複数の矩形領域に分割する。
【0053】
そして、イメージプロセッサ302は、前回のサンプリングタイミングで得られたイメージデータ310と、今回のサンプリングタイミングで得られたイメージデータ310とを比較してイメージデータ310が移動した矩形領域の数を検出し、それを移動距離として算出する。
図6(b)で図示するΔX方向にHHP20が移動したとする。t=0とt=1のイメージデータ310を比較すると、右端にある形状が中央の形状と一致する。したがって、形状は-X方向に移動しているので、HHP20がX方向に一マス分移動したことが分かる。時刻t=1とt=2についても同様である。
【0054】
<IJ記録ヘッド駆動回路の構成>
図7は、IJ記録ヘッド駆動回路23の構成の一例を説明するブロック図である。まず、IJ記録ヘッド24は、複数のノズル61を備え、各ノズル61にはアクチュエータが設けられている。アクチュエータは、サーマル方式、ピエゾ方式のいずれであっても良い。サーマル方式は、ノズル内のインクに熱を与えて膨張させ、この膨張によりノズル61からインク滴を吐出させるものである。ピエゾ方式は、圧電素子によりノズル壁を押し、内部のインクを押し出すことによりインク滴を吐出させるものである。
【0055】
IJ記録ヘッド駆動回路23は、アナログスイッチ231と、レベルシフタ232と、階調デコーダ233と、ラッチ234と、シフトレジスタ235とを備えている。IJ記録ヘッド制御部44は、IJ記録ヘッド駆動回路23に対し、IJ記録ヘッド24のノズル61の数(アクチュエータの数も同じ)分のシリアルデータである画像データSDを、画像データ転送クロックSCKによってシフトレジスタ235に転送する。
【0056】
転送が終了すると、IJ記録ヘッド制御部44は、画像データラッチ信号SLnによりノズル毎に設けられたラッチ234に各画像データSDを記憶させる。
【0057】
IJ記録ヘッド制御部44は、画像データSDをラッチさせた後、アナログスイッチ231へ各階調値のインク滴を各ノズルから吐出させるためのヘッド駆動波形Vcomを出力する。このとき、IJ記録ヘッド制御部44は、階調デコーダ233に対してヘッド駆動マスクパターンMNを階調制御信号として与えるが、そのヘッド駆動マスクパターンMNを駆動波形のタイミングに合わせて選択するように遷移させる。
【0058】
階調デコーダ233は、階調制御信号とラッチされた画像データとを論理演算し、レベルシフタ232は、論理演算した得られた論理レベル電圧信号を、アナログスイッチ231を駆動できる電圧レベルまで昇圧する。
【0059】
アナログスイッチ231は、昇圧された電圧信号を受け付けON/OFFすることにより、IJ記録ヘッド24のアクチュエータへ供給する駆動波形VoutNが各ノズルで異なる波形となる。IJ記録ヘッド24は、この駆動波形に基づきインク滴を吐出させ、印刷媒体12上に画像を形成する。
【0060】
なお、
図7の構成及びその説明は、インクジェット方式のプリンタで一般に採用されている構成である。インク滴を吐出できれば、
図7の構成に限られずHHP20に搭載されてよい。
【0061】
<IJ記録ヘッドにおけるノズル位置について>
次に、
図8を用いて、IJ記録ヘッド24におけるノズル位置等について説明する。
図8(a)は、HHP20の平面図の一例である。
図8(b)はIJ記録ヘッド24のみを説明する図の一例である。図示されている面が印刷媒体12に対向する面である。
【0062】
実施形態に係るHHP20は、1つのナビゲーションセンサS
0を有している。
図8(a)のS
1は、説明の便宜上、ナビゲーションセンサ30が2つある場合の設置位置を示す。ナビゲーションセンサ30が2つある場合の、2つのナビゲーションセンサS
0,S
1の間の長さは距離Lである。距離Lは長いほどよい。これは、距離Lが長いほど検出可能な最小の回転角θが小さくなり、HHP20の位置の誤差が少なくなるからである。
【0063】
ナビゲーションセンサ30からIJ記録ヘッド24までの距離はそれぞれ距離a、bである。距離aと、距離bは等しくてもよいし、ゼロでもよい(IJ記録ヘッド24に接している)。また、ナビゲーションセンサ30が1つだけの場合、ナビゲーションセンサS0はIJ記録ヘッド24の周囲の任意の場所に配置される。したがって、図示するナビゲーションセンサS0の位置は一例である。ただし、IJ記録ヘッド24とナビゲーションセンサS0の距離が短いことでHHP20の底面のサイズを削減しやすくなる。
【0064】
図8(b)に示すように、IJ記録ヘッド24の端から最初のノズル61までの距離は距離d、隣接するノズル間の距離は距離eである。a~eの値はROM28等に予め記憶されている。
【0065】
位置算出回路34等がナビゲーションセンサS0の位置を算出すれば、距離a(距離b)、距離d及び距離eを用いて、位置算出回路34はノズル61の位置を算出できる。
【0066】
<印刷媒体12におけるHHP20の位置について>
図9は、実施形態に係るHHPの座標系と位置の算出方法の一例を説明する図であり、(a)はHHPのX座標を説明する図、(b)はナビゲーションセンサが検出する移動量を示す図である。
【0067】
実施形態では、印刷媒体12に水平な方向をX軸、垂直な方向をY軸に設定する。原点は印刷が開始された際のナビゲーションセンサS
0の位置である。この座標を印刷媒体座標と称することにする。これに対し、ナビゲーションセンサS
0は
図9の座標軸(X´軸、Y´軸)で移動量を出力する。すなわち、ノズル61の配列方向をY´軸、Y´軸に直交する方向をX´軸として移動量を出力する。
【0068】
図9(a)に示したように、印刷媒体12に対しHHP20が時計回りにθ回転している場合を例にして説明する。ユーザがHHP20を印刷媒体座標に対し全く傾けることなく走査させることは困難で、ゼロでないθが生じると考えられる。全く回転していなければ、X=X´、Y=Y´である。しかし、HHP20が印刷媒体12に対し回転角θ、回転した場合、ナビゲーションセンサS
0の出力とHHP20の印刷媒体12における実際の位置が一致しなくなる。回転角θは時計回りが正、X、X´は右方向が正、Y、Y´は上方向が正である。
【0069】
図9(a)では回転角θのHHP20がX方向にのみ同じ回転角θのまま移動した場合のナビゲーションセンサS
0が検出する移動量ΔX´、ΔY´とX,Yの対応を示している。なお、ナビゲーションセンサ30が2つある場合、相対位置は固定なので2つのナビゲーションセンサ30の出力(移動量)は同じである。ナビゲーションセンサS
0のX座標はX1+X2であり、X1+X2はΔX´、ΔY´及び回転角θから求められる。
【0070】
図9(b)は回転角θのHHP20がY方向にのみ同じ回転角θのまま移動した場合のナビゲーションセンサS
0が検出する移動量ΔX´、ΔY´とX,Yの対応を示している。ナビゲーションセンサS
0のY座標はY1+Y2であり、Y1+Y2は-ΔX´、ΔY´及び回転角θから求められる。
【0071】
したがって、HHP20がX方向及びY方向に回転角θのまま移動した場合、ナビゲーションセンサS0が出力するΔX´、ΔY´は印刷媒体座標のX,Yに以下のように変換できる。
X=ΔX´cosθ+ΔY´sinθ …(1)
Y=-ΔX´sinθ+ΔY´cosθ …(2)
<<回転角θの検出方法>>
実施形態では、回転角θをジャイロセンサ31の出力により位置算出回路34が求める。しかしながら、距離Lが長い方が位置を高精度に求められることを示すため、ナビゲーションセンサ30が2つある場合の回転角θの求め方を説明する。
【0072】
図10は、印刷中に生じるHHP20の回転角dθの求め方の一例を説明する図である。回転角dθは2つのナビゲーションセンサS
0,S
1が検出する移動量ΔX´を用いて算出される。印刷媒体12の上側のナビゲーションセンサS
0が検出する移動量ΔX´0、ナビゲーションセンサS
1が検出する移動量をΔX´1とする。なお、
図10ではすでに得られている回転角をθとしている。
【0073】
HHP20が平行移動しながらdθ回転した場合、移動量ΔX´0とΔX´1は一致しない。しかし、どちらの出力も2つのナビゲーションセンサS
0,S
1を結ぶ直線に垂直な方向の移動量なので、移動量ΔX´0とΔX´1の差は「ΔX´0-ΔX´1」として求めることができる。この差はHHP20がdθ回転したことにより生じた値である。また、「ΔX´0-ΔX´1」、L、及び、dθに
図10に示す関係があることから、dθは以下のように表すことができる。
dθ=arcsin{(ΔX´0-ΔX´1)/L} …(3)
位置算出回路34がこのdθを積算することで回転角θを求めることができる。式(1)(2)に示すように、回転角θは位置の算出に用いられるので、回転角θが位置の精度に影響する。また、式(3)から分かるように、より小さいdθを検出するには距離Lを大きくすることが好ましい。したがって、距離Lが位置の精度に影響するが、距離Lを大きくするとHHP20の底面積が大きくなり、印刷可能範囲501が小さくなる。
【0074】
続いて、ジャイロセンサ31の出力を用いた回転角θの算出方法を説明する。ジャイロセンサ31の出力は角速度ωである。
ω=dθ/dt
であるから、dtをサンプリング周期とすると回転角dθは以下で表せる。
dθ=ω×dt
したがって、現在(時間t=0~N)の回転角θは以下のようになる。
【0075】
【数1】
このように、ジャイロセンサ31でも回転角θを求めることができる。式(1)(2)に示すように、回転角θを用いて位置を算出できる。ナビゲーションセンサS
0の位置を算出できれば、
図8(b)に示したa~eの値により、位置算出回路34は各ノズル61の座標を算出することができる。なお、式(1)のX、式(2)のYはそれぞれサンプリング周期における変化量なのでこのX,Yを累積することで現在の位置が求められる。
【0076】
<目標吐出位置>
続いて、
図11を用いて目標吐出位置について説明する。
図11は、目標吐出位置とノズル61の位置の関係の一例を説明する図である。目標吐出位置G1~G9は、HHP20がノズル61からインクを着弾させる目標位置(画素の形成先)である。目標吐出位置G1~G9は、HHP20の初期位置とHHP20のX軸/Y軸方向の解像度(Xdpi,Ydpi)から求めることができる。
【0077】
例えば、解像度が300dpiの場合、IJ記録ヘッド24の長手方向及びこれに対し垂直な方向に約0.084[mm]ごとに目標吐出位置が設定される。この目標吐出位置G1~G9に吐出される画素があれば、HHP20はインクを吐出する。
【0078】
しかし、実際には、ノズル61と目標吐出位置が完全に一致するタイミングを捉えることは困難であるため、HHP20は目標吐出位置とノズル61の現在位置との間に許容誤差62を設けている。そして、ノズル61の現在位置が目標吐出位置から許容誤差62の範囲内にある場合に、ノズル61からインクを吐出する(このような許容範囲を設けることを「吐出ノズル可否判定」という。)。
【0079】
また、矢印63に示すように、HHP20はノズル61の移動方向と加速度を監視しており、次回の吐出タイミングのノズル61の位置を予測している。したがって、予測された位置と許容誤差62の範囲内を比較してインクの吐出を準備することが可能になる。
【0080】
<画像データ出力器とHHPによる印刷動作>
図12は、画像データ出力器11とHHP20による印刷動作の一例を説明するフローチャートである。
【0081】
まず、ステップU101において、ユーザは画像データ出力器11の電源ボタンを押下する。画像データ出力器11はそれを受け付け、電池等から電源が供給されて起動する。
【0082】
続いて、ステップU102において、ユーザは画像データ出力器11で出力したい画像を選択する。画像データ出力器11は画像の選択を受け付ける。ワープロアプリケーションのようなソフトウェアの文書データが画像として選択されてもよいし、JPEG等の画像データが選択されても良い。必要であればプリンタドライバが画像データ以外のデータを画像に変更してよい。
【0083】
続いて、ステップU103において、ユーザは選択した画像をHHP20で印刷する操作を行う。HHP20は印刷ジョブの実行の要求を受け付ける。印刷ジョブの要求により画像データがHHP20へ送信される。
【0084】
続いて、ステップU104において、ユーザは、HHP20を持ち、印刷媒体12(例えばノート)の上で初期位置を決定する。
【0085】
続いて、ステップU105において、ユーザはHHP20の印刷開始ボタンを押下する。HHP20は印刷開始ボタンの押下を受け付ける。
【0086】
続いて、ステップU106において、ユーザはHHP20を印刷媒体12の上で滑らせるように自由に走査する。
【0087】
次に、HHP20の動作を説明する。以下の動作はCPU33がファームウェアを実行することで行われる。
【0088】
HHP20も電源のONにより起動する。
【0089】
先ず、ステップS101において、HHP20のCPU33は、HHP20に内蔵されている
図3,4のハードウェア要素を初期化する。例えば、ナビゲーションセンサI/F42やジャイロセンサI/F45のレジスタを初期化したり、印字/センサタイミング生成部43にタイミング値を設定したりする。また、HHP20と画像データ出力器11との間の通信を確立する。
【0090】
続いて、ステップS102において、HHP20のCPU33は初期化が完了したかどうかを判定し、完了していない場合(ステップS102、No)はこの判定を繰り返す。
【0091】
初期化が完了すると(ステップS102、Yes)、ステップS103において、HHP20のCPU33は、OPU26の例えばLED点灯によりユーザに印刷可能な状態であることを報知する。これにより、ユーザは印刷可能な状態であることを把握し、上記のように印刷ジョブの実行を要求する。
【0092】
続いて、ステップS104において、印刷ジョブの実行の要求により、HHP20の通信I/F27は画像データ出力器11から画像データの入力を受け付け、画像が入力された旨をOPU26のLEDを点滅させる等によりユーザに対し報知する。
【0093】
続いて、ステップS105において、ユーザが印刷媒体12上でHHP20の初期位置を決め印刷開始ボタンを押下すると、HHP20のOPU26はこの操作を受け付け、CPU33がナビゲーションセンサI/F42に位置(移動量)を読み取らせる。これにより、ステップS1001において、ナビゲーションセンサI/F42はナビゲーションセンサS0と通信し、ナビゲーションセンサS0が検出した移動量を取得しレジスタ等に格納しておく。CPU33はナビゲーションセンサI/F42から移動量を読み出す。
【0094】
続いて、ステップS06において、ユーザが印刷開始ボタンを押下した直後に取得された移動量はゼロであるがゼロでないとしても、CPU33は例えば座標(0,0)の初期位置としてDRAM29やCPU33のレジスタなどに格納する。
【0095】
また、ステップS107において、初期位置を取得すると印字/センサタイミング生成部43がタイミングの生成を開始する。印字/センサタイミング生成部43は、初期化で設定されたナビゲーションセンサS0の移動量の取得タイミングに達するとナビゲーションセンサI/F42にタイミングとジャイロセンサI/F45にタイミングを指示する。これが周期的に行われ上記のサンプリング周期となる。
【0096】
続いて、ステップS108において、HHP20のCPU33は、移動量と角速度情報を取得するタイミングであるか否かを判定する。この判定は、割込みコントローラ41からの通知により行うが、印字/センサタイミング生成部43と同じタイミングをCPU33がカウントすることで判定しても良い。
【0097】
続いて、ステップS109において、移動量と角速度情報を取得するタイミングになると、HHP20のCPU33はナビゲーションセンサI/F42から移動量を取得し、ジャイロセンサI/F45から角速度情報を取得する。上記のように、ジャイロセンサI/F45は印字/センサタイミング生成部43が生成するタイミングでジャイロセンサ31から角速度情報を取得しており、ナビゲーションセンサI/F42は印字/センサタイミング生成部43が生成するタイミングでナビゲーションセンサS0から移動量を取得している。
【0098】
続いて、ステップS110において、位置算出回路34は角速度情報と移動量を用いてナビゲーションセンサS0の現在の位置を算出する。具体的には、位置算出回路34は、前回のサイクルで算出した位置(X,Y)と、今回取得した移動量(ΔX´、ΔY´)及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサS0の位置を算出する。初期位置のみで、前回算出した位置がない場合は、初期位置に今回取得した移動量(ΔX´、ΔY´) 及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサS0の位置を算出する。
【0099】
続いて、ステップS111において、位置算出回路34はナビゲーションセンサS0の現在の位置を用いて各ノズル61の現在の位置を算出する。
【0100】
このように、印字/センサタイミング生成部43により角速度情報と移動量が同時に又はほぼ同時に取得されるので、回転角と回転角が検出されたタイミングで取得された移動量でノズル61の位置を算出できる。したがって、種類が異なるセンサの情報でノズル61の位置が算出されても、ノズル61の位置の精度が低下しにくい。
【0101】
続いて、ステップS112において、CPU33はDMAC38を制御して、算出した各ノズル61の位置を基に、各ノズル61の周辺画像の画像データをDRAM29からImage RAM37へ送信する。なお、回転器39は、ユーザにより指定されたヘッド位置(HHP20の持ち方など)及びIJ記録ヘッド24の傾きに応じて、画像を回転させる。
【0102】
続いて、ステップS113において、IJ記録ヘッド制御部44は周辺画像を構成する各画像要素の位置座標と、各ノズル61の位置座標とを比較する。位置算出回路34は、ノズル61の過去の位置と現在の位置を用いてノズル61の加速度を算出している。これにより、位置算出回路34は、ナビゲーションセンサI/F42が移動量を取得しジャイロセンサI/F45が角速度情報を取得する周期よりも短いIJ記録ヘッド24のインク吐出周期ごとにノズル61の位置を算出している。
【0103】
続いて、ステップS114において、IJ記録ヘッド制御部44は、位置算出回路34が算出するノズル61の位置から所定範囲内に画像要素の位置座標が含まれるか否かを判定する。
【0104】
吐出条件を満たさない場合(ステップS115、No)、処理はステップS108に戻る。吐出条件を満たす場合(ステップS115、Yes)、ステップS115において、IJ記録ヘッド制御部44はノズル61ごとに画像要素のデータをIJ記録ヘッド駆動回路23に出力する。これにより、印刷媒体12にはインクが吐出される。
【0105】
続いて、ステップS116において、CPU33は全画像データを出力したかを判定する。出力していない場合(ステップS116、No)、ステップS108~S115までの処理を繰り返す。
【0106】
全画像データを出力した場合(ステップS116、Yes)、ステップS117において、CPU33は、例えばOPU26のLEDを点灯させユーザに印刷が終了したことを報知する。
【0107】
このようにして、実施形態に係るHHP20は、画像データ出力器11から入力した画像を印刷媒体上に印刷することができる。
【0108】
なお、全画像データを出力しなくても、ユーザが十分と判断した場合には、ユーザは印刷完了ボタンを押下し、OPU26がそれを受け付けて、印刷を終了して良い。印刷終了後、ユーザが電源をOFFにすることもできるし、印刷が終了した時点で、自動で電源がOFFにされるようになっていても良い。
【0109】
[第1の実施形態]
次に、第1の実施形態に係るHHP20aについて説明する。なお、既に説明した実施形態と同一の構成部についての説明は省略する。後述する第2の実施形態、及び第3の実施形態においても同様である。
【0110】
<ナビゲーションセンサの移動量検出誤差について>
ここで、「移動量検出部」の一例としてのナビゲーションセンサ30の移動量の検出誤差について説明する。
【0111】
図5~6を参照して上述したように、ナビゲーションセンサ30は、LEDドライバ303やレンズ304及び306、イメージアレイ305等の部品が筐体に組み付けられて構成される。レンズ304及び306の形状や各部品の筐体への組み付け等には、製作公差の範囲外である場合は当然として、製作公差の範囲内であったとしても、製作誤差が含まれるため、製作されるナビゲーションセンサ30毎で検出特性に差が生じる場合がある。
【0112】
検出特性の具体例の一つとして、検出倍率が挙げられる。実際の移動量とナビゲーションセンサ30の出力する移動量とは、一次式で表現可能な線形な関係にあるが、検出倍率とはこの一次式の傾きを意味する。このような検出倍率等が製作誤差によりナビゲーションセンサ30毎で異なる場合がある。また、検出倍率は、HHP20aの移動面における移動方向や移動速度に応じて異なる場合がある。なお、以下では検出倍率をαとして表す場合がある。
【0113】
図13は、移動方向に応じたナビゲーションセンサの検出倍率の相違を説明する図である。(a)は移動方向に対する異方性がない場合の検出倍率を示す図であり、(b)は移動方向に対する異方性がある場合の検出倍率を示す図である。
【0114】
図13において、X方向はHHP20aの移動面における任意の1方向を表し、Y方向はX方向と直交する方向を表している。一例として、Y方向はIJ記録ヘッド24の備えるノズル61の配列方向であるY´軸方向であり、X方向はY´軸に直交する方向のX´軸方向である。
【0115】
図13(a)に示されている3つの円は、X方向への移動量をΔX´とし、Y方向への移動量をΔY´とした場合に、√{(ΔX´)
2+(ΔY´)
2}を半径とする円をそれぞれ示している。
【0116】
実線で示されている円131は実際の移動量とナビゲーションセンサで検出される移動量とが等しい場合の検出倍率(α=1)を示し、一点鎖線で示されている円132は、実際の移動量より大きく検出されるナビゲーションセンサの検出倍率(α>1)を示している。二点鎖線で示されている円133は、実際の移動量より小さく検出されるナビゲーションセンサの検出倍率(α<1)を示している。
【0117】
図13(a)の例では移動方向に対する異方性がないため、HHP20aの移動面におけるどの方向に移動しても検出倍率は一定となり、移動方向に対する検出倍率を円で表すことができる。そして、検出倍率に応じて円の半径が変化する。
【0118】
一方、検出倍率αに、移動方向に対する異方性がある場合は、
図13(b)に示されているように、検出倍率αは移動方向に応じて半径(長さ)の異なる楕円等の円以外の図形で表される。楕円134は、X方向では1より小さく(α<1)、Y方向では1より大きい(α>1)場合の検出倍率を表している。
【0119】
このように、製作誤差により、ナビゲーションセンサ30毎で単に検出倍率が異なるだけでなく、ナビゲーションセンサ30毎で移動方向に応じた検出倍率が異なる場合がある。
【0120】
一方、
図14は、移動速度に応じたナビゲーションセンサの検出倍率の相違を説明する図である。
図14において、横軸はHHP20aの移動速度を示し、縦軸は検出倍率を示している。また、破線で示すグラフ141は、HHP20aの移動速度に依らず、検出倍率が常に一定の場合を示し、実線で示すグラフ142は移動速度に応じて変化する検出倍率を示している。
【0121】
このように、製作誤差により、ナビゲーションセンサ30毎で移動速度に応じた検出倍率が異なる場合がある。
【0122】
ナビゲーションセンサ30毎で検出倍率等に差があると、ナビゲーションセンサ30で検出されるHHP20aの移動量に基づいて取得されるHHP20aの位置情報にばらつきが生じる。そして、HHP20aの位置情報に基づいて印刷媒体に形成される印刷画像の品質にばらつきが生じる。
【0123】
そこで、本実施形態では、ナビゲーションセンサ30による移動量の検出誤差を補正することで、HHP20aの位置の検出精度を確保し、HHP20aの印刷画像の品質を確保している。以下に、その詳細を説明する。
【0124】
<第1の実施形態に係るHHPの構成>
図15は、本実施形態に係るHHPのハードウェア構成の一例を説明するブロック図である。HHP20aは、制御部25aによって全体の動作が制御され、制御部25aにはNVRAM(Non-Volatile RAM)67等が電気的に接続されている。
【0125】
また、HHP20aの電源回路21が生成する電力は、点線22aで示す配線等により、NVRAM67に供給されている。
【0126】
NVRAM67は、HHP20aの内部に配置された不揮発性のランダムアクセスメモリである。NVRAM67は、ナビゲーションセンサ30の特性情報を格納する。この特性情報については、別途詳述する。
【0127】
次に、
図16は、制御部25aのハードウェア構成の一例を説明するブロック図である。制御部25aはSoC50aを有し、SoC50aは、I2C CTL69等の機能を有している。CPU33は、ROM28からDRAM29に展開されたファームウェア(プログラム)等を実行して、SoC50a内のI2C CTL69等の動作を制御する。
【0128】
I2C CTL69は、NVRAM67とのインタフェースである。但し、I2Cに限定されるものではなく、SPI(Serial Peripheral Interface)やパラレルバス等のインタフェースを用いても良い。
【0129】
<第1の実施形態に係る位置検出装置の機能構成>
次に、本実施形態に係るHHP20aに搭載され、移動面におけるHHP20aの位置を検出する位置検出装置80の機能構成について説明する。
図17は、本実施形態に係る位置検出装置の機能構成の一例を説明するブロック図である。位置検出装置80の機能構成は、HHP20aのハードウェア構成、及び制御部25aの構成により実現される。
【0130】
図17に示すように、位置検出装置80は、ナビゲーションセンサ30と、ナビゲーションセンサI/F42と、ジャイロセンサ31と、ジャイロセンサI/F45と、平滑化処理部81と、移動方向取得部82と、移動速度取得部83と、格納部84と、補正部85と、位置算出回路34と、特性情報書換部88とを有する。
【0131】
ナビゲーションセンサ30は、所定のサイクル時間毎に検出した移動量ΔX´、ΔY´を、ナビゲーションセンサI/F42を介して平滑化処理部81に出力する。ここで移動量ΔX´、ΔY´は、それぞれ「検出移動量」の一例である。
【0132】
ジャイロセンサ31は、所定のサイクル時間毎に検出した角速度ωを、ジャイロセンサI/F45を介して位置算出回路34に出力する。ここで、ジャイロセンサ31は「姿勢検出部」の一例であり、角速度ωは「姿勢」の一例である。
【0133】
平滑化処理部81は、入力した移動量ΔX´、ΔY´に対してローパスフィルタリング処理を実行し、高周波ノイズを低減して平滑化する。そして、処理後の移動量ΔX´、ΔY´を移動方向取得部82、移動速度取得部83、及び補正部85にそれぞれ出力する。
【0134】
移動方向取得部82は、入力した移動量ΔX´、ΔY´に基づき、以下の式によりHHP20aの移動方向φを取得し、補正部85に出力する。
φ=(ΔY´/ΔX´)
移動速度取得部83は、入力した移動量ΔX´、ΔY´に基づき、以下の式によりHHP20aの移動速度vを取得し、補正部85に出力する。
vX=fX(ΔX´)
vY=fY(ΔY´)
v=√(vX
2+vY
2)
ここで、vXは移動速度vのX方向成分であり、vYは移動速度vのY方向成分である。また、fXは移動量ΔX´を移動速度に変換する変換式であり、fYは移動量ΔY´を移動速度に変換する変換式である。この変換は、変換式で実行されても良いし、予め取得された、移動量ΔX´と移動速度vXとの対応関係を示す変換テーブル、及び移動量ΔY´と移動速度vYとの対応関係を示す変換テーブルを用いて実行されても良い。
【0135】
格納部84は、NVRAM67等により実現され、ナビゲーションセンサ30の特性情報を格納する。ここで、特性情報とは、ナビゲーションセンサ30による移動量の検出特性を示す情報であり、製作誤差に起因してナビゲーションセンサ毎で異なる情報である。具体的には、本実施形態では、移動方向φと方向倍率αX(φ)、αY(φ)との対応関係を示す補正テーブルと、移動速度vと速度倍率α(v)との対応関係を示す補正テーブルを、それぞれ特性情報の一例として格納している。
【0136】
ここで、方向倍率αX(φ)は移動方向に応じた検出倍率αのX方向成分であり、方向倍率αY(φ)は移動方向に応じた検出倍率αのY方向成分である。速度倍率α(v)は移動速度に応じた検出倍率αである。
【0137】
補正部85は、入力した移動方向φに基づき、格納部84を参照して方向倍率α
X(φ)、α
Y(φ)を取得し、また、入力した移動速度vに基づき、格納部84を参照して速度倍率α(v)を取得する。そして、方向倍率α
X(φ)、α
Y(φ)と、速度倍率α(v)とに基づいて、移動量ΔX´、ΔY´を補正し、補正後の移動量である補正移動量ΔX"、ΔY"を取得する。補正移動量ΔX"、ΔY"は、位置算出回路34に出力される。なお、補正方法の詳細については、別途、
図20を参照して述べる。
【0138】
位置算出回路34は、入力した補正移動量ΔX"、ΔY"、及び角速度ωに基づいてHHP20の位置(座標情報)を算出し、印字/センサタイミング生成部43に出力する。ここで、位置算出回路34は「位置取得部」の一例である。
【0139】
特性情報書換部88は、ナビゲーションセンサ30の特性情報を、通信I/F27を介して画像データ出力器11から入力し、格納部84に格納された特性情報を書き換える機能を有する。これにより、格納部84に格納された特性情報を随時更新することができる。ここで、画像データ出力器11から入力される情報は、「入力情報」の一例である。
【0140】
次に、格納部84に格納される、移動方向φと方向倍率αX(φ)、αY(φ)との対応関係を示す補正テーブルについて説明する。補正テーブルは、HHP20aの移動方向φ毎での移動量がナビゲーションセンサ30と基準とする計測器の両者で検出され、これらの移動量データに基づき作成される。
【0141】
ここで、移動面内でφだけ回転した状態のHHP20aを移動面において水平方向に移動させる場合と、移動面内で回転していない状態のHHP20aを移動面において水平方向からφだけ傾いた方向に移動させる場合とで、検出倍率は等価になる。
【0142】
そのため、一例として、補正テーブルの作成時には、HHP20aの移動方向を変化させる代わりに、ナビゲーションセンサ30の中心位置を回転中心としてHHP20aを回転させる。そして、HHP20aの回転角度毎で、HHP20aを所定の方向(X方向等)に移動させた時の移動量を、基準とする計測器とHHP20aの両者で検出する。なお、HHP20aを移動させる代わりに、印刷媒体等の対象物を所定の方向に移動させても良い。
【0143】
HHP20aの回転は回転ステージ等により行い、回転ステージの回転角度を計測しながらHHP20aを回転させる。基準とする移動量の計測器と、回転ステージの回転角度の計測器は、十分な計測精度を備えるものが好ましい。
【0144】
基準とする計測器により検出された移動量ベクトルLKと、ナビゲーションセンサ30により検出された移動量ベクトルLSとから検出倍率のX方向成分αXと、Y方向成分αYを算出する。
【0145】
算出では、先ず、移動量ベクトルL
Sの大きさ|L
S|で除算することで移動量ベクトルL
S及びL
Kを正規化した後、それぞれのX方向成分とY方向成分を求める。但し、φ
Kは移動量ベクトルL
Kの方向である。
L
SX=cosφ
L
SY=sinφ
L
KX=|L
K|/|L
S|・cosφ
K
L
KY=|L
K|/|L
S|・sinφ
K
そして、以下の式により方向倍率のX方向成分α
Xと、Y方向成分α
Yを算出することができる。
α
X=L
KX/L
SX ・・・(4)
α
Y=L
KY/L
SY ・・・(5)
図18は、上述したような、HHPの移動方向に応じたナビゲーションセンサの検出倍率データの取得方法の一例を説明する図である。(a)は検出倍率データ取得時の移動面内でのナビゲーションセンサの回転を説明する図であり、(b)は取得された検出倍率データの一例を示す図である。
【0146】
図18(a)は、HHP20aの移動面に配置されたナビゲーションセンサ30を、移動面に直交する方向(上方向)から見た図であり、181はナビゲーションセンサ30の中心位置である。この中心位置を回転中心として、HHP20aの移動方向φに該当する方向にHHP20aを回転させる。そして、
図18(a)のX方向にHHP20aを移動させて、移動量ベクトルL
K及びL
Sを取得する。検出された移動量ベクトルL
K及びL
Sに基づき、上述した計算式により、検出倍率α
X及びα
Yが算出される。
【0147】
図18(b)では、HHP20aを回転させた方向と、HHP20aの移動方向との関係に合わせて、
図18(a)に対してX方向の座標軸が反転されて表示されている。182は、移動量ベクトルL
K及びL
Sに基づき算出された方向倍率データを示し、方向倍率を示すベクトルの先端部分がプロットされ、表示されている。
【0148】
図19は、移動方向に応じた補正テーブルの一例を示す図である。
図19では、正のX方向への移動を往路、負のX方向への移動を復路として、往路と復路でそれぞれ取得された検出倍率から算出された方向倍率のX方向成分α
X(φ)と、Y方向成分α
Y(φ)が示されている。このような補正テーブルが作成され、格納部84に格納される。
【0149】
次に、方向倍率を用いた補正方法について説明する。
図20は、本実施形態に係る補正部による補正方法の一例を説明する図である。
図20において、破線で示した矢印201は、ナビゲーションセンサ30により検出された移動量ベクトルL
Sを示している。移動量ベクトルL
SのX方向成分はΔX´であり、X方向成分はΔY´である。
【0150】
実線で示した矢印202は、移動量ベクトルLSをベクトルの大きさ|LS|で除算して正規化ベクトルLSNを示している。正規化ベクトルLSNのX方向成分はΔX´Nであり、X方向成分はΔY´Nである。一点鎖線で示した矢印203は、補正後の移動量ベクトルを表す補正移動量ベクトルLSCを示し、二点鎖線で示した矢印204は、補正量を表す補正ベクトルを示している。
【0151】
補正移動量ベクトルLSCのX方向成分ΔX"とY方向成分ΔY"は、以下の式により算出することができる。
ΔX"=|LS|・αX(φ)・ΔX´N
ΔY"=|LS|・αY(φ)・ΔY´N
なお、上述した例では、(4)式及び(5)式で示したように、移動量ベクトルLSと移動量ベクトルLKの比により方向倍率αX、αYを算出し、検出移動量に方向倍率αX、αYを乗算して補正移動量を算出するものを示したが、これに限定されるものではない。移動量ベクトルLSと移動量ベクトルLKの差により方向倍率αX、αYを算出し、検出移動量に方向倍率αX、αYを加算して補正移動量を算出しても良い。
【0152】
次に、
図21は、移動速度に応じた補正テーブルの一例を示す図である。
図21では、正のX方向への移動を往路、負のX方向への移動を復路として、往路と復路でそれぞれ取得された検出倍率から算出された速度倍率α(v)が示されている。速度倍率α(v)は、上述した方法と同様に、基準とする計測器を用いて取得することができる。
図21に示したような補正テーブルが作成され、格納部84に格納される。
【0153】
補正部85は、検出された移動速度vに基づき格納部84を参照して、速度倍率α(v)を取得し、方向倍率αX(φ)、αY(φ)を用いた補正と併せて、以下の式により補正移動量ベクトルLSCのX方向成分ΔX"とY方向成分ΔY"を算出することができる。
ΔX"=α(v)・|LS|・αX(φ)・ΔX´N
ΔY"=α(v)・|LS|・αY(φ)・ΔY´N
なお、上述した例では、移動方向に応じた方向倍率、及び移動速度に応じた速度倍率が記録された補正テーブルにより、方向倍率、及び速度倍率を取得し、補正移動量を算出するものを示したが、これに限定されるものではない。移動方向を補正移動量に変換する変換式と、移動速度を補正移動量に変換する変換式とを予め取得しておき、これらの変換式に基づいて補正移動量を算出しても良い。この場合、これらの変換式が格納部84に格納され、補正時に補正部85により参照される。このような変換式も、「特性情報」の一例である。
【0154】
また、上述した方向倍率α(φ)、及び速度倍率α(v)等の特性情報は、工場等でのナビゲーションセンサ30の製作時、又は出荷時に取得され、格納部84に格納される。但し、これに限定されるものではなく、出荷後に取得されても良いし、出荷後に取得された特性情報により、格納部84に格納されている特性情報が書き換えられても(更新されても)良い。
【0155】
<第1の実施形態に係る位置検出装置の動作>
次に、本実施形態に係る位置検出装置80の動作について説明する。
図22は、本実施形態に係る位置検出装置の動作の一例を示すフローチャートである。
【0156】
先ず、ステップS221において、ナビゲーションセンサ30は、所定のサイクル時間毎に移動量ΔX´、ΔY´を検出し、ナビゲーションセンサI/F42を介して平滑化処理部81に出力する。
【0157】
続いて、ステップS222において、ジャイロセンサ31は、所定のサイクル時間毎に角速度ωを検出し、ジャイロセンサI/F45を介して位置算出回路34に出力する。
【0158】
続いて、ステップS223において、平滑化処理部81は、入力した移動量ΔX´、ΔY´に対してローパスフィルタリング処理を実行し、高周波ノイズを低減して平滑化する。そして、処理後の移動量ΔX´、ΔY´を移動方向取得部82、移動速度取得部83、、及び補正部85にそれぞれ出力する。
【0159】
続いて、ステップS224において、移動方向取得部82は、OPU26からの選択操作信号等に従い、移動方向に応じた補正をするか否かを判定する。移動方向に応じた補正をすると判定された場合は(ステップS224、Yes)、ステップS225に移行し、しないと判定された場合は(ステップS224、No)、ステップS227に移行する。
【0160】
続いて、ステップS225において、移動方向取得部82は、平滑化処理部81から入力した移動量ΔX´、ΔY´に基づき、HHP20aの移動方向φを取得し、補正部85に出力する。
【0161】
続いて、ステップS226において、補正部85は、入力した移動方向φに基づき、格納部84を参照して方向倍率αX(φ)、αY(φ)を取得する。
【0162】
続いて、ステップS227において、移動速度取得部83は、OPU26からの選択操作信号等に従い、移動速度に応じた補正をするか否かを判定する。移動速度に応じた補正をすると判定された場合は(ステップS227、Yes)、ステップS228に移行し、しないと判定された場合は(ステップS227、No)、ステップS231に移行する。
【0163】
続いて、ステップS228において、移動速度取得部83は、平滑化処理部81から入力した移動量ΔX´、ΔY´に基づき、HHP20aの移動速度vを取得し、補正部85に出力する。
【0164】
続いて、ステップS229において、補正部85は、入力した移動速度vに基づき、格納部84を参照して速度倍率α(v)を取得する。
【0165】
続いて、ステップS230において、補正部85は、方向倍率αX(φ)、αY(φ)、及び/又は速度倍率α(v)に基づいて、移動量ΔX´、ΔY´を補正し、補正後の補正移動量ΔX"、ΔY"を位置算出回路34に出力する。
【0166】
続いて、ステップS231において、位置算出回路34は、入力した補正移動量ΔX"、ΔY"、及び角速度ωに基づいてHHP20の位置を算出する。
【0167】
続いて、ステップS232において、位置算出回路34は、算出したHHP20の位置情報を印字/センサタイミング生成部43に出力する。
【0168】
このようにして、位置検出装置80は、HHP20の位置を検出し、出力することができる。
【0169】
<効果>
以上説明してきたように、本実施形態では、ナビゲーションセンサ30の製作誤差に起因した移動量の検出誤差を、ナビゲーションセンサ30毎に取得された特性情報に基づいて補正する。これにより、製作誤差に起因したナビゲーションセンサ30の検出誤差を抑制することができる。そして、検出された移動量に基づく位置の検出精度を確保し、HHP20aの印刷画像の品質を確保することができる。
【0170】
また、本実施形態では、特性情報書換部88を備えることで、格納部84に格納された補正テーブル(特性情報)を書き換えて随時更新することが可能となる。
【0171】
[第2の実施形態]
次に、第2の実施形態に係るHHP20bについて説明する。
【0172】
ここで、HHP20bでは、HHP20bの印刷媒体に対向する部分に、転動体(コロ)を含む移動補助部材を取り付ける場合がある。転動体は非常に小さな転がり抵抗で自転することができるため、移動補助部材を介して印刷媒体上でHHP20bを移動させることができる。これにより、印刷媒体上でのHHP20bの移動を円滑に行うことができる。
【0173】
しかし、このような移動補助部材をHHP20bに取り付けると、ナビゲーションセンサ30と印刷媒体との間の距離が変わり、ナビゲーションセンサ30の特性情報が変化し、特性情報を用いて移動量を適切に補正できなくなる場合がある。
【0174】
ここで、ナビゲーションセンサ30と印刷媒体との間の距離は、換言すると、「ナビゲーションセンサ30により検出移動量を検出する検出面に対するナビゲーションセンサ30の高さ」であり、以下の説明では、ナビゲーションセンサ30の高さと称する。なお、移動補助部材によるナビゲーションセンサ30の高さの変化は一例であり、他の要因で、ナビゲーションセンサ30の高さが変化する場合もある。
【0175】
また、印刷媒体の種別には、普通紙や光沢紙等があり、また同じ普通紙や光沢紙の中にも表面の粗さや材質に応じて様々な種別がある。このような印刷媒体の種別により、ナビゲーションセンサ30の備えるLEDドライバ303から照射された光の反射特性が変わる場合がある。そして、反射特性に応じてナビゲーションセンサ30の特性情報が変化し、特性情報を用いて移動量を適切に補正できなくなる場合がある。ここで、印刷媒体の種別は、「移動面の種別」の一例である。
【0176】
図23は、ナビゲーションセンサの高さを説明する図である。
図23において、筐体236の内部には、LEDドライバ303やレンズ304及び306、イメージアレイ305等の部品が組み付けられている。
【0177】
図23に破線の矢印で示した高さ237は、ナビゲーションセンサ30の高さを示している。ナビゲーションセンサ30の筐体における印刷媒体に対向する面に、移動補助部材が取り付けられると、ナビゲーションセンサ30の高さが変化する(高くなる)。
【0178】
このように、ナビゲーションセンサ30の高さが変化すると、LEDドライバ303やレンズ304及び306、イメージアレイ305等の部品と、印刷媒体との間の距離が変化し、レンズ304によりイメージアレイ305に形成される像の大きさや明るさ等が変化する場合がある。
【0179】
また、印刷媒体の種別により、印刷媒体の表面の粗さ等が異なるため、これにより、レンズ304によりイメージアレイ305に形成される像の大きさや明るさ等が変化する場合がある。
【0180】
図24は、ナビゲーションセンサの高さと検出移動量との関係の一例を説明する図である。
図24の横軸はナビゲーションセンサの高さを示し、縦軸はナビゲーションセンサ30による検出移動量を示している。
【0181】
図24において破線のグラフ241は、実際の移動量を示し、実線のグラフ242はナビゲーションセンサ30による検出移動量を示している。
図24に示されているように、ナビゲーションセンサ30の高さに応じて、レンズ304によりイメージアレイ305に形成される像の大きさや明るさ等が変化することで、ナビゲーションセンサ30により検出される移動量が変化する。
【0182】
そこで、本実施形態では、ナビゲーションセンサ30の高さ、及び印刷媒体の種別に応じて異なる補正テーブルを格納部84に格納させる。そして、取得したナビゲーションセンサ30の高さ情報、及び印刷媒体の種別情報に応じて、異なる補正テーブルを用いて補正を実行する。以下に、その詳細を説明する。
【0183】
<第2の実施形態に係るHHPの機能構成>
図25は、本実施形態に係るHHPの機能構成の一例を説明するブロック図である。
図25に示すように、HHP20bは、位置検出装置80bを有し、位置検出装置80bは、高さ情報取得部86と、印刷媒体種別情報取得部87と、補正部85bとを有する。
【0184】
高さ情報取得部86は、ナビゲーションセンサ30の高さ情報を取得し、補正部85bの補正テーブル選択部851に出力する。一例として、高さ情報取得部86は、ユーザがOPU26で行った移動補助部材の「有」の選択操作を示す信号をOPU26から入力し、HHP20bに移動補助部材が取り付けられたことを検知する。そして、予め定められた、移動補助部材が取り付けられた場合のナビゲーションセンサ30の高さ情報を取得し、補正テーブル選択部851に出力することができる。
【0185】
但し、これに限定されるものではなく、HHP20bの筐体に設けられた移動補助部材の取付を検知するセンサ等の検知信号に基づき、高さ情報を取得しても良い。また、HHP20bに設けられたナビゲーションセンサ30の高さを検出するセンサの検出信号に基づき、高さ情報を取得しても良い。
【0186】
印刷媒体種別情報取得部87は、印刷媒体の種別情報を取得し、検知信号を補正テーブル選択部851に出力する。一例として、印刷媒体種別情報取得部87は、ユーザがOPU26で行った印刷媒体の種別の選択操作を示す信号をOPU26から入力し、印刷媒体の種別を取得することができる。但し、これに限定されるものではなく、HHP20bに設けられた印刷媒体の種別を検出するセンサの検出信号に基づき、印刷媒体の種別情報を取得しても良い。
【0187】
補正部85bは補正テーブル選択部851を有する。補正テーブル選択部851は、高さ情報取得部86から入力した高さ情報、及び印刷媒体種別情報取得部87から入力した印刷媒体種別情報に応じて、格納部84に格納された補正テーブルを選択することができる。補正部85bは、補正テーブル選択部851が選択した補正テーブルを用いて、ナビゲーションセンサ30による検出移動量を補正することができる。
【0188】
図26は、格納部に格納された各種補正テーブルの一例を説明する図である。格納部84には、補助部材有補正テーブル841と、補助部材無補正テーブル842と、普通紙補正テーブル843と、光沢紙補正テーブル844とを有する。
【0189】
補正テーブル選択部851は、高さ情報取得部86から入力した高さ情報に応じて、補助部材有補正テーブル841、又は補助部材無補正テーブル842の何れかを選択することができる。また、補正テーブル選択部851は、印刷媒体種別情報取得部87から入力した印刷媒体種別情報に応じて、普通紙補正テーブル843、又は光沢紙補正テーブル844の何れかを選択することができる。
【0190】
一例として、補助部材有補正テーブル841と、普通紙補正テーブル843とが選択された場合、補正テーブル選択部851は、補助部材有補正テーブル841に格納された方向倍率α1(φ)と、普通紙補正テーブル843に格納された方向倍率α2(φ)とを選択し、補正部85bは、方向倍率α1(φ)及びα2(φ)を乗算して得られる方向倍率α1(φ)×α2(φ)を、検出移動量の補正に用いることができる。
【0191】
図27は、本実施形態に係る位置検出装置による補正テーブルの選択処理の一例を示すフローチャートである。
【0192】
先ず、ステップS271において、高さ情報取得部86は、OPU26からの選択操作信号等に従い、高さに応じた補正をするか否かを判定する。補正をすると判定された場合は(ステップS271、Yes)、ステップS272に移行し、補正をしないと判定された場合は(ステップS271、No)、ステップS274に移行する。
【0193】
続いて、ステップS272において、高さ情報取得部86は、ナビゲーションセンサ30の高さ情報を取得し、補正テーブル選択部851に出力する。
【0194】
続いて、ステップS273において、補正テーブル選択部851は、高さ情報取得部86から入力した高さ情報に応じて、格納部84に格納された補正テーブルを選択する。
【0195】
続いて、ステップS274において、印刷媒体種別情報取得部87は、OPU26からの選択操作信号等に従い、印刷媒体の種別に応じた補正をするか否かを判定する。補正をすると判定された場合は(ステップS274、Yes)、ステップS275に移行し、補正をしないと判定された場合は(ステップS274、No)、処理を終了する。
【0196】
続いて、ステップS275において、印刷媒体種別情報取得部87は、印刷媒体の種別情報を取得し、補正テーブル選択部851に出力する。
【0197】
続いて、ステップS276において、補正テーブル選択部851は、印刷媒体種別情報取得部87から入力した印刷媒体種別情報に応じて、格納部84に格納された補正テーブルを選択する。
【0198】
このようにして、位置検出装置80bは、ナビゲーションセンサ30の高さ情報、及び印刷媒体の種別情報に応じて、適切な補正テーブルを選択し、ナビゲーションセンサ30による検出移動量の補正に用いることができる。
【0199】
以上説明してきたように、本実施形態では、ナビゲーションセンサ30の高さ、及び印刷媒体の種別に応じて、異なる補正テーブルを選択して補正に用いる。これにより、ナビゲーションセンサ30の高さ、及び印刷媒体の種別に応じた適切な特性情報により、移動量を適切に補正することができる。
【0200】
なお、上述した以外の効果は、第1の実施形態で説明したものと同様である。
【0201】
<第3の実施形態>
次に、第3の実施形態に係るHHP20cについて説明する。
【0202】
上述したように、ジャイロセンサ31による角速度ωを用い、HHP20cの回転角θを検出することができる。本実施形態では、ジャイロセンサ31による角速度ωをジャイロセンサ31の特性情報に基づいて補正することで、HHP20cの回転角θを正確に検出する。
【0203】
図28は、本実施形態におけるナビゲーションセンサ30とジャイロセンサ31との配置の一例を説明する図である。
図28において、破線で示される軸281は、移動面に対して直交する軸であり、ジャイロセンサ31により検出される回転角θの回転中心282を通る軸である。また軸281は、ナビゲーションセンサ30の中心位置283を通っている。このように、ジャイロセンサ31はナビゲーションセンサ30の上方であって、回転中心282が軸281上に配置されるようにして配置されている。
【0204】
図29は、本実施形態に係る位置検出装置80cの機能構成の一例を説明するブロック図である。
図29に示すように、位置検出装置80cは、格納部84cと、補正部85cと、位置算出回路34cとを有する。
【0205】
格納部84cは、ナビゲーションセンサ30により検出された移動量ΔX´、ΔY´の補正テーブルに加え、ジャイロセンサ31により検出された角速度ωの補正テーブルを格納している。角速度ωの補正テーブルは、「姿勢検出部の特性情報」の一例である。
【0206】
補正部85cは、格納部84cに格納された補正テーブルに基づいて角速度ωを補正したデータβ(ω)に基づき、HHP20cの回転角θを算出することができる。補正部85cは、算出した回転角θを位置算出回路34cに出力する。ここで、角速度ωを補正したデータβ(ω)は、「補正姿勢」の一例である。
【0207】
位置算出回路34cは、補正移動量ΔX"、ΔY"、及び回転角θに基づいて取得したHHP20cの位置を出力することができる。
【0208】
ナビゲーションセンサ30は、その中心位置の近くで回転した時出力が小さくなり、正しい移動量の検出が困難になるが、本実施形態のようにナビゲーションセンサ30、及びジャイロセンサ31を配置することで正確な位置角度検出が可能になる。
【0209】
また、上述したように、ナビゲーションセンサ30の位置は、IJ記録ヘッド24のノズルの位置を検出するための基準となる。本実施形態のように、ナビゲーションセンサ30の中心位置283とジャイロセンサ31の回転中心282とを軸281上に配置することで、基準位置の回転角度とジャイロセンサ31の回転軸を近くに配置することができ、検出誤差を少なくし、ノズルの位置を正確に検出することが可能となる。
【0210】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0211】
また、実施形態は、位置検出方法も含む。例えば、位置検出方法は、位置検出装置が搭載されたハンドヘルド装置の移動面における位置を検出する位置検出方法であって、前記移動面における前記ハンドヘルド装置の検出移動量を検出する移動量検出工程と、少なくとも前記移動面における前記ハンドヘルド装置の姿勢を検出する姿勢検出工程と。前記移動量検出工程の特性情報を格納する格納工程と、格納された前記特性情報に基づいて前記検出移動量を補正した補正移動量を出力する補正工程と、前記補正移動量に基づいて取得した前記ハンドヘルド装置の前記位置を出力する位置取得工程と、を含む。このような位置検出方法により、上述した位置検出装置と同様の効果を得ることができる。
【0212】
さらに、実施形態は、プログラムも含む。例えば、プログラムは、位置検出装置が搭載されたハンドヘルド装置の移動面における位置を検出する位置検出装置を、前記移動面における前記ハンドヘルド装置の検出移動量を検出する移動量検出部、少なくとも前記移動面における前記ハンドヘルド装置の姿勢を検出する姿勢検出部、前記移動量検出部の特性情報を格納する格納部、格納された前記特性情報に基づいて前記検出移動量を補正した補正移動量を出力する補正部、前記補正移動量に基づいて取得した前記ハンドヘルド装置の前記位置を出力する位置取得部、として機能させる。このようなプログラムにより、上述した位置検出装置と同様の効果を得ることができる。
【0213】
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【0214】
11 画像データ出力器
12 印刷媒体
20、20a、20b、20c HHP
23 IJ記録ヘッド駆動回路
24 IJ記録ヘッド(液体吐出部の一例)
25、25a 制御部
26 OPU
30 ナビゲーションセンサ(移動量検出部の一例)
31 ジャイロセンサ(姿勢検出部の一例)
33 CPU
34、34c 位置算出回路(位置取得部の一例)
42 ナビゲーションセンサI/F
43 センサタイミング生成部
44 IJ記録ヘッド制御部
45 ジャイロセンサI/F
50、50a SoC
61 ノズル
67 NVRAM(格納部の一例)
70 I2C CTL
81 平滑化処理部
82 移動方向取得部
83 移動速度取得部
84 格納部
85 補正部
851 補正テーブル選択部
86 高さ情報取得部
87 印刷媒体種別情報取得部
88 特性情報書換部
ΔX´、ΔY´ 移動量(検出移動量の一例)
ΔX"、ΔY" 補正移動量
ω 角速度
θ 回転角
φ 移動方向
v 移動速度
α 検出倍率
αX(φ)、αY(φ) 方向倍率
α(v) 速度倍率
【先行技術文献】
【特許文献】
【0215】