JP2016137621A - ハンドヘルド記録装置 - Google Patents
ハンドヘルド記録装置 Download PDFInfo
- Publication number
- JP2016137621A JP2016137621A JP2015013399A JP2015013399A JP2016137621A JP 2016137621 A JP2016137621 A JP 2016137621A JP 2015013399 A JP2015013399 A JP 2015013399A JP 2015013399 A JP2015013399 A JP 2015013399A JP 2016137621 A JP2016137621 A JP 2016137621A
- Authority
- JP
- Japan
- Prior art keywords
- noise
- value
- output value
- sensor
- determined
- 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
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J3/00—Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed
- B41J3/36—Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed for portability, i.e. hand-held printers or laptop printers
Landscapes
- Printers Characterized By Their Purpose (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】ナビゲーションセンサからの位置情報にノイズが含まれていても、正しい位置情報が得られるようにする。
【解決手段】手で記録媒体上を走査されながら、画像データと記録ヘッドの基準点からの位置情報とに応じて、記録ヘッドの複数のノズルからインクを吐出して記録するハンドヘルド記録装置であり、走査中に、タイミング生成回路52がタイミング信号を生成するごとに、ナビゲーションセンサ25の2個のセンサの各出力値を読み込んでサンプリングし、その各出力値と2個のセンサの取り付け距離とに基づいて、ノイズ除去演算部46が各センサの出力値にノイズが含まれているか否かを判断し、ノイズが含まれていると判断した出力値を補正するか又は不採用にしてノイズを除去し、ノイズが除去された所定サンプリング回数の各センサの出力値に基づいて、位置算出回路43が記録ヘッドの基準点からの移動量を算出して位置情報を決定する。
【選択図】 図3
【解決手段】手で記録媒体上を走査されながら、画像データと記録ヘッドの基準点からの位置情報とに応じて、記録ヘッドの複数のノズルからインクを吐出して記録するハンドヘルド記録装置であり、走査中に、タイミング生成回路52がタイミング信号を生成するごとに、ナビゲーションセンサ25の2個のセンサの各出力値を読み込んでサンプリングし、その各出力値と2個のセンサの取り付け距離とに基づいて、ノイズ除去演算部46が各センサの出力値にノイズが含まれているか否かを判断し、ノイズが含まれていると判断した出力値を補正するか又は不採用にしてノイズを除去し、ノイズが除去された所定サンプリング回数の各センサの出力値に基づいて、位置算出回路43が記録ヘッドの基準点からの移動量を算出して位置情報を決定する。
【選択図】 図3
Description
この発明は、ハンドヘルド記録装置に関する。
記録装置であるプリンタには、インクジェットプリンタ、レーザプリンタ、サーマルプリンタ、ドットインパクトプリンタ等、種々の記録方式のものがあるが、近年は小型のプリンタとして、インクジェットプリンタが広く使用されている。
インクジェットプリンタは、記録媒体である紙等に記録剤であるインクを塗布することによって、文字や図形、写真等の所望の画像を形成する記録装置である。そのインクの塗布は、一般に、インクジェットヘッドをガイドレールに沿って一定方向(主走査方向)に往復移動させながら行ない、記録媒体である紙を副走査方向へ搬送させる。
しかし、ノート型パーソナルコンピュータ(PC)の小型化やスマートフォン等のスマートデバイスの急激な普及により、プリンタも容易に持ち運びできるように小型化することが大きな要望となっている。
このような要望に応えて、例えば特許文献1には、用紙搬送システムを省略し、人の手で紙面等の記録媒体(印刷媒体)上を走査しながらインクを塗布して、画像を記録するハンドヘルドプリンタが提案されている。
このような要望に応えて、例えば特許文献1には、用紙搬送システムを省略し、人の手で紙面等の記録媒体(印刷媒体)上を走査しながらインクを塗布して、画像を記録するハンドヘルドプリンタが提案されている。
また、特許文献1には、ナビゲーションセンサの情報によって位置を決定し、その位置に基いて媒体上に画像を印刷し、その印刷部を含む媒体表面を撮像して、その表面画像を印刷画像と比較して、位置の情報を補正することも開示されている。
しかしながら、このようなハンドヘルド記録装置(プリンタ)では、ナビゲーションセンサからの位置情報に、電気的に無作為かつランダムなノイズが混入されてしまうことがある。その場合、実際の位置とナビゲーションセンサからの位置情報にズレが発生してしまい、正しい位置情報を得ることができないという問題があった。
従来の誤差補正方法としては、取得した複数の位置情報から近似直線や最小二乗法を用いた回帰直線による補正などが知られている。
従来の誤差補正方法としては、取得した複数の位置情報から近似直線や最小二乗法を用いた回帰直線による補正などが知られている。
しかし、このような従来の誤差補正方法では、検出位置の誤差を小さくすることができるのみであり、ナビゲーションセンサからの位置情報にノイズが含まれている場合、正しい位置情報を得ることが出来ないという問題があった。
特許文献1に見られるように、印刷部を含む媒体表面を撮像した表面画像を印刷画像と比較して、位置の情報を補正するようにしても、ナビゲーションセンサからの位置情報にノイズが含まれている場合には、正確な補正を行うことができない。
特許文献1に見られるように、印刷部を含む媒体表面を撮像した表面画像を印刷画像と比較して、位置の情報を補正するようにしても、ナビゲーションセンサからの位置情報にノイズが含まれている場合には、正確な補正を行うことができない。
この発明は、ハンドヘルド記録装置において、ナビゲーションセンサからの位置情報にノイズが含まれていても、正しい位置情報が得られるようにすることを目的とする。
この発明は上記の目的を達成するため、複数のノズルを列設した記録ヘッドを備え、人の手で記録媒体上を走査されながら、画像データと上記記録ヘッドの基準点からの位置情報とに応じて、上記複数のノズルからインクを吐出して記録するハンドヘルド記録装置であって、上記複数のノズルの配列方向に間隔を置いて配置された少なくとも2個のナビゲーションセンサと、上記走査中に、所定のサンプリング周期でタイミング信号を生成するタイミング生成手段と、上記タイミング信号が生成されるごとに、上記2個のナビゲーションセンサの各出力値を読み込んで、その各出力値と上記2個のナビゲーションセンサの既知の取り付け距離とに基づいて上記各出力値にノイズが含まれているか否かを判断し、ノイズが含まれていると判断した場合は、その出力値を補正するか又は不採用にしてノイズを除去するノイズ除去手段と、そのノイズ除去手段によってノイズが除去された所定サンプリング回数の上記各出力値に基づいて、上記記録ヘッドの上記基準点からの移動量を算出して上記位置情報を決定する位置算出手段とを備えたことを特徴とする。
この発明によるハンドヘルド記録装置は、ナビゲーションセンサからの位置情報にノイズが含まれていても、正しい位置情報を得ることができる。
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
図1は、この発明によるハンドヘルド記録装置の一実施形態であるハンドヘルドプリンタを含む記録システムの構成例を示す図である。
ハンドヘルドプリンタ10は、人が片手で持ち運びできる大きさ及び重量であり、ノートや定形用紙等の記録媒体12上を自由に移動して走査されながら、その記録媒体12上に画像を形成することができるハンドヘルド記録装置である。これは、ハンディモバイルプリンタとも称される。
図1は、この発明によるハンドヘルド記録装置の一実施形態であるハンドヘルドプリンタを含む記録システムの構成例を示す図である。
ハンドヘルドプリンタ10は、人が片手で持ち運びできる大きさ及び重量であり、ノートや定形用紙等の記録媒体12上を自由に移動して走査されながら、その記録媒体12上に画像を形成することができるハンドヘルド記録装置である。これは、ハンディモバイルプリンタとも称される。
このハンドヘルドプリンタ10は、複数のノズルを列設した記録ヘッドを備えており、そのノズルから画像データに応じてインクを吐出し、記録媒体12上に画像を形成するインクジェット方式のプリンタである。そして、モノクロプリンタであってもよいし、カラープリンタであってもよい。
また、このハンドヘルドプリンタ10は、赤外線通信、Bluetooth(登録商標)、WiFi等の無線通信により、画像データを保持するホスト装置としてのスマートデバイス11から画像データを受信する。そして、その受信した画像データに基づいて記録媒体12上に画像を形成する。
また、このハンドヘルドプリンタ10は、赤外線通信、Bluetooth(登録商標)、WiFi等の無線通信により、画像データを保持するホスト装置としてのスマートデバイス11から画像データを受信する。そして、その受信した画像データに基づいて記録媒体12上に画像を形成する。
その画像データは、文字のみからなるテキストデータであってもよいし、図、絵、写真等を含む文書データ、表データ等であってもよい。ハンドヘルドプリンタ10は、スマートデバイス11から画像データを直接受信してもよいし、アクセスポイント等を介して受信してもよい。また、無線通信に限るものではなく、ハンドヘルドプリンタ10とスマートデバイス11をケーブル等で接続し、ハンドヘルドプリンタ10が有線通信によって画像データを受信するようにしてもよい。
スマートデバイス11は、例えば、スマートフォン、タブレット端末、ノートPC等の情報処理装置(ホスト装置)であり、ハンドヘルドプリンタ10と無線又は有線通信を行い、自身が保持する画像データをハンドヘルドプリンタ10へ送信する。また、スマートデバイス11は、サーバ等の他の機器から受信して取得した画像データを、ハンドヘルドプリンタ10へ送信することもできる。
そのスマートデバイス11は、画像データ、その画像データを表示するアプリケーション、OS等を記憶する記憶装置、アプリケーションを実行するCPU、画像を表示する表示装置、その画像の印刷指示を入力する入力装置を備える。なお、表示装置と入力装置は、別個の装置として構成されたものに限らず、これらの機能を備えるタッチパネルであってもよい。ここで「印刷」とは、紙等の記録媒体(印刷媒体)上に画像を形成して記録する「記録」と同意である。
ユーザは、スマートデバイス11の電源を入れ、アプリケーションを起動させ、画像データを表示させる。ユーザは、その画像データを印刷したい場合、例えば、タッチパネルに表示された印刷開始ボタンをタップすることにより印刷を指示することができる。この印刷指示を受けて、スマートデバイス11は、その画像データを、無線通信によりハンドヘルドプリンタ10へ送信する。
ハンドヘルドプリンタ10は、スマートデバイス11から印刷対象の画像データを受信する。ユーザは、手13でハンドヘルドプリンタ10を持ち、紙等の記録媒体12上を移動させる。その間に、ハンドヘルドプリンタ10は、記録ヘッドの各ノズルの位置を、最初に決められた初期位置を基準とした座標位置として算出する。
そして、ハンドヘルドプリンタ10は、受信した画像データを構成する画像要素のデータ(印字データ)の座標位置と算出した座標位置とが一致する場合に、その印字データを、記録ヘッドを制御する後述する制御部へ送る。複数のノズルを有する記録ヘッドは、その制御部の制御を受けて、その座標位置にあるノズルからインクを吐出させ、印字を行なう。ハンドヘルドプリンタ10は、これを繰り返して記録媒体12上に画像14を形成する。
そして、ハンドヘルドプリンタ10は、受信した画像データを構成する画像要素のデータ(印字データ)の座標位置と算出した座標位置とが一致する場合に、その印字データを、記録ヘッドを制御する後述する制御部へ送る。複数のノズルを有する記録ヘッドは、その制御部の制御を受けて、その座標位置にあるノズルからインクを吐出させ、印字を行なう。ハンドヘルドプリンタ10は、これを繰り返して記録媒体12上に画像14を形成する。
このようなハンドヘルドプリンタにおける位置検知機能と走査方式には、大別して次の3種類がある。
(1)一方向(例えばX軸方向)の位置検知機能を有し、一方向にのみ走査させて印字する。
(2)二方向(例えばX、Y軸方向)の位置検知機能を有し、二方向に走査させて印字する。
(3)三方向(例えばX、Y軸方向と、R軸に関する回転方向) の位置検知機能を有し、平面上を自由に走査(フリーハンド走査)させて印字する。
この実施形態のハンドヘルドプリンタ10は、上記(3)の方式であるのが望ましい。
(1)一方向(例えばX軸方向)の位置検知機能を有し、一方向にのみ走査させて印字する。
(2)二方向(例えばX、Y軸方向)の位置検知機能を有し、二方向に走査させて印字する。
(3)三方向(例えばX、Y軸方向と、R軸に関する回転方向) の位置検知機能を有し、平面上を自由に走査(フリーハンド走査)させて印字する。
この実施形態のハンドヘルドプリンタ10は、上記(3)の方式であるのが望ましい。
ハンドヘルドプリンタ10は、図1に示すように箱状の形態をなし、インクを吐出するための複数のノズルを列設した記録ヘッドを備えており、その複数のノズルを有する面(図1では下側の面)を、平面状の記録媒体12に押し当てるようにして使用される。
ハンドヘルドプリンタ10が、ユーザの手13によって記録媒体12に押し当てられた際に、記録ヘッドの複数のノズルは、その先端が記録媒体12から所定距離だけ離間するように配置されている。そのノズルの先端から記録媒体12までの距離は、ノズルからインクを吐出して適切に印字することができる距離として予め決定されている。
ユーザは、手13でハンドヘルドプリンタ10を持って、その記録ヘッド側の面を記録媒体12上に押し当てて、記録媒体12上を左から右へ走査し、一段下げて右から左へ走査するように移動させることによって、記録媒体12に画像14を記録(印刷)する。
ハンドヘルドプリンタ10が、ユーザの手13によって記録媒体12に押し当てられた際に、記録ヘッドの複数のノズルは、その先端が記録媒体12から所定距離だけ離間するように配置されている。そのノズルの先端から記録媒体12までの距離は、ノズルからインクを吐出して適切に印字することができる距離として予め決定されている。
ユーザは、手13でハンドヘルドプリンタ10を持って、その記録ヘッド側の面を記録媒体12上に押し当てて、記録媒体12上を左から右へ走査し、一段下げて右から左へ走査するように移動させることによって、記録媒体12に画像14を記録(印刷)する。
図2は、図1におけるハンドヘルドプリンタ10のハードウェア構成を示すブロック図である。
このハンドヘルドプリンタ10は、電池やバッテリによる電源20と、その電源から各ユニットへ必要な給電を行なう電源回路21を備えている。電源回路21はまた、電源20のバッテリを充電する回路、AC電源との切り替え回路などを含んでもよい。
ハンドヘルドプリンタ10はまた、スマートデバイス11から送信された画像データを受信する通信インタフェース(IF)22を備えている。その通信インタフェース22は、無線LANやBluetooth(登録商標)、NFC等の無線通信手段が望ましいが、それに限定されるものではなく、有線通信手段であってもよい。
このハンドヘルドプリンタ10は、電池やバッテリによる電源20と、その電源から各ユニットへ必要な給電を行なう電源回路21を備えている。電源回路21はまた、電源20のバッテリを充電する回路、AC電源との切り替え回路などを含んでもよい。
ハンドヘルドプリンタ10はまた、スマートデバイス11から送信された画像データを受信する通信インタフェース(IF)22を備えている。その通信インタフェース22は、無線LANやBluetooth(登録商標)、NFC等の無線通信手段が望ましいが、それに限定されるものではなく、有線通信手段であってもよい。
さらに、このハンドヘルドプリンタ10は、ROM23、DRAM24、ナビゲーションセンサ25、制御部26、オペレーションユニット(OPU)27、記録ヘッド28、記録ヘッド駆動回路29を備えている。
ROM23は、ハンドヘルドプリンタ10のハードウェア制御を行なうファームウェアや、記録ヘッド28の駆動波形データ、各種の初期設定データ等を格納しておくリードオンリメモリである。
ROM23は、ハンドヘルドプリンタ10のハードウェア制御を行なうファームウェアや、記録ヘッド28の駆動波形データ、各種の初期設定データ等を格納しておくリードオンリメモリである。
DRAM24は、通信インタフェース22が受信した画像データの一時的な格納や、ファームウェア動作時のワークメモリ、ROM23から展開されたファームウェア(プログラム)の格納などに使用される。
ナビゲーションセンサ25は、記録ヘッド28を挟んで2個以上設けられており、ハンドヘルドプリンタ10及び記録ヘッド28の位置情報ならびに移動距離を算出するための座標情報を検出する。移動量に加えて、回転量や加速度を算出するために使用してもよい。このナビゲーションセンサ25の詳細については後述する。
ナビゲーションセンサ25は、記録ヘッド28を挟んで2個以上設けられており、ハンドヘルドプリンタ10及び記録ヘッド28の位置情報ならびに移動距離を算出するための座標情報を検出する。移動量に加えて、回転量や加速度を算出するために使用してもよい。このナビゲーションセンサ25の詳細については後述する。
制御部26はCPUを含み、このハンドヘルドプリンタ10全体の制御を行なう。その制御の内容については後述するが、例えば、ナビゲーションセンサ25からの情報に基づいて、記録ヘッド28のノズル毎の位置情報を算出し、その位置情報に応じた画像の選択、印字判定等を行なう。また、制御部26は、この発明に係るノイズ除去処理等の制御も行なう。
オペレーションユニット(OPU)27は、操作ボタンや液晶ディスプレイ(LCD)等を含み、タッチパネルを備えていてもよい。このオペレーションユニット27は、ユーザからの入力を受け付け、ユーザに対して処理の状況やエラー等を通知することができる。
オペレーションユニット(OPU)27は、操作ボタンや液晶ディスプレイ(LCD)等を含み、タッチパネルを備えていてもよい。このオペレーションユニット27は、ユーザからの入力を受け付け、ユーザに対して処理の状況やエラー等を通知することができる。
記録ヘッド28は、インクを吐出するための複数のノズルが配列されたノズル列を有し、この実施形態ではフルカラー印刷ができるように、シアン(C)、マゼンタ(M),イエロー(Y)、ブラック(K)の各インク吐出用の4列のノズル列を備えている。各ノズルのインク吐出方式は、ピエゾ方式でもサーマル方式でもよいが、この実施形態ではピエゾ方式とする。
記録ヘッド駆動回路29は、印刷するための印字データと印字タイミングを指示する印字タイミング情報とを受け付ける。そして、印字タイミング情報で指示された印字タイミングに、印字データに基づいて記録媒体12にインクを吐出するように、記録ヘッド28のCMYK各色用のノズル列毎に、その各ノズルに対する駆動制御を行なう。
記録ヘッド駆動回路29は、印刷するための印字データと印字タイミングを指示する印字タイミング情報とを受け付ける。そして、印字タイミング情報で指示された印字タイミングに、印字データに基づいて記録媒体12にインクを吐出するように、記録ヘッド28のCMYK各色用のノズル列毎に、その各ノズルに対する駆動制御を行なう。
このハンドヘルドプリンタ10は、通信インタフェース22が、スマートデバイス11から印刷ジョブ(画像データ)を受信すると、制御部26が、ナビゲーションセンサ25からの入力情報を基に、記録ヘッド28の各ノズルの位置を算出する。受信した画像データは、制御部26によってDRAM24に格納される。
ユーザが、このハンドヘルドプリンタ10を片手で持ち、それを自由に移動させて記録媒体12上を走査すると、制御部26は、その走査中に、記録ヘッド28の各ノズルの位置情報を算出し続ける。そして、制御部26は、算出した位置情報に応じた所定領域の画像のみをDRAM24から取得する。制御部26は、その取得した画像と算出した各ノズルの位置とを比較し、1以上のノズルについて合致と判断した場合は、その各ノズルに対する印字データを記録ヘッド駆動回路29へ送る。
記録ヘッド駆動回路29は、印字タイミング情報も受け付けて記録ヘッド28の各ノズルの駆動制御を行い、記録ヘッド28に記録媒体12上への印刷を実行させる。
記録ヘッド駆動回路29は、印字タイミング情報も受け付けて記録ヘッド28の各ノズルの駆動制御を行い、記録ヘッド28に記録媒体12上への印刷を実行させる。
次に、上述した制御部26の構成例を図3によって説明する。
この実施形態における制御部26は、図3に示すようにソフト制御部40と制御IC50によって構成されている。
ソフト制御部40は、例えばSoC(System on Chip)によって構成され、制御IC50は、例えばASIC(Application Specific Integrated Circuit)によって構成される。ASICに代えて、製造後にユーザが構成を設定できるFPGA(Field Programmable Gate Array)を用いてもよい。
この実施形態における制御部26は、図3に示すようにソフト制御部40と制御IC50によって構成されている。
ソフト制御部40は、例えばSoC(System on Chip)によって構成され、制御IC50は、例えばASIC(Application Specific Integrated Circuit)によって構成される。ASICに代えて、製造後にユーザが構成を設定できるFPGA(Field Programmable Gate Array)を用いてもよい。
ソフト制御部40は、CPU41とメモリコントローラ42、位置算出回路43、およびROMコントローラ44を有し、これらはバス45に接続され、バス45を介してデータ等のやりとりを行なう。そのバス45は、制御IC50のバス58とも接続されており、ソフト制御部40の各部は、制御IC50の各部ともデータ等のやりとりを行なうことができる。
CPU41は、このハンドヘルドプリンタ10全体の制御を行なう中央演算処理装置であり、ROM23に格納されたプログラムに従って動作する。
CPU41は、このハンドヘルドプリンタ10全体の制御を行なう中央演算処理装置であり、ROM23に格納されたプログラムに従って動作する。
メモリコントローラ42は、メモリであるDRAM24とのインタフェース制御を行なう。ROMコントローラ44は、ROM23とのインタフェース制御を行なう。
位置算出回路43は、制御IC50を通してナビゲーションセンサ25の各センサの出力値を読み込み、記録ヘッド28及び各ノズルの位置と移動距離を、CPU41の制御によって算出する。
位置算出回路43は、制御IC50を通してナビゲーションセンサ25の各センサの出力値を読み込み、記録ヘッド28及び各ノズルの位置と移動距離を、CPU41の制御によって算出する。
この位置算出回路43には、この発明によるノイズ除去を実施するためのノイズ除去演算部46が設けられている。そのノイズ除去演算部46は、位置算出回路43がナビゲーションセンサ25から取得した位置座標情報に、ノイズが含まれているかどうかを判別する。その判別は、ナビゲーションセンサ25を構成する後述する2個のセンサの出力値と、その2個のセンサ間の取り付け距離に基づいて判別する。そして、その判別後に得られる位置情報を補正位置情報の算出に用いて、ノイズや誤差の影響を小さくする。
ノイズ除去演算部46によるこれらの判別及び演算処理も、CPU41の制御によって実施される。これらが、この発明におけるノイズ除去手段及び位置算出手段の機能を果す。その詳細は後述する。
ノイズ除去演算部46によるこれらの判別及び演算処理も、CPU41の制御によって実施される。これらが、この発明におけるノイズ除去手段及び位置算出手段の機能を果す。その詳細は後述する。
制御IC50は、ナビゲーションセンサI/F(インタフェース)51、タイミング生成回路52、および記録ヘッド制御回路53を有する。さらに、イメージRAM54、DMAC(Direct Memory Access Controller)55、回転器56、割り込み回路57を含む。
これらの各部はバス58に接続され、そのバス58を介してデータ等のやりとりを行なう。また、バス58は、ソフト制御部40のバス45とも接続されており、制御IC50の各部は、ソフト制御部40の各部ともデータ等のやりとりを行なうことができる。
これらの各部はバス58に接続され、そのバス58を介してデータ等のやりとりを行なう。また、バス58は、ソフト制御部40のバス45とも接続されており、制御IC50の各部は、ソフト制御部40の各部ともデータ等のやりとりを行なうことができる。
ナビゲーションセンサI/F51は、ナビゲーションセンサ25と通信し、そのナビゲーションセンサ25を構成する後述する2個のセンサの出力値(座標値変化)を受信し、その値を内部メモリである内部レジスタに格納する。
タイミング生成回路52は、所定のサンプリング周期で、ナビゲーションセンサ25の各センサが光を照射し、記録媒体12からの反射光をイメージデータとして取得するためのタイミング信号を生成し、その信号をナビゲーションセンサI/F51に通知する。
タイミング生成回路52は、所定のサンプリング周期で、ナビゲーションセンサ25の各センサが光を照射し、記録媒体12からの反射光をイメージデータとして取得するためのタイミング信号を生成し、その信号をナビゲーションセンサI/F51に通知する。
すなわち、このタイミング生成回路52は、ナビゲーションセンサ25の各センサに記録媒体12を読み取らせて、その各出力値を読み込むタイミングを指示するタイミング生成手段である。
このタイミング生成回路52はまた、記録ヘッド28を駆動するタイミング信号を生成し、その信号を記録ヘッド制御回路53に通知する。すなわち、このタイミング生成回路52は、印刷を行なうために記録ヘッド28の各ノズルからインクを吐出させるタイミングも指示する。
このタイミング生成回路52はまた、記録ヘッド28を駆動するタイミング信号を生成し、その信号を記録ヘッド制御回路53に通知する。すなわち、このタイミング生成回路52は、印刷を行なうために記録ヘッド28の各ノズルからインクを吐出させるタイミングも指示する。
DMAC55は、ソフト制御部40の位置算出回路43が算出した位置情報を基に、記録ヘッド28が備える各ノズルの周辺画像の画像データを、メモリコントローラ42を直接制御してDRAM24から読み出す。
イメージRAM54は、DMAC55が読み出した周辺画像の画像データを一時的に格納するメモリであり、例えばSRAMを使用する。
回転器56は、DMAC55が読み出した周辺画像の画像データを、ユーザに指定された記録ヘッドの位置及び傾きに応じて回転させ、記録ヘッド制御回路53へ出力する。この回転器56は、例えば、ソフト制御部40の位置算出回路43が位置座標を算出する際に算出した回転角度を取得し、その回転角度を用いて周辺画像を回転させることができる。
イメージRAM54は、DMAC55が読み出した周辺画像の画像データを一時的に格納するメモリであり、例えばSRAMを使用する。
回転器56は、DMAC55が読み出した周辺画像の画像データを、ユーザに指定された記録ヘッドの位置及び傾きに応じて回転させ、記録ヘッド制御回路53へ出力する。この回転器56は、例えば、ソフト制御部40の位置算出回路43が位置座標を算出する際に算出した回転角度を取得し、その回転角度を用いて周辺画像を回転させることができる。
記録ヘッド制御回路53は、タイミング生成回路52からの記録ヘッドを駆動するタイミング信号によって制御信号を生成し、回転器56から出力された周辺画像の画像データを受け付け、記録ヘッド28のどのノズルからインクを吐出させるかを判断する。記録ヘッド制御回路53は、その判断結果とタイミングの情報に応じて、インクを吐出させるノズルの情報及び印字データを、CMYKの各色ごとに記録ヘッド駆動回路29へ出力する。
割り込み回路57は、ナビゲーションセンサI/F51がナビゲーションセンサ25との通信を終了した際、ソフト制御部40にその旨を通知する割り込み信号制御機能を有する。その他に、エラー等のステータス情報を通知する機能も有する。
割り込み回路57は、ナビゲーションセンサI/F51がナビゲーションセンサ25との通信を終了した際、ソフト制御部40にその旨を通知する割り込み信号制御機能を有する。その他に、エラー等のステータス情報を通知する機能も有する。
ここで、ナビゲーションセンサの構成例について説明する。図4は、ナビゲーションセンサ25の構成例を示すブロック図である。
ナビゲーションセンサ25は、ホストIF30、イメージプロセッサ31、LEDドライバ32、LED(発光ダイオード)33、2つのレンズ34,35、イメージアレイ36、及びイメージプロセッサ31を含んで構成される。これは、図6〜図9において、ナビゲーションセンサを構成する2個のセンサS0,S1の構成でもある。
ナビゲーションセンサ25は、ホストIF30、イメージプロセッサ31、LEDドライバ32、LED(発光ダイオード)33、2つのレンズ34,35、イメージアレイ36、及びイメージプロセッサ31を含んで構成される。これは、図6〜図9において、ナビゲーションセンサを構成する2個のセンサS0,S1の構成でもある。
LEDドライバ32は、LED33を発光させ、そのLED33の発光による光を、レンズ34を通して紙等の記録媒体12の表面を照射させる。
イメージアレイ36は、記録媒体12からの反射光をレンズ35を通して受光し、その受光した光からイメージデータを生成してイメージプロセッサ31へ出力する。レンズ34、35は、記録媒体12の表面に対して光学的に焦点が合うように設置されている。
イメージアレイ36は、記録媒体12からの反射光をレンズ35を通して受光し、その受光した光からイメージデータを生成してイメージプロセッサ31へ出力する。レンズ34、35は、記録媒体12の表面に対して光学的に焦点が合うように設置されている。
イメージプロセッサ31は、図3に示したタイミング生成回路52から読取りのタイミング信号が入力すると、LEDドライバ32を動作させてLED33を発光させる。そして、イメージアレイ36から入力されるイメージデータの画像から、ナビゲーションセンサ25の移動量として移動距離を算出する。その移動距離は、X軸方向の移動距離ΔXと、Y軸方向の移動距離ΔYとして算出される。イメージプロセッサ31は、その算出した移動距離(ΔX,ΔY)を、ホストIF30から図3に示した制御IC50のバス58へ出力し、ソフト制御部40の位置算出回路43がその各出力値を取得する。
この例では、光源としてLEDを使用しているが、LEDは、表面が粗い記録媒体、例えば紙を使用する場合に有用である。それは、表面が粗い場合には影が発生するため、その影を特徴部分として、X軸方向およびY軸方向の移動距離を正確に算出することが可能になるからである。
一方、表面が滑らかであるか、あるいは透明な記録媒体12に対しては、光源としてレーザ光を発生させる半導体レーザ(レーザダイオード)を使用することができる。それによって、例えば記録媒体上に縞模様等を形成することにより特徴部分を作ることができ、それを基に正確に移動距離を算出することができる。
一方、表面が滑らかであるか、あるいは透明な記録媒体12に対しては、光源としてレーザ光を発生させる半導体レーザ(レーザダイオード)を使用することができる。それによって、例えば記録媒体上に縞模様等を形成することにより特徴部分を作ることができ、それを基に正確に移動距離を算出することができる。
次に、このナビゲーションセンサ25の機能について、図5を参照して説明する。
ナビゲーションセンサ25は、図5(a)に示すように、LED33が発光する光を、レンズ34で平行光束にして記録媒体12の表面を照射する。その記録媒体12の表面からの反射光を、レンズ35でイメージアレイ36の受光面に結像させる。
記録媒体12の表面は、拡大してみると様々な形状の凹凸を有している。そのため、様々な形の影が発生する。図5(a)に円Aで示す部分を、(b)では円A′で示すように拡大して示す。
ナビゲーションセンサ25は、図5(a)に示すように、LED33が発光する光を、レンズ34で平行光束にして記録媒体12の表面を照射する。その記録媒体12の表面からの反射光を、レンズ35でイメージアレイ36の受光面に結像させる。
記録媒体12の表面は、拡大してみると様々な形状の凹凸を有している。そのため、様々な形の影が発生する。図5(a)に円Aで示す部分を、(b)では円A′で示すように拡大して示す。
イメージプロセッサ31は、読取りのタイミング信号による予め決められたサンプリング周期毎に、LEDドライバ32にLEDを発光させる。そして、イメージアレイ36がその反射光を受光して生成するイメージデータの画像を、イメージプロセッサ31が入力して、規定の分解能単位でマトリクス化する。すなわち、画像を複数の矩形領域に分割する。
そして、イメージプロセッサ31は、前回のサンプリングタイミングで得られた画像と、今回のサンプリングタイミングで得られた画像とを比較し、その差分を検出し、それを移動距離として算出する。
そして、イメージプロセッサ31は、前回のサンプリングタイミングで得られた画像と、今回のサンプリングタイミングで得られた画像とを比較し、その差分を検出し、それを移動距離として算出する。
図5(b)に示すような画像が、サンプリングタイミングSamp1、Samp2、Samp3で、この順に得られたものとする。この図5(b)を参照すると、画像中、黒とグレイで表わされた影である特徴部分の4つの矩形領域が、向かって右から左へ1分解能の距離ずつ移動していることが分かる。
したがって、Samp1を基準とすると、Samp2では、X軸方向にのみ1分解能の距離だけ移動していることから、その出力値(ΔX,ΔY)は、(1,0)となる。また、Samp2を基準とすると、Samp3では、X軸方向にのみ1分解能の距離だけ移動しているため、この出力値も(1,0)となる。
したがって、Samp1を基準とすると、Samp2では、X軸方向にのみ1分解能の距離だけ移動していることから、その出力値(ΔX,ΔY)は、(1,0)となる。また、Samp2を基準とすると、Samp3では、X軸方向にのみ1分解能の距離だけ移動しているため、この出力値も(1,0)となる。
ΔX,ΔYは、センサ自体の向きを基準としたX軸方向およびY軸方向の移動距離であり、センサは、これらの移動距離を出力する。したがって、ユーザによりハンドヘルドプリンタ10が記録媒体12上で左右いずれかの方向へ回転され、それに従ってナビゲーションセンサ25も回転したとしても、その回転成分を検知することはできない。
上記移動距離の単位は、デバイスに依存するが、プリンタを想定した場合、例えば1200dpi程度の分解能が必要である。
上記移動距離の単位は、デバイスに依存するが、プリンタを想定した場合、例えば1200dpi程度の分解能が必要である。
次に、ナビゲーションセンサと記録ヘッドの位置関係について、図6によって説明する。図6は、図1に示したハンドヘルドプリンタ10の底面における記録ヘッドとナビゲーションセンサとの位置関係の説明図である。
記録ヘッド28は、ハンドヘルドプリンタ10の底面10aの外周より内側に、長手方向に沿って配置されている。記録ヘッド28の下面には、その長手方向に沿って多数のノズル18が配列されたノズル列が、CMYKの各色用に4列設けられているが、この図6では簡略化して1列だけを示している。
記録ヘッド28は、ハンドヘルドプリンタ10の底面10aの外周より内側に、長手方向に沿って配置されている。記録ヘッド28の下面には、その長手方向に沿って多数のノズル18が配列されたノズル列が、CMYKの各色用に4列設けられているが、この図6では簡略化して1列だけを示している。
ナビゲーションセンサ25は、ハンドヘルドプリンタ10の底面における記録ヘッド28の周囲に、複数のノズル18の配列方向に間隔を置いて少なくとも2個(複数個)設置される。この実施形態では、記録ヘッド28の長手方向の両端近傍で、中心に対して対称な位置に一対(2個)設置されている。その一対のナビゲーションセンサ25を、センサS0とセンサS1とする。
一方のセンサS0の中心から記録ヘッド28の長手方向の一端までの距離をa、他方のセンサS1の中心から記録ヘッド28の長手方向の他端までの距離をbで示す。この2個のセンサS0とS1の中心間の距離cが長い程よい。それは、後で説明する位置算出演算時に、距離c(図7及び図9では取り付け距離L)が長い程、演算誤差が少なくなるからである。
一方のセンサS0の中心から記録ヘッド28の長手方向の一端までの距離をa、他方のセンサS1の中心から記録ヘッド28の長手方向の他端までの距離をbで示す。この2個のセンサS0とS1の中心間の距離cが長い程よい。それは、後で説明する位置算出演算時に、距離c(図7及び図9では取り付け距離L)が長い程、演算誤差が少なくなるからである。
なお、1個のハンドヘルドプリンタに3個以上のナビゲーションセンサを設置することもできる。例えば、三角測量に適する位置に3個のナビゲーションセンサを設置してもよい。それによって、互いの位置関係を正確に把握することができ、センサ同士の位置により位置情報算出の精度を上げることが可能である。
また、ナビゲーションセンサとして、位置センサ以外の加速度センサなども使用することによって、複数種類の情報から位置の情報を算出することができる。
また、ナビゲーションセンサとして、位置センサ以外の加速度センサなども使用することによって、複数種類の情報から位置の情報を算出することができる。
そして、この2個のセンサS0とS1の位置を算出した後に、上記距離a、bと、記録ヘッド28の長手方向の両端からその各端に最も近いノズル18までの各距離dと、隣接するノズル18間の距離eとを用いて、各ノズル18の位置を算出する。
上記の各距離a〜eは、予め決められた距離であるから、センサS0,S1の位置座標を算出することによって、記録ヘッド28の各ノズル18の位置座標を算出することができる。
上記の各距離a〜eは、予め決められた距離であるから、センサS0,S1の位置座標を算出することによって、記録ヘッド28の各ノズル18の位置座標を算出することができる。
記録媒体12の横方向をX軸、縦方向をY軸とし、センサS0,S1の出力軸も同様とする。図6に示すように、ハンドヘルドプリンタ10がユーザによる走査で角度θだけ傾いた場合、センサS0,S1の出力値は、X、Y軸を基準としたものではなく、角度θだけ傾いたX′、Y′軸を基準としたものになる。
そのため、ハンドヘルドプリンタ10の移動によるナビゲーションセンサ25のΔX、ΔYの出力値は、X′、Y′軸の水平方向及び垂直方向へ移動した移動距離となる。したがって、記録媒体12のX、Y軸の水平方向及び垂直方向へ移動した移動距離ではなくなる。このような場合でも、得られた移動距離から記録媒体12のX、Y軸に対する座標位置を逐次算出し、その座標位置を格納するようにしておけば、正常な座標位置を把握することができる。
そのため、ハンドヘルドプリンタ10の移動によるナビゲーションセンサ25のΔX、ΔYの出力値は、X′、Y′軸の水平方向及び垂直方向へ移動した移動距離となる。したがって、記録媒体12のX、Y軸の水平方向及び垂直方向へ移動した移動距離ではなくなる。このような場合でも、得られた移動距離から記録媒体12のX、Y軸に対する座標位置を逐次算出し、その座標位置を格納するようにしておけば、正常な座標位置を把握することができる。
そこで、図7によってナビゲーションセンサの位置算出式方法を説明する。
図7では、記録ヘッド28の長手方向の両端に、ナビゲーションセンサである2個のセンサS0とセンサS1が設置されている。その2個の物理的間隔である取り付け距離Lは既知である。この例では、その取り付け距離Lは記録ヘッド28の長さに等しい。
そして、記録媒体の座標軸に対する記録ヘッド28の移動前(図7の左側)の傾き角度をθとする。その移動前のセンサS0の中心点の座標位置を(X0,Y0)とし、センサS1の中心点の座標位置を(X1,Y1)とする。
図7では、記録ヘッド28の長手方向の両端に、ナビゲーションセンサである2個のセンサS0とセンサS1が設置されている。その2個の物理的間隔である取り付け距離Lは既知である。この例では、その取り付け距離Lは記録ヘッド28の長さに等しい。
そして、記録媒体の座標軸に対する記録ヘッド28の移動前(図7の左側)の傾き角度をθとする。その移動前のセンサS0の中心点の座標位置を(X0,Y0)とし、センサS1の中心点の座標位置を(X1,Y1)とする。
その記録ヘッド28の移動後(図7の右側)は、センサS0の中心点の座標位置が(X0′,Y0′)となり、センサS1の中心点の座標位置が(X1′,Y1′)となったものとする。
その移動後の位置算出は、回転成分と並行成分の二つに分けて考える。記録ヘッド28の回転成分dθは、センサS0とセンサS1のX方向出力(移動距離)dXs0とdXs1の差分から、数1の算出式によって計算する。
その移動後の位置算出は、回転成分と並行成分の二つに分けて考える。記録ヘッド28の回転成分dθは、センサS0とセンサS1のX方向出力(移動距離)dXs0とdXs1の差分から、数1の算出式によって計算する。
センサS0の並行移動成分の移動量dX0、dY0は、記録ヘッド28の傾き角度θを保持し、三角関数により次の算出式によって計算する。
dX0=dXs0×cosθ+dYs0×sinθ
dY0=−dXs0×sinθ+dYs0×cosθ
そして、センサS0の移動後の位置座標(X0′,Y0′)は、次のように求められる。
X0′=X0+dX0 Y0′=Y0+dY0
dX0=dXs0×cosθ+dYs0×sinθ
dY0=−dXs0×sinθ+dYs0×cosθ
そして、センサS0の移動後の位置座標(X0′,Y0′)は、次のように求められる。
X0′=X0+dX0 Y0′=Y0+dY0
このとき、センサS1の位置座標(X1′,Y1′)は、上式で求めたセンサS0の座標位置と、記録媒体の座標軸に対する記録ヘッド28の移動後の傾き角度θ+dθ、センサS0とセンサS1の取り付け距離Lから、次式によって算出できる。
X1′=X0′−L×sin(θ+dθ)
Y1′=Y0′−L×cos(θ+dθ)
X1′=X0′−L×sin(θ+dθ)
Y1′=Y0′−L×cos(θ+dθ)
また、三角関数の加法定理、
cos(α+β)=cosα×cosβ−sinα×sinβ
sin(α+β)=sinα×cosβ+cosα×sinβ
およびsindθ = tandθ =dθ (dθ<<1のとき)の定理を使用する。
これは、ナビゲーションセンサが検知する移動量ΔX,ΔY(dXs0,dYs0に相当)をサンプリングして実際の記録ヘッド28の位置を算出する際に、dθは1よりもかなり小さい値となるためである。
cos(α+β)=cosα×cosβ−sinα×sinβ
sin(α+β)=sinα×cosβ+cosα×sinβ
およびsindθ = tandθ =dθ (dθ<<1のとき)の定理を使用する。
これは、ナビゲーションセンサが検知する移動量ΔX,ΔY(dXs0,dYs0に相当)をサンプリングして実際の記録ヘッド28の位置を算出する際に、dθは1よりもかなり小さい値となるためである。
例えば、L=1inch、400mm/sという高速走査で、サンプリング周期:100μsと仮定すると、1サンプリング周期で移動できる距離は40μmである。そして、回転できる角度dθ, sindθ, tandθは、dθ=0.0015,sindθ=0.0015, tandθ=0.0015であり、dθ<<1として演算できる。
なお、sin2(dθ)+cos2(dθ)=1であるから、cos(dθ)=√{1−sin2(dθ)}である。また、前述した数1から、tandθ=(dXs0−dXs1)/L=dθ (dθ<<1のとき)である。
なお、sin2(dθ)+cos2(dθ)=1であるから、cos(dθ)=√{1−sin2(dθ)}である。また、前述した数1から、tandθ=(dXs0−dXs1)/L=dθ (dθ<<1のとき)である。
このとき、sindθ, cosdθを求める計算を省略し、以下の数2及び数3の計算によって、初期の傾き角度θと、センサS0、S1のX方向の移動量dXs0,dXs1からsindθとcosdθを管理することができる。
したがって、cos(θ+dθ)は数2によって、sin(θ+dθ)は数3によって、それぞれ算出できる。それ故、センサS1の移動後の位置座標(X1′,Y1′)も、θとdXs0,dXs1と、固定値であるセンサS0とS1の取り付け距離Lとから、前述のX1′とY1′を求める式によって算出できる。
したがって、cos(θ+dθ)は数2によって、sin(θ+dθ)は数3によって、それぞれ算出できる。それ故、センサS1の移動後の位置座標(X1′,Y1′)も、θとdXs0,dXs1と、固定値であるセンサS0とS1の取り付け距離Lとから、前述のX1′とY1′を求める式によって算出できる。
以上の演算を、図3における位置算出回路43がサンプリング周期毎の読み込みタイミングで実施し続けることにより、ナビゲーションセンサである一対のセンサS0,S1の記録媒体に対する2次元座標位置を逐次把握することができる。
ここで、実際のハンドヘルドプリンタの移動とナビゲーションセンサの位置情報について図8によって説明する。
図8において、ハンドヘルドプリンタ10は記録ヘッド28と、その長手方向の両端部にナビゲーションセンサとして2個のセンサS0とS1を設けている。実際には、記録ヘッド28側を記録媒体12に押し当てて、ハンドヘルドプリンタ10を手で移動させながら記録するが、説明の都合上記録ヘッド28側を上面にして示している。
図8において、ハンドヘルドプリンタ10は記録ヘッド28と、その長手方向の両端部にナビゲーションセンサとして2個のセンサS0とS1を設けている。実際には、記録ヘッド28側を記録媒体12に押し当てて、ハンドヘルドプリンタ10を手で移動させながら記録するが、説明の都合上記録ヘッド28側を上面にして示している。
(a)は、実際のハンドヘルドプリンタの移動の軌跡を示す。
A点とB点は、センサS0とS1の移動前(Δt0時)の位置を示している。そのA点の位置情報をA(x,y)、B点の位置情報をB(x′,y′)とする。
ΔA点とΔB点はΔt0時から移動後のΔt1時におけるセンサS0とS1の位置を示している。そのときセンサS0の移動量は(dx,dy)で、ΔA点の位置情報はΔ(x+dx,y+dy)である。センサS1の移動量は(dx′,dy′)で、B点の位置情報はB(x′+dx′,y′+dy′)である。
A点とB点は、センサS0とS1の移動前(Δt0時)の位置を示している。そのA点の位置情報をA(x,y)、B点の位置情報をB(x′,y′)とする。
ΔA点とΔB点はΔt0時から移動後のΔt1時におけるセンサS0とS1の位置を示している。そのときセンサS0の移動量は(dx,dy)で、ΔA点の位置情報はΔ(x+dx,y+dy)である。センサS1の移動量は(dx′,dy′)で、B点の位置情報はB(x′+dx′,y′+dy′)である。
(b)はセンサS0,S1の移動後の位置情報にノイズが含まれる場合の例を示す。
センサS0,S1の移動後(Δt1時)の位置情報にノイズが含まれない場合、ΔA点とΔB点の位置をそれぞれ白丸で示す。しかし、位置情報にノイズが含まれた場合は、ΔA点とΔB点の位置が、例えば黒丸で示すような位置として検出されてしまう。
A点,B点から移動後のΔt1時でのΔA点、ΔB点までの移動量に対して、センサS0,S1の出力値にノイズが含まれる場合、センサS0,S1の実際の位置情報とセンサS0,S1の出力値を基に計算した位置情報は異なるものとなる。このときのノイズとは、電気的に無作為で、ランダムに発生するものである。
センサS0,S1の移動後(Δt1時)の位置情報にノイズが含まれない場合、ΔA点とΔB点の位置をそれぞれ白丸で示す。しかし、位置情報にノイズが含まれた場合は、ΔA点とΔB点の位置が、例えば黒丸で示すような位置として検出されてしまう。
A点,B点から移動後のΔt1時でのΔA点、ΔB点までの移動量に対して、センサS0,S1の出力値にノイズが含まれる場合、センサS0,S1の実際の位置情報とセンサS0,S1の出力値を基に計算した位置情報は異なるものとなる。このときのノイズとは、電気的に無作為で、ランダムに発生するものである。
(c)は、実際のハンドヘルドプリンタ10の移動後の位置と、ノイズが含まれているときのセンサ出力値を基に計算したハンドヘルドプリンタ10の位置とのズレを示す模式図である。
NoiseΔt1時に、センサS0,S1の出力値にノイズが含まれている場合、センサS0の出力値に基づいて計算した位置情報は、ΔA(x+dx+Noise,y+dy+Noise)となる。また、センサS1の出力値に基づいて計算した位置情報はΔB(x′+dx′+Noise,y′+dy′+Noise)となる。
NoiseΔt1時に、センサS0,S1の出力値にノイズが含まれている場合、センサS0の出力値に基づいて計算した位置情報は、ΔA(x+dx+Noise,y+dy+Noise)となる。また、センサS1の出力値に基づいて計算した位置情報はΔB(x′+dx′+Noise,y′+dy′+Noise)となる。
このように、センサS0,S1の出力値にノイズが含まれている場合には、実際のハンドヘルドプリンタ10の移動後の位置と、センサS0,S1の出力値基づいて計算したハンドヘルドプリンタ10の位置とがずれてしまう。したがって、センサS0,S1の出力値にノイズが含まれてしまうと、ハンドヘルドプリンタ10の位置、すなわち記録ヘッド28の位置の正確な位置情報を把握出来なくなる。
そこで、この発明で用いるノイズの判別方法と補正方法について、図9〜図16によって説明する。
図9は、ナビゲーションセンサのセンサ出力値とセンサ間距離を用いたノイズ判別の説明図である。
(a)は、ハンドヘルドプリンタ10が移動したときのナビゲーションセンサである2個のセンサS0,S1の出力値に基づいて、移動後のハンドヘルドプリンタ10の軌跡を示している。
図9は、ナビゲーションセンサのセンサ出力値とセンサ間距離を用いたノイズ判別の説明図である。
(a)は、ハンドヘルドプリンタ10が移動したときのナビゲーションセンサである2個のセンサS0,S1の出力値に基づいて、移動後のハンドヘルドプリンタ10の軌跡を示している。
A点とB点は、センサS0とS1の移動前の位置を示している。A点の位置情報をA(x,y)、B点の位置情報をB(x′,y′)とする。
ΔA点とΔB点はセンサS0とS1の移動後の位置を示している。センサS0のX軸方向とY軸方向の移動量は(dx,dy)で、ΔA点の位置情報はΔA(x+dx,y+dy)である。センサS1のX軸方向とY軸方向の移動量は(dx′,dy′)で、B点の位置情報はB(x′+dx′,y′+dy′)である。Lは2個のセンサS0とS1の取り付け距離を示しており、既知の固定値である。
ΔA点とΔB点はセンサS0とS1の移動後の位置を示している。センサS0のX軸方向とY軸方向の移動量は(dx,dy)で、ΔA点の位置情報はΔA(x+dx,y+dy)である。センサS1のX軸方向とY軸方向の移動量は(dx′,dy′)で、B点の位置情報はB(x′+dx′,y′+dy′)である。Lは2個のセンサS0とS1の取り付け距離を示しており、既知の固定値である。
移動後のナビゲーションセンサにおいて、センサS0は、基準点であるA点よりサンプリング周期ごとに、センサS0のX−Y平面に従った移動量(dX,dY)を出力する。また、センサS1は、基準点であるB点よりサンプリング周期ごとに、センサS1のX−Y平面に従った移動量(dx′,dy′)を出力する。
(b)は、上述したセンサS0,S1それぞれのX−Y平面に従った移動量(dX、dY),(dx′,dy′)を、2個のセンサS0とS1の取り付け距離Lを用いて、A点からの相対的な移動量に変換することを示している。
2個のセンサS0とS1の間の取り付け距離Lにより、センサS0とS1のそれぞれX−Y平面に従った変化量を、同一の基準点からの位置情報に変換できる。A点のX−Y平面に従い、ΔB点のX方向の変化はA点を基準としたX軸と同じであり、ΔB点のY軸方向の変化は、センサS1の変化量dy′からA点を基準としたY軸よりセンサ間の取り付け距離Lだけ減じた値:dy′−Lと表せる。
このA点からのΔA点とΔB点の変化量を用いて、ΔA点とΔB点の2点間の距離、すなわち2個のナビゲーションセンサ間の距離Lsを数4によって算出する。
2個のセンサS0とS1の間の取り付け距離Lにより、センサS0とS1のそれぞれX−Y平面に従った変化量を、同一の基準点からの位置情報に変換できる。A点のX−Y平面に従い、ΔB点のX方向の変化はA点を基準としたX軸と同じであり、ΔB点のY軸方向の変化は、センサS1の変化量dy′からA点を基準としたY軸よりセンサ間の取り付け距離Lだけ減じた値:dy′−Lと表せる。
このA点からのΔA点とΔB点の変化量を用いて、ΔA点とΔB点の2点間の距離、すなわち2個のナビゲーションセンサ間の距離Lsを数4によって算出する。
ハンドヘルドプリンタ10の走査中に、図3に示した制御IC50内のタイミング生成回路(タイミング生成手段)が、所定のサンプリング周期でタイミング信号を生成する。そのタイミング信号が生成されるごとに、ノイズ除去手段(ノイズ除去演算部46を含む制御部26)はナビゲーションセンサ25である2個のセンサS0,S1の各出力値を読み込んでサンプリングする。
ノイズ除去演算部46は、その各出力値dx、dyとdx′、dy′及び2個のセンサS0,S1の既知の取り付け距離Lとに基づいて、各出力値にノイズが含まれているか否かを判断する。そして、ノイズが含まれていると判断した場合は、その出力値を補正するか又は不採用にしてノイズを除去する。
ノイズ除去演算部46は、その各出力値dx、dyとdx′、dy′及び2個のセンサS0,S1の既知の取り付け距離Lとに基づいて、各出力値にノイズが含まれているか否かを判断する。そして、ノイズが含まれていると判断した場合は、その出力値を補正するか又は不採用にしてノイズを除去する。
このようにすることによって、ナビゲーションセンサからの出力値である位置情報にノイズが含まれていても、正しい位置情報が得られるようにすることができる。
その際、上記数4の演算による算出距離Lsと2個のセンサS0,S1間の取り付け距離Lとの差|L−Ls|(絶対値)によって、次のようにノイズの有無を判断することができる。
その際、上記数4の演算による算出距離Lsと2個のセンサS0,S1間の取り付け距離Lとの差|L−Ls|(絶対値)によって、次のようにノイズの有無を判断することができる。
|L−Ls|≦ノイズ許容値 (差がノイズ許容値以内である)
のとき、センサS0,S1の各出力値であるΔA点とΔB点の移動量に、ノイズが含まれていないと判断する。
|L−Ls|>ノイズ許容値 (差がノイズ許容値を超えている)
のとき、センサS0,S1の各出力値であるΔA点とΔB点の移動量のいずれかに、ノイズが含まれていると判断する。
このようにすれば、ノイズが含まれているサンプリングタイミングのセンサ出力値を判別することができる。
のとき、センサS0,S1の各出力値であるΔA点とΔB点の移動量に、ノイズが含まれていないと判断する。
|L−Ls|>ノイズ許容値 (差がノイズ許容値を超えている)
のとき、センサS0,S1の各出力値であるΔA点とΔB点の移動量のいずれかに、ノイズが含まれていると判断する。
このようにすれば、ノイズが含まれているサンプリングタイミングのセンサ出力値を判別することができる。
図10は、上記算出距離Lsと取り付け距離Lとの差|L−Ls|によるセンサ出力値の識別についての説明図である。
この図10によって、図9に示した2個のセンサS0,S1からの各出力値によるセンサ間の算出距離Lsと、センサS0,S1間の取り付け距離Lとの差(絶対値)により、センサ出力値の識別について説明する。
この図10によって、図9に示した2個のセンサS0,S1からの各出力値によるセンサ間の算出距離Lsと、センサS0,S1間の取り付け距離Lとの差(絶対値)により、センサ出力値の識別について説明する。
図10に示す|L−Ls|のノイズ許容値αは、図2及び図3に示した制御部26内のメモリに予め設定されているが、印刷の精度や移動速度によっても変更が可能であり、ユーザがオペレーションユニット27から選択又は変更することも可能である。
|L−Ls|がノイズ許容値α以内(|L−Ls|≦α)の場合は、図3に示したCPU41が、ナビゲーションセンサ25であるセンサS0,S1の各出力値にノイズはないと判断する。
|L−Ls|がノイズ許容値α以内(|L−Ls|≦α)の場合は、図3に示したCPU41が、ナビゲーションセンサ25であるセンサS0,S1の各出力値にノイズはないと判断する。
|L−Ls|がノイズ許容値αを超えた(|L−Ls|>α)場合は、CPU41がセンサS0,S1の各出力値の少なくとも一方にノイズがあると判断する。
これを、|L−Ls|<α(α未満)の場合は、センサS0,S1の各出力値にノイズはないと判断し、|L−Ls|≧α(α以上)の場合は、センサS0,S1の各出力値の少なくとも一方にノイズがあると判断するようにしても均等である。
この例ではさらに、同一サンプリング時におけるセンサS0,S1の各出力値(dX、dy)、(dx′,dy′)を補正するのか、あるいは不採用として無視するのかを判断するためのノイズ補正閾値βを設けている。ノイズ補正閾値βはノイズ許容値αより大きい(β>α)。
これを、|L−Ls|<α(α未満)の場合は、センサS0,S1の各出力値にノイズはないと判断し、|L−Ls|≧α(α以上)の場合は、センサS0,S1の各出力値の少なくとも一方にノイズがあると判断するようにしても均等である。
この例ではさらに、同一サンプリング時におけるセンサS0,S1の各出力値(dX、dy)、(dx′,dy′)を補正するのか、あるいは不採用として無視するのかを判断するためのノイズ補正閾値βを設けている。ノイズ補正閾値βはノイズ許容値αより大きい(β>α)。
このノイズ補正閾値βは、|L−Ls|がノイズ許容値αを超えている場合に、さらにβを超えている(|L−Ls|>β)場合は、センサS0,S1の各出力値から算出されたセンサ間の距離Lsとセンサ間の取り付け距離Lとの差が顕著に大きいことを示す。すなわち、センサS0,S1の出力値が実際のハンドヘルドプリンタ10の移動量と大きく違うことになる。そのため、センサS0,S1の出力値に対して補正を行うことによって、その各出力値と実際の移動量との誤差を小さくする。
また、|L−Ls|がノイズ許容値αを超えていても、ノイズ補正閾値β以下(α<|L−Ls|≦β)であるときは、補正するべきかどうかの判断が難しい。そのため、ノイズが含まれているセンサ出力値を特定するための演算に時間がかかり、図3に示したソフト制御部40への負荷が大きくなる。そこで、この場合には補正を行わず、そのときのセンサ出力値をいずれも不採用とし、位置算出に用いないこととする。
このようにすれば、ノイズの補正方法の判別を間単にすることができる。
このノイズ補正閾値βも、制御部26内のメモリに予め設定されているが、ユーザがオペレーションユニット27から選択又は変更できるようにしてもよい。
また、上述の|L−Ls|>β場合を|L−Ls|≧β(β以上)の場合とし、|L−Ls≦βであるときを|L−Ls|<β(β未満)であるときとしても均等である。
このようにすれば、ノイズの補正方法の判別を間単にすることができる。
このノイズ補正閾値βも、制御部26内のメモリに予め設定されているが、ユーザがオペレーションユニット27から選択又は変更できるようにしてもよい。
また、上述の|L−Ls|>β場合を|L−Ls|≧β(β以上)の場合とし、|L−Ls≦βであるときを|L−Ls|<β(β未満)であるときとしても均等である。
図11は、ナビゲーションセンサのセンサ出力値の補正方法の説明図である。
(a)は、所定のサンプリング周期毎の各読み込みタイミングt1〜t10における、2個のセンサS0,S1のうちの1個のセンサ、例えばセンサS0のX方向の移動量を説明する模式図である。
この場合、図9で説明したセンサ出力値(dX、dY)は、ハンドヘルドプリンタ10のX−Y平面上の移動量と一致する。また、図9に示した2個のセンサS0,S1からの各出力値に基づいて算出したセンサ間の距離Lsと、センサS0,S1間の取り付け距離Lとの差|L−Ls|により、ノイズの有無が判別されたものである。
(a)は、所定のサンプリング周期毎の各読み込みタイミングt1〜t10における、2個のセンサS0,S1のうちの1個のセンサ、例えばセンサS0のX方向の移動量を説明する模式図である。
この場合、図9で説明したセンサ出力値(dX、dY)は、ハンドヘルドプリンタ10のX−Y平面上の移動量と一致する。また、図9に示した2個のセンサS0,S1からの各出力値に基づいて算出したセンサ間の距離Lsと、センサS0,S1間の取り付け距離Lとの差|L−Ls|により、ノイズの有無が判別されたものである。
図11において、黒丸●は|L−Ls|が図10に示したノイズ許容値以内の場合、すなわちノイズが含まれていないと判断した場合のセンサ出力値である。また、白丸〇は|L−Ls|がノイズ許容値を超えた場合、すなわちノイズが含まれていると判断した場合のセンサ出力値である。
(b)〜(d)によって、|L−Ls|がノイズ許容値を超えたときのセンサ出力値の補正方法について説明する。
(b)〜(d)によって、|L−Ls|がノイズ許容値を超えたときのセンサ出力値の補正方法について説明する。
なお、図10で説明したように、|L−Ls|がノイズ許容値を超えたとき、2個のセンサS0,S1の各出力値(dX、dy)、(dx′,dy′)において、どの値にノイズがあるか不確かなときがある。また、ノイズを含む出力値を特定するための演算に時間がかかるため、ソフト制御部40への負荷を軽減したいときもある。このような場合には、センサ出力値のノイズ補正を行わず、同一サンプリング時の2つのセンサS0,S1の出力値を全て不採用にして、位置算出に使用しないこともできる。
それによって、ソフト制御部40への負荷を軽減しながら、ノイズによる影響を小さくして、位置情報の誤差を小さくすることができる。
あるいは、このような場合に、同一サンプリング時の2つのセンサS0,S1の出力値をいずれも(全て)補正するようにしてもよい。それによって、ソフト制御部40への負荷を軽減しながら、ノイズによる影響を小さくして、位置情報の誤差をより小さくすることができる。その補正は、例えば次のようにして行うことができる。
あるいは、このような場合に、同一サンプリング時の2つのセンサS0,S1の出力値をいずれも(全て)補正するようにしてもよい。それによって、ソフト制御部40への負荷を軽減しながら、ノイズによる影響を小さくして、位置情報の誤差をより小さくすることができる。その補正は、例えば次のようにして行うことができる。
(b)に示す例では、|L−Ls|がノイズ許容値を超えたときのセンサ出力値〇を、1つ前のサンプリング時の|L−Ls|がノイズ許容値以内のセンサ出力値●(破線の円で囲んで示す)と置き換えることによって補正する。1つ前のサンプリング時の|L−Ls|がノイズ許容値以内のセンサ出力値●でなかった場合は、その1つ前のサンプリング時の|L−Ls|がノイズ許容値以内のセンサ出力値と置き換える。
これを言い換えれば、図3におけるノイズ除去演算部46が、ノイズが含まれていると判断した出力値を、それ以前のサンプリングでノイズが含まれていないと判断した直近の対応する出力値と置き換えて補正する。
これによって、ノイズが含まれていると判断した出力値を比較的簡単に補正することができる。
これを言い換えれば、図3におけるノイズ除去演算部46が、ノイズが含まれていると判断した出力値を、それ以前のサンプリングでノイズが含まれていないと判断した直近の対応する出力値と置き換えて補正する。
これによって、ノイズが含まれていると判断した出力値を比較的簡単に補正することができる。
(c)に示す例では、|L−Ls|がノイズ許容値を超えたとき、所定回数のサンプリング(t1〜t10)において、|L−Ls|がノイズ許容値以内となったセンサ出力値●の平均値(破線で示す)を算出する。そして、|L−Ls|がノイズ許容値を超えたときのセンサ出力値〇を、その平均値と置き換えることによって補正する。
これを言い換えれば、図3におけるノイズ除去演算部46が、ノイズが含まれていると判断した出力値を、所定回数のサンプリングにおいて、ノイズが含まれていないと判断した対応する出力値の平均値と置き換えて補正する。これによって、補正の精度を向上させることができる。
これを言い換えれば、図3におけるノイズ除去演算部46が、ノイズが含まれていると判断した出力値を、所定回数のサンプリングにおいて、ノイズが含まれていないと判断した対応する出力値の平均値と置き換えて補正する。これによって、補正の精度を向上させることができる。
(d)では、ハンドヘルドプリンタ10の位置を算出するためのセンサ出力値のサンプル数は、所定回数ではなく可変(n回)であること示している。
また、サンプリング周期を可変することができ、それによって、一定時間内でのサンプル数を可変することもできるので、ノイズ除去に必要なサンプル数を確保でき、位置情報の精度を維持することができる。
そのサンプリング周期は、記録(印刷)モードやデバイスの特性等によって変更できるようにして、記録精度やセンサの特性に合ったサンプリング周期を用いることができる。
また、サンプリング周期を可変することができ、それによって、一定時間内でのサンプル数を可変することもできるので、ノイズ除去に必要なサンプル数を確保でき、位置情報の精度を維持することができる。
そのサンプリング周期は、記録(印刷)モードやデバイスの特性等によって変更できるようにして、記録精度やセンサの特性に合ったサンプリング周期を用いることができる。
図3に示したソフト制御部40の位置算出回路43が、ナビゲーションセンサ25のサンプリング周期毎のセンサ出力値からハンドヘルドプリンタ10の位置を算出する。その際、ナビゲーションセンサ25であるセンサS0,S1の出力値を、ソフト制御部40がリードするサンプリング周期及び回数を、上述したように変更して、適切なセンサ出力値を得ることが出来る。
例えば、印刷時のモードによる印刷の要求精度(600dpi、1200dpiなど)や、ハンドヘルドプリンタの移動速度等に対応して、サンプリング周期及び回数の変更を行う。また、使用するナビゲーションセンサの性能によって、センサの画像分解能や処理速度が異なるので、使用するデバイスの特性によっても、サンプリング周期及び回数の変更を行うことができる。
図12は、|L−Ls|がノイズ許容値を超えるセンサ出力値が連続した場合のハンドヘルドプリンタの対処について説明するための図である。
図3に示したソフト制御部40がサンプリング周期ごとに、ナビゲーションセンサ25のセンサS0,S1からの出力値をリードする。その結果、何らかの原因で図12に破線の楕円で囲んで示すように、前述した|L−Ls|がノイズ許容値を超え、ノイズが含まれていると判断された出力値が所定回数以上連続して発生する場合がある。
図3に示したソフト制御部40がサンプリング周期ごとに、ナビゲーションセンサ25のセンサS0,S1からの出力値をリードする。その結果、何らかの原因で図12に破線の楕円で囲んで示すように、前述した|L−Ls|がノイズ許容値を超え、ノイズが含まれていると判断された出力値が所定回数以上連続して発生する場合がある。
このようなときには、図3に示した制御部26は、オペレーションユニット27のディスプレイへの表示やLEDの点灯により、ユーザに異変(異常)を通知する機能を備えている。また、制御部26は、このようなときに、ユーザに異変を通知すると共に、ハンドヘルドプリンタ10の印字(記録動作)を停止させる機能も備えるのが望ましい。この機能は、ユーザがオペレーションユニット27を選択又は変更できるようにしてもよい。これによって、ユーザビリティが向上する。
図13は、|L−Ls|がノイズ許容値を超えるセンサ出力値から平均値を算出して、ノイズの有無を判断する閾値を説明するための図である。
この図によって、前述した|L−Ls|がノイズ許容値を超えたとき、同一サンプリング時の2つのセンサS0,S1の各出力値(dX、dy)、(dx′,dy′)のどこにノイズが含まれているかを判別する方法の一例を説明する。
そのために、所定回数のサンプリングにおいて、|L−Ls|がノイズ許容値を超えた、図13の(a)における破線の楕円内に示す対応する出力値〇の平均値を算出して閾値とする。
そして、(b)に破線で示す平均値を超えるセンサ出力値〇がノイズを含むと判断し、平均値以下のセンサ出力値はノイズを含まないと判断する。
この図によって、前述した|L−Ls|がノイズ許容値を超えたとき、同一サンプリング時の2つのセンサS0,S1の各出力値(dX、dy)、(dx′,dy′)のどこにノイズが含まれているかを判別する方法の一例を説明する。
そのために、所定回数のサンプリングにおいて、|L−Ls|がノイズ許容値を超えた、図13の(a)における破線の楕円内に示す対応する出力値〇の平均値を算出して閾値とする。
そして、(b)に破線で示す平均値を超えるセンサ出力値〇がノイズを含むと判断し、平均値以下のセンサ出力値はノイズを含まないと判断する。
この判断を、|L−Ls|がノイズ許容値を超えたときの各センサの各出力値(dX、dy)、(dx′,dy′)についてそれぞれ判断すれば、どのセンサのどの方向(X,Y)の出力値がノイズを含んでいるのかを判断することができる。
これにより、ノイズを含んでいる出力値を特定してそれだけを補正し、それ以外の出力値はそのまま採用することができるため、実際のハンドヘルドプリンタ10の移動量とセンサ出力値との誤差を小さくすることが出来る。
これにより、ノイズを含んでいる出力値を特定してそれだけを補正し、それ以外の出力値はそのまま採用することができるため、実際のハンドヘルドプリンタ10の移動量とセンサ出力値との誤差を小さくすることが出来る。
図14は、同一サンプリング時の2つのセンサの各出力値の内で、1つだけノイズを含むときの補正方法を説明するための図である。この図14においては、センサS0のX方向の出力値を●で、センサS1のY方向の出力値を○で示している。
前述した|L−Ls|がノイズ許容値を超えたとき、同一サンプリング時のセンサS0の出力値(dx,dy)とセンサS1の出力値(dx′,dy′)に対して、1つだけ明らかにノイズを含むと判断したとき、センサ間の取り付け距離Lを用いて補正を行う。
前述した|L−Ls|がノイズ許容値を超えたとき、同一サンプリング時のセンサS0の出力値(dx,dy)とセンサS1の出力値(dx′,dy′)に対して、1つだけ明らかにノイズを含むと判断したとき、センサ間の取り付け距離Lを用いて補正を行う。
2つのセンサS0,S1からの出力値(x,y)の一方だけにノイズを含むことが分かっている場合には、それらに基づいて算出されるセンサ間の距離Lsと、センサ間の取り付け距離Lとの数4の関係式を用いて、ノイズが含まれていないセンサ出力値より、明らかにノイズが含まれているセンサ出力値を逆算することができる。
図14の右側に示すように、明らかにノイズが含まれているセンサ出力値を、前述した数4の式に必要なセンサ出力値と取り付け距離Lの数値を代入することで算出できる。
これにより算出されたセンサ出力値を置き換えることによって補正を行えば、ノイズが含まれているセンサ出力値を正確に補正することができる。
この補正方法についても、補正するか否かをオペレーションユニット27からユーザが選択できるようにして、ユーザビリティの向上を図ることができる。
図14の右側に示すように、明らかにノイズが含まれているセンサ出力値を、前述した数4の式に必要なセンサ出力値と取り付け距離Lの数値を代入することで算出できる。
これにより算出されたセンサ出力値を置き換えることによって補正を行えば、ノイズが含まれているセンサ出力値を正確に補正することができる。
この補正方法についても、補正するか否かをオペレーションユニット27からユーザが選択できるようにして、ユーザビリティの向上を図ることができる。
図15は、ナビゲーションセンサのセンサ出力値を用いた位置関数の説明図である。
図15の左側は、ナビゲーションセンサ(センサS0又はS1)の出力値における、X方向及びY方向のサンプリング周期ごとの変化を示す。
右側は、前述した|L−Ls|がノイズ許容値以内のセンサ出力値を用いて、最小二乗法によって作成した回帰直線を破線で示す。
すなわち、所定回数分|L−Ls|がノイズ許容値以内のセンサ出力値を用いて、最小二乗法による回帰直線(曲線)を算出する。算出した位置関数より、所定回数時までの移動量を算出し、その補正位置情報を算出する。
図15の左側は、ナビゲーションセンサ(センサS0又はS1)の出力値における、X方向及びY方向のサンプリング周期ごとの変化を示す。
右側は、前述した|L−Ls|がノイズ許容値以内のセンサ出力値を用いて、最小二乗法によって作成した回帰直線を破線で示す。
すなわち、所定回数分|L−Ls|がノイズ許容値以内のセンサ出力値を用いて、最小二乗法による回帰直線(曲線)を算出する。算出した位置関数より、所定回数時までの移動量を算出し、その補正位置情報を算出する。
図16は、ナビゲーションセンサの位置情報を用いた位置関数によるノイズのズレ補正の説明図である。
図16の左側は、図15の右側と同様な破線で示す回帰直線による位置関数と、|L−Ls|がノイズ許容値を超えるセンサ出力値のズレの補正イメージを示す。
右側は、破線で示す回帰直線による位置関数により算出した、補正センサ出力値によるt1〜t10毎の移動量のイメージを示す。
図16の左側は、図15の右側と同様な破線で示す回帰直線による位置関数と、|L−Ls|がノイズ許容値を超えるセンサ出力値のズレの補正イメージを示す。
右側は、破線で示す回帰直線による位置関数により算出した、補正センサ出力値によるt1〜t10毎の移動量のイメージを示す。
図16により、回帰直線を用いた位置関数を算出し、適切なセンサ出力値を得ることが出来る。そして、|L−Ls|がノイズ許容値を超えたセンサ出力値においても、真の値に近くなるようにズレを補正することが出来る。
また、この回帰直線による位置関数により、t1〜t10での補正センサ出力値を得ることが出来る。その補正センサ出力値からt0からt10までのΔX1〜ΔX10、ΔY1〜ΔY10の位置情報を得ることができ、t0からt10までのΔX、ΔYの移動量の合計は数5のようになる。
また、この回帰直線による位置関数により、t1〜t10での補正センサ出力値を得ることが出来る。その補正センサ出力値からt0からt10までのΔX1〜ΔX10、ΔY1〜ΔY10の位置情報を得ることができ、t0からt10までのΔX、ΔYの移動量の合計は数5のようになる。
位置算出手段である図3の位置算出回路43は、このように、所定サンプリング回数に達したときに、それまでの各サンプリング時にノイズ除去演算部46がノイズが含まれていないと判断した各出力値によって、最小二乗法を用いて位置関数を算出する。そして、その位置関数から補正された補正位置情報を算出し、その補正位置情報によって、基準点から所定サンプリング回数に達したときまでの記録ヘッド28の移動量を算出して、その位置情報を決定することができる。
図17は、この実施形態のハンドヘルドプリンタによる図16等の補正及び算出方法を用いたノイズ除去と位置情報決定処理の流れを示すフローチャートである。
この処理は、図3に示したソフト制御部40がCPU41の制御によって実行する。
図17のフローチャートでは、ナビゲーションセンサから出力値をリードしたのちにノイズ除去の説明を示している。また、基準となる位置情報から所定回数時までの移動量を求めるために、センサからの位置情報より最小二乗法で算出する位置関数と位置関数より得られる補正位置関数の算出までを示している。
この処理は、図3に示したソフト制御部40がCPU41の制御によって実行する。
図17のフローチャートでは、ナビゲーションセンサから出力値をリードしたのちにノイズ除去の説明を示している。また、基準となる位置情報から所定回数時までの移動量を求めるために、センサからの位置情報より最小二乗法で算出する位置関数と位置関数より得られる補正位置関数の算出までを示している。
ソフト制御部40が、図17の処理を開始すると、ステップS11でタイミング生成回路52に時間を計測させ、予め設定したリードタイミングになるのを待つ。そして、リードタイミングになるとステップS12へ進んで、ナビゲーションセンサ25のセンサS0,S1から出力値をリードする。
次いで、ソフト制御部40はステップS13で、2つのセンサS0,S1間の距離Lsを算出する。そして、ステップS14で、算出した距離Lsと2つのセンサS0,S1の取り付け距離Lとの差|L−Ls|が許容値以内であるか否かを判断する。
次いで、ソフト制御部40はステップS13で、2つのセンサS0,S1間の距離Lsを算出する。そして、ステップS14で、算出した距離Lsと2つのセンサS0,S1の取り付け距離Lとの差|L−Ls|が許容値以内であるか否かを判断する。
その結果、許容値以内であれば、ソフト制御部40はリードしたセンサ出力値にノイズは含まれていないものし、ステップS16でセンサ出力値と補正が不要なことを記憶して、ステップS18へ進む。許容値以内でなければ(許容値を超えていれば)、リードしたセンサ出力値のどこかにノイズが含まれているものとしてステップS15でセンサ出力値を補正するか否かを閾値と比較して判断する。
その結果、補正すると判断した場合は、ステップS16でセンサ出力値と補正が必要なことを記憶して、ステップS18へ進む。出力値を補正しないと判断した場合は、ステップS17でそのセンサ出力値を不採用として、ステップS18へ進む。
ソフト制御部40は、ステップS18で所定回数であるか否かを判断し、所定回数になるまで、ステップS11へ戻って上述の処理を繰り返す。
ソフト制御部40は、ステップS18で所定回数であるか否かを判断し、所定回数になるまで、ステップS11へ戻って上述の処理を繰り返す。
テップS18で所定回数であると判断すると、ステップS19で許容値以内のセンサ出力値によって最小二乗法(回帰直線)を用いて位置関数を算出する。そして、ステップS20で、ステップS19で算出した位置関数により、補正が必要なセンサ出力値に対して補正された位置情報を算出し、センサ出力値を補正する。
その後、ソフト制御部40はステップS21で、補正位置情報によって、基準点から所定サンプリング回数に達したときまでの記録ヘッド28の移動量を加算して算出する。
その後、ソフト制御部40はステップS21で、補正位置情報によって、基準点から所定サンプリング回数に達したときまでの記録ヘッド28の移動量を加算して算出する。
次いで、ステップS22で、その算出した移動量によって記録ヘッド28の位置情報を決定し、その位置情報をメモリに格納する。そして、この処理を終了するが、再びSTARTへ戻って、上述の処理を繰り返す。
ノイズを含むセンサ出力値の他の判別方法や補正方法を用いる場合も、ソフト制御部40がこれを一部変更した処理を実行することによって、実施することができる。
ノイズを含むセンサ出力値の他の判別方法や補正方法を用いる場合も、ソフト制御部40がこれを一部変更した処理を実行することによって、実施することができる。
以上、この発明の各実施形態について説明してきたが、その実施形態の各部の具体的な構成や処理の内容等は、そこに記載したものに限るものではない。
また、この発明は上述した各実施形態に限定されるものではなく、特許請求の範囲の各請求項に記載された技術的特徴を有する以外は、何ら限定されるものではないことは言うまでもない。
さらに、以上説明してきた各実施形態の構成例、動作例及び変形例等は、適宜変更又は追加したり一部を削除してもよく、相互に矛盾しない限り任意に組み合わせて実施することも可能であることは勿論である。
また、この発明は上述した各実施形態に限定されるものではなく、特許請求の範囲の各請求項に記載された技術的特徴を有する以外は、何ら限定されるものではないことは言うまでもない。
さらに、以上説明してきた各実施形態の構成例、動作例及び変形例等は、適宜変更又は追加したり一部を削除してもよく、相互に矛盾しない限り任意に組み合わせて実施することも可能であることは勿論である。
10:ハンドヘルドプリンタ(ハンドヘルド記録装置)
11:スマートデバイス(ホスト装置) 12:記録媒体 13:手
14:画像 18:ノズル 20:電源 21:電源回路
22:通信インタフェース(IF) 23:ROM 24:DRAM
25,S0,S1:ナビゲーションセンサ(センサ) 26:制御部
27:オペレーションユニット(OPU) 28:記録ヘッド
29:記録ヘッド駆動回路
30:ホストIF 31:イメージプロセッサ 32:LEDドライバ
33:LED 34,35:レンズ 36:イメージアレイ
40:ソフト制御部 41:CPU 42:メモリコントローラ
43:位置算出回路 44:ROMコントローラ 45:ソフト制御部のバス
46:ノイズ除去演算部 50:制御IC 51:ナビゲーションセンサI/F
52:タイミング生成回路 53:記録ヘッド制御回路 54:イメージRAM
55:DMAC 56:回転器 57:割り込み回路 58:制御ICのバス
11:スマートデバイス(ホスト装置) 12:記録媒体 13:手
14:画像 18:ノズル 20:電源 21:電源回路
22:通信インタフェース(IF) 23:ROM 24:DRAM
25,S0,S1:ナビゲーションセンサ(センサ) 26:制御部
27:オペレーションユニット(OPU) 28:記録ヘッド
29:記録ヘッド駆動回路
30:ホストIF 31:イメージプロセッサ 32:LEDドライバ
33:LED 34,35:レンズ 36:イメージアレイ
40:ソフト制御部 41:CPU 42:メモリコントローラ
43:位置算出回路 44:ROMコントローラ 45:ソフト制御部のバス
46:ノイズ除去演算部 50:制御IC 51:ナビゲーションセンサI/F
52:タイミング生成回路 53:記録ヘッド制御回路 54:イメージRAM
55:DMAC 56:回転器 57:割り込み回路 58:制御ICのバス
Claims (10)
- 複数のノズルを列設した記録ヘッドを備え、人の手で記録媒体上を走査されながら、画像データと前記記録ヘッドの基準点からの位置情報とに応じて、前記複数のノズルからインクを吐出して記録するハンドヘルド記録装置であって、
前記複数のノズルの配列方向に間隔を置いて配置された少なくとも2個のナビゲーションセンサと、
前記走査中に、所定のサンプリング周期でタイミング信号を生成するタイミング生成手段と、
前記タイミング信号が生成されるごとに、前記2個のナビゲーションセンサの各出力値を読み込んでサンプリングし、該各出力値と前記2個のナビゲーションセンサの既知の取り付け距離とに基づいて前記各出力値にノイズが含まれているか否かを判断し、ノイズが含まれていると判断した場合は、該出力値を補正するか又は不採用にしてノイズを除去するノイズ除去手段と、
該ノイズ除去手段によってノイズが除去された所定サンプリング回数の前記各出力値に基づいて、前記記録ヘッドの前記基準点からの移動量を算出して前記位置情報を決定する位置算出手段と、
を備えたことを特徴とするハンドヘルド記録装置。 - 前記ノイズ除去手段は、前記2個のナビゲーションセンサから読み込んでサンプリングした各出力値と前記既知の取り付け距離(L)とに基づいて、前記2個のナビゲーションセンサ間の距離(Ls)を算出し、その算出した距離と前記取り付け距離との差(|L−Ls|)がノイズ許容値以内であれば、前記各出力値にノイズが含まれていないと判断し、
前記差(|L−Ls|)が前記ノイズ許容値を超えた場合は、前記各出力値の少なくともいずれかにノイズが含まれていると判断することを特徴とする請求項1に記載のハンドヘルド記録装置。 - 前記ノイズ除去手段は、前記各出力値の少なくともいずれかにノイズが含まれていると判断した場合には、該各出力値をいずれも不採用とすることを特徴とする請求項2に記載のハンドヘルド記録装置。
- 前記ノイズ除去手段は、前記各出力値の少なくともいずれかにノイズが含まれていると判断した場合には、該各出力値をいずれも補正することを特徴とする請求項2に記載のハンドヘルド記録装置。
- 前記ノイズ除去手段は、前記差(|L−Ls|)が前記ノイズ許容値を超えた場合は、前記各出力値のうち、所定回数のサンプリングにおいて、前記差が前記ノイズ許容値を超えた対応する出力値の平均値を超えた出力値にノイズが含まれていると判断し、該出力値を補正することを特徴とする請求項2に記載のハンドヘルド記録装置。
- 前記ノイズ除去手段は、前記ノイズが含まれていると判断した出力値を、それ以前のサンプリングでノイズが含まれていないと判断した直近の対応する出力値と置き換えて補正することを特徴とする請求項2,4,5のいずれか一項に記載のハンドヘルド記録装置。
- 前記ノイズ除去手段は、前記ノイズが含まれていると判断した出力値を、所定回数のサンプリングにおいて、ノイズが含まれていないと判断した対応する出力値の平均値と置き換えて補正することを特徴とする2,4,5のいずれか一項に記載のハンドヘルド記録装置。
- 前記ノイズ除去手段は、前記ノイズ許容値と、該ノイズ許容値より大きいノイズ補正閾値とを設定し、前記差(|L−Ls|)が前記ノイズ許容値を超え、前記ノイズ補正閾値以下であった場合には、前記2個のナビゲーションセンサから読み込んでサンプリングした各出力値を何れも不採用とし、前記ノイズ補正閾値を超えた場合には該各出力値を補正することを特徴とする請求項2に記載のハンドヘルド記録装置。
- 前記ノイズ除去手段によって、ノイズが含まれていると判断された前記ナビゲーションセンサの出力値が、所定回数以上連続して発生した場合には、ユーザに異変を通知するか又はユーザに異変を通知すると共に記録動作を停止させる手段を有することを特徴とする請求項1から8のいずれか一項に記載のハンドヘルド記録装置。
- 前記位置算出手段は、所定サンプリング回数に達したときに、それまでの各サンプリング時に前記ノイズ除去手段によってノイズが含まれていないと判断された前記各出力値によって、最小二乗法を用いて位置関数を算出し、該位置関数から補正された補正位置情報を算出し、該補正位置情報によって、前記基準点から前記所定サンプリング回数に達したときまでの前記記録ヘッドの移動量を算出して、前記位置情報を決定することを特徴とする請求項1又は2に記載のハンドヘルド記録装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015013399A JP2016137621A (ja) | 2015-01-27 | 2015-01-27 | ハンドヘルド記録装置 |
| US14/991,190 US9597896B2 (en) | 2015-01-27 | 2016-01-08 | Handheld recording device, recording device position detection method, and recording medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015013399A JP2016137621A (ja) | 2015-01-27 | 2015-01-27 | ハンドヘルド記録装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2016137621A true JP2016137621A (ja) | 2016-08-04 |
Family
ID=56434384
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015013399A Pending JP2016137621A (ja) | 2015-01-27 | 2015-01-27 | ハンドヘルド記録装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9597896B2 (ja) |
| JP (1) | JP2016137621A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018043346A (ja) * | 2016-09-12 | 2018-03-22 | カシオ計算機株式会社 | 印刷装置、印刷方法及びプログラム |
| JP2020124824A (ja) * | 2019-02-01 | 2020-08-20 | 株式会社リコー | 位置情報調整装置、該位置情報調整装置を含むハンディ型液滴吐出装置、ハンディ装置における位置情報調整方法、及びハンディ装置における位置情報調整プログラム |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11102373B2 (en) * | 2018-09-10 | 2021-08-24 | Ricoh Company, Ltd. | Image forming apparatus, state control method, and non-transitory computer-readable storage medium |
| US11235591B2 (en) * | 2018-09-28 | 2022-02-01 | Ricoh Company Ltd. | Image forming apparatus and image forming apparatus body |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1158844A (ja) * | 1997-08-08 | 1999-03-02 | Hewlett Packard Co <Hp> | ハンディ・プリンタ・システム |
| US6806453B1 (en) * | 2002-01-17 | 2004-10-19 | Hewlett-Packard Development Company, L.P. | Scanning, copying, and printing with rewritable media |
| WO2008109550A1 (en) | 2007-03-02 | 2008-09-12 | Marvell World Trade Ltd. | Position correction for handheld printer |
| JP5004622B2 (ja) * | 2007-03-17 | 2012-08-22 | 株式会社リコー | 画像形成装置、着弾位置ずれ補正方法 |
| JP2012198607A (ja) | 2011-03-18 | 2012-10-18 | Sony Corp | 座標補正関数生成装置、入力装置、座標補正関数生成方法、座標補正方法、及びプログラム |
-
2015
- 2015-01-27 JP JP2015013399A patent/JP2016137621A/ja active Pending
-
2016
- 2016-01-08 US US14/991,190 patent/US9597896B2/en not_active Expired - Fee Related
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018043346A (ja) * | 2016-09-12 | 2018-03-22 | カシオ計算機株式会社 | 印刷装置、印刷方法及びプログラム |
| JP2020124824A (ja) * | 2019-02-01 | 2020-08-20 | 株式会社リコー | 位置情報調整装置、該位置情報調整装置を含むハンディ型液滴吐出装置、ハンディ装置における位置情報調整方法、及びハンディ装置における位置情報調整プログラム |
| JP7127564B2 (ja) | 2019-02-01 | 2022-08-30 | 株式会社リコー | 位置情報調整装置、該位置情報調整装置を含むハンディ型液滴吐出装置、ハンディ装置における位置情報調整方法、及びハンディ装置における位置情報調整プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US9597896B2 (en) | 2017-03-21 |
| US20160214375A1 (en) | 2016-07-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6409435B2 (ja) | 印刷装置、印刷システムおよび印刷方法 | |
| US10974521B2 (en) | Liquid droplet discharging apparatus, liquid droplet discharging method, and non-transitory computer readable medium | |
| US10308014B2 (en) | Non-transitory recording medium, image forming device, and image forming system | |
| US9944089B2 (en) | Image forming apparatus and image forming method | |
| JP6926535B2 (ja) | 液滴吐出装置、液滴吐出方法、プログラム | |
| JP2016112700A (ja) | ハンドヘルド記録装置 | |
| JP2016137621A (ja) | ハンドヘルド記録装置 | |
| JP2020040382A (ja) | 画像形成装置、制御方法及び制御プログラム | |
| JP2016000486A (ja) | ハンディモバイルプリンタ、ハンディモバイルプリンタの制御方法、及びプログラム | |
| JP7167733B2 (ja) | 液滴吐出装置、液滴吐出方法及びプログラム | |
| JP2016179660A (ja) | 印刷装置、印刷システムおよび印刷方法 | |
| JP6402585B2 (ja) | 印刷装置、方法およびプログラム | |
| JP2017170879A (ja) | 位置検出装置、液滴吐出装置、プログラム | |
| JP6627476B2 (ja) | 液体吐出装置、液体吐出方法、プログラム | |
| JP6844145B2 (ja) | 位置検出装置、液滴吐出装置、プログラム、位置検出方法 | |
| JP2017203694A (ja) | 位置検出装置、液滴吐出装置 | |
| JP6582873B2 (ja) | 画像形成装置、プログラム及び方法 | |
| JP7206997B2 (ja) | 画像形成装置、状態制御方法、プログラム | |
| EP3539789B1 (en) | Liquid discharge apparatus in a handheld printer, liquid discharge method, and carrier means | |
| JP2016068552A (ja) | 印刷装置および印刷方法 | |
| JP6776521B2 (ja) | 画像形成装置、プログラム及び方法 | |
| JP2019022989A (ja) | 印刷装置、印刷システムおよび印刷方法 | |
| JP2019010778A (ja) | 印刷装置及び印刷方法 | |
| JP7127564B2 (ja) | 位置情報調整装置、該位置情報調整装置を含むハンディ型液滴吐出装置、ハンディ装置における位置情報調整方法、及びハンディ装置における位置情報調整プログラム | |
| US20200079078A1 (en) | Printer |