図1は、遠隔操作玩具システムSY1と本発明の実施形態に係る遊戯拡張システムSY2とを組み合わせた実施形態を示している。以下、遠隔操作玩具システムSY1及び遊戯拡張システムSY2を順に説明する。
[遠隔操作玩具システムの説明]
遠隔操作玩具システムSY1は、ユーザーが駆動機器1(ここではリモコンカーの例を示している。)を送信機2により操縦して、他のユーザーとの間でレースを楽しむシステムとして構成されている。
図2は遠隔操作玩具システムSY1の概略構成を示す図である。なお、図2では3台の駆動機器1…1を同一場所で遠隔操作する場合を想定している。各駆動機器1には1:1に対応付けて送信機2…2が用意される。駆動機器1…1及び送信機2にはそれぞれ識別番号として1〜3の番号が設定されている。同一の識別番号が付された駆動機器1と送信機2とが対を形成し、各駆動機器1は同一の識別番号が付された送信機2からのデータに基づいて遠隔操作される。各駆動機器1の遠隔操作には赤外線が利用される。そのため、各送信機2にはリモコン信号発光部3が搭載され、各駆動機器1にはリモコン信号受光部4が搭載される。さらに、各送信機2からのデータ送信の同期を取るために、各送信機2にはリモコン信号受光部5が搭載される。
図3は送信機2の回路構成を示している。送信機2には上述したリモコン信号発光部3及び受光部5がそれぞれ設けられるとともに、送信データの生成や他の回路の制御などを行う制御回路10と、駆動機器1の動作を制御するための操作キー、スイッチあるいはボリューム等の入力装置11と、識別番号を設定するためのスイッチ12とが設けられている。オペレータによる入力装置11の操作状態は入力回路13によって検出され、入力回路13からは入力装置11の操作状態に応じた操作信号が制御回路10に入力される。識別番号設定スイッチ12によって設定された識別番号は制御回路10によって読み込まれる。なお、識別番号設定スイッチ12は、オペレータやシステムの管理者等が予め定められた範囲から任意の番号を選択できるものとしてもよいし、送信機2の製造者によって予め特定の番号に固定されるものでもよい。制御回路10はマイクロコンピュータと所定のプログラムとの組み合わせによって構成される。
リモコン信号発光部3は例えばLED等の発光手段を含んで構成され、送信回路14からの指示に応じた赤外線を発光する。送信回路14は出力タイミング作成回路15から指示されるタイミングに従ってリモコン信号発光部3に送信データを出力する。リモコン信号発光部3に出力するデータは制御回路10にて生成され、送信回路14はその制御回路10にて生成されたデータにリモコン信号キャリア信号による変調を加えてリモコン信号発光部3を駆動する。出力タイミング作成回路15は、制御回路10から与えられるタイマ設定値に従って時間をカウントし、タイマ設定値に対応した時間が経過する送信回路14に送信指示を出力する。なお、リモコン信号発光部3から出力する赤外線キャリア信号の周波数は全ての送信機2において同一である。
一方、リモコン信号受光部5は他の送信機2から送信された赤外線を受光し、その受光した赤外線からキャリア成分を除去した信号を受信回路16に出力する。受信回路16はリモコン信号受光部5から与えられた信号を1ブロックのリモコンデータにデコードして受信データ判定回路17に出力する。ここで、1ブロックのリモコンデータとは、図4に示すように識別番号と駆動機器1に設けられた左右一対のモータ(図5のモータ28,28)の制御情報とで構成されている。左右のモータ制御情報はさらに各モータの回転方向が、前進方向、後退方向又は制動のいずれかを判別する情報(F/R判別)と、モータの駆動速度を指定する情報とで構成されている。各モータの駆動速度はそれぞれ1〜8までの8ステップで指定可能である。
入力装置11の操作量とモータ制御情報との対応関係は、ユーザーが入力装置11を利用して所定の範囲で設定変更することができる。設定内容は記憶装置10aに保存される。記憶装置10aは例えばEEPROMのような不揮発の半導体メモリと、制御回路10の作業領域として機能するRAMとを組み合わせて構成される。入力装置11とモータ制御情報との対応関係の一例は後述する。なお、1ブロックのリモコンデータのビット数は常に一定である。従って、1ブロックのリモコンデータを送信するに要する時間も一定である。
受信データ判定回路17は受信回路16から与えられた受信データの識別番号を判定し、その判定結果を制御回路10に与える。制御回路10は受信データ判定回路17、識別番号設定スイッチ12及び入力回路13から与えられる情報により送信回路14及び出力タイミング作成回路15の動作を制御する。また、制御回路10は、受信データ判定回路17から与えられる受信したデータの識別番号と、識別番号設定スイッチ12によって設定された自己の識別番号とに基づいて、混信か否かの判定及び自己の送信データを出力すべきタイミングの設定を行い、その設定された出力タイミングに応じ、出力タイミング作成回路15に対してタイマ設定値を設定する。さらに、制御回路10は識別番号設定スイッチ12及び入力回路13から与えられた情報に基づいて、自己と同一の識別番号を有する駆動機器1に対する送信データを作成し、その送信データを送信回路14に出力する。
さらに、送信機2には液晶表示装置18が設けられる。液晶表示装置18は送信機2の設定状態を表示するためのものであり、その表示内容は駆動回路19を介して制御回路10により制御される。
以上の他にも制御回路10には電源スイッチ等が接続されるがそれらは省略した。また、1つの送信機2に検出方向を変えて2以上のリモコン信号受光部5を設けてもよい。送信回路14、出力タイミング作成回路15、受信回路16及び受信データ判定回路17は論理回路として構成してもよいし、制御回路10と同じくマイクロコンピュータと所定のプログラムとの組み合わせによって構成されてもよい。出力タイミング作成回路15及び受信データ判定回路17の少なくともいずれか一方を制御回路10に統合してもよい。
図5は駆動機器1の一実施形態を示しており、(a)は側面図、(b)は底面図、(c)は背面図である。この実施形態では、駆動機器1を小型自動車モデル20として構成している。自動車モデル20はシャーシ21とその上部に覆い被されるボディー22とを有している。シャーシ21の前部中央には前輪23が、後部には左右一対の後輪24,24が設けられている。前輪23は支持脚25に車軸25aを介して回転自在に取り付けられる。支持脚25はシャーシ21に対して鉛直方向の旋回軸26を中心として回転自在に取り付けられている。これにより、前輪23は旋回軸26を中心として360°自由に回転できる。なお、シャーシ21の前部の左右にはダミーの車輪27,27が取り付けられているが、ダミー車輪27は浮いており、シャーシ21は前輪23と後輪24,24によって支持される。
シャーシ21の後部にはモータ28,28が上下方向に重なるようにして設けられている。各モータ28は後輪24をそれぞれ独立して駆動するために設けられている。各モータ28の出力軸28aにはピニオン29が取り付けられ、そのピニオン29の回転がギア列30を介して駆動対象の後輪24に伝達される。このように左右の後輪24,24をモータ28,28で独立して駆動するので、モータ28,28の回転速度を左右で変化させ、一方のモータ28のみを駆動し、あるいは、モータ28,28を互いに異なる方向に回転させて自動車モデル20に多彩な旋回運動を与えることができる。
モータ28の前方にはバッテリ31が搭載され、その上方に例えばワンチップマイコンとして構成された制御装置32が設けられている。シャーシ21の後部には電源投入の有無を判別するためのLED33が設けられている。さらに、ボディー22の上部中央には送信機2からの赤外線を受信するリモコン信号受光部34が設けられている。
図6は自動車モデル20に搭載された制御系の回路構成を示している。自動車モデル20には上述したリモコン信号受光部34が設けられている。リモコン信号受光部34は送信機2から送信された赤外線を受光し、その受光した赤外線からキャリア成分を除去した信号を受信回路35に出力する。受信回路35はリモコン信号受光部34から与えられた信号を1ブロックのリモコンデータにデコードして制御回路37に出力する。1ブロックのリモコンデータとは図4に示した通りである。制御回路37は受信回路35から与えられた受信データの識別番号を判別し、その識別番号と識別番号設定スイッチ38にて設定された識別番号とを比較してリモコンデータの有効、又は無効を判定する。すなわち、識別番号が一致していなければ受信したリモコンデータは無効と判断してモータ28の駆動信号を生成しない。一方、識別番号が一致しているときには受信回路35から与えられるリモコンデータのモータ制御情報に基づいてモータ28の回転方向及び回転速度を決定し、その決定した値に応じたモータ駆動信号をモータ駆動回路39,39に出力する。各モータ駆動回路39は与えられたモータ駆動信号に基づいてモータ28の回転を制御する。なお、識別番号設定スイッチ38は、オペレータやシステムの管理者等が予め定められた範囲から任意の番号を選択できるものとしてもよいし、送信機2の製造者によって予め特定の番号に固定されるものでもよい。なお、制御回路37には電源スイッチ40も接続される。図5に示したバッテリ31やLED33は図6において省略した。
以上のような自動車モデル20においては、2台以上の送信機2から同時にリモコンデータが送信され、かつ1台のリモコンデータの識別番号が自動車モデル20のそれと一致している場合、そのとき受信したリモコンデータを制御回路37が有効なものとみなすため、モータの制御情報が識別番号の異なる他の送信機2からの制御情報と混信してモータ28が誤制御されるおそれがある。そこで、本実施形態の遠隔操作システムでは、各送信機2が他の送信機2の発するリモコン信号を受信しながら、自分が送信できるタイミングを特定することにより、各送信機2の送信タイミングが重ならないように送信タイミングの同期を取っている。以下、この点を説明する。
図7は4台の送信機2が同時に使用されている場合の送信タイミングの取り方を示している。図7において、1台の送信機2がリモコン信号を送信する時間長はTであり、各送信機2は送信機2の台数×送信時間長T(=4T)に相当する周期でリモコン信号の送信を繰り返す。また、各送信機2の送信タイミングは識別番号1から順にTずつずらされている。このような関係に従って各送信機2が送信タイミングを管理することにより4台の送信機2からの送信時期を互いに重ならないようにすることができる。このような送信制御を実現するためには、例えば図7の識別番号2の送信機2であれば次のように送信タイミングを制御すればよい。
まず、時刻t1で識別番号1のデータを受信した場合には、続いて自分の送信データの出力を開始し、時刻t2で自分の送信データの出力を完了する。送信完了時には受信回路16(図3参照)の受信データをチェックし、信号の混信が発生していないことを確認する。この後、次回の出力タイミングをカウントする送信タイマを3T後に設定し、タイマカウントを開始する。
時刻t3で識別番号3のリモコンデータを受信した場合、送信タイマを2T後に再設定し、タイマカウントを開始する。時刻t4で識別番号4のリモコンデータを受信した場合、送信タイマをT後に再設定し、タイマカウントを開始する。
この後、識別番号1の送信機2の電源が切られていた場合、あるいはノイズ等により識別番号1の送信機2からのデータが受信できなかった場合、識別番号4のデータ受信後、時間Tだけ送信タイマのカウントが進んだ時点で自分のデータの出力を開始すればよい。さらに他の送信機2からの信号が受信できなくなった場合でも、自分のデータの送信完了時に送信タイマに設定される時間3Tを利用して周期4Tで送信データの出力を継続することができる。
なお、ここでは送信機2が4台の場合について説明したが、識別番号を追加することにより5台以上の場合でも同様に送信タイミングを制御することができる。各送信機2の送信タイミングの周期はN×T(Nは送信機の台数)となる。但し、各送信機2がデータを送信している時期同士の間にいずれの送信機もデータを送信していない空白期間を介在させ、それにより全体の周期をNTよりも長く設定してもよい。
図8は電源投入から自分のデータの送信を開始するまでに送信機2の制御回路10が実行するパワーオン動作の手順を示すフローチャートである。電源が投入されると、まずタイムオーバー用のタイマを設定する(ステップS1)。次に、他の送信機2からのデータを受信したか否か判別し(ステップS2)、受信したときにはその受信したデータの識別番号が自己の送信機2に対して設定されている識別番号と同一か否か判別する(ステップS3)。一致していればステップS1に戻って判定動作を繰り返す。これにより、同一の識別番号の送信機2が複数存在していた場合の混信が防止される。ステップS3において識別番号が一致していないと判断したときは、他の送信機2の識別番号に応じて自己の出力タイミングを設定する(ステップS4)。例えば図7の識別番号2の送信機2が識別番号3のデータを受信した場合には自己の出力タイミングを2T時間後に設定する。
続いて、ステップS1で設定したタイマがタイムオーバーとなったか否か判断し(ステップS5)、タイムオーバーでなければステップS2へ戻る。タイムオーバーした場合に自己のデータの送信を開始する(ステップS6)。但し、実際に出力を開始するのは、ステップS4で設定した出力タイミングが到来した時点である。タイムオーバーまでに何もデータを受信しなかった場合には単独操作、つまり他に送信機が存在しないことになるため、ステップS6で直ちにデータ送信を開始する。
ステップS6の処理が終わると、制御回路10は図9の通常動作の手順に従ってデータ送信を制御する。通常動作では、まず他の送信機2からのデータを受信したか否か判断し(ステップS11)、受信していればその識別番号が自己に設定された識別番号と一致するか否か判断する(ステップS12)。一致していれば図8のパワーオン動作へ戻る。一方、受信したデータの識別番号が自己の識別番号と異なる場合には、その受信したデータの識別番号に応じて自己の出力タイミングを送信タイマにセットする(ステップS13)。次に、送信タイマがタイムアップしたか否か判断し(ステップS14)、タイムアップするまではステップS1へ戻る。
ステップS4でタイムアップと判断すると自己のデータの送信を開始する(ステップS15)。このとき、並行してデータの受信も行う。次に、データ送信を完了したか否か判断し(ステップS16)、送信が完了したならば、送信したデータと、その送信と並行して受信したデータとを比較する(ステップS17)。一致していなければ混信が発生したものと判断して図8のパワーオン動作に進む。一致していれば混信がないとみなしてよいから、次回の出力タイミングを送信タイマにセットする(ステップS18)。その後、ステップS1へ戻る。
図10(a)は送信機2の外観を示している。図10(a)に示すように、送信機2はハウジング50によって全体が被覆され、そのハウジング50は本体部51と、グリップ部52と、台座部53とを備えている。ユーザーは、グリップ部52を掴んで送信機2の全体を片手で持つこともできるし、台座部53を基礎にして机上等に送信機2を立てて置くこともできる。
本体部51には、入力装置11のうち、特に駆動機器1の操作に使用する操作部材としてステアリング54及びスロットルレバー55が設けられている。駆動機器1が自動車モデル20の場合、ステアリング54は自動車モデル20の操舵を指令する操作部材として使用され、スロットルレバー55は自動車モデル20の走行速度を指定する操作部材として使用される。
ステアリング54はハウジング50の外部に円盤状に突出し、その中心軸の回りの回転量に応じて抵抗値が変化する可変抵抗器として構成されている。スロットルレバー55は本体部51の内部に設けられた不図示の支点を中心として前後方向(図に矢印Aで示す方向)に回転操作可能であり、その回転量に応じて抵抗値が変化する可変抵抗器として構成されている。ユーザーはその指をスロットルレバー55に掛けて前後に操作することができる。なお、ステアリング54及びスロットルレバー55は、それぞれ不図示のばね手段により所定の中立位置に向けて付勢されており、指を離すとそれぞれの中立位置へ自己復帰する。ステアリング54及びスロットルレバー55の中立位置は例えばそれぞれの操作範囲の中央に設定される。
ステアリング54及びスロットルレバー55の分解能は、自動車モデル20に搭載されたモータ28の速度制御に関する分解能の整数倍とすることが望ましい。例えば、各モータ28の回転速度を前進方向及び後退方向にそれぞれに8ステップで制御する場合、ステアリング54及びスロットルレバー55の操作量に応じて設定される抵抗値をそれらの中立位置から両操作方向にそれぞれ8の整数倍で変化させるとよい。
図10(b)は本体部51の図10(a)における左側の端面の様子を示している。この図から明らかなように、本体部51の左端面には液晶表示装置18が設けられるとともに、その液晶表示装置18と連係して、ステアリング54及びスロットルレバー55の操作量と、それらの操作に応じて出力されるモータ制御情報との対応関係を設定変更するために使用される押釦スイッチ56,57及び58が設けられている。これらの押釦スイッチ56〜58も図3の入力装置11の一部として機能する。押釦スイッチ56〜58には、図10(b)の左からそれぞれ“SELECT”、“CONTROL”及び“ENTER”の文字情報60〜62が付されている。以下において、押釦スイッチ56〜58をそれぞれセレクトボタン56、コントロールボタン57及びエンターボタン58と呼んで互いに区別することがある。
図10(b)は、上記の設定変更操作時に液晶表示装置18に表示される設定変更画面70をも示している。設定変更画面70の左側には、ユーザーのよる設定変更が可能で、かつ自動車モデル20の動作制御に影響を与えるパラメータとしての4つの項目をそれぞれ示す、“SUS F”、“SUS R”、“BRAKE”、及び“TURBO”の文字情報71〜74が表示される。それらの下にはさらに“PASS”の文字情報75が表示されている。文字情報71〜75の右側には8つのセグメント76a…76aに分割されたセッティングゲージ76と、パスワード77とが表示される。
以下、設定項目について説明する。
“SUS F”及び“SUS R”は自動車モデル20のフロントサスペンション及びリアサスペンションの硬さをそれぞれ設定することを想定して設けられた設定項目である。また、“BRAKE”は自動車モデル20のブレーキ性能を設定することを想定して設けられた設定項目であり、“TURBO”は自動車モデル20の加速度及び最高速を設定することを想定して設けられた設定項目である。各設定項目はそれぞれ最小値1〜最大値8までの8ステップから選択可能であり、セッティングゲージ76のセグメント76aはそれらのステップ数に対応する。例えば、左から3つのセグメント76aが点灯していれば設定値は3である。パスワード77は上記の4つの項目の設定値を組み合わせて構成される。例えば“SUS F”が4、“SUS R”が7、“BRAKE”が6、“TURBO”が5の設定であればパスワード77は“4765”となる。
上述した各設定項目と自動車モデル20に出力するモータ制御情報との対応関係は玩具システムSY1の提供者により予め次の通り設定される。
まず、“TURBO”(ターボ)に関しては、自動車モデル20の直進時、つまり左右のモータ28の駆動速度Mvに差がないときのスロットルレバー55の操作量φと各モータ28の駆動速度Mvとの対応関係が“TURBO”の設定値に応じて変更される。例えば、図11(a)に示したように、“TURBO”の設定値が小さいときはスロットルレバー55の中立位置からの操作量φに対してモータ28の駆動速度が変化する割合が小さく設定され、かつスロットルレバー55を最大値φmaxまで操作したときのモータ28の駆動速度の最大値Mvmaxが低く設定される。
これに対して、“TURBO”の設定値が大きいときはスロットルレバー55の中立位置からの操作量φに対してモータ28の駆動速度Mvが変化する割合が大きく設定され、スロットルレバー55を最大値φmaxまで操作したときのモータ28の駆動速度の最大値Mvmaxが大きく設定される。これにより、“TURBO”の設定値が大きいときは加速度も最高速も高くなり、実際の自動車の過給器付きエンジンにおいて過給圧を高めたような効果が得られる。但し、加速度が大きくなれば微妙な速度調整が難しくなり、必ずしも有利な結果が得られるとは限らない。
次に、“BRAKE”(ブレーキ)に関しては、スロットルレバー55が中立位置に戻ってからモータ28,28に正転及び逆転指令を同時に与えて制動力を生じさせるまでのタイムラグがその設定値に応じて指定される。例えば図11(b)に示すように、“BRAKE”の設定値が小さいときは中立位置に戻ってから制動指令が与えられるまでのタイムラグが長く設定され、設定値が大きいときは中立位置に戻ってから制動指令が与えられるまでのタイムラグが短く設定される。
さらに、“SUS F”及び“SUS R”に関しては、ステアリング54の中立位置からの操作量θとモータ28,28の駆動速度の速度比Rvとの対応関係がそれらの設定値の差△SUSに応じて変更される。なお、ここでいう速度比Rvは低速側のモータ28の駆動速度Mv1を高速側のモータ28の駆動速度Mv2で除した値(Mv1/Mv2)をいう。
一般の自動車では、フロントサスペンションとリアサスペンションとの硬さの差によって操舵特性が変化することがよく知られており、フロントサスペンションがリアサスペンションよりも相対的に硬いときはアンダーステアと呼ばれる自動車が曲がりにくくなる操縦特性が出現し、フロントサスペンションがリアサスペンションよりも相対的に柔らかいときはオーバーステアと呼ばれる自動車が曲がり易くなる操縦特性が出現する。
一方、本実施形態の遠隔操作玩具システムSY1では、二つのモータ28,28に速度差を生じさせて自動車モデル20を旋回させることから、モータ28,28の速度比が小さければ自動車モデル20が曲がり易くなり、速度差が大きければ自動車モデル20が曲がり難くなる。従って、ステアリング54の中立位置からの操作量θが変化してもモータ28の速度比Rvが直進状態(=1)からあまり変化しないようにすればステアリング54を操作しても車が曲がろうとしないアンダーステア特性を再現できる。反対に、ステアリング54の中立位置からの操作量θに対するモータ28の速度比Rvの変化量の割合を大きく設定すれば、ステアリング54の操作に対して車が曲がりすぎるオーバーステア特性を再現できる。
そこで、フロントサスペンションの硬さを想定した“SUS F”の設定値から、リアサスペンションの硬さを想定した“SUS R”の設定値を減算した差ΔSUSを、曲がり易さを支配するパラメータとして位置付け、この差△SUSに対応付けて、ステアリング54の操作量θとモータ28,28の速度比Rvとの対応関係を変化させた。
但し、車速に応じて適切な速度比が変化し、特に高速走行時に速度比をあまりに小さくすると、ステアリング部54の操作で旋回力が急激に立ち上がってスピンのような急激な挙動変化が生じる。従って、本実施形態では、車速との関係をも考慮して図12に例示したようにステアリング54とモータ28,28の速度比との対応関係を設定した。
まず、図12(a)に示すように、車速Vとモータ28の限界速度比Rvlimとの関係を示す線図を△SUSの値毎に設定する。図12(a)における最大速度Vmaxはスロットルレバー55の操作量が最大値φmaxのときの車速であり、上述したように“TURBO”の設定値に応じて変化する(図11(a)参照)。つまり、図12(a)の横軸はスロットレバー55の操作量φに置き換え可能である。
また、モータ28の限界速度比Rvlimは、ステアリング54の操作角θが最大値θmaxのときに発生する速度比である。図12(a)の縦軸は上にいくほど限界速度比Rvlimが1に向かって増加するが、限界速度比Rvlimが1に近付くことは左右のモータ28,28の回転数の差が相対的に小さくなることを意味している。従って、図12(a)においては、線図が上側に偏るほどステアリング54の操作に対して自動車モデル20が曲がりにくくなることを意味する。そして、図12(a)の設定例によれば、車速Vが高いほど限界速度比Rvlimが1に近付くので高速走行時における自動車モデル20の急激な挙動の変化が防がれる。しかも、△SUSが正の値の場合には、そのΔSUSが大きいほど線図が上側に偏るように線図が決定され、それにより自動車モデル20が曲がりにくくなるアンダーステア特性が再現される。反対に、△SUSが負の値の場合には、そのΔSUSが小さいほど線図が下側に偏るように線図が決定され、自動車モデル20が曲がり易くなるオーバーステア特性が再現される。
さらに、図12(b)に示すように、ステアリング54の操作角θと、モータの速度比Rvとの対応関係を△SUS毎に設定する。つまり、ステアリング54を最大操作角θmaxまで操作したときに、図12(a)によって与えられる車速Vに応じたモータ限界速度比Rvlimが得られるものとし、その最大操作角θmaxに至るまでのステアリング54の操作角θとモータ28,28の速度比Rvとの対応関係を△SUS毎に設定する。図12(b)の線図を△SUS毎に設定することとしたのはステアリング特性に応じた最適な設定を与えるためであるが、図12(b)の線図は△SUSに拘わらず常に一定でもよい。例えば、図12(b)の線図は△SUSに対して常に正比例としてもよい。
以上の設定例では車速を考慮したが、本発明の玩具システムにおいては車速を考慮することなく、サスペンション設定値の差△SUS毎にステアリング操作角θとモータ28の速度比Rvとの関係を設定するだけでもよい。つまり、図12(b)の例では限界速度比Rvlimを図12(a)の線図から車速Vに応じて引き当てるようにしたが、そうした車速Vを考慮した限界速度比Rvlimの設定を省略し、図13に示すようにステアリング操作角θと速度比Rvとを直接対応付け、しかも、サスペンション設定値△SUSが正方向に大きくなるほどステアリング操作角θと速度比Rvとの対応関係を示す線図を全体的に1に近付けてアンダーステア特性を出現させ、△SUSが負方向に大きくなるほど線図を1から低下させてオーバーステア特性を出現させるように設定してもよい。なお、図12(b)又は図13のいずれの場合でも、ステアリング操作角θが0から増加するほど速度比 Rvは徐々に減少する。
上述したステアリング54及びスロットルレバー55の操作量θ及びφとモータ制御情報との対応関係を特定するための各線図のデータは、送信機2の記憶装置10aに保存される。自動車モデル20に対して図4のモータ制御情報を生成する際に、送信機2の制御回路10は記憶装置10aに保存された設定状態を読み出すとともに、現在のステアリング54及びスロットルレバー55の操作量θ及びφをそれぞれ検出し、それらの検出値に対応するモータ28,28の回転方向及び駆動速度を上記の各線図のデータに従って特定してモータ制御情報を生成する。
なお、図11や図12に示した線図は、各項目の設定値毎に予め玩具システムSY1の提供者(設計者、製造者)が決定しておくものである。ユーザーは予め用意された設定値毎の線図のうち、どの線図に基づく制御特性を選択するかを項目毎の設定値(1〜8のいずれか)によって指定するだけであり、線図それ自体をユーザーが任意に変化させるわけではない。
図14は、ユーザーが図10(b)のボタン56〜58を利用して上記の設定項目を設定する際に送信機2の制御回路10が実行するセッティング処理の手順を示すフローチャートである。
送信機2のユーザーがセレクトボタン56を一押しすると制御回路10により図14の処理が開始される。最初のステップS21ではフロントサスペンションの設定モード(図10(b)bの“SUS F”に対応)が選択される。続いて、現在選択されている設定モードに対応した設定項目の設定値が液晶表示装置18に表示される(ステップS22)。
その後、コントロールボタン57が押されたか否か判断され(ステップS23)、それが押されると、現在選択されている設定モードに対応した設定項目の設定値が1だけ加算される(ステップS24)。但し、最大値8のときは最小値1に戻される。その後、エンターボタン58が押されたか否か判断され(ステップS25)、押されていないときはステップS22へ処理が戻される。
ステップS23でコントロールボタン57が押されていないときはセレクトボタン56が押されたか否か判断され(ステップS26)、押されたときは設定モードが次項目の設定モードに変更される(ステップS27)。次項目とは、図10(b)において文字情報71〜75の上から下への並び順に従って特定される次の項目をいい、“PASS”の次項目は“SUS F”となる。なお、いずれの設定モードが選択されているか否かのユーザーによる判別を容易にするため、例えば文字情報71〜75のうち、現在選択されている設定モードに対応する文字情報を他の文字情報とは異なる態様で表示することが望ましい。
図14のステップS26でセレクトボタン56が押されていないときはステップS27が省略される。続くステップS28では、現在の設定モードがパスワードモード(図10(b)の“PASS”に対応)か否か判断される。そして、パスワードモードでなければステップS22へ処理が戻される。
ステップS28でパスワードモードと判断したときは、その時点の各設定項目の設定値を組み合わせたパスワードが液晶表示装置18に表示され(ステップS30)、続いて、押釦スイッチ56〜58に対して所定のパスワード設定操作が行われたか否かが判断される(ステップS31)。パスワード設定操作があれば、パスワードの入力を受け付ける処理が行われ(ステップS32)、その後にエンターボタン58が押されたか否か判断される(ステップS33)。ステップS31が否定されたときはステップS32がスキップされる。エンターボタン58が押されないときはセレクトボタン56が押されたか否か判断される(ステップS34)。そして、セレクトボタン56が押されたときは設定モードが次項目の設定モードに変更され(ステップS35)、その後処理がステップS22へ戻される。ステップS34が否定されたときはステップS35がスキップされる。
ステップS25又はステップS33にてエンターボタン58が押されたと判断されると、その時点での設定値を記憶装置10aに記憶する処理が行われ(ステップS36)、その後に図14の処理が終了する。
以上の処理によれば、ユーザーはセレクトボタン56を操作して設定変更したい項目に対応したモードを選択し、その状態でコントロールボタン57を操作することで設定値を変化させることができる。また、パスワードモードを選択した場合には任意のパスワードを入力することができる。上述したように、パスワードは、4つの設定項目の1〜8までの設定値と1桁ずつ対応しているので、パスワードを入力させることにより、各設定項目を一括して所望の値に設定することができる。
なお、パスワードを利用して特別の設定コードを入力するようにしてもよい。例えば、4つの設定項目の設定値として使用されていない数値である0又は9を含んだ特定のパスワードが入力されていた場合には、セレクトボタン56とコントロールボタン57との操作によっては設定できない特別の設定状態が出現するようにしてもよい。特別の設定状態としては、前進又は後退のいずれかを不可能とした設定、特定の操作状態になると片側の車輪が一瞬停止あるいは反転して車体の横滑りが簡単に生じるようなトリッキーな設定等がある。
[遊戯拡張システムの説明]
図1に示すように、遊戯拡張システムSY2は、インターネット100と接続されたコンテンツプロバイダーサイトとして構成され、Webサーバ101と、そのWebサーバ101からの指定に従って各種のデータベース111〜114を管理するデータベースサーバ102と、メールの送受信を管理するメールサーバ103とを含んでいる。
Webサーバ101には、インターネット100を介したアクセスの窓口として機能するための所定のWebサーバソフトウエアの他に、玩具システムSY1による遊戯方法を拡張してその興趣を高めるための特定のサービスを提供するため、例えばCGI(Common Gateway Interfaceの略)を利用して動作するセッティング診断プログラム、ランキング解析プログラム及び招待状配信プログラムがそれぞれインストールされている。なお、これらのプログラムは、Webサーバ101とは別のWebアプリケーションサーバにより実行してもよい。
一方、玩具システムSY1のユーザーは、所定のユーザー端末120からアクセスポイント130、サービスプロバイダ網131及びインターネット100を介して遊戯拡張システムSY2にアクセスすることができる。ユーザー端末120は、マイクロプロセッサ、メモリ、表示装置、入力装置等を備えたコンピュータとして構成され、HTTPプロトコル等を解釈してWebコンテンツをブラウズ可能なWebブラウザ機能と、そのWebページに対するアプレットとして提供されるプログラム(典型的にはJAVA(登録商標)アプレット)を実行可能な環境を有していればよい。ここでは携帯電話をユーザー端末120として例示している。
データベースサーバ102によって管理されるデータベースとしては、会員データベース111、セッティングデータベース112、ゲームデータベース113及びスコアランキングデータベース114が設けられている。会員データベース111は、遊戯拡張システムSY2を利用する資格を有する会員の各種の情報を記憶する。例えば、遠隔操作玩具システムSY1を購入したユーザーからユーザー登録情報を取得してシステムSY2のサービスを受けるために必要なユーザーIDやパスワードを交付し、それらの情報をユーザーの個人情報等と対応付けて会員データベース111に記憶する。
セッティングデータベース112は、遠隔操作玩具システムSY1においてユーザーが送信機2を利用して設定可能な4つの項目、すなわちフロントサスペンション(SUS F)、リアサスペンション(SUS R)、ブレーキ(BRAKE)及びターボ(TURBO)の設定値のそれぞれを組み合わせて構成されるパスワードと、その評価を示す情報とを対応付けて記憶したデータベースである。
すなわち、遠隔操作玩具システムSY1では、自動車モデル20の操縦特性を制御するパラメータとして、サスペンションの硬さの差として把握される△SUS、ターボ及びブレーキの設定が用意されており、これらの設定値に対する自動車モデル20の操縦特性(制御特性)、つまり送信機2のステアリング54やスロットルレバー55の操作とモータ28の回転の変化との対応関係は図11及び図12に例示したように玩具システムSY1の提供者によって設定値の組み合わせ毎に予め定められている。これらの設定値の組み合わせによって自動車モデル20の操縦特性は様々に変化し、例えば誰でもが比較的操縦し易い組み合わせもあれば、ポテンシャルは高いものの操縦特性がシビアで初心者には適当でない組み合わせもある。
そこで、予め提供者の側で、実存し得るすべてのパスワードにて特定される設定状態に対して操縦特性の評価を行い、その評価の情報をパスワードと対応付けて記録してセッティングデータベース112を構築することとした。このように構築されたセッティングデータベース112は、ユーザーの設定状態を診断するために使用される。評価の情報は、パスワード(設定情報)にて特定された設定状態の特徴を表現する文章の情報や、その設定状態を改善する手掛かりをユーザーに与える文章の情報として作成し、データベース112に記録しておくことができる。
ゲームデータベース113は、遊戯拡張システムSY2の会員に対して配信するゲーム等のコンテンツを記憶する。ここで、本実施形態では、ユーザー端末120にゲーム用プログラムを転送し、ネットワークにアクセスすることなくゲームプレイを可能とするために、ゲームデータベース113にはWebサーバ101を介してユーザー端末120に送信可能なレース用アプリケーションプログラムが保存されている。このプログラムは上述したようにユーザー端末120上で動作可能なアプレットとして構成されている。但し、レース用アプリケーションプログラムは遊戯拡張システムSY2上で動作するものでもよい。レース用アプリケーションプログラムを配信するためのサーバをWebサーバ101とは別に設けてもよい。
スコアランキングデータベース114は、レース用アプリケーションプログラムによって実行されるレースゲームでユーザーが獲得したスコア等の情報をユーザー端末120から取得し、ユーザーを特定する情報(例えばユーザーID)と対応付けて記録したデータベースである。なお、スコアには、例えばレースゲームにおけるラップタイプのように直接的には得点の形式を取らないものであっても、ユーザーのゲーム成績を反映する情報であればその概念に含まれる。
次に、図15〜図22を参照して、図1の各プログラムによって実行される処理の内容を説明する。なお、以下においてWebサーバ101とユーザー端末120とが情報を交換するために行われる一般的な処理は説明を省略する。
図15は、セッティング診断プログラムによって提供されるセッティング診断サービスの手順を示すフローチャートであり、図の左側がユーザー端末120上でWebブラウザを利用して実現される処理を、図の右側がWebサーバ101にて実行される処理をそれぞれ示している。
ユーザーがWebブラウザを起動し、遊戯拡張システムSY2のWebサイトのスタートページに割り当てられたURLを指定する情報をインターネット100上に送出すると、そのトップページを表示させるために必要な情報がWebサーバ101からユーザー端末120に送信され、ユーザー端末120の表示装置上には図16(a)に例示したようなトップページ200が表示される。トップページ200には、ユーザーが選択可能な項目として、「データ診断」及び「ダウンロード」が含まれている。但し、これらの階層や表示位置は自由に設定してよい。なお、「ダウンロード」を選択したときには所定の手順でユーザー端末120にレース用アプリケーションプログラムやそれに使用するデータをWebサーバ101からユーザー端末120にダウンロードすることができるが、その手順は省略する。
トップページ200からユーザーが「データ診断」を選択して所定の決定操作を行うと、ユーザー端末120上でWebブラウザの機能を利用して図15の処理が開始され、まずユーザー端末120はWebサーバ101に対してデータ診断ページに対するアクセス要求を送信する(ステップS101)。これを受けてWebサーバ101はセッティング診断プログラムによる処理を開始し、要求された診断ページをユーザー端末120において表示させるために必要な各種のコンテンツをユーザー端末120に向けて送信する(ステップS201)。
コンテンツを受信したユーザー端末120は、図16(b)に例示したように診断ページ201を表示し(ステップS102)、その診断ページ201の入力ボックス201aへのパスワードの入力を受け付ける(ステップS103)。ここで入力が要求されるパスワードは、送信機2の設定状態を特定する上記の4桁のパスワードである。但し、入力可能なパスワードを、ユーザーによる現在の設定状態に対応したパスワードに限る必要はない。ユーザーが診断を希望するパスワードであればよい。
ユーザーがパスワードを入力して決定操作を行うとユーザー端末120はWebサーバ101に対してパスワードを送信する(ステップS104)。Webサーバ101はそのパスワードを受け付け(ステップS202)、その後、データベースサーバ102と協働してセッティングデータベース112を検索してそのパスワードに対応する評価情報を取得する(ステップS203)。そして、取得した評価情報を診断結果としてユーザー端末120に送信する(ステップS204)。
ユーザー端末120は送信された診断結果を受け取り(ステップS105)、その受け取った診断結果を例えば図16(c)に示すように表示する(ステップS106)。以上により、セッティング診断サービスの処理が完了する。
以上の処理によれば、玩具システムSY1のユーザーは、自己の送信機2の設定状態をパスワードとして支援システムSY2に送信することにより、そのパスワードによって特定される設定状態を評価する情報を得ることができる。評価情報には、図16(c)に示したように、設定状態に対するコメントや設定状態を改善するためのアドバイス等を含めておくことができ、ユーザーは入手した情報から自己の設定状態に対する客観的な評価を知り、それを手掛かりとして設定状態を改善したり、敢えて評価の低い設定状態を試して遊ぶことができる。
次に、図17及び図18を参照してレース用アプリケーションプログラムによってユーザー端末120上で実行されるレースゲームを説明する。
ユーザーがレース用アプリケーションプログラムをユーザー端末120にダウンロードしてこれを実行すると、図18(a)に示したレースモード画面210が表示される。レースモード画面210が表示された状態でユーザーが所定のスタート操作を行うとユーザー端末120上で図17のレース処理が開始される。最初のステップS111では車選択処理が行われる。この処理では、例えば図18(b)に示した車選択画面211が表示され、そこに提示された複数の車からユーザーが一台の車を選択することができる。
車の選択が終わると、続いてコース選択処理が行われる(ステップS112)。この処理では、例えば図18(c)に示したコース選択画面212が表示され、そこに提示された複数のコースからユーザーはレースの開催されるいずれかのコースを選択することができる。コースが選択されると、続いて車のセッティングを入力する処理が行われる(ステップS113)。ここでは図18(d)に示すように、玩具システムSY1における4つの設定項目と同一項目が画面に表示され、ユーザーは各項目に対して玩具システムSY1と同様に1〜8までの8ステップのいずれかの設定値を指定することができる。
セッティングの入力が終わるとレースが実行される(ステップS114)。ここでは、例えば図18(e)に示すようにレース風景を動的に表示したレース画面214が表示される。このレースにおいて、ユーザーは車を操縦することができず、ユーザー端末120の制御装置(CPU)によりレース用プログラムに従ってレースの進行状況が逐次演算される。
レース状況の演算は、例えばステップS112で選択したコースと、ステップS113で入力したセッティングとを参照して行うことができる。例えば、高速走行が可能なコースが選択された場合にはコーナーリング性能よりも最高速に優れるセッティングの方が車が速くなり、カーブの多いコースが選択された場合には、最高速よりも中低速域での加速性能が良好でかつコーナーリング性能に優れたセッティングの方が車が速くなるようにレース状況の演算式を設定する。
また、ステップS113で入力したセッティングの値に応じた車の特性は、玩具システムSY1におけるパスワードと、そのパスワードによって特定される自動車モデル20の操縦特性(制御特性)の対応関係と類似性を設定しておく。例えば、玩具システムSY1において最高速が高いけれども曲がりにくい操縦特性が得られる設定状態(パスワード)があるとき、ステップS113で同一の設定値を入力すれば同様に最高速が高いけれども曲がりにくいように車の性能が設定されるようにしておく。このようにすれば、画面上で実行される仮想的なレースの成績と、玩具システムSY1においてレースを行ったときの成績とについてユーザーが相関性を感じるようになる。
レースが所定の終了位置まで進行するとレース終了となり、図17のステップS115へと処理が進んでレース結果及びパスワードが例えば図18(f)の画面215に示したように表示され、これを以て図17のレース処理が完了する。なお、図18(f)から明らかなように、レース結果はタイムとして表示される。また、ここでいうパスワードは、上述した設定状態を反映したものとは異なり、次に説明するランキングモード処理で使用される文字列であり、そこには、少なくともレースが行われたコース、タイム及びセッティングを特定するための情報が含まれている。
図19は、ランキング解析プログラムによって提供されるランキング提供サービスの手順を示すフローチャートであり、図の左側がユーザー端末120上でWebブラウザを利用して実現される処理を、図の右側がWebサーバ101にて実行される処理をそれぞれ示している。このサービスは、ユーザーが端末120を操作してWebサーバ101上の所定のランキングページへアクセスすることにより開始され、最初のステップS121では、図20(a)に示した所定のパスワード入力画面220がユーザー端末120上に表示される。ユーザーがパスワード入力画面220の入力ボックスに図17のレース処理で発行されたパスワードを入力すると、ユーザー端末120はWebサーバ101に対してパスワードを送信する(ステップS122)。
その送信を受けるとWebサーバ101はランキング解析プログラムによる処理を開始し、受け取ったパスワードを手掛かりとしてスコアランキングデータベース114を検索し、ユーザーが送信したパスワードに対応する順位を取得する(ステップS221)。このときの順位はコース毎に区別して決定される。その後、Webサーバ101は、取得した順位を特定するデータをユーザー端末120に送信する(ステップS222)。なお、データベースサーバ102は受け取ったパスワードをスコアランキングデータベース114に順位及び会員を特定する情報と対応付けて登録する。これにより、ユーザー端末120からコース、タイム及びセッティングを特定するパスワードが送られる毎に、スコアランキングデータベース114のデータが更新される。
ユーザー端末120はWebサーバ101から送られた順位データを受け取り(ステップS123)、そのデータによって特定される順位を、例えば図20(b)の画面221のように表示する(ステップS124)。その後、ユーザー端末120はユーザーが順位表の表示を要求する操作を行ったか否か判別し(ステップS125)、その操作が行われたときにはWebサーバ101に対して順位表データの送信を要求する(ステップS126)。
一方、Webサーバ101はユーザー端末120から順位表の送信が要求されたか否かを監視し(ステップS223)、要求があればスコアランキングデータベース114のデータに基づいて順位表データを取得し(ステップS224)、その順位表データをユーザー端末120に送信する(ステップS225)。
ユーザー端末120は順位表データを受け取り(ステップS127)、その受け取ったデータに基づいて例えば図20(c)に示すような順位表画面222を表示する(ステップS128)。なお、ユーザーが順位表の表示を希望しなかったときはステップS126〜ステップS128の処理がスキップされ、Webサーバ101においてはステップS223が否定されてステップS224及びステップS225がスキップされる。
順位表を表示した後、ユーザー端末120はプロセス終了をWebサーバ101に対して送信する(ステップS129)。Webサーバ101はその送信の有無によりプロセス終了か否かを判断し(ステップS226)、終了と判断されないときはステップS223へ戻り、終了と判断されたとき図19の処理を終える。
図21は、Webサーバ101が招待状配信プログラムに従って実行する招待状配信処理の手順を示すフローチャートである。この処理は、スコアランキングデータベース114に登録された成績優秀者を、玩具システムSY1を利用した実際の大会(レースイベント)に招待するためのもので、例えばWebサーバ101の管理者がその実行を指示することにより開始される。最初のステップS231では、スコアランキングデータベース114に登録されているスコアを参照して上位300名を取得する。次に、その取得された300名を100位ごとにクラス分けし(ステップS232)、それらの者に対する招待状の送付先を会員データベース111から取得する(ステップS233)。送付先は例えば電子メールアドレス、一般郵便物の宛先、FAX電話番号等である。
次に、抽出された300名を招待する大会の情報を入力する処理を行う(ステップS234)。この入力はWeb管理者が手入力してもよいし、インターネット100を介して大会開催情報を収集し、収集した情報が自動的に入力されるようにしてもよい。大会情報が入力されると招待状データが生成される(ステップS235)。例えばメールサーバ103から会員に対して招待状をメールで配信するときはそのメールの本文が生成される。招待状データが生成されると、その生成された招待状がステップS233で取得されたすべての送付先に送信される(ステップS236)。これを以て図21の処理が完了する。
図22は招待状をユーザー端末120に電子メールとして配信した場合に、そのユーザー端末120上に表示される招待状画面230の例を示している。この例に示すように、招待状画面230は少なくとも大会の開催日時、場所、招待されたユーザーのランクとともに、玩具システムSY1に対するセッティングが指定される。セッティングは図17のステップS115で発行されるパスワードにて特定されるものであり、要するにユーザーが図17のレース処理で使用したセッティングの設定値に相当する。
大会においては、図22の招待状で指定されたセッティングをパスワードとして送信機2に入力することをユーザーに義務付けることにより、図17のスコアランキングデータベース114上で規定されているランキングと、大会参加者が持ち込む玩具システムSY1の実力差とが相関性を有するようになり、ランキングデータベース114による大会参加者のクラス分けにより、大会参加者の強弱のばらつきを抑えられる。その一方、実際の大会では自動車モデル20を操縦する要素が加わるため、必ずしも車の能力差通りには勝敗が決まらない。従って、各クラスで白熱したレース展開が期待できる。
本発明は以上の実施形態に限定されず、種々の形態にて実施してよい。例えば玩具システムSY1の駆動機器1は自動車に限らず、戦車、船でもよい。自走式のものに限らず、例えばロボット、人形等の動作に本発明を適用してもよい。本発明の遊戯拡張システムと組み合わされる玩具システムは遠隔操作を前提としたものに限らず、ユーザーが直接操縦してもよい。あるいは、ユーザーはパラメータを設定するだけで操縦には一切関与しない玩具システムであっても本発明は適用できる。ユーザー端末は携帯電話に限らず、遊戯拡張システムから提供されるゲームを実行可能なコンピュータであれば何でもよい。さらに、本発明はユーザー端末側でゲームを実行する例に限らず、遊戯拡張システム上でゲームを実行し、その実行状況をユーザー端末上で表示させるための電子情報をユーザー端末に送信してもよい。