(57)【要約】【課題】位置検出を行う方法を適切に選択可能な位置検出装置を提供すること。【解決手段】位置検出装置が搭載された被搭載物の移動面における位置を検出する位置検出装置であって、前記移動面における移動量を検出する少なくとも２つの移動量検出手段と、前記移動面における前記被搭載物の姿勢を検出する少なくとも１つの姿勢検出手段と、位置検出方法の選択に関する情報を参照して、前記２つの移動量検出手段のうちの１つが検出した前記移動量及び前記姿勢検出手段が検出した前記姿勢を用いて前記被搭載物の位置を検出する第一の位置検出方法、又は、前記２つの移動量検出手段が検出した前記移動量を用いて前記被搭載物の位置を検出する第二の位置検出方法を選択する選択手段と、を有する。【選択図】図１
2017170634.tif 000002
【特許請求の範囲】
【請求項１】
位置検出装置が搭載された被搭載物の移動面における位置を検出する位置検出装置であって、
前記移動面における移動量を検出する少なくとも２つの移動量検出手段と、
前記移動面における前記被搭載物の姿勢を検出する少なくとも１つの姿勢検出手段と、
位置検出方法の選択に関する情報を参照して、前記２つの移動量検出手段のうちの１つが検出した前記移動量及び前記姿勢検出手段が検出した前記姿勢を用いて前記被搭載物の位置を検出する第一の位置検出方法、又は、前記２つの移動量検出手段が検出した前記移動量を用いて前記被搭載物の位置を検出する第二の位置検出方法を選択する選択手段と、
を有する位置検出装置。
【請求項２】
前記第一の位置検出方法又は前記第二の位置検出方法で位置を検出する位置検出手段を有し、
前記選択手段は、前記位置検出手段が前記第一の位置検出方法で位置を検出している場合に、前記第二の位置検出方法に切り替える請求項１に記載の位置検出装置。
【請求項３】
前記第一の位置検出方法又は前記第二の位置検出方法で位置を検出する位置検出手段を有し、
前記選択手段は、前記位置検出手段が前記第二の位置検出方法で位置を検出している場合に、前記第一の位置検出方法に切り替える請求項１に記載の位置検出装置。
【請求項４】
前記位置検出方法の選択に関する情報は、前記移動面が動いたか否かに関する情報であり、
前記選択手段は、前記移動面が動いていない場合に前記第一の位置検出方法を選択し、前記移動面が動いた場合に前記第二の位置検出方法を選択する請求項１〜３のいずれか１項に記載の位置検出装置。
【請求項５】
前記２つの移動量検出手段が検出した２つの前記移動量で検出された前記被搭載物の第二の姿勢と、前記姿勢検出手段が検出した前記被搭載物の第一の姿勢が異なる場合、前記移動面が動いたと判定する判定手段を有する請求項４に記載の位置検出装置。
【請求項６】
前記２つの移動量検出手段が検出した２つの前記移動量がそれぞれゼロと見なせる場合、前記選択手段は前記第二の位置検出方法を選択する請求項４又は５に記載の位置検出装置。
【請求項７】
前記姿勢検出手段は周期的に前記被搭載物の姿勢を検出するものであり、
前記２つの移動量検出手段が検出した２つの前記移動量がそれぞれゼロと見なせ、かつ、前記第一の姿勢に変化がないと見なせる場合、前記姿勢検出手段が検出した前記第一の姿勢を記憶しておくオフセット手段を有し、
前記オフセット手段は、次回の周期で前記姿勢検出手段が検出した前記被搭載物の前記第一の姿勢から記憶されている前記第一の姿勢をオフセットする請求項５に記載の位置検出装置。
【請求項８】
前記第二の姿勢と前記第一の姿勢が同じと見なせる場合、
前記選択手段は、前記姿勢検出手段が検出した前記第一の姿勢の重み係数を大きくし、前記第二の姿勢の重み係数を小さくし、
前記第二の姿勢と前記第一の姿勢が異なる場合、
前記選択手段は、前記第一の姿勢の重み係数を小さくし、前記第二の姿勢の重み係数を大きくし、
前記第二の姿勢が重み係数で重み付けされた値と、前記第一の姿勢が重み係数で重み付けされた値を合成して前記姿勢を求める請求項５に記載の位置検出装置。
【請求項９】
前記姿勢検出手段が連続して動作している連続動作時間を測定する測定手段を有し、
前記第一の姿勢と前記第二の姿勢が同じと見なせる場合でも、
前記連続動作時間が閾値以上になると、前記選択手段は前記第二の位置検出方法を選択する請求項５に記載の位置検出装置。
【請求項１０】
前記位置検出方法の選択に関する情報は、前記移動量検出手段が前記移動面から逸脱した否かに関する情報であり、
前記移動量検出手段が前記移動面から逸脱していないことを検出する逸脱検出手段を有し、
２つ以上の前記移動量検出手段が逸脱していないことを前記逸脱検出手段が検出した場合、前記選択手段は前記第二の位置検出方法を選択し、
１つの前記移動量検出手段が逸脱していないことを前記逸脱検出手段が検出した場合、前記選択手段は前記第一の位置検出方法を選択する請求項１〜３のいずれか１項に記載の位置検出装置。
【請求項１１】
前記移動量検出手段は、前記移動量が閾値より大きい場合、前記移動量検出手段が前記移動面から逸脱したことを検出し、
前記移動量検出手段は周期的に前記移動量を検出するものであり、
前記逸脱検出手段は、前回の周期の前記移動量を記憶しておき、今回の周期で取得された前記移動量と前回の周期の前記移動量との差を算出し、前記差と過去に検出された前記移動量から求めた許容値の合計を前記閾値に決定する請求項１０に記載の位置検出装置。
【請求項１２】
前記逸脱検出手段は、前記移動面から前記移動量検出手段が浮いた場合に低下する信頼度情報を前記移動量検出手段から取得し、
前記信頼度情報を閾値と比較して前記移動量検出手段が前記移動面から逸脱したか否かを判定する請求項１０に記載の位置検出装置。
【請求項１３】
前記位置検出方法の選択に関する情報は、ユーザによる設定情報であり、
前記選択手段は前記設定情報を参照して前記第一の位置検出方法又は前記第二の位置検出方法を選択する請求項１に記載の位置検出装置。
【請求項１４】
請求項１〜１３のいずれか１項に記載の位置検出装置と、
前記被搭載物の位置に応じて該位置の画像を形成するための液滴を吐出する液滴吐出手段と、
を有する液滴吐出装置。
【請求項１５】
位置検出装置が搭載された被搭載物の移動面における位置を検出する位置検出装置を、
前記移動面における移動量を検出する少なくとも２つの移動量検出手段と、
前記移動面における前記被搭載物の姿勢を検出する少なくとも１つの姿勢検出手段と、
位置検出方法の選択に関する情報を参照して、前記２つの移動量検出手段のうちの１つが検出した前記移動量及び前記姿勢検出手段が検出した前記姿勢を用いて前記被搭載物の位置を検出する第一の位置検出方法、又は、前記２つの移動量検出手段が検出した前記移動量を用いて前記被搭載物の位置を検出する第二の位置検出方法を選択する選択手段、として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置検出装置、液滴吐出装置及びプログラムに関する。
【背景技術】
【０００２】
用紙を搬送させて用紙が画像の形成位置に到達したタイミングでインクなどを吐出して画像を形成するプリンタが知られている。これに対し、ノートＰＣの小型化、スマートデバイスの普及などにより、プリンタ装置においても小型化・携帯化のニーズが高まっている。そこで、プリンタ装置から紙搬送システムを削除することで小型化されたプリンタ（以下、ＨＭＰ：ハンディモバイルプリンタという）が実用化されつつある。ＨＭＰには、紙搬送システムが搭載されていないので、人の手で紙面上を移動させられることで紙面上を走査しインクを吐出する。
【０００３】
ＨＭＰは紙面上における自分の位置を検出して位置に応じた画像を形成するためのインクを吐出する。この位置を検出するための機構として、従来、底面に２つのナビゲーションセンサが配置されているＨＭＰが知られている（例えば、特許文献１参照。）。ナビゲーションセンサは光学的に紙面の微小なエッジを検出してサイクル時間ごとの移動量を検出するセンサである。ナビゲーションセンサが２つあることでＨＭＰは紙面に垂直な軸に対する回転角を検出できる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ナビゲーションセンサが２つ必要であることはＨＭＰの底面部のサイズの増大をもたらし紙面における画像形成可能範囲を制限するというデメリットがある。これは、ナビゲーションセンサが２つとも紙面上に存在する必要があるためである。
【０００５】
一方、回転角又は角速度を検出するセンサとしてジャイロセンサが知られている。ジャイロセンサがＨＭＰに搭載されれば移動量を検出するナビゲーションセンサは１つでよいため画像形成可能範囲を広くすることができる。しかしながら、ナビゲーションセンサ１つ＋ジャイロセンサ１つの構成では、紙面が動いてしまった場合にＨＭＰの回転角を検出できないというデメリットがある。
【０００６】
補足すると、例えばユーザが紙面上を走査させようとしたがＨＭＰに引きずられて紙面が移動した場合、紙面に対するＨＭＰの位置の変化よりもジャイロセンサが検出する回転角の変化の方が大きい。したがって、ジャイロセンサで回転角を求めＨＭＰが位置を検出しても位置が正確でなくなるおそれがある。また、例えばユーザが乗り物に乗っている場合、ＨＭＰが紙面に対し全く移動しなくてもジャイロセンサは乗り物の地面に対する回転を検出してしまう。この場合、紙面に対する回転角が変化していなくても回転角が変化したことが検出され、ＨＭＰの紙面に対する位置が正確でなくなるおそれがある。
【０００７】
このように、ナビゲーションセンサ２つの構成と、ナビゲーションセンサ１つ＋ジャイロセンサ１つの構成には、それぞれメリットとデメリットがある。しかしながら、従来は、ナビゲーションセンサ２つとジャイロセンサ１つが搭載されたＨＭＰにおいて、これらを適切に使い分ける方法が考案されていないという問題がある。
【０００８】
本発明は、上記課題に鑑み、位置検出を行う方法を適切に選択可能な位置検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、位置検出装置が搭載された被搭載物の移動面における位置を検出する位置検出装置であって、前記移動面における移動量を検出する少なくとも２つの移動量検出手段と、前記移動面における前記被搭載物の姿勢を検出する少なくとも１つの姿勢検出手段と、位置検出方法の選択に関する情報を参照して、前記２つの移動量検出手段のうちの１つが検出した前記移動量及び前記姿勢検出手段が検出した前記姿勢を用いて前記被搭載物の位置を検出する第一の位置検出方法、又は、前記２つの移動量検出手段が検出した前記移動量を用いて前記被搭載物の位置を検出する第二の位置検出方法を選択する選択手段と、を有する。
【発明の効果】
【００１０】
位置検出を行う方法を適切に選択可能な位置検出装置を提供できる。
【図面の簡単な説明】
【００１１】
【図１】ＨＭＰによる位置検出方法の選択の概略を説明する図の一例である。
【図２】方法Ａと方法Ｂの画像形成可能範囲を説明する図の一例である。
【図３】ＨＭＰによる画像形成を模式的に示す図の一例である。
【図４】ＨＭＰのハードウェア構成図の一例である。
【図５】制御部の構成を説明する図の一例である。
【図６】ジャイロセンサが角速度を検出する原理を説明する図の一例である。
【図７】ナビゲーションセンサのハードウェア構成の構成例を示す図の一例である。
【図８】ナビゲーションセンサによる移動量の検出方法を説明する図である。
【図９】ＩＪ記録ヘッド駆動回路の構成図の一例である。
【図１０】ＩＪ記録ヘッドにおけるノズル位置等について説明する図の一例である。
【図１１】ＨＭＰの座標系と位置の算出方法を説明する図の一例である。
【図１２】画像形成中に生じるＨＭＰの回転角の変化量ｄθの求め方を説明する図の一例である。
【図１３】目標吐出位置とノズルの位置の関係を説明する図の一例である。
【図１４】画像データ出力器とＨＭＰの機能ブロック図の一例である。
【図１５】ユーザが画像データ出力器のディスプレイに表示させるユーザ設定画面の一例である。
【図１６】画像データ出力器とＨＭＰの動作手順を説明するフローチャート図の一例である。
【図１７】ＨＭＰの機能ブロック図の一例である（実施例２）。
【図１８】画像データ出力器とＨＭＰの動作手順を説明するフローチャート図の一例である（実施例２）。
【図１９】紙面移動判定部が紙面移動判定を行う手順を示すフローチャート図の一例である。
【図２０】オフセット部がジャイロセンサのドリフトをオフセットする手順を示すフローチャート図の一例である。
【図２１】紙面移動判定結果に応じて位置検出方法選択部が回転角の変化量ｄθを算出する手順を示すフローチャート図の一例である。
【図２２】紙面移動判定部が紙面移動判定を行う手順を示すフローチャート図の一例である。
【図２３】ＨＭＰの機能ブロック図の一例である（実施例３）。
【図２４】画像データ出力器とＨＭＰの動作手順を説明するフローチャート図の一例である。
【図２５】ナビゲーションセンサの移動量が正常値であるかどうかを逸脱判定部が判定するフローチャート図の一例である。
【図２６】逸脱判定部が逸脱判定を行う手順を示すフローチャート図の一例である。
【図２７】逸脱判定部が逸脱判定を行う手順を示すフローチャート図の一例である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【００１３】
図１は、本実施形態のＨＭＰ２０による位置検出方法の選択の概略を説明する図の一例である。まず、ＨＭＰ２０は、ナビゲーションセンサ２つ及びジャイロセンサ１つを有しており、以下の２つの位置検出方法で位置を検出できる。
Ａ．ナビゲーションセンサ１つ＋ジャイロセンサ１つ
１つのナビゲーションセンサで移動量を検出し、ジャイロセンサで回転角を検出する。ＨＭＰ２０は移動量と回転角で印刷媒体上の位置を検出する。以下、この方法を単に方法Ａと称する。
Ｂ．ナビゲーションセンサ２つ
２つのナビゲーションセンサの少なくとも１つで移動量を検出し、２つのナビゲーションセンサのそれぞれの移動量で回転角を検出する。ＨＭＰ２０は移動量と回転角で印刷媒体上の位置を検出する。以下、この方法を単に方法Ｂと称する。
【００１４】
ＨＭＰ２０は位置検出方法選択部５１を有している。また、ＨＭＰ２０は位置検出方法の選択に関する情報７０を取得することが可能である。位置検出方法選択部５１は位置検出方法の選択に関する情報７０を参照して方法Ａ又は方法Ｂを選択する。あるいは、方法Ａから方法Ｂへ、方法Ｂから方法Ａへ切り替える。位置検出方法の選択に関する情報７０は、方法Ａと方法Ｂのメリットとデメリットが考慮されている。したがって、ＨＭＰ２０がナビゲーションセンサ２つ及びジャイロセンサ１つを有する場合、方法Ａと方法Ｂのメリットを活かしデメリットを抑制して、適切に位置検出方法を選択できる。
【００１５】
なお、位置検出方法の選択に関する情報７０は、方法Ａ，Ｂの位置検出方法を位置検出方法選択部５１が選択するための情報である。例えばユーザ設定、紙面移動判定結果及びナビゲーションセンサの逸脱判定結果であるが詳細は実施例１〜３にて後述される。
【００１６】
図２は、方法Ａと方法Ｂの画像形成可能範囲を説明する図の一例である。図２（ａ）はＨＭＰ２０に配置されたナビゲーションセンサ３０を示す。ＨＭＰ２０はＩＪ記録ヘッド２４のノズル６１に直列に２つのナビゲーションセンサ３０（以下、区別するためナビゲーションセンサＳ０，Ｓ１という）を有している。
【００１７】
図２（ｂ）は図２（ａ）のＨＭＰ２０の画像形成可能範囲５０１を示す。図２（ａ）のＨＭＰ２０においてナビゲーションセンサＳ０とノズル６１の上端との間隔はＡ〔ｍｍ〕、ノズル６１の下端とナビゲーションセンサＳ１までの間隔はＢ〔ｍｍ〕である。ナビゲーションセンサＳ０が印刷媒体１２からはみ出してしまうので、ＨＭＰ２０は印刷媒体１２の上端からＡ〔ｍｍ〕より上に移動できない。また、ナビゲーションセンサＳ１が印刷媒体１２からはみ出してしまうので、ＨＭＰ２０は印刷媒体１２の下端からＢ〔ｍｍ〕より下に移動できない。したがって、図２（ｂ）に示すように印刷媒体１２の上下に印刷できない場所が生じ、残りが画像形成可能範囲５０１である。
【００１８】
図２（ｃ）は２つのナビゲーションセンサＳ０，Ｓ１のうち使用されるナビゲーションセンサＳ１を示す。ナビゲーションセンサＳ０が使用されてもよい。ノズル６１の下端とナビゲーションセンサＳ１までの間隔をＢ〔ｍｍ〕とする。ナビゲーションセンサＳ１が印刷媒体１２からはみ出してしまうので、ＨＭＰ２０は印刷媒体１２の下端からＢ〔ｍｍ〕より下に移動できない。一方、ナビゲーションセンサＳ０は使用されないので、ＨＭＰ２０のノズル６１は印刷媒体１２の上端まで移動できる。したがって、図示するように下側にだけ印刷できない場所が生じ、残りが画像形成可能範囲５０１である。
【００１９】
図２（ｂ）と図２（ｄ）を比較すると明らかなように、ナビゲーションセンサＳ１のみが使用される場合、画像形成可能範囲５０１を大きくすることができる。したがって、例えば方法Ａで位置を検出していたが２つのナビゲーションセンサＳ０，Ｓ１の２つうち１つが印刷媒体１２からはみ出した場合、方法Ｂに切り替えて印刷を継続できる。また、例えば方法Ｂで位置を検出していたが印刷媒体１２が動いてしまった場合、方法Ａに切り替えて印刷を継続できる。
【００２０】
なお、図２（ａ）（ｃ）のノズル６１、ナビゲーションセンサＳ０，Ｓ１、及びジャイロセンサ３１の配置は一例に過ぎない。これらの配置が変わることで画像形成可能範囲５０１も変わるが、１つのナビゲーションセンサだけが使用される方が２つ使用されるよりも画像形成可能範囲５０１が広い場合が多い。
【００２１】
＜用語について＞
被搭載物とは、位置検出装置が搭載された物をいう。移動面において位置が検出されうる物としてもよい。例えば、ＨＭＰ２０が被搭載物の一例である。また、位置検出装置は移動した距離を検出することができるため距離測定器も被搭載物の一例となりうる。
【００２２】
移動面は、ＨＭＰ２０が移動できる面であればよく、平面の他、曲面も含まれる。具体的には平面のシート材や定規などで距離を測定しにくい曲面などである。本実施形態では印刷媒体１２を例にして説明する。
【００２３】
また、物体の姿勢とは、剛体の６つの自由度のうち回転角を表す自由度（剛体の重心を通って直交する３つの軸をそれぞれ中心とする回転角）をいう。このうち、平面における物体の姿勢は、平面に垂直な軸を中心とする回転角で表される。
【００２４】
位置を算出するとは、何らかのデータに演算を施すことにより位置に関する情報を得ることであり、位置を検出するとは、プロセスを問わずに位置に関する情報を得ることをいう。ただし、両者は位置に関する情報が得られる点で同じであり本実施形態では位置の算出と位置の検出を厳密には区別しない。
【００２５】
また、本願において、画像形成、記録、印字、印写、印刷、造形等はいずれも同義語とする。
【００２６】
＜ＨＭＰ２０による画像形成＞
図３は、ＨＭＰ２０による画像形成を模式的に示す図の一例である。ＨＭＰ２０には、例えばスマートフォンやＰＣ（Personal Computer）等の画像データ出力器１１から画像データが送信される。ユーザはＨＭＰ２０を把持して、印刷媒体１２（例えば定形用紙やノートなど）から浮き上がらないようにフリーハンドで走査させる。
【００２７】
ＨＭＰ２０は後述するようにナビゲーションセンサＳ０とジャイロセンサ３１で位置を検出し、ＨＭＰ２０が目標吐出位置に移動すると、目標吐出位置で吐出すべき色のインクを吐出する。すでにインクを吐出した場所はマスクされるので（インクの吐出の対象とならないので）、ユーザは印刷媒体１２上で任意の方向にＨＭＰ２０を走査させることで画像を形成できる。
【００２８】
印刷媒体１２からＨＭＰ２０が浮き上がらないことが好ましいのは、ナビゲーションセンサＳ０、Ｓ１が印刷媒体１２からの反射光を利用して移動量を検出するためである。印刷媒体１２からＨＭＰ２０が浮き上がると反射光を検出できなくなり移動量を検出できない。また、印刷媒体１２からナビゲーションセンサＳ０、Ｓ１がはみ出した場合も、印刷媒体１２の厚みにより反射光を検出できなくなったり、検出できても位置がずれる場合がある。
【００２９】
このため、方法Ａでは少なくとも１つのナビゲーションセンサＳ０又はＳ１が印刷媒体１２上で走査されることが好ましく、方法Ｂでは少なくとも２つのナビゲーションセンサＳ０、Ｓ１が印刷媒体１２上で走査されることが好ましい。
【００３０】
＜構成例＞
図４は、ＨＭＰ２０のハードウェア構成図の一例を示す。ＨＭＰ２０は、印刷媒体１２に画像を形成する画像形成装置の一例である。ＨＭＰ２０は、制御部２５によって全体の動作が制御され、制御部２５には通信Ｉ/Ｆ２７、ＩＪ記録ヘッド駆動回路２３、ＯＰＵ２６、ＲＯＭ２８、ＤＲＡＭ２９、ジャイロセンサ３１及び、２つのナビゲーションセンサ３０が電気的に接続されている。また、ＨＭＰ２０は電力により駆動されるため、電源２２と電源回路２１を有している。電源回路２１が生成する電力は、点線２２ａで示す配線などにより、通信Ｉ/Ｆ２７、ＩＪ記録ヘッド駆動回路２３、ＯＰＵ２６、ＲＯＭ２８、ＤＲＡＭ２９、ＩＪ記録ヘッド２４、制御部２５、ジャイロセンサ３１、及び、２つのナビゲーションセンサ３０に供給されている。
【００３１】
電源２２は主に電池（バッテリー）が利用される。太陽電池や商用電源（交流電源）、燃料電池等が用いられてもよい。電源回路２１は、電源２２が供給する電力をＨＭＰ２０の各部に分配する。また、電源２２の電圧を各部に適した電圧に降圧や昇圧する。また、電源２２が電池で充電可能である場合、電源回路２１は交流電源の接続を検出して電池の充電回路に接続し、電源２２の充電を可能にする。
【００３２】
通信Ｉ/Ｆ２７は、スマートフォンやＰＣ（Personal Computer）等の画像データ出力器１１から画像データの受信等を行う。通信Ｉ/Ｆ２７は例えば無線ＬＡＮ、Bluetooth（登録商標）、ＮＦＣ（Near Field Communication）、赤外線、３Ｇ（携帯電話）、又は、ＬＴＥ（Long Term Evolution）等の通信規格に対応した通信装置である。また、このような無線通信の他、有線ＬＡＮ、ＵＳＢケーブルなどを用いた有線通信に対応した通信装置であってもよい。
【００３３】
ＲＯＭ２８は、ＨＭＰ２０のハードウェア制御を行うファームウェアや、ＩＪ記録ヘッド２４の駆動波形データ（液滴を吐出するための電圧変化を規定するデータ）や、ＨＭＰ２０の初期設定データ等を格納している。
【００３４】
ＤＲＡＭ２９は通信Ｉ/Ｆ２７が受信した画像データを記憶したり、ＲＯＭ２８から展開されたファームウェアの格納のために使用される。したがって、ＣＰＵ３３がファームウェアを実行する際のワークメモリとして使用される。
【００３５】
ナビゲーションセンサ３０は、所定のサイクル時間ごとにＨＭＰ２０の移動量を検出するセンサである。なお、ナビゲーションセンサ３０は２つでありそれぞれの機能は同じであるが、違いがあるとしても本実施形態の説明の上で支障がないものとする。ナビゲーションセンサ３０は、例えば、発光ダイオード（ＬＥＤ）やレーザ等の光源と、印刷媒体１２を撮像する撮像センサを有している。ＨＭＰ２０が印刷媒体１２上を走査されると、印刷媒体１２の微小なエッジが次々に検出され（撮像され）エッジ間の距離を解析することで移動量が得られる。本実施形態では、ナビゲーションセンサ３０は、ＨＭＰ２０の底面に２つ搭載されている。なお、ナビゲーションセンサ３０として、さらに多軸の加速度センサを用いてもよく、ＨＭＰ２０は加速度センサのみでＨＭＰ２０の位置を検出してもよい。
【００３６】
ジャイロセンサ３１は、印刷媒体１２に垂直な軸を中心にＨＭＰ２０が回転した際の角速度を検出するセンサである。詳細は後述される。
【００３７】
ＯＰＵ（Operation panel Unit）２６は、ＨＭＰ２０の状態を表示するＬＥＤ、ユーザがＨＭＰ２０に画像形成を指示するためのスイッチ等を有している。ただし、これに限定するものではなく、液晶ディスプレイを有していてよく、さらにタッチパネルを有していてもよい。また、音声入力機能を有していてもよい。
【００３８】
ＩＪ記録ヘッド駆動回路２３は上記の駆動波形データを用いて、ＩＪ記録ヘッド２４を駆動するための駆動波形（電圧）を生成する。インクの液滴のサイズなどに応じた駆動波形を生成できる。
【００３９】
ＩＪ記録ヘッド２４は、インクを吐出するためのヘッドである。図ではＣＭＹＫの４色のインクを吐出可能になっているが、単色でもよく５色以上の吐出が可能でもよい。各色ごとに一列（二列以上でもよい）に並んだ複数のインク吐出用のノズル６１が配置されている。また、インクの吐出方式はピエゾ方式でもサーマル方式でもよく、静電方式などの他の方式でもよい。
【００４０】
ＩＪ記録ヘッド２４は、ノズル６１から液体を吐出・噴射する機能部品である。吐出される液体は、ＩＪ記録ヘッド２４から吐出可能な粘度や表面張力を有するものであればよく、特に限定されないが、常温、常圧下において、又は加熱、冷却により粘度が３０ｍＰａ・ｓ以下となるものであることが好ましい。より具体的には、水や有機溶媒等の溶媒、染料や顔料等の着色剤、重合性化合物、樹脂、界面活性剤等の機能性付与材料、ＤＮＡ、アミノ酸やたんぱく質、カルシウム等の生体適合材料、天然色素等の可食材料、などを含む溶液、懸濁液、エマルジョンなどであり、これらは例えば、インクジェット用インク、表面処理液、電子素子や発光素子の構成要素や電子回路レジストパターンの形成用液、３次元造形用材料液等の用途で用いることができる。
【００４１】
制御部２５はＣＰＵ３３を有しＨＭＰ２０の全体を制御する。制御部２５は、ナビゲーションセンサ３０により検出される移動量及びとジャイロセンサ３１により検出される角速度を元に、ＩＪ記録ヘッド２４の各ノズルの位置、該位置に応じて形成する画像の決定、後述する吐出ノズル可否判定等を行う。制御部２５について詳細は次述する。
【００４２】
図５は、制御部２５の構成を説明する図の一例である。制御部２５はＳｏＣ５０とＡＳＩＣ/ＦＰＧＡ４０を有している。ＳｏＣ５０とＡＳＩＣ/ＦＰＧＡ４０はバス４６，４７を介して通信する。ＡＳＩＣ/ＦＰＧＡ４０はどちらの実装技術で設計されてもよいことを意味し、ＡＳＩＣ/ＦＰＧＡ４０以外の他の実装技術で構成されてよい。また、ＳｏＣ５０とＡＳＩＣ/ＦＰＧＡ４０を別のチップにすることなく１つのチップや基板で構成してもよい。あるいは、３つ以上のチップや基板で実装してもよい。
【００４３】
ＳｏＣ５０は、バス４７を介して接続されたＣＰＵ３３、位置算出回路３４、メモリＣＴＬ（コントローラ）３５、及び、ＲＯＭ ＣＴＬ（コントローラ）３６等の機能を有している。なお、ＳｏＣ５０が有する構成要素はこれらに限られない。
【００４４】
また、ＡＳＩＣ/ＦＰＧＡ４０は、バス４６を介して接続されたImage RAM３７、ＤＭＡＣ３８、回転器３９、割込みコントローラ４１、ナビゲーションセンサＩ/Ｆ４２、印字/センサタイミング生成部４３、ＩＪ記録ヘッド制御部４４及びジャイロセンサＩ/Ｆ４５を有している。なお、ＡＳＩＣ/ＦＰＧＡ４０が有する構成要素はこれらに限られない。
【００４５】
ＣＰＵ３３は、ＲＯＭ２８からＤＲＡＭ２９に展開されたファームウェア（プログラム）などを実行し、ＳｏＣ５０内の位置算出回路３４、メモリＣＴＬ３５、及び、ＲＯＭ ＣＴＬ３６の動作を制御する。また、ＡＳＩＣ/ＦＰＧＡ４０内のImage RAM３７、ＤＭＡＣ３８、回転器３９、割込みコントローラ４１、ナビゲーションセンサＩ/Ｆ４２、印字/センサタイミング生成部４３、ＩＪ記録ヘッド制御部４４及びジャイロセンサＩ/Ｆ４５等の動作を制御する。
【００４６】
位置算出回路３４は、ＨＭＰ２０の位置（座標情報）を算出する。まず、方法Ａが選択された場合、位置算出回路３４は、１つのナビゲーションセンサ３０が検出するサンプリング周期ごとの移動量及びジャイロセンサ３１が検出するサンプリング周期ごとの角速度に基づいてＨＭＰ２０の位置を算出する。方法Ｂが選択された場合、位置算出回路３４は、２つのナビゲーションセンサ３０が検出するサンプリング周期ごとの２つの移動量のいずれか一方と、２つの移動量に基づく回転角とに基づいてＨＭＰ２０の位置を算出する。ＨＭＰ２０の位置とは、厳密にはノズル６１の位置であるが、ナビゲーションセンサ３０のある位置が分かればノズル６１の位置を算出できる。本実施例では、特に断らない限りナビゲーションセンサ３０の位置としてナビゲーションセンサＳ０又はＳ１の位置をいう。また、位置算出回路３４は目標吐出位置を算出する。位置算出回路３４をＣＰＵ３３がソフト的に実現してもよい。
【００４７】
ナビゲーションセンサ３０の位置は、後述するように例えば所定の原点（画像形成が開始される時のＨＭＰ２０の初期位置）を基準に算出されている。また、位置算出回路３４は、過去の位置と最も新しい位置の差に基づいて加速度や移動方向を推定し、例えば次回の周期（インクの吐出タイミング）における位置を予測する。こうすることで、ユーザの走査に対する遅れを抑制してインクを吐出できる。
【００４８】
メモリＣＴＬ３５は、ＤＲＡＭ２９とのインタフェースであり、ＤＲＡＭ２９に対しデータを要求し、取得したファームウェアをＣＰＵ３３に送出したり、取得した画像データをＡＳＩＣ/ＦＰＧＡ４０に送出する。
【００４９】
ＲＯＭ ＣＴＬ３６は、ＲＯＭ２８とのインタフェースであり、ＲＯＭ２８に対しデータを要求し、取得したデータをＣＰＵ３３やＡＳＩＣ/ＦＰＧＡ４０に送出する。
【００５０】
回転器３９は、ＤＭＡＣ３８が取得した画像データを、インクを吐出するヘッド、及び、ヘッド内のノズル位置、及び、取り付け誤差などによるヘッド傾きに応じて回転させる。ＤＭＡＣ３８は回転後の画像データをＩＪ記録ヘッド制御部４４へ出力する。
【００５１】
Image RAM３７はＤＭＡＣ３８が取得した画像データを一時的に格納する。すなわち、ある程度の画像データがバッファリングされ、ＨＭＰ２０の位置に応じて読み出される。
【００５２】
ＩＪ記録ヘッド制御部４４は、画像データ（ビットマップデータ）にディザ処理などを施して大きさと密度で画像を表す点の集合に画像データを変換する。これにより、画像データは吐出位置と点のサイズのデータとなる。ＩＪ記録ヘッド制御部４４は点のサイズに応じた制御信号をＩＪ記録ヘッド駆動回路２３に出力する。ＩＪ記録ヘッド駆動回路２３は上記のように制御信号に対応した駆動波形データを用いて、駆動波形（電圧）を生成する。
【００５３】
ナビゲーションセンサＩ/Ｆ４２は、ナビゲーションセンサ３０と通信し、ナビゲーションセンサ３０からの情報として移動量ΔＸ´、ΔＹ´（これらについては後述する）を受信し、その値をレジスタに格納する。ナビゲーションセンサ３０からの情報は、その他、反射光の読み取りが良好かどうかなどを示すステータス通知機能（後述するセンサ信頼度情報が含まれる）も有する。
【００５４】
印字/センサタイミング生成部４３は、ナビゲーションセンサＩ/Ｆ４２とジャイロセンサＩ/Ｆ４５が情報を読み取るタイミングを通知し、ＩＪ記録ヘッド制御部４４に駆動タイミングを通知する。情報を読み取るタイミングの周期はインクの吐出タイミングの周期よりも長い。ＩＪ記録ヘッド制御部４４は吐出ノズル可否判定を行い、インクを吐出すべき目標吐出位置があればインクを吐出し、目標吐出位置がなければ吐出しないと判定する。
【００５５】
ジャイロセンサＩ/Ｆ４５は印字/センサタイミング生成部４３により生成されたタイミングになるとジャイロセンサ３１が検出する角速度を取得してその値をレジスタに格納する。
【００５６】
割込みコントローラ４１は、ナビゲーションセンサＩ/Ｆ４２がナビゲーションセンサ３０との通信が完了したことを検知して、ＳｏＣ５０へそれを通知するための割込み信号を出力する。ＣＰＵ３３はこの割込みにより、ナビゲーションセンサＩ/Ｆ４２がレジスタに記憶するΔＸ´、ΔＹ´を取得する。ジャイロセンサＩ/Ｆ４５に関しても同様に、割込みコントローラ４１はＳｏＣ５０に対し、ジャイロセンサ３１との通信が終了したことを通知するための割込み信号を出力する。
【００５７】
＜ジャイロセンサ３１＞
図６は、ジャイロセンサ３１が角速度を検出する原理を説明する図の一例である。移動している物体に回転が加わると、物体の移動方向と回転軸の両方に直行する方向にコリオリ力が発生する。
【００５８】
物体を移動させるため、ジャイロセンサ３１ではＭＥＭＳ（Micro Electro Mechanical Systems）素子を振動させることで速度ｖ（ベクトル）を発生させる。振動している質量ｍのＭＥＭＳ素子に外部から角速度ω（ベクトル）の回転が加わると、ＭＥＭＳ素子にコリオリ力が加わる。コリオリ力Ｆは以下のように表すことができる。
Ｆ＝−２ｍΩ×ｖ
なお、「×」はベクトルの外積を表し、上記のように物体の移動方向と回転軸に直交する方向がコリオリ力Ｆの方向である。ＭＥＭＳ素子は例えば櫛歯構造の電極を有しており、ジャイロセンサ３１はコリオリ力Ｆにより発生した変位を静電容量の変化として捉える。コリオリ力Ｆの信号はジャイロセンサ３１内で増幅されフィルタリングされた後、角速度に演算されて出力される。すなわち、Ｆ，ｍ、ｖが既知なので角速度ωを取り出すことができる。
【００５９】
＜ナビゲーションセンサについて＞
図７は、ナビゲーションセンサのハードウェア構成の構成例を示す図である。なお、ナビゲーションセンサＳ０とＳ１は同じ構造であるとする。ナビゲーションセンサ３０は、ホストＩ/Ｆ３０１、イメージプロセッサ３０２、ＬＥＤドライバ３０３、２つのレンズ３０４、３０６及び、イメージアレイ３０５を有する。ＬＥＤドライバ３０３は、ＬＥＤと制御回路が一体となっておりイメージプロセッサ３０２からの命令によりＬＥＤ光を照射する。イメージアレイ３０５は、印刷媒体１２からのＬＥＤ光の反射光をレンズ３０４を介して受光する。２つのレンズ３０４，３０６は、印刷媒体１２の表面に対して光学的に焦点が合うように設置されている。
【００６０】
イメージアレイ３０５は、ＬＥＤ光の波長に感度を有するフォトダイオードなどを有し、受光したＬＥＤ光からイメージデータを生成する。イメージプロセッサ３０２はイメージデータを取得して、イメージデータからナビゲーションセンサの移動距離（上記のΔＸ´、ΔＹ´）を算出する。イメージプロセッサ３０２は、算出した移動距離を、ホストＩ/Ｆ３０１を介して制御部２５へ出力する。
【００６１】
光源として使用される発光ダイオード(ＬＥＤ)は、表面が粗い印刷媒体１２、例えば紙を使用する場合に有用である。これは、表面が粗い場合、影が発生するため、その影を特徴部分として、Ｘ軸方向及びＹ軸方向の移動距離を正確に算出することが可能になるからである。一方、表面が滑らか、あるいは透明な印刷媒体１２に対しては、光源としてレーザ光を発生させる半導体レーザ(ＬＤ)を使用することができる。半導体レーザで、印刷媒体１２上に例えば縞模様等を形成することで特徴部分を作ることができ、それを基に正確に移動距離を算出することができるからである。
【００６２】
次に、図８を用いて、ナビゲーションセンサ３０の動作について説明する。図８はナビゲーションセンサ３０による移動量の検出方法を説明する図である。ＬＥＤドライバ３０３が照射した光は、レンズ３０６を介して印刷媒体１２の表面に照射される。印刷媒体１２の表面は、図８（ａ）に示すように様々な形状の微小な凹凸を有している。このため、様々な形の影が発生する。
【００６３】
イメージプロセッサ３０２は、予め決められたサンプリングタイミング毎に、レンズ３０４及びイメージアレイ３０５を介して反射光を受光し、イメージデータ３１０を取得する。図８（ｂ）に示すように生成したイメージデータ３１０を、イメージプロセッサ３０２は規定の分解能単位でマトリクス化する。すなわち、イメージデータ３１０を複数の矩形領域に分割する。そして、イメージプロセッサ３０２は、前回のサンプリングタイミングで得られたイメージデータ３１０と、今回のサンプリングタイミングで得られたイメージデータ３１０とを比較してイメージデータ３１０が移動した矩形領域の数を検出し、それを移動距離として算出する。図８（ｂ）で図示するΔＸ方向にＨＭＰ２０が移動したとする。ｔ＝０とｔ＝１のイメージデータ３１０を比較すると、右端にある形状が中央の形状と一致する。したがって、形状は−Ｘ方向に移動しているので、ＨＭＰ２０がＸ方向に一マス分移動したことが分かる。時刻ｔ＝１とｔ＝２についても同様である。
【００６４】
＜ＩＪ記録ヘッド駆動回路＞
図９は、ＩＪ記録ヘッド駆動回路２３の構成図の一例である。まず、ＩＪ記録ヘッド２４は、複数のノズル６１を備え、各ノズル６１にはアクチュエータが設けられている。アクチュエータは、サーマル方式、ピエゾ方式のいずれであってもよい。サーマル方式は、ノズル内のインクに熱を与えて膨張させ、この膨張によりノズル６１からインク滴を吐出させるものである。ピエゾ方式は、圧電素子によりノズル壁を押し、内部のインクを押し出すことによりインク滴を吐出させるものである。
【００６５】
ＩＪ記録ヘッド駆動回路２３は、アナログスイッチ２３１と、レベルシフタ２３２と、階調デコーダ２３３と、ラッチ２３４と、シフトレジスタ２３５とを備えている。ＩＪ記録ヘッド制御部４４は、ＩＪ記録ヘッド駆動回路２３に対し、ＩＪ記録ヘッド２４のノズル６１の数（アクチュエータの数も同じ）分のシリアルデータである画像データＳＤを、画像データ転送クロックSCKによってシフトレジスタ２３５に転送する。
【００６６】
転送が終了すると、ＩＪ記録ヘッド制御部４４は、画像データラッチ信号SLnによりノズル毎に設けられたラッチ２３４に各画像データＳＤを記憶させる。
【００６７】
ＩＪ記録ヘッド制御部４４は、画像データＳＤをラッチさせた後、アナログスイッチ２３１へ各階調値のインク滴を各ノズルから吐出させるためのヘッド駆動波形Vcomを出力する。このとき、ＩＪ記録ヘッド制御部４４は、階調デコーダ２３３に対してヘッド駆動マスクパターンＭＮを階調制御信号として与えるが、そのヘッド駆動マスクパターンＭＮを駆動波形のタイミングに合わせて選択するように遷移させる。
【００６８】
階調デコーダ２３３は、階調制御信号とラッチされた画像データとを論理演算し、レベルシフタ２３２は、論理演算した得られた論理レベル電圧信号を、アナログスイッチ２３１を駆動できる電圧レベルまで昇圧する。
【００６９】
アナログスイッチ２３１は、昇圧された電圧信号を受け付けON/OFFすることにより、ＩＪ記録ヘッドのアクチュエータへ供給する駆動波形VoutNが各ノズルで異なる波形となる。ＩＪ記録ヘッド２４は、この駆動波形に基づきインク滴を吐出させ、印刷媒体１２上に画像を形成する。
【００７０】
なお、図９の構成及びその説明は、インクジェット方式のプリンタで一般に採用されている構成である。インク滴を吐出できれば、図９の構成に限られずＨＭＰ２０に搭載されてよい。
【００７１】
＜ＩＪ記録ヘッドにおけるノズル位置について＞
次に、図１０を用いて、ＩＪ記録ヘッド２４におけるノズル位置等について説明する。図１０（ａ）は、ＨＭＰ２０の平面図の一例である。図１０（ｂ）はＩＪ記録ヘッド２４のみを説明する図の一例である。図示されている面が印刷媒体１２に対向する面である。
【００７２】
本実施形態のＨＭＰ２０は、２つのナビゲーションセンサＳ０を有している。２つのナビゲーションセンサＳ０，Ｓ１の間の長さは距離Ｌである。距離Ｌは長いほどよい。これは、距離Ｌが長いほど検出可能な最小の回転角θが小さくなり、ＨＭＰ２０の位置の誤差が少なくなるからである。
【００７３】
ナビゲーションセンサ３０からＩＪ記録ヘッド２４までの距離はそれぞれ距離ａ、ｂである。距離ａと、距離ｂは等しくてもよいし、ゼロでもよい（ＩＪ記録ヘッド２４に接している）。また、ナビゲーションセンサ３０が１つだけの場合、ナビゲーションセンサＳ０はＩＪ記録ヘッド２４の周囲の任意の場所に配置される。したがって、図示するナビゲーションセンサＳ０、Ｓ１の位置は一例である。ただし、ＩＪ記録ヘッド２４とナビゲーションセンサＳ０、Ｓ１の距離が短いことでＨＭＰ２０の底面のサイズを削減しやすくなる。
【００７４】
図１０（ｂ）に示すように、ＩＪ記録ヘッド２４の端から最初のノズル６１までの距離は距離ｄ、隣接するノズル間の距離は距離ｅである。ａ〜ｅの値はＲＯＭ２８などに予め記憶されている。
【００７５】
位置算出回路３４などがナビゲーションセンサＳ０の位置を算出すれば、距離ａ（距離ｂ）、距離ｄ及び距離ｅを用いて、位置算出回路３４はノズル６１の位置を算出できる。
【００７６】
＜印刷媒体１２におけるＨＭＰ２０の位置について＞
図１１は、ＨＭＰ２０の座標系と位置の算出方法を説明する図の一例である。本実施形態では、印刷媒体１２に水平な方向をＸ軸、垂直な方向をＹ軸に設定する。原点は画像形成が開始された際のナビゲーションセンサＳ０の位置である。この座標を印刷媒体座標と称することにする。これに対し、ナビゲーションセンサＳ０は図１１の座標軸（Ｘ´軸、Ｙ´軸）で移動量を出力する。すなわち、ノズル６１の配列方向をＹ´軸、Ｙ´軸に直交する方向をＸ´軸として移動量を出力する。
【００７７】
図１０（ａ）に示したように、印刷媒体１２に対しＨＭＰ２０が時計回りにθ回転している場合を例にして説明する。ユーザがＨＭＰ２０を印刷媒体座標に対し全く傾けることなく走査させることは困難でゼロでないθが生じると考えられる。全く回転していなければ、Ｘ＝Ｘ´、Ｙ＝Ｙ´である。しかし、ＨＭＰ２０が印刷媒体１２に対し回転角θ、回転した場合、ナビゲーションセンサＳ０の出力とＨＭＰ２０の印刷媒体１２における実際の位置が一致しなくなる。回転角θは時計回りが正、Ｘ、Ｘ´は右方向が正、Ｙ、Ｙ´は上方向が正である。
【００７８】
図１１（ａ）はＨＭＰ２０のＸ座標を説明する図の一例である。図１１（ａ）では回転角θのＨＭＰ２０がＸ方向にのみ同じ回転角θのまま移動した場合のナビゲーションセンサＳ０が検出する移動量ΔＸ´、ΔＹ´とＸ，Ｙの対応を示している。なお、２つのナビゲーションセンサＳ０Ｓ１の相対位置は固定なので２つのナビゲーションセンサＳ０Ｓ１の出力（移動量）は同じである。ナビゲーションセンサＳ０のＸ座標はＸ１＋Ｘ２であり、Ｘ１＋Ｘ２はΔＸ´、ΔＹ´及び回転角θから求められる。
【００７９】
図１１（ｂ）は回転角θのＨＭＰ２０がＹ方向にのみ同じ回転角θのまま移動した場合のナビゲーションセンサＳ０が検出する移動量ΔＸ´、ΔＹ´とＸ，Ｙの対応を示している。ナビゲーションセンサＳ０のＹ座標はＹ１＋Ｙ２であり、Ｙ１＋Ｙ２は−ΔＸ´、ΔＹ´及び回転角θから求められる。
【００８０】
したがって、ＨＭＰ２０がＸ方向及びＹ方向に回転角θのまま移動した場合、ナビゲーションセンサＳ０が出力するΔＸ´、ΔＹ´は印刷媒体座標のＸ，Ｙに以下のように変換できる。
Ｘ＝ΔＸ´cosθ＋ΔＹ´sinθ  …（１）
Ｙ＝−ΔＸ´sinθ＋ΔＹ´cosθ  …（２）
<<回転角θの検出>>
本実施形態では、回転角θをジャイロセンサ３１の出力により求める場合（方法Ａ）と、２つのナビゲーションセンサＳ０，Ｓ１の移動量を用いて回転角θを求める場合（方法Ｂ）がある。それぞれの順番に説明する。
【００８１】
・方法Ａ（ジャイロセンサ３１の角速度を用いた回転角θの算出方法）
ジャイロセンサ３１の出力を用いた回転角θの算出方法を説明する。ジャイロセンサ３１の出力は角速度ωである。
ω=dθ/dt
であるから、ｄｔをサンプリング周期とすると回転角の変化量ｄθは以下で表せる。
dθ=ω×dt    …  （３）
したがって、現在（時間t=0〜N）の回転角θは以下のようになる。
【００８２】
【数１】
2017170634.tif 000003
このように、ジャイロセンサ３１の出力によりＨＭＰ２０は回転角θを求めることができる。式（１）（２）に示すように、ＨＭＰ２０は回転角θを用いて位置を検出できる。ナビゲーションセンサＳ０又はＳ１の位置を検出できれば、図１０（ｂ）に示したａ〜ｅの値により、位置算出回路３４は各ノズル６１の座標を算出することができる。なお、式（１）のＸ、式（２）のＹはそれぞれサンプリング周期における変化量なのでこのＸ，Ｙを累積することで現在の位置が求められる。
【００８３】
・方法Ｂ（ナビゲーションセンサＳ０，Ｓ１の移動量を用いた回転角θの算出方法）
図１２を用いて、ナビゲーションセンサＳ０，Ｓ１が出力する移動量を用いた回転角θの算出方法を説明する。図１２は、画像形成中に生じるＨＭＰ２０の回転角の変化量ｄθの求め方を説明する図の一例である。回転角の変化量ｄθは２つのナビゲーションセンサＳ０，Ｓ１が検出する移動量ΔＸ´を用いて算出される。印刷媒体１２の上側のナビゲーションセンサＳ０が検出する移動量ΔＸ´0、ナビゲーションセンサＳ１が検出する移動量をΔＸ´1とする。なお、図１２ではすでに得られている回転角をθとしている。
【００８４】
ＨＭＰ２０が平行移動しながらｄθ回転した場合、移動量ΔＸ´0とΔＸ´1は一致しない。しかし、どちらの出力も２つのナビゲーションセンサＳ０，Ｓ１を結ぶ直線に垂直な方向の移動量なので、移動量ΔＸ´0とΔＸ´1の差は「ΔＸ´0−ΔＸ´1」として求めることができる。この差はＨＭＰ２０がｄθ回転したことにより生じた値である。また、「ΔＸ´0−ΔＸ´1」、Ｌ、及び、ｄθに図１２に示す関係があることから、ｄθは以下のように表すことができる。
ｄθ＝arcsin｛（ΔＸ´0−ΔＸ´1）/Ｌ｝  …（４）
位置算出回路３４がこのｄθを積算することで回転角θを求めることができる。式（１）（２）に示すように、回転角θを用いてＨＭＰ２０は位置を検出できる。また、式（４）から分かるように、より小さいｄθを検出するには距離Ｌを大きくすることが好ましい。したがって、距離Ｌが位置の精度に影響するが、距離Ｌを大きくするとＨＭＰ２０の底面積が大きくなり、画像形成可能範囲５０１が小さくなる。
【００８５】
＜目標吐出位置＞
続いて、図１３を用いて目標吐出位置について説明する。図１３は、目標吐出位置とノズル６１の位置の関係を説明する図の一例である。目標吐出位置Ｇ１〜Ｇ９は、ＨＭＰ２０がノズル６１からインクを着弾させる目標位置（画素の形成先）である。目標吐出位置Ｇ１〜Ｇ９は、ＨＭＰ２０の初期位置とＨＭＰ２０のＸ軸/Ｙ軸方向の解像度(Xdpi,Ydpi)から求めることができる。
【００８６】
例えば、解像度が３００dpiの場合、ＩＪ記録ヘッド２４の長手方向及びこれに対し垂直な方向に約0.084[mm]ごとに目標吐出位置が設定される。この目標吐出位置Ｇ１〜Ｇ９に吐出される画素があれば、ＨＭＰ２０はインクを吐出する。
【００８７】
しかし、実際には、ノズル６１と目標吐出位置が完全に一致するタイミングを捉えることは困難なので、ＨＭＰ２０は目標吐出位置とノズル６１の現在位置との間に許容誤差６２を設けている。そして、ノズル６１の現在位置が目標吐出位置から許容誤差６２の範囲内にある場合に、ノズル６１からインクを吐出する（このような許容範囲を設けることを「吐出ノズル可否判定」という。）。
【００８８】
また、矢印６３に示すように、ＨＭＰ２０はノズル６１の移動方向と加速度を監視しており、次回の周期（吐出タイミング）のノズル６１の位置を予測している。したがって、予測された位置と許容誤差６２の範囲内を比較してインクの吐出を準備することが可能になる。
【実施例１】
【００８９】
本実施例では、位置検出方法の選択に関する情報７０としてユーザ設定が用いられる場合のＨＭＰ２０について説明する。
【００９０】
図１４は、画像データ出力器１１とＨＭＰ２０の機能ブロック図の一例を示す。画像データ出力器１１は、主な機能として通信部７１、操作入力受付部７２、表示制御部７３、及び、記憶部１０００を有している。画像データ出力器１１は、上記した情報処理装置としての機能を有し、ＣＰＵ，ＲＡＭ、ＲＯＭ、キーボード、マウス、フラッシュメモリ、ディスプレイ（タッチパネル）、通信Ｉ／Ｆ、及び、記憶媒体装着部等を有する。通信部７１、操作入力受付部７２及び表示制御部７３は、ＣＰＵが記憶部１０００のプログラム１０１０を実行して実現される機能又は手段である。記憶部１０００はＲＡＭやフラッシュメモリなどにより実現される記憶手段である。記憶部１０００にはプログラム１０１０が記憶されている。このプログラム１０１０は、画像データ出力器１１がＨＭＰ２０に印刷ジョブを要求するためのアプリケーションプログラムである。プログラム１０１０はＨＭＰ２０にユーザが各種の設定を行ったりＨＭＰ２０の状態（インク残量、印刷の進捗、エラー発生など）を監視したりする。プログラム１０１０は記憶媒体に記憶された状態で配布されたり、プログラム配信用のサーバからダウンロードされることで配信される。
【００９１】
通信部７１は、上記のＣＰＵや通信Ｉ／Ｆ等により実現され、ＨＭＰ２０と各種のデータの送受信を行う。例えば、印刷ジョブで使用される画像データやユーザの設定情報などが送信され、また、ＨＭＰ２０のステータスなどが送信される。
【００９２】
操作入力受付部７２は、ＣＰＵ、キーボード、マウス及びタッチパネル等により実現され、ユーザの操作入力を受け付ける。マイクから音声で操作が入力されてもよい。
【００９３】
表示制御部７３は、ＣＰＵの処理によって実現され、ディスプレイに表示する各種画面を作成したり、ディスプレイに各種画面を表示させるための制御を行なう。
【００９４】
また、ＨＭＰ２０は通信部５２及び位置検出方法選択部５１を有する。これらは、図５に示したＣＰＵ３３がＲＯＭ２８に記憶されたプログラムをＤＲＡＭ２９に展開して実行することで得られる機能又は手段である。また、ＨＭＰ２０は記憶部２０００を有する。記憶部２０００はＤＲＡＭ２９やＲＯＭ２８などにより実現される記憶手段である。記憶部２０００には、ユーザが画像データ出力器１１で設定したユーザ設定２００１が記憶される。
【００９５】
【表１】
2017170634.tif 000004
表１は、記憶部２０００に記憶されているユーザ設定をテーブル状に示す。ユーザ設定には、印刷媒体１２が動きやすいかどうかについて、ユーザの設定情報（Ｙｅｓ、Ｎｏ）が登録されている。また、ユーザが乗り物で移動中かどうかについて、ユーザの設定情報（Ｙｅｓ、Ｎｏ）が登録されている。
【００９６】
通信部５２は、ＣＰＵ３３や通信Ｉ／Ｆ２７等により実現され、画像データ出力器１１と各種のデータの送受信を行う。例えば、印刷ジョブで使用される画像データやユーザの設定情報などを受信し、また、ＨＭＰ２０の状態などを送信する。
【００９７】
位置検出方法選択部５１は、ＣＰＵ３３等により実現され、ユーザ設定２００１を参照して位置検出方法を選択する。位置検出方法選択部５１は、１つでもＹｅｓがあると方法Ｂを選択し、それ以外では方法Ａを選択する。
【００９８】
＜ユーザインタフェース＞
図１５は、ユーザが画像データ出力器１１のディスプレイに表示させるユーザ設定画面の一例である。ユーザ設定画面には、「印刷媒体が動きやすい場合にチェックしてください。」というメッセージ５１１、「印刷媒体が動きやすい」という文字に伴うチェックマーク５１２、及び、「乗り物で移動中」という文字に伴うチェックマーク５１３、が表示されている。ユーザは、自分が印刷に使用する印刷媒体１２が、ＨＭＰ２０と共に動いてしまうような紙質の場合、マウスなどのポインティングデバイスでチェックマーク５１２をチェックする。印刷媒体１２が動いてしまうとジャイロセンサ３１では位置の検出が困難になるので、方法Ｂが選択される。また、ユーザは、自分が乗り物で移動中の場合、マウスなどのポインティングデバイスでチェックマーク５１３をチェックする。乗り物で移動中はＨＭＰ２０が印刷媒体１２に対し動いていなくてもジャイロセンサ３１が角速度を検出してしまうので、方法Ｂが選択される。
【００９９】
一方、例えばハガキのような小さい印刷媒体１２が使用される場合、ＨＭＰ２０の底面がハガキからはみ出す可能性が高いため、ユーザはチェックマーク５１２をチェックしない。ＨＭＰ２０の底面がハガキからはみ出すとナビゲーションセンサＳ０、Ｓ１による位置の検出が困難になるので、方法Ａが採用される。また、乗り物で移動していない場合、ユーザはチェックマーク５１３をチェックしない。この場合も方法Ａが採用される。このように、本実施例ではユーザが適切な位置検出方法を設定できる。
【０１００】
なお、画像データ出力器１１の操作入力受付部７２はユーザの設定を受け付け、記憶部１０００に記憶しておく。チェックマーク５１２、５１３のそれぞれがチェックされるとユーザの設定情報は「Ｙｅｓ」と扱われる。そして、印刷ジョブと共に通信部７１がユーザ設定をＨＭＰ２０に送信する。このような設定はＨＭＰ２０のＯＰＵ２６に対し、ユーザが直接行うことも可能である。
【０１０１】
＜動作手順＞
図１６は、画像データ出力器１１とＨＭＰ２０の動作手順を説明するフローチャート図の一例である。まず、ユーザは画像データ出力器１１の電源ボタンを押下する（Ｕ１０１）。画像データ出力器１１はそれを受け付け、電池等から電源が供給されて起動する。
【０１０２】
次に、画像データ出力器１１の操作入力受付部７２は、印刷媒体１２が動きやすいかどうかについてユーザ設定を受け付ける（Ｓ１０２）。
【０１０３】
また、ユーザは画像データ出力器１１で出力したい画像を選択する（Ｕ１０３）。画像データ出力器１１は画像の選択を受け付ける。ワープロアプリケーションのようなソフトウェアの文書データが画像として選択されてもよいし、ＪＰＥＧなどの画像データが選択されてもよい。必要であればプリンタドライバが画像データ以外のデータを画像に変更してよい。
【０１０４】
ユーザは選択した画像をＨＭＰ２０で印刷する操作を行う（Ｕ１０４）。ＨＭＰ２０は印刷ジョブの実行の要求を受け付ける。印刷ジョブの要求により画像データとユーザ設定がＨＭＰ２０へ送信される。
【０１０５】
ユーザは、ＨＭＰ２０を持ち、印刷媒体１２（例えばノート）の上で初期位置を決定する（Ｕ１０５）。
【０１０６】
そして、ユーザはＨＭＰ２０の印刷開始ボタンを押下する（Ｕ１０６）。ＨＭＰ２０は印刷開始ボタンの押下を受け付ける。
【０１０７】
ユーザはＨＭＰ２０を印刷媒体１２の上で滑らせるように自由に走査する（Ｕ１０７）。
【０１０８】
続いて、ＨＭＰ２０の動作を説明する。以下の動作はＨＭＰ２０のＣＰＵ３３がファームウェアを実行することで行われる。まず、方法Ａについて説明し、方法Ｂについては方法Ａとの相違を説明する。本実施例で方法Ａが選択される場合、ナビゲーションセンサＳ０、Ｓ１のどちらの移動量が取得されるかは、予め決まっているものとする。あるいは、ユーザが上記のようなユーザインタフェースから設定してもよい。
・方法Ａ
ＨＭＰ２０も電源のＯＮにより起動する。ＨＭＰ２０のＣＰＵ３３は、ＨＭＰ２０に内蔵されている図４，５のハードウェア要素を初期化する（Ｓ１０１）。例えば、ナビゲーションセンサＩ/Ｆ４２やジャイロセンサＩ/Ｆ４５のレジスタを初期化したり、印字／センサタイミング生成部４３にタイミング値を設定したりする。また、ＨＭＰ２０と画像データ出力器１１との間の通信を確立する。
【０１０９】
ＨＭＰ２０のＣＰＵ３３は初期化が完了したかどうかを判定し、完了していない場合はこの判定を繰り返す（Ｓ１０２）。
【０１１０】
初期化が完了すると（Ｓ１０２のＹｅｓ）、ＨＭＰ２０のＣＰＵ３３は、ＯＰＵ２６の例えばＬＥＤ点灯によりユーザに印刷可能な状態であることを報知する（Ｓ１０３）。これにより、ユーザは印刷可能な状態であることを把握し、上記のように印刷ジョブの実行を要求する。
【０１１１】
次に、位置検出方法選択部５１は、画像データ出力器１１から取得したユーザ設定を参照して位置検出方法を選択する（Ｓ１０３−２）。まず、ユーザ設定で１つも「Ｙｅｓ」が設定されていないものとする（「印刷媒体が動きやすい」がチェックされず、「乗り物で移動中」もチェックされない。）。したがって、位置検出方法選択部５１は方法Ａを選択する。
【０１１２】
印刷ジョブの実行の要求により、ＨＭＰ２０の通信Ｉ/Ｆ２７は画像データ出力器１１から画像データの入力を受け付け、画像が入力された旨をＯＰＵ２６のＬＥＤを点滅させる等によりユーザに対し報知する（Ｓ１０４）。
【０１１３】
ユーザが印刷媒体１２上でＨＭＰ２０の初期位置を決め印刷開始ボタンを押下すると、ＨＭＰ２０のＯＰＵ２６はこの操作を受け付け、ＣＰＵ３３がナビゲーションセンサＩ/Ｆ４２に位置を読み取らせる（Ｓ１０５）。これにより、ナビゲーションセンサＩ/Ｆ４２はナビゲーションセンサＳ０と通信し、ナビゲーションセンサＳ０が検出した移動量を取得しレジスタなどに格納しておく（Ｓ１００１）。ＣＰＵ３３はナビゲーションセンサＩ/Ｆ４２から移動量を読み出す。
【０１１４】
ユーザが印刷開始ボタンを押下した直後に取得された移動量はゼロであるがゼロでないとしても、ＣＰＵ３３は例えば座標(0,0)の初期位置としてＤＲＡＭ２９やＣＰＵ３３のレジスタなどに格納する（Ｓ１０６）。
【０１１５】
また、初期位置を取得すると印字／センサタイミング生成部４３がタイミングの生成を開始する（Ｓ１０７）。印字／センサタイミング生成部４３は、初期化で設定されたナビゲーションセンサＳ０の移動量の取得タイミングに達するとナビゲーションセンサＩ/Ｆ４２にタイミングとジャイロセンサＩ/Ｆ４５にタイミングを指示する。これが周期的に行われ上記のサンプリング周期となる。
【０１１６】
ＨＭＰ２０のＣＰＵ３３は、移動量と角速度情報を取得するタイミングであるか否かを判定する（Ｓ１０８）。この判定は、割込みコントローラ４１からの通知により行うが、印字／センサタイミング生成部４３と同じタイミングをＣＰＵ３３がカウントすることで判定してもよい。
【０１１７】
移動量と角速度情報を取得するタイミングになると、ＨＭＰ２０のＣＰＵ３３はナビゲーションセンサＩ/Ｆ４２から移動量を取得し、ジャイロセンサＩ/Ｆ４５から角速度情報を取得する（Ｓ１０９）。上記のように、ナビゲーションセンサＩ/Ｆ４２は印字／センサタイミング生成部４３が生成するタイミングでナビゲーションセンサＳ１から移動量を取得している。ジャイロセンサＩ/Ｆ４５は印字／センサタイミング生成部４３が生成するタイミングでジャイロセンサ３１から角速度情報を取得している。なお、ナビゲーションセンサＩ/Ｆ４２は２つのナビゲーションセンサＳ０，Ｓ１から移動量を取得しているのでＣＰＵ３３は２つとも取得して１つを削除する。あるいは、ＣＰＵ３３は１つだけ移動量を取得する。ここではナビゲーションセンサＳ１の移動量を取得したと説明する。
【０１１８】
次に、位置算出回路３４は角速度情報と移動量を用いてナビゲーションセンサＳ１の現在の位置を算出する（Ｓ１１０）。具体的には、位置算出回路３４は、前回のサイクルで算出した位置(Ｘ,Ｙ)に、今回取得した移動量(ΔＸ´、ΔＹ´)及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサＳ１の位置を算出する。初期位置のみで、前回算出した位置がない場合は、初期位置に今回取得した移動量(ΔＸ´、ΔＹ´) 及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサＳ１の位置を算出する。
【０１１９】
次に、位置算出回路３４はナビゲーションセンサＳ１の現在の位置を用いて各ノズル６１の現在の位置を算出する（Ｓ１１１）。
【０１２０】
このように、印字／センサタイミング生成部４３により角速度情報と移動量が同時に又はほぼ同時に取得されるので、回転角と回転角が検出されたタイミングで取得された移動量でノズル６１の位置を算出できる。したがって、種類が異なるセンサの情報でノズル６１の位置が算出されても、ノズル６１の位置の精度が低下しにくい。
【０１２１】
次に、ＣＰＵ３３はＤＭＡＣ３８を制御して、算出した各ノズル６１の位置を基に、各ノズル６１の周辺画像の画像データをＤＲＡＭ２９からImage RAM３７へ送信する（Ｓ１１２）。なお、回転器３９は、ユーザにより指定されたヘッド位置（ＨＭＰ２０の持ち方など）及びＩＪ記録ヘッド２４の傾きに応じて、画像を回転させる。
【０１２２】
次に、ＩＪ記録ヘッド制御部４４は周辺画像を構成する各画像要素の位置座標と、各ノズル６１の位置座標とを比較する（Ｓ１１３）。位置算出回路３４は、ノズル６１の過去の位置と現在の位置を用いてノズル６１の加速度を算出している。これにより、位置算出回路３４は、ナビゲーションセンサＩ/Ｆ４２が移動量を取得しジャイロセンサＩ/Ｆ４５が角速度情報を取得する周期よりも短いＩＪ記録ヘッド２４のインク吐出周期ごとにノズル６１の位置を推定している。ＩＪ記録ヘッド制御部４４は、位置算出回路３４が推定するノズル６１の位置から所定範囲内に画像要素の位置座標が含まれるか否かを判定する。
【０１２３】
吐出条件を満たさない場合、処理はステップＳ１０８に戻る。吐出条件を満たす場合、ＩＪ記録ヘッド制御部４４はノズル６１ごとに画像要素のデータをＩＪ記録ヘッド駆動回路２３に出力する（Ｓ１１５）。これにより、印刷媒体１２にはインクが吐出される。
【０１２４】
次に、ＣＰＵ３３は全ての画像データを出力したかを判定する（Ｓ１１６）。出力していない場合、ステップＳ１０８からＳ１１５までの処理を繰り返す。
【０１２５】
全ての画像データを出力した場合、ＣＰＵ３３は、例えばＯＰＵ２６のＬＥＤを点灯させユーザに印刷が終了したことを報知する（Ｓ１１７）。
【０１２６】
なお、全ての画像データを出力しなくても、ユーザが十分と判断した場合には、ユーザは印刷完了ボタンを押下し、ＯＰＵ２６がそれを受け付けて、印刷を終了してよい。印刷終了後、ユーザが電源をＯＦＦにすることもできるし、印刷が終了した時点で、自動で電源がOFFにされるようになっていてもよい。
【０１２７】
・方法Ｂ
ステップＳ１０３−２で、ユーザ設定に１つ以上「Ｙｅｓ」と設定されていた場合、位置検出方法選択部５１は方法Ｂを選択する。この場合、ＨＭＰ２０はジャイロセンサ３１を使わずに、２つのナビゲーションセンサＳ０，Ｓ１だけで回転角を算出する。
【０１２８】
ステップＳ１０７において、印字／センサタイミング生成部４３がタイミングの生成を開始する（Ｓ１０７）。しかし、印字／センサタイミング生成部４３は、初期化で設定されたナビゲーションセンサＳ０の移動量の取得タイミングに達するとナビゲーションセンサＩ/Ｆ４２にだけタイミングを指示する。これが周期的に行われ上記のサンプリング周期となる。あるいは、ジャイロセンサ３１にタイミングを指示するがＣＰＵ３３が角速度情報を取得しない又は取得して削除してもよい。
【０１２９】
ステップＳ１０８では、ＨＭＰ２０のＣＰＵ３３は、移動量を取得するタイミングであるか否かを判定する（Ｓ１０８）。
【０１３０】
移動量を取得するタイミングになると、ＨＭＰ２０のＣＰＵ３３はナビゲーションセンサＩ/Ｆ４２から、ナビゲーションセンサＳ０，Ｓ１の移動量を取得する（Ｓ１０９）。ジャイロセンサＩ/Ｆ４５からは角速度情報を取得しない。
【０１３１】
次に、位置算出回路３４は２つのナビゲーションセンサＳ０，Ｓ１の移動量から回転角を算出し、これと移動量を用いてナビゲーションセンサＳ０，Ｓ１の現在の位置を算出する（Ｓ１１０）。以降の処理は、方法Ａと同様でよい。
【０１３２】
このように、本実施形態のＨＭＰ２０は、ユーザ設定に応じて適切な位置検出方法を選択できる。
【実施例２】
【０１３３】
本実施例では、位置検出方法の選択に関する情報７０として紙面移動判定結果が用いられる場合のＨＭＰ２０について説明する。本実施例の概略を説明すると、印刷媒体１２が動いていなければ方法Ａを選択し、印刷媒体１２が動いていれば方法Ｂを選択する。したがって、画像形成可能範囲５０１が大きい方法Ａで優先的に位置を検出でき、印刷媒体１２が動いた場合も方法Ｂで印刷を継続できる。なお、印刷媒体１２が動くとは印刷媒体１２が置かれた面に対し印刷媒体１２が動くこと、又は、ユーザが乗り物などで移動中のため印刷媒体１２が地面に対し動いていることをいう。
【０１３４】
図１７は、ＨＭＰ２０の機能ブロック図の一例を示す。画像データ出力器１１について省略されている。図１７の説明では主に図１４との相違を説明する。本実施例のＨＭＰ２０は紙面移動判定部５３、オフセット部５４、及び、連続動作時間判定部５５を有する。
【０１３５】
紙面移動判定部５３はＣＰＵ３３等により実現され、ジャイロセンサ３１の角速度で求めた回転角の変化量ｄθAと、２つのナビゲーションセンサＳ０，Ｓ１の移動量から求めた回転角の変化量ｄθBの相違に基づき、印刷媒体１２が動いたか否かを判定する。判定結果は紙面移動判定結果２００２として記憶部２０００に記憶される。
【０１３６】
オフセット部５４はＣＰＵ３３等により実現され、ＨＭＰ２０の静止中、ジャイロセンサ３１の角速度情報をオフセットする。これにより、ジャイロセンサ３１のドリフトの影響を低減できる。なお、オフセットするため、オフセット部５４はＨＭＰ２０が印刷媒体１２に対し静止しているか否かを判定する。判定結果はＨＭＰ移動判定結果２００４として記憶部２０００に記憶される。
【０１３７】
連続動作時間判定部５５はＣＰＵ３３等により実現され、ＨＭＰ２０が連続して動作している時間を測定し、時間ｔ以上（閾値以上）となったかどうかを判定する。判定結果は連続動作判定結果２００３として記憶部２０００に記憶される。
【０１３８】
本実施例の位置検出方法選択部５１は、印刷媒体１２が動いたことを紙面移動判定結果２００２が示さない場合、方法Ａを選択し、印刷媒体１２が動いたことを示す場合、方法Ｂを選択する。また、位置検出方法選択部５１は、ＨＭＰ移動判定結果２００４が静止中を示す場合、方法Ｂを選択する。また、位置検出方法選択部５１は、連続動作判定結果２００３が時間ｔ以上の連続動作を示す場合、紙面移動判定結果２００２に関わらず方法Ｂを選択する。
【０１３９】
＜動作手順＞
図１８は、本実施例の画像データ出力器１１とＨＭＰ２０の動作手順を説明するフローチャート図の一例である。図１８の説明では図１６との相違を主に説明する。まず、図１８ではユーザが設定を行う必要がない。あるいは、ユーザ設定が行われても、紙面移動判定結果が優先される。
【０１４０】
また、図１６のステップＳ１０３−２が図１８では実行されず、ステップＳ１０９では、ジャイロセンサ３１の角速度情報及び２つのナビゲーションセンサＳ０，Ｓ１それぞれの移動量が取得される。そして、ステップＳ１０９−２で紙面移動判定が行われる。
【０１４１】
図１９は、紙面移動判定部５３が紙面移動判定を行う手順を示すフローチャート図の一例である。図１９の処理は図１８に示すように角速度情報及び移動量が取得されるごとに繰り返し実行される。
【０１４２】
紙面移動判定部５３は、ナビゲーションセンサＳ０, Ｓ１が検出する２つの移動量により式（４）を使って回転角の変化量ｄθB（第二の姿勢）を算出する（Ｓ１０）。なお、紙面移動判定部５３は加速度情報から式（３）を使って回転角の変化量ｄθA（第一の姿勢）を求める。ｄθの添え字のＡは方法Ａを、添え字のＢは方法Ｂを示す。
【０１４３】
次に、紙面移動判定部５３は、回転角の変化量ｄθAとｄθBを比較する（Ｓ２０）。すなわち、差の絶対値が閾値以下であるか否かを判定する。ここでαは定数であり、実験的に定められている。αは位置の精度に支障がない誤差程度の違いを示す。つまり、方法Ａと方法Ｂそれぞれで求めた姿勢が異なるか否かを判定する。
【０１４４】
ステップＳ２０の判定がＹｅｓの場合、紙面移動判定部５３は紙面が移動していないという紙面移動判定結果を記憶部２０００に記憶するので、位置検出方法選択部５１は回転角の変化量ｄθAを位置検出に使用する方法Ａを選択する（Ｓ３０）。補足すると、回転角の変化量ｄθAとｄθBに誤差程度の違いしかない場合、ジャイロセンサ３１も２つのナビゲーションセンサＳ０，Ｓ１も期待される精度で角速度情報と移動量を検出している。また、印刷媒体１２が動いている場合、ジャイロセンサ３１が検出する角速度情報は、ナビゲーションセンサＳ０，Ｓ１により検出される印刷媒体１２に対する相対的な移動量と相関しなくなる。したがって、変化量ｄθAとｄθBの差の絶対値が閾値以下である場合、印刷媒体１２が動いていないと判定できる。
【０１４５】
この場合、方法Ａでも方法Ｂでも所望の精度が得られるが、方法Ａの方が画像形成可能範囲５０１が広いため方法Ａが選択される。あるいは、方法Ａの方が位置の精度が高い場合にも方法Ａが選択されることが有効である。
【０１４６】
ステップＳ２０の判定がＮｏの場合、紙面移動判定部５３は印刷媒体１２が移動しているという紙面移動判定結果を記憶部２０００に記憶するので、位置検出方法選択部５１は回転角の変化量ｄθBを位置検出に使用する方法Ｂを選択する（Ｓ３０）。すなわち、印刷媒体１２が動いた場合、ジャイロセンサ３１が検出する回転角の変化量ｄθAの全てが位置に反映されないので、ナビゲーションセンサＳ０，Ｓ１により検出される回転角の変化量ｄθBを用いて位置が検出される。したがって、印刷媒体１２が移動すれば方法Ｂが選択され、品質を低下させずに印刷を継続できる。
【０１４７】
この後、処理は図１８のステップＳ１１０に進み、方法Ａ又は方法Ｂで位置が検出され、位置に応じたインクが吐出される。
【０１４８】
＜変形例＞
続いて、図２０〜２２を用いて、図１９の処理のいくつかの変形例について説明する。
【０１４９】
<<変形例１>>
図２０は、オフセット部５４がジャイロセンサ３１のドリフトをオフセットする手順を示すフローチャート図の一例である。図２０の説明では、図１９との相違を主に説明する。図２０は、ジャイロセンサ３１のドリフト（ＨＭＰ２０が動かなくても時間と共にｄθが大きくなる現象）を除外する処理を説明する。
【０１５０】
まず、ステップＳ１０の処理は図１９と同様である。次に、オフセット部５４は前回のサンプリング周期で取得した回転角の変化量ｄθAを用いて今回の周期の回転角の変化量ｄθAをオフセット補正する（Ｓ１２）。ジャイロセンサ３１は温度変化などの影響で上記のドリフトによりゼロでない角速度を出力するので、後述のステップＳ１８で保存される回転角の変化量ｄθAで現在の回転角の変化量ｄθAをオフセットする。具体的には、オフセットとは減算を意味し、「現在の回転角の変化量ｄθA−保存される回転角の変化量ｄθA」を算出する。これにより、方法Ａが選択されてもドリフトの影響を低減できる。
【０１５１】
次に、オフセット部５４は、ナビゲーションセンサＳ０, Ｓ１両方の移動量が０かどうかを判定する（Ｓ１４）。すなわち、ナビゲーションセンサＳ０，Ｓ１から見てＨＭＰ２０が移動したか否かが判定される。ステップＳ１４の判定に基づきＨＭＰ移動判定結果２００４を記憶部２０００に記憶させる。
【０１５２】
ステップＳ１４の判定がＹｅｓの場合、オフセット部５４はジャイロセンサ３１が検出する回転角の変化量ｄθAが静止している値と見なせるかどうかを判定する（Ｓ１６）。ジャイロセンサ３１はドリフトにより静止していてもゼロでない値を出力するが、動いている場合と比べると静止している場合は小さくなる。実験的に閾値を決めておくことで、静止していると見なせるかどうかを判定できる。
【０１５３】
ステップＳ１６の判定がＹｅｓの場合、ＨＭＰ２０が静止していると判定してよいので、オフセット部５４はジャイロセンサ３１が出力する回転角の変化量ｄθAをオフセット値として記憶部２０００に記憶させる（Ｓ１８）。したがって、静止している状態のオフセット値を保存できるのでステップＳ１２でオフセットできる。
【０１５４】
ステップＳ１６の判定がＮｏの場合、印刷媒体１２上のＨＭＰ２０が静止したまま印刷媒体１２だけが移動しているので（ジャイロセンサ３１が動いている）、オフセット部５４はジャイロセンサ３１のオフセット値を保存しない。
【０１５５】
次に、位置検出方法選択部５１は、ＨＭＰ移動判定結果２００４を参照して、ナビゲーションセンサＳ０，Ｓ１の移動量から位置を検出する方法Ｂを選択する（Ｓ１９）。すなわち、ＨＭＰ移動判定結果２００４はＨＭＰ２０が静止中であることを示すので、ドリフトの影響がある回転角の変化量ｄθAではなく、回転角の変化量ｄθBで位置を検出する方法Ｂが選択される。
【０１５６】
ステップＳ１４でＮｏと判定される場合、ＨＭＰ２０が印刷媒体１２に対し動いているので、図１９と同様に紙面移動判定が行われる。この処理は図１９と同様である。静止中のジャイロセンサ３１のドリフトはオフセットされているので、方法Ａが選択されても位置の精度が低下しにくい。
【０１５７】
したがって、図２０の処理によれば、ＨＭＰ２０が印刷媒体１２に対し静止している場合はオフセット値を記録しておき方法Ｂで位置を検出できる。ＨＭＰ２０が動き始めても静止中のジャイロセンサ３１のドリフトがオフセットされているので、静止中のドリフトの影響を低減して位置を検出できる。
【０１５８】
<<変形例２>>
図２１は、紙面移動判定結果に応じて位置検出方法選択部５１が回転角の変化量ｄθを算出する手順を示すフローチャート図の一例である。図２１の説明では、図１９との相違を主に説明する。ステップＳ１０，Ｓ２０の処理は図１９と同様である。
【０１５９】
ステップＳ２０の判定がＹｅｓの場合、位置検出方法選択部５１は重み係数ａを一段階大きくする（Ｓ２２）。ステップＳ２０の判定がＮｏの場合、位置検出方法選択部５１は重み係数ａを一段階小さくする（Ｓ２４）。なお、位置検出方法選択部５１はａの値を記憶部２０００に記憶しておく。
【０１６０】
ステップＳ２２、Ｓ２４で求めた重み係数ａに基づいて、位置検出方法選択部５１は回転角の変化量ｄθを算出する（Ｓ２６）。
【０１６１】
ｄθ＝ａ・ｄθA＋（１−ａ）ｄθB
重み係数ａについて補足して説明する。紙面移動判定結果２００２に応じて位置検出方法選択部５１はｄθAとｄθBの重みを変更する。重み係数ａはｄθAの重み付けであり、ａ−１はｄθBの重み付けである。重み係数ａは、0≦a≦1の範囲の値を取る。ステップＳ２６の式はｄθA、ｄθBがａと１−ａでそれぞれ重み付けされ合成されている。例えば、１０回連続で、ステップＳ２０でＹｅｓと判定されるとｄθBからｄθA に完全に切り替り、１０回連続でステップＳ２０でＮｏと判定されるとｄθAからｄθB に完全に切り替ると設計されているものとする。この場合、ステップＳ２０で初めてＹｅｓと判定されてからｎ（ｎ=0,1,2,…,10）回目のdθは以下のようになる。
【０１６２】
【数２】
2017170634.tif 000005
したがって、ｄθBからｄθA、ｄθAからｄθBに徐々に切り替えることができる。例えば、印刷媒体１２が動く前はａが１なのでｄθAを用いて位置算出回路３４が位置を算出する。印刷媒体１２が動き始めるとａがサンプリング周期ごとに小さくなりｄθAの重み付けが小さくなる。動き続けたままサンプリング周期が１０回になると、ａが０になりｄθBを用いて位置算出回路３４が位置を算出する。印刷媒体１２の動きが止まるとａがサンプリング周期ごとに大きくなりｄθAの重み付けが大きくなる。印刷媒体１２が動かないままサンプリング周期が１０回になると、ａが１になりｄθAを用いて位置算出回路３４が位置を算出する。したがって、紙面移動判定結果に応じてｄθBからｄθA、又はｄθAからｄθBに徐々に切り替わるため、位置算出回路３４が算出する位置が急激に変化することを抑制できる。
【０１６３】
<<変形例３>>
図２２は、紙面移動判定部５３が紙面移動判定を行う手順を示すフローチャート図の一例である。図２２の説明では、図１９との相違を主に説明する。ステップＳ１０，Ｓ２０の処理は図１９と同様である。
【０１６４】
ステップＳ２０の判定がＹｅｓの場合、連続動作時間判定部５５は連続動作時間が時間ｔ以上であるか否かを判定する（Ｓ２８）。連続動作時間とは、印刷開始ボタンが押下されてからの経過時間である。
【０１６５】
上記のようにジャイロセンサ３１はドリフトするため、定期的にオフセットしないと検出誤差が大きくなる。そこで、連続動作時間判定部５５は連続動作時間を判定する。連続動作時間判定部５５は判定結果を連続動作判定結果２００３として記憶部２０００に記憶しておく。
【０１６６】
ステップＳ２８の判定がＮｏの場合、連続動作時間はドリフトの影響が目立つほどではないので、位置検出方法選択部５１はｄθAにより位置を検出する方法Ａを選択する（Ｓ３０）。
【０１６７】
ステップＳ２８の判定がＹｅｓの場合、ドリフトの影響が大きくなるほどの連続動作時間が経過しているので、位置検出方法選択部５１はｄθBにより位置を検出する方法Ｂを選択する（Ｓ４０）。
【０１６８】
したがって、図２２の処理によれば、印刷媒体１２が動いていない場合でも連続動作時間が時間ｔ以上になると、ＨＭＰ２０はｄθBにより位置を検出できる。
【０１６９】
以上説明したように、本実施例のＨＭＰ２０は、画像形成可能範囲５０１が大きい方法Ａで優先的に選択しながら、印刷媒体１２が動いた場合は画像の品質を低下させずに方法Ｂで印刷を継続できる。
【実施例３】
【０１７０】
本実施例では、位置検出方法の選択に関する情報７０としてナビゲーションセンサの逸脱判定結果が用いられる場合のＨＭＰ２０について説明する。本実施例では優先的に方法Ｂを選択し、ナビゲーションセンサＳ０、Ｓ１の少なくとも一方が印刷媒体１２から逸脱した場合、方法Ａを選択する。したがって、例えば方法Ｂの方が位置の精度が高い場合に有効であり、ナビゲーションセンサＳ０、Ｓ１のいずれかが印刷媒体１２から逸脱しても方法Ａで印刷を継続できる。
【０１７１】
図２３は、ＨＭＰ２０の機能ブロック図の一例を示す。画像データ出力器１１について省略されている。図２３の説明では主に図１４との相違を説明する。本実施例のＨＭＰ２０は逸脱判定部５６を有する。
【０１７２】
逸脱判定部５６はＣＰＵ３３等により実現され、２つのナビゲーションセンサＳ０，Ｓ１の移動量をそれぞれ閾値と比較し、ナビゲーションセンサＳ０、Ｓ１が印刷媒体１２から逸脱したどうかを判定する。判定結果は逸脱判定結果２００５として記憶部２０００に記憶される。
【０１７３】
本実施例の位置検出方法選択部５１は、逸脱判定結果２００５が、ナビゲーションセンサＳ０又はＳ１の少なくとも一方が印刷媒体１２から逸脱したことを示す場合、方法Ａを選択し、逸脱していない場合、方法Ｂを選択する。
【０１７４】
＜動作手順＞
図２４は、本実施例の画像データ出力器１１とＨＭＰ２０の動作手順を説明するフローチャート図の一例である。図２４の説明では図１６との相違を主に説明する。まず、図２４ではユーザが設定を行う必要がない。あるいは、ユーザ設定が行われても、紙面移動判定結果が優先される。
【０１７５】
また、図１６のステップＳ１０３−２が図２４では実行されず、ステップＳ１０９では、ジャイロセンサ３１の角速度情報及び２つのナビゲーションセンサＳ０，Ｓ１それぞれの移動量が取得される。ただし、ジャイロセンサ３１の角速度情報又はナビゲーションセンサＳ０，Ｓ１のいずれかの移動量が使用されない場合がある。そして、ステップＳ１０９−２〜Ｓ１０９−４で逸脱判定が行われる。なお、詳細は図２５にて説明する。
【０１７６】
ステップＳ１０９−２において、逸脱判定部５６はナビゲーションセンサＳ０，Ｓ１の移動量が正常値であるかどうかを判別する。正常値とは、印刷媒体１２上にナビゲーションセンサＳ０，Ｓ１が２つとも存在し、正常に移動量を読み取れている場合に得られる値である。
【０１７７】
ステップＳ１０９−２の判定がＹｅｓの場合、位置検出方法選択部５１はナビゲーションセンサＳ０，Ｓ１が検出する回転角の変化量ｄθBを元に位置が算出される方法Ｂを選択する（Ｓ１０９−３）。
【０１７８】
ステップＳ１０９−２の判定がＮｏの場合、位置検出方法選択部５１はナビゲーションセンサＳ０，Ｓ１の出力のうち正常値を使用し、ジャイロセンサ３１が検出した角速度情報を元に位置が算出される方法Ａを選択する（Ｓ１０９−４）。以降の処理は図１６と同様でよい。
【０１７９】
図２５を用いて図２４のステップＳ１０９−２〜Ｓ１０９−４について説明する。図２５は、ナビゲーションセンサＳ０，Ｓ１の移動量が正常値であるかどうかを逸脱判定部５６が判定するフローチャート図の一例である。
【０１８０】
図２５（ａ）は逸脱判定部５６による閾値の決定手順を示すフローチャート図の一例である。図２５（ａ）の処理は、例えばユーザが閾値の決定モードなどにＨＭＰ２０を設定することでスタートする。
【０１８１】
まず、逸脱判定部５６は、センサ特性値や評価結果などから閾値を決定する（Ｓ１０）。逸脱判定部５６は、閾値を記憶部２０００に記憶しておく（Ｓ２０）。
【０１８２】
センサ特性値は、ナビゲーションセンサのメーカー等から与えられる誤差である。逸脱判定部５６はこの誤差や誤差の２倍などを閾値に決定できる。また評価結果とは、評価者がＨＭＰ２０を決まった長さ移動させた場合の長さと、ナビゲーションセンサの出力の違いなどから得られる。決まった長さＡに対しナビゲーションセンサの出力がＢである場合、まず、評価者はＡとＢの相違が誤差の範囲であるかどうか判定し、画像データ出力器１１に入力する。逸脱判定部５６は判定の結果を受け付け、誤差の範囲という入力の場合、決まった長さの移動中の最も大きい移動量（決まった長さ移動した際のＮ回のサイクルのうち最も大きい移動量）にマージンを考慮して閾値に決定する。なお、評価者はこの評価を普通紙、コーティング紙、各種の色紙、透明紙などの異なる紙種で行う。これにより逸脱判定部５６は、紙種ごとに閾値を決定できる。あるいは、紙種に関係なく閾値を決定できる。
【０１８３】
図２５（ｂ）は逸脱判定部５６による逸脱の判定手順を示すフローチャート図の一例である。図２５（ｂ）は、ステップＳ１０９−２〜Ｓ１０９−４の具体的な判定方法である。
【０１８４】
まず、逸脱判定部５６は記憶部２０００に記憶されている閾値を読み出す（Ｓ１０）。
【０１８５】
次に、ナビゲーションセンサＳ０，Ｓ１が検出した移動量が閾値の範囲内か否かを逸脱判定部５６が判定する（Ｓ２０）。
【０１８６】
ステップＳ２０の判定がＹｅｓの場合、逸脱判定部５６は正常読取カウントを１つ大きくする（Ｓ３０）。ステップＳ２０の判定がＮｏの場合、ナビゲーションセンサＳ０，Ｓ１の移動量は異常である（印刷媒体１２上にない）と判定される。
【０１８７】
そして、逸脱判定部５６は全てのナビゲーションセンサＳ０，Ｓ１について閾値との比較が完了したか否かを判定する（Ｓ４０）。
【０１８８】
ステップＳ４０の判定がＹｅｓの場合、逸脱判定部５６は正常読み取りカウントが２以上か否かを判定する（Ｓ５０）。
【０１８９】
正常読み取りカウントが２以上の場合（Ｓ５０のＹｅｓ）、逸脱判定部５６は逸脱なしという逸脱判定結果２００５を記憶部２０００に記憶する。これにより、位置検出方法選択部５１はナビゲーションセンサＳ０、Ｓ１の移動量で位置を検出する方法Ｂを選択する（Ｓ６０）。
【０１９０】
正常読み取りカウントが２以上でない場合（Ｓ５０のＮｏ）、逸脱判定部５６は正常読み取りカウントが１以上か否かを判定する（Ｓ７０）。
【０１９１】
正常と判定されたナビゲーションセンサＳ０又はＳ１が１個しかなかった場合（Ｓ７０のＹｅｓ）、逸脱判定部５６はナビゲーションセンサＳ０又はＳ１の識別情報と１つだけ逸脱ありという逸脱判定結果２００５を記憶部２０００に記憶する。これにより、位置検出方法選択部５１はナビゲーションセンサＳ０又はＳ１で移動量を検出しジャイロセンサ３１で回転角を算出して位置を検出する方法Ａを選択する（Ｓ８０）。
【０１９２】
正常と判定されたナビゲーションセンサが１個もなかった場合（Ｓ７０のＮｏ）、そもそも移動量を検出できていないため位置検出方法選択部５１はエラーを検出する（Ｓ９０）。
【０１９３】
このように、本実施例のＨＭＰ２０は、ナビゲーションセンサＳ０，Ｓ１の移動量が正常かどうかを判定し、正常でない場合に方法Ｂから方法Ａを切り替えることができる。本実施例では方法Ｂの方が方法Ａよりも位置の精度が高い場合に、方法Ａを優先的に選択し、ナビゲーションセンサＳ０、Ｓ１の一方が印刷媒体１２から逸脱した場合は方法Ａで印刷を継続できる。
【０１９４】
＜変形例＞
続いて、図２６、２７を用いて、図２５の処理のいくつかの変形例について説明する。
【０１９５】
<<変形例１>>
図２６は、逸脱判定部５６が逸脱判定を行う手順を示すフローチャート図の一例である。図２６の説明では、図２５との相違を主に説明する。図２６では、過去のナビゲーションセンサＳ０、Ｓ１の読取り履歴から逸脱判定部５６が閾値を決定する。
【０１９６】
図２６（ａ）は逸脱判定部５６による閾値の決定手順を示すフローチャート図の一例である。図２６（ａ）の処理は、例えばユーザが閾値の決定モードなどにＨＭＰ２０を設定することでスタートする。
【０１９７】
まず、逸脱判定部５６は、ナビゲーションセンサＳ０、Ｓ１が過去に検出した複数の移動量に基づいて移動量に対する許容値αを決定する（Ｓ１０）。例えば、前回の印刷ジョブにおいてナビゲーションセンサＳ０、Ｓ１が検出した移動量が記憶部２０００などに記憶されており、これらの移動量の標準偏差σの２倍などを許容値αに決定する。あるいは、前回の印刷ジョブにおける移動量の最大値又はこの最大値にマージンを見込んだ値を許容値αに決定する。逸脱判定部５６は、許容値を記憶部２０００に記憶しておく。
【０１９８】
図２６（ｂ）は、ステップＳ１０９−２〜Ｓ１０９−４の具体的な判定方法である。
【０１９９】
まず、逸脱判定部５６は、ステップＳ１０９で取得された今回のサンプリング周期のナビゲーションセンサＳ０，Ｓ１の移動量を記憶部２０００に記憶しておく（Ｓ４）。
【０２００】
そして、記憶部２０００に記憶されている前回のサンプリング周期で取得された移動量と今回のサンプリング周期で取得された移動量の差の絶対値を閾値として記憶部２０００に記憶させる（Ｓ６）。このように、前回値と今回値の差を閾値に決定することで移動量の急激な変化を検出できる。
【０２０１】
次に、逸脱判定部５６は記憶部２０００に記憶されている閾値と許容値αを読み出す（Ｓ１０）。
【０２０２】
次に、ナビゲーションセンサＳ０，Ｓ１が検出した移動量が閾値と許容値αの合計の範囲内か否かを逸脱判定部５６が判定する（Ｓ２０）。以降の処理は図２５と同様でよい。
【０２０３】
したがって、図２６の処理によれば、過去の移動量の履歴から許容値を求め、この許容値を超えた移動量を示した場合に、ナビゲーションセンサＳ０，Ｓ１が印刷媒体１２から逸脱したと判定できる。そして、ジャイロセンサ３１を用いる方法Ａを選択し印刷を継続できる。
【０２０４】
<<変形例２>>
図２７は、逸脱判定部５６が逸脱判定を行う手順を示すフローチャート図の一例である。図２７の説明では、図２５との相違を主に説明する。図２７では、ナビゲーションセンサＳ０，Ｓ１のセンサ信頼度情報を用いて逸脱判定部５６が閾値を決定する。
【０２０５】
図２７（ａ）は逸脱判定部５６による閾値の決定手順を示すフローチャート図の一例である。図２７（ａ）の処理は、例えばユーザが閾値の決定モードなどにＨＭＰ２０を設定することでスタートする。
【０２０６】
まず、逸脱判定部５６は、センサ信頼度情報のセンサ特性値や評価結果などから閾値を決定する（Ｓ１０）。逸脱判定部５６は、閾値を記憶部２０００に記憶しておく（Ｓ２０）。
【０２０７】
センサ信頼度情報とは、ナビゲーションセンサＳ０，Ｓ１の信頼度に関する情報であり、移動量と共にナビゲーションセンサＩ／Ｆ４２がナビゲーションセンサＳ０，Ｓ１から取得することができる。例えば、イメージアレイ３０５が受光した反射光の強度、イメージプロセッサ３０２が検出したエッジ（特徴点）の数、及び、イメージアレイ３０５のシャッター時間などがセンサ信頼度情報である。これらはＨＭＰ２０が印刷媒体１２から浮いた場合に値が悪化する。反射光の強度は低下し、エッジ（特徴点）の数が少なくなり、シャッター時間は増大する。それぞれ適正な値の範囲が決まっており、これらはセンサ特性値として与えられる。逸脱判定部５６は、センサ特性値又はセンサ特性値にマージンを考慮して閾値を決定する。また、評価者が評価を行うことで、センサ信頼度情報がどのくらいなら位置の算出に支障がないかを評価できる。評価者は適切なセンサ信頼度情報を閾値として画像データ出力器１１に入力し、逸脱判定部５６は閾値を受け付ける。したがって、センサ信頼度情報に基づいて閾値が決定される。
【０２０８】
図２７（ｂ）は、ステップＳ１０９−２〜Ｓ１０９−４の具体的な判定方法である。
【０２０９】
まず、逸脱判定部５６は記憶部２０００に記憶されている閾値を読み出す（Ｓ１０）。
【０２１０】
次に、ナビゲーションセンサＳ０，Ｓ１が提供するセンサ信頼度情報が閾値の範囲内か否かを逸脱判定部５６が判定する（Ｓ２０）。以降の処理は図２５と同様でよい。
【０２１１】
ＨＭＰ２０のフリーハンド走査中や折り返し時などに筐体がやや浮く場合がある。図２７の処理によれば、移動量が正常でも、センサ信頼度情報が閾値内かどうかを判定するので、ナビゲーションセンサＳ０，Ｓ１が逸脱した状態で位置を検出することを回避できる。また、ジャイロセンサ３１を用いて印刷を継続できる。
【０２１２】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０２１３】
例えば、上記したＳｏＣ５０、ＡＳＩＣ/ＦＰＧＡ４０の構成要素は、ＣＰＵ性能やＡＳＩＣ/ＦＰＧＡ４０の回路規模等により、どちらに含まれていてもよい。
【０２１４】
また、本実施形態ではインクを吐出して画像を形成すると説明したが、可視光、紫外線、赤外線、レーザなどを照射して画像を形成してもよい。この場合、印刷媒体１２として例えば熱や光に反応するものが用いられる。また、透明な液体を吐出してもよい。この場合、特定の波長域の光が照射されると可視情報が得られる。また、金属ペーストや樹脂などを吐出してもよい。
【０２１５】
また、本実施形態ではジャイロセンサ３１により印刷媒体１２における姿勢を検出すると説明したが、地磁気センサによっても水平方向の姿勢（方位）を検出できる。
【０２１６】
また、ジャイロセンサ３１は１つに限られず２つ以上設置されていてもよい。ナビゲーションセンサが３つ以上設置されてもよい。
【０２１７】
また、ナビゲーションセンサ３０は移動量検出手段の一例であり、ジャイロセンサ３１は姿勢検出手段の一例であり、位置検出方法選択部５１は選択手段の一例であり、第一の位置検出方法は方法Ａの一例であり、第二の位置検出方法は方法Ｂの一例であり、位置算出回路３４は位置検出手段の一例であり、紙面移動判定部５３は判定手段の一例であり、オフセット部５４はオフセット手段の一例であり、連続動作時間判定部５５は測定手段の一例である。また、センサ信頼度情報は信頼度情報の一例であり、逸脱判定部５６は逸脱検出手段の一例であり、ＩＪ記録ヘッド制御部４４等は液滴吐出手段の一例であり、ＨＭＰ２０は液滴吐出装置の一例である。
【０２１８】
また、ＨＭＰ２０のうち位置の算出に必要な機能を最低限有する装置が位置検出装置である。例えば、ナビゲーションセンサＳ０、ジャイロセンサ３１、位置算出回路３４，及びＣＰＵ３３を有する。換言すると画像形成に必要な機能を有さないＨＭＰ２０が位置検出装置である。また、位置検出装置が搭載された装置が被搭載物であり、ＨＭＰ２０は被搭載物の一例である。
【符号の説明】
【０２１９】
１１      画像データ出力器
１２      印刷媒体
２５      制御部
３０      ナビゲーションセンサ
３１      ジャイロセンサ
３３      ＣＰＵ
３４      位置算出回路
４２      ナビゲーションセンサＩ/Ｆ
４５      ジャイロセンサＩ/Ｆ
５１      位置検出方法選択部
５３      紙面移動判定部
５４      オフセット部
５５      連続動作時間判定部
５６      逸脱判定部
６１      ノズル
【先行技術文献】
【特許文献】
【０２２０】
【特許文献１】特表２０１０-５２２６５０号公報
【図１】
2017170634.tif 000006
【図２】
2017170634.tif 000007
【図３】
2017170634.tif 000008
【図４】
2017170634.tif 000009
【図５】
2017170634.tif 000010
【図６】
2017170634.tif 000011
【図７】
2017170634.tif 000012
【図８】
2017170634.tif 000013
【図９】
2017170634.tif 000014
【図１０】
2017170634.tif 000015
【図１１】
2017170634.tif 000016
【図１２】
2017170634.tif 000017
【図１３】
2017170634.tif 000018
【図１４】
2017170634.tif 000019
【図１５】
2017170634.tif 000020
【図１６】
2017170634.tif 000021
【図１７】
2017170634.tif 000022
【図１８】
2017170634.tif 000023
【図１９】
2017170634.tif 000024
【図２０】
2017170634.tif 000025
【図２１】
2017170634.tif 000026
【図２２】
2017170634.tif 000027
【図２３】
2017170634.tif 000028
【図２４】
2017170634.tif 000029
【図２５】
2017170634.tif 000030
【図２６】
2017170634.tif 000031
【図２７】
2017170634.tif 000032