(57)【要約】【課題】ハンドヘルドプリンタのフリーハンド走査において、ハンドヘルドプリンタの浮きを簡易的な構成で検知すること。【解決手段】液滴吐出装置は、画像データを受信し、ユーザによって走査されることで媒体上に画像を形成し、液滴を吐出するヘッドと、所定の期間における該液滴吐出装置の移動量を検知するためのセンサと、前記画像データと前記センサが検知した移動量に基づいて、液滴の吐出を指示する吐出制御を行う吐出制御部と、該液滴吐出装置の浮きを判定する判定部と、を有し、前記判定部は、該液滴吐出装置の加速度に基づいて浮きを判定し、前記吐出制御部は、前記判定部により浮きが判定された場合、前記吐出制御を停止する。【選択図】図１１
2019089240.tif 000002
【特許請求の範囲】
【請求項１】
画像データを受信し、ユーザによって走査されることで媒体上に画像を形成する液滴吐出装置であって、
液滴を吐出するヘッドと、
所定の期間における該液滴吐出装置の移動量を検知するためのセンサと、
前記画像データと前記センサが検知した移動量に基づいて、液滴の吐出を指示する吐出制御を行う吐出制御部と、
該液滴吐出装置の浮きを判定する判定部と、を有し、
前記判定部は、該液滴吐出装置の加速度に基づいて浮きを判定し、
前記吐出制御部は、前記判定部により浮きが判定された場合、前記吐出制御を停止する液滴吐出装置。
【請求項２】
前記判定は、光源から媒体に照射した光の反射光が受光できない場合に浮きを判定する請求項１記載の液滴吐出装置。
【請求項３】
該液滴吐出装置の加速度を検知する加速度センサをさらに有し、
前記判定は、該液滴吐出装置に加えられ前記加速度センサにより検出される加速度と、媒体の摩擦係数とに基づく請求項１記載の液滴吐出装置。
【請求項４】
媒体の摩擦力を検知する摩擦検知センサと、
前記摩擦検知センサにより検出される摩擦力に基づいて、前記摩擦係数を媒体から測定して算出する算出部と、をさらに有する請求項３記載の液滴吐出装置。
【請求項５】
前記摩擦係数は、予め定められた値を使用する請求項３記載の液滴吐出装置。
【請求項６】
該液滴吐出装置が媒体に押し付けられる力に基づいて、前記判定を行う請求項３記載の液滴吐出装置。
【請求項７】
該液滴吐出装置が媒体に押し付けられる力を検知する圧力検知センサを
さらに有する請求項６記載の液滴吐出装置。
【請求項８】
前記判定部は、前記センサから取得する移動量に基づいて、印刷開始の動き出しを検知した場合、所定の期間前記ヘッドからの液滴の吐出を停止する請求項１記載の液滴吐出装置。
【請求項９】
前記判定部は、前記センサから取得する移動量に基づいて、印刷の一時停止を検知したのち、さらに印刷再開の動き出しを検知した場合、前記ヘッドからの液滴の吐出を停止する請求項１記載の液滴吐出装置。
【請求項１０】
画像データを受信し、ユーザによって走査されることで媒体上に画像を形成する液滴吐出装置が実行する液滴吐出方法であって、
液滴を吐出する吐出手順と、
所定の期間における該液滴吐出装置の移動量を検知するための検知手順と、
前記画像データと前記検知手順により検知された移動量に基づいて、液滴の吐出を指示する吐出制御を行う吐出制御手順と、
該液滴吐出装置の浮きを判定する判定手順と、を含み、
前記判定手順は、該液滴吐出装置の加速度に基づいて浮きを判定し、
前記吐出制御手順は、前記判定手順により浮きが判定された場合、前記吐出制御を停止する液滴吐出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、液滴吐出装置及び液滴吐出方法に関する。
【背景技術】
【０００２】
用紙を搬送させて用紙が画像の形成位置に到達したタイミングでインクなどを吐出して画像を形成するプリンタが知られている。これに対し、ノートＰＣの小型化、スマートデバイスの普及などにより、プリンタ装置においても小型化・携帯化のニーズが高まっている。そこで、プリンタ装置から紙搬送システムを削除することで小型化されたハンドヘルドプリンタが実用化されつつある。ハンドヘルドプリンタには、紙搬送システムが搭載されていないので、人が紙面上を移動させることで紙面上を走査しインクを吐出する。
【０００３】
ハンドヘルドプリンタはユーザが紙面上を走査して印字するため、浮きが生じると吐出する位置がずれたまま印字を続けてしまう問題がある。そこで、ノズルが一定以上の高さや傾きを持つことをジャイロセンサから取得した情報に基づいて判断したときに、印字を停止する方法が開示されている（特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示される方法では媒体面上の方向とは異なる方向に加わった力を検知してそれを基に浮きの発生を判断する必要があるため、媒体面上の２次元方向の移動量の演算だけでなく三次元方向の移動量の演算をする必要があり、処理負荷の向上につながっていた。
【０００５】
本発明は上記の点に鑑みてなされたものであって、ハンドヘルドプリンタのフリーハンド走査において、ハンドヘルドプリンタの浮きを簡易的な構成で検知することを目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、液滴吐出装置は、画像データを受信し、ユーザによって走査されることで媒体上に画像を形成し、液滴を吐出するヘッドと、所定の期間における該液滴吐出装置の移動量を検知するためのセンサと、前記画像データと前記センサが検知した移動量に基づいて、液滴の吐出を指示する吐出制御を行う吐出制御部と、該液滴吐出装置の浮きを判定する判定部と、を有し、前記判定部は、該液滴吐出装置の加速度に基づいて浮きを判定し、前記吐出制御部は、前記判定部により浮きが判定された場合、前記吐出制御を停止する。
【発明の効果】
【０００７】
ハンドヘルドプリンタのフリーハンド走査において、ハンドヘルドプリンタの浮きを簡易的な構成で検知することができる。
【図面の簡単な説明】
【０００８】
【図１】ハンドヘルドプリンタ１０による印刷の例を示す図である。
【図２】本発明の実施の形態におけるハンドヘルドプリンタ１０のハードウェア構成例を示す図である。
【図３】ナビゲーションセンサ３０のハードウェア構成例を示す図である。
【図４】ナビゲーションセンサ３０の機能を説明するための図である。
【図５】ナビゲーションセンサ３０及びインクジェット記録ヘッドの配置を説明するための図である。
【図６】ナビゲーションセンサ３０の位置の算出式を説明するための図である。
【図７】インクジェットノズル位置の算出について説明するための図（１）である。
【図８】インクジェットノズル位置の算出について説明するための図（２）である。
【図９】インクジェットノズル位置の簡易な算出について説明するための図（１）である。
【図１０】インクジェットノズル位置の簡易な算出について説明するための図（２）である。
【図１１】本発明の実施の形態における制御部１４の機能構成例を示す図である。
【図１２】本発明の実施の形態における画像読み取り部１０５の機能構成例を示す図である。
【図１３】本発明の実施の形態における浮き判定を含む印刷処理の例を示すフローチャートである。
【図１４】本発明の実施の形態におけるナビゲーションセンサ３０による浮きの判定方法を説明するための図（１）である。
【図１５】本発明の実施の形態におけるナビゲーションセンサ３０による浮きの判定方法を説明するための図（２）である。
【図１６】本発明の実施の形態における加速度及び摩擦係数に基づく浮き判定によるインク吐出停止制御を説明するためのフローチャートである。
【図１７】本発明の実施の形態における加速度及び印刷媒体の摩擦係数から浮きを判定する方法を説明するための図である。
【図１８】本発明の実施の形態におけるハンドヘルドプリンタ１０を印刷媒体に押し付ける力に基づいて浮きを判定する方法を説明するための図である。
【図１９】本発明の実施の形態におけるハンドヘルドプリンタ１０を印刷媒体に押し付ける力を圧力センサ２２で測定する方法を説明するための図である。
【図２０】本発明の実施の形態における印刷媒体の摩擦係数を算出する方法を説明するための図（１）である。
【図２１】本発明の実施の形態における印刷媒体の摩擦係数を算出する方法を説明するための図（２）である。
【図２２】本発明の実施の形態における摩擦係数を予め指定する浮き判定によるインク吐出停止制御を説明するためのフローチャートである。
【図２３】本発明の実施の形態における印刷媒体の種類を選択して摩擦係数を指定する方法について説明するための図である。
【図２４】本発明の実施の形態における印刷開始時のインク吐出停止制御を説明するためのフローチャートである。
【図２５】本発明の実施の形態における一時停止後の移動再開時のインク吐出停止制御を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。
【００１０】
図１は、ハンドヘルドプリンタ１０による印刷の例を示す図である。ハンドヘルドプリンタ１０は、例えば、スマートデバイス又はＰＣ（Personal Computer）等の画像データ出力器から、画像データを受信する。続いて、ハンドヘルドプリンタ１０は、当該画像データに基づいて、印刷媒体上を平面状自由に、すなわち、フリーハンド走査し、画像を形成することができる。印刷媒体は、例えば、ノート又は定型用紙である。
【００１１】
ハンドヘルドプリンタ１０は、後述するようにナビゲーションセンサ３０とジャイロセンサ１７で位置を検出し、ハンドヘルドプリンタ１０が目標吐出位置に移動すると、目標吐出位置で吐出すべき色のインクを吐出する。すでにインクを吐出した場所はマスクされインクの吐出の対象とならないため、ユーザは、印刷媒体上で任意の方向にハンドヘルドプリンタ１０をフリーハンド走査することで画像を形成できる。
【００１２】
図２は、本発明の実施の形態におけるハンドヘルドプリンタ１０のハードウェア構成例を示す図である。ハンドヘルドプリンタ１０は、印刷媒体に画像を形成する画像形成装置の一例である。ハンドヘルドプリンタ１０は、電源１１、電源回路１２、メモリ１３、制御部１４、ＩＪ（インクジェット）記録ヘッド駆動回路１５、画像データ通信Ｉ／Ｆ１６、ジャイロセンサ１７、ＯＰＵ（Operation panel Unit）１８、ＩＪ記録ヘッド１９、加速度センサ２０、摩擦検知センサ２１、圧力センサ２２及びナビゲーションセンサ３０を有する。
【００１３】
電源１１には、主に電池が利用される。太陽電池、交流商用電源、燃料電池等が用いられてもよい。電源回路１２は、電源１１が供給する電力をハンドヘルドプリンタ１０の各部に分配する。また、電源回路１２は、電源１１の電圧を各部に適した電圧に降圧又は昇圧する。また、電源１１が充電可能な電池である場合、電源回路１２は、例えば交流電源の接続を検出して電池の充電回路に接続し、電源１１の充電を可能にする。
【００１４】
メモリ１３は、ハンドヘルドプリンタ１０のハードウェア制御を行うファームウェア、ＩＪ記録ヘッド１９の駆動波形データ、その他ハンドヘルドプリンタ１０の初期設定に必要なデータ等を格納するＲＯＭ（Read Only Memory）を含む。ＲＯＭは、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＥＰＲＯＭ（Electrical Erasable ROM）、フラッシュメモリ又は外部記憶媒体であるメモリカード等のいずれであってもよいし、それらの複数を含んでもよい。
【００１５】
また、メモリ１３は、ＲＡＭ（Random Access Memory）を含み、制御部１４がファームウェアを実行するときにワークメモリとして使用され、画像データ通信Ｉ/Ｆ１６が受信した画像データを記憶し、展開されたファームウェアの実行のために使用される。ＲＡＭは、ＤＲＡＭ（Dynamic RAM）、ＳＲＡＭ（Static RAM）、ＳＤＲＡＭ（Synchronous DRAM）等のいずれであってもよいし、それらの複数を含んでもよい。
【００１６】
制御部１４は、ＣＰＵ（Central Processing Unit）１０１、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）等に含まれるワイヤードロジック回路を有し、ハンドヘルドプリンタ１０の全体を制御する。例えば、制御部１４は、ナビゲーションセンサ３０により検出される移動量及び角速度、又はジャイロセンサ１７により検出される角速度に基づいて、ＩＪ記録ヘッド１９の各ノズルの位置を決定し、当該位置に応じてインクを吐出し画像を形成する制御を行う。また、制御部１４は、加速度センサ２０、摩擦検知センサ２１及び圧力センサ２２から取得した情報に基づいて、浮き判定を行う。制御部１４について詳細は後述する。
【００１７】
ＩＪ記録ヘッド駆動回路１５は、制御部１４から供給される駆動波形データを用いて、ＩＪ記録ヘッド１９を駆動するための駆動波形を生成する。ＩＪ記録ヘッド駆動回路１５は、インクの液滴のサイズなどに応じた駆動波形を生成できる。
【００１８】
ＩＪ記録ヘッド１９は、インクを吐出するためのヘッドであり、複数のノズルを有する。図２においては、ＣＭＹＫの４色のインクを吐出可能になっているが、単色でもよく５色以上の吐出が可能であってもよい。ＩＪ記録ヘッド１９には、色ごとに一列又は複数列となるように、複数のインク吐出用のノズルが配置されている。また、インクの吐出方式はピエゾ方式でもサーマル方式でもよく、この他の方式でもよい。
【００１９】
画像データ通信Ｉ／Ｆ１６は、スマートデバイス又はＰＣ（Personal Computer）等の画像入力機器から画像データの受信を行う。画像データ通信Ｉ／Ｆ１６は、例えば、無線ＬＡＮ、Bluetooth（登録商標）、ＮＦＣ（Near Field Communication）、赤外線、携帯電話の通信方式である３Ｇ又はＬＴＥ（Long Term Evolution）等の通信規格に対応した通信インタフェースである。また、画像データ通信Ｉ／Ｆ１６は、このような無線通信の他、有線ＬＡＮ、ＵＳＢケーブルなどを用いた有線通信に対応した通信装置であってもよい。
【００２０】
ジャイロセンサ１７は、印刷媒体に垂直な軸を中心にハンドヘルドプリンタ１０が回転したときの角速度を検出するセンサである。なお、ジャイロセンサ１７は、必須の構成ではなく、ハンドヘルドプリンタ１０に含まれてもよいし、含まれなくてもよい。ジャイロセンサ１７が、ハンドヘルドプリンタ１０に含まれない場合、当該角速度は、複数のナビゲーションセンサ３０から算出されてもよい。
【００２１】
ＯＰＵ１８は、ハンドヘルドプリンタ１０の状態を表示するＬＥＤ（Light Emitting Diode）、液晶ディスプレイ、ユーザがハンドヘルドプリンタ１０に画像形成を指示するためのタッチパネル等を有する。また、ＯＰＵ１８は、音声入力機能を有していてもよい。
【００２２】
ナビゲーションセンサ３０は、所定のサイクル時間ごとにハンドヘルドプリンタ１０の移動量を検出するセンサである。ナビゲーションセンサ３０は、例えば、ＬＥＤ又は半導体レーザ等の光源と、印刷媒体を撮像する撮像センサを有する。ユーザが、ハンドヘルドプリンタ１０に、印刷媒体上を走査させると、印刷媒体の微小なエッジが次々に撮像又は検出され、当該エッジ間の距離を解析することで移動量が得られる。本発明の実施の形態においては、ナビゲーションセンサ３０は、ハンドヘルドプリンタ１０の底面に２つ搭載されて移動量及び角速度を算出してもよい。また、ナビゲーションセンサ３０は、ハンドヘルドプリンタ１０の底面に１つ搭載されて移動量を算出し、角速度はジャイロセンサ１７が算出してもよい。ナビゲーションセンサ３０の詳細は後述する。なお、ナビゲーションセンサ３０として、さらに多軸の加速度センサを用いてもよく、ハンドヘルドプリンタ１０は加速度センサに基づいて移動量を検出してもよい。
【００２３】
加速度センサ２０は、ハンドヘルドプリンタ１０に加えられる加速度を計測するセンサである。計測された加速度は、ハンドヘルドプリンタ１０の浮き判定に使用される。
【００２４】
摩擦検知センサ２１は、ハンドヘルドプリンタ１０と印刷媒体との摩擦係数を算出するための情報を取得するセンサである。摩擦検知センサ２１は、例えば、ばね及びリニアエンコーダセンサを用いて測定を行ってもよい（詳細は後述）。算出された摩擦係数は、ハンドヘルドプリンタ１０の浮き判定に使用される。
【００２５】
圧力センサ２２は、ハンドヘルドプリンタ１０に加えられる、印刷媒体に押し付ける力を計測するセンサである（詳細は後述）。計測された力は、ハンドヘルドプリンタ１０の浮き判定に使用される。
【００２６】
図３は、ナビゲーションセンサ３０のハードウェア構成例を示す図である。ナビゲーションセンサ３０は、ホストＩ／Ｆ３１、イメージプロセッサ３２、ＬＥＤ／ＬＡＳＥＲドライバ３３、レンズ３４、イメージアレイ３５及びレンズ３６を有する。ＬＥＤ／ＬＡＳＥＲドライバ３３は、ＬＥＤ又は半導体レーザと制御回路とが一体となっており、イメージプロセッサ３２からの命令によりレンズ３６を介して印刷媒体に光を照射する。イメージアレイ３５は、印刷媒体からの反射光を、レンズ３４を介して受光する。２つのレンズ３４及びレンズ３６は、印刷媒体表面に対して光学的な焦点を調整するために設置されている。
【００２７】
イメージアレイ３５は、光の波長に感度を有するフォトダイオード等の受光素子を有し、受光した光からイメージデータを生成する。イメージプロセッサ３２は、イメージアレイ３５からイメージデータを取得して、イメージデータからナビゲーションセンサの移動距離を算出する。図４に示されるΔＸは、Ｘ軸方向の移動量、ΔＹはＹ軸方向の移動量を示す。イメージプロセッサ３２は、算出した移動距離をホストＩ/Ｆ３１を介して、制御部１４へ出力する。
【００２８】
光源として使用されるＬＥＤは、表面が粗い印刷媒体、例えば紙を使用する場合に有用である。表面が粗い場合、影が発生するため、その影を特徴部分として、Ｘ軸方向及びＹ軸方向の移動距離を正確に算出することが可能になるからである。一方、表面が滑らか、あるいは透明な印刷媒体に対しては、光源としてレーザ光を発生させる半導体レーザ(ＬＤ)を使用することができる。半導体レーザで、印刷媒体上に例えば縞模様等を形成することで特徴部分を作ることができ、それを基に正確に移動距離を算出することができるからである。
【００２９】
図４は、ナビゲーションセンサ３０の機能を説明するための図である。イメージプロセッサ３２は、反射光を受光したイメージアレイ３５から規定のサンプリングタイミングごとに取得したデータを、規定の分解能単位でマトリックス化し、直前のサンプリングタイミングと現時点のサンプリングタイミングとの差分を検知し、移動量を算出する。
【００３０】
例えば、図５に示される場合では、あるサンプリングタイミング：Ｓａｍｐ１のときの画像からＳａｍｐ２、Ｓａｍｐ３と進むにつれて、黒又はグレイで表示される画像が移動していることがわかる。
【００３１】
Ｓａｍｐ１を基準とした場合、Ｓａｍｐ２での出力値（ΔＸ，ΔＹ）は、（１，０）となる。ΔＸ、ΔＹは、ナビゲーションセンサ３０の向きを基準とした水平方向、垂直方向の移動量を示す。なお、ナビゲーションセンサ３０が１つの場合、センサが印刷媒体上で回転したとしても、回転成分を検知することはできない。移動量の分解能は、搭載されるデバイスの要求に依存するが、プリンタを想定した場合、例えば１２００ｄｐｉ程度の分解能を要する。
【００３２】
図５は、ナビゲーションセンサ３０及びインクジェット記録ヘッドの配置を説明するための図である。図５には、ハンドヘルドプリンタ１０の底面にナビゲーションセンサ３０が２つ搭載されている場合が示される。図５に示されるナビゲーションセンサ３０間の距離ｃに関して、図６で説明する位置算出演算時、距離ｃが長いほど演算誤差が少なくなる。
【００３３】
また、ナビゲーションセンサ３０とＩＪ記録ヘッド１９とは、図５に示される距離ａ、距離ｂで配置される。ナビゲーションセンサ３０の位置を算出した後に、ＩＪ記録ヘッド１９端と先頭ノズル間距離ｄ、ノズル間距離ｅを用いて、各ノズル位置を算出する。
【００３４】
印刷媒体にＸ軸Ｙ軸（例えば横方向をＸ軸、縦方向をＹ軸）を定義し、ナビゲーションセンサ３０の出力軸をＸ'軸Ｙ'軸とすると、図５に示されるように、ハンドヘルドプリンタ１０が印刷媒体上で角度θ傾いた場合、ナビゲーションセンサ３０のΔＸ、ΔＹの出力値は、Ｘ'軸Ｙ'軸に対する水平方向、垂直方向の成分となり、印刷媒体のＸ軸Ｙ軸に対するΔＸ、ΔＹではなくなる。そのため、ナビゲーションセンサ３０は、Ｘ'軸Ｙ'軸の出力値に基づいて、印刷媒体のＸ軸Ｙ軸に対する位置を逐次算出することにより、自機の正常な位置を把握する。
【００３５】
図６は、ナビゲーションセンサ３０の位置の算出式を説明するための図である。図６においては、ＩＪ記録ヘッド１９の両端部に搭載された二つのナビゲーションセンサ３０を、ナビゲーションセンサｓ０、ナビゲーションセンサｓ１とする。また、ナビゲーションセンサｓ０の印刷媒体における座標を（Ｘ０，Ｙ０）、ナビゲーションセンサｓ１の印刷媒体における（Ｘ１，Ｙ１）とする。ナビゲーションセンサ３０は、図６に示されるサンプリング時刻Ｔ＝０を基準とし、次のサンプリング時刻Ｔ＝１におけるナビゲーションセンサ３０の位置算出を、回転成分と平行成分の２つに分離して以下のように行う。
【００３６】
図６に示される回転成分の差分ｄθは、ナビゲーションセンサｓ０、ナビゲーションセンサｓ１のＸ方向の出力の差分から、数１に基づいて算出される。
【００３７】
【数１】
2019089240.tif 000003
ｄｘｓ０は、ナビゲーションセンサｓ０のＸ軸方向の出力値であり、ｄｘｓ１は、ナビゲーションセンサｓ１のＸ軸方向の出力値であり、Ｌは、ナビゲーションセンサｓ０とナビゲーションセンサｓ１間の距離である。Ｌは、図５に示される距離ｃと同様である。
【００３８】
平行移動成分ｄＸ０、ｄＹ０は、Ｔ＝０時のＩＪ記録ヘッド１９の傾きθ及び数１により求められたＴ＝１における回転成分の差分ｄθから、数２に基づいて算出される。
【００３９】
【数２】
2019089240.tif 000004
したがって、Ｔ＝１におけるナビゲーションセンサｓ０の位置は、（Ｘ０＋ｄＸ０、Ｙ０＋ｄＹ０）で求められる。Ｔ＝１におけるナビゲーションセンサｓ１の位置（Ｘ１，Ｙ１）は、Ｔ＝１におけるナビゲーションセンサｓ０の座標と、ＩＪ記録ヘッド１９の傾きθ＋ｄθ、ＩＪ記録ヘッドの長さＬから、数３に基づいて算出される。
【００４０】
【数３】
2019089240.tif 000005
また、加法定理、及びｓｉｎ（ｄθ）＝ｔａｎ（ｄθ）＝ｄθ（ｄθ＜＜１のとき）の近似を、上記の式の計算時に使用する。ナビゲーションセンサ３０が検知する移動量ΔＸ、ΔＹをサンプリングして実際のＩＪ記録ヘッド１９の位置を算出する際、ｄθは十分小さな値となる。
【００４１】
例えば、Ｌ＝１インチ＝２５．４ｍｍ、４００ｍｍ／ｓという高速走査、サンプリング周期が１００ｕｓである条件において、１サンプリング周期で移動できる距離は４０ｕｍのため、Ｌを回転運動の半径とした場合に回転できる最大の角度ｄθは、ｄθ＝２π×（円周上の移動距離）／（円周長）＝２π×（４０×１０−６）／（２π×２５．４×１０−３）＝０．００１５［ｒａｄ］となる。ｄθ＜＜１として近似演算すると、ｓｉｎ（ｄθ）＝０．００１５、ｔａｎ（ｄθ）＝０．００１５となる。
【００４２】
この時、例えばｃｏｓ（θ＋ｄθ）を計算してＹ１を求める場合、ｓｉｎ（ｄθ）及びｃｏｓ（ｄθ）を求める計算を省略し、数４のようにｓｉｎθ及びｃｏｓθでｃｏｓ（θ＋ｄθ）を求めることができる。
【００４３】
【数４】
2019089240.tif 000006
以上の演算を、サンプリング周期ごとに実施し続けることにより、２つのナビゲーションセンサ３０の印刷媒体に対する２次元座標を逐次把握することができる。
【００４４】
図７は、インクジェットノズル位置の算出について説明するための図（１）である。図６で説明した方法によってナビゲーションセンサ３０の位置を算出した後、図７に示される、ナビゲーションセンサ３０とＩＪ記録ヘッド１９の距離ａ及び距離ｂ、また、ＩＪ記録ヘッド１９端と先頭ノズル間距離ｄ、のノズル間距離ｅ、ＩＪ記録ヘッドの傾きθにより、ナビゲーションセンサ３０の位置（Ｘ０，Ｙ０）から、先頭ノズル（図７におけるノズル１）の座標（ＮＺＬ１＿Ｘ，ＮＺＬ１＿Ｙ）を数５に基づいて求めることができる。
【００４５】
【数５】
2019089240.tif 000007
図８は、インクジェットノズル位置の算出について説明するための図（２）である。図８に示されるように、ノズル列がナビゲーションセンサ３０の延長線上にない場合、ノズル列間距離ｆ、及び図７に示されるナビゲーションセンサ３０とＩＪ記録ヘッド１９の距離ａ、ＩＪ記録ヘッド１９端と先頭ノズル間距離ｄを用いて、ノズル列Ｃのノズル１の座標（ＮＺＬＣ−１＿Ｘ，ＮＺＬＣ−１＿Ｙ）は、数６に基づいて求めることができる。
【００４６】
【数６】
2019089240.tif 000008
図９は、インクジェットノズル位置の簡易な算出について説明するための図（１）である。図７及び図８で説明したように、各ノズルの座標を三角関数を用いて求めることは可能であるが、処理時間を要するため、単純な比例演算で、各ノズルの座標を求める方法を以下説明する。
【００４７】
図８に示されるノズル列内のノズル間距離ｅは等しいため、先頭ノズル座標（ＸＳ，ＹＳ）及び後尾ノズル座標（ＸＥ，ＹＥ）の座標から、ノズルＮの座標（ＮＺＬＮＸ，ＮＺＬＮＹ）は、数７に基づいて求めることができる。Ｅはノズル総数であり、Ｎは先頭ノズルから後尾ノズルに向けて数えた場合に何番目のノズルであるかを示す。
【００４８】
【数７】
2019089240.tif 000009
図１０は、インクジェットノズル位置の簡易な算出について説明するための図（２）である。単純な演算となるように全体を２のべき乗数で分割するため、図１０に示される仮想点ｎｏｚｚｌｅ＿２５７を設けて、実際にノズルが配置されているｎｏｚｚｌｅ＿１からｎｏｚｚｌｅ＿１９２までの座標が算出される。ｎｏｚｚｌｅ＿１の座標は（ＮＺＬＸＳ，ＮＺＬＹＳ）、ｎｏｚｚｌｅ＿２５７の座標は（ＮＺＬＸＥ，ＮＺＬＹＥ）である。ｎｏｚｚｌｅ＿１からｎｏｚｚｌｅ＿１９２に向けて数えた場合にＮ番目のｎｏｚｚｌｅ＿Ｎの座標（ＮＺＬＮＸ，ＮＺＬＮＹ）は、数８に基づいて求めることができる。
【００４９】
【数８】
2019089240.tif 000010
図１１は、本発明の実施の形態における制御部１４の機能構成例を示す図である。制御部１４は、図１１に示されるように、ＣＰＵ１０１、位置算出部１０２、メモリ制御部１０３、内部メモリ１０４、画像読み取り部１０５、浮き発生制御部１０６、ジャイロセンサＩ／Ｆ１０７、ナビゲーションセンサＩ／Ｆ１０８、印字／センサタイミング生成部１０９、ＩＪ記録ヘッド制御部１１０、割り込み通知部１１１の各機能部を有する。また、制御部１４のハードウェアとしての構成は、例えば図１１に示されるようなＳｏＣ（System on Chip）とＡＳＩＣ/ＦＰＧＡとから構成され、ＳｏＣ及びＡＳＩＣ/ＦＰＧＡは、バスを介して通信して接続されてもよい。ＡＳＩＣ/ＦＰＧＡはどちらの実装技術で設計されてもよいことを意味し、ＡＳＩＣ/ＦＰＧＡ以外の他の実装技術で構成されてよい。また、制御部１４は、ＳｏＣとＡＳＩＣ/ＦＰＧＡを別のチップにすることなく１つのチップ又は基板で構成されてもよい。あるいは、制御部１４は、３つ以上のチップ又は基板で実装されてもよい。また、制御部１４が有する各機能部は、ＣＰＵ１０１が実行するファームウェアによって実現されてもよいし、ＳｏＣ、ＡＳＩＣ／ＦＰＧＡに含まれるワイヤードロジック回路によって実現されてもよい。
【００５０】
ＣＰＵ１０１は、メモリ１３に展開されたファームウェアをメモリ制御部１０３を介して読み込み、実行することにより、制御部１４の各機能部を実現する機能部である。
【００５１】
位置算出部１０２は、ナビゲーションセンサ３０が検出するサンプリング周期ごとの移動量及び角速度、あるいはジャイロセンサ１７が検出するサンプリング周期ごとの角速度に基づいて、ハンドヘルドプリンタ１０の位置を算出する。正確な印刷をするために必要なハンドヘルドプリンタ１０の位置とは、厳密にはノズルの位置であるが、ナビゲーションセンサ３０の位置が分かれば、図７〜図１０で説明したようにノズルの位置を算出できる。本発明の実施の形態では、特に断らない限りナビゲーションセンサ３０の位置としては、図６に示されるナビゲーションセンサＳ０の位置をいう。また、位置算出部１０２は、インクの目標吐出位置を算出する。なお、位置算出部１０２は、ＣＰＵ１０１がファームウェアを実行することにより実現されてもよいし、ワイヤードロジック回路により実現されてもよい。
【００５２】
なお、上述のハンドヘルドプリンタ１０の位置は、ひとつのナビゲーションセンサ３０が検出するサンプリング周期ごとの移動量とジャイロセンサ１７が検出するサンプリング周期ごとの角速度とを累積して得られる総移動量によって定められる。すなわち、ナビゲーションセンサ３０が１つ及びジャイロセンサが１つの構成で、ハンドヘルドプリンタ１０の移動量の検知は可能である。
【００５３】
メモリ制御部１０３は、各機能部からのメモリ１３に対する読み込み又は書き込みを制御する。
【００５４】
内部メモリ１０４は、読み書きに高速性が必要とされる情報の記憶に使用される。例えば、ナビゲーションセンサ３０の位置情報、メモリ１３から読み込んだ画像データ等が記憶される。内部メモリ１０４のハードウェアは、例えばＳＲＡＭで構成されてもよい。
【００５５】
画像読み取り部１０５は、ナビゲーションセンサ３０の位置情報から、ＩＪ記録ヘッド１９に搭載されている各ノズル位置を算出し、当該ノズル位置に応じた画像データをメモリ１３から読み込んで、ＩＪ記録ヘッド制御部１１０が要求する並び順でデータを送信する。
【００５６】
浮き発生制御部１０６は、加速度センサ２０から取得する加速度、摩擦検知センサ２１から取得する摩擦係数及び圧力センサ２２から取得する情報に基づいて、ハンドヘルドプリンタ１０が浮いているか否かを判定し、浮いていると判定した場合、印刷を一時停止する制御を行う（詳細は後述）。また、浮き発生制御部１０６は、ナビゲーションセンサＩ／Ｆ１０８を介してナビゲーションセンサ３０から取得する情報に基づいて、ハンドヘルドプリンタ１０が浮いているか否かを判定してもよい。
【００５７】
ジャイロセンサＩ／Ｆ１０７は、印字／センサタイミング生成部１０９により生成されたタイミングになると、ジャイロセンサ１７が検出する角速度を取得して、メモリ１３又は制御部１４内のレジスタ等に格納する。なお、ハンドヘルドプリンタ１０が、ジャイロセンサ１７を搭載していない場合は、ジャイロセンサＩ／Ｆ１０７は制御部１４に含まれなくてよい。
【００５８】
ナビゲーションセンサＩ／Ｆ１０８は、ナビゲーションセンサ３０と通信し、ナビゲーションセンサ３０からの情報として移動量ΔＸ、ΔＹを受信し、当該移動量をメモリ１３又は制御部１４内のレジスタに格納する。
【００５９】
印字／センサタイミング生成部１０９は、ナビゲーションセンサＩ／Ｆ１０８及びジャイロセンサＩ／Ｆ１０７が、センサから情報を読み取るタイミングを通知し、また、ＩＪ記録ヘッド制御部１１０に駆動タイミングを通知する。
【００６０】
ＩＪ記録ヘッド制御部１１０は、画像データにディザ処理等を施して大きさと密度で画像を表す点の集合に画像データを変換する。当該変換により、画像データは、吐出位置と点のサイズのデータとなる。ＩＪ記録ヘッド制御部１１０は、点のサイズに応じた制御信号をＩＪ記録ヘッド駆動回路１５に出力する。ＩＪ記録ヘッド駆動回路１５は、当該制御信号に対応する駆動波形データを用いて、駆動波形を生成する。また、ＩＪ記録ヘッド制御部１１０は、ノズルの位置に応じて吐出ノズル可否判定を行い、インクを吐出すべき目標吐出位置があればインクを吐出し、目標吐出位置がなければ吐出しないと判定する。
【００６１】
割り込み通知部１１１は、ナビゲーションセンサＩ／Ｆ１０８が、ナビゲーションセンサ３０との通信が完了したことを検知して、ＣＰＵ１０１に通知するための割り込み信号を出力する。ＣＰＵ１０１は割り込みにより、ナビゲーションセンサＩ/Ｆ１０８が内部レジスタに記憶するΔＸ、ΔＹを取得する。また、割り込み通知部１１１は、エラー等のステータス通知機能も有する。ジャイロセンサＩ/Ｆ１０７に関しても同様に、割り込み通知部１１１はＣＰＵ１０１に対し、ジャイロセンサ１７との通信が終了したことを通知するための割り込み信号を出力する。
【００６２】
図１２は、本発明の実施の形態における画像読み取り部１０５の機能構成例を示す図である。画像読み取り部１０５は、ＣＰＵ  Ｉ／Ｆ２０１、ノズル位置生成部２０２、アドレス生成部２０３、出力Ｉ／Ｆ２０４、テーブル管理部２０５及びデータ蓄積部２０６を有する。
【００６３】
ＣＰＵ  Ｉ／Ｆ２０１は、ＣＰＵ１０１から画像の幅、画像の高さ、画像の解像度といった各種設定を取得して、ノズル位置生成部２０２、アドレス生成部２０３又は出力Ｉ／Ｆ２０４に当該設定を適用する。また、ＣＰＵ  Ｉ／Ｆ２０１は、ＩＪ記録ヘッド制御部１１０からのインク吐出タイミングごとに、当該タイミングでのヘッド位置情報を取得する。
【００６４】
ノズル位置生成部２０２は、ヘッド位置情報から各ノズルの位置情報を生成する。ノズル位置生成部２０２は、ヘッド位置情報を１回受け取るごとに、ノズル数分の位置情報を生成して、アドレス生成部２０３に出力する。また、ノズル位置生成部２０２は、アドレス生成部２０３に、各ノズルの有効／無効フラグも出力し、印刷モード及び吐出ノズル数制限等の制御を実行する。
【００６５】
アドレス生成部２０３は、ノズル位置生成部２０２から取得した各ノズルの位置情報に基づいて、当該データが格納されているメモリアドレスを生成する。
【００６６】
出力  Ｉ／Ｆ２０４は、メモリ１３から読み込んだ画像データをＩＪ記録ヘッド制御部１１０が要求する形式に変換する。また、出力  Ｉ／Ｆ２０４は、必要に応じてデータをバッファリングする。
【００６７】
テーブル管理部２０５は、アドレス生成部２０３により生成されたアドレスと、データ蓄積部２０６に蓄積されたデータとの対応付けを行う。データ蓄積部２０６は、メモリ制御部１０３を介してメモリ１３から読み込んだデータを蓄積する。また、データ蓄積部２０６は、メモリ１３に書き込むデータを一時的に蓄積する。
【００６８】
図１３は、本発明の実施の形態における浮き判定を含むインク吐出停止する印刷処理の例を示すフローチャートである。
【００６９】
ステップＳ２０１において、ユーザが、ハンドヘルドプリンタ１０の電源ボタンを押下すると、ハンドヘルドプリンタ１０は動作を開始する。続いて、ハンドヘルドプリンタ１０は、電源から電源供給され、制御部１４は、位置センサ等のデバイスの初期化を実施し、各デバイスを立ち上げる（Ｓ１０１）。初期化が完了すると（Ｓ１０２）、例えばＬＥＤを点灯してユーザに印刷可能状態であることを通知する（Ｓ１０３）。ユーザは、当該通知を確認して、印刷したい画像を画像入力機器（例えばスマートデバイス又はＰＣ）によって、印刷したい画像を選択する（Ｓ２０２）。続いて、画像入力機器に搭載されているアプリ又はプリンタドライバから、ＴＩＦＦやＪＰＥＧ等の画像データを無線でデータ出力する等の印刷ＪＯＢを実行する（Ｓ２０３）。ハンドヘルドプリンタ１０は、画像データが入力されると、例えばＬＥＤ点滅等でユーザに通知する（Ｓ１０４）。
【００７０】
ステップＳ２０４において、ユーザは、ハンドヘルドプリンタ１０を印刷したい媒体（例えばノート）の上で初期位置を決め、ハンドヘルドプリンタ１０に備わる印刷開始ボタンを押下する（Ｓ２０５）。その後、ユーザは印刷媒体上の平面上を自由に走査（フリーハンド走査）し、画像を形成していく（Ｓ２０６）。
【００７１】
ステップＳ２０５及びステップＳ２０６がユーザによって実行されているとき、ハンドヘルドプリンタ１０は、印刷開始ボタン押下を受け、ナビゲーションセンサ３０の位置情報を読み込むよう、ナビゲーションセンサＩ／Ｆ１０８に通知する。続いて、ナビゲーションセンサ３０は位置情報の検知を開始し、制御部１４の内部メモリ１０４に格納する（Ｓ３０１）。ナビゲーションセンサＩ／Ｆ１０８は、ナビゲーションセンサ３０と通信し、位置情報を読み込む（Ｓ１０５）。続いて、ハンドヘルドプリンタ１０は、当該位置情報を初期位置とし、例えば座標（０，０）とする（Ｓ１０６）。
【００７２】
続いて、制御部１４内部の印字／センサタイミング生成部１０９によって時間計測し（Ｓ１０７）、予め設定されたナビゲーションセンサ３０への読み込みタイミング（＝ＩＪ記録ヘッド制御部１１０の駆動周期）ごとに、（Ｓ１０８）位置情報の読み込みを繰り返す（Ｓ１０９）。ステップＳ１１０において、制御部１４は、読み込まれた位置情報に基づいて、前回算出したナビゲーションセンサ３０の座標（Ｘ，Ｙ）と、今回リードした移動量（ΔＸ，ΔＹ）から、図６及び図７において説明した方法で、現在のナビゲーションセンサ３０の座標を算出し、制御部１４の内部メモリ１０４に格納する（Ｓ１１０）。
【００７３】
続いて、ステップＳ１００１において、浮き発生制御部１０６は、ナビゲーションセンサ３０から取得した情報に基づいて、浮き発生を判定する。
【００７４】
図１４は、本発明の実施の形態におけるナビゲーションセンサ３０による浮きの判定方法を説明するための図（１）である。
【００７５】
図１４に示されるハンドヘルドプリンタ１０の正面図のように、ナビゲーションセンサ３０は、ＩＪ記録ヘッド１９の両端部分に１つずつ配置されている。また、ハンドヘルドプリンタ１０は、加速度センサ２０を備えている。図１４に示されるハンドヘルドプリンタ１０の側面図では、加速度センサ２０及びナビゲーションセンサ３０は、ハンドヘルドプリンタ１０のほぼ中央に配置されている。
【００７６】
図１５は、本発明の実施の形態におけるナビゲーションセンサ３０による浮きの判定方法を説明するための図（２）である。
【００７７】
図１５の「浮きが発生していない場合」に示されるように、ナビゲーションセンサ３０は、ＬＥＤから光を印刷媒体に照射して、印刷媒体から反射された光を受光することで移動量を算出している。ハンドヘルドプリンタ１０と印刷媒体は、ほぼ平行に接触している。
【００７８】
図１５の「浮きが発生した場合」に示されるように、ハンドヘルドプリンタ１０に浮きが発生すると、ナビゲーションセンサ３０は、ＬＥＤから光を印刷媒体に照射しても、印刷媒体から反射された光を受光できなくなる。浮き発生制御部１０６は、ナビゲーションセンサ３０から受光できなくなったことを示す情報を取得することにより、浮きを検知することができる。ハンドヘルドプリンタ１０が印刷媒体から浮いているとき、ハンドヘルドプリンタ１０と印刷媒体は密着しておらず、例えば、ハンドヘルドプリンタ１０がいずれかの方向に傾くことにより、ハンドヘルドプリンタ１０と印刷媒体の間に隙間が生じている状態となる。
【００７９】
図１３に戻る。ステップＳ１００１において、浮き発生制御部１０６が、浮きが発生したと判定した場合、ステップＳ１０８に進みインク吐出を行わない（Ｓ１００１のＹＥＳ）。浮き発生制御部１０６が、浮きが発生していないと判定した場合は、ステップＳ１１１に進みインク吐出を行う（Ｓ１００１のＮＯ）。
【００８０】
ステップＳ１１１において、制御部１４は、算出した現在の各ナビゲーションセンサ３０の位置情報と、ナビゲーションセンサ３０とＩＪ記録ヘッド１９の予め定められた組み付け位置情報とに基づいて、ＩＪ記録ヘッド１９上の各ノズルの位置座標を算出する。
【００８１】
続いて、画像読み取り部１０５は、ステップＳ１１１で算出した各ノズルの位置情報に基づいて、ＩＪ記録ヘッド１９又は各ノズル周辺の画像データをメモリ１３から読み込み、位置情報により特定されたＩＪ記録ヘッド１９の位置及び傾きに応じて回転したのち、内部メモリ１０４に記憶させる（Ｓ１１２）。続いて、画像読み取り部１０５は、内部メモリ１０４に記憶させた画像データと、各ノズル位置の座標比較を実施し（Ｓ１１３）、設定された吐出条件を満たすと判断した場合（Ｓ１１４のＹＥＳ）、ＩＪ記録ヘッド制御部１１０へ画像データを出力する（Ｓ１１５）。設定された吐出条件を満たさないと判断した場合（Ｓ１１４のＮＯ）、ステップＳ１０８に戻る。
【００８２】
上記ステップＳ１０８〜ステップＳ１１５を繰り返すことで、印刷媒体上に画像を形成していき、全データが吐出された場合（Ｓ１１６のＹＥＳ）、ハンドヘルドプリンタ１０は、例えばＬＥＤ点灯等の手段で、ユーザに印刷完了を通知する（Ｓ１１７）。全データが吐出されていない場合（Ｓ１１６のＮＯ）、ステップＳ１０８に戻る。
【００８３】
なお、全データを吐出しなくても、ユーザが十分と判断した際には、印字完了ボタンを押下し、印字を完了しても良い。
【００８４】
図１６は、本発明の実施の形態における加速度及び摩擦係数に基づく浮き判定のインク吐出停止制御を説明するためのフローチャートである。図１３のフローチャートと異なるステップを説明する。
【００８５】
ステップＳ２０１〜ステップＳ２０６、ステップＳ１０１〜ステップＳ１０８は、図１３と同様である。
【００８６】
ステップＳ１０９及びステップＳ１１０と並行して実行されるステップＳ１１０１において、浮き発生制御部１０６は、加速度センサ２０から、加速度センサ情報を取得する。さらに、ステップＳ１１０２において、浮き発生制御部１０６は、摩擦検知センサ２１から摩擦検知センサ情報を取得する。
【００８７】
図１７は、本発明の実施の形態における加速度及び印刷媒体の摩擦係数から浮きを判定する方法を説明するための図である。
【００８８】
ハンドヘルドプリンタ１０の高さをｈ、幅をｗ、重量をｍとして、力Ｔでハンドヘルドプリンタ１０を走査させた場合、ハンドヘルドプリンタ１０に加えられる力のモーメントから、浮きが発生する条件として、以下の式が導かれる。なお、ａは加速度、ｕは記録媒体の動摩擦係数、ｇは重力加速度、Ｎは垂直抗力である。
Ｔ×ｈ＞ｍｇ×ｗ÷２
（ｍａ＋ｕＮ）×ｈ＞ｍｇ×ｗ÷２
（ｍａ＋ｕｍｇ）×ｈ＞ｍｇ×ｗ÷２
ａ＞ｇ×（ｗ−２ｕｈ）÷２ｈ
したがって、加速度ａ［ｍ／ｓ２］が、閾値「ｇ×（ｗ−２ｕｈ）÷２ｈ」を超えると浮きが発生する。ここで、「ｇ×（ｗ−２ｕｈ）÷２ｈ」に関して、重力加速度ｇは既知の物理量（９．８０６６５［ｍ／ｓ２］）、幅ｗ及び高さｈはハンドヘルドプリンタ１０の仕様から既知であるため、印刷媒体の動摩擦係数ｕが算出されれば浮きが発生する加速度ａ［ｍ／ｓ２］が求められる（印刷媒体の動摩擦係数ｕの算出方法は後述）。
【００８９】
浮きの発生が予測される加速度ａ［ｍ／ｓ２］（＝ｇ×（ｗ−２ｕｈ）÷２ｈ）を浮き判定の閾値に設定することで、浮きが発生した場合にインクの吐出を停止することができる。
【００９０】
また、浮きが発生する加速度ａ［ｍ／ｓ２］（＝ｇ×（ｗ−２ｕｈ）÷２ｈ）に対して余裕を持った値、すなわち小さな加速度の値を浮き判定の閾値に設定することで、浮きが発生する前に、インクの吐出を停止することができる。
【００９１】
加速度ａ［ｍ／ｓ２］は、加速時（ａ＞０）と減速時（ａ＜０）のどちらであってもよい。ただし、減速時はａ＜０のため、浮きが発生する条件「ａ＞ｇ×（ｗ−２ｕｈ）÷２ｈ」を満足することがないため、摩擦による浮きが発生することはない。
【００９２】
なお、停止状態（加速度ａ＝０のとき）で浮きが発生する条件は、静止摩擦係数をｕ０とすると、
ｕ０ｍｇ×ｈ＞ｍｇ×ｗ÷２
ｕ０＞ｗ÷２ｈ
と表されるため、ハンドヘルドプリンタの高さｈ（ユーザが力Ｔを加える高さ）および幅ｗと静止摩擦係数ｕ０により、浮きが発生する条件が決定される。すなわち、ハンドヘルドプリンタ１０の構造又は仕様に依存して、浮きが発生する条件が決定される。そのため、停止状態において摩擦による浮きが発生するか否かは、ユーザがハンドヘルドプリンタ１０を走査させる際の力に依存しない。
【００９３】
図１８は、本発明の実施の形態におけるハンドヘルドプリンタ１０を印刷媒体に押し付ける力に基づいて浮きを判定する方法を説明するための図である。
【００９４】
ハンドヘルドプリンタ１０の高さをｈ、幅をｗ、重量をｍとして、走査方向の力Ｔｈ及び印刷媒体に押し付ける力Ｔｖでハンドヘルドプリンタ１０を走査させた場合、ハンドヘルドプリンタ１０に加えられる力のモーメントから、浮きが発生する条件として、以下の式が導かれる。なお、ａは加速度、ｕは記録媒体の動摩擦係数、ｇは重力加速度、Ｎは垂直抗力である。
Ｔｈ×ｈ＞ｍｇ×ｗ÷２＋Ｔｖ×ｈ
（ｍａ＋ｕＮ）×ｈ＞ｍｇ×ｗ÷２＋Ｔｖ×ｈ
（ｍａ＋ｕｍｇ）×ｈ＞ｍｇ×ｗ÷２＋Ｔｖ×ｈ
ａ＞ｇ×（ｗ−２ｕｈ）÷２ｈ＋Ｔｖ÷ｍ
したがって、加速度ａ［ｍ／ｓ２］が、閾値「ｇ×（ｗ−２ｕｈ）÷２ｈ＋Ｔｖ÷ｍ」を超えると浮きが発生する。すなわち、図１７に示された押し付ける力Ｔｖがない場合と比べて、「Ｔｖ÷ｍ」だけ、加速度が大きくなっても、浮きが発生しにくい。
【００９５】
図１９は、本発明の実施の形態におけるハンドヘルドプリンタ１０を印刷媒体に押し付ける力を圧力センサ２２で測定する方法を説明するための図である。
【００９６】
ハンドヘルドプリンタ１０を構成する筐体に、図１９に示されるように圧力センサ２２を搭載し、印刷媒体に押し付ける力を測定する。圧力センサ２２は、ひずみゲージを用いた場合、センサに加わる圧力に応じて抵抗値が変化する。当該抵抗値の変化を電気信号に変換して、浮き発生制御部１０６に伝達することで押し付ける力を検知することができる。そのため、図１９に示されるように、ユーザがハンドヘルドプリンタ１０に加える押し付ける力が、圧力センサ２２に印加されるような構造の筐体にすることで、圧力センサを用いて押し付ける力を測定することができる。
【００９７】
図２０は、本発明の実施の形態における印刷媒体の摩擦係数を算出する方法を説明するための図（１）である。
【００９８】
図２０に示されるハンドヘルドプリンタ１０の正面図のように、ナビゲーションセンサ３０は、ＩＪ記録ヘッド１９の両端部分に１つずつ配置されている。また、ハンドヘルドプリンタ１０は、加速度センサ２０及び摩擦検知センサ２１を備えている。図１８の摩擦検知センサ２１の拡大図に示されるように、摩擦検知センサ２１は、バネ、リニアスケール、リニアエンコーダセンサ及び印刷媒体接触部材を有する。バネは、ハンドヘルドプリンタ１０筐体及びリニアエンコーダセンサに接続され、印刷媒体と印刷媒体接触部材との間に発生する摩擦力に応じて伸縮する。バネの伸縮する量は、リニアスケール及びリニアエンコーダセンサによって測定され、当該測定に基づいて、動摩擦係数が算出される。
【００９９】
図２１は、本発明の実施の形態における印刷媒体の摩擦係数を算出する方法を説明するための図（２）である。
【０１００】
図２１は、摩擦検知するための機構にリニアエンコーダが用いられる例である。印刷媒体接触部材が印刷媒体に接触していないときは、バネの引っ張り力によりリニアエンコーダセンサはホームポジションに固定される。図２１においては、ホームポジションはリニアスケール上で右端である。
【０１０１】
記録媒体接触部材を記録媒体に接触させて、ハンドヘルドプリンタ１０を移動させると、摩擦力とバネの引っ張り力が釣り合う位置までリニアエンコーダセンサが移動する。バネの引っ張り力は既知であるため、リニアエンコーダセンサの位置情報から、動摩擦係数を算出することができる。
【０１０２】
「摩擦が小さい印刷媒体」に示されるように、動摩擦係数が小さな印刷媒体では、ハンドヘルドプリンタ１０の移動方向のバネの伸びは小さい状態で、摩擦力とバネの引っ張り力は釣り合う。「摩擦が大きい印刷媒体」に示されるように、動摩擦係数が大きな印刷媒体では、ハンドヘルドプリンタ１０の移動方向のバネの伸びは大きい状態で、摩擦力とバネの引っ張り力は釣り合う。
【０１０３】
図１６に戻る。ステップＳ１１０３において、浮き発生制御部１０６は、ステップＳ１１０２で取得した摩擦検知センサ情報に基づいて、動摩擦係数を算出する。続いて、浮き発生制御部１０６は、当該動摩擦係数に基づいて、浮きを判定するための加速度閾値を、図１７又は図１８に示された浮きを判定する方法に基づいて、設定又は更新する。浮きを判定する方法は、図１７又は図１８に示された浮きを判定する方法に限られず、その他の方法が用いられてもよい。ステップＳ１１０４において、浮き発生制御部１０６は、ステップＳ１１０３で設定又は更新された加速度の閾値に基づいて、ステップＳ１１０１で取得された加速度と当該閾値との比較を行い、加速度が大であった場合、浮きが発生したと判定して、ステップＳ１０８に進みインク吐出を行わない（Ｓ１１０４のＹＥＳ）。浮き発生制御部１０６が、浮きが発生していないと判定した場合は、ステップＳ１１１に進みインク吐出を行う（Ｓ１１０４のＮＯ）。ステップＳ１１１以降は、図１３と同様である。
【０１０４】
図２２は、本発明の実施の形態における摩擦係数を予め指定する浮き判定によるインク吐出停止制御を説明するためのフローチャートである。図１３のフローチャートと異なるステップを説明する。
【０１０５】
ステップＳ２０１〜ステップＳ２０２は、図１３と同様である。ステップＳ２０２に続いて実行されるステップＳ１２０１において、ユーザは、ハンドヘルドプリンタ１０に対する印刷設定を行い、印刷媒体の種類を選択し、ステップＳ２０３に進む。ステップＳ２０３〜ステップＳ２０６は、図１３と同様である。
【０１０６】
ステップＳ１０１〜ステップＳ１０４は、図１３と同様である。ステップＳ１０４に続くステップＳ１２０２において、浮き発生制御部１０６は、ステップＳ１２０１で選択された印刷媒体の種類に対応した動摩擦係数を用いて、加速度閾値を図１６に示されるステップＳ１１０３と同様に設定する。
【０１０７】
図２３は、本発明の実施の形態における印刷媒体の種類を選択して摩擦係数を指定する方法について説明するための図である。図２３に示されるように、「印刷媒体」に対応する「動摩擦係数」が定義されている。ユーザが例えば、「紙（摩擦：強）」を選択した場合、動摩擦係数は「０．７」が指定され、浮き発生制御部１０６は、当該動摩擦係数「０．７」を用いて加速度閾値を設定する。また、ユーザが例えば、「アルミニウム」を選択した場合、動摩擦係数は「０．８」が指定され、浮き発生制御部１０６は、当該動摩擦係数「０．８」を用いて加速度閾値を設定する。
【０１０８】
ステップＳ１０５〜ステップＳ１０８は、図１３と同様である。
【０１０９】
ステップＳ１０９及びステップＳ１１０と並行して実行されるステップＳ１２０３において、浮き発生制御部１０６は、加速度センサ２０から、加速度センサ情報を取得する。続くステップＳ１２０４において、浮き発生制御部１０６は、ステップＳ１２０２で設定された加速度の閾値に基づいて、ステップＳ１２０３で取得された加速度と当該閾値との比較を行い、加速度が大であった場合（Ｓ１２０４のＹＥＳ）、浮きが発生したと判定して、ステップＳ１０８に進みインク吐出を行わない。浮き発生制御部１０６が、浮きが発生していないと判定した場合は、ステップＳ１１１に進みインク吐出を行う（Ｓ１２０４のＮＯ）。ステップＳ１１１以降は、図１３と同様である。
【０１１０】
図２４は、発明の実施の形態における印刷開始時のインク吐出停止制御を説明するためのフローチャートである。ステップＳ２０１〜ステップＳ２０６及びステップＳ１０１〜ステップＳ１０６は、図１３と同様である。
【０１１１】
ステップＳ１３０１において、浮き発生制御部１０６は、印刷開始時の動き出し状態であることを示す動き出しフラグの初期状態をＯＮにする。ステップＳ１０７〜ステップＳ１１０は、図１３と同様である。
【０１１２】
ステップＳ１３０２において、浮き発生制御部１０６は、動き出しフラグがＯＮであるか否かを判定する。動き出しフラグがＯＮである場合（Ｓ１３０２のＹＥＳ）、ステップＳ１３０３に進み、動き出しフラグがＯＦＦである場合（Ｓ１３０２のＮＯ）、ステップＳ１１１に進む。
【０１１３】
ステップＳ１３０３において、浮き発生制御部１０６は、ナビゲーションセンサ３０から取得した初期位置からの移動量と、予め定められた閾値とを比較し、初期位置からの移動量が閾値以下であった場合（Ｓ１３０３のＹＥＳ）、ステップＳ１０８に進み、インク吐出を行わない。初期位置からの移動量が閾値より大であった場合（Ｓ１３０３のＮＯ）、ステップＳ１３０４に進み、動き出しフラグをＯＦＦにして、ステップＳ１１１に進みインク吐出を開始する。ステップＳ１１１以降は、図１３と同様である。
【０１１４】
図２４に示されるフローチャートを実行することで、浮きが発生しやすい動き出し操作中のインク吐出停止をナビゲーションセンサ３０から取得する情報で実現することができる。すなわち、当該フローチャートは、加速度センサを必要とせずに実行可能である。
【０１１５】
ステップＳ１３０３で参照される初期位置からの移動量の閾値は、予め検証しておいた浮きが発生しやすい状態が続く移動量が設定されてもよいし、又は、ユーザがユーザ自身の操作に応じた移動量が設定されてもよい。
【０１１６】
図２５は、本発明の実施の形態における一時停止後の移動再開時のインク吐出停止制御を説明するためのフローチャートである。ステップＳ２０１〜ステップＳ２０６及びステップＳ１０１〜ステップＳ１０６は、図１３と同様である。
【０１１７】
ステップＳ１４０１において、浮き発生制御部１０６は、一時停止状態であることを示す一時停止フラグの初期状態をＯＦＦにする。ステップＳ１０７〜ステップＳ１１０は、図１３と同様である。
【０１１８】
ステップＳ１４０２において、浮き発生制御部１０６は、ナビゲーションセンサ３０から取得した情報に基づき、前回の位置から現在位置に変化がないかを確認する。現在位置に変化がない場合（Ｓ１４０２のＹＥＳ）、ステップＳ１４０３に進み、現在位置に変化があった場合（Ｓ１４０２のＮＯ）、ステップＳ１４０５に進む。
【０１１９】
ステップＳ１４０３において、浮き発生制御部１０６は、現在位置を一時停止位置として格納する。続いて、浮き発生制御部１０６は、一時停止フラグをＯＮにして（Ｓ１４０４）ステップＳ１０８に進む。
【０１２０】
ステップＳ１４０５において、浮き発生制御部１０６は、一時停止フラグがＯＮであるか否かを判定する。一時停止フラグがＯＮである場合（Ｓ１４０５のＹＥＳ）、ステップＳ１４０６に進み、一時停止フラグがＯＦＦである場合（Ｓ１４０５のＮＯ）、ステップＳ１１１に進む。
【０１２１】
ステップＳ１４０６において、浮き発生制御部１０６は、ナビゲーションセンサ３０から取得した一時停止位置からの移動量と、予め定められた閾値とを比較し、一時停止位置からの移動量が閾値以下であった場合（Ｓ１４０６のＹＥＳ）、ステップＳ１０８に進み、インク吐出を行わない。一時停止位置からの移動量が閾値より大であった場合（Ｓ１４０６のＮＯ）、ステップＳ１４０７に進み、一時停止フラグをＯＦＦにして、ステップＳ１１１に進みインク吐出を開始する。ステップＳ１１１以降は、図１３と同様である。
【０１２２】
図２５に示されるフローチャートを実行することで、浮きが発生しやすい一時停止後に再度走査を開始する操作中のインク吐出停止をナビゲーションセンサ３０から取得する情報で実現することができる。すなわち、当該フローチャートは、加速度センサを必要とせず実行可能である。
【０１２３】
ステップＳ１４０３で参照される一時停止位置からの移動量の閾値は、予め検証しておいた一時停止後に浮きが発生しやすい状態が続く移動量が設定されてもよいし、又は、ユーザがユーザ自身の操作に応じた移動量が設定されてもよい。
【０１２４】
上述のように、本発明の実施の形態によれば、ハンドヘルドプリンタ１０は、フリーハンド走査において、ナビゲーションセンサ３０から取得する情報に基づいて浮き判定を行うことによって、浮き判定された場合にインク吐出を停止することができる。また、ハンドヘルドプリンタ１０は、フリーハンド走査において、加速度センサ２０及び摩擦検知センサ２１から取得する情報に基づいて浮き判定を行うことによって、浮き判定された場合にインク吐出を停止することができる。また、ハンドヘルドプリンタ１０は、フリーハンド走査において、加速度センサ２０から取得する情報及び予め設定した印刷媒体の摩擦係数に基づいて浮き判定を行うことによって、浮き判定された場合にインク吐出を停止することができる。すなわち、ハンドヘルドプリンタのフリーハンド走査において、ハンドヘルドプリンタが印刷媒体から一時的に浮く状態となった場合であっても、印刷品位を維持することができる。
【０１２５】
なお、本発明の実施の形態において、ハンドヘルドプリンタ１０は、液滴吐出装置の一例である。ＩＪ記録ヘッド１９は、ヘッドの一例である。画像読み取り部１０５及びＩＪ記録ヘッド制御部１１０は、吐出制御部の一例である。浮き発生制御部１０６は、判定部、算出部及び測定部の一例である。ナビゲーションセンサ３０及びジャイロセンサ１７は、センサの一例である。圧力センサ２２は、圧力検知センサの一例である。
【０１２６】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１２７】
１０          ハンドヘルドプリンタ
１１          電源
１２          電源回路
１３          メモリ
１４          制御部
１５          ＩＪ記録ヘッド駆動回路
１６          画像データ通信Ｉ／Ｆ
１７          ジャイロセンサ
１８          ＯＰＵ
１９          ＩＪ記録ヘッド
２０          加速度センサ
２１          摩擦検知センサ
２２          圧力センサ
３０          ナビゲーションセンサ
３１          ホストＩ／Ｆ
３２          イメージプロセッサ
３３          ＬＥＤ／ＬＡＳＥＲドライバ
３４、３６    レンズ
３５          イメージアレイ
１０１        ＣＰＵ
１０２        位置算出部
１０３        メモリ制御部
１０４        内部メモリ
１０５        画像読み取り部
１０６        浮き発生制御部
１０７        ジャイロセンサＩ／Ｆ
１０８        ナビゲーションセンサＩ／Ｆ
１０９        印字／センサタイミング生成部
１１０        ＩＪ記録ヘッド制御部
１１１        割り込み通知部
２０１        ＣＰＵ  Ｉ／Ｆ
２０２        ノズル位置生成部
２０３        アドレス生成部
２０４        出力Ｉ／Ｆ
２０５        テーブル管理部
２０６        データ蓄積部
【先行技術文献】
【特許文献】
【０１２８】
【特許文献１】特許第３７４５７４７号公報
【図１】
2019089240.tif 000011
【図２】
2019089240.tif 000012
【図３】
2019089240.tif 000013
【図４】
2019089240.tif 000014
【図５】
2019089240.tif 000015
【図６】
2019089240.tif 000016
【図７】
2019089240.tif 000017
【図８】
2019089240.tif 000018
【図９】
2019089240.tif 000019
【図１０】
2019089240.tif 000020
【図１１】
2019089240.tif 000021
【図１２】
2019089240.tif 000022
【図１３】
2019089240.tif 000023
【図１４】
2019089240.tif 000024
【図１５】
2019089240.tif 000025
【図１６】
2019089240.tif 000026
【図１７】
2019089240.tif 000027
【図１８】
2019089240.tif 000028
【図１９】
2019089240.tif 000029
【図２０】
2019089240.tif 000030
【図２１】
2019089240.tif 000031
【図２２】
2019089240.tif 000032
【図２３】
2019089240.tif 000033
【図２４】
2019089240.tif 000034
【図２５】
2019089240.tif 000035