(57)【要約】【課題】仮想走者の走行モデルの精度を高めることが可能な仮想走者モデル生成装置、仮想走者モデル生成プログラム及び仮想走者モデル生成方法を提供することを目的とする。【解決手段】走行コースに基づき、仮想走者の足が着地すると予測される着地位置を算出する予定コース算出部と、前記走行コースの坂道及びカーブにおいて、前記予測される着地位置と、前記仮想走者の現在の足の着地位置とから得られる角度を用いた補間式により、前記予測される着地位置を補間する補間部と、を有する。【選択図】図３
2015167834.tif 000002
【特許請求の範囲】
【請求項１】
走行コースに基づき、仮想走者の足が着地すると予測される着地位置を算出する予定コース算出部と、
前記走行コースの坂道及びカーブにおいて、前記予測される着地位置と、前記仮想走者の現在の足の着地位置とから得られる角度を用いた補間式により、前記予測される着地位置を補間する補間部と、を有する仮想走者モデル生成装置。
【請求項２】
前記角度は、
前記予測される着地位置と、前記仮想走者の現在の足の着地位置と、前記現在の足の着地位置の１歩前の足の着地位置と、からなり、
前記予定コース算出部は、
前記仮想走者の走行における速度とピッチ時間とが格納された仮想走者データベースを参照し、
前記仮想走者の現在の足の着地位置を中心とし、前記速度と前記ピッチ時間とに基づく距離を半径とする円と、前記走行コースとの交点を、前記予測される着地位置として前記角度を算出する請求項１記載の仮想走者モデル生成装置。
【請求項３】
前記補間式は、前記仮想走者の速度を補間する第一の補間式を含み、
前記第一の補間式は、
前記仮想走者の速度が、前記角度が小さくなるときに遅くなるよう設定される請求項２記載の仮想走者モデル生成装置。
【請求項４】
前記補間部は、
前記仮想走者の現在の足の着地位置を中心とし、前記第一の補間式により補間された速度と前記ピッチ時間とに基づく距離を半径とする円と、前記走行コースとの交点を、前記仮想走者の次の足の着地位置とする請求項３記載の仮想走者モデル生成装置。
【請求項５】
前記補間式は、前記仮想走者のピッチ時間を補間する第二の補間式と、前記第一の補間式により補間された前記仮想走者の速度をさらに補間する第三の補間式と、を含み、
前記第二及び第三の補間式は、
前記ピッチ時間と、前記第一の補間式により補間された前記仮想走者の速度との積と、前記第二の補間式により補間された前記ピッチ時間と、前記第三の補間式により補間された前記速度との積と、
が等しくなるように設定される請求項４記載の仮想走者モデル生成装置。
【請求項６】
前記第二の補間式は、
前記走行コースの傾斜角が大きくなるときに、前記ピッチ時間が短くなるように設定される請求項５記載の仮想走者モデル生成装置。
【請求項７】
前記仮想走者の歩数と、前記補間式により補間された前記仮想走者のピッチ時間及び速度とが対応付けた前記仮想走者の走行モデルを生成する走行モデル生成部を有する請求項１乃至６の何れか一項に記載の仮想走者モデル生成装置。
【請求項８】
走行コースに基づき、仮想走者の足が着地すると予測される着地位置を算出する処理と、
前記走行コースの坂道及びカーブにおいて、前記予測される着地位置と、前記仮想走者の現在の足の着地位置とから得られる角度を用いた補間式により、前記予測される着地位置を補間する処理と、をコンピュータに実行させる仮想走者モデル生成プログラム。
【請求項９】
コンピュータによる仮想走者モデル生成方法であって、該コンピュータが、
走行コースに基づき、仮想走者の足が着地すると予測される着地位置を算出し、
前記走行コースの坂道及びカーブにおいて、前記予測される着地位置と、前記仮想走者の現在の足の着地位置とから得られる角度を用いた補間式により、前記予測される着地位置を補間する、仮想走者モデル生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想走者の走行モデルを生成する仮想走者モデル生成装置、仮想走者モデル生成プログラム及び仮想走者モデル生成方法に関する。
【背景技術】
【０００２】
従来から、ランニング等のトレーニングの手法として、走者に走行のリズムや音を提供するものがある。この手法の１つとして、目標のタイムにあわせたテンポで楽曲を再生し、走者に走行のリズムを提供するものが知られている。また、この手法の１つとして、目標となるリズムから生成した仮想的な並走者の足音を走者に提供するものが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１０４２３５号公報
【特許文献２】特開２００５−２２４３１８号公報
【特許文献３】特開２０１０−２６４３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来の技術は、目標となる走行速度をリズムで表現するものである。このため、例えば従来の技術により仮想的な走者の走行モデルを生成した場合、走行コースに応じた走行速度や走行ピッチの変化が反映されず、臨場感に欠けた精度の低いものとなる可能性がある。
【０００５】
１つの側面では、仮想走者の走行モデルの精度を高めることが可能な仮想走者モデル生成装置、仮想走者モデル生成プログラム及び仮想走者モデル生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
開示の技術は、走行コースに基づき、仮想走者の足が着地すると予測される着地位置を算出する予定コース算出部と、前記走行コースの坂道及びカーブにおいて、前記予測される着地位置と、前記仮想走者の現在の足の着地位置とから得られる角度を用いた補間式により、前記予測される着地位置を補間する補間部と、を有する。
【０００７】
上記各部は、上記各部を実現する処理、上記各処理を手順としてンピュータにより実行させる方法、プログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【０００８】
仮想走者の走行モデルの精度を高めることができる。
【図面の簡単な説明】
【０００９】
【図１】仮想的な走者の走行モデルについて説明する図である。
【図２】第一の実施形態の端末装置１００のハードウェア構成の一例を示す図である。
【図３】第一の実施形態の端末装置の機能構成を説明する図である。
【図４】第一の実施形態の端末装置の動作を説明するフローチャートである。
【図５】走行コースのカーブを走行モデルに反映させる式の導出について説明する第一の図である。
【図６】走行コースのカーブを走行モデルに反映させる式の導出について説明する第二の図である。
【図７】走行コースのカーブを走行モデルに反映させる式の導出について説明する第三の図である。
【図８】走行コースの傾斜を走行モデルに反映させる式の導出について説明する図である。
【図９】補間式（１）〜（３）の導出を説明する図である。
【図１０】第一の実施形態の走行モデルの一例を示す図である。
【図１１】第二の実施形態の端末装置の機能構成を説明する図である。
【図１２】第二の実施形態の端末装置の動作を説明するフローチャートである。
【図１３】第三の実施形態の端末装置の機能構成を説明する図である。
【図１４】第三の実施形態の端末装置の動作を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
（第一の実施形態）
以下に図面を参照して実施形態について説明する。図１は、仮想的な走者の走行モデルについて説明する図である。
【００１１】
本実施形態の端末装置１００は、走者１が走行する走行コースを仮想的な走者（以下、仮想走者）２が走行した際の走行モデルを生成する。本実施形態の走行モデルとは、走行コースを仮想走者２が走行した際の、走行コースにおける仮想走者２の足の着地位置を含むデータである。走行モデルの詳細は後述する。
【００１２】
本実施形態の端末装置１００は、生成した走行モデルに基づき、仮想走者２の足音を表現するパターンデータを出力装置２００に出力する。本実施形態の出力装置２００は、走者１に装着されるものであり、走行コースを走行する仮想走者２の足音を表現するデータを、例えば音声データとして出力する。
【００１３】
したがって走者１は、出力装置２００を介して自身が走行している走行コースを走行する仮想走者２の足音を聞くことができる。
【００１４】
本実施形態の端末装置１００は、身につけて持ち歩くことができる情報端末であり、例えばスマートフォン等の携帯端末であっても良いし、腕時計型や眼鏡型のウェアラブル機器であっても良い。また、本実施形態の出力装置２００は、例えばイヤホン等であり、端末装置１００から出力されるパターンデータを刺激として走者１に伝達できるものであれば良い。
【００１５】
本実施形態では、走者１が走行コースを走行する際に、カーブや坂道等において速度やピッチが変化する点に着目し、この変化を仮想走者２に走行モデルに反映させることで走行モデルの精度を高める。本実施形態では、仮想走者２の走行モデルの精度を高めることで、あたかも走者１の近傍を仮想走者２が走行しているかのような臨場感を走者１に提供することができる。
【００１６】
以下に本実施形態の端末装置１００について説明する。図２は、第一の実施形態の端末装置１００のハードウェア構成の一例を示す図である。
【００１７】
本実施形態の端末装置１００は、それぞれバスＢで相互に接続されている表示操作装置１１、出力装置１２、ドライブ装置１３、補助記憶装置１４、メモリ装置１５、演算処理装置１６、インターフェース装置１７、センサ装置１８を有する。
【００１８】
表示操作装置２１は、例えばタッチパネル等であり、情報の入力を受け付ける機能と、情報の表示を行う機能とを有する。インターフェース装置１７は、ネットワークに接続する為に用いられる。出力装置１２は、端末装置１００から各種情報報の出力を行う。
【００１９】
本実施形態の後述する仮想走者モデル生成プログラムは、端末装置１００を制御する各種プログラムの少なくとも一部である。仮想走者モデル生成プログラムは例えば記録媒体１９の配布やネットワークからのダウンロードなどによって提供される。仮想走者モデル生成プログラムを記録した記録媒体１９は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００２０】
また、仮想走者モデル生成プログラム記録した記録媒体１９がドライブ装置１３にセットされると、仮想走者モデル生成プログラムは、記録媒体１９からドライブ装置１３を介して補助記憶装置１４にインストールされる。ネットワークからダウンロードされた仮想走者モデル生成プログラムは、インターフェース装置１７を介して補助記憶装置１４にインストールされる。
【００２１】
補助記憶装置１４は、インストールされた仮想走者モデル生成プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置１５は、コンピュータの起動時に補助記憶装置１４から仮想走者モデル生成プログラムを読み出して格納する。そして、演算処理装置１６はメモリ装置１５に格納された仮想走者モデル生成プログラムに従って、後述するような各種処理を実現している。
【００２２】
センサ装置１８は、例えば端末装置１００の位置情報を取得するＧＰＳ（Global Positioning System）センサ、端末装置１００の移動における加速度を検出する加速度センサ、端末装置１００の角速度を検出する角速度センサ、ＬＲＦ（Laser Range Finder）センサ等を含む。
【００２３】
次に、図３を参照して本実施形態の端末装置１００の機能について説明する。図３は、第一の実施形態の端末装置の機能構成を説明する図である。
【００２４】
本実施形態の端末装置１００は、仮想走者データベース１１０、走行コースデータベース１２０、走行モデルデータベース１３０を有する。本実施形態の端末装置１００において、各データベースは、例えば補助記憶装置１４やメモリ装置１５等の記憶領域に設けられる。
【００２５】
また、本実施形態の端末装置１００には、仮想走者モデル生成プログラム１５０がインストールされている。本実施形態の端末装置１００は、演算処理装置１６が仮想走者モデル生成プログラム１５０を実行することにより、後述する各部の機能を実現する。
【００２６】
以下に、本実施形態の各データベースについて説明する。
【００２７】
本実施形態の仮想走者データベース１１０は、情報の項目として、仮想走者の速度ｖと、ピッチ時間ｔとを有する。本実施形態の仮想走者データベース１１０は、例えば端末装置１００のユーザ等により端末装置１００に格納される。端末装置１００のユーザとは、例えば走者１である。
【００２８】
本実施形態では、例えば実在の人物を仮想走者に見立て、仮想走者に見立てられた人物が走行した際の速度の平均値を速度ｖとしても良い。また、本実施形態では、例えば仮想走者に見立てられた人物が走行した際に、１歩移動するのにかかる時間をピッチ時間ｔとしても良いし、予め決められた値をピッチ時間ｔとしても良い。以下の本実施形態の説明では、仮想走者の速度ｖと、ピッチ時間ｔとを仮想走者情報と呼ぶ。
【００２９】
本実施形態の走行コースデータベース１２０は、走行コースデータが格納されている。本実施形態の走行コースデータは、例えば一般的なＧＰＳ機能等に用いられる地図データであって、走者１の走行コースを特定することができるものである。本実施形態の走行コースデータベース１２０は、端末装置１００の利用者等により予め端末装置１００に格納されていても良い。
【００３０】
本実施形態の走行モデルデータベース１３０は、仮想走者モデル生成プログラム１５０により生成された仮想走者２の走行モデルが格納される。走行モデルの生成の詳細は後述する。
【００３１】
以下に、端末装置１００において、仮想走者モデル生成プログラム１５０の実行により実現される各部について説明する。
【００３２】
本実施形態の端末装置１００は、仮想走者情報取得部１５１、走行コースデータ取得部１５２、走行情報取得部１５３、予定コース算出部１５４、走行モデル生成部１５５、相対位置算出部１５６、パターンデータ生成部１５７を有する。
【００３３】
仮想走者情報取得部１５１は、仮想走者データベース１１０から仮想走者情報を取得する。走行コースデータ取得部１５２は、走行コースデータベース１２０から走行コースデータを取得する。走行情報取得部１５３は、端末装置１００の有するセンサ装置１８により、走行コースにおける走者１の位置を示す位置情報と、走者１の走行速度を示す速度情報とを、走者１の走行情報として取得する。尚、本実施形態の位置情報は、例えばＧＰＳセンサから出力される情報であっても良い。また本実施形態の速度情報は、例えば加速度センサから出力される情報であっても良い。
【００３４】
予定コース算出部１５４は、坂角度取得部１６１と、カーブ角度算出部１６２と、を有する。予定コース算出部１５４は、坂角度取得部１６１により走行コースデータ取得部１５２により取得された走行コースにおける坂の角度の情報を取得する。また予定コース算出部１５４は、カーブ角度算出部１６２により、走行コースのカーブの角度を算出する。そして予定コース算出部１５４は、走行コースにおいて仮想走者２が走行する予定のコースを算出する。より具体的には予定コース算出部１５４は、仮想走者２の次の１歩における足の仮の着地位置（以下、単に仮の着地位置と呼ぶ。）を算出する。予定コース算出部１５４の処理の詳細は後述する。
【００３５】
走行モデル生成部１５５は、速度算出部１７１と、ピッチ時間算出部１７２と、着地位置算出部１７３と、を有する。本実施形態の走行モデル生成部１５５は、予定コース算出部１５４により得られた坂の角度の情報と、カーブの角度の情報と、仮の着地位置の情報とを用いて仮想走者２の走行モデルを生成する。走行モデル生成部１５５により生成された走行モデルは、走行モデルデータベース１３０へ格納される。走行モデル生成部１５５の処理の詳細は後述する。
【００３６】
相対位置算出部１５６は、走者１の走行情報と、仮想走者２の走行モデルとを比較し、走者１に対する仮想走者２の相対位置を算出する。パターンデータ生成部１５７は、走行モデルと、走者１と仮想走者２との相対位置と、に基づき、出力装置２００に出力させるパターンデータを生成する。
【００３７】
本実施形態において、出力装置２００から出力されるパターンデータは、例えば音声データであり、仮想走者２の足音や仮想走者２の呼吸の音等のデータであっても良い。また、本実施形態のパターンデータは、例えば仮想走者２が走行する際の発生するような振動等のであっても良い。すなわち本実施形態のパターンデータは、仮想走者２が走行する際に発生する刺激を示すデータであれば良い。
【００３８】
次に、図４を参照して本実施形態の端末装置１００の動作を説明する。図４は、第一の実施形態の端末装置の動作を説明するフローチャートである。
【００３９】
本実施形態の端末装置１００は、仮想走者情報取得部１５１により、仮想走者データベース１１０から仮想走者情報を取得する（ステップＳ４０１）。具体的には、仮想走者情報取得部１５１は、仮想走者の速度ｖとピッチ時間ｔとを取得する。続いて端末装置１００は、走行コースデータ取得部１５２により、走行コースデータベース１２０から走行コースデータを取得する（ステップＳ４０２）。
【００４０】
続いて端末装置１００は、端末装置１００を所持した走者１が走行を開始したか否かを判定する（ステップＳ４０３）。具体的には端末装置１００は、例えばセンサ装置１８の出力に基づき走者１が走行を開始したか否かを判定しても良い。ステップＳ４０３において走行の開始が検出されない場合、端末装置１００は走行の開始が検出されるまで待機する。
【００４１】
端末装置１００は、ステップＳ４０３において走者１の走行の開始が検出されると、走行情報取得部１５３により、走者１の走行情報を取得する（ステップＳ４０４）。具体的には走行情報取得部１５３は、センサ装置１８により、走行コースにおける走者１の位置を示す位置情報と、走者１の走行速度を示す速度情報とを取得する。
【００４２】
続いて端末装置１００は、予定コース算出部１５４の坂角度取得部１６１より、走行コースデータを参照し、走者１が走行している走行コースの傾斜を示す角度αを取得する（ステップＳ４０５）。
【００４３】
続いて端末装置１００は、予定コース算出部１５４のカーブ角度算出部１６２により走行コースにおけるカーブの角度θ（単位は［ｒａｄ］とする。）を算出する（ステップＳ４０６）。具体的には、本実施形態のカーブ角度算出部１６２は、走行コースにおける、仮想走者２の仮の着地位置を算出する。そしてカーブ角度算出部１６２は、仮想走者の現在の足の着地位置、仮の着地位置、１歩前の足の着地位置からなる角度を算出し、算出した角度をカーブの角度θとする。角度θの算出の詳細は後述する。
【００４４】
続いて端末装置１００は、走行モデル生成部１５５により、走行コースの傾斜を示す角度αと、走行コースにおけるカーブの角度θとを反映させた仮想走者２の速度ｖｌ、ピッチ時間ｔｌ、足の着地位置Ｐとを算出する（ステップＳ４０７）。
【００４５】
具体的には、走行モデル生成部１５５は、速度算出部１７１により、仮想走者２の速度ｖｌを以下に示す補間式（１）により算出する。また走行モデル生成部１５５は、ピッチ時間算出部１７２により、仮想走者２のピッチ時間ｔｌを以下に示す補間式（２）により算出する。さらに走行モデル生成部１５５は、着地位置算出部１７３により、仮想走者２の次の一歩における足の着地位置Ｐを以下に示す補間式（３）により算出する。本実施形態の補間式（１）〜（３）は、予め与えられた式であり、ｖは、仮想走者２の速度、ｔは仮想走者２のピッチ時間である。尚、補間式（１）〜（３）の導出に関する詳細は後述する。
【００４６】
【数１】
2015167834.tif 000003
【００４７】
尚、本実施形態の走行モデル生成部１５５は、ステップＳ４０７で算出した各値を、仮想走者２の歩数と対応付けて走行モデルデータベース１３０に格納しても良い。本実施形態では、仮想走者２の歩数と、ステップＳ４０７で算出された各値とを対応付けたデータが走行モデルとなる。
【００４８】
続いて端末装置１００は、相対位置算出部１５６により、仮想走者２の次の足の着地位置Ｐと、ステップＳ４０４で取得した走者１の走行情報とから、走者１に対する仮想走者２の相対的な位置を示す相対位置情報を算出する（ステップＳ４０８）。具体的には相対位置算出部１５６は、例えば走者１と、ステップＳ４０７で算出された仮想走者２の着地位置Ｐとの距離と、仮想走者２の着地位置Ｐと走者１との角度とを相対位置情報として出力しても良い。
【００４９】
続いて端末装置１００は、パターンデータ生成部１５７により、相対位置情報に基づくパターンデータを生成し、出力装置２００へ出力する（ステップＳ４０９）。
【００５０】
本実施形態のパターンデータは、例えば仮想走者２の足音の音声データであり、パターンデータ生成部１５７は、３次元音響により仮想走者２の足音が立体的に聞こえるようにパターンデータを生成しても良い。
【００５１】
また本実施形態のパターンデータは、例えば仮想走者２の映像データであっても良い。この場合の出力装置２００は、例えばメガネ型のカメラガジェットとしても良く、走者１が仮想走者２の走行位置を見たときに、仮想走者２の姿をメガネに表示させても良い。また本実施形態のパターンデータは、例えば仮想走者２の足の着地を振動にした振動データであっても良い。この場合の出力装置２００は、例えば振動モータの付いたシューズやウェア等の振動生成機能を有するものとし、振動データに応じて仮想走者２の足の着地による振動を発生させるタイミングや振動の強度等で走者１に伝達しても良い。
【００５２】
続いて端末装置１００は、ステップＳ４０４で取得した位置情報が、走行コースの終端と重なるか否かを判定する（ステップＳ４１０）。ステップＳ４１０において、位置情報が走行コースの終端と重なる場合、端末装置１００は処理を終了する。ステップＳ４１０において位置情報が走行コースと重ならない場合、端末装置１００は、ステップＳ４０４へ戻る。
【００５３】
以上のように本実施形態の端末装置１００は、走行コースにおける坂の傾斜やカーブの曲がり具合を仮想走者２の走行モデルの一歩一歩に反映させる。したがって本実施形態によれば、仮想走者の走行モデルの精度を高めることができ、走者に対し、仮想走者が走者のあたかも近傍を走っているかのような臨場感を提供できる。また、本実施形態では、走行コースと走者１の走行情報に基づき、走行コースの坂やカーブによる影響が反映された仮想走者２の走行モデルをリアルタイムに生成することができる。
【００５４】
次に、図５乃至図８を参照し、式（１）〜（３）の導出について説明する。始めに、走行コースのカーブを走行モデルに反映させる場合について説明する。
【００５５】
図５は、走行コースのカーブを走行モデルに反映させる式の導出について説明する第一の図である。
【００５６】
本実施形態では、仮想走者２が平坦な直線道を走行する際の速度をｖとし、仮想走者２が１歩進むのにかかる時間をピッチ時間ｔとして、仮想走者２の現在の足の着地位置Ｐ０から距離ｖ×ｔを半径とした円Ｒ１を描く。
【００５７】
本実施形態では、予定コース算出部１５４により、この円Ｒ１と走行コースＳとが交わる位置を、仮想走者２の次の１歩における足の仮の着地位置を算出し、仮の着地位置Ｐ１とする。また本実施形態では、カーブ角度算出部１６２により、現在の足の着地位置Ｐ０、仮の着地位置Ｐ１、１歩前の足の着地位置Ｐ１′からなる角度θを算出する。本実施形態では、この角度θを、走者１の現在の位置におけるカーブの角度と見なす。本実施形態のカーブの角度とは、曲がっている道路を仮想走者２が一歩進む毎に進行方向をどれだけの角度変化させるかを表す曲率である。
【００５８】
次に本実施形態では、カーブにより減速した仮想走者２の速度ｖ′を計算する。本実施形態の速度ｖ′は、以下の式（４）により求められる。
【００５９】
速度ｖ′＝ｖ×θ／π          式（４）
式（４）における項θ／πは、仮想走者２がカーブを走行する際の減速を反映させるための補正項であり、予め決められた項である。尚、本実施形態における補正項は、θ／πとしたが、これに限定されない。本実施形態の補正項は、θ＝πにおいて速度ｖが維持され、θ＝０において速度ｖが０となり、θが小さくなったとき速度ｖが減速するような補正項であれば良い。尚、θ=πは、仮想走者２が直進していることを示し、θ＝０は、仮想走者２が走行方向を反転させたことを示している。
【００６０】
図６は、走行コースのカーブを走行モデルに反映させる式の導出について説明する第二の図である。
【００６１】
本実施形態では、図６に示すように、速度ｖ′が算出されると、現在の足の着地位置Ｐ０から距離ｖ′×ｔを半径とした円Ｒ２を描き直す。そして本実施形態では、円Ｒ２と走行コースＳとが交わる位置を、カーブを反映させた仮想走者２の次の１歩における足の着地位置（以下、単に次の着地位置と呼ぶ。）Ｐ２とする。
【００６２】
図７は、走行コースのカーブを走行モデルに反映させる式の導出について説明する第三の図である。
【００６３】
一般的に、走者がカーブを走行する場合、速度を維持するために歩幅を狭くし、ピッチ時間を短くする傾向があることが知られている。そこで本実施形態では、この点に着目し、仮想走者２の速度ｖ′とピッチ時間ｔとに、カーブによる歩幅の変化を反映させる補正を行う。
【００６４】
具体的には、本実施形態では、速度ｖ′を歩幅の変化に応じてさらに補正した速度をｖ′′とし、歩幅の変化に応じて補正したピッチ時間をｔ′としたとき、以下の式（５）が成立するように、速度ｖ′とピッチ時間ｔとを補正する。
【００６５】
速度ｖ′′×ピッチ時間ｔ′＝速度ｖ′×ピッチ時間ｔ      式（５）
本実施形態では、上記式（５）を満たすように速度ｖ′′とピッチ時間ｔ′を以下の式（６）で求める。
【００６６】
速度ｖ′′＝ｖ√（θ／π）
ピッチ時間ｔ′＝ｔ√（θ／π）                式（６）
また、次の着地位置Ｐ２は、以下の式（７）により求める。
【００６７】
次の着地位置Ｐ２＝速度ｖ′′×ピッチ時間ｔ′＝ｖｔθ／π    式（７）
尚、式（６）における項√（θ／π）は、仮想走者２がカーブを走行する際の速度と歩幅の変化を反映させるための補正項である。尚、本実施形態における補正項は、√（θ／π）としたが、これに限定されない。速度と歩幅の変化を反映させるための補正項は、角度θが小さくなるほど速度ｖ′′の変化が大きくなるように設定されていれば良い。
【００６８】
また、本実施形態では、図７における１歩前の足の着地位置Ｐ１′、現在の足の着地位置Ｐ０、次の着地位置Ｐ２により形成される角度θｓを、走行モデルにおいて仮想走者２の歩数と対応付けても良い。
【００６９】
次に、走行コースの傾斜を走行モデルに反映させる場合について説明する。走行コースの傾斜とは、例えば走行コースにおける坂である。
【００７０】
図８は、走行コースの傾斜を走行モデルに反映させる式の導出について説明する図である。図８（Ａ）は傾斜の角度が正の値であるとき、すなわち上り坂である場合を示し、図８（Ｂ）は傾斜の角度が負の値であるとき、すなわち下り坂である場合を示し、
図８では、走行コースの傾斜の角度をα［ｒａｄ］とする。一般的に、走者が坂道を走行する場合、上り坂では速度を維持するために、また下り坂では膝の負担を減らすために、歩幅を狭くしてピッチ時間ｔを短くする傾向にあることが知られている。そこで本実施形態では、この点に着目し、仮想走者２の速度ｖとピッチ時間ｔとに、坂道による速度と歩幅の変化を反映させる補正を行う。
【００７１】
本実施形態では、坂道においてピッチ時間ｔを短くする補正項として、ｃｏｓαを用いた。この場合、仮想走者２が坂道を走行する際のピッチ時間をｔ′とすると、ピッチ時間ｔ′と、次の一歩における足の仮の着地位置Ｐ３と、は以下の式（８）となる。
【００７２】
ピッチ時間ｔ′＝ｔ×ｃｏｓα
次の足の着地位置Ｐ３＝ｖ×ｔ×ｃｏｓα          式（８）
尚、本実施形態では、補正項としてｃｏｓαを用いたが、これに限定されない。坂道による速度と歩幅の変化を反映させる補正項は、角度αの絶対値が大きいほどピッチ時間ｔ′が短くなるような補正項であれば良い。尚、坂道においては、走者は速度を維持するように努めるため、ここでは速度ｖは一定とした。
【００７３】
以上のように本実施形態では、走行コースのカーブを反映させた場合の仮想走者２の速度、ピッチ時間及び次の足の着地位置と、走行コースの坂道を反映させた場合の仮想走者２の速度、ピッチ時間及び仮の着地位置と、を用いて、仮想走者２の走行モデルを生成する補間式（１）〜（３）を導出する。
【００７４】
より具体的には、本実施形態では、図９に示すように、式（６）、式（７）に式（８）を代入することで補間式（１）〜（３）を得ることができる。図９は、補間式（１）〜（３）の導出を説明する図である。
【００７５】
以上のように本実施形態では、走行コースのカーブと坂道においては、ピッチ時間と、前の足の着地位置と、現在の足の着地位置と、予測される次の足の着地位置とから得られる角度θを用いた補間式により、仮想走者の足音の発生位置を補間し、高精度の走行モデルを生成する。
【００７６】
次に、図１０を参照して本実施形態の走行モデルについて説明する。図１０は、第一の実施形態の走行モデルの一例を示す図である。
【００７７】
本実施形態の走行モデルは、情報の項目として、仮想走者２の歩数と、ピッチ時間tと、速度ｖと、角度θｓとを有する。本実施形態の走行モデルでは、歩数と、その他の項目とが対応付けられている。例えば図１０に示す走行モデルでは、仮想走者２の１歩目から２歩目に進むまでにかかるピッチ時間ｔは、０．３秒であり、速度は１０ｋｍ／ｈである。また、図１０の例では、仮想走者２の前の足の着地位置と、現在の足の着地位置と、次の足の着地位置とが形成する角度θｓは１８０度である。よって仮想走者２は、直進していることがわかる。
【００７８】
また、図１０に示す走行モデルでは、３歩目でピッチ時間ｔが０．３秒から０．２５秒に変化し、その後のピッチ時間ｔは０．２５秒となっている。また、３歩目と４歩目における速度ｖは一定である。よって図１０の例では、走行コースが仮想走者２の３歩目から坂になっていることがわかる。
【００７９】
さらに図１０に示す走行モデルでは、５歩目において速度ｖも１０ｋｍ／ｈから９ｋｍ／ｈへ減速している。よって図１０の例では、走行コースが仮想走者２の５歩目からカーブしていることがわかる。
【００８０】
尚、本実施形態では、仮想走者データベース１１０に格納された速度ｖは、仮想走者の走行における平均速度としたが、この平均速度は、例えば仮想走者が所定の走行コースの全区間を走行した際の平均速度であっても良いし、１ｋｍ毎や所定区間毎の平均速度であっても良い。
【００８１】
また、本実施形態の仮想走者データベース１１０に格納された速度ｖは、例えはDaniels Running Formulに示される気温と走行速度の影響に基づき、仮想走者の速度に気温の影響による変化を反映させても良い。また、本実施形態の仮想走者データベース１１０に格納された速度ｖは、例えば仮想走者が実在する人物であり、仮想走者の坂道やカーブの手不得手が既知の場合には、この得手不得手を速度ｖに反映させても良い。具体的には例えば、坂道の角度αやカーブの角度θに応じた補正項を速度ｖに掛け合わせることで、仮想走者の得手不得手を反映させても良い。
【００８２】
また、本実施形態の仮想走者データベース１１０に格納されたピッチ時間ｔは、一般的な走者のピッチ時間が距離や速度に依らず３歩で１秒程度と変化しないことからピッチ時間ｔを０．３秒に固定しても良い。また、本実施形態の仮想走者データベース１１０に格納されたピッチ時間ｔは、仮想走者が実在する人物である場合、仮想走者のマラソン時の歩数と走行タイムから、ピッチ時間ｔを走行タイム÷歩数として算出しても良い。さらに本実施形態では、仮想走者の坂道の角度αやカーブの角度θにおける走法が既知の場合には、坂道の角度αやカーブの角度θに応じた補正項をピッチ時間ｔに掛け合わせることで、
スライド走法やピッチ走法等の仮想走者の走法を表現しても良い。
【００８３】
以上のように本実施形態によれば、走行コースの坂やカーブに応じて仮想走者２の１歩毎にピッチ時間ｔと速度ｖとを変化させ、仮想走者２の足の着地位置を算出する。したがって本実施形態によれば、走行コースをあたかも仮想走者２が走ったかのような、精度の高い走行モデルを生成することができる。
【００８４】
また、本実施形態では、例えば仮想走者データベース１１０にオリンピック選手や過去の自分、遠方に住む友人やライバル選手等の速度ｖとピッチ時間ｔとを仮想走者情報として格納しておくことで、さまざまなパターンの走行モデルを生成できる。また、本実施形態では、仮想走者データベース１１０に格納された仮想走者情報を複数の走者で共有することもできる。
【００８５】
（第二の実施形態）
以下に図面を参照して第二の実施形態について説明する。第二の実施形態では、仮想走者２が走者１を追い越すことが想定されている点で第一の実施形態と相違する。よって、以下の第二の実施形態の説明では、第一の実施形態との相違点についてのみ説明し、第一の実施形態と同様の機能を有するものには第一の実施形態の説明で用いた符号を付与し、その説明を省略する。
【００８６】
図１１は、第二の実施形態の端末装置の機能構成を説明する図である。本実施形態の端末装置１００Ａには、仮想走者モデル生成プログラム１５０Ａがインストールされている。本実施形態の端末装置１００Ａは、予定コース算出部１５４Ａを有する。坂角度取得部１６１、カーブ角度算出部１６２、コース修正部１６３を有する。本実施形態のコース修正部１６３は、例えば仮想走者２の現在の足の着地位置と、次の足の着地位置との間の距離が所定値未満であった場合に、仮想走者２の走行コースを、走者１を追い越すコースに修正する。仮想走者２が走者１を追い越す場合とは、例えば走者１の速度が仮想走者２と比べて遅い場合等である。
【００８７】
図１２は、第二の実施形態の端末装置の動作を説明するフローチャートである。
【００８８】
図１２のステップＳ１２０１からステップＳ１２０８までの処理は、図４のステップＳ４０１からステップＳ４０８までの処理と同様であるから説明を省略する。
【００８９】
ステップＳ１２０８に続いて、コース修正部１６３は、ステップＳ１２０７で算出した仮想走者２の足の着地位置と、仮想走者２の１歩前の足の着地位置との間の距離を算出し、その距離が所定値未満であるか否かを判定する（ステップＳ１２０９）。
【００９０】
ステップＳ１２０９において、距離が閾値以上であった場合、端末装置１００ＡはステップＳ１２１１へ進む。ステップＳ１２１１とステップＳ１２１２の処理は、図４のステップＳ４０９とステップＳ４１０の処理と同様であるから、説明を省略する。
【００９１】
ステップＳ１２０９において、距離が閾値未満であった場合、コース修正部１６３は、追い越し用のコースを設定し（ステップＳ１２１０）、ステップＳ１２０７へ戻る。
【００９２】
以下に、追い越し用のコースについて説明する。本実施形態のコース修正部１６３は、例えば仮想走者２が走者１を追い越す際に、走者１の速度に基づき走者１の予想走行範囲を計算し、予想走行範囲を回り込むように走行コースを修正する。具体的にはコース修正部１６３は、ステップＳ１２０２で読み込んだ走行コースから、進行方向を所定の角度ずらして弧を描き、再び走行コース上へ戻るように、走行コースを修正しても良い。所定の角度は、例えば走行コースデータベース１２０に格納されていても良い。
【００９３】
また、本実施形態のコース修正部１６３は、例えば走者１が予定の走行コースから外れた場合、現在の仮想走者２の位置から地図の走路に沿ってユーザの位置まで走行コースを新たに作成しても良い。その後、コース修正部１６３は、仮想走者２の足の着地位置が走者１の後方にある場合（すなわち仮想走者２が走者１の後方を走行している場合）、仮想走者２を走者１に追従させる。また、コース修正部１６３は、仮想走者２が走者１を追い越した場合には、仮想走者２をそのまま直進させ、行き止まりで停止させる。また、コース修正部１６３は、走者１が予定の走行コースに復帰した場合には、仮想走者２を予定の走行コースに復帰させる。
【００９４】
以上のように、本実施形態によれば、仮想走者２が走者１を追い越す場合には、仮想走者２の走行コースを走者１を迂回するようなコースへ修正し、修正後の走行コースに基づき仮想走者２の走行モデルを生成する。したがって本実施形態によれば、走者１に対して、あたかも自身が仮想走者２に追い抜かれたような体験を提供することができる。
【００９５】
（第三の実施形態）
以下に図面を参照して第三の実施形態について説明する。第三の実施形態では、端末装置に走行コースデータが格納されていない点が第一の実施形態と相違する。よって、以下の第三の実施形態の説明では、第一の実施形態との相違点についてのみ説明し、第一の実施形態と同様の機能を有するものには第一の実施形態の説明で用いた符号を付与し、その説明を省略する。
【００９６】
図１３は、第三の実施形態の端末装置の機能構成を説明する図である。本実施形態の端末装置１００Ｂは、仮想走者モデル生成プログラム１５０Ｂがインストールされている。本実施形態の端末装置１００Ｂは、走行コースデータベース１２０を有していない。また、本実施形態の端末装置１００Ｂは、走行情報取得部１５３Ａ、予定コース算出部１５４Ａを有し、走行コースデータ取得部１５２を有していない。
【００９７】
本実施形態の走行情報取得部１５３Ａは、走者１の走行情報を取得する。本実施形態の走行情報取得部１５３Ａは、走者情報として、走者１の位置情報と速度情報に加え、センサ装置１８に含まれる角速度センサ等の出力を取得する。
【００９８】
予定コース算出部１５４Ａは、走行情報取得部１５３Ａが取得した走行情報に基づき、仮想走者２の走行コースを算出する。
【００９９】
具体的には、本実施形態の予定コース算出部１５４Ａは、例えば走者１の位置情報と速度情報と、に基づき走者１の進行方向に向かう所定の走行範囲を設定する。そして予定コース算出部１５４Ａは、坂角度算出部１６１Ａにより、角速度センサ等の出力に応じて、走行範囲内におけるコースの傾斜を算出しても良い。
【０１００】
以下に図１４を参照して本実施形態の端末装置１００Ｂの動作を説明する。図１４は、第三の実施形態の端末装置の動作を説明するフローチャートである。
【０１０１】
本実施形態の端末装置１００Ｂは、仮想走者情報取得部１５１により、仮想走者データベース１１０から仮想走者情報を取得する（ステップＳ１４０１）。続いて端末装置１００Ｂは、端末装置１００Ｂを所持した走者１が走行を開始したか否かを判定する（ステップＳ１４０２）。具体的には端末装置１００Ｂは、例えばセンサ装置１８の出力に基づき走者１が走行を開始したか否かを判定しても良い。ステップＳ１４０２において走行の開始が検出されない場合、端末装置１００Ｂは走行の開始が検出されるまで待機する。
【０１０２】
端末装置１００Ｂは、ステップＳ１４０２において走者１の走行の開始が検出されると、走行情報取得部１５２Ａにより、走者１の走行情報を取得する（ステップＳ１４０３）。具体的には走行情報取得部１５２Ａは、走者１の位置を示す位置情報と、走者１の走行速度を示す速度情報と、センサ装置１８に含まれる角速度センサ等の出力を取得する。
【０１０３】
続いて本実施形態の端末装置１００Ｂは、予定コース算出部１５４Ａにより、走行コースを算出する（ステップＳ１４０４）。具体的には予定コース算出部１５４Ａは、ステップＳ１４０３で取得した走行情報に基づき、走者１の走行範囲において、走者１の進行方向と、走行範囲におけるコースの傾斜の角度やカーブの角度を算出する。
【０１０４】
ステップＳ１４０５からステップＳ１４０８までの処理は、図４のステップＳ４０７からステップＳ４１０の処理と同様であるから、説明を省略する。
【０１０５】
以上のように本実施形態では、端末装置１００Ｂに走行コースが登録されておらず走行コースが未知である場合にも、リアルタイムに走行コースを算出して仮想走者２の走行モデルを生成することができる。
【０１０６】
開示の技術では、以下に記載する付記のような形態が考えられる。
（付記１）
走行コースに基づき、仮想走者の足が着地すると予測される着地位置を算出する予定コース算出部と、
前記走行コースの坂道及びカーブにおいて、前記予測される着地位置と、前記仮想走者の現在の足の着地位置とから得られる角度を用いた補間式により、前記予測される着地位置を補間する補間部と、を有する仮想走者モデル生成装置。
（付記２）
前記角度は、
前記予測される着地位置と、前記仮想走者の現在の足の着地位置と、前記現在の足の着地位置の１歩前の足の着地位置と、からなり、
前記予定コース算出部は、
前記仮想走者の走行における速度とピッチ時間とが格納された仮想走者データベースを参照し、
前記仮想走者の現在の足の着地位置を中心とし、前記速度と前記ピッチ時間とに基づく距離を半径とする円と、前記走行コースとの交点を、前記予測される着地位置として前記角度を算出する付記１記載の仮想走者モデル生成装置。
（付記３）
前記補間式は、前記仮想走者の速度を補間する第一の補間式を含み、
前記第一の補間式は、
前記仮想走者の速度が、前記角度が小さくなるときに遅くなるよう設定される付記２記載の仮想走者モデル生成装置。
（付記４）
前記補間部は、
前記仮想走者の現在の足の着地位置を中心とし、前記第一の補間式により補間された速度と前記ピッチ時間とに基づく距離を半径とする円と、前記走行コースとの交点を、前記仮想走者の次の足の着地位置とする付記３記載の仮想走者モデル生成装置。
（付記５）
前記補間式は、前記仮想走者のピッチ時間を補間する第二の補間式と、前記第一の補間式により補間された前記仮想走者の速度をさらに補間する第三の補間式と、を含み、
前記第二及び第三の補間式は、
前記ピッチ時間と、前記第一の補間式により補間された前記仮想走者の速度との積と、前記第二の補間式により補間された前記ピッチ時間と、前記第三の補間式により補間された前記速度との積と、
が等しくなるように設定される付記４記載の仮想走者モデル生成装置。
（付記６）
前記第二の補間式は、
前記走行コースの傾斜角が大きくなるときに、前記ピッチ時間が短くなるように設定される付記５記載の仮想走者モデル生成装置。
（付記７）
前記仮想走者の歩数と、前記補間式により補間された前記仮想走者のピッチ時間及び速度とが対応付けた前記仮想走者の走行モデルを生成する走行モデル生成部を有する付記１乃至６の何れか一項に記載の仮想走者モデル生成装置。
（付記８）
前記仮想走者の次の足の着地位置に基づき、前記仮想走者と、当該仮想走者モデル生成装置を装着して前記走行コースを走行する走者と、の相対位置を算出する相対位置算出部と、
前記走行モデルと前記相対位置と、に基づき前記仮想走者の走行している状態を示す刺激を出力させるパターンデータを生成し、前記パターンデータを前記刺激として出力する出力装置へ出力するパターンデータ生成部と、を有する付記７記載の仮想走者モデル生成装置。
（付記９）
前記パターンデータは、前記仮想走者の足音を発生させるパターンデータである付記８記載の仮想走者モデル生成装置。
（付記１０）
走行コースに基づき、仮想走者の足が着地すると予測される着地位置を算出する処理と、
前記走行コースの坂道及びカーブにおいて、前記予測される着地位置と、前記仮想走者の現在の足の着地位置とから得られる角度を用いた補間式により、前記予測される着地位置を補間する処理と、をコンピュータに実行させる仮想走者モデル生成プログラム。
（付記１１）
コンピュータによる仮想走者モデル生成方法であって、該コンピュータが、
走行コースに基づき、仮想走者の足が着地すると予測される着地位置を算出し、
前記走行コースの坂道及びカーブにおいて、前記予測される着地位置と、前記仮想走者の現在の足の着地位置とから得られる角度を用いた補間式により、前記予測される着地位置を補間する、仮想走者モデル生成方法。
【０１０７】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から
逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１０８】
１００、１００Ａ、１００Ｂ  端末装置
１１０  仮想走者データベース
１２０  走行コースデータベース
１３０  走行モデルデータベース
１５０、１５０Ａ、１５０Ｂ  仮想走者モデル生成プログラム
１５１  仮想走者情報取得部
１５２  走行コースデータ取得部
１５３  走行情報取得部
１５４  予定コース算出部
１５５  走行モデル生成部
１５６  相対位置算出部
１５７  パターンデータ生成部
２００  出力装置
【図１】
2015167834.tif 000004
【図２】
2015167834.tif 000005
【図３】
2015167834.tif 000006
【図４】
2015167834.tif 000007
【図５】
2015167834.tif 000008
【図６】
2015167834.tif 000009
【図７】
2015167834.tif 000010
【図８】
2015167834.tif 000011
【図９】
2015167834.tif 000012
【図１０】
2015167834.tif 000013
【図１１】
2015167834.tif 000014
【図１２】
2015167834.tif 000015
【図１３】
2015167834.tif 000016
【図１４】
2015167834.tif 000017