(57)【特許請求の範囲】
【請求項１】
被検物の位置を検出する位置検出装置であって、
互いに異なる周期を有する複数のパターンが配置されたスケールと、
前記スケールからの光を受光して、該受光した光に応じた信号を出力するセンサと、前記複数のパターンからの光を受光して出力された前記センサからの信号に基づいて、前記被検物の絶対位置を算出する第１の位置算出部と、
前記複数のパターンのうちの一部のパターンからの光を受光して出力された前記センサからの信号に基づいて、基準位置に対する前記被検物の相対位置を算出する第２の位置算出部と、
前記複数のパターンが形成されている領域とは異なる領域からの光を受光して出力された前記センサからの信号に基づいて、前記第１の位置算出部により算出される前記被検物の絶対位置の精度を判定する判定部と、
前記判定部の判定結果に応じて、前記第１の位置算出部で算出された絶対位置の位置情報を該位置検出装置の外部に出力するか否かを決定する制御部と、
を有し、
前記制御部は、
前記基準位置として、前記第１の位置算出部により算出された絶対位置を設定し、
前記基準位置が設定された後に前記第１の位置算出部により算出された絶対位置の精度が所定の水準よりも低いと前記判定部に判定された場合に、前記第２の位置算出部で算出された前記被検物の相対位置を該位置検出装置の外部に出力するように決定し、
前記判定部により前記精度が前記所定の水準よりも低いと判定された場合、前記被検物を駆動する駆動手段に駆動を指示する信号を送ることで、前記判定部により前記精度が前記所定の水準よりも高いと判定される絶対位置の探索を行い、該探索により前記精度が前記所定の水準よりも高いと判定された絶対位置を前記基準位置として設定し、
前記判定部により前記精度が前記所定の水準よりも高いと判定される位置が探索されずに、前記被検物が前記被検物の駆動可能な範囲の端に到達したときは、該端における位置を前記基準位置として設定することを特徴とする位置検出装置。
【請求項２】
前記制御部は、
前記精度が所定の水準よりも高いと判定された場合に、前記第１の位置算出部で算出された前記被検物の絶対位置を該位置検出装置の外部に出力するように決定することを特徴とする請求項１に記載の位置検出装置。
【請求項３】
前記制御部は、前記探索により前記精度が前記所定の水準よりも高いと判定された絶対位置を該位置検出装置の外部に出力するように決定することを特徴とする請求項１または２に記載の位置検出装置。
【請求項４】
前記判定部は、前記複数のパターンが形成されている領域とは異なる領域からの光を受光して出力された前記センサからの信号に基づいて前記複数のパターンに異常があるか否かを判定し、前記複数のパターンに異常があると判定したときは前記第１の位置算出部により算出される前記被検物の絶対位置の精度が所定の水準よりも低いと判定することを特徴とする請求項１から３のうちいずれか１項に記載の位置検出装置。
【請求項５】
前記判定部は、前記複数のパターンが形成されている領域とは異なる領域からの光を受光して出力された前記センサからの信号の振幅に基づいて、前記複数のパターンに異常があるか否かを判定することを特徴とする請求項４に記載の位置検出装置。
【請求項６】
前記判定部は、所定時間の間の前記被検物の相対位置の変位量と前記被検物の絶対位置の変位量との差に基づいて、前記第１の位置算出部により算出される前記被検物の絶対位置の精度が所定の水準よりも高いか否かを判定することを特徴とする請求項１から４のうちいずれか１項に記載の位置検出装置。
【請求項７】
前記第２の位置算出部は、前記複数のパターンのうちの１のパターンのみに関する前記センサからの信号に基づいて、前記相対位置を算出することを特徴とする請求項１から６のうちいずれか１項に記載の位置検出装置。
【請求項８】
前記制御部は、前記被検物が静止している間に前記基準位置の設定を行うことを特徴とする請求項１から７のうちいずれか１項に記載の位置検出装置。
【請求項９】
前記制御部は、前記基準位置の前記探索の後に、該探索の開始時の前記被検物の位置まで前記被検物を駆動させる信号を前記駆動手段に送ることを特徴とする請求項１から８のうちいずれか１項に記載の位置検出装置。
【請求項１０】
前記複数のパターンのうち隣り合うパターンの間の領域からの光を受光して得られた前記センサからの信号に基づいて、前記精度を判定することを特徴とする請求項１から９のうちいずれか１項に記載の位置検出装置。
【請求項１１】
被検物の位置を検出する位置検出装置であって、
互いに異なる周期を有する複数のパターンが配置されたスケールと、
前記スケールからの光を受光して、該受光した光に応じた信号を出力するセンサと、前記複数のパターンからの光を受光して出力された前記センサからの信号に基づいて、前記被検物の絶対位置を算出する第１の位置算出部と、
前記複数のパターンのうちの一部のパターンからの光を受光して出力された前記センサからの信号に基づいて、基準位置に対する前記被検物の相対位置を算出する第２の位置算出部と、
前記センサからの信号に基づいて、前記第１の位置算出部により算出される前記被検物の絶対位置の精度を判定する判定部と、
前記判定部の判定結果に応じて、前記第１の位置算出部で算出された絶対位置の位置情報を該位置検出装置の外部に出力するか否かを決定する制御部と、を有し、
前記制御部は、
前記基準位置として、前記第１の位置算出部により算出された絶対位置を設定し、前記基準位置が設定された後に前記第１の位置算出部により算出された絶対位置の精度が所定の水準よりも低いと判定された場合に、前記第２の位置算出部で算出された前記被検物の相対位置を該位置検出装置の外部に出力するように決定し、
前記判定部により前記絶対位置の精度が前記所定の水準よりも高いと判定され、かつ、前記第１の位置算出部により絶対位置と前記第２の位置算出部により算出された相対位置との差が所定値よりも大きい場合は、前記第１の位置算出部により前記基準位置としての絶対位置を再設定することを特徴とする位置検出装置。
【請求項１２】
被検物の位置を検出する位置検出装置であって、
互いに異なる周期を有する複数のパターンが配置されたスケールと、
前記スケールからの光を受光して、該受光した光に応じた信号を出力するセンサと、前記複数のパターンからの光を受光して出力された前記センサからの信号に基づいて、前記被検物の絶対位置を算出する第１の位置算出部と、
前記センサからの信号に基づいて、前記第１の位置算出部により算出される前記被検物の絶対位置の精度を判定する判定部と、
前記判定部の判定結果に応じて、前記第１の位置算出部で算出された絶対位置の位置情報を該位置検出装置の外部に出力するか否かを決定する制御部と、
前記第１の位置算出部によって算出された絶対位置を逐次に記憶する記憶手段を有し、
前記制御部は、
前記記憶手段に記憶された絶対位置の軌跡から現在の絶対位置を予測し、前記制御部によって予測された絶対位置の範囲内に、前記第１の位置算出部によって算出された現在の絶対位置が含まれているか否かに応じて、前記第１の位置算出部で算出された現在の絶対位置を該位置検出装置の外部に出力するか否かを決定することを特徴とする位置検出装置。
【請求項１３】
撮像装置に着脱可能なレンズ装置であって、
撮像素子に被写体からの光を導く撮影光学系と、
前記撮影光学系の光学部材のうち少なくとも一つを被検物として、該被検物の位置を検出する請求項１から１２のうちいずれか１項に記載の位置検出装置と、を有することを特徴とするレンズ装置。
【請求項１４】
請求項１３に記載のレンズ装置と、
前記撮影光学系からの光を光電変換する撮像素子と、を有することを特徴とする撮像装置。
【請求項１５】
振動を検出する振動検出手段を更に有し、
前記位置検出装置は、前記センサからの信号に基づいて前記被検物の相対位置を算出する第２の位置算出部を有し、
前記制御部は、前記振動検出手段によって検出された振動が所定値を超えた場合に、前記第２の位置算出部で算出された相対位置の利用を禁止することを特徴とする請求項１４に記載の撮像装置。
【請求項１６】
前記被検物を駆動する駆動手段を有し、
前記制御部は、前記被検物の駆動方向において、前記駆動手段が該被検物を保持する力よりも大きい力が加わる振動を前記振動検出手段が検出した場合に、前記第２の位置算出部で算出された相対位置の利用を禁止することを特徴とする請求項１５に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被検物の位置を検出する位置検出装置、並びにそれを有するレンズ装置および撮像装置に関する。
【背景技術】
【０００２】
位置検出装置には、相対位置検出装置と絶対位置検出装置の二つがある。相対位置検出装置は、スケールやディスクなどに設けられた一定周期の格子等のパターンの移動を光学的又は磁気的に読み取り、基準位置情報からの相対変位量を用いて被検物の位置を測定する。シンプルな格子パターンによりナノメートル単位の分解能を実現することができる反面、基準位置を検出しないと被検物の絶対位置情報を取得できない。
【０００３】
一方、絶対位置検出装置は、グレイコードやＭ系列コードなどのパターンを受光素子アレイなどで取得することで基準位置を検出することなく、被検物の絶対位置情報を取得できる。
【０００４】
特許文献１は、起動時にのみ絶対位置検出装置を利用して相対位置検出に必要となる基準位置の検出することを開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−７８３５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、パターン上の僅かな傷や汚れ、磁気センサであれば外部磁場の影響、光学センサであれば経年変化によるセンサ光量変化などにより検出位置精度が悪化する可能性があり、絶対位置検出装置から得られる絶対位置情報は必ずしも正確とは限らない。
【０００７】
特許文献１は、位置検出装置の位置検出精度の悪化を抑制するための技術であり、位置検出装置の位置検出の精度が実際に悪化した場合には基準位置が保証されず、位置検出装置としての機能が破綻してしまうおそれがある。
【０００８】
本発明は、絶対位置検出装置の位置検出精度が悪化したか否かを判定し、判定結果に応じて出力する適切な位置情報を提供する。
【課題を解決するための手段】
【０００９】
本発明の一側面としての位置検出装置は、互いに異なる周期を有する複数のパターンが配置されたスケールと、スケールからの光を受光して、該受光した光に応じた信号を出力するセンサと、複数のパターンからの光を受光して出力された該センサからの信号に基づいて被検物の絶対位置を算出する第１の位置算出部と、複数のパターンのうちの一部のパターンからの光を受光して出力されたセンサからの信号に基づいて、基準位置に対する被検物の相対位置を算出する第２の位置算出部と、複数のパターンが形成されている領域とは異なる領域からの光を受光して出力されたセンサからの信号に基づいて、第１の位置算出部により算出される被検物の絶対位置の精度を判定する判定部と、該判定部の判定結果に応じて第１の位置算出部で算出された絶対位置の位置情報を位置検出装置の外部に出力するか否かを決定する制御部と、を有し、制御部は、基準位置として、第１の位置算出部により算出された絶対位置を設定し、基準位置が設定された後に第１の位置算出部により算出された絶対位置の精度が所定の水準よりも低いと判定部に判定された場合に、第２の位置算出部で算出された被検物の相対位置を位置検出装置の外部に出力するように決定し、判定部により精度が所定の水準よりも低いと判定された場合、被検物を駆動する駆動手段に駆動を指示する信号を送ることで、判定部により精度が所定の水準よりも高いと判定される絶対位置の探索を行い、該探索により精度が所定の水準よりも高いと判定された絶対位置を基準位置として設定し、判定部により精度が所定の水準よりも高いと判定される位置が探索されずに、被検物が被検物の駆動可能な範囲の端に到達したときは、該端における位置を基準位置として設定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、絶対位置検出装置の位置精度が悪化したか否かを検知することができ、適切な位置情報の提供に寄与できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例１におけるカメラシステムを示すブロック図である。
【図２】実施例１における位置検出装置の構成を示す概略図である。
【図３】実施例１におけるセンサ信号群からの絶対位置算出を説明する図である。
【図４】実施例１におけるスケール上のパターン異常検出を説明する図である。
【図５】実施例１における位置検出装置の起動時の処理を示すフローチャートである。
【図６（ａ）】実施例１における絶対位置復帰動作の処理を示すフローチャートである。
【図６（ｂ）】実施例１における絶対位置復帰動作の処理を示すフローチャートである。
【図７（ａ）】実施例１における位置検出装置の起動動作後の処理を示すフローチャートである。
【図７（ｂ）】実施例１における位置検出装置の起動動作後の処理を示すフローチャートである。
【図８】実施例１におけるフォーカスレンズの駆動状態を考慮する位置検出装置の起動動作後の処理を示すフローチャートである。
【図９】本発明の実施例２におけるカメラシステムを示すブロック図である。
【図１０】実施例２における絶対位置の時系列軌跡情報を用いた予測判定を説明する図である。
【図１１】実施例２における位置検出装置の起動動作後の処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本発明の好ましい実施の形態を添付の図面に基づき詳細に説明する。各図において、同一の部材については同一の参照番号を付記し、重複する説明は省略する。
【実施例１】
【００１３】
図１は、本発明の実施例として、位置検出装置を搭載した交換レンズ１００と、該交換レンズ１００が着脱可能に装着されるカメラボディ２００とから構成されるカメラシステムの構成を示す。
【００１４】
カメラボディ２００は、カメラＣＰＵ２０１、焦点検出ユニット２０２、撮像素子２０３、カメラ通信ユニット２０４を含んでいる。
【００１５】
カメラＣＰＵ２０１は、カメラボディ２００のすべての動作制御を司っており、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭなどのメモリを内蔵する。カメラＣＰＵ２０１は、焦点検出ユニット２０２による焦点検出結果に応じて被写体に対する合焦位置を判定し、必要に応じてカメラ通信ユニット２０４を介して交換レンズ１００内のフォーカスレンズ１０２（光学部材）の駆動命令を発行する。
【００１６】
焦点検出ユニット２０２は、交換レンズ１００内の撮影光学系からの光束を用いて被写体に対する撮影光学系の焦点状態を検出する。焦点検出方法は、位相差検出方式、コントラスト検出方式その他これに類するものいずれでも良い。
【００１７】
撮像素子２０３は、ＣＭＯＳやＣＣＤなどから構成される光電変換素子である。交換レンズ１００内の撮影光学系を介した光束は、撮像素子２０３で結像される。
【００１８】
カメラ通信ユニット２０４は、後述するレンズＣＰＵ１０１との通信を行うための複数の通信端子を有し、カメラＣＰＵ２０１からレンズＣＰＵ１０１に対して処理要求を送信したり、反対にレンズＣＰＵ１０１からの処理要求を受信したりする。また、交換レンズ１００への電源は、カメラ通信ユニット２０４を経由してカメラボディ２００内の不図示の電源ユニットから供給される。
【００１９】
交換レンズ１００は、レンズＣＰＵ１０１、フォーカスレンズ１０２、フォーカス駆動用モータ１０３、位置検出センサ１０４、スケール１０５、フォーカス駆動回路１０６、フォーカス位置検出部１０７、フォーカス制御部１０８を含む。
【００２０】
レンズＣＰＵ１０１は、カメラＣＰＵ２０１からの処理要求や交換レンズ１００内の各駆動部材の状態に応じて交換レンズ１００内の動作を制御する。レンズＣＰＵ１０１は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭなどのメモリを内蔵する。
【００２１】
フォーカスレンズ１０２は、本発明における位置検出の被検物である。交換レンズ１００を構成する撮影光学系の１つであり、光軸方向に動くことで結像する焦点位置が変化する。単一又は複数のガラスやプラスチックレンズなどから構成される。本実施例では単群構成として扱うが、多群構成であっても本発明に適用可能である。
【００２２】
フォーカス駆動用モータ１０３は、フォーカスレンズ１０２を駆動するためのアクチュエータである。フォーカス駆動用モータ１０３は、超音波モータ、ステッピングモータ、ブラシレスモータ、ヴォイスコイルモータ、ＤＣモータなどが一例として挙げられる。
【００２３】
位置検出センサ１０４は、フォーカスレンズ１０２の絶対位置を検出するための光学式センサであり、発光部と２つの受光素子アレイで構成される。フォーカスレンズ１０２の保持部に取り付けられ、フォーカスレンズ１０２の移動に伴って位置検出センサ１０４も移動する。
【００２４】
スケール１０５は、交換レンズ１００内の不図示の鏡筒面に固定され、位置検出センサ１０４と対向する位置に配置される。スケール１０５には絶対位置検出のためのパターンが形成されており、スケール位置に応じて発光部からの光の反射率が異なる。そのため、フォーカス位置検出部１０７は、位置検出センサ１０４から出力されるセンサ信号群によりスケールの位置に応じて、被検物の位置を一意に決めることができる。本実施例では、交換レンズ１００の光軸方向に平行な直線スケールを扱うが、本発明のスケール形状はこれに拘束されず、交換レンズ１００の径方向に巻きつくように配置したスケール等であっても良い。
【００２５】
フォーカス駆動回路１０６は、フォーカス制御部１０８にて設定された駆動指令信号を変換してフォーカス駆動用モータ１０３を駆動するためのモータドライバである。
【００２６】
フォーカス位置検出部１０７は、位置検出センサ１０４からのセンサ信号群に基づいてフォーカスレンズ１０２の絶対位置、および基準位置からの相対変位量により求まる相対位置を算出する。また、算出された絶対位置の位置精度が適切であるか否かを判定し、判定結果に応じてフォーカス制御部１０８に位置情報や、リカバリ動作等の要求信号を出力する。フォーカス位置検出部１０７は、内部の処理単位で更に細分化できるが、これについては図２を用いて後述する。
【００２７】
フォーカス制御部１０８は、フォーカスレンズ１０２に関わる動作を制御するソフトウェア及びハードウェア回路であり、カメラＣＰＵ２０１からの駆動命令を、レンズＣＰＵ１０１を介して受ける。また、フォーカス制御部１０８は、例えば、交換レンズ１００内でのユーザ操作（不図示のフォーカスマニュアルリング操作やズームリング操作、フォーカスプリセット操作など）に関する命令を、レンズＣＰＵ１０１を介して受けることもできる。フォーカス制御部１０８は、これらの命令の受けることで、駆動処理を実行する。具体的には、フォーカス制御部１０８は、レンズＣＰＵ１０１から受けた駆動命令や、命令受付時の駆動状態に応じて、駆動可否判定や最適な駆動速度の設定、駆動量の再設定などを行い、フォーカス駆動回路１０６を介してフォーカス駆動用モータ１０３を駆動する。
【００２８】
本実施例では、フォーカスレンズ１０２の位置情報とフォーカス制御部１０８にて設定される目標位置との偏差からフォーカス駆動用モータ１０３の駆動速度を決定する位置フィードバックによる制御を行う。そのため、フォーカス制御部１０８は、フォーカス駆動用モータ１０３を駆動するにあたって、フォーカス位置検出部１０７により得られたフォーカスレンズ１０２の位置情報を参照する。
【００２９】
また、フォーカス位置検出部１０７によって得られた位置情報を、交換レンズ１００のフォーカス制御部１０８以外の部材やカメラＣＰＵ２０１に提供するように構成してもよい。なお、本発明において、駆動制御は、フィードバック制御に限定せず、フィードフォワード制御、閉ループ複合制御、オープンループ制御、シーケンス制御などでもよい。また、本実施例では、フォーカスレンズ１０２を被検物とする位置検出装置を示すが、本発明はこれに限定されず、ズーム位置や絞り羽根の径位置などを被検物とする物であってもよい。
【００３０】
図２は、本実施例における位置検出装置の構成を示すブロック図である。
【００３１】
本実施例における位置検出装置は、前述した通り、位置検出センサ１０４、スケール１０５、フォーカス位置検出部１０７から構成される。
【００３２】
スケール１０５は、図２に示すように２つのトラック（メイントラック１０５ａ、サブトラック１０５ｂ）から構成される。いずれのトラックも周期の異なる２つのパターンを含み、またトラック間の周期も異なる。位置検出センサ１０４は、メイントラック１０５ａ、サブトラック１０５ｂ、それぞれをデコードするために１つの発光素子と２つの受光素子アレイから構成される。例えば、パターン別のセンサ信号は、受光側の素子配列を変更することによって取得される。本実施例では、位置検出センサ１０４は、センサ内部の処理によって読み取る受光素子アレイの配列を切り替え、対象パターンの反射光を取得する。この際、反射光量に応じてセンサ信号が変化し、１つのパターンから位相の異なる２相信号がセンサ出力として得られる。本実施例では、２パターン２トラックなので、計８つのセンサ信号が得られ、この信号群を用いてスケール１０５の位置、つまりフォーカスレンズ１０２の絶対位置が算出される。
【００３３】
フォーカス位置検出部１０７は、センサ信号取得部１１０、センサ信号補正部１１１、絶対位置演算部１１２、相対位置演算部１１３、異常検出部１１４、位置精度判定部１１５、位置検出メモリ部１１６、フォーカス位置検出制御部１１７を含む。
【００３４】
センサ信号取得部１１０は、位置検出センサ１０４からのアナログ出力であるセンサ信号を所定分解能のデジタル信号にＡ／Ｄ変換を行う。センサ信号取得部１１０は、上述した絶対位置を算出するための８つの信号群にスケール１０５上のパターン異常を検出する４つの信号群を加えた計１２の信号群を取り扱う。また、センサ信号取得部１１０は、フォーカス位置検出制御部１１７からの命令によって取得するパターンを切り替える。また、センサ信号取得部１１０は、フォーカス位置検出制御部１１７からの信号取得命令を受けたタイミングでセンサ信号に対してＡ／Ｄ変換を行う。
【００３５】
センサ信号補正部１１１は、センサ信号取得部１１０にて取得した信号の補正処理を行う。具体的には、信号に含まれる高調波成分の除去、２相信号間の振幅・位相差補正、オフセット値補正などが挙げられる。センサの位置分解能が高くなるほど、信号ノイズや使用環境変化によるセンサ信号の変化は位置情報の精度に対して敏感になる。そのため、本実施例は、この信号ノイズ等の影響を抑制する目的で補正処理を施す。
【００３６】
絶対位置演算部１１２（第１の位置算出部）は、位置検出センサ１０４から得られる８つの信号群からフォーカスレンズ１０２の絶対位置を算出する。詳細は後述する。
【００３７】
相対位置演算部１１３（第２の位置算出部）は、位置検出センサ１０４から得られる８つの信号群の内の所定のパターンから得られる２相信号から、フォーカスレンズ１０２の相対位置を算出する。本実施例では、相対位置検出信号としての２相信号は、図３のＡＴＡＮ信号のように周期的な出力信号である。相対位置演算部１１３は、前回の相対位置および相対位置検出信号を読出し、今回得られる相対位置検出信号と前回のものとの差分から相対変位量を算出し、基準位置としての前回の相対位置に相対変位量を加算することで相対位置を算出する。位置検出メモリ部１１６は、前回の相対位置および相対位置検出信号を記憶する。起動時において相対位置演算部１１３は、基準となる前回の相対位置が存在しないため、基準位置として絶対位置（以下、単に基準位置という）を設定する。基準位置設定時は、相対位置演算部１１３は、基準位置を位置情報として出力し、それ以後は上述した算出方法で求めた相対位置を出力する。相対位置演算部１１３の導出処理の詳細は後述する。本実施例では、絶対位置検出装置と同一のスケールおよびセンサを使用して相対位置が算出されるが、本発明はこれに限定されず、相対位置検出用のスケールやセンサを別途設けてもよい。
【００３８】
異常検出部１１４は、センサ信号取得部１１０より得られたスケール１０５上のパターン異常を検出するための４つの信号群の出力レベルに基づいて、メイントラック１０５ａ又はサブトラック１０５ｂ上のパターンの異常度合いを判定する。異常度合いは、基準となる出力レベルからの偏差電圧で表現され、異常検出部１１４は偏差電圧ＶｐＥｘ、ＶｐＥｘ＊を位置精度判定部１１５へ出力する。
【００３９】
位置精度判定部１１５は、絶対位置演算部１１２で算出されたフォーカスレンズ１０２の絶対位置の位置精度が所定の水準よりも高いか否かを判定し、判定結果をフォーカス位置検出制御部１１７に出力する。本実施例では、スケール１０５上のパターン異常のレベル、および所定時間における絶対位置の変位量ΔＡＢＳと相対位置の変位量ΔＲＥＬの差分値検出の複合情報から絶対位置の位置精度を見積もる。本実施例において、所定時間は位置情報を更新する周期とし、絶対位置演算部１１２と相対位置演算部１１３の位置情報を更新する周期は同一である。本実施例における判定結果は正常か異常かの２値表現とし、位置精度判定部１１５は、どの項目で異常と判断されたかの情報もフォーカス位置検出制御部１１７へ出力する。すなわち、絶対位置の位置精度が所定の水準よりも高ければ正常とし、絶対位置の位置精度が所定の水準よりも低ければ異常とする。
【００４０】
位置検出メモリ部１１６は、位置検出装置に必要となる各種の補正情報や閾値情報などを記憶する。本実施例では、主に、絶対位置算出にて用いる各信号の補正情報、フォーカスレンズ１０２の駆動端位置での設計値上の絶対位置、スケール１０５から得られるフォーカスレンズ１０２の駆動端位置での絶対位置が記憶される。また、相対位置算出にて用いる直前の位置情報更新周期での相対位置検出信号、起動時に定まる基準位置、異常検出部１１４にて用いる基準レベル電圧、位置精度判定部１１５にて用いる判定閾値も記憶される。さらに、直前の位置情報更新周期での絶対位置演算部１１２で算出される絶対位置、相対位置演算部１１３で算出される相対位置、及び位置精度判定部１１５の判定結果なども記憶される。なお、これらの値は、設計値、工場調整時に取得した固定値、位置検出装置、フォーカスレンズ１０２、又はフォーカス駆動用モータ１０３の状態に応じて可変値としてもよい。
【００４１】
フォーカス位置検出制御部１１７は、フォーカス位置検出に関わる動作を統合的に制御する。センサ信号取得部１１０に対しては受光パターンの切り替え、および受光パターン切り替え直後は受光特性が安定しないため、出力が安定するまでのタイマカウントを実施する。また、絶対位置演算部１１２、相対位置演算部１１３の出力タイミングの同期処理もフォーカス位置検出制御部１１７おいて行われる。
【００４２】
さらに、フォーカス位置検出制御部１１７は、位置精度判定部１１５の判定結果に応じて、フォーカス位置検出部１０７の外部、すなわちフォーカス制御部１０８に対して位置情報、及び処理要求を出力する。フォーカス位置検出制御部１１７は、絶対位置の位置精度が所定の水準よりも高いと判定されると、絶対位置演算部１１２で算出された絶対位置を出力する。絶対位置の位置精度が所定の水準よりも低いと判定されると、状態に応じて以下の動作を行う。
【００４３】
まず、交換レンズ１００の起動時の絶対位置の位置精度の判定は、異常検出部１１４の結果、すなわちスケール１０５上のパターン異常のみに基づいて判定される。この場合、フォーカス位置検出制御部１１７は、予め定めた所定の位置情報（例えばＴＥＬＥ状態での光学無限位置）を位置情報として出力し、併せて、フォーカス制御部１０８に対して絶対位置を確定させるリカバリ動作要求を出力する。
【００４４】
リカバリ動作中において、フォーカス位置検出制御部１１７は、予め定めた所定の位置情報を仮の基準位置として位置検出メモリ部１１６に記憶し、相対位置演算部１１３にて仮の基準位置を基に算出される相対位置を位置情報として出力する。また、フォーカス位置検出制御部１１７は、リカバリ動作によってスケール１０５上のパターン異常が解消されたタイミングでフォーカス駆動用モータ１０３の駆動停止要求を出力する。フォーカス位置検出制御部１１７は、停止後に異常検出部１１４の偏差電圧ＶｐＥｘ、ＶｐＥｘ＊が正常である（＜ＶｐＥｘ，Ｔｈ）ことを再度確認し、リカバリ動作要求を取り下げる。フォーカス位置検出制御部１１７は、このときに絶対位置演算部１１２にて算出される絶対位置を基準位置とし、位置検出メモリ部１１６に記憶させる。なお、本実施例におけるリカバリ動作とは、スケール１０５上のパターンに異常がない位置を探索する動作であるが、他にも位置検出センサ１０４やスケール１０５上に対して振動・衝撃を与えてパターンやセンサ上の異物を除去する動作等であってもよい。また、起動位置に戻るまでをリカバリ動作に含めてもよい。
【００４５】
次いで、交換レンズ１００の起動動作後における絶対位置の位置精度の判定は、スケール１０５上のパターン異常、および絶対位置の変位量ΔＡＢＳと相対位置の変位量ΔＲＥＬとの変位量差分値ΔＡＢＳ−ΔＲＥＬを用いて行われる。起動動作後において絶対位置の位置精度が異常である場合は、位置情報として相対位置演算部１１３にて算出された相対位置を出力する。
【００４６】
スケール１０５上のパターンに異常がある場合（パターン異常が検出される場合）は、位置検出センサ１０４から得られるセンサ信号群に影響を及ぼし、正確な絶対位置を算出できない可能性がある。そこで、事前の測定によって絶対位置が正常に出力されないレベルである時の異常検出信号の基準レベルからの偏差電圧を閾値ＶｐＥｘ，Ｔｈとし、これによって絶対位置の位置精度悪化と異常検出信号の偏差電圧ＶｐＥｘ、ＶｐＥｘ＊との関係を表現する。
【００４７】
本実施例の構成においてパターンに異常がある場合、相対位置演算にも少なからず影響が生じる。しかし、絶対位置演算と比較してパターン上の傷や汚れなどに対して出力値は影響を受けにくいため、これらの影響はほぼ無視することができ、適正な位置情報として相対位置を出力できる。
【００４８】
位置精度判定部１１５は、変位量差分値が異常な場合、相対位置は適正な位置情報であるとして絶対位置の位置精度を判定する。すなわち、所定時間内における絶対位置および相対位置のそれぞれの変位量ΔＡＢＳ，ΔＲＥＬ間に差分が発生した場合は、絶対位置が正確に演算できていないと判断される。この場合に変位量に差分が生じた原因として、センサ信号群の異常以外に、センサ信号群の読み取りタイミングのズレが考えられる。
【００４９】
受光するパターンは、パターン毎に切り替える必要がある。しかし、受光特性の安定のための待ち時間を要するため、１つのパターンのセンサ信号を取得してから所定時間待った後に別のパターンのセンサ信号を取得しなければならい。このため、フォーカスレンズ１０２が駆動している場合、パターン１とパターン２との間でセンサ信号を取得するタイミングが異なり、駆動速度が速いほどに取得するパターン位置のズレ量が大きくなる。
【００５０】
これに対する対策として、駆動速度に応じてセンサ信号取得タイミングのズレ量を予測し、取得したセンサ信号群を補正する処理が考えられるが、この補正を誤ると正確な絶対位置を算出できない可能性がある。一方、相対位置の算出は、相対位置が同一パターンから算出される位置情報であるため、信号取得タイミングのズレによる影響は受けない。なお、起動時においては、フォーカスレンズ１０２は停止状態であるため、変位量差分値を考慮する必要はない。
【００５１】
図３は、本実施例における絶対位置検出センサおよびスケールから算出される絶対位置信号の概念図を示す。
【００５２】
スケール１０５はメイントラック１０５ａ，サブトラック１０５ｂから構成され、それぞれのトラックは周期の異なるパターン列を２種類有する。位置検出センサ１０４は、１つの発光素子と２つの受光センサから構成され、フォーカスレンズ１０２の移動に伴って移動する。受光センサは、それぞれメイントラック１０５ａ、サブトラック１０５ｂに対向する位置に配置される。
【００５３】
メイントラック１０５ａは、パターン１，パターン２から構成される。パターン１からは位相の異なる２相信号としてセンサ信号１ａ，センサ信号１ｂが得られ、パターン２からは位相の異なる２相信号としてセンサ信号２ａ，センサ信号２ｂが得られる。
【００５４】
サブトラック１０５ｂは、パターン１＊，パターン２＊から構成され、パターン１＊からは位相の異なる２相信号（センサ信号１ａ＊、センサ信号１ｂ＊）、パターン２＊からも位相の異なる２相信号（センサ信号２ａ＊、センサ信号２ｂ＊）が得られる。パターン１とパターン１＊との間の周期は異なる。また、パターン２とパターン２＊との間の周期も異なる。サブトラック１０５ｂの方が、長い周期で形成される。
【００５５】
相対位置演算部１１３は、計８つのセンサ信号群に対してセンサ信号補正部１１１で信号補正処理を施した後、各々のパターンの２相信号間で逆正接変換を行い、４つの三角波信号ＡＴＡＮ信号１，ＡＴＡＮ信号２，ＡＴＡＮ信号１＊，ＡＴＡＮ信号２＊を算出する。相対位置演算部１１３で使用する相対位置検出信号は、ＡＴＡＮ信号１を利用する。２相信号は逆正接変換した信号であるため、２相信号の位相差に大きな変化がなければ位置精度として良好な信号が得られる。
【００５６】
４つの三角波信号の内、ＡＴＡＮ信号１とＡＴＡＮ信号１＊との間、およびＡＴＡＮ信号２とＡＴＡＮ信号２＊との間で再度逆正接変換を行うと、ＡＴＡＮ信号ＰＴＮ１およびＡＴＡＮ信号ＰＴＮ２が得られる。
【００５７】
ＡＴＡＮ信号ＰＴＮ１、ＡＴＡＮ信号ＰＴＮ２、およびＡＴＡＮ信号１の出力値を用いることで、相対位置検出信号（ＡＴＡＮ信号１）相当の分解能を持つ絶対位置検出信号を得ることができる。ＡＴＡＮ信号１の出力値は、上述した通り比較的ノイズの影響を受けにくい。しかし、ＡＴＡＮ信号ＰＴＮ１，ＡＴＡＮ信号ＰＴＮ２はパターンの異なるセンサ信号群から生成されるため、それらの出力値はＡＴＡＮ信号１に比べるとノイズの影響を受けやすい。すなわち、相対位置に比べて絶対位置の位置精度は悪化しやすいと考えられる。
【００５８】
次に図４を用いて、スケール１０５上のパターン異常を検出する手段について説明する。
【００５９】
図４は、スケール１０５の所定区間のおけるセンサ信号群の出力例を示す。各パターンのＢ相信号についての説明は省略する。
【００６０】
本実施例では、異常検出信号として、パターン１とパターン２との間にある領域（パターンＥｘ）（前記複数のパターンが形成されている領域とは異なる領域）からの反射光で得られるセンサ信号Ｅｘを得る。センサ信号Ｅｘは、他のセンサ信号同様に２相の信号からなる。サブトラック１０５ｂについても、異常検出信号として、同様にパターン１＊とパターン２＊との間にある領域（パターンＥｘ＊）からの反射光からセンサ信号Ｅｘ＊を得る。センサ信号Ｅｘ，Ｅｘ＊は、受光領域内のパターンが正常であれば一定値となり、パターン上の異物（ゴミや汚れなど）があればその面積の大小に応じて出力レベルが振れる。なお、本実施例におけるパターンＥｘ，Ｅｘ＊は、反射領域を持たないパターンとする。
【００６１】
例えば、スケール１０５上のサブトラック１０５ｂ内の地点Ａ，地点Ｂに異物があると仮定すると、各センサ出力として図４の下部に示すようなノイズ成分を含む信号が得られる。サブトラック１０５ｂ上のパターン異常なので、メイントラック１０５ａ側のセンサ信号１ａおよびセンサ信号２ａに影響はない。また、メイントラック１０５ａ側の異常検出信号であるセンサ信号Ｅｘは、パターン正常のため一定値を出力する。
【００６２】
一方、サブトラック１０５ｂ側では、地点Ａにおいては両パターンに跨って異物が存在するため、地点Ａにおいて反射率が変化し、サブトラック１０５ｂ側のセンサ信号１ａ＊、センサ信号２ａ＊の正弦波形が乱れ、ノイズが生じる。また、センサ信号Ｅｘ＊は地点Ａにおける異物面積に応じた振幅変動（ノイズ成分）が発生する。地点Ｂにおいてはパターン２＊にのみ異物が存在するため、センサ信号１ａ＊の正弦波形は正常となり、センサ信号２ａ＊の正弦波形は乱れる。センサ信号Ｅｘ＊は地点Ｂにおける異物面積に応じた振幅変動が発生する。地点Ａの方が地点Ｂよりも異物面積が大きいため、センサ信号Ｅｘ＊の振幅変動量は地点Ａの方が大きくなる。
【００６３】
図４に示す偏差電圧の閾値ＶｐＥｘ、Ｔｈにおいて、地点Ａの区間Ｑでは偏差電圧の閾値ＶｐＥｘ、Ｔｈを超える振幅変動が検出される。そのため、位置精度判定部１１５は、パターン上に異常があると判定し、位置情報として絶対位置を出力することを禁止し、代わりに相対位置を出力する。
【００６４】
次に、本実施例における位置検出装置の詳細な処理を図５、図６、および図７のフローチャートを用いて説明する。
【００６５】
まず、起動時の処理について、図５および図６を用いて説明する。
【００６６】
ステップＳ１０１では、フォーカス位置検出制御部１１７は、初期化処理を行う。フォーカス位置検出制御部１１７は、位置検出センサ１０４に電源電圧を印加して起動させ、最初に取得するパターンに対応する受光素子アレイを有効にする。フォーカス位置検出制御部１１７は、受光素子アレイ設定後からタイマカウントを開始する。また、フォーカス位置検出制御部１１７は、センサ信号補正部１１１や絶対位置演算部１１２や相対位置演算部１１３で使用する補正値又は演算係数を位置検出メモリ部１１６から読み出す。加えて、フォーカス位置検出制御部１１７は、位置精度判定部１１５で絶対位置の位置精度を判定するための判定閾値についても位置検出メモリ部１１６から読み出す。ステップＳ１０１の終了後、ステップＳ１０２へ遷移する。
【００６７】
ステップＳ１０２では、フォーカス位置検出制御部１１７は、読み取りパターン変更に伴う受光特性の出力安定待ち時間が経過したか否かを判定する。時間監視は、フォーカス位置検出制御部１１７のタイマカウントにて行われる。これにより、フォーカス位置検出制御部１１７は、所定時間経過したと判定するとステップＳ１０３へ遷移し、所定時間経過していないと判定すると一定時間待機後に再度ステップＳ１０２で判定処理を行う。
【００６８】
ステップＳ１０３では、フォーカス位置検出制御部１１７は、異常検出信号であるパターンＥｘ，Ｅｘ＊のセンサ信号をセンサ信号取得部１１０に取得させる。メイントラック１０５ａに形成されるパターンＥｘからはセンサ信号Ｅｘａ，Ｅｘｂの２相信号が、サブトラック１０５ｂに形成されるパターンＥｘ＊からはセンサ信号Ｅｘａ＊，Ｅｘｂ＊の２相信号が取得される。ステップＳ１０３の終了後、ステップＳ１０４へ遷移する。
【００６９】
ステップＳ１０４では、フォーカス位置検出制御部１１７は、センサ信号補正部１１１にて異常検出信号群（センサ信号Ｅｘａ，Ｅｘｂ，Ｅｘａ＊，Ｅｘｂ＊）の補正処理を行わせる。異常検出信号群の補正処理は、高調波成分除去のみを行う。ステップＳ１０４の終了後、ステップＳ１０５へ遷移する。
【００７０】
ステップＳ１０５では、異常検出部１１４からの異常検出信号群を用いて、フォーカス位置検出制御部１１７は位置精度判定部１１５に、スケール１０５上のパターンに異常があるか否かの処理を判定させる。具体的には、フォーカス位置検出制御部１１７は、予め測定した異常検出信号のオフセット電圧に対する偏差電圧Ｖｐを異常検出部１１４によって求め、位置精度判定部１１５によってパターン異常と判定する偏差電圧閾値ＶｐＥｘ，Ｔｈと比較する。位置精度判定部１１５は、偏差電圧Ｖｐが偏差電圧閾値ＶｐＥｘ，Ｔｈを超過する場合を異常であるとし、偏差電圧閾値ＶｐＥｘ，Ｔｈ以下の場合は正常と判定する。予め測定される異常検出信号のオフセット電圧および偏差電圧閾値ＶｐＥｘ，Ｔｈは、異常検出信号毎に別々の値としてもよいし、簡略化のために同一の値としてもよい。
【００７１】
本実施例のフォーカス位置検出制御部１１７は、オフセット電圧を異常検出信号毎に測定させ、偏差電圧閾値ＶｐＥｘ，Ｔｈについては一貫して１つの値を維持する。異常と判定された場合、ステップＳ１０６へ遷移し、正常と判定された場合、ステップＳ１０９へ遷移する。
【００７２】
ステップＳ１０５で起動時に絶対位置演算が不定（スケール１０５上のパターン異常）と判定されると、ステップＳ１０６においてフォーカス位置検出制御部１１７は、リカバリ動作要求をフォーカス制御部１０８へ出力する。この際、フォーカス位置検出制御部１１７は、仮の位置情報としてフォーカスレンズ１０２の実際の位置に関わらずに光学無限の位置情報を出力する。フォーカス制御部１０８にリカバリ動作要求が出力されると、その情報はレンズＣＰＵ１０１へ通達され、レンズＣＰＵ１０１がフォーカス制御部１０８へ駆動制御命令を発行し、この命令に基づいてリカバリ動作が実行される。ステップＳ１０６の終了後、ステップＳ１０７へ遷移する。
【００７３】
ステップＳ１０７では、フォーカス位置検出制御部１１７は、モードをリカバリモードへ移行する。リカバリモードでは絶対位置が定まっていない状態であるため、スケール１０５上のパターン異常である状態に変化がない限り、パターン２，２＊のセンサ信号を取得せずに高速処理が行われる。また、ステップＳ１０７において、フォーカス位置検出制御部１１７は、光学無限の位置情報を仮の基準位置として位置検出メモリ部１１６に記憶させる。
【００７４】
また、ステップＳ１０７において、受光素子アレイの読み取りパターンはパターンＥｘ，Ｅｘ＊からパターン１，１＊に切り替えられ、センサ信号取得部１１０はセンサ信号１ａ，１ｂ，１ａ＊，１ｂ＊を取得する。そして、センサ信号補正部１１１が取得したセンサ信号を補正し、相対位置演算部１１３が相対位置検出信号であるＡＴＡＮ信号１を演算して、相対位置検出信号の出力値を位置検出メモリ部１１６に記憶させる。ステップＳ１０７の終了後、後述のサブルーチンであるステップＳ２００へ遷移する。
【００７５】
ステップＳ２００における絶対値復帰動作によって絶対位置情報が確定すると、ステップＳ１０８において、フォーカス位置検出制御部１１７は、リカバリモードをクリアする。その後、ステップＳ１１２へ遷移する。
【００７６】
ステップＳ１０５でスケール１０５上にパターン異常が検出されないと判定された場合、ステップＳ１０９以降では、絶対位置演算部１１２および相対位置演算部１１３が相対位置および絶対位置を求め、位置情報としてフォーカス位置検出制御部１１７に出力する。具体的には以下の通りである。
【００７７】
ステップＳ１０９では、相対位置演算部１１３が相対位置演算を行う。受光素子アレイはパターン１，１＊に切り替えられ、センサ信号取得部１１０は受光特性が安定した後にセンサ信号１ａ，１ｂ，１ａ＊，１ｂ＊を取得する。センサ信号１ａ＊，１ｂ＊は、相対位置演算には必要ないが後段で絶対位置の算出に用いるため、ステップＳ１０９で取得する。そして、センサ信号補正部１１１が取得したセンサ信号群を補正し、相対位置演算部１１３がＡＴＡＮ信号１を演算する。
【００７８】
起動時において、相対位置は基準位置とみなせるため、次のステップＳ１１０の絶対位置演算にて相対位置も確定する。次回の相対変位量の演算のために、フォーカス位置検出制御部１１７は、ステップＳ１０９において相対位置検出信号であるＡＴＡＮ信号１の出力値を位置検出メモリ部１１６に記憶する。ステップＳ１０９の終了後、ステップＳ１１０へ遷移する。
【００７９】
ステップＳ１１０では、絶対位置演算部１１２が絶対位置演算を行う。受光素子アレイはパターン２，２＊に切り替えられ、センサ信号取得部１１０は受光特性が安定した後にセンサ信号２ａ，２ｂ，２ａ＊，２ｂ＊を取得する。絶対位置演算部１１２は、センサ信号補正部１１１が取得したセンサ信号群を補正し、ステップＳ１０９で補正したパターン１，１＊のセンサ信号群を用いて絶対位置検出信号を演算する。スケール１０５の貼り付け誤差や位置検出センサ１０４の取付け誤差などに起因して、算出された絶対位置検出信号は設計位置に対して誤差を持つ。そのため、フォーカスレンズ１０２の実際の位置と絶対位置検出信号との間の一定の関係を維持するために補正処理が必要となる。補正処理では、例えば、工場における調整時に位置検出メモリ部１１６に記憶しておいたフォーカスレンズ１０２の駆動可能域の端位置の絶対位置検出信号の出力値と設計的な端位置との差分が、ステップＳ１１０で算出された絶対位置検出信号に対して減算する。これにより上記誤差成分を除去でき、補正した値を絶対位置演算部１１２で算出した絶対位置とする。ステップＳ１０９の終了後、ステップＳ１１１へ遷移する。
【００８０】
ステップＳ１１１では、フォーカス位置検出制御部１１７は、位置検出メモリ部１１６に対してメモリアクセスを行う。具体的には、ステップＳ１１１で求めた絶対位置を絶対位置情報および基準位置として記憶し、またステップＳ１１０で求めた相対位置検出信号の出力値も記憶する。ステップＳ１１１の終了後、処理はステップＳ１１２へ遷移する。
【００８１】
ステップＳ１１２では、フォーカス位置検出制御部１１７は、絶対位置演算部１１２において算出された、位置精度が保証された絶対位置を位置情報として、フォーカス制御部１０８へ出力する。本処理実施により、起動時の位置検出装置としての処理は終了する。
【００８２】
次いで、図６（ａ）および図６（ｂ）を用いてサブルーチンとしてのステップＳ２００の絶対位置復帰動作の詳細について説明する。図６（ａ）のフローチャートにおける６ａ，６ｂ，６ｃは、それぞれ図６（ｂ）の６ａ，６ｂ，６ｃに接続される。
【００８３】
本実施例における絶対位置復帰動作は、フォーカスレンズ１０２を所定方向に駆動させ続けることで、絶対位置の位置精度を保証できるスケール１０５の位置を探索する動作である。所定量駆動しても位置精度が保証された絶対位置を探索できない場合、フォーカス制御部１０８は、フォーカス位置検出制御部１１７からの信号に応じて、フォーカスレンズ１０２を駆動可能域の端位置まで駆動させる。この駆動により、絶対位置検出信号が不定状態であっても、フォーカス位置検出制御部１１７は、位置検出メモリ部１１６に記憶される端位置の設計値を絶対位置および基準位置として確定する。絶対位置が確定した後、フォーカス制御部１０８は、ステップＳ２００開始時のフォーカスレンズ１０２の位置までフォーカス駆動用モータ１０３を駆動させる。ステップＳ２００は、ステップＳ２０１〜ステップＳ２２６で構成される。以下、ステップＳ２０１〜ステップＳ２２６について具体的に説明する。
【００８４】
ステップＳ２０１では、フォーカス位置検出制御部１１７は、リカバリ処理に関する初期化処理を実施する。初期化処理は、大きく分けて３つの処理からなる。
【００８５】
第一に、フォーカス位置検出制御部１１７は、リカバリ処理でフォーカスレンズ１０２を駆動する駆動量であるリカバリ駆動量のゼロクリアを行う。本実施例では、フォーカス位置検出制御部１１７は、リカバリ駆動量が所定量を上回った場合は、フォーカスレンズ１０２の駆動可能域の端位置で絶対位置を確定させる。本実施例では、駆動量に基づいて端位置での絶対位置の確定に切り替えるか否かを判断したが、フォーカスレンズ１０２の駆動時間に基づいて判断してもよい。
【００８６】
第二に、フォーカス位置検出制御部１１７は、リカバリ処理開始時のフォーカスレンズ１０２の位置からの駆動量を位置検出メモリ部１１６に記憶する。これは、絶対位置確定後にステップＳ２０１の開始時のフォーカスレンズ１０２の位置に戻すためである。具体的には、相対位置演算部１１３にて算出される相対位置検出信号を所定周期毎に算出し、その変位量を累積していくことでリカバリ処理中の駆動量を記憶する。
【００８７】
第三に、フォーカス位置検出制御部１１７は、フォーカスレンズ１０２の駆動方向を撮像素子２０３側か、不図示の被写体側かに設定する。本実施例では、フォーカス位置検出制御部１１７は、原則、被写体側に駆動方向を設定するが、状態に応じて設定する駆動方向を変更する。例えば、フォーカスレンズ１０２の駆動可能域の端位置における他部材との衝突・破損を危惧するのであれば、フォーカス位置検出制御部１１７は、端位置までの駆動余裕量が多い方向に駆動方向を設定してもよい。また、フォーカス位置検出制御部１１７は、より早いタイミングで端位置を検知するために、端位置までの駆動余裕量が少ない方向に駆動方向を設定してもよい。フォーカスレンズ１０２の現在位置を大まかに把握するために、フォーカス位置検出制御部１１７は、パターン２，２＊のセンサ信号群まで取得後、ＡＴＡＮ信号ＰＴＮ２の出力値を参考にして駆動方向を設定してもよい。この場合、例えば、ＡＴＡＮ信号ＰＴＮ２の出力値が所定値以上であれば被写体方向に、所定値未満であれば撮像素子２０３方向に設定する。
【００８８】
ステップＳ２０１の処理後、フォーカス位置検出制御部１１７は、フォーカス駆動用モータ１０３のリカバリ動作駆動を許可し、ステップＳ２０２へ遷移する。
【００８９】
ステップＳ２０２では、フォーカス位置検出制御部１１７は、リカバリ駆動量が所定量ＤｒｉｖｅＴｈを超過したかを判定する。さらに、フォーカス位置検出制御部１１７は、この判定に基づいて、フォーカスレンズ１０２の端位置を検出する駆動に切り替えるか否かを判断する。超過したと判定された場合はステップＳ２２５へ遷移し、超過していないと判定された場合はステップ２０３へ遷移する。
【００９０】
ステップＳ２０３では、フォーカス位置検出制御部１１７は、フォーカスレンズ１０２が駆動中か否かを判定する。この駆動状態の判定は、フォーカス制御部１０８がフォーカス駆動回路１０６に対して駆動信号を出力しているか否かに応じて行われる。フォーカス位置検出制御部１１７は、駆動中であると判定した場合はステップＳ２０４へ遷移し、駆動中でないと判定した場合はフォーカス駆動用モータ１０３に駆動を指示する信号を送り、駆動が開始されるまでステップＳ２０３にて再判定を行う。なお、本実施例において、フォーカス位置検出制御部１１７は、駆動中に位置精度を保証できる絶対位置を探索するが、より精度を上げるために微小駆動して停止した位置で位置精度が保証されるか否かを判定してもよい。
【００９１】
ステップＳ２０４では、フォーカス位置検出制御部１１７は、センサ信号取得部１１０よってセンサ信号群を取得する。ここで取得するセンサ信号群は、センサ信号１ａ，１ｂ，１ａ＊，１ｂ＊，Ｅｘａ，Ｅｘｂ，Ｅｘａ＊，Ｅｘｂ＊の８信号である。センサ信号１ａ，１ｂ，１ａ＊，１ｂ＊は、相対位置演算部１１３による相対位置検出信号に基づいて相対変位量を算出するために取得される。これにより、リカバリ駆動量の累積およびモータ１０３のフィードバック制御のための位置情報（位置変位量）をフォーカス制御部１０８へ出力することができる。ステップＳ２０４の終了後、ステップＳ２０５へ遷移する。
【００９２】
ステップＳ２０５では、フォーカス位置検出制御部１１７は、ステップＳ２０４にて取得したセンサ信号群についてセンサ信号補正部１１１に補正を行わせる。ステップＳ２０５の終了後、ステップＳ２０６へ遷移する。
【００９３】
ステップＳ２０６では、フォーカス位置検出制御部１１７は、異常検出信号群を用いて位置精度判定部１１５に、スケール１０５上のパターンに異常があるか否かを判定させる。すなわち、ステップＳ１０５と同様に、位置精度判定部１１５にて偏差電圧Ｖｐと偏差電圧閾値ＶｐＥｘ，Ｔｈとの比較処理が行われる。位置精度判定部１１５は、偏差電圧Ｖｐが偏差電圧閾値ＶｐＥｘ，Ｔｈを超過する場合を異常であるとし、偏差電圧閾値ＶｐＥｘ，Ｔｈ以下の場合は正常と判定する。異常と判定された場合はステップＳ２１９へ遷移し、正常と判定された場合はステップＳ２０７へ遷移する。なお、正常と判定された場合、フォーカス位置検出制御部１１７は、判定時の相対位置を一時的に位置検出メモリ部１１６に記憶する。
【００９４】
ステップ２０６でスケール１０５上のパターンが正常と判定された場合、ステップＳ２０７において、フォーカス位置検出制御部１１７は、フォーカス制御部１０８に対してフォーカス駆動用モータ１０３の駆動停止要求を出力する。ステップＳ２０７の終了後、ステップＳ２０８へ遷移する。
【００９５】
ステップＳ２０８では、フォーカス位置検出制御部１１７は、フォーカス駆動用モータ１０３の駆動が停止したか判定する。フォーカス駆動用モータ１０３の駆動が停止したか否かは、ステップＳ２０３と同様に、フォーカス制御部１０８がフォーカス駆動回路１０６に対して駆動信号を出力しているか否かに応じて判断される。フォーカス位置検出制御部１１７は、駆動が停止していると判定した場合はステップＳ２０９へ遷移し、駆動が停止していないと判定した場合はフォーカス駆動用モータ１０３の駆動が停止するまでステップＳ２０８において再判定を行う。
【００９６】
ステップＳ２０９では、フォーカス位置検出制御部１１７は、センサ信号取得部１１０にセンサ信号群を取得させる。取得するセンサ信号群はステップＳ２０４と同様である。ステップＳ２０９の終了後、処理はステップＳ２１０へ遷移する。
【００９７】
ステップＳ２１０では、フォーカス位置検出制御部１１７は、ステップＳ２０９にて取得したセンサ信号群に対してセンサ信号補正部１１１に補正を行わせる。ステップＳ２１０の終了後、ステップＳ２１１へ遷移する。
【００９８】
ステップＳ２１１では、フォーカス位置検出制御部１１７は、異常検出信号群を用いて位置精度判定部１１５に、スケール１０５上のパターンに異常があるか否かの判定を再度実施する。ステップＳ２０６で正常と判定された際のフォーカスレンズ１０２位置と実際に停止したフォーカスレンズ１０２位置とは異なるためである。ステップＳ２１１において、異常と判定された場合はステップＳ２１７へ遷移し、正常と判定された場合はステップＳ２１８へ遷移する。
【００９９】
ステップＳ２１２では、相対位置演算部１１３が相対位置演算を行う。この演算では、ステップＳ２０９にて取得したセンサ信号群を用いて相対位置検出信号を算出する。起動時において、相対位置は基準位置とみなせるため、次のステップＳ２１３の絶対位置演算にて相対位置も確定する。次回の相対変位量の演算のために、フォーカス位置検出制御部１１７は、ステップＳ２１２において相対位置検出信号であるＡＴＡＮ信号１の出力値を位置検出メモリ部１１６に記憶する。また、フォーカス位置検出制御部１１７は、ステップＳ２１５でフォーカスレンズ１０２をリカバリ処理開始時の位置に戻すために、ステップＳ２０１で定めた仮の基準位置に対する現在の相対位置を算出する。その変位量は、初期位置戻し駆動量として位置検出メモリ部１１６に記憶される。ステップＳ２１２の終了後、ステップＳ２１３へ遷移する。
【０１００】
ステップＳ２１３では、絶対位置演算部１１２が絶対位置演算を行う。受光素子アレイはパターン２，２＊に切り替えられ、センサ信号取得部１１０は受光特性が安定した後にセンサ信号２ａ，２ｂ，２ａ＊，２ｂ＊を取得する。絶対位置演算部１１２は、センサ信号補正部１１１が取得したセンサ信号群を補正し、ステップＳ２１０で補正したパターン１，１＊のセンサ信号群を用いて絶対位置検出信号を演算する。そして、絶対位置演算部１１２は、絶対位置検出信号に対してセンサ取付け誤差などによる設計値との誤差量を補正し、絶対位置を求める。ステップＳ２１３の終了後、ステップＳ２１４へ遷移する。
【０１０１】
ステップＳ２１４では、フォーカス位置検出制御部１１７は、位置検出メモリ部１１６に対してメモリアクセスを行う。具体的な処理はステップＳ１１０と同様であるため、説明を省略する。次に、処理はステップＳ２１５へ遷移する。
【０１０２】
ステップＳ２１５では、フォーカス位置検出制御部１１７は、リカバリ処理開始時のフォーカスレンズ１０２位置に戻すためにフォーカス制御部１０８に対して所定駆動量の駆動要求を出力する。所定駆動量は、ステップＳ２０１で記憶したリカバリ処理開始時の位置まで距離であり、ステップＳ２１２で位置検出メモリ部１１６に記憶した初期位置戻し駆動量である。ステップＳ２１５の終了後、ステップＳ２１６へ遷移する。
【０１０３】
ステップＳ２１６では、フォーカス位置検出制御部１１７は、ステップＳ２１５で出力した駆動要求に対する駆動が終了したか否かを判定する。この駆動状態の判定は、フォーカス制御部１０８がフォーカス駆動回路１０６に対して駆動信号を出力しているか否かに応じて行われる。フォーカス位置検出制御部１１７は、駆動が終了していると判定した場合はステップＳ２００の処理を終了し、駆動が終了していないと判定した場合はフォーカス駆動用モータ１０３の駆動が終了するまでステップＳ２１６の再判定を行う。
【０１０４】
ステップＳ２１７では、フォーカス位置検出制御部１１７は、ステップＳ２０７で駆動停止要求を出力してからステップＳ２０８で駆動が停止したと判定されるまでの減速駆動量を相対位置演算部１１３にて算出される相対変位量から算出する。ステップＳ２１７の処理は、ステップＳ２０６でスケール１０５上のパターン異常が検出されなかったにも関わらずにステップＳ２１１で再度異常が検出された場合に実施されるものである。すなわち、パターン異常が検出されなかったステップＳ２０６におけるフォーカスレンズ１０２の位置まで戻すために、フォーカス駆動用モータ１０３の停止要求を出力してから実際に停止するまでの減速駆動量が計算される。また、フォーカス位置検出制御部１１７は、リカバリ駆動量を、所定量ＤｒｉｖｅＴｈを算出した減速駆動量に書換える。これは、減速駆動量分を駆動中に端当て駆動に切り替わらないようにするためと、フォーカスレンズ１０２が同じ位置にあるにも関わらずにパターン異常検出結果が異なる場合に異常検出システムが正常に機能していないと判断するためである。ただし、本発明はこの形式に限定されない。ステップＳ２１７の終了後、ステップＳ２１８へ遷移する。
【０１０５】
なお、ステップＳ２１１を含める判定ブロックにて再帰的に判定が行われる場合はその都度センサ信号群を取得し、位置情報に関わる各種の演算を行う。これは図６に示す処理に限定されず、他図に示す処理についても同様である。
【０１０６】
ステップＳ２１８では、フォーカス位置検出制御部１１７は、ステップＳ２１７で求めた減速駆動量の駆動要求をフォーカス制御部１０８に対して出力する。ステップＳ２１８の終了後、ステップＳ２０２へ戻り、再度駆動中及び停止後にパターン異常判定が行われる。
【０１０７】
ステップＳ２２０からステップＳ２２４の処理は、所定量駆動しても絶対位置を保証できるフォーカスレンズ１０２の位置を検出できなかった場合、又は所定量駆動中にフォーカスレンズ１０２の駆動可能域の端位置に到達した場合の処理である。この処理により、端位置を検出し、異常検出部１１４の判定結果如何に依らず端位置の設計値で絶対位置を確定させる。
【０１０８】
ステップＳ２１９において、フォーカス位置検出制御部１１７は、フォーカスレンズ１０２が駆動可能域の端位置に到達したかを判定する。具体的には、フォーカス駆動用モータ１０３の駆動中にも関わらず位置検出センサ１０４から得られるセンサ信号群（パターンＥｘ，Ｅｘ＊の信号群は除く）の変化が無くなったか否かに応じて端位置に到達したかが判定される。
【０１０９】
センサ信号にはノイズが含まれるため、判定には所定量の変化が無くなったか否かで判定し、所定量の変化についてはリカバリ動作時のフォーカス駆動用モータ１０３の駆動速度から定まる。尚、本実施例では端位置到達判定に位置検出センサ１０４のセンサ信号群を利用したが、別途端位置を検出するリーフスイッチなどのセンサを用いてもよい。ステップＳ２１９において端位置に到達したと判定された場合、処理はステップＳ２２０に進み、端位置に到達していないと判定された場合、ステップＳ２０２へ遷移する。
【０１１０】
ステップＳ２２０では、フォーカス位置検出制御部１１７は、フォーカス制御部１０８に対してフォーカス駆動用モータ１０３の駆動停止要求を出力する。ステップＳ２２０の終了後、ステップＳ２２１へ遷移する。
【０１１１】
ステップＳ２２１では、フォーカス位置検出制御部１１７は、フォーカス駆動用モータ１０３の駆動が停止したか判定する。フォーカス駆動用モータ１０３の駆動が停止したか否かは、ステップＳ２０３と同様に、フォーカス制御部１０８がフォーカス駆動回路１０６に対して駆動信号を出力しているか否かで判断される。フォーカス位置検出制御部１１７は、駆動が停止していると判定した場合はステップＳ２２２へ遷移し、駆動が停止していないと判定された場合はフォーカス駆動用モータ１０３の駆動が停止するまでステップＳ２２１において再判定を行う。
【０１１２】
ステップＳ２２２では、フォーカス位置検出制御部１１７は、位置検出メモリ部１１６に対してメモリアクセスを行い、端位置の設計値上のフォーカスレンズ１０２の絶対位置を取得する。端位置が撮像素子２０３側か被写体側かの判別は、いずれかのセンサ信号群の位相関係やフォーカス駆動回路１０６に出力する駆動信号に基づいて行われる。ステップＳ２２２の終了後、ステップＳ２２３へ遷移する。
【０１１３】
ステップＳ２２３では、相対位置演算部１１３が、基準位置をステップＳ２２２で取得した端位置の設計値上の絶対位置として、現在位置におけるセンサ信号１ａ，１ｂから相対位置検出信号の出力値を求めることで相対位置を確定する。また、フォーカス位置検出制御部１１７は、ステップＳ２１２と同様に、ステップＳ２０１で定めた仮の基準位置に対する現在の相対位置を算出し、その変位量を初期位置戻し駆動量として位置検出メモリ部１１６に記憶する。ステップＳ２２３の終了後、ステップＳ２２４へ遷移する。
【０１１４】
ステップＳ２２４では、絶対位置演算部１１２が、演算処理を行わずにステップＳ２２２で取得した端位置の設計値上の絶対位置を絶対位置演算部１１２の出力値とすることで、絶対位置を確定する。ステップＳ２２４の終了後、ステップＳ２１４へ遷移する。
【０１１５】
ステップＳ２０２でリカバリ駆動量が所定量ＤｒｉｖｅＴｈを超過したと判定された場合、ステップＳ２２５では、フォーカス位置検出制御部１１７は、フォーカス制御部１０８に対して端当て駆動に変更する駆動要求を出力する。端当て駆動は、フォーカスレンズ１０２の駆動量を通常のストロークよりも大きな値とする。このとき、駆動方向は、現在の駆動方向を継続するか、予め設定した駆動方向に切り替えられる。また、端当て時に部材同士の衝突による衝撃力を抑えるために駆動速度は低速に変更される。印加電力に制限を設けて低い駆動トルクに変更しても良い。ステップＳ２２５の終了後、ステップＳ２２６へ遷移する。
【０１１６】
ステップＳ２２６では、フォーカス位置検出制御部１１７は、フォーカスレンズ１０２が駆動可能域の端位置に到達したかを判定する。判定方法は、ステップＳ２１９と同様である。ステップＳ２２６にてフォーカスレンズ１０２が端位置に到達したと判定された場合、ステップＳ２２０に遷移し、端位置に到達していないと判定された場合、端位置に到達するまでステップＳ２２６が繰り返される。
【０１１７】
以上で、起動時においてフォーカスレンズ１０２の位置精度が保証された絶対位置を求めることができる。起動位置において絶対位置検出機構による絶対位置の位置精度が保証できない場合、相対位置検出装置等による基準位置を定めるための駆動をすることで、位置検出装置としての位置精度を維持することができる。
【０１１８】
次いで、図７のフローチャートを用いて位置検出装置の起動動作後の処理フローを説明する。起動動作後においては、絶対位置および相対位置の双方が所定周期毎に算出され、絶対位置の位置精度が所定の水準よりも高いと判定すれば絶対位置が、所定の水準よりも低いと判定すれば相対位置が位置情報として出力される。
【０１１９】
ステップＳ３０１では、フォーカス位置検出制御部１１７は、位置検出センサ１０４の受光アレイのパターンをパターンＥｘ，Ｅｘ＊を受光するように切り替える。ステップＳ３０１の終了後、ステップＳ３０２へ遷移する。フォーカス位置検出制御部１１７は、パターン切替え後からタイマカウントを開始する。
【０１２０】
ステップＳ３０２では、フォーカス位置検出制御部１１７は、位置検出センサ１０４の受光パターン変更に伴う受光特性の出力安定待ち時間が経過したか否かを判定する。時間監視は、フォーカス位置検出制御部１１７のタイマカウントにて行われる。これにより、フォーカス位置検出制御部１１７は、所定時間経過したと判定するとタイマカウントを停止しカウントをクリアした後にステップＳ３０３へ遷移し、所定時間経過していないと判定すると一定時間待機後に再度ステップＳ３０２で判定処理を行う。
【０１２１】
ステップＳ３０３では、フォーカス位置検出制御部１１７は、異常検出信号であるパターンＥｘ，Ｅｘ＊のセンサ信号群をセンサ信号取得部１１０に取得させる。メイントラック１０５ａに形成されるパターンＥｘからはセンサ信号Ｅｘａ，Ｅｘｂの２相信号が、サブトラック１０５ｂに形成されるパターンＥｘ＊からはセンサ信号Ｅｘａ＊，Ｅｘｂ＊の２相信号が取得される。ステップＳ３０３の終了後、ステップＳ３０４へ遷移する。
【０１２２】
ステップＳ３０４では、フォーカス位置検出制御部１１７は、位置検出センサ１０４の受光アレイのパターンをパターンＥｘ，Ｅｘ＊からパターン１，１＊を受光するように切り替える。ステップＳ３０４の終了後、ステップＳ３０５へ遷移する。フォーカス位置検出制御部１１７は、パターン切替え後からタイマカウントを開始する。受光特性の出力安定待ちをする間に他の処理を実施するため、図７（ａ）および図７（ｂ）のフローチャートのように信号取得直後に受光アレイのパターンを切り替えることが好ましい。なお、図７（ａ）のフローチャートにおける７ａは、図７（ｂ）の７ａに接続される。
【０１２３】
ステップＳ３０５では、フォーカス位置検出制御部１１７は、センサ信号補正部１１１に異常検出信号群（センサ信号Ｅｘａ，Ｅｘｂ，Ｅｘａ＊，Ｅｘｂ＊）の補正処理を行わせる。異常検出信号群の補正処理として、高調波成分除去のみが行われる。ステップＳ３０５の終了後、ステップＳ３０６へ遷移する。
【０１２４】
ステップＳ３０６では、フォーカス位置検出制御部１１７は、異常検出部１１４からの異常検出信号群を用いて位置精度判定部１１５に、スケール１０５上のパターンに異常があるか否かを判定させる。具体的には、フォーカス位置検出制御部１１７は、予め測定した異常検出信号のオフセット電圧に対する偏差電圧Ｖｐを異常検出部１１４にて求め、位置精度判定部１１５によってパターン異常と判定する偏差電圧閾値ＶｐＥｘ，Ｔｈと比較する。位置精度判定部１１５は、偏差電圧Ｖｐが偏差電圧閾値ＶｐＥｘ，Ｔｈを超過する場合を異常であるとし、偏差電圧閾値ＶｐＥｘ，Ｔｈ以下の場合は正常と判定する。異常と判定された場合、処理はステップＳ３０８へ遷移し、正常と判定された場合、処理はステップＳ３０７へ遷移する。
【０１２５】
現在位置におけるスケール１０５上のパターンは正常と判定された場合、ステップＳ３０７において、フォーカス位置検出制御部１１７は、パターン異常検出フラグＥｒｒＥｘ，ＥｒｒＥｘ＊をクリアし０にする。ステップＳ３０７の終了後、ステップＳ３０９へ遷移する。
【０１２６】
現在位置におけるスケール１０５上のパターンは異常と判定された場合、ステップＳ３０８において、フォーカス位置検出制御部１１７は、パターン異常検出フラグＥｒｒＥｘ，ＥｒｒＥｘ＊を設定する。ＶｐＥｘ＞ＶｐＥｘ，Ｔｈの場合は、ＥｒｒＥｘを１とし、ＶｐＥｘ＊＞ＶｐＥｘ＊，Ｔｈの場合はＥｒｒＥｘ＊を１とする。すなわち、対応するパターンごとにフラグが設定され、パターン異常が検出されないトラックのフラグはクリアし０にする。ステップＳ３０８の終了後、処理はステップＳ３０９へ遷移する。
【０１２７】
ステップＳ３０９では、フォーカス位置検出制御部１１７は、ステップＳ３０４で実行した位置検出センサ１０４の受光パターン変更に伴う受光特性の出力安定の待ち時間が経過したか否かを判定する。これにより、フォーカス位置検出制御部１１７は、所定時間経過したと判定するとタイマカウントを停止しカウントをクリアした後にステップＳ３１０へ遷移し、所定時間経過していないと判定すると一定時間待機後に再度ステップＳ３０９で判定処理を行う。
【０１２８】
ステップＳ３１０では、フォーカス位置検出制御部１１７は、パターン１，１＊のセンサ信号群をセンサ信号取得部１１０に取得させる。メイントラック１０５ａに形成されるパターン１からはセンサ信号１ａ，１ｂの２相信号が、サブトラック１０５ｂに形成されるパターン１＊からはセンサ信号１ａ＊，１ｂ＊の２相信号が取得される。ステップＳ３１０の終了後、ステップＳ３１１へ遷移する。
【０１２９】
ステップＳ３１１では、フォーカス位置検出制御部１１７は、位置検出センサ１０４の受光アレイのパターンをパターン１，１＊からパターン２，２＊を受光するように切り替える。ステップＳ３１１の終了後、ステップＳ３１２へ遷移する。フォーカス位置検出制御部１１７は、パターン切替え後からタイマカウントを開始する。
【０１３０】
ステップＳ３１２では、フォーカス位置検出制御部１１７は、センサ信号補正部１１１にセンサ信号群（センサ信号１ａ，１ｂ，１ａ＊，１ｂ＊）の補正処理を行わせる。補正処理では、高調波成分除去、及び２相信号間の位相差・振幅量、オフセット変位の調整が行われる。ステップＳ３１２の終了後、サブルーチンとしてのステップＳ４００へ遷移する。
【０１３１】
ステップＳ４００では、フォーカス位置検出制御部１１７は、相対位置演算部１１３にフォーカスレンズ１０２の現在位置における相対位置算出を行わせる。まず、相対位置演算部１１３は、ステップＳ３１２で補正処理を施したセンサ信号１ａ，１ｂに対して逆正接変換を行い、相対位置検出信号であるＡＴＡＮ信号１を演算する。次に、相対位置演算部１１３は、位置検出メモリ部１１６にアクセスし、前回の周期の相対位置検出信号および相対位置を取得し、相対位置検出信号の前回と今回との差分値を演算する。このとき、相対位置演算部１１３は、前回と今回とでＡＴＡＮ信号の三角波の周期の山が異なっていたらその分を加味した上で差分演算を行う。差分結果と前回の相対位置を加算することで、現在位置における相対位置が算出される。ステップＳ４００の終了後、ステップＳ３１３へ遷移する。
【０１３２】
ステップＳ３１３では、フォーカス位置検出制御部１１７は、ステップＳ３１１で実行した位置検出センサ１０４の受光パターン変更に伴う受光特性の出力安定の待ち時間が経過したか否かを判定する。これにより、フォーカス位置検出制御部１１７は、所定時間経過したと判定するとタイマカウントを停止しカウントをクリアした後にステップＳ３１４へ遷移し、所定時間経過していないと判定すると一定時間待機後に再度ステップＳ３１３で判定処理を行う。
【０１３３】
ステップＳ３１４では、フォーカス位置検出制御部１１７は、パターン２，２＊のセンサ信号群をセンサ信号取得部１１０に取得させる。メイントラック１０５ａに形成されるパターン１からはセンサ信号２ａ，２ｂの２相信号が、サブトラック１０５ｂに形成されるパターン２＊からはセンサ信号２ａ＊，２ｂ＊の２相信号が取得される。ステップＳ３１４の終了後、ステップＳ３１５へ遷移する。
【０１３４】
ステップＳ３１５では、フォーカス位置検出制御部１１７は、位置検出センサ１０４の受光アレイのパターンをパターン２，２＊からパターンＥｘ，Ｅｘ＊を受光するように切り替える。ステップＳ３１５の終了後、ステップＳ３１６へ遷移する。フォーカス位置検出制御部１１７は、パターン切替え後からタイマカウントを開始する。
【０１３５】
ステップＳ３１６では、フォーカス位置検出制御部１１７は、センサ信号補正部１１１にセンサ信号群（センサ信号２ａ，２ｂ，２ａ＊，２ｂ＊）の補正処理を行わせる。補正処理では、高調波成分除去、及び２相信号間の位相差・振幅量、オフセット変位の調整が行われる。ステップＳ３１６の終了後、サブルーチンとしてのステップＳ５００へ遷移する。
【０１３６】
ステップＳ５００では、フォーカス位置検出制御部１１７は、絶対位置演算部１１２にフォーカスレンズ１０２の現在位置における絶対位置算出を行わせる。まず、絶対位置演算部１１２は、ステップＳ３１２およびステップＳ３１６で補正処理を施したセンサ信号群に対して逆正接変換を行い、図３に示すような信号処理を経て絶対位置検出信号を演算する。次に、絶対位置演算部１１２は、絶対位置検出信号に対してセンサ取付け誤差による設計値からの誤差の補正処理を行い、フォーカスレンズ１０２の現在位置における絶対位置を取得する。ステップＳ５００の終了後、ステップＳ３１７へ遷移する。
【０１３７】
ステップＳ３１７では、フォーカス位置検出制御部１１７は、パターン異常検出フラグＥｒｒＥｘ，ＥｒｒＥｘ＊の判定を行う。いずれかのフラグが１に設定されている場合、フォーカス位置検出制御部１１７は、フォーカスレンズ１０２の現在位置においてパターン異常が検出されたと判断し、ステップＳ３２６へ遷移する。いずれのフラグも１に設定されていない場合、フォーカス位置検出制御部１１７は、フォーカスレンズ１０２の現在位置においてパターン異常が検出されていないと判断し、ステップＳ３１８へ遷移する。
【０１３８】
ステップＳ３１８では、フォーカス位置検出制御部１１７は、位置精度判定部１１５に所定時間内における絶対位置変位量ΔＡＢＳと相対位置変位量ΔＲＥＬとの差分値について判定を行わせる。位置精度判定部１１５は、差分値の絶対値が閾値ΔＤｉｆｆＴｈを超過するのであれば絶対位置を正常に演算できていないと判定し、ステップＳ３２５へ遷移する。また、位置精度判定部１１５は、差分値の絶対値が閾値ΔＤｉｆｆＴｈ以下であれば、絶対位置を正常に演算できていると判定し、ステップＳ３１９へ遷移する。なお、前回の判定においてパターン異常が検出されていた場合は前回の絶対位置は定まっていないため、フォーカス位置検出制御部１１７は、位置精度判定部１１５による今回の判定を実施せずにステップＳ３２５へ遷移する。
【０１３９】
ステップＳ３１９では、フォーカス位置検出制御部１１７は、ΔＡＢＳとΔＲＥＬとの差分値の判定による絶対位置演算異常フラグＥｒｒＤｉｆｆをクリアし０にする。絶対位置演算異常フラグＥｒｒＤｉｆｆが０であることは、位置精度判定部１１５が絶対位置演算部１１２にて算出される絶対位置の位置精度が保証されていること示し、この場合は位置情報として絶対位置を出力することが許可される。ステップＳ３１９の終了後、ステップＳ３２０へ遷移する。
【０１４０】
ステップＳ３２０では、フォーカス位置検出制御部１１７は、ステップＳ４００とステップＳ５００で算出されたフォーカスレンズ１０２の相対位置ＲＥＬと絶対位置ＡＢＳとの差分をとり、閾値ＤｅｖＴｈに対して偏差の大小を判定する。フォーカス位置検出制御部１１７は、｜ＡＢＳ−ＲＥＬ｜が閾値ＤｅｖＴｈを超過したと判定されるとステップＳ３２３へ遷移し、閾値ＤｅｖＴｈ以下と判定されるとステップＳ３２１へ遷移する。
【０１４１】
本実施例のように絶対位置検出と相対位置検出とで同一のセンサ・スケールを用いる場合と異なり、別個のセンサ・スケールで構成された場合では、素子の取付け精度などによって絶対位置と相対位置の算出結果に偏差が発生する可能性がある。また、本実施例のような構成要素でも絶対位置と相対位置との演算工程の違いから、僅かながら偏差が発生する可能性がある。偏差を有していると、出力する位置情報を相対位置から絶対位置（もしくはその逆）に入れ替えた場合に当該偏差により位置検出が不連続となってしまう。そのため、フォーカス駆動用モータ１０３のフィードバック制御や各種の制御が不安定となるおそれがある。また、この偏差は累積されるため、必要に応じて偏差をなくす、つまり相対位置を修正（基準位置を再設定）する必要がある。
【０１４２】
そこで、フォーカス位置検出制御部１１７は、ステップＳ３２０においてその偏差量の判定を行う。本実施例では、ステップＳ３１８における位置精度判定部１１５の判定により、絶対位置演算部１１２にて算出された絶対位置の位置精度が保証されている。そのため、偏差が閾値ＤｅｖＴｈを超過した場合、後述するステップＳ３２３やステップＳ３２４でなく、構成や用途に応じて絶対位置を相対位置に合わせて修正してもよい。
【０１４３】
ステップＳ３２１では、フォーカス位置検出制御部１１７は、位置検出メモリ部１１６に対してメモリアクセスを行う。具体的には、絶対位置演算部１１２にて算出された絶対位置、相対位置演算部１１３にて算出された相対位置、相対位置検出信号、パターン異常検出フラグＥｒｒＥｘ，ＥｒｒＥｘ＊、絶対位置演算異常フラグＥｒｒＤｉｆｆが位置検出メモリ部１１６へ記憶される。ステップＳ３２１の終了後、ステップＳ３２２へ遷移する。
【０１４４】
ステップＳ３２２では、フォーカス位置検出制御部１１７は、絶対位置演算部１１２にて算出された絶対位置を位置情報としてフォーカス制御部１０８に対して出力する。この処理により、フォーカスレンズ１０２の位置の検出および演算を行い、位置精度が保証された位置情報を出力するシーケンスが終了する。フォーカス位置検出部１０７は、交換レンズ１００が通電状態である限り、このシーケンスを所定時間の周期で繰り返す。
【０１４５】
ステップＳ３１８において偏差量が閾値ＤｅｖＴｈを超過すると判定された場合、フォーカス位置検出制御部１１７は、ステップＳ３２３において基準位置を再設定する。具体的には、フォーカス位置検出制御部１１７は、ステップＳ５００で算出した絶対位置ＡＢＳを基準位置とする。ステップＳ３２３の終了後、ステップＳ３２４へ遷移する。
【０１４６】
ステップＳ３２４では、フォーカス位置検出制御部１１７は、ステップＳ４００で算出したフォーカスレンズ１０２の相対位置ＲＥＬを再設定する。具体的には、フォーカス位置検出制御部１１７は、相対位置ＲＥＬをステップＳ３２３で設定した基準位置に更新する。相対位置検出信号は、ステップＳ４００にて算出した値から変更せず維持される。ステップＳ３２４の終了後、ステップＳ３２１へ遷移する。
【０１４７】
ステップＳ３２５では、フォーカス位置検出制御部１１７は、ステップＳ３１８の位置精度判定部１１５によるΔＡＢＳとΔＲＥＬとの差分値の判定に応じて絶対位置演算異常フラグＥｒｒＤｉｆｆを１に設定する。これにより、絶対位置演算部１１２にて算出された絶対位置は正確性を欠くとして、絶対位置を位置情報として出力することが禁止される。ステップＳ３２５の終了後、ステップＳ３２６へ遷移する。
【０１４８】
ステップＳ３２６では、フォーカス位置検出制御部１１７は、位置検出メモリ部１１６に対してメモリアクセスを行う。具体的には、絶対位置演算部１１２にて算出された絶対位置、相対位置演算部１１３にて算出された相対位置、相対位置検出信号、パターン異常検出フラグＥｒｒＥｘ、ＥｒｒＥｘ＊、絶対位置演算異常フラグＥｒｒＤｉｆｆを位置検出メモリ部１１６へ記憶する。ステップＳ３２６の終了後、ステップＳ３２７へ遷移する。
【０１４９】
ステップＳ３２７では、フォーカス位置検出制御部１１７は、相対位置演算部１１３にて算出された相対位置を位置情報としてフォーカス制御部１０８に対して出力する。この処理により、フォーカスレンズ１０２の位置の検出および演算を行い、位置精度が保証された位置情報を出力するシーケンスが終了する。フォーカス位置検出部１０７は、交換レンズ１００が通電状態である限り、このシーケンスを所定時間の周期で繰り返す。
【０１５０】
以上の処理により、起動動作後の位置検出において、絶対位置検出装置による位置精度が悪化したとしても適切な位置情報を提供できる。
【０１５１】
また、絶対位置ＡＢＳと相対位置ＲＥＬの差分値の判定は、図７に示した処理から、フォーカス駆動用モータ１０３の駆動中か否かにより条件をさらに細分化することができる。その一例を、図８を用いて説明する。図８のフローチャートは、図７と同様に位置検出装置の起動動作後の処理フローを示すものであり、図７と同一の処理については同じステップ番号を振り分け、そのステップの説明は省略する。なお、図８のフローチャートにおける７ａは、図７（ａ）の７ａに接続される。すなわち、ステップＳ３０１からステップＳ５００までのフローは、上述の図７（ａ）を用いて説明したフローと同じである。
【０１５２】
図８でのフローチャートでは、絶対位置ＡＢＳと相対位置ＲＥＬとの偏差量の判定に用いる閾値として、フォーカス駆動用モータ１０３が停止しているか否かで２種類の値ＤｅｖＤｒｉｖｅ，Ｔｈ，ＤｅｖＳｔｏｐ，Ｔｈを使用する。
【０１５３】
上述したように本実施例の絶対位置を算出する構成において、位置検出センサ１０４における受光部のパターンの切り替えにより待ち時間が発生する。そのため、フォーカス駆動用モータ１０３の駆動速度に応じて、絶対位置が相対位置に対してずれる。そこで、図８による処理では、フォーカス駆動用モータ１０３の駆動中はパターン切り替え時の駆動による絶対位置ズレを考慮した大きな値を閾値ＤｅｖＤｒｉｖｅ，Ｔｈとし、停止中はそれよりも小さな値を閾値ＤｅｖＳｔｏｐ，Ｔｈとする。例えば、最小検出単位を１パルスとした場合、ＤｅｖＳｔｏｐ，Ｔｈ＝２パルスとする。これにより、停止時に偏差の累積が解消される。
【０１５４】
仮に、センサ信号補正部１１１や絶対位置演算部１１２にて誤補正や誤演算が発生したとしても停止中に必ず検出でき、また駆動中であったとしてもパターン切り替え時の駆動による絶対位置のズレ量を考慮した閾値を上回る偏差が発生した場合は検出できる。従って、パターン切り替え時の駆動による絶対位置のズレを抑え込む（例えばパターン切替え時間短縮や切り替え時間を考慮した精度の高い速度補償など）ことで駆動中であってもより正確にズレを検出することが可能となる。
【０１５５】
ステップＳ３２８では、フォーカス位置検出制御部１１７は、フォーカス駆動用モータ１０３が現在駆動中か否かを判定する。この判定によって、２種類ある偏差判定の閾値のいずれを使用するかが決定される。フォーカス駆動用モータ１０３が駆動中であればステップＳ３３０へ遷移し、駆動中でなければステップＳ３２９へ遷移する。なお、本実施例ではステップＳ３２８において駆動中か否かを判定する場合について説明するが、駆動速度に応じて判定してもよい。駆動速度が低速の場合は、パターン切り替えに伴う絶対位置のズレの影響はほぼ無視できる。
【０１５６】
ステップＳ３２９では、フォーカス位置検出制御部１１７は、偏差判定の閾値としてＤｅｖＳｔｏｐ，Ｔｈを使用する。そして、この閾値により、ステップＳ４００によるフォーカスレンズ１０２の相対位置ＲＥＬとステップＳ５００によるフォーカスレンズ１０２の絶対位置ＡＢＳとの偏差について判定を行う。｜ＡＢＳ−ＲＥＬ｜が閾値ＤｅｖＳｔｏｐ，Ｔｈを超過したと判定された場合、ステップＳ３２３へ遷移し、閾値ＤｅｖＳｔｏｐ，Ｔｈ以下と判定された場合はステップＳ３２１へ遷移する。
【０１５７】
ステップＳ３３０では、フォーカス位置検出制御部１１７は、偏差判定の閾値としてＤｅｖＤｒｉｖｅ，Ｔｈを使用する。そして、この閾値により、ステップＳ４００によるフォーカスレンズ１０２の相対位置ＲＥＬとステップＳ５００によるフォーカスレンズ１０２の絶対位置ＡＢＳとの偏差について判定を行う。｜ＡＢＳ−ＲＥＬ｜が閾値ＤｅｖＤｒｉｖｅ，Ｔｈを超過したと判定された場合、ステップＳ３３１へ遷移し、閾値ＤｅｖＤｒｉｖｅ，Ｔｈ以下と判定される場合はステップＳ３２１へ遷移する。
【０１５８】
ステップＳ３３１では、フォーカス位置検出制御部１１７は、位置検出メモリ部１１６に現在の相対位置検出信号を記憶させる。フォーカス位置検出制御部１１７は、ステップＳ３３１から、ステップＳ３３３でフォーカス駆動用モータ１０３の停止が判定されるまでのフォーカスレンズ１０２の移動量を相対位置演算部１１３によって得られる相対位置検出信号の変位量から算出する。これは、停止した位置で絶対位置の位置精度が保証されない場合、ステップＳ３３１で記憶した位置からの相対位置を算出するためである。ステップＳ３３１の終了後、ステップＳ３３２へ遷移する。
【０１５９】
ステップＳ３３２では、フォーカス位置検出制御部１１７は、フォーカス制御部１０８に対してフォーカス駆動用モータ１０３の駆動停止要求を出力する。ステップＳ３３２の終了後、ステップＳ３３３へ遷移する。
【０１６０】
ステップＳ３３３では、フォーカス位置検出制御部１１７は、フォーカスレンズ１０２が停止したか否かを判定する。この判定は、フォーカスレンズ１０２が停止したか否かはセンサ信号群に基づいて行われる。ステップＳ３３３で停止していると判定された場合は位置精度が保証された絶対位置を検出するために上述サブルーチンであるステップＳ２００の絶対位置復帰動作へ遷移し、停止していないと判定された場合はステップＳ３３２へ遷移する。
【０１６１】
ステップＳ２００では、ステップＳ３３１で記憶した位置が絶対位置の位置精度を保証できる可能性が高い。そのため、駆動方向および駆動量は、ステップＳ３３１で記憶した相対位置検出信号から逆算され、サブルーチン内の処理に用いられる。ステップＳ２００の終了後に絶対位置演算部１１２よって算出される絶対位置は位置精度が保証されたものとなり、また、このときの相対位置も位置精度が保証された位置を基準位置とした位置情報となる。従って、双方の位置精度が保証される。ステップＳ２００の終了後、ステップＳ３２１へ遷移する。
【０１６２】
以上、図８で示したように、絶対位置と相対位置との偏差を用いて絶対位置の位置精度が所定の水準よりも高いか否かを判定する際にフォーカスレンズ１０２が駆動中か否かに応じて閾値を可変的に設定することで、より精度の高い位置情報を提供できる。なお、ステップＳ３１８での所定時間内における絶対位置変位量ΔＡＢＳと相対位置変位量ΔＲＥＬとの差分値の判定に用いる閾値についても、同様にフォーカスレンズ１０２が駆動中か否かに応じて当該閾値を切り替えることとしてもよい。
【実施例２】
【０１６３】
図９は、本発明の実施例として、位置検出装置を搭載した交換レンズ１００と、該交換レンズ１００が着脱可能に装着されるカメラボディ２００から構成されるカメラシステムの構成を示す。以下、実施例１と共通する部分については説明を省略する。
【０１６４】
実施例２の構成は、撮影者の手ブレの補正に関する構成を実施例１の構成に追加したものである。ブレ補正レンズ１１８は、撮影者の手ブレを補正する光学系である。加速度センサ１１９（振動検出手段）は、交換レンズ１００に加わる傾きや衝撃を３軸方向で検出できる。ブレ補正制御部１２０は、加速度センサ１１９から加速度信号を取得し、取得した信号から被写体ブレを抑制するようにブレ補正レンズ１１８の移動量を算出する。ブレ補正駆動回路１２１およびブレ補正用モータ１２２は、ブレ補正レンズ１１８を駆動する。
【０１６５】
実施例２において、算出された絶対位置の位置精度を判定する位置精度判定部１１５は、実施例１で説明した処理に加え、絶対位置の予測と、絶対位置変位量と相対位置変位量との差分値を用いた判定を行うかを制御する判定制御を行う。本実施例では、絶対位置演算部１１２で算出された絶対位置を位置検出メモリ部１１６に逐次に記憶する。絶対位置の予測は、前回までの絶対位置の軌跡情報に基づいて行われる。差分値の判定制御は、位置検出装置に加わる外力の大きさに応じて行われる。
【０１６６】
外力の大きさは、加速度センサ１１９を用いて観測される。ブレ補正制御部１２０は、加速度センサ１１９にて検出された加速度信号を取得し、外力に対して光軸方向のベクトルの大きさを算出し、算出された値をフォーカス位置検出部１０７へ出力する。
【０１６７】
以上の様に、実施例２では交換レンズ１００に設けられた加速度センサ１１９によりフォーカスレンズ１０２に加わる外力を観測するが、フォーカスレンズ１０２固有の外力検出センサを用いてもよい。また、カメラボディ２００内の外力検出機構（例えば加速度検知や振動検知、角速度検知など）によって外力を検出し、検出された外力を示す信号をフォーカス位置検出部１０７へ通信ユニットを経由して出力してもよい。
【０１６８】
図１０を用いて、前回までの絶対位置の軌跡情報に基づく絶対位置の予測について説明する。図１０のグラフは、横軸を時間、縦軸をフォーカスレンズ１０２の位置とする。
【０１６９】
図１０の左のグラフは、フォーカス駆動用モータ１０３の加減速プロファイルを示し、動き出しから最高速に至るまでの加速区間、最高速度で速度一定となる定速区間、最高速度から速度を落とし停止するまでの減速区間の３区分に分類されている。図１０の右グラフは、絶対位置の軌跡情報の一例を示している。グラフ上のプロットは、所定周期毎に算出される絶対位置の軌跡である。条件を簡略化するために、プロットされた絶対位置は位置精度が保証されたものであるとする。時間Ｔｎｏｗにて算出された絶対位置をＰｏｓｉｎｏｗとしたときに、この絶対位置が位置精度を保証するか否かについて説明する。
【０１７０】
まず、位置精度判定部１１５は、時間Ｔｎｏｗ−１までの絶対位置の軌跡（駆動軌跡）から、時間Ｔｎｏｗの駆動状態がフォーカス駆動用モータ１０３の加減速プロファイルのどこの区分にあたるかを推定する。駆動命令に応じてフォーカスレンズ１０２を駆動する最高速度は異なるため、速度を計測してもどの区分にあたるかは推測できない。そこで、位置精度判定部１１５は、駆動軌跡に定速区間が発生していないかを探索する。
【０１７１】
駆動軌跡において定速区間が発生しているのであれば、位置精度判定部１１５は、加減速プロファイルの定速区間を駆動軌跡に合せ込む。時間Ｔｎｏｗの駆動状態は、定速区間が時間Ｔｎｏｗ−１まで継続していれば定速区間か減速区間に限定され、継続していなければ減速区間に限定される。
【０１７２】
また、駆動軌跡に定速区間が発生していないのであれば、時間Ｔｎｏｗの駆動状態は、加速区間か定速区間に限定される。この場合は、加減速プロファイルをいくらかの領域に分割し、それぞれを回転や伸縮させながら駆動軌跡との対応点を求めることで、時間Ｔｎｏｗの駆動状態を導くことができる。
【０１７３】
図１０において時間Ｔｎｏｗ−１は定速状態であるため、時間Ｔｎｏｗの駆動状態は定速区間か減速区間であると推定できる。ここで図１０において２点鎖線で囲んだ図は、加減速プロファイルを基に、時間Ｔｎｏｗにおける時間Ｔｎｏｗ−１の絶対位置Ｐｏｓｉｎｏｗ−１からの予測軌跡を示す。点線は、時間Ｔｎｏｗの駆動状態が定速である場合と減速である場合との両方についての予測軌跡（Ｃｏｎｓｔ．Ｐｒｅｄｉｃｔ，Ｄｅｃｅｌ．Ｐｒｅｄｉｃｔ）を表している。また、フォーカス駆動用モータ１０３はフィードバック制御であるため、制御起因による速度ばらつき分をマージンとして示している。
【０１７４】
位置精度判定部１１５は、時間Ｔｎｏｗにおいて算出された絶対位置が図中の区間Ｘ（Ｉｎｔｅｒｖａｌ  Ｘ）内に収まっていれば駆動軌跡の予測範囲内の算出結果であると判断し、絶対位置の位置精度が保証されると判定する。
【０１７５】
ここでは、最も簡単な一例を説明したが、定速区間からの再加速などの状態も考えられる。このような場合については、フォーカス制御部１０８から駆動変更処理を抽出することで対応できる。また、上記説明では位置精度判定部１１５によって加減速状態を推定したが、この情報をフォーカス制御部１０８から得てもよい。
【０１７６】
次に、位置検出装置に加わる外力の大きさに応じて、所定時間内における絶対位置変位量と相対位置変位量の差分値の判定を禁止する処理について説明する。
【０１７７】
一般的に、フォーカスレンズが停止状態であっても、アクチュエータに対して通電がなされていれば保持トルクが駆動対象に働く。そのため、外から強い衝撃を受けたとしても、通常は駆動対象としてのフォーカスレンズ１０２は動かない。しかし、想定以上の衝撃（例えば、遠心運動や高所からの落下など）によって外力が保持トルクを上回ることがあり、このような場合は相対位置検出システムが破綻する可能性がある。
【０１７８】
相対位置検出は、所定周期で繰り返される信号（相対位置検出信号）の変位量から算出されるものであり、位置更新周期内に所定間隔を上回るような変位量が発生しない前提の下で成り立っている。上述の想定しない外力を受けたケースにおいては、相対位置検出システムの前提が覆されるおそれがある。このような状態では差分値の判定に基づく絶対位置の位置精度の判定は、正確でない。そのため、位置精度判定部１１５は、閾値以上の外力が検知された後、基準位置が再設定されるまでの間は、所定時間内における絶対位置変位量と相対位置変位量の差分値の判定を行わない（当該判定が禁止させる）。本実施例では、外力を検知する閾値と、光軸方向に加わるフォーカス駆動用モータ１０３の保持トルクを超える力とを比較する。厳密には静止摩擦力と動摩擦力の違い、温度による変化があり、また、フォーカスレンズ１０２の現在の駆動方向に応じて保持トルクの値も異なるため、これらの状態に応じた厳密に比較してもよい。
【０１７９】
次に、図１１のフローチャートを用いて、実施例２における位置検出装置の起動動作後の処理フローについて説明する。実施例１と重複するステップ等については説明を省略する。なお、図１１のフローチャートにおける７ａは、図７（ａ）の７ａに接続される。すなわち、ステップＳ３０１からステップＳ５００までのフローは、実施例１において図７（ａ）を用いて説明したフローと同じである。
【０１８０】
図１１のフローチャートにおける最終的な処理は、位置精度判定部１１５の判定結果に応じて、位置情報として絶対位置を出力する場合、位置情報として相対位置を出力する場合、停止要求を出力しリカバリ処理を実施する場合の３パターンに分かれる。外力の検知で問題なく、かつ、いずれの判定においても算出された絶対位置の位置精度が保証された場合のみ絶対位置が出力される。外力の検知で問題はないが、いずれかの判定で算出された絶対位置の位置精度が低いと判定された場合は、相対位置が出力される。外力の検知で閾値以上と判定された場合は、他の判定で問題なければ絶対位置が出力され、いずれかの判定で問題があればリカバリ処理が実施される。
【０１８１】
サブルーチンとしてのステップＳ５００からステップＳ３４０に遷移すると、フォーカス位置検出制御部１１７は、外力判定を行う。フォーカス位置検出制御部１１７は、交換レンズ１００に加わった外力を加速度センサ１１９で検出することで、検出された信号からブレ補正制御部１２０に光軸方向のベクトルＶｓｗｉｎｇを抽出させフォーカス位置検出部１０７へ出力させる。フォーカス位置検出部１０７内の位置精度判定部１１５は、予め位置検出メモリ部１１６に記憶しておいた外力閾値Ｖｓｗｉｎｇ，Ｔｈと比較処理を行い、閾値を超過していればステップＳ３４１へ遷移し、閾値以下であればステップＳ３１７へ遷移する。
【０１８２】
ステップＳ３４１では、フォーカス位置検出制御部１１７は、光軸方向に閾値以上の外力が検知されたとして相対位置を位置情報として出力することを禁止するため、相対位置ＲＥＬ出力禁止フラグＰｒｏｈｉｂｉｔＲＥＬを１に設定する。ステップＳ３４１の終了後、ステップＳ３１７へ遷移する。
【０１８３】
検知された外力が閾値を超えなかった場合、ステップＳ３４２において、フォーカス位置検出制御部１１７は、図１０で説明した絶対位置の駆動軌跡予測を行う。絶対位置演算部１１２で算出された絶対位置が予測範囲としての区間Ｘに含まれている場合は、位置精度判定部１１５が絶対位置の位置精度が保証されていると判断し、ステップＳ３４３へ遷移する。算出された絶対位置が区間Ｘ外に存在する場合は、ステップＳ３４５へ遷移する。
【０１８４】
ステップＳ３４３では、フォーカス位置検出制御部１１７は、相対位置出力禁止フラグＰｒｏｈｉｂｉｔＲＥＬの状態判定を行う。相対位置出力禁止フラグＰｒｏｈｉｂｉｔＲＥＬが１である場合は差分値の判定を行わないステップＳ３２０へ遷移し、０である場合は差分値の判定を行うステップＳ３１８へ遷移する。
【０１８５】
なお、相対位置出力禁止フラグＰｒｏｈｉｂｉｔＲＥＬが０となるのは、パターン異常検出、駆動軌跡予測判定共に正常であると判定されたときである。そのため、このときに算出された絶対位置は、位置精度が保証されたものである。よって、仮に外力によって相対位置がずれてもステップＳ３２３，Ｓ３２４で相対位置が再設定されるため、今回の周期の終了後は位置精度の保証された相対位置を算出することができる。
【０１８６】
処理がステップＳ３２０又はステップＳ３２４からステップＳ３４４へ遷移すると、フォーカス位置検出制御部１１７は、相対位置出力禁止フラグＰｒｏｈｉｂｉｔＲＥＬをクリアし０にする。上述したように、ステップＳ３４４にて位置精度の保証された相対位置が得られる。これにより、相対位置の出力禁止状態を解除することができる。ステップＳ３４４の終了後、ステップＳ３２１へ遷移する。
【０１８７】
処理がステップＳ３１７又はステップＳ３４２からステップＳ３４５へ遷移すると、フォーカス位置検出制御部１１７は、相対位置出力禁止フラグＰｒｏｈｉｂｉｔＲＥＬの状態判定を行う。相対位置ＲＥＬ出力禁止フラグＰｒｏｈｉｂｉｔＲＥＬが１である場合は相対位置出力が禁止されているのでステップＳ３４６へ遷移し、０である場合は相対位置出力が許可されているのでステップＳ３１８へ遷移する。
【０１８８】
ステップＳ３４６からステップＳ３５１は、パターン異常検出と駆動軌跡の予測判定の両方で絶対位置が定まらない判定され、かつ、外力の検知により相対位置出力禁止状態となっている場合の処理である。この場合は、出力できる位置情報がないため、起動時と同様に絶対位置復帰動作によるリカバリを行う。
【０１８９】
ステップＳ３４６では、フォーカス位置検出制御部１１７は、フォーカス制御部１０８に対してフォーカス駆動用モータ１０３の駆動停止要求を出力する。ステップＳ３４６の終了後、ステップＳ３４７へ遷移する。
【０１９０】
ステップＳ３４７では、フォーカス位置検出制御部１１７は、リカバリ動作要求をフォーカス位置検出制御部１１７からフォーカス制御部１０８へ出力する。また、フォーカス位置検出制御部１１７は、フォーカスレンズ１０２の実際の位置に関わらず、光学無限の位置情報を仮の位置情報として出力する。フォーカス制御部１０８にリカバリ動作要求が出力されると、その情報はレンズＣＰＵ１０１へ通達され、レンズＣＰＵ１０１がフォーカス制御部１０８へ駆動制御命令を発行することでリカバリ動作が実行される。ステップＳ３４７の終了後、ステップＳ３４８へ遷移する。
【０１９１】
ステップＳ３４８では、フォーカス位置検出制御部１１７は、モードをリカバリモードへ移行する。ステップＳ３４８における処理内容は、実施例１におけるステップＳ１０７と同様のため説明を省略する。ステップＳ３４８の終了後、サブルーチンとしてのステップＳ２００へ遷移する。ステップＳ２００により、フォーカス位置検出制御部１１７は、スケール１０５を探索することで基準位置を探索し、絶対位置演算部１１２にて算出される絶対位置の位置精度を保証されたものとする。ステップＳ２００の終了後、ステップＳ３４９へ遷移する。
【０１９２】
ステップＳ３４９では、フォーカス位置検出制御部１１７は、リカバリ動作によって絶対位置情報が確定したため、リカバリモードをクリアする。ステップＳ３４９の終了後、ステップＳ３５０へ遷移する。
【０１９３】
ステップＳ３５０では、フォーカス位置検出制御部１１７は、位置検出メモリ部１１６へメモリアクセスを行う。具体的には、絶対位置演算部１１２にて算出された絶対位置、相対位置演算部１１３にて算出された相対位置、相対位置検出信号が位置検出メモリ部１１６へ記憶される。さらに、パターン異常検出フラグＥｒｒＥｘ，ＥｒｒＥｘ＊、絶対位置演算異常フラグＥｒｒＤｉｆｆ、相対位置出力禁止フラグＰｒｏｈｉｂｉｔＲＥＬもまた位置検出メモリ部１１６へ記憶される。ステップＳ３５０の終了後、ステップＳ３５１へ遷移する。
【０１９４】
ステップＳ３５１では、フォーカス位置検出制御部１１７は、絶対位置演算部１１２にて算出された絶対位置をフォーカス制御部１０８に対して位置情報として出力する。この処理により、フォーカスレンズ１０２の位置を検出および演算を行い、位置精度が保証された位置情報を出力するシーケンスが終了する。フォーカス位置検出部１０７は、交換レンズ１００が通電状態である限り、このシーケンスを所定時間の周期で繰り返す。
【０１９５】
実施例２で示したような交換レンズでは、独自に判断してリカバリ処理を動作することはせず、カメラボディに対してリセット要求を送信し、カメラボディのタイミングおよび判断（許可通知）によって、リカバリ処理に移行することが好ましい。
【０１９６】
実施例２では、位置精度判定部１１５にて絶対位置の位置精度が適切でないと判定され、かつ、外力の検知で所定値以上の衝撃が検出された場合にリカバリ処理が行われてもよい。しかし、位置精度判定部１１５の判定結果によらず、外力の検知で所定値以上の衝撃が検出されたことに基づいて、動作を保証できないと判断することによって、リカバリ処理が行われてもよい。
【０１９７】
また、実施例１および２では、位置精度判定部１１５の判定結果を閾値に基づく２値表現としたが、偏差量などに応じたパーセンテージ等の表現でもよい。例えば、各要素の二乗平均の値で位置精度を判定してもよく、また、平均や標準偏差などで判定してもよい。
【０１９８】
実施例１および実施例２では、レンズ装置や撮像装置（カメラシステム）に位置検出装置を用いる場合について説明したが、高精度な位置決め・速度制御を実現する半導体検査装置、製造装置、工作機械その他の移動装置に用いてもよい。
【０１９９】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定はされず、要旨の範囲内で数々の変形及び変更が可能である。
【符号の説明】
【０２００】
１０２  フォーカスレンズ
１０４  位置検出センサ
１０５  スケール
１１２  絶対位置演算部
１１５  位置精度判定部
１１７  フォーカス位置検出制御部
【図１】
0006739911.tif 000002
【図２】
0006739911.tif 000003
【図３】
0006739911.tif 000004
【図４】
0006739911.tif 000005
【図５】
0006739911.tif 000006
【図６（ａ）】
0006739911.tif 000007
【図６（ｂ）】
0006739911.tif 000008
【図７（ａ）】
0006739911.tif 000009
【図７（ｂ）】
0006739911.tif 000010
【図８】
0006739911.tif 000011
【図９】
0006739911.tif 000012
【図１０】
0006739911.tif 000013
【図１１】
0006739911.tif 000014