特許第6410596号(P6410596)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社ゼンリンデータコムの特許一覧

<>
  • 特許6410596-情報処理装置、プログラム 図000002
  • 特許6410596-情報処理装置、プログラム 図000003
  • 特許6410596-情報処理装置、プログラム 図000004
  • 特許6410596-情報処理装置、プログラム 図000005
  • 特許6410596-情報処理装置、プログラム 図000006
  • 特許6410596-情報処理装置、プログラム 図000007
  • 特許6410596-情報処理装置、プログラム 図000008
  • 特許6410596-情報処理装置、プログラム 図000009
  • 特許6410596-情報処理装置、プログラム 図000010
  • 特許6410596-情報処理装置、プログラム 図000011
  • 特許6410596-情報処理装置、プログラム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6410596
(24)【登録日】2018年10月5日
(45)【発行日】2018年10月24日
(54)【発明の名称】情報処理装置、プログラム
(51)【国際特許分類】
   G01C 21/28 20060101AFI20181015BHJP
   G01C 21/26 20060101ALI20181015BHJP
   G08G 1/005 20060101ALI20181015BHJP
   G09B 29/10 20060101ALN20181015BHJP
【FI】
   G01C21/28
   G01C21/26 P
   G08G1/005
   !G09B29/10 A
【請求項の数】8
【全頁数】19
(21)【出願番号】特願2014-262582(P2014-262582)
(22)【出願日】2014年12月25日
(65)【公開番号】特開2016-121950(P2016-121950A)
(43)【公開日】2016年7月7日
【審査請求日】2017年3月24日
(73)【特許権者】
【識別番号】500578216
【氏名又は名称】株式会社ゼンリンデータコム
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】西岡 伸朗
(72)【発明者】
【氏名】平嶋 昭裕
(72)【発明者】
【氏名】筒井 由季
【審査官】 大内 俊彦
(56)【参考文献】
【文献】 特開2012−117975(JP,A)
【文献】 特開2014−115093(JP,A)
【文献】 特開2014−149178(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00−21/36
G08G 1/005
G09B 29/10
(57)【特許請求の範囲】
【請求項1】
歩行者の歩幅を用いて歩行者の位置を推定する情報処理装置であって、
歩行者の第1の位置情報を推定する位置情報推定手段と、
前記第1の位置情報により歩行者が存在する道路が第1の道路から第2の道路に変わり、第1の道路と第2の道路のなす角が閾値以上の場合、歩行者が進路変更したと判定し、
歩行者が進路変更してから所定距離内であって、第1の道路と第2の道路を接続するノードを含まない前記第2の道路における位置を、歩幅を学習するための学習ポイントに決定する学習ポイント決定手段と、を有することを特徴とする情報処理装置。
【請求項2】
前記第1の位置情報を道路上の第2の位置情報に補正する補正手段を有し、
前記学習ポイント決定手段は、前記第2の位置情報が存在する道路が第1の道路から第2の道路に変わり、第1の道路と第2の道路のなす角が閾値以上の場合、歩行者が進路変更したと判断する、ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
目的地までのルートを示す経路情報を取得した場合、前記補正手段は、前記第1の位置情報をルート上の第3の位置情報に補正し、
前記学習ポイント決定手段は、前記第3の位置情報が存在する道路がルート内の第1の道路からルート内の第2の道路に変わり、第1の道路と第2の道路のなす角が閾値以上の場合、歩行者が進路変更したと判断する、ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記学習ポイント決定手段は、歩行者が進路変更した直後を学習ポイントに決定する、ことを特徴とする請求項1〜3いずれか1項に記載の情報処理装置。
【請求項5】
前記学習ポイント決定手段は、前記学習ポイントを決定した場合、直前の前記学習ポイントから今回の前記学習ポイントまでの距離を算出して歩幅学習部に出力すると共に、該歩幅学習部に対し前記距離と2つの学習ポイント間の歩数により歩幅を学習させる、ことを特徴とする請求項1〜4いずれか1項に記載の情報処理装置。
【請求項6】
前記位置情報推定手段は、衛星からの電波を利用した測位により前記第1の位置情報を検出することができない場合に、歩行者の歩幅を用いて歩行者の前記第1の位置情報を推定するものであり、
前記補正手段が前記第1の位置情報を道路上の位置に補正して得られた前記第2の位置情報、又は、前記補正手段が前記第1の位置情報をルート上の位置に補正して得られた前記第3の位置情報を地図内に表示する表示手段を、有することを特徴とする請求項3に記載の情報処理装置。
【請求項7】
歩行者の歩幅を用いて歩行者の位置を推定する情報処理装置であって、
歩行者の第1の位置情報を推定する位置情報推定手段と、
前記第1の位置情報により歩行者が存在する道路が第1の道路から第2の道路に変わり、第1の道路と第2の道路のなす角が閾値以上の場合、歩行者が進路変更したと判定し、
歩行者が進路変更してから所定距離内であって、第1の道路と第2の道路を接続するノードを含まない前記第2の道路における位置を、歩行者の歩幅を学習するための学習ポイントに決定する学習ポイント決定手段と、
前記学習ポイントであるという指示を受けて、2つの前記学習ポイントの間の距離と歩数により歩幅を学習する歩幅学習手段と、を有することを特徴とする情報処理装置。
【請求項8】
歩行者の歩幅を用いて歩行者の位置を推定する情報処理装置に、
歩行者の第1の位置情報を推定する位置情報推定ステップと、
前記第1の位置情報により歩行者が存在する道路が第1の道路から第2の道路に変わり、第1の道路と第2の道路のなす角が閾値以上の場合、歩行者が進路変更したと判定し、
歩行者が進路変更してから所定距離内であって、第1の道路と第2の道路を接続するノードを含まない前記第2の道路における位置を、学習ポイントに決定する学習ポイント決定ステップ、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、歩行者の歩幅を学習するための学習ポイントを決定する情報処理装置に関する。
【背景技術】
【0002】
従来から車載されたナビゲーション装置が知られているが、スマートフォンなどの可搬型の端末の普及に伴い端末にナビゲーション用のアプリケーションソフトウェアを実行させナビゲーション装置として機能させることができるようになった。このため、端末を自動車に搭載してカーナビゲーション装置として用いるだけでなく、端末を徒歩で移動する場合の歩行者用ナビゲーション装置として用いることが可能になっている。また、出発地から目的地まで、電車、飛行機、クルマ、バス、徒歩などの様々な交通手段の最適な組み合わせを提案する経路案内システムも実用化されている。したがって、徒歩による移動時にも適切なタイミングで次の進行方向を指示することなどが要請される。
【0003】
例えば、経路案内する場合、ナビゲーション装置はユーザが進行方向を変更する少し手前で次の進行方向を指示するが、ユーザの現在位置を正確に検出していないとこのタイミングを誤ることになる。経路案内しない場合でも、ユーザの現在位置と地図上のユーザの位置が大きく異なることは好ましくない。
【0004】
ナビゲーション装置がGNSS(Global Navigation Satellite System)を利用できる状況では、ユーザの現在位置はある誤差範囲で検出されるため比較的正確な現在位置を検出可能である。しかし、ナビゲーション装置がGNSSを利用できない状況では、自律航法により現在位置を推定するため、現在位置を正確に検出できるとは限らない。
【0005】
そこで、従来から自律航法による移動時に現在位置の精度を向上させる技術が考案されている(例えば、特許文献1参照。)。特許文献1には、GPSによる測位再開地点の位置データと、GPS測位が再開された時点での自律航法により測位された位置データとの差異量が所定値よりも大きい場合に、自律航法による移動経路の経路長とGPSによる移動経路の経路長に基づいて、自律航法による移動経路の各地点の位置データを補正する測位装置が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2013−76677号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に記載された測位装置では、GPS衛星の電波を補足できるまでは自律航法による位置データを補正できないという不都合がある。
【0008】
このため、GPS衛星の電波を補足できない状態でも、自律航法により検出される現在位置を補正する方法として、距離が既知の2点間を歩行者が移動したことを利用する方法が検討される。
【0009】
図1は、距離が既知の2点間を歩行者が移動したことを利用した自律航法の位置の補正について説明する図の一例である。端末22は歩行者の推定位置を送出するセンサー部12とセンサー部12が送出する推定位置を利用するアプリ11とを有している。
【0010】
図1(a)に示すように、アプリ11は端末22のユーザの歩幅の初期値(平均的な値やユーザが設定した値)を保持しており、センサー部12にこの歩幅を与えておく。センサー部12の現在地推定部47は振動などから歩行を検知して直前の位置から歩幅だけ離れた位置を推定しアプリ11に推定位置を通知する。アプリ11は地図上にユーザの位置を表示できる。
【0011】
したがって、歩幅が正確でないとセンサー部12が推定する推定位置も正確でなくなるおそれがある。そこで、図1(b)に示すように、センサー部12は歩幅を学習する機能として歩幅学習部48を有している。歩幅学習部48は、アプリ11から学習ポイントであるという指示と2点間の距離(直前の学習ポイントと今回の学習ポイントの距離)を取得してユーザの歩幅を学習する。
【0012】
歩幅学習部48は、直前の学習ポイントから今回指示された学習ポイントまでの歩数をカウントしているので、下式によりこのユーザの歩幅を学習することができる。
【0013】
歩幅=2点間の距離/歩数
現在地推定部47は、この歩幅を用いて推定位置を推定するので、より正確な推定位置をアプリ11に送出できるようになる。
【0014】
ここで、アプリ11は通常、センサー部12が推定する推定位置をマップマッチング又はルートマッチングして得られた現在地を地図の道路上に補正する。したがって、学習ポイントとしては、2点間の距離が知られている交差点を利用でき、さらにルート検索済みであれば(ルートマッチングしている場合は)ルート上の曲がり角を利用することができる。ルート上の曲がり角はユーザが進路方向を変更する場所なのでその付近で推定位置が推定される可能性が高く、センサー部12が誤った学習をする可能性が低いためである。しかしながら、ルート上の曲がり角を学習ポイントとして決定することには以下のような不都合がある。
【0015】
図2は、曲がり角を学習ポイントとする場合の不都合を説明する図の一例である。図2で使用されているマークは以下のとおりである。
実線の矢印…ルート検索された目的地までのルートc1
破線の矢印…距離学習範囲c2
△…センサー部12が推定する推定位置e1〜e15
○…ルートマッチング後の現在地r1〜r15
★…学習ポイント(ルート上の曲がり角)P1,P2
アプリ11は、△で示す推定位置e1〜e15をルートマッチングによりルート上に補正する(引き込む)。一般に、推定位置e1〜e15との距離が最も短いルート上に補正する。補正後の位置が現在地r1〜r15である。
【0016】
このような補正の結果、現在地(図では現在地r4)が学習ポイントP1と一致すると、アプリ11は学習ポイントであると判断し、2点間の距離(出発地から曲がり角までの距離、又は、曲がり角から次の曲がり角までの距離)をセンサー部12に通知する。しかしながら、曲がり角を学習ポイントとすることは必ずしも適切でない場合がある。
【0017】
これは、推定位置e1〜e15(図では推定位置e4)から最も近いルート上の位置が曲がり角と一致することは希であるため、ユーザがルート上の曲がり角に最も接近したタイミングを学習ポイントに決定することが困難なためである。
【0018】
推定位置e1〜e15がルート上の曲がり角とある程度接近したら、曲がり角と一致したとみなしてもよい。しかし、この場合、ユーザの実際の位置が学習ポイントからかなり離れていたり、センサー部12が検出した歩数が実際の歩数と大きく異なっている可能性があったりするため、学習する歩幅が正確にならないおそれがある。
【0019】
したがって、距離が既知の2点間を移動したことを利用して歩幅を学習する場合、学習ポイントを曲がり角とすると、必ずしも学習される歩幅が正確でないという問題があった。
【0020】
本発明は、上記課題に鑑み、歩幅の学習精度が向上された情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0021】
上記課題に鑑み、本発明は、歩行者の歩幅を用いて歩行者の位置を推定する情報処理装置であって、歩行者の第1の位置情報を推定する位置情報推定手段と、前記第1の位置情報により歩行者が存在する道路が第1の道路から第2の道路に変わり、第1の道路と第2の道路のなす角が閾値以上の場合、歩行者が進路変更したと判定し、歩行者が進路変更してから所定距離内であって、第1の道路と第2の道路を接続するノードを含まない前記第2の道路における位置を、歩幅を学習するための学習ポイントに決定する学習ポイント決定手段と、を有することを特徴とする。
【発明の効果】
【0022】
歩幅の学習精度が向上された情報処理装置を提供することができる。
【図面の簡単な説明】
【0023】
図1】距離が既知の2点間を歩行者が移動したことを利用した自律航法の位置の補正について説明する図の一例である。
図2】曲がり角を学習ポイントとする場合の不都合を説明する図の一例である。
図3】本実施形態における学習ポイントの一例を示す図である。
図4】経路案内システムのシステム構成図の一例である。
図5】ナビゲーションサーバ及び端末のハードウェア構成図の一例である。
図6】経路案内システムが備える各機能を図示した機能ブロック図の一例である。
図7】ルートマッチングについて説明する図の一例である。
図8】ユーザが曲がった先を学習ポイントとする場合の学習ポイントの決定を模式的に示す図の一例である。
図9】センサー部がカウントする歩数と学習ポイントの対応を示す図の一例である。
図10】端末の動作手順を示すフローチャート図の一例である。
図11】ルートマッチング及びマップマッチングが行われない場合の学習ポイントの決定を模式的に示す図の一例である。
【発明を実施するための形態】
【0024】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【0025】
<本実施形態の概略的特徴>
図3は、本実施形態における学習ポイントの一例を示す図である。本実施形態のアプリ11は、ユーザが交差点を曲がった直後を学習ポイントに決定することが特徴の1つとなる。ルートマッチングしている場合、ルートマッチングにより得られた現在地はルートとほぼ一致するので、ルートに沿ってユーザが交差点を曲がったことを精度よく検出できる。また、ユーザが実際に交差点を曲がった直後なら曲がってからの移動距離が短いので、既知の2点間の距離(直前の学習ポイントから今回の学習ポイントまでの距離)とユーザが実際に移動した距離が近い状態であると推定できる。したがって、センサー部12はユーザの歩幅を精度よく学習できる。
【0026】
<本実施形態で用いられる用語について>
ルートマッチングとは、センサー部が推定した推定位置から最も近いルート上の位置(推定位置からルートに下ろした垂線との交点)が現在地であると推定することである。
【0027】
マップマッチングとは、推定位置から最も近いリンク上の位置(推定位置からリンクに下ろした垂線との交点)が現在地であると推定することである。
【0028】
本実施形態の交差点とは、少なくとも2つ道路が交差すればよく、三つ叉路(T字路・Y字路)、4〜7叉路などを含む。したがって、ユーザが曲がる角度は交差点の形状に応じたものであり90度とは限らない。
【0029】
ユーザが曲がるとはルートや道路形状に沿って進路変更することを言う。ただし、ルートや道路形状に沿っていることが検知されているか否かは問われない。
【0030】
ユーザが移動するために脚を一歩前に出すことを「歩行」するという。
【0031】
<システムなどの構成例>
図4は、本実施形態にかかる経路案内システム100のシステム構成図の一例である。経路案内システム100は、ネットワーク13を介して接続されたナビゲーションサーバ21及び端末22を有している。ネットワーク13は、インターネット、WANやLANなどの主に有線で構築される通信網と、携帯電話網や無線LANなどの主に無線で構築される通信網とを有している。有線のみ又は無線のみで構築されていてもよい。端末22は無線で基地局14やアクセスポイント15にアクセスすることでネットワーク13に接続する。
【0032】
ナビゲーションサーバ21は、端末22に対し、ナビゲーションに関するサービス・機能を提供する情報処理装置である。例えば、端末22から現在地と目的地を取得してルートを検索し、後述する経路情報とナビ画面を端末22に送信する。
【0033】
端末22は、ユーザが利用するナビゲーション端末である。端末22は、汎用的な情報処理端末221である場合とナビゲーション専用端末222の場合がある。ナビゲーション専用端末222はPND(Portable Navigation Device)とも呼ばれる。なお、本実施形態の端末22は、情報処理端末221又はナビゲーション専用端末222以外でもよい。
【0034】
情報処理端末221としての端末22は、例えば、スマートフォン、タブレット端末、携帯電話、PDA(Personal Digital Assistant)、ノートPC、及び、ウェアラブルPCなどである。情報処理端末221はこれらに限定されるものではなく、経路案内に適切な装置であればよい。これらの装置は、普段は情報処理端末として利用されるが、ナビゲーションのためのアプリケーションソフトウェアを実行すると、ナビゲーション専用端末222と同様、ルート検索及び経路案内等を行う。
【0035】
また、端末22は、汎用的な情報処理端末221とナビゲーション専用端末222のどちらの場合でも、車載された状態と携帯可能な状態の切り替えが可能であってもよい。
【0036】
端末22の動作態様には大きく2つある。1つは、端末22が例えば専用のアプリケーションソフトウェアやWebブラウザを起動してナビゲーションサーバ21と通信し、経路案内に関する情報を受信して表示するクライアント型の動作態様である。もう1つは、原則的に地図の描画などの処理を端末内で完結し、地図データの取得など必要な場合にのみナビゲーションサーバ21と通信するアプリケーション型の動作端末である。本実施形態では、クライアント型を例に説明するが、アプリケーション型に対しても本実施形態の経路案内を好適に適用できる。
【0037】
なお、ユーザは2台の端末22を用いて、経路案内システム100を利用してもよい。例えば、ノートPCなどの端末22でドライブポータルサイトにアクセスして、出発地から目的地までのルートを事前に検索しておく。ドライブポータルサイトは、運転者(ドライバ)のための情報サービスサイトである。検索されたルートはドライブポータルサイトに登録しておき、任意のタイミングでスマートフォンなどの端末22から登録されている経路情報をダウンロードする。
【0038】
図5は、ナビゲーションサーバ21及び端末22のハードウェア構成図の一例である。図5(a)に示すように、ナビゲーションサーバ21は、ハードウェア構成として、CPU(Central Processing Unit)211、ROM(Read Only Memory)215、RAM(Random Access Memory)216、補助記憶装置217、入力装置212、表示装置213、及び、通信装置214を有する。
【0039】
また、図5(b)に示すように、端末22は、ハードウェア構成として、CPU211、ROM215、RAM216、補助記憶装置217、入力装置212、表示装置213、通信装置214、音声入出力装置218、及び、GPS受信装置219を有する。
【0040】
CPU211は、各種プログラムの実行や演算処理を行う。ROM215には、起動時に必要なプログラムなどが記憶されている。RAM216は、CPU211での処理を一時的に記憶したり、データを記憶したりする作業エリアである。補助記憶装置217は、各種データ及びプログラム2101、2102を格納する不揮発性のメモリである。入力装置212は、例えばキーボードやマウスである。表示装置213は、ディスプレイやプロジェクタHUD(Head Up Display)であり、例えば、ナビ画面等が表示される。通信装置214は、ネットワーク13に接続して他装置との通信を行う。音声入出力装置218は、音声の入出力を行う装置であり、例えば、ナビゲーションの音声ガイダンスが出力される。GPS受信装置219は、GPS衛星の電波を受信して現在位置を算出するGNSS(Global Navigation Satellite System)の一例である。
【0041】
なお、端末22の入力装置212は、キーボードやマウスに代え又はこれらに加えて、画面に対する接触位置(タッチ座標)を検知可能なタッチパネルにより実現されうる。また、入力装置212は、音声入出力装置218が入力させた音声を認識する音声認識装置としての機能を有していてもよい。
【0042】
ナビゲーションサーバ21又は端末22の補助記憶装置217に記憶されているプログラム2101,2102は、不図示の記憶媒体に記憶された状態で配布される。あるいは、不図示のサーバからダウンロードすることで配布される。端末22のプログラム2102はアプリ11を含み、さらにセンサー部12が実行するソフトウェアを含んでいる。また、このアプリ11は、経路案内に専用のアプリケーションソフトウェアでもよいし、ブラウザソフトウェアでもよい。
【0043】
<経路案内システムの機能構成例>
図6は、本実施形態の経路案内システム100が備える各機能を図示した機能ブロック図の一例である。ナビゲーションサーバ21は、サーバ送受信部31、ナビ画面作成部32、及び、ルート検索部33を有している。サーバ送受信部31、ナビ画面作成部32、及び、ルート検索部33は、図5に示したCPU211がプログラム2101を実行してナビゲーションサーバ21のハードウェアと協働することで実現される機能又は手段である。これらの機能の一部又は全てがICなどのハードウェア回路により実現されてもよい。
【0044】
また、ナビゲーションサーバ21は、地図DB34、道路ネットワークDB35、及び、歩行者ネットワークDB36を有している。これらは、例えばナビゲーションサーバ21の補助記憶装置217に構築されるが、ナビゲーションサーバ21が直接有していなくてもよく、ナビゲーションサーバ21がアクセス可能な場所にあればよい。
【0045】
図DB34は、ナビ画面を描画するためのデータを記憶している。ナビ画面に表示される情報には、都道府県などの区画、緑地や河川、道路や鉄道、記号や注記など多くの表示対象があるため、性質の似たものに分類し各分類ごとに描画できるようになっている。それぞれに分類された表示対象又は表示対象が描画された状態をレイヤーといい、地図はいくつかのレイヤーを重ねることで描画される。各レイヤーの地図データは、ベクトルデータ又はラスターデータのうち表示対象に適したフォーマットで記述されている。また、地図データは経度・緯度などが既知のメッシュ状に区切られており、1つ以上のメッシュを結合してナビ画面が作成される。ベクトルベータの場合は、緯度・経度でポイント、ポリライン、ポリゴンの位置が定められている。また、ラスターデータの場合は緯度・経度に対応づけて縮尺に応じたデータが用意されている。
【0046】
道路ネットワークDB35は、車両が通行可能な道路の構造を表すデータであって、ノードテーブルとリンクテーブルとを有している。ノードテーブルには、緯度・経度に対応づけて道路網表現上の結節点が登録されている。結節点をノードという。ノードは例えば交差点、分岐点、合流点、屈曲点などである。リンクテーブルにはノードのノード番号に対応づけて車両が通行可能な道路が登録されている。車両が通行可能な道路は、一般道、高速道路、専用道路、私道などである。また、リンクテーブルには、リンク種別、幅員、リンク長などが登録されている。2つのノード間の道路をリンクといい、リンクはノード同士を結ぶ線分となる。
【0047】
歩行者ネットワークDB36は、ノードテーブルとリンクテーブルとを有する点で道路ネットワークDB35と同様である。ただし、歩行者ネットワークDB36には、歩行者が通行可能な道(歩道、横断歩道、歩道橋、地下道、通り抜け可能な通路など)のリンクと、リンクの始点と終点のノード等が登録されている。
【0048】
この他、様々な交通手段の最適な組み合わせを提案するナビゲーションでは、電車の路線図、バスの運行地図、飛行機の運航地図、及び、これらの時刻表が用いられるが、図では省略されている。
【0049】
サーバ送受信部31は、端末22からナビゲーションに関する種々の要求を受け付ける。この要求は、例えば目的地までの検索要求、ナビ画面の更新要求(拡大・縮小、表示範囲の変更など)などがある。これらの要求は、ナビ画面作成部32とルート検索部33に振り分けられる。
【0050】
ルート検索部33は、検索要求に対し、道路ネットワークDB35又は歩行者ネットワークDB36の少なくとも一方を用いてルート検索し、経路情報を作成する。経路情報には、出発地から目的地までの経路を示すリンクやノード、進路変更するノード、ノードの位置情報、進路変更を案内する位置などが含まれている。
【0051】
本実施形態では主に歩行者ネットワークDB36が参照される。ルート検索には、リンク長や幅員をコストに換算して、出発地から目的地までのコストの合計が最も少なくなる経路を選ぶダイクストラ法が知られている。なお、ダイクストラ法以外の検索方法が用いられてもよい。また、ルート検索においては、有料道路の利用有無、地下道を優先するなどのユーザ設定が考慮される。
【0052】
ルート検索部33は、検索して得られた出発地から目的地までの経路情報をナビ画面作成部32に送出する。ナビ画面作成部32は、出発地から目的地までの領域を含み、経路、出発地及び目的地が強調表示されたナビ画面を作成する。さらに、ユーザの現在位置を表示してもよい。また、ユーザが移動を開始すると、ナビ画面作成部32は案内に適した縮尺のナビ画面を作成する。また、端末22から更新要求を取得すると、ナビ画面作成部は要求された縮尺や表示範囲に応じてナビ画面を作成する。サーバ送受信部31はこのようにして作成された経路情報とナビ画面を端末22に送信する。
【0053】
端末22は、端末送受信部41、アプリ11、及び、センサー部12を有している。アプリ11は操作受付部42、ルート案内部43、ナビ画面表示部44、及び、学習ポイント決定部45を有している。これらは、図5に示したCPU211がプログラム(アプリ11)2102を実行して端末22のハードウェアと協働することで実現される機能又は手段である。これらの機能の一部又は全てがICなどのハードウェア回路により実現されてもよい。
【0054】
端末送受信部41は、ナビゲーションサーバ21に検索要求や更新要求を送信したり、ナビゲーションサーバ21からナビ画面や経路情報を受信したりする。
【0055】
操作受付部42は、ユーザから、出発地と目的地、拡大・縮尺、表示範囲変更などの操作入力を受け付ける。ナビ画面表示部44は、表示装置213にナビ画面を表示する。また、センサー部12から取得した推定位置をルート上に補正して(ルートマッチングして)、ユーザの現在地としてナビ画面に表示する。経路情報が検索されていない状態では、道路や道などユーザが存在するはずのリンク上に補正するマップマッチングを行う。なお、ルートマッチング又はマップマッチングはナビゲーションサーバ21が行ってもよい。
【0056】
センサー部12が送出する推定位置には、GPS受信装置219が検出したものと自律航法により推定されたものとがある。本実施形態では主に自律航法により推定された推定位置が扱われる場合を説明する。
【0057】
ルート案内部43は、ナビゲーションサーバ21から取得した経路情報と、ルートマッチング又はマップマッチングにより得られた現在地とに基づいて、経路案内を行う。すなわち、ユーザの現在地が経路情報に含まれる進路変更すべき位置に到達すると、曲がり角などを指示する音声データを音声入出力装置218に出力させる。なお、音声データはナビゲーションサーバ21から送信されてもよいし、端末22が音声合成をおこなって作成してもよい。
【0058】
学習ポイント決定部45は、学習ポイントであると判断すると学習ポイント指示情報をセンサー部12に指示する。学習ポイント指示情報には以下の情報が含まれる。なお、詳しくは図8,9にて説明する。
【0059】
「現在地が学習ポイントであること、2点間の距離」
続いてセンサー部12について説明する。センサー部12は、アプリ11とのインタフェースとなるAPI(Application Interface)50、歩幅学習部48、現在地推定部47、及び、信号処理部46を有している。歩幅学習部48、現在地推定部47、及び、信号処理部46は、図5に示したCPU211がプログラム2102を実行して端末22のハードウェアと協働することで実現される機能又は手段である。これらの機能の一部又は全てがICなどのハードウェア回路により実現されてもよい。
【0060】
また、センサー部12は歩幅記憶部49を有している。歩幅記憶部49はセンサー部12内のフラッシュメモリなどに構築されてもよいし、端末22の補助記憶装置217やROM215に構築されてもよい。歩幅記憶部49は、初期値としての歩幅、及び、過去に学習したいくつかの歩幅を記憶している。
【0061】
図示するように、センサー部12とアプリ11がAPI50を介して分離されていることで、センサー部12を異なるアプリ11で共有したり、センサー部12とアプリ11の開発を別々に行ったり、センサー部12が変わってもアプリ11の修正を最小限にできたりすると言うメリットがある。しかしながら、図示する構成は一例であり、アプリ11とセンサー部12が一体であってもよい。
【0062】
信号処理部46は加速度センサー51、ジャイロセンサー52、及び、GPS受信装置219と接続されている。加速度センサー51は例えばXYZ軸の3方向の加速度を検出するセンサーで、ジャイロセンサー52はXY平面、YZ平面、ZX平面に水平な面における角速度をそれぞれ検出するセンサーである。なお、軸数や軸の向きは一例であって、ユーザの歩行の有無や進行方向を検出できればよい。また、端末22が有するセンサーの種類は一例である。
【0063】
信号処理部46は、加速度センサー51、ジャイロセンサー52、及び、GPS受信装置219の信号を処理して現在地推定部47に送出する。GPS受信装置219が4つ以上のGPS衛星を補足している場合には、GPS受信装置219が検出した緯度・経度・標高の位置情報を現在地推定部47に送出する。これに対し、GPS受信装置219が十分な数のGPS衛星を補足できない場合には、加速度センサー51とジャイロセンサー52の信号を現在地推定部47に出力する。
【0064】
現在地推定部47は、加速度センサー51とジャイロセンサー52の信号を監視してユーザが歩行したことを検出する。例えば、加速度センサー51の信号に基づいて、前後方向の加速度が所定時間以内に所定量以上変化すること、上下方向の加速度が所定値以上又は所定値未満になることなどから判断される。
【0065】
また、現在地推定部47は、ジャイロセンサー52の信号を監視してユーザの進行方向を検出する。ジャイロセンサー52の信号は角速度なのでこれを積分することで角度に変換する。任意の基準方向(例えば、ルートに沿った方向、地磁気センサーにより求めた東西南北のいずれか)に対する角度の変化により進行方向が検出される。
【0066】
現在地推定部47は、直前の現在地を基点として現在地を推定する。歩幅記憶部49に記録されている歩幅を読み出して、直前の現在地に対し進行方向に歩幅だけ進んだ位置を現在地として推定する。推定された現在地はアプリ11に送出される。
【0067】
歩幅学習部48は、アプリ11から学習ポイント指示情報を取得した場合、2点間の距離と2点間の距離を移動するための歩数を利用して歩幅を学習する。詳細は図8,9で説明する。
【0068】
<ルートマッチング>
本実施形態の学習ポイントの決定方法は、ルートマッチングが行われていなくても適用可能だが、ルートマッチングが行われることで正確な学習ポイントを決定しやすい。
【0069】
図7(a)は、ルートマッチングについて説明する図の一例である。ルートマッチングによりルートc1が得られている。そして、現在地推定部47が推定した推定位置e1〜e3が現在地r1〜r3にルートマッチングされる。
【0070】
ここで、ルートマッチングの手順として、ナビ画面表示部44はルートマッチングよりも先にマップマッチングを行う。これはアプリ11のロジック上の理由(地図があるエリアではマップマッチングは常に行われている)によるものである。また、マップマッチングで現在地を補正した後にルートマッチングした方がより精度が高くなるためである。
【0071】
例えば、推定位置e4は一度、マッピング位置m4にマップマッチングされる。しかし、マッピング位置m4はルート上でないので、再度、ルート上の現在地r4にルートマッチングされる。マッピング位置m4のままではユーザが交差点を曲がったと誤判定されるおそれがあるが、ルートマッチングすることで、曲がったか否かの判定精度を向上させることができる。
【0072】
なお、推定位置e1〜e3も、ルートマッチングされる前にマップマッチングされているが、ルート上にマップマッチングされているためルートマッチングを省略することができる。したがって、多くの場合はマップマッチングに続いてルートマッチングを行っても処理負荷は大きくは増大しない。
【0073】
また、推定位置e5は交差点の近くで検出されたため、現在地r5aと現在地r5bのどちらにもルートマッチングされ得る。しかし、ユーザが実際に曲がる前に推定位置e5が現在地r5bにルートマッチングされたとしても、その後のルートマッチングにより得られる現在地r6の位置により曲がったか否かを正しく判断しやすい。すなわち、図7(b)に示すように、現在地r5a又は現在地r5bの後に、推定位置e6が交差点よりも手前の現在地r6(又は交差点)にルートマッチングされた場合、ユーザは曲がっていないと判断できる。一方、図7(c)に示すように、推定位置e6が交差点よりも先の現在地r6にルートマッチングされた場合、ユーザは曲がったと判断できる。
【0074】
したがって、ルートマッチングされている場合、ユーザがルートに沿って進行方向を変えることを利用できるので、ユーザが曲がったことを精度よく判断できる。
【0075】
なお、図示するように、ルートマッチングをした場合、交差点が推定位置e5と最も近いとは限らないので、交差点と現在地が一致するとは限らない。このため、交差点間の距離を2点間の距離とすること、すなわち、交差点を学習ポイントとすることは適切でない場合が多い。
【0076】
<学習ポイントの決定 ルートマッチングされている場合>
図8は、ユーザが曲がった先を学習ポイントとする場合の学習ポイントの決定を模式的に示す図の一例を、図9はセンサー部12がカウントする歩数と学習ポイントの対応を示す図の一例である。図8では、出発地から目的地までのルートc1が検索されている。このルートc1はリンク1〜4により構成されている。
【0077】
現在地推定部47は加速度センサー51とジャイロセンサー52の信号を処理して現在位置を推定し、推定位置e1〜e4をアプリ11に送出する。
【0078】
ナビ画面表示部44は、推定位置e1〜e4をルート上の現在地r1〜r4にルートマッチングし、アプリ11の学習ポイント決定部45はルート上の現在地r1〜r4を取得する。出発地からここまでの歩数は4である。
【0079】
次に、現在地推定部47が送出した推定位置e5に対し、ナビ画面表示部44がルート上の現在地r5にルートマッチングし、アプリ11の学習ポイント決定部45はルート上の現在地r5を取得する。学習ポイント決定部45は、現在地がルートマッチングされたリンクがリンク1からリンク2に変化したことを検出する。リンクが変化したことはリンク1の始点のノードと終点のノードの間に現在地r5が含まれるか否かにより判断できる。
【0080】
リンクが変化したことを検出すると、学習ポイント決定部45はリンク1とリンク2のなす角を算出し、なす角が閾値以上であれば、ユーザが曲がったと判断する。これにより、ユーザが曲がった直後を学習ポイントに決定することができる。なお、この閾値はユーザの進行方向が変わったことをどれくらいの精度で検知可能かにより決定されている。したがって、進行方向を検知するためのジャイロセンサー52の精度だけでなく、ユーザの端末22の持ち方や歩き方などにも影響される。しかしながら、悪くとも90度以上の進行方向の変化を検知でき、実験的には10度程度の進行方向の変化を検知可能である。
【0081】
また、図8の例では、ユーザが曲がった直後(リンクが変化した後の一歩目)を学習ポイントとしているが、必ずしもユーザが曲がった直後を学習ポイントとしなくてもよい。図7にて説明したように、誤ったルートマッチングが行われ実際にはユーザが曲がっていない場合があるためである。このような場合を想定して、例えば、ユーザが歩行するリンクが変わり、リンク同士のなす角が閾値以上であることに加え、以下のような条件を付加してもよい。
【0082】
a1.曲がった後に所定値以上の距離を移動したこと
a2.曲がった後のリンクに連続して所定値以上の現在地がルートマッチングされたこと
このような条件を付加することでより精度よくユーザが曲がったことを検出できる。しかしながら、ユーザが曲がってから学習ポイントと判断するまでの距離は短い方が、学習される歩幅の精度を向上させやすい。
【0083】
学習ポイント決定部45は、ユーザが曲がったと判断すると学習ポイント指示情報を歩幅学習部48に送出する。学習ポイント指示情報に含まれる2点間の距離は次のようになる。
2点間の距離=リンク1の長さ+距離L21(リンク2の始点から現在地r5までの距離)
歩幅学習部48は、学習ポイント指示情報に含まれる2点間の距離を歩数で除して学習する歩幅を算出する。出発地から学習ポイントまでの歩数は5歩である。
【0084】
歩幅=2点間の距離/歩数(5)
このように、ユーザが曲がった直後を学習ポイントとすれば、ユーザが歩行した距離は比較的短いので誤差が小さく、歩幅を精度よく算出できる。
【0085】
なお、本実施形態では、センサー部12が歩数をカウントしていると説明したが、アプリ11が歩数をカウントし、学習ポイント指示情報と共にセンサー部12に通知してもよい。
【0086】
歩幅学習部48は、歩幅を学習すると(歩幅記憶部49に記憶すると)、歩数をゼロに初期化して、再度、歩数のカウントを開始する。
【0087】
以降、アプリ11は2回目の歩幅の学習を開始する。すなわち、学習ポイント決定部45は、現在地r13がルートマッチングされると、現在地r13を学習ポイントに決定し、学習ポイント指示情報を歩幅学習部48に送出する。この時の2点間の距離は以下のようになる。
2点間の距離=距離L22(現在地r5からリンク2の終点までの距離+リンク3の距離)+距離L31(リンク4の始点から現在地r13までの距離)
歩幅学習部48は、学習ポイント指示情報に含まれる2点間の距離を歩数で除して学習する歩幅を算出する。出発地から学習ポイントまでの歩数は8歩である。
【0088】
歩幅=2点間の距離/歩数(8)
このように、アプリ11はユーザがルート上を歩行している間、繰り返し歩幅の学習を行う。学習結果である歩幅は決まった数だけ保持されており、決まった数を超過すると古いものから順に削除される。現在地推定部47は、この決まった数の歩幅の平均や中央値を用いて現在地を推定する。したがって、ユーザが歩行するほどに学習精度が向上し、現在地を精度よく推定できるようになる。また、古い学習結果は削除されるので、ユーザの歩幅が変わった場合(雨天時、友人と歩いている場合、道が混雑している場合など)でも徐々に現在地の推定精度を向上できる。
【0089】
また、本実施形態では目的地までの残りの距離で歩幅を学習してもよい。例えば、ユーザが目的地に到達した場合、現在地r13から目的地までの距離を2点間の距離として学習ポイント指示情報をセンサー部12に出力する。この場合、歩幅学習部48は曲がったか否かに関係なく歩幅を学習できる。なお、目的地に到達したことを精度よく判定するため、ユーザが目的地の付近で停止したか否かを判断してもよい。
【0090】
<<端末の動作手順>>
図10は端末の動作手順を示すフローチャート図の一例である。図10(a)はアプリ11の動作手順を、図10(b)はセンサー部12の動作手順をそれぞれ示している。
【0091】
図10(a)の動作手順は、例えば、端末22がナビゲーションサーバ21から経路情報を取得し、ルート案内が開始されるとスタートする。
【0092】
ナビ画面表示部44はセンサー部12から取得した推定位置を現在地にルートマッチングするので、学習ポイント決定部45はその現在地を取得する(S10)。
【0093】
学習ポイント決定部45は、現在地が存在する現在のリンクを特定する(S20)。このリンクをナビ画面表示部44から取得してもよい。
【0094】
学習ポイント決定部45は現在地がルートマッチングされたリンクが変わったか否かを判定する(S30)。リンクが変わっていない場合(S30のNo)、処理はステップS70に進む。
【0095】
リンクが変わった場合(S30のYes)、学習ポイント決定部45は変わる前のリンクと変わった後のリンクのなす角が閾値以上か否かを判定する(S40)。なす角が閾値以上でない場合(S40のNo)、リンクは変わってもユーザは直進していると判断できるので、処理はステップS70に進む。
【0096】
なす角が閾値以上である場合(S40のYes)、ユーザが曲がったと判断できるので、学習ポイント決定部45は2点間の距離を算出する(S50)。この距離は、前回、曲がったと判断された現在地から今回、曲がったと判断した現在地までの距離である。
【0097】
そして、学習ポイント決定部45は学習ポイント指示情報をセンサー部12に出力する(S60)。この後、処理はステップS10に戻る。
【0098】
ステップS30又はS40でNoと判断された場合、学習ポイント決定部45はルート案内が終了したか否かを判定する(S70)。ルート案内が終了していない場合(S70のNo)、処理はステップS10に戻る。
【0099】
ルート案内が終了した場合(S70のYes)、図10(a)の動作手順は終了する。
【0100】
図10(b)の動作手順は、例えば、アプリ11がセンサー部12に学習を指示するとスタートしてもよいし、常に、学習を行っていてもよい。
【0101】
センサー部12の歩幅学習部48は例えば、アプリ11からの指示や学習ポイント指示情報を取得すると、歩数をゼロに初期化する(S110)。
【0102】
次に、現在地推定部47が歩行したと判断したか否かを判定する(S120)。歩行していない場合(S120のNo)、処理はステップS170に進む。
【0103】
歩行したと判断された場合(S120のYes)、現在地推定部47は推定位置を推定してアプリ11に送出する(S130)。
【0104】
歩幅学習部48は歩数を1つ大きくする(S140)。
【0105】
次に、アプリ11に送出した推定位置に対し、歩幅学習部48は学習ポイント指示情報を取得したか否かを判定する(S150)。学習ポイント指示情報を取得しない場合(S150のNo)、ユーザは曲がっていないので処理はステップS120に戻る。
【0106】
学習ポイント指示情報を取得した場合(S150のYes)、現在地が学習ポイントであるので、歩幅学習部48は歩数で2点間の距離を除して歩幅を学習する(S160)。
【0107】
この後、処理はステップS110に戻り、センサー部12は歩幅の学習を継続する。そして、ステップS120でNoと判定された場合、歩幅学習部48は学習が終了したか否かを判定する(S170)。例えば、アプリ11からの指示で歩幅を学習している場合は、アプリ11からの指示で学習を終了させる。
【0108】
<学習ポイントの決定 マップマッチングが行われている場合>
ルートマッチングが行われておらず、マップマッチングのみが行われている場合もルートマッチングが行われている場合と同様に学習ポイントを決定できる。すなわち、ナビ画面表示部44による推定位置の補正先がルート上でなくリンク上に変わるだけなので、曲がったか否かの判定もルートマッチングされる場合と同様でよい。
【0109】
なお、マップマッチングの場合は、ユーザが曲がっていなくても曲がったと誤判定されるおそれが高まるため、上記の条件a1の距離又はa2の歩行の数をより大きな値とすることが好適である。
【0110】
<学習ポイントの決定 ルートマッチング及びマップマッチングが行われない場合>
マップマッチングさえ行われない場合は少ないと考えられる。また、ユーザの端末22の持ち方などにより推定位置が安定しない場合には曲がったという判断が必ずしも正確でなく、歩幅の学習は困難になる。よって、歩幅の学習はルートマッチング又はマップマッチングが行われている場合に行うことが好ましい。しかしながら、推定位置の精度が十分に高い場合は、マップマッチングさえ行われない場合でも、歩幅の学習は可能である。
【0111】
図11は、ルートマッチング及びマップマッチングが行われない場合の学習ポイントの決定を模式的に示す図の一例を示す。センサー部12により出力される推定位置はほぼリンク上を移動している。このため、ユーザの現在位置をマップマッチングにより補正しなくてもリンクに沿って移動するとみなすことができる。
【0112】
ルートマッチング及びマップマッチングが行われない場合、現在のリンクが特定できないので、曲がったか否かは例えば以下のように、推定位置間の直線近似により判断する。
(i)学習ポイント決定部45は、隣接した2つの推定位置を通過する直線を求める。これにより、出発地と推定位置e1を結ぶ直線m1、推定位置e1とe2を結ぶ直線m2、推定位置e2とe3を結ぶ直線m3、推定位置e3とe4を結ぶ直線m4、推定位置e4とe5を結ぶ直線m5が求められる。
(ii)最後に求めた直線とその前に求めた直線のなす角を算出する。すなわち、直線m1とm2のなす角、直線m2とm3のなす角、直線m3とm4、直線m4とm5のなす角が求められる。
(iii)なす角が閾値以上の場合、ユーザが曲がったと判断する。
(iv)学習ポイント指示情報は、2点間の距離を直線m1〜m5の合計値として作成する。
【0113】
このように、推定位置の精度が直線性を判断できる程度に十分であれば、ルートマッチング及びマップマッチングが行われない場合でも、ユーザが曲がった直後を学習ポイントとして判断できる。
【0114】
なお、自律航法は端末22がGPS衛星を補足できない場合に行われるが、歩幅の学習はGPS衛星が補足されている状態で行ってもよい。GPS衛星を補足している状態では、図11に示すようなリンク上の測位点が得られやすいので、ルートマッチング及びマップマッチングが行われない場合でもユーザが曲がった直後を学習ポイントとして判断できる。当然ながら、GPS衛星を補足しており、かつ、ルートマッチング又はマップマッチングが行われている状態で歩幅を学習してもよい。
【0115】
<好適な変形例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0116】
例えば、本実施形態では端末22が、ユーザが曲がったか否かの判断を端末22が行っているが、ナビゲーションサーバ21が判断してもよい。この場合、端末22は推定位置又は現在地をナビゲーションサーバ21に送信すればよい。また、センサー部12が、ユーザが曲がったか否かの判断を行ってもよい。
【0117】
また、本実施形態ではセンサー部12が歩幅を学習したが、アプリ11が歩幅を学習してもよい。この場合、アプリ11が学習ポイント間の歩数をカウントしてもよいし、センサー部12から歩数を取得してもよい。
【0118】
また、歩幅の学習はナビゲーションサーバ21が行ってもよい。この場合、端末22が学習ポイントであること、2点間の距離、及び、歩数をナビゲーションサーバ21に通知する。あるいは、ナビゲーションサーバ21が推定位置又は現在地を取得して、学習ポイントであることを判断して2点間の距離を特定し、端末22から歩数を取得してもよい。
【0119】
また、例えば、図4では一台のナビゲーションサーバ21を図示したが、ナビゲーションサーバ21は複数台、存在してもよい。また、1台のナビゲーションサーバ21が有する機能が複数のサーバに分散して配置されてもよい。
【0120】
また、ナビゲーションサーバ21の機能を端末22側が有することもできる。例えば、端末22がナビ画面作成部32とルート検索部33を有することができる。
【符号の説明】
【0121】
11 アプリ
12 センサー部
21 ナビゲーションサーバ
22 端末
100 経路案内システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11