以下、本発明の一実施形態であるサイクルコンピュータ(以下、「サイコン」と呼ぶ。
)1について、図面を参照して説明する。これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものである。記載されている装置の構成、画面図、及びフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。図1に示すサイコン1は例えば自転車のフレーム等に取り付けられる電子機器の一例である。
先ず、サイコン1の構造について、図1を参照して簡単に説明する。サイコン1は筐体2を備える。筐体2は樹脂製である。筐体2は例えば一方向に長手を有する略直方体状のケースである。上面には表示部10が設けられている。表示部10は平面視縦長の長方形状である。表示部10には、例えば自転車の走行速度、ケイデンス、心拍等の各種情報を表示可能である。表示部10に表示される画像の表示方向は、例えば縦方向と横方向の何れかに変更可能である。縦方向とは例えば筐体2の上面の長手方向である。横方向とは例えば前記長手方向に直交する短手方向である。
表示部10の前側(図1の下側)には4つの操作ボタン31〜34(以下総称する場合は単に「操作ボタン11」と呼ぶ。)が左から右に並設されている。操作ボタン31は例えば表示部10に表示されている画面から前の画面に戻る時に使用する。操作ボタン32は例えば本機の電源オンオフや選択項目の決定に使用する。操作ボタン33は例えば項目の選択やタイムの計測停止に使用する。操作ボタン34は例えば項目の選択やタイムの計測開始に使用する。操作ボタン31〜34の機能はこれに限定されない。操作ボタン31〜34は例えばゴム製である。
次に、ロード競技における各種トレーニングレベルと心拍との関係について説明する。トレーニングレベルとは、そのトレーニングの目標に向けられた運動強度を持ったトレーニングのタイプである。ロード競技のトレーニングレベルには、例えば以下の4つのトレーニングレベルがある。
1:[回復レベル]
最も低い強度のトレーニングレベル。強度の高い負荷(レースやトレーニング、例えば筋持久力レベル、発展レベル、頂点レベル)の後で回復の為にのみ行われる。
2:[基礎的持久力レベル]
基礎的な持久力と有酸素運動能力の発展を目指すトレーニングレベル。このレベルのトレーニングによって有酸素運動能力は明らかに高められるはずである(乳酸値0〜3)。
3:[発展レベル]
レースに特有の持久力の発展を目指すトレーニングレベル。これは有酸素運動と無酸素運動の境界線上に位置する(乳酸値3〜6)。
4:[頂点レベル]
瞬発力と瞬発力の持久性を重点に鍛え、発展レベルトレーニングと組み合わせて、所謂無酸素運動レベルの閾値を高めることを目標とする。
なお、この他にも例えば、瞬発力レベル、筋持久力レベル、レースレベル等がある。
トレーニングを行う選手達はこれら様々なトレーニングの中で、幾つかのピックアップされたトレーニングレベルだけを行うようにするのが望ましいと言われている。様々なトレーニングレベルを一度に行わないことも大切である。そこで目的とするトレーニングレベルを集中して効果的に実践する為に例えば運転者の心拍を計測しながらトレーニングを行うことが考えられる。心拍とは1分間に心臓が収縮する回数である。心拍を計測することによりそのトレーニングの運動強度を計ることができる。運動強度はトレーニングレベル毎に異なる。
図2は、各トレーニングレベルにおける心拍と自転車の全走行時間に占める割合(%)との関係を心拍分布としてグラフで夫々示す。曲線Aは回復レベルでの理想的な心拍曲線である。曲線Bは基礎的持久力レベルでの理想的な心拍曲線である。曲線Cは発展レベルでの理想的な心拍曲線である。曲線Dは頂点レベルでの理想的な心拍曲線である。つまり、各トレーニングレベル毎の理想的な心拍曲線は夫々異なる。それ故、運転者は、今回のトレーニングの走行時間における心拍分布が、目的とするトレーニングレベルの理想心拍曲線に合うように自車の走行速度を調節すればよい。これにより運転者は目的とするトレーニングレベルを適切に実践できる。
本実施形態のサイコン1は、今回のトレーニングの走行時間における心拍分布である心拍曲線と、目的とするトレーニングレベルに応じた全走行時間における理想的な心拍曲線である理想心拍曲線とを、表示部10に比較可能に表示する。運転者は表示部10に表示された今回の心拍曲線が理想心拍曲線と一致するように走行速度を調節することにより、目的とするトレーニングレベルを適切に実践できる。
次に、サイコン1の電気的構成について、図1を参照して説明する。サイコン1は制御部3を備える。制御部3はサイコン1の主制御を行う。制御部3は、CPU5、EEPROM6、RAM7、フラッシュメモリ9等を備えるマイコン等で構成されている。EEPROM6は、例えばサイコン1を制御する為の各種プログラム等を記憶する。RAM7は後述する各種記憶領域(図3参照)を備える。フラッシュメモリ9は後述する各種記憶領域(図4参照)を備える。
制御部3には、表示部10、操作ボタン11、スピーカ12、高度計13、センサ受信部14、無線通信部15等が接続されている。表示部10は、例えば各種の情報を表示するカラー液晶である。スピーカ12は、例えばアラートや音声等を出力する。高度計13は、例えば走行中の海抜高度を計測する。高度計13の設定は、例えば現地点の海抜高度をサイコン1に入力することにより行う。高度計13は入力された海抜高度を基準にその高低差を計測する。センサ受信部14は、例えばスピードセンサ21、ケイデンスセンサ22、心拍センサ23等から夫々送信される各種データを受信する。無線通信部15は、例えば他の選手達の自転車に取り付けられた他のサイコン40から送信される各種ログ情報を受信可能である。サイコン1は例えば電池27によって動作する。例えば充電池で動作するようにしてもよい。
なお、スピードセンサ21は例えば車輪のスポーク(図示略)に取り付けられたマグネット(図示略)を検知することにより自転車の速度を計測し、その速度データをサイコン1に無線送信する。ケイデンスセンサ22は、例えばペダルの回転数を計測し、そのケイデンスデータをサイコン1に無線送信する。心拍センサ23は、例えば運転者の胸部に取り付けられる。心拍センサ23は運転者の心拍を計測し、その心拍データをサイコン1に無線送信する。
次に、RAM7の各種記憶領域について、図3を参照して説明する。RAM7は、走行距離記憶領域71、走行時間記憶領域72、最大心拍記憶領域73、安静時心拍記憶領域74、心拍ログ情報記憶領域75、速度ログ情報記憶領域76、ケイデンスログ情報記憶領域77、高度ログ情報記憶領域78、乳酸値記憶領域79、特徴情報記憶領域80等を備える。
走行距離記憶領域71には走行距離が記憶される。走行距離速度と車輪の周囲から算出される。走行時間記憶領域72には走行時間が記憶される。最大心拍記憶領域73には最大心拍が記憶される。最大心拍は設定可能である。安静時心拍記憶領域74には安静時心拍が記憶される。安静時心拍は設定及び測定可能である。心拍ログ情報記憶領域75には測定された心拍データがロギングされる。速度ログ情報記憶領域76には測定された速度データがロギングされる。ケイデンスログ情報記憶領域77には測定されたケイデンスデータがロギングされる。高度ログ情報記憶領域78には測定された高度データがロギングされる。乳酸値記憶領域79には乳酸値が記憶される。乳酸値は例えば心拍と走行時間によって算出可能である。特徴情報記憶領域80には特徴情報が記憶される。特徴情報とは、過去の履歴ログ情報について、例えば速度、心拍、ケイデンス、高度等の変化を特徴付ける例えば上限値、下限値、平均値、累積値等である。
次に、フラッシュメモリ9の各種記憶領域について、図4を参照して説明する。フラッシュメモリ9は、個人情報記憶領域91、履歴ログ情報記憶領域92、理想心拍曲線テーブル記憶領域93、支援音声テーブル記憶領域94、ワークアウト情報記憶領域95、目標情報記憶領域96等を備える。個人情報記憶領域91には、個人の性別、年齢、体重等の個人情報が記憶される。履歴ログ情報記憶領域92には、各測定項目の履歴ログ情報が記憶されている。理想心拍曲線テーブル記憶領域93には、理想心拍曲線テーブル931(図5参照)が記憶されている。支援音声テーブル記憶領域94には、支援音声テーブル941(図6参照)が記憶されている。
次に、理想心拍曲線テーブル931について、図5を参照して説明する。理想心拍曲線テーブル931には、例えば5つのトレーニングレベル毎に、自転車の一回の全走行時間に占める心拍の理想的な割合を示す理想心拍曲線A〜Eの各種グラフ情報が記憶されている。トレーニングレベルの種類として、例えば、回復レベル、基礎的持久力レベル、発展レベル、頂点レベル、標準レベルの5つである。回復レベルに対して理想心拍曲線Aのグラフ情報が対応付けられて記憶されている。基礎的持久力レベルに対して理想心拍曲線Bのグラフ情報が対応付けられて記憶されている。発展レベルに対して理想心拍曲線Cのグラフ情報が対応付けられて記憶されている。頂点レベルに対して理想心拍曲線Dのグラフ情報が対応付けられて記憶されている。標準レベルに対して理想心拍曲線Eのグラフ情報が対応付けられて記憶されている。なお標準レベルの理想心拍曲線Eは、例えば個人の最大心拍と安静時心拍等に基づき、個人の基礎体力に応じて修正されるものである。
次に、支援音声テーブル941について、図6を参照して説明する。支援音声テーブル941には、誤差範囲と、誤差レベルと、支援音声情報とが夫々対応付けられて記憶されている。誤差とは、今回のトレーニングにおける心拍分布を、目的とするトレーニングレベルにおける理想的な心拍分布と比較したときの誤差である。具体的には、例えば今回のトレーニングにおける心拍分布のうち最も割合の高い心拍(以下「基準心拍」と呼ぶ。)を、目的とするトレーニングレベルにおける理想的な心拍分布の基準心拍と比較したときの誤差である。誤差範囲は、例えば、−2%〜+2%、3〜10%、11%以上、−3〜―10%、―11%以下の5つの範囲である。
誤差レベルとは、各誤差範囲を例えば5段階で判定する為の指標である。例えば、−2%〜+2%は誤差レベル0、3〜10%は誤差レベル+1、11%以上は誤差レベル+2、−3〜―10%は誤差レベル−1、―11%以下は誤差レベル−2である。支援音声情報は、例えば各誤差レベルに応じて運転者をアシストする為に出力する音声データである。誤差レベル0に対して例えば「その調子です。」の音声データが記憶されている。誤差レベル+1に対して例えば「もう少し遅く。」の音声データが記憶されている。誤差レベル+2に対して例えば「負荷をかけ過ぎ。」の音声データが記憶されている。誤差レベル−1に対して例えば「もう少し速く!!」の音声データが記憶されている。誤差レベル−2に対して例えば「もっと速く!!」の音声データが記憶されている。
次に、CPU5によるメイン処理について、図7〜図20のフローチャートと、図21〜図37の画面図を参照して説明する。なお以下説明では、CPU5によるサイコン1の制御について、表示部10に表示される画面と共に説明する。例えばサイコン1の操作ボタン32(図1参照)が運転者によって押下されて電源がオンされると、CPU5は、EEPROM6に記憶された制御プログラムを読み出して本処理を実行する。
図7に示すように、先ず、CPU5はメインメニューを表示部10に表示する(S1)。図21に示すように、メインメニューとして5つの画面の種類が縦方向に並んで表示される。上から順に、例えば「メーター」、「データ管理」、「トレーニング」、「メーター設定」、「設定」である。運転者は5つの画面の種類の中から、表示部10に表示させる画面を選択できる。運転者が操作ボタン11で種類を選択すると、例えばその種類の項目の色が反転表示される。メーター画面では、例えば、速度、ケイデンス、心拍、経過時間、走行距離、ラップ等、走行中に必要な情報を例えば45項目の中から選択し、例えば2〜8の分割画面や、グラフ画面、セルフトレーナー画面等を表示できる。データ管理画面では、例えば、これまでに保存された履歴内容の閲覧、編集、分析、削除等ができる。トレーニング画面では、例えば、トレーニングの走行時間における心拍分布をリアルタイムに表示すると共に、目的とするトレーニングレベルに応じた全走行時間における心拍の理想的な分布と比較可能に表示できる。メーター設定画面では、例えばメーター画面で表示する表示項目等の設定ができる。設定画面では、例えば、性別、体重等の個人情報の設定ができる。運転者は所望の画面を適宜選択する。
CPU5はメーターが選択されたか否か判断する(S2)。メーターが選択されたと判断した場合(S2:YES)、メーター処理を実行する(S7)。CPU5はメーターが選択されていないと判断した場合(S2:NO)、データ管理が選択されたか否か判断する(S3)。データ管理が選択されたと判断した場合(S3:YES)、データ管理処理を実行する(S8)。CPU5はメーター、データ管理の何れも選択されていないと判断した場合(S2:NO、S3:NO)、トレーニングが選択されたか否か判断する(S4)。トレーニングが選択されたと判断した場合(S4:YES)、トレーニング処理を実行する(S9)。
また、CPU5はメーター、データ管理、トレーニングの何れも選択されていないと判断した場合(S2:NO、S3:NO、S4:NO)、メーター設定が選択されたか否か判断する(S5)。メーター設定が選択されたと判断した場合(S5:YES)、メーター設定処理を実行する(S10)。CPU5はメーター、データ管理、トレーニング、メーター設定の何れも選択されていないと判断した場合(S2:NO、S3:NO、S4:NO、S5:NO)、設定が選択されたか否か判断する(S6)。設定が選択されたと判断した場合(S6:YES)、設定処理を実行する(S10)。
次に、設定処理について、図8を参照して説明する。CPU5は、先ず、設定メニューを表示部10に表示する(S15)。図23に示すように、設定メニューでは、5つの設定項目が縦方向に並んで表示される。上から順に、例えば「性別」、「年齢」、「体重」、「安静時心拍」、「最大心拍」である。運転者は5つの項目の中から各項目を選択し、各種情報を順次設定する。
CPU5は性別が選択されたか否か判断する(S16)。性別が選択されたと判断した場合、性別設定処理を実行する(S21)。CPU5は、性別設定処理において、運転者が操作ボタン11で入力した性別情報をフラッシュメモリ9の個人情報記憶領域91に記憶する。CPU5は性別が選択されていないと判断した場合(S16:NO)、年齢が選択されたか否か判断する(S17)。年齢が選択されたと判断した場合(S16:YES)、年齢設定処理を実行する(S22)。CPU5は、年齢設定処理において、運転者が操作ボタン11で入力した年齢情報をフラッシュメモリ9の個人情報記憶領域91に記憶する。
CPU5は性別、年齢の何れも選択されていないと判断した場合(S16:NO、S17:NO)、体重が選択されたか否か判断する(S18)。体重が選択されたと判断した場合(S18:YES)、体重設定処理を実行する(S23)。CPU5は、体重設定処理において、運転者が操作ボタン11で入力した体重情報をフラッシュメモリ9の個人情報記憶領域91に記憶する。CPU5は性別、年齢、体重の何れも選択されていないと判断した場合(S16:NO、S17:NO、S18:NO)、安静時心拍が選択されたか否か判断する(S19)。安静時心拍が選択されたと判断した場合(S19:YES)、安静時心拍設定処理を実行する(S24)。なお安静時心拍設定処理については後述する。
CPU5は性別、年齢、体重、安静時心拍の何れも選択されていないと判断した場合(S16:NO、S17:NO、S18:NO、S19:NO)、最大心拍が選択されたか否か判断する(S20)。最大心拍が選択されたと判断した場合(S20:YES)、最大心拍設定処理を実行するS(S25)。CPU5は、最大心拍設定処理において、運転者が操作ボタン11で入力した最大心拍情報をRAM7の最大心拍記憶領域73(図3参照)に記憶する。最大心拍は例えば、以下の計算式(1)によって算出するとよい。なお、計算式(1)で求められる最大心拍は一般的な数値である。それ故、実際の運動等で測定された最大心拍がある場合は、その数値を入力するとよい。また入力された年齢からCPU5が計算式(1)に基づいて自動的に算出するようにしてもよい。
・ 最大心拍=220−年齢・・・(1)
なお、CPU5は、性別、年齢、体重、安静時心拍、最大心拍の何れも選択されていないと判断した場合(S16:NO、S17:NO、S18:NO、S19:NO、S20:NO)、S16に戻って処理を繰り返す。CPU5はS21〜S25の各処理の何れかを終了した場合は、本処理を終了し、図7のメイン処理のS11に戻る。
次に、安静時心拍設定処理について、図9を参照して説明する。先ず、CPU5は、図23(a)に示す選択画面(図示略)を表示する(S31)。選択画面には、「手入力」と「測定」の2つの項目が上下に並んで表示される。CPU5は運転者によって手入力が選択されたか否か判断する(S32)。手入力が選択されたと判断した場合(S32:YES)、安静時心拍の入力画面を表示すると共に、操作ボタン11により入力確定の操作がなされたか否か判断する(S33)。入力確定の操作がなされるまでは(S33:NO)、S33に戻り待機状態となる。CPU5は入力確定の操作がなされたと判断した場合(S33:YES)、入力された数値をRAM7の安静時心拍記憶領域74(図3参照)に記憶し(S34)、図8の設定処理のS24を終了する。
CPU5は手入力が選択されていないと判断した場合(S32:NO)、測定が選択されたか否か判断する(S35)。CPU5は手入力、測定の何れも選択されていないと判断した場合(S32:NO、S35:NO)、S32に戻って処理を繰り返す。測定が選択されたと判断した場合(S35:YES)、例えば図23(b)に示す許可画面37を表示し、運転者によって測定開始の操作がなされたか否か判断する(S36)。許可画面37には、例えば「安静時心拍の測定を開始します」のメッセージが表示され、その下側において「はい」「いいえ」の項目が選択可能となる。
CPU5は、運転者によって「はい」が選択され、測定開始の操作がなされるまでは(S36:NO)、S36に戻って待機状態となる。CPU5は、測定開始の操作がなされたと判断した場合(S36:YES)、心拍測定を開始する(S37)。この時、CPU5は例えば「安静時心拍測定中」のメッセージを表示するとよい。さらに測定が終了した場合は例えば「測定しました」というメッセージを表示するとよい。CPU5は測定値をRAM7の安静時心拍記憶領域74に記憶する(S38)。こうしてCPU5は安静時心拍設定処理を終了し、図8の設定処理のS24に戻る。
次に、メーター設定処理について、図10を参照して説明する。先ず、CPU5は、レイアウト選択画面(図示略)を表示部10に表示する(S41)。レイアウト選択画面では、メーター画面で表示する画面の種類を運転者に選択させる。画面の種類として、例えば、分割画面(図24参照)、グラフ画面(図25参照)、セルフトレーナー画面(図26参照)、ワークアウト画面(図27参照)等である。
図24に示す分割画面は、例えば4分割の画面である。上から順に、例えばタイム、速度、距離、心拍の各項目が表示される。分割画面は4分割に限られず、例えば2〜8分割の中から何れか一の分割画面を選択できる。分割する数に応じて表示する項目数が異なる。
図25に示すグラフ画面は、例えば2つのグラフを上下に表示する。上側には例えば走行時間に対する速度変化を示すグラフが表示される。下側には例えば走行時間に対するケイデンス変化を示すグラフが表示される。なおグラフ画面に表示するグラフの種類はこれらに限られず、例えばグラフ選択項目の中から選択できる。また1つのグラフのみを表示することも可能である。
図26に示すセルフトレーナー画面は、例えば自車45と予め設定した目標46との時間差と距離差をグラフィカルに表示する。自車45は実際の走行時間と距離に応じて移動する。目標46は予め設定した目標情報(例えば、目標速度、目標時間等)に応じて移動する。目標情報はフラッシュメモリ9の目標情報記憶領域96(図4参照)に記憶されている。さらに画面の下側には、例えば現在の速度、目標速度、目標時間差、目標距離差等が表示される。
図27に示すワークアウト画面は、例えばワークアウトの設定内容に合わせた表示項目を表示する。例えば上から順に、タイム、コーチング、現ステップ(図27ではステップ1)、次ステップ等の各項目が表示される。コーチングとは、例えば予め設定した速度、ケイデンス、心拍の各ゾーンの中から指定し、ステップ中の画面に表示させる目標値である。各ステップの欄には、例えば各ステップのワークアウトの終了条件等が表示される。
図10に戻り、CPU5は「分割画面」が選択されたか否か判断する(S42)。分割画面が選択されたと判断した場合(S42:YES)、分割設定処理を実行する(S46)。分割設定処理は、メーター画面を分割画面に設定すると共に、画面の分割数、表示項目等を運転者に入力、選択させ、フラッシュメモリ9に記憶する処理である。CPU5は分割設定処理を終了すると、メーター設定処理を終了し、図7のメイン処理のS10に戻る。
また、CPU5は分割画面が選択されていないと判断した場合(S42:NO)、「グラフ画面」が選択されたか否か判断する(S43)。グラフ画面が選択されたと判断した場合(S43:YES)、グラフ設定処理を実行する(S47)。グラフ設定処理は、メーター画面をグラフ画面に設定すると共に、例えばグラフ画面に表示するグラフの種類を運転者に選択させ、選択された内容をフラッシュメモリ9に記憶する処理である。CPU5は例えばグラフ選択項目を表示し、その中から運転者に選択させる。グラフ選択項目として、例えば、速度/時間、速度/距離、ケイデンス/時間、ケイデンス/距離、心拍/時間、心拍/距離、高度/時間、高度/距離、CAD/心拍等が可能である。CPU5はグラフ設定処理を終了すると、メーター設定処理を終了し、図7のメイン処理のS10に戻る。
また、CPU5は分割画面、グラフ画面の何れも選択されていないと判断した場合(S42:NO、S43:NO)、「セルフトレーナー画面」が選択されたか否か判断する(S44)。セルフトレーナー画面が選択されたと判断した場合(S44:YES)、セルフトレーナー設定処理を実行する(S48)。セルフトレーナー設定処理では、メーター画面をセルフトレーナー画面に設定すると共に、例えば目標情報を運転者に入力させ、入力された内容をフラッシュメモリ9の目標情報記憶領域96(図4参照)に記憶する処理である。CPU5はセルフトレーナー設定処理を終了すると、メーター設定処理を終了し、図7のメイン処理のS10に戻る。
また、CPU5は分割画面、グラフ画面、セルフトレーナー画面の何れも選択されていないと判断した場合(S42:NO、S43:NO、S44:NO)、「ワークアウト画面」が選択されたか否か判断する(S45)。ワークアウト画面が選択されたと判断した場合(S45:YES)、ワークアウト設定処理を実行する(S49)。ワークアウト設定処理では、メーター画面をワークアウト画面に設定すると共に、例えばワークアウトの終了条件、ステップ数等のワークアウト情報を運転者に入力させ、入力された内容をフラッシュメモリ9のワークアウト情報記憶領域95(図4参照)に記憶する処理である。CPU5はワークアウト設定処理を終了すると、メーター設定処理を終了し、図7のメイン処理のS10に戻る。
なお、CPU5は分割画面、グラフ画面、セルフトレーナー画面、ワークアウト画面の何れも選択されていないと判断した場合(S42:NO、S43:NO、S44:NO、S45:NO)、S42に戻って処理を繰り返す。
次に、メーター処理について、図11を参照して説明する。先ず、CPU5は、メーター画面について分割設定されているか否か判断する(S51)。分割設定されていると判断した場合(S51:YES)、例えば図24に示す分割画面を表示する(S55)。CPU5は分割設定されていないと判断した場合(S51:NO)、グラフ設定されているか否か判断する(S52)。グラフ設定されていると判断した場合(S52:YES)、例えば図25に示すグラフ画面を表示する(S56)。CPU5は分割設定、グラフ設定の何れもされていないと判断した場合(S51:NO、S52:NO)、セルフトレーナー設定されているか否か判断する(S53)。セルフトレーナー設定されていると判断した場合(S53:YES)、例えば図26に示すセルフトレーナー画面を表示する(S57)。
また、CPU5は分割設定、グラフ設定、セルフトレーナー設定の何れもされていないと判断した場合(S51:NO、S52:NO、S53:NO)、ワークアウト設定されているか否か判断する(S54)。ワークアウト設定されていると判断した場合(S54:YES)、例えば図27に示すワークアウト画面を表示する(S58)。なお、CPU5は分割設定、グラフ設定、セルフトレーナー設定、ワークアウト設定の何れもされていないと判断した場合(S51:NO、S52:NO、S53:NO、S54:NO)、表示部10にエラー表示を行い(S65)、メーター設定処理を終了し、図7のメイン処理のS10に戻る。
そして、CPU5は、各表示画面を表示した後で(S55〜S58)、運転者により操作ボタン11が押されてスタート操作されたか否か判断する(S59)。CPU5は、スタート操作されるまでは(S59:NO)、S59に戻って待機状態となる。CPU5は、運転者によりスタート操作されたと判断した場合(S59:YES)、ロギング処理を開始する(S60)。
ここで、ロギング処理について、図12を参照して説明する。なお本処理はCPU5が定期的に繰り返し実行する処理である。先ず、CPU5は、スピードセンサ21(図1参照)からセンサ受信部14を介して速度情報を取得する(S71)。さらに、ケイデンスセンサ22(図1参照)からセンサ受信部14を介してケイデンス情報を取得する(S72)。さらに、心拍センサ23(図1参照)からセンサ受信部14を介して心拍情報を取得する(S73)。さらに高度計13(図1参照)から自車の高度情報を取得する(S74)。CPU5は、取得した心拍情報、速度情報、ケイデンス情報、及び高度情報を、RAM7の心拍ログ情報記憶領域75、速度ログ情報記憶領域76、ケイデンスログ情報記憶領域77、高度ログ情報記憶領域78等に夫々記憶する(S75)。
図11のメーター処理に戻り、ロギング処理(S60)が開始されると、例えば、図24〜図27に示すように、ロギング処理で取得された速度ログ情報、ケイデンスログ情報、心拍ログ情報、及び高度ログ情報が、表示部10を各画面に反映して表示する。次いで、CPU5は運転者により操作ボタン11が押下されて終了操作されたか否か判断する(S62)。CPU5は終了操作されるまでは(S62:NO)、S61に戻って表示を随時更新する。CPU5は運転者により終了操作されたと判断した場合(S62:YES)、ロギング処理を終了する(S63)。そして、CPU5はRAM7に記憶された各種ログ情報を、西暦日時の情報と対応付けてフラッシュメモリ9の履歴ログ情報記憶領域92(図4参照)に記憶する(S64)。CPU5はメーター処理を終了し、図7のS7に戻る。
次に、トレーニング処理について、図13を参照して説明する。なお以下説明では、例えば複数の選手達が自転車トレーニングを一緒に実施する場合を想定して説明する。先ず、CPU5はレベル選択画面を表示部10に表示する(S81)。例えば、図28に示すように、レベル選択画面では、例えば5つのトレーニングレベルが選択可能である。上から順に、例えば「回復レベル」、「基礎的持久力レベル」、「発展レベル」、「頂点レベル」、「標準レベル」の項目が表示される。運転者は5つの項目の中から目的とするトレーニングレベルを選択する。
CPU5は運転者によって一の項目が操作ボタン11により選択され、選択確定の操作がなされたか否か判断する(S82)。CPU5は選択確定の操作がなされるまでは(S82:NO)、S82に戻って待機状態となる。CPU5は選択確定の操作がなされたと判断した場合(S82:YES)、その選択されたトレーニングレベルの理想心拍曲線のグラフ情報を、フラッシュメモリ9に記憶された理想心拍曲線テーブル931(図5参照)から取得する(S83)。例えば、回復レベルの項目が選択された場合、CPU5は理想心拍曲線テーブル931から理想心拍曲線Aのグラフ情報を取得する。
次いで、CPU5は選択されたトレーニングレベルは標準レベルか否か判断する(S84)。運転者が例えば自己の基礎体力に合わせたトレーニングをしたい場合、標準レベルを選択するとよい。標準レベルの理想心拍曲線Eは、例えば図29に示すような通常の心拍分布を示すものである。CPU5は標準レベルが選択されたと判断した場合(S84:YES)、グラフ修正処理を実行する(S85)。グラフ修正処理は、例えば運転者の安静時心拍と最大心拍に基づき、理想心拍曲線Eを修正する処理である。なお、CPU5は、標準レベルが選択されていないと判断した場合(S84:NO)、グラフ修正処理をせずに、次ステップ(S86)を実行する。
ここで、グラフ修正処理について、図14を参照して説明する。先ず、CPU5は、RAM7の最大心拍記憶領域73(図3参照)に記憶された最大心拍を取得する(S111)。次いで、CPU5は、RAM7の安静時心拍記憶領域74(図3参照)に記憶された安静時心拍を取得する(S112)。そして、CPU5は取得した最大心拍と安静時心拍に基づき、理想心拍曲線の基準心拍を算出する(S113)。基準心拍とは、心拍曲線において全走行時間に占める割合が最も高い心拍をいう。例えば、基準心拍と安静時心拍との差をX1(本発明の「第1差分」に相当)、最大心拍と基準心拍との差をX2(本発明の「第2差分」に相当)とした場合に、X1:X2=1:1.5となるように基準心拍を算出する。例えば最大心拍が185bpm、安静時心拍が85bpmであった場合、基準心拍は125bpmとなる。なお最大心拍のみで基準心拍を算出してもよい。例えば最大心拍に2/3を乗じた値を基準心拍としてもよい。そして、CPU5は算出した基準心拍を元に理想心拍曲線Eを移動修正する(S114)。
次いで、CPU5はS83で取得した理想心拍曲線のグラフ情報に基づき、理想の心拍グラフを表示部10に表示する(S86)。運転者は表示部10に表示された目的とするトレーニングレベルの理想心拍曲線を走行前に確認できる。それ故、心拍を指標としたトレーニング目標が明確になる。次いで、CPU5は、運転者によって操作ボタン11が押下され、走行開始の操作がなされたか否か判断する(S87)。CPU5は、走行開始の操作がなされるまで(S87:NO)、S87に戻って待機状態となる。
CPU5は、運転者によって走行開始の操作がなされたと判断した場合(S87:YES)、上記のロギング処理(図12参照)を開始する(S88)。さらにCPU5は、他者ログ情報受信処理を開始する(S89)。他者ログ情報受信処理は、他の選手の各種ログ情報を定期的に受信する処理である。
ここで他者ログ情報受信処理について、図15を参照して説明する。他者ログ情報受信処理は定期的に実行する処理である。先ず、CPU5は、他の選手達が乗車する各自転車に取り付けられた他のサイコン40(図1参照)に対して、ログ情報要求信号を送信する(S121)。他のサイコン40はログ情報要求信号を受信すると、今回のトレーニングで走行開始してから現在までの各種ログ情報をメモリから抽出し、サイコン1に返信する。
CPU5は他のサイコン40から各種ログ情報を受信したか否か判断する(S122)。ログ情報を受信するまでは(S122:NO)、S122に戻って待機状態となる。CPU5は他のサイコン40からログ情報を受信したと判断した場合(S122:YES)、受信したログ情報を他のサイコン40の識別情報と共にRAM7に記憶し(123)、他者ログ情報受信処理を終了する。
図13に戻り、CPU5は、走行開始から所定時間が経過したか否か判断する(S90)。所定時間が経過するまでは(S90:NO)、S90に戻って待機状態となる。CPU5は所定時間が経過したと判断した場合(S90:YES)、RAM7の心拍ログ情報記憶領域75(図3参照)に記憶された心拍ログ情報を取得する(S91)。そして、CPU5は取得した心拍ログ情報に基づき、心拍曲線を作成する(S93)。さらに作成した心拍曲線のグラフを、表示部10に先に表示された理想心拍曲線に重ねて表示する(S94)。
例えば、図30に示すように、表示部10には、目的とするトレーニングレベルの理想心拍曲線と、運転者であるAさんの今回のトレーニングの心拍曲線とが重ねて表示される。例えば、Aさんの心拍曲線は、理想心拍曲線よりも全体的に心拍が低いことが一目瞭然である。つまり、目的とするトレーニングレベルで見れば運動強度が足りないことがわかる。そこでAさんはペダルをさらに漕いで心拍を上げるように努めるので、Aさんの心拍曲線は理想心拍曲線に徐々に近付くことになる。
図13に戻り、次いで、CPU5は、これまでの走行時間と心拍とから乳酸値を算出し、表示部10にさらに表示する(S95)。なお乳酸値は計算式で算出するようにしてもよいし、走行時間と心拍と乳酸値とを対応づけたテーブル等で決定するようにしてもよい。乳酸は、疲労の指標となる。それ故、運転者は現在の乳酸値を随時確認することにより、現在の体の疲労状況を把握できる。そして、CPU5は他者心拍反映処理を実行する(S96)。
ここで、他者心拍反映処理について、図16を参照して説明する。先ず、CPU5は、RAM7に記憶された例えばBさんのログ情報から他者心拍ログ情報を抽出して取得する(S131)。他者心拍ログ情報は心拍のログ情報である。次いで、CPU5は取得した他者心拍ログ情報に基づき、今回の走行時間に占める心拍割合を算出し(S132)、Bさんの他者心拍曲線を作成する(S133)。そして、図31に示すように、作成したBさんの他者心拍曲線を、Aさんの心拍曲線と理想心拍曲線に重ねて表示する(S34)。これにより、Aさんは、Bさんの運動状態(本実施形態では心拍)が確認できるので、例えばレースの駆け引きができる。さらにはトレーニング意欲もかき立てられる。またBさんの心拍に異常があった場合にはBさんに対して迅速に対応できる。CPU5は、他者心拍反映処理を終了し、図13のトレーニング処理のS96に戻る。次いで、CPU5はアシスト処理を実行する(S97)。
ここで、アシスト処理について、図17を参照して説明する。先ず、CPU5は、理想心拍曲線の基準心拍を特定して取得する(S141)。次いで、CPU5は、Aさんの心拍曲線の基準心拍を特定して取得する(S142)。そしてCPU5は取得した2つの基準心拍の誤差を算出する(S143)。例えば、理想心拍曲線の基準心拍が150bpmで、今回のAさんの心拍曲線の基準心拍が125bpmであった場合、誤差は−17%である(例えば小数点以下は四捨五入)。
次いで、CPU5は算出した誤差について、フラッシュメモリ9に記憶された支援音声テーブル941(図6参照)を参照して誤差レベルを判定する(S144)。誤差が−17%であるので、誤差レベルは−2である。さらにCPU5は、支援音声テーブル941を参照して支援音声を決定する(S145)。誤差レベルが−2であるので、支援音声を「もっと速く!!」に決定する。そしてCPU5は決定した支援音声をスピーカ12(図1参照)から出力する。Aさんはスピーカ12から出力される「もっと速く!!」の音声を聞くことで、ペダルをさらに漕ぎ、速度を上げるように努めるので、自己の心拍を目的とするトレーニングレベルに徐々に合わせることができる。なお音声に加え、例えば図30に示すように、「もっと速く!!」のメッセージを表示するようにしてもよい。また音声に替えて、メッセージを表示するようにしてもよい。CPU5はアシスト処理を終了し、図13のトレーニング処理のS97に戻る。
そして、CPU5は、運転者によって操作ボタン11が押され、走行終了の操作がなされたか否か判断する(S99)。走行終了の操作がなされるまでは(S99:NO)、S90に戻って処理を繰り返す。CPU5は走行終了の操作がなされたと判断した場合(S99:YES)、ロギング処理を終了し、RAM7に記憶された各種ログ情報を、フラッシュメモリ9の履歴ログ情報記憶領域92に履歴ログ情報として記憶する(S101)。こうしてCPU5はトレーニング処理を終了し、図7のメイン処理のS9に戻る。
次に、データ管理処理について、図18を参照して説明する。先ず、CPU5は、フラッシュメモリ9の履歴ログ情報記憶領域92(図4参照)に記憶された履歴ログ情報に基づき、履歴一覧を表示部10に表示する(S151)。ここでは例えば自転車トレーニングを実践したときの西暦と日時の日付情報が一覧となって表示部10に表示される。運転者は表示部10に表示された履歴一覧の中から何れか一つの履歴日時を選択し、操作ボタン11を押下して選択確定の操作を行う。CPU5は運転者によって選択確定の操作がなされたか否か判断する(S152)。選択確定の操作がなされるまでは(S152:NO)、S152に戻り待機状態となる。
CPU5は選択確定の操作がなされたと判断した場合(S152:YES)、その選択された履歴日時の履歴ログ情報をフラッシュメモリ9の履歴ログ情報記憶領域92から取得する(S153)。さらにCPU5は取得した履歴ログ情報に基づき、例えば速度、ケイデンス、心拍、高度等の最大値、最小値、平均値を各々算出し、これらを特徴情報としてRAM7の特徴情報記憶領域80(図3参照)に記憶する(S154)。なお、特徴情報として、累積値を算出して含めてもよい。
次いで、CPU5はグラフ種別選択画面(図示略)を表示部10に表示する(S155)。グラフ種別選択画面には、例えば「グラフ」、「ヒストグラム」の2つの項目が表示される。運転者は表示部10に表示された2つの項目の中から何れか一つの項目を選択し、操作ボタン11を押下して選択確定の操作を行う。
そして、CPU5は運転者によってグラフが選択されたか否か判断する(S156)。グラフが選択された場合(S156:YES)、種類選択画面を表示部10に表示する。図32に示すように、種類選択画面には、例えば折れ線グラフで表示できる複数のグラフ表示項目が表示される。例えば、速度/時間、速度/距離、ケイデンス(CAD)/時間、CAD/距離、心拍/時間、心拍/距離、高度/時間、高度/距離、CAD/心拍の10種類である。運転者は表示部10に表示された10種類のグラフ表示項目の中から何れか一つの項目を選択し、操作ボタン11を押下して選択確定の操作を行う。
次いで、CPU5は運転者によって選択されたグラフ表示項目に対応する折れ線グラフを表示する(S159)。例えば、速度/時間のグラフ表示項目が選択された場合、図33に示すグラフが表示される。例えば、速度/時間のグラフ表示項目が選択された場合、図34に示すグラフが表示される。例えば、速度/距離のグラフ表示項目が選択された場合、図35に示すグラフが表示される。例えば、ケイデンス/心拍のグラフ表示項目が選択された場合、図36に示すグラフが表示される。この種々の組み合わせでグラフ表示ができるので、様々な状況下での分析が可能である。なお、組合せする項目については上記の補他にも、例えば乳酸値、パワー、風速、気温、湿度、ギア比、勾配、体重、体脂肪率等を組み合わせてグラフ表示してもよい。そして、図33〜図36に示すように、CPU5は各グラフの内側に、RAM7の特徴情報記憶領域80(図3参照)に記憶された特徴情報に基づき、各測定値の最大値、最小値、平均値を表示する。これにより運転者は過去のトレーニングについてより詳細な分析が可能となる。
そして、CPU5は運転者によって操作ボタン11が押下され、終了操作がなされたか否か判断する(S161)。終了操作がなされたと判断するまでは(S161:NO)、S159に戻って、折れ線グラフを継続して表示する。CPU5は終了操作がなされたと判断した場合(S161:YES)、データ管理処理を終了し、図7のメイン処理のS8に戻る。
他方、CPU5はグラフが選択されていないと判断した場合(S156:NO)ヒストグラムが選択されたか否か判断する(S158)。CPU5は、グラフ、ヒストグラムの何れも選択されていないと判断した場合(S156:NO、S158:NO)、S156に戻って処理を繰り返す。CPU5はヒストグラムが選択されたと判断した場合(S158:YES)、ヒストグラム処理を実行する(S160)。
ここで、ヒストグラム処理について、図19を参照して説明する。先ず、CPU5は、種類選択画面(図示略)を表示部10に表示する(S171)。種類選択画面には、例えば、「速度」、「ケイデンス」、「心拍」の3項目が表示される。運転者は表示部10に表示された3項目の中から何れか一つの項目を選択し、操作ボタン11を押下して選択確定の操作を行う。
そして、CPU5は速度が選択されたか否か判断する(S172)。速度が選択されたと判断した場合(S172:YES)、フラッシュメモリ9の履歴ログ情報記憶領域92から選択された履歴日時の速度ログ情報を抽出して取得する(S175)。CPU5は取得した速度ログ情報に基づき、全走行時間における速度分布を算出する(S176)。CPU5は算出した速度分布に基づき、例えば図37に示すような速度ヒストグラムを表示部10に表示する(S177)。
また、CPU5は速度が選択されていないと判断した場合(S172:NO)、ケイデンスが選択されたか否か判断する(S173)。ケイデンスが選択されたと判断した場合(S173:YES)、フラッシュメモリ9の履歴ログ情報記憶領域92から選択された履歴日時のケイデンスログ情報を抽出して取得する(S179)。CPU5は取得したケイデンスログ情報に基づき、全走行時間におけるケイデンス分布を算出する(S180)。CPU5は算出したケイデンス分布に基づき、図37と同様のケイデンスヒストグラム(図示略)を表示部10に表示する(S181)。
また、CPU5は速度、ケイデンスの何れも選択されていないと判断した場合(S172:NO、S173:NO)、心拍が選択されたか否か判断する(S174)。心拍が選択されたと判断した場合(S174:YES)、フラッシュメモリ9の履歴ログ情報記憶領域92から選択された履歴日時の心拍ログ情報を抽出して取得する(S182)。CPU5は取得した心拍ログ情報に基づき、全走行時間における心拍分布を算出する(S183)。CPU5は算出した心拍分布に基づき、図37と同様の心拍ヒストグラム(図示略)を表示部10に表示する(S184)。このように「速度」、「ケイデンス」、「心拍」の3つのヒストグラムの何れかを表示部10に表示できるので、運転者は全走行時間における各測定値の分布を明確に把握できる。
CPU5は運転者によって操作ボタン11が押下され、終了操作がなされたか否か判断する(S178)。終了操作がなされたと判断するまでは(S178:NO)、S178に戻って、各ヒストグラムを継続して表示する。CPU5は終了操作がなされたと判断した場合(S178:YES)、ヒストグラム処理を終了し、図18のデータ管理処理のS160に戻る。そして、CPU5はデータ管理処理を終了し、図7のメイン処理のS8に戻る。
こうして図7のメイン処理に戻り、CPU5は各処理を終了すると、電源がオフされたか否か判断する(S12)。CPU5は電源がオフされていないと判断した場合(S12:NO)、S1に戻って処理を繰り返す。CPU5は電源がオフされたと判断した場合(S12:YES)、サイコン1のそれまでの設定内容をフラッシュメモリ9に保存し(S13)、メイン処理を終了する。
以上説明したように、本実施形態のサイコン1では、今回のトレーニングの走行時間における心拍分布である心拍曲線と、目的とするトレーニングレベルに応じた全走行時間における理想的な心拍曲線である理想心拍曲線とを、表示部10に比較可能に表示できる。運転者は表示部10に表示された今回の心拍曲線が理想心拍曲線と一致するように走行速度を調節することにより、目的とするトレーニングレベルを適切に実践できる。
また本実施形態では特に、運転者は自己の運動状態と、自己が目的とするトレーニングレベルに応じた理想の運動状態と比較できる。自転車のトレーニングレベルは様々であり、例えば、有酸素運動レベル、無酸素運動レベル等に代表される。これらレベルによって理想とする運動状態はそれぞれ異なる。本態様は自己の運動状態が理想の運動状態とあっているか否かを、運転者のトレーニングレベルに応じた理想の運動状態と比較可能に出力できる。
また本実施形態では特に、一回のトレーニング毎の運動状態を管理する為に、フラッシュメモリ9には、自転車の一回の全走行時間に占める理想の心拍の情報である理想心拍曲線のグラフ情報を、複数のトレーニングレベル毎に記憶している。運転者は、今回のトレーニング時間に占める心拍の情報である心拍曲線のグラフ情報を、理想心拍曲線と比較できる。それ故、例えば、今回のトレーニングが目的とするトレーニングレベルでは理想の運動状態とどの程度離れているか、どうすれば理想の運動状態に近づけることができるかを認識できる。
そしてトレーニング中である場合は、走行を開始してから現時点までのトレーニング時間に占める運動状態について、理想運動情報と比較できる。これによりトレーニング中にいかにして理想の運動状態に近づけることができるかをリアルタイムで把握できる。また、今回のトレーニングが終了してからでも理想の運動状態と比較することもできる。その場合、今回のトレーニングについて総括的な評価ができるので、次回のトレーニング計画を立てる際の有効な判断材料として使用することができる。
なお、本発明は上記実施形態に限定されることなく、種々の変形が可能である。例えば頂点レベルは無酸素運動が支配的であるため、乳酸が体内に蓄積され易いと言われる。このような無酸素運動は長時間維持できない。体内に蓄積した乳酸は疲労の原因にもなる。それ故、無酸素運動を実施した後は、回復レベル又は基礎的持久力レベルまで心拍を下げ、体内に蓄積した乳酸を減らして体力を回復させる必要がある。そこで、例えば頂点レベルでトレーニング処理を実行した場合、走行終了の操作を実行した後で(S99:YES)、例えば体力回復ガイド処理を実行する選択肢を設けてもよい。
そこで、体力回復ガイド処理について、図20を参照して説明する。先ず、CPU5は頂点レベルでの全走行時間を取得する(S191)。次いでCPU5は心拍を検出する(S192)。さらに取得した走行時間と、検出した心拍とに基づき、現時点で体内に蓄積している乳酸値を算出し、表示部10に表示する(S193)。これを見た運転者は自己の体の疲労状況を把握できる。次いで、CPU5は目標心拍を表示する(S194)。目標心拍はフラッシュメモリ9等に予め設定可能である。目標心拍は回復レベル又は基礎的持久力レベル程度の心拍にするとよい。次いで、CPU5はその目標心拍に到達してから走行させる回復時間を決定し、表示部10に表示する(S195)。なお回復時間とは、例えば回復レベルのトレーニングを実行させ、蓄積した乳酸をエネルギー源に回復させる為に必要な時間である。なお回復時間の決定方法については、乳酸値と心拍とから回復時間を特定可能なテーブル等を用いてもよく、又は計算式によって求めてもよい。
次いで、CPU5は運転者によって操作ボタン11が押下され、走行開始の操作がなされたか否か判断する(S196)。走行開始の操作がなされたと判断するまでは(S196:NO)、S196に戻って待機状態となる。CPU5は走行開始の操作がなされたと判断した場合(S196:YES)、心拍センサから心拍データを受信して表示部10に表示する(S197)。次いで、CPU5は心拍が目標心拍まで低下したか否か判断する(S198)。CPU5は心拍が目標心拍まで低下したと判断するまでは(S198:NO)、S197に戻って心拍表示を継続する。
そして、CPU5は心拍が目標心拍まで低下したと判断した場合(S198:YES)、走行時間の計測を開始する(S199)。CPU5は走行時間が回復時間に到達したか否か判断する(S200)。CPU5は走行時間が回復時間に到達したと判断するまでは(S200:NO)、S200に戻って待機状態となる。そしてCPU5は走行時間が回復時間に到達したと判断した場合(S200:YES)、体内の蓄積した乳酸がエネルギー源に変換されたと推測されるので、終了メッセージを表示部20に表示し、本処理を終了する。なお本処理を終了した場合、CPU5は図7のメイン処理のS12に進めばよい。
また、本発明は上記変形例の他にも種々の変更が可能である。例えば、上記実施形態では、運転者の心拍を計測し、今回のトレーニング時間に占める心拍の分布を心拍曲線としてグラフで示すことにより、運転者の運動状態を明確に表示している。運動状態を示す指標として、心拍の他に、例えば速度、ケイデンス等を用いてもよい。つまり、今回のトレーニング時間に占める速度や、ケイデンスの分布をグラフで表示するようにしてもよい。
また上記実施形態では、本発明の電子機器の一例としてサイコン1を説明しているが、本発明の電子機器は専用機であってもよく、さらには例えばPDA機能が付いた多機能携帯電話にも適用可能である。