JP2017170634A - 位置検出装置、液滴吐出装置、プログラム - Google Patents
位置検出装置、液滴吐出装置、プログラム Download PDFInfo
- Publication number
- JP2017170634A JP2017170634A JP2016055806A JP2016055806A JP2017170634A JP 2017170634 A JP2017170634 A JP 2017170634A JP 2016055806 A JP2016055806 A JP 2016055806A JP 2016055806 A JP2016055806 A JP 2016055806A JP 2017170634 A JP2017170634 A JP 2017170634A
- Authority
- JP
- Japan
- Prior art keywords
- position detection
- posture
- movement amount
- hmp
- detection method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Printers Characterized By Their Purpose (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
Abstract
【課題】位置検出を行う方法を適切に選択可能な位置検出装置を提供すること。【解決手段】位置検出装置が搭載された被搭載物の移動面における位置を検出する位置検出装置であって、前記移動面における移動量を検出する少なくとも2つの移動量検出手段と、前記移動面における前記被搭載物の姿勢を検出する少なくとも1つの姿勢検出手段と、位置検出方法の選択に関する情報を参照して、前記2つの移動量検出手段のうちの1つが検出した前記移動量及び前記姿勢検出手段が検出した前記姿勢を用いて前記被搭載物の位置を検出する第一の位置検出方法、又は、前記2つの移動量検出手段が検出した前記移動量を用いて前記被搭載物の位置を検出する第二の位置検出方法を選択する選択手段と、を有する。【選択図】図1
Description
本発明は、位置検出装置、液滴吐出装置及びプログラムに関する。
用紙を搬送させて用紙が画像の形成位置に到達したタイミングでインクなどを吐出して画像を形成するプリンタが知られている。これに対し、ノートPCの小型化、スマートデバイスの普及などにより、プリンタ装置においても小型化・携帯化のニーズが高まっている。そこで、プリンタ装置から紙搬送システムを削除することで小型化されたプリンタ(以下、HMP:ハンディモバイルプリンタという)が実用化されつつある。HMPには、紙搬送システムが搭載されていないので、人の手で紙面上を移動させられることで紙面上を走査しインクを吐出する。
HMPは紙面上における自分の位置を検出して位置に応じた画像を形成するためのインクを吐出する。この位置を検出するための機構として、従来、底面に2つのナビゲーションセンサが配置されているHMPが知られている(例えば、特許文献1参照。)。ナビゲーションセンサは光学的に紙面の微小なエッジを検出してサイクル時間ごとの移動量を検出するセンサである。ナビゲーションセンサが2つあることでHMPは紙面に垂直な軸に対する回転角を検出できる。
しかしながら、ナビゲーションセンサが2つ必要であることはHMPの底面部のサイズの増大をもたらし紙面における画像形成可能範囲を制限するというデメリットがある。これは、ナビゲーションセンサが2つとも紙面上に存在する必要があるためである。
一方、回転角又は角速度を検出するセンサとしてジャイロセンサが知られている。ジャイロセンサがHMPに搭載されれば移動量を検出するナビゲーションセンサは1つでよいため画像形成可能範囲を広くすることができる。しかしながら、ナビゲーションセンサ1つ+ジャイロセンサ1つの構成では、紙面が動いてしまった場合にHMPの回転角を検出できないというデメリットがある。
補足すると、例えばユーザが紙面上を走査させようとしたがHMPに引きずられて紙面が移動した場合、紙面に対するHMPの位置の変化よりもジャイロセンサが検出する回転角の変化の方が大きい。したがって、ジャイロセンサで回転角を求めHMPが位置を検出しても位置が正確でなくなるおそれがある。また、例えばユーザが乗り物に乗っている場合、HMPが紙面に対し全く移動しなくてもジャイロセンサは乗り物の地面に対する回転を検出してしまう。この場合、紙面に対する回転角が変化していなくても回転角が変化したことが検出され、HMPの紙面に対する位置が正確でなくなるおそれがある。
このように、ナビゲーションセンサ2つの構成と、ナビゲーションセンサ1つ+ジャイロセンサ1つの構成には、それぞれメリットとデメリットがある。しかしながら、従来は、ナビゲーションセンサ2つとジャイロセンサ1つが搭載されたHMPにおいて、これらを適切に使い分ける方法が考案されていないという問題がある。
本発明は、上記課題に鑑み、位置検出を行う方法を適切に選択可能な位置検出装置を提供することを目的とする。
本発明は、位置検出装置が搭載された被搭載物の移動面における位置を検出する位置検出装置であって、前記移動面における移動量を検出する少なくとも2つの移動量検出手段と、前記移動面における前記被搭載物の姿勢を検出する少なくとも1つの姿勢検出手段と、位置検出方法の選択に関する情報を参照して、前記2つの移動量検出手段のうちの1つが検出した前記移動量及び前記姿勢検出手段が検出した前記姿勢を用いて前記被搭載物の位置を検出する第一の位置検出方法、又は、前記2つの移動量検出手段が検出した前記移動量を用いて前記被搭載物の位置を検出する第二の位置検出方法を選択する選択手段と、を有する。
位置検出を行う方法を適切に選択可能な位置検出装置を提供できる。
以下、本発明を実施するための形態について図面を参照しながら説明する。
図1は、本実施形態のHMP20による位置検出方法の選択の概略を説明する図の一例である。まず、HMP20は、ナビゲーションセンサ2つ及びジャイロセンサ1つを有しており、以下の2つの位置検出方法で位置を検出できる。
A.ナビゲーションセンサ1つ+ジャイロセンサ1つ
1つのナビゲーションセンサで移動量を検出し、ジャイロセンサで回転角を検出する。HMP20は移動量と回転角で印刷媒体上の位置を検出する。以下、この方法を単に方法Aと称する。
B.ナビゲーションセンサ2つ
2つのナビゲーションセンサの少なくとも1つで移動量を検出し、2つのナビゲーションセンサのそれぞれの移動量で回転角を検出する。HMP20は移動量と回転角で印刷媒体上の位置を検出する。以下、この方法を単に方法Bと称する。
A.ナビゲーションセンサ1つ+ジャイロセンサ1つ
1つのナビゲーションセンサで移動量を検出し、ジャイロセンサで回転角を検出する。HMP20は移動量と回転角で印刷媒体上の位置を検出する。以下、この方法を単に方法Aと称する。
B.ナビゲーションセンサ2つ
2つのナビゲーションセンサの少なくとも1つで移動量を検出し、2つのナビゲーションセンサのそれぞれの移動量で回転角を検出する。HMP20は移動量と回転角で印刷媒体上の位置を検出する。以下、この方法を単に方法Bと称する。
HMP20は位置検出方法選択部51を有している。また、HMP20は位置検出方法の選択に関する情報70を取得することが可能である。位置検出方法選択部51は位置検出方法の選択に関する情報70を参照して方法A又は方法Bを選択する。あるいは、方法Aから方法Bへ、方法Bから方法Aへ切り替える。位置検出方法の選択に関する情報70は、方法Aと方法Bのメリットとデメリットが考慮されている。したがって、HMP20がナビゲーションセンサ2つ及びジャイロセンサ1つを有する場合、方法Aと方法Bのメリットを活かしデメリットを抑制して、適切に位置検出方法を選択できる。
なお、位置検出方法の選択に関する情報70は、方法A,Bの位置検出方法を位置検出方法選択部51が選択するための情報である。例えばユーザ設定、紙面移動判定結果及びナビゲーションセンサの逸脱判定結果であるが詳細は実施例1〜3にて後述される。
図2は、方法Aと方法Bの画像形成可能範囲を説明する図の一例である。図2(a)はHMP20に配置されたナビゲーションセンサ30を示す。HMP20はIJ記録ヘッド24のノズル61に直列に2つのナビゲーションセンサ30(以下、区別するためナビゲーションセンサS0,S1という)を有している。
図2(b)は図2(a)のHMP20の画像形成可能範囲501を示す。図2(a)のHMP20においてナビゲーションセンサS0とノズル61の上端との間隔はA〔mm〕、ノズル61の下端とナビゲーションセンサS1までの間隔はB〔mm〕である。ナビゲーションセンサS0が印刷媒体12からはみ出してしまうので、HMP20は印刷媒体12の上端からA〔mm〕より上に移動できない。また、ナビゲーションセンサS1が印刷媒体12からはみ出してしまうので、HMP20は印刷媒体12の下端からB〔mm〕より下に移動できない。したがって、図2(b)に示すように印刷媒体12の上下に印刷できない場所が生じ、残りが画像形成可能範囲501である。
図2(c)は2つのナビゲーションセンサS0,S1のうち使用されるナビゲーションセンサS1を示す。ナビゲーションセンサS0が使用されてもよい。ノズル61の下端とナビゲーションセンサS1までの間隔をB〔mm〕とする。ナビゲーションセンサS1が印刷媒体12からはみ出してしまうので、HMP20は印刷媒体12の下端からB〔mm〕より下に移動できない。一方、ナビゲーションセンサS0は使用されないので、HMP20のノズル61は印刷媒体12の上端まで移動できる。したがって、図示するように下側にだけ印刷できない場所が生じ、残りが画像形成可能範囲501である。
図2(b)と図2(d)を比較すると明らかなように、ナビゲーションセンサS1のみが使用される場合、画像形成可能範囲501を大きくすることができる。したがって、例えば方法Aで位置を検出していたが2つのナビゲーションセンサS0,S1の2つうち1つが印刷媒体12からはみ出した場合、方法Bに切り替えて印刷を継続できる。また、例えば方法Bで位置を検出していたが印刷媒体12が動いてしまった場合、方法Aに切り替えて印刷を継続できる。
なお、図2(a)(c)のノズル61、ナビゲーションセンサS0,S1、及びジャイロセンサ31の配置は一例に過ぎない。これらの配置が変わることで画像形成可能範囲501も変わるが、1つのナビゲーションセンサだけが使用される方が2つ使用されるよりも画像形成可能範囲501が広い場合が多い。
<用語について>
被搭載物とは、位置検出装置が搭載された物をいう。移動面において位置が検出されうる物としてもよい。例えば、HMP20が被搭載物の一例である。また、位置検出装置は移動した距離を検出することができるため距離測定器も被搭載物の一例となりうる。
被搭載物とは、位置検出装置が搭載された物をいう。移動面において位置が検出されうる物としてもよい。例えば、HMP20が被搭載物の一例である。また、位置検出装置は移動した距離を検出することができるため距離測定器も被搭載物の一例となりうる。
移動面は、HMP20が移動できる面であればよく、平面の他、曲面も含まれる。具体的には平面のシート材や定規などで距離を測定しにくい曲面などである。本実施形態では印刷媒体12を例にして説明する。
また、物体の姿勢とは、剛体の6つの自由度のうち回転角を表す自由度(剛体の重心を通って直交する3つの軸をそれぞれ中心とする回転角)をいう。このうち、平面における物体の姿勢は、平面に垂直な軸を中心とする回転角で表される。
位置を算出するとは、何らかのデータに演算を施すことにより位置に関する情報を得ることであり、位置を検出するとは、プロセスを問わずに位置に関する情報を得ることをいう。ただし、両者は位置に関する情報が得られる点で同じであり本実施形態では位置の算出と位置の検出を厳密には区別しない。
また、本願において、画像形成、記録、印字、印写、印刷、造形等はいずれも同義語とする。
<HMP20による画像形成>
図3は、HMP20による画像形成を模式的に示す図の一例である。HMP20には、例えばスマートフォンやPC(Personal Computer)等の画像データ出力器11から画像データが送信される。ユーザはHMP20を把持して、印刷媒体12(例えば定形用紙やノートなど)から浮き上がらないようにフリーハンドで走査させる。
図3は、HMP20による画像形成を模式的に示す図の一例である。HMP20には、例えばスマートフォンやPC(Personal Computer)等の画像データ出力器11から画像データが送信される。ユーザはHMP20を把持して、印刷媒体12(例えば定形用紙やノートなど)から浮き上がらないようにフリーハンドで走査させる。
HMP20は後述するようにナビゲーションセンサS0とジャイロセンサ31で位置を検出し、HMP20が目標吐出位置に移動すると、目標吐出位置で吐出すべき色のインクを吐出する。すでにインクを吐出した場所はマスクされるので(インクの吐出の対象とならないので)、ユーザは印刷媒体12上で任意の方向にHMP20を走査させることで画像を形成できる。
印刷媒体12からHMP20が浮き上がらないことが好ましいのは、ナビゲーションセンサS0、S1が印刷媒体12からの反射光を利用して移動量を検出するためである。印刷媒体12からHMP20が浮き上がると反射光を検出できなくなり移動量を検出できない。また、印刷媒体12からナビゲーションセンサS0、S1がはみ出した場合も、印刷媒体12の厚みにより反射光を検出できなくなったり、検出できても位置がずれる場合がある。
このため、方法Aでは少なくとも1つのナビゲーションセンサS0又はS1が印刷媒体12上で走査されることが好ましく、方法Bでは少なくとも2つのナビゲーションセンサS0、S1が印刷媒体12上で走査されることが好ましい。
<構成例>
図4は、HMP20のハードウェア構成図の一例を示す。HMP20は、印刷媒体12に画像を形成する画像形成装置の一例である。HMP20は、制御部25によって全体の動作が制御され、制御部25には通信I/F27、IJ記録ヘッド駆動回路23、OPU26、ROM28、DRAM29、ジャイロセンサ31及び、2つのナビゲーションセンサ30が電気的に接続されている。また、HMP20は電力により駆動されるため、電源22と電源回路21を有している。電源回路21が生成する電力は、点線22aで示す配線などにより、通信I/F27、IJ記録ヘッド駆動回路23、OPU26、ROM28、DRAM29、IJ記録ヘッド24、制御部25、ジャイロセンサ31、及び、2つのナビゲーションセンサ30に供給されている。
図4は、HMP20のハードウェア構成図の一例を示す。HMP20は、印刷媒体12に画像を形成する画像形成装置の一例である。HMP20は、制御部25によって全体の動作が制御され、制御部25には通信I/F27、IJ記録ヘッド駆動回路23、OPU26、ROM28、DRAM29、ジャイロセンサ31及び、2つのナビゲーションセンサ30が電気的に接続されている。また、HMP20は電力により駆動されるため、電源22と電源回路21を有している。電源回路21が生成する電力は、点線22aで示す配線などにより、通信I/F27、IJ記録ヘッド駆動回路23、OPU26、ROM28、DRAM29、IJ記録ヘッド24、制御部25、ジャイロセンサ31、及び、2つのナビゲーションセンサ30に供給されている。
電源22は主に電池(バッテリー)が利用される。太陽電池や商用電源(交流電源)、燃料電池等が用いられてもよい。電源回路21は、電源22が供給する電力をHMP20の各部に分配する。また、電源22の電圧を各部に適した電圧に降圧や昇圧する。また、電源22が電池で充電可能である場合、電源回路21は交流電源の接続を検出して電池の充電回路に接続し、電源22の充電を可能にする。
通信I/F27は、スマートフォンやPC(Personal Computer)等の画像データ出力器11から画像データの受信等を行う。通信I/F27は例えば無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)、赤外線、3G(携帯電話)、又は、LTE(Long Term Evolution)等の通信規格に対応した通信装置である。また、このような無線通信の他、有線LAN、USBケーブルなどを用いた有線通信に対応した通信装置であってもよい。
ROM28は、HMP20のハードウェア制御を行うファームウェアや、IJ記録ヘッド24の駆動波形データ(液滴を吐出するための電圧変化を規定するデータ)や、HMP20の初期設定データ等を格納している。
DRAM29は通信I/F27が受信した画像データを記憶したり、ROM28から展開されたファームウェアの格納のために使用される。したがって、CPU33がファームウェアを実行する際のワークメモリとして使用される。
ナビゲーションセンサ30は、所定のサイクル時間ごとにHMP20の移動量を検出するセンサである。なお、ナビゲーションセンサ30は2つでありそれぞれの機能は同じであるが、違いがあるとしても本実施形態の説明の上で支障がないものとする。ナビゲーションセンサ30は、例えば、発光ダイオード(LED)やレーザ等の光源と、印刷媒体12を撮像する撮像センサを有している。HMP20が印刷媒体12上を走査されると、印刷媒体12の微小なエッジが次々に検出され(撮像され)エッジ間の距離を解析することで移動量が得られる。本実施形態では、ナビゲーションセンサ30は、HMP20の底面に2つ搭載されている。なお、ナビゲーションセンサ30として、さらに多軸の加速度センサを用いてもよく、HMP20は加速度センサのみでHMP20の位置を検出してもよい。
ジャイロセンサ31は、印刷媒体12に垂直な軸を中心にHMP20が回転した際の角速度を検出するセンサである。詳細は後述される。
OPU(Operation panel Unit)26は、HMP20の状態を表示するLED、ユーザがHMP20に画像形成を指示するためのスイッチ等を有している。ただし、これに限定するものではなく、液晶ディスプレイを有していてよく、さらにタッチパネルを有していてもよい。また、音声入力機能を有していてもよい。
IJ記録ヘッド駆動回路23は上記の駆動波形データを用いて、IJ記録ヘッド24を駆動するための駆動波形(電圧)を生成する。インクの液滴のサイズなどに応じた駆動波形を生成できる。
IJ記録ヘッド24は、インクを吐出するためのヘッドである。図ではCMYKの4色のインクを吐出可能になっているが、単色でもよく5色以上の吐出が可能でもよい。各色ごとに一列(二列以上でもよい)に並んだ複数のインク吐出用のノズル61が配置されている。また、インクの吐出方式はピエゾ方式でもサーマル方式でもよく、静電方式などの他の方式でもよい。
IJ記録ヘッド24は、ノズル61から液体を吐出・噴射する機能部品である。吐出される液体は、IJ記録ヘッド24から吐出可能な粘度や表面張力を有するものであればよく、特に限定されないが、常温、常圧下において、又は加熱、冷却により粘度が30mPa・s以下となるものであることが好ましい。より具体的には、水や有機溶媒等の溶媒、染料や顔料等の着色剤、重合性化合物、樹脂、界面活性剤等の機能性付与材料、DNA、アミノ酸やたんぱく質、カルシウム等の生体適合材料、天然色素等の可食材料、などを含む溶液、懸濁液、エマルジョンなどであり、これらは例えば、インクジェット用インク、表面処理液、電子素子や発光素子の構成要素や電子回路レジストパターンの形成用液、3次元造形用材料液等の用途で用いることができる。
制御部25はCPU33を有しHMP20の全体を制御する。制御部25は、ナビゲーションセンサ30により検出される移動量及びとジャイロセンサ31により検出される角速度を元に、IJ記録ヘッド24の各ノズルの位置、該位置に応じて形成する画像の決定、後述する吐出ノズル可否判定等を行う。制御部25について詳細は次述する。
図5は、制御部25の構成を説明する図の一例である。制御部25はSoC50とASIC/FPGA40を有している。SoC50とASIC/FPGA40はバス46,47を介して通信する。ASIC/FPGA40はどちらの実装技術で設計されてもよいことを意味し、ASIC/FPGA40以外の他の実装技術で構成されてよい。また、SoC50とASIC/FPGA40を別のチップにすることなく1つのチップや基板で構成してもよい。あるいは、3つ以上のチップや基板で実装してもよい。
SoC50は、バス47を介して接続されたCPU33、位置算出回路34、メモリCTL(コントローラ)35、及び、ROM CTL(コントローラ)36等の機能を有している。なお、SoC50が有する構成要素はこれらに限られない。
また、ASIC/FPGA40は、バス46を介して接続されたImage RAM37、DMAC38、回転器39、割込みコントローラ41、ナビゲーションセンサI/F42、印字/センサタイミング生成部43、IJ記録ヘッド制御部44及びジャイロセンサI/F45を有している。なお、ASIC/FPGA40が有する構成要素はこれらに限られない。
CPU33は、ROM28からDRAM29に展開されたファームウェア(プログラム)などを実行し、SoC50内の位置算出回路34、メモリCTL35、及び、ROM CTL36の動作を制御する。また、ASIC/FPGA40内のImage RAM37、DMAC38、回転器39、割込みコントローラ41、ナビゲーションセンサI/F42、印字/センサタイミング生成部43、IJ記録ヘッド制御部44及びジャイロセンサI/F45等の動作を制御する。
位置算出回路34は、HMP20の位置(座標情報)を算出する。まず、方法Aが選択された場合、位置算出回路34は、1つのナビゲーションセンサ30が検出するサンプリング周期ごとの移動量及びジャイロセンサ31が検出するサンプリング周期ごとの角速度に基づいてHMP20の位置を算出する。方法Bが選択された場合、位置算出回路34は、2つのナビゲーションセンサ30が検出するサンプリング周期ごとの2つの移動量のいずれか一方と、2つの移動量に基づく回転角とに基づいてHMP20の位置を算出する。HMP20の位置とは、厳密にはノズル61の位置であるが、ナビゲーションセンサ30のある位置が分かればノズル61の位置を算出できる。本実施例では、特に断らない限りナビゲーションセンサ30の位置としてナビゲーションセンサS0又はS1の位置をいう。また、位置算出回路34は目標吐出位置を算出する。位置算出回路34をCPU33がソフト的に実現してもよい。
ナビゲーションセンサ30の位置は、後述するように例えば所定の原点(画像形成が開始される時のHMP20の初期位置)を基準に算出されている。また、位置算出回路34は、過去の位置と最も新しい位置の差に基づいて加速度や移動方向を推定し、例えば次回の周期(インクの吐出タイミング)における位置を予測する。こうすることで、ユーザの走査に対する遅れを抑制してインクを吐出できる。
メモリCTL35は、DRAM29とのインタフェースであり、DRAM29に対しデータを要求し、取得したファームウェアをCPU33に送出したり、取得した画像データをASIC/FPGA40に送出する。
ROM CTL36は、ROM28とのインタフェースであり、ROM28に対しデータを要求し、取得したデータをCPU33やASIC/FPGA40に送出する。
回転器39は、DMAC38が取得した画像データを、インクを吐出するヘッド、及び、ヘッド内のノズル位置、及び、取り付け誤差などによるヘッド傾きに応じて回転させる。DMAC38は回転後の画像データをIJ記録ヘッド制御部44へ出力する。
Image RAM37はDMAC38が取得した画像データを一時的に格納する。すなわち、ある程度の画像データがバッファリングされ、HMP20の位置に応じて読み出される。
IJ記録ヘッド制御部44は、画像データ(ビットマップデータ)にディザ処理などを施して大きさと密度で画像を表す点の集合に画像データを変換する。これにより、画像データは吐出位置と点のサイズのデータとなる。IJ記録ヘッド制御部44は点のサイズに応じた制御信号をIJ記録ヘッド駆動回路23に出力する。IJ記録ヘッド駆動回路23は上記のように制御信号に対応した駆動波形データを用いて、駆動波形(電圧)を生成する。
ナビゲーションセンサI/F42は、ナビゲーションセンサ30と通信し、ナビゲーションセンサ30からの情報として移動量ΔX´、ΔY´(これらについては後述する)を受信し、その値をレジスタに格納する。ナビゲーションセンサ30からの情報は、その他、反射光の読み取りが良好かどうかなどを示すステータス通知機能(後述するセンサ信頼度情報が含まれる)も有する。
印字/センサタイミング生成部43は、ナビゲーションセンサI/F42とジャイロセンサI/F45が情報を読み取るタイミングを通知し、IJ記録ヘッド制御部44に駆動タイミングを通知する。情報を読み取るタイミングの周期はインクの吐出タイミングの周期よりも長い。IJ記録ヘッド制御部44は吐出ノズル可否判定を行い、インクを吐出すべき目標吐出位置があればインクを吐出し、目標吐出位置がなければ吐出しないと判定する。
ジャイロセンサI/F45は印字/センサタイミング生成部43により生成されたタイミングになるとジャイロセンサ31が検出する角速度を取得してその値をレジスタに格納する。
割込みコントローラ41は、ナビゲーションセンサI/F42がナビゲーションセンサ30との通信が完了したことを検知して、SoC50へそれを通知するための割込み信号を出力する。CPU33はこの割込みにより、ナビゲーションセンサI/F42がレジスタに記憶するΔX´、ΔY´を取得する。ジャイロセンサI/F45に関しても同様に、割込みコントローラ41はSoC50に対し、ジャイロセンサ31との通信が終了したことを通知するための割込み信号を出力する。
<ジャイロセンサ31>
図6は、ジャイロセンサ31が角速度を検出する原理を説明する図の一例である。移動している物体に回転が加わると、物体の移動方向と回転軸の両方に直行する方向にコリオリ力が発生する。
図6は、ジャイロセンサ31が角速度を検出する原理を説明する図の一例である。移動している物体に回転が加わると、物体の移動方向と回転軸の両方に直行する方向にコリオリ力が発生する。
物体を移動させるため、ジャイロセンサ31ではMEMS(Micro Electro Mechanical Systems)素子を振動させることで速度v(ベクトル)を発生させる。振動している質量mのMEMS素子に外部から角速度ω(ベクトル)の回転が加わると、MEMS素子にコリオリ力が加わる。コリオリ力Fは以下のように表すことができる。
F=−2mΩ×v
なお、「×」はベクトルの外積を表し、上記のように物体の移動方向と回転軸に直交する方向がコリオリ力Fの方向である。MEMS素子は例えば櫛歯構造の電極を有しており、ジャイロセンサ31はコリオリ力Fにより発生した変位を静電容量の変化として捉える。コリオリ力Fの信号はジャイロセンサ31内で増幅されフィルタリングされた後、角速度に演算されて出力される。すなわち、F,m、vが既知なので角速度ωを取り出すことができる。
F=−2mΩ×v
なお、「×」はベクトルの外積を表し、上記のように物体の移動方向と回転軸に直交する方向がコリオリ力Fの方向である。MEMS素子は例えば櫛歯構造の電極を有しており、ジャイロセンサ31はコリオリ力Fにより発生した変位を静電容量の変化として捉える。コリオリ力Fの信号はジャイロセンサ31内で増幅されフィルタリングされた後、角速度に演算されて出力される。すなわち、F,m、vが既知なので角速度ωを取り出すことができる。
<ナビゲーションセンサについて>
図7は、ナビゲーションセンサのハードウェア構成の構成例を示す図である。なお、ナビゲーションセンサS0とS1は同じ構造であるとする。ナビゲーションセンサ30は、ホストI/F301、イメージプロセッサ302、LEDドライバ303、2つのレンズ304、306及び、イメージアレイ305を有する。LEDドライバ303は、LEDと制御回路が一体となっておりイメージプロセッサ302からの命令によりLED光を照射する。イメージアレイ305は、印刷媒体12からのLED光の反射光をレンズ304を介して受光する。2つのレンズ304,306は、印刷媒体12の表面に対して光学的に焦点が合うように設置されている。
図7は、ナビゲーションセンサのハードウェア構成の構成例を示す図である。なお、ナビゲーションセンサS0とS1は同じ構造であるとする。ナビゲーションセンサ30は、ホストI/F301、イメージプロセッサ302、LEDドライバ303、2つのレンズ304、306及び、イメージアレイ305を有する。LEDドライバ303は、LEDと制御回路が一体となっておりイメージプロセッサ302からの命令によりLED光を照射する。イメージアレイ305は、印刷媒体12からのLED光の反射光をレンズ304を介して受光する。2つのレンズ304,306は、印刷媒体12の表面に対して光学的に焦点が合うように設置されている。
イメージアレイ305は、LED光の波長に感度を有するフォトダイオードなどを有し、受光したLED光からイメージデータを生成する。イメージプロセッサ302はイメージデータを取得して、イメージデータからナビゲーションセンサの移動距離(上記のΔX´、ΔY´)を算出する。イメージプロセッサ302は、算出した移動距離を、ホストI/F301を介して制御部25へ出力する。
光源として使用される発光ダイオード(LED)は、表面が粗い印刷媒体12、例えば紙を使用する場合に有用である。これは、表面が粗い場合、影が発生するため、その影を特徴部分として、X軸方向及びY軸方向の移動距離を正確に算出することが可能になるからである。一方、表面が滑らか、あるいは透明な印刷媒体12に対しては、光源としてレーザ光を発生させる半導体レーザ(LD)を使用することができる。半導体レーザで、印刷媒体12上に例えば縞模様等を形成することで特徴部分を作ることができ、それを基に正確に移動距離を算出することができるからである。
次に、図8を用いて、ナビゲーションセンサ30の動作について説明する。図8はナビゲーションセンサ30による移動量の検出方法を説明する図である。LEDドライバ303が照射した光は、レンズ306を介して印刷媒体12の表面に照射される。印刷媒体12の表面は、図8(a)に示すように様々な形状の微小な凹凸を有している。このため、様々な形の影が発生する。
イメージプロセッサ302は、予め決められたサンプリングタイミング毎に、レンズ304及びイメージアレイ305を介して反射光を受光し、イメージデータ310を取得する。図8(b)に示すように生成したイメージデータ310を、イメージプロセッサ302は規定の分解能単位でマトリクス化する。すなわち、イメージデータ310を複数の矩形領域に分割する。そして、イメージプロセッサ302は、前回のサンプリングタイミングで得られたイメージデータ310と、今回のサンプリングタイミングで得られたイメージデータ310とを比較してイメージデータ310が移動した矩形領域の数を検出し、それを移動距離として算出する。図8(b)で図示するΔX方向にHMP20が移動したとする。t=0とt=1のイメージデータ310を比較すると、右端にある形状が中央の形状と一致する。したがって、形状は−X方向に移動しているので、HMP20がX方向に一マス分移動したことが分かる。時刻t=1とt=2についても同様である。
<IJ記録ヘッド駆動回路>
図9は、IJ記録ヘッド駆動回路23の構成図の一例である。まず、IJ記録ヘッド24は、複数のノズル61を備え、各ノズル61にはアクチュエータが設けられている。アクチュエータは、サーマル方式、ピエゾ方式のいずれであってもよい。サーマル方式は、ノズル内のインクに熱を与えて膨張させ、この膨張によりノズル61からインク滴を吐出させるものである。ピエゾ方式は、圧電素子によりノズル壁を押し、内部のインクを押し出すことによりインク滴を吐出させるものである。
図9は、IJ記録ヘッド駆動回路23の構成図の一例である。まず、IJ記録ヘッド24は、複数のノズル61を備え、各ノズル61にはアクチュエータが設けられている。アクチュエータは、サーマル方式、ピエゾ方式のいずれであってもよい。サーマル方式は、ノズル内のインクに熱を与えて膨張させ、この膨張によりノズル61からインク滴を吐出させるものである。ピエゾ方式は、圧電素子によりノズル壁を押し、内部のインクを押し出すことによりインク滴を吐出させるものである。
IJ記録ヘッド駆動回路23は、アナログスイッチ231と、レベルシフタ232と、階調デコーダ233と、ラッチ234と、シフトレジスタ235とを備えている。IJ記録ヘッド制御部44は、IJ記録ヘッド駆動回路23に対し、IJ記録ヘッド24のノズル61の数(アクチュエータの数も同じ)分のシリアルデータである画像データSDを、画像データ転送クロックSCKによってシフトレジスタ235に転送する。
転送が終了すると、IJ記録ヘッド制御部44は、画像データラッチ信号SLnによりノズル毎に設けられたラッチ234に各画像データSDを記憶させる。
IJ記録ヘッド制御部44は、画像データSDをラッチさせた後、アナログスイッチ231へ各階調値のインク滴を各ノズルから吐出させるためのヘッド駆動波形Vcomを出力する。このとき、IJ記録ヘッド制御部44は、階調デコーダ233に対してヘッド駆動マスクパターンMNを階調制御信号として与えるが、そのヘッド駆動マスクパターンMNを駆動波形のタイミングに合わせて選択するように遷移させる。
階調デコーダ233は、階調制御信号とラッチされた画像データとを論理演算し、レベルシフタ232は、論理演算した得られた論理レベル電圧信号を、アナログスイッチ231を駆動できる電圧レベルまで昇圧する。
アナログスイッチ231は、昇圧された電圧信号を受け付けON/OFFすることにより、IJ記録ヘッドのアクチュエータへ供給する駆動波形VoutNが各ノズルで異なる波形となる。IJ記録ヘッド24は、この駆動波形に基づきインク滴を吐出させ、印刷媒体12上に画像を形成する。
なお、図9の構成及びその説明は、インクジェット方式のプリンタで一般に採用されている構成である。インク滴を吐出できれば、図9の構成に限られずHMP20に搭載されてよい。
<IJ記録ヘッドにおけるノズル位置について>
次に、図10を用いて、IJ記録ヘッド24におけるノズル位置等について説明する。図10(a)は、HMP20の平面図の一例である。図10(b)はIJ記録ヘッド24のみを説明する図の一例である。図示されている面が印刷媒体12に対向する面である。
次に、図10を用いて、IJ記録ヘッド24におけるノズル位置等について説明する。図10(a)は、HMP20の平面図の一例である。図10(b)はIJ記録ヘッド24のみを説明する図の一例である。図示されている面が印刷媒体12に対向する面である。
本実施形態のHMP20は、2つのナビゲーションセンサS0を有している。2つのナビゲーションセンサS0,S1の間の長さは距離Lである。距離Lは長いほどよい。これは、距離Lが長いほど検出可能な最小の回転角θが小さくなり、HMP20の位置の誤差が少なくなるからである。
ナビゲーションセンサ30からIJ記録ヘッド24までの距離はそれぞれ距離a、bである。距離aと、距離bは等しくてもよいし、ゼロでもよい(IJ記録ヘッド24に接している)。また、ナビゲーションセンサ30が1つだけの場合、ナビゲーションセンサS0はIJ記録ヘッド24の周囲の任意の場所に配置される。したがって、図示するナビゲーションセンサS0、S1の位置は一例である。ただし、IJ記録ヘッド24とナビゲーションセンサS0、S1の距離が短いことでHMP20の底面のサイズを削減しやすくなる。
図10(b)に示すように、IJ記録ヘッド24の端から最初のノズル61までの距離は距離d、隣接するノズル間の距離は距離eである。a〜eの値はROM28などに予め記憶されている。
位置算出回路34などがナビゲーションセンサS0の位置を算出すれば、距離a(距離b)、距離d及び距離eを用いて、位置算出回路34はノズル61の位置を算出できる。
<印刷媒体12におけるHMP20の位置について>
図11は、HMP20の座標系と位置の算出方法を説明する図の一例である。本実施形態では、印刷媒体12に水平な方向をX軸、垂直な方向をY軸に設定する。原点は画像形成が開始された際のナビゲーションセンサS0の位置である。この座標を印刷媒体座標と称することにする。これに対し、ナビゲーションセンサS0は図11の座標軸(X´軸、Y´軸)で移動量を出力する。すなわち、ノズル61の配列方向をY´軸、Y´軸に直交する方向をX´軸として移動量を出力する。
図11は、HMP20の座標系と位置の算出方法を説明する図の一例である。本実施形態では、印刷媒体12に水平な方向をX軸、垂直な方向をY軸に設定する。原点は画像形成が開始された際のナビゲーションセンサS0の位置である。この座標を印刷媒体座標と称することにする。これに対し、ナビゲーションセンサS0は図11の座標軸(X´軸、Y´軸)で移動量を出力する。すなわち、ノズル61の配列方向をY´軸、Y´軸に直交する方向をX´軸として移動量を出力する。
図10(a)に示したように、印刷媒体12に対しHMP20が時計回りにθ回転している場合を例にして説明する。ユーザがHMP20を印刷媒体座標に対し全く傾けることなく走査させることは困難でゼロでないθが生じると考えられる。全く回転していなければ、X=X´、Y=Y´である。しかし、HMP20が印刷媒体12に対し回転角θ、回転した場合、ナビゲーションセンサS0の出力とHMP20の印刷媒体12における実際の位置が一致しなくなる。回転角θは時計回りが正、X、X´は右方向が正、Y、Y´は上方向が正である。
図11(a)はHMP20のX座標を説明する図の一例である。図11(a)では回転角θのHMP20がX方向にのみ同じ回転角θのまま移動した場合のナビゲーションセンサS0が検出する移動量ΔX´、ΔY´とX,Yの対応を示している。なお、2つのナビゲーションセンサS0S1の相対位置は固定なので2つのナビゲーションセンサS0S1の出力(移動量)は同じである。ナビゲーションセンサS0のX座標はX1+X2であり、X1+X2はΔX´、ΔY´及び回転角θから求められる。
図11(b)は回転角θのHMP20がY方向にのみ同じ回転角θのまま移動した場合のナビゲーションセンサS0が検出する移動量ΔX´、ΔY´とX,Yの対応を示している。ナビゲーションセンサS0のY座標はY1+Y2であり、Y1+Y2は−ΔX´、ΔY´及び回転角θから求められる。
したがって、HMP20がX方向及びY方向に回転角θのまま移動した場合、ナビゲーションセンサS0が出力するΔX´、ΔY´は印刷媒体座標のX,Yに以下のように変換できる。
X=ΔX´cosθ+ΔY´sinθ …(1)
Y=−ΔX´sinθ+ΔY´cosθ …(2)
<<回転角θの検出>>
本実施形態では、回転角θをジャイロセンサ31の出力により求める場合(方法A)と、2つのナビゲーションセンサS0,S1の移動量を用いて回転角θを求める場合(方法B)がある。それぞれの順番に説明する。
X=ΔX´cosθ+ΔY´sinθ …(1)
Y=−ΔX´sinθ+ΔY´cosθ …(2)
<<回転角θの検出>>
本実施形態では、回転角θをジャイロセンサ31の出力により求める場合(方法A)と、2つのナビゲーションセンサS0,S1の移動量を用いて回転角θを求める場合(方法B)がある。それぞれの順番に説明する。
・方法A(ジャイロセンサ31の角速度を用いた回転角θの算出方法)
ジャイロセンサ31の出力を用いた回転角θの算出方法を説明する。ジャイロセンサ31の出力は角速度ωである。
ω=dθ/dt
であるから、dtをサンプリング周期とすると回転角の変化量dθは以下で表せる。
dθ=ω×dt … (3)
したがって、現在(時間t=0〜N)の回転角θは以下のようになる。
ジャイロセンサ31の出力を用いた回転角θの算出方法を説明する。ジャイロセンサ31の出力は角速度ωである。
ω=dθ/dt
であるから、dtをサンプリング周期とすると回転角の変化量dθは以下で表せる。
dθ=ω×dt … (3)
したがって、現在(時間t=0〜N)の回転角θは以下のようになる。
・方法B(ナビゲーションセンサS0,S1の移動量を用いた回転角θの算出方法)
図12を用いて、ナビゲーションセンサS0,S1が出力する移動量を用いた回転角θの算出方法を説明する。図12は、画像形成中に生じるHMP20の回転角の変化量dθの求め方を説明する図の一例である。回転角の変化量dθは2つのナビゲーションセンサS0,S1が検出する移動量ΔX´を用いて算出される。印刷媒体12の上側のナビゲーションセンサS0が検出する移動量ΔX´0、ナビゲーションセンサS1が検出する移動量をΔX´1とする。なお、図12ではすでに得られている回転角をθとしている。
図12を用いて、ナビゲーションセンサS0,S1が出力する移動量を用いた回転角θの算出方法を説明する。図12は、画像形成中に生じるHMP20の回転角の変化量dθの求め方を説明する図の一例である。回転角の変化量dθは2つのナビゲーションセンサS0,S1が検出する移動量ΔX´を用いて算出される。印刷媒体12の上側のナビゲーションセンサS0が検出する移動量ΔX´0、ナビゲーションセンサS1が検出する移動量をΔX´1とする。なお、図12ではすでに得られている回転角をθとしている。
HMP20が平行移動しながらdθ回転した場合、移動量ΔX´0とΔX´1は一致しない。しかし、どちらの出力も2つのナビゲーションセンサS0,S1を結ぶ直線に垂直な方向の移動量なので、移動量ΔX´0とΔX´1の差は「ΔX´0−ΔX´1」として求めることができる。この差はHMP20がdθ回転したことにより生じた値である。また、「ΔX´0−ΔX´1」、L、及び、dθに図12に示す関係があることから、dθは以下のように表すことができる。
dθ=arcsin{(ΔX´0−ΔX´1)/L} …(4)
位置算出回路34がこのdθを積算することで回転角θを求めることができる。式(1)(2)に示すように、回転角θを用いてHMP20は位置を検出できる。また、式(4)から分かるように、より小さいdθを検出するには距離Lを大きくすることが好ましい。したがって、距離Lが位置の精度に影響するが、距離Lを大きくするとHMP20の底面積が大きくなり、画像形成可能範囲501が小さくなる。
dθ=arcsin{(ΔX´0−ΔX´1)/L} …(4)
位置算出回路34がこのdθを積算することで回転角θを求めることができる。式(1)(2)に示すように、回転角θを用いてHMP20は位置を検出できる。また、式(4)から分かるように、より小さいdθを検出するには距離Lを大きくすることが好ましい。したがって、距離Lが位置の精度に影響するが、距離Lを大きくするとHMP20の底面積が大きくなり、画像形成可能範囲501が小さくなる。
<目標吐出位置>
続いて、図13を用いて目標吐出位置について説明する。図13は、目標吐出位置とノズル61の位置の関係を説明する図の一例である。目標吐出位置G1〜G9は、HMP20がノズル61からインクを着弾させる目標位置(画素の形成先)である。目標吐出位置G1〜G9は、HMP20の初期位置とHMP20のX軸/Y軸方向の解像度(Xdpi,Ydpi)から求めることができる。
続いて、図13を用いて目標吐出位置について説明する。図13は、目標吐出位置とノズル61の位置の関係を説明する図の一例である。目標吐出位置G1〜G9は、HMP20がノズル61からインクを着弾させる目標位置(画素の形成先)である。目標吐出位置G1〜G9は、HMP20の初期位置とHMP20のX軸/Y軸方向の解像度(Xdpi,Ydpi)から求めることができる。
例えば、解像度が300dpiの場合、IJ記録ヘッド24の長手方向及びこれに対し垂直な方向に約0.084[mm]ごとに目標吐出位置が設定される。この目標吐出位置G1〜G9に吐出される画素があれば、HMP20はインクを吐出する。
しかし、実際には、ノズル61と目標吐出位置が完全に一致するタイミングを捉えることは困難なので、HMP20は目標吐出位置とノズル61の現在位置との間に許容誤差62を設けている。そして、ノズル61の現在位置が目標吐出位置から許容誤差62の範囲内にある場合に、ノズル61からインクを吐出する(このような許容範囲を設けることを「吐出ノズル可否判定」という。)。
また、矢印63に示すように、HMP20はノズル61の移動方向と加速度を監視しており、次回の周期(吐出タイミング)のノズル61の位置を予測している。したがって、予測された位置と許容誤差62の範囲内を比較してインクの吐出を準備することが可能になる。
本実施例では、位置検出方法の選択に関する情報70としてユーザ設定が用いられる場合のHMP20について説明する。
図14は、画像データ出力器11とHMP20の機能ブロック図の一例を示す。画像データ出力器11は、主な機能として通信部71、操作入力受付部72、表示制御部73、及び、記憶部1000を有している。画像データ出力器11は、上記した情報処理装置としての機能を有し、CPU,RAM、ROM、キーボード、マウス、フラッシュメモリ、ディスプレイ(タッチパネル)、通信I/F、及び、記憶媒体装着部等を有する。通信部71、操作入力受付部72及び表示制御部73は、CPUが記憶部1000のプログラム1010を実行して実現される機能又は手段である。記憶部1000はRAMやフラッシュメモリなどにより実現される記憶手段である。記憶部1000にはプログラム1010が記憶されている。このプログラム1010は、画像データ出力器11がHMP20に印刷ジョブを要求するためのアプリケーションプログラムである。プログラム1010はHMP20にユーザが各種の設定を行ったりHMP20の状態(インク残量、印刷の進捗、エラー発生など)を監視したりする。プログラム1010は記憶媒体に記憶された状態で配布されたり、プログラム配信用のサーバからダウンロードされることで配信される。
通信部71は、上記のCPUや通信I/F等により実現され、HMP20と各種のデータの送受信を行う。例えば、印刷ジョブで使用される画像データやユーザの設定情報などが送信され、また、HMP20のステータスなどが送信される。
操作入力受付部72は、CPU、キーボード、マウス及びタッチパネル等により実現され、ユーザの操作入力を受け付ける。マイクから音声で操作が入力されてもよい。
表示制御部73は、CPUの処理によって実現され、ディスプレイに表示する各種画面を作成したり、ディスプレイに各種画面を表示させるための制御を行なう。
また、HMP20は通信部52及び位置検出方法選択部51を有する。これらは、図5に示したCPU33がROM28に記憶されたプログラムをDRAM29に展開して実行することで得られる機能又は手段である。また、HMP20は記憶部2000を有する。記憶部2000はDRAM29やROM28などにより実現される記憶手段である。記憶部2000には、ユーザが画像データ出力器11で設定したユーザ設定2001が記憶される。
通信部52は、CPU33や通信I/F27等により実現され、画像データ出力器11と各種のデータの送受信を行う。例えば、印刷ジョブで使用される画像データやユーザの設定情報などを受信し、また、HMP20の状態などを送信する。
位置検出方法選択部51は、CPU33等により実現され、ユーザ設定2001を参照して位置検出方法を選択する。位置検出方法選択部51は、1つでもYesがあると方法Bを選択し、それ以外では方法Aを選択する。
<ユーザインタフェース>
図15は、ユーザが画像データ出力器11のディスプレイに表示させるユーザ設定画面の一例である。ユーザ設定画面には、「印刷媒体が動きやすい場合にチェックしてください。」というメッセージ511、「印刷媒体が動きやすい」という文字に伴うチェックマーク512、及び、「乗り物で移動中」という文字に伴うチェックマーク513、が表示されている。ユーザは、自分が印刷に使用する印刷媒体12が、HMP20と共に動いてしまうような紙質の場合、マウスなどのポインティングデバイスでチェックマーク512をチェックする。印刷媒体12が動いてしまうとジャイロセンサ31では位置の検出が困難になるので、方法Bが選択される。また、ユーザは、自分が乗り物で移動中の場合、マウスなどのポインティングデバイスでチェックマーク513をチェックする。乗り物で移動中はHMP20が印刷媒体12に対し動いていなくてもジャイロセンサ31が角速度を検出してしまうので、方法Bが選択される。
図15は、ユーザが画像データ出力器11のディスプレイに表示させるユーザ設定画面の一例である。ユーザ設定画面には、「印刷媒体が動きやすい場合にチェックしてください。」というメッセージ511、「印刷媒体が動きやすい」という文字に伴うチェックマーク512、及び、「乗り物で移動中」という文字に伴うチェックマーク513、が表示されている。ユーザは、自分が印刷に使用する印刷媒体12が、HMP20と共に動いてしまうような紙質の場合、マウスなどのポインティングデバイスでチェックマーク512をチェックする。印刷媒体12が動いてしまうとジャイロセンサ31では位置の検出が困難になるので、方法Bが選択される。また、ユーザは、自分が乗り物で移動中の場合、マウスなどのポインティングデバイスでチェックマーク513をチェックする。乗り物で移動中はHMP20が印刷媒体12に対し動いていなくてもジャイロセンサ31が角速度を検出してしまうので、方法Bが選択される。
一方、例えばハガキのような小さい印刷媒体12が使用される場合、HMP20の底面がハガキからはみ出す可能性が高いため、ユーザはチェックマーク512をチェックしない。HMP20の底面がハガキからはみ出すとナビゲーションセンサS0、S1による位置の検出が困難になるので、方法Aが採用される。また、乗り物で移動していない場合、ユーザはチェックマーク513をチェックしない。この場合も方法Aが採用される。このように、本実施例ではユーザが適切な位置検出方法を設定できる。
なお、画像データ出力器11の操作入力受付部72はユーザの設定を受け付け、記憶部1000に記憶しておく。チェックマーク512、513のそれぞれがチェックされるとユーザの設定情報は「Yes」と扱われる。そして、印刷ジョブと共に通信部71がユーザ設定をHMP20に送信する。このような設定はHMP20のOPU26に対し、ユーザが直接行うことも可能である。
<動作手順>
図16は、画像データ出力器11とHMP20の動作手順を説明するフローチャート図の一例である。まず、ユーザは画像データ出力器11の電源ボタンを押下する(U101)。画像データ出力器11はそれを受け付け、電池等から電源が供給されて起動する。
図16は、画像データ出力器11とHMP20の動作手順を説明するフローチャート図の一例である。まず、ユーザは画像データ出力器11の電源ボタンを押下する(U101)。画像データ出力器11はそれを受け付け、電池等から電源が供給されて起動する。
次に、画像データ出力器11の操作入力受付部72は、印刷媒体12が動きやすいかどうかについてユーザ設定を受け付ける(S102)。
また、ユーザは画像データ出力器11で出力したい画像を選択する(U103)。画像データ出力器11は画像の選択を受け付ける。ワープロアプリケーションのようなソフトウェアの文書データが画像として選択されてもよいし、JPEGなどの画像データが選択されてもよい。必要であればプリンタドライバが画像データ以外のデータを画像に変更してよい。
ユーザは選択した画像をHMP20で印刷する操作を行う(U104)。HMP20は印刷ジョブの実行の要求を受け付ける。印刷ジョブの要求により画像データとユーザ設定がHMP20へ送信される。
ユーザは、HMP20を持ち、印刷媒体12(例えばノート)の上で初期位置を決定する(U105)。
そして、ユーザはHMP20の印刷開始ボタンを押下する(U106)。HMP20は印刷開始ボタンの押下を受け付ける。
ユーザはHMP20を印刷媒体12の上で滑らせるように自由に走査する(U107)。
続いて、HMP20の動作を説明する。以下の動作はHMP20のCPU33がファームウェアを実行することで行われる。まず、方法Aについて説明し、方法Bについては方法Aとの相違を説明する。本実施例で方法Aが選択される場合、ナビゲーションセンサS0、S1のどちらの移動量が取得されるかは、予め決まっているものとする。あるいは、ユーザが上記のようなユーザインタフェースから設定してもよい。
・方法A
HMP20も電源のONにより起動する。HMP20のCPU33は、HMP20に内蔵されている図4,5のハードウェア要素を初期化する(S101)。例えば、ナビゲーションセンサI/F42やジャイロセンサI/F45のレジスタを初期化したり、印字/センサタイミング生成部43にタイミング値を設定したりする。また、HMP20と画像データ出力器11との間の通信を確立する。
・方法A
HMP20も電源のONにより起動する。HMP20のCPU33は、HMP20に内蔵されている図4,5のハードウェア要素を初期化する(S101)。例えば、ナビゲーションセンサI/F42やジャイロセンサI/F45のレジスタを初期化したり、印字/センサタイミング生成部43にタイミング値を設定したりする。また、HMP20と画像データ出力器11との間の通信を確立する。
HMP20のCPU33は初期化が完了したかどうかを判定し、完了していない場合はこの判定を繰り返す(S102)。
初期化が完了すると(S102のYes)、HMP20のCPU33は、OPU26の例えばLED点灯によりユーザに印刷可能な状態であることを報知する(S103)。これにより、ユーザは印刷可能な状態であることを把握し、上記のように印刷ジョブの実行を要求する。
次に、位置検出方法選択部51は、画像データ出力器11から取得したユーザ設定を参照して位置検出方法を選択する(S103−2)。まず、ユーザ設定で1つも「Yes」が設定されていないものとする(「印刷媒体が動きやすい」がチェックされず、「乗り物で移動中」もチェックされない。)。したがって、位置検出方法選択部51は方法Aを選択する。
印刷ジョブの実行の要求により、HMP20の通信I/F27は画像データ出力器11から画像データの入力を受け付け、画像が入力された旨をOPU26のLEDを点滅させる等によりユーザに対し報知する(S104)。
ユーザが印刷媒体12上でHMP20の初期位置を決め印刷開始ボタンを押下すると、HMP20のOPU26はこの操作を受け付け、CPU33がナビゲーションセンサI/F42に位置を読み取らせる(S105)。これにより、ナビゲーションセンサI/F42はナビゲーションセンサS0と通信し、ナビゲーションセンサS0が検出した移動量を取得しレジスタなどに格納しておく(S1001)。CPU33はナビゲーションセンサI/F42から移動量を読み出す。
ユーザが印刷開始ボタンを押下した直後に取得された移動量はゼロであるがゼロでないとしても、CPU33は例えば座標(0,0)の初期位置としてDRAM29やCPU33のレジスタなどに格納する(S106)。
また、初期位置を取得すると印字/センサタイミング生成部43がタイミングの生成を開始する(S107)。印字/センサタイミング生成部43は、初期化で設定されたナビゲーションセンサS0の移動量の取得タイミングに達するとナビゲーションセンサI/F42にタイミングとジャイロセンサI/F45にタイミングを指示する。これが周期的に行われ上記のサンプリング周期となる。
HMP20のCPU33は、移動量と角速度情報を取得するタイミングであるか否かを判定する(S108)。この判定は、割込みコントローラ41からの通知により行うが、印字/センサタイミング生成部43と同じタイミングをCPU33がカウントすることで判定してもよい。
移動量と角速度情報を取得するタイミングになると、HMP20のCPU33はナビゲーションセンサI/F42から移動量を取得し、ジャイロセンサI/F45から角速度情報を取得する(S109)。上記のように、ナビゲーションセンサI/F42は印字/センサタイミング生成部43が生成するタイミングでナビゲーションセンサS1から移動量を取得している。ジャイロセンサI/F45は印字/センサタイミング生成部43が生成するタイミングでジャイロセンサ31から角速度情報を取得している。なお、ナビゲーションセンサI/F42は2つのナビゲーションセンサS0,S1から移動量を取得しているのでCPU33は2つとも取得して1つを削除する。あるいは、CPU33は1つだけ移動量を取得する。ここではナビゲーションセンサS1の移動量を取得したと説明する。
次に、位置算出回路34は角速度情報と移動量を用いてナビゲーションセンサS1の現在の位置を算出する(S110)。具体的には、位置算出回路34は、前回のサイクルで算出した位置(X,Y)に、今回取得した移動量(ΔX´、ΔY´)及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサS1の位置を算出する。初期位置のみで、前回算出した位置がない場合は、初期位置に今回取得した移動量(ΔX´、ΔY´) 及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサS1の位置を算出する。
次に、位置算出回路34はナビゲーションセンサS1の現在の位置を用いて各ノズル61の現在の位置を算出する(S111)。
このように、印字/センサタイミング生成部43により角速度情報と移動量が同時に又はほぼ同時に取得されるので、回転角と回転角が検出されたタイミングで取得された移動量でノズル61の位置を算出できる。したがって、種類が異なるセンサの情報でノズル61の位置が算出されても、ノズル61の位置の精度が低下しにくい。
次に、CPU33はDMAC38を制御して、算出した各ノズル61の位置を基に、各ノズル61の周辺画像の画像データをDRAM29からImage RAM37へ送信する(S112)。なお、回転器39は、ユーザにより指定されたヘッド位置(HMP20の持ち方など)及びIJ記録ヘッド24の傾きに応じて、画像を回転させる。
次に、IJ記録ヘッド制御部44は周辺画像を構成する各画像要素の位置座標と、各ノズル61の位置座標とを比較する(S113)。位置算出回路34は、ノズル61の過去の位置と現在の位置を用いてノズル61の加速度を算出している。これにより、位置算出回路34は、ナビゲーションセンサI/F42が移動量を取得しジャイロセンサI/F45が角速度情報を取得する周期よりも短いIJ記録ヘッド24のインク吐出周期ごとにノズル61の位置を推定している。IJ記録ヘッド制御部44は、位置算出回路34が推定するノズル61の位置から所定範囲内に画像要素の位置座標が含まれるか否かを判定する。
吐出条件を満たさない場合、処理はステップS108に戻る。吐出条件を満たす場合、IJ記録ヘッド制御部44はノズル61ごとに画像要素のデータをIJ記録ヘッド駆動回路23に出力する(S115)。これにより、印刷媒体12にはインクが吐出される。
次に、CPU33は全ての画像データを出力したかを判定する(S116)。出力していない場合、ステップS108からS115までの処理を繰り返す。
全ての画像データを出力した場合、CPU33は、例えばOPU26のLEDを点灯させユーザに印刷が終了したことを報知する(S117)。
なお、全ての画像データを出力しなくても、ユーザが十分と判断した場合には、ユーザは印刷完了ボタンを押下し、OPU26がそれを受け付けて、印刷を終了してよい。印刷終了後、ユーザが電源をOFFにすることもできるし、印刷が終了した時点で、自動で電源がOFFにされるようになっていてもよい。
・方法B
ステップS103−2で、ユーザ設定に1つ以上「Yes」と設定されていた場合、位置検出方法選択部51は方法Bを選択する。この場合、HMP20はジャイロセンサ31を使わずに、2つのナビゲーションセンサS0,S1だけで回転角を算出する。
ステップS103−2で、ユーザ設定に1つ以上「Yes」と設定されていた場合、位置検出方法選択部51は方法Bを選択する。この場合、HMP20はジャイロセンサ31を使わずに、2つのナビゲーションセンサS0,S1だけで回転角を算出する。
ステップS107において、印字/センサタイミング生成部43がタイミングの生成を開始する(S107)。しかし、印字/センサタイミング生成部43は、初期化で設定されたナビゲーションセンサS0の移動量の取得タイミングに達するとナビゲーションセンサI/F42にだけタイミングを指示する。これが周期的に行われ上記のサンプリング周期となる。あるいは、ジャイロセンサ31にタイミングを指示するがCPU33が角速度情報を取得しない又は取得して削除してもよい。
ステップS108では、HMP20のCPU33は、移動量を取得するタイミングであるか否かを判定する(S108)。
移動量を取得するタイミングになると、HMP20のCPU33はナビゲーションセンサI/F42から、ナビゲーションセンサS0,S1の移動量を取得する(S109)。ジャイロセンサI/F45からは角速度情報を取得しない。
次に、位置算出回路34は2つのナビゲーションセンサS0,S1の移動量から回転角を算出し、これと移動量を用いてナビゲーションセンサS0,S1の現在の位置を算出する(S110)。以降の処理は、方法Aと同様でよい。
このように、本実施形態のHMP20は、ユーザ設定に応じて適切な位置検出方法を選択できる。
本実施例では、位置検出方法の選択に関する情報70として紙面移動判定結果が用いられる場合のHMP20について説明する。本実施例の概略を説明すると、印刷媒体12が動いていなければ方法Aを選択し、印刷媒体12が動いていれば方法Bを選択する。したがって、画像形成可能範囲501が大きい方法Aで優先的に位置を検出でき、印刷媒体12が動いた場合も方法Bで印刷を継続できる。なお、印刷媒体12が動くとは印刷媒体12が置かれた面に対し印刷媒体12が動くこと、又は、ユーザが乗り物などで移動中のため印刷媒体12が地面に対し動いていることをいう。
図17は、HMP20の機能ブロック図の一例を示す。画像データ出力器11について省略されている。図17の説明では主に図14との相違を説明する。本実施例のHMP20は紙面移動判定部53、オフセット部54、及び、連続動作時間判定部55を有する。
紙面移動判定部53はCPU33等により実現され、ジャイロセンサ31の角速度で求めた回転角の変化量dθAと、2つのナビゲーションセンサS0,S1の移動量から求めた回転角の変化量dθBの相違に基づき、印刷媒体12が動いたか否かを判定する。判定結果は紙面移動判定結果2002として記憶部2000に記憶される。
オフセット部54はCPU33等により実現され、HMP20の静止中、ジャイロセンサ31の角速度情報をオフセットする。これにより、ジャイロセンサ31のドリフトの影響を低減できる。なお、オフセットするため、オフセット部54はHMP20が印刷媒体12に対し静止しているか否かを判定する。判定結果はHMP移動判定結果2004として記憶部2000に記憶される。
連続動作時間判定部55はCPU33等により実現され、HMP20が連続して動作している時間を測定し、時間t以上(閾値以上)となったかどうかを判定する。判定結果は連続動作判定結果2003として記憶部2000に記憶される。
本実施例の位置検出方法選択部51は、印刷媒体12が動いたことを紙面移動判定結果2002が示さない場合、方法Aを選択し、印刷媒体12が動いたことを示す場合、方法Bを選択する。また、位置検出方法選択部51は、HMP移動判定結果2004が静止中を示す場合、方法Bを選択する。また、位置検出方法選択部51は、連続動作判定結果2003が時間t以上の連続動作を示す場合、紙面移動判定結果2002に関わらず方法Bを選択する。
<動作手順>
図18は、本実施例の画像データ出力器11とHMP20の動作手順を説明するフローチャート図の一例である。図18の説明では図16との相違を主に説明する。まず、図18ではユーザが設定を行う必要がない。あるいは、ユーザ設定が行われても、紙面移動判定結果が優先される。
図18は、本実施例の画像データ出力器11とHMP20の動作手順を説明するフローチャート図の一例である。図18の説明では図16との相違を主に説明する。まず、図18ではユーザが設定を行う必要がない。あるいは、ユーザ設定が行われても、紙面移動判定結果が優先される。
また、図16のステップS103−2が図18では実行されず、ステップS109では、ジャイロセンサ31の角速度情報及び2つのナビゲーションセンサS0,S1それぞれの移動量が取得される。そして、ステップS109−2で紙面移動判定が行われる。
図19は、紙面移動判定部53が紙面移動判定を行う手順を示すフローチャート図の一例である。図19の処理は図18に示すように角速度情報及び移動量が取得されるごとに繰り返し実行される。
紙面移動判定部53は、ナビゲーションセンサS0, S1が検出する2つの移動量により式(4)を使って回転角の変化量dθB(第二の姿勢)を算出する(S10)。なお、紙面移動判定部53は加速度情報から式(3)を使って回転角の変化量dθA(第一の姿勢)を求める。dθの添え字のAは方法Aを、添え字のBは方法Bを示す。
次に、紙面移動判定部53は、回転角の変化量dθAとdθBを比較する(S20)。すなわち、差の絶対値が閾値以下であるか否かを判定する。ここでαは定数であり、実験的に定められている。αは位置の精度に支障がない誤差程度の違いを示す。つまり、方法Aと方法Bそれぞれで求めた姿勢が異なるか否かを判定する。
ステップS20の判定がYesの場合、紙面移動判定部53は紙面が移動していないという紙面移動判定結果を記憶部2000に記憶するので、位置検出方法選択部51は回転角の変化量dθAを位置検出に使用する方法Aを選択する(S30)。補足すると、回転角の変化量dθAとdθBに誤差程度の違いしかない場合、ジャイロセンサ31も2つのナビゲーションセンサS0,S1も期待される精度で角速度情報と移動量を検出している。また、印刷媒体12が動いている場合、ジャイロセンサ31が検出する角速度情報は、ナビゲーションセンサS0,S1により検出される印刷媒体12に対する相対的な移動量と相関しなくなる。したがって、変化量dθAとdθBの差の絶対値が閾値以下である場合、印刷媒体12が動いていないと判定できる。
この場合、方法Aでも方法Bでも所望の精度が得られるが、方法Aの方が画像形成可能範囲501が広いため方法Aが選択される。あるいは、方法Aの方が位置の精度が高い場合にも方法Aが選択されることが有効である。
ステップS20の判定がNoの場合、紙面移動判定部53は印刷媒体12が移動しているという紙面移動判定結果を記憶部2000に記憶するので、位置検出方法選択部51は回転角の変化量dθBを位置検出に使用する方法Bを選択する(S30)。すなわち、印刷媒体12が動いた場合、ジャイロセンサ31が検出する回転角の変化量dθAの全てが位置に反映されないので、ナビゲーションセンサS0,S1により検出される回転角の変化量dθBを用いて位置が検出される。したがって、印刷媒体12が移動すれば方法Bが選択され、品質を低下させずに印刷を継続できる。
この後、処理は図18のステップS110に進み、方法A又は方法Bで位置が検出され、位置に応じたインクが吐出される。
<変形例>
続いて、図20〜22を用いて、図19の処理のいくつかの変形例について説明する。
続いて、図20〜22を用いて、図19の処理のいくつかの変形例について説明する。
<<変形例1>>
図20は、オフセット部54がジャイロセンサ31のドリフトをオフセットする手順を示すフローチャート図の一例である。図20の説明では、図19との相違を主に説明する。図20は、ジャイロセンサ31のドリフト(HMP20が動かなくても時間と共にdθが大きくなる現象)を除外する処理を説明する。
図20は、オフセット部54がジャイロセンサ31のドリフトをオフセットする手順を示すフローチャート図の一例である。図20の説明では、図19との相違を主に説明する。図20は、ジャイロセンサ31のドリフト(HMP20が動かなくても時間と共にdθが大きくなる現象)を除外する処理を説明する。
まず、ステップS10の処理は図19と同様である。次に、オフセット部54は前回のサンプリング周期で取得した回転角の変化量dθAを用いて今回の周期の回転角の変化量dθAをオフセット補正する(S12)。ジャイロセンサ31は温度変化などの影響で上記のドリフトによりゼロでない角速度を出力するので、後述のステップS18で保存される回転角の変化量dθAで現在の回転角の変化量dθAをオフセットする。具体的には、オフセットとは減算を意味し、「現在の回転角の変化量dθA−保存される回転角の変化量dθA」を算出する。これにより、方法Aが選択されてもドリフトの影響を低減できる。
次に、オフセット部54は、ナビゲーションセンサS0, S1両方の移動量が0かどうかを判定する(S14)。すなわち、ナビゲーションセンサS0,S1から見てHMP20が移動したか否かが判定される。ステップS14の判定に基づきHMP移動判定結果2004を記憶部2000に記憶させる。
ステップS14の判定がYesの場合、オフセット部54はジャイロセンサ31が検出する回転角の変化量dθAが静止している値と見なせるかどうかを判定する(S16)。ジャイロセンサ31はドリフトにより静止していてもゼロでない値を出力するが、動いている場合と比べると静止している場合は小さくなる。実験的に閾値を決めておくことで、静止していると見なせるかどうかを判定できる。
ステップS16の判定がYesの場合、HMP20が静止していると判定してよいので、オフセット部54はジャイロセンサ31が出力する回転角の変化量dθAをオフセット値として記憶部2000に記憶させる(S18)。したがって、静止している状態のオフセット値を保存できるのでステップS12でオフセットできる。
ステップS16の判定がNoの場合、印刷媒体12上のHMP20が静止したまま印刷媒体12だけが移動しているので(ジャイロセンサ31が動いている)、オフセット部54はジャイロセンサ31のオフセット値を保存しない。
次に、位置検出方法選択部51は、HMP移動判定結果2004を参照して、ナビゲーションセンサS0,S1の移動量から位置を検出する方法Bを選択する(S19)。すなわち、HMP移動判定結果2004はHMP20が静止中であることを示すので、ドリフトの影響がある回転角の変化量dθAではなく、回転角の変化量dθBで位置を検出する方法Bが選択される。
ステップS14でNoと判定される場合、HMP20が印刷媒体12に対し動いているので、図19と同様に紙面移動判定が行われる。この処理は図19と同様である。静止中のジャイロセンサ31のドリフトはオフセットされているので、方法Aが選択されても位置の精度が低下しにくい。
したがって、図20の処理によれば、HMP20が印刷媒体12に対し静止している場合はオフセット値を記録しておき方法Bで位置を検出できる。HMP20が動き始めても静止中のジャイロセンサ31のドリフトがオフセットされているので、静止中のドリフトの影響を低減して位置を検出できる。
<<変形例2>>
図21は、紙面移動判定結果に応じて位置検出方法選択部51が回転角の変化量dθを算出する手順を示すフローチャート図の一例である。図21の説明では、図19との相違を主に説明する。ステップS10,S20の処理は図19と同様である。
図21は、紙面移動判定結果に応じて位置検出方法選択部51が回転角の変化量dθを算出する手順を示すフローチャート図の一例である。図21の説明では、図19との相違を主に説明する。ステップS10,S20の処理は図19と同様である。
ステップS20の判定がYesの場合、位置検出方法選択部51は重み係数aを一段階大きくする(S22)。ステップS20の判定がNoの場合、位置検出方法選択部51は重み係数aを一段階小さくする(S24)。なお、位置検出方法選択部51はaの値を記憶部2000に記憶しておく。
ステップS22、S24で求めた重み係数aに基づいて、位置検出方法選択部51は回転角の変化量dθを算出する(S26)。
dθ=a・dθA+(1−a)dθB
重み係数aについて補足して説明する。紙面移動判定結果2002に応じて位置検出方法選択部51はdθAとdθBの重みを変更する。重み係数aはdθAの重み付けであり、a−1はdθBの重み付けである。重み係数aは、0≦a≦1の範囲の値を取る。ステップS26の式はdθA、dθBがaと1−aでそれぞれ重み付けされ合成されている。例えば、10回連続で、ステップS20でYesと判定されるとdθBからdθA に完全に切り替り、10回連続でステップS20でNoと判定されるとdθAからdθB に完全に切り替ると設計されているものとする。この場合、ステップS20で初めてYesと判定されてからn(n=0,1,2,…,10)回目のdθは以下のようになる。
重み係数aについて補足して説明する。紙面移動判定結果2002に応じて位置検出方法選択部51はdθAとdθBの重みを変更する。重み係数aはdθAの重み付けであり、a−1はdθBの重み付けである。重み係数aは、0≦a≦1の範囲の値を取る。ステップS26の式はdθA、dθBがaと1−aでそれぞれ重み付けされ合成されている。例えば、10回連続で、ステップS20でYesと判定されるとdθBからdθA に完全に切り替り、10回連続でステップS20でNoと判定されるとdθAからdθB に完全に切り替ると設計されているものとする。この場合、ステップS20で初めてYesと判定されてからn(n=0,1,2,…,10)回目のdθは以下のようになる。
<<変形例3>>
図22は、紙面移動判定部53が紙面移動判定を行う手順を示すフローチャート図の一例である。図22の説明では、図19との相違を主に説明する。ステップS10,S20の処理は図19と同様である。
図22は、紙面移動判定部53が紙面移動判定を行う手順を示すフローチャート図の一例である。図22の説明では、図19との相違を主に説明する。ステップS10,S20の処理は図19と同様である。
ステップS20の判定がYesの場合、連続動作時間判定部55は連続動作時間が時間t以上であるか否かを判定する(S28)。連続動作時間とは、印刷開始ボタンが押下されてからの経過時間である。
上記のようにジャイロセンサ31はドリフトするため、定期的にオフセットしないと検出誤差が大きくなる。そこで、連続動作時間判定部55は連続動作時間を判定する。連続動作時間判定部55は判定結果を連続動作判定結果2003として記憶部2000に記憶しておく。
ステップS28の判定がNoの場合、連続動作時間はドリフトの影響が目立つほどではないので、位置検出方法選択部51はdθAにより位置を検出する方法Aを選択する(S30)。
ステップS28の判定がYesの場合、ドリフトの影響が大きくなるほどの連続動作時間が経過しているので、位置検出方法選択部51はdθBにより位置を検出する方法Bを選択する(S40)。
したがって、図22の処理によれば、印刷媒体12が動いていない場合でも連続動作時間が時間t以上になると、HMP20はdθBにより位置を検出できる。
以上説明したように、本実施例のHMP20は、画像形成可能範囲501が大きい方法Aで優先的に選択しながら、印刷媒体12が動いた場合は画像の品質を低下させずに方法Bで印刷を継続できる。
本実施例では、位置検出方法の選択に関する情報70としてナビゲーションセンサの逸脱判定結果が用いられる場合のHMP20について説明する。本実施例では優先的に方法Bを選択し、ナビゲーションセンサS0、S1の少なくとも一方が印刷媒体12から逸脱した場合、方法Aを選択する。したがって、例えば方法Bの方が位置の精度が高い場合に有効であり、ナビゲーションセンサS0、S1のいずれかが印刷媒体12から逸脱しても方法Aで印刷を継続できる。
図23は、HMP20の機能ブロック図の一例を示す。画像データ出力器11について省略されている。図23の説明では主に図14との相違を説明する。本実施例のHMP20は逸脱判定部56を有する。
逸脱判定部56はCPU33等により実現され、2つのナビゲーションセンサS0,S1の移動量をそれぞれ閾値と比較し、ナビゲーションセンサS0、S1が印刷媒体12から逸脱したどうかを判定する。判定結果は逸脱判定結果2005として記憶部2000に記憶される。
本実施例の位置検出方法選択部51は、逸脱判定結果2005が、ナビゲーションセンサS0又はS1の少なくとも一方が印刷媒体12から逸脱したことを示す場合、方法Aを選択し、逸脱していない場合、方法Bを選択する。
<動作手順>
図24は、本実施例の画像データ出力器11とHMP20の動作手順を説明するフローチャート図の一例である。図24の説明では図16との相違を主に説明する。まず、図24ではユーザが設定を行う必要がない。あるいは、ユーザ設定が行われても、紙面移動判定結果が優先される。
図24は、本実施例の画像データ出力器11とHMP20の動作手順を説明するフローチャート図の一例である。図24の説明では図16との相違を主に説明する。まず、図24ではユーザが設定を行う必要がない。あるいは、ユーザ設定が行われても、紙面移動判定結果が優先される。
また、図16のステップS103−2が図24では実行されず、ステップS109では、ジャイロセンサ31の角速度情報及び2つのナビゲーションセンサS0,S1それぞれの移動量が取得される。ただし、ジャイロセンサ31の角速度情報又はナビゲーションセンサS0,S1のいずれかの移動量が使用されない場合がある。そして、ステップS109−2〜S109−4で逸脱判定が行われる。なお、詳細は図25にて説明する。
ステップS109−2において、逸脱判定部56はナビゲーションセンサS0,S1の移動量が正常値であるかどうかを判別する。正常値とは、印刷媒体12上にナビゲーションセンサS0,S1が2つとも存在し、正常に移動量を読み取れている場合に得られる値である。
ステップS109−2の判定がYesの場合、位置検出方法選択部51はナビゲーションセンサS0,S1が検出する回転角の変化量dθBを元に位置が算出される方法Bを選択する(S109−3)。
ステップS109−2の判定がNoの場合、位置検出方法選択部51はナビゲーションセンサS0,S1の出力のうち正常値を使用し、ジャイロセンサ31が検出した角速度情報を元に位置が算出される方法Aを選択する(S109−4)。以降の処理は図16と同様でよい。
図25を用いて図24のステップS109−2〜S109−4について説明する。図25は、ナビゲーションセンサS0,S1の移動量が正常値であるかどうかを逸脱判定部56が判定するフローチャート図の一例である。
図25(a)は逸脱判定部56による閾値の決定手順を示すフローチャート図の一例である。図25(a)の処理は、例えばユーザが閾値の決定モードなどにHMP20を設定することでスタートする。
まず、逸脱判定部56は、センサ特性値や評価結果などから閾値を決定する(S10)。逸脱判定部56は、閾値を記憶部2000に記憶しておく(S20)。
センサ特性値は、ナビゲーションセンサのメーカー等から与えられる誤差である。逸脱判定部56はこの誤差や誤差の2倍などを閾値に決定できる。また評価結果とは、評価者がHMP20を決まった長さ移動させた場合の長さと、ナビゲーションセンサの出力の違いなどから得られる。決まった長さAに対しナビゲーションセンサの出力がBである場合、まず、評価者はAとBの相違が誤差の範囲であるかどうか判定し、画像データ出力器11に入力する。逸脱判定部56は判定の結果を受け付け、誤差の範囲という入力の場合、決まった長さの移動中の最も大きい移動量(決まった長さ移動した際のN回のサイクルのうち最も大きい移動量)にマージンを考慮して閾値に決定する。なお、評価者はこの評価を普通紙、コーティング紙、各種の色紙、透明紙などの異なる紙種で行う。これにより逸脱判定部56は、紙種ごとに閾値を決定できる。あるいは、紙種に関係なく閾値を決定できる。
図25(b)は逸脱判定部56による逸脱の判定手順を示すフローチャート図の一例である。図25(b)は、ステップS109−2〜S109−4の具体的な判定方法である。
まず、逸脱判定部56は記憶部2000に記憶されている閾値を読み出す(S10)。
次に、ナビゲーションセンサS0,S1が検出した移動量が閾値の範囲内か否かを逸脱判定部56が判定する(S20)。
ステップS20の判定がYesの場合、逸脱判定部56は正常読取カウントを1つ大きくする(S30)。ステップS20の判定がNoの場合、ナビゲーションセンサS0,S1の移動量は異常である(印刷媒体12上にない)と判定される。
そして、逸脱判定部56は全てのナビゲーションセンサS0,S1について閾値との比較が完了したか否かを判定する(S40)。
ステップS40の判定がYesの場合、逸脱判定部56は正常読み取りカウントが2以上か否かを判定する(S50)。
正常読み取りカウントが2以上の場合(S50のYes)、逸脱判定部56は逸脱なしという逸脱判定結果2005を記憶部2000に記憶する。これにより、位置検出方法選択部51はナビゲーションセンサS0、S1の移動量で位置を検出する方法Bを選択する(S60)。
正常読み取りカウントが2以上でない場合(S50のNo)、逸脱判定部56は正常読み取りカウントが1以上か否かを判定する(S70)。
正常と判定されたナビゲーションセンサS0又はS1が1個しかなかった場合(S70のYes)、逸脱判定部56はナビゲーションセンサS0又はS1の識別情報と1つだけ逸脱ありという逸脱判定結果2005を記憶部2000に記憶する。これにより、位置検出方法選択部51はナビゲーションセンサS0又はS1で移動量を検出しジャイロセンサ31で回転角を算出して位置を検出する方法Aを選択する(S80)。
正常と判定されたナビゲーションセンサが1個もなかった場合(S70のNo)、そもそも移動量を検出できていないため位置検出方法選択部51はエラーを検出する(S90)。
このように、本実施例のHMP20は、ナビゲーションセンサS0,S1の移動量が正常かどうかを判定し、正常でない場合に方法Bから方法Aを切り替えることができる。本実施例では方法Bの方が方法Aよりも位置の精度が高い場合に、方法Aを優先的に選択し、ナビゲーションセンサS0、S1の一方が印刷媒体12から逸脱した場合は方法Aで印刷を継続できる。
<変形例>
続いて、図26、27を用いて、図25の処理のいくつかの変形例について説明する。
続いて、図26、27を用いて、図25の処理のいくつかの変形例について説明する。
<<変形例1>>
図26は、逸脱判定部56が逸脱判定を行う手順を示すフローチャート図の一例である。図26の説明では、図25との相違を主に説明する。図26では、過去のナビゲーションセンサS0、S1の読取り履歴から逸脱判定部56が閾値を決定する。
図26は、逸脱判定部56が逸脱判定を行う手順を示すフローチャート図の一例である。図26の説明では、図25との相違を主に説明する。図26では、過去のナビゲーションセンサS0、S1の読取り履歴から逸脱判定部56が閾値を決定する。
図26(a)は逸脱判定部56による閾値の決定手順を示すフローチャート図の一例である。図26(a)の処理は、例えばユーザが閾値の決定モードなどにHMP20を設定することでスタートする。
まず、逸脱判定部56は、ナビゲーションセンサS0、S1が過去に検出した複数の移動量に基づいて移動量に対する許容値αを決定する(S10)。例えば、前回の印刷ジョブにおいてナビゲーションセンサS0、S1が検出した移動量が記憶部2000などに記憶されており、これらの移動量の標準偏差σの2倍などを許容値αに決定する。あるいは、前回の印刷ジョブにおける移動量の最大値又はこの最大値にマージンを見込んだ値を許容値αに決定する。逸脱判定部56は、許容値を記憶部2000に記憶しておく。
図26(b)は、ステップS109−2〜S109−4の具体的な判定方法である。
まず、逸脱判定部56は、ステップS109で取得された今回のサンプリング周期のナビゲーションセンサS0,S1の移動量を記憶部2000に記憶しておく(S4)。
そして、記憶部2000に記憶されている前回のサンプリング周期で取得された移動量と今回のサンプリング周期で取得された移動量の差の絶対値を閾値として記憶部2000に記憶させる(S6)。このように、前回値と今回値の差を閾値に決定することで移動量の急激な変化を検出できる。
次に、逸脱判定部56は記憶部2000に記憶されている閾値と許容値αを読み出す(S10)。
次に、ナビゲーションセンサS0,S1が検出した移動量が閾値と許容値αの合計の範囲内か否かを逸脱判定部56が判定する(S20)。以降の処理は図25と同様でよい。
したがって、図26の処理によれば、過去の移動量の履歴から許容値を求め、この許容値を超えた移動量を示した場合に、ナビゲーションセンサS0,S1が印刷媒体12から逸脱したと判定できる。そして、ジャイロセンサ31を用いる方法Aを選択し印刷を継続できる。
<<変形例2>>
図27は、逸脱判定部56が逸脱判定を行う手順を示すフローチャート図の一例である。図27の説明では、図25との相違を主に説明する。図27では、ナビゲーションセンサS0,S1のセンサ信頼度情報を用いて逸脱判定部56が閾値を決定する。
図27は、逸脱判定部56が逸脱判定を行う手順を示すフローチャート図の一例である。図27の説明では、図25との相違を主に説明する。図27では、ナビゲーションセンサS0,S1のセンサ信頼度情報を用いて逸脱判定部56が閾値を決定する。
図27(a)は逸脱判定部56による閾値の決定手順を示すフローチャート図の一例である。図27(a)の処理は、例えばユーザが閾値の決定モードなどにHMP20を設定することでスタートする。
まず、逸脱判定部56は、センサ信頼度情報のセンサ特性値や評価結果などから閾値を決定する(S10)。逸脱判定部56は、閾値を記憶部2000に記憶しておく(S20)。
センサ信頼度情報とは、ナビゲーションセンサS0,S1の信頼度に関する情報であり、移動量と共にナビゲーションセンサI/F42がナビゲーションセンサS0,S1から取得することができる。例えば、イメージアレイ305が受光した反射光の強度、イメージプロセッサ302が検出したエッジ(特徴点)の数、及び、イメージアレイ305のシャッター時間などがセンサ信頼度情報である。これらはHMP20が印刷媒体12から浮いた場合に値が悪化する。反射光の強度は低下し、エッジ(特徴点)の数が少なくなり、シャッター時間は増大する。それぞれ適正な値の範囲が決まっており、これらはセンサ特性値として与えられる。逸脱判定部56は、センサ特性値又はセンサ特性値にマージンを考慮して閾値を決定する。また、評価者が評価を行うことで、センサ信頼度情報がどのくらいなら位置の算出に支障がないかを評価できる。評価者は適切なセンサ信頼度情報を閾値として画像データ出力器11に入力し、逸脱判定部56は閾値を受け付ける。したがって、センサ信頼度情報に基づいて閾値が決定される。
図27(b)は、ステップS109−2〜S109−4の具体的な判定方法である。
まず、逸脱判定部56は記憶部2000に記憶されている閾値を読み出す(S10)。
次に、ナビゲーションセンサS0,S1が提供するセンサ信頼度情報が閾値の範囲内か否かを逸脱判定部56が判定する(S20)。以降の処理は図25と同様でよい。
HMP20のフリーハンド走査中や折り返し時などに筐体がやや浮く場合がある。図27の処理によれば、移動量が正常でも、センサ信頼度情報が閾値内かどうかを判定するので、ナビゲーションセンサS0,S1が逸脱した状態で位置を検出することを回避できる。また、ジャイロセンサ31を用いて印刷を継続できる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、上記したSoC50、ASIC/FPGA40の構成要素は、CPU性能やASIC/FPGA40の回路規模等により、どちらに含まれていてもよい。
また、本実施形態ではインクを吐出して画像を形成すると説明したが、可視光、紫外線、赤外線、レーザなどを照射して画像を形成してもよい。この場合、印刷媒体12として例えば熱や光に反応するものが用いられる。また、透明な液体を吐出してもよい。この場合、特定の波長域の光が照射されると可視情報が得られる。また、金属ペーストや樹脂などを吐出してもよい。
また、本実施形態ではジャイロセンサ31により印刷媒体12における姿勢を検出すると説明したが、地磁気センサによっても水平方向の姿勢(方位)を検出できる。
また、ジャイロセンサ31は1つに限られず2つ以上設置されていてもよい。ナビゲーションセンサが3つ以上設置されてもよい。
また、ナビゲーションセンサ30は移動量検出手段の一例であり、ジャイロセンサ31は姿勢検出手段の一例であり、位置検出方法選択部51は選択手段の一例であり、第一の位置検出方法は方法Aの一例であり、第二の位置検出方法は方法Bの一例であり、位置算出回路34は位置検出手段の一例であり、紙面移動判定部53は判定手段の一例であり、オフセット部54はオフセット手段の一例であり、連続動作時間判定部55は測定手段の一例である。また、センサ信頼度情報は信頼度情報の一例であり、逸脱判定部56は逸脱検出手段の一例であり、IJ記録ヘッド制御部44等は液滴吐出手段の一例であり、HMP20は液滴吐出装置の一例である。
また、HMP20のうち位置の算出に必要な機能を最低限有する装置が位置検出装置である。例えば、ナビゲーションセンサS0、ジャイロセンサ31、位置算出回路34,及びCPU33を有する。換言すると画像形成に必要な機能を有さないHMP20が位置検出装置である。また、位置検出装置が搭載された装置が被搭載物であり、HMP20は被搭載物の一例である。
11 画像データ出力器
12 印刷媒体
25 制御部
30 ナビゲーションセンサ
31 ジャイロセンサ
33 CPU
34 位置算出回路
42 ナビゲーションセンサI/F
45 ジャイロセンサI/F
51 位置検出方法選択部
53 紙面移動判定部
54 オフセット部
55 連続動作時間判定部
56 逸脱判定部
61 ノズル
12 印刷媒体
25 制御部
30 ナビゲーションセンサ
31 ジャイロセンサ
33 CPU
34 位置算出回路
42 ナビゲーションセンサI/F
45 ジャイロセンサI/F
51 位置検出方法選択部
53 紙面移動判定部
54 オフセット部
55 連続動作時間判定部
56 逸脱判定部
61 ノズル
Claims (15)
- 位置検出装置が搭載された被搭載物の移動面における位置を検出する位置検出装置であって、
前記移動面における移動量を検出する少なくとも2つの移動量検出手段と、
前記移動面における前記被搭載物の姿勢を検出する少なくとも1つの姿勢検出手段と、
位置検出方法の選択に関する情報を参照して、前記2つの移動量検出手段のうちの1つが検出した前記移動量及び前記姿勢検出手段が検出した前記姿勢を用いて前記被搭載物の位置を検出する第一の位置検出方法、又は、前記2つの移動量検出手段が検出した前記移動量を用いて前記被搭載物の位置を検出する第二の位置検出方法を選択する選択手段と、
を有する位置検出装置。 - 前記第一の位置検出方法又は前記第二の位置検出方法で位置を検出する位置検出手段を有し、
前記選択手段は、前記位置検出手段が前記第一の位置検出方法で位置を検出している場合に、前記第二の位置検出方法に切り替える請求項1に記載の位置検出装置。 - 前記第一の位置検出方法又は前記第二の位置検出方法で位置を検出する位置検出手段を有し、
前記選択手段は、前記位置検出手段が前記第二の位置検出方法で位置を検出している場合に、前記第一の位置検出方法に切り替える請求項1に記載の位置検出装置。 - 前記位置検出方法の選択に関する情報は、前記移動面が動いたか否かに関する情報であり、
前記選択手段は、前記移動面が動いていない場合に前記第一の位置検出方法を選択し、前記移動面が動いた場合に前記第二の位置検出方法を選択する請求項1〜3のいずれか1項に記載の位置検出装置。 - 前記2つの移動量検出手段が検出した2つの前記移動量で検出された前記被搭載物の第二の姿勢と、前記姿勢検出手段が検出した前記被搭載物の第一の姿勢が異なる場合、前記移動面が動いたと判定する判定手段を有する請求項4に記載の位置検出装置。
- 前記2つの移動量検出手段が検出した2つの前記移動量がそれぞれゼロと見なせる場合、前記選択手段は前記第二の位置検出方法を選択する請求項4又は5に記載の位置検出装置。
- 前記姿勢検出手段は周期的に前記被搭載物の姿勢を検出するものであり、
前記2つの移動量検出手段が検出した2つの前記移動量がそれぞれゼロと見なせ、かつ、前記第一の姿勢に変化がないと見なせる場合、前記姿勢検出手段が検出した前記第一の姿勢を記憶しておくオフセット手段を有し、
前記オフセット手段は、次回の周期で前記姿勢検出手段が検出した前記被搭載物の前記第一の姿勢から記憶されている前記第一の姿勢をオフセットする請求項5に記載の位置検出装置。 - 前記第二の姿勢と前記第一の姿勢が同じと見なせる場合、
前記選択手段は、前記姿勢検出手段が検出した前記第一の姿勢の重み係数を大きくし、前記第二の姿勢の重み係数を小さくし、
前記第二の姿勢と前記第一の姿勢が異なる場合、
前記選択手段は、前記第一の姿勢の重み係数を小さくし、前記第二の姿勢の重み係数を大きくし、
前記第二の姿勢が重み係数で重み付けされた値と、前記第一の姿勢が重み係数で重み付けされた値を合成して前記姿勢を求める請求項5に記載の位置検出装置。 - 前記姿勢検出手段が連続して動作している連続動作時間を測定する測定手段を有し、
前記第一の姿勢と前記第二の姿勢が同じと見なせる場合でも、
前記連続動作時間が閾値以上になると、前記選択手段は前記第二の位置検出方法を選択する請求項5に記載の位置検出装置。 - 前記位置検出方法の選択に関する情報は、前記移動量検出手段が前記移動面から逸脱した否かに関する情報であり、
前記移動量検出手段が前記移動面から逸脱していないことを検出する逸脱検出手段を有し、
2つ以上の前記移動量検出手段が逸脱していないことを前記逸脱検出手段が検出した場合、前記選択手段は前記第二の位置検出方法を選択し、
1つの前記移動量検出手段が逸脱していないことを前記逸脱検出手段が検出した場合、前記選択手段は前記第一の位置検出方法を選択する請求項1〜3のいずれか1項に記載の位置検出装置。 - 前記移動量検出手段は、前記移動量が閾値より大きい場合、前記移動量検出手段が前記移動面から逸脱したことを検出し、
前記移動量検出手段は周期的に前記移動量を検出するものであり、
前記逸脱検出手段は、前回の周期の前記移動量を記憶しておき、今回の周期で取得された前記移動量と前回の周期の前記移動量との差を算出し、前記差と過去に検出された前記移動量から求めた許容値の合計を前記閾値に決定する請求項10に記載の位置検出装置。 - 前記逸脱検出手段は、前記移動面から前記移動量検出手段が浮いた場合に低下する信頼度情報を前記移動量検出手段から取得し、
前記信頼度情報を閾値と比較して前記移動量検出手段が前記移動面から逸脱したか否かを判定する請求項10に記載の位置検出装置。 - 前記位置検出方法の選択に関する情報は、ユーザによる設定情報であり、
前記選択手段は前記設定情報を参照して前記第一の位置検出方法又は前記第二の位置検出方法を選択する請求項1に記載の位置検出装置。 - 請求項1〜13のいずれか1項に記載の位置検出装置と、
前記被搭載物の位置に応じて該位置の画像を形成するための液滴を吐出する液滴吐出手段と、
を有する液滴吐出装置。 - 位置検出装置が搭載された被搭載物の移動面における位置を検出する位置検出装置を、
前記移動面における移動量を検出する少なくとも2つの移動量検出手段と、
前記移動面における前記被搭載物の姿勢を検出する少なくとも1つの姿勢検出手段と、
位置検出方法の選択に関する情報を参照して、前記2つの移動量検出手段のうちの1つが検出した前記移動量及び前記姿勢検出手段が検出した前記姿勢を用いて前記被搭載物の位置を検出する第一の位置検出方法、又は、前記2つの移動量検出手段が検出した前記移動量を用いて前記被搭載物の位置を検出する第二の位置検出方法を選択する選択手段、として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016055806A JP2017170634A (ja) | 2016-03-18 | 2016-03-18 | 位置検出装置、液滴吐出装置、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016055806A JP2017170634A (ja) | 2016-03-18 | 2016-03-18 | 位置検出装置、液滴吐出装置、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017170634A true JP2017170634A (ja) | 2017-09-28 |
Family
ID=59972692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016055806A Pending JP2017170634A (ja) | 2016-03-18 | 2016-03-18 | 位置検出装置、液滴吐出装置、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017170634A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019081314A (ja) * | 2017-10-31 | 2019-05-30 | セイコーエプソン株式会社 | 印刷装置および印刷方法 |
JP2019126917A (ja) * | 2018-01-22 | 2019-08-01 | カシオ計算機株式会社 | 印刷装置、印刷方法及びプログラム |
EP3539789A1 (en) * | 2018-03-14 | 2019-09-18 | Ricoh Company, Ltd. | Liquid discharge apparatus in a handheld printer, liquid discharge method, and carrier means |
JP2020040373A (ja) * | 2018-09-10 | 2020-03-19 | 株式会社リコー | ハンドヘルド記録装置 |
EP3686020A1 (en) * | 2019-01-24 | 2020-07-29 | Ricoh Company, Ltd. | Handheld printer notifying operating state status to remote terminal and restricting execution of the print process accordingly |
-
2016
- 2016-03-18 JP JP2016055806A patent/JP2017170634A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019081314A (ja) * | 2017-10-31 | 2019-05-30 | セイコーエプソン株式会社 | 印刷装置および印刷方法 |
JP7039931B2 (ja) | 2017-10-31 | 2022-03-23 | セイコーエプソン株式会社 | 印刷装置および印刷方法 |
JP2019126917A (ja) * | 2018-01-22 | 2019-08-01 | カシオ計算機株式会社 | 印刷装置、印刷方法及びプログラム |
JP7040040B2 (ja) | 2018-01-22 | 2022-03-23 | カシオ計算機株式会社 | 印刷装置、印刷支援方法及びプログラム |
EP3539789A1 (en) * | 2018-03-14 | 2019-09-18 | Ricoh Company, Ltd. | Liquid discharge apparatus in a handheld printer, liquid discharge method, and carrier means |
US10596813B2 (en) | 2018-03-14 | 2020-03-24 | Ricoh Company, Ltd. | Liquid discharge apparatus and liquid discharge method |
JP2020040373A (ja) * | 2018-09-10 | 2020-03-19 | 株式会社リコー | ハンドヘルド記録装置 |
EP3686020A1 (en) * | 2019-01-24 | 2020-07-29 | Ricoh Company, Ltd. | Handheld printer notifying operating state status to remote terminal and restricting execution of the print process accordingly |
JP2020120299A (ja) * | 2019-01-24 | 2020-08-06 | 株式会社リコー | データ処理装置、データ処理方法及びデータ処理プログラム |
JP7163792B2 (ja) | 2019-01-24 | 2022-11-01 | 株式会社リコー | データ処理システム、データ処理方法及びデータ処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3415328B1 (en) | Computer program and droplet discharging system | |
JP6897167B2 (ja) | 液滴吐出装置、液滴吐出方法、プログラム | |
JP6409435B2 (ja) | 印刷装置、印刷システムおよび印刷方法 | |
USRE49057E1 (en) | Position detection apparatus, droplet discharging apparatus, method for detecting position, and medium | |
JP6926535B2 (ja) | 液滴吐出装置、液滴吐出方法、プログラム | |
JP7120348B2 (ja) | 画像形成装置 | |
JP2017170634A (ja) | 位置検出装置、液滴吐出装置、プログラム | |
CN109774316B (zh) | 液滴喷出装置及液滴喷出方法 | |
JP6717042B2 (ja) | 位置検出装置、液滴吐出装置 | |
JP7206997B2 (ja) | 画像形成装置、状態制御方法、プログラム | |
US10596813B2 (en) | Liquid discharge apparatus and liquid discharge method | |
US11102373B2 (en) | Image forming apparatus, state control method, and non-transitory computer-readable storage medium | |
JP6844145B2 (ja) | 位置検出装置、液滴吐出装置、プログラム、位置検出方法 | |
JP2019162860A (ja) | 液滴吐出装置、液滴吐出方法及びプログラム | |
JP7183838B2 (ja) | 液体吐出装置、液体吐出方法、及びプログラム | |
JP7172658B2 (ja) | 位置検出装置、ハンドヘルド装置、位置検出方法、及びプログラム | |
JP7206974B2 (ja) | 液体吐出装置、液体吐出方法、及びプログラム | |
JP7127564B2 (ja) | 位置情報調整装置、該位置情報調整装置を含むハンディ型液滴吐出装置、ハンディ装置における位置情報調整方法、及びハンディ装置における位置情報調整プログラム | |
JP2023005120A (ja) | プログラム及び画像形成方法 | |
JP2022171176A (ja) | プログラム、液滴吐出装置、液滴吐出システム、情報表示方法 | |
JP2021074955A (ja) | 画像形成装置、及びプログラム | |
JP2019022989A (ja) | 印刷装置、印刷システムおよび印刷方法 |