以下、本発明のリスト装置を、駅伝競技者用の電子腕時計(以下、単に「腕時計」という。)に適用した場合の実施形態について図1〜29を参照して詳細に説明する。尚、以下の実施形態においては、電子腕時計を本発明の適用例として説明するが、競技者に装着可能な装置であれば、適宜適用可能である。また、駅伝だけでなく、トラック競技、水泳、スケート、スキー等におけるリレー競技に使用する電子腕時計としての適用も可能である。
図1は、駅伝等のリレー競技における腕時計の使用例の一例を示す図である。本実施形態において、駅伝のコースは、スタート地点〜第1中継地点の第1区間、第1中継地点〜第2中継地点の第2区間、第2中継地点〜第3中継地点の第3区間、第3中継地点〜ゴール地点の第4区間の4区間に区切られているとする。
4人の走者がチームを組み、第1区間を第1走者が、第2区間を第2走者が、第3区間を第3走者が、第4区間を最終走者が走行する。各走者は、走行前に自分の走者番号と担当する区間の距離(区間距離)とを腕時計に入力する。各中継地点では、第1走者→第2走者、第2走者→第3走者、第3走者→最終走者といった順で次ぎの走者へ襷を渡していく。
各走者が装着する腕時計には、現在時刻の他に、前走者の区間タイムや、装着者の走行中の区間タイム、累積タイムが表示更新される。腕時計は、区間タイムや累積タイムの表示更新を実現するために、次の走者の腕時計に対して計測データの送信を行っている。ここで、腕時計1a〜1dの動作の概要を簡単に説明すると次のようになる。尚、図1の腕時計1a〜1dはそれぞれ同様の回路構成を備えるものである。
先ず、第1走者の指示操作に応じて、腕時計1aは第1走者の区間タイムの計時を行う。そして、第1走者が第1中継地点に近づくと、腕時計1aは、第1走者の区間タイム等のデータを含んだ計測データを第2走者が装着する腕時計1bに送信する(図1(1))。
腕時計1bは、腕時計1aから送信された計測データを受信した後、第2走者の区間タイムの計時を開始すると共に、当該データ中の第1走者の区間タイムを計時更新することで累積タイム(累計時間)の計時を開始する。続いて、第2走者が第2中継地点に近づくと、腕時計1bは、腕時計1aから受信した第1走者の計測データと、自機で計測した第2走者の計測データとを腕時計1cに送信する(図1(2))。
腕時計1cは、腕時計1bから送信された第1走者及び第2走者の計測データを受信した後、第3走者の区間タイムの計時を開始すると共に、第2走者の計測データに含まれる累積タイムを計時更新する。第3走者が第3中継地点に近づくと、腕時計1cは、腕時計1bから受信した第1走者及び第2走者の計測データと、第3走者の計測データとを腕時計1dに送信する(図1(3))。
腕時計1dは、腕時計1cから送信された第1走者、第2走者及び第3走者の計測データを受信した後、最終走者の区間タイムの計時を開始すると共に、第3走者の計測データに含まれる累積タイムを計時更新する。最終走者がゴール地点に到着すると、腕時計1dは区間タイム及び累積タイムの計時を終了する。
腕時計1dは、これらの計測データをもとに後述する駅伝最終データを作成して、腕時計1a〜1cへ配信する(図1(4))。
このようにして、各腕時計には、前走者までの計測データが蓄積記憶されることとなり、前走者の計測データをもとに累積タイムが計時更新されていく。従って、最終走者の腕時計1dには、チーム全体の累積タイムが記憶されているので、区間タイムの合計を計算する必要もなく、容易に累積タイム(総合累積タイム)を知ることができる。
〔第1実施形態〕
先ず、本発明を適用した腕時計1の第1実施形態について説明する。
尚、以下の説明において、腕時計1aの構成要素にはCPU10aやROM20aといったように、腕時計1に対応する構成要素の符号に「a」を付し、腕時計1bの構成要素の符号には「b」を、腕時計1cの構成要素の符号には「c」を、腕時計1dの構成要素には「d」を付して説明するが、基本的には同一の構成であるため、包括的には腕時計1として説明する。
図2は、第1実施形態に係る腕時計1の機能構成の一例を示すブロック図である。同図によれば、腕時計1は、CPU(Central Processing Unit)10と、ROM(Read Only Memory)20と、RAM(Random Access Memory)30と、計時回路部40と、入力部50と、表示部60と、通信制御部70と、速度検出部80とがバス90に接続されて構成される。
CPU10は、入力される指示に応じて所定のプログラムに基づいた処理を実行し、各機能部への指示やデータの入出力を行う。具体的には、CPU10は、入力部50から入力される操作信号に応じてROM20に格納されたプログラムを読み出し、当該プログラムに従って処理を実行する。そして、処理結果を表示するための表示データを表示部60に出力して、当該表示データに基づいた処理結果を表示部60に表示させる。
ROM20は、各種設定処理、各種演算処理等の腕時計1の動作に係る各種プログラムや、腕時計1の備える種々の機能を実現するためのプログラム等を記憶する。RAM30は、CPU10が実行する各種プログラムや、これらプログラムの実行に係るデータ等を一時的に保持する記憶領域である。
計時回路部40は、発振回路部42から出力されるクロック信号を計数して現在時刻を得る。そして、当該現在時刻をCPU10へ出力する。発振回路部42は、水晶発振器等で構成され、常時一定周波数のクロック信号を計時回路部40へ出力する。
入力部50は、各種操作キーやボタン等を備えて構成され、ユーザ(装着者)の入力操作に応じた操作信号をCPU10へ出力する。本実施形態においては、装着者は、走者番号の入力操作や、担当した区間の走行距離の入力操作や、各種処理の開始・終了を指示するための操作等を行う。
表示部60は、LCD(Liquid Crystal Display)等で構成される表示装置であり、現在日時や区間タイム、総合タイム等をデジタル表示する。
通信制御部70は、アンテナ、送信回路及び受信回路等を備えて構成され、CPU10の制御に基づいて、他機との間で近距離無線通信を行う。無線伝送方式は、例えば、赤外線やBluetooth(登録商標)等の伝送方式を適宜採用することとしてよい。
速度検出部80は、自機の装着者の歩行又は走行による移動中の速度を検出(計測)するための機能部であり、加速度センサ等を備えて構成される。速度検出部80は、検出した速度、例えば、分速である1分当たりの速度をCPU10へ出力する。尚、速度を計測する方法はこれに限られたものではなく、例えば、GPS(Global Positioning System)信号受信装置によって受信したGPS信号のドップラーシフトによって速度を計測する公知技術を採用してもよい。
図3(a)は、ROM20のデータ構成の一例を示す図である。同図(a)によれば、ROM20は、第1の駅伝データ管理プログラム200を格納する第1の駅伝データ管理プログラムデータ領域を有する。
第1の駅伝データ管理プログラムは、第1実施形態に係る第1の駅伝データ管理処理(図6〜9参照)を実現するためのプログラムである。CPU10は、ユーザの所定の操作(例えば、ボタンを3秒間継続して押下する操作)を検出すると、第1の駅伝データ管理プログラム200をROM20から読み出して、当該処理を開始する。ここで、第1の駅伝データ管理処理を簡単に説明すると次のようになる。即ち、前走者用の腕時計から送信された計測データを受信し、その計測データに含まれている累積タイムに自機装着者の区間タイムを加算・更新することで、自機装着者における累積タイムを計時していく。そして、自機装着者の走行距離の残りが所定距離に達したなら、計測データを次走者用の腕時計に対して送信する。
図3(b)は、RAM30のデータ構成の一例を示す図である。同図(b)によれば、
RAM30は、自装置走者番号300と、自装置走者走行距離310と、計測データ320と、現走行距離330と、駅伝最終データ340との各データを格納するデータ領域から構成される。
自装置走者番号300は、腕時計1の装着者の走者番号であり、装着者により入力されるデータである。本実施形態においては、1チームは4人の走者から構成されるため、自装置走者番号300として、“1”、“2”、“3”及び“4(最終)”の何れかが自装置走者番号300のデータ領域に設定される。
自装置走者走行距離310は、装着者が担当する区間の距離であり、装着者により入力された区間の距離データが自装置走者走行距離310のデータ領域に格納される。
計測データ320は、第1走者の走行に関するデータとして第1走者の計測データ321を格納するデータ領域と、第2走者の走行に関するデータとして第2走者の計測データ322を格納するデータ領域と、第3走者の走行に関するデータとして第3走者の計測データ323を格納するデータ領域と、最終走者の走行に関するデータとして最終走者の計測データ324を格納するデータ領域とから構成される。
第1走者〜最終走者の計測データ321〜324それぞれは、計測時刻と、区間タイムと、累積タイムと、速度とを対応付けて蓄積的に記憶するデータテーブルである。計測時刻とは、一定時間おき(例えば、1分おき)にCPU10が計時回路部40から取得した現在時刻である。
図4は、計測データ320のデータ構成の一例を示す図である。同図の第1走者の計測データ321には、計測時刻、区間タイム、累積タイム及び速度が対応付けられて格納されている。同図は、第1走者の区間タイム及び累積タイムの計測を、“10:05:35”に開始したことを表している。また、計測開始後、計測時刻、区間タイム、累積タイム及び速度が1分おきに更新・記録されていることを表している。
第1走者用の腕時計1aは、計測前にクリアされた計測データ320aに第1走者のデータ(計測時刻や区間タイム等)を記録・更新していく。しかし、第2走者〜最終走者用の腕時計1b〜1dは、直前の走者の累積タイムを継続して計時更新するために、直前の走者の腕時計から送信される計測データを計測データ320b〜320dとして格納してから、各走者のデータを記録・更新していく。
具体的には、第2走者用の腕時計1bは、第1走者用の腕時計1aから送信された計測データ320aを第2走者用の腕時計1bのRAM30bに計測データ320bとして第1走者の計測データ321を格納するデータ領域に格納する。また、第3走者用の腕時計1cは、第2走者用の腕時計1bから送信された計測データ320bを第3走者用の腕時計1cのRAM30cに計測データ320cとして第1走者用の計測データ321及び第2走者用の計測データ322を格納する領域に夫々格納する。更に、最終走者用の腕時計1dは、第3走者用の腕時計1cから送信された計測データ320cを最終走者用の腕時計1dのRAM30dに計測データ320dとして第1走者の計測データ321、第2走者の計測データ322及び第3走者の計測データ323を格納する領域に夫々格納する。
例えば、第2走者用の腕時計1bは、第1走者用の腕時計1aから送信された計測データ320aを自機の計測データ320bの第1走者の計測データ321のデータ領域に格納する。腕時計1aにおいて生成された計測データ320aには、第1走者の計測データ321aのみに実データが記録されている。このため、腕時計1bが計測データ320aを受信して、RAM30bに格納した計測データ320bは、第1走者の計測データ321bのデータ領域にのみ実データ(図4におけるデータDT1〜DT5)が記録され、第2走者〜最終走者の計測データ322b〜324bのデータ領域はクリアされたままのデータ内容となる。そして、腕時計1bのCPU10bは、後述する第1走者の計測データ321bに対する中継時データDT7の付加を行うことで、データDT1〜DT7を有する計測データ320bが第2走者の計測開始直前に得られる。従って、CPU10bは、第1走者の計測データ321aの最終データDT7内の累積タイムに更に経過時間を加算していくことで、更なる累積タイムの計時を行っていく。
尚、本実施形態においては、計測データ320を4走者分のデータ領域に固定的に分割することとしたが、例えば、次のようにしてもよい。即ち、初期設定時に走行区間数を入力することとし、その走行区間数に応じた走者分のデータ領域を動的に確保することとしてもよい。例えば、走行区間数が“6”と入力された場合は、第1走者から第6走者(最終走者)までの計測データのデータ領域をRAM30に確保することとなる。
現走行距離330は、腕時計1の装着者が走行した距離の合計であり、自装置走者番号300の計測データをもとにCPU10により算出される。具体的には、CPU10は、速度検出部80で検出された1分当たりの速度(m/分)を計測期間おき(例えば、1分おき)に取得する。そして、取得した速度に計測期間(単位:分)を乗算することにより、装着者の計測期間に進んだ距離を算出する。CPU10は、算出した距離を現走行距離330に逐次加算することで、装着者が出発してから現在までに走行した距離を算出する。
駅伝最終データ340は、駅伝最終データ送信処理(図9参照)において作成されるデータテーブル群であり、全走行データ342と、区間タイムデータ344とを有して構成される。駅伝最終データ送信処理とは、最終走者用の腕時計1dにおいて実行される処理であり、計測データ320の計測の終了後に、駅伝最終データ340を作成して、他の腕時計1a〜1cへ配信する処理である。
全走行データ342は、計測時刻、区間タイム、累積タイム及び走者番号との各データを対応付けて格納するデータテーブルである。CPU10は、第1走者〜最終走者の計測データ321〜324をもとに、全走行データ342を作成する。
具体的には、先ず、第1走者の計測データ321の「計測時刻」、「区間タイム」、「累積タイム」、「速度」から成る各レコードに走者番号として「1」を付加し、第2走者の計測データ322の「計測時刻」、「区間タイム」、「累積タイム」、「速度」から成る各レコードに走者番号として「2」を付加する。第1走者の計測データ321中の最終データ(最後のレコード)は、第1走者が第1中継地点に到着したとされる時点のデータであり、第2走者が第1中継地点を出発したとされる時点のデータでもある。そのため、第1走者の計測データ321の最終データが第2走者の出発時のデータでもあることを表すために、第1走者の計測データ321の最終データの走者番号に「2」を追加する。同様の手順で、第2走者の計測データ322の最終データの走者番号に「3」を、第3走者の計測データ323の最終データの走者番号に「最終」追加することで、図5(a)のような全走行データ342を作成する。
図5(a)は、全走行データ342のデータ構成の一例を示す図である。同図(a)は、計測時刻「10:05:35〜10:34:15」が第1走者の計測データ321を、計測時刻「10:34:15〜11:04:10」が第2走者の計測データ322を、計測時刻「11:04:10〜11:29:14」が第3走者の計測データ323を、計測時刻「11:29:14〜12:10:04」が最終走者の計測データ324をもとに作成されたことを表している。この全走行データ342内の最終データの累積タイム(例えば、図5(a)の“02:04:29”)は、チーム全体の走行時間のリレー競技通算時間となる。
区間タイムデータ344は、図5(b)にその一例を示すように、各走者の区間タイムと、チームの総合累積タイムとを格納するデータテーブルである。CPU10は、計測データ320内の各走者の計測データをもとに、区間タイムデータ344を作成する。具体的には、第1走者の計測データ321の最終データの区間タイムを第1走者の区間タイムとして区間タイムデータ344のデータテーブルに格納し、第2走者の計測データ322の最終データの区間タイムを第2走者の区間タイムとして区間タイムデータ344のデータテーブルに格納し、第3走者の計測データ323の最終データの区間タイムを第3走者の区間タイムとして区間タイムデータ344のデータテーブルに格納し、最終走者の計測データ324の最終データの区間タイムを最終走者の区間タイムとして区間タイムデータ344のデータテーブルに格納する。
より具体的に説明すると、第1走者の計測データ321の最終累積タイムは、第1走者の区間タイムであり、第2走者用の腕時計1bのCPU10bが、当該最終累積タイムに第2走者の区間タイムを加算していくことで、第2走者の走行中におけるチーム全体の累積タイムが得られる。このため、第2走者の計測データ322の最終累積タイムは、第1走者の区間タイムに第2走者の区間タイムを加算したタイム、即ち累計時間となる。第3走者用の腕時計1cのCPU10cが、第2走者の最終累積タイムに第3走者の区間タイムを加算していくことで、第3走者の走行中におけるチーム全体の累積タイムが得られる。このため、第3走者の計測データ323の最終累積タイムは、第1走者から第3走者までの区間タイムの累計となる。更に、最終走者の腕時計1dのCPU10dが、当該最終累積タイムに最終走者の区間タイムを加算してくことで、最終走者の走行中におけるチーム全体の累積タイムが得られる。このため、最終走者がゴールした段階での計測データ324の最終累積タイムは、第1走者から最終走者までの区間タイムの累計、即ち通算時間となる。
次に、第1実施形態における腕時計1の第1の駅伝データ管理処理の具体的な動作について図6〜9のフローチャートを用いて説明する。
先ず始めに、図6を用いて第1の駅伝データ管理処理のメイン処理について説明する。CPU10は、第1の駅伝データ管理処理を開始すると、装着者により入力された走者番号を自装置走者番号300としてRAM30に設定する(ステップA1)。そして、続いて入力される区間距離を自装置走者走行距離310としてRAM30に設定した後(ステップA3)、CPU10は計測データ320の初期設定を行う(ステップA5)。具体的には、計測データ320のクリア後、現在時刻を取得して、当該現在時刻を自装置走者番号300の計測データの先頭データの計測時刻として設定する。例えば、第1走者の腕時計1aにおいて現在時刻が“10:05:35”であれば、図4のデータDT1のように計測時刻「10:05:35」が設定され、区間タイム「00:00:00」、累積タイム「00:00:00」、速度「0」と他のデータはクリアされた状態となる。
続いて、腕時計1の装着者が何番目の走者であるかを自装置走者番号300により判定する(ステップA7)。CPU10は、自装置走者番号300が“1”であり第1走者であると判定した場合は第1走者計測処理(ステップA7:“1”→A9)を、自装置走者番号300が“最終”であり最終走者であると判定した場合は最終走者計測処理(ステップA7:“最終”→A13)を、自装置走者番号300が“1”でもなく“最終”でもないと判定した場合は中間走者計測処理(ステップA7:“2〜3”→A11)を開始する。
次に、第1の駅伝データ管理処理のサブルーチンとなる第1走者計測処理、中間走者計測処理及び最終走者計測処理それぞれの具体的な処理について説明する。
先ず始めに、図7を用いて第1走者計測処理について説明する。CPU10は、第1走者計測処理を開始すると、例えば、1分おきに現在時刻の取得と速度の検出とを行い、第1走者の計測データ321の更新を行う。具体的には、取得した現在時刻を計測時刻として第1走者の計測データ321に追加記憶すると共に、検出した速度を計測時刻に対応付けて第1走者の計測データ321に記憶する(ステップB1)。
そして、第1走者の計測データ321のデータ内容を表示部60に表示させる(ステップB3)。CPU10は、ステップB1で検出した速度(m/分)に1分を乗算することで、速度の検出時の直前1分間の走行距離を算出し、その走行距離を現走行距離330に加算する。装着者が担当する区間の距離として設定されている自装置走者走行距離310から現走行距離330を減算した値、即ち、装着者の担当区間の残りの距離を残走行距離とし、当該距離が所定距離(例えば、100m)に到達したか否かを判定する(ステップB7)。
残走行距離が所定距離に到達していないと判定した場合(ステップB7:No)、CPU10は、装着者が区間を走行中であると判断してステップB1の処理へ移行し、第1走者の計測データ321の更新・表示を繰り返す。一方、残走行距離が所定距離に到達したと判定した場合は(ステップB7:Yes)、CPU10は、装着者が第1中継地点(区間終了地点)に到達したものと判断して、計測データ320の送信を開始する(ステップB9)。
CPU10は、第2走者用の腕時計から送信される受信確認信号を受信するまで計測データ320の送信を行う(ステップB11:No→B9)。受信確認信号を受信した場合、CPU10は、計測データ320の送信が完了したと判定して(ステップB11:Yes)、装着者が第1中継地点(区間終了地点)に到達して、第2走者に襷を受け渡したと判断する。
上述したように、CPU10は、残走行距離が例えば100mに到達したと判定してから、計測データ320の送信を開始するため、当該送信の開始から受信確認信号の受信の間も、装着者の走行は続いていることとなる。しかし、ステップB11の処理の時点における計測データ320は、残走行距離が100mに到達した時点でのデータであり、例えば、図4の計測データ320においては、データDT5までが実データとして含まれ、データDT7以降のデータは含まれていない計測データとなる。このため、CPU10は、受信確認信号を受信するまでの間のデータを補完した後に、第1走者計測処理を終了する。
具体的には、現在時刻の取得と速度の検出とを行って、第1中継地点でのデータを第1走者の計測データ321に設定することで、計測データ320の補完を行う(ステップB13)。尚、この受信確認信号を受信して、中継地点に到着したとして計測データ321に設定するデータを、以下「中継時データ」と称することとする。例えば、計測時刻“10:33:35”のときに、残走行距離が100m未満であると判定した場合、CPU10は計測データ320の送信を開始する。そして、送信開始から40秒後に受信確認信号を受信したなら、現在時刻“10:34:15”の取得と速度“255(m/分)”の検出とを行い、図4のように中継時データDT7を第1走者の計測データ321の最後に付加する。尚、中継時データDT7の区間タイム及び累積タイムは、当該データの直前データとなるデータDT5の区間タイム及び累積タイムに経過時間40秒を加算したものである。CPU10は、自装置の計測データに中継時データの付加を行って、当該データを更新した後、第1走者計測処理を終了する。
次に、図7を用いて中間走者計測処理について説明する。CPU10は、中間走者計測処理を開始すると前走者の腕時計から送信される計測データの受信を開始する(データ受信処理;ステップC1)。
計測データの受信が完了した場合(ステップC3:No)、CPU10は、前走者が中継地点に到達して、当該走者から襷を引き継いだと判断する。そして、受信した計測データをRAM30に計測データ320として格納した後、受信確認信号を送信する(ステップC5)。
このときに受信した計測データ320は、前走者の腕時計において残走行距離が100mに達したと判定された時点(上述した第1走者計測処理のステップB7、又は後述するステップC21)におけるデータであるため、この計測データ320には、前走者用の腕時計の送信開始から自機の受信完了時までの前走者のデータが含まれていない。例えば、第2走者用の腕時計1bにおいて受信した計測データは、上述した第1走者計測処理のステップB9において送信開始された計測データ320b、即ち、図4の計測データにおいてはデータDT5までの実データが含まれ、データDT7以降のデータが含まれていない状態の計測データ320bとなる。
このため、CPU10は、前走者の腕時計の計測データの送信開始から自機の受信完了までの間のデータを補完するために、現在時刻を取得し中継時データを作成して、直前走者の計測データの最終データとして付加する(ステップC7〜C11)。
より具体的には、例えば、第2走者用の腕時計1bが受信する計測データ320aは、上述した第1走者計測処理のステップB1で更新記憶された第1走者の計測データ321aを含む計測データ320aである。このため、ステップB13で付加された中継時データDT7は受信時の第1走者の計測データ321aに含まれていない。従って、腕時計1bのCPU10bは、現在時刻を取得して、当該現在時刻とデータDT5の計測時刻との差分をデータDT5の区間タイムに加算し、データDT5の累積タイムに当該差分を加算する。CPU10bは、取得した現在時刻と、加算後の区間タイム及び累積タイムとを中継時データDT7として第1走者の計測データ321bに付加して、当該データを更新する。これにより、第1走者用の腕時計1aで記憶している第1走者の計測データ321aと、第2走者用の腕時計1bで記憶している第1走者の計測データ321bとの整合が取られる。
CPU10は、ステップC11において中継時データの付加を行った後、第1走者計測処理のステップB1と同様に、一定時間おきに現在時刻の取得と速度の検出とを行い、自走者の計測データを更新する(ステップC15)。但し、累積タイムの更新は、直前走者の計測データの最終累積タイム(例えば、第2走者の腕時計1bであれば、第1走者の計測データ321bの最終データの最終累積タイム“00:28:40”)に1分を加算して更新することで、第1走者のスタート時からの走行時間の計時を行う。そして、自走者の計測データの内容を表示部60に表示させた後(ステップC17)、ステップC15において検出した速度に基づいて、当該検出の直前1分間の走行距離を算出して現走行距離330に加算する(ステップC19)。
次いで、残走行距離が所定距離に到達したか否かを判定して(ステップC21)、到達しなかったと判定した場合は(ステップC21:No)、ステップC15の処理へ移行して、計測データの更新・表示を繰り返す。
残走行距離が所定距離に到達したと判定した場合(ステップC21:Yes)、CPU10は、受信確認信号を受信するまで計測データ320の送信を行う(ステップC25:No→C23)。CPU10は、受信確認信号を受信した場合は、計測データ320の送信が完了したと判定する(ステップC25:Yes)。このとき、CPU10は、装着者が中継地点(区間終了地点)に到着し、次走者への襷の受け渡しが完了したと判断して、第1走者計測処理と同様に、現在時刻の取得と速度の検出とを行って、自走者の計測データに中継時データを付加した後(ステップC27)、中間走者計測処理を終了する。
次に、図8を用いて最終走者計測処理について説明する。CPU10は、最終走者計測処理を開始すると中間走者計測処理のステップC1〜C17の処理と同様の処理を行う(ステップD1〜D17)。但し、ステップD13の初期データの設定処理とステップD15の計測データの更新処理とは、最終走者の計測データ324に対して行う。
CPU10は、ステップD19において現走行距離330の加算を行った後、残走行距離が“0”に到達したか否かを判定する(ステップD21)。残走行距離が“0”に到達していないと判定した場合は(ステップD21:No)、装着者が担当区間を走行中であると判断して、計測終了操作(例えば、ボタンを1回押下する操作)が為されたか否かを判定する(ステップD23)。計測終了操作が為されなかったと判定した場合は(ステップD23:No)、ステップD15の処理へ移行し、最終走者の計測データ324の更新・表示を繰り返す。
ステップD21において残走行距離が“0”に到達したと判定した場合(ステップD21:Yes)、又はステップD23において計測終了操作が為されたと判定した場合(ステップD23:Yes)、CPU10は、装着者がゴール地点に到着したと判断して、現在時刻の取得と速度の検出とを行い、中継時データの作成・付加と同様にゴール時のデータを作成して最終走者の計測データ324に付加した後(ステップD25)、最終走者計測処理を終了する。ここで設定するゴール時のデータは、ステップD15における計測データの更新処理から、ステップD21又はD23における判定処理までの間の計測を補完するためのデータである。
図6において、最終走者計測処理を終了した後、CPU10は、競技終了集計操作である駅伝最終データ受信操作(例えば、ボタンを2回連続して押下する操作)が為されるまで待機する(ステップA19)。そして、当該操作が為されたと判定した場合(ステップA19:Yes)、駅伝最終データ送信処理を開始する。
ここで、図9を用いて第1の駅伝最終データ管理処理のサブルーチンとなる駅伝最終データ送信処理について説明する。
CPU10は、先ず、計測データ320内の第1走者〜最終走者の計測データ321〜324から全走行データ342を作成する(ステップE1)。そして、第1走者〜最終走者の計測データ321〜324それぞれに記録されている最終データから区間タイムを取得し、取得した区間タイムそれぞれを区間タイムデータ344の第1走者〜最終走者区間タイムとして格納し、最終走者の計測データ344の最終データから累積タイムを取得して、当該累積タイムを区間タイムデータ344の総合累積タイムとして格納することで、区間タイムデータ344を作成する(ステップE3)。
次いで、CPU10は、他機から送信される受信確認信号を受信するまで駅伝最終データ340の送信を行う(ステップE7:No→E5)。受信確認信号を受信した場合は、駅伝最終データ340が他機に受信されて、当該データの送信が完了したと判定し(ステップE7:Yes)、駅伝最終データ340の内容を表示部60に表示させた後(ステップE9)、駅伝最終データ送信処理を終了する。
図6において、第1走者計測処理又は中間走者計測処理を終了した後、CPU10は、駅伝最終データ受信操作が為されるまで待機し(ステップA15)、当該操作が為されたと判定した場合(ステップA15:Yes)、駅伝最終データ受信処理を開始する。
ここで、図9を用いて第1の駅伝最終データ管理処理のサブルーチンとなる駅伝最終データ受信処理について説明する。
CPU10は、先ず、他の腕時計から送信される駅伝最終データの受信を行う(ステップF1)。当該データの受信を完了したならば(ステップF3:Yes)、受信した駅伝最終データをRAM30に格納する。そして、受信確認信号を送信して(ステップF5)、駅伝最終データ340の内容を表示部60に表示させた後(ステップF7)、駅伝最終データ受信処理を終了する。CPU10は、駅伝最終データ受信処理又は駅伝最終データ送信処理を終了した後、第1の駅伝データ管理処理を終了する。
図10は、第3走者の走行中に腕時計1cに表示される表示画面の一例であり、図11は、最終走者がゴール後に駅伝最終データ340を送信することにより全走者の腕時計に表示される表示画面の一例である。これらの表示画面が表示されるまでの腕時計1a〜1dの具体的な動作を、図5を参照しつつ説明する。
先ず、第1走者は、腕時計1aに対して走者番号や第1区間の距離を入力して、時刻“10:05:35”にスタート地点を出発する。第1走者が第2走者の待機する第1中継地点に向かって走行している間、腕時計1aには、第1走者の区間タイム及び累積タイム等が表示される(図7のステップB1〜B7→B1に相当)。
そして、時刻“10:33:35”に、第1走者が第1中継地点の手前100m以内の圏内に入ると、腕時計1aにより計測データ320aの送信が開始される(図7のステップB7→B9に相当)。この計測データ320aには、第1走者の計測データ321aのデータ領域のみに実データがあり、第2〜最終走者の計測データ322a〜324aのデータ領域はクリアされている。また、第1走者の計測データ321aには、時刻“10:33:35”までのデータDT1〜DT5が含まれている。計測データ320aの送信開始の40秒後、時刻“10:34:15”に、腕時計1aと腕時計1bの距離が通信可能な距離となり、腕時計1aの計測データ320aの送信と、腕時計1bの当該データの受信とが完了する(図7のステップB11:Yes、ステップC3:Yesに相当)。このとき、腕時計1aにおいては、時刻“10:34:15”における中継時データDT7が付加されて第1走者の計測データ321aが作成される(図7のステップB13に相当)。また、腕時計1bにおいては、第1走者の計測データ320bの先頭に中継時データDT7が設定される(図7のステップC7〜C11に相当)。
第2走者は、第1走者から襷を受け取って、第3走者が待機する第2中継地点に向かって走行する。その間、腕時計1bでは、1分おきに第2走者の区間タイムと累積タイムとの表示更新が行われる(図7のステップC15〜C21→C15に相当)。そして、時刻“11:03:15”に、第2走者が第2中継地点の手前100m以内の圏内に入ると、腕時計1bから計測データ320bの送信が開始される(図7のステップC21→C23に相当)。このときの計測データ320bは、第1〜第2走者の計測データ321b〜322bのデータ領域に実データDT1〜DT11が格納され、第3〜最終走者の計測データ323b〜324bのデータ領域がクリアされた、図4のようなデータ構成となる。
送信開始55秒後、時刻“11:04:10”に、腕時計1bと腕時計1cの距離が通信可能な距離となり、腕時計1bの計測データ320bの送信と、腕時計1cの当該データの受信とが完了する(図7のステップC25:Yesに相当)。このとき、腕時計1bにおいては、中継時データが付加されて第2走者の計測データ322bが作成される(図7のステップC27に相当)。また、第3走者の腕時計1cが受信した計測データに、中継時データは含まれておらず、図4のようなデータ構成であるため、腕時計1c側においても、中継時データが第2走者の計測データ322cに設定される(図7のステップC7〜C11に相当)。
第3走者は、第2走者から襷を受け取って、第4走者が待機する第3中継地点に向かって走行する。その間、腕時計1cには、図11のような第3走者の区間タイムと累積タイム等の表示画面W1が表示される(図7のステップC15に相当)。この表示画面W1には、第1走者の計測データ321cの最終データの区間タイムが第1走者区間タイムTM1として、第2走者の計測データ322cの最終データの区間タイムが第2走者区間タイムTM2として、第2走者の計測データ322cの累計タイムが中間総合タイムTM5として表示されている。このように、前走者の区間タイムや、前走者までの累積タイム(中間総合タイム)が表示されることで、装着者は、これらのタイムを自分のペース配分等の参考にして走行することができる。
また、第3走者の計測データ323cのテーブル内容が図10のように自己記録テーブルTB1として表示される。この自己記録テーブルTB1内の累積タイムは、第2走者までの累積タイムに、第3走者の区間タイムを加算した時間であり、1分おきに追加更新される。従って、装着者は、自己記録テーブルTB1によって走行途中の区間タイムや累積タイムも確認しながら走行することができる。
同様に、第3走者が、時刻“11:29:10”に第3中継地点の手前100m以内の圏内に入ると、腕時計1cから計測データ320cの送信され、その4秒後の時刻“11:29:14”に、腕時計1cと腕時計1dの距離が通信可能な距離となって、腕時計1cの計測データ320cの送信と、腕時計1dの当該データの受信とが完了する(図7のステップC21→C23〜C25:Yes;図8のステップD1〜D3:Yesに相当)。
最終走者は、第3走者から襷を受け取って、ゴール地点に向かって走行する。その間、腕時計1dでは、1分おきに最終走者の区間タイムと累積タイムとの表示が更新される。そして、時刻“12:10:04”に、最終走者が計測終了操作を行うと、最終走者の計測データ323dにゴール時のデータが付加された後、腕時計1dの計測が終了される。このとき、腕時計1dの計測データ320d内の第1走者〜最終走者の計測データ321a〜324dのデータ領域全てに実データが設定されている。尚、計測終了操作を行わずにゴール地点に到着した場合は、最終走者の計測データ324dの更新時に残走行距離が“0”に到達したと判定されて腕時計1dの計測が終了する。
このように、中継地点で待機している走者の腕時計には、直前の走者までの計測データが累積されて送信される。従って、第3中継地点で最終走者用の腕時計1dが受信した計測データには、第1〜第3走者までの計測データが累積されおり、ゴール時には、腕時計1dの計測データ320dのデータ領域には、全走者分の計測データが記憶されていることとなる。
ゴール後、最終走者は腕時計1dに対して駅伝最終データ送信操作を行うと、腕時計1dにおいて図5のような全走行データ342と区間タイムデータ344とが作成されて、これらのデータが腕時計1a〜1cに送信される(図9のステップE1〜E5に相当)。
第1走者は腕時計1aに、第2走者は腕時計1bに、第3走者は腕時計1cに対してそれぞれ駅伝最終データ受信操作を行うと、腕時計1dから送信されている駅伝最終データ340dの受信が開始される。そして、当該データの受信が完了すると、腕時計1a〜1dには、図11のような表示画面W5が表示される(図9のステップE7→E9、F3→F5〜F7に相当)。
従って、各走者は、ゴール時に各腕時計に対して駅伝最終データ受信操作又は駅伝最終データ送信操作を行うだけで、容易に各走者の区間タイムやチーム全体の総合累積タイムを知ることができる。
以上、第1実施形態によれば、腕時計1は、前走者の腕時計から送信された計測データを受信し、受信した計測データ内の累積タイムの計時を引き続き行って、自機装着者の計測データの累積タイムを更新していく。これにより、各走者の腕時計では、第1走者からの現在の走者までの継続した走行時間(累積タイム)の表示が可能となる。従って、装着者は、前走者までの区間タイムを合計することなく、前走者までの累積タイムを容易に確認することができる。
また、受信した計測データに対して自機装着者の計測データを累積して記憶した後、次走者の腕時計に累積記憶した計測データを送信する。従って、各走者の腕時計では、第1走者からの走行時間の累計、即ち直前の走者までの計測データが蓄積されることとなり、最終的に最終走者の腕時計には、全走者の計測データが蓄積されることとなる。この最終走者の腕時計に記憶されている計測データによって、各走者の区間タイムやチーム全体の総合タイムを取得して、他機へ送信する駅伝最終データを作成することができる。このため、区間タイム及び総合累計タイムを確認するために、各走者の腕時計を逐一参照してメモしたり、そのメモした区間タイムを合計して総合累計タイムを算出したりするような煩わしい操作をする必要がなく、容易に各走者の腕時計で区間タイム及び総合累積タイムを確認することができる。
尚、上述した第1実施形態では、検出した速度を用いて1分前の走行距離を算出して現走行距離330を加算・更新することとして説明したが、次のようにしてもよい。即ち、GPS信号受信装置によって現在位置を一定時間おき(例えば、1分おき)に測位し、1分前の位置と現在位置との直線距離を算出して、当該距離を現走行距離330に加算して更新することとしてもよい。
〔第2実施形態〕
次に、本発明を適用した腕時計100の第2実施形態について説明する。腕時計100は、図2の腕時計1のROM20を図12(a)のROM22に、RAM30を図12(b)のRAM32に置き換え、速度検出部80を取り除いた構成である。尚、上述した第1実施形態における腕時計1と同一の構成要素には、同一の符号を付してその説明を省略する。
図12(a)は、ROM22のデータ構成の一例を示す図である。同図(a)によれば、ROM22は、第2の駅伝データ管理プログラム220を格納する第2の駅伝データ管理プログラムデータ領域を有する。第2の駅伝データ管理プログラム220は、第2実施形態に係る第2の駅伝データ管理処理(図15〜17参照)を実現するためのプログラムである。第2の駅伝データ管理処理は、第1の駅伝データ管理処理と同様に、前走者用の腕時計から計測データを受信して、その計測データをもとに更なる累積タイムの計時を行って計測データを更新した後、当該計測データを次走者用の腕時計へ送信する処理である。但し、第2実施形態における計測データの送信は、通信制御部70の近距離無線通信によって、次走者用の腕時計と通信が可能になったと判定した場合に開始される。
図12(b)は、RAM32のデータ構成の一例を示す図である。同図(b)によれば、自装置走者番号300と、計測データ350と、自装置受信成否フラグ360と、自装置送信成否フラグ370と、駅伝最終データ380と、全装置通信成否結果テーブル390との各データを格納するデータ領域から構成される。
計測データ350は、図13にその一例を示すように、第1走者の計測データ351と、第2走者の計測データ352と、第3走者の計測データ353と、最終走者の計測データ354とをそれぞれ格納するデータ領域を有して構成される。計測データ351〜354のそれぞれは、計測時刻と、区間タイムと、累積タイムとを対応付けて蓄積的に記憶するデータテーブルである。計測データ350は、上述した図4の計測データ320内の速度のデータ領域を削除したデータテーブルであるため、その詳細な説明は省略する。
自装置受信成否フラグ360は、前走者用の腕時計から送信される計測データの受信に成功したか否かを識別するためのフラグである。CPU10は、計測データ内の第1走者〜最終走者の計測データ全てを受信した場合は、計測データの受信に成功したと判定して、自装置受信成否フラグ360を「OK」に設定する。また、計測データ内の第1走者〜最終走者の計測データを所定時間内(例えば、1分以内)に完全に受信できなかった場合は、計測データの受信に失敗したと判定して、自装置受信成否フラグ360を「NG」に設定する。
自装置送信成否フラグ370は、次走者用の腕時計に対する計測データ350の送信が成功したか否かを識別するためのフラグである。CPU10は、計測データ350の送信後、所定時間内に受信確認信号を受信した場合は、計測データ350の送信に成功したと判定し、自装置送信成否フラグ370を「OK」に設定する。また、受信確認信号を所定時間内に受信できなかった場合は、計測データ350の送信に失敗したと判定し、自装置送信成否フラグ370を「NG」に設定する。
駅伝最終データ380は、全走行データ382と区間タイムデータ344と有して構成される。第2実施形態における全走行データ382は、計測時刻と、区間タイムと、累積タイムと、走行番号とを対応付けて格納するデータテーブルである。全走行データ382のテーブル構成は、図5(a)に示した第1実施形態の全走行データ342中から速度を削除したデータテーブルに相当するため、その図示は省略する。
全装置通信成否結果テーブル390は、走者番号と、受信成否フラグと、送信成否フラグとの各データを対応付けて格納するデータテーブルである。CPU10は、他の腕時計から送信された自装置走者番号を走者番号として、自装置受信成否フラグを受信成否フラグとして、自装置送信成否フラグを送信成否フラグとして全装置通信成否結果テーブル390のデータ領域に対応付けて格納する。
より具体的には、第1走者〜第3走者用の腕時計1a〜1cのそれぞれが、自装置走者番号300、自装置受信成否フラグ360及び自装置送信成否フラグ370を最終走者用の腕時計1dに対して送信する。腕時計1dでは、各腕時計それぞれから受信した自装置走者番号、自装置受信成否フラグ及び自装置送信フラグを対応付けて、全走者通信成否結果テーブル390のデータ領域に格納する。
図14は、全装置通信成否結果テーブル390のテーブル構成の一例を示す図である。例えば、走者番号「2」には、受信成否フラグ「OK」と、送信成否フラグ「NG」とが対応付けられて格納されている。この受信成否フラグは、第2走者用の腕時計1bが、第1走者用の腕時計1aから送信された計測データ350aの受信には成功したことを表しており、また、送信成否フラグは、第3走者の腕時計1への計測データ350bの送信に失敗したことを表している。尚、走者番号「1」の受信成否フラグ「−」と、走者番号「最終」の送信成否フラグ「−」とは、CPU10によって設定処理が為されなかったことを表している。この全装置通信成否結果テーブル390の作成により、各中継地点における計測データの通信の成否を知ることができる。
次に、第2実施形態における腕時計100の第2の駅伝データ管理処理の具体的な動作について図15〜17のフローチャートを用いて説明する。第2の駅伝データ管理処理は、第1実施形態の第1の駅伝データ管理処理においてサブルーチンとして実行される図6の第1走者計測処理(ステップA9)、中間走者計測処理(ステップA11)、最終走者計測処理(ステップA13)、駅伝最終データ送信処理(ステップA21)及び駅伝最終データ受信処理(ステップA17)が異なるため、それらの異なる各処理について説明する。
先ず、図15を用いて第1走者計測処理について説明する。CPU10は、一定時間おきに現在時刻を取得し、第1走者の計測データ351を更新して(ステップB101)、当該データの内容を表示部60に表示させる(ステップB103)。そして、第2走者用の腕時計から送信された走者番号“2”を受信したか否かを判定し(ステップB105)、受信しなかったと判定した場合は(ステップB105:No)、ステップB101の処理へ移行して第1走者の計測データ351の更新・表示を繰り返す。
走者番号を受信したと判定した場合は(ステップB105:Yes)、次走者用の腕時計との通信が可能になったとして、計測データ350と自装置走者番号300との送信を開始する(ステップB107)。CPU10は、当該送信の開始後、所定時間内に受信確認信号を受信したか否かにより計測データ350及び自装置走者番号300の送信の成否を判定する(ステップB109)。
所定時間内に受信確認信号を受信した場合は送信が成功したと判定して(ステップB109:Yes)、自装置送信成否フラグ370を「OK」に設定する(ステップB111)。また、所定時間内に受信確認信号を受信しなかった場合は(ステップB109:No)、自装置送信成否フラグ370を「NG」に設定する(ステップB113)。
ステップB111又はB113において自装置送信成否フラグ370の設定を行った後、CPU10は、第1実施形態と同様に、現在時刻を取得し、第1走者の計測データ351に中継時データを付加して、当該データを更新した後(ステップB115)、第1走者計測処理を終了する。
次に、中間走者計測処理について説明する。CPU10は、直前走者の走者番号を受信するまで自装置走者番号300の送信を行う(ステップC103→C101)。直前走者の走者番号を受信した場合は(ステップC103:Yes)、走者番号と共に送信されてくる計測データの受信を行う(ステップC105)。
CPU10は、所定時間内に計測データの受信を完了したと判定した場合は(ステップC107:Yes)、自装置受信成否フラグ360を「OK」に設定する(ステップC109)。そして、第1実施形態の中間走者計測処理のステップC5〜C13と同様に、受信確認信号の送信、現在時刻の取得及び中継時データの作成を行い、作成した中継時データを直前走者の計測データに設定する(ステップC111〜C117)。
ステップC107において、所定時間内に計測データの受信を完了できなかったと判定した場合は(ステップC107:No)、CPU10は、自装置受信成否フラグ360を「NG」に設定する(ステップC121)。
ステップC117又はC121の処理後、CPU10は、一定時間おきに現在時刻を取得し、自走者の計測データを更新し、当該データの内容を表示部60に表示させる(ステップC123〜C125)。そして、次走者の走者番号を受信したか否かを判定して(ステップC127)、受信しなかったと判定した場合は(ステップC127:No)、ステップC123の処理へ移行する。
次走者の走者番号を受信したと判定した場合は(ステップC127:Yes)、他機との通信が可能になったとして、計測データ350と自装置走者番号300との送信を開始する(ステップC129)。そして、所定時間内に受信確認信号を受信にしたか否か、即ちデータの送信が成功したか否を判定する(ステップC131)。所定時間内に受信確認信号を受信した場合はデータの送信が成功したと判定して(ステップC131:Yes)、CPU10は、自装置送信成否フラグ370を「OK」に設定する(ステップC133)。また、受信確認信号を受信しなかった場合はデータの送信に失敗したと判定して(ステップC131:No)、自装置送信成否フラグ370を「NG」に設定する(ステップC135)。
CPU10は、ステップC133又はC135の処理後、現在時刻を取得し、自走者の計測データに中継時データを設定した後(ステップC137)、中間走者計測処理を終了する。
次に、図16を用いて最終走者計測処理について説明する。CPU10は、図15の中間走者計測処理とステップC101〜C125と同様の処理を行う(ステップD101〜D125)。尚、ステップD123及びD125の処理は最終走者の計測データ354に対して行う。
ステップD125の処理後、CPU10は、計測終了操作が為されたか否かを判定し(ステップD127)、当該操作が為されなかったと判定した場合は(ステップD127:No)、ステップD123の処理へ移行する。計測終了操作が為されたと判定した場合(ステップD127:Yes)、CPU10は、現在時刻の取得を行い、最終走者の計測データ354にゴール時のデータを設定した後(ステップD129)、最終走者計測処理を終了する。
次に、図17を用いて駅伝最終データ受信処理について説明する。CPU10は、計測データ350と、自装置走者番号300と、自装置送信成否フラグ370と、自装置受信成否フラグ360を最終走者用の腕時計に送信する(ステップE101)。そして、駅伝最終データの受信を開始し、当該データを完全に受信するまで待機する(ステップE105→E111)。
CPU10は、駅伝最終データの受信を完了したならば(ステップE105:Yes)、受信した駅伝最終データをRAM30に駅伝最終データ380として記憶した後、自装置走者番号300と受信確認信号との送信を行い(ステップE107)、駅伝最終データ380の内容を表示部60に表示させた後(ステップE109)、駅伝最終データ受信処理を終了する。
次に、駅伝最終データ送信処理について説明する。CPU10は、各走者の腕時計から送信されてくるデータを受信し、そのデータに含まれる自装置走者番号、自装置受信成否フラグ及び自装置送信成否フラグを対応付けて全装置通信成否結果テーブル390のデータ領域に格納する。また、例えば、第1走者の腕時計から受信した計測データの中から第1走者の計測データを抽出するように、受信した計測データの中から受信した自装置走者番号の計測データを抽出して、自機の計測データ350としてRAM35に格納する(ステップF101)。
そして、全装置通信成否結果テーブル390の内容を表示部60に表示させた後(ステップF103)、CPU10は、当該テーブルをもとにデータ受信した装置の数を算出して、全装置からのデータ受信が終了したか否かを判定する(ステップF105)。
データ受信した装置の数が“4”未満であれば、全装置からデータの受信を終了していないと判定して(ステップF105:No)、ステップF101の処理へ移行する。また、装置数が“4”であれば、全装置からのデータ受信が終了したと判定して(ステップF105:Yes)、各走者の計測データから全走行データ382の作成と(ステップF107)、区間タイムデータ344を作成とを行い、(ステップF109)、作成した全走行データ382と区間タイムデータ344とをRAM34に格納する。
続いて、他の腕時計に対しての送信が完了するまで、駅伝最終データ380の送信を行う(ステップF113:No→F111)。CPU10は、第1〜第3走者の腕時計から送信されてくる自装置走者番号と受信確認信号とを全ての腕時計から受信した場合に、駅伝最終データ380の送信が完了したと判定して(ステップF113:Yes)、駅伝最終データ380の内容を表示部60に表示させて駅伝最終データ送信処理を終了する。
図18は、第2実施形態における腕時計100a〜100dの通信の様子を表す図であり、図19は、最終走者用の腕時計1dの表示画面の一例である。以下、図19の表示画面W5が表示されるまでの、腕時計100a〜100dの具体的な動作を図18を用いて説明する。
先ず、第1走者がスタート地点をスタートし、第1中継地点において第1走者が第2走者に対して襷の引き渡しを行う際、第1走者用の腕時計100aから第2走者用の腕時計100bに対する計測データ350aの送信が行われる。
腕時計100bは、腕時計100aからの計測データ350aの受信に際して、腕時計100aの走者番号“1”を受信するまで第2走者の走者番号“2”を送信する(図15のステップC101に相当)。腕時計100aと腕時計100bとが近距離無線通信が可能な距離まで近づくと、腕時計100aは腕時計100bから送信された走者番号“2”を、腕時計100bは腕時計100aから送信された走者番号“1”を受信することができる。腕時計100aは走者番号“2”を受信できると、計測データ350aの送信を開始する(図15のステップB105→B107に相当)。
腕時計100bは、腕時計100aからの計測データ350aの受信完了後、受信確認信号を送信して、自装置受信成否フラグ360bを「OK」に設定する(図15のステップC105〜C107→C109に相当)。一方、腕時計100aは、腕時計100bから送信された受信確認信号を受信できると、自装置送信成否フラグ370aを「OK」に設定する(図15のステップB109→B111に相当)。
第2中継地点において、第2走者が第3走者に対して襷を引き渡す際、第2走者用の腕時計100bから第3走者用の腕時計100cに対する計測データ350bの送信が行われる。
腕時計100bと腕時計100cとは、上述した腕時計100aと腕時計100b間の通信と同様に、走者番号の通信を行う。そして、近距離無線通信が可能な距離まで近づくと、腕時計100bは計測データ350bの送信を開始する(図15のステップC103→C105、C127→C129に相当)。
しかし、腕時計100cは、腕時計100bとの間の障害物や磁場の影響等によって所定時間内に計測データ350bを受信できなかったとする。この場合は、腕時計100cは、受信確認信号を送信しない。そのため、腕時計100bは、当該信号を受信できないため、自装置送信成否フラグ370bを「NG」に設定する(図15のステップC131→C135に相当)。また、腕時計100cでは、腕時計100bからの計測データ350bを受信できなかったため、自装置受信成否フラグ360cを「OK」に設定する(図15のステップC107→C121に相当)。
続いて、第3中継地点において、第3走者が最終走者に対して襷を引き渡す際、第3走者用の腕時計100cから最終走者用の腕時計100dに対する計測データ350cの送信が行われる。但し、腕時計100cは、腕時計100bから送信された計測データ350bを受信できなかったため、計測データ350cのデータ領域には、第3走者の計測データ353cのみの実データが格納されている。
腕時計100cと腕時計100dとは、上述した腕時計100aと腕時計100b間の通信と同様に、走者番号の通信を行い近距離無線通信が可能な距離まで近づくと、腕時計100cは計測データ350cの送信を開始する(図15のステップC127→C129に相当)。計測データ350cの送信が成功したとすると、腕時計100cの自装置送信成否フラグ370c及び腕時計100dの自装置受信成否フラグ360dは「OK」が設定される(図15のステップC131→C133;図16のステップD107→D109に相当)。
最終走者がゴールに到着後、最終走者用の腕時計100dに記憶されている計測データ350dには、第3走者の計測データ353dと最終走者の計測データ354dとの実データのみが含まれているため、腕時計100dでチームの総合累積タイムを確認することができない。そこで、第1〜第3走者それぞれが腕時計100a〜100cに対して駅伝最終データ受信操作を行うと、腕時計100a〜100cそれぞれから腕時計100dに対して、計測データ、自装置走者番号、自装置受信成否フラグ及び自装置送信成否フラグの送信が為される(図17のステップE101に相当)。
また、最終走者が腕時計100dに対して駅伝最終データ送信操作を行うと、腕時計100dは、腕時計100a〜100cから送信された自装置走者番号、自装置受信成否フラグ及び自装置送信成否フラグを受信して、図14のようなデータ構成の全装置通信成否結果テーブル390として格納する(図17のステップF101に相当)。そして、腕時計100dには、全装置通信成否結果テーブル390の内容が図19のような表示画面W5上に表示される(図17のステップF103に相当)。最終走者は、この表示画面W5の内容によって、各中継地点における通信状態を確認することができる。
その後、第1実施形態と同様に、駅伝最終データ380が腕時計100dによって作成されて、他の腕時計に対して配信される(図17のステップF111に相当)。
以上、第2実施形態によれば、腕時計100は、計測データ350の送信の成否を自装置送信成否フラグ370として設定し、他の腕時計から送信された計測データの受信の成否を自装置受信成否フラグ360として設定する。そして、最終走者用の腕時計が、他の腕時計の計測データや自装置受信成否フラグ及び自装置送信成否フラグを収集して、各中継地点での通信結果を表示すると共に、駅伝最終データを作成して他の腕時計へ送信する。このため、他の腕時計のデータ内容を逐一確認することなく、各中継地点における計測データの通信結果を容易に確認することができる。
〔変形例〕
以上、上述した第2実施形態では、駅伝最終データ送信処理において、腕時計100dは他機が記憶している計測データ全てを受信することとして説明したが、本発明が適用可能な形態はこれに限らず適宜変更することとしてもよい。以下、腕時計100dの計測データ350dの中で不足している計測データのみ(例えば、図18においては第1走者及び第2走者の計測データ)を他の腕時計から受信する場合の変形例を図20及び21を用いて説明する。
尚、変形例における第2の駅伝データ管理処理は、上述した第2実施形態の駅伝最終受信データ受信処理及び駅伝最終データ送信処理を、図20の駅伝最終データ受信処理及び駅伝最終データ送信処理に置き換えた処理であるため、第2の駅伝データ管理処理のサブルーチンとなる第1走者計測処理、中間走者計測処理及び最終走者計測処理の説明は省略する。
先ず、図20を用いて駅伝最終データ受信処理について説明する。CPU10は、自装置走者番号300、自装置送信成否フラグ370及び自装置受信成否フラグ360を最終走者用の腕時計100dに送信する(ステップE201)。そして、腕時計100dからの計測データの送信要求を受信したか否かを判定し(ステップE203)、送信要求を受信したと判定した場合は(ステップE203:Yes)、計測データ350を送信する(ステップE205)。
次いで、計測データ350中にデータの不足があるか否かを判定する(ステップE207)。CPU10は、計測データ350内のデータを参照して、空の計測データがあれば計測データに不足があると判定して(ステップE207:Yes)、不足している計測データ(不足データ)の送信要求を腕時計100dへ対して送信する(ステップE209)。そして、最終走者用の腕時計100dから送信される不足データを受信して、計測データ350内に格納する(ステップE211)。その後、CPU10は、図17のステップE103〜E109の処理と同様の処理を行った後(ステップE213〜E219)、駅伝最終データ受信処理を終了する。
次に、駅伝最終データ送信処理について説明する。CPU10は、他の腕時計から送信される自装置走者番号、自装置受信成否フラグ及び自装置送信成否フラグを受信し、全装置通信成否結果テーブル390として格納する(ステップF201)。そして、当該テーブルに基づいて、他の腕時計が保有している計測データを解析し、その解析結果に応じて自機に不足している計測データの送信要求の送信を行う(ステップF203)。
ここで、計測データの解析方法について簡単に説明すると次のようになる。図14の全装置通信成否結果テーブル390において、走行番号“3”のデータを参照すると受信成否フラグが「NG」であるため、第3走者用の腕時計100cは、第2走者用の腕時計100bからの計測データに受信に失敗したということになる。このため、第3走者用の腕時計100cの第1走者の計測データ351c及び第2走者の計測データ352cのデータ領域には実データが格納されておらず、第3走者の計測データ353cのデータ領域のみに実データが保有されていることになる。また、走行番号“2”のデータを参照すると、受信フラグが「OK」であるため、第2走者用の腕時計100bは、第1走者用の腕時計100aからの計測データに受信に成功したことになる。このため、腕時計100bには、第1走者の計測データ351b及び第2走者の計測データ352bのデータ領域に実データが保有されていることになる。
このようにして、図21のような解析結果が導出される。同図において、例えば、走行番号“3”のデータの「×」は、第3走者用の腕時計100cには、第1及び第2走者の計測データの受信には失敗したためにこれらのデータが格納されていないことを表している。また、「○」は、第3走者の計測データの受信に成功し当該データが格納されていることを表している。また、「−」は、最終走者の計測データの受信処理は行っていないために当該データを格納していないことを表している。腕時計100dのCPU10dは、自機に不足しているデータの第1及び第2走者の計測データを保有している腕時計は、同図の解析結果から腕時計100bであると判断して、腕時計100bに対してデータの送信要求を行う。
CPU10は、ステップF203のデータの送信要求の後、全走者の計測データのうち不足分のデータを他の腕時計から受信・取得して、計測データ350内に格納する(ステップF205)。そして、他の腕時計から計測データの送信要求を受信したならば、当該送信要求に応じた計測データを計測データ350中から選択して送信する(ステップF207)。例えば、第3走者用の腕時計100cから第1及び第2走者の計測データの送信要求を受信した場合は、計測データ350中から第1走者の計測データ351及び第2走者の計測データ352を選択して腕時計100cに送信する。そして、図17のステップF107〜F115と同様の処理(ステップF209〜F217)を行った後、CPU10は、駅伝最終データ送信処理を終了する。
このように最終走者用の腕時計100dは、他の腕時計から送信される自装置送信成否フラグ及び自装置受信成否フラグに基づいて、各装置の保有している計測データを解析して、その解析結果に応じて、自機に不足しているデータのみを受信する。このため、腕時計100a〜100cは、腕時計100dが必要とする計測データのみを送信すればよいため、腕時計間の通信のデータ容量を低減させることができる。
また、例えば、腕時計100cにおいて、第1及び第2走者の計測データが不足しており、腕時計100dは、腕時計100cの不足しているデータを送信する(図20のステップF207に相当)。このため、各腕時計は、計測データの通信の成否に関わらず、最終的に計測データの通信に成功した場合の計測データと同等の計測データを得ることができる。
〔第3実施形態〕
次に、本発明を適用した腕時計400の第3実施形態について説明する。腕時計400は、図2の腕時計1のROM20を図23(a)のROM24に、RAM30を図23(b)のRAM34に、速度検出部80を位置検出部110に置き換えた構成である。尚、上述した第1実施形態における腕時計1と同一の構成要素には、同一の符号を付してその説明を省略する。
図22は、腕時計400の機能構成の一例を示すブロック図である。同図によれば、腕時計400は、CPU10と、ROM24と、RAM34と、計時回路部40と、入力部50と、表示部60と、通信制御部70と、位置検出部110とを備えて構成される。
位置検出部110は、GPS(Global Positioning System)衛星500から送信されるGPS信号を受信するためのGPS信号受信装置を備えて構成され、受信したGPS信号に基づいて現在位置(緯度、経度)を測位する公知の装置である。
図23(a)は、ROM24のデータ構成の一例を示す図である。同図(a)によれば、ROM24は、第3の駅伝データ管理プログラム240を格納する第3の駅伝データ管理プログラムデータ領域を有する。第3の駅伝データ管理プログラム240は、第3実施形態に係る第3の駅伝データ管理処理(図25〜27参照)を実現するためのプログラムである。第3の駅伝データ管理処理は、第1の駅伝データ管理処理と同様に、前走者の腕時計から計測データを受信して、その計測データをもとに更なる累積タイムの計時を行った後、計測データを次走者の腕時計へ送信する処理である。但し、第3実施形態における計測データの送信は、位置検出部110により測位された現在位置が、次走者との中継位置と一致した場合に開始される。
図23(b)は、RAM34のデータ構成の一例を示す図である。同図(b)によればRAM34は、自装置走者番号300と、計測データ305と、駅伝最終データ384と、出発地点位置308、区間終了地点位置307と、現在位置306との各データを格納するデータ領域から構成される。
計測データ305は、図24にその一例を示すように、第1走者の計測データ301と、第2走者の計測データ302と、第3走者の計測データ303と、最終走者の計測データ304とをそれぞれ格納するデータ領域を有して構成される。第1走者〜最終走者の計測データ301〜304のそれぞれは、計測時刻と、区間タイムと、累積タイムと、通過位置とを対応付けて蓄積的に記憶するデータテーブルである。通過位置とは、一定時間おき(例えば、1分おき)にCPU10が位置検出部110から取得した現在位置であり、緯度と経度を有して構成される。
駅伝最終データ384は、全走行データ386と区間タイムデータ344とをそれぞれ格納するデータ領域を有して構成される。第3実施形態における全走行データ384は、計測時刻と、区間タイムと、累積タイムと、通過位置と、走者番号とを格納するデータテーブルである。全走行データ384のテーブル構成は、第1実施形態における図5の全走行データ342の「速度」のデータを「通過位置」に置き換えたデータテーブルに相当する。
出発地点位置308は、装着者の担当する区間の出発地点、即ち、スタート地点又は装着者が待機する中継地点の位置情報(例えば、緯度、経度)であり、区間終了地点位置307は、装着者の担当する区間の終了地点、即ち、次走者が待機する中継地点又はゴール地点の位置情報である。装着者は、第3の駅伝データ管理処理の開始時に、担当区間の出発地点と終了地点との位置の入力を行う。CPU10は、この入力された出発地点の位置を出発地点位置308、終了地点の位置を区間終了地点位置307としてRAM34に格納する。
現在位置306は、位置検出部110により測位された現在位置である。CPU10は、位置検出部110を駆動して、現在位置を測位させて得られた現在位置を現在位置306としてRAM34に格納する。
次に、第3実施形態における第3の駅伝データ管理処理の具体的な処理内容について図25〜27を用いて説明する。尚、当該処理のサブルーチンである駅伝最終データ受信処理(ステップA217)及び駅伝データ送信処理(ステップA221)は、上述した第1実施形態における図9の駅伝最終データ受信処理(ステップA17)及び駅伝データ送信処理(ステップA21)とそれぞれ同一であるため、その説明は省略する。
先ず、図25を用いて、第3の駅伝データ管理処理のメイン処理について説明する。
CPU10は、第3の駅伝データ管理処理を開始すると、装着者により入力された走者番号を自装置走者番号300としてRAM34に格納する(ステップA201)。そして、続いて入力される出発地点の位置情報を出発地点位置308として、終了地点の位置情報を区間終了地点位置307としてRAM34に格納した後(ステップA203)、CPU10は第1実施形態の第1の駅伝管理処理のステップA5と同様に計測データ305の初期設定を行う(ステップA205)。
次いで、CPU10は、現在位置の測位を実行して、測位により得た現在位置を現在位置306としてRAM34に格納する(ステップA206−1)。そして、この現在位置306が出発地点位置308と一致するまで現在位置の測位を繰り返す。CPU10は、現在位置306と出発地点位置308とが一致したと判定した場合に(ステップA206−2:Yes)、第1実施形態と同様に自装置走者番号300に応じて、第1走者計測処理、中間走者計測処理及び最終走者計測処理の何れかの処理を実行して、計測データの受信や更新・表示を開始する。
ここで、図26を用いて第3実施形態における第1走者計測処理について説明する。CPU10は、第1走者計測処理を開始すると、先ず、一定時間おきに現在時刻の取得と、現在位置の測位の実行とを行う。取得した現在時刻は計測時刻として、測位の実行により得た現在位置は通過位置として、第1走者の計測データ301に追加記憶すると共に、第1実施形態と同様に、計測データ301中の区間タイム及び累積タイムの計時・更新を行う。また、CPU10は、測位の実行により得た現在位置を現在位置306としてRAM34に格納する(ステップB201)。
そして、第1走者の計測データ301のデータ内容を表示部30に表示させた後(ステップB203)、CPU10は、現在位置306と区間終了地点位置307との間の距離が所定の距離(例えば、100mとし、当該距離のことを以下「送信待機距離」という。)以下となったか否かを判定する(ステップB205)。
送信待機距離に達していないと判定した場合は(ステップB205:No)、ステップB201の処理へ移行して、第1走者の計測データ301の更新と表示とを繰り返す。また、送信待機距離以下となったと判定した場合(ステップB205:Yes)、CPU10は、通信制御部70を駆動して、計測データ305の送信を待機する(ステップB207)。
そして、位置検出部110を駆動して、現在位置の測位を随時実行して、RAM34の現在位置306を随時更新する(ステップB209)。CPU10は、現在位置306の更新の度に、現在位置306と区間終了地点位置307とが一致したか否かを判定する(ステップB211)。
現在位置306と区間終了地点位置307とが一致しないと判定した場合は(ステップB211:No)、ステップB209へ処理を移行して、再度現在位置の測位を行う。また、一致したと判定した場合(ステップB211:Yes)、即ち、第1走者が第1中間地点に到着したと判断した場合は、現在時刻の取得と、現在位置の測位とを行って、第1走者の計測データ301に中継時データを付加して、当該データを更新した後(ステップB215)、計測データ305の送信を開始する(ステップ217)。
CPU10は、次走者の腕時計から送信される受信確認信号を受信するまで、計測データ305の送信を行った後(ステップB215→B217)、第1走者計測処理を終了する。
次に、第3実施形態における中間走者計測処理について説明する。CPU10は、中間走者計測処理を開始すると、前走者用の腕時計から送信される計測データの受信が完了するまで、当該データの受信処理を行う(ステップC203→C201)。
CPU10は、計測データの受信が完了したと判定した場合は(ステップC203:Yes)、受信した計測データをRAM34に計測デー305として格納して、受信確認信号の送信及び現在時刻の取得とを行った後(ステップC205〜C207)、自走者の計測データへの初期データの設定を行う(ステップC209)。具体的には、前走者の計測データの最終データ内から計測時刻と累積タイムとを取得し、当該計測時刻とステップC207において取得した現在時刻との差分を、当該累積タイムに加算して、自走者の計測データ中の初期データの累積タイムとして設定する。また取得した現在時刻を当該初期データに計測時刻として設定する。
CPU10は、ステップC209の処理後、上述した第1走者計測処理のステップB201〜B217と同様の処理を行った後(ステップC211〜C227)、中間走者計測処理を終了する。尚、ステップC211、C213及びC223の処理は、自走者の計測データに対して行う。
次に、図27を用いて第3実施形態における最終走者計測処理について説明する。先ず、CPU10は、上述した中間走者計測処理のステップC201〜C215と同様の処理を行う(ステップD201〜D215)。そして、ステップD215において現在位置306と区間終了地点位置307との間の距離が送信待機距離以下となったと判定した場合(ステップD215:Yes)、CPU10は、現在位置の測位を随時行い、RAM34のデータ領域の現在位置306を更新する(ステップD217)。
そして、現在位置306と区間終了地点位置307とが一致するまで、CPU10は、ステップD217における現在位置の測位を繰り返す(ステップD219→D217)。現在位置306と区間終了地点位置307とが一致したと判定した場合は(ステップD219:Yes)、現在位置を取得して、最終走者の計測データ304にゴール時のデータを設定して、最終走者計測処理を終了する。
次に、図28及び24を用いて、第3実施形態における腕時計400の具体的な動作を説明する。先ず、第1走者R1は、走行開始前に腕時計400aに対して、走行番号「1」と、第1中継地点P1の位置「139°39’16”、35°29’32”」との入力を行った後、時刻“10:05:35”に、第2走者R2が待機する第1中継地点P1へ向けてスタート地点を出発する(図25のステップA201〜A203に相当)。第1走者R1の走行中、腕時計400aでは、現在時刻の取得と、現在位置の測位とが1分おきに行われて、計測データ305aのデータの更新が行われると共に、現在位置と第1中継地点P1との間の距離が送信待機距離Lの100m以下となったか否かの判定が行われている(図26のステップB201〜B205に相当)。
そして、スタート地点を出発してから28分後の時刻“10:33:35”において、現在位置が「139°39’18”、35°29’30”」と測位される。このとき、現在位置と第1中継地点P1間の距離は70mとなり、送信待機距離L100m以下であると判定されて、腕時計400aは、計測データ305aの送信の待機状態となる(図26のステップB205→B207に相当)。
次いで、その40秒後の時刻“10:34:15”に、第1走者R1が、第1中継地点P1に到達して、第2走者R2へ襷の受け渡しを行うと、計測データ305aが腕時計400aから第2走者R2が装着する腕時計400bへ送信される(図26のステップB209〜B211→B213〜B215に相当)。
第2走者R2は、襷を受け取って第2中継地点P2を出発し、第3走者R3の待機する第2中継地点P2へ向けて走行を開始する。このとき、第1走者R1の腕時計400aと同様に、第2走者R2の腕時計400bでは、計測データ305bのデータの更新が行われ、時刻“11:03:15”に計測データ305bは、図24と同様のデータ構成となる(図26のステップC211〜C213に相当)。そして、現在位置と第2中継地点P2間の距離が100m以下と判定されると、腕時計400bは計測データ305bの送信待機となり、第2走者R2が第2中継地点P3に到着すると、計測データの305bの送信が開始される(図26のステップC215→C217〜C221→C223〜C225に相当)。
第3走者及び最終走者の区間の走行中、腕時計400c及び400dにおいては、第2走者R2の腕時計400bと同様に計測データの更新・表示が行われる。最終走者がゴール地点の手前100m以内の圏内に入ると、腕時計400dは、計測データ305dの送信の待機状態となる。そして、現在位置の測位が随時行われて、最終走者がゴール地点に到着すると、計測データ305dにゴール時のデータが付加されて、腕時計400dの計測は終了する(図27のステップD215→D21→D219→D221に相当)。
以上、第3実施形態によれば、一定時間おきに現在位置の測位を行って、その現在位置が区間終了地点位置307とが一致したと判定した場合は、中継時データを計測データ305に付加すると共に当該計測データ305の送信を開始する。また、他の腕時計から計測データを受信した場合は、直前走者の計測データ中の最終データの累積タイムを計時更新していくことで、第1走者から自走者までの累積タイムを得る。腕時計400が受信する計測データには、前走者の出発時から中継地点までのデータが全て含まれている。このため、第1及び第2実施形態のように、送信側及び受信側の腕時計400で、通信時の計測データに中継時のデータを設定するという計測データの補完を行う必要がない。
尚、上述した第3実施形態における第1走者計測処理、中間走者計測処理及び最終走者計測処理において、現在位置306と区間終了地点位置307とが一致した場合に、計測データ305の送信を開始することとしたが、例えば、次のようにしてもよい。即ち、現在位置306と区間終了地点位置307とが略一致した場合、換言すれば、現在位置306と区間終了地点距離306間の距離が規定距離(例えば、1m)以内となった場合に、送信開始することとしてもよい。また、この距離判定に用いる規定距離は、GPSによる測位の精度に応じて設定変更することとしてもよい。
尚、上述した実施形態では、計測データは、現在時刻、区間タイム、累積タイム及び速度を蓄積記憶することとして説明したが、次のようにしてもよい。即ち、図29のように図2の腕時計1に対して位置検出部110と、高さ検出部120と、生体情報検出部130とを更に備える腕時計101を構成する。そして、GPS信号受信装置等により構成される位置検出部110や高さ検出部120によって現在位置(例えば、緯度や経度、高度)を測位して、計測データに更新記憶してもよいし、また、脈拍等の人体の生理現象を生体情報検出部130によって検出して、検出した生理現象のデータ(例えば、脈拍数)を生体情報として更新記憶したりしてもよい。この記憶した各走者のデータは、上述したように最終走者用の腕時計に累積されるため、全走者の走行した経路や生体情報の推移等をまとめて参照することができる。
また、上述した第1実施形態の第1の駅伝データ管理処理と、第3実施形態の第3の駅伝データ管理処理とでは、図9の駅伝最終データ受信処理及び駅伝データ送信処理をサブルーチンとすることとして説明したが、例えば、図17又は図20の駅伝最終データ受信処理及び駅伝最終データ送信処理をサブルーチンとすることとしてもよい。この場合、例えば、第1の駅伝データ管理処理の第1走者計測処理、中間走者計測処置及び最終走者計測処理では、第2実施形態の第2の駅伝データ管理処理の第1走者計測処理、中間走者計測処置及び最終走者計測処理と同様に、計測データの受信の成否、送信の成否を判定して、その判定結果である自装置受信成否フラグ360及び自装置送信成否フラグ370を次走者の腕時計へ送信する。そして、競技終了時の最終走者の腕時計において、駅伝最終データ380を生成して、この生成した駅伝最終データ380を他の腕時計へ送信することとなる。
また、第2実施形態の第2の駅伝データ管理処理において、図9の駅伝最終データ受信処理及び駅伝最終データ送信処理をサブルーチンとすることとしてもよい。この場合、第2の駅伝データ管理処理の第1走者計測処理、中間走者計測処置及び最終走者計測処理においては、計測データの受信の成否及び送信の成否の判定処理を行わずに、次の処理ステップへ進むこととなる。