図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
<実施形態>
図1は、本発明の実施形態における高度計測装置の構成を示すブロック図である。図1に示されるように、高度計測装置100は、その全体を制御する制御部101と、気圧センサ10と、操作部20と、表示部30とを備える。
制御部101は、RAMを作業領域として用いることにより、ROMに記憶されたプログラム等を実行する。具体的には、ROMには高度計測プログラムが記憶されており、高度計測プログラムをRAMにロードして、実行する。制御部101は、高度計測プログラムの実行により、気圧センサ10,操作部20,表示部30を制御して、高度を計測する。
気圧センサ10は、絶対真空を基準にして表した圧力を計測する絶対圧力センサであり、高度計測装置100の位置における気圧を計測し、計測により生成された計測データを制御部101に出力する。
表示部30は、液晶表示装置(LCD)、有機ELD(Electoro Luminescence Display)等の表示装置である。表示部30は、制御部101により制御され、制御部101が出力するユーザに対する設定画面等の指示メニューや算出した数値データに関する情報を含む画面を表示する。
操作部20は、複数のキーを備え、キーに対応するユーザの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部20が備える複数のキーは、スイッチを備えたハードキーである。なお、操作部20は、キーの一部としてタッチパネルを含んでいても、あるいはタッチパネルそのもので構成されていてもよい。操作部20がタッチパネルを含む場合、あるいはタッチパネルから構成されている場合、タッチパネルは、表示部30上に設けられる。
制御部101は、表示部30を制御する表示制御部111と、ユーザの操作を受け付ける操作受付部113と、計測データ取得部115と、高度算出部117とを含む。
表示制御部111は、ユーザが操作部20を操作することにより操作部20に入力された高度算出指示を操作受付部113が受け付けると、案内メッセージを表示部30に表示させる。案内メッセージは、高度の算出に必要な指示や設定値の入力をユーザに促すためのメッセージである。高度の算出に必要な指示は、第1計測位置および第2計測位置を確定するための指示である。設定値は、第1計測位置と第2計測位置との間の高度差を含む。
案内メッセージは、第1案内メッセージと第2案内メッセージと第3案内メッセージとを含む。第1案内メッセージは、第1計測位置に高度計測装置100を移動させる動作および第1計測位置の確定をユーザに促すメッセージである。第2案内メッセージは、第1案内メッセージよりも後に表示部30に表示されるメッセージであり、第2計測位置に高度計測装置100を移動させる動作および第2計測位置の確定をユーザに促すメッセージである。第3案内メッセージは、第2案内メッセージよりも後に表示部30に表示されるメッセージであり、第1計測位置と第2計測位置との間の高度差の入力をユーザに促すメッセージである。
なお、第1計測位置は計測対象の最も高い位置であり、第2計測位置は計測対象の最も低い位置であり、第1計測位置と第2計測位置との間の高度差は、計測対象の高さに相当する。このため、第1,2案内メッセージは、第1計測位置および第2計測位置として適した位置をユーザが理解できるようなメッセージであることが好ましい。例えば、第1案内メッセージは、「計測対象の最も高い位置を計測位置としてください。」のメッセージであり、第2案内メッセージは、「計測対象の最も低い位置を計測位置としてください。」のメッセージである。また、計測対象は、人であってもよいし、物であってもよいが、ユーザが高さを予め知っているものを対象とすることが好ましい。第3案内メッセージに従って、ユーザは計測対象の高さを入力しなければならないからである。このため、第1案内メッセージは、「予め知っている高さのものを計測対象としてください。」のメッセージをさらに含んでいてもよい。
計測データ取得部115は、気圧センサ10を制御して、気圧センサ10が出力する計測データを取得する。具体的には、ユーザが第1,第2案内メッセージそれぞれに従って操作部20に確定指示を入力すると、気圧センサ10に気圧の計測を要求する。気圧センサ10は、計測データ取得部115の要求に従って気圧を計測し、計測により生成された計測データを計測データ取得部115に出力する。計測データ取得部115は、気圧センサ10が出力する第1計測位置における計測データを第1計測データとして取得し、気圧センサ10が出力する第2計測位置における計測データを第2計測データとして取得する。そして、計測データ取得部115は、取得された2つの計測データを高度算出部117に出力する。
計測データ取得部115は、案内メッセージに従ってユーザが操作部20に入力する確定指示に基づいて、表示制御部111に案内メッセージの表示の切換えを指示する。具体的には、第1案内メッセージが表示制御部111により表示されている段階において、操作受付部113により受け付けられた確定指示が入力されると、第1切換指示を表示制御部111に出力する。さらに、計測データ取得部115は、第2案内メッセージが表示制御部111により表示されている段階において、操作受付部113により受け付けられた確定指示が入力されると、第2切換指示を表示制御部111に出力する。第1切換指示を受け付けた表示制御部111は、第1案内メッセージの表示を終了し、第2案内メッセージを表示部30に表示させる。第2切換指示を受け付けた表示制御部111は、第2案内メッセージの表示を終了し、第3案内メッセージを表示部30に表示させる。これにより、表示制御部111は、計測データ取得部115の指示に応じて案内メッセージの表示を切り換える。
操作受付部113は、高さ情報受付部121を含む。高さ情報受付部121は、第3案内メッセージに従って、ユーザが操作部20に入力した高さ情報を受け付ける。高さ情報は、ユーザにより指定された2つの計測位置間の高度差を示す情報であり、本実施形態においては計測対象の高さを含む。高さ情報受付部121は、高さ情報を受け付けると、受け付けた高さ情報を高度算出部117に出力する。
高度算出部117は、計測データ取得部115により取得された2つの計測データと高さ情報受付部121により受け付けられた高さ情報とに基づいて、計測対象の位置における高度h2を算出する。高度h2は、具体的には、下記の数3,4で示される式によって算出する。高度算出部117は、算出された高度h2を表示制御部111に出力する。表示制御部111は、高度算出部117により算出された高度h2を表示部30に表示させる。
なお、p1は第1計測位置における気圧を示し、p2は第2計測位置における気圧を示す。また、Δhは、高さ情報で示される高度差を示す。C1およびC2は定数である。ここで、ユーザが計測対象を自身とする場合を例に説明する。この場合、図2に示されるように、ユーザが第1〜第3案内メッセージに従うと、第1計測位置はユーザの頭上であり、第2計測位置はユーザの足元である。そして、Δhは、第1計測位置と第2計測位置との間の高度差(計測対象の高さ)である。換言すれば、ユーザの身長である。そして、気圧p1は、ユーザの頭上における気圧であり、気圧p2はユーザの足元における気圧である。気圧p1、気圧p2およびユーザの身長が入力されると、数3,4によりユーザの足元における高度h2が算出される。
ここで、数3,4の導出方法を説明する。高度と気圧との関係を、数5に示される公知の式を示す。図3は、高度と気圧との関係を示す図である。図3に示されるように、高度が高くなるにつれて、気圧が低くなることが知られている。そして、図3に示される気圧と高度との関係が、数5のような近似式で示されることが知られている。
なお、hは海抜高度、p0は海面気圧、pは計測気圧である。また、数5において、44330が上記の定数C1、1/5.255が定数C2に相当する。なお、C1,C2は、この値に限定するものではなく、有効数字の取り方や図3から数5を導き出すための近似式、hおよびpの単位系により値が異なる。第1計測位置h1における気圧p1および第2計測位置h2における気圧p2は、それぞれ数5を用いて数6,7のように表せる。
そして、数6を数7で除算して、数8が算出される。
ここで、h1は、第1,第2計測位置と高さ情報の関係から下記の式(7)のように示される。
h1=h2+Δh・・・・・・・・・(7)
さらに、数8に式(7)を代入して、下記の数9が算出される。
よって、数9をh2について求めることにより、数3,4が算出される。
上述したように、現在位置における高度は、2つの計測位置における気圧と、2つの計測位置間の高度差(計測対象の高さ)とに基づいて算出する。このため、ユーザは、例えば、2つの計測位置を自身の頭上と足元に指定し、身長を入力する簡単な操作で高度を算出することができる。また、絶対圧力センサとしての気圧センサ10は、経時的オフセット変動が少ないので、計測により生じる気圧の誤差を少なくすることができる。このため、海抜からの高度としての絶対高度の計測誤差を減少することができる。
図4は、高度計測処理の流れの一例を示すフローチャートである。高度計測処理は、制御部101がROM等に記憶された高度計測プログラムを実行することにより、制御部101により実行される処理である。図4に示されるように、操作受付部113は、操作部20が出力する高度計測指示を受け付けたか否かを判断する(ステップS01)。ユーザが操作部20に入力した高度計測指示が受け付けられたならば、処理をステップS02に進める。すなわち、高度計測処理は、高度計測指示が受け付けられることを条件に実行される処理である。
なお、高度計測処理においては、案内メッセージが表示部30に表示される。ユーザは、表示部30に表示される案内メッセージに従って、計測対象における計測位置の確定を指示する。ここでは、計測対象をユーザ自身とする場合を例に説明する。
ステップS02においては、表示制御部111は、第1案内メッセージを表示部30に表示する。第1案内メッセージは、第1計測位置に高度計測装置100を移動させる動作および第1計測位置の確定をユーザに促すメッセージである。例えば、「計測対象の最も高い位置を計測位置としてください。」のメッセージである。ここでは、ユーザは、高度計測装置100を頭上に移動させ、その位置において操作部20に確定指示を入力する。
次のステップS03においては、操作受付部113は、ユーザが操作部20に入力した確定指示を受け付けたか否かを判断する。確定指示が受け付けられたならば処理をステップS04に進める。
ステップS04においては、計測データ取得部115は、気圧センサ10に気圧の計測を要求する。気圧センサ10は、計測データ取得部115からの要求に従って気圧を計測し、計測により生成した計測データを計測データ取得部115に出力する。そして、計測データ取得部115は、気圧センサ10が出力する計測データを第1計測データとして取得する(ステップS05)。これにより、ユーザの頭上における気圧の計測データが取得される。
次のステップS06においては、表示制御部111は、第2案内メッセージを表示部30に表示する。第2案内メッセージは、第2計測位置に高度計測装置100を移動させる動作および第2計測位置の確定をユーザに促すメッセージである。例えば、第2案内メッセージは、「計測対象の最も低い位置を計測位置としてください。」のメッセージである。ここでは、ユーザは、高度計測装置100を足元に移動させ、その位置において操作部20に確定指示を入力する。
次のステップS07においては、操作受付部113は、ユーザが操作部20に入力した確定指示を受け付けたか否かを判断する。確定指示が受け付けられたならば処理をステップS08に進める。
ステップS08においては、計測データ取得部115は、気圧センサ10に気圧の計測を要求する。気圧センサ10は、計測データ取得部115からの要求に従って気圧を計測し、計測により生成した計測データを計測データ取得部115に出力する。そして、計測データ取得部115は、気圧センサ10が出力する計測データを第2計測データとして取得する(ステップS09)。これにより、ユーザの足元における気圧の計測データが取得される。
次のステップS10においては、表示制御部111は、第3案内メッセージを表示部30に表示する。第3案内メッセージは、第1計測位置と第2計測位置との間の高度差(計測対象の高さ)の入力を促すメッセージである。例えば、第3案内メッセージは、「計測対象の高さを入力してください。」のメッセージである。ここでは、計測対象の高さは、ユーザの足元から頭上までの高さである。換言すれば、ユーザの身長である。ユーザは、第3案内メッセージに従って、計測対象とした自身の身長を操作部20に入力する。
次のステップS11においては、高さ情報受付部121は、高さ情報を受け付ける。具体的には、ステップS10において表示部30に表示された第3案内メッセージに従って、ユーザが操作部20に入力した身長を高さ情報として受け付ける。
次のステップS12においては、高度算出部117は、ステップS05,S09において取得された第1計測データおよび第2計測データと、ステップS11において受け付けられた高さ情報とに基づいて高度を算出し、処理をステップS13に進める。
ステップS13においては、表示制御部111は、ステップS12において算出された高度を表示部30に表示し、高度計測処理を終了する。
本実施の形態における高度計測装置100は、携帯端末および腕時計等に搭載することが可能である。
<第1の参考形態>
ところで、高度を計測する装置が従来技術として知られている。例えば、特許文献1には、圧力センサにより気圧を計測する通信機器が記載されている。特許文献1に記載の通信機器は、それに近い位置における基地局と通信することにより、気圧校正情報を受信する。気圧校正情報は、通信機器に備えられた圧力センサが計測する局部的な気圧の計測値を正確な高さ推定値に変換するあるいは校正する量を表すデータである。通信機器は、受信した気圧校正情報に基づいて、圧力センサが計測した気圧の計測値を高さ推定値に変換あるいは校正することにより、自装置の高さを正確に測定する。
しかしながら、上述のような従来技術において計測される高度は、海抜を基準とした高さである。ユーザによっては、海抜を基準とする高度ではなく、他の位置を基準とした高度差を知りたいといった要望がある。例えば、デパートなどの建物内での1階から自分までの高度差を知りたいといった要望である。また、各圧力センサが有する個体差もあり、正確な高度差の計測ができないという問題もある。
本参考形態は、上記課題を解決するためになされたものであり、本参考形態の目的は、予め定められた位置を基準とした高度差の計測精度を向上させることが可能な高度差計測装置、高度差計測方法および高度差計測プログラムを提供することである。
上記の実施形態においては、気圧センサ10を用いて、高度を精度良く計測するものであった。第1の参考形態においては、複数の気圧センサ10を用いて、予め定められた基準となる気圧を計測する基準の気圧センサ10により計測された気圧と基準の気圧センサ10以外の気圧センサ10により計測された気圧とに基づいて、高度差を測定するものである。
図5は、高度差計測システムの全体概要の一例を示す図である。図5に示されるように、高度差計測システム1は、基準気圧計測装置200と、複数の高度差計測装置300とを含む。基準気圧計測装置200と複数の高度差計測装置300とは無線回線によって接続され、互いに通信が可能である。第1の参考形態においては、基準気圧計測装置200が複数フロアを有するビル、または複数フロアを有する大型の商業施設等に配置され、各フロア内の複数のユーザがそれぞれ保有する複数の高度差計測装置300と無線通信する。
図6は、基準気圧計測装置の構成の一例を示すブロック図である。図6に示されるように、基準気圧計測装置200は、その全体を制御する制御部201と、気圧センサ10と、無線通信部40とを含む。無線通信部40は、無線回線を利用して、TCPまたはUDP等の通信プロトコルによって通信する。
制御部201は、計測データ受付部221と、基準計測データ送信部223と、送信開始コマンド受信部225とを含む。計測データ受付部221は、気圧センサ10が所定の時間間隔で生成し、出力する計測データを受け付け、受け付けた計測データを基準計測データ送信部223に出力する。
送信開始コマンド受信部225は、無線通信部40を制御して、複数の高度差計測装置300のいずれかから送信開始コマンドを受信する。無線通信部40が複数の高度差計測装置300のいずれかから送信開始コマンドを受信すると、送信開始コマンドを送信してきたものを識別するための装置識別情報を含めた送信指示を基準計測データ送信部223に出力する。
基準計測データ送信部223は、送信開始コマンド受信部225から送信指示が入力されると、計測データ受付部221により受け付けられる計測データの送信を開始する。基準計測データ送信部223は、計測データ受付部221により計測データが入力されるごとに、送信開始コマンド受信部225から入力された送信指示に含まれる装置識別情報で特定される高度差計測装置300に計測データを送信する。送信開始コマンド受信部225から複数の送信指示が入力された場合、複数の装置識別情報でそれぞれ特定される複数の高度差計測装置300に計測データを送信する。
図7は、高度差計測装置の構成を示すブロック図である。図7に示されるように、高度差計測装置300は、その全体を制御する制御部301と、気圧センサ10と、無線通信部50と、メモリ60とを含む。
制御部301は、RAMを作業領域として用いることにより、ROMに記憶されたプログラム等を実行する。具体的には、ROMには高度差計測プログラムが記憶されており、高度差計測プログラムをRAMにロードして、実行する。制御部301は、高度差計測プログラムの実行により、気圧センサ10と、無線通信部50と、メモリ60を制御して、高度差を計測する。
無線通信部50は、無線回線を利用して、TCPまたはUDP等の通信プロトコルによって通信する。無線通信部50は、無線回線により接続された外部の機器との間でデータを送受信する。
制御部301は、表示部30を制御する表示制御部111と、ユーザの操作を受け付ける操作受付部313と、基準計測データ要求部315と、計測データ取得部317と、気圧補正部319と、気圧差算出部321と、高度差算出部323とを含む。
表示制御部311は、ユーザが操作部20を操作することにより操作部20に入力された初期化指示を操作受付部313が受け付けると、確認メッセージを表示部30に表示させる。確認メッセージは、基準気圧計測装置200の近くにいるか否かをユーザに確認するためのメッセージである。ここで、基準気圧計測装置200の近くとは、基準気圧計測装置200と同じフロアであり、かつ、基準気圧計測装置200から所定の距離範囲内である。
操作受付部313は、ユーザが確認メッセージに従って、操作部20に備える決定キーを押下すると、初期化指示を受け付け、その旨を基準計測データ要求部315および計測データ取得部317に出力する。
基準計測データ要求部315は、無線通信部50を制御して、基準気圧計測装置200に計測データの送信開始を要求する。具体的には、基準計測データ要求部315は、操作受付部313から初期化指示を受け付けた旨が入力されると、計測データの送信開始を要求する送信開始コマンドを無線通信部50を介して基準気圧計測装置200に送信する。
基準計測データ要求部315は、基準計測データ受信部331を含む。基準計測データ受信部331は、無線通信部50を制御して、基準気圧計測装置200から計測データを受信する。基準気圧計測装置200は、基準計測データ要求部315の要求に応じて、計測データの送信を開始するので、基準計測データ受信部331は、基準気圧計測装置200において計測データが生成されるごとに、基準気圧計測装置200が所定の時間間隔で送信する計測データを基準計測データとして受信する。
基準計測データ受信部331は、操作受付部313から入力された初期化指示に基づいて、受信された基準計測データを気圧補正部319に出力する。また、基準計測データ受信部331は、基準計測データを受信するごとに、計測データの取得指示を計測データ取得部317に出力するとともに、受信された基準計測データを気圧差算出部321に出力する。
計測データ取得部317は、気圧センサ10を制御して、気圧センサ10が出力する計測データを取得する。具体的には、計測データ取得部317は、操作受付部313から初期化指示が受けられた旨が入力されると、気圧センサ10に気圧の計測を要求する。気圧センサ10は、計測データ取得部317の要求に従って気圧を計測し、計測により生成された計測データを計測データ取得部317に出力する。計測データ取得部317は、気圧センサ10から入力された計測データを気圧補正部319に出力する。
さらに、計測データ取得部317は、基準計測データ受信部331により基準計測データが受信されるごとに気圧センサ10が出力する計測データを取得する。具体的には、基準計測データ受信部331から取得指示が入力されるごとに、気圧センサ10に気圧の計測を要求する。気圧センサ10は、計測データ取得部317の要求に従って気圧を計測し、計測により生成された計測データを計測データ取得部317に出力する。計測データ取得部317は、気圧センサ10から入力された計測データを気圧差算出部321に出力する。
気圧補正部319は、基準計測データ受信部331により受信された基準計測データに基づいて、気圧センサ10により計測された気圧を補正する。具体的には、計測データ取得部317により取得された計測データと基準計測データとに基づいて、気圧の誤差を算出する。気圧補正部319は、基準計測データで示される気圧から計測データ取得部317により取得された計測データで示される気圧を減算した気圧の誤差を気圧補正データ341としてメモリ60に記憶する。
気圧差算出部321は、気圧補正部319により補正された気圧を考慮して、自装置の気圧センサ10により計測された気圧と基準気圧計測装置200により計測された気圧との気圧差を算出する。具体的には、基準計測データ受信部331により受信された基準計測データで示される気圧に対し、計測データ取得部317により取得された計測データで示される気圧とメモリ60に記憶された補正気圧データで示される誤差とを減算する。気圧差算出部321は、減算後の値を気圧差として高度差算出部323に出力する。
高度差算出部323は、気圧差算出部321により算出された気圧差に基づいて、基準気圧計測装置200を基準とした高度差を算出する。具体的には、高度と気圧との関係に基づいて、気圧差を高度差に換算する。
図3に示されるように、気圧と高度との関係は、上記の数5で示されるように非線形であるが、ここでは図に示されるグラフが直線に近いため、最小二乗法に基づく直線式に近似する。この直線式を用いると、例えば高度0mから高度2000mに変化する場合、約24000Pa低下するので、高度が1m高くなる毎に低下する気圧が12Paとなる。これにより、気圧差算出部321により算出された気圧差を12Paで除算した値が高度差として算出される。
したがって、基準気圧計測装置200が配置された位置と高度差計測装置300の位置との高度差を算出することができる。また、高度差計測装置300により算出された高度差を表示部30に表示するようにすれば、表示部30に表示される高度差を知るユーザは、基準気圧計測装置200が配置された位置から変化した分の高さを知ることができる。さらに、複数のユーザが互いに自装置により計測された高度差を無線通信によって交換可能とすれば、複数のユーザそれぞれは、互いの高度差を把握することができる。
図8は、初期化処理の流れの一例を示すフローチャートである。初期化処理は、制御部301がROM等に記憶された初期化プログラムを実行することにより、制御部301により実行される処理である。図8に示されるように、操作受付部313は、操作部20が出力する初期化指示を受け付けたか否かを判断する(ステップS21)。ユーザが操作部20に入力した初期化指示が受け付けられたならば、処理をステップS22に進める。すなわち、初期化処理は、初期化指示が受け付けられることを条件に実行される処理である。
ステップS22においては、表示制御部311は、確認メッセージを表示部30に表示する。確認メッセージは、基準気圧計測装置200の近くにいるか否かをユーザに確認するためのメッセージである。
次のステップS23においては、操作受付部313は、ユーザが操作部20に入力した確定指示を受け付けたか否かを判断する。確定指示が受け付けられたならば処理をステップS24に進める。具体的には、図9に示されるように、確定指示は、高度差計測装置300を保持するユーザA,Bが1階に配置された基準気圧計測装置200の前で操作部20が備える決定キーを押下することにより、受け付けられる。
ステップS24においては、基準計測データ要求部315は、基準気圧計測装置200に計測データの送信開始を要求する。具体的には、無線通信部50を介して基準気圧計測装置200に送信開始コマンドを送信する。
次のステップS25においては、基準計測データ受信部331は、基準気圧計測装置200から基準計測データを受信したか否かを判断する。基準計測データが受信されたならば処理をステップS26に進める。基準気圧計測装置200は、ステップS24において送信された送信開始コマンドに従って、計測データの送信を開始する。基準気圧計測装置200の気圧センサ10は、所定の時間間隔で計測データを生成するので、計測データが生成されることに応じて、送信開始コマンドを送信してきた高度差計測装置300に無線通信部40を介して計測データを送信する。
ステップS26においては、計測データ取得部317は、自装置の気圧センサ10に気圧の計測を要求する。そして、気圧センサ10が計測データ取得部317からの要求に従って気圧を計測することにより生成された計測データを取得する(ステップS27)。
次のステップS28においては、気圧補正部319は、ステップS25において受信された基準計測データに基づいて、ステップS26において自装置の気圧センサ10により計測された気圧を補正する。具体的には、ステップS27において取得された計測データとステップS25において受信された基準計測データとに基づいて、気圧の誤差を算出し、算出された誤差を気圧補正データとして生成する。そして、生成された気圧補正データをメモリ60に記憶し、初期化処理を終了する。
このように、基準気圧計測装置200の前にユーザがきたときに、基準気圧計測装置200で計測された基準計測データと高度差計測装置300で計測された計測データとの誤差が気圧補正データとして記憶される。基準気圧計測装置200と高度差計測装置300とは略同じ高度に位置するため、本来であれば同じ気圧値を計測することとなるが、気圧センサ10の個体差による計測精度の違いや各装置における気圧センサ10の周辺環境の微妙な相違により、両者の気圧センサ10の計測値が異なる場合がある。しかしながら、上記のような初期化処理を行うことにより、両者の気圧センサ10の計測値の誤差を予め把握することができる。
図10は、高度差算出処理の流れの一例を示すフローチャートである。高度差算出処理は、制御部301がROM等に記憶された高度差算出プログラムを実行することにより、制御部301により実行される処理である。図10に示されるように、基準計測データ受信部331は、基準気圧計測装置200から基準計測データを受信したか否かを判断する(ステップS31)。そして、基準計測データが受信されたならば、気圧補正データがメモリ60に記憶されているか否かを判断する(ステップS32)。気圧補正データがあるならば処理をステップS33に進めるが、そうでなければ高度差算出処理を終了する。すなわち、高度差算出処理は、初期化処理が実行された後に、基準計測データが受信されることを条件に実行される処理である。
ステップS33においては、計測データ取得部317は、自装置の気圧センサ10に気圧の計測を要求する。そして、気圧センサ10が計測データ取得部317からの要求に従って気圧を計測することにより生成された計測データを取得する(ステップS34)。
次のステップS35においては、メモリ60に記憶された気圧補正データを読出す。そして、読み出された気圧補正データに基づいて、気圧差を算出する。具体的には、ステップS31において受信された基準計測データで示される気圧に対して、ステップS34において取得された計測データで示される気圧の差を算出する。そして、その差に、メモリ60に記憶された補正気圧データで示される誤差を減算する。これにより、気圧差が算出される。
次のステップS37においては、ステップS36において算出された気圧差に基づいて、高度差を算出する。具体的には、高度と気圧との関係に基づいて、気圧差を高度差に換算する。例えば、図3に示す高度と気圧の関係から高度が1m高くなる毎に低下する気圧が12Paとした場合、気圧差を12Paで除算した値が高度差として算出される。
次のステップS38においては、基準計測データ受信部331は、次の計測データを受信したか否かを判断する。計測データを受信したならば処理をステップS33に戻すが、そうでなければ処理をステップS39に進める。
ステップS39においては、操作部20に終了指示が入力されたか否かを判断する。終了指示があったならば高度差算出処理を終了するが、そうでなければ処理をステップS38に戻す。
なお、上記の説明では、基準計測データ送信部223は、基準計測データ要求部315から計測データの送信開始の要求を受け付けた後、所定時間間隔で計測データを送信するものとした。しかしながら、基準計測データ送信部223は、基準計測データ要求部315から計測データの送信要求を受け付けるごとに計測データを送信するものとしてもよい。
この場合、基準計測データ要求部315は、操作受付部313から初期化指示を受け付けた旨が入力されると、計測データの送信要求を示す送信要求コマンドを基準気圧計測装置200に送信する。また、ユーザは、基準気圧計測装置200との高度差を知りたいときに高度差算出指示を操作部20に入力する。そして、基準計測データ受信部331は、操作受付部313から高度差算出指示を受け付けた旨が入力されると、計測データの送信要求を示す送信要求コマンドを基準気圧計測装置200に送信する。基準気圧計測装置200では、送信要求コマンドを受けると、計測データ受付部221は、気圧センサ10を制御して、気圧センサ10が出力する計測データを取得する。そして、基準計測データ送信部223は、計測データを高度差計測装置300に送信すればよい。
上述したように、高度差計測装置300は、気圧補正データ341で示される計測精度誤差に基づいて、基準気圧計測装置200の気圧センサ10と自装置の気圧センサ10との計測精度の誤差を補正するので、基準気圧計測装置200が配置された位置と、高度差計測装置300を保持するユーザの位置との高度差の計測精度を向上させることができる。
本参考形態における高度差計測装置300は、携帯端末および腕時計等に搭載することが可能である。
<第1の参考形態の変形例>
第1の参考形態においては、高度差計測装置300は、ユーザが基準気圧計測装置200の近くに存在する状態で初期化処理をするものであった。本変形例における高度差計測装置300Aは、ユーザが基準気圧計測装置200の近くに存在しない状態で初期化処理をするものである。この場合、確認メッセージは、基準気圧計測装置200の近くにいるか否かをユーザに確認するためのメッセージに代えて、現在のフロアの階数の入力をユーザに促すメッセージを含む。
また、本変形例では、基準気圧計測装置200は、各フロアと基準気圧計測装置200が設置されているフロアとの高度差を示すフロア間高度差情報を記憶している。フロア間高度差情報の詳細については後述する。
図11は、第1の参考形態の変形例における高度差計測装置の構成の一例を示す図である。図11に示す高度差計測装置300Aが図7に示す高度差計測装置300と異なる点は、操作受付部313が操作受付部313Aに変更された点、基準計測データ要求部315が基準計測データ要求部315Aに変更された点、気圧補正部319が気圧補正部319Aに変更された点である。その他の構成は、図7に示す高度差計測装置300と同じであるので、ここでは説明を繰り返さない。
操作受付部313Aは、フロア位置情報受付部351を含む。フロア位置情報受付部351は、ユーザが表示部30に表示された確認メッセージに従って、現在位置のフロアを入力すると、入力されたフロアをフロア位置情報として受け付け、フロア位置情報を気圧補正部319Aに出力する。また、操作受付部313Aは、フロア位置情報を受け付けると、その旨を基準計測データ要求部315Aに出力する。
基準計測データ要求部315Aは、無線通信部50を制御して、基準気圧計測装置200に計測データの送信開始の要求とともに、フロア間高度差情報の送信を要求する。具体的には、基準計測データ要求部315Aは、操作受付部313Aからフロア位置情報を受け付けた旨が入力されると、計測データの送信開始を要求する送信開始コマンドとともに、フロア間高度差情報の送信指示を無線通信部50を介して基準気圧計測装置200に送信する。
基準計測データ要求部315Aは、高度差情報受信部333を含む。高度差情報受信部333は、フロア間高度差情報の送信指示を受信した基準気圧計測装置200が、それが予め記憶するフロア間高度差情報を送信することにより、受信し、受信したフロア間高度差情報をフロア間高度差情報343としてメモリ60に記憶する。
フロア間高度差情報343は、基準気圧計測装置200が配置されたフロアを基準とした各フロアの高度を示す情報であり、基準気圧計測装置200が配置されるフロアごとに、フロア間高度差レコードを含む。フロア間高度差レコードは、フロア情報の項目と、高度差の項目とを含む。フロア情報の項目には、フロア識別情報が設定される。フロア識別情報は、商業施設等の各フロアを識別するための情報である。高度差の項目には、基準気圧計測装置200が配置されるフロアを基準としたフロア識別情報で特定されるフロアの高度差が設定される。
気圧補正部319Aは、フロア間気圧誤差算出部353と、装置間気圧誤差算出部355とを含み、フロア間気圧誤差算出部353により算出されたフロア間気圧誤差と装置間気圧誤差算出部355により算出された装置間気圧誤差とを考慮して、気圧を補正する。具体的には、フロア間気圧誤差算出部353により算出されるフロア間気圧誤差と、装置間気圧誤差算出部355により算出される装置間気圧誤差とを含む気圧補正データをメモリ60に記憶する。これにより、気圧補正データがメモリ60に記憶される。
フロア間気圧誤差算出部353は、自装置の位置と、基準気圧計測装置200が配置されている位置との高度の異なりにより生じるフロア間気圧誤差を算出する。フロア間気圧誤差算出部353は、フロア位置情報受付部351からフロア位置情報が入力されると、メモリ60に予め記憶されたフロア間高度差情報を読出し、読み出されたフロア間高度差情報に従って、フロア位置情報で示されるフロアを基準とした基準気圧計測装置200が配置されたフロアの高度差をフロア間高度差として特定する。そして、特定されたフロア間高度差、および気圧と高度との関係に基づいて、フロア間気圧誤差を算出する。例えば、図3に示す高度と気圧の関係から高度が1m高くなる毎に低下する気圧が12Paとした場合、フロア間高度差を12Paで除算した値がフロア間気圧誤差として算出される。
装置間気圧誤差算出部355は、自装置の気圧センサ10と、基準気圧計測装置200の気圧センサ10との間の計測精度の誤差を装置間気圧誤差として算出する。具体的には、基準計測データ受信部331から入力された基準計測データで示される気圧に対し、フロア間気圧誤差算出部353により算出されたフロア間気圧誤差と計測データ取得部317により取得された計測データで示される気圧とを減算する。これにより、計測精度誤差が算出される。
したがって、ユーザは、基準気圧計測装置200が配置された位置付近で初期化を指示する必要がないので、ユーザの位置に関係なく初期化処理をさせることができる。
図12は、第1の参考形態の変形例における初期化処理の流れの一例を示すフローチャートである。本変形例における初期化処理は、本変形例における高度差計測装置300が備える制御部301がROM等に記憶された高度差算出プログラムを実行することにより、制御部301により実行される処理である。図12に示す初期化処理が図8に示す初期化処理と異なる点は、ステップS22,24,25,28がそれぞれステップS22A,24A,25A,28Aに変更された点、ステップS41〜S45が追加された点である。その他の処理は、図8に示す初期化処理と同じであるので、ここでは説明を繰り返さない。
ステップS22Aにおいては、表示制御部311は、確認メッセージを表示部30に表示する。確認メッセージは、現在のフロアの階数の入力をユーザに促すメッセージである。
ステップS41においては、フロア位置情報受付部351は、ユーザが操作部20に入力するフロア位置情報を受け付ける。具体的には、図13に示されるように、フロア位置情報は、高度差計測装置300Aを保持するユーザA,Bがそれぞれ1階に配置された基準気圧計測装置200以外の階で操作部20にそれぞれが位置する階を入力することにより、受け付けられる。
なお、ユーザAが保持する高度差計測装置300AとユーザBが保持する高度差計測装置300Aとは、無線通信が可能であり、互いのフロア間高度差情報を交換することができる。これにより、ユーザA,Bは、他方のユーザが自身のフロアより上のフロアまたは下のフロアに位置することを知ることができる。
ステップS24Aにおいては、基準計測データ要求部315Aは、基準気圧計測装置200に計測データの送信開始を要求するとともに、フロア間高度差情報を要求する。具体的には、無線通信部50を介して基準気圧計測装置200に送信開始コマンドおよびフロア間高度差情報の送信指示を送信する。
ステップS25Aにおいては、基準計測データ受信部331は、基準気圧計測装置200から基準計測データを受信したか否か、高度差情報受信部333は、基準気圧計測装置200からフロア間高度差情報を受信したか否かを判断する。基準計測データおよびフロア間高度差情報が受信されたならば処理をステップS26に進める。基準気圧計測装置200は、ステップS24Aにおいて送信された送信開始コマンドに従って、計測データの送信を開始する。基準気圧計測装置200の気圧センサ10は、所定の時間間隔で計測データを生成するので、計測データが生成されることに応じて、送信開始コマンドを送信してきた高度差計測装置300に無線通信部40を介して計測データを送信する。また、基準気圧計測装置200は、ステップS24Aにおいて送信された送信指示に応じて、フロア間高度差情報を送信する。
ステップS42においては、ステップS25Aにおいて受信されたフロア間高度差情報をメモリ60に記憶し、処理をステップS43に進める。
ステップS43においては、フロア間気圧誤差算出部353は、メモリ60に予め記憶されたフロア間高度差情報を読出す。そして、フロア間気圧誤差を算出する(ステップS44)。具体的には、ステップS43において読み出されたフロア間高度差情報に基づいて、自装置が配置されているフロアと、基準気圧計測装置200が配置されているフロアとの高さの異なりにより生じる気圧の誤差をフロア間気圧誤差として算出する。より具体的には、フロア間気圧誤差算出部353は、フロア間高度差情報に従い、基準気圧計測装置200が配置されたフロアを基準とした、ステップS41において受け付けられたフロア位置情報で示されるフロアの高度をフロア間高度差として特定する。そして、特定されたフロア間高度差、および気圧と高度との関係に基づいて、フロア間気圧誤差を算出する。例えば、図3に示す高度と気圧の関係から高度が1m高くなる毎に低下する気圧が12Paとした場合、フロア間高度差を12Paで除算した値がフロア間気圧誤差として算出される。
次のステップS45においては、装置間気圧誤差算出部355は、装置間気圧誤差を算出する。具体的には、自装置の気圧センサ10と、基準気圧計測装置200の気圧センサ10との間の計測精度の誤差を装置間気圧誤差として算出する。具体的には、ステップS25において受信された基準計測データで示される気圧に対し、ステップS33において算出されたフロア間気圧誤差とステップS27において取得された計測データで示される気圧とを減算することにより計測精度の誤差を算出する。
次のステップS28Aにおいては、気圧補正部319Aは、ステップ33において算出されたフロア間気圧誤差とステップS34において算出された装置間気圧誤差とを含む気圧補正データを生成し、生成された気圧補正データをメモリ60に記憶し、初期化処理を終了する。
上述したように、高度差計測装置300Aは、気圧補正データ341Aで示される計測精度誤差に基づいて、基準気圧計測装置200の気圧センサ10と自装置の気圧センサ10との計測精度の誤差を補正するので、基準気圧計測装置200が配置された位置を基準とした、高度差計測装置300Aを保持するユーザの位置までの高度の計測精度を向上させることができる。また、ユーザは、基準気圧計測装置200の近くで初期化指示を入力する必要がないので、基準気圧計測装置200と通信する際に、ユーザが基準気圧計測装置200に接近しなければいけないといった煩雑さを解消することができる。
以上のように、第1の参考形態に係る高度差計測装置300,300Aは、気圧を計測することにより計測データを生成する第1センサを有する基準気圧計測装置と通信する高度差計測装置であって、気圧を計測することにより計測データを生成する第2センサと、前記第1センサと前記第2センサとが略同じ高度であるときに計測した値の誤差を取得する誤差取得手段(気圧補正部)と、前記第1センサにより生成された計測データと前記第2センサにより生成された計測データとの気圧差を前記誤差に基づいて補正し、補正後気圧差を生成する気圧差算出手段と、前記気圧差算出手段により算出された補正後気圧差に基づいて、前記基準気圧計測装置が配置された位置を基準とした高度差を算出する高度差算出手段とを備える。
上記の構成によれば、高度差計測装置は、基準気圧計測装置の第1センサと自装置の第2センサとの計測精度の誤差を補正するので、基準気圧計測装置が配置された位置を基準とした、高度差計測装置を保持するユーザが位置までの高度の計測精度を向上させることができる。
さらに、第1の参考形態における高度差計測装置は、ユーザの操作を受け付ける操作受付手段と、前記第2センサが生成する計測データを取得する計測データ取得手段とをさらに備え、前記計測データ取得手段は、前記操作受付手段により所定の指示が受け付けられると、前記第2センサに気圧の計測を要求することにより計測データを取得し、前記誤差取得手段は、前記第1センサで生成された計測データで示される気圧から前記計測データ取得手段により取得された計測データで示される気圧を減算した値を前記誤差として生成する。
さらに、第1の参考形態における高度差計測装置において、前記気圧差算出手段は、前記第2センサで生成された計測データで示される気圧に対し、前記第1センサで生成された計測データで示される気圧と前記誤差とを減算することにより前記補正後気圧差を生成する。
さらに、第1の参考形態における高度差計測装置は、前記基準気圧計測装置の近くにいるか否かをユーザに確認するための確認メッセージを表示する表示制御手段を備え、前記操作受付手段は、前記確認メッセージが前記表示制御手段により表示されている状態で、前記所定の指示を受け付ける。
本参考形態における高度差計測装置300Aは、携帯端末および腕時計等に搭載することが可能である。
<第2の参考形態>
ところで、気圧の変化を検知する装置が従来技術として知られている。例えば、特開平7−218361号公報には、気圧の変化を検出する微気圧検出装置が記載されている。具体的には、微気圧検出装置は、特定の部屋に設置され、その部屋と他の部屋との間の仕切りの開閉により生じる気圧の変化を検知するものである。
しかしながら、上述のような従来技術における微気圧検出装置は、特定の部屋と他の部屋との間の仕切りの開閉を検知するものであり、人がある空間から別の空間に移動することを検知するものではない。
本参考形態は、上記課題を解決するためになされたものであり、本参考形態の目的は、ある空間から別の空間への移動を検出することが可能な携帯端末を提供することである。
第2の参考形態においては、気圧センサ10を用いて、気圧センサ10により計測される気圧の変動を監視することにより、空間内外の移動を検出するものである。ここでは、気圧センサ10を、携帯端末としての携帯電話に搭載する場合を例に説明する。なお、その他の構成は周知であるので、ここでは主な構成および機能について説明する。
図14は、携帯電話の構成を示すブロック図である。図14に示されるように、携帯電話400は、その全体を制御する制御部401と、気圧センサ10と、メモリ60とを含む。ここで、気圧センサ10は、携帯電話400の内部または外部に搭載されていてもよいが、外部であることが好ましく、特に外部の気圧と同じ気圧となる位置に搭載されることが好ましい。例えば、マイクやスピーカーに近い位置に搭載されることが好ましい。
制御部401は、RAMを作業領域として用いることにより、ROMに記憶されたプログラム等を実行する。具体的には、ROMには空間内外検知プログラムが記憶されており、空間内外検知プログラムをRAMにロードして、実行する。制御部401は、空間内外検知プログラムの実行により、気圧センサ10を制御して、ユーザによる空間内外の移動を検知する。
制御部401は、基準値データ生成部411と、判定部413と、検知部415とを含む。基準値データ生成部411は、気圧センサ10により所定時間間隔で計測される気圧を監視し、基準値データを生成する。基準値データは、気圧の基準値(基準気圧)を示す。気圧の基準値は、現時点から所定時間(例えば10秒)前までの間の気圧を平均することにより算出される。基準値データ生成部411は、生成された基準値データを基準値データ410としてメモリ60に記憶する。なお、基準値データ生成部411は、所定の時間間隔で基準値データ410を更新してもよい。
判定部413は、気圧センサ10により所定の時間間隔(例えば1秒間隔)で計測される気圧を監視することにより、所定以上の気圧変動があったか否かを判定する。具体的には、メモリ60に記憶された基準値データ410で示される基準値と気圧センサ10により計測される気圧との気圧差が所定閾値より大きいならば、所定の気圧変動が有りと判定するが、そうでなければ所定の気圧変動が無しと判定する。判定部413は、判定の結果を検知部415に出力する。
検知部415は、判定部413により判定された結果に基づいて、空間内外の移動を検知する。検知部415は、判定結果が「所定の気圧変動が有り」を示すことを条件に、空間内外の移動があったことを検知する。
上述したように、気圧変動を検知することにより、空間内外の移動を検知することができる。このため、携帯電話400を所有するユーザが建物内外を移動する際に、建物内と建物外との気圧差により生じる気圧変動に基づいて、建物内外の移動を検知することができる。これにより、携帯電話400の機能と連携させた動作をすることができる。例えば、ユーザが建物内外を移動する際に、自動で携帯電話400の電源をオフにすることが可能であるし、その逆も可能である。また、建物内での位置情報を入手するアプリケーションと建物外での位置情報を入手するアプリケーションとを自動的に切り換えることができる。この場合において、GPS等のセンサから気圧センサ10へのセンサの動作モード(例えば、第1の参考形態で示すような、基準気圧計測装置と通信して、基準気圧計測装置との高度差を算出するモード)の変更を自動的に切り換えるようにすることも可能である。これにより、電波の届かない建物内では、GPS等のセンサを用いて位置情報を入手することは困難となるので、GPS等のセンサから気圧センサ10へ動作モードを切り換えるようにすれば、電波の届かない建物内においても適切な位置情報を入手することができる。さらに、気圧センサ10は、分解能の高い絶対圧力センサであるので、微小な気圧変化を精度良く判別することができる。これにより、建物内外の移動を検知する精度を向上させることができる。
さらに、例えば、商業施設等の入口となる自動ドア付近に、この自動ドア近辺に存在する装置との間でだけ通信可能な通信装置を設け、ユーザが保持する携帯電話400からの要求に応じて通信装置が商業施設に関する情報を携帯電話400に送信してもよい。すなわち、ユーザの入店時に、ユーザが保持する携帯電話400の検知部415が建物内外の移動を検知する。そして、携帯電話400に備えられたアプリケーションは、検知部415が建物内外の移動を検知したことを受けて、情報要求を示す信号を発信する。この際、ユーザの近辺に上述した通信装置が設置されているため、アプリケーションは、当該通信装置から商業施設に関する情報(例えば広告情報)を受信でき、表示部に表示させることができる。この場合、広告情報は、商業施設ごとに設けられたサーバ装置に記憶させ、通信装置からの要求に従って、通信装置に送信するようにすればよい。また、建物内での位置情報を入手するアプリケーションにおいて、位置情報に店舗情報を含めて表示させるようにすることも可能である。
図15は、空間内外検知処理の流れの一例を示すフローチャートである。空間内外検知処理は、携帯電話400が備える制御部401がROM等に記憶された空間内外検知プログラムを実行することにより、制御部401により実行される処理である。図15に示されるように、判定部413は、気圧センサ10により計測される気圧を監視し、気圧センサ10が出力する計測データを受け付けたか否かを判断する(ステップS51)。気圧センサ10が出力する計測データを受け付けたならば処理をステップS52に進める。
ステップS52においては、判定部413は、メモリ60に予め記憶された基準値データ410を読出し、処理をステップS53に進める。
ステップS53においては、判定部413は、ステップS52で読み出した基準値データで示される基準値とステップS51において受け付けられた計測データで示される気圧との気圧差を算出する。そして、算出された気圧差と所定閾値とを比較することにより、所定以上の気圧変動があったか否かを判断する(ステップS54)。所定以上の気圧変動があったならば処理をステップS55に進めるが、そうでなければ空間内外検知処理を終了する。
ステップS55においては、検知部415は、空間内外の移動を検知し、空間内外検知処理を終了する。
このように、第2の参考形態に係る携帯端末は、気圧を計測するセンサと、前記センサにより計測される気圧を監視することにより、所定以上の気圧変動があったか否かを判定する判定手段と、前記判定手段により判定された判定結果に基づいて、空間内と空間外の間の移動を検知する検知手段とを備える。
上記の構成によれば、ある空間から別の空間への移動を検出することが可能な携帯端末を提供することができる。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
最後に、高度計測装置100、基準気圧計測装置200、高度差計測装置300,300Aおよび携帯電話400の各ブロック、特に制御部101,201,301,301A,401は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、高度計測装置100、基準気圧計測装置200、高度差計測装置300,300Aおよび携帯電話400は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである高度計測装置100、基準気圧計測装置200、高度差計測装置300,300Aおよび携帯電話400の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、高度計測装置100、基準気圧計測装置200、高度差計測装置300,300Aおよび携帯電話400に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、高度計測装置100、基準気圧計測装置200、高度差計測装置300,300Aおよび携帯電話400を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。