【実施例】
【0025】
以下、図面を参照して本発明の好適な第1及び第2実施例について説明する。
【0026】
<第1実施例>
(1)
システム構成
図1は、第1実施例に係る走行状態管理システムの概略構成である。走行状態管理システムは、複数人が自転車により走行した経路での各自転車の走行状態を管理してランキングとして表示する。走行状態管理システムは、主に、各自転車に取り付けられるサイクルコンピュータ1と、各サイクルコンピュータ1とネットワークを介してデータ通信が可能なサーバ装置8と、サーバ装置8からランキングに関する情報を受信する端末装置9とを有する。
【0027】
サイクルコンピュータ1は、走行する経路(「走行経路」とも呼ぶ。)の設定を受け付け、設定した走行経路上で取得される各種センサの出力データを走行情報「St」としてサーバ装置8へ送信する。この場合、サイクルコンピュータ1は、走行情報Stを経路の走行中に繰り返し送信してもよく、上述の出力データに時刻情報(タイムスタンプ)を付して記憶し、走行後に走行情報Stとして一括送信してもよい。また、第1実施例では、サイクルコンピュータ1は、経路上の各地点において、走行速度によらない(即ち停止していると仮定した場合の)絶対的な風速の進行方向成分(「絶対風速」とも呼ぶ。)を算出し、絶対風速の算出地点の位置情報と共に走行情報Stに含める。また、走行情報Stには、サイクルコンピュータ1のユーザを識別するためのユーザIDなどが含まれている。なお、サイクルコンピュータ1は、走行経路を登録するための情報を、走行経路の走行前に予めサーバ装置8へ送信してもよい。
【0028】
サーバ装置8は、走行情報Stを各サイクルコンピュータ1から受信することで、各サイクルコンピュータ1が設置された自転車の運転者(単に「ユーザ」とも呼ぶ。)の走行経路上での走行状態を一元的に管理する。具体的には、サーバ装置8は、ユーザごとの走行状態に関する情報であるユーザ別走行情報DB80を記憶し、サイクルコンピュータ1から走行情報Stを受信することで、ユーザ別走行情報DB80を更新する。また、サーバ装置8は、端末装置9から所定の要求信号を受信した場合に、当該要求信号において指定された経路(「対象経路Rtag」とも呼ぶ。)を走行した各ユーザの移動時間等に基づくランキング情報「Sr」を生成し、端末装置9へ送信する。サーバ装置8は、本発明における「情報処理装置」の一例である。
【0029】
端末装置9は、ユーザが使用するスマートフォンなどの携帯端末又はパーソナルコンピュータ等であり、対象経路Rtagを指定した所定の要求信号をサーバ装置8へ送信することで、指定した対象経路Rtagに関するランキング情報Srをサーバ装置8から受信する。そして、端末装置9は、受信したランキング情報Srに基づき、対象経路Rtagを走行した複数のユーザを対象としたランキング表を表示する。端末装置9は、本発明における「表示端末」の一例である。
【0030】
(2)
サイクルコンピュータの構成
図2(a)、(b)は、サイクルコンピュータ1が自転車に取り付けられている様子を表す外観図である。
図2に示すように、サイクルコンピュータ1は、所定の情報を表示する表示部2と、ボタン31などの操作によって所定の情報を入力させる入力部3とを含む。ここで、サイクルコンピュータ1は、取付部10により自転車のハンドルB1に取り付けられている。
【0031】
図3は、サイクルコンピュータ1のブロック図である。
図3に示すように、サイクルコンピュータ1は、上述した表示部2及び入力部3に加えて、記憶部4と、センサ群5と、通信部6と、制御部7とを有する。これらの各要素は、バスラインを介して相互に接続されている。
【0032】
記憶部4は、制御部7が実行するプログラム及び当該プログラムに基づき制御部7が実行する処理に必要な情報を記憶する。例えば、記憶部4は、経路探索などを行うための道路データなどを含んだ地図データ41を記憶する。また、記憶部4は、制御部7の制御に基づき、制御部7が算出した絶対風速、空気抵抗及びセンサ群5が出力する出力データを、時刻情報と関連付けて記憶する。
【0033】
センサ群5は、所定の情報を測定し、測定したデータを制御部7へ供給する。センサ群5は、ペダリングセンサ51と、GPS受信部52と、速度センサ53と、傾斜センサ54と、温度センサ55と、ブレーキセンサ56とを含む。ペダリングセンサ51は、運転者がペダルを漕ぐことにより発生させる漕力のする仕事の仕事率(「ペダリングパワーPp」とも呼ぶ。)を測定する。GPS受信部52は、衛星等による所定の測位システムに組み込まれることで、時刻情報と共に自転車の現在の位置情報を生成する。速度センサ53は、自転車の絶対的な速度「V」を測定する。傾斜センサ54は、自転車の水平線に対する勾配「θ」を検出する。温度センサ55は、自転車の周りの気温を測定する。その他、センサ群5は、湿度センサ、気圧センサ、運転者の心拍数を計測するセンサなどの種々のセンサをさらに備えてもよい。
【0034】
通信部6は、制御部7の制御に基づき、サーバ装置8に対して走行情報Stを送信する。また、通信部6は、サーバ装置8から送信されるランキング情報Srを受信して制御部7へ供給する。
【0035】
制御部7は、図示しないCPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)などを備え、サイクルコンピュータ1内の各構成要素に対して種々の制御を行う。
【0036】
第1実施例では、制御部7は、入力部3への入力に基づき走行経路を設定し、設定した走行経路の走行中において、センサ群5の出力に基づき絶対風速及び空気抵抗等を算出し、算出時にGPS受信部52が出力した位置情報と関連付けて記憶部4に記憶させる。そして、制御部7は、記憶部に記憶させた絶対風速、空気抵抗及び位置情報を、走行経路の走行中に得られたセンサ群5の種々の出力データと共に、走行情報Stとして通信部6によりサーバ装置8へ送信する。
【0037】
(3)
サーバ装置及び端末装置の構成
図4は、サーバ装置8の機能的な構成を示すブロック図である。
図4に示すように、サーバ装置8は、記憶部13と、通信部14と、制御部15とを有する。これらの各要素は、バスラインを介して相互に接続されている。
【0038】
記憶部13は、制御部15が実行するプログラム及び当該プログラムに基づき制御部15が実行する処理に必要な情報を記憶する。また、記憶部13は、ユーザ別走行情報DB80と、道路に関する情報を含む地図データ81とを記憶する。
【0039】
ユーザ別走行情報DB80は、走行情報Stに基づき更新されるユーザごとの走行状態に関するデータベースである。ユーザ別走行情報DB80には、各ユーザを識別するユーザIDごとに、設定された走行経路の出発地及び目的地を含む情報と、各走行経路での走行状態を表すデータとが記録されている。上述の走行状態を表すデータとして、例えば、ユーザ別走行情報DB80には、ペダリングパワーPp、速度V、及び位置情報などを含むサイクルコンピュータ1のセンサ群5の出力データと、絶対風速と、空気抵抗と、時刻情報等とが関連付けられている。
【0040】
通信部14は、複数のサイクルコンピュータ1から送信される走行情報Stを受信する。また、通信部14は、制御部15の制御に基づき、ランキング情報Srを端末装置9へ送信する。
【0041】
制御部15は、図示しないCPU、ROM及びRAMなどを備え、サーバ装置8内の各構成要素に対して種々の制御を行う。例えば、制御部15は、走行情報Stを通信部14により受信した場合に、走行情報Stに基づきユーザ別走行情報DB80を更新する。また、制御部15は、端末装置9からランキング情報Srの要求信号を通信部14により受信した場合に、当該要求信号により指定された対象経路Rtagが走行経路として登録されたユーザの対象経路Rtagでの走行情報をユーザ別走行情報DB80から抽出し、ランキング情報Srを生成する。この場合、後述するように、制御部15は、ユーザごとに、対象経路Rtag上で受けた絶対風速のレベル、及び、集団を先導した貢献度を示す指標(「リードアウト指標」とも呼ぶ。)等を算出する。制御部15は、本発明における「取得手段」、「算出手段」及びプログラムを実行するコンピュータの一例である。
【0042】
図5は、端末装置9のブロック図である。
図5に示すように、端末装置9は、表示部16と、入力部17と、記憶部18と、通信部19と、制御部20とを有する。これらの各要素は、バスラインを介して相互に接続されている。
【0043】
表示部16は、制御部20の制御に基づき所定の表示を行う。入力部17は、ランキング情報Srの要求信号をサーバ装置8へ送信するために必要な入力等を受け付け、生成した入力データを制御部20へ供給する。記憶部18は、制御部20が実行するプログラム及び当該プログラムに基づき制御部20が実行する処理に必要な情報を記憶する。通信部19は、制御部20の制御に基づきランキング情報Srの要求信号の送信及びランキング情報Srの受信などを行う。制御部20は、図示しないCPU、ROM及びRAMなどを備え、端末装置9内の各構成要素に対して種々の制御を行う。例えば、制御部20は、ランキングを表示する対象となる対象経路Rtagを指定する入力データ等を入力部17から受信した場合に、ランキング情報Srの要求信号を通信部19によりサーバ装置8へ送信する。また、制御部20は、サーバ装置8からランキング情報Srを通信部19が受信した場合に、ランキング情報Srに基づくランキング表を表示部16に表示させる。
【0044】
(4)
空気抵抗及び絶対風速の算出
次に、サイクルコンピュータ1の制御部7が実行する空気抵抗及び絶対風速の算出方法について具体的に説明する。以後では、自転車の移動パワー(即ち位置エネルギーの変化量、若しくは重力に逆らってした仕事の仕事率)を「移動パワーPm」と呼び、転がり抵抗のする仕事の仕事率を「転がり抵抗Pr」と呼び、自転車の機械的な駆動ロスのする仕事の仕事率を「駆動ロスPdls」と呼び、空気抵抗のする仕事の仕事率を「空気抵抗Pa」とも呼ぶ。
【0045】
この場合、ペダリングパワーPpは、以下の式(1)に示すように、自転車にかかる抗力の仕事率の和、即ち、移動パワーPmと、転がり抵抗Prと、駆動ロスPdlsと、空気抵抗Paとの和に等しい。
【0046】
【数1】
そして、式(1)を空気抵抗Paについて変形すると、以下の式(2)が得られる。
【0047】
【数2】
また、移動パワーPmは、運転者の重量「mb」、自転車の重量「mc」、重力加速度「g」(≒9,81[m/s
2])、勾配θ及び速度Vを用いて、以下の式(3)により表される。
【0048】
【数3】
また、転がり抵抗Prは、転がり抵抗係数「Crr」、重量mb、mc、重力加速度g及び速度Vを用いて以下の一般式(4)により表される。
【0049】
【数4】
また、本実施例では、駆動ロスPdlsは他の要素に比べて無視できる程度に小さいため「0」とみなす。よって、式(2)に式(3)及び式(4)を代入し、駆動ロスPdlsを「0」とすると、空気抵抗Paは、以下の式(5)により表される。
【0050】
【数5】
よって、制御部7は、式(5)に相当する情報を予め記憶部4等に記憶しておくことで、空気抵抗Paを好適に算出することができる。この場合、制御部7は、ペダリングセンサ51が出力するペダリングパワーPpと、速度センサ53が出力する速度Vと、傾斜センサ54が出力する勾配θと、ユーザ入力等に基づき記憶部4に予め記憶された係数Crr、重量mb、mcとを用いて、式(5)から空気抵抗Paを算出する。なお、制御部7は、重量mb、mcを、運転者の携帯端末から通信部6を介してデータ通信により取得してもよく、入力部3によるユーザ入力を受け付けることで取得してもよい。また、制御部7は、勾配情報が地図データ41に記憶されている場合には、現在位置に基づき地図データ41を参照することで勾配θを取得してもよい。また、制御部7は、駆動ロスPdlsを0とみなすかわりに、駆動ロスPdlsを予め定めた所定値に設定してもよく、センサ群5の出力に基づき駆動ロスPdlsを算出してもよい。
【0051】
また、空気抵抗Paは、空気抵抗係数「Cd」、移動体(即ち運転者及び自転車)が地面と垂直な鉛直面に投影される面積である前面投影面積「A」、自転車に対する相対的な風速「V
all」及び大気密度「ρ」を用いて、以下の式(6)により表される。
【0052】
【数6】
図6は、前面投影面積Aを概略的に示した図である。前面投影面積Aは、予め記憶部4に記憶された値であってもよく、国際公開番号WO2011/158365の記載に従い運転者の身長及び自転車の種類情報等に基づき算出された値であってもよい。また、相対風速V
allは、以下の式(7)に示すように、絶対的な風速である絶対風速「V
wind」と、自転車の速度Vとの和に相当する。
【0053】
【数7】
ここで、空気抵抗Paを表す式(6)に式(7)を代入して絶対風速V
windについて整理すると、絶対風速V
windは以下の式(8)により表される。
【0054】
【数8】
従って、制御部7は、式(8)に相当する情報を予め記憶部4等に記憶しておくことで、式(5)に基づき算出した空気抵抗Paを用いて、絶対風速V
windを好適に算出することができる。この場合、制御部7は、速度センサ53が出力する速度Vと、記憶部4等に予め記憶させた空気抵抗係数Cd及び大気密度ρと、上述した前面投影面積Aとを用いて、式(8)から絶対風速V
windを算出する。なお、制御部7は、式(5)に基づき空気抵抗Paを算出し、その算出結果を用いて式(8)から絶対風速V
windを算出する代わりに、式(8)の空気抵抗Paに式(5)が代入された式を参照することで、絶対風速V
windを算出してもよい。
【0055】
なお、一般的に、地上気象観測における「風速」とは、地上約10mの高さにおける10分間の風速を示し、「瞬間風速」とは、0.25秒ごとのサンプルにおける3秒間の平均の風速を示す。よって、制御部7は、上述の定義に即した瞬間風速及び風速を算出してもよい。この場合、制御部7は、式(8)に基づき0.25秒ごとに算出した絶対風速V
windの3秒間の平均値を瞬間風速として推定し、瞬間風速の10分間の平均値を風速として推定する。なお、制御部7は、処理負荷の低減のため、式(8)に基づき3秒ごとに算出した絶対風速V
windを瞬間風速であると推定してもよい。また、好適には、制御部7は、自転車のブレーキ中では、風による抵抗と、ブレーキによる抵抗との区別がつかなくなることを勘案し、ブレーキセンサ56の出力等に基づき自転車のブレーキがオンであると判断した場合には、絶対風速V
windの算出処理を行わないとよい。また、ほぼ同位置・時刻に複数の進行方向成分の絶対風速が得られた場合には、ベクトル法等を用いてその位置の風向や風速を推定しても良い。
【0056】
(5)
ランキング表の表示処理
次に、第1実施例において端末装置9に表示させるランキング表の表示例及びランキング表を表示させるのに必要なランキング情報Srの生成処理について具体的に説明する。概略的には、サーバ装置8は、対象経路Rtagの移動時間に基づく第1スコアと、対象経路Rtagにおける絶対風速に基づく第2スコアとをそれぞれ算出し、これらを合計したスコア(「走行環境考慮スコア」とも呼ぶ。)に基づきランキング表におけるユーザの順位を決定する。これにより、サーバ装置8は、各ユーザが受けた風の影響を好適に勘案したランキングを表示する。
【0057】
ここで、第1スコアは、移動時間が短いほど高い値に設定され、第2スコアは、自転車の移動を妨げる風であるほど高い値に設定される。第1スコアは、例えば、対象経路Rtagにおける全ユーザの移動時間を考慮した相対的な値(例えば偏差値や平均値からの差分に基づく値等)であってもよく、対象の移動時間のみから算出される絶対的な値であってもよい。第2スコアは、対象経路Rtagの各地点で算出された絶対風速の平均等に基づき算出されるスコアであって、例えば追い風の場合が正の値、向かい風の場合が負の値となるように設定される。第1スコア及び第2スコアを算出するための式又はマップは、サーバ装置8の記憶部13等に予め記憶されている。第1スコア及び第2スコアは、それぞれ、本発明における「第1指標」及び「第2指標」の一例である。また、走行環境考慮スコアは、本発明における「合計値」の一例である。
【0058】
図7は、対象経路Rtagを走行した複数のユーザの対象経路Rtagでの走行状態に基づくランキング表である。端末装置9は、
図7に示すランキング表を、サーバ装置8から受信したランキング情報Srに基づき表示する。
【0059】
図7に示すランキング表は、「ランク」、「氏名」、「日付」、「スピード」、「心拍数」、「パワー」、「平均上昇速度」、「タイム」、「空気抵抗」、「風レベル」、「スコア」、「Lead out」の各項目を含む。この場合、サーバ装置8は、ランキング情報Srの要求信号において指定された対象経路Rtagに関する走行情報をユーザ別走行情報DB80から抽出し、抽出した情報に基づき所定の計算を行うことで、上述の各項目の値を決定している。ここでは、対象経路Rtagを走行したユーザの一人である「F」が端末装置9を利用してランキング表を表示させており、この場合、サーバ装置8は、ログイン認証等に基づき端末装置9のユーザが「F」であることを認識し、「F」に相当する行を強調表示している。
【0060】
「ランク」は、対象経路Rtagを走行した各ユーザに対する順位を示す。サーバ装置8は、上述の順位を、後述する「スコア」が示す走行環境考慮スコアが高いほど上位になるように設定する。「氏名」は、ユーザ別走行情報DB80等に登録されている各ユーザの識別情報(ユーザID)を示し、「日付」は、ユーザ別走行情報DB80に登録された時刻情報に基づき特定された対象経路Rtagの走行日を示す。「心拍数」は、対象経路Rtagの走行中にセンサ群5により計測されたユーザの心拍数の平均等を示し、「パワー」は、対象経路Rtagの走行中にペダリングセンサ51により計測されたペダリングパワーPpの平均等を示し、「平均上昇速度」は、対象経路Rtagの走行中における登りの速度に関する直接的な指標である平均上昇速度(VAM)を示す。サーバ装置8は、上述の心拍数等の値を、ユーザ別走行情報DB80から抽出したユーザごとの走行情報に基づきユーザごとに算出する。
【0061】
「タイム」は、対象経路Rtagの走行に要した移動時間を示し、例えば、サーバ装置8は、ユーザ別走行情報DB80に登録された対象経路Rtagの出発地での時刻と対象経路Rtagの到着時での時刻とに基づき上述の移動時間を算出する。なお、上述の移動時間は、サイクルコンピュータ1により算出されてもよい。この場合、サーバ装置8は、サイクルコンピュータ1が算出した対象経路Rtagの移動時間を含む走行情報Stを、サイクルコンピュータ1から受信する。
【0062】
「空気抵抗」は、対象経路Rtagの走行中にサイクルコンピュータ1が算出した空気抵抗Paの平均等を示す。このように、「空気抵抗」の項目を設けてユーザに提示することで、ユーザは、例えば、空気抵抗が小さくなるように前面投影面積Aを意識したフォームや機材(例えばバイクやウェア)の変更の要否等を好適に検討することができる。
【0063】
「風レベル」は、対象経路Rtagの走行中にサイクルコンピュータ1が算出した絶対風速(詳しくは絶対風速の平均値等)に基づく指標である。この例では、サーバ装置8は、対象経路Rtagでの絶対風速が向かい風5m以上である場合の風レベルを「+2」、向かい風0m〜5mである場合の風レベルを「+1」、追い風0m〜5mである場合の風レベルを「−1」、追い風5m以上である場合の風レベルを「−2」に設定している。このように、サーバ装置8は、風レベルを、自転車の移動を妨げる風であるほど高い値に設定している。その結果、風レベルは、向かい風が強い日時に走行したユーザ、及び、集団の先頭を引いて走行した(即ち空気抵抗を積極的に受けた)ユーザに対して高い値が設定される。
【0064】
「スコア」には、各ユーザの走行環境考慮スコアが設定される。サーバ装置8は、「スコア」に設定する走行環境考慮スコアを、「タイム」が示す移動時間から算出した第1スコアと、「風レベル」が示す風レベルから算出した第2スコアとの合算値として算出している。
図6の例では、一例として、サーバ装置8は、「タイム」が示す移動時間が1時間20分19秒であるときの第1スコアを「50」とし、1時間20分19秒より遅い秒数だけ50から減算した値を各ユーザの第1スコアとして算出している。また、サーバ装置8は、風レベルを第2スコアとみなし、第1スコアと第2スコアとの合算値を「スコア」に設定している。その結果、「スコア」が示す走行環境考慮スコアは、「タイム」が示す移動時間が短いほど高くなり、かつ、「風レベル」が示す風レベルが高いほど高くなる。
【0065】
「Lead out」には、集団を先導した貢献度を示すリードアウト指標が設定される。ここで、サーバ装置8は、集団が形成された時刻及び集団を形成したユーザを、ユーザ別走行情報DB80から抽出した各ユーザの時系列での位置情報及び時刻情報等に基づき認識する。さらに、サーバ装置8は、集団を形成したユーザの各ペダリングパワーPpを参照し、ペダリングパワーPpが最も高いユーザを、当該集団における先頭のユーザであると認識する。そして、サーバ装置8は、上述の認識結果に基づき、対象経路Rtagを走行したユーザごとに、集団の先頭に位置した時間(「リードアウト時間」とも呼ぶ。)を集計し、リードアウト時間が長いほど、リードアウト指標を高く設定する。ここでは、一例として、リードアウト指標は、「−2」から「2」までの5段階に設定されている。
【0066】
好適には、サーバ装置8は、集団の先頭に位置したときに受けた風の抵抗が大きいほど、リードアウト指標を高く設定してもよい。この場合、例えば、サーバ装置8は、集団の先頭に位置したときの絶対風速の平均に対応する風レベルを判定し、判定した風レベルが高いほどリードアウト指標を高く設定する。
【0067】
このように、サーバ装置8は、ランキング表にリードアウト指標に相当する項目を設けることで、集団を先導したユーザごとの貢献度を好適に端末装置9の利用者に把握させることができる。
【0068】
図8(a)は、端末装置9の利用者が項目「Lead out」に基づくランキング表の並び替えの指示を端末装置9に入力した場合のランキング表を示す。
【0069】
この場合、端末装置9から所定の要求信号を受信したサーバ装置8は、
図7に示すランキング表を「Lead out」が示すリードアウト指標が高いほど「ランク」が示す順位が上位になるように更新し、更新したランキング表の表示情報を端末装置9へ送信する。この場合、端末装置9は、
図8(a)に示すように、「Lead out」が示すリードアウト指標が高いユーザほど上位に表示されるようにランキング表を表示している。この態様によれば、端末装置9の利用者は、集団を先導した貢献度に基づくランキングを把握することができる。
【0070】
図8(b)は、端末装置9の利用者が所定の風レベルとなるユーザのみを抽出したランキング表の表示指示を端末装置9に入力した場合のランキング表を示す。
図8(b)の例では、端末装置9の利用者は、風レベル「+2」を指定した結果、端末装置9は、風レベルが「+2」であった4人のユーザを対象としたランキング表を表示している。このように、端末装置9のユーザは、任意の風レベルを指定してランキング表を端末装置9に表示させることも可能である。
【0071】
以上説明したように、第1実施例に係るサーバ装置8は、サイクルコンピュータ1から受信する走行情報Stにより更新されるユーザ別走行情報DB80を記憶し、ユーザ別走行情報DB80を参照することで、複数のユーザが移動する対象経路Rtagにおけるユーザごとの移動時間の情報と、対象経路Rtag上においてユーザの各々が受ける絶対風速の情報とを取得する。そして、サーバ装置8は、取得した移動時間の情報と、絶対風速の情報とに基づき、走行環境考慮スコアを算出することで、各ユーザの順位を算出し、端末装置9に表示させるランキング表に反映させる。これにより、サーバ装置8は、風の抵抗による影響を好適に反映したランキングを、端末装置9の利用者に提示することができる。
【0072】
<第2実施例>
第2実施例では、サーバ装置8は、絶対風速に基づく走行環境考慮スコアを算出する代わりに、絶対風速が0であったと仮定した場合の対象経路Rtagの各ユーザの移動時間(「絶対移動時間」とも呼ぶ。)を算出し、絶対移動時間に基づきランキング表における各ユーザの順位を決定する。以後では、第1実施例と同様の構成要素について同一の符合を付し、それらの説明については適宜省略する。
【0073】
まず、絶対風速が0であったと仮定した場合の自転車の速度(「風キャンセル速度」とも呼ぶ。)の算出方法について説明する。風キャンセル速度は、絶対移動時間の算出に用いられる。
【0074】
式(7)に基づき、絶対風速V
windが0であると仮定した場合には「V
all=V」が成立するため、この関係を空気抵抗Paに関する式(6)に適用すると、以下の式(9)が得られる。
【0075】
【数9】
また、ペダリングパワーPpと自転車にかかる抗力の仕事率の和との関係を示す式(1)に基づき得られた式(5)の右辺と、上述の式(9)の右辺とは、共に空気抵抗Paを示す。よって、式(5)の右辺と式(9)の右辺とを等式で結び、Vについて整理すると、以下の式(10)に示すように、Vについての3次方程式が得られる。
【0076】
【数10】
式(10)の解は、例えば、カルダノの公式に基づき代数的に求めることができる。この場合、解が最大3つ存在する場合があるが、V>0の条件を加えることで、Vを一意に求めることができる。その他、ニュートン法等に基づく近似解法などの公知の計算手法を用いて式(10)の解を算出することも可能である。また、風キャンセル速度が得られた場合、対象経路Rtagの距離を風キャンセル速度で除算することで、絶対移動時間を算出することが可能である。
【0077】
以上を勘案し、第2実施例では、サイクルコンピュータ1は、絶対風速V
windに代えて、式(10)に基づき風キャンセル速度を算出し、算出した風キャンセル速度を走行情報Stに含めてサーバ装置8へ送信する。この場合、サーバ装置8は、走行情報Stに含まれる走行経路の各地点での風キャンセル速度をユーザ別走行情報DB80に登録する。この場合、例えば、サーバ装置8は、ランキング情報Srの生成時などに、ユーザ別走行情報DB80を参照して対象経路Rtagにおけるユーザごとの風キャンセル速度の平均等を算出する。そして、サーバ装置8は、地図データ81等から対象経路Rtagの距離を抽出し、算出した風キャンセル速度の平均等により除算することで、絶対移動時間を算出する。
【0078】
図9は、第2実施例において端末装置9が表示するランキング表の一例である。
図9に示すランキング表には、
図7等で説明した「ランク」、「氏名」、「日付」、「スピード」、「心拍数」、「パワー」、「平均上昇速度」、及び「タイム」に加えて、絶対移動時間を示す「風キャンセルタイム」の項目が存在する。そして、
図9の例では、「風キャンセルタイム」が示す絶対移動時間が短いユーザほど、「ランク」が示す順位が上位になるように並べられている。このように、第2実施例によれば、端末装置9のユーザは、風の影響を好適に反映したランキングを把握することができる。
【0079】
以上説明したように、第2実施例に係るサーバ装置8は、サイクルコンピュータ1から受信する走行情報Stにより更新されるユーザ別走行情報DB80を記憶し、ユーザ別走行情報DB80を参照することで、複数のユーザが移動する対象経路Rtagにおけるユーザごとの絶対移動時間を算出する。そして、サーバ装置8は、絶対移動時間に基づき、各ユーザの順位を算出し、端末装置9に表示させるランキング表に反映させる。これにより、サーバ装置8は、風の抵抗による影響を好適に反映したランキングを端末装置9の利用者に好適に提示することができる。
【0080】
<変形例>
次に、上述の各実施例に好適な変形例について説明する。
【0081】
(変形例1)
第1実施例において、サイクルコンピュータ1が式(8)に基づき絶対風速V
windを算出する代わりに、サーバ装置8が式(8)に基づき絶対風速V
windを算出してもよい。
【0082】
この場合、サイクルコンピュータ1から受信する走行情報Stには式(8)から絶対風速V
windを算出するのに必要な空気抵抗Pa、大気密度ρ、前面投影面積A、速度V等の各情報が含まれ、サーバ装置8は、予め記憶した式(8)と受信した走行情報Stとに基づき絶対風速V
windを算出する。この場合であっても、サーバ装置8は、第1実施例と同様、ユーザごとの走行環境考慮スコアを好適に算出し、ランキング表における各ユーザの順位を決定することができる。
【0083】
同様に、第2実施例において、サイクルコンピュータ1が式(10)に基づき風キャンセル速度を算出する代わりに、サーバ装置8が式(10)に基づき風キャンセル速度を算出してもよい。
【0084】
この場合、例えば、サイクルコンピュータ1から受信する走行情報Stには式(10)から風キャンセル速度を算出するのに必要な勾配θ、前面投影面積A、大気密度ρ、重量mb、mc等の各情報が含まれ、サーバ装置8は、予め記憶した式(10)と受信した走行情報Stとに基づき風キャンセル速度を算出する。この場合であっても、サーバ装置8は、第2実施例と同様、ユーザごとの絶対移動時間を好適に算出し、ランキング表における各ユーザの順位を決定することができる。
【0085】
(変形例2)
第1実施例において、サーバ装置8は、各ユーザが対象経路Rtagを走行したときの天候情報に基づき、走行環境考慮スコアを補正してもよい。
【0086】
例えば、サーバ装置8は、天候情報を管理するサーバ等から各ユーザの走行経路の走行時の天気(晴れ、雨等)又は/及び気温に関する情報を受信してユーザ別走行情報DB80に記憶する。そして、サーバ装置8は、ランキング情報Srの生成時において、ユーザ別走行情報DB80に記憶された対象経路Rtagの走行時の天候情報を抽出し、抽出した天候情報に基づき、第1及び第2スコアの合算値である走行環境考慮スコアを補正する。この場合、サーバ装置8は、例えば、対象経路Rtagの走行時の天候が、劣悪な走行環境となる天気(例えば雨、雪)又は気温(例えば氷点下の温度等)である場合に、走行環境考慮スコアを所定値又は所定率だけ上げる。このようにすることで、サーバ装置8は、走行環境を的確に反映した公平な順位付けを行うことができる。