(57)【要約】【課題】スライディングモード制御において、外乱オブザーバの推定範囲外の外乱が発生した場合でも定常偏差を抑制可能な位置制御を提供すること。【解決手段】位置制御装置は、スライディングモード制御器６０３と、外乱オブザーバ６０５と、外乱検出部６０６を備える。スライディングモード制御器６０３は制御信号出力部１０４に出力し、モータドライバ１０５を介してリニアモータ１０６の駆動制御を行う。外乱評価部６０７は、外乱オブザーバ６０５による推定外乱と、外乱検出部６０６による検出外乱をそれぞれ評価し、スライディングモード制御器６０３の非線形項ゲインを変更する。外乱評価部６０７は、推定外乱または検出外乱の大きさが増加した場合、非線形項ゲインを大きくする制御を行い、スライディングモード制御時の定常偏差を抑制する。【選択図】  図６
2016118892.tif 000002
【特許請求の範囲】
【請求項１】
制御対象に対して線形制御入力と非線形制御入力を含む制御入力を与える制御手段と、
外乱を推定する外乱オブザーバ手段と、
外乱を検出する外乱検出手段と、
前記外乱オブザーバ手段により推定された推定外乱の大きさ、および前記外乱検出手段により検出された検出外乱の大きさを評価して前記制御手段の非線形項ゲインを変更する外乱評価手段と、を備え、
前記外乱評価手段は、前記推定外乱または前記検出外乱の大きさが増加した場合、前記非線形項ゲインを大きくする制御を行うことを特徴とする位置制御装置。
【請求項２】
前記外乱評価手段は、前記非線形項ゲインの値を段階的に変更することを特徴とする請求項１に記載の位置制御装置。
【請求項３】
前記外乱評価手段は、前記非線形項ゲインの値を線形的に変更することを特徴とする請求項１に記載の位置制御装置。
【請求項４】
複数の前記外乱検出手段を備え、
前記外乱評価手段は、前記複数の外乱検出手段による検出外乱の大きさ、および前記外乱オブザーバ手段による推定外乱の大きさを評価して、前記非線形項ゲインの値を段階的に変更する制御と前記非線形項ゲインの値を線形的に変更する制御とを切り替えることを特徴とする請求項１に記載の位置制御装置。
【請求項５】
前記外乱評価手段は、前記検出外乱の大きさが閾値を超えた場合、前記非線形項ゲインを変更することを特徴とする請求項１から４のいずれか１項に記載の位置制御装置。
【請求項６】
前記外乱評価手段は、前記外乱検出手段が外乱を検出せず、前記推定外乱の大きさが閾値を超えた場合、前記非線形項ゲインを変更することを特徴とする請求項１から５のいずれか１項に記載の位置制御装置。
【請求項７】
前記外乱評価手段は、前記推定外乱の大きさが第１閾値を超えた場合、および前記検出外乱の大きさが第２閾値を超えた場合、前記非線形項ゲインを変更することを特徴とする請求項１から４のいずれか１項に記載の位置制御装置。
【請求項８】
前記外乱検出手段は、加速度センサまたは角速度センサを有することを特徴とする請求項１から７のいずれか１項に記載の位置制御装置。
【請求項９】
請求項１から８のいずれか１項に記載の位置制御装置と、
前記位置制御装置により制御される光学部材と、を備えることを特徴とする光学機器。
【請求項１０】
請求項１から８のいずれか１項に記載の位置制御装置と、
前記位置制御装置により制御される光学部材と、を備えることを特徴とする撮像装置。
【請求項１１】
前記外乱検出手段は、前記撮像装置のスイッチ操作を検出することを特徴とする請求項１０に記載の撮像装置。
【請求項１２】
前記光学部材を含む撮像光学系の光軸上に配置される第１位置と、光軸から退避した第２位置との間で移動する反射部材をさらに備え、
前記外乱検出手段は、前記反射部材の動作を検出することを特徴とする請求項１０または１１に記載の撮像装置。
【請求項１３】
制御対象に対して線形制御入力と非線形制御入力を含む制御入力を与える制御手段を備える位置制御装置にて実行される位置制御方法であって、
外乱オブザーバ手段により外乱を推定し、外乱検出手段により外乱を検出する工程と、
前記外乱オブザーバ手段により推定された推定外乱の大きさ、および前記外乱検出手段により検出された検出外乱の大きさを外乱評価手段が評価して前記制御手段の非線形項ゲインを変更する評価工程と、を有し、
前記評価工程にて前記外乱評価手段は、前記推定外乱または前記検出外乱の大きさが増加した場合、前記非線形項ゲインを大きくする制御を行うことを特徴とする位置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象の位置を制御する位置制御装置および位置制御方法、並びに位置制御装置を適用した光学機器、撮像装置に関する。
【背景技術】
【０００２】
近年、外乱に対する影響が小さく量子化誤差、モデル化誤差等に対するロバスト性の高いスライディングモード制御が注目されている。一般的なスライディングモード制御器は線形制御入力と非線形制御入力を含む制御入力を制御対象に提供する構成を有する。
【０００３】
スライディングモード制御器にて、非線形制御入力を生成する非線形項には、制御時に非線形制御入力の大きさを設定する非線形項ゲインがある。非線形項ゲインの値は任意に設定することができる。非線形項ゲインを大きくすることでスライディングモード制御は外乱に対して強い設計となり、制御性能としては制御時に外乱が発生しても定常偏差が発生しなくなる。しかし、非線形項ゲインがあらかじめ過度に大きく設定されると、スライディングモード制御器における非線形制御入力の影響が大きくなり、外乱が発生していない場合の制御時にチャタリングを引き起こす原因となる。また、非線形項ゲインがあらかじめ過度に小さく設定されると、スライディングモード制御器における非線形制御入力の影響が小さくなり、外乱によって定常偏差を引き起こす原因となる。そのため、スライディングモード制御器の非線形項ゲインについては、外乱が発生していない場合には制御時にチャタリングが発生せず、ある程度の大きさの外乱が発生しても定常偏差が生じない値に設定される。しかし、大きな外乱が発生した場合には、設定された非線形項ゲインでは対応できないため、スライディングモード制御時に定常偏差が発生するという問題があった。
【０００４】
特許文献１では、外乱オブザーバを用いることで外乱の大きさを推定してスライディングモード制御器へ提供する方法が開示されている。大きな外乱が発生した場合、外乱の大きさを推定した値から非線形項ゲインの値が変更される。これにより、外乱の大きさにかかわらず制御性能が低下しないスライディングモード制御器の設計が可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３５５６３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、外乱オブザーバを用いて外乱を推定することを前提条件としている。すなわち、外乱の大きさを物理的に検出するのではなく、外乱を計算により推定することで、推定した外乱に応じてスライディングモード制御器のパラメータが変更される。しかし、外乱オブザーバの推定範囲外の外乱が発生した場合、外乱推定時に推定誤差が発生してしまう。よって、外乱オブザーバの推定範囲外の外乱が発生した場合、スライディングモード制御器において設計したパラメータへの変更が行われず、制御時に定常偏差が発生する可能性がある。
【０００７】
本発明の目的は、外乱オブザーバの推定範囲外の外乱が発生した場合でも定常偏差を抑制可能な位置制御を実現することにある。
【課題を解決するための手段】
【０００８】
本発明に係る装置は、制御対象に対して線形制御入力と非線形制御入力を含む制御入力を与える制御手段と、外乱を推定する外乱オブザーバ手段と、外乱を検出する外乱検出手段と、前記外乱オブザーバ手段により推定された推定外乱の大きさ、および前記外乱検出手段により検出された検出外乱の大きさを評価して前記制御手段の非線形項ゲインを変更する外乱評価手段と、を備える。前記外乱評価手段は、前記推定外乱または前記検出外乱の大きさが増加した場合、前記非線形項ゲインを大きくする制御を行う。
【発明の効果】
【０００９】
本発明によれば、外乱オブザーバの推定範囲外の外乱が発生した場合でも定常偏差を抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る位置制御装置のブロック図である。
【図２】インクリメンタル信号の処理の概念図である。
【図３】インクリメンタル位置エンコード処理を説明するフローチャートである。
【図４】インクリメンタル信号と合成信号の概念図である。
【図５】アブソリュート位置エンコード処理を説明するフローチャートである。
【図６】本発明の実施形態に係る制御システムのブロック線図である。
【図７】本発明の実施形態に係るスライディングモード制御器のブロック線図である。
【図８】第１実施形態と第２実施形態に係る実外乱と推定外乱、検出外乱の関係図である。
【図９】第１実施形態に係る外乱評価処理例を示すフローチャートである。
【図１０】第１実施形態における非線形項ゲインの変更例を説明する図である。
【図１１】第２実施形態に係る外乱評価処理例を示すフローチャートである。
【図１２】第２実施形態における非線形項ゲインの変更例を説明する図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら本発明の各実施形態を説明する。本発明は、例えばデジタル一眼レフカメラやデジタルコンパクトカメラに限らず、デジタルビデオカメラ、監視カメラ、Ｗｅｂカメラ、携帯電話等の撮像装置における光学部材の駆動制御に適用可能である。また、デジタル一眼レフカメラ用の交換レンズのような光学機器にも適用可能である。したがって、光学機器や撮像装置も本発明の一側面を構成する。各実施形態では、推力の未発生時に保持力が無いアクチュエータとしてボイスコイル型リニアモータを例示する。
【００１２】
［第１実施形態］
図１から図１０を参照して本発明の第１実施形態を説明する。本実施形態では、外乱オブザーバによって推定された外乱（推定外乱）の情報と、外乱検出部によって検出された外乱（検出外乱）の情報を用いることによりスライディングモード制御器の非線形項ゲインの値を段階的に変更する。
【００１３】
図１は、本発明の実施形態に共通する、位置制御装置１００の構成例を示す。内部バス１０９に対してＣＰＵ（中央演算処理装置）１０１、ＲＯＭ（リード・オンリ・メモリ）１０２、ＲＡＭ（ランダム・アクセス・メモリ）１０３、制御信号出力部１０４、ＡＤ入力部１０８が接続される。各部は内部バス１０９を介して互いにデータの送受信が可能である。ＲＯＭ１０２は、ＣＰＵ１０１が動作するための各種プログラム等を格納する読出し専用メモリである。制御手段および計測手段としてのＣＰＵ１０１は、例えばＲＯＭ１０２に格納されたプログラムに従い、ＲＡＭ１０３をワークメモリとして用いて、位置制御装置１００の各部を制御する。
【００１４】
制御信号出力部１０４は、ＣＰＵ１０１から命令された制御信号をモータドライバ１０５に出力してリニアモータ１０６を駆動させる。また制御信号出力部１０４は、ＣＰＵ１０１から命令された制御信号をリニアエンコーダ１０７に出力して、異なる位相のインクリメンタル信号を出力させる。リニアモータ１０６はレンズ等の制御対象（不図示）を移動させる。位置検出用のリニアエンコーダ１０７は制御対象の移動に応じてインクリメンタル信号を出力する。ＡＤ入力部１０８は、リニアエンコーダ１０７が出力するインクリメンタル信号をＡ（アナログ）−Ｄ（デジタル）変換して、Ａ−Ｄ変換後の信号をＣＰＵ１０１に出力する。ＣＰＵ１０１は、ＡＤ入力部１０８により変換されたインクリメンタル信号からインクリメンタル位置エンコード処理（以下、第１エンコード処理という）およびアブソリュート位置エンコード処理（以下、第２エンコード処理という）により現在位置を算出する。
【００１５】
図２および図３を参照して、第１エンコード処理を説明する。図２は、インクリメンタル信号の処理を説明する概念図である。図３はＣＰＵ１０１が実行する第１エンコード処理を説明するフローチャートである。
【００１６】
図２（Ａ）はインクリメンタル信号の波形例を示す。縦軸は10bitのＡＤ変換値を示し、横軸は位置を示す。サイン波２０１とコサイン波２０２が、制御対象の移動に応じて出力される。図２（Ｂ）は、サイン波２０１とコサイン波２０２による正接関数の逆関数（逆正接関数）を示す。縦軸は角度をラジアンで示し、横軸は位置を示す。逆正接関数値２０３は、０から２πまでの範囲に正規化されて演算される。図２（Ｃ）はインクリメンタル位置エンコード値を示す。縦軸は単調増加するインクリメンタル位置エンコード値２０４を示し、横軸は位置を示す。逆正接関数値２０３がゼロを跨いだ時にMSB（Most Significant Bit）での２πに相当する上位桁が増減する。例えば、逆正接関数値２０３がゼロから増加して再びゼロになってさらに増加した場合、インクリメンタル位置エンコード値２０４に２πが加算される。他方、逆正接関数値２０３が減少してゼロになった場合にインクリメンタル位置エンコード値２０４から２πが減算される。
【００１７】
図３を参照して第１エンコード処理を説明する。Ｓ３０１にてＣＰＵ１０１は、第１エンコード処理の許可フラグがセット状態であるかどうかを判断する。許可フラグがセット状態でない場合には処理を終了し、許可フラグがセット状態である場合、Ｓ３０２へ処理を進める。Ｓ３０２において、ＣＰＵ１０１は２相信号のＡＤ変換値を取得し、オフセット除去演算、ゲイン調整演算を行う。２相信号とは、図２（Ａ）のサイン波２０１およびコサイン波２０２のように、位相の異なる対をなす信号である。そして、ＣＰＵ１０１は、図２（Ｂ）に示す逆正接関数の演算結果（逆正接関数値２０３）のデータをＲＡＭ１０３へ保存する。
【００１８】
Ｓ３０３でＣＰＵ１０１は、前回の逆正接関数演算結果と今回の逆正接関数演算結果との差の絶対値を３π／８と比較する。差の絶対値が３π／８未満であるかどうかが判断され、そうであればＳ３０４へ処理を進め、差の絶対値が３π／８未満でなければＳ３１０へ移行する。Ｓ３０４にてＣＰＵ１０１は、前回の逆正接関数演算結果と今回の逆正接関数演算結果による移動で制御対象の位置がゼロを跨いだかどうかを判断する。制御対象の位置がゼロを跨いでいる場合、Ｓ３０５へ処理を移し、制御対象の位置がゼロを跨いでいない場合にはＳ３０８へ移行する。Ｓ３０５でＣＰＵ１０１は、今回の逆正接関数演算結果が前回の逆正接関数演算結果未満であるかどうかを判断する。今回の逆正接関数演算結果が前回の逆正接関数演算結果未満であればＳ３０６へ移行し、今回の逆正接関数演算結果が前回の逆正接関数演算結果以上であればＳ３０７へ移行する。Ｓ３０６でＣＰＵ１０１は２π単位である上位桁へ１を加算する。上位桁とはインクリメンタル位置エンコード値の２π以上の桁である。一方、Ｓ３０７でＣＰＵ１０１は上位桁から１を減算する。
【００１９】
Ｓ３０６またはＳ３０７の後でＳ３０８へ処理を進め、ＣＰＵ１０１は２π単位である上位桁と今回の逆正接関数演算結果を加算する。これにより、図２（Ｃ）のインクリメンタル位置エンコード値２０４が更新され、Ｓ３０９へ移行する。Ｓ３０９にてＣＰＵ１０１は、移動方向判別に係るエラー警告無しとして処理を終了する。Ｓ３０３からＳ３１０に移行した場合、ＣＰＵ１０１は移動方向判別に係るエラー警告有りとして処理を終了する。その理由は、今回と前回の逆正接関数演算結果の差の絶対値が３π／８以上であり、制御対象の移動方向に関して増加により差の絶対値が３π／８以上となったのか、減少により３π／８以上となったのかを判別しにくいためである。
以上のようにインクリメンタル信号からエンコード値が生成されるので、位置制御に用いることができる。
【００２０】
次に、図４と図５を用いて第２エンコード処理を説明する。図４は、ピッチの異なる３種類のインクリメンタル信号と合成信号を例示した概念図である。図４（Ａ）から（Ｆ）にて縦軸は角度をラジアンで示し、横軸は位置を示す。縦軸に示す逆正接関数値は、制御対象の移動に応じて逆正接関数として０から２πまでの範囲に正規化されて演算される。また図５はＣＰＵ１０１による第２エンコード処理を説明するフローチャートである。
【００２１】
図４（Ａ）は最小ピッチの逆正接関数演算結果４０１を例示し、全ストロークで２１周期出現する。図４（Ｂ）は中間ピッチの逆正接関数演算結果４０２を例示し、全ストロークで１０周期出現する。図４（Ｃ）は最大ピッチの逆正接関数演算結果４０３を例示し、全ストロークで４周期出現する。図４（Ｄ）から（Ｆ）については後述する。
【００２２】
図５のＳ５０１でＣＰＵ１０１は、ＲＡＭ１０３に保存されている最小ピッチの２相信号のＡＤ変換値を取得し、オフセット除去演算、ゲイン調整演算を行う。そしてＣＰＵ１０１は、図４（Ａ）の逆正接関数演算結果４０１を「p1」としてＲＡＭ１０３へ保存する。次のＳ５０２でＣＰＵ１０１は、ＲＡＭ１０３に保存されている中間ピッチの２相信号のＡＤ変換値を取得し、オフセット除去演算、ゲイン調整演算を行う。ＣＰＵ１０１は、図４（Ｂ）の逆正接関数演算結果４０２を「p2」としてＲＡＭ１０３へ保存する。次のＳ５０３でＣＰＵ１０１は、ＲＡＭ１０３に保存されている最大ピッチの２相信号のＡＤ変換値を取得し、オフセット除去演算、ゲイン調整演算を行う。ＣＰＵ１０１は、図４（Ｃ）の逆正接関数演算結果４０３を「p3」としてＲＡＭ１０３へ保存し、Ｓ５０４に移行する。
【００２３】
Ｓ５０４にてＣＰＵ１０１は下式を用い、Ｎを整数変数として全ストロークをＮ周期とした逆正接関数に正規化する処理を行う。Ｎ＝１，６，１３，２１として具体的に説明する。
【数１】
2016118892.tif 000003
なお、式(1)はＮ＝１の場合、式(2)はＮ＝６の場合、式(3)はＮ＝１３の場合に使用する。
【００２４】
Ｎ＝１の場合、ＲＡＭ１０３に保存されているp1とp2の各データを用いて式(1)でph1が算出され、算出結果のデータがＲＡＭ１０３へ保存される。図４（Ｄ）に示す演算結果４０４は制御対象の移動に応じて式(1)の結果として、０から２πまでの範囲に正規化されて演算されるph1を例示し、全ストロークで１周期出現する。Ｎ＝６の場合、ＣＰＵ１０１はＲＡＭ１０３に保存されているp2とp3の各データを用いて式(2)でph6を算出し、算出結果のデータをＲＡＭ１０３へ保存する。図４（Ｅ）に示す演算結果４０５は制御対象の移動に応じて式(2)の結果として、０から２πまでの範囲に正規化されて演算されるph6を例示し、全ストロークで６周期出現する。Ｎ＝１３の場合、ＣＰＵ１０１はＲＡＭ１０３に保存されているp1とp3の各データを用いて式(3)でph13を算出し、算出結果のデータをＲＡＭ１０３へ保存する。図４（Ｆ）に示す演算結果４０６は制御対象の移動に応じて式(3)の結果として、０から２πまでの範囲に正規化されて演算されるph13を例示し、全ストロークで１３周期出現する。Ｎ＝２１の場合、ＣＰＵ１０１はＲＡＭ１０３へ保存されているp1をph21として（ph21=p1）、データをＲＡＭ１０３へ保存する。図４（Ａ）に示すようにph21では全ストロークで２１周期出現する。
【００２５】
次のＳ５０５でＣＰＵ１０１は、以下の式を用いて、演算結果がＮ周期中でどの周期に該当するかを算出する。
【数２】
2016118892.tif 000004
【００２６】
ＣＰＵ１０１はＲＡＭ１０３へ保存されているph1を用いて式(4)で演算し、全ストロークで６周期出現する中のどの周期になるか演算し、abs6のデータをＲＡＭ１０３へ保存する。そしてＣＰＵ１０１は式(5)により、abs6とph6の各データを用いて、全ストロークで１３周期出現する中のどの周期になるか演算し、abs13のデータをＲＡＭ１０３へ保存する。ＣＰＵ１０１は式(6)により、abs13とph13の各データを用いて、全ストロークで２１周期出現する中のどの周期になるか演算し、abs21のデータをＲＡＭ１０３へ保存する。ＣＰＵ１０１は式(7)により、abs21とph21の各データを用いて、最小ピッチの分解能で全ストローク中のどの位置になるか演算し、FullABSのデータをＲＡＭ１０３へ保存して処理を終える。
【００２７】
以上のように、ピッチの異なる３種類のインクリメンタル信号を合成して更にピッチの異なるインクリメンタル信号を合成する事ができる。制御対象が静止した状態で取得されるピッチの異なる複数のインクリメンタル信号を合成し、第２エンコード処理を行うことにより、最小ピッチの分解能でアブソリュート位置を算出できる。以降は、最小ピッチの分解能が固定で第１エンコード処理を実行し続けても、生成されたインクリメンタル位置エンコード値をアブソリュート位置エンコード値として扱うことができる。
【００２８】
次に図６を参照して制御系の構成を説明する。図６は本実施形態に係る制御系のブロック線図を例示する。なお、図１と同じ構成部については同一の符号を使用することでそれらの詳細な説明を省略する。その他の構成部についてはＣＰＵ１０１が制御プログラムを解釈して実行することにより各構成部の担当する処理が行われる。
【００２９】
制御信号出力部１０４は、ＣＰＵ１０１から指定された制御量を入力としてデューティー比に変換したＰＷＭ（パルス幅変調）信号を、制御信号としてモータドライバ１０５へ出力する。モータドライバ１０５は、例えばＨブリッジドライバであり、制御信号として入力されるＰＷＭ信号のデューティー比に応じて正逆方向にリニアモータ１０６を駆動する。リニアモータ１０６は、例えばボイスコイルモータであり、水平姿勢でデューティー比が50%の場合、推力無しで停止する。また、デューティー比が100%の場合、リニアモータ１０６は正方向へ最大推力を発生し、デューティー比が0%の場合、逆方向へ最大推力を発生する。
【００３０】
リニアエンコーダ１０７は、リニアモータ１０６の移動量を入力とし、サイン波信号およびコサイン波信号（図２（Ａ）参照）に変換して出力する。ＡＤ入力部１０８は、リニアエンコーダ１０７が出力するサイン波信号およびコサイン波信号をＡＤ変換する。ＡＤ変換値は位置エンコード処理部６０２へ出力される。位置エンコード処理部６０２はＡＤ変換値がサイン波状に変化するのに応じた距離への変換を行う。
【００３１】
目標発生部６０１は、リニアモータ１０６の目標値信号を発生させてスライディングモード制御器６０３に出力する。目標値信号は、リニアモータ１０６が追従すべき目標速度および目標位置の情報を含む。スライディングモード制御器６０３は目標発生部６０１が出力する目標位置と、位置エンコード処理部６０２が出力する現在位置と、状態推定オブザーバ６０４が出力する推定状態と、外乱評価部６０７が出力する非線形項ゲインを入力とする。スライディングモード制御器６０３はスライディングモード制御によって制御量を生成して制御信号出力部１０４へ出力する。スライディングモード制御器６０３は線形項と非線形項によって構成されることが特徴である。スライディングモード制御器６０３の詳細については図７を用いて後述する。
【００３２】
状態推定オブザーバ６０４はスライディングモード制御器６０３によって生成された制御量と、位置エンコード処理部６０２が出力する現在位置を入力とし、推定した制御対象の状態を示す信号をスライディングモード制御器６０３に出力する。現代制御理論に基づく状態推定オブザーバは公知であるため、その詳細な説明は省略する。
【００３３】
外乱オブザーバ６０５はスライディングモード制御器６０３によって生成された制御量と、位置エンコード処理部６０２が出力する現在位置を入力とし、推定した外乱を外乱評価部６０７へ出力する。状態推定オブザーバ６０４と同様に外乱オブザーバ６０５の詳細については公知であるため、その詳細な説明は省略する。
【００３４】
外乱検出部６０６はセンサ等のハードウェア構成要素により外乱を検出し、検出した外乱を外乱評価部６０７へ出力する。本実施形態では外乱検出手段として加速度センサを用いる。つまり、加速度センサにより外乱を検出し、外乱の検出情報を利用することによってスライディングモード制御器６０３の非線形項ゲインが変更される。例えば、このような構成は、撮像装置における光学部材の駆動制御に適用可能である。撮像装置としては、例えばデジタル一眼レフカメラやデジタルコンパクトカメラ等が挙げられる。撮像装置は一般的に持ち運ぶことを想定しているので、例えばユーザが撮影時にカメラの姿勢を上下に傾ける等の動作が行われる。このような動作は、本実施形態にて例示される、推力の未発生時に保持力が無いボイスコイル型リニアモータを制御する場合に外乱となる。このようなカメラの姿勢変化の影響による外乱に対し、外乱検出手段として加速度センサを用いることができる。カメラの姿勢が変化した場合に加速度センサがそれを加速度の外乱として検出し、検出信号は外乱評価部６０７に出力されて評価される。
【００３５】
外乱評価部６０７は、外乱オブザーバ６０５と外乱検出部６０６からの外乱をそれぞれ入力とし、入力された外乱を評価する。外乱評価部６０７は、外乱の評価結果に基づき、スライディングモード制御器６０３の非線形項ゲインを生成してスライディングモード制御器６０３へ出力する。外乱の評価方法の詳細については後述する。
【００３６】
次に図７のブロック線図を参照して、スライディングモード制御器６０３の構成を詳細に説明する。なお、減算については加算部での加算演算（負値の加算）として説明する。
第１加算部７０１は、目標発生部６０１が出力する目標位置を正入力とし、位置エンコード処理部６０２が出力する現在位置を負入力として、両者の差を算出する。この差はサーボ制御の位置エラー信号に相当し、積分器７０２に出力される。積分器７０２は位置エラー信号を入力とすることで誤差の積分量を出力する。ベクトル化部７０３は積分器７０２が出力した誤差の積分量と、状態推定オブザーバ６０４によって推定された状態の情報を入力とし、誤差の積分量と推定状態とで構成される状態ベクトルの拡大系の情報を出力する。ベクトル化部７０３より出力された状態ベクトルの拡大系の情報は、線形項７０５と非線形項７０６の各部へ出力される。線形項７０５と非線形項７０６は切換超平面を利用した設計方法により構成され、ベクトル化部７０３が出力した状態ベクトルの拡大系の情報に基づき、スライディングモード制御によるサーボ制御入力をそれぞれ生成する。線形項７０５は、ベクトル化部７０３から出力された状態ベクトルの情報と、目標発生部６０１からの目標位置を入力とすることで線形制御入力を算出し、第２加算部７０７へ出力する。非線形項７０６は、ベクトル化部７０３から出力された状態ベクトルの拡大系と外乱評価部６０７から出力された非線形項ゲインを入力とする。非線形項７０６は、入力された状態ベクトルの拡大系と非線形項ゲインから非線形制御入力を算出し、第２加算部７０７へ出力する。第２加算部７０７は、線形項７０５が算出した線形制御入力と、非線形項７０６が算出した非線形制御入力とを合算することにより、スライディングモード制御器６０３の出力を生成する。第２加算部７０７は加算結果を制御信号出力部１０４へ出力し、スライディングモード制御器６０３より出力された信号が制御入力となる。
【００３７】
以下、スライディングモード制御について数式を用いて具体的に説明する。制御対象であるリニアモータ１０６を状態方程式で表現すると式（8）のようになる。
【数３】
2016118892.tif 000005
【００３８】
式（8）に示す列ベクトルｘの成分は、リニアモータの位置p、速度v、加速度αであり、時間微分をニュートンのドット記法で表す。行列Ａにて、ud[]は動摩擦係数、M[kgf]はリニアモータの可動部（レンズ等を含む）の重さ、 Ke[V/(m/s)]は逆起電圧係数をそれぞれ示す。Kf[N/A]は 電流に対する力係数、R[Ω]はコイルの抵抗値、L[H]はコイルのリアクタンス値をそれぞれ示す。括弧内には各量の単位を示しており、[]は無次元量であることを示す。
【００３９】
式（8）に示す制御入力uは、スライディングモード制御器６０３から提供される。スライディングモード制御器６０３は制御入力uの切換を行うことによって制御対象の状態を切換超平面Ｓに拘束する。スライディングモード制御器６０３が目標値rに追従するように制御するためには、目標値rと現在位置yとの偏差eの積分値vを用いた状態方程式の拡大系を設計する必要がある。この拡大系によるスライディングモード制御のサーボ系の状態方程式は数式(9)から(12)のように表現される。
【００４０】
【数４】
2016118892.tif 000006
【００４１】
式(10)および(12)のzは、制御システムを拡大系で表現した時の状態を表し、図７のベクトル化部７０３より出力される。式(10)のdは外乱の大きさである。式(12)のσは切換関数であり、Sは切換超平面行列である。このように拡大系によるスライディングモード制御のサーボ系を設計することでスライディングモード制御器６０３から提供される制御入力uは数式(13)から(15)のように表現される。
【００４２】
【数５】
2016118892.tif 000007
【００４３】
式(13)の制御入力uは線形制御入力ulと非線形制御入力unlとの和であり、図７の第２加算部７０７の計算結果である。式(14)の線形制御入力ulは、図７の線形項７０５から出力される算出結果であり、式(15)の非線形制御入力unlは、図７の非線形項７０６から出力される算出結果である。式(15)のknは非線形項ゲインであり、外乱評価部６０７によって評価された外乱に応じて変更される値である。非線形項ゲインknは数式(16)のように設定される必要がある。
【００４４】
【数６】
2016118892.tif 000008
【００４５】
式(16)中 のdmaxは外乱の最大値である。式(16)を満たすことで制御対象の状態は設計した切換超平面Ｓに拘束される。非線形項ゲインknの値をあらかじめ過度に小さく設定した場合、式(16)を満たすことができず、制御対象が設計した切換超平面に拘束されない可能性がある。これによりロバスト性が確保されず、外乱による定常偏差の原因となる。また、非線形項ゲインknの値をあらかじめ過度に大きく設定した場合には、スライディングモード制御器６０３における非線形制御入力の影響が大きくなり、チャタリングが引き起こされる原因となる。
【００４６】
式(16)においてS、Fsは既知であるので、dmaxを知ることができれば非線形項ゲインknを適切な値に設定することが可能となる。図６の外乱評価部６０７は、外乱オブザーバ６０５が推定した外乱と、外乱検出部６０６が検出した外乱を評価することによって非線形項ゲインknを適切な値に設定する。
以上のように、目標発生部６０１による目標値に対してリニアモータ１０６の位置を追従させるスライディングモード制御のサーボ制御系が構成される。
【００４７】
次に、図８を参照して、外乱評価部６０７における外乱の評価について詳細に説明する。図８の横軸に実外乱の大きさを示し、縦軸は検出または推定によって得られた外乱の大きさを示す。図８に点線で示すグラフ線８０１は、実外乱の大きさと、検出または推定によって得られた外乱の大きさとの理想的な相関関係を示す。つまり、グラフ線８０１は、実外乱の大きさと、検出または推定によって得られた外乱の大きさが等しい場合の直線である。図８の実線で示すグラフ線８０２は、外乱オブザーバ６０５によって推定された推定外乱と、実外乱との関係を示す。グラフ線８０２は外乱が小さい場合、グラフ線８０１に近い略直線状となるが、瞬間的に強い外乱や非常に大きな外乱の場合には実外乱と推定外乱との間に誤差が生じる。これに対して、図８に１点鎖線で示すグラフ線８０３は、外乱検出部６０６によって検出された検出外乱と、実外乱との関係を示す。ここで外乱検出部６０６は外乱の大きさを線形的に検出できるものとする。グラフ線８０３は実外乱が大きい場合、グラフ線８０１に近い略直線状となるが、実外乱が小さい場合には外乱検出部６０６が外乱を検出できず、実外乱との間で誤差が生じる。そこで、外乱評価部６０７は、グラフ線８０２で示す推定外乱とグラフ線８０３で示す検出外乱の両方に基づいて外乱を評価する。これにより、実外乱の大きさによって、実外乱と推定外乱または検出外乱との誤差が大きくなることを防止できる。
【００４８】
図９は、図７の外乱評価部６０７による外乱評価処理例を詳細に示すフローチャートである。なお、以下の処理については、特に明示的な記載がない限り、外乱評価部６０７が行うものとする。
Ｓ９０１にて外乱検出部６０６は外乱を検出する。次のＳ９０２では、Ｓ９０１で検出された外乱と予め設定された閾値との比較により、外乱評価が行われる。Ｓ９０１で検出された外乱が閾値以下である場合、Ｓ９０３へ処理を進め、Ｓ９０１で検出された外乱が閾値より大きい場合にはＳ９０７へ移行する。
【００４９】
Ｓ９０３では、外乱オブザーバ６０５により外乱が推定される。次のＳ９０４にて、Ｓ９０３で推定された外乱と、設定された閾値との比較により、外乱評価が行われる。Ｓ９０３で推定された外乱が閾値以下である場合、Ｓ９０５へ処理を進め、Ｓ９０３で推定された外乱が閾値より大きい場合にはＳ９０６へ処理を進める。Ｓ９０５の場合は、外乱検出結果および外乱推定結果がともに、設定された閾値を超えていない場合である。よって、スライディングモード制御器６０３の非線形項ゲインknは通常時の値に設定される。また、Ｓ９０６の場合は、例えば外乱検出部６０６が外乱を検出することができず、外乱オブザーバ６０５が外乱を推定できた場合である。よって、スライディングモード制御器６０３の非線形項ゲインknは所定値Ａに変更される。また、Ｓ９０７の場合は、外乱検出部６０６が外乱を検出した場合であり、スライディングモード制御器６０３の非線形項ゲインknが所定値Ｂに変更される。
【００５０】
Ｓ９０５、Ｓ９０６、Ｓ９０７のいずれかの処理により、スライディングモード制御器の非線形項ゲインknが設定された後、Ｓ９０８へ処理を進める。Ｓ９０８では、設定後の非線形項ゲインknを用いてスライディングモード制御器６０３が制御入力値を計算し、Ｓ９０９へ処理を進める。Ｓ９０９では、Ｓ９０８でスライディングモード制御器６０３が行った計算結果を制御対象へ出力する処理が行われる。
【００５１】
図１０は、図９のフローチャートに従う処理によって非線形項ゲインknの値を変更する状況を説明する図である。横軸は単位時間当たりの実外乱の大きさを示し、縦軸は非線形ゲインknの大きさを示す。範囲１００１は外乱オブザーバ６０５の推定範囲であり、範囲１００２は外乱検出部６０６の検出範囲である。外乱オブザーバ６０５の推定結果と外乱検出部６０６の検出結果がいずれも、設定された閾値を超えない場合、非線形項ゲインの通常設定値をｋとする。外乱オブザーバ６０５による推定外乱が、外乱オブザーバ６０５における閾値である第１閾値１００３を超えた場合、非線形項ゲインが所定値Ａに変更される。また、外乱検出部６０６による検出外乱が、外乱検出部６０６における閾値である第２閾値１００４を超えた場合、非線形項ゲインが所定値Ｂに変更される。なお、第２閾値１００４は、第１閾値１００３よりも大きい。
【００５２】
図８に示したように、推定された外乱の特性と、検出された外乱の特性との関係から、ＡとＢとkの間には、式(17)の関係が成り立つ。
【数７】
2016118892.tif 000009
【００５３】
本実施形態では外乱検出手段として加速度センサを使用している。加速度センサはカメラにかかる加速度を外乱として検出し、外乱評価部６０７は検出された外乱を評価する。検出された外乱の大きさが閾値を超えた場合にスライディングモード制御器６０３の非線形項ゲインが段階的に変更される。
【００５４】
本実施形態では加速度センサを使用する例を説明した。その他の例としてジャイロセンサ（角速度センサ）を使用する場合や、カメラのスイッチ操作を検出する場合、または一眼レフカメラにおけるミラーのアップダウン動作等を外乱とする場合がある。ジャイロセンサを使用する場合には角速度を検出することができ、例えば撮影時のカメラの手ぶれを補正する機能等に利用されている。手ぶれはリニアモータ１０６の制御時の外乱となり得る。ジャイロセンサは、手ぶれ等による外乱を検出する外乱検出手段として利用できる。
【００５５】
また、カメラのスイッチ操作については、ユーザがスイッチを押す操作と離す操作を、カメラのファームウェアを構成する制御部で検出することができる。カメラのスイッチ操作は、ユーザがカメラで撮影を行うときに手ぶれの原因となり、これがリニアモータ１０６の制御時の外乱となり得る。そこで、カメラのスイッチが押された時と離された時の操作を、カメラの制御部が検出した場合、外乱評価部６０７は前記のように非線形項ゲインを段階的に変更する。加速度センサやジャイロセンサを使用する場合とは異なり、カメラの制御部がスイッチ操作を検出した場合に外乱評価部６０７は、外乱検出手段における閾値を超えたと判断する。このように、カメラのスイッチ操作によって外乱が発生する可能性がある場合でも、カメラのスイッチ操作の検出により、外乱検出を行うことができる。
【００５６】
一眼レフカメラにおけるミラーのアップダウン動作については、カメラのスイッチ操作の場合と同様に、カメラの制御部が検出する。このミラーは、撮像光学系の光軸上に配置される第１位置と、光軸から退避した第２位置との間で移動する半透過性の反射部材である。ミラーのアップダウン動作は一眼レフカメラでの撮影時に行われ、ミラーの上昇または下降の動作がリニアモータ１０６の制御時の外乱となり得る。ミラーのアップダウン動作が、一眼レフカメラの制御部により検出された場合、外乱評価部６０７は前記のように非線形項ゲインを段階的に変更する。加速度センサやジャイロセンサを使用する場合とは異なり、カメラの制御部がミラーのアップダウン動作を検出した場合に外乱評価部６０７は、外乱検出手段における閾値を超えたと判断する。このように、ミラーのアップダウン動作によって外乱が発生する可能性がある場合でも、当該動作の検出により、外乱検出を行うことができる。
【００５７】
以上のように、本実施形態によればスライディングモード制御器６０３の非線形項ゲインの値が段階的に変更される。非線形項ゲインが外乱に対処できる適正な値に変更されることで、外乱オブザーバ６０５の推定範囲外の外乱が発生した場合でも定常偏差の発生を回避し、または定常偏差を抑制できる。
【００５８】
[第２実施形態]
次に、本発明の第２実施形態を説明する。本実施形態では、外乱オブザーバによる推定外乱の情報と、外乱検出部による検出外乱の情報を用いることにより、スライディングモード制御器の非線形項ゲインを線形的に変更する。なお、本実施形態でも第１実施形態の場合と同様に外乱検出手段として加速度センサを用いる。加速度センサは外乱の大きさを線形的に検出できるため、非線形項ゲインの値を線形的に変更することが可能である。なお、本実施形態にて第１実施形態の場合と同様の構成部については既に使用した符号を用いることで、それらの詳細な説明を省略する。
【００５９】
図１１は、図７の外乱評価部６０７が実行する外乱評価処理例を詳細に示すフローチャートである。図９と同様の処理を行うステップは、図１１にてＳ１１０１〜Ｓ１１０５、Ｓ１１０８、Ｓ１１０９であり、図９におけるＳ９０１〜Ｓ９０５、Ｓ９０８、Ｓ９０９にそれぞれ対応する。よって、以下では第１実施形態の場合と相違するＳ１１０６およびＳ１１０７を説明する。
【００６０】
Ｓ１１０６では、外乱オブザーバ６０５により推定された外乱の大きさから、スライディングモード制御器６０３の非線形項ゲインが計算により算出される。またＳ１１０７では、外乱検出部６０６により検出された外乱の大きさから、スライディングモード制御器６０３の非線形項ゲインが計算により算出される。計算式の一例として、式(18)から(20)を用いる方法を示す。
【００６１】
【数８】
2016118892.tif 000010
【００６２】
式(18)においてkは、通常時のスライディングモード制御で設定される非線形項ゲインの値を示し、deは制御対象の状態が設計した切換超平面Ｓに拘束される外乱の上限値を示す。式(19)においてdsは、外乱検出または外乱推定によって得られた外乱の大きさを示す。式(19)のように、dsがdeを上回る場合、制御対象の状態が設計した切換超平面Ｓに拘束されなくなる。よって、式(19)の関係を満たす場合には、式(20)に示すようにknを変更する処理が行われる。これにより、式(16)の条件を満たすことができる。ここで、式(20)のaは、式(16)の条件の不等式を満たすために設けたマージンであり、「a>1」とする。
【００６３】
図１２は、図１１のフローチャートに従う処理によって非線形項ゲインknの値を変更する状況を説明する図である。横軸は単位時間当たりの実外乱の大きさを示し、縦軸は非線形ゲインknの大きさを示す。範囲１２０１は外乱オブザーバ６０５の推定範囲であり、範囲１２０２は外乱検出部６０６の検出範囲である。グラフ線１２０５は、非線形項ゲインを線形的に変更させる際の変化を示す。非線形項ゲインの大きさ「k」（１２０６参照）は、外乱オブザーバ６０５における第１閾値１２０３と外乱検出部６０６における第２閾値１２０４の両方にて外乱の大きさが各閾値を超えない場合の設定値である。つまり、kはスライディングモード制御器６０３の非線形項ゲインとして通常設定される値である。第１位置１２０７は、第１閾値１２０３に対応して非線形項ゲインの値が変更される位置を示し、第２位置１２０８は、第２閾値１２０４に対応して非線形項ゲインの値が変更される位置を示す。グラフ線１２０５は、第１位置１２０７から第２位置１２０８にかけての右上がりの線分ＧＬ１を有する。線分ＧＬ１は、推定外乱の大きさが、外乱オブザーバ６０５における第１閾値１２０３を超えた場合に、非線形項ゲインの値を固定値kから線形的に変更する部分である。すなわち、推定外乱が大きくなるにつれて、固定値kとの差分に比例して非線形項ゲインが大きくなる。またグラフ線１２０５は、第２位置１２０８から右上がりに延びる線分ＧＬ２を有する。線分ＧＬ２は、検出外乱の大きさが、外乱検出部における第２閾値１２０４を超えた場合に、スライディングモード制御器６０３の非線形項ゲインを、検出外乱の大きさに応じて線形的に変更する部分である。
【００６４】
本実施形態では外乱検出部の加速度センサを例示したが、ジャイロセンサを有する構成でもよい。ジャイロセンサは加速度センサと同様に、外乱の大きさを線形的に検出できるため、非線形項ゲインを線形的に変更することが可能である。
【００６５】
また、複数の外乱検出結果と外乱推定結果を用いて外乱評価部６０７が評価した外乱の大きさに応じてスライディングモード制御器６０３の非線形項ゲインを制御する場合、以下に示す第１および第２の処理を組み合わせることができる。
・非線形項ゲインの値を段階的に変更する第１の処理。
・非線形項ゲインの値を線形的に変更する第２の処理。
【００６６】
外乱の状態に応じて、第１の処理と第２の処理を適宜に切り替えることで、選択された処理に応じて非線形項ゲインの値が変更される。例えば、加速度センサによりカメラにかかる加速度を検出し、併せて撮影時の手ぶれをカメラのスイッチ操作から検出する方法を説明する。この場合、加速度センサによって検出された外乱（検出外乱）に応じて実行される第２の処理と、カメラのスイッチ操作をカメラの制御部が検出した場合において優先的に実行される第１の処理とが変更される。さらには、カメラのスイッチ操作の検出と共に一眼レフカメラにおけるミラーのアップダウン動作による外乱を検出して第１の処理を行うことが可能である。以上の処理により、対応できる外乱の種類を増やし、複数の外乱に合わせて適切な非線形項ゲインへの変更が可能となる。
【００６７】
本実施形態によれば、スライディングモード制御器６０３の非線形項ゲインを線形的に変更する処理により、外乱オブザーバ６０５の推定範囲外の外乱が発生した場合でも定常偏差の発生を回避し、または定常偏差を抑制できる。
【符号の説明】
【００６８】
１００  位置制御装置
１０１  ＣＰＵ
１０６  リニアモータ
１０７  リニアエンコーダ
６０１  目標発生部
６０３  スライディングモード制御器
６０５  外乱オブザーバ
６０６  外乱検出部
６０７  外乱評価部
７０６  非線形項
【図１】
2016118892.tif 000011
【図２】
2016118892.tif 000012
【図３】
2016118892.tif 000013
【図４】
2016118892.tif 000014
【図５】
2016118892.tif 000015
【図６】
2016118892.tif 000016
【図７】
2016118892.tif 000017
【図８】
2016118892.tif 000018
【図９】
2016118892.tif 000019
【図１０】
2016118892.tif 000020
【図１１】
2016118892.tif 000021
【図１２】
2016118892.tif 000022