IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カシオ計算機株式会社の特許一覧

<>
  • 特許-電子機器、較正制御方法及びプログラム 図1
  • 特許-電子機器、較正制御方法及びプログラム 図2
  • 特許-電子機器、較正制御方法及びプログラム 図3
  • 特許-電子機器、較正制御方法及びプログラム 図4
  • 特許-電子機器、較正制御方法及びプログラム 図5
  • 特許-電子機器、較正制御方法及びプログラム 図6
  • 特許-電子機器、較正制御方法及びプログラム 図7
  • 特許-電子機器、較正制御方法及びプログラム 図8
  • 特許-電子機器、較正制御方法及びプログラム 図9
  • 特許-電子機器、較正制御方法及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-25
(45)【発行日】2023-10-03
(54)【発明の名称】電子機器、較正制御方法及びプログラム
(51)【国際特許分類】
   G01C 17/38 20060101AFI20230926BHJP
   G01R 33/02 20060101ALI20230926BHJP
【FI】
G01C17/38 K
G01C17/38 B
G01R33/02 X
【請求項の数】 8
(21)【出願番号】P 2020077239
(22)【出願日】2020-04-24
(62)【分割の表示】P 2018198581の分割
【原出願日】2018-10-22
(65)【公開番号】P2020118699
(43)【公開日】2020-08-06
【審査請求日】2021-10-01
(31)【優先権主張番号】P 2017248212
(32)【優先日】2017-12-25
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(72)【発明者】
【氏名】野村 敬一
(72)【発明者】
【氏名】南 剛
(72)【発明者】
【氏名】内田 修平
【審査官】西 秀隆
(56)【参考文献】
【文献】米国特許出願公開第2017/0343349(US,A1)
【文献】特開2017-116265(JP,A)
【文献】特開2017-166895(JP,A)
【文献】特開2016-057183(JP,A)
【文献】特開2015-215238(JP,A)
【文献】特開2015-118073(JP,A)
【文献】特開2015-062043(JP,A)
【文献】特開2014-219340(JP,A)
【文献】特表2013-527915(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 17/38
G01R 33/02
(57)【特許請求の範囲】
【請求項1】
地磁気センサと、
角速度センサと、
前記角速度センサのオン/オフ制御を行う制御手段と、
前記地磁気センサの出力誤差の較正を行う較正手段と、
1判定条件または第2判定条件の少なくとも何れかが充足されたか否かを判定する動作判定手段と、
を備え、
前記較正手段は、前記角速度センサがオンであり、且つ前記動作判定手段によって前記第1判定条件または前記第2判定条件が充足されたと判定された場合に、前記地磁気センサの出力誤差の較正を行い、前記角速度センサがオフであり、且つ前記動作判定手段によって前記第1判定条件が充足されたと判定された場合に、前記地磁気センサの出力誤差の較正を行い、
前記第1判定条件は、アプリケーションの利用、キャリブレーションの指示、歩行、充電終了、電子機器の視認動作、腕からの電子機器取り外し、の少なくとも何れかがあった場合を含み、
前記第2判定条件は、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時の姿勢からの累積的な姿勢変化量、直前のキャリブレーション時点からの累積的な磁場変化量、の少なくとも何れかが所定の閾値を超えた場合を含むことを特徴とする電子機器。
【請求項2】
地磁気センサと、
角速度センサと、
前記角速度センサのオン/オフ制御を行う制御手段と、
前記地磁気センサの出力誤差の較正を行う較正手段と、
定条件が充足されたか否かを判定する動作判定手段と、
を備え、
前記較正手段は、前記角速度センサがオンであり、且つ前記動作判定手段によって前記判定条件が充足されたと判定された場合に、前記地磁気センサの出力誤差の較正を行い、
前記判定条件は、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時の姿勢からの累積的な姿勢変化量、直前のキャリブレーション時点からの累積的な磁場変化量、の少なくとも何れかが所定の閾値を超えた場合を含むことを特徴とする電子機器。
【請求項3】
前記制御手段は、前記動作判定手段が前記地磁気センサの出力誤差の較正に利用可能な
動作を行っていると判定した場合に、前記角速度センサをオンするように制御することを特徴とする請求項1または請求項2に記載の電子機器。
【請求項4】
前記制御手段は、前記動作判定手段が前記地磁気センサの出力誤差の較正に利用可能な動作を行っていないと判定した場合に、前記角速度センサをオフするように制御することを特徴とする請求項1または請求項2に記載の電子機器。
【請求項5】
地磁気センサと、
角速度センサと、
前記角速度センサのオン/オフ制御を行う制御手段と、
前記地磁気センサの出力誤差の較正を行う較正手段と、
1判定条件または第2判定条件の少なくとも何れかが充足されたか否かを判定する動作判定手段と、
を備える電子機器が実行する較正制御方法であって、
前記角速度センサがオンであり、且つ前記動作判定手段によって前記第1判定条件または前記第2判定条件が充足されたと判定された場合に、前記地磁気センサの出力誤差の較正を行い、前記角速度センサがオフであり、且つ前記動作判定手段によって前記第1判定条件が充足されたと判定された場合に、前記地磁気センサの出力誤差の較正を行う較正ステップを含み、
前記第1判定条件は、アプリケーションの利用、キャリブレーションの指示、歩行、充電終了、電子機器の視認動作、腕からの電子機器取り外し、の少なくとも何れかがあった場合を含み、
前記第2判定条件は、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時の姿勢からの累積的な姿勢変化量、直前のキャリブレーション時点からの累積的な磁場変化量、の少なくとも何れかが所定の閾値を超えた場合を含むことを特徴とする較正制御方法。
【請求項6】
地磁気センサと、
角速度センサと、
前記角速度センサのオン/オフ制御を行う制御手段と、
前記地磁気センサの出力誤差の較正を行う較正手段と、
定条件が充足されたか否かを判定する動作判定手段と、
を備える電子機器が実行する較正制御方法であって、
前記角速度センサがオンであり、且つ前記動作判定手段によって前記判定条件が充足されたと判定された場合に、前記地磁気センサの出力誤差の較正を行う較正ステップを含み、
前記判定条件は、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時の姿勢からの累積的な姿勢変化量、直前のキャリブレーション時点からの累積的な磁場変化量、の少なくとも何れかが所定の閾値を超えた場合を含むことを特徴とする較正制御方法。
【請求項7】
地磁気センサと、
角速度センサと、
前記角速度センサのオン/オフ制御を行う制御手段と、
前記地磁気センサの出力誤差の較正を行う較正手段と、
1判定条件または第2判定条件の少なくとも何れかが充足されたか否かを判定する動作判定手段と、
を備える電子機器を制御するコンピュータに、
前記角速度センサがオンであり、且つ前記動作判定手段によって前記第1判定条件または前記第2判定条件が充足されたと判定された場合に、前記地磁気センサの出力誤差の較正を行い、前記角速度センサがオフであり、且つ前記動作判定手段によって前記第1判定条件が充足されたと判定された場合に、前記地磁気センサの出力誤差の較正を行う較正機能を実現し、
前記第1判定条件は、アプリケーションの利用、キャリブレーションの指示、歩行、充電終了、電子機器の視認動作、腕からの電子機器取り外し、の少なくとも何れかがあった場合を含み、
前記第2判定条件は、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時の姿勢からの累積的な姿勢変化量、直前のキャリブレーション時点からの累積的な磁場変化量、の少なくとも何れかが所定の
閾値を超えた場合を含むことを特徴とするプログラム。
【請求項8】
地磁気センサと、
角速度センサと、
前記角速度センサのオン/オフ制御を行う制御手段と、
前記地磁気センサの出力誤差の較正を行う較正手段と、
定条件が充足されたか否かを判定する動作判定手段と、
を備える電子機器を制御するコンピュータに、
前記角速度センサがオンであり、且つ前記動作判定手段によって前記判定条件が充足されたと判定された場合に、前記地磁気センサの出力誤差の較正を行う較正機能を実現し、
前記判定条件は、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時の姿勢からの累積的な姿勢変化量、直前のキャリブレーション時点からの累積的な磁場変化量、の少なくとも何れかが所定の閾値を超えた場合を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器、較正制御方法及びプログラムに関する。
【背景技術】
【0002】
従来、地磁気センサが出力する磁気データのオフセットを迅速に推定するために、角速度センサで自身の回転量に応じた角速度データを取得して、その角速度データに基づいて、地磁気センサが正確な磁気データを出力できるように地磁気センサをキャリブレーション(較正)する技術が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開第2013/125242号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の構成では角速度センサを常に動かしてオフセットを行っており、消費電力が多くなってしまうという課題がある。
【0005】
本発明は、このような状況に鑑みてなされたものであり、地磁気センサのオフセットを較正するためのキャリブレーションにかかる消費電力の増大を抑制することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様の電子機器は、
地磁気センサと、
角速度センサと、
前記角速度センサのオン/オフ制御を行う制御手段と、
前記地磁気センサの出力誤差の較正を行う較正手段と、
定条件が充足されたか否かを判定する動作判定手段と、
を備え、
前記較正手段は、前記角速度センサがオンであり、且つ前記動作判定手段によって前記判定条件が充足されたと判定された場合に、前記地磁気センサの出力誤差の較正を行い、
前記判定条件は、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時の姿勢からの累積的な姿勢変化量、直前のキャリブレーション時点からの累積的な磁場変化量、の少なくとも何れかが所定の閾値を超えた場合を含むことを特徴とする。
【発明の効果】
【0007】
本発明によれば、地磁気センサのオフセットを較正するためのキャリブレーションにかかる消費電力の増大を抑制することが可能となる。
【図面の簡単な説明】
【0008】
図1】本発明の一実施形態である電子機器の概略図である。
図2】電子機器のハードウェア構成を示すブロック図である。
図3図1の電子機器の機能的構成のうち、キャリブレーション制御処理を実行するための機能的構成を示す機能ブロック図である。
図4】電子機器が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
図5】電子機器が実行する第1判定処理の流れを説明するフローチャートである。
図6】電子機器が実行する第2判定処理の流れを説明するフローチャートである。
図7】第2実施形態において電子機器が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
図8】第3実施形態において電子機器が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
図9】第4実施形態におけるキャリブレーション制御処理を実行するための機能的構成を示す機能ブロック図である。
図10】第4実施形態において電子機器が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を用いて説明する。
[第1実施形態]
[構成]
図1は、本発明の一実施形態である電子機器1の概略図である。
図1に示すように、本実施形態の電子機器1は、腕時計型の装置(スマートウォッチ等)として構成されている。また、電子機器1は、後述するように、地磁気センサを備えており、周辺の磁場の影響によるオフセットを較正するためのキャリブレーションを実行する。このとき、電子機器1は、ジャイロセンサを用いた高速なキャリブレーションを実行可能であると共に、ジャイロセンサを効率的に使用したキャリブレーションを実行する。
【0010】
図2は、電子機器1のハードウェア構成を示すブロック図である。
電子機器1は、図2に示すように、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、バス14と、入出力インターフェース15と、GPS部16と、センサ部17と、撮像部18と、入力部19と、出力部20と、記憶部21と、通信部22と、ドライブ23と、を備えている。
【0011】
CPU11は、ROM12に記録されているプログラム、または、記憶部21からRAM13にロードされたプログラムに従って各種の処理を実行する。
【0012】
RAM13には、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0013】
CPU11、ROM12及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インターフェース15も接続されている。入出力インターフェース15には、GPS部16、センサ部17、撮像部18、入力部19、出力部20、記憶部21、通信部22及びドライブ23が接続されている。
【0014】
GPS部16は、図示しないGPS受信アンテナを介して、複数のGPS衛星からのGPS信号を受信する。CPU11は、GPS部16が受信したGPS信号に基づいて、機器の現在位置を示す緯度及び経度、高度の情報等の位置情報を取得する。
【0015】
センサ部17は、地磁気センサ17aと、ジャイロセンサ(角速度センサ)17bと、加速度センサ17cと、脈拍センサ17dと、を備え、これらセンサによる検出結果のデータをCPU11に出力する。なお、センサ部17には、これらのセンサの他、電子機器1で実行される処理に必要な各種センサ(気圧センサや照度センサ等)を適宜備えることができる。
【0016】
撮像部18は、図示はしないが、光学レンズ部と、イメージセンサと、を備えている。
【0017】
光学レンズ部は、被写体を撮影するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズ等で構成される。
フォーカスレンズは、イメージセンサの受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。
撮像部18にはまた、必要に応じて、焦点、露出、ホワイトバランス等の設定パラメータを調整する周辺回路が設けられる。
【0018】
イメージセンサは、光電変換素子や、AFE(Analog Front End)等から構成される。
光電変換素子は、例えばCMOS(Complementary Metal Oxide Semiconductor)型の光電変換素子等から構成される。光電変換素子には、光学レンズ部から被写体像が入射される。そこで、光電変換素子は、被写体像を光電変換(撮像)して画像信号を一定時間蓄積し、蓄積した画像信号をアナログ信号としてAFEに順次供給する。
AFEは、このアナログの画像信号に対して、A/D(Analog/Digital)変換処理等の各種信号処理を実行する。各種信号処理によって、デジタル信号が生成され、撮像部18の出力信号として出力される。
このような撮像部18の出力信号を撮像画像のデータとして、CPU11や図示しない画像処理部等に適宜供給される。
【0019】
入力部19は、各種ボタン等で構成され、ユーザの指示操作に応じて各種情報を入力する。
出力部20は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
本実施形態においては、画像やアイコン等を表示するディスプレイとなる出力部20にタッチやスワイプ等の入力操作可能な入力部19が重畳的に配置されて、インターフェースとなるタッチパネルを構成する。
【0020】
記憶部21は、DRAM(Dynamic Random Access Memory)等の半導体メモリで構成され、各種画像のデータを記憶する。
【0021】
通信部22は、インターネットを含むネットワークを介して他の装置(図示せず)との間で行う通信を制御する。
【0022】
ドライブ23には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなる、リムーバブルメディア31が適宜装着される。ドライブ23によってリムーバブルメディア31から読み出されたプログラムは、必要に応じて記憶部21にインストールされる。また、リムーバブルメディア31は、記憶部21に記憶されている画像のデータ等の各種データも、記憶部21と同様に記憶することができる。
【0023】
図3は、図1の電子機器1の機能的構成のうち、キャリブレーション制御処理を実行するための機能的構成を示す機能ブロック図である。
キャリブレーション制御処理とは、電子機器1において、ジャイロセンサを用いた高速なキャリブレーションを、ジャイロセンサをより効率的に使用して実行する一連の処理をいう。
【0024】
キャリブレーション制御処理が実行される場合には、図3に示すように、CPU11において、キャリブレーション実行判定部51と、キャリブレーション実行部52と、ジャイロセンサ制御部53と、表示制御部54と、角速度情報利用部55と、が機能する。
【0025】
キャリブレーション実行判定部51は、電子機器1において、地磁気センサ17aのキャリブレーションが必要であるか否かを判定する。
例えば、キャリブレーション実行判定部51は、電子機器1で実行される動作に基づいてキャリブレーションが必要であるか否かを判定するための第1判定条件を判定する。第1判定条件として、例えば、ユーザが電子コンパスのアプリケーションを起動したか否か、ユーザが地磁気センサ17aのキャリブレーションを指示する入力を行ったか否か(またはキャリブレーションのための操作(8の字を描く操作等)を行ったか否か)、電子機器1において特定の行動が検出されたか否か等を判定する。なお、特定の行動とは、例えば、歩行、充電の終了、ユーザによる電子機器1の視認動作(腕の持ち上げ動作)、電子機器1を腕から取り外す動作等である。ユーザによる電子機器1の視認動作については、キャリブレーションが必要な場合に、電子機器1がバイブレーションを発生させることにより、ユーザの視認動作を促すこと等が可能である。
第1判定条件によれば、ユーザの活動(アプリケーションの利用、キャリブレーションの指示、特定の行動を行う等)からキャリブレーションを実行することが適切であると推定されるタイミングで、地磁気センサ17aのキャリブレーションを実行することができる。
【0026】
また、キャリブレーション実行判定部51は、電子機器1における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第2判定条件を判定する。第2判定条件として、例えば、直前のキャリブレーションからの経過時間をカウントし、その経過時間が予め定められた時間を超えたか否かを判定し、予め定められた時間を超えた場合に(所定の閾値を超えた場合に)第2の判定条件が充足されたと判定する、直前のキャリブレーション時のキャリブレーション地点をGPS部16等で特定し、そのキャリブレーション地点から現在位置までの移動距離を測定して、当該移動距離が予め定められた距離を超えた場合に(所定の閾値を超えた場合に)第2の判定条件が充足されたと判定する、ジャイロセンサ17b等を利用して直前のキャリブレーション時の姿勢から現時点までの累積的な姿勢変化量を特定し、当該姿勢変化量が予め定められた変化量を超えた場合に(所定の閾値を超えた場合に)第2の判定条件が充足されたと判定する、または、直前のキャリブレーション時点から現時点までに検出した累積的な磁場変化量が予め定められた変化量を超えた場合に(所定の閾値を超えた場合に)第2の判定条件が充足されたと判定する。なお、上記条件のうち1つが充足された場合に第2の判定条件が充足されたと判定してもよいし、上記条件の複数が満たされた場合に第2の判定条件が充足されたと判定してもよい。
第2判定条件によれば、電子機器1における地磁気の検出精度からキャリブレーションを実行することが適切であると推定されるタイミングで、地磁気センサ17aのキャリブレーションを実行することが可能となる。
【0027】
キャリブレーション実行部52は、キャリブレーション実行判定部51によって地磁気センサ17aのキャリブレーションが必要であると判定された場合に、キャリブレーションを実行する。
例えば、キャリブレーション実行部52は、キャリブレーション実行判定部51によって、地磁気センサ17aを用いるアプリケーション以外の機能(角速度データに基づく所定情報を取得する角速度情報利用部55)によってジャイロセンサ17bがオンされていない、かつ、第1判定条件が充足されていると判定された場合に、ジャイロセンサ制御部53に対してジャイロセンサ17bをオンさせる指示を出力し、ジャイロセンサ17bを用いた高速キャリブレーションを実行する。また、キャリブレーション実行部52は、高速キャリブレーションの実行中に、高速キャリブレーションの完了時間に設定されたタイムアウトが発生した場合、ジャイロセンサ制御部53に対してジャイロセンサ17bをオフさせる指示を出力し、高速キャリブレーションを中止して、ジャイロセンサ17bを用いない通常キャリブレーションを実行する。
【0028】
また、例えば、キャリブレーション実行部52は、キャリブレーション実行判定部51によって、地磁気センサ17aを用いるアプリケーション以外の機能(角速度データに基づく所定情報を取得する角速度情報利用部55)によりジャイロセンサ17bがオンされている、かつ、第1判定条件または第2判定条件が充足されていると判定された場合に、既にオンされているジャイロセンサ17bを用いた高速キャリブレーションを実行する。また、キャリブレーション実行部52は、高速キャリブレーションの実行中に、高速キャリブレーションの完了時間に設定されたタイムアウトが発生した場合、ジャイロセンサ17bをオンとしたまま、高速キャリブレーションを中止して、ジャイロセンサ17bを用いない通常キャリブレーションを実行する。
【0029】
ジャイロセンサ制御部53は、キャリブレーション実行部52の指示に応じて、ジャイロセンサ17bをオンまたはオフする。
表示制御部54は、キャリブレーション制御処理においてユーザに提示される各種情報を表示する。例えば、表示制御部54は、キャリブレーション実行判定部51によって第1判定条件が充足されていると判定された場合に、地磁気センサ17aのキャリブレーションをユーザに促す旨のメッセージ(「地磁気センサのキャリブレーションを実行してください」等)を表示する。また、表示制御部54は、地磁気センサ17aのキャリブレーションが完了した場合に、キャリブレーションが完了した旨のメッセージ(「地磁気センサのキャリブレーションが完了しました」等)や、高速キャリブレーションのタイムアウトが発生した場合に、通常のキャリブレーションが実行される旨(「高速キャリブレーションが実行できないため、通常のキャリブレーションを実行します」等)を表示する。
【0030】
角速度情報利用部55は、地磁気センサ17aを用いるアプリケーション以外の処理を実行する機能部であり、角速度データに基づく所定情報を取得する。
【0031】
[動作]
次に、動作を説明する。
[キャリブレーション制御処理]
図4は、電子機器1が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
キャリブレーション制御処理は、電子機器1の電源投入と共に開始され、電子機器1の電源をオフする操作が行われた場合に終了する。
【0032】
ステップS1において、キャリブレーション実行判定部51は、地磁気センサ17aを用いるアプリケーション以外の機能(角速度データに基づく所定情報を取得する角速度情報利用部55)によってジャイロセンサ17bがオンされているか否かを判定する。
地磁気センサ17aを用いるアプリケーション以外の機能によってジャイロセンサ17bがオンされていない場合、ステップS1においてNOと判定されて、処理はステップS8に移行する。
一方、地磁気センサ17aを用いるアプリケーション以外の機能によってジャイロセンサ17bがオンされている場合、ステップS1においてYESと判定されて、処理はステップS2に移行する。
【0033】
ステップS2において、キャリブレーション実行判定部51は、第1判定処理(図5参照)及び第2判定処理(図6参照)を実行することにより、電子機器1で実行される動作に基づいてキャリブレーションが必要であるか否かを判定するための第1判定条件または電子機器1における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第2判定条件が充足されているか否かを判定する。ステップS2においては、地磁気センサ17aを用いるアプリケーション以外の機能によってジャイロセンサ17bがオンされていることから、オンされているジャイロセンサ17bを活用すべく、キャリブレーションが必要であるか否かを第1判定条件及び第2判定条件の両方の観点から判定する。これにより、ジャイロセンサ17bがオンされている状況においては、広範な条件からキャリブレーションが必要であるか否かを判定することができ、キャリブレーションが行われ易くすることができる。
第1判定条件または第2判定条件が充足されている場合、ステップS2においてYESと判定されて、処理はステップS3に移行する。
一方、第1判定条件及び第2判定条件が充足されていない場合、ステップS2においてNOと判定されて、キャリブレーション制御処理が繰り返される。
【0034】
ステップS3において、キャリブレーション実行部52は、既にオンされているジャイロセンサ17bを用いた高速キャリブレーションを開始する。
ステップS4において、キャリブレーション実行部52は、高速キャリブレーションが完了したか否かを判定する。
高速キャリブレーションが完了していない場合、ステップS4においてNOと判定されて、処理はステップS5に移行する。
一方、高速キャリブレーションが完了している場合、ステップS4においてYESと判定されて、処理はステップS7に移行する。
【0035】
ステップS5において、キャリブレーション実行部52は、高速キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
高速キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップS5においてNOと判定されて、処理はステップS4に移行する。
一方、高速キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップS5においてYESと判定されて、処理はステップS6に移行する。
【0036】
ステップS6において、キャリブレーション実行部52は、ジャイロセンサ17bをオンとしたまま、高速キャリブレーションを中止して、ジャイロセンサ17bを用いない通常キャリブレーションを実行する。
ステップS6の後、キャリブレーション制御処理が繰り返される。
ステップS7において、キャリブレーション実行部52は、ジャイロセンサ17bをオンとしたまま、高速キャリブレーションを完了する。
ステップS7の後、キャリブレーション制御処理が繰り返される。
【0037】
ステップS8において、キャリブレーション実行判定部51は、第1判定処理を実行することにより、電子機器1で実行される動作に基づいてキャリブレーションが必要であるか否かを判定するための第1判定条件が充足されているか否かを判定する。ステップS8においては、地磁気センサ17aを用いるアプリケーション以外の機能によってジャイロセンサ17bがオンされていないことから、ジャイロセンサ17bを限定的な条件の下でオンするため、キャリブレーションが必要であるか否かを第1判定条件の観点からのみ判定する。これにより、ジャイロセンサ17bがオンされていない状況においては、キャリブレーションが必要であるか否かをより限定的に判定することができ、ジャイロセンサ17bがオンされている状況に比べ、キャリブレーションが行われ難くすることができる。
第1判定条件が充足されている場合、ステップS8においてYESと判定されて、処理はステップS9に移行する。
一方、第1判定条件が充足されていない場合、ステップS8においてNOと判定されて、キャリブレーション制御処理が繰り返される。
【0038】
ステップS9において、キャリブレーション実行部52は、ジャイロセンサ制御部53に対してジャイロセンサ17bをオンさせる指示を出力する。これにより、ジャイロセンサ制御部53によって、ジャイロセンサ17bがオンされる。
ステップS10において、キャリブレーション実行部52は、ステップS9においてオンされたジャイロセンサ17bを用いた高速キャリブレーションを開始する。
【0039】
ステップS11において、キャリブレーション実行部52は、高速キャリブレーションが完了したか否かを判定する。
高速キャリブレーションが完了していない場合、ステップS11においてNOと判定されて、処理はステップS12に移行する。
一方、高速キャリブレーションが完了している場合、ステップS11においてYESと判定されて、処理はステップS15に移行する。
【0040】
ステップS12において、キャリブレーション実行部52は、高速キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
高速キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップS12においてNOと判定されて、処理はステップS11に移行する。
一方、高速キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップS12においてYESと判定されて、処理はステップS13に移行する。
【0041】
ステップS13において、キャリブレーション実行部52は、ジャイロセンサ制御部53に対してジャイロセンサ17bをオフさせる指示を出力する。これにより、ジャイロセンサ制御部53によって、ジャイロセンサ17bがオフされる。
ステップS14において、キャリブレーション実行部52は、高速キャリブレーションを中止して、ジャイロセンサ17bを用いない通常キャリブレーションを実行する。
ステップS14の後、キャリブレーション制御処理が繰り返される。
【0042】
ステップS15において、キャリブレーション実行部52は、ジャイロセンサ制御部53に対してジャイロセンサ17bをオフさせる指示を出力する。これにより、ジャイロセンサ制御部53によって、ジャイロセンサ17bがオフされる。
ステップS16において、キャリブレーション実行部52は、高速キャリブレーションを完了する。
ステップS16の後、キャリブレーション制御処理が繰り返される。
なお、ステップS6,S7,S14,S16においてキャリブレーションが実行された後、電子機器1は、バックグラウンド処理等により、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時からの累積的な姿勢変化量、または直前のキャリブレーション時点からの累積的な磁場変化量を計測する。
【0043】
[第1判定処理]
次に、キャリブレーション制御処理のステップS2及びステップS8で実行される第1判定処理について説明する。
図5は、電子機器1が実行する第1判定処理の流れを説明するフローチャートである。
ステップS21において、キャリブレーション実行判定部51は、ユーザが電子コンパスのアプリケーションを起動したか否かを判定する。
ユーザが電子コンパスのアプリケーションを起動した場合、ステップS21においてYESと判定されて、処理はステップS22に移行する。
一方、ユーザが電子コンパスのアプリケーションを起動していない場合、ステップS21においてNOと判定されて、処理はステップS23に移行する。
【0044】
ステップS22において、キャリブレーション実行判定部51は、第1判定条件が充足されたと判定する。
ステップS22の後、処理はキャリブレーション制御処理に戻る。
ステップS23において、キャリブレーション実行判定部51は、ユーザが地磁気センサ17aのキャリブレーションを指示する入力を行ったか否かを判定する。
ユーザが地磁気センサ17aのキャリブレーションを指示する入力を行った場合、ステップS23においてYESと判定されて、処理はステップS22に移行する。
一方、ユーザが地磁気センサ17aのキャリブレーションを指示する入力を行っていない場合、ステップS23においてNOと判定されて、処理はステップS24に移行する。
【0045】
ステップS24において、キャリブレーション実行判定部51は、ユーザがキャリブレーションのための操作(8の字を描く操作等)を行ったか否かを判定する。
ユーザがキャリブレーションのための操作を行った場合、ステップS24においてYESと判定されて、処理はステップS22に移行する。
一方、ユーザがキャリブレーションのための操作を行っていない場合、ステップS24においてNOと判定されて、処理はステップS25に移行する。
【0046】
ステップS25において、キャリブレーション実行判定部51は、第1判定条件が充足されていないと判定する。
ステップS25の後、処理はキャリブレーション制御処理に戻る。
【0047】
[第2判定処理]
次に、キャリブレーション制御処理のステップS2で実行される第2判定処理について説明する。
図6は、電子機器1が実行する第2判定処理の流れを説明するフローチャートである。
ステップS31において、キャリブレーション実行判定部51は、直前のキャリブレーションからの経過時間が予め定められた時間を超えたか否かを判定する。
直前のキャリブレーションからの経過時間が予め定められた時間(所定の閾値)を超えている場合、ステップS31においてYESと判定されて、処理はステップS32に移行する。
一方、直前のキャリブレーションからの経過時間が予め定められた時間を超えていない場合、ステップS31においてNOと判定されて、処理はステップS33に移行する。
【0048】
ステップS32において、キャリブレーション実行判定部51は、第2判定条件が充足されたと判定する。
ステップS32の後、処理はキャリブレーション制御処理に戻る。
ステップS33において、キャリブレーション実行判定部51は、直前のキャリブレーション時のキャリブレーション地点から現在位置までの移動距離が予め定められた距離(所定の閾値)を超えているか否かを判定する。
直前のキャリブレーション時のキャリブレーション地点から現在位置までの移動距離が予め定められた距離を超えている場合、ステップS33においてYESと判定されて、処理はステップS32に移行する。
一方、直前のキャリブレーション時のキャリブレーション地点から現在位置までの移動距離が予め定められた距離を超えていない場合、ステップS33においてNOと判定されて、処理はステップS34に移行する。
【0049】
ステップS34において、キャリブレーション実行判定部51は、直前のキャリブレーション時の姿勢から現時点までの累積的な姿勢変化量が予め定められた変化量(所定の閾値)を超えているか否かを判定する。
直前のキャリブレーション時の姿勢から現時点までの累積的な姿勢変化量が予め定められた変化量を超えている場合、ステップS34においてYESと判定されて、処理はステップS32に移行する。
一方、直前のキャリブレーション時の姿勢から現時点までの累積的な姿勢変化量が予め定められた変化量を超えていない場合、ステップS34においてNOと判定されて、処理はステップS35に移行する。
【0050】
ステップS35において、キャリブレーション実行判定部51は、直前のキャリブレーション時点から現時点までの累積的な磁場変化量が予め定められた変化量(所定の閾値)を超えているか否かを判定する。
直前のキャリブレーション時点から現時点までの累積的な磁場変化量が予め定められた変化量を超えている場合、ステップS35においてYESと判定されて、処理はステップS32に移行する。
一方、直前のキャリブレーション時点から現時点までの累積的な磁場変化量が予め定められた変化量を超えていない場合、ステップS35においてNOと判定されて、処理はステップS36に移行する。
ステップS36において、キャリブレーション実行判定部51は、第2判定条件が充足されていないと判定する。
ステップS36の後、処理はキャリブレーション制御処理に戻る。
【0051】
このように、ステップS1でジャイロセンサ17bがオンされているか否かを判定し、ステップS8で第1判定条件が充足されているか否かを判定することにより、電子機器1においては、ジャイロセンサ17bがオンされていない状態で、第1判定条件が充足された場合、ジャイロセンサ17bをオンして高速キャリブレーションが実行される。そして、高速キャリブレーションが完了した場合、ジャイロセンサ17bがオフされる。
そのため、ジャイロセンサ17bをオンする期間をより減少させることができ、より低消費電力に地磁気センサ17aの高速キャリブレーションを行うことができる。
【0052】
また、ステップS1でジャイロセンサ17bがオンされているか否かを判定し、ステップS2で第1判定条件及び第2判定条件が充足されているか否かを判定することにより、電子機器1においては、ジャイロセンサ17bがオンされている状態で、第1判定条件または第2判定条件が充足された場合、既にオンされているジャイロセンサ17bを用いて高速キャリブレーションが実行される。そして、高速キャリブレーションが完了した場合、ジャイロセンサ17bをオンとした状態が維持される。
そのため、地磁気センサ17aを用いるアプリケーション以外の機能(角速度データに基づく所定情報を取得する角速度情報利用部55)によってジャイロセンサ17bがオンされているタイミングを利用して、より低消費電力に地磁気センサ17aの高速キャリブレーションを行うことができる。
即ち、電子機器1によれば、地磁気センサ17aのオフセットを較正するためのキャリブレーションにかかる消費電力の増大を抑制することが可能となる。
【0053】
また、電子機器1においては、高速キャリブレーションの実行中に、高速キャリブレーションの完了時間に設定されたタイムアウトが発生した場合、高速キャリブレーションを中止して、ジャイロセンサ17bを用いない通常キャリブレーションを実行する。
これにより、電子機器1においては、磁場環境の影響等により、高速キャリブレーションの完了が困難である場合に、無用に高速キャリブレーションが実行され、消費電力が増大することを抑制できる。
【0054】
[第2実施形態]
第1実施形態において、図4に示すキャリブレーション制御処理では、通常はキャリブレーションを実行することなく、高速キャリブレーションを実行する条件が充足された場合に高速キャリブレーションを実行し、高速キャリブレーションが完了しない場合に、通常キャリブレーションを実行するものとした。
これに対し、通常キャリブレーションを常時実行し、高速キャリブレーションを実行する条件が充足された場合に高速キャリブレーションを実行することが可能である。
本実施形態における電子機器1のハードウェア構成は、第1実施形態の図2に示すハードウェア構成と同様である。また、本実施形態における電子機器1の機能的構成は、キャリブレーション実行部52が通常キャリブレーションを常時実行する点で第1実施形態と異なっている。
以下、第1実施形態と異なる部分であるキャリブレーション制御処理について説明する。
【0055】
[キャリブレーション制御処理]
図7は、第2実施形態において電子機器1が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
キャリブレーション制御処理は、電子機器1の電源投入と共に開始され、電子機器1の電源をオフする操作が行われた場合に終了する。
【0056】
ステップS41において、キャリブレーション実行部52は、ジャイロセンサ17bを用いない通常キャリブレーションを実行する。
ステップS42において、キャリブレーション実行判定部51は、第2判定処理を実行することにより、電子機器1における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第2判定条件が充足されているか否かを判定する。
第2判定条件が充足されていない場合、ステップS42においてNOと判定されて、処理はステップS41に移行する。
一方、第2判定条件が充足されている場合、ステップS42においてYESと判定されて、処理はステップS43に移行する。
【0057】
ステップS43において、キャリブレーション実行判定部51は、地磁気センサ17aを用いるアプリケーション以外の機能(角速度データに基づく所定情報を取得する角速度情報利用部55)によってジャイロセンサ17bがオンされているか否かを判定する。
地磁気センサ17aを用いるアプリケーション以外の機能によってジャイロセンサ17bがオンされていない場合、ステップS43においてNOと判定されて、処理はステップS48に移行する。
一方、地磁気センサ17aを用いるアプリケーション以外の機能によってジャイロセンサ17bがオンされている場合、ステップS43においてYESと判定されて、処理はステップS44に移行する。
【0058】
ステップS44において、キャリブレーション実行部52は、既にオンされているジャイロセンサ17bを用いた高速キャリブレーションを開始する。
ステップS45において、キャリブレーション実行部52は、高速キャリブレーションが完了したか否かを判定する。
高速キャリブレーションが完了していない場合、ステップS45においてNOと判定されて、処理はステップS46に移行する。
一方、高速キャリブレーションが完了している場合、ステップS45においてYESと判定されて、処理はステップS47に移行する。
【0059】
ステップS46において、キャリブレーション実行部52は、高速キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
高速キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップS46においてNOと判定されて、処理はステップS45に移行する。
一方、高速キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップS46においてYESと判定されて、キャリブレーション制御処理が繰り返される。
ステップS47において、キャリブレーション実行部52は、ジャイロセンサ17bをオンとしたまま、高速キャリブレーションを完了する。
ステップS47の後、キャリブレーション制御処理が繰り返される。
【0060】
ステップS48において、キャリブレーション実行判定部51は、第1判定処理を実行することにより、電子機器1で実行される動作に基づいてキャリブレーションが必要であるか否かを判定するための第1判定条件が充足されているか否かを判定する。
第1判定条件が充足されている場合、ステップS48においてYESと判定されて、処理はステップS49に移行する。
一方、第1判定条件が充足されていない場合、ステップS48においてNOと判定されて、キャリブレーション制御処理が繰り返される。
【0061】
ステップS49において、キャリブレーション実行部52は、ジャイロセンサ制御部53に対してジャイロセンサ17bをオンさせる指示を出力する。これにより、ジャイロセンサ制御部53によって、ジャイロセンサ17bがオンされる。
ステップS50において、キャリブレーション実行部52は、ステップS49においてオンされたジャイロセンサ17bを用いた高速キャリブレーションを開始する。
【0062】
ステップS51において、キャリブレーション実行部52は、高速キャリブレーションが完了したか否かを判定する。
高速キャリブレーションが完了していない場合、ステップS51においてNOと判定されて、処理はステップS52に移行する。
一方、高速キャリブレーションが完了している場合、ステップS51においてYESと判定されて、処理はステップS54に移行する。
【0063】
ステップS52において、キャリブレーション実行部52は、高速キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
高速キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップS52においてNOと判定されて、処理はステップS51に移行する。
一方、高速キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップS52においてYESと判定されて、処理はステップS53に移行する。
【0064】
ステップS53において、キャリブレーション実行部52は、ジャイロセンサ制御部53に対してジャイロセンサ17bをオフさせる指示を出力する。これにより、ジャイロセンサ制御部53によって、ジャイロセンサ17bがオフされる。
ステップS53の後、キャリブレーション制御処理が繰り返される。
ステップS54において、キャリブレーション実行部52は、ジャイロセンサ制御部53に対してジャイロセンサ17bをオフさせる指示を出力する。これにより、ジャイロセンサ制御部53によって、ジャイロセンサ17bがオフされる。
ステップS55において、キャリブレーション実行部52は、高速キャリブレーションを完了する。
ステップS55の後、キャリブレーション制御処理が繰り返される。
【0065】
なお、ステップS41,S47,S55においてキャリブレーションが実行された後、電子機器1は、バックグラウンド処理等により、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時からの累積的な姿勢変化量、または直前のキャリブレーション時点からの累積的な磁場変化量を計測する。
【0066】
このような処理により、電子機器1においては、通常キャリブレーションを常に実行しながら、高速キャリブレーションを実行するための条件が充足された場合に、ジャイロセンサ17bを利用して高速キャリブレーションを実行することができる。
したがって、通常時における地磁気センサ17aの精度の維持を図りつつ、必要な場合には高速キャリブレーションを実行して、迅速に地磁気センサ17aの精度を確保することが可能となる。
【0067】
[第3実施形態]
第1実施形態及び第2実施形態においては、地磁気センサ17aを用いるアプリケーション以外によってもジャイロセンサ17bが使用される場合に、高速キャリブレーションを実行する例について説明した。
本実施形態における電子機器1のハードウェア構成は、第1実施形態の図2に示すハードウェア構成と同様である。また、本実施形態における電子機器1の機能的構成は、キャリブレーション実行判定部51によってユーザの歩行または走行が検出され、第2判定条件が充足された場合に、一時的にジャイロセンサ17bをオンして高速キャリブレーションを実行する点で第1実施形態及び第2実施形態と異なっている。
以下、第1実施形態及び第2実施形態と異なる部分であるキャリブレーション制御処理について説明する。
【0068】
[キャリブレーション制御処理]
図8は、第3実施形態において電子機器1が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
キャリブレーション制御処理は、電子機器1の電源投入と共に開始され、電子機器1の電源をオフする操作が行われた場合に終了する。
【0069】
ステップS61において、キャリブレーション実行部52は、ジャイロセンサ17bを用いない通常キャリブレーションを実行する。
ステップS62において、キャリブレーション実行判定部51は、ユーザの行動解析を行うことにより、ユーザが歩行または走行しているか否かを判定する。ユーザが歩行または走行しているか否かを判定する理由は、その動作を利用して効率的にキャリブレーションを実行することができるためである。なお、ここでは歩行または走行しているか否かを判定するものとするが、キャリブレーションの実行に利用できる動作であれば、歩行または走行以外の動作を判定することとしてもよい。
ユーザが歩行及び走行していない場合、ステップS62においてNOと判定されて、処理はステップS61に移行する。
一方、ユーザが歩行または走行している場合、ステップS62においてYESと判定されて、処理はステップS63に移行する。
【0070】
ステップS63において、キャリブレーション実行判定部51は、第2判定処理を実行することにより、電子機器1における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第2判定条件が充足されているか否かを判定する。
第2判定条件が充足されていない場合、ステップS63においてNOと判定されて、処理はステップS61に移行する。
一方、第2判定条件が充足されている場合、ステップS63においてYESと判定されて、処理はステップS64に移行する。
なお、ステップS61におけるユーザが歩行または走行しているかの判定と、ステップS63における第2判定条件が充足されているか否かの判定とは、処理順序を逆にすることも可能である。
【0071】
ステップS64において、キャリブレーション実行部52は、ジャイロセンサ制御部53に対してジャイロセンサ17bをオンさせる指示を出力する。これにより、ジャイロセンサ制御部53によって、ジャイロセンサ17bがオンされる。
ステップS65において、キャリブレーション実行部52は、ステップS64においてオンされたジャイロセンサ17bを用いた高速キャリブレーションを開始する。
【0072】
ステップS66において、キャリブレーション実行部52は、高速キャリブレーションが完了したか否かを判定する。
高速キャリブレーションが完了していない場合、ステップS66においてNOと判定されて、処理はステップS67に移行する。
一方、高速キャリブレーションが完了している場合、ステップS66においてYESと判定されて、処理はステップS69に移行する。
【0073】
ステップS67において、キャリブレーション実行部52は、高速キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
高速キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップS67においてNOと判定されて、処理はステップS66に移行する。
一方、高速キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップS67においてYESと判定されて、処理はステップS68に移行する。
【0074】
ステップS68において、キャリブレーション実行部52は、ジャイロセンサ制御部53に対してジャイロセンサ17bをオフさせる指示を出力する。これにより、ジャイロセンサ制御部53によって、ジャイロセンサ17bがオフされる。
ステップS68の後、処理はステップS61に移行する。
ステップS69において、キャリブレーション実行部52は、高速キャリブレーションを完了する。
ステップS69の後、処理はステップS68に移行する。
なお、ステップS61,S68においてキャリブレーションが実行された後、電子機器1は、バックグラウンド処理等により、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時からの累積的な姿勢変化量、または直前のキャリブレーション時点からの累積的な磁場変化量を計測する。
【0075】
このような処理により、電子機器1においては、通常キャリブレーションを常に実行しながら、ジャイロセンサを可能な限りオフとし、ユーザの歩行または走行(即ち、キャリブレーションに利用可能なユーザの動作)が検出された場合に、ジャイロセンサ17bをオンして高速キャリブレーションを実行することができる。
したがって、ジャイロセンサ17bをオンする期間をさらに減少させることができ、通常時における地磁気センサ17aの精度の維持を図りつつ、より低消費電力に地磁気センサ17aの高速キャリブレーションを行うことができる。
【0076】
[第4実施形態]
第3実施形態においては、通常キャリブレーションを常時実行し、ユーザが歩行または走行していると判定され、第2判定条件が充足された場合に、一時的にジャイロセンサ17bをオンして高速キャリブレーションを実行するものとした。
これに対し、通常は地磁気センサ17aをオフとし、通常キャリブレーションを行わない状態としながら、ユーザが歩行または走行していると判定された場合に地磁気センサ17aをオンとして通常キャリブレーションを実行し、さらに、第2判定条件が充足された場合に、ジャイロセンサ17bをオンして高速キャリブレーションを行うことが可能である。
本実施形態における電子機器1のハードウェア構成は、第1実施形態の図2に示すハードウェア構成と同様である。また、本実施形態における電子機器1の機能的構成は、地磁気センサ制御部56を備えている点、及び、キャリブレーション実行判定部51によってユーザが歩行または走行していると判定された場合に地磁気センサ17aをオンとして通常キャリブレーションを実行し、さらに、第2判定条件が充足された場合に、ジャイロセンサ17bをオンして高速キャリブレーションを行う点で第3実施形態と異なっている。
以下、第3実施形態と異なる部分である地磁気センサ制御部56の機能的構成及びキャリブレーション制御処理について説明する。
【0077】
図9は、第4実施形態におけるキャリブレーション制御処理を実行するための機能的構成を示す機能ブロック図である。
図9において、地磁気センサ制御部56以外の機能的構成は、第1実施形態における図3の機能的構成とほぼ同様である。
地磁気センサ制御部56は、キャリブレーション実行部52の指示に応じて、地磁気センサ17aをオンまたはオフする。
【0078】
[キャリブレーション制御処理]
図10は、第4実施形態において電子機器1が実行するキャリブレーション制御処理の流れを説明するフローチャートである。
キャリブレーション制御処理は、電子機器1の電源投入と共に開始され、電子機器1の電源をオフする操作が行われた場合に終了する。
【0079】
ステップS71において、キャリブレーション実行判定部51は、ユーザの行動解析を行うことにより、ユーザが歩行または走行しているか否かを判定する。ユーザが歩行または走行しているか否かを判定する理由は、その動作を利用して効率的にキャリブレーションを実行することができるためである。なお、ここでは歩行または走行しているか否かを判定するものとするが、キャリブレーションの実行に利用できる動作であれば、歩行または走行以外の動作を判定することとしてもよい。
ユーザが歩行及び走行していない場合、ステップS71においてNOと判定されて、ステップS71の処理が繰り返される。
一方、ユーザが歩行または走行している場合、ステップS71においてYESと判定されて、処理はステップS72に移行する。
【0080】
ステップS72において、キャリブレーション実行部52は、地磁気センサ制御部56に対して地磁気センサ17aをオンさせる指示を出力し、通常キャリブレーションを実行する。これにより、地磁気センサ制御部56によって地磁気センサ17aがオンされ、地磁気センサ17aの通常キャリブレーションが開始される。
ステップS73において、キャリブレーション実行判定部51は、第2判定処理を実行することにより、電子機器1における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第2判定条件が充足されているか否かを判定する。
第2判定条件が充足されていない場合、ステップS73においてNOと判定されて、処理はステップS84に移行する。
一方、第2判定条件が充足されている場合、ステップS73においてYESと判定されて、処理はステップS74に移行する。
【0081】
ステップS74において、キャリブレーション実行部52は、ジャイロセンサ制御部53に対してジャイロセンサ17bをオンさせる指示を出力する。これにより、ジャイロセンサ制御部53によって、ジャイロセンサ17bがオンされる。
ステップS75において、キャリブレーション実行部52は、ステップS74においてオンされたジャイロセンサ17bを用いた高速キャリブレーションを開始する。
【0082】
ステップS76において、キャリブレーション実行部52は、高速キャリブレーションが完了したか否かを判定する。
高速キャリブレーションが完了していない場合、ステップS76においてNOと判定されて、処理はステップS77に移行する。
一方、高速キャリブレーションが完了している場合、ステップS76においてYESと判定されて、処理はステップS78に移行する。
【0083】
ステップS77において、キャリブレーション実行部52は、高速キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
高速キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップS77においてNOと判定されて、処理はステップS76に移行する。
一方、高速キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップS77においてYESと判定されて、処理はステップS79に移行する。
【0084】
ステップS78において、キャリブレーション実行部52は、高速キャリブレーションを完了する。
ステップS78の後、処理はステップS79に移行する。
ステップS79において、キャリブレーション実行部52は、ジャイロセンサ制御部53に対してジャイロセンサ17bをオフさせる指示を出力する。これにより、ジャイロセンサ制御部53によって、ジャイロセンサ17bがオフされる。
ステップS80において、キャリブレーション実行部52は、ジャイロセンサ17bを用いない通常キャリブレーションを実行する。これにより、高速キャリブレーションを試み、高速キャリブレーションが完了した場合及び高速キャリブレーションがタイムアウトとなった場合に、通常キャリブレーションが行われる状態に移行することができる。
【0085】
ステップS81において、キャリブレーション実行部52は、通常キャリブレーションの完了時間に設定されたタイムアウトが発生しているか否かを判定する。
通常キャリブレーションの完了時間に設定されたタイムアウトが発生していない場合、ステップS81においてNOと判定されて、処理はステップS82に移行する。
一方、通常キャリブレーションの完了時間に設定されたタイムアウトが発生している場合、ステップS81においてYESと判定されて、処理はステップS84に移行する。
【0086】
ステップS82において、キャリブレーション実行判定部51は、ユーザの行動解析を行うことにより、ユーザが歩行または走行しているか否かを判定する。ユーザが歩行または走行しているか否かを判定する理由は、その動作を利用してキャリブレーションを実行することができるためである。なお、ここでは歩行または走行しているか否かを判定するものとするが、キャリブレーションの実行に利用できる動作であれば、歩行または走行以外の動作を判定することとしてもよい。
ユーザが歩行及び走行していない場合、ステップS82においてNOと判定されて、処理はステップS81に移行する。
一方、ユーザが歩行または走行している場合、ステップS82においてYESと判定されて、処理はステップS83に移行する。
【0087】
ステップS83において、キャリブレーション実行判定部51は、第2判定処理を実行することにより、電子機器1における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第2判定条件が充足されているか否かを判定する。
第2判定条件が充足されていない場合、ステップS83においてNOと判定されて、処理はステップS84に移行する。
一方、第2判定条件が充足されている場合、ステップS83においてYESと判定されて、処理はステップS74に移行する。
なお、ステップS82におけるユーザが歩行または走行しているか否かの判定と、ステップS83における第2判定条件が充足されているか否かの判定とは、処理順序を逆にすることも可能である。
【0088】
ステップS84において、キャリブレーション実行部52は、通常キャリブレーションを終了する。
ステップS85において、キャリブレーション実行部52は、地磁気センサ制御部56に対して地磁気センサ17aをオフさせる指示を出力する。これにより、地磁気センサ制御部56によって地磁気センサ17aがオフされる。
ステップS85の後、処理はステップS71に移行する。
【0089】
なお、ステップS72,S79,S80においてキャリブレーションが実行された後、電子機器1は、バックグラウンド処理等により、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時からの累積的な姿勢変化量、または直前のキャリブレーション時点からの累積的な磁場変化量を計測する。
【0090】
このような処理により、電子機器1においては、通常は地磁気センサ17aをオフとし、通常キャリブレーションを行わない状態としながら、ユーザが歩行または走行していると判定された場合に地磁気センサ17aをオンとして通常キャリブレーションを実行し、さらに、第2判定条件が充足された場合に、ジャイロセンサ17bをオンして高速キャリブレーションを行うことができる。
したがって、地磁気センサ17a及びジャイロセンサ17bをオンする期間を減少させることができ、より低消費電力に地磁気センサ17aの高速キャリブレーションを行うことができる。
【0091】
[変形例1]
上述の各実施形態において、高速キャリブレーションの完了時間に設定されたタイムアウトが発生した場合に、通常キャリブレーションを実行するものとして説明したが、これに限られない。
例えば、高速キャリブレーションの完了時間に設定されたタイムアウトが発生した場合、通常キャリブレーションを行うことなく、この時点では、キャリブレーション実行部52がキャリブレーションを中止することとしてもよい。そして、キャリブレーション実行部52が、高速キャリブレーションの実行タイミングを調整し、予め設定された時間の後に高速キャリブレーションを再実行することとしてもよい。
これにより、磁場環境が不良であり、現在はキャリブレーションに適するタイミングではないと考えられる状況等において、高速キャリブレーションを実行可能な後のタイミングで、高速キャリブレーションを再実行することができる。
【0092】
以上のように構成される電子機器1は、地磁気センサ17aと、ジャイロセンサ17bと、キャリブレーション実行部52と、ジャイロセンサ制御部53と、キャリブレーション実行判定部51と、を備える。
キャリブレーション実行部52は、ジャイロセンサ17bが出力する角速度データに基づいて、地磁気センサ17aがより正確な地磁気データを出力できるように、地磁気センサ17aの出力誤差の較正を行う。
ジャイロセンサ制御部53は、ジャイロセンサ17bのオン/オフ制御を行う。
キャリブレーション実行判定部51は、地磁気センサ17aの較正が必要であるか否かを判定する。
ジャイロセンサ制御部53は、キャリブレーション実行判定部51が地磁気センサ17aの較正が必要ではないと判定した場合に、ジャイロセンサ17bをオフするように制御する。
このような処理により、電子機器1においては、ジャイロセンサ17bを用いた地磁気センサ17aのキャリブレーションが完了した場合、ジャイロセンサ17bがオフされる。
そのため、ジャイロセンサ17bをオンする期間をより減少させることができ、より低消費電力にジャイロセンサ17bを用いた地磁気センサ17aのキャリブレーションを行うことができる。
即ち、電子機器1によれば、地磁気センサ17aのオフセットを較正するためのキャリブレーションにかかる消費電力の増大を抑制することが可能となる。
【0093】
ジャイロセンサ制御部53は、キャリブレーション実行判定部51が地磁気センサ17aの較正が必要ではないと判定した場合であって、ジャイロセンサ17bが他の処理において利用されていない場合に、ジャイロセンサ17bをオフするように制御する。
これにより、ジャイロセンサ17bが使用されていない場合にジャイロセンサ17bをオフとすることができ、消費電力の増大を抑制することができる。
【0094】
また、電子機器1は、角速度情報利用部55を備える。
角速度情報利用部55は、ジャイロセンサ17bを利用することで所定の情報を取得する。
ジャイロセンサ制御部53は、角速度情報利用部55により所定の情報を取得している間はジャイロセンサ17bをオンする。
キャリブレーション実行部52は、角速度情報利用部55により所定の情報を取得している間に、ジャイロセンサ17bが出力する角速度データを利用して地磁気センサ17aの出力誤差の較正を行う。
これにより、地磁気センサ17aを用いるアプリケーション以外の機能(角速度データに基づく所定情報を取得する角速度情報利用部55)によってジャイロセンサ17bがオンされているタイミングを利用して、より低消費電力にジャイロセンサ17bを用いた地磁気センサ17aのキャリブレーションを行うことができる。
【0095】
ジャイロセンサ制御部53は、キャリブレーション実行判定部51が地磁気センサ17aの較正が必要であると判定した場合に、ジャイロセンサ17bをオンするように制御する。
これにより、ジャイロセンサ17bをオンする期間をより減少させることができ、より低消費電力に地磁気センサ17aの高速キャリブレーションを行うことができる。
【0096】
キャリブレーション実行判定部51は、地磁気センサ17aの磁気精度が良好であるか否かを判定すること及び/又は電子機器1のユーザが地磁気センサ17aの出力誤差の較正に利用可能な動作を行っているか否かを判定することによって、地磁気センサ17aの較正が必要であるか否かを判定する。
これにより、地磁気センサ17aの精度が低下している場合あるいは電子機器1のユーザが地磁気センサ17aの出力誤差の較正に利用可能な動作を行っている場合に、ジャイロセンサ17bを用いて地磁気センサ17aの較正を行うことができる。
【0097】
キャリブレーション実行判定部51は、電子機器1のユーザが地磁気センサ17aの出力誤差の較正に利用可能な動作を行っているか否かを判定する。
キャリブレーション実行部52は、キャリブレーション実行判定部51によって電子機器1のユーザが地磁気センサ17aの出力誤差の較正に利用可能な動作を行っていると判定された場合に、地磁気センサ17aの出力誤差の較正を行う。
これにより、ユーザの動作を利用して、効率的に地磁気センサ17aのキャリブレーションを実行することができる。
【0098】
キャリブレーション実行部52は、キャリブレーション実行判定部51によって地磁気センサ17aの較正が必要であると判定され、かつ、電子機器1のユーザが地磁気センサ17aの出力誤差の較正に利用可能な動作を行っていると判定された場合に、地磁気センサ17aの出力誤差の較正を行う。
これにより、ユーザの行動を地磁気センサ17aのキャリブレーションに利用できる状況において、地磁気センサ17aの精度が低下している場合に、効率的に地磁気センサ17aのキャリブレーションを実行することができる。
【0099】
キャリブレーション実行部52は、ジャイロセンサ17bが出力する角速度データに基づいて、地磁気センサ17aがより正確な地磁気データを出力できるように、地磁気センサ17aの出力誤差を較正する第1較正処理(高速キャリブレーション)と、ジャイロセンサ17bが出力する角速度データを用いることなく、地磁気センサ17aがより正確な地磁気データを出力できるように、地磁気センサ17aの出力誤差を較正する第2較正処理(通常キャリブレーション)と、を実行可能である。
キャリブレーション実行判定部51によって地磁気センサ17aの較正が必要であると判定された場合、ジャイロセンサ制御部53がジャイロセンサ17bをオンすると共にキャリブレーション実行部52が第1較正処理を実行し、キャリブレーション実行判定部51によって地磁気センサ17aの較正が必要であると判定された場合以外において、キャリブレーション実行部52が第2較正処理を実行する。
これにより、地磁気センサ17aの精度を維持しつつ、地磁気センサ17aのキャリブレーションが必要となっている場合に、より高速にキャリブレーションを実行することができる。
【0100】
通常時にはキャリブレーション実行部52が第2較正処理を実行し、キャリブレーション実行判定部51によって地磁気センサ17aの較正が必要であると判定された場合、ジャイロセンサ制御部53がジャイロセンサ17bをオンすると共にキャリブレーション実行部52が第1較正処理を実行する。
これにより、ジャイロセンサ17bをオンする期間を減少させることができ、通常時における地磁気センサ17aの精度の維持を図りつつ、より低消費電力に地磁気センサ17aの高速キャリブレーションを行うことができる。
【0101】
キャリブレーション実行部52は、地磁気センサ17aの較正の較正タイミングを調整する。
ジャイロセンサ制御部53は、キャリブレーション実行部52が調整した較正タイミングに基づいて、ジャイロセンサ17bをオンオフするように制御する。
これにより、磁場環境が不良であり、現在はキャリブレーションに適するタイミングではないと考えられる状況等において、ジャイロセンサ17bを用いたキャリブレーションを実行可能な後のタイミングで、ジャイロセンサ17bを用いたキャリブレーションを再実行することができる。
【0102】
キャリブレーション実行判定部51は、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時からの姿勢変化量及び直前のキャリブレーションからの累積的な磁場変化量の少なくともいずれか1つを測定し、当該測定結果が予め定められた閾値を超えた場合に、地磁気センサ17aの較正が必要であると判定する。
これにより、電子機器1における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定することができる。
【0103】
また、電子機器1は、地磁気センサ17aと、ジャイロセンサ17bと、キャリブレーション実行部52と、ジャイロセンサ制御部53と、角速度情報利用部55と、を備える。
キャリブレーション実行部52は、ジャイロセンサ17bが出力する角速度データに基づいて、地磁気センサ17aがより正確な地磁気データを出力できるように、地磁気センサ17aの出力誤差の較正を行う。
ジャイロセンサ制御部53は、ジャイロセンサ17bのオン/オフ制御を行う。
角速度情報利用部55は、ジャイロセンサ17bを利用することで所定の情報を取得する。
ジャイロセンサ制御部53は、角速度情報利用部55により所定の情報を取得している間はジャイロセンサ17bをオンする。
キャリブレーション実行部52は、角速度情報利用部55により所定の情報を取得している間に、ジャイロセンサ17bが出力する角速度データを利用して地磁気センサ17aの出力誤差の較正を行う。
これにより、地磁気センサ17aを用いるアプリケーション以外の機能(角速度データに基づく所定情報を取得する角速度情報利用部55)によってジャイロセンサ17bがオンされているタイミングを利用して、より低消費電力にジャイロセンサ17bを用いた地磁気センサ17aのキャリブレーションを行うことができる。
【0104】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0105】
上述の実施形態において、ジャイロセンサ17bを用いる処理の予定が定められている場合(例えば、間欠的にユーザの運動データを取得する場合等)には、この予定に合わせて、地磁気センサ17aの高速キャリブレーションを実行することとしてもよい。また、地磁気センサ17aの高速キャリブレーションを行う必要が生じた場合に、ジャイロセンサ17bを用いる処理の予定が所定時間内に近付いている場合には、予定を早めてジャイロセンサ17bをオンし、地磁気センサ17aの高速キャリブレーションを行うこととしてもよい。
【0106】
また、上述の実施形態において、キャリブレーション制御処理のステップS8では、電子機器1で実行される動作に基づいてキャリブレーションが必要であるか否かを判定するための第1判定条件のみを判定するものとしたが、これに限られない。例えば、キャリブレーション制御処理のステップS8において、第1判定条件に加え、電子機器1における磁気の誤差の累積状況に基づいてキャリブレーションが必要であるか否かを判定するための第2判定条件を判定し、これら第1判定条件または第2判定条件が充足された場合に、ジャイロセンサ17bをオンして高速キャリブレーションを開始することとしてもよい。
これにより、電子機器1における地磁気センサ17aのキャリブレーションが必要な状況において、より迅速に高速キャリブレーションを行うことができる。
さらに、キャリブレーション制御処理のステップS2において、第1判定条件及び第2判定条件の一方のみを判定することも可能であり、キャリブレーション制御処理のステップS8において、第2判定条件のみを判定することも可能である。このように第1判定条件及び第2判定条件の一方または両方を必要に応じて判定対象とすることにより、目的とする装置構成を柔軟に実現することが可能となる。
【0107】
また、上述の実施形態において、第2判定条件を判定する場合、電子機器1における磁気の誤差の累積状況を表すレベルを多段階に設定し、電子機器1において、このレベルがどの程度であるかを判定することとしてもよい。例えば、電子機器1における磁気の誤差の累積が小さいほど高いレベル(例えば「レベル3」)を設定し、キャリブレーションが必要となる磁気の誤差の累積状況を最低のレベル(例えば「レベル0」)に設定すること等が可能である。
このようにレベルを設定することにより、電子機器1における磁気の誤差の累積状況をより簡単に判定することが可能となる。
【0108】
また、上述の実施形態では、本発明が適用される電子機器1は、腕時計型の装置(スマートウォッチ等)を例として説明したが、特にこれに限定されない。
例えば、本発明は、地磁気センサのキャリブレーション機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、ノート型のパーソナルコンピュータ、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、スマートフォン、ポータブルゲーム機等に適用可能である。
【0109】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図3の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が電子機器1に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図3の例に限定されない。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
本実施形態における機能的構成は、演算処理を実行するプロセッサによって実現され、本実施形態に用いることが可能なプロセッサには、シングルプロセッサ、マルチプロセッサ及びマルチコアプロセッサ等の各種処理装置単体によって構成されるものの他、これら各種処理装置と、ASIC(Application Specific Integrated Circuit)やFPGA(Field‐Programmable Gate Array)等の処理回路とが組み合わせられたものを含む。
また、マルチプロセッサ、マルチコアプロセッサあるいは各種処理装置と処理回路とが組み合わせられたもの等、演算処理を行う主体が複数備えられた装置に本発明を適用する場合、1つの演算処理主体がキャリブレーション制御処理を実行することにより、他の演算処理主体の稼働状態(休止状態、スリープ状態、他の処理を実行中の状態等)によらず、キャリブレーション制御処理の結果を各演算処理主体で利用することができる。
【0110】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0111】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図2のリムーバブルメディア31により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア31は、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、CD-ROM(Compact Disk-Read Only Memory),DVD(Digital
Versatile Disk),Blu-ray(登録商標) Disc(ブルーレイディスク)等により構成される。光磁気ディスクは、MD(Mini-Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図2のROM12や、図2の記憶部21に含まれる半導体メモリ等で構成される。
【0112】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0113】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0114】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
地磁気センサと、
角速度センサと、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正手段と、を備える電子機器であって、
前記角速度センサのオン/オフ制御を行う制御手段と、
前記地磁気センサの較正が必要であるか否かを判定する判定手段と、
を有し、
前記制御手段は、前記判定手段が前記地磁気センサの較正が必要ではないと判定した場合に、前記角速度センサをオフするように制御することを特徴とする電子機器。
[付記2]
前記制御手段は、前記判定手段が前記地磁気センサの較正が必要ではないと判定した場合であって、前記角速度センサが他の処理において利用されていない場合に、前記角速度センサをオフするように制御することを特徴とする付記1に記載の電子機器。
[付記3]
前記角速度センサを利用することで所定の情報を取得する角速度情報取得手段を有し、
前記制御手段は、前記角速度情報取得手段により前記所定の情報を取得している間は前記角速度センサをオンし、
前記較正手段は、前記角速度情報取得手段により前記所定の情報を取得している間に、前記角速度センサが出力する角速度データを利用して前記地磁気センサの出力誤差の較正を行うことを特徴とする付記1または2に記載の電子機器。
[付記4]
前記制御手段は、前記判定手段が前記地磁気センサの較正が必要であると判定した場合に、前記角速度センサをオンするように制御することを特徴とする付記1から3のいずれか1つに記載の電子機器。
[付記5]
前記判定手段は、前記地磁気センサの磁気精度が良好であるか否かを判定すること及び/又は前記電子機器のユーザが前記地磁気センサの出力誤差の較正に利用可能な動作を行っているか否かを判定することによって、前記地磁気センサの較正が必要であるか否かを判定することを特徴とする付記1から4のいずれか1つに記載の電子機器。
[付記6]
前記電子機器のユーザが前記地磁気センサの出力誤差の較正に利用可能な動作を行っているか否かを判定する動作判定手段を有し、
前記較正手段は、前記動作判定手段によって前記電子機器のユーザが前記地磁気センサの出力誤差の較正に利用可能な動作を行っていると判定された場合に、前記地磁気センサの出力誤差の較正を行うことを特徴とする付記1から4のいずれか1つに記載の電子機器。
[付記7]
前記較正手段は、前記判定手段によって前記地磁気センサの較正が必要であると判定され、かつ、前記動作判定手段によって前記電子機器のユーザが前記地磁気センサの出力誤差の較正に利用可能な動作を行っていると判定された場合に、前記地磁気センサの出力誤差の較正を行うことを特徴とする付記6に記載の電子機器。
[付記8]
前記較正手段は、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差を較正する第1較正処理と、
前記角速度センサが出力する角速度データを用いることなく、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差を較正する第2較正処理と、を実行可能であり、
前記判定手段によって前記地磁気センサの較正が必要であると判定された場合、前記制御手段が前記角速度センサをオンすると共に前記較正手段が前記第1較正処理を実行し、前記判定手段によって前記地磁気センサの較正が必要であると判定された場合以外において、前記較正手段が前記第2較正処理を実行することを特徴とする付記1から7のいずれか1つに記載の電子機器。
[付記9]
通常時には前記較正手段が前記第2較正処理を実行し、前記判定手段によって前記地磁気センサの較正が必要であると判定された場合、前記制御手段が前記角速度センサをオンすると共に前記較正手段が前記第1較正処理を実行することを特徴とする付記8に記載の電子機器。
[付記10]
前記較正手段が行う前記地磁気センサの較正の較正タイミングを調整する調整手段を有し、
前記制御手段は、前記調整手段が調整した較正タイミングに基づいて、前記角速度センサをオンオフするように制御することを特徴とする付記1から9のいずれか1つに記載の電子機器。
[付記11]
前記判定手段は、直前のキャリブレーションからの経過時間、直前のキャリブレーション地点からの移動距離、直前のキャリブレーション時からの姿勢変化量及び直前のキャリブレーションからの累積的な磁場変化量の少なくともいずれか1つを測定し、当該測定結果が予め定められた閾値を超えた場合に、前記地磁気センサの較正が必要であると判定することを特徴とする付記1から10のいずれか1つに記載の電子機器。
[付記12]
地磁気センサと、
角速度センサと、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正手段と、を備える電子機器であって、
前記角速度センサのオン/オフ制御を行う制御手段と、
前記角速度センサを利用することで所定の情報を取得する角速度情報取得手段と、
を有し、
前記制御手段は、前記角速度情報取得手段により前記所定の情報を取得している間は前記角速度センサをオンし、
前記較正手段は、前記角速度情報取得手段により前記所定の情報を取得している間に、前記角速度センサが出力する角速度データを利用して前記地磁気センサの出力誤差の較正を行うことを特徴とする電子機器。
[付記13]
地磁気センサと、
角速度センサと、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正手段と、を備える電子機器が実行する較正制御方法であって、
前記角速度センサのオン/オフ制御を行う制御ステップと、
前記地磁気センサの較正が必要であるか否かを判定する判定ステップと、
を含み、
前記制御ステップでは、前記判定ステップにおいて前記地磁気センサの較正が必要ではないと判定された場合に、前記角速度センサをオフするように制御することを特徴とする較正制御方法。
[付記14]
地磁気センサと、
角速度センサと、
を備える電子機器が実行する較正制御方法であって、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正ステップと、
前記角速度センサのオン/オフ制御を行う制御ステップと、
前記角速度センサを利用することで所定の情報を取得する角速度情報取得ステップと、
を含み、
前記制御ステップでは、前記角速度情報取得ステップにより前記所定の情報を取得している間は前記角速度センサをオンし、
前記較正ステップでは、前記角速度情報取得ステップにより前記所定の情報を取得している間に、前記角速度センサが出力する角速度データを利用して前記地磁気センサの出力誤差の較正を行うことを特徴とする較正制御方法。
[付記15]
地磁気センサと、
角速度センサと、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正手段と、を備える電子機器を制御するコンピュータに、
前記角速度センサのオン/オフ制御を行う制御機能と、
前記地磁気センサの較正が必要であるか否かを判定する判定機能と、
を実現させ、
前記制御機能は、前記判定機能が前記地磁気センサの較正が必要ではないと判定した場合に、前記角速度センサをオフするように制御することを特徴とするプログラム。
[付記16]
地磁気センサと、
角速度センサと、
を備える電子機器を制御するコンピュータに、
前記角速度センサが出力する角速度データに基づいて、前記地磁気センサがより正確な地磁気データを出力できるように、前記地磁気センサの出力誤差の較正を行う較正機能と、
前記角速度センサのオン/オフ制御を行う制御機能と、
前記角速度センサを利用することで所定の情報を取得する角速度情報取得機能と、
を実現させ、
前記制御機能は、前記角速度情報取得機能により前記所定の情報を取得している間は前記角速度センサをオンし、
前記較正機能は、前記角速度情報取得機能により前記所定の情報を取得している間に、前記角速度センサが出力する角速度データを利用して前記地磁気センサの出力誤差の較正を行うことを特徴とするプログラム。
【符号の説明】
【0115】
1・・・電子機器,11・・・CPU,12・・・ROM,13・・・RAM,14・・・バス,15・・・入出力インターフェース,16・・・GPS部,17・・・センサ部,17a・・・地磁気センサ,17b・・・ジャイロセンサ,17c・・・加速度センサ,17d・・・脈拍センサ,18・・・撮像部,19・・・入力部,20・・・出力部,21・・・記憶部,22・・・通信部,23・・・ドライブ,31・・・リムーバブルメディア,51・・・キャリブレーション実行判定部,52・・・キャリブレーション実行部,53・・・ジャイロセンサ制御部,54・・・表示制御部,55・・・角速度情報利用部,56・・・地磁気センサ制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10