説明

コースパーツ、及び移動玩具システム。

【課題】移動玩具が移動の際にコースに設定されたデータを適切に読み取れるようにする。
【解決手段】移動玩具10が移動する走行面CPB1〜CPB16を有するコース60を構成するコースパーツCP1〜CP16であって、コースの走行面又は壁面63L、63R、64L、64Rの第1の領域CPBR1には、移動玩具がデータを読み取るための複数のデータマーカDM1〜DMnが設けられ、走行面又は壁面の第2の領域CPBL1には、データをサンプリングするためのクロックを移動玩具が読み取るための複数のクロックマーカCM1〜CM16が設けられる。このとき、複数のデータマーカは、第1の領域において、第1の方向D1に沿って設けられ、第1の方向に対して垂直方向を第2の方向D2とした場合に、複数のクロックマーカは、第1の領域の第2の方向に設けられた第2の領域において、第1の方向に沿って設けられる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コースパーツ、及び移動玩具システム等に関する。
【背景技術】
【0002】
従来から、複数のコースパーツを連結することで構成されるコースを走行させるレーシングカー等を模して、ユーザがより楽しめるように各種趣向を凝らしている車両玩具(移動玩具)が知られている。このような移動玩具として、例えば、特許文献1、特許文献2の従来例がある。
【0003】
特許文献1には、コース状態に応じて、所定のプログラムに基づく自動操縦と、ユーザの遠隔のコントローラの使用によって走行速度と走行方向を操作する手動操縦とを切り替えられる車両玩具走行装置が開示されている。当該車両玩具走行装置では、自動操縦用プログラムは、外部端末となる入力装置で事前に設定し、車両玩具に搭載する人形に内蔵した記憶装置に書き込まれる。そして、自動操縦用プログラムは、当該人形を模した記憶装置を介して、車両玩具に搭載したメモリに転送される。
【0004】
また、特許文献2には、ゲーム装置でゲームプレイすることで得られた制御情報を車両玩具に転送し、この制御情報に基づいて車両玩具の走行を制御する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平6−269574号公報
【特許文献2】特開2000−210476号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、これらの従来技術では、コースに設定されるデータを適正に読み取るための技術については開示されていなかった。
【0007】
本発明に係る幾つかの態様によれば、移動玩具が移動の際にコースに設定されたデータを適切に読み取れるコースパーツ、及び移動玩具システム等を提供できる。
【課題を解決するための手段】
【0008】
本発明は、移動玩具が移動する走行面を有するコースを構成するコースパーツであって、前記コースの前記走行面又は壁面の第1の領域には、前記移動玩具がデータを読み取るための複数のデータマーカが設けられ、前記走行面又は前記壁面の第2の領域には、前記データをサンプリングするためのクロックを前記移動玩具が読み取るための複数のクロックマーカが設けられるコースパーツに関係する。
【0009】
本発明のコースパーツによれば、移動玩具がコース上を移動することによって、特別なキャリブレーション処理をしなくても、各コースパーツデータを容易に読み取ることができる。
【0010】
このとき本発明では、前記複数のデータマーカは、前記第1の領域において、第1の方向に沿って設けられ、前記第1の方向に対して垂直方向を第2の方向とした場合に、前記複数のクロックマーカは、前記第1の領域の前記第2の方向に設けられた前記第2の領域において、前記第1の方向に沿って設けられることとしてもよい。
【0011】
このようにすれば、移動玩具がコース上を移動することによって、データ用センサと並列配置されているクロック用センサによりクロックを抽出し、そのクロックを基準にデータを適正に取得できる。
【0012】
また、本発明では、前記複数のデータマーカは、前記第1の方向に沿って設けられ、前記複数のクロックマーカは、前記複数のデータマーカとは前記第1の方向に沿ってずらして設けられることとしてもよい。
【0013】
このようにすれば、コース上を移動する移動玩具は、クロックの立ち上がりエッジ又は立ち下がりエッジで、データ用センサの検知信号を安定してサンプリングできるので、読み取りエラーを低減できる。
【0014】
また、本発明では、前記第1の方向における前記データマーカと前記クロックマーカとのずれ量が前記クロックマーカの前記第1の方向での幅よりも小さいこととしてもよい。
【0015】
このようにすれば、クロックの立ち上がりエッジ又は立ち下がりエッジで、データ用センサの検知信号をより安定してサンプリングできるので、読み取りエラーを低減できる。
【0016】
また、本発明では、前記複数のクロックマーカの第1の方向における両端側には、前記移動玩具の前記コース上における進行方向を判断するためのディレクションマーカが設けられることとしてもよい。
【0017】
このようにすれば、移動玩具に備わるセンサの一方がコースを走行する際にディレクションマーカを読み取ることによって、移動玩具のコース上における進行方向を判断できる。
【0018】
また、本発明では、前記ディレクションマーカの前記第1の方向における幅は、前記クロックマーカの前記第1の方向における幅と異なることとしてもよい。
【0019】
このようにすれば、クロック用センサでディレクションマーカとクロックマーカの区別が容易にできるようになる。
【0020】
また、本発明では、前記コースの前記走行面の輝度が所与の基準輝度未満である場合に、前記データマーカ及び前記クロックマーカの輝度は、前記基準輝度以上に設定されることとしてもよい。
【0021】
このようにすれば、移動玩具がコース上を移動することによって、輝度変化の検知に基づいてコース上のデータを読み取ることができるようになる。
【0022】
また、本発明では、前記コースの前記走行面の輝度が所与の基準輝度以上である場合に、前記データマーカ及び前記クロックマーカの輝度は、前記基準輝度未満に設定されることとしてもよい。
【0023】
このようにすれば、移動玩具がコース上を移動することによって、輝度変化の検知に基づいてコース上のデータを読み取ることができるようになる。
【0024】
また、本発明では、前記コースは、第1〜第Nのコースパーツから構成され、前記第1〜第Nのコースパーツのうちの第iのコースパーツと第jのコースパーツの形状が異なる場合(1≦i<j≦N)に、前記第iのコースパーツでの複数のデータマーカの配列と、前記第jのコースパーツでの複数のデーターカの配列が異なることとしてもよい。
【0025】
このようにすれば、コースパーツの形状の違いを、データマーカの配列の違いにより表すことが可能になる。
【0026】
また、本発明では、前記データは、前記コースパーツの形状を特定するためのコースデータであることとしてもよい。
【0027】
このようにすれば、移動玩具が走行する際にデータ用センサがデータマーカを読み取ることによって、コースデータを読み取ることができるようになる。
【0028】
また、本発明では、前記移動玩具のボディの前記コースに対する接地面側にガイド部が設けられ、前記複数のデータマーカが設けられた前記走行面の前記第1の領域と、前記複数のクロックマーカが設けられた前記走行面の前記第2の領域との間には、前記ガイド部と嵌合する溝部が前記移動玩具の移動方向である第1の方向に沿って形成されることとしてもよい。
【0029】
このようにすれば、移動玩具のガイド部がコースに設けられた溝部に嵌合しながら、移動玩具が当該溝部に沿って移動するようになるので、移動玩具の速度を増大させても、移動玩具がコースアウトすることを抑制できる。
【0030】
また、本発明では、前記溝部は、前記複数のデータマーカに対して前記コースの中心側に、前記第1の方向に沿って前記走行面に対して凸状に形成される第1の凸部と、前記複数のクロックマーカに対して前記コースの中心側に前記第1の方向に沿って前記走行面に対して凸状に形成される第2の凸部と、の間に設けられることとしてもよい。
【0031】
このようにすれば、移動玩具のガイド部が第1の凸部と第2の凸部との間に設けられた溝部に嵌合しながら、移動玩具が当該溝部に沿って移動するようになるので、移動玩具の速度を増大させても、移動玩具がコースアウトすることを抑制できる。
【0032】
また、本発明では、前記移動玩具の前記ボディの前記コースに対する前記接地面側には、前記ガイド部を前記溝部に誘導するための第1のガイドローラ及び第2ガイドローラが設けられ、前記第1の凸部は、前記複数のデータマーカ側の側面が前記第1のガイドローラ及び前記第2ガイドローラの一方と当接するように形成され、前記第2の凸部は、前記複数のクロックマーカ側の側面が前記第1のガイドローラ及び前記第2ガイドローラの他方と当接するように形成されることとしてもよい。
【0033】
このようにすれば、移動玩具がコース上を移動する際に、各凸部の各マーカ側の側面と当接するガイドローラによって、ガイド部が溝部に誘導されるので、移動玩具の速度を増大させても、移動玩具がコースアウトすることを抑制できる。
【0034】
また、本発明では、前記溝部は、前記第1の領域の前記コースの中心側に、前記第1の方向に沿って前記走行面に対して凹状に形成される第1の凹部と、前記第2の領域の前記コースの中心側に、前記第1の方向に沿って前記走行面に対して凹状に形成される第2の凹部と、の間に設けられることとしてもよい。
【0035】
このようにすれば、移動玩具のガイド部が第1の凹部と第2の凹部との間に設けられた溝部に嵌合しながら、移動玩具が当該溝部に沿って移動するようになるので、移動玩具の速度を増大させても、移動玩具がコースアウトすることを抑制できる。
【0036】
また、本発明では、前記移動玩具の前記ボディの前記コースに対する前記接地面側には、前記ガイド部を前記溝部に誘導するための第1のガイドローラ及び第2ガイドローラが設けられ、前記第1の凹部は、前記走行面側の側面が前記第1のガイドローラ及び前記第2ガイドローラの一方と当接するように形成され、前記第2の凹部は、前記走行面側の側面が前記第1のガイドローラ及び前記第2ガイドローラの他方と当接するように形成されることとしてもよい。
【0037】
このようにすれば、移動玩具がコース上を移動する際に、各凹部の走行面側の側面と当接するガイドローラによって、ガイド部が溝部に誘導されるので、移動玩具の速度を増大させても、移動玩具がコースアウトすることを抑制できる。
【0038】
また、本発明は、上記のいずれかに記載のコースパーツから構成されるコースと、前記コース上を移動する移動玩具を含む移動玩具システムであって、前記移動玩具は、ボディと、前記ボディに搭載され、所与の動力が供給されて前記移動玩具を移動させる原動機と、前記移動玩具がデータを読み取るために前記コースに設けられる複数のデータマーカを検知するデータ用センサと、前記クロックを読み取るために前記コースに設けられる複数のクロックマーカを検知するクロック用センサと、前記クロック用センサの検知信号から抽出された前記クロックにより、前記データセンサの検知信号をサンプリングすることで前記データを抽出する制御部と、を含む移動玩具システムに関係する。
【0039】
本発明の移動玩具システムによれば、移動玩具が走行する際にクロック用センサで各コースパーツ上のクロックマーカを読み取りながら、クロック用センサの検知信号から抽出されたクロックにより、データ用センサの検知信号をサンプリングしてデータを抽出することができる。このため、データ用センサでコースデータ等のデータを適正に読み取ることができる。
【0040】
このとき、本発明では、前記複数のデータマーカは、第1の方向に沿って設けられ、前記複数のクロックマーカは、前記複数のデータマーカとは前記第1の方向に沿ってずらして設けられ、前記制御部は、前記クロックの立ち上がりエッジ又は立ち下がりエッジで前記データ用センサの検知信号をサンプリングすることで前記データを抽出する移動玩具システムに関係する。
【0041】
このようにすれば、クロックの立ち上がりエッジ又は立ち下がりエッジで、データ用センサの検知信号を安定してサンプリングできるので、読み取りエラーを低減できる。
【0042】
また、本発明では、前記制御部は、前記ボディの接地面側に設けられる2つのセンサのうち、前記ディレクションマーカを読み取った一方のセンサを前記クロック用センサに設定し、他方のセンサを前記データ用センサに設定することとしてもよい。
【0043】
このようにすれば、コースパーツをどちらの向きに設置しても、データマーカを読み取れるようになる。
【図面の簡単な説明】
【0044】
【図1】図1(A)、図1(B)は車両玩具が走行するコースの説明図。
【図2】図2(A)は、本実施形態が適用されるコースパーツの外観斜視図、図2(B)は、本実施形態が適用されるコースパーツの平面図。
【図3】図3(A)は、他の実施形態が適用されるコースパーツの外観斜視図、図3(B)は、他の実施形態が適用されるコースパーツの平面図。
【図4】図4(A)は、他の実施形態が適用されるコースパーツの外観斜視図、図4(B)は、他の実施形態が適用されるコースパーツの平面図。
【図5】図5(A)は、他の実施形態が適用されるコースパーツの外観斜視図、図5(B)は、他の実施形態が適用されるコースパーツの平面図。
【図6】本実施形態が適用される車両玩具の外観斜視図。
【図7】本実施形態が適用される車両玩具の内部構成を示す平面図。
【図8】他の実施形態が適用される車両玩具の接地面側の構成を示す平面図。
【図9】図9(A)は他の実施形態が適用される車両玩具の走行時の状態を示す正面図、図9(B)は他の実施形態が適用される車両玩具の変形例の走行時の状態を示す正面図。
【図10】他の実施形態が適用される車両玩具の接地面側の構成を示す平面図。
【図11】図11(A)は他の実施形態が適用される車両玩具が第1の変形例のコースパーツ上を走行時の状態を示す正面図、図11(B)は他の実施形態が適用される車両玩具が第2の変形例のコースパーツ上を走行時の状態を示す正面図。
【図12】本実施形態が適用される車両玩具の機能ブロック図。
【図13】本実施形態が適用されるゲーム装置の外観図。
【図14】本実施形態が適用されるゲーム装置の機能ブロック図。
【図15】図15(A)は本実施形態の車両玩具によるマーカコードの認識方法の第1の方法の模式図、図15(B)は本実施形態の車両玩具の第1の方法によるクロック用センサ及びデータ用センサの検知信号の波形図。
【図16】本実施形態の車両玩具によるマーカコードの認識方法の第1の方法のフローチャート。
【図17】図17(A)は本実施形態の車両玩具によるマーカコードの認識方法の第2の方法の模式図、図17(B)は本実施形態の車両玩具の第2の方法によるクロック用センサ及びデータ用センサの検知信号の波形図。
【図18】本実施形態の第2の方法の実装イメージ図。
【図19】本実施形態の車両玩具によるマーカコードの認識方法の第2の方法のフローチャート。
【図20】走行制御データの設定手法を説明するための図。
【図21】走行制御データの設定手法を説明するための図。
【図22】走行制御データの設定手法を説明するための図。
【図23】図23(A)〜図23(C)は、コースデータの自動取得手法の説明図。
【図24】図24(A)〜図24(C)は、走行制御データの設定手法を説明する図。
【図25】コースデータの設定手法を説明する図。
【図26】図26(A)、図26(B)は、実走行結果データを受信して表示する手法の説明図。
【図27】図27(A)、図27(B)は、実走行結果データと走行シミュレーション結果データを比較して表示する手法の説明図。
【発明を実施するための形態】
【0045】
以下、本発明の好適な実施の形態について詳細に説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0046】
1.コース
図1(A)に、本実施形態の移動玩具システムに含まれるコースの一例を斜視図で示す。移動玩具システムは、複数のコースパーツCP1〜CP16から構成されるコース60と、コース60上を移動する移動玩具として車両玩具10を含む。本実施形態では、車両玩具10(移動玩具)を走行させるコース60は、図1(A)に示すように、直線形状、カーブ形状、およびスロープ形状の各種構成を有する複数のコースパーツCP1〜CP16が適宜の連結構造を介して、隣接する他のコースパーツと連結されて無端状に形成し、直線、カーブ、およびスロープが配置される構成となっている。当該コース60は、コースパーツCP1〜CP8によって構成される第1の巡回コース61に、コースパーツCP9〜CP16によって当該第1の巡回コース61と略同一に構成される第2の巡回コース62を後続させるように設置し、サーキット2周で1コースとなる構成となっている。
【0047】
第1の巡回コース61は、第1の直線コースパーツCP1、第1のカーブコースパーツCP2、第1のスロープコースパーツCP3、第2のカーブコースパーツCP4、第2のスロープコースパーツCP5、第3のカーブコースパーツCP6、第2の直線コースパーツCP7、および第4のカーブコースパーツCP8を順に連結して構成される。第1の直線コースパーツCP1は、第2の直線コースパーツCP7より長い直線コースパーツであり、第1のカーブコースパーツCP2に連結される。第1のカーブコースパーツCP2は、ループ形状のコースパーツであり、第1のスロープコースパーツCP3に連結される。第1のスロープコースパーツCP3は、第1の直線コースパーツCP1および第3の直線コースパーツCP9と立体交差するように、スロープ形状の架橋となって、後続の第2のカーブコースパーツCP4に連結される。第2のカーブコースパーツCP4は、緩やかなカーブコースであり、かつ第6のカーブコースパーツCP12と立体交差するように、スロープ形状の架橋となって、後続の第2のスロープコースパーツCP5に連結される。第2のスロープコースパーツCP5は、第1の直線コースパーツCP1、第3の直線コースパーツCP9と立体交差するように、スロープ形状の架橋となって、後続の第3のカーブコースパーツCP6に連結される。第3のカーブコースパーツCP6は、カーブ形状のコースパーツであり、後続の第2の直線コースパーツCP7に連結される。第2の直線コースパーツCP7は、直線形状のコースパーツであり、後続の第4のカーブコースパーツCP8に連結される。第4のカーブコースパーツCP8は、ループ形状のコースパーツであり、後続の第2の巡回コース62の導入コースとなる第3の直線コースパーツCP9に連結される。
【0048】
一方、第2の巡回コース62は、第3の直線コースパーツCP9、第5のカーブコースパーツCP10、第3のスロープコースパーツCP11、第6のカーブコースパーツCP12、第4のスロープコースパーツCP13、第7のカーブコースパーツCP14、第4の直線コースパーツCP15、および第8のカーブコースパーツCP16を順に連結して構成される。第3の直線コースパーツCP9は、第1の直線コースパーツCP1と同一の直線コースパーツであり、第5のカーブコースパーツCP10に連結される。第5のカーブコースパーツCP10は、第1のループコースパーツCP2と同一のループ形状のコースパーツであり、第3のスロープコースパーツCP11に連結される。第3のスロープコースパーツCP11は、第1のスロープコースパーツCP3と同様の構成でスロープ形状の架橋となって、後続の第6のカーブコースパーツCP12に連結される。第6のカーブコースパーツCP12は、緩やかなカーブコースであり、後続の第4のスロープコースパーツCP13に連結される。第4のスロープコースパーツCP13は、第2のスロープコースパーツCP5と同様の構成でスロープ形状の架橋となって、後続の第7のカーブコースパーツCP14に連結される。第7のカーブコースパーツCP14は、カーブ形状のコースパーツであり、後続の第4の直線コースパーツCP15に連結される。第4の直線コースパーツCP15は、直線形状のコースパーツであり、後続の第8のカーブコースパーツCP16に連結される。
【0049】
また、各コース部は、図1(B)のA−A矢視断面図で示すように、第1の巡回コース61と第2の巡回コース62が並列され、各巡回コース61、62に対し両サイド側に、それぞれ側壁63L、63R、64L、64Rが設けられている。
【0050】
さらに、コース60を構成する各コースパーツCP1〜CP16には、図2(B)に示すように、コース60の走行面CPB1(〜CPB16)の車両玩具10の進行方向D1(第1の方向)に対して右半分側の領域CPBR1(広義には第1の領域)に車両玩具10がデータを読み取るための複数のデータマーカDM1〜DMn(nは2以上の整数)が配列されるマーカコードMC1(〜MC16)が設けられる。
【0051】
本実施形態では、これらのマーカコードMC1(〜MC16)に含まれる複数のデータマーカDM1〜DMnによって読み取られるデータは、各コースパーツCP1〜CP16の形状を特定するためのコースパーツID等で示されるコースデータである。すなわち、各マーカコードMC1(〜MC16)は、コースパーツCP1〜CP16のうち、第iのコースパーツCPiと第jのコースパーツCPj(1≦i<j≦16)の形状が異なれば、複数のデータマーカDM1〜DMnの配列が異なっている。このため、コースパーツCP1〜CP16の形状の違いを、データマーカDM1〜DMnの配列の違いにより表すことが可能になる。なお、当該データは、コースデータに限られず、例えば、各コースパーツCP1〜CP16における走行の際の走行指示データ等であってもよい。
【0052】
一方、各コースパーツCP1〜CP16の走行面CPB1〜CPB16の車両玩具10の進行方向D1に対して左半分側の領域CPBL1(第2の領域)には、図2(A)、図2(B)に示すように、当該データをサンプリングするためのクロックを車両玩具10が読み取るための複数のクロックマーカCM1(〜CM16)が設けられている。なお、これらのデータマーカDM1〜DMnとクロックマーカCM1〜CM16の配列は、図2(B)に示す配列に限定せず、例えばD1方向に対して左右反対となる配列であってもよい。
【0053】
また、本実施形態では、複数のクロックマーカCM1〜CM16の第1の方向D1における両端側には、車両玩具10のコース上における進行方向を判断するためのディレクションマーカDMA1(〜DMA16)、DMB1(〜DMB16)が設けられている。ディレクションマーカDMA1(〜DMA16)、DMB1(〜DMB16)は、クロックマーカCM1〜CM16と区別できるようにするために、第1の方向D1における幅がクロックマーカCM1〜CM16の第1の方向D1における幅より大きく設定される。なお、ディレクションマーカDMA1(〜DMA16)、DMB1(〜DMB16)の第1の方向D1における幅は、クロックマーカCM1〜CM16と区別できるように異なる大きさであればよいので、クロックマーカCM1〜CM16の第1の方向D1における幅より小さくてもよい。
【0054】
本実施形態では、データマーカDM1〜DMn及びクロックマーカCM1(〜CM16)は、白色のマーカであり、コース60の走行面CPB1(〜CPB16)は、黒色に着色されている。なお、これらのマーカDM1〜DMn、CM1〜CM16の色は、白色に限定されず、輝度が所与の基準輝度以上に設定され、コース60の走行面CPB1(〜CPB16)の輝度が当該基準輝度未満に設定されていればよい。また反対に、これらのマーカDM1〜DMn、CM1〜CM16の輝度が所与の輝度未満に設定され、コース60の走行面CPB1(〜CPB16)の輝度が当該基準輝度以上に設定するようにしてもよい。
【0055】
そして、これらデータマーカDM1〜DMn及びクロックマーカCM1(〜CM16)が設けられたコース60上を走行開始した車両玩具10は、各種端末装置等からなるゲーム装置からインストールされるプログラムによって走行動作が制御されながら、コース60上を反時計回り(図1におけるD1方向)で走行する。本実施形態では、コース60上を走行した際に、車両玩具10に含まれるデータ用センサ50a(図4参照)がマーカコードMC1〜MC16に含まれるデータマーカDM1〜DMnを読み取ることによって、各コースパーツCP1〜CP16の形状を特定するためのコースパーツID(コースデータ)を取得できる。また、コース60は、各コースパーツCP1〜CP16に対応して、各コース区間CS1〜CS16が設定される。なお、本実施形態のコース60は、図1(A)の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0056】
なお、コース60を構成するコースパーツCP1〜CP16は、図2(A)、図2(B)に示す構成例に限定されない。すなわち、コース60を走行する車両玩具が例えばスロットカー方式の場合には、図3(A)、図3(B)に示すように、車両玩具のボディのコース60に対する接地面側に設けられるガイド部と嵌合するガイド溝部200Dが、第1の方向D1に沿って、走行面CPB1〜CPB16の第1の領域CPBR1と第2の領域CPBL1との間に形成される。
【0057】
このように、ガイド溝部200DをコースパーツCP1〜CP16に形成することによって、車両玩具のガイド部がガイド溝部200Dと第1の方向D1に沿って嵌合するようになる。このため、スロットカー方式等の車両玩具を走行させる際に、ガイド部がガイド溝部200Dに対して摺動するように嵌合されるので、車両玩具の速度を大きくした場合でも、車両玩具がコース60から脱線し難くなる。従って、図2(A)、図2(B)に示す構成例のような側壁を設けなくても、車両玩具のコース60からの脱線が抑制されるので、コース60上での車両玩具の走行動作をユーザが観賞し易くなり、より車両玩具の走行動作の観賞を楽しめるようになる。また、コース60に側壁を要しないことから、ユーザがコース60上の車両玩具の走行動作を見易くなり、車両玩具の走行トラブルの発見等が容易になる。
【0058】
また、後述する接地面側に車両玩具のガイド部をガイド溝部に誘導するための一対のガイドローラを有するスロットカー方式の場合に使用するコースパーツの構成例として、図4(A)、図4(B)に示す第1の変形例と、図5(A)、図5(B)に示す第2の変形例がある。
【0059】
第1の変形例では、コースパーツCP301〜CP316のガイド溝部300Dは、図4(A)、図4(B)に示すように、ガイド溝部300Dが走行面CPB1〜CPB16に対して凸状に形成される第1の凸部302と第2の凸部304との間に設けられる。第1の凸部302は、複数のデータマーカDM1〜DMnに対してコース60の中心側に、第1の方向D1に沿って走行面CPB1〜CPB16に対して凸状に形成される。そして、第1の凸部302は、データマーカDM1〜DMn側の側面302Wが車両玩具の接地面側に設けられる一対のガイドローラの一方と当接するように形成される。一方、第2の凸部304は、複数のクロックマーカCM1〜CM16に対してコース60の中心側に、第1の方向D1に沿って走行面CPB1〜CPB16に対して凸状に形成されている。そして、第2の凸部304は、クロックマーカCM1〜CM16側の側面304Wが車両玩具の接地面側に設けられる一対のガイドローラの他方と当接するように形成される。
【0060】
このようにガイド溝部300Dを第1の凸部302、第2の凸部304との間に設ける構成とすることによって、車両玩具が走行する際に、ガイドローラが第1の凸部302及び第2の凸部304と当接して、ガイド部がガイド溝部300Dに誘導されるようになる。このため、車両玩具を高速度に走行させた場合でも、車両玩具のコースアウトを抑制することが出来る。なお、第1の凸部302、第2の凸部304の頂部302T、304Tに鉄等の磁性体をコーティング等により設けることによって、車両玩具のモータ駆動によって発生する磁力によって引力が働き、車両玩具が凸部302、304から脱離し難くなる。このため、車両玩具の速度を上げた場合でも、車両玩具のコースアウトの発生を抑制できるようになる。
【0061】
第2の変形例では、コースパーツCP401〜CP416のガイド溝部400Dは、図5(A)、図5(B)に示すように、ガイド溝部400Dが走行面CPB1〜CPB16に対して凹状に形成される第1の凹部402と第2の凹部404との間に設けられる。第1の凹部402は、複数のデータマーカDM1〜DMnが設けられる第1の領域CPBR1に対してコース60の中心側に、第1の方向D1に沿って走行面CPB1〜CPB16に対して凹状に形成されている。そして、第1の凹部402は、走行面側の側面402Wが車両玩具の接地面側に設けられる一対のガイドローラの一方と当接するように形成される。一方、第2の凹部404は、複数のクロックマーカCM1〜CM16が設けられる第2の領域CPBL1に対してコース60の中心側に、第1の方向D1に沿って走行面CPB1〜CPB16に対して凹状に形成されている。そして、第2の凹部404は、走行面側の側面404Wが車両玩具の接地面側に設けられる一対のガイドローラの他方と当接するように形成される。
【0062】
このようにガイド溝部400Dを第1の凹部402、第2の凹部404との間に設ける構成とすることによって、車両玩具が走行する際に、ガイドローラが第1の凹部402及び第2の凹部404と当接することによって、車両玩具のガイド部がガイド溝部400Dに誘導されるようになる。このため、車両玩具を高速度に走行させた場合でも、車両玩具のコースアウトを抑制することが出来る。
【0063】
2.移動玩具
図6に、本実施形態の移動玩具システムでコース上を移動する移動玩具の一例である車両玩具10の外観斜視図を示す。本実施形態では、図6に示すように、車両玩具10のボディ12は、スポーツカー等の外形を模した外装部14と、前輪18と後輪20(接地部)が一対ずつ設けられるシャシ16とを含む。これらの前輪18および後輪20は、シャシ16に搭載されたモータ等の原動機によって駆動されて、車両玩具10を移動させる。
【0064】
図6に示すように、ボディ12の四隅には、ガイドローラ(プレート)21、22、23、24(24について図7参照)がそれぞれ設けられている。これらのガイドローラ21〜24は、コース60を走行中に、図1(B)に示す側壁63L、63R、64L、64Rにヒットすることで、車両玩具10のコース60上での進行を円滑にすると共に、車両玩具10の走行の安定性を担保するための部材である。
【0065】
なお、本実施形態では、車両玩具10は、ボディ12(外装部14)がスポーツカーを模した形状になっているが、車両玩具10は、これに限らず様々な形態の自動車(例えば、トラック等)、或いは二輪車(例えば、バイク等)の外形を有していてもよい。また、本実施形態の移動玩具は、車両玩具に限定されず、例えば、競馬の競走馬等の動物や漫画等の各キャラクタを模した人形等をコースに沿って移動させるものにも適用可能である。
【0066】
図7は、本実施形態の車両玩具10の内部構成の平面図であり、ボディ12の外装部14を取り外した状態を示す。本実施形態では、車両玩具10は、前輪18(18L、18R)および後輪20(20L、20R)をそれぞれ左右に一対ずつ有し、これら前輪18、後輪20を軸支する前輪用車軸(シャフト)26、後輪用車軸28に、シャシ16の後方側に搭載されるモータ30の駆動が伝達され、前輪18および後輪20が回転駆動される四輪駆動車両玩具である。なお、所与の動力を供給して車両玩具10を走行移動させるための機械的エネルギーに変換する原動機は、モータ30に限定されず、例えば小型エンジン等の他の原動機を適用しても良い。
【0067】
後輪用車軸28には、後輪20を駆動させるための後輪駆動用ギア32が設けられ、当該後輪駆動用ギア32を介して、当該後輪用車軸28にモータ30の駆動が伝達される。また、後輪用車軸28には、前輪用車軸26にモータ30の駆動を伝達するための後輪側クラウンギア34が設けられており、前輪用車軸26に駆動を伝達するための駆動伝達軸36の端部に設けられる後輪側駆動伝達ギア38と噛合している。
【0068】
一方、前輪用車軸26には、駆動伝達軸36を介してモータ30の駆動を伝達するための前輪側クラウンギア40が設けられており、駆動伝達軸36の他端に設けられる前輪側駆動伝達ギア42と噛合している。このため、モータ30が駆動すると、モータ30の駆動が後輪駆動用ギア32、後輪側駆動伝達ギア38、駆動伝達軸36、前輪側駆動伝達ギア42、および前輪側クラウンギア40を介して伝達され、本実施形態の車両玩具10が四輪駆動となる。なお、本実施形態の車両玩具10のモータ30に所与の動力を供給して車両玩具10を走行させるための機械的エネルギーに変換する動力伝達機構は、図4の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0069】
また、前輪用車軸26は、シャシ16に対し軸部44を介して軸支される前輪軸支持部46に回転自在に支持されている。このため、前輪18は、前輪用車軸26を介して水平軸周りに回転可能とすることによって車両玩具10を走行させ、かつ軸部44で軸支される前輪軸支持部46を介して垂直軸周りに揺動可能とすることによって、車両玩具10の向きを変化させる。
【0070】
シャシ16の略中央には、モータ30に動力となる電力を供給する電源として乾電池48(動力源)が設置されている。乾電池48の設置場所は、シャシ16の略中央に限定されないが、重量を有する乾電池48をシャシ16の略中央に設置することによって、車両玩具10の重心が略中央に移動し、車両玩具10の走行動作が安定するようになるので、乾電池48の設置場所は、シャシ16の略中央に設置することが好ましい。なお、本実施形態では、電力供給源として乾電池48を設置する車両玩具10としているが、電力供給を充電式によるものとすることも可能である。
【0071】
さらに、車両玩具10がコース60上に走行中にコース60と対向するボディ12の接地面側、すなわちシャシ16の裏面側の前方には、コース60の走行面に設けられたマーカを検知するセンサ50が設けられている。本実施形態では、センサ50として、データ用センサ50aと、クロック用センサ50bとを備える。データ用センサ50aは、車両玩具10がデータを読み取るためにコース60に設けられる複数のデータマーカDM1〜DMnからなるマーカコードMC1〜MC16を検知する。クロック用センサ50bは、当該データをサンプリングするためのクロックを読み取るためにコース60に設けられる複数のクロックマーカCM1〜CM16を検知する。
【0072】
本実施形態では、データ用センサ50a及びクロック用センサ50bは、図7に示すように、ボディ12のコース60に対する接地面側に、車両玩具10の走行方向(移動方向)である第1の方向D1に対して垂直方向となる第2の方向D2に沿って並列して設けられている。このため、車両玩具10がコース60上を走行すると、クロック用センサ50bでクロックマーカCM1〜CM16を読み取りながら、データ用センサ50aでデータマーカDM1〜DMnを読み取れる。換言すると、データ用センサ50aと並列配置されているクロック用センサ50bによりクロックを抽出し、そのクロックを基準にデータを適正に取得できる。
【0073】
なお、データ用センサ50a及びクロック用センサ50bの設置箇所は、図7に示すように、シャシ16の裏面側の前方に限定されない。すなわち、車両玩具10が走行した際に、データマーカDM1〜DMnを読み取れる位置にデータ用センサ50a、クロックマーカCM1〜CM16を読み取れる位置にクロック用センサ50bが設けられていればよい。例えば、これらのセンサ50a、50bをボディ12の接地面側の略中央に第2の方向D2に沿って並列して設けることも可能である。また、データマーカDM1〜DMn又はクロックマーカCM1〜CM16の何れか一方がコース60の両サイド側の側壁63L、63R、64L、64Rに設けられていれば、これらのマーカDM1〜DMn、CM1〜CM16と対向するように、ボディ12の側壁側にセンサ50a、50bを設けてもよい。
【0074】
本実施形態では、データ用センサ50aは、検知対象となるマーカコードMC1〜MC16に含まれるデータマーカDM1〜DMnの輝度(輝度情報)を検知し、クロック用センサ50bは、検知対象となるクロックマーカCM1〜CM16の輝度(輝度情報)を検知する。そして、クロック用センサ50bの検知信号から抽出されたクロックにより、データ用センサ50aの検知信号をサンプリングすることでコースパーツCP1〜CP16の形状を特定するためのコースデータを読み取ることができる。
【0075】
具体的には、データ用センサ50aは、コース60の各コースパーツCP1〜CP16、CP201〜CP216、CP301〜CP316、CP401〜CP416の走行面CPB1〜CPB16の車両玩具10の進行方向D1(第1の方向)に対して右半分側の領域(第1の領域)に設けられたデータマーカDM1〜DMnと対向するように配置される。そして、データ用センサ50aは、検知対象となるデータマーカDM1〜DMnの輝度を検知する。この場合に、コース60の走行面CPB1〜CPB16の輝度は、所与の基準輝度未満であり、データマーカDM1〜DMnの輝度は、基準輝度以上になるように設定される。そして、車両玩具10が走行してコース60上に設けられているマーカコードMC1〜MC16の各データマーカDM1〜DMnを通過すると、センサ50の検知対象の輝度が基準輝度を閾値として判断して、各マーカコードMC1〜MC16が検出される。そして、これらのマーカコードMC1(〜MC16)に含まれるデータマーカDM1〜DMnの検出によって、各コースパーツCP1〜CP16、CP201〜CP216、CP301〜CP316、CP401〜CP416の形状を特定するためのコースデータが読み取られる。なお、ここで言及する基準輝度とは、第1の輝度と第2の輝度の差異を明確に設定するための当該第1の輝度と第2の輝度の間の所与の輝度である。
【0076】
なお、センサ50としては、例えば、反射型のフォトセンサ(赤外線センサ)を用いることができる。この反射型のフォトセンサは、LED等の発光素子(投光素子)を有し、当該発光素子で発光した(投光素子から投光された)光を検知対象で反射させて、その反射光を受光素子で受光することによって検知するセンサである。
【0077】
但し、センサ50(50a、50b)は、反射型のフォトセンサには限定されず、距離センサ、バーコード読み取りセンサ、或いはCCD等の各種センサを用いることができる。例えば、センサ50を赤外線受光部が設置される赤外線センサにして、センサ50の検知対象となるデータマーカDM1〜DMn及びクロックマーカCM1〜CM16に赤外線発光部を設置して、当該赤外線センサによる近距離データ通信に好適なIRDA通信を利用するものとしてもよい。すなわち、コース60上のデータマーカDM1〜DMn及びクロックマーカCM1〜CM16から出力される赤外線信号によって、クロック用センサの検知信号から抽出されたクロックにより、データ用センサの検知信号をサンプリングすることでデータを読み取れるようにすることも可能である。
【0078】
また、車両玩具10のスタート後(レース開始後、原動機がオンになった後)に、常時、センサ50による検知対象の検知を実行するようにしてもよい。すなわち、スタート後、常にセンサ50による検知を行い、得られた検知結果のデータを記憶部330に蓄積して行く。このとき、例えば検知結果のデータを記憶部330の図示しないリングバッファに格納するようにしてもよい。この場合には、リングバッファの全ての格納領域に検知結果データが書き込まれると、その後は検知結果が上書きされることになるため、リングバッファに格納される検知結果データが所定時間毎に更新されるようになる。
【0079】
また、車両玩具10のボディ12(シャシ16)の後端側には、ブレーキランプ等として機能する発光素子52L、52Rが設けられており、車両玩具10の速度変化時(例えば、減速時または加速時等)に点灯する。これにより、減速時のブレーキランプの点灯を擬似的に表現できる。なお、本実施形態の車両玩具10の内部構成は、図7の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0080】
なお、本実施形態の車両玩具を、例えば、前述したようにコース60上に形成されたガイド溝部200D、300D、400Dに嵌合するガイド部を備えるスロットカー方式の車両玩具に適用することも可能である。
【0081】
すなわち、本実施形態の車両玩具をスロットカー方式に適用した場合では、図8に示すように、車両玩具10Xのボディ12のシャシ16におけるコース60に対する接地面側に、ガイド部70がデータ用センサ50aとクロック用センサ50bとの間に配置されるように設置されている。ガイド部70は、図8に示すように、略板形状のガイド部材72が支持軸74に対して回動自在に設けられることによって構成される。そして、図9(A)に示すように、当該ガイド部材72が車両玩具10Xの移動方向となる第1の方向D1に沿って、コース60上に形成されたガイド溝部200Dに嵌合する。
【0082】
このように、ガイド部70をコース60と対向する車両玩具10Xの接地面側に設けることによって、ガイド溝部200Dが形成されたコース上を走行する際に、ガイド部材72が当該溝部200Dに嵌合しながら、車両玩具10Xが当該溝部200Dに沿って移動する。このため、車両玩具10Xの走行速度を急に増大させた場合等でも、ガイド部材72が溝部200Dに嵌合しているので、車両玩具10Xがコースアウトすることを抑制できる。
【0083】
また、ガイド部70のガイド部材72を支持軸74に対して回動自在に設けることによって、ガイド溝部200Dが直線形状でも曲線形状でも、その形状によらずに、車両玩具10Xをコース60上に走行させる際に、ガイド部材72がガイド溝部200Dに摺動しながら嵌合するようになる。
【0084】
なお、図8に示す構成例では、ガイド部70がデータ用センサ50aとクロック用センサ50bとの間に配置されているが、ガイド部70の配置は、図8に示す構成例に限定されない。すなわち、車両玩具10Xのガイド部70が溝部200D(300D、400D)に嵌合しながら走行する際に、データ用センサ50aがデータマーカDM1〜DMnを読み取り、クロック用センサ50bがクロックマーカCM1〜CM16を読み取れる配置となっていればよい。
【0085】
また、ガイド部70のガイド部材72の形状も略板形状に限定されない。すなわち、車両玩具10Xがコース60上を走行する際に、ガイド溝部200Dに嵌合する形状であれば、例えば略棒形状のガイド部材としてもよい。さらに、図9(B)に示すように、ガイド溝部202Dの断面が二股に分岐する形状である場合には、ガイド部材74を当該分岐形状の断面を有するガイド溝部202Dと嵌合するように、断面が略への字型のガイド部材74とすることによって、車両玩具10Xをコース60からより脱線し難くすることができる。
【0086】
なお、前述した第1の変形例及び第2の変形例のコースパーツから構成されるコースを走行するスロットカー方式の車両玩具の場合は、図10に示すように、第1の方向D1に対してガイド部70の両側に、ガイド部70をガイド溝部302D、402Dに誘導する1対のガイドローラ50(50a、50b)が設けられる。また、本実施形態では、車両玩具10の走行姿勢、走行状態を安定させるために、図11(A)、図11(B)に示すように軸部50a1、50b1に付勢手段となるスプリングダンパー50a2,50b2が設けられている。
【0087】
このように車両玩具10Yの接地面側に1対のガイドローラ50a、50bを設けることによって、前述した第1の変形例のコースパーツから構成されるコースを走行する場合には、第1のガイドローラ50aは、図11(A)に示すように、第1の凸部302の側面302Wと当接し、第2のガイドローラ50bは、第2の凸部304の側面304Wと当接する。一方、前述した第2の変形例のコースパーツから構成されるコースを走行する場合には、第1のガイドローラ50aは、図11(B)に示すように、第1の凹部402の側面402Wと当接し、第2のガイドローラ50bは、第2の凹部404の側面404Wと当接する。
【0088】
このようにガイド部70の両脇にガイドローラ50a、50bを設けることによって、車両玩具10がコース60上を移動する際に、これらのガイドローラ50a、50bがガイド部70をガイド溝部200D、300D、400Dに誘導するので、車両玩具10の速度を増大させても、車両玩具10がコースアウトすることを抑制できる。なお、ガイドローラの数は、個数や設置箇所は、ガイドローラによってガイド部がガイド溝部に誘導される構成となっていれば、上記の実施形態に限定されない。また、車両玩具10Yの接地面側に軸部50a1、50b1にスプリングダンパー50a2、50b2を備えるガイドローラ50a、50bを設ける場合には、ガイドローラ50a、50bを介して、車両玩具10Yが凸部302、304や凹部402、404に支持されるようになるので、ガイド部70を省略する構成としてもよい。
【0089】
以上説明したように、コース60の略中央側にガイド溝部200D、300D、400Dに対して摺動するように嵌合されるガイド部70を設けることによって、車両玩具10X、10Yの速度を大きくした場合でも、車両玩具10X、10Yがコース60から脱線し難くなる。従って、コース60に側壁を設けなくても、車両玩具10X、10Yのコース60からの脱線が抑制されるようになるので、コース60上での車両玩具10X、10Yの走行動作をユーザが観賞し易くなり、より車両玩具10X、10Yの走行動作の観賞を楽しめるようになる。
【0090】
図12に、本実施形態の車両玩具(移動玩具)10の機能ブロック図の例を示す。車両玩具10のボディ12内には、車両玩具10の各構成要素を制御するための回路部品が実装された回路基板(システム基板)300が設けられている。この回路基板300は、図12に示すように、制御部310、記憶部330、発光素子駆動部340、駆動部350、センサコントローラ360、および外部インターフェース(I/F)部370を含む。なお、本実施形態の車両玩具10の回路基板300に含まれる各構成要素は、図12の機能ブロック図の例に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0091】
制御部310は、車両玩具10(移動玩具)の制御を行う。具体的には、記憶部330から読み出されたデータやプログラムなどに基づいて、車両玩具10全体の制御や、回路基板300の各構成要素(駆動部等)の制御を行う。本実施形態では、制御部310は、例えば、図12に示すように、クロック抽出処理部312、データ判定処理部314、発光素子駆動制御部316、データ送受信処理部318、ディレクション判定処理部320、及びセンサ判定処理部322を含む。
【0092】
クロック抽出処理部312は、コース60上のクロックマーカCM1〜CM16を検知したクロック用センサ50bの検知信号からクロックを抽出する。
【0093】
データ判定処理部314は、クロック用センサ50bの検知信号から抽出されたクロックにより、データマーカDM1〜DMnを検知したデータ用センサ50aの検知信号をサンプリングすることでデータを抽出する。本実施形態では、データ判定処理部314は、抽出するデータとして、車両玩具10が走行したコース60を構成する各コースパーツCP1〜CP16、CP201〜CP216、CP301〜CP316、CP401〜CP416の形状を特定するためのコースデータを抽出する。なお、当該データは、コースデータに限定されず、例えば、各コースパーツCP1〜CP16、CP201〜CP216、CP301〜CP316、CP401〜CP416における走行の際の走行指示データ等をデータ判定処理部314で抽出してもよい。
【0094】
発光素子駆動制御部316は、発光素子52を発光させる動作コマンドを受信したら、発光素子52を発光させるために駆動させるコマンドを発光素子駆動部340に送信する制御をする。
【0095】
データ送受信処理部318は、外部インターフェース部370が外部機器とインターフェース処理をした際に、当該外部機器とデータの送受信を行う制御をする。具体的には、データ送受信処理部318は、外部インターフェース部370がゲーム装置400とインターフェース処理をした際に、ゲーム装置400から送信される各種データを受信して記憶部330のROMに記憶させたり、反対に実際に走行した車両玩具10に新たに記憶された各種データをゲーム装置400に送信する制御を行う。また、本実施形態では、データ送受信処理部318は、外部インターフェース部370を介してデータ判定処理部314により抽出されたコースデータをゲーム装置400に送信するデータ送信処理部としても機能する。
【0096】
このようにして、本実施形態では、制御部310は、例えば、センサ50(50a、50b)からの検知情報や、記憶部330に記憶されるデータ(走行制御データ、コースデータ)に基づいて、モータ(広義には原動機)30を駆動するための制御を行う。なお、この制御部310の機能は、各種プロセッサ(CPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0097】
ディレクション判定処理部320は、各コースパーツCP1〜CP16、CP201〜CP216、CP301〜CP316、CP401〜CP416に配列された複数のクロックマーカCM1〜CM16の第1の方向D1における両端側に設けられたディレクションマーカDMA、DMBの検知に基づいて、車両玩具10のコース60上における進行方向を判断する機能を有する。
【0098】
センサ判定処理部322は、センサ50として設けられたデータ用センサ50aとクロック用センサ50bのうち、ディレクションマーカDMA、DMBを読み取った一方のセンサをクロック用センサ50bに設定し、他方のセンサをデータ用センサ50aに設定する機能を有する。
【0099】
記憶部330は、各種プログラムやデータを記憶するものであり、その機能は、RAMやROMなどにより実現できる。例えば、制御部310は、記憶部330(ROM)から読み出されたプログラムにより動作し、記憶部330(RAM)をワーク領域として各種処理を行う。具体的には、記憶部330は、外部のゲーム装置(外部端末)から受信した走行制御データを記憶する走行制御データ記憶部332と、車両玩具10のセンサ50の検知情報、車両玩具10のジャンプ区間、滞空時間等の走行検知データをデータログとして記憶する走行検知データ記憶部334と、を含む。
【0100】
本実施形態では、走行制御データ記憶部332が記憶する走行制御データとして、その各走行制御データが、第1〜第16のコースパーツCP1〜CP16、CP201〜CP216、CP301〜CP316、CP401〜CP416のうちの対応する各コースパーツに設けられた複数のデータマーカDM1〜DMnに対応づけられる、第1〜第16の走行制御データを記憶する。また、走行検知データ記憶部334が記憶する車両玩具10のセンサ50の検知情報として、データ用センサ50Aで検知したコースパーツCP1〜CP16の形状を特定するためのコースパーツID(コースデータ)が含まれる。
【0101】
このように、記憶部330では、車両玩具10の走行制御等に関する各種データが保存される。なお、メモリーカードなどの携帯型情報記憶装置の装着が可能な移動玩具の場合には、当該携帯型情報記憶装置によって、記憶部330の一部の機能を実現してもよい。
【0102】
発光素子駆動部340は、ブレーキランプ等に使用されるLED等の発光素子52を駆動する。例えば、本実施形態では、制御部310は、車両玩具10の減速制御時(ブレーキング時)に、発光素子52を発光させる制御を行う。具体的には、車両玩具10の減速時に、制御部310からの指示信号に基づいて、発光素子駆動部340が発光素子52を駆動して発光させ、ブレーキランプの点灯を疑似的に表現する。
【0103】
駆動部350(モータ駆動部)は、制御部310の制御の下でモータ30を駆動する。モータ30(原動機)は、車両玩具10(移動玩具)のボディ12に搭載されており、所与の動力(電力)が供給されて、車両玩具10を走行(移動)させる。
【0104】
例えば、車両玩具10を走行させる場合には、駆動部350は、モータ30をPWM駆動する。この場合のPWM駆動のデューティは、記憶部330から読み出された走行制御データである動力設定データ(電力設定データ)により設定される。そして、車両玩具10の走行速度は、PWM駆動のデューティにより制御できる。また、車両玩具10の加速制御を行う場合には、例えば、100パーセントなどの高いデューティに対応する電圧をモータ30に印加する。一方、減速制御を行う場合には、例えば、通常走行時とは逆極性の電圧をモータ30に印加する。
【0105】
センサコントローラ360は、センサ50(データ用センサ50a、クロック用センサ50b)の制御等を行うコントローラである。具体的には、センサ50(データ用センサ50a、クロック用センサ50b)からの検知信号を受けて、検知信号に対応するデータを制御部310に出力する。例えば、センサ50が反射型のフォトセンサである場合には、センサ50は、LED等の発光素子により実現される投光部と、検知対象からの反射光を受光する受光部を有する。この場合に、センサコントローラ360は、発光素子を発光させたり、受光部からの検知信号を検出する処理などを行う。また、センサ50が赤外線受光部の設置される赤外線センサを含む構成とした場合は、センサコントローラ360は、センサ50の赤外線受光部からの検知信号を検出する処理を行う。
【0106】
外部インターフェース(I/F)部370は、外部機器とのインターフェース処理を行うものである。具体的には、外部機器であるゲーム装置400から走行制御データなどのデータを受信したり、ゲーム装置400に対して実走行結果データなどのデータを送信する。なお、センサ50が赤外線受光部の設置される赤外線センサを含む構成とした場合は、センサコントローラ360が外部インターフェース部370を兼用することとなる。
【0107】
すなわち、外部I/F部370によるインターフェースは、RS232CやUSBなどの有線のインターフェースにより実現してもよいし、赤外線などの無線のインターフェースにより実現してもよい。例えば、赤外線通信(IRDA)により、外部I/F部370のインターフェースを実現する場合には、車両玩具10の例えば裏面側に赤外線の受光センサを設ける。そして、ゲーム装置側(ゲーム装置本体やゲーム装置に装着されるICカード)の発光素子からの赤外線を、この受光センサで検知することで、ゲーム装置からの走行制御データ(動作制御データ)等のデータを車両玩具10にダウンロードする。また、車両玩具10の例えば裏面側に赤外線の発光素子を設ける。そして、この発光素子からの赤外線をゲーム装置側の受光センサにより検知することで、車両玩具10の走行結果データ(動作結果データ)等のデータを、ゲーム装置にアップロードする。
【0108】
こうして、センサコントローラ360によって、外部機器であるゲーム装置400から走行制御データなどのデータを赤外線センサによるIRDA通信で受信することによって、車両玩具10の走行動作を制御したり、ゲーム装置400に対して実走行結果データなどのデータを送信する。このように、センサ50として、赤外線センサを設けることによって、近距離通信に好適なIRDA通信による車両玩具10の動作制御が可能になる。また、また複数の車両玩具をレースさせるために、同時にコース上に走行させる場合に、これらの車両玩具間における混線によるトラブル等を抑制できる。
【0109】
また、センサ50のうち、データ用センサ50aは、コース60を構成する各コースパーツCP1〜CP16、CP201〜CP216、CP301〜CP316、CP401〜CP416に設けられたマーカコードMC1〜MC16に含まれる各データマーカDM1〜DMnを検知する。例えば、車両玩具10が各マーカコードMC1〜MC16の設置位置を通過した際に、データ用センサ50aによって読み込まれたデータマーカDM1〜DMnの配列に基づいて、各コースパーツCP1〜CP16、CP201〜CP216、CP301〜CP316、CP401〜CP416の形状を特定するためのコースデータを抽出する。
【0110】
そして、本実施形態では、記憶部330は、コース60での移動玩具(狭義には、車両玩具10)の走行を制御するためのデータである走行制御データを記憶する。この走行制御データは、移動玩具の各コース区間での速度等を設定するためのデータである。また、記憶部330は、走行制御データとして、コース60の各コース区間において原動機(狭義にはモータ30)に供給される動力の大きさを設定する動力設定データを、コース60の各コース区間に対応づけて記憶する。当該動力設定データは、例えば、モータ30に供給される電力(実効電圧)の設定データであり、具体的には、モータ30をPWM駆動する際のデューティを設定するためのデータである。また、記憶部330は、データ用センサ50aで検知したコースパーツCP1〜CP16、CP201〜CP216、CP301〜CP316、CP401〜CP416の形状を特定するためのコースデータを記憶する。
【0111】
3.ゲーム装置
図13に、本実施形態の移動玩具システムに含まれる車両玩具(移動玩具)に走行制御データを送受信する機能を有するゲーム装置(画像生成装置)の外観図を示す。ここではゲーム装置の一例として携帯型ゲーム装置を示している。なお、本実施形態のゲーム装置は、このような携帯型ゲーム装置には限定されず、例えば、携帯型ゲーム装置以外のゲーム装置や、ゲームプログラムの実行が可能な携帯型情報端末や携帯電話機などの種々のゲーム装置に適用できる。
【0112】
図13のゲーム装置400は、タッチパネル型の表示部190と、通常の表示部191を有する。また操作部として機能する方向指示キー(十字キー)401、操作ボタン402や、音出力部として機能するスピーカ404、406を有する。また、情報記憶媒体として機能するICカード410(ゲームカード、ゲームカートリッジ)が着脱自在に装着されるカードスロット412を有する。このICカード410には、ゲームプログラム(ゲームデータ)が記憶される。なお、スタイラスペン420は、タッチパネル型の表示部190へのタッチ操作を、プレーヤ(ユーザ)の指の代わりに行うために使用される。
【0113】
表示部190、191には、種々の画像(メニュー画面、シミュレーション画像、ゲーム画像)が表示される。例えば、タッチパネル型の表示部190には、後述する走行制御データの設定画面が表示される。また、表示部191には、シミュレーション画像(ゲーム画像)が表示される。具体的には、コース60に対応する仮想コース430(コース60を模した仮想空間内のコース)が表示される。また、車両玩具10に対応する仮想移動体440(車両玩具を模した移動オブジェクト)が表示され、仮想移動体440が仮想コース430で走行する様子が表示される。これらの表示部190、表示部191は、TFTなどのカラー液晶ディスプレイにより構成できる。そして、タッチパネル型の表示部190では、カラー液晶ディスプレイの上面(或いは下面)にタッチパネルが一体的に形成されており、これによりタッチ操作による操作入力が可能になる。
【0114】
図14に本実施形態のゲーム装置400の機能ブロック図の例を示す。なお、本実施形態のゲーム装置400は、図14の構成要素(各部)の一部を省略した構成としてもよい。
【0115】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、方向指示キー、操作ボタン、或いはジョイスティックなどにより実現できる。
【0116】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、VRAM)などにより実現できる。この記憶部170は、走行特性データ記憶部172、コースデータ記憶部173、走行制御データ記憶部174、走行検知データ記憶部175、および描画バッファ178を含む。
【0117】
走行特性データ記憶部172は、走行特性データを記憶する。この走行特性データは、コース上を移動する移動玩具の走行特性(加速特性、ブレーキング特性、コーナリング特性等)に基づき設定されたデータである。コースデータ記憶部173は、コースデータ(コース特性データ)を記憶する。このコースデータは、移動玩具が移動するコースのコース特性(コース長、コース幅、コーナー曲率等)に基づき設定されたデータである。また、本実施形態では、コースデータ記憶部173は、車両玩具10の走行の際にデータ用センサ50aが読み取ったコースパーツCP1〜CP16、CP201〜CP216、CP301〜CP316、CP401〜CP416の形状を特定するためのコースデータの検知結果も記憶する。走行制御データ記憶部174は、走行制御データを記憶する。この走行制御データ(動作制御データ)は、コースでの移動玩具の走行(速度、加速度、旋回等)を制御するためのデータである。走行検知データ記憶部175は、車両玩具10が走行した際のセンサ50による検知結果である走行検知データ(コースアウト発生区間、ジャンプ空間、滞空時間等)を記憶する。
【0118】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、ICカード(メモリーカード)、光ディスク(CD、DVD)、HDD(ハードディスクドライブ)、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。すなわち、情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0119】
タッチパネル型の表示部190は、プレーヤ(ユーザ)が種々の操作を行ったり、本実施形態により生成された画像を表示するためのものであり、例えば、LCD、有機ELなどのディスプレイと、それに一体的に形成されたタッチパネルなどにより実現できる。タッチパネル方式としては、抵抗膜方式(4線式、5線式)、静電容量結合方式、超音波表面弾性波方式、赤外線走査方式などがある。
【0120】
表示部191は、本実施形態により生成された画像を表示するためのものであり、例えばLCD、有機ELなどのディスプレイにより実現できる。なお、表示部191としてタッチパネル型のディスプレイを用いてもよい。
【0121】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォン端子などにより実現できる。
【0122】
補助記憶装置194(補助メモリ、2次メモリ)は、記憶部170の容量を補うために使用される記憶装置であり、SDメモリーカード、マルチメディアカードなどのICカードにより実現できる。この補助記憶装置194は脱着自在になっているが、内蔵されるものであってもよい。また補助記憶装置194は、ゲームの途中結果などのセーブデータや、プレーヤ(ユーザ)の個人的な画像データや音楽データなどを保存するために使用される。
【0123】
通信部196は、有線や無線の通信網(ネットワーク)を介して外部(例えば、移動玩具、サーバ、他のゲーム装置等)との間で通信を行うものであり、その機能は、通信用ASICまたは通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【0124】
例えば、ゲーム装置400と移動玩具10との間でデータの送受信を行う場合には、通信部196の機能は、RS232CやUSBなどの規格にしたがってデータ転送を行う転送コントローラにより実現できる。この場合に、この転送コントローラを図13に示すICカード410に内蔵させてもよい。また、ICカード410に、カードなどの外部情報記憶媒体の情報を読み取るバーコードリーダ等のコントローラをさらに内蔵させてもよい。また、ゲーム装置400と移動玩具10との間で、通信部196により無線によりデータを送受信するようにしてもよい。或いは、USBメモリなどの携帯型記憶装置を用いて、ゲーム装置と移動玩具との間でデータを送受信してもよい。
【0125】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワークおよび通信部196を介して情報記憶媒体180(あるいは記憶部170、補助記憶装置194)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も、本発明の範囲内に含めることができる。
【0126】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理(シミュレーション処理)、画像生成処理、或いは音生成処理などを行う。この場合のゲーム処理としては、ゲームの内容やゲームモードを決定する処理、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100の機能は、各種プロセッサ(CPU、GPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0127】
処理部100は、シミュレーション処理部102、送信処理部104、受信処理部106、認証処理部108、比較処理部110、表示制御部112、成績評価部114、アップロード処理部116、仮想コース設定部118、設定変更部130を含む。なお、これらの一部の構成要素(例えば、認証処理部、比較処理部等)を省略する構成としてもよい。
【0128】
シミュレーション処理部102は、移動玩具10に対応する仮想移動体を移動(動作)させるシミュレーションを行う。例えば、コースに対応する仮想コース上で仮想移動体を走行させるシミュレーション処理を行う。このシミュレーション処理は、例えばゲーム処理の一部として行われる。
【0129】
具体的には、シミュレーション処理部102は、移動玩具10に対応して設けられ走行特性データに基づきその走行特性が設定される仮想移動体を、コースに対応して設けられて、コースデータに基づきそのコース特性が設定される仮想空間内の仮想コースにおいて、走行制御データにしたがって走行させるシミュレーション処理を行う。そして、走行シミュレーションの結果データを生成する。
【0130】
この場合のシミュレーション処理は、通常のレーシングゲームと同様に、仮想移動体の移動情報(位置、回転角度、速度、或いは加速度)を、1フレーム(1/60秒)毎に順次求める処理を行うことで実現してもよい。すなわち、仮想移動体の加速性能、最高速性能、ブレーキング性能、或いはコーナリング性能等を、走行特性データにより設定する。また、コースデータを、通常のレーシングゲームと同様の手法により設定する。例えば、コースに沿って設定された複数のサンプリングポイントの各サンプリングポイントに対して、コース幅やコース方向などを対応づけたコースデータを用意する。そして、このコースデータを用いて、移動玩具が走行する実際のコース(例えば、基本コースや店舗の特設コース等)に対応した仮想コースを、仮想空間(ゲーム空間)内に構築する。そして、レーシングゲームで一般的に使用される自動走行アルゴリズムにより、仮想移動体を仮想コース内で走行させるシミュレーション処理を行う。そして必要であれば、図13に示すように、仮想移動体440が仮想コース430上で走行する様子を、表示部191に表示する。
【0131】
或いは、このような仮想移動体のリアルタイムなシミュレーション移動処理は行わずに、走行特性データやコースデータを入力データとし、ラップタイムなどの走行シミュレーション結果データを出力データとするテーブルデータを用いて、シミュレーション処理を実現してもよい。このテーブルデータは、記憶部170の図示しないテーブルデータ記憶部に記憶される。そして、シミュレーション処理部102は、このテーブルデータを用いて、シミュレーション処理を実行する。この場合のテーブルデータは、例えば、移動玩具のメーカが実際の移動玩具を実際のコースで走行させることで、様々な条件のテーブルデータを用意する。例えば、同じコースで同じ種類(車種)の移動玩具であっても、移動玩具に装着されるパーツが異なる場合には、異なった走行シミュレーション結果データになるように、複数のテーブルデータの各テーブルデータを作成する。そして、作成したテーブルデータをゲームソフトのデータとして情報記憶媒体180に格納したり、ネットワーク、通信部196を介して外部からダウンロードできるようにする。
【0132】
送信処理部104は、移動玩具に対してデータを送信するための処理を行う。例えば、送信するデータを記憶部170に用意したり、データの送信を通信部196に指示する。具体的には、送信処理部104は、走行制御データを移動玩具に送信するための処理を行う。例えば、コースの各コース区間に対応づけられた走行制御データ(動力設定データ、電力設定データ)を送信する。或いは走行制御データとして、コースデータ取得用の走行制御データを移動玩具に送信してもよい。
【0133】
受信処理部106は、移動玩具からのデータを受信するための処理を行う。例えば、データの受信を通信部196に指示したり、受信したデータを記憶部170に保存する。具体的には、受信処理部106は、送信処理部104により送信された走行制御データに基づき移動玩具がコースを走行することで得られた実走行結果データを、移動玩具から受信するための処理を行う。この場合に、コースの各コース区間での移動玩具の実走行ラップタイムデータを、実走行結果データとして受信してもよいし、コースの各コース区間での移動玩具の実加減速データを、実走行結果データとして受信してもよい。或いは、送信されたコースデータ取得用走行制御データに基づき移動玩具がコースを走行することで得られたコースデータを、受信してもよい。
【0134】
また、受信処理部106は、移動玩具が走行した際のセンサ50(データ用センサ50a、クロック用センサ50b)による検知結果である走行検知データ(コースアウト発生区間、ジャンプ空間、滞空時間等)を受信して、走行検知データ記憶部175に保存する。このように、受信処理部106を制御することによって、移動玩具の検知結果を受信して、当該検知結果を元にゲーム装置がより好適な走行制御データを移動玩具に送信することができる。本実施形態では、受信処理部106は、データ用センサ50aによって読み込まれたデータマーカDM1〜DMnの配列に基づいて、各コースパーツCP1〜CP16、CP201〜CP216、CP301〜CP316、CP401〜CP416の形状を特定するためのコースデータも受信する。
【0135】
認証処理部108は、移動玩具から受信したデータの認証処理を行う。例えば、受信した実走行結果データが正当なデータ(アップロード等が許可されるデータ)であるか否かを認証する。具体的には、移動玩具がコースのスタート地点からスタートしてコースのゴール地点を通過したと判定された場合に、実走行結果データが正当なデータであると判断する。例えば、スタート地点に対応するコース区間とゴール地点に対応するコース区間を移動玩具が通過したとセンサからの検知情報に基づき判断された場合に、その走行により得られた実走行結果データが正当なデータであると判断する。この場合に、コースの全てのコース区間(マーカ)を通過(検知)したことを条件に、その実走行結果データが正当なデータであると判断してもよい。或いは、移動玩具がコースでジャンプして、センサの検出が読み飛ばされることを考慮し、一定の割合(例えば90パーセント)以上のコース区間(マーカ)を通過(検知)したことを条件に、正当なデータであると判断してもよい。
【0136】
比較処理部110は、データの比較処理を行う。例えば、受信処理部106により受信された実走行結果データと、シミュレーション処理部102でのシミュレーション処理により得られた走行シミュレーション結果データとの比較処理を行う。この場合の比較処理としては、例えば、各コース区間での実走行ラップタイムと、そのコース区間に対応する各仮想コース区間でのシミュレーションラップタイムを比較し、その差分を求める処理などがある。或いは、各コース区間での実加減速データと、各仮想コース区間でのシミュレーション加減速データの比較処理を行ってもよい。そして、このような比較処理を行うことによって、実走行結果を向上させるのに必要なパーツを特定する。そして、表示制御部112は、この比較処理での比較結果に基づいて、移動玩具のパーツ変更のアドバイス画面(変更パーツ表示画面)を表示する制御を行う。
【0137】
表示制御部112は、表示部190、191の表示制御を行う。例えば、処理部100で行われる種々の処理(シミュレーション処理、ゲーム処理)の結果に基づいて、描画バッファ178への画像の描画処理を行い、これにより画像(例えば、図13の走行制御データ設定画面の画像、シミュレーション画像)を生成し、生成された画像を表示部190、191に表示する。この場合に、生成する画像は、いわゆる2次元画像であってもよいし、3次元画像であってもよい。そして、3次元画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1または複数プリミティブ面)を描画バッファ178(フレームバッファ、中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。VRAM)に描画する。これにより、仮想空間(オブジェクト空間)内において仮想カメラ(所与の視点)から見える画像が生成される。
【0138】
そして、本実施形態では、表示制御部112は、実走行結果データをコースの各コース区間に対応づけて表示する制御を行う。具体的には、実走行結果データであるラップタイムデータや加減速データを、コースの各コース区間に対応づけて表示する。或いは、シミュレーション処理により得られた走行シミュレーション結果データに対して、実走行結果データを関連づけて表示してもよい。
【0139】
成績評価部114(成績演算部)は、プレーヤのプレイ成績(走行成績、得点、ポイント、勝敗)の評価処理(演算処理)を行う。例えば、受信した実走行結果データ(実動作結果データ)に基づいて、移動玩具についてのプレーヤのプレイ成績を評価する。或いはプレーヤのゲームプレイのプレイ成績を評価してもよい。
【0140】
アップロード処理部116は、データのアップロード処理を行う。具体的には、通信部196およびネットワークを介して、プレーヤの実走行結果データなどのプレイ成績を、外部のサーバ等にアップロードする処理を行う。これにより、サーバの管理の下でプレーヤの実走行結果データのランキング表示などが可能になる。この場合に、受信した実走行結果データが正当なデータであると認証処理部108により判断された場合に、正当なデータであると判断された実走行結果データを、ネットワークを介してアップロードしてもよい。すなわち、正当な実走行結果データについてはアップロードを許可し、不正な実走行結果データについてはアップロードを許可しないようにする。
【0141】
仮想コース設定部118は、受信処理部106で受信したコースデータに基づいて仮想空間内に仮想コースを設定する。
【0142】
設定変更部130は、種々の設定の変更処理を行う。例えば、設定変更部130は、移動玩具のパーツ変さらに対応して走行特性データの設定内容を変更する処理を行う。例えばプレーヤが、自身が所有する移動玩具のモータ、タイヤ等のパーツを変更し、後述するパーツの選択画面等において、その変更を入力(登録)すると、設定変更部130は、それに応じて走行特性データの設定内容(走行シミュレーションのアルゴリズムのパラメータや、使用するテーブルデータ等)を変更する。そしてシミュレーション処理部102は、変更後の走行特性データに基づいて、仮想移動体を仮想コースで走行させるシミュレーション処理を行う。
【0143】
具体的には、設定変更部130は、移動玩具が有する原動機(モータ、エンジン)の変さらに対応して、走行特性データのうちの加速特性データ(馬力、トルクデータ)を変更する。例えば、プレーヤが移動玩具のモータを別の種類のモータに取り替えた場合には、それに応じて仮想移動体の加速特性も変更する。そしてシミュレーション処理部102は、変更後の加速特性データに基づき、その加速特性が設定される仮想移動体を、仮想コースで走行(疑似走行)させるシミュレーション処理を行う。また、設定変更部130は、移動玩具が有するタイヤの変さらに対応して、走行特性データのうちのコーナリング特性データ(グリップ能力、旋回能力)を変更する。例えば、プレーヤが移動玩具のタイヤを別の種類のタイヤに取り替えた場合には、それに応じて仮想移動体のコーナリング特性も変更する。そしてシミュレーション処理部102は、変更後のコーナリング特性データに基づきそのコーナリング特性が設定される仮想移動体を、仮想コースで走行させるシミュレーション処理を行う。
【0144】
4.本実施形態の手法
4.1.マーカコードの認識の第1の方法
図15(A)に本実施形態の車両玩具10によるマーカコードMC1〜MC16の認識方法の第1の方法の模式図、図15(B)に本実施形態の車両玩具10の当該第1の方法によるクロック用センサ50b及びデータ用センサ50aの検知信号の波形図を示す。
【0145】
第1の方法では、車両玩具10が進行方向を走行する際に、クロック用センサ50bがクロックマーカの部分を読んでいる際のデータ用センサ50aが読み取るデータマーカDM1〜DMnの白・黒のサンプリング数Nwp・Nbpをカウントしていき、サンプリング数が多い方をデータの値として採用する。すなわち、クロックコードが該当ビットを通過中にデータコードの0・1のサンプリング数(本実施例では128μsec間隔)を取得し、その数の多い方をそのビットのデータとして採用する。
【0146】
第1の方法の処理フローを図16に示す。第1の方法では、まずクロックコードが1ビット目(clock0)を通過中のデータコードの0・1のサンプリング数を取得し、その数の多い方をそのビットのデータとする(ステップS104〜S111)。次にクロックコードが2ビット目(clock1)を通過中のデータコードの0・1のサンプリング数を取得し、その数の多い方をそのビットのデータとする(ステップS112〜S121)。そして、これらのステップを3回繰り返してから、6ビット分を通過した際のデータコードの0・1のサンプリング数を取得し、その数の多い方をそのビットのデータとする(ステップS122〜S129)。
【0147】
具体的には、まず、クロック用センサ50bが白を検出したか否かを判断する(ステップS101)。すなわち、車両玩具10がclock0の領域に進入したか否かを判断する。クロック用センサ50bが白を検出するとビット数tを初期化し(ステップS102)、ビット数tでのサンプリングを開始する(ステップS103)。
【0148】
次に、クロックclockの値、データの白・黒のサンプリング数Nwp(Data_w)・Nbp(Data_b)の値のそれぞれを初期化してから(ステップS104)、クロック用センサ50bが黒を検出したか、すなわち車両玩具10がclock0の領域を脱出してclock1の領域に進入したか否かを判断する(ステップS105)。
【0149】
ステップS105でクロック用センサ50bが黒を検出すると、次にデータの白のサンプリング数Nwp(Data_w)と黒のサンプリング数Nbp(Data_b)の大小関係を判断する(ステップS106)。このとき、黒のサンプリング数Nbp(Data_b)の方が大きいと判断されると、データとして2tを入れる(ステップS107)。すなわち、ステップS106、S107でクロック用センサ50bが白のクロックマーカを読み取っている間に、データ用センサ50aで読み取った色は、黒・白の何れが多いかを検出して、多い方の属性を今のクロックの値とする。一方、白のサンプリング数Nwp(Data_w)の方が大きいと判断されると、データとして何も入れないで、すなわち0のままで次にステップに行く。
【0150】
また、ステップS105でクロック用センサ50bが白を検出すると、次にデータ用センサ50aが検出した色が白であるか否かの判断をする(ステップS108)。すなわち、クロック用センサ50bが黒を検出した際にデータ用センサ50aが白を検出したか否かの判断がされる。データ用センサ50aが白を検出する場合は、データの白のサンプリング数Nwp(Data_w)をインクリメントし(ステップS109)、データ用センサ50aが黒を検出する場合は、データの黒のサンプリング数Nbp(Data_b)をインクリメントする(ステップS110)。そして、クロックをインクリメントして(ステップS110)、ステップS105に戻る。
【0151】
その後、クロックがclock1に入った瞬間のクロックclockの値、データの白・黒のサンプリング数Nwp(Data_w)・Nbp(Data_b)の値のそれぞれを初期化してから(ステップS112)、クロック用センサ50bが白を検出したか、すなわち車両玩具10がclock1の領域を脱出してclock2の領域に進入したか否かを判断する(ステップS113)。
【0152】
ステップS113でクロック用センサ50bが白を検出すると、次にデータの白のサンプリング数Nwp(Data_w)と黒のサンプリング数Nbp(Data_b)の大小関係を判断する(ステップS114)。このとき、黒のサンプリング数Nbp(Data_b)の方が大きいと判断されると、データとして2t+1を入れる(ステップS115)。すなわち、ステップS113、S114でクロック用センサ50bが黒のクロックマーカを読み取っている間に、データ用センサ50aで読み取った色は、黒・白の何れが多いかを検出して、多い方の属性を今のクロックの値とする。そして、その後、ビット数tを2増やしてから(ステップS116)、ビット数が6に達したか否かの判断がされる(ステップS117)。一方、白のサンプリング数Nwp(Data_w)の方が大きいと判断されると、データとして何も入れないで、そのままビット数tを2増やして(ステップS116)、ビット数が6に達したか否かの判断がされる(ステップS117)。すなわち、ビット数が6に達するまで、上記のステップS103からステップ121のループを3回繰り返すこととなる。
【0153】
また、ステップS113でクロック用センサ50bが黒を検出すると、次にデータ用センサ50aが検出した色が白であるか否かの判断をする(ステップS118)。すなわち、クロック用センサ50bが黒を検出した際に、データ用センサ50aが白を検出したか否かの判断がされる。データ用センサ50aが白を検出する場合は、データの白のサンプリング数Nwp(Data_w)をインクリメントし(ステップS119)、データ用センサ50aが黒を検出する場合は、データの黒のサンプリング数Nbp(Data_b)をインクリメントする(ステップS120)。そして、クロックをインクリメントして(ステップS121)、ステップS113に戻る。
【0154】
その後、クロックがclock6に入った瞬間のクロックclockの値、データの白・黒のサンプリング数Nwp(Data_w)・Nbp(Data_b)の値のそれぞれを初期化してから(ステップS122)、クロック用センサ50bが黒を検出したか、すなわち車両玩具10がclock6の領域を脱出したか否かを判断する(ステップS123)。
【0155】
ステップS123でクロック用センサ50bが黒を検出すると、次にデータの白のサンプリング数Nwp(Data_w)と黒のサンプリング数Nbp(Data_b)の大小関係を判断する(ステップS124)。このとき、黒のサンプリング数Nbp(Data_b)の方が大きいと判断されると、データとして2を入れる(ステップS125)。すなわち、ステップS123、S124でクロック用センサ50bが白のクロックマーカを読み取っている間に、データ用センサ50aで読み取った色は黒・白の何れが多いかを検出して、多い方の属性を今のクロックの値として終わる。一方、白のサンプリング数Nwp(Data_w)の方が大きいと判断されると、データとして何も入れないで終わる。
【0156】
また、ステップS123でクロック用センサ50bが白を検出すると、次にデータ用センサ50aが検出した色が白であるか否かの判断をする(ステップS126)。すなわち、クロック用センサ50bが白を検出した際にデータ用センサ50aが白を検出したか否かの判断がされる。データ用センサ50aが白を検出する場合は、データの白のサンプリング数Nwp(Data_w)をインクリメントし(ステップS127)、データ用センサ50aが黒を検出する場合は、データの黒のサンプリング数Nbp(Data_b)をインクリメントする(ステップS128)。そして、クロックをインクリメントして(ステップS129)、ステップS123に戻る。
【0157】
以上説明したように、第1の方法では、データと並列配置されたクロックを基準にマーカコードMC1〜MC16に含まれる複数のデータマーカDM1〜DMnを読み取ることによって、コースデータ等のデータを適正に読み取ることができる。このようにコースデータ等のデータを適正に読み取ることによって、各コースパーツCP1〜CP16内における速度変化にも適正に対応することも可能となる。また、従来のようにコースデータを読み取る際のキャリブレーションコードを必要としないので、マーカコードMC1〜MC16をコンパクト化できる。さらに、データに針パルスノイズが存在していても、その影響を受けるリスクを低減できる。
【0158】
4.2.マーカコードの認識の第2の方法
前述したマーカコードの認識の第1の方法では、データの白のサンプリング数Nwp(Data_w)と黒のサンプリング数Nbp(Data_b)を128μ秒間隔でカウントすることを要するので、CPUの負荷がかかり、モータ制御の処理に影響が出る可能性が生じてしまう。このため、マーカコードの認識の第2の方法では、CPU負荷の軽減を図るために、クロックの立ち上がりエッジ又は立ち下がりエッジでデータ用センサ50aの検知信号をサンプリングすることでデータを抽出している。そのため、第2の方法では、コース60上では、図17(A)に示すように、データマーカDATA2、DATA4とクロックマーカclock1、clock3が第1の方向D1に対してずらして設けられている。
【0159】
また、コース60は、複数のコースパーツCP1〜CP16を組み合わせることによって構成するが、車両玩具10の製品の性質上、コース60を走行する方向が一定方向とは限らないことより、何れの方向から車両玩具10を進行させても、複数のデータマーカDM1〜DMnを含むマーカコードMC1〜MC16を走行の際に認識できるようにすることが望まれる。そこで、第2の方法における各コースパーツCP1〜CP16には、クロックマーカ群の両端側にディレクションマーカDMA、DMBが設けられている。
【0160】
さらに、第2の方法では、車両玩具10の前方に2つ備わるセンサ50のうち、進行方向に対して左側に設けられる左センサLSと、進行方向に対して右側に設けられる右センサRSの役割を切り換えることができる。すなわち、左センサLS又は右センサRSのいずれか一方がデータ用センサ50aの役割をして、いずれか他方がクロック用センサ50bの役割をするように切り換えることができる。
【0161】
このように左センサLSと右センサRSの役割を切り換え可能として、かつクロックマーカ群の両側にディレクションマーカDMA、DMBを設けることによって、車両玩具10がコースパーツCP1〜CP16のいずれかに進入すると、まずディレクションマーカDMA、DMBのいずれかを最初に読み取ることになる。
【0162】
図17(A)に示すように、第1の方向D1から車両玩具10AがコースパーツCP1〜CP16のいずれかに進入すると、左センサLSがディレクションマーカDMAを読み取るので、左センサLSがクロック用センサ50bの役割をすることになる。このため、左センサLSがクロックclock0〜clock4を読み取ることとなり、右センサRSがデータDATA0〜DATA5を読み取ることとなる。
【0163】
反対に、第3の方向D3から車両玩具10BがコースパーツCP1〜CP16のいずれかに進入すると、右センサRSがディレクションマーカDMBを読み取るので、右センサRSがクロック用センサ50bの役割をすることになる。このため、右センサRSがクロックclock0〜clock4を読み取ることとなり、左センサLSがデータDATA0〜DATA5を読み取ることとなる。
【0164】
このように、第2の方法では、車両玩具10がコースパーツCP1〜CP16のいずれの方向から進入しても、マーカコードMC1〜MC16に含まれるデータマーカDM1〜DMnを読み取ることができるので、コースパーツCP1〜CP16の付け替えの自由度を広げることができる。すなわち、図18のAとBに示すように、データマーカDMの向きが混同していても、コースパーツCPS1〜CPS4、CPC1〜CPC8のディレクションマーカDMA、DMBを読み取ることによって、車両玩具10の左センサLSと右センサRSの役割を随時に交換できるので、各マーカコードMC1〜MC16に対応して付加されるコースパーツID(コースデータ)を読み取ることができる。
【0165】
このため、カーブ型のコースパーツCPC1〜CPC8で同じ形状であれば、左カーブ専用、右カーブ専用とせずに、同じカーブ型コースパーツCPCという形で1つのコースパーツIDでコード付けができる。また、直線型のコースパーツCPS1〜CPS4で同じ形状であれば、同様にして同じ直線型コースパーツCPSという形で1つのコースパーツIDでコード付けができる。このように、同じ形状のコースパーツに同じ配列のデータマーカDMからなるマーカコードMCに対応したコースデータを付加できるようにすることによって、特殊な操作を入れることなく各コースパーツCPからマーカコードID等のコースデータを容易に読み取ることができるようになる。このようにコースデータ等のデータを適正に読み取ることによって、各コースパーツCP1〜CP16内における速度変化にも適正に対応することも可能となる。また、コース60を組み立てる際にコースパーツの方向を気にせずに済み、コース60を設計する際の手間を軽減できる。
【0166】
次に、第2の方法の処理フローを図19に示す。第2の方法では、まず、クロックを初期化してから(ステップS201)、左センサLSが白を検出したか否かを判断する(ステップS202)。すなわち、車両玩具10が図17(A)に示すディレクションマーカDMA、DMBの領域に進入したか否かを判断する。左センサLSが白を検出すると、クロックセレクトを1に設定し(ステップS204)し、ビット数tでのサンプリングを開始する(ステップS205)。
【0167】
一方、ステップS202で左センサLSが白を検出しなかった場合、次に右センサRSが白を検出したか否かを判断する(ステップS203)。すなわち、車両玩具10が図17(A)に示すディレクションマーカDMA、DMBの領域に進入したか否かを判断する。右センサRSが白を検出すると、RS=0のままビット数tでのサンプリングを開始する(ステップS205)。
【0168】
以上のステップS202〜S204の工程では、左センサLSと右センサRSのいずれがディレクションマーカDMA、DMBを読み取ったかを判断し、図17(A)に示すディレクションマーカDMA、DMBを読み取った方のセンサをクロック用センサ50bに、他方のセンサをデータ用センサ50aに設定する。
【0169】
次に、左センサLSと右センサRSのいずれがクロック用センサ50bに設定されたかの判別をかけるために、クロックセレクトが0であるか否かを判別する(S206)。クロックセレクトが0であると検出されると、右センサRSがクロック用センサ50bに設定されたと判定され、次にクロック用センサ50bと判定された右センサRSが黒を検出したか、すなわち車両玩具10が図17(A)に示すディレクションマーカDMBの領域を抜けたか否かを判断する(ステップS207)。
【0170】
車両玩具10が図17(A)に示すディレクションマーカDMBの領域を抜けたと検出されると、次に車両玩具10がディレクションマーカDMBの領域を抜けた瞬間の左センサLSが黒を検出しているかを判断する(ステップS208)。ステップS208で黒を検出していると判定されると、データとして2tを加算する(ステップS209)。一方、ステップS208で白を検出していると判定されると、そのまま次の工程に行く(データとして0を加算する)。すなわち、ステップS207〜S209の間では、右センサRSがクロック用センサ50bに設定されたと判定されてから、図17(A)に示すディレクションマーカDMBの領域を抜けた瞬間となるクロックの立ち上がりエッジのデータをサンプリングしている。
【0171】
その後、今度は、クロック用センサ50bと判定された右センサRSが白を検出したか、すなわち車両玩具10が図17(A)に示すclock4の領域を抜けたか否かを判断する(ステップS210)。
【0172】
車両玩具10Bが図17(A)に示すclock4の領域を抜けたと検出されると、次に車両玩具10が当該clock4の領域を抜けた瞬間の左センサLSが黒を検出しているかを判断する(ステップS211)。ステップS211で黒を検出していると判定されると、データとして2t+1を加算する(ステップS212)。一方、ステップS211で白を検出していると判定されると、そのまま次の工程に行く(データとして0を加算する)。すなわち、ステップS210〜S212の間では、車両玩具10Bのクロック用センサ50bに設定された右センサRSが、図17(A)に示すclock4の領域を抜けた瞬間となるクロックの立ち上がりエッジのデータをサンプリングしている。
【0173】
これに対して、ステップS206でクロックセレクトが1であると検出されると、左センサLSがクロック用センサ50bと判定され、次にクロック用センサ50bと判定された左センサLSが黒を検出したか、すなわち車両玩具10Aが図17(A)に示すディレクションマーカDMAを抜けたか否かを判断する(ステップS213)。
【0174】
車両玩具10Aが図17(A)に示すディレクションマーカDMAを抜けたと検出されると、次に車両玩具10Aが当該ディレクションマーカDMAを抜けた瞬間の右センサRSが黒を検出しているかを判断する(ステップS214)。ステップS216で黒を検出していると判定されると、データとして2tを加算する(ステップS215)。一方、ステップS214で白を検出していると判定されると、そのまま次の工程に行く(データとして0を加算する)。すなわち、ステップS213〜S215の間では、左センサLSがクロック用センサ50bに設定されたと判定されてから、図17(A)に示すディレクションマーカDMAの領域を抜けた瞬間となるクロックの立ち上がりエッジのデータをサンプリングしている。
【0175】
その後、今度は、クロック用センサ50bと判定された左センサRSが白を検出したか、すなわち車両玩具10Aが図17(A)に示すclock0の領域を抜けたか否かを判断する(ステップS216)。
【0176】
車両玩具10Aが図17(A)に示すclock0の領域を抜けたと検出されると、次に車両玩具10Aが当該clock0の領域を抜けた瞬間の右センサRSが黒を検出しているかを判断する(ステップS217)。ステップS217で黒を検出していると判定されると、データとして2t+1を加算する(ステップS218)。一方、ステップS217で白を検出していると判定されると、そのまま次の工程に行く(データとして0を加算する)。すなわち、ステップS216〜S218の間では、車両玩具10Aのクロック用センサ50bに設定された左センサLSが、図17(A)に示すclock0の領域を抜けた瞬間となるクロックの立ち上がりエッジのデータをサンプリングしている。
【0177】
上述のステップS205〜218で2ビット分のデータのサンプリングが終了したら、ビット数tに2を加算し(ステップS219)、その加算後の値が6に達したか否かの判断がされる(ステップS220)。すなわち、ビット数が6に達するまで、上記のステップS205からステップS220のループを3回繰り返してからデータのサンプリングを終了する。
【0178】
以上説明したように、第2の方法では、クロックの立ち上がりエッジで、データ用センサ50aの検知信号を安定してサンプリングできるので、読み取りエラーを低減でき、かつCPUの負荷を軽減できる。また、データと並列配置されたクロックを基準にマーカコードMC1〜MC16に含まれる複数のデータマーカDM1〜DMnを読み取ることによって、コースデータ等のデータを適正に読み取ることができる。このようにコースデータ等のデータを適正に読み取ることによって、各コースパーツCP1〜CP16内における速度変化にも適正に対応することも可能となる。さらに、従来のようにコースデータを読み取る際のキャリブレーションコードを必要としないので、マーカコードMC1〜MC16をコンパクト化できる。なお、前述した第2の方法の説明では、クロックの立ち上がりエッジのデータをサンプリングしている例について取り上げているが、クロックの立ち下がりエッジのデータをサンプリングするようにしても、同様の作用・効果が得られる。
【0179】
4.3.走行制御データの設定
次に、本実施形態の手法について説明する。まず、本実施形態の移動玩具システムに含まれる車両玩具(移動玩具)の走行制御データ(広義には、動作制御データ)の設定手法について説明する。
【0180】
図20に走行制御データの設定画面の例を示す。この設定画面は、図13に示すようにタッチパネル型の表示部190に表示され、プレーヤは、この設定画面において、図1(A)のコース60の各コース区間CS1〜CS16での走行制御データを設定する。
【0181】
例えば、走行制御データの雛形データ(メーカ側が用意するデフォルトのデータ)が存在する場合や、過去に設定して保存した走行制御データが存在する場合には、図13のJ1に示すアイコンをタッチパネル型表示部190へのタッチ操作により選択して、そのセッティング内容を読み出す。また、走行制御データの設定が完了した場合には、J2に示すアイコンを選択して、そのセッティング内容を保存する。また、走行制御データを車両玩具10に送信する場合には、J3に示すアイコンを選択する。一方、実走行結果データ(走行検知データ)等を車両玩具12から受信(アップロード)する場合には、H1に示すアイコンを選択する。
【0182】
また、コース選択画面を表示してコースを選択する場合には、H2に示すアイコンを選択し、コース周回数選択画面を表示してコースの周回数を設定する場合には、H3に示すアイコンを選択し、キャラクタ選択画面を表示して車両玩具10を仮想的に操作するキャラクタを選択する場合には、H4に示すアイコンを選択する。
【0183】
また、図20のJ4では、スタート地点に対応する第1のコース区間CS1での走行制御データとして、「61」が設定されている。この場合の走行制御データは、モータ30の動力設定データ(電力設定データ)であり、具体的には、後述するPWM駆動におけるデューティである。走行制御データを「61」を設定することで、第1のコース区間CS1では、61パーセントのデューティでモータ30がPWM駆動される。すなわち、第1のコース区間CS1は、距離の長い直線の区間であるため、プレーヤは、高いデューティを設定して、車両玩具を加速させる。
【0184】
また、図20のJ5では、次の第2のコース区間CS2での走行制御データとして、「10」が設定されている。すなわち、第2のコース区間CS2は、急カーブの区間であるため、コースアウトしないように、プレーヤは、低いデューティを設定して、車両玩具10を減速させる。
【0185】
また、図20のJ6では、次の第3のコース区間CS3での走行制御データとして、「29」が設定されている。すなわち、第3のコース区間CS3は、図20に示すように、第2のコース区間CS2と立体交差するためのスロープ状の区間であるため、プレーヤは、直線状の第1のコース区間CS1より低く、かつカーブ状の第2のコース区間CS2よりも高いデューティを設定して、車両玩具10を加速させる。同様にして、コース区間CS3〜CS7の走行制御データを設定し、J7に示すように第1の周回コース61の最終の第8のコース区間CS8の走行制御データを設定する。またJ8、J9、J10、J11等に示すように、第2の周回コース62の各コース区間CS9〜CS16の走行制御データを設定する。
【0186】
図21のJ20では、プレーヤは、スタイラスペン420を用いたドラッグ操作により、走行制御データを設定している。図21のJ20では、ドラッグ操作により走行制御データが「62」に設定され、その後にJ21に示すアイコンを選択することで、「62」の走行制御データの設定が確定する。なお、設定をキャンセルする場合には、J22に示すアイコンを選択する。
【0187】
全てのコース区間についての走行制御データの設定が完了すると、プレーヤは、図21のJ3に示すアイコンを選択する。そして、ゲーム装置400から車両玩具10への全ての走行制御データの送信(ダウンロード)が完了すると、図22に示すような画面が表示される。
【0188】
以上の本実施形態の走行制御データの設定手法によれば、プレーヤは、複数のコース区間の走行制御データを、簡素な作業で効率良く入力することが可能になる。
【0189】
4.4.コースデータの自動取得
本実施形態では、ゲーム装置400と車両玩具10との間でデータの送受信を行っているが、この送受信のシステムを有効活用して、車両玩具10が走行するコース60のコースデータを自動取得するようにしてもよい。
【0190】
具体的には、例えば図23(A)に示すような確認画面を表示して、プレーヤがコースデータを自動取得するか否かを選択させる。そして、図23(B)に示すように、車両玩具をゲーム装置に接続することを指示する画面を表示した後、コースデータ取得用の走行制御データを車両玩具に送信する。そして、このコースデータ取得用の走行制御データに基づいて、車両玩具がコースデータを走行することで、車両玩具側においてコースデータを取得する。そして、取得されたコースデータを車両玩具から受信すると、ゲーム装置において、例えば図23(C)に示すような画面を表示する。
【0191】
本実施形態では、車両玩具10にデータマーカDM1〜DMn、クロックマーカCM1〜CM16を読み取るセンサ50(50a、50b)を設けると共に、各コースパーツCP1〜CP16に設けた複数のデータマーカDM1〜DMnからなるマーカコードMC1〜MC16に、各コースパーツCP1〜CP16の形状等を識別するためのコースデータとしてコースパーツIDを設定する。そして、当該コースパーツIDを車両玩具10のセンサ50(50a、50b)で読み取ることで、各コースパーツCP1〜CP16のコース種別情報やコース長や最大曲率等のコース形状情報等を取得する。例えば、データマーカDM1〜DMnを含むマーカコードMC1〜MC16の中にコースパーツCP1〜CP16の識別情報としてコースパーツIDを含ませれば、ゲーム装置において、データベースに登録されているコースパーツデータの中から識別情報に対応するコースパーツデータを読み出すことで、コースデータを作成できる。
【0192】
以上の本実施形態の手法によれば、プレーヤは、自身が所望するコース上で車両玩具を実際に走行させるだけで、そのコースデータが自動取得されて、シミュレーション処理に活用できるようになる。また、任意の組み合わせのコースパーツの連結により構成されたコースのコースデータを1回の車両玩具の走行だけで、各コースパーツに対応したコースデータを取得できる。これにより、プレーヤの利便性を大幅に向上できる。
【0193】
4.5.シミュレーション処理
さて、図6に示すホビーレーシングカーでは、プレーヤは、モータやタイヤなどのパーツを交換するチューニングを行って、他のプレーヤとラップタイプを競い合う。
【0194】
しかしながら、これまでのホビーレーシングカーでは、交換したパーツが、ラップタイムの向上にどの程度貢献したかを、プレーヤは客観的に評価することができなかった。従って、プレーヤは、試行錯誤をして、直感的にパーツを交換せざるを得なかった。このため、ラップタイムをなかなか短縮することができず、ラップタイムの向上に限界があり、これが原因でプレーヤにすぐに飽きられてしまうという課題があった。
【0195】
また、プレーヤは、図1に示すような占有面積が大きなコースを自宅に設置することは難しいため、特設コースが設置された店舗に出向き、そこでパーツを色々と変えながら、ラップタイム短縮のための試行錯誤をせざるを得なかった。従って、車両玩具のチューニングを、手軽に行うことができず、このようなチューニング作業の面倒さが、ホビーレーシングカーからプレーヤの興味を遠ざける原因となっていた。
【0196】
この点、前述の特許文献2の従来技術では、プレーヤがゲーム装置でゲームプレイすることで得られた制御情報により、車両玩具側を走行させることで、ゲームの面白味の幅を広げている。
【0197】
しかしながら、この特許文献2の従来技術では、車両玩具が実際に走るコースと、ゲーム装置においてゲーム空間に構築される仮想的なコースは、お互いにリンクしていなかった。また、車両玩具の走行特性と、ゲーム空間で走行する車の走行性能もリンクしていなかった。このため、ゲーム装置でのセッティングを側に反映させたり、逆に車両玩具の実際の走行結果を、ゲーム装置側に反映させることができないという課題があった。
【0198】
本実施形態では、このような課題を解決するために以下に説明するような手法を採用している。
【0199】
すなわち、まず本実施形態では、コース上を移動する車両玩具の走行特性に基づき設定されたデータである走行特性データや、車両玩具が移動するコースのコース特性に基づき設定されたデータであるコースデータを用意する。また、図20〜図22に示すような手法で設定される走行制御データを用意する。そして、これらの走行特性データとコースデータと走行制御データとに基づいて、ゲーム装置において、車両玩具のセッティングのためのシミュレーション処理を行う。
【0200】
このようにすることで、車両玩具が走る実際のコースと、ゲーム装置において車両玩具に対応する仮想移動体が走行する仮想コースとが、お互いにリンクするようになる。また車両玩具の加速性能などの走行特性と、ゲーム装置側の仮想移動体の走行特性もリンクするようになる。従って、プレーヤは、例えば、特設コースが設置されている店舗等に出向かなくても、自身が所有するゲーム装置でのシミュレーション処理により、車両玩具の走行を仮想的に試すことができず。また実機の車両玩具の実走行結果をゲーム装置側に取り込むことで、交換したパーツのラップタイムへの貢献度合い等を、客観的に判断することが可能になる。従って、試行錯誤により、直感に頼っていたこれまでのホビーレーシングカーでは実現できなかったチューニングの面白さを、ユーザであるプレーヤに提供できるようになる。
【0201】
例えば、図24(A)〜図24(C)に、車両玩具の走行特性の設定のためにゲーム装置の表示部に表示される画面の例を示す。
【0202】
まず、図24(A)に示すように、車種選択画面を表示する。プレーヤは、この選択画面において、自身が使用する車両玩具の車種を選択する。具体的には、選択画面に車両玩具の商品名を表示し、プレーヤは、この商品名の中から自身が所有する車両玩具の商品名を選択する。
【0203】
次に、図24(B)に示すように、パーツセット選択画面を表示する。プレーヤは、この選択画面において、車両玩具のチューニングに使用しているパーツセットを選択する。例えば図24(B)では、プレーヤは、基本パーツセットB1に代えて、グレートアップパーツセットB2を購入して使用しているため、このグレードアップパーツセットB2を選択する。また、このグレードアップパーツセットB2のうち、変更しているパーツがあれば、図24(C)の選択画面で変更しているパーツを選択する。なお、図24(B)のようなパーツセットの選択画面を表示せずに、図24(C)に示すように、変更しているパーツを直接に選択してもよい。
【0204】
以上のような選択画面を表示し、プレーヤが自身の使用する車種やパーツを選択することで、プレーヤの使用する車両玩具の走行特性が特定されて、走行特性データが設定される。すなわち車両玩具やパーツを製造・販売するメーカは、車両玩具の重さや形状、モータの馬力やトルク、タイヤの大きさやグリップ力、シャシの強化度や走行安定性などを把握している。従って、プレーヤが、自身が使用する車両玩具の車種やパーツ名をゲーム装置に入力することで、その車両玩具の加速力、最高速、コーナリング性能、走行安定性等を特定できる。従って、特定された走行特性を、シミュレーション処理のアルゴリズムが取り扱うできるフォーマットの走行特性データとして用意することで、実際の車両玩具の走行特性に適合したシミュレーション処理が可能になる。なお、この走行特性データを作成するための車種、パーツ等のデータベース情報は、ゲーム装置が有するネットワークへの接続機能を利用して、適宜、ゲーム装置にダウンロードするようにしてもよい。
【0205】
以上のように走行特性データを設定することで、プレーヤが実際にコース上で走行させる車両玩具と、仮想コース上で走行させる仮想移動体とをマッチングさせて、リンクさせることが可能になる。
【0206】
次に、図25に示すように、プレーヤが使用するコースの選択画面を表示する。例えば図25では、選択候補となるコースとして、スタータキットとして販売される基本オーバルコースや基本8の字コースが表示されている。また、例えば東京の店舗Aに設置されている特設コースが、選択候補コースとして表示されている。
【0207】
すなわち、スタータキット等として市販される基本オーバルコースや基本8の字コースのコース形状についてはすぐに特定できる。一方、特定の店舗に設置される公式レース用の特設コースについても、市販用のコースパーツと同じコースパーツで作成されているため、使用されているコースパーツやその接続構成を特定することで、特設コースのコース形状についても特定できる。
【0208】
この場合に、特設コースの使用コースパーツや接続構成の情報については、ネットワークを介してゲーム装置にダウンロードするようにしてもよいし、プレーヤが、コース編集画面において配置設定するようにしてもよい。すなわち、プレーヤは、このコース編集画面において、コースパーツの画像を適宜組み合わせて接続することで、特設コースと同じ形状のコースを作成して編集する。そして、編集されたコースを登録することで、その特設コースに対応するコースデータを設定する。
【0209】
以上のようにコースデータを設定することで、車両玩具が実際に走行するコースと、仮想移動体が走行する仮想コースとをマッチングさせて、リンクさせることが可能になる。
【0210】
次に、図20、図21に示す走行制御データ設定画面を表示する。プレーヤは、この設定画面において、試行錯誤しながら、良いラップタイムを獲得するのに必要な走行制御データを設定する。そして、プレーヤが、シミュレーション処理の開始を指示すると、図24(A)〜図24(C)で設定された走行特性データと、図25で設定されたコースデータと、図20、図21で設定された走行制御データに基づいて、シミュレーション処理が行われる。すなわち走行特性データに基づきその走行特性が設定される仮想移動体を、コースデータに基づきそのコース特性が設定される仮想空間内の仮想コースにおいて、走行制御データにしたがって走行させるシミュレーション処理が行われる。
【0211】
そして、プレーヤは、走行シミュレーションの結果データを確認し、走行制御データを再度設定して、自身が所望するラップライムを獲得できるまで、シミュレーション処理を繰り返し実行させる。こうして、ゲーム装置側で車両玩具の走行に関する仮想的なチューニングを繰り返す。そして、プレーヤは、満足する結果が得られると、ゲーム装置と車両玩具を有線または無線で接続して、図22に示すように最終的な走行制御データを車両玩具に送信して、その記憶部に記憶させる。そして、図1(A)等に示すコース上で車両玩具を実際に走行させる。
【0212】
例えば、週末に、店舗の特設コースで公式レースが開催される場合に、プレーヤは、平日に、ゲーム装置を用いてシミュレーションを行って、車両玩具の仮想的なチューニングを繰り返す。この場合に、プレーヤの自宅には特設コースは存在しないが、ゲーム装置の仮想空間内には、特設コースのコースデータに基づいて特設コースに対応する仮想コースが構築されている。プレーヤは、この仮想コースにおいて、自身が出場させる車両玩具に対応する仮想移動体を走行させるシミュレーション処理を、ゲーム装置を用いて実行させる。そして、プレーヤの納得が行くまで、チューニング設定を繰り返して、週末の公式レースに参加する。
【0213】
この時、例えば、特定のパーツが原因で、良いラップタイムを獲得できない場合には、図24(B)、図24(C)で説明した手法により、パーツを交換する設定を行う。この場合に、プレーヤは、実際にパーツを購入しなくても、仮想的にパーツ交換を行って、そのパーツがラップタイム向上に有効か否かを、シミュレーション処理により確認することができる。そして、特定のパーツ(例えば、モータ、タイヤ)を交換することで、シミュレーションにおいて、良いラップタイムを獲得できた場合には、そのパーツを実際に購入して、車両玩具に装着し、週末の公式レースに参加する。
【0214】
以上のように、本実施形態によれば、特設コースのように自宅に置けないようなコースについても、ゲーム装置でのシミュレーション処理により、車両玩具を仮想的に試走させることができる。また、交換するパーツを購入する前に、プレーヤは、そのパーツのラップタイムへの貢献度合い等を、客観的に評価できる。従って、プレーヤの利便性を向上できると共に、シミュレーションにより高いレベルのチューニングを行って、ラップタイムの向上を目指すことができるため、速さの追求に関するプレーヤのモチベーションを向上させることができ、飽きの来にくいホビーレーシングカーのシステムを提供できる。
【0215】
なお、シミュレーション処理は、車両玩具に対応する仮想移動体のリアルなシミュレーション処理を行って、走行シミュレーション処理の結果データを求めるものであってもよいし、このようなリアルなシミュレーション処理を行わずに、走行特性データ、コースデータ、移動制御データとテーブルデータに基づいて、走行シミュレーション処理の結果データを瞬時に求めるような処理であってもよい。また、走行シミュレーション処理を、ゲーム処理の一部として行ってもよく、この場合には、図13に示すように、車両玩具に対応する仮想移動体が移動する様子を示す演出画面を表示すればよい。
【0216】
4.6.実走行結果データ
本実施形態では、図26(A)に示すように、走行制御データをゲーム装置から車両玩具に送信するのみならず、その走行制御データに基づき車両玩具がコースを走行することで得られた実走行結果データを、車両玩具から受信するようにしてもよい。
【0217】
図26(B)に実走行結果データの一例を示す。図26(B)では、コースの各コース区間での車両玩具の実走行ラップタイムデータを、実走行結果データとして受信している。この受信された実走行結果データは、ゲーム装置の表示部に表示される。
【0218】
この場合に図26(B)では、実走行結果データがコースの各コース区間に対応づけて表示されている。例えば、コース区間CS1に対して、CS1での実走行結果データである実走行ラップタイム=0.89が対応づけられて表示され、コース区間CS2に対して、CS2での実走行ラップタイム=0.62が対応づけられて表示される。
【0219】
また、図27(A)では、ゲーム装置側でのシミュレーション処理により走行シミュレーション結果データが得られている。そして車両玩具から受信した実走行結果データと、この走行シミュレーション結果データの両方が表示される。また実走行結果データと走行シミュレーション結果データの比較処理が行われている。
【0220】
具体的には図27(B)に示すように、シミュレーション処理により得られた走行シミュレーション結果データに対して、受信した実走行結果データが関連づけて表示される。例えばコース区間CS1に対して、CS1での走行シミュレーション結果データであるシミュレーションラップタイム=0.94と、CS1での実走行ラップタイム0.89が対応づけられて表示され、コース区間CS2に対して、CS2でのシミュレーションラップタイム=0.64と、CS2での実走行ラップタイム0.62が対応づけられて表示される。
【0221】
なお、ゲーム装置での実走行結果データや走行シミュレーション結果データの表示形態は、図26(B)、図27(B)に限定されない。例えば、図20に示すような画面を表示して、各コース区間CS1〜CS16に対応づけて、実走行結果データや走行シミュレーション結果データを表示してもよい。
【0222】
また、実走行結果データや走行シミュレーション結果データとしては、ラップタイムデータに限定されず、種々のデータを想定することができ、例えば、移動玩具の加速または減速の度合いを表す実加減速データであってもよい。
【0223】
以上の本実施形態の手法によれば、走行制御データを車両玩具に送信し、その走行制御データに対応する実走行結果データを車両玩具から受信することで、プレーヤは、自身が設定した走行制御データが最適な設定か否かを客観的に判断することができる。また、実走行結果データを各コース区間に対応づけて表示することで、各コース区間に設定した走行制御データの妥当性についても客観的に判断できる。
【0224】
従って、設定した走行制御データを送信し、それに対応する実走行結果データを受信して、設定の妥当性を判断するという作業を繰り返すことで、プレーヤは、最適なチューニング設定を容易に得ることができる。この結果、これまでのように直感に頼って行っていたチューニング設定を実走行結果データに基づいて客観的に評価して行うことが可能になり、これまでにないチューニングの楽しみをプレーヤに与えることが可能になる。
【0225】
また、車両玩具のパーツを変更した場合に、そのパーツ変更の効果についても、プレーヤは、実走行結果データに基づいて客観的に評価できるようになり、プレーヤの改造の楽しみをさらに増すことができる。
【0226】
また、例えばシミュレーション処理は、理想的な走行特性データおよびコースデータに基づいて行われるものであるため、それによる走行シミュレーション結果データは、現実とは食い違っている場合が多い。
【0227】
この点、図27(B)のように、走行シミュレーション結果データと実走行結果データとを対応づけて表示すれば、プレーヤは、シミュレーションの走行と現実の走行の違いを、客観的に認識できる。従って、プレーヤは、この違いを考慮しながら、ゲーム装置においてシミュレーションによる仮想的なチューニングを行うことが可能になり、シミュレーションによるチューニングの精度を向上できる。
【0228】
なお、走行シミュレーション結果データと実走行結果データの比較処理を行い、その比較結果に基づいて補正データを求め、その補正データに基づいて、走行シミュレーション結果データを実走行結果データに近づけるための補正処理を行ってもよい。このようにすることで、シミュレーションによるチューニングの精度をさらに向上できる。
【0229】
以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは、当業者には容易に理解できるであろう。従って、このような変形例やその組み合わせは、全て本発明の範囲に含まれるものとする。
【0230】
例えば、明細書または図面中の記載において広義や同義な用語(移動玩具、原動機、動作制御データ等)として引用された用語(車両玩具、モータ、走行制御データ等)は、明細書または図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0231】
また、移動玩具の制御手法、マーカの検知手法、走行制御データの設定手法、移動玩具の減速、加速制御手法、原動機の駆動手法、シミュレーション処理手法等は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含むことができる。また本発明が適用される移動玩具、ゲーム装置は、本発明で説明したような構成の移動玩具やゲーム装置に限定されるものではない。
【符号の説明】
【0232】
CP1〜CP16 コースパーツ、CM1〜CM16 クロックマーカ、
DM1〜DMn データマーカ、MC1〜MC16 マーカコード、
10 車両玩具、12 ボディ、30 原動機、50 センサ、
50a データ用センサ、50b クロック用センサ、52 発光素子、60 コース、
70 ガイド部、100 処理部、102 シミュレーション処理部、
104 送信処理部、106 受信処理部、108 認証処理部、110 比較処理部、
112 表示制御部、114 成績評価部、116 アップロード処理部、
130 設定変更部、160 操作部、170 記憶部、
172 走行特性データ記憶部、173 コースデータ記憶部、
174 走行制御データ記憶部、178 描画バッファ、
190 タッチパネル型表示部、191 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部、
200D、300D、400D ガイド溝部(溝部)、
300 回路基板、310 制御部、330 記憶部、332 走行制御データ記憶部、334 走行検知データ記憶部、340 発光素子駆動部、350 駆動部、
360 センサコントローラ、370 外部インターフェース部、400 ゲーム装置

【特許請求の範囲】
【請求項1】
移動玩具が移動する走行面を有するコースを構成するコースパーツであって、
前記コースの前記走行面又は壁面の第1の領域には、前記移動玩具がデータを読み取るための複数のデータマーカが設けられ、
前記走行面又は前記壁面の第2の領域には、前記データをサンプリングするためのクロックを前記移動玩具が読み取るための複数のクロックマーカが設けられることを特徴とするコースパーツ。
【請求項2】
請求項1において、
前記複数のデータマーカは、前記第1の領域において、第1の方向に沿って設けられ、
前記第1の方向に対して垂直方向を第2の方向とした場合に、
前記複数のクロックマーカは、前記第1の領域の前記第2の方向に設けられた前記第2の領域において、前記第1の方向に沿って設けられることを特徴とするコースパーツ。
【請求項3】
請求項2において、
前記複数のデータマーカは、前記第1の方向に沿って設けられ、
前記複数のクロックマーカは、前記複数のデータマーカとは前記第1の方向に沿ってずらして設けられることを特徴とするコースパーツ。
【請求項4】
請求項3において、
前記第1の方向における前記データマーカと前記クロックマーカとのずれ量が前記クロックマーカの前記第1の方向での幅よりも小さいことを特徴とするコースパーツ。
【請求項5】
請求項2乃至4のいずれかにおいて、
前記複数のクロックマーカの第1の方向における両端側には、前記移動玩具の前記コース上における進行方向を判断するためのディレクションマーカが設けられることを特徴とするコースパーツ。
【請求項6】
請求項5において、
前記ディレクションマーカの前記第1の方向における幅は、前記クロックマーカの前記第1の方向における幅と異なることを特徴とするコースパーツ。
【請求項7】
請求項1乃至6のいずれかにおいて、
前記コースの前記走行面の輝度が所与の基準輝度未満である場合に、前記データマーカ及び前記クロックマーカの輝度は、前記基準輝度以上に設定されることを特徴とするコースパーツ。
【請求項8】
請求項1乃至6のいずれかにおいて、
前記コースの前記走行面の輝度が所与の基準輝度以上である場合に、前記データマーカ及び前記クロックマーカの輝度は、前記基準輝度未満に設定されることを特徴とするコースパーツ。
【請求項9】
請求項1乃至8のいずれかにおいて、
前記コースは、第1〜第Nのコースパーツから構成され、
前記第1〜第Nのコースパーツのうちの第iのコースパーツと第jのコースパーツの形状が異なる場合(1≦i<j≦N)に、前記第iのコースパーツでの複数のデータマーカの配列と、前記第jのコースパーツでの複数のデーターカの配列が異なることを特徴とするコースパーツ。
【請求項10】
請求項1乃至9のいずれかにおいて、
前記データは、前記コースパーツの形状を特定するためのコースデータであることを特徴とするコースパーツ。
【請求項11】
請求項1乃至10において、
前記移動玩具のボディの前記コースに対する接地面側にガイド部が設けられ、
前記複数のデータマーカが設けられた前記走行面の前記第1の領域と、前記複数のクロックマーカが設けられた前記走行面の前記第2の領域との間には、前記ガイド部と嵌合する溝部が前記移動玩具の移動方向である第1の方向に沿って形成されることを特徴とするコースパーツ。
【請求項12】
請求項11において、
前記溝部は、
前記複数のデータマーカに対して前記コースの中心側に、前記第1の方向に沿って前記走行面に対して凸状に形成される第1の凸部と、前記複数のクロックマーカに対して前記コースの中心側に前記第1の方向に沿って前記走行面に対して凸状に形成される第2の凸部と、の間に設けられることを特徴とするコースパーツ。
【請求項13】
請求項12において、
前記移動玩具の前記ボディの前記コースに対する前記接地面側には、前記ガイド部を前記溝部に誘導するための第1のガイドローラ及び第2ガイドローラが設けられ、
前記第1の凸部は、前記複数のデータマーカ側の側面が前記第1のガイドローラ及び前記第2ガイドローラの一方と当接するように形成され、
前記第2の凸部は、前記複数のクロックマーカ側の側面が前記第1のガイドローラ及び前記第2ガイドローラの他方と当接するように形成されることを特徴とするコースパーツ。
【請求項14】
請求項11において、
前記溝部は、
前記第1の領域の前記コースの中心側に、前記第1の方向に沿って前記走行面に対して凹状に形成される第1の凹部と、
前記第2の領域の前記コースの中心側に、前記第1の方向に沿って前記走行面に対して凹状に形成される第2の凹部と、の間に設けられることを特徴とするコースパーツ。
【請求項15】
請求項14において、
前記移動玩具の前記ボディの前記コースに対する前記接地面側には、前記ガイド部を前記溝部に誘導するための第1のガイドローラ及び第2ガイドローラが設けられ、
前記第1の凹部は、前記走行面側の側面が前記第1のガイドローラ及び前記第2ガイドローラの一方と当接するように形成され、
前記第2の凹部は、前記走行面側の側面が前記第1のガイドローラ及び前記第2ガイドローラの他方と当接するように形成されることを特徴とするコースパーツ。
【請求項16】
請求項1乃至15のいずれかに記載のコースパーツから構成されるコースと、前記コース上を移動する移動玩具を含む移動玩具システムであって、
前記移動玩具は、
ボディと、
前記ボディに搭載され、所与の動力が供給されて前記移動玩具を移動させる原動機と、
前記移動玩具がデータを読み取るために前記コースに設けられる複数のデータマーカを検知するデータ用センサと、
前記クロックを読み取るために前記コースに設けられる複数のクロックマーカを検知するクロック用センサと、
前記クロック用センサの検知信号から抽出された前記クロックにより、前記データセンサの検知信号をサンプリングすることで前記データを抽出する制御部と、
を含むことを特徴とする移動玩具システム。
【請求項17】
請求項16において、
前記複数のデータマーカは、第1の方向に沿って設けられ、
前記複数のクロックマーカは、前記複数のデータマーカとは前記第1の方向に沿ってずらして設けられ、
前記制御部は、
前記クロックの立ち上がりエッジ又は立ち下がりエッジで前記データ用センサの検知信号をサンプリングすることで前記データを抽出することを特徴とする移動玩具システム。
【請求項18】
請求項16又は17において、
前記制御部は、
前記ボディの接地面側に設けられる2つのセンサのうち、
前記ディレクションマーカを読み取った一方のセンサを前記クロック用センサに設定し、
他方のセンサを前記データ用センサに設定することを特徴とする移動玩具システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2010−167149(P2010−167149A)
【公開日】平成22年8月5日(2010.8.5)
【国際特許分類】
【出願番号】特願2009−13539(P2009−13539)
【出願日】平成21年1月23日(2009.1.23)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】