JP2017044470A - 情報処理装置、マップマッチング装置、情報処理方法、およびプログラム - Google Patents
情報処理装置、マップマッチング装置、情報処理方法、およびプログラム Download PDFInfo
- Publication number
- JP2017044470A JP2017044470A JP2014004812A JP2014004812A JP2017044470A JP 2017044470 A JP2017044470 A JP 2017044470A JP 2014004812 A JP2014004812 A JP 2014004812A JP 2014004812 A JP2014004812 A JP 2014004812A JP 2017044470 A JP2017044470 A JP 2017044470A
- Authority
- JP
- Japan
- Prior art keywords
- anchor
- information processing
- anchor position
- processing apparatus
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
Abstract
【課題】ユーザの現在位置の推定誤差を低減させる自律航法。
【解決手段】機器に搭載されたセンサのセンサ信号を取得するセンサ信号取得部と、複数のアンカー位置を取得するアンカー位置取得部と、センサ信号に基づき、機器の移動方向の変化を検知する移動方向変化検知部と、機器の移動方向の変化に基づき、複数のアンカー位置のうち、機器の推定位置に対応するアンカー位置を決定する決定部と、を備え、決定部は、第1のアンカー位置と、第1のアンカー位置を決定したときの機器の推定位置から、機器の移動方向の変化が検出された推定位置までの移動距離に基づき、第2のアンカー位置を決定する情報処理装置、情報処理方法、およびプログラムを提供する。
【選択図】図2
【解決手段】機器に搭載されたセンサのセンサ信号を取得するセンサ信号取得部と、複数のアンカー位置を取得するアンカー位置取得部と、センサ信号に基づき、機器の移動方向の変化を検知する移動方向変化検知部と、機器の移動方向の変化に基づき、複数のアンカー位置のうち、機器の推定位置に対応するアンカー位置を決定する決定部と、を備え、決定部は、第1のアンカー位置と、第1のアンカー位置を決定したときの機器の推定位置から、機器の移動方向の変化が検出された推定位置までの移動距離に基づき、第2のアンカー位置を決定する情報処理装置、情報処理方法、およびプログラムを提供する。
【選択図】図2
Description
本発明は、情報処理装置、マップマッチング装置、情報処理方法、およびプログラムに関する。
従来、携帯機器等に搭載されたセンサ等の出力に基づき、当該携帯機器を保持するユーザの位置座標を推定する自律航法等が知られていた(例えば、特許文献1参照)。
[特許文献1] 特開2012−117974号公報
[特許文献1] 特開2012−117974号公報
特許文献1は、ユーザの位置座標を正確に推定すべく、ユーザが方位を変更すると想定される地点をアンカーポイントとして設定し、ユーザの回転動作を検出した回転地点(回転地点R)を推定し、推定した回転地点に最も近いアンカーポイントを決定し、決定したアンカーポイントを当該ユーザの現在位置としていた。しかし、特許文献1は、推定された回転地点Rと実際のユーザの位置との差が小さいことを前提とした技術であり、推定された回転地点Rが実際のユーザの位置と大きく異なる場合に、実際のユーザの位置と大きく異なるアンカーポイントを選択してしまうという問題があった。
本発明の第1の態様においては、機器に搭載されたセンサのセンサ信号を取得するセンサ信号取得部と、複数のアンカー位置を取得するアンカー位置取得部と、センサ信号に基づき、機器の移動方向の変化を検知する移動方向変化検知部と、機器の移動方向の変化に基づき、複数のアンカー位置のうち、機器の推定位置に対応するアンカー位置を決定する決定部と、を備え、決定部は、第1のアンカー位置と、第1のアンカー位置を決定したときの機器の推定位置から機器の移動方向の変化が検出された推定位置までの移動距離に基づき、第2のアンカー位置を決定する情報処理装置、情報処理方法、およびプログラムを提供する。
本発明の第2の態様においては、情報処理装置と、複数のアンカー位置を含む地図情報を記憶する地図情報記憶部と、情報処理装置から出力される機器の推定位置に対応するアンカー位置に応じて、機器を保持するユーザの地図上の位置を決定する位置決定部とを備えるマップマッチング装置を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る機器10の一例を示す。機器10は、複数のセンサを搭載し、一例として、当該機器10の動き、保持状態、および位置等を検出する。機器10は、自身に搭載されたセンサ等の出力に応じて、当該機器10の現在位置および目的地までの経路等を表示する自律航法システムを備える。これに加えて、機器10は、マップマッチング機能を更に備え、マップマッチング装置として機能してもよい。
機器10は、一例として、外部の装置およびインターネット等に接続するための通信機能、ならびにプログラムを実行するためのデータ処理機能等を備える。機器10は、例えば、スマートフォン、携帯電話、タブレット型PC(Personal Computer)、携帯型GPS(Global Positioning System)装置、または小型PC等である。機器10は、表示部12を備える。
表示部12は、例えば、インターネットのWEBページ、電子メール、地図、文書・音楽・動画・画像データ等を操作する画面を、ユーザの指示に応じて表示する。また、表示部12は、例えば、ユーザの指示が入力されるタッチパネルディスプレイであり、ユーザからのタッチ入力によってブラウザ等のソフトウエアの操作画面にユーザの指示が入力される。これに代えて、機器10は、ジェスチャ入力でユーザの指示が入力されてもよい。これに代えて、機器10は、キーボード、マウス、および/またはジョイスティック等の入力デバイスによってユーザの指示が入力されてもよい。
ここで、本実施形態に係る機器10において、表示部12の表示面と平行な面をxy平面とし、当該表示面に対して垂直方向をz軸とする例を説明する。また、本実施形態に係る機器10において、表示部12が縦長の長方形の形状を有する例を説明する。そして、当該長方形の2組の向かい合う辺のうち、短い方の辺に沿う方向(横方向)をx軸とし、長い方の辺に沿う方向(縦方向)をy軸とする。
即ち、ユーザーが機器10を手に保持して表示部12を見た場合、水平方向はx軸と略平行となり、ユーザーが立つ鉛直方向(即ち、重力方向)はyz平面と略平行となる例を説明する。この場合、ユーザーが機器10を電話として用い、耳に当てて通話する場合、ユーザーが向く進行方向とxy平面とは略平行となり、当該進行方向に対して垂直な面とz軸とが略平行となる。
このような本実施形態の機器10は、複数の測位方法システムを用いて、当該機器10を保持するユーザーの位置情報を表示部12に表示する。機器10は、例えば、複数のGPS衛星からの送信信号を受信できる場合、GPS機能を用いて、ユーザの位置情報を表示する。また、機器10は、複数のGPS衛星からの送信信号を受信できない場合、GPSから自律航法システムに切り替えて、GPSで取得した位置情報をユーザの初期位置として用い、ユーザの位置情報の推定を継続して表示してもよい。
これに代えて、機器10は、ユーザの入力に応じて自律航法システムを開始してもよい。この場合、機器10は、ユーザの初期位置の情報も当該ユーザの入力によって取得してよい。また、機器10は、マップマッチングを実行して、地図情報と共にユーザの位置情報を表示してよい。
図2は、本実施形態に係る情報処理装置100の構成例をセンサ20およびアンカー位置記憶部30と共に示す。センサ20は、機器10に搭載された、角速度センサ、加速度センサ、および地磁気センサのうち、少なくとも1つを含んでよく、また、これらの組み合わせであってもよい。センサ20は、例えば、搭載された携帯機器を原点とした直交座標系の3つのxyz軸のうち少なくとも2軸に対して、加速度、角速度、および/または地磁気の検出結果を出力する。
また、アンカー位置記憶部30は、複数のアンカー位置を予め記憶する。アンカー位置は、機器10または機器10を保持するユーザが通過すると推定される位置である。アンカー位置は、例えば、ユーザが移動方向を変更すると推定される位置に定められる。ユーザが移動方向を変更すると推定される位置としては、例えば、道路や通路のコーナー等が考えられる。コーナーには交差点や分岐等が含まれる。
アンカー位置記憶部30は、機器10または機器10を保持するユーザが通過すると推定される位置をアンカー位置とする。ここで、アンカー位置は、例えば、ユーザが移動方向を変更すると推定される位置に定められる。アンカー位置は、ユーザが通行する道路に対応して定められてよく、また、当該ユーザがいずれの方向を通過したかを判別すべく、交差点または分岐等の当該ユーザが通行できる方向のそれぞれに定められてよい。
また、アンカー位置は、建物内および建物内のフロア毎に定められてよく、また、フロア間を移動する昇降手段にも定められてよい。アンカー位置は、例えば、ユーザが歩行する道路、通路、交差点、横断歩道、階段、エスカレータ、階段等の踊り場、エレベータ等にそれぞれ設定される。
情報処理装置100は、機器10を保持するユーザの位置を推定し、推定した位置に対応するアンカー位置を決定する。情報処理装置100は、センサ信号取得部110と、記憶部120と、移動方向変化検知部130と、移動距離算出部140と、アンカー位置取得部160と、決定部170とを備える。
センサ信号取得部110は、複数のセンサ20に接続され、機器10に搭載されたセンサのセンサ信号を取得する。センサ信号取得部110は、機器10の移動および静止といったユーザの進行状態に応じたセンサ20からのセンサ信号を取得する。センサ信号取得部110は、取得したセンサ信号を、記憶部120に記憶する。
記憶部120は、センサ信号取得部110に接続され、当該センサ信号取得部110から受け取ったセンサ信号を記憶する。記憶部120は、例えば、移動方向変化検知部130および移動距離算出部140等の各部の要求に応じて、記憶したセンサ信号の情報を要求元に供給する。
移動方向変化検知部130は、記憶部120に接続され、取得したセンサ信号に基づき、機器10の移動方向の変化を検知する。移動方向変化検知部130は、例えば、機器10を保持するユーザが右(左)に曲がった、分岐路の一方に進路を変えた、階段を上り始めた/降り始めた、エスカレータに乗った/降りた、踊り場で反転した、およびエレベータに乗った/降りた等の進行方向の変化を検知する。移動方向変化検知部130は、移動方向の変化を検知したことに応じて、当該検知結果を移動距離算出部140および決定部170に供給する。
移動距離算出部140は、ユーザが移動した距離を算出する。移動距離算出部140は、一例として、移動方向変化検知部130が機器10の移動方向の変化を検知してから、次の移動方向の変化を検知するまでに、当該機器10を保持するユーザが移動した距離を算出する。移動距離算出部140は、ユーザの移動速度および移動時間に基づいて移動距離を算出してよく、これに代えて、ユーザの歩数および歩幅に基づいて移動距離を算出してもよい。移動距離算出部140は、算出した移動距離を決定部170に供給する。
アンカー位置取得部160は、複数のアンカー位置を記憶するアンカー位置記憶部30に接続され、複数のアンカー位置を取得する。アンカー位置取得部160は、取得したアンカー位置の情報を決定部170に供給する。
決定部170は、機器10の移動方向の変化に基づき、複数のアンカー位置のうち、機器10の推定位置に対応するアンカー位置を決定する。決定部170は、移動方向変化検知部130が検知した機器10の移動方向が変化した位置を、機器10を保持するユーザが進行方向を変化させた推定位置とする。決定部170は、第1のアンカー位置を決定したときの機器10の推定位置から、次に機器10の移動方向の変化が検出された推定位置までの移動距離に基づき、第2のアンカー位置を決定する。
決定部170は、移動方向変化検知部130が検知したことに応じて、対応するアンカー位置を順次決定する。即ち、本実施形態の情報処理装置100は、機器10を保持するユーザが進行方向を変更する毎に、当該ユーザーの位置を予め定められたアンカー位置に対応付け、当該ユーザの位置推定の誤差が累積することを防止する。また、情報処理装置100は、ユーザが移動した距離およびユーザの移動方向を加味して、当該ユーザーの推定位置を対応付ける。情報処理装置100の動作については、図3で説明する。
図3は、本実施形態に係る情報処理装置100の動作フローを示す。情報処理装置100は、図3に示す動作フローを実行することにより、携帯機器10を所持するユーザーの移動に応じた推定位置を予め定められたアンカー位置に対応付ける。
まず、アンカー位置取得部160は、情報処理装置100に接続されたアンカー位置記憶部30から、複数のアンカー位置を取得する(S310)。ここで、アンカー位置取得部160は、記憶部120に接続され、取得したアンカー位置の情報を記憶部120に記憶してもよい。
次に、情報処理装置100は、初期位置を設定する(S320)。ここで、情報処理装置100は、予め定められた位置からユーザが歩行を開始する場合は、当該予め定められた位置に対応するアンカー位置(例えば、最も近いアンカー位置)を初期位置として設定する。また、情報処理装置100は、GPS等の機器10の位置情報を取得するシステムから自律航法システムに切り替わった場合、当該GPSで取得した位置情報を用いてよく、当該位置情報に対応するアンカー位置をユーザの初期位置として設定する。
また、情報処理装置100は、ユーザにによる現在位置の指定により、ユーザの初期位置を設定してもよい。また、情報処理装置100は、予め定められた複数のアンカー位置において、ユーザの初期位置に対応するアンカー位置が存在しない場合、異なるアンカー位置の間にユーザの初期位置に対応するアンカー位置を設定してもよい。
次に、センサ信号取得部110は、情報処理装置100に接続された複数のセンサ20からの出力を取得する(S330)。センサ信号取得部110は、取得したセンサ信号を記憶部120に記憶する。センサ信号取得部110は、センサ20のセンサ信号の出力タイミングに同期して、当該センサ信号の取得と記憶部120への記憶とを継続して実行してよく、これに代えて、予め定められた周期で、当該センサ信号の取得と記憶部120への記憶とを継続して実行してもよい。
次に、移動方向変化検知部130は、機器10の移動方向の変化を検知する(S340)。移動方向変化検知部130は、一例として、予め定められたタイミングまたはクロック信号に応じて、機器10の移動方向の変化を検知する。移動方向変化検知部130は、加速度センサ、角速度センサ、および/または磁気センサ等のセンサ信号に基づき、機器10の移動方向の変化を検知する。
移動方向変化検知部130は、例えば、機器10のxyz軸に対応する3つの角速度センサのセンサ信号から重力軸周りの回転量を算出する。移動方向変化検知部130は、一例として、機器10を保持するユーザの進行方向に対して垂直な重力方向回りの回転量が、予め定められた角度以上か否かに応じて移動方向の変化を検知する。
また、移動方向変化検知部130は、機器10のxyz軸に対応する3つの加速度センサのセンサ信号から、機器10を保持するユーザの進行方向に対して垂直な水平方向の加速度の変化を検知してもよい。また、移動方向変化検知部130は、機器10を保持するユーザの進行方向に対して垂直な重力方向に対する加速度の変化を検知してもよい。この場合、機器10の地磁気センサのセンサ信号から当該加速度の変化を検知してよく、これに代えて、地磁気センサのセンサ信号および加速度センサのセンサ信号から検知してもよい。
移動方向変化検知部130は、センサ信号を信号解析またはパターンマッチング等を施してユーザの歩行に伴うパターン信号を取得し、当該パターン信号の進行方向依存性の変化を検出して、機器10を保持するユーザの移動方向の変化を検知してもよい。移動方向変化検知部130は、自律航法等の処理により得られる移動方向(直接的な進行方向または位置座標の時系列データから算出した進行方向)に基づき、当該移動方向の変化を検知してもよい。移動方向変化検知部130は、例えば特許文献1および2に記載されているような、自律航法として用いられる既知の進行方向推定方法によって、ユーザの移動方向の変化を検出してよい。
情報処理装置100は、移動方向変化検知部130が移動方向の変化を検出するまで、または、処理の終了を指示されるまで、移動方向の変化の検出を繰り返す(S350:No、S380:No、S340)。即ち、移動方向変化検知部130は、記憶部120に記憶されている次に取得されたセンサ信号を読み出し、機器10の移動方向の変化を検知する。そして、移動方向変化検知部130が移動方向の変化を検出した場合(S350:Yes)、移動距離算出部140は、ユーザが移動した距離を算出する(S360)。
移動距離算出部140は、第1のアンカー位置を決定したときの機器10の推定位置から、機器10の移動方向の変化が検出された推定位置までの移動距離を算出する。ここで、第1のアンカー位置は、決定部170が決定した最新のアンカー位置の情報である。即ち、第1のアンカー位置は、処理の開始段階では設定された初期位置であり、処理の実行によって順次決定されるアンカー位置である。
したがって、移動距離算出部140は、処理の開始段階においては、初期位置から機器10の移動方向の変化が検出された推定位置までの移動距離を算出することになる。例えば、移動距離算出部140は、第1のアンカー位置から、ユーザが複数のアンカー位置を通過してから移動方向を変えた場合、第1のアンカー位置から、複数のアンカー位置を超えて、当該移動方向の変化が検出された推定位置までの移動距離を算出する。
移動距離算出部140は、例えば、機器10の移動速度Vを取得し、当該移動速度Vと第1のアンカー位置を決定してから機器10の移動方向の変化が検出されるまでの時間tとに応じて、機器10の移動距離Lを算出する。ここで、移動距離算出部140は、加速度センサのセンサ信号の時間積分等から、移動速度Vを取得してよい。また、移動距離算出部140は、センサ信号を解析してユーザの歩行に伴うパターン信号を取得し、ユーザの単位時間当たりの歩数から、機器10を保持するユーザの移動速度Vを算出してもよい。この場合、移動距離算出部140は、移動速度Vに時間tを乗じて移動距離L(=Vt)を算出する。
これに代えて、移動距離算出部140は、センサ信号に基づいて機器10を保持するユーザの歩数をカウントし、第1のアンカー位置を決定してから機器10の移動方向の変化が検出されるまでの間のユーザの歩数Nと、ユーザの歩幅Wとに応じて、機器10の移動距離Lを算出する。この場合、移動距離算出部140は、一例として、センサ信号を解析してユーザの歩行に伴うパターン信号を取得し、ユーザの歩数Nをカウントする。また、情報処理装置100は、ユーザに予め自身の歩幅Wを入力させ、記憶部120に記憶してもよい。この場合、移動距離算出部140は、歩数Nに歩幅Wを乗じて移動距離L(=NW)を算出する。
次に、決定部170は、第2のアンカー位置として、移動方向変化検知部130が機器10の移動方向の変化を検知したときに当該機器10が通過した位置を決定する(S370)。決定部170は、第1のアンカー位置および機器10の移動距離に基づき、第2のアンカー位置を決定する。ここで、決定部170が第2のアンカー位置を決定する動作を図4を用いて説明する。
図4は、本実施形態に係る第1のアンカー位置と、決定部170が決定する第2のアンカー位置の第1の例を示す。図4は、機器10を保持するユーザが通行する道路と、道路の交差点に予め設定されたアンカー位置A、B、およびCを示す。ここで、アンカー位置Cを第1のアンカー位置とする。ここで、情報処理装置100が処理を開始した段階においては、第1のアンカー位置は、ユーザの初期位置となる。
図4は、更に、ユーザの実際の歩行経路P−Qと、自律航法等の手法を用いて算出されるユーザの軌跡p−qの一例を示す。移動方向変化検知部130は、機器10の移動方向の変化を検出するので、ユーザの軌跡p−q上のR1点およびR2点等を順に検出することになる。図4は、決定部170がR1点をアンカー位置Cに対応付けて第1のアンカー位置と決定した段階であり、次に検出されたR2点に対応する第2のアンカー位置を決定する例を示す。
理想的には、実際の歩行経路P−Qと、算出されるユーザの軌跡p−qとが一致することが望ましい。しかしながら、図4に示す例のように、算出されるユーザの軌跡p−qは、検出誤差等により歩行経路P−Qとは一致せず、また、ユーザが通行する道路上に重ならない場合が生じる。そして、検出されたR2点に対応する第2のアンカー位置として、例えば、R2点に最も近いアンカー位置を決定すると、ユーザの実際の歩行経路には対応しないアンカー位置Aを選択してしまう場合が生じてしまう。
このように、自律航法によるユーザの軌跡p−qは、GPS等による逐次的な座標検出および座標補正とは異なり、初期位置からの誤差が累積するので、アンカー位置の選択にも誤差が生じてしまうことがある。特に、ユーザの軌跡p−qは、ユーザが所持する機器10の進行方向の検出に基づいているので、ユーザの身体の揺れ、蛇行、および手の振り等によって誤差が生じやすい。
そこで、本実施形態の決定部170は、第1のアンカー位置を決定したときの機器10の1つ前の推定位置(R1点)から、機器10の移動方向の変化が検出された今回の推定位置(R2点)までの移動距離に基づき、第2のアンカー位置を決定する。即ち、機器10の推定位置にはそれぞれ誤差が累積するが、推定位置間の移動距離の検出には、当該誤差の累積の影響が低減されるので、決定部170は、アンカー位置をより正確に選択することができる。
具体的には、移動距離算出部140が、R1点の検出からR2点の検出までの時間tおよび機器10の移動速度Vに応じた移動距離L、または、R1点の検出からR2点の検出までのユーザの歩数Nおよびユーザの歩幅Wに応じた移動距離Lを算出して決定部170に供給する。そして、決定部170は、当該移動距離Lに対応する距離に位置するアンカー位置を第2のアンカー位置とする。
決定部170は、例えば、アンカー位置Cからアンカー位置Aまでの距離LCA、およびアンカー位置Cからアンカー位置Bまでの距離LCBと、移動距離Lとをそれぞれ比較する。そして、決定部170は、最も近い距離となるLCBがユーザの移動した距離Lに対応する判断して、アンカー位置Bを第2のアンカー位置とする。また、この場合、決定部170は、更に、L−LCBの絶対値が、予め定められた距離以下の場合に、第2のアンカー位置と決定してもよい。これによって、決定部170は、ユーザの実際の歩行経路に対応するアンカー位置を選択することができる。決定部170が決定した第2のアンカー位置は、機器10が通過したアンカー位置を記憶する通過アンカー位置記憶部に出力され、記憶される。
決定部170は、通過アンカー位置記憶部に記憶される第2のアンカー位置を取得する。情報処理装置100は、処理が終了するまで、決定部170が決定した第2のアンカー位置を第1のアンカー位置とし、移動方向変化検知部130による移動報告の変化を検出する段階に戻って、ユーザの歩行動作に対応する次の第2のアンカー位置の決定動作を継続する。(S380:No、S340)。
情報処理装置100は、ユーザが自律航法の終了を入力したことに応じて、処理を終了させる(S380:Yes)。また、情報処理装置100は、他の測位方法システム等に切り替わったことに応じて、処理を終了させてもよい。
以上のように、本実施形態における情報処理装置100は、機器10の推定位置が検出されるまでの間にユーザが移動する距離を算出し、当該移動距離に基づいてアンカー位置を決定して、当該アンカー位置の選択誤差を低減させる。これによって、情報処理装置100は、自律航法によるユーザの現在位置の推定誤差を低減させることができる。
以上の本実施形態における情報処理装置100の決定部170は、移動距離算出部140が算出した移動距離Lと、アンカー位置間の距離を比較して、第2のアンカー位置を決定することを説明した。これに加えて、決定部170は、第2のアンカー位置の決定に応じて、ユーザの移動速度Vまたは歩幅Wを更新してもよい。
また、決定部170は、ユーザの移動速度Vに代えて、移動速度Vを推定するパラメータを記憶してもよい。ここで、移動速度Vを推定するパラメータは、アンカー位置間の距離に基づいて算出された移動速度を含んでよく、また、アンカー位置間のユーザの動作を表わす物理量を含んでもよい。決定部170は、一例として、アンカー位置間のユーザの動作を表わす物理量として、センサ信号に基づいて算出されるアンカー位置間の重力軸方向における角速度の振幅値の平均値を当該パラメータに含める。
移動距離算出部140は、ユーザの動作を考慮して更新されたパラメータから、ユーザの移動速度Vをより正確に推定することができる。具体的には、移動距離算出部140は、重力軸方向の加速度振幅値と移動速度の関係に基づき、ユーザの移動速度Vを推定する。この場合、移動距離算出部140は、重力軸方向の加速度振幅値と移動速度とが線形の関係にあるとしてよい。
一例として、移動距離算出部140が取得したユーザの移動速度Vを記憶部120に記憶する場合、決定部170は、機器10が通過したと判断したアンカー位置間の距離に基づき、機器10の移動速度を更新する。図4の例において、決定部170は、アンカー位置間の距離LCBがユーザが時間tの間に移動した距離に対応するので、ユーザの移動速度をVnew=LCB/tと算出して更新し、当該更新した移動速度Vnewを記憶部120に記憶する。
また、記憶部120がユーザの歩幅を記憶する場合、決定部170は、機器10が通過したアンカー位置間の距離に基づき、ユーザの歩幅の情報を更新する。図4の例において、決定部170は、アンカー位置間の距離LCBがユーザが歩数Nで移動した距離に対応するので、ユーザの歩幅をWnew=LCB/Nと算出して更新し、当該更新した歩幅Wnewを記憶部120に記憶する。
このように、決定部170は、ユーザが直前に移動した距離に基づいてユーザの移動速度Vまたは歩幅Wを更新するので、移動距離算出部140の次の移動距離の算出において、より正確な距離を算出することができる。また、ユーザの体調、他に持っている荷物、および歩行している道路の混雑の度合い等により、ユーザの歩行速度が増減しても、移動距離算出部140は、より正確な移動距離を算出することができる。
以上の本実施形態における情報処理装置100は、センサ信号取得部110が、加速度センサ、角速度センサ、および地磁気センサのうちの少なくとも1つのセンサからセンサ信号を取得する例を説明した。これに加えて、センサ信号取得部110は、機器10に搭載された気圧センサを含むセンサのセンサ信号を取得してもよい。
ここで、気圧センサは、機器10を保持するユーザがエレベータ、エスカレータ、階段、およびスロープのいずれかの昇降手段によって昇降したことに応じて当該機器10の周囲の気圧変化を検出する。この場合、決定部170は、第1のアンカー位置を決定したときの機器10の推定位置から、機器10の周囲の気圧変化が検出された推定位置までの移動距離に基づき、第2のアンカー位置を決定する。
この場合、移動方向変化検知部130は、加速度センサ等によるユーザの移動方向の変化が検知されなくても、気圧の変化が検出されれば、ユーザの移動方向が昇降手段によって変化したと検知する。移動方向変化検知部130は、例えば、ユーザがエスカレータ等の昇降手段に乗ったこと、当該昇降手段から降りたことを検知する。また、移動方向変化検知部130は、階段、エスカレータ等の昇降手段等を歩行すること、および当該歩行の停止を検知してもよい。即ち、移動方向変化検知部130は、ユーザの移動方向の変化および機器10の周囲の気圧変化の両方を検知してよい。
また、移動距離算出部140は、気圧の時間的な変化と、フロア毎の高さと気圧差のデータ等を比較することにより、ユーザの移動速度Vを取得することができる。即ち、情報処理装置100は、ユーザがエレベータに乗っているのか、エスカレータに乗っているのかを判別することもできる。したがって、移動距離算出部140は、ユーザが歩行動作をしていなくても、昇降手段等によって移動する移動距離Lを算出することができる。ここで、記憶部120は、予めフロア毎の高さと気圧差のデータ等を記憶してよい。
また、情報処理装置100は、加速度センサからのセンサ信号を解析することで、ユーザの歩行状態を検出することができるので、略同一の気圧の時間変動を検出しても、ユーザがエスカレータを歩行しているのかエレベータに乗っているのかを判別することができる。同様に、情報処理装置100は、ユーザが階段を歩行しているのかエスカレータに乗っているのかを判別することもできる。
このように、移動方向変化検知部130が気圧の変化に基づくユーザの昇降手段等による移動方向の変化を検知し、移動距離算出部140が移動距離Lを算出することができるので、決定部170は、ユーザの実際の歩行経路に対応するアンカー位置を決定することができる。即ち、情報処理装置100は、ユーザが建物内のフロア間を移動しても、自律航法によるユーザの現在位置の推定誤差を低減させることができる。また、この場合、情報処理装置100は、機器10の周囲の気圧変化に基づいてアンカー位置を決定するので、ユーザが歩行していなくてもアンカー位置を決定することができる。
また、建物内の異なるフロアで、かつ、第1のアンカー位置からの距離が略等距離にあるアンカー位置が複数存在しても、情報処理装置100は、気圧変化に基づいてユーザが歩行するフロアのアンカー位置を決定することができる。
図5は、本実施形態に係る情報処理装置100の変形例をセンサ20およびアンカー位置記憶部30と共に示す。本変形例の情報処理装置100において、図2に示された本実施形態に係る情報処理装置100の動作と略同一のものには同一の符号を付け、説明を省略する。本変形例の情報処理装置100は、移動方向検出部150を更に備える。
移動方向検出部150は、記憶部120に接続され、センサ信号に基づき、機器10の移動方向を検出する。移動方向検出部150は、一例として、予め定められたタイミングまたはクロック信号に応じて、機器10の移動方向を検出する。
移動方向検出部150は、検出した機器10の移動方向を記憶部120に蓄積してよく、蓄積した移動方向に基づき、機器10を保持するユーザが移動した軌跡を算出してもよい。即ち、移動方向検出部150は、機器10の移動方向を累積することにより、図4の例に示したユーザの軌跡p−q等を算出することができる。移動方向検出部150は、検出した移動方向および/または算出した軌跡を決定部170に供給する。
本変形例の決定部170は、第1のアンカー位置、機器10の移動距離、および移動方向に基づき、第2のアンカー位置を決定する。ここで例えば、アンカー位置間の距離が略同一の複数のアンカー位置が存在すると、決定部170は、距離の比較だけでは第2のアンカー位置を決定できない場合がある。そこで、決定部170は、機器10を保持するユーザが、第1のアンカー位置から、左右、東西南北、および上下方向のいずれの方向に移動したかに応じて、当該方向に存在するアンカー位置を第2のアンカー位置と決定する。
また、決定部170は、例えば、第1のアンカー位置および移動距離に基づいて第2のアンカー位置を決定した場合に、第1のアンカー位置に対する当該第2のアンカー位置の方向が、ユーザの移動方向と略同一方向か否かを判定する。そして、決定部170は、第2のアンカー位置の方向がユーザの移動方向と異なる場合、決定した当該第2のアンカー位置を除外して、他のアンカー位置の中から第2のアンカー位置を新たに決定してよい。
これに代えて、決定部170は、複数のアンカー位置のうち、ユーザの移動方向と略同一方向にあるアンカー位置を第2のアンカー位置候補とし、当該候補の中から、第1のアンカー位置および移動距離に基づいて第2のアンカー位置を決定してもよい。このように、本変形例の情報処理装置100は、ユーザの移動方向も考慮して第2のアンカー位置を決定するので、当該アンカー位置の選択誤差を更に低減することができる。
また、決定部170は、異なるアンカー位置の間の距離が、予め定められた基準距離よりも短い場合、機器10の移動方向を優先して第2のアンカー位置を決定してもよい。この場合の決定部170の動作を、図6を用いて説明する。
図6は、本実施形態に係る第1のアンカー位置と、決定部170が決定する第2のアンカー位置の第2の例を示す。本例において、図4に示された本実施形態に係る第1のアンカー位置および第2のアンカー位置の例と略同一のものには同一の符号を付け、説明を省略する。
ユーザが歩行動作を開始した直後、または移動方向を変更した直後は、ユーザの動作が安定していない場合がある。したがって、移動距離算出部140が、初期位置または第1のアンカー位置に近接する範囲でユーザの移動距離を算出すると、算出した当該移動距離には大きな誤差が含まれてしまう場合がある。
図6に示すように、移動方向検出部150が算出するユーザの軌跡p−qも、同様に、誤差が大きくなってしまう。また、このような場合、移動距離算出部140および移動方向検出部150は、移動距離を大きく算出する傾向にある。例えば図6の場合、アンカー位置Cからアンカー位置Aまでの距離LCA、およびアンカー位置Cからアンカー位置Bまでの距離LCBと、移動距離Lとをそれぞれ比較しても、当該移動距離Lとの差が略同一となってしまい、いずれを選択すべきかを決定できなくなってしまう。
そこで、決定部170は、機器10の移動方向を優先して、第2のアンカー位置を決定する。即ち、決定部170は、アンカー位置Aに到達する前に既にユーザの移動方向が変化してR2点が検出され、ユーザの軌跡p−qは図中の東方向へと変化していることから、ユーザはアンカー位置Bで東へと移動方向を変化させたと判断する。このように、決定部170は、当該変化を優先させて、アンカー位置Bを第2のアンカー位置とする。これによって、情報処理装置100は、異なるアンカー位置間の距離が予め定められた距離よりも短い場合に生じる、第2アンカー位置の選択誤差を低減させることができる。
また、決定部170は、機器10の移動方向の変化を検出しているにもかかわらず、第2のアンカー位置を予め定められた時間以上決定できない場合、第1のアンカー位置および機器10の移動方向に基づき、第2のアンカー位置を決定してもよい。ここで例えば、移動方向変化検知部130が機器10の移動方向の変化を検出し、移動距離算出部140が機器10の移動距離Lを算出しても、第1のアンカー位置から当該距離Lだけ離れた位置に対応するアンカー位置が存在しない場合がある。
図7は、本実施形態に係る第1のアンカー位置と、決定部170が決定する第2のアンカー位置の第3の例を示す。本例において、図4に示された本実施形態に係る第1のアンカー位置および第2のアンカー位置の例と略同一のものには同一の符号を付け、説明を省略する。
例えば、足踏み、蛇行、および回転動作等の通常の歩行とは異なるユーザの動作により、ユーザの実際の移動速度、歩数、および歩幅等に変動が生じた場合、移動距離算出部140は誤差を含む移動距離Lを算出してしまう。この場合、決定部170は、移動距離Lに対応する第2のアンカー位置を決定できずに行き詰まってしまう場合がある。ここで、移動方向検出部150は、図7に示すように、誤差を含んではいるものの、ユーザの軌跡p−q(またはp'−q')を順次算出することはできる。
そこで、決定部170は、ユーザの移動方向が変化したR2点と、アンカー位置Aとが予め定められた距離よりも離れていても、ユーザが東方向に移動していることに応じて、当該東方向に移動できる道路に対応するアンカー位置Aを、第2のアンカー位置として決定する。この場合において、決定部170は、東方向に行くことのできる道路が複数ある場合は、R2点から最も近い対応するアンカー位置を第2のアンカー位置として決定してよい。これにより、情報処理装置100は、アンカー位置が定まらないことによる行き詰まりを防止することができる。
また、決定部170は、予め定められた領域内のアンカー位置のうち、機器10の推定位置に対応するアンカー位置を決定する場合、第1のアンカー位置、機器10の移動距離、および予め定められた時間以上の期間における機器10の移動方向に基づき、第2のアンカー位置を決定する。例えば、ユーザが移動方向を緩やかに変化させると、移動方向変化検知部130が当該移動方向の変化を検知できない場合が生じる。
図8は、本実施形態に係る第1のアンカー位置と、決定部170が決定する第2のアンカー位置の第4の例を示す。本例において、図4に示された本実施形態に係る第1のアンカー位置および第2のアンカー位置の例と略同一のものには同一の符号を付け、説明を省略する。
図8の例に示すように、道幅が比較的広い道路等をユーザが歩行する場合、ユーザが当該道路を斜め方向に進行すると、移動方向変化検知部130は、当該移動方向の変化を検知できない。例えば、移動方向変化検知部130は、第1進行方向から第2進行方向への変化、および/または第2進行方向から第3進行方向への変化を検知できない場合が生じる。そして、移動方向検出部150は、ユーザの歩行に対応する軌跡p−qを順次算出することになる。
そこで、移動方向検出部150は、算出したユーザの歩行に対応する軌跡p−qに基づき、予め定められた時間以上の期間における機器10の移動方向を算出する。ここで、移動方向検出部150は、予め定められた時間以上の期間を、移動方向変化検知部130が移動方向を検知する時間よりも長い時間に設定する。移動方向検出部150は、例えば、当該期間を、ユーザが2歩以上歩く期間としてよく、また、4歩以上歩く期間とするのが好ましい。
移動方向検出部150は、例えば、ユーザが進行方向を変えずに予め定められた時間以上歩行した場合、当該進行方向をユーザの進行方向として検出する。この場合、移動方向検出部150は、記憶部120に検出した進行方向を記憶してよい。移動方向検出部150は、例えば、図中の第1進行方向、第2進行方向、および第3進行方向を順次検出して記憶する。
そして、移動方向検出部150は、このような進行方向を順次記憶し、一つ前に記憶した進行方向と今回記憶する進行方向が、予め定められた角度以上に変化する場合で、かつ、当該進行方向の変化の間に移動方向変化検知部130が移動方向の変化を検知しなかった場合、進行方向に変化があったことを検出する。これによって、移動方向検出部150は、第1進行方向から第2進行方向への変化、および第2進行方向から第3進行方向への変化をそれぞれ検出することができる。
移動方向検出部150は、このような進行方向の変化の検出結果を決定部170に供給し、決定部170は、当該進行方向の変化に応じて、アンカー位置を決定する。ここで、決定部170は、例えば、第1進行方向が検出された期間と、第2進行方向が検出された期間の間の期間に、機器10の推定位置(R1点)を定め、当該推定位置に対応する(例えば最も近い)アンカー位置Aを、第2アンカー位置とする。ここで、決定部170は、ユーザの軌跡上における、第1進行方向が検出された期間と第2進行方向が検出された期間との間の期間の中間点を、推定位置としてよい。
そして、決定部170は、例えば、第2進行方向が検出された期間と、第3進行方向が検出された期間の間の期間に、機器10の推定位置(R2点)を定め、当該推定位置に対応するアンカー位置Cを、次の第2アンカー位置とする。このようにして、情報処理装置100は、ユーザが緩やかに進行方向を変化させても、当該進行方向の変化を検出してアンカー位置を決定することができる。
また、情報処理装置100は、当該機器10の位置を取得する機器位置取得部を更に備えてもよい。ここで、機器位置取得部は、外部の装置等によって得られた機器10の位置を取得する。機器位置取得部は、例えば、GPS等の測位手段によって得られる機器10の位置情報を取得する。また、機器位置取得部は、Wi−Fi(Wireless Fidelity)等の規格化された無線LAN信号等を受信して測位し、得られる機器10の位置情報を取得してもよい。
また、機器位置取得部は、予め定められた位置に設けられたビーコン(Beacon)から照射される電波または赤外線等の電磁波を受信することによって得られる機器10の位置情報を取得してもよい。また、機器位置取得部は、電波および電磁波によらず、機器10の絶対位置を供給する、または絶対位置を算出する外部の装置等から、機器10の位置情報を取得してよい。機器位置取得部は、取得した機器10の位置を決定部170に供給する。
この場合、決定部170は、機器位置取得部が当該機器10の位置を取得したことに応じて、当該機器10の位置に最も近いアンカー位置を第2のアンカー位置として優先的に決定する。このようにして、情報処理装置100は、自律航法よりも高い確度で機器10の位置を推定できる場合は、当該高い確度で推定された機器10の位置を優先的に採用し、対応するアンカー位置を第2のアンカー位置とする。これによって、情報処理装置100は、自律航法によって累積される位置誤差の影響を低減させることができる。
また、情報処理装置100は、予めユーザが歩行する歩行ルートが定められている場合、当該歩行ルート上に対応するアンカー位置を第2のアンカー位置候補として予め登録してもよい。決定部170は、ユーザの移動方向の変化が検知された場合、当該登録された第2のアンカー位置候補の中から、第2のアンカー位置を決定してよい。
以上の情報処理装置100において、移動方向検出部150は、ユーザの歩行に対応する軌跡p−qを算出することを説明した。これに加えて、移動方向検出部150は、決定部170が第2のアンカー位置を決定したことに応じて、算出した軌跡p−qを補正してもよい。
この場合、決定部170は、第2のアンカー位置を決定する毎に、記憶部120に当該決定した第2のアンカー位置を記憶する。そして、移動方向検出部150は、第2のアンカー位置が更新されることに応じて、算出した軌跡p−qの対応する部分を補正する。これによって、情報処理装置100は、より精度の高いユーザの軌跡p−qを算出することができる。
以上の情報処理装置100において、移動方向変化検知部130は機器10の移動方向の変化を検知し、移動方向検出部150は機器10の移動方向を検出する例を説明した。ここで、移動方向検出部150が、検出した機器10の移動方向の時間的な変化を更に検出することで、機器10の移動方向の変化を検知できる場合、移動方向検出部150は、移動方向変化検知部130の動作を実行してもよい。即ち、この場合、移動方向変化検知部130および移動方向検出部150は、同一の部材であってもよい。
図9は、本実施形態に係るマップマッチング装置200の構成例を示す。本実施形態のマップマッチング装置200において、図2および4に示された本実施形態に係る情報処理装置100の動作と略同一のものには同一の符号を付け、説明を省略する。マップマッチング装置200は、入力部210と、地図情報記憶部220と、位置決定部230とを更に備える。
入力部210は、ユーザの初期位置を入力する。また、入力部210は、マップマッチング機能の処理を開始する指示を入力してもよい。マップマッチング装置200は、一例として、携帯機器10の表示部12に地図情報を表示させ、ユーザに現在位置を指定させることにより、ユーザの初期位置の入力およびマップマッチング機能の開始を入力させてよい。この場合、入力部210は、一例として、表示部12と組み合わされたタッチパネル等の入力デバイスであってよい。また、記憶部120は、入力部210から入力されたユーザの初期位置を記憶してよい。
地図情報記憶部220は、複数のアンカー位置を含む地図情報を記憶する。また、地図情報記憶部220は、複数のアンカー位置と地図上の位置座標との対応関係を含めた地図情報を記憶する。また、地図情報記憶部220は、表示部12に表示させる地図情報を記憶してよい。
位置決定部230は、情報処理装置100から出力される機器10の推定位置に対応するアンカー位置に応じて、機器10を保持するユーザの地図上の位置を決定する。情報処理装置100は、誤差を低減させたユーザの推定位置に対応するアンカー位置を出力することができるので、位置決定部230は、当該ユーザの地図上の位置を正確に決定することができる。
位置決定部230は、決定したユーザの位置を、地図情報と共に表示部12に表示させる。また、位置決定部230は、移動方向検出部150が算出したユーザの軌跡を表示部12に表示させてもよい。これによって、ユーザは、誤差を低減させた自律航法によって、ユーザ自身の地図上の位置を確認することができる。
また、位置決定部230は、マップマッチングによってユーザの地図上の正しい位置を決定することができるので、ユーザが移動したより正確な距離を算出することもできる。そこで、位置決定部230は、移動距離算出部140に接続され、算出した移動距離を当該移動距離算出部140に供給してもよい。これによって、移動距離算出部140は、マップマッチングから得られる正確な距離と自律航法から得られる歩行時間をもとにユーザのより正確な移動速度を算出することができる。さらに、得られた正確な移動速度と自律航法から得られる物理量等に応じて、自律航法において推定される移動速度に関するパラメータを適切なものに更新することができる。
図10は、本実施形態に係る情報処理装置100として機能するコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、例えば、機器10の内部に搭載される。これに代えて、コンピュータ1900は、機器10の外部に備えられ、機器10からのセンサ出力を受信して、アンカー位置の決定結果等を機器10に送信してもよい。この場合、コンピュータ1900は、一例として、機器10と無線で送受信する。
本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、および表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、記憶部2040、入出力部2060と、ROM2010と、カードスロット2050と、入出力チップ2070とをを備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000およびグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010およびRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、記憶部2040、入出力部2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。記憶部2040は、コンピュータ1900内のCPU2000が使用するプログラムおよびデータを格納する。記憶部2040は、不揮発性メモリであり、例えば、フラッシュメモリまたはハードディスク等である。
入出力部2060は、コネクタ2095と接続され、外部とプログラムまたはデータを送受信し、RAM2020を介して記憶部2040に提供する。入出力部2060は、規格化されたコネクタおよび通信方式で外部と送受信してよく、この場合、入出力部2060は、USB、IEEE1394、HDMI(登録商標)、またはThunderbolt(登録商標)等の規格を用いてよい。また、入出力部2060は、Bluetooth(登録商標)等の無線通信規格を用いて外部と送受信してもよい。
また、入出力コントローラ2084には、ROM2010と、カードスロット2050、および入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、および/または、コンピュータ1900のハードウェアに依存するプログラム等を格納する。カードスロット2050は、メモリカード2090からプログラムまたはデータを読み取り、RAM2020を介して記憶部2040に提供する。入出力チップ2070は、カードスロット2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続してもよい。
RAM2020を介して記憶部2040に提供されるプログラムは、入出力部2060を介して、またはメモリカード2090等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内の記憶部2040にインストールされ、CPU2000において実行される。
プログラムは、コンピュータ1900にインストールされ、コンピュータ1900をセンサ信号取得部110、記憶部120、移動方向変化検知部130、移動距離算出部140、移動方向検出部150、アンカー位置取得部160、および決定部170等として機能させる。
プログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段であるセンサ信号取得部110、記憶部120、移動方向変化検知部130、移動距離算出部140、移動方向検出部150、アンカー位置取得部160、および決定部170等として機能する。そして、この具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算または加工を実現することにより、使用目的に応じた特有の情報処理装置100が構築される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、記憶部2040、メモリカード2090、または入出力部2060を介して接続される記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置または通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030または記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、記憶部2040、メモリカード2090、または入出力部2060を介して接続される記憶装置等に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により記憶装置へと書き戻す。このような処理において、RAM2020は、記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、および/または記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(または不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
以上に示したプログラムまたはモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、メモリカード2090の他に、DVD、Blu−ray(登録商標)、またはCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークまたはインターネットに接続されたサーバシステムに設けたハードディスクまたはRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
10 機器、12 表示部、20 センサ、30 アンカー位置記憶部、100 情報処理装置、110 センサ信号取得部、120 記憶部、130 移動方向変化検知部、140 移動距離算出部、150 移動方向検出部、160 アンカー位置取得部、170 決定部、200 マップマッチング装置、210 入力部、220 地図情報記憶部、230 位置決定部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 記憶部、2050 カードスロット、2060 入出力部、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 メモリカード、2095 コネクタ
Claims (26)
- 機器に搭載されたセンサのセンサ信号を取得するセンサ信号取得部と、
複数のアンカー位置を取得するアンカー位置取得部と、
前記センサ信号に基づき、前記機器の移動方向の変化を検知する移動方向変化検知部と、
前記機器の移動方向の変化に基づき、前記複数のアンカー位置のうち、前記機器の推定位置に対応するアンカー位置を決定する決定部と、
を備え、
前記決定部は、第1のアンカー位置と、前記第1のアンカー位置を決定したときの前記機器の推定位置から前記機器の移動方向の変化が検出された推定位置までの移動距離と、に基づき、第2のアンカー位置を決定する情報処理装置。 - 前記決定部は、前記第2のアンカー位置として、前記移動方向変化検知部が前記機器の移動方向の変化を検知したときに前記機器が通過した位置を決定する請求項1に記載の情報処理装置。
- 前記第1のアンカー位置は、前記機器が通過したアンカー位置である請求項1または2に記載の情報処理装置。
- 前記センサ信号に基づき、前記機器の移動方向を検出する移動方向検出部を備え、
前記決定部は、前記第1のアンカー位置、前記機器の移動距離、および前記移動方向に基づき、前記第2のアンカー位置を決定する請求項1から3のいずれか1項に記載の情報処理装置。 - 前記第1のアンカー位置を決定したときの前記機器の推定位置から、前記機器の移動方向の変化が検出された推定位置までの前記移動距離を算出する移動距離算出部を備える請求項1から4のいずれか1項に記載の情報処理装置。
- 前記移動距離算出部は、前記機器の移動速度を取得し、当該移動速度と前記第1のアンカー位置を決定してから前記機器の移動方向の変化が検出されるまでの時間とに応じて、前記機器の移動距離を算出する請求項5に記載の情報処理装置。
- 前記機器の移動速度に関する情報を記憶する記憶部を更に備え、
前記決定部は、前記機器が通過したアンカー位置間の距離に基づき、前記機器の移動速度に関する情報を更新する請求項6に記載の情報処理装置。 - 前記機器の移動速度に関する情報は、前記機器の移動速度または移動速度を推定するパラメータである請求項7に記載の情報処理装置。
- 前記決定部は、前記移動方向変化検知部の出力に基づいて、前記機器が通過したアンカー位置間を前記機器が移動するのに要した時間を算出し、該算出した時間と前記機器が通過したアンカー位置間の距離に基づき、前記機器の移動速度に関する情報を更新する請求項7または8に記載の情報処理装置。
- 前記移動距離算出部は、前記センサ信号に基づいて前記機器を保持するユーザの歩数をカウントし、前記第1のアンカー位置を決定してから前記機器の移動方向の変化が検出されるまでの間の前記ユーザの歩数と、前記ユーザの歩幅とに応じて、前記機器の移動距離を算出する請求項5に記載の情報処理装置。
- 前記ユーザの歩幅を記憶する記憶部を更に備え、
前記決定部は、前記機器が通過したアンカー位置間の距離に基づき、前記ユーザの歩幅の情報を更新する請求項10に記載の情報処理装置。 - 前記決定部は、前記機器が通過したアンカー位置間を前記ユーザが移動するのに要した歩数と、前記機器が通過したアンカー位置間の距離に基づき、前記ユーザの歩幅の情報を更新する請求項11に記載の情報処理装置。
- 前記センサ信号取得部は、加速度センサ、角速度センサ、および地磁気センサのうちの少なくとも1つのセンサからセンサ信号を取得する請求項1から12のいずれか一項に記載の情報処理装置。
- 前記アンカー位置取得部は、複数のアンカー位置を記憶するアンカー位置記憶部に接続される請求項1から13のいずれか一項に記載の情報処理装置。
- 前記第1のアンカー位置の情報は、前記決定部が決定した最新のアンカー位置の情報である請求項1から14のいずれか一項に記載の情報処理装置。
- 機器に搭載された気圧センサを含むセンサのセンサ信号を取得するセンサ信号取得部と、
複数のアンカー位置を取得するアンカー位置取得部と、
前記機器のセンサ信号の変化に基づき、前記複数のアンカー位置のうち、前記機器の推定位置に対応するアンカー位置を決定する決定部と、
を備え、
前記決定部は、第1のアンカー位置と、前記第1のアンカー位置を決定したときの前記機器の推定位置から、前記機器の周囲の気圧変化が検出された推定位置までの移動距離に基づき、第2のアンカー位置を決定する情報処理装置。 - 前記気圧センサは、前記機器を保持するユーザがエレベータ、エスカレータ、階段、およびスロープのいずれかの昇降手段によって昇降したことに応じて当該機器の周囲の気圧変化を検出する請求項16に記載の情報処理装置。
- 前記センサ信号に基づき、前記機器の移動方向を検出する移動方向検出部を備え、
前記決定部は、前記第1のアンカー位置、前記機器の移動距離、および前記移動方向に基づき、前記第2のアンカー位置を決定する請求項16または17に記載の情報処理装置。 - 前記決定部は、異なるアンカー位置の間の距離が、予め定められた基準距離よりも短い場合、前記機器の移動方向を優先して前記第2のアンカー位置を決定する請求項4または18に記載の情報処理装置。
- 前記決定部は、前記機器の移動方向の変化を検出しているにもかかわらず、前記第2のアンカー位置を予め定められた時間以上決定できない場合、前記第1のアンカー位置および前記機器の移動方向に基づき、前記第2のアンカー位置を決定する請求項4または18に記載の情報処理装置。
- 前記決定部は、予め定められた領域内のアンカー位置のうち、前記機器の推定位置に対応するアンカー位置を決定する場合、前記第1のアンカー位置、前記機器の移動距離、および予め定められた時間以上の期間における前記機器の移動方向に基づき、前記第2のアンカー位置を決定する請求項4または18に記載の情報処理装置。
- 当該機器の位置を取得する機器位置取得部を更に備え、
前記決定部は、前記機器位置取得部が当該機器の位置を取得したことに応じて、当該機器の位置に最も近いアンカー位置を前記第2のアンカー位置として優先的に決定する請求項1から21のいずれか1項に記載の情報処理装置。 - 前記アンカー位置はコーナーの位置である請求項1から22のいずれか1項に記載の情報処理装置。
- 請求項1から23のいずれか一項に記載の情報処理装置と、
複数のアンカー位置を含む地図情報を記憶する地図情報記憶部と、
前記情報処理装置から出力される前記機器の推定位置に対応するアンカー位置に応じて、前記機器を保持するユーザの地図上の位置を決定する位置決定部と
を備えるマップマッチング装置。 - 機器に搭載されたセンサのセンサ信号を取得することと、
複数のアンカー位置を取得することと、
前記センサ信号に基づき、前記機器の移動方向の変化を検知することと、
前記機器の移動方向の変化に基づき、前記複数のアンカー位置のうち、前記機器の推定位置に対応するアンカー位置を決定部が決定することと、
を備え、
前記決定部は、第1のアンカー位置と、前記第1のアンカー位置を決定したときの前記機器の推定位置から、前記機器の移動方向の変化が検出された推定位置までの移動距離に基づき、第2のアンカー位置を決定する情報処理方法。 - コンピュータを、請求項1から23のいずれか一項に記載の情報処理装置として機能させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014004812A JP2017044470A (ja) | 2014-01-15 | 2014-01-15 | 情報処理装置、マップマッチング装置、情報処理方法、およびプログラム |
PCT/JP2015/050781 WO2015108066A1 (ja) | 2014-01-15 | 2015-01-14 | 情報処理装置、マップマッチング装置、情報処理方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014004812A JP2017044470A (ja) | 2014-01-15 | 2014-01-15 | 情報処理装置、マップマッチング装置、情報処理方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017044470A true JP2017044470A (ja) | 2017-03-02 |
Family
ID=53542954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014004812A Pending JP2017044470A (ja) | 2014-01-15 | 2014-01-15 | 情報処理装置、マップマッチング装置、情報処理方法、およびプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2017044470A (ja) |
WO (1) | WO2015108066A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016014530A (ja) * | 2014-06-30 | 2016-01-28 | カシオ計算機株式会社 | 情報処理装置、情報処理方法及びプログラム |
WO2022190662A1 (ja) * | 2021-03-11 | 2022-09-15 | ソニーグループ株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6841617B2 (ja) * | 2016-08-18 | 2021-03-10 | 株式会社ゼンリンデータコム | 情報処理装置、情報処理方法及びプログラム |
JPWO2018116476A1 (ja) * | 2016-12-22 | 2019-07-18 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
CN110095126B (zh) * | 2019-05-07 | 2021-03-12 | 北京百度网讯科技有限公司 | 地图匹配方法、装置、设备和介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6311813A (ja) * | 1986-07-02 | 1988-01-19 | Pioneer Electronic Corp | 車両の現在地認識方法 |
JP2653859B2 (ja) * | 1988-11-21 | 1997-09-17 | 株式会社デンソー | 車両走行位置表示装置 |
JP2009150724A (ja) * | 2007-12-19 | 2009-07-09 | Sumitomo Electric Ind Ltd | 方位特定装置、位置特定装置、コンピュータプログラム及び方位特定方法 |
JP5202613B2 (ja) * | 2010-12-02 | 2013-06-05 | 株式会社エヌ・ティ・ティ・ドコモ | 移動端末、システム及び方法 |
-
2014
- 2014-01-15 JP JP2014004812A patent/JP2017044470A/ja active Pending
-
2015
- 2015-01-14 WO PCT/JP2015/050781 patent/WO2015108066A1/ja active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016014530A (ja) * | 2014-06-30 | 2016-01-28 | カシオ計算機株式会社 | 情報処理装置、情報処理方法及びプログラム |
WO2022190662A1 (ja) * | 2021-03-11 | 2022-09-15 | ソニーグループ株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2015108066A1 (ja) | 2015-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6783751B2 (ja) | 地図情報支援の質を高められたポータブルナビゲーションを使用する方法および装置 | |
JP2014224715A (ja) | 進行方向推定装置、方法、およびプログラム | |
WO2015108066A1 (ja) | 情報処理装置、マップマッチング装置、情報処理方法、およびプログラム | |
CN105607071A (zh) | 一种室内定位方法及装置 | |
US10247558B2 (en) | Travel direction determination apparatus, map matching apparatus, travel direction determination method, and computer readable medium | |
JP6583322B2 (ja) | 位置推定装置、位置推定方法及びプログラム | |
US20130245935A1 (en) | Information processing device displaying current location and storage medium | |
JP2018194537A (ja) | 位置決定及び追跡のための方法、プログラム、及びシステム | |
US10197402B2 (en) | Travel direction information output apparatus, map matching apparatus, travel direction information output method, and computer readable medium | |
EP3764059B1 (en) | Indoor positioning paths mapping tool | |
KR101512638B1 (ko) | 센서를 이용한 길안내 서비스 제공장치 및 방법 | |
JP6679238B2 (ja) | 案内装置、案内方法及び案内プログラム | |
JP6494552B2 (ja) | フロア間の遷移に基づいて位置の補正が可能な位置推定装置、プログラム及び方法 | |
CN114299192B (zh) | 定位建图的方法、装置、设备和介质 | |
CN114518117A (zh) | 导航方法、装置、电子设备、介质 | |
CN112405522A (zh) | 跨楼层地图切换方法、装置、机器人及存储介质 | |
JP6653151B2 (ja) | 進行方向推定システム | |
JP5738102B2 (ja) | 移動端末及び方法 | |
JP6827502B2 (ja) | 案内装置、案内方法及び案内プログラム | |
JP5613634B2 (ja) | 地図表示装置及び方法及びプログラム | |
JP6480238B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2022127507A (ja) | 方法、情報処理装置、及びプログラム | |
TWI620704B (zh) | 電梯資訊處理方法及其系統 | |
CN114877889A (zh) | 定位方法、装置、电子设备及存储介质 | |
JP2011209167A (ja) | ナビゲーション装置 |