(57)【要約】【課題】制御信号の受信タイミングに遅延が生じても、制御信号に応じた駆動信号を精度よく出力する。【解決手段】制御信号を受信する受信部と、制御信号の受信タイミングのばらつきを補償した補償制御信号を出力する補償処理部と、補償制御信号に基づいて制御対象を制御する制御部と、を備える駆動装置、デバイス、駆動システム、駆動方法、およびプログラムを提供する。制御部は、制御対象を移動させるアクチュエータに接続されてよく、制御信号は、制御対象の目標位置を示してよい。【選択図】図３
2018205516.tif 000002
【特許請求の範囲】
【請求項１】
制御信号を受信する受信部と、
前記制御信号の受信タイミングのばらつきを補償した補償制御信号を出力する補償処理部と、
前記補償制御信号に基づいて制御対象を制御する制御部と、
を備える駆動装置。
【請求項２】
前記制御部は、前記制御対象を移動させるアクチュエータに接続され、
前記制御信号は、前記制御対象の目標位置を示す、請求項１に記載の駆動装置。
【請求項３】
前記受信部は、伝送インターフェースを介してプロセッサに接続され、前記プロセッサがソフトウェア処理により出力する前記制御信号を受信する、請求項１または２に記載の駆動装置。
【請求項４】
前記補償処理部にタイミング信号を生成して供給するタイミング生成部を備え、
前記補償処理部は、前記タイミング信号に基づき、前記補償制御信号を出力する、請求項１から３のいずれか一項に記載の駆動装置。
【請求項５】
前記補償処理部は、前記タイミング信号に基づき、前記制御信号を予め定められたインターバル毎のタイミングにおける推定信号に補償して前記補償制御信号とする、請求項４に記載の駆動装置。
【請求項６】
前記補償処理部は、前記制御信号の受信タイミングが遅延した場合に、既に受信している前記制御信号に基づく推定信号を生成して、前記制御信号の受信タイミングよりも早いタイミングで出力する、請求項４または５に記載の駆動装置。
【請求項７】
前記補償処理部は、前記制御信号の受信タイミングが遅延した場合に、前記タイミング信号に基づき、前期推定信号を出力する、請求項６に記載の駆動装置。
【請求項８】
前記補償処理部は、前記推定信号を出力した後に、前記受信部が前記制御信号を受信した場合、受信した前記制御信号を前記タイミング信号に基づき、遅延時間分戻して周期的な信号に補償する、請求項７に記載の駆動装置。
【請求項９】
前記補償処理部は、前記推定信号を生成するデジタルフィルタを有する、請求項６から８のいずれか一項に記載の駆動装置。
【請求項１０】
前記デジタルフィルタは、既に受信した前記制御信号および係数の積和信号に基づき、前期推定信号を生成する、請求項９に記載の駆動装置。
【請求項１１】
前記デジタルフィルタは、前記制御信号を受信したことに応じて、前記制御信号に対する前記推定信号の誤差に基づき前記係数を更新させる、請求項１０に記載の駆動装置。
【請求項１２】
前記補償処理部は、前記制御信号の受信タイミングが予め定められた遅延量を超えたことに応じて、前期推定信号の大きさを予め定められた値とする、請求項６から１１のいずれか一項に記載の駆動装置。
【請求項１３】
前記補償処理部は、前記制御信号の大きさが予め定められた範囲を超えたことに応じて、前期推定信号の大きさを予め定められた値とする、請求項６から１２のいずれか一項に記載の駆動装置。
【請求項１４】
前記タイミング生成部は、前記制御信号の周波数特性に応じた周期の前記タイミング信号を生成する、請求項４から１３のいずれか一項に記載の駆動装置。
【請求項１５】
前記制御部は、
前記制御対象の位置を検出した検出信号および前記補償制御信号が入力され、前記制御対象の位置を前記制御信号に基づく位置に近づけるように制御するフィードバック信号を出力するフィードバック回路と、
前記フィードバック信号に基づき、前記制御対象を移動させるアクチュエータを駆動する駆動信号を出力する駆動回路と、
を有する、請求項１から１４のいずれか一項に記載の駆動装置。
【請求項１６】
前記制御対象の位置を検出する位置センサと、
請求項１から１５のいずれか一項に記載の駆動装置と、
を備えるデバイス。
【請求項１７】
請求項１６に記載のデバイスと、
前記駆動装置からの駆動信号に応じて前記制御対象を駆動するアクチュエータと
を備える駆動システム。
【請求項１８】
前記制御対象は、レンズを含み、
当該駆動システムは、前記レンズの手振れ補正制御を行う
請求項１７に記載の駆動システム。
【請求項１９】
制御信号を受信することと、
前記制御信号の受信タイミングのばらつきを補償した補償制御信号を出力することと、
前記補償制御信号に基づいて制御対象を制御することと、
を備える駆動方法。
【請求項２０】
コンピュータに、請求項１から１５のいずれか一項に記載の駆動装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、駆動装置、デバイス、駆動システム、駆動方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、デジタルカメラ、携帯電話、小型ＰＣ等に搭載されるレンズを有する光学モジュールは、当該レンズの位置をアクチュエータ等で移動させて制御し、手振れ補正機能等を実行していた（例えば、特許文献１参照）。
特許文献１  国際公開第２０１３／０８７５３３号
【発明の概要】
【発明が解決しようとする課題】
【０００３】
このようなアクチュエータ等を駆動する駆動回路は、レンズの検出位置およびレンズの目標位置の情報に基づき、駆動信号を生成して出力していた。また、駆動回路は、レンズの目標位置の情報を、ＣＰＵ等から伝送インターフェースを介して受け取っていた。したがって、例えば、ＯＳ等によって制御される伝送インターフェースを用いた場合、ＣＰＵおよび駆動回路の間の通信が不定期となってしまうことがあり、駆動回路の受信タイミングが周期的なタイミングからずれてしまうことがあった。この場合、駆動回路は、ずれた時間の間、目標位置の情報がないまま動作を継続させることになってしまい、レンズの位置を正確に制御することが困難になってしまうことがあった。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、制御信号を受信する受信部と、制御信号の受信タイミングのばらつきを補償した補償制御信号を出力する補償処理部と、補償制御信号に基づいて制御対象を制御する制御部と、を備える駆動装置、駆動方法、およびプログラムを提供する。
【０００５】
本発明の第２の態様においては、制御対象の位置を検出する位置センサと、第１の態様の駆動装置と、を備えるデバイスを提供する。
【０００６】
本発明の第３態様においては、第２の態様のデバイスと、駆動装置からの駆動信号に応じて制御対象を駆動するアクチュエータとを備える駆動システムを提供する。
【０００７】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る駆動システム１０００の構成例を、検出部２およびプロセッサ４と共に示す。
【図２】本実施形態に係る駆動システム１０００の理想的な制御信号と、受信信号の一例を示す。
【図３】本実施形態に係る駆動システム１０００が備える駆動装置１００の構成例を示す。
【図４】本実施形態に係る駆動装置１００の動作フローの一例を示す。
【図５】本実施形態に係る駆動装置１００が出力する補償制御信号の一例を示す。
【図６】本実施形態に係る駆動装置１００の変形例を示す。
【図７】本発明の複数の態様が全体的又は部分的に具現化されうるコンピュータ１２００の例を示す。
【発明を実施するための形態】
【０００９】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１０】
図１は、本実施形態に係る駆動システム１０００の構成例を、検出部２およびプロセッサ４と共に示す。駆動システム１０００は、外部から制御信号を受け取り、受け取った制御信号に基づいて制御対象を制御する。
【００１１】
図１は、駆動システム１０００が、光学部品の移動を制御する例を示す。駆動システム１０００は、例えば、外部からの光学部品の目標位置の情報を受信し、当該光学部品を目標位置へと移動させる。図１は、制御対象である光学部品がレンズ１０を含む例を示す。また、制御対象の目標位置を示す制御信号は、検出部２およびプロセッサ４が供給する例を示す。
【００１２】
検出部２は、光学部品または光学部品が搭載される機器等の動きを検出する。検出部２は、例えば、角速度センサ等を有し、レンズ１０の角速度ωを検出する。プロセッサ４は、検出部２の検出結果に基づき、光学部品の目標位置を算出して、当該目標位置を示す制御信号を駆動システム１０００に送信する。プロセッサ４は、例えば、レンズ１０が動いた角度を元に戻すように、目標角度θの情報を、制御信号として駆動システム１０００に送信する。
【００１３】
この場合、駆動システム１０００は、制御信号に応じてレンズ１０の角度を目標位置に移動させることで、カメラ等の手振れ補正制御を実行することになる。駆動システム１０００は、レンズ１０と、アクチュエータ２０と、位置センサ３０と、駆動装置１００と、を備える。
【００１４】
本実施形態において、レンズ１０は、制御対象の一例を示す。これに代えて、またはこれに加えて、制御対象は、プリズム、ミラー、およびグレーティング等の光学部品でよい。また、制御対象は、光学部品に限定されることはない。外部からの制御信号に応じて、制御対象を制御するシステムであれば、制御対象は光学部品に限らず適用可能である。
【００１５】
アクチュエータ２０は、制御対象を移動させる。アクチュエータ２０は、例えば、駆動装置からの駆動信号に応じて制御対象を駆動する。アクチュエータ２０は、磁力によって駆動対象を移動させてよい。例えば、アクチュエータ２０は、コイルを含み、当該コイルに通電することによって磁力を発生させる電磁石を有してよい。アクチュエータ２０は、駆動対象に設けられた磁石を吸着または離間させるように磁力を発生させ、駆動対象を移動させてよい。
【００１６】
アクチュエータ２０は、例えば、駆動対象の一方向の角度を変更する。また、アクチュエータ２０は、複数のアクチュエータを有し、駆動対象の異なる複数の方向の角度を変更させるように移動させてよい。また、アクチュエータ２０は、駆動対象を一方向（例えばＸ方向）または異なる複数の方向に駆動対象を移動させてもよい。アクチュエータ２０は、例えば、異なる２方向（例えばＸおよびＹ方向）または異なる３方向（例えばＸ、Ｙ、およびＺ方向）に駆動対象を移動させる。図１は、アクチュエータ２０が、レンズ１０の光軸に略垂直な面（一例として、ＸＹ面）において、当該レンズ１０を異なる２方向（ＸおよびＹ方向）に移動させる例を示す。
【００１７】
位置センサ３０は、制御対象の位置を検出する。位置センサ３０は、制御対象の１方向の角度および／または位置を検出してよい。また、位置センサ３０は、制御対象の複数の方向の角度および／または位置をそれぞれ検出してもよい。位置センサ３０は、例えば、制御対象の位置に応じて変動する磁場、反射光、渦電流、静電容量、および超音波等をセンスして、制御対象の位置を検出する。
【００１８】
一例として、制御対象が磁石等を有する場合、位置センサ３０は、当該磁石の磁場を検出する磁気センサでよい。位置センサ３０は、ホール素子、ＧＭＲ（Ｇｉａｎｔ  Ｍａｇｎｅｔｏ  Ｒｅｓｉｓｔｉｖｅ）素子、インダクタンスセンサ等を有してよい。位置センサ３０は、制御対象の位置の検出信号を駆動装置１００に供給する。なお、位置センサ３０および駆動装置１００は、一体のデバイスとして形成されてよい。
【００１９】
駆動装置１００は、プロセッサ４からの目標位置の情報を示す制御信号と、位置センサ３０の制御対象の位置情報とに基づき、制御対象の位置を目標位置へと移動させる。駆動対象がレンズ１０の場合、駆動装置１００は、レンズの手振れ補正制御またはフォーカス制御を実行するように、アクチュエータ２０を駆動してよい。駆動装置１００は、受信部１１０および制御部１２０を有する。
【００２０】
受信部１１０は、制御信号を受信する。受信部１１０は、例えば、伝送インターフェースを介してプロセッサ４に接続され、プロセッサ４がソフトウェア処理により出力する制御信号を受信する。受信部１１０は、受信した制御信号を制御部１２０に供給する。
【００２１】
制御部１２０は、制御信号と位置センサ３０からの検出信号とに基づき、制御対象を制御する。制御部１２０は、アクチュエータ２０に接続され、当該アクチュエータ２０を駆動する駆動信号をアクチュエータ２０に供給する。制御部１２０は、フィードバック回路１２２および駆動回路１２４を含む。
【００２２】
フィードバック回路１２２は、制御対象の位置を検出した検出信号および制御信号が入力され、制御対象の位置を制御信号に基づく位置に近づけるように制御するフィードバック信号を出力する。フィードバック回路１２２は、例えば、ＰＩＤ（Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ）制御に基づく制御信号を発生させて駆動回路１２４に供給する。
【００２３】
駆動回路１２４は、フィードバック信号に基づき、制御対象を移動させるアクチュエータ２０を駆動する駆動信号を出力する。駆動回路１２４は、例えば、増幅回路等を有し、フィードバック信号に応じた駆動信号でアクチュエータ２０を駆動する。
【００２４】
以上の本実施形態に係る駆動システム１０００は、目標位置の情報に応じて、制御対象の位置を精度よく制御することができる。しかしながら、このような駆動システム１０００は、外部からの制御信号に応じて制御対象を制御するので、当該制御信号の受信タイミングが変動すると、正しく制御することが困難になってしまう。
【００２５】
例えば、Ｉ２Ｃ（アイ・スクエアド・シー）等のＯＳ等によって伝送信号の優先順位等が制御される伝送インターフェースを用いて、プロセッサ４から駆動装置１００に制御信号を伝送させる例を考える。この場合、予め定められた周期でプロセッサ４が制御信号を生成しても、ＯＳが例えば音楽データ、画像データ、および他の制御信号等の伝送を優先させて実行すると、駆動装置１００は、当該制御信号を略一定の周期で受信することができなくなってしまう。
【００２６】
図２は、本実施形態に係る駆動システム１０００の理想的な制御信号と、受信信号の一例を示す。図２の横軸は時間を示し、縦軸は信号強度を示す。理想的な制御信号は、例えば、略一定のクロック周期に応じて生成され、伝送されることが望ましい。図２に示す理想的な制御信号は、略一定のインターバル時間Δｔ毎に制御信号が発生する例を示す。
【００２７】
このような制御信号をプロセッサ４が生成しても、ＯＳの伝送インターフェースの制御に応じて、一時的に不定期な遅延が生じるので、駆動システム１０００は、図２の例に示すような受信信号を制御信号として用いなければならない。例えば、駆動システム１０００は、時刻ｔ０およびｔ１において制御信号を受信した後、時刻ｔ１からΔｔ後の時刻ｔ２よりも遅延した時刻ｔ２'において次の制御信号を受信し、また、時刻ｔ２からΔｔ後の時刻ｔ３よりも遅延した時刻ｔ３'において次の制御信号を受信する。
【００２８】
この場合、駆動システム１０００は、時刻ｔ２、ｔ３、・・・において、目標位置の情報がないまま動作を継続させることになるので、制御対象を正確に制御することが困難になってしまう。そこで、本実施形態に係る駆動装置１００は、制御信号の受信タイミングに遅延が生じた場合、推定信号を生成して内部の信号伝達に遅延が生じることを防止する。また、駆動装置１００は、遅延して受信した制御信号を予め定められたインターバル時間ごとの信号に補償する。このような駆動装置１００を備える駆動システム１０００について、次に説明する。
【００２９】
図３は、本実施形態に係る駆動システム１０００が備える駆動装置１００の構成例を示す。本実施形態に係る駆動システム１０００において、図１に示された駆動システム１０００の動作と略同一のものには同一の符号を付け、説明を省略する。駆動装置１００は、タイミング生成部２１０と、補償処理部２２０と、を更に備える。なお、本実施形態に係る駆動システム１０００は端末の中に組み込まれて用いられてよい。上記端末としては、例えば、スマートフォン、タブレット、小型ＰＣ等が挙げられる。
【００３０】
タイミング生成部２１０は、タイミング信号を生成する。タイミング生成部２１０は、例えば、制御信号に基づき、略一定の周期のタイミング信号を生成する。タイミング生成部２１０は、遅延が生じていない理想的な制御信号の周期と略同一の周期のタイミング信号を生成することが望ましい。また、これに代えて、タイミング生成部２１０は、理想的な制御信号の周期よりも長い周期のタイミング信号を生成してもよい。
【００３１】
受信部１１０は、伝送インターフェースにおいて一時的な遅延が生じていない場合、略一定の周期で制御信号を受信する。したがって、受信した制御信号の周波数特性は、理想的な制御信号の周期に対応する周波数成分がより大きな値となる。そこで、タイミング生成部２１０は、受信した制御信号の周波数特性に応じた周期のタイミング信号を生成してよい。この場合、タイミング生成部２１０は、例えば、制御信号を周波数変換し、ピーク値となる周波数と略同一の周波数のタイミング信号を生成する。タイミング生成部２１０は、フーリエ変換等の演算処理を用いて制御信号を周波数変換してよい。
【００３２】
これに代えて、タイミング生成部２１０は、プロセッサ４から同期信号を取得してもよい。この場合、タイミング生成部２１０は、同期信号に基づき、タイミング信号を生成する。タイミング生成部２１０は、生成したタイミング信号を補償処理部２２０に供給する。
【００３３】
補償処理部２２０は、制御信号の受信タイミングのばらつきを補償した補償制御信号を出力する。補償処理部２２０は、タイミング信号に基づき、補償制御信号を出力する。補償処理部２２０は、例えば、制御信号の受信タイミングがタイミング信号と同期している場合、受信した制御信号をタイミング信号に基づくタイミングで制御部１２０に供給する。また、補償処理部２２０は、制御信号の受信タイミングがタイミング信号と比較して遅延している場合、既に受信している制御信号に基づく推定信号を生成して、制御信号の受信タイミングよりも早いタイミングで補償制御信号として出力してよい。
【００３４】
補償処理部２２０は、制御信号の受信タイミングが遅延した場合において、タイミング信号に基づき、推定信号を出力してよい。これにより、補償処理部２２０は、受信タイミングの遅延の有無に関わらず、制御信号または推定信号をタイミング信号と同期した補償制御信号として制御部１２０に供給できる。
【００３５】
また、補償処理部２２０は、推定信号を出力した後に、受信部１１０が遅延した制御信号を受信した場合、受信した制御信号をタイミング信号に基づき、遅延時間分戻して周期的な信号に補償する。即ち、補償処理部２２０は、推定信号を制御部１２０に供給する一方で、その後に受信した制御信号を推定信号に代えて制御信号の履歴に含める。これにより、補償処理部２２０は、次回の推定信号の生成において、推定信号ではなく受信した制御信号を用いて推定することができる。
【００３６】
本実施形態に係る制御部１２０は、このような補償制御信号に基づいて、制御対象を制御する。即ち、フィードバック回路１２２は、制御対象の位置を検出した検出信号および補償制御信号が入力され、制御対象の位置を制御信号に基づく位置に近づけるように制御する。
【００３７】
以上のように、本実施形態に係る駆動装置１００は、制御信号の受信タイミングに遅延が生じている場合に、推定信号を発生させて制御部１２０に供給するので、制御部１２０は、目標位置の推定値を用いて駆動信号を出力することができる。したがって、駆動装置１００は、目標位置がないまま、または、過去の目標値のまま制御動作を継続させる場合と比較して、より正確な制御を実行することができる。このような駆動装置１００の制御動作について次に説明する。
【００３８】
図４は、本実施形態に係る駆動装置１００の動作フローの一例を示す。本実施形態に係る駆動装置１００は、図４に示す動作フローを実行して、制御対象の位置を制御してよい。まず、Ｓ３１０において、受信部１１０は、プロセッサ４から制御信号を受信する。受信部１１０は、受信した制御信号をタイミング生成部２１０および補償処理部２２０に供給する。なお、受信部１１０は、受信した制御信号を記憶部等に記憶してもよい。
【００３９】
次に、Ｓ３２０において、タイミング生成部２１０は、制御信号に応じてタイミング信号を生成する。ここで、制御信号の周波数成分を算出できない程度に、受信した制御信号の数が少ない初期段階の場合、タイミング生成部２１０は、予め定められた周期のタイミング信号を出力してよい。また、タイミング生成部２１０は、過去に出力したタイミング信号と略同一の周期のタイミング信号を出力してよい。これに代えて、タイミング生成部２１０は、周波数成分を算出できるまでタイミング信号を出力しなくてもよい。
【００４０】
次に、補償処理部２２０は、タイミング信号に基づくタイミングで補償制御信号を出力する。補償処理部２２０は、タイミング信号と比較して制御信号に遅延が生じているか否かに応じて、補償制御信号として出力する信号を決定する。補償処理部２２０は、制御信号に遅延が生じていない場合（Ｓ３３０：Ｎｏ）、タイミング信号のタイミングで、受信した制御信号を補償制御信号として出力する（Ｓ３４０）。
【００４１】
なお、補償処理部２２０は、初期段階において、タイミング生成部２１０がタイミング信号を生成しない場合、受信した制御信号のタイミングに同期して、制御信号を出力してよい。即ち、初期段階においては、補償処理部２２０は、補償動作を実行せずに制御信号を出力してよい。制御部１２０は、補償処理部２２０から受け取った制御信号に基づき、駆動信号を生成してアクチュエータ２０に供給する（Ｓ３７０）。
【００４２】
また、補償処理部２２０は、制御信号に遅延が生じている場合（Ｓ３３０：Ｙｅｓ）、タイミング信号のタイミングで、推定信号を出力する（Ｓ３５０）。補償処理部２２０は、デジタルフィルタを有し、当該デジタルフィルタが制御信号をフィルタリングすることで、推定信号を生成してよい。この場合、デジタルフィルタは、ＦＩＲフィルタ等を含んでよい。
【００４３】
例えば、デジタルフィルタは、既に受信した制御信号および係数の積和信号に基づき、推定信号を生成してよい。この場合、デジタルフィルタは、２以上の制御信号を用いて、次式のように推定信号を生成する。
【数１】
2018205516.tif 000003
【００４４】
ここで、ａｉは係数であり、θｉは過去の制御信号である。また、θ'は、過去の制御信号θｉに基づき、次の制御信号θｉ＋１を推定した推定信号である。過去の制御信号θｉは、推定する時刻により近い直前の制御信号を用いることが望ましい。また、ｎは推定に用いる制御信号の数である。例えば、ｎが２の場合、デジタルフィルタは、推定信号の値を直前の２点の制御信号の傾きに応じた値とする。なお、係数ａｉは、予め定められた値でよい。また、係数ａｉは、推定動作による推定結果と、実際の制御信号との誤差を低減させるように、複数回の推定動作に伴って調整されてよい。
【００４５】
次に、Ｓ３６０において、補償処理部２２０は、推定した推定信号をクリッピングしてよい。補償処理部２２０は、推定した推定信号の大きさが予め定められた範囲を超えたことに応じて、推定信号の大きさを予め定められた値としてよい。補償処理部２２０は、推定信号の上限値および下限値を予め定め、推定信号が上限値を超えた場合は上限値を、下限値を下回った場合は下限値を、推定信号としてよい。これにより、制御対象が移動しすぎることを防止できる。
【００４６】
また、補償処理部２２０は、直前の２点の制御信号の傾きが予め定められた範囲を超えたことに応じて、推定信号の大きさを予め定められた値としてよい。補償処理部２２０は、制御信号の変動がしきい値を超えたことに応じて、推定信号の大きさを前回の制御信号の大きさと同一にしてよい。これに代えて、補償処理部２２０は、推定信号の大きさを、前回の制御信号の大きさと今回推定した信号の大きさの平均値としてもよい。これにより、制御信号の変動が大きい場合に、推定信号の大きさの変動を低減させて、誤差が増大することを防止できる。
【００４７】
また、補償処理部２２０は、制御信号の受信タイミングが予め定められた遅延量を超えたことに応じて、推定信号の大きさを予め定められた値としてよい。例えば、受信タイミングの遅延が数周期遅れてしまうと、推定信号を用いて推定する動作を数回継続することになるので、誤差が増加してしまうことがある。そこで、補償処理部２２０は、このような誤差が増加することを防止すべく、推定信号の大きさを前回の推定信号の大きさと同一にしてよい。
【００４８】
これに代えて、補償処理部２２０は、推定信号の大きさを、前回の推定信号の大きさと今回推定した信号の大きさの平均値としてもよい。これに代えて、駆動装置１００は、制御信号の受信タイミングが予め定められた遅延量を超えたことに応じて、当該駆動装置１００の動作をリセットしてもよい。
【００４９】
次に、Ｓ３７０において、制御部１２０は、補償制御信号および検出信号に基づき、駆動信号を生成してアクチュエータ２０に供給する。補償処理部２２０が、タイミング信号に基づき、制御信号を予め定められたインターバル毎のタイミングにおける推定信号に補償して補償制御信号とするので、制御部１２０は、制御信号に遅延が生じても、推定信号を用いてアクチュエータ２０を制御することができる。
【００５０】
次に、Ｓ３８０において、補償処理部２２０は、タイミング信号毎に、補償制御信号の履歴を更新する。補償処理部２２０は、一のタイミング信号に対応して制御信号を補償制御信号として出力した場合、当該制御信号を当該一のタイミング信号における補償制御信号の履歴として加える。また、補償処理部２２０は、一のタイミング信号に対応して推定信号を補償制御信号として出力した場合、当該推定信号に代えて、遅延した制御信号を当該一のタイミング信号における補償制御信号の履歴として加えてよい。
【００５１】
補償処理部２２０は、推定信号を出力した後から、次のタイミング信号までの期間に、受信部１１０が遅延した制御信号を受信した場合、当該遅延した制御信号を制御信号の履歴に加える。即ち、補償処理部２２０は、受信した制御信号のタイミングを、タイミング信号から遅延時間分戻して、周期的な信号とした信号を補償制御信号の履歴とする。これにより、次回の制御信号が遅延した場合に、補償処理部２２０は、制御部１２０に送信した推定信号ではなく、実際に受信した制御信号に基づく推定を実行することができる。
【００５２】
補償処理部２２０は、推定信号を出力した後から、次のタイミング信号までの期間に、受信部１１０が遅延した制御信号を受信しなかった場合、制御部１２０に送信した推定信号を補償制御信号の履歴に加えてよい。このように、制御信号の遅延量がタイミング信号の１周期を超える場合は、一時的に、推定信号を用いて補償制御信号の履歴を補償してよい。この場合、次回の制御信号が遅延すると、補償処理部２２０は、制御部１２０に送信した推定信号に基づく推定を実行することになる。
【００５３】
なお、制御信号の伝送の優先順位がＯＳによって変更されて、プロセッサ４からの制御信号の送信が再開された場合、受信部１１０は、複数周期分の制御信号を受信することがある。この場合、補償処理部２２０は、受信した複数周期分の制御信号のそれぞれを、一時的に補償した推定信号に代えて補償し、補償制御信号の履歴を更新してよい。
【００５４】
駆動装置１００は、制御対象の制御を継続する場合（Ｓ３９０：Ｙｅｓ）、Ｓ３１０に戻り、次の制御信号を受信してよい。また、駆動装置１００は、制御対象の制御を終了する場合（Ｓ３９０：Ｎｏ）、制御動作を終了させてよい。駆動装置１００は、タイミング信号の周期、およびデジタルフィルタの係数といったパラメータを記憶してよい。
【００５５】
以上のように、本実施形態に係る駆動装置１００は、制御信号の受信タイミングのばらつきを補償しつつ、補償制御信号の履歴を更新する。このような駆動装置１００が処理する補償制御信号について次に説明する。
【００５６】
図５は、本実施形態に係る駆動装置１００が出力する補償制御信号の一例を示す。図５の横軸は時間を示し、縦軸は信号強度を示す。また、図５の実線は、プロセッサ４内で算出する角度信号を連続値で示した例である。また、時刻ｔ０、ｔ１、ｔ２、・・・は、タイミング生成部２１０が生成するタイミング信号の信号タイミングの一例を示す。ここで、タイミング信号は、略一定のインターバル時間Δｔごとのタイミング信号であり、遅延のない制御信号の出力タイミングと同期しているものとする。
【００５７】
図５において、実線の丸で示した信号（Ｃ０、Ｃ１、Ｃ２、・・・）が、受信部１１０が受信する制御信号の一例である。また、実線の四角形で示した信号（Ｐ１、Ｐ２、Ｐ３、・・・）が推定信号の一例である。制御信号Ｃ０および制御信号Ｃ１は、遅延なく受信された例を示す。この場合、補償処理部２２０は、制御信号Ｃ０および制御信号Ｃ１をそのまま制御部１２０に供給する。即ち、補償制御信号は、時刻ｔ０で制御信号Ｃ０を出力し、時刻ｔ１で制御信号Ｃ１を出力する信号となる。
【００５８】
制御信号Ｃ２から制御信号Ｃ５は、タイミング信号から遅延した信号の例を示す。この場合、補償処理部２２０は、時刻ｔ２において推定信号Ｐ１を出力する。図５は、補償処理部２２０が、制御信号Ｃ０および制御信号Ｃ１を用いて推定信号Ｐ１を生成して出力する例を示す。即ち、補償制御信号は、時刻ｔ２で推定信号Ｐ１を出力する信号となる。そして、時刻ｔ２'において制御信号Ｃ２を受信部１１０が受信すると、補償処理部２２０は、補償制御信号の履歴を、時刻ｔ２における推定信号Ｐ１に代えて、制御信号Ｃ２を時刻ｔ２における信号に更新する。
【００５９】
次に、補償処理部２２０は、制御信号Ｃ３の遅延により、時刻ｔ３において推定信号Ｐ２を出力する。この場合、補償処理部２２０は、補償制御信号の履歴を更新しているので、制御信号Ｃ１および制御信号Ｃ２を用いて推定信号Ｐ２を推定することができる。受信部１１０が時刻ｔ３'において制御信号Ｃ３を受信すると、補償処理部２２０は、同様に、推定信号Ｐ２に代えて、制御信号Ｃ３を時刻ｔ３における信号とする。これにより、補償処理部２２０は、時刻ｔ４において、制御信号Ｃ２および制御信号Ｃ３を用いた推定信号Ｐ３を推定して出力できる。受信部１１０が時刻ｔ４'において制御信号Ｃ４を受信すると、補償処理部２２０は、同様に、推定信号Ｐ３に代えて、制御信号Ｃ４を時刻ｔ４における信号とする。
【００６０】
次に、補償処理部２２０は、時刻ｔ５において、制御信号Ｃ３および制御信号Ｃ４を用いて推定信号Ｐ４を推定する。ここで、図５は、推定信号Ｐ４が、信号下限値を下回る例を示す。この場合、補償処理部２２０は、クリップ処理により、例えば、時刻ｔ４における制御信号Ｃ４と同一の大きさの信号を、時刻ｔ５における推定信号Ｐ４'とする。
【００６１】
なお、図５は、時刻ｔ６においても、受信部１１０が制御信号Ｃ５を受信しない例を示す。この場合、推定信号Ｐ４'が、時刻ｔ５における補償制御信号の履歴となる。したがって、補償処理部２２０は、時刻ｔ６において、制御信号Ｃ４および推定信号Ｐ４'を用いて、推定信号Ｐ５を推定して出力することになる。
【００６２】
以上のように、本実施形態に係る駆動装置１００は、制御信号の受信タイミングがばらついても、推定信号を生成して、制御対象を安定に制御することができる。また、駆動装置１００は、遅延した制御信号を受信した場合、遅延した制御信号を補償制御信号の履歴に加えて次の推定信号の生成に用いるので、制御の精度が低下することを防止できる。
【００６３】
以上の本実施形態に係る補償処理部２２０は、過去に受信した制御信号を用いて、（数１）式のように線形補外して推定信号を生成する例を説明したが、推定信号の生成はこれに限定されることはない。例えば、補償処理部２２０は、制御信号を受信したことに応じて、制御信号に対する推定信号の誤差に基づき係数を更新させるデジタルフィルタを有してよい。この場合、デジタルフィルタは、適応フィルタ等を含んでよい。
【００６４】
即ち、補償処理部２２０は、時系列に係数を更新してよい。例えば、補償処理部２２０は、時刻ｔｊにおける係数ａｉ（ｔｊ）を用いて、時刻ｔｊにおける推定信号θ'（ｔｊ）を次式のように生成する。
【数２】
2018205516.tif 000004
【００６５】
補償処理部２２０は、受信部１１０が推定信号θ'（ｔｊ）に対応する制御信号θｉ＋１を受信したことに応じて、制御信号に対する推定信号の誤差Ｅを算出することができる。そこで、補償処理部２２０は、当該誤差Ｅを用いて、係数ａｉ（ｔｊ）を次式のように更新する。
【数３】
2018205516.tif 000005
【００６６】
ここでμは、１回の更新で更新させる量を調整する更新パラメータである。補償処理部２２０は、誤差Ｅが小さくなるように、ＮＬＭＳ（Ｎｏｒｍａｌｉｚｅｄ  Ｌｅａｓｔ  Ｍｅａｎ  Ｓｑｕａｒｅ）アルゴリズム等を用いて、係数ａｉを更新させてよい。補償処理部２２０は、１または複数回の係数ａｉの更新を実行してよい。
【００６７】
図５の例で説明すると、補償処理部２２０が時刻ｔ２において推定信号Ｐ１を出力した後、受信部１１０が時刻ｔ２'において制御信号Ｃ２を受信する。そこで、補償処理部２２０は、誤差Ｅ＝Ｃ２−Ｐ１を算出し、推定信号Ｐ１を算出した係数ａｉを１または複数回更新させる。そして、補償処理部２２０は、時刻ｔ３において制御信号Ｃ３が受信されなかった場合に、更新した係数ａｉを用いて、推定信号を算出する。補償処理部２２０は、誤差Ｅを低減させるように係数ａｉを更新するので、単純な線形補正による推定信号Ｐ２と比較して、より精度よく推定信号を算出することができる。
【００６８】
また、補償処理部２２０は、更に、タイミング生成部２１０が生成するタイミング信号とプロセッサ４の制御信号の更新時間の誤差を、（数３）式に組み込み、係数ａｉを更新してもよい。これにより、タイミング信号の誤差を考慮して、より正確な推定信号を生成することができる。
【００６９】
図６は、本実施形態に係る駆動装置１００の変形例を示す。駆動装置１００の変形例において、図３に示された駆動装置１００の動作と略同一のものには同一の符号を付け、説明を省略する。駆動装置１００の変形例は、（数３）式に示す係数の更新を実行する。即ち、補償処理部２２０は、推定信号を制御部１２０に供給すると共に、自身にフィードバックして、誤差Ｅを算出する。
【００７０】
図７は、本発明の複数の態様が全体的又は部分的に具現化されうるコンピュータ１２００の例を示す。コンピュータ１２００にインストールされたプログラムは、コンピュータ１２００に、本発明の実施形態に係る装置に関連付けられるオペレーション又は当該装置の１又は複数の「部」として機能させ、又は当該オペレーション又は当該１又は複数の「部」を実行させることができ、及び／又はコンピュータ１２００に、本発明の実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。このようなプログラムは、コンピュータ１２００に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、ＣＰＵ１２１２によって実行されてよい。
【００７１】
本実施形態によるコンピュータ１２００は、ＣＰＵ１２１２、ＲＡＭ１２１４、グラフィックコントローラ１２１６、及びディスプレイデバイス１２１８を含み、これらはホストコントローラ１２１０によって相互に接続される。コンピュータ１２００はまた、通信インターフェース１２２２、ハードディスクドライブ１２２４、ＤＶＤ−ＲＯＭドライブ１２２６、及びＩＣカードドライブのような入出力ユニットを含み、これらは入出力コントローラ１２２０を介してホストコントローラ１２１０に接続される。コンピュータはまた、ＲＯＭ１２３０及びキーボード１２４２のようなレガシの入出力ユニットを含み、これらは入出力チップ１２４０を介して入出力コントローラ１２２０に接続される。
【００７２】
ＣＰＵ１２１２は、ＲＯＭ１２３０及びＲＡＭ１２１４内に格納されたプログラムに従い動作し、これにより各ユニットを制御する。グラフィックコントローラ１２１６は、ＲＡＭ１２１４内に提供されるフレームバッファ等又は当該グラフィックコントローラ１２１６自体の中に、ＣＰＵ１２１２によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス１２１８上に表示させる。
【００７３】
通信インターフェース１２２２は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ１２２４は、コンピュータ１２００内のＣＰＵ１２１２によって使用されるプログラム及びデータを格納する。ＤＶＤ−ＲＯＭドライブ１２２６は、プログラム又はデータをＤＶＤ−ＲＯＭ１２０１から読み取り、ハードディスクドライブ１２２４にＲＡＭ１２１４を介してプログラム又はデータを提供する。ＩＣカードドライブは、プログラム及びデータをＩＣカードから読み取り、及び／又はプログラム及びデータをＩＣカードに書き込む。
【００７４】
ＲＯＭ１２３０は、内部に、アクティブ化時にコンピュータ１２００によって実行されるブートプログラム等、及び／又はコンピュータ１２００のハードウェアに依存するプログラムを格納する。入出力チップ１２４０はまた、様々な入出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ１２２０に接続してよい。
【００７５】
プログラムが、ＤＶＤ−ＲＯＭ１２０１又はＩＣカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもあるハードディスクドライブ１２２４、ＲＡＭ１２１４、又はＲＯＭ１２３０にインストールされ、ＣＰＵ１２１２によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ１２００に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ１２００の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【００７６】
例えば、通信がコンピュータ１２００及び外部デバイス間で実行される場合、ＣＰＵ１２１２は、ＲＡＭ１２１４にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェース１２２２に対し、通信処理を命令してよい。通信インターフェース１２２２は、ＣＰＵ１２１２の制御の下、ＲＡＭ１２１４、ハードディスクドライブ１２２４、ＤＶＤ−ＲＯＭ１２０１、又はＩＣカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【００７７】
また、ＣＰＵ１２１２は、ハードディスクドライブ１２２４、ＤＶＤ−ＲＯＭドライブ１２２６（ＤＶＤ−ＲＯＭ１２０１）、ＩＣカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がＲＡＭ１２１４に読み取られるようにし、ＲＡＭ１２１４上のデータに対し様々なタイプの処理を実行してよい。ＣＰＵ１２１２は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【００７８】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような、様々なタイプの情報が、情報処理されるべく、記録媒体に格納されてよい。ＣＰＵ１２１２は、ＲＡＭ１２１４から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索／置換等を含む、様々なタイプの処理を実行してよく、結果をＲＡＭ１２１４に対しライトバックする。また、ＣＰＵ１２１２は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第２の属性の属性値に関連付けられた第１の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、ＣＰＵ１２１２は、当該複数のエントリの中から、第１の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第２の属性の属性値を読み取り、これにより予め定められた条件を満たす第１の属性に関連付けられた第２の属性の属性値を取得してよい。
【００７９】
以上の説明によるプログラム又はソフトウェアモジュールは、コンピュータ１２００上又はコンピュータ１２００近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はＲＡＭのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、これにより、プログラムをコンピュータ１２００にネットワークを介して提供する。
【００８０】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００８１】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００８２】
２  検出部、４  プロセッサ、１０  レンズ、２０  アクチュエータ、３０  位置センサ、１００  駆動装置、１１０  受信部、１２０  制御部、１２２  フィードバック回路、１２４  駆動回路、２１０  タイミング生成部、２２０  補償処理部、１０００  駆動システム、１２００  コンピュータ、１２０１  ＤＶＤ−ＲＯＭ、１２１０  ホストコントローラ、１２１２  ＣＰＵ、１２１４  ＲＡＭ、１２１６  グラフィックコントローラ、１２１８  ディスプレイデバイス、１２２０  入出力コントローラ、１２２２  通信インターフェース、１２２４  ハードディスクドライブ、１２２６  ＤＶＤ−ＲＯＭドライブ、１２３０  ＲＯＭ、１２４０  入出力チップ、１２４２  キーボード
【図１】
2018205516.tif 000006
【図２】
2018205516.tif 000007
【図３】
2018205516.tif 000008
【図４】
2018205516.tif 000009
【図５】
2018205516.tif 000010
【図６】
2018205516.tif 000011
【図７】
2018205516.tif 000012