(57)【特許請求の範囲】
【請求項１】
センサ出力に基づき開始点位置又は前回検出位置から移動した方向および距離を算出して現在位置を検出する位置検出装置において、
位置検出が行われる建物の平面構造を表すレイアウトデータを記憶するレイアウトデータ記憶手段と、
検出された現在位置が、前記レイアウトデータ記憶手段に記憶されるレイアウトデータで示されるレイアウト図中の構造物に交差するか否かを判別する交差判別手段と、
前記交差判別手段により交差すると判別された場合に、その交差位置を累積誤差がリセットされた新たな現在位置に更新する更新手段と、
前記更新手段により更新された新たな現在位置を、前記レイアウトデータ記憶手段に記憶されるレイアウトデータで示されるレイアウト図に重ね合わせて表示する表示手段と
を具備することを特徴とする位置検出装置。
【請求項２】
位置検出に際して計測される加速度の変化に応じて移動態様を判別する移動態様判別手段と、
気圧を検出する気圧検出手段と、
前記気圧検出手段により検出される気圧の変化に応じて、前記移動態様判別手段により判別された移動態様の停止を判別する停止判別手段と、
前記停止判別手段により「エレベータ移動の停止」と判別された場合に、検出された現在位置を、前記レイアウトデータ記憶手段に記憶されるレイアウトデータ中のエレベータ降り口位置に変更する第１の位置変更手段と
を更に備えることを特徴とする請求項１記載の位置検出装置。
【請求項３】
前記停止判別手段により「エスカレータ移動の停止」と判別された場合に、検出された現在位置を、前記レイアウトデータ記憶手段に記憶されるレイアウトデータ中のエスカレータ降り口位置に変更する第２の位置変更手段を更に備えることを特徴とする請求項２記載の位置検出装置。
【請求項４】
前記停止判別手段により「階段踊り場歩行」と判別された場合に、検出された現在位置を、前記レイアウトデータ記憶手段に記憶されるレイアウトデータ中の階段出口位置に変更する第３の位置変更手段を更に備えることを特徴とする請求項２記載の位置検出装置。
【請求項５】
現在位置の高さを検出する高さ検出手段と、
前記レイアウトデータ記憶手段に記憶され、建物の各階毎の平面構造を表す３次元レイアウトデータの内から前記高さ検出手段により検出された高さに対応する階のレイアウトデータを選択する選択手段と、
前記選択手段により選択されたレイアウトデータを参照した位置検出の実行を指示する指示手段と
を更に備えることを特徴とする請求項１記載の位置検出装置。
【請求項６】
センサ出力に基づき開始点位置又は前回検出位置から移動した方向および距離を算出して現在位置を検出するプログラムであって、
検出された現在位置が、位置検出が行われる建物の平面構造を表すレイアウトデータで示されるレイアウト図中の構造物に交差するか否かを判別する交差判別処理と、
前記交差判別処理により交差すると判別された場合に、その交差位置を累積誤差がリセットされた新たな現在位置に更新する更新処理と、
前記更新処理により更新された新たな現在位置を、レイアウトデータで示されるレイアウト図に重ね合わせて表示する表示処理と
をコンピュータで実行させることを特徴とする位置検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、屋内を移動するユーザの位置を検出する位置検出装置および位置検出プログラムに関する。
【背景技術】
【０００２】
地下街やビル内部など、ＧＰＳナビゲーションを利用できない屋内での移動位置を検出する技術が知られている。例えば特許文献１には、ユーザの移動動作を、３次元加速度センサやジャイロ等から構成される内界センサにより検出し、検出された加速度や角速度を積分してユーザが移動する方向および距離を算出して位置検出（位置推定）する手法が開示されている。
【０００３】
【特許文献１】特開２００５−２５７６４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記特許文献１に開示の位置検出方法では、センサ出力を積分して得る移動方向と移動距離とから現在位置を検出（推定）する為、例えセンサ出力に含まれる誤差が微少であってもそれが時間経過に伴って逐次累積されてしまい、結果的に検出（推定）した現在位置が実際の位置から大きく外れてしまう虞がある。つまり、言い換えれば、累積される位置誤差を除去しながら屋内での移動位置を検出することが出来ないという問題がある。
【０００５】
本発明は、このような事情に鑑みてなされたもので、累積される位置誤差を除去しながら屋内での移動位置を検出することができる位置検出装置および位置検出プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、請求項１に記載の発明では、センサ出力に基づき開始点位置又は前回検出位置から移動した方向および距離を算出して現在位置を検出する位置検出装置において、位置検出が行われる建物の平面構造を表すレイアウトデータを記憶するレイアウトデータ記憶手段と、検出された現在位置が、前記レイアウトデータ記憶手段に記憶されるレイアウトデータで示されるレイアウト図中の構造物に交差するか否かを判別する交差判別手段と、前記交差判別手段により交差すると判別された場合に、その交差位置を累積誤差がリセットされた新たな現在位置に更新する更新手段と、前記更新手段により更新された新たな現在位置を、前記レイアウトデータ記憶手段に記憶されるレイアウトデータで示されるレイアウト図に重ね合わせて表示する表示手段とを具備することを特徴とする。
【０００７】
上記請求項１に従属する請求項２に記載の発明では、位置検出に際して計測される加速度の変化に応じて移動態様を判別する移動態様判別手段と、気圧を検出する気圧検出手段と、前記気圧検出手段により検出される気圧の変化に応じて、前記移動態様判別手段により判別された移動態様の停止を判別する停止判別手段と、前記停止判別手段により「エレベータ移動の停止」と判別された場合に、検出された現在位置を、前記レイアウトデータ記憶手段に記憶されるレイアウトデータ中のエレベータ降り口位置に変更する第１の位置変更手段とを更に備えることを特徴とする。
【０００８】
上記請求項２に従属する請求項３に記載の発明では、前記停止判別手段により「エスカレータ移動の停止」と判別された場合に、検出された現在位置を、前記レイアウトデータ記憶手段に記憶されるレイアウトデータ中のエスカレータ降り口位置に変更する第２の位置変更手段を更に備えることを特徴とする。
【０００９】
上記請求項２に従属する請求項４に記載の発明では、前記停止判別手段により「階段踊り場歩行」と判別された場合に、検出された現在位置を、前記レイアウトデータ記憶手段に記憶されるレイアウトデータ中の階段出口位置に変更する第３の位置変更手段を更に備えることを特徴とする。
【００１０】
上記請求項１に従属する請求項５に記載の発明では、現在位置の高さを検出する高さ検出手段と、前記レイアウトデータ記憶手段に記憶され、建物の各階毎の平面構造を表す３次元レイアウトデータの内から前記高さ検出手段により検出された高さに対応する階のレイアウトデータを選択する選択手段と、前記選択手段により選択されたレイアウトデータを参照した位置検出の実行を指示する指示手段とを更に備えることを特徴とする。
【００１１】
請求項６に記載の発明は、センサ出力に基づき開始点位置又は前回検出位置から移動した方向および距離を算出して現在位置を検出するプログラムであって、検出された現在位置が、位置検出が行われる建物の平面構造を表すレイアウトデータで示されるレイアウト図中の構造物に交差するか否かを判別する交差判別処理と、前記交差判別処理により交差すると判別された場合に、その交差位置を累積誤差がリセットされた新たな現在位置に更新する更新処理と、前記更新処理により更新された新たな現在位置を、レイアウトデータで示されるレイアウト図に重ね合わせて表示する表示処理とをコンピュータで実行させることを特徴とする。
【発明の効果】
【００１２】
本発明では、累積される位置誤差を除去しながら屋内での移動位置を検出することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施の形態について説明する。
Ａ．構成
図１は、本発明の実施の一形態による位置検出装置の構成を示すブロック図である。位置検出装置は、ユーザが携行可能なサイズの筐体に、後述する構成要素１００〜１１０を設け、屋内を携行移動するユーザの位置を検出して画面表示するようになっている。
【００１４】
図１において、ＣＰＵ１００は操作部１０３から供給される操作イベントに応じて装置各部を制御する。本発明の要旨に係わるＣＰＵ１００の特徴的な処理動作については追って述べる。ＲＯＭ１０１は、ＣＰＵ１００が実行する各種プログラムデータを記憶する。ＲＡＭ１０２は、ワークエリアおよびデータエリアを備える。ＲＡＭ１０２のワークエリアには、ＣＰＵ１００の演算に用いる各種レジスタ・フラグデータの他、後述する各種センサの出力データが一時記憶される。ＲＡＭ１０２のデータエリアには、位置検出が行われる建物のフロアレイアウト、すなわち建物の各階毎の平面構造（壁位置、階段位置、エレベータ位置およびエスカレータ位置など）を表すレイアウトデータが記憶される。
【００１５】
ここで、図２〜図３を参照してＲＡＭ１０２のデータエリアに格納されるレイアウトデータの内容について説明する。図２はレイアウトデータの一例を示す図である。位置検出が行われる建物の１階部分の平面構造が図２（ａ）のレイアウト図で示される場合、これに対応するレイアウトデータは、例えばベクトルデータ形式ならば、同図（ｂ）に図示するように、内壁輪郭を表すと共に、階段、エレベータおよびエスカレータの各位置を表すレイアウトデータ（Ｘ１（０），Ｙ１（０））〜（Ｘ１（ｎ），Ｙ１（ｎ））からなる。
【００１６】
こうしたレイアウトデータは、位置検出が行われる建物の各階毎に設けられる。例えば、図３に図示する一例のように、四階建ての建物ならば、一階の高さＺ１（標高ｈ１）の１Ｆレイアウトデータ（Ｘ１（０），Ｙ１（０））〜（Ｘ１（ｎ），Ｙ１（ｎ））、二階の高さＺ２（標高ｈ２）の２Ｆレイアウトデータ（Ｘ２（０），Ｙ２（０））〜（Ｘ２（ｎ），Ｙ２（ｎ））、三階の高さＺ３（標高ｈ３）の３Ｆレイアウトデータ（Ｘ３（０），Ｙ３（０））〜（Ｘ３（ｎ），Ｙ３（ｎ））および四階の高さＺ４（標高ｈ４）の４Ｆレイアウトデータ（Ｘ４（０），Ｙ４（０））〜（Ｘ４（ｎ），Ｙ４（ｎ））から構成される３次元レイアウトデータがＲＡＭ１０２のデータエリアに格納される。
【００１７】
次に、再び図１を参照して実施形態の構成について説明を進める。図１において、操作部１０３には各種の操作ボタンや操作スイッチが設けられ、操作されるボタンやスイッチの種類に対応した操作イベントを発生してＣＰＵ１００に供給する。具体的には、装置電源をオンオフするパワースイッチ、位置検出の開始／停止を指示するスタート／ストップボタン、スタート／ストップボタンの操作により位置検出開始が指示された後に、例えば建物入口などの位置検出する際の基点となる開始点位置を入力する開始点位置入力スイッチなどが操作部１０３に配設される。
【００１８】
表示部１０４は、ＣＰＵ１００から供給される表示制御信号に応じて、例えば位置検出が行われる階のレイアウトデータに基づきレイアウト図を画面表示しながら、検出されたユーザの位置をそのレイアウト図に重ね合わせた移動軌跡として画面表示する。気圧センサ１０５は、ピエゾ抵抗効果を利用した圧力センサにより大気圧を検出して気圧データを出力する。３軸地磁気センサ１０６は、例えば外部磁界の変動に応じてインピーダンスが変化するＭＩ素子を用いて検出した地磁気の３軸（Ｘ，Ｙ，Ｚ）成分を表す３軸地磁気データを出力する。
【００１９】
３軸加速度センサ１０７は、ピエゾ抵抗型もしくは静電容量型の検出機構により３軸加速度成分を検出して３軸成分毎の加速度データを出力する。なお、３軸加速度センサ１０７により検出される３軸成分は、３軸地磁気センサ１０６の３軸（Ｘ，Ｙ，Ｚ）成分にそれぞれ対応する。移動量演算部１０８は、ＣＰＵ１００の制御の下に、３軸地磁気センサ１０６から出力される３軸地磁気データに基づき、開始点位置もしくは前回検出した位置からの移動方向を算出すると共に、３軸加速度センサ１０７から出力される３軸加速度データを積分して開始点位置もしくは前回検出した位置からの移動距離を算出する。この移動量演算部１０８により算出される移動方向および移動距離は、ＣＰＵ１００に供給される。
【００２０】
気圧変化演算部１０９は、ＣＰＵ１００の制御の下に、本装置（位置検出装置）を携行移動するユーザの昇降動作を判別する。すなわち、気圧センサ１０５から出力される気圧データが微減変化する場合にはユーザが上層階に昇っていると判別し、一方、気圧データが微増変化する場合にはユーザが下層階に降りていると判別する。こうした判別結果を表す動作判別データはＣＰＵ１００に供給される。また、気圧変化演算部１０９では、気圧センサ１０５から出力される気圧データの値を標高に換算した標高データを発生する。
【００２１】
位置情報処理部１１０は、ＣＰＵ１００と連携して建物内部を移動するユーザの位置を算出し、算出したユーザの位置を現在参照中のレイアウトデータに対応するレイアウト図上に重ね合わせて表示部１０４に位置表示したり、算出されたユーザの位置がレイアウト図に示される構造物に交差した場合にはその交差位置を現在位置に補正したりする。ＣＰＵ１００と連携して動作する位置情報処理部１１０の処理の詳細については追って述べる。
【００２２】
Ｂ．動作
次に、図４〜図９を参照して上記構成による位置検出装置が実行する計測処理の動作を説明する。装置電源がパワーオンされている状態で操作部１０３に配設されるスタート／ストップボタンの操作により位置検出の開始が指示されると、図４に図示する計測処理が実行される。計測処理は、スタート／ストップボタンの操作により位置検出の停止が指示されるまで繰り返し実行される。
【００２３】
計測処理が実行されると、先ず図４に図示するステップＳ１に進む。ステップＳ１では、ユーザの開始点位置入力スイッチ操作に応じて入力される開始点位置を、ＣＰＵ１００がＲＡＭ１０２のワークエリアにストアする。開始点位置とは、例えば図６（ａ）に図示する一例のように、建物入口など位置検出の基点を指す。なお、本実施形態では、ユーザ操作で開始点位置を入力する形態としたが、これに限らず、屋内に立ち入る直前、つまりＧＰＳ信号をロストする直前にＧＰＳ測位により得た位置を自動的に開始点位置に設定する形態としても構わない。
【００２４】
さて、こうして開始点位置が設定されると、ステップＳ２に進み、３軸地磁気センサ１０６から出力される３軸（Ｘ，Ｙ，Ｚ）成分の軸地磁気データを、ＣＰＵ１００が一定期間複数取り込んでＲＡＭ１０２のワークエリアにストアする３軸地磁気センサ計測処理を実行する。続いて、ステップＳ３では、ＣＰＵ１００が移動量演算部１０８に対して絶対方向演算処理の実行を指示する。すると、移動量演算部１０８は、上記ステップＳ２においてＲＡＭ１０２のワークエリアにストアされた３軸（Ｘ，Ｙ，Ｚ）成分の軸地磁気データに基づいて本装置（位置検出装置）を携行移動するユーザの移動方向を算出する絶対方向演算処理を実行する。そして、移動量演算部１０８が算出したユーザの移動方向を、ＣＰＵ１００がＲＡＭ１０２のワークエリアにストアする。
【００２５】
次いで、ステップＳ４では、３軸加速度センサ１０７から出力される３軸（Ｘ，Ｙ，Ｚ）成分の加速度データを、ＣＰＵ１００が一定期間複数取り込んでＲＡＭ１０２のワークエリアにストアする３軸加速度センサ計測処理を実行し、続くステップＳ５では、気圧センサ１０５から出力される気圧データを、ＣＰＵ１００が一定期間複数取り込んでＲＡＭ１０２のワークエリアにストアする気圧センサ計測処理を実行する。
【００２６】
そして、ステップＳ６に進むと、下記（ａ）〜（ｄ）の処理内容を含む位置情報演算処理を実行する。
（ａ）ＣＰＵ１００が移動量演算部１０８に対して移動距離の算出を指示する。すると、移動量演算部１０８は、上記ステップＳ４においてＲＡＭ１０２のワークエリアにストアされた３軸（Ｘ，Ｙ，Ｚ）成分の加速度データに基づきユーザの移動距離（開始点位置もしくは前回検出した位置からの移動距離）を算出する。そして、移動量演算部１０８が算出したユーザの移動距離を、ＣＰＵ１００がＲＡＭ１０２のワークエリアにストアする。
【００２７】
（ｂ）ＣＰＵ１００が気圧変化演算部１０９に対して演算開始を指示する。すると、気圧変化演算部１０９では、上記ステップＳ５においてＲＡＭ１０２のワークエリアにストアされた気圧データを標高に換算した標高データを発生してＣＰＵ１００に供給する。また、気圧変化演算部１０９では、ＲＡＭ１０２のワークエリアから読み出した気圧データからユーザの昇降動作を判別する動作判別データを発生してＣＰＵ１００に供給する。すなわち、一定期間複数取り込まれた気圧データが微減変化していれば、ユーザが上層階に昇っていることを表す動作判別データを発生し、一方、微増変化していれば、ユーザが下層階に降りていることを表す動作判別データを発生する。
【００２８】
（ｃ）ＣＰＵ１００は、ＲＡＭ１０２のデータエリアに格納される３次元レイアウトデータ（図３参照）の内、気圧変化演算部１０９から供給される標高データに対応した高さの階のレイアウトデータを選択し、選択したレイアウトデータを参照するよう位置情報処理部１１０に指示する。例えば、気圧変化演算部１０９から供給される標高データに対応した高さが「ｈ１」であったとする。そうすると、ＣＰＵ１００は図３に図示する３次元レイアウトデータの内から１Ｆレイアウトデータを選択し、この１Ｆレイアウトデータを参照するよう位置情報処理部１１０に指示する。
【００２９】
（ｄ）ＣＰＵ１００が位置情報処理部１１０に対して位置情報演算処理の実行を指示する。すると、位置情報処理部１１０は、ＲＡＭ１０２のワークエリアにストアされる「開始点位置（もしくは前回検出した位置）」、ユーザの「移動方向」および「移動距離」に基づき、現在参照中のレイアウトデータで示されるレイアウト図上におけるユーザの現在位置を算出する。
【００３０】
このようにして、レイアウト図上におけるユーザの現在位置が得られると、ステップＳ７に処理を進め、ＣＰＵ１００はユーザの移動態様が平地歩行であるか否かを判断する。平地歩行であるか否かは、上記ステップＳ４において一定期間複数取り込まれた３軸（Ｘ，Ｙ，Ｚ）成分の加速度データに基づき判断する。以下、平地歩行の場合と、平地歩行以外の場合とに分けて動作説明を進める。
【００３１】
＜平地歩行の場合＞
ユーザの移動態様が平地歩行であったとすると、上記ステップＳ７の判断結果は「ＹＥＳ」となり、ステップＳ８に進む。ステップＳ８では、上記ステップＳ６において位置情報処理部１１０が算出したユーザの現在位置を、現在参照中のレイアウトデータで示されるレイアウト図に重ね合わせる。続いて、ステップＳ９では、位置補正の必要の有無をＣＰＵ１００が判断する。
【００３２】
すなわち、ＣＰＵ１００では、上記ステップＳ６において得られたユーザの現在位置が、現在参照中のレイアウトデータで示されるレイアウト図中の構造物と交差するかどうかで位置補正の必要の有無を判断する。ユーザの現在位置がレイアウト図中の構造物に交差しなければ、位置補正の必要が無いとして、上記ステップＳ９の判断結果は「ＮＯ」になり、ステップＳ１０に進み、上述したステップＳ８において重ね合わせたユーザの現在位置とレイアウト図とを表示部１０４に画面表示する。
【００３３】
なお、このステップＳ１０では、位置情報処理部１１０が重ね合わせたユーザの現在位置とレイアウト図とをＣＰＵ１００が表示部１０４に画面表示するが、その際、ＣＰＵ１００は図６（ａ）に図示する一例のように、開始点位置から時々刻々計測されるユーザの現在位置を移動軌跡として表示するようになっている。
【００３４】
一方、ユーザの現在位置がレイアウト図中の構造物に交差した場合、つまり図６（ａ）に図示する一例のように、実際の移動経路は直進であるのに対し、計測処理にて検出したユーザの位置に累積誤差が生じてレイアウト図中の壁に交差するような状況であると、位置補正が必要となる為、上記ステップＳ９の判断結果は「ＹＥＳ」になり、ステップＳ１１に進む。
【００３５】
ステップＳ１１では、位置情報処理部１１０がその交差位置をユーザの現在位置に補正する。すなわち、図６（ａ）の一例の場合には、同図（ｂ）に図示するように、レイアウトデータ（Ｘ１（ａ），Ｙ１（ａ））とレイアウトデータ（Ｘ１（ｂ），Ｙ１（ｂ））とを結ぶベクトルとの交点をユーザの現在位置とする。こうすることによって、累積誤差がリセットされた新たなユーザの現在位置として更新される。そして、ステップＳ１０に進み、更新されたユーザの現在位置をレイアウト図上に画面表示する。以後、スタート／ストップボタンの操作により位置検出停止が指示されるまで上述したステップＳ２以降を繰り返し実行して時々刻々移動するユーザの位置を検出する。
【００３６】
＜平地歩行以外の場合＞
ユーザの移動態様が平地歩行以外であると、上述したステップＳ７の判断結果は「ＮＯ」になり、図５に図示するステップＳ１２に進む。ステップＳ１２では、上記ステップＳ４においてＲＡＭ１０２のワークエリアにストアされた３軸（Ｘ，Ｙ，Ｚ）成分の加速度データに基づき、「エレベータ」、「エスカレータ」および「階段歩行」のいずれの移動態様でユーザが移動中であるのかをＣＰＵ１００が判別する。
【００３７】
具体的には、上記ステップＳ４において一定期間複数取り込まれた３軸（Ｘ，Ｙ，Ｚ）成分の加速度データの変化傾向を抽出し、抽出した変化傾向に応じて「エレベータ」、「エスカレータ」および「階段歩行」のいずれであるかを特定する。以下、特定された移動態様が「エレベータ」、「エスカレータ」および「階段歩行」の各場合に分けて動作説明を進める。
【００３８】
＜移動態様が「エレベータ」の場合＞
移動態様が「エレベータ」と特定されると、ステップＳ１３に進み、エレベータによる移動が停止しているか否かを、上記ステップＳ６において気圧変化演算部１０９が発生する動作判別データに基づきＣＰＵ１００が判断する。動作判別データが昇る動作もしくは降りる動作を表している場合、つまりエレベータ移動中ならば、判断結果は「ＮＯ」になり、前述したステップＳ８（図４参照）に処理を戻す。
【００３９】
一方、動作判別データが昇降動作であることを表さず、エレベータ停止と判断されると、上記ステップＳ１３の判断結果は「ＹＥＳ」になり、ステップＳ１４に進み、エレベータ降り口位置リセット処理を実行する。このエレベータ降り口位置リセット処理では、ＣＰＵ１００が位置情報処理部１１０に対してユーザの現在位置をエレベータ降り口位置にリセットするよう指示する。
【００４０】
例えば図７（ａ）に図示する一例のように、位置情報処理部１１０により算出されるユーザの現在位置がエレベータ内に存在している状態でＣＰＵ１００がエレベータ停止と判断した場合には、同図（ｂ）に図示するように、ユーザの現在位置をエレベータ降り口位置に補正する。これにより、累積誤差がリセットされた新たなユーザの現在位置に更新される。
【００４１】
また、ステップＳ１４のエレベータ降り口位置リセット処理では、ＣＰＵ１００がＲＡＭ１０２のデータエリアに格納される３次元レイアウトデータ（図３参照）の内、気圧変化演算部１０９から供給される標高データに対応した高さの階のレイアウトデータを選択し、選択したレイアウトデータを参照するよう位置情報処理部１１０に指示した後、上述したステップＳ８（図４参照）に進む。なお、エレベータ降り口位置リセット処理後のステップＳ８では、上記ステップＳ１４で更新されたユーザの現在位置（エレベータ降り口位置）を、エレベータを使ってユーザが降りた階のレイアウトデータで示されるレイアウト図に重ね合わせる。
【００４２】
＜移動態様が「エスカレータ」の場合＞
移動態様が「エスカレータ」と特定されると、ステップＳ１５に進み、エスカレータによる移動が停止しているか否かを、上記ステップＳ６において気圧変化演算部１０９が発生する動作判別データに基づきＣＰＵ１００が判断する。動作判別データが昇る動作もしくは降りる動作を表している場合、つまりエスカレータ移動中ならば、判断結果は「ＮＯ」になり、前述したステップＳ８（図４参照）に処理を戻す。
【００４３】
一方、動作判別データが昇降動作であることを表さず、エスカレータ停止と判断されると、上記ステップＳ１５の判断結果は「ＹＥＳ」になり、ステップＳ１６に進み、エスカレータ降り口位置リセット処理を実行する。このエスカレータ降り口位置リセット処理では、ＣＰＵ１００が位置情報処理部１１０に対してユーザの現在位置をエスカレータ降り口位置にリセットするよう指示する。
【００４４】
例えば図８（ａ）に図示する一例のように、位置情報処理部１１０により算出されるユーザの現在位置がエスカレータ降り口近傍に存在している状態でＣＰＵ１００がエスカレータ停止と判断した場合には、同図（ｂ）に図示するように、ユーザの現在位置をエスカレータ降り口位置に補正する。これにより、累積誤差がリセットされた新たなユーザの現在位置に更新される。
【００４５】
また、ステップＳ１６のエスカレータ降り口位置リセット処理では、ＣＰＵ１００がＲＡＭ１０２のデータエリアに格納される３次元レイアウトデータ（図３参照）の内、気圧変化演算部１０９から供給される標高データに対応した高さの階のレイアウトデータを選択し、選択したレイアウトデータを参照するよう位置情報処理部１１０に指示した後、上述したステップＳ８（図４参照）に進む。なお、エスカレータ降り口位置リセット処理後のステップＳ８では、上記ステップＳ１６で更新されたユーザの現在位置（エスカレータ降り口位置）を、エスカレータを使ってユーザが降りた階のレイアウトデータで示されるレイアウト図に重ね合わせる。
【００４６】
＜移動態様が「階段歩行」の場合＞
移動態様が「階段歩行」と特定されると、ステップＳ１７に進み、階段踊り場であるか否かを、上記ステップＳ６において気圧変化演算部１０９が発生する動作判別データに基づきＣＰＵ１００が判断する。動作判別データが昇る動作もしくは降りる動作を表している場合、つまり階段を昇っている状態あるいは降りている状態ならば、判断結果は「ＮＯ」になり、前述したステップＳ８（図４参照）に処理を戻す。
【００４７】
一方、動作判別データが昇降動作であることを表さない場合、つまり階段踊り場での歩行と判断されると、上記ステップＳ１７の判断結果は「ＹＥＳ」になり、ステップＳ１８に進み、階段出口位置リセット処理を実行する。この階段出口位置リセット処理では、ＣＰＵ１００が位置情報処理部１１０に対してユーザの現在位置を階段出口位置にリセットするよう指示する。例えば図９（ａ）に図示する一例のように、ユーザの現在位置が階段踊り場と判断された場合には、同図（ｂ）に図示するように、ユーザの現在位置を階段出口位置に補正する。これにより、累積誤差がリセットされた新たなユーザの現在位置に更新される。
【００４８】
また、ステップＳ１７の階段出口位置リセット処理では、ＣＰＵ１００がＲＡＭ１０２のデータエリアに格納される３次元レイアウトデータ（図３参照）の内、気圧変化演算部１０９から供給される標高データに対応した高さの階のレイアウトデータを選択し、選択したレイアウトデータを参照するよう位置情報処理部１１０に指示した後、上述したステップＳ８（図４参照）に進む。なお、階段出口位置リセット処理後のステップＳ８では、上記ステップＳ１７で更新されたユーザの現在位置（階段出口位置）を、ユーザが降りた階のレイアウトデータで示されるレイアウト図に重ね合わせる。
【００４９】
以上のように、本実施形態では、位置検出の基点となる開始点位置（もしくは前回検出した位置）から移動した方向および距離をセンサ出力に基づき算出して現在位置を検出する装置において、位置検出が行われる建物の平面構造を表すレイアウトデータを設け、このレイアウトデータで示されるレイアウト図中の構造物に現在位置が交差するか否かを判断し、交差する場合にはその交差位置を新たな現在位置に更新して累積誤差をリセットする。そして、更新された新たな現在位置をレイアウトデータで示されるレイアウト図上に重ね合わせて表示するので、累積される位置誤差を除去しながら屋内での移動位置を検出することが可能になる。
【００５０】
また、本実施形態では、３軸加速度センサ１０７の出力からユーザの移動態様が「エレベータ移動」、「エスカレータ移動」および「階段歩行」のいずれであるかを判別した後、気圧センサ１０５の出力に基づき「エレベータ移動の停止」、「エスカレータ移動の停止」および「階段踊り場歩行」のいずれであるかを判別する。
【００５１】
そして、「エレベータ移動の停止」と判別された場合には、現在位置をレイアウトデータ中に設けられるエレベータ降り口位置に変更するので、エレベータ移動時の位置誤差を軽減することが可能になる。
【００５２】
また、「エスカレータ移動の停止」と判別された場合には、現在位置をレイアウトデータ中に設けられるエスカレータ降り口位置に変更するので、エスカレータ移動時の位置誤差を軽減することが可能になる。
【００５３】
さらに、「階段踊り場歩行」と判別された場合には、現在位置をレイアウトデータ中に設けられる階段出口位置に変更するので、階段歩行時の位置誤差を軽減することが可能になる。
【００５４】
加えて、上述した実施形態では、建物の各階毎の平面構造を表す３次元レイアウトデータを有し、この３次元レイアウトデータの内、気圧センサ１０５の出力に基づき生成される標高データに対応した高さの階のレイアウトデータを選択し、選択したレイアウトデータを参照して現在位置を検出するようにしたので、階を移動する場合でもユーザの位置を検出することが可能になる。
【００５５】
なお、本実施形態では、図２（ｂ）に図示したベクトルデータ形式のレイアウトデータを用いる一例について言及したが、本発明の要旨はこれに限定されず、ラスタデータ形式のレイアウトデータを用いる形態であっても構わない。
【図面の簡単な説明】
【００５６】
【図１】本発明による一実施形態の構成を示すブロック図である。
【図２】ＲＡＭ１０２のデータエリアに格納されるレイアウトデータの内容を説明するための図である。
【図３】ＲＡＭ１０２のデータエリアに格納されるレイアウトデータの内容を説明するための図である。
【図４】計測処理の動作を示すフローチャートである。
【図５】計測処理の動作を示すフローチャートである。
【図６】計測処理の動作を説明するための図である。
【図７】計測処理の動作を説明するための図である。
【図８】計測処理の動作を説明するための図である。
【図９】計測処理の動作を説明するための図である。
【符号の説明】
【００５７】
１００  ＣＰＵ
１０１  ＲＯＭ
１０２  ＲＡＭ
１０３  操作部
１０４  表示部
１０５  気圧センサ
１０６  ３軸地磁気センサ
１０７  ３軸加速度センサ
１０８  移動量演算部
１０９  気圧変化演算部
１１０  位置情報処理部
【図１】
0005093492.tif 000002
【図２】
0005093492.tif 000003
【図３】
0005093492.tif 000004
【図４】
0005093492.tif 000005
【図５】
0005093492.tif 000006
【図６】
0005093492.tif 000007
【図７】
0005093492.tif 000008
【図８】
0005093492.tif 000009
【図９】
0005093492.tif 000010