(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023096046
(43)【公開日】2023-07-06
(54)【発明の名称】ルート作成システム、ルート作成方法、ルート作成プログラム、地図作成システム、地図作成方法および地図作成プログラム
(51)【国際特許分類】
G16H 20/00 20180101AFI20230629BHJP
【FI】
G16H20/00
【審査請求】有
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2023081122
(22)【出願日】2023-05-16
(62)【分割の表示】P 2021130451の分割
【原出願日】2015-03-26
(71)【出願人】
【識別番号】000005016
【氏名又は名称】パイオニア株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】近藤 真司
(57)【要約】
【課題】ユーザの体力に合ったルートを提示する。
【解決手段】ルート作成システムにおいて、ルート作成装置100は、ユーザ特定情報と、地点情報と運動時間と指標情報との指定を取得する指定情報取得部101と、複数のユーザの運動能力レベルを格納する運動能力レベル格納部103から、ユーザ特定情報に対応した運動能力レベルと同一または類似の運動能力レベルを有するユーザ特定情報を抽出する抽出部102と、複数のユーザ特定情報と地点履歴情報と運動履歴時間と指標履歴情報を格納する走行履歴情報格納部105から、ユーザ特定情報に対応づけられた運動履歴時間と指標履歴情報を読み出し、指定運動時間と指定指標情報と同一または類似の運動履歴時間と指標履歴情報に対応付けられた地点履歴情報を抽出し、地点履歴情報に対応する道路の距離と指定地点情報とに基づいてルートを作成するルート作成部104と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザを特定するユーザ特定情報と前記ユーザが指定した指定条件とを取得する取得部と、
複数のユーザの運動能力レベルと運動履歴情報を格納している格納部から、前記取得したユーザ特定情報に対応した運動能力レベルと同一または類似の運動能力レベルを有するユーザの運動履歴情報であって、前記取得した前記指定条件を満たす運動履歴情報または当該運動履歴情報と類似する運動履歴情報を抽出する抽出部と、
前記抽出された運動履歴情報に基づいてルートを作成するルート作成部と、
を有するルート作成システム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ユーザの指定情報に合うルートを作成するルート作成システム、ルート作成方法、ルート作成プログラム、地図作成システム、地図作成方法および地図作成プログラムに関する。ただし、この発明の利用は、ルート作成システム、ルート作成方法、ルート作成プログラム、地図作成システム、地図作成方法および地図作成プログラムに限らない。
【背景技術】
【0002】
従来、使用者の運動時に、現在の心拍数が目標の心拍数となるようなテンポ音やそのテンポの音楽を出力する技術が提案されている(例えば、下記特許文献1参照。)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の技術では、心拍数を目標の心拍数になるようなテンポの音楽を出力するが、ユーザの体力に合ったルートを提案することができない、という問題が一例として挙げられる。
【課題を解決するための手段】
【0005】
上述した課題を解決し、目的を達成するため、請求項1の発明にかかるルート作成システムは、ユーザを特定するユーザ特定情報と前記ユーザが指定した指定条件とを取得する取得部と、複数のユーザの運動能力レベルと運動履歴情報を格納している格納部から、前記取得したユーザ特定情報に対応した運動能力レベルと同一または類似の運動能力レベルを有するユーザの運動履歴情報であって、前記取得した前記指定条件を満たす運動履歴情報または当該運動履歴情報と類似する運動履歴情報を抽出する抽出部と、前記抽出された運動履歴情報に基づいてルートを作成するルート作成部と、を有することを特徴とする。
【図面の簡単な説明】
【0006】
【
図1】
図1は、実施の形態にかかるルート作成システムの機能的構成の一例を示すブロック図である。
【
図2】
図2は、実施の形態にかかるルート作成システムの処理手順の一例を示すフローチャートである。
【
図3】
図3は、実施例のサーバのハードウェア構成の一例を示すブロック図である。
【
図4】
図4は、実施例にかかるシステム構成例を示すブロック図である。
【
図5】
図5は、実施例にかかる処理手順の一例を示すフローチャートである。
【
図6】
図6は、実施例の走行情報DBの内容例を示す図表である。
【
図7】
図7は、実施例の運動能力レベルDBの内容例を示す図表である。
【
図8】
図8は、実施例の道路情報DBの内容例を示す図表である。
【
図9】
図9は、実施例にかかるユーザ走行時の運動能力レベル生成の処理例を示すフローチャートである。
【
図10】
図10は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。(その1)
【
図11】
図11は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。(その2)
【
図12】
図12は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。(その3)
【
図13】
図13は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。(その4)
【
図14】
図14は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。(その5)
【
図15】
図15は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。(その6)
【
図16】
図16は、実施例にかかる運動負荷算出処理例を説明する図表である。
【
図17】
図17は、実施例にかかる運動負荷に基づくルート作成処理例を説明する図である。(その1)
【
図18】
図18は、実施例にかかる運動負荷に基づくルート作成処理例を説明する図である。(その2)
【発明を実施するための形態】
【0007】
(実施の形態)
以下に添付図面を参照して、この発明にかかるルート作成システム、ルート作成方法、ルート作成プログラム、地図作成システム、地図作成方法および地図作成プログラムの好適な実施の形態を詳細に説明する。
【0008】
図1は、実施の形態にかかるルート作成システムの機能的構成の一例を示すブロック図である。
図1には、ルート作成システムとしてルート作成装置100単体の構成例を示している。ルート作成装置100は、ランニングを行うユーザの指定情報に基づいて、ユーザの運動能力に適したルートを作成し、ユーザに提示する。
【0009】
ルート作成装置100は、指定情報取得部101と、抽出部102と、運動能力レベル格納部103と、ルート作成部104と、走行履歴情報格納部105と、送信部108と、を含む。
【0010】
指定情報取得部101は、ユーザを特定するユーザ特定情報(例えば、ユーザID)と、ユーザの指定する指定地点情報(例えば、出発地と目的地の位置情報である緯度経度)と、ユーザが指定した指定運動時間(例えば、運動時間30分)と、ユーザが指定した運動の程度を示す指定指標情報(例えば、ユーザの心拍数130)、消費カロリーや脈拍数、呼吸数等を取得する。
【0011】
抽出部102は、複数のユーザ特定情報(ユーザID)と運動能力レベルとを対応付けて格納している運動能力レベル格納部103から、指定情報取得部101が取得したユーザ特定情報(ユーザID)に対応した運動能力レベルと同一または類似の運動能力レベルを有するユーザ特定情報を抽出する。運動能力レベル格納部103には、予め複数のユーザが運動能力レベルを付して記憶される。また、この運動能力レベル格納部103には、同一ユーザを含む複数のユーザの過去の走行履歴が蓄積記憶されている。そして、抽出部102は、記憶されたユーザ情報を参照して、ユーザの運動能力に近い他のユーザを抽出する。尚、他のユーザに加え、ユーザ自身を抽出してもよい。
【0012】
走行履歴情報格納部105は、複数のユーザ特定情報(ユーザID)と地点履歴情報と運動履歴時間と運動の程度を示す指標履歴情報とを対応付けて格納している。
【0013】
ルート作成部104は、走行履歴情報格納部105から、抽出部102で抽出されたユーザ特定情報(ユーザID)に対応づけられた運動履歴時間と指標履歴情報を読み出す。そして、指定情報取得部101で取得した指定運動時間と指定指標情報と同一または類似の運動履歴時間と指標履歴情報に対応付けられている地点履歴情報を抽出する。そして、ルート作成部104は、抽出された地点履歴情報に対応する道路の距離と、指定地点情報とに基づいてルートを作成する。
【0014】
これにより、ルート作成部104は、ユーザの指定情報(指定地点情報、指定運動時間、指定指標情報)に合う他のユーザの走行履歴を用いてルートを作成することができる。作成されたルートは送信部108を介してユーザが保持する端末に送信される。
【0015】
また、ルート作成装置100は、さらに、道路情報記憶部106と、運動負荷計算部107と、を含み構成してもよい。
【0016】
道路情報記憶部106は、少なくとも道路情報として、道路の位置情報と距離を記憶する。また、道路の勾配を記憶してもよい。これにより、ルート作成部104は、道路の位置情報と取得された地点情報とから、地点情報に対応する道路を特定し、ユーザが指定する指定地点情報を通り特定された道路の距離であるルートを作成することができる。
【0017】
また、運動負荷計算部107は、道路の位置情報と取得された地点情報とから、地点情報に対応する道路を特定し、特定された道路の距離を特定し、特定した距離を元に運動負荷を求める。この運動負荷は所定の計算式を用いる。この際、道路の勾配を加えても良い。これにより、ルート作成部104は、ユーザの指定情報に従った地点を通り、運動負荷計算部107で求められた運動負荷で運動が可能なルートを作成することができる。
【0018】
また、運動負荷計算部107は、ユーザの過去の走行履歴から運動負荷を計算してもよい。これにより、ルート作成部104は、ユーザが指定した指定地点を通るルートが複数存在する場合、所定のルートを推奨ルートとして提示することができる。この際、ルート作成部104は、推奨ルートとして、交通量の少ないルート、運動能力レベルが同じ他のユーザの走行履歴に基づくルート、走行履歴が多いルート、のいずれかを提示することができる。
【0019】
また、ルート作成部104は、ルートの提示だけではなく、所定のメッセージを併せて提示できる。例えば、走行ルートをユーザの指定情報に従った指定運動時間、指定指標(例えば心拍数)で走るための平均走行速度、走行ルート中の複数のチェックポイントでの目標時間、チェックポイントまでの距離と時間、現在の心拍数と指定した心拍数を比較して目標心拍数に近づくためのメッセージ、を一つあるいは複数提示する。
【0020】
図2は、実施の形態にかかるルート作成システムの処理手順の一例を示すフローチャートである。ルート作成装置100が実行する処理例を示している。
【0021】
はじめに、ルート作成装置100は、ユーザの操作入力等により、ユーザの指定情報を取得する(ステップS201)。例えば、ユーザの指定情報として、ユーザを特定するユーザ特定情報(例えば、ユーザID)と、ユーザの指定する指定地点情報(例えば、出発地と目的地の位置情報である緯度経度)と、ユーザが指定した指定運動時間(例えば、運動時間30分)と、ユーザが指定した運動の程度を示す指定指標情報(例えば、ユーザの心拍数130)、消費カロリーや脈拍数、呼吸数等を取得する。
【0022】
つぎに、ルート作成装置100は、ユーザと同等の運動能力レベルを有する他のユーザを抽出する(ステップS202)。この抽出では、ユーザを特定する情報に紐づけられた運動能力レベルと同一または類似の運動能力レベルを有する他のユーザを抽出する。
【0023】
この後、ルート作成装置100は、抽出したユーザの走行履歴を参照し、抽出したユーザを特定する情報に紐づけられているユーザの走行履歴を参照し、ユーザの指定情報(指定地点情報、指定運動時間、指定指標情報)に合うルートを作成する(ステップS203)。
【0024】
この際、ルート作成部104は、走行履歴情報格納部105に格納されている運動履歴時間と運動の程度を示す指標履歴情報と、指定情報取得部101で取得された指定運動時間と運動の程度を示す指定指標情報とを対比し、ユーザの指定した指定運動時間と運動の程度を示す指定指標情報と同一または類似の運動履歴時間と指標履歴情報に対応付けられている地点履歴情報を抽出する。そして、抽出した地点履歴情報に対応する距離と、指定地点情報とに基づいてルートを作成する。例えば、出発地から目的地まで30分の時間を有し、心拍数130となる指定情報にできるだけ合うルートが作成され、この後、送信部108を介してユーザの端末にルートが送信され、端末の表示部等によりユーザに提示できる(ステップS204)。
【0025】
図2には記載しなかったが、ルート作成装置100は、さらに、ユーザの指定情報に紐づけられている地点情報(出発地と目的地)と、道路情報(道路の位置情報と距離と勾配)を取得してルートを作成してもよい。これにより、道路の位置情報と取得された地点情報とから、地点情報に対応する道路を特定し、ユーザが指定する指定地点情報を通り特定された道路の距離であるルートを作成することができる。例えば、ユーザが指定する出発地と目的地を含む走行履歴に基づくルートを作成することができる。すなわち、ユーザが指定する指定地点情報(出発地と目的地)が他のユーザの走行履歴と一致しない場合でも、この指定地点情報を含む走行履歴の一部のルートを用いてユーザに提示できる。
【0026】
また、地点情報に対応する道路を特定し、特定された道路の距離と勾配を特定し、特定した距離と勾配を元に運動負荷を求めてもよい。これにより、指定地点を通り、運動負荷計算部で求められた運動負荷で運動が可能なルートを作成することができる。
【0027】
また、抽出部102で抽出されたユーザ特定情報に対応付けられた過去の走行履歴を基に運動負荷を計算してもよい。これにより、ユーザの指定する地点を通るルートが複数存在する場合、所定のルートを推奨ルートとして送信することができる。この際、推奨ルートとして、交通量の少ないルート、走行履歴が多いルートまたは前記ユーザと同一または類似の運動能力レベルを有するユーザが過去に走行したルートのうち、少なくとも一つのルートを推奨ルートとして送信することができる。
【0028】
また、ルートの送信だけではなく、所定のメッセージを併せて送信できる。例えば、ルートをユーザが指定する指定運動時間と指定指標情報で走るための平均走行速度、ルート中の複数のチェックポイントでの目標時間、チェックポイントまでの距離と時間、現在の指標情報と指定指標情報を比較して目標指標情報に近づくためのメッセージを一つあるいは複数提示してもよい。
【0029】
以上の実施の形態によれば、ユーザが指定した指定情報に合うルートを提案できる。このルートは、ユーザの指定情報に基づき、ユーザの運動能力レベルと同等の運動能力レベルを有する他のユーザの走行履歴を抽出して作成されるため、ユーザの指定情報に合うルートを提示できる。具体的には、ユーザの体力に合ったルートを提示できる。そして、指定情報として指定地点情報、指定運動時間、指定する運動の程度を示す指標を用いることで、よりユーザの指定に近い運動量のルートを提示できるようになる。
【0030】
また、ユーザの指定情報に紐づけられている地点情報(出発地と目的地)と、道路情報(道路の位置情報と距離と勾配)を取得してルートを作成してもよい。これにより、道路の位置情報と取得された地点情報とから、地点情報に対応する道路を特定し、ユーザが指定する指定地点情報を通り特定された道路の距離であるルートを作成することができる。
【0031】
また、上述したルート作成システムは、ユーザの端末とサーバが通信接続された構成としてもよい。この場合、端末は、ユーザが指定する指定地点情報と、指定運動時間と、指定指標情報と、を含む指定情報をサーバに送信する送信部と、サーバから送信されるルートを受信する受信部と、ルートを表示する表示部等を有する。サーバは、
図1に記載した指定情報取得部101~送信部108の構成と、端末と通信する受信部および送信部を有する。このような端末とサーバを用いた構成においても、上記同様にユーザにルートを提示できる。サーバは、汎用のPC等のコンピュータ装置を用いてもよい。
【実施例0032】
つぎに、本発明の実施例について説明する。実施例では、サーバ300が上記のルート作成装置100の機能を有し、ユーザが保持する端末と通信接続された構成例を用いて説明する。
【0033】
(サーバ300のハードウェア構成)
図3は、実施例のサーバのハードウェア構成の一例を示すブロック図である。
図3において、サーバ300は、CPU301、ROM302、RAM303、磁気ディスクドライブ304、磁気ディスク305、光ディスクドライブ306、光ディスク307、音声I/F(インターフェース)308、マイク309、スピーカ310、入力デバイス311、映像I/F312、ディスプレイ313、通信I/F314、を備えている。各構成部301~314は、バス320によってそれぞれ接続されている。
【0034】
CPU301は、サーバ300の全体の制御を司る。ROM302は、ブートプログラム、ルート作成プログラムを記録している。RAM303は、CPU301のワークエリアとして使用される。すなわち、CPU301は、RAM303をワークエリアとして使用しながら、ROM302に記録された各種プログラムを実行することによって、サーバ300の全体の制御を司る。
【0035】
磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータの読み取り/書き込みを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記録する。磁気ディスク305としては、例えば、HD(ハードディスク)やFD(フレキシブルディスク)を用いることができる。
【0036】
また、光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータの読み取り/書き込みを制御する。光ディスク307は、光ディスクドライブ306の制御にしたがってデータが読み出される着脱自在な記録媒体である。光ディスク307は、書き込み可能な記録媒体を利用することもできる。着脱可能な記録媒体として、光ディスク307のほか、MO、メモリカードなどを用いることができる。
【0037】
磁気ディスク305および光ディスク307には、例えば、上述したユーザ情報、ユーザ毎の走行履歴、道路情報(地図データ)等がある。地図データは、ルート作成時に用いられ、建物、河川、地表面、エネルギー補給施設などの地物(フィーチャ)をあらわす背景データ、道路の形状をリンクやノードなどであらわす道路形状データなどを含むベクタデータである。
【0038】
音声I/F308は、音声入力用のマイク309および音声出力用のスピーカ310に接続される。マイク309に受音された音声は、音声I/F308内でA/D変換される。
【0039】
入力デバイス311は、文字、数値、各種指示などの入力のための複数のキーを備えたリモコン、キーボード、タッチパネルなどが挙げられる。入力デバイス311は、リモコン、キーボード、タッチパネルのうちいずれか一つの形態によって実現されてもよいが、複数の形態によって実現することも可能である。
【0040】
映像I/F312は、ディスプレイ313に接続される。映像I/F312は、具体的には、例えば、ディスプレイ313全体を制御するグラフィックコントローラと、即時表示可能な画像情報を一時的に記録するVRAM(Video RAM)などのバッファメモリと、グラフィックコントローラから出力される画像データに基づいてディスプレイ313を制御する制御ICなどによって構成される。
【0041】
ディスプレイ313には、アイコン、カーソル、メニュー、ウインドウ、あるいは文字や画像などの各種データが表示される。ディスプレイ313としては、例えば、TFT液晶ディスプレイ、有機ELディスプレイなどを用いることができる。
【0042】
通信I/F314は、例えば、無線ネットワークを介してユーザの端末に通信接続し、サーバ300およびCPU301のインターフェースとして機能する。ネットワークとして機能する通信網には、公衆回線網や携帯電話網、LAN、WANなどがある。
【0043】
図3に記載のROM302、RAM303、磁気ディスク305、光ディスク307などに記録されたプログラムやデータを用いて、CPU301が所定のプログラムを実行することによって、サーバの動作に必要な機能を実現する。
【0044】
また、上述したユーザの端末についても、
図3同様の構成により端末の機能を実現する。また、ユーザの端末は、GPS等の位置検出部を有する。
【0045】
(ルート作成システムの全体構成例)
図4は、実施例にかかるシステム構成例を示すブロック図である。上述したサーバ300(
図1のルート作成装置100)にユーザの端末400が通信接続される構成例を示す。
【0046】
端末400の一例として、ユーザが所持するスマートフォンなどのクライアントマシン401と、ユーザが身体に装着するスマートウオッチ等のウェアラブル機器などの情報端末402等が挙げられる。情報端末402は、ユーザの心拍数を検出するセンサを有し、クライアントマシン401に送信する。
【0047】
クライアントマシン401は、例えば、ユーザの走行時の走行情報(ユーザIDと、日時と、走行ルートを示す位置情報と、走行ルート上での時間毎の心拍数)とをサーバ300に送信する。
【0048】
また、クライアントマシン401は、サーバ300が作成し、サーバ300から配信されたルートを表示する。クライアントマシン401は、配信されたルートを情報端末402に転送してもよい。
【0049】
サーバ300には、
図1に示した各機能(指定情報取得部101~送信部108)を有する。
図4の走行情報管理部403は、
図1の運動能力レベル格納部103と走行履歴情報格納部105に対応し、道路情報管理部106は、
図1の道路情報記憶部106に対応する。
【0050】
走行情報取得部411は、ユーザの走行毎の走行情報(ユーザID、日時、位置情報、心拍数)を走行情報管理部403に格納する。走行情報管理部403には、複数のユーザの走行毎の走行情報(データベース:DB)412が蓄積記憶され、ユーザ毎の走行情報に基づき、ユーザ毎の運動能力レベル(DB)413を生成する。
【0051】
図4の例では、走行情報にユーザ情報が含まれている。以下の説明では、ユーザ情報は、走行情報に含まれるものとして説明する。
【0052】
運動能力レベル(DB)413は、上述した運動能力に相当し、例えば、走行情報に含まれる日時と、位置情報に基づく所定のルートの運動時間と、走行距離と、このルート走行時の心拍数とに基づき算出され、運動能力別に複数のランク(例えば、上(上級者)、中(中級者)、下(初心者))が付与される。道路情報管理部106は、道路情報(DB)414に道路の位置情報と距離と勾配を記憶する。
【0053】
道路情報DB414は、「形状」という部分に緯度経度とその道路の形の情報を含み記憶する。これにより、サーバ300は、走行情報412から抽出した位置情報を基に、道路情報DB414の位置情報(緯度経度)がどの道路の形状のなかにあるのか検索することで道路情報を取得することができる。
【0054】
図5は、実施例にかかる処理手順の一例を示すフローチャートである。ユーザの端末400とサーバ300は、下記手順にしたがい処理を行う。
【0055】
はじめに、ユーザの端末400は、ユーザIDと、指定情報(どのような走行条件で走りたいか)のユーザ入力(ステップS501)を受け付け、ユーザIDと、指定情報をサーバ300に送信する(ステップS502)。例えば、ユーザ1の指定情報は、A地点からB地点、運動時間30分、心拍数130の運動、であるとする。
【0056】
つぎに、サーバ300は、ユーザIDと、指定情報を取得し(ステップS503)、指定情報に合うルートを作成する。サーバ300は、このルート作成時、運動能力レベルDB413を参照し、指定情報に合うユーザの運動能力レベルを決定する。例えば、ユーザ1のIDに紐づけられている運動能力レベルのランクが「中」であると決定されたとする。そして、サーバ300は、決定されたユーザの運動能力レベルに近いユーザを運動能力レベルDB413から抽出する(ステップS504)。この際、ユーザ1の運動能力レベル「中」と同じ運動能力レベル「中」を有する他のユーザを抽出する。なお、抽出するユーザは、同一ユーザ(ユーザ1)でもよい。
【0057】
つぎに、サーバ300は、ユーザが送信した指定情報(運動時間、心拍数)に近い運動時間と心拍数に紐づけられている位置情報(緯度・経度)を走行情報DB412から取得する(ステップS505)。例えば、抽出したユーザの走行履歴のうち、運動時間30分、心拍数130で走行した履歴に紐づけられている位置情報であるC地点からD地点までの緯度・経度を取得する。
【0058】
つぎに、サーバ300は、取得した位置情報を元に、位置情報に対応する道路情報を道路情報DB414から取得する(ステップS506)。例えば、緯度・経度からC地点からD地点までの道路を取得する。
【0059】
つぎに、サーバ300は、取得した道路情報の長さと勾配から運動負荷を求める(ステップS507)。例えば、道路情報DB414には道路リンク毎の距離と勾配の情報が記憶されており、C地点からD地点の道路の距離と勾配が抽出できる。抽出した距離と勾配を元に計算式から例えば運動負荷は「100」であることが求められる。尚、運動負荷の具体的な算出方法は後述する。
【0060】
つぎに、サーバ300は、ユーザの指定情報に含まれる地点(出発地・目的地)を通り、求めた運動負荷となるルートを作成する(ステップS508)。例えば、ユーザの指定情報であるA地点、B地点を通り、運動負荷「100」のルートを作成する。この後、サーバ300は、作成したルートをユーザに配信する(ステップS509)。
【0061】
ところで、ユーザIDに紐づけられている運動能力レベルが運動能力レベルDB413になかった場合(例えば、運動能力レベルDB413の作成初期状態)が考えられる。このような場合、サーバ300は、ユーザ(端末400)に対し、1.自分の運動能力レベルに近そうなユーザを任意で選択、2.自分の運動能力レベルを任意に選択、3.xkm(例:5km)走行してもらうよう促す表示を行う、等の処理を行ってもよい。
【0062】
以上のように、サーバ300は、過去の走行履歴から運動負荷を計算し、ルートを作成する。この際、ユーザの指定する地点を通るルートが複数存在する場合、以下の処理で1のルートを確定する。
1.交通量の少ないルートを推奨ルートとして提示する。
2.運動能力レベルが同じ別のユーザが走行している実績があればそのルートを推奨ルートとして提示する。
3.走行している履歴が多いルートを推奨ルートとして提示する。
4.複数のルートをユーザに提示し、1のルートに確定するための選択を受け付ける。
【0063】
また、サーバ300は、ユーザへのルートを提案時、走行ルートだけを提示するのではなく、以下の情報を提示してもよい。
1.走行ルートをユーザが指定する走行時間と心拍数で走るための平均走行速度をユーザに提示する。平均走行速度は作成されたルートの距離と指定する走行時間から求めることができる。
2.走行ルート中に複数のチェックポイントを設け、複数のチェックポイントでの目標時間や、チェックポイントまでの距離・時間を提示する。例えば、チェックポイントまであとxkm、x分という情報を提示する。
3.現実の心拍数と指定する心拍数を比較して目標心拍数に近づくためのメッセージを提示する。例えば、指定心拍数を満たすにはもう少しスピードを上げて走行してください、という情報を提示する。
【0064】
図6は、実施例の走行情報DBの内容例を示す図表である。走行情報DB412は、ユーザ毎の走行時のユーザID、日時、心拍数、地点(緯度経度)、を含む。
【0065】
図7は、実施例の運動能力レベルDBの内容例を示す図表である。運動能力レベルDB413は、ユーザ毎のユーザID、運動能力レベル(上、中、下の各ランク)、を含む。
【0066】
図8は、実施例の道路情報DBの内容例を示す図表である。道路情報DB414は、道路のID(道路リンクID)、道路リンク毎の道路の形状、勾配(斜度)、長さ、を含む。
【0067】
(ユーザ走行時の運動能力レベル生成の処理例)
図9は、実施例にかかるユーザ走行時の運動能力レベル生成の処理例を示すフローチャートである。ユーザは、走行時に、端末400(クライアントマシン401)を介して指定情報(ユーザID、日時、位置情報、心拍数)をサーバ300に送信する。サーバ300は、端末400から送信された各ユーザの指定情報を取得し、走行情報DB412に蓄積してデータベース化する。
【0068】
そして、サーバ300は、各ユーザの走行情報DB412の走行情報に基づき、各ユーザ毎の運動能力レベルDB413を生成する。はじめに、走行情報DB412の所定のユーザの走行情報を取得し(ステップS901)、このユーザが走行したルートから運動負荷を検出する(ステップS902)。そして、運動負荷に対する心拍数の値を元にクラスター分析を行う(ステップS903)。クラスター分析結果により、上記の運動能力レベル(ランク)を決定し(ステップS904)、ユーザ毎に決定された運動能力レベル(上、中、下)を運動能力レベルDB413に蓄積記憶する。運動能力レベルは、上記クラスター分析に限らず、ソート(検索)により決定することもできる。
【0069】
(走行情報に基づく位置情報の抽出処理例)
図10~
図15は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。例えば、ユーザの指定情報として、指定運動時間が30分、心拍数130のとき、走行情報DB412から位置情報(緯度経度)を抽出する処理を説明する。
【0070】
はじめに、
図10に示すようにユーザの走行時、端末400は、一定の時間間隔でこのユーザ(ユーザID1)の情報をサーバ300に送信し、サーバ300は、ユーザ1の走行情報として蓄積していく。図示の例では、サーバ300は、5秒毎に心拍数、緯度経度を記憶していく。
【0071】
つぎに、
図11に示すように、サーバ300は、記憶された時間間隔が大きく変わる箇所(図中a,b)を検出する。例えば、端末400は、ユーザが所定の運動を行うことで生じる心拍数が所定の閾値以上のときや、ユーザの運動を加速度センサで閾値以上の加速度を検出している期間中は、5秒毎に心拍数、緯度経度をサーバ300に送信するが、心拍数や加速度が閾値未満のときには、送信しない。この場合、図中a,bの箇所のように時間間隔が空く。
【0072】
この場合、
図12に示すように、サーバ300は、ユーザ毎の時間間隔が一つにまとまっている時間区間をそれぞれ一つの走行履歴A,Bと判断する。図示の例では走行履歴A,Bはそれぞれ5分間隔のデータのまとまりからなる。そして、
図13に示すように、サーバ300は、各走行履歴A,Bの全体時間を求め、走行履歴Aは30分、走行履歴Bは15分であることを求める。そして、サーバ300は、指定運動時間「30分」に近いデータとして走行履歴Aであることを判断する。例えば、指定運動時間±5分を閾値とした時間範囲内(25分~35分)に走行履歴Aの全体時間が収まっていれば指定運動時間「30分」に近いデータと判断する。
【0073】
つぎに、
図14に示すように、サーバ300は、走行履歴Aの「30分」間走行時の心拍数の平均を求める。そして、サーバ300は、走行履歴Aの心拍数(平均心拍数)A1が指定情報の心拍数「130」に近いか判断する。例えば、指定情報の心拍数±10を閾値とした心拍数範囲内(120~140)に走行履歴Aの心拍数が収まっていれば指定情報の心拍数「130」に近いデータと判断する。
【0074】
なお、
図13および
図14の判断の結果、走行履歴Aが指定情報の指定運動時間および心拍数のいずれかと異なる場合(閾値範囲外)には、この走行履歴Aを用いない。
【0075】
そして、サーバ300は、
図15に示すように、心拍数が130と判断された走行履歴Aについて、ユーザの走行履歴Aの走行時の位置(緯度経度)A2を取得し、道路情報DB414の道路リンクを抽出する。この後、サーバ300は、走行履歴Aのルートを作成し、運動負荷計算を行う。
【0076】
(運動負荷算出処理例)
サーバ300は、運動負荷算出について、平坦の距離には重みをつけないが、上り(坂)の距離には距離を増大させる重みづけをする。また、下りの距離には、距離を減少させる重みづけをする。
【0077】
図16は、実施例にかかる運動負荷算出処理例を説明する図表である。
図16に示すように、道路の勾配が大きいほど、距離に対して上りと下りでそれぞれ重みづけを重くする。
図16に示す重みづけは、勾配に応じた値を適宜設定できる。また、ユーザの運動内容(ランニング、サイクリング)別に重みづけの値を変更してもよい。例えば、サイクリングの場合には、重みづけの値をランニングの場合に比べて大きな値にしてもよい。そして、サーバ300は、ルート中の上りの区間の勾配が上り3°、下りの区間の勾配が下り3°のとき、運動負荷=(平坦の距離)×1.0+(上りの距離)×1.2+(下りの距離)×0.8の算出式を用いて求める。
【0078】
具体的には、あるユーザと同じ運動能力レベルのユーザが、平均心拍数130で30分運動したときの道路情報が、「距離5kmのうち、上り区間が2km、下り区間が1km、平坦区間が2km」である場合、サーバ300は、運動負荷として、2×1.0+2×1.2+1×0.8=5.2という値を算出する。
【0079】
上記の例では距離と勾配に基づいて運動負荷を算出した例について説明したが、必ずしもこの算出方法に限定されない。例えば、走行履歴Aのルートの距離の値をそのまま運動負荷として用いてもよい。この場合勾配の情報による重みづけを行わない。
【0080】
(運動負荷に基づくルート作成処理例1)
図17は、実施例にかかる運動負荷に基づくルート作成処理例を説明する図である。サーバ300は、
図17に示すように、ユーザが指定する出発地(地点A)から目的地(地点B)までの複数のルートを算出する。
【0081】
サーバ300は、
図16を用いて説明した運動負荷を所定の算出式を用いて求め、求めた運動負荷に最も近いルート、例えば
図17に示すルート1~3が有する運動負荷のなかから最も近いルートを走行ルートとして決定し、ユーザに提示する。これに限らず、それぞれのルート1~3の情報(運動負荷を含め)をユーザに提示し、ユーザによる選択を受け付ける構成としてもよい。
【0082】
(運動負荷に基づくルート作成処理例2)
図18は、実施例にかかる運動負荷に基づくルート作成処理例を説明する図である。
図18の例は、ランニング時に出発地と目的地が同じ周回ルートの例である。このような周回ルートについても、サーバ300は、
図16を用いて説明した運動負荷を所定の算出式を用いて求め、求めた運動負荷に最も近いルート、例えば
図18に示すルート1~3が有する運動負荷のなかから最も近いルートを走行ルートとして決定し、ユーザに提示する。
【0083】
上記説明において、運動負荷が近いルートが複数ある場合、サーバ300は、例えば、1.交通量の少ないルートを推奨ルートとして決定してもよい。これにより、安全で健康的に走行できる。また、2.運動能力レベルが同じ他のユーザが走行している実績があればそのルートを推奨ルートとして提示することもできる。これにより、他のユーザが実際に走行した実績があるルートを走行できる。また、3.走行している履歴が多いルートを推奨ルートとして提示する。これにより、多くの走行実績があるルートを走行できる。
【0084】
尚、推奨ルートが更に複数存在する場合は、少なくともいずれか一つのルートを推奨ルートとして提示することとしてもよい。複数推奨ルートがある場合は、ユーザが任意で一つのルートを選択可能にする構成を設けてもよいし、複数の推奨ルートを同時に表示する構成を設けてもよい。
【0085】
以上の処理により、作成されたルートは、ユーザの指定情報に合ったものとなる。そして、ユーザの心拍数と他のユーザの心拍数を統計的に用いるので、ユーザが新たに走行するときに最適な運動負荷が行えるように、ルートを提案できる。この際、データベース化された他のユーザの(同一ユーザを含む)統計をもとに、ユーザの運動能力レベルにあった運動負荷を提示できる。例えば、初級者(運動能力レベル「下」)のユーザには、道路の傾斜を避けたルートを提示できる。
【0086】
また、ユーザ毎の心拍数や以前に走行したルートをサーバに保存しておくため、ユーザは過去の運動能力レベルやルートと、現在の運動能力レベルやルートを端末からサーバに通信接続して取得することで、時間経過毎の運動能力レベルやルートの変化を比較することもできる。さらには、ユーザは自身の運動能力レベルやルートを取得するに限らず、他のユーザの情報を運動能力レベルやルートを取得することで、他のユーザの運動能力レベルやルートを選択することもできる。
【0087】
そして、実施例によれば、他のユーザの走行履歴を用いてルートを提示するため、走行履歴がないユーザであってもユーザの指定情報に合ったルートを提示できるようになる。例えば、走行履歴がないユーザの場合、ユーザがどの運動能力レベルを有しているか分からず、指定情報(指定運動時間30分、指定の心拍数130)で運動(ランニング)したいとする。この際、ユーザは、指定する出発地点から到着地点までどれくらいの距離で走行すればよいのか判らない。指定運動時間30分、心拍数130だけでは、アスリート(運動能力レベル「上」は10km、一般「中」は5km、体力のない人「下」は3km、とそれぞれ異なる距離となる。この点、実施例では、ユーザと同じ運動能力レベル(例えば、一般「中」)を有する他のユーザが、ユーザの指定情報に相当する過去に走行したルートを参照し、5km走ったことを特定でき、一般ユーザは5km走ればいいことを提示できる。
【0088】
また、上記の実施例では、ユーザの端末側からサーバに指定情報(出発地と目的地等)を送信するが、指定情報として、さらに走行距離や運動負荷などを追加してもよく、よりユーザの指定情報に合ったルートを提示できるようになる。
【0089】
また、ユーザの端末側からサーバに指定情報としてユーザIDを送り、サーバは、ユーザIDに基づき運動能力(運動能力レベル)を求めるが、ユーザは、さらに送信時の体温や心拍数を追加してもよく、より現在のユーザの体力(運動能力)に合ったルートを提示できるようになる。
【0090】
また、ユーザの端末側からサーバに指定情報として、日時、位置情報、心拍数を送信する例を説明したが、指定情報として、端末は、さらに、速度、距離、気温、天気などの環境情報を追加して送信してもよく、より現在の環境に合ったルートを提示できるようになる。
【0091】
また、サーバは、ユーザ1の運動能力レベルと同じユーザを抽出する場合、ユーザはユーザ1のデータを利用することで自分の過去の走行履歴を参照してもよい。
【0092】
また、上述した説明では、ユーザが運動としてランニングする例を説明したが、これに限らず、サイクリング等他の運動にも適用でき、同様にルートを提示できる。
【0093】
なお、本実施の形態で説明したルート作成方法、地図作成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。