(57)【要約】【課題】移動玩具のデータ用センサでコースデータ等のデータを適正に読み取る。【解決手段】コース６０上を移動する移動玩具１０であって、ボディ１２と、ボディに搭載され、所与の動力が供給されて移動玩具を移動させる原動機３０と、移動玩具がデータを読み取るためにコースに設けられる複数のデータマーカＤＭ１〜ＤＭｎを検知するデータ用センサ５０ａと、データをサンプリングするためのクロックを読み取るためにコースに設けられる複数のクロックマーカＣＭ１〜ＣＭ１６を検知するクロック用センサ５０ｂと、クロック用センサの検知信号から抽出されたクロックにより、データ用センサの検知信号をサンプリングすることでデータを抽出する制御部３１０と、を含む。【選択図】図１４
2010167148.tif 000002
【特許請求の範囲】
【請求項１】
コース上を移動する移動玩具であって、
ボディと、
前記ボディに搭載され、所与の動力が供給されて前記移動玩具を移動させる原動機と、
前記移動玩具がデータを読み取るために前記コースに設けられる複数のデータマーカを検知するデータ用センサと、
前記データをサンプリングするためのクロックを読み取るために前記コースに設けられる複数のクロックマーカを検知するクロック用センサと、
前記クロック用センサの検知信号から抽出された前記クロックにより、前記データ用センサの検知信号をサンプリングすることで前記データを抽出する制御部と、
を含むことを特徴とする移動玩具。
【請求項２】
請求項１において、
前記データ用センサ及び前記クロック用センサは、前記ボディの前記コースに対する接地面側に、前記移動玩具の移動方向である第１の方向に対して垂直方向となる第２の方向に沿って並列して設けられていることを特徴とする移動玩具。
【請求項３】
請求項１又は２において、
前記移動玩具の移動方向である第１の方向に対して、
前記ボディの前記接地面の前端側を第１の外郭線、前記接地面の左端側を第２の外郭線、前記接地面の後端側を第３の外郭線、前記接地面の右端側を第４の外郭線とすると、
前記データ用センサは、
前記第２の外郭線上又は前記第４の外郭線上のいずれか一方に設けられ、
前記クロック用センサは、
前記第２の外郭線上又は前記第４の外郭線上のいずれか他方に設けられることを特徴とする移動玩具。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記移動玩具の移動方向である第１の方向に対して、
前記ボディの前記接地面の前端側を第１の外郭線、前記接地面の左端側を第２の外郭線、前記接地面の後端側を第３の外郭線、前記接地面の右端側を第４の外郭線とし、
前記第１の外郭線と前記第３の外郭線の中線を第１の中線、前記第１の外郭線と前記第１の中線の中線を第２の中線、前記第１の中線と前記第３の外郭線との中線を第３の中線とすると、
前記データ用センサ及び前記クロック用センサは、
前記接地面のうち、前記第２の中線、前記第２の外郭線、前記第３の中線、及び前記第４の外郭線によって囲まれた閉領域に設けられることを特徴とする移動玩具。
【請求項５】
請求項２乃至４のいずれかにおいて、
前記コース上では、
前記複数のデータマーカと前記複数のクロックマーカが前記第１の方向においてずらして設けられ、
前記制御部は、
前記クロックの立ち上がりエッジ又は立ち下がりエッジで前記データ用センサの検知信号をサンプリングすることで前記データを抽出することを特徴とする移動玩具。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記コースは、第１〜第Ｎのコースパーツから構成され、
前記第１〜第Ｎのコースパーツの各コースパーツの走行面又は壁面の第１の領域に、前記データを前記移動玩具が読み取るための複数のデータマーカが設けられ、
前記走行面又は前記壁面の第２の領域に、前記データをサンプリングするためのクロックを前記移動玩具が読み取るための複数のクロックマーカが設けられることを特徴とする移動玩具。
【請求項７】
請求項６において、
前記第１〜第Ｎのコースパーツのうちの第ｉのコースパーツと第ｊのコースパーツの形状が異なる場合（１≦ｉ＜ｊ≦Ｎ）に、前記第ｉのコースパーツでの複数のデータマーカの配列と、前記第ｊのコースパーツでの複数のデータマーカの配列が異なることを特徴とする移動玩具。
【請求項８】
請求項６又は７において、
前記複数のクロックマーカの第１の方向における両端側には、前記移動玩具の前記コース上における進行方向を判断するためのディレクションマーカが設けられることを特徴とする移動玩具。
【請求項９】
請求項８において、
前記ディレクションマーカの前記第１の方向における幅は、前記クロックマーカの前記第１の方向における幅と異なることを特徴とする移動玩具。
【請求項１０】
請求項８又は９において、
前記制御部は、
前記ボディの前記接地面側に設けられる２つのセンサのうち、
前記ディレクションマーカを読み取った一方のセンサを前記クロック用センサに設定し、
他方のセンサを前記データ用センサに設定することを特徴とする移動玩具。
【請求項１１】
請求項６乃至１０のいずれかにおいて、
その各走行制御データが、前記第１〜第Ｎのコースパーツのうちの対応するコースパーツに設けられた複数のデータマーカに対応づけられる、第１〜第Ｎの走行制御データを記憶する記憶部をさらに含み、
前記制御部は、
前記第１〜第Ｎの走行制御データに基づいて、前記移動玩具の走行を制御することを特徴とする移動玩具。
【請求項１２】
請求項１１において、
前記第１〜第Ｎの走行制御データを外部のゲーム装置から受信するための外部インターフェース部をさらに含み、
前記制御部は、
前記外部インターフェース部を介して前記ゲーム装置から受信した前記第１〜第Ｎの走行制御データに基づいて、移動玩具の制御を行うことを特徴とする移動玩具。
【請求項１３】
請求項１２において、
前記外部インターフェース部を介して前記制御部により抽出された前記データを前記ゲーム装置に送信するデータ送信処理部を更に含むことを特徴とする移動玩具。
【請求項１４】
請求項１乃至１３において、
前記データは、前記各コースパーツの形状を特定するためのコースデータであることを特徴とする移動玩具。
【請求項１５】
請求項１乃至１４において、
前記移動玩具の移動方向である第１の方向に沿って前記コースに形成された溝部に嵌合するガイド部が、前記ボディの前記コースに対する接地面側に設けられることを特徴とする移動玩具。
【請求項１６】
請求項１５において、
前記データ用センサ及び前記クロック用センサの少なくとも一方は、前記第１の方向に対して前記接地面の左端及び右端の一方と前記ガイド部との間に設けられることを特徴とする移動玩具。
【請求項１７】
請求項１５において、
前記データ用センサ及び前記クロック用センサの一方は、前記第１の方向に対して前記接地面の左端及び右端の一方と前記ガイド部との間に設けられ、
前記データ用センサ及び前記クロック用センサの他方は、前記第１の方向に対して前記接地面の左端及び右端の他方と前記ガイド部との間に設けられることを特徴とする移動玩具。
【請求項１８】
請求項１５乃至１７のいずれかにおいて、
前記接地面側には、前記ガイド部を前記溝部に誘導する少なくとも２つのガイドローラが設けられ、
前記少なくとも２つのガイドローラの一方である第１のガイドローラは、前記第１の方向に対して前記接地面の左端及び右端の一方と前記ガイド部との間に設けられ、
前記少なくとも２つのガイドローラの他方である第２のガイドローラは、前記第１の方向に対して前記接地面の左端及び右端の他方と前記ガイド部との間に設けられることを特徴とする移動玩具。
【請求項１９】
請求項１５において、
前記ガイド部は、
一端が前記ボディの前記接地面側に固定される紐状部材と、
前記紐状部材の他端側に設けられ、前記移動玩具が前記コースから脱離するのを規制する脱離規制部材と、
を含むことを特徴とする移動玩具。
【請求項２０】
請求項１乃至１９のいずれかに記載の移動玩具の走行を制御するためのデータである走行制御データを記憶する走行制御データ記憶部と、
前記走行制御データを、前記移動玩具に対して送信する処理を行う送信処理部と、
前記コースに対応する仮想コースを表示部に表示する制御を行う表示制御部として、
コンピュータを機能させ、
前記表示制御部は、
前記コースの各コースパーツに対応する前記仮想コースの各仮想コース区間に対して、前記走行制御データをプレーヤが入力設定するための走行データ設定画面を表示する制御を行うことを特徴とするプログラム。
【請求項２１】
請求項２０において、
前記移動玩具に対応して設けられる仮想移動体を、前記コースに対応して設けられる仮想空間内の前記仮想コースにおいて、前記走行制御データに従って走行させるシミュレーション処理を行うシミュレーション処理部として、
更にコンピュータを機能させることを特徴とするプログラム。
【請求項２２】
請求項２０又は２１において、
前記データは、前記コースを構成する各コースパーツの形状を特定するためのコースデータであり、
請求項１乃至１９のいずれかに記載の移動玩具から、前記コースデータを受信する受信処理部と、
前記コースデータに基づいて前記仮想空間内に前記仮想コースを設定する仮想コース設定部として、
更にコンピュータを機能させることを特徴とするプログラム。
【請求項２３】
請求項２０乃至２２のいずれかにおいて、
送信された前記走行制御データに基づき前記移動玩具が前記コースを走行することで得られた実走行結果データを、前記移動玩具から受信するための処理を行う受信処理部と、
受信した前記実走行結果データを表示部に表示する制御を行う表示制御部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２４】
前記データは、前記コースを構成する各コースパーツの形状を特定するためのコースデータであり、
請求項１乃至１９のいずれかに記載の移動玩具から、前記コースデータを受信する受信処理部と、
前記コースデータに基づいて前記仮想空間内に前記仮想コースを設定する仮想コース設定部と、
前記仮想コース設定部で設定された仮想コースを表示部に表示する制御を行う表示制御部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２５】
コンピュータ読み取り可能な情報記憶媒体であって、請求項２０乃至２４のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項２６】
請求項１乃至１９のいずれかに記載の移動玩具の走行を制御するためのデータである走行制御データを記憶する走行制御データ記憶部と、
前記走行制御データを前記移動玩具に対して送信する処理を行う送信処理部と、
前記コースに対応する仮想コースを表示する制御を行う表示制御部と、を含み、
前記表示制御部は、
前記コースの各コースパーツに対応する前記仮想コースの各仮想コース区間に対して、前記走行制御データをプレーヤが入力設定するための走行データ設定画面を表示する制御を行うことを特徴とするゲーム装置。
【請求項２７】
前記データは、前記コースを構成する各コースパーツの形状を特定するためのコースデータであり、
請求項１乃至１９のいずれかに記載の移動玩具から、前記コースデータを受信する受信処理部と、
前記コースデータに基づいて前記仮想空間内に前記仮想コースを設定する仮想コース設定部と、
前記仮想コース設定部で設定された仮想コースを表示部に表示する制御を行う表示制御部と、
を含むことを特徴とするゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動玩具、プログラム、情報記憶媒体、およびゲーム装置等に関する。
【背景技術】
【０００２】
従来から、複数のコースパーツを連結することで構成されるコースを走行させるレーシングカー等を模して、ユーザがより楽しめるように各種趣向を凝らしている車両玩具（移動玩具）が知られている。このような移動玩具として、例えば、特許文献１、特許文献２の従来例がある。
【０００３】
特許文献1には、コース状態に応じて、所定のプログラムに基づく自動操縦と、ユーザの遠隔のコントローラの使用によって走行速度と走行方向を操作する手動操縦とを切り替えられる車両玩具走行装置が開示されている。当該車両玩具走行装置では、自動操縦用プログラムは、外部端末となる入力装置で事前に設定し、車両玩具に搭載する人形に内蔵した記憶装置に書き込まれる。そして、自動操縦用プログラムは、当該人形を模した記憶装置を介して、車両玩具に搭載したメモリに転送される。
【０００４】
また、特許文献２には、ゲーム装置でゲームプレイすることで得られた制御情報を車両玩具に転送し、この制御情報に基づいて車両玩具の走行を制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−２６９５７４号公報
【特許文献２】特開２０００−２１０４７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、これらの従来技術では、コースに設定されるデータを適正に読み取るための技術については開示されていなかった。
【０００７】
本発明に係る幾つかの態様によれば、コースに設定されたデータを適切に読み取ることができる移動玩具等を提供できる。
【課題を解決するための手段】
【０００８】
本発明は、コース上を移動する移動玩具であって、ボディと、前記ボディに搭載され、所与の動力が供給されて前記移動玩具を移動させる原動機と、前記移動玩具がデータを読み取るために前記コースに設けられる複数のデータマーカを検知するデータ用センサと、前記データをサンプリングするためのクロックを読み取るために前記コースに設けられる複数のクロックマーカを検知するクロック用センサと、前記クロック用センサの検知信号から抽出された前記クロックにより、前記データ用センサの検知信号をサンプリングすることで前記データを抽出する制御部と、を含む移動玩具に関係する。
【０００９】
本発明の移動玩具によれば、移動玩具が走行する際にクロック用センサでクロックマーカを読み取りながら、クロック用センサの検知信号から抽出されたクロックにより、データ用センサの検知信号をサンプリングしてデータが抽出されるようになる。このため、データ用センサでコースデータ等のデータを適正に読み取ることができる。
【００１０】
このとき、本発明では、前記データ用センサ及び前記クロック用センサは、前記ボディの前記コースに対する接地面側に、前記移動玩具の移動方向である第１の方向に対して垂直方向となる第２の方向に沿って並列して設けられていることとしてもよい。
【００１１】
このようにすれば、データ用センサと並列配置されているクロック用センサによりクロックを抽出し、そのクロックを基準にデータを適正に取得できる。
【００１２】
また、本発明では、前記移動玩具の移動方向である第１の方向に対して、前記ボディの前記接地面の前端側を第１の外郭線、前記接地面の左端側を第２の外郭線、前記接地面の後端側を第３の外郭線、前記接地面の右端側を第４の外郭線とすると、前記データ用センサは、前記第２の外郭線上又は前記第４の外郭線上のいずれか一方に設けられ、前記クロック用センサは、前記第２の外郭線上又は前記第４の外郭線上のいずれか他方に設けられることとしてもよい。
【００１３】
このようにすれば、クロック用センサで読み取るクロックマーカに対応したデータマーカをデータ用センサで適正に読み取ることができる。
【００１４】
また、本発明では、前記移動玩具の移動方向である第１の方向に対して、前記ボディの前記接地面の前端側を第１の外郭線、前記接地面の左端側を第２の外郭線、前記接地面の後端側を第３の外郭線、前記接地面の右端側を第４の外郭線とし、前記第１の外郭線と前記第３の外郭線の中線を第１の中線、前記第１の外郭線と前記第１の中線の中線を第２の中線、前記第１の中線と前記第３の外郭線との中線を第３の中線とすると、前記データ用センサ及び前記クロック用センサは、前記接地面のうち、前記第２の中線、前記第２の外郭線、前記第３の中線、及び前記第４の外郭線によって囲まれた閉領域に設けられることとしてもよい。
【００１５】
このようにすれば、移動玩具のボディの接地面側の中心部寄りにデータ用センサ及びクロック用センサが設けられるので、クロック用センサで読み取るクロックマーカに対応したデータマーカをデータ用センサで適正に読み取ることができる。
【００１６】
また、本発明では、前記コース上では、前記複数のデータマーカと前記複数のクロックマーカが前記第１の方向においてずらして設けられ、前記制御部は、前記クロックの立ち上がりエッジ又は立ち下がりエッジで前記データ用センサの検知信号をサンプリングすることで前記データを抽出することとしてもよい。
【００１７】
このようにすれば、クロックの立ち上がりエッジ又は立ち下がりエッジで、データ用センサの検知信号を安定してサンプリングできるので、読み取りエラーを低減できる。
【００１８】
また、本発明では、前記コースは、第１〜第Ｎのコースパーツから構成され、前記第１〜第Ｎのコースパーツの各コースパーツの走行面又は壁面の第１の領域に、前記データを前記移動玩具が読み取るための複数のデータマーカが設けられ、前記走行面又は前記壁面の第２の領域に、前記データをサンプリングするためのクロックを前記移動玩具が読み取るための複数のクロックマーカが設けられることとしてもよい。
【００１９】
このようにすれば、移動玩具がコース上を走行することによって、特別なキャリブレーション処理をしなくても、各コースパーツに設定されたデータを容易に読み取ることができる。
【００２０】
また、本発明では、前記第１〜第Ｎのコースパーツのうちの第ｉのコースパーツと第ｊのコースパーツの形状が異なる場合（１≦ｉ＜ｊ≦Ｎ）に、前記第ｉのコースパーツでの複数のデータマーカの配列と、前記第ｊのコースパーツでの複数のデータマーカの配列が異なることとしてもよい。
【００２１】
このようにすれば、コースパーツの形状の違いを、データマーカの配列の違いにより表すことが可能になる。
【００２２】
また、本発明では、前記複数のクロックマーカの第１の方向における両端側には、前記移動玩具の前記コース上における進行方向を判断するためのディレクションマーカが設けられることとしてもよい。
【００２３】
このようにすれば、センサの一方がコースを走行する際にディレクションマーカを読み取ることによって、移動玩具のコース上における進行方向を判断できる。
【００２４】
また、本発明では、前記ディレクションマーカの前記第１の方向における幅は、前記クロックマーカの前記第１の方向における幅と異なることとしてもよい。
【００２５】
このようにすれば、クロック用センサでディレクションマーカとクロックマーカの区別が容易にできるようになる。
【００２６】
また、本発明では、前記制御部は、前記ボディの前記接地面側に設けられる２つのセンサのうち、前記ディレクションマーカを読み取った一方のセンサを前記クロック用センサに設定し、他方のセンサを前記データ用センサに設定することとしてもよい。
【００２７】
このようにすれば、コースパーツをどちらの向きに設置しても、データマーカを読み取れるようになる。
【００２８】
また、本発明では、その各走行制御データが、前記第１〜第Ｎのコースパーツのうちの対応するコースパーツに設けられた複数のデータマーカに対応づけられる、第１〜第Ｎの走行制御データを記憶する記憶部をさらに含み、前記制御部は、前記第１〜第Ｎの走行制御データに基づいて、前記移動玩具の走行を制御することとしてもよい。
【００２９】
このようにすれば、移動玩具をコース上に走行させる際に、各コース区間に対応づけられた走行制御データに基づいて、移動玩具の走行を制御できるようになる。
【００３０】
また、本発明では、前記第１〜第Ｎの走行制御データを外部のゲーム装置から受信するための外部インターフェース部をさらに含み、前記制御部は、前記外部インターフェース部を介して前記ゲーム装置から受信した前記第１〜第Ｎの走行制御データに基づいて、移動玩具の制御を行うこととしてもよい。
【００３１】
このようにすれば、移動玩具をコース上に走行させる際に、ゲーム装置から受信した各コース区間に対応づけられた走行制御データに基づいて、移動玩具の走行を制御できるようになる。
【００３２】
また、本発明では、前記外部インターフェース部を介して前記制御部により抽出された前記コースデータを前記ゲーム装置に送信するデータ送信処理部を更に含むこととしてもよい。
【００３３】
このようにすれば、移動玩具がコース上を走行した際に検知したコースデータをゲーム装置に送信できるようになる。
【００３４】
また、本発明では、前記データは、前記各コースパーツの形状を特定するためのコースデータであることとしてもよい。
【００３５】
このようにすれば、移動玩具が走行する際にデータ用センサがデータマーカを読み取ることによって、コースデータを読み取ることができるようになる。
【００３６】
また、本発明では、前記移動玩具の移動方向である第１の方向に沿って前記コースに形成された溝部に嵌合するガイド部が、前記ボディの前記コースに対する接地面側に設けられることとしてもよい。
【００３７】
このようにすれば、移動玩具のガイド部が溝部に嵌合しながら、移動玩具が当該溝部に沿って移動するようになるので、移動玩具の速度を増大させても、移動玩具がコースアウトすることを抑制できる。
【００３８】
また、本発明では、前記データ用センサ及び前記クロック用センサの少なくとも一方は、前記第１の方向に対して前記接地面の左端及び右端の一方と前記ガイド部との間に設けられることとしてもよい。
【００３９】
このようにすれば、移動玩具のガイド部が溝部に嵌合しながら、移動玩具が当該溝部に沿って移動する際に、データ用センサ及びクロック用センサの少なくとも一方がデータマーカ及びクロックマーカの少なくとも一方を読み取ることができる。
【００４０】
また、本発明では、前記データ用センサ及び前記クロック用センサの一方は、前記第１の方向に対して前記接地面の左端及び右端の一方と前記ガイド部との間に設けられ、前記データ用センサ及び前記クロック用センサの他方は、前記第１の方向に対して前記接地面の左端及び右端の他方と前記ガイド部との間に設けられることとしてもよい。
【００４１】
このようにすれば、移動玩具のガイド部が溝部に嵌合しながら、移動玩具が当該溝部に沿って移動する際に、データ用センサがデータマーカを読み取り、クロック用センサがクロックマーカを読み取ることができる。
【００４２】
また、本発明では、前記接地面側には、前記ガイド部を前記溝部に誘導する少なくとも２つのガイドローラが設けられ、前記少なくとも２つのガイドローラの一方である第１のガイドローラは、前記第１の方向に対して前記接地面の左端及び右端の一方と前記ガイド部との間に設けられ、前記少なくとも２つのガイドローラの他方である第２のガイドローラは、前記第１の方向に対して前記接地面の左端及び右端の他方と前記ガイド部との間に設けられることとしてもよい。
【００４３】
このようにすれば、移動玩具がコース上を移動する際に、ガイドローラによって、ガイド部が溝部に誘導されるので、移動玩具の速度を増大させても、移動玩具がコースアウトすることを抑制できる。
【００４４】
また、本発明では、前記ガイド部は、一端が前記ボディの前記接地面側に固定される紐状部材と、前記紐状部材の他端側に設けられ、前記移動玩具が前記コースから脱離するのを規制する脱離規制部材と、を含むこととしてもよい。
【００４５】
このようにすれば、移動玩具がコース上を移動する際に、移動玩具の速度を増大させて移動玩具がコースアウトした場合でも、紐状部材と脱離規制部材によって、移動玩具がコースから脱離することを抑制できる。
【００４６】
また、本発明は、上記のいずれかに記載の移動玩具の走行を制御するためのデータである走行制御データを記憶する走行制御データ記憶部と、前記走行制御データを、前記移動玩具に対して送信する処理を行う送信処理部と、前記コースに対応する仮想コースを表示部に表示する制御を行う表示制御部として、コンピュータを機能させ、前記表示制御部は、前記コースの各コースパーツに対応する前記仮想コースの各仮想コース区間に対して、前記走行制御データをプレーヤが入力設定するための走行データ設定画面を表示する制御を行うプログラムに関係する。
【００４７】
本発明のプログラムによれば、プレーヤは、走行制御データ設定画面を用いた簡素な作業で、走行制御データを設定して、設定後の走行制御データを移動玩具に送信することができるので、移動玩具の走行制御のための簡素なインターフェース環境をプレーヤに提供できる。
【００４８】
このとき、本発明では、前記移動玩具に対応して設けられる仮想移動体を、前記コースに対応して設けられる仮想空間内の前記仮想コースにおいて、前記走行制御データに従って走行させるシミュレーション処理を行うシミュレーション処理部として、更にコンピュータを機能させることとしてもよい。
【００４９】
このようにすれば、ゲーム装置でのシミュレーション処理により、移動玩具を仮想的に試走させることができるため、プレーヤのチューニング設定の幅を広げることが可能になる。
【００５０】
また、本発明では、前記データは、前記コースを構成する各コースパーツの形状を特定するためのコースデータであり、上記のいずれかに記載の移動玩具から、前記コースデータを受信する受信処理部と、前記コースデータに基づいて前記仮想空間内に前記仮想コースを設定する仮想コース設定部として、更にコンピュータを機能させることとしてもよい。
【００５１】
このようにすれば、移動玩具が走行した際に読み取ったコースデータを元に仮想空間内に仮想コースを容易に設定することができるようになる。
【００５２】
また、本発明では、送信された前記走行制御データに基づき前記移動玩具が前記コースを走行することで得られた実走行結果データを、前記移動玩具から受信するための処理を行う受信処理部と、受信した前記実走行結果データを表示部に表示する制御を行う表示制御部として、コンピュータを機能させることとしてもよい。
【００５３】
このようにすれば、走行制御データを移動玩具に送信し、その走行制御データに対応する実走行結果データを移動玩具から受信することで、プレーヤは、自身が設定した走行制御データが、最適な設定か否かを客観的に判断することが可能になる。
【００５４】
また、本発明は、前記データは、前記コースを構成する各コースパーツの形状を特定するためのコースデータであり、上記のいずれかに記載の移動玩具から、前記コースデータを受信する受信処理部と、前記コースデータに基づいて前記仮想空間内に前記仮想コースを設定する仮想コース設定部と、前記仮想コース設定部で設定された仮想コースを表示部に表示する制御を行う表示制御部として、コンピュータを機能させるプログラムに関係する。
【００５５】
また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記のいずれかに記載のプログラムを記憶した情報記憶媒体に関係する。
【００５６】
また、本発明は、上記のいずれかに記載の移動玩具の走行を制御するためのデータである走行制御データを記憶する走行制御データ記憶部と、前記走行制御データを前記移動玩具に対して送信する処理を行う送信処理部と、前記コースに対応する仮想コースを表示する制御を行う表示制御部と、を含み、前記表示制御部は、前記コースの各コースパーツに対応する前記仮想コースの各仮想コース区間に対して、前記走行制御データをプレーヤが入力設定するための走行データ設定画面を表示する制御を行うゲーム装置に関係する。
【００５７】
また、本発明は、前記データは、前記コースを構成する各コースパーツの形状を特定するためのコースデータであり、上記のいずれかに記載の移動玩具から、前記コースデータを受信する受信処理部と、前記コースデータに基づいて前記仮想空間内に前記仮想コースを設定する仮想コース設定部と、前記仮想コース設定部で設定された仮想コースを表示部に表示する制御を行う表示制御部と、を含むゲーム装置に関係する。
【図面の簡単な説明】
【００５８】
【図１】図１（Ａ）、図１（Ｂ）は車両玩具が走行するコースの説明図。
【図２】図２（Ａ）は、本実施形態が適用されるコースパーツの外観斜視図、図２（Ｂ）は、本実施形態が適用されるコースパーツの平面図。
【図３】図３（Ａ）は、他の実施形態が適用されるコースパーツの外観斜視図、図３（Ｂ）は、他の実施形態が適用されるコースパーツの平面図。
【図４】図４（Ａ）は、他の実施形態が適用されるコースパーツの外観斜視図、図４（Ｂ）は、他の実施形態が適用されるコースパーツの平面図。
【図５】図５（Ａ）は、他の実施形態が適用されるコースパーツの外観斜視図、図５（Ｂ）は、他の実施形態が適用されるコースパーツの平面図。
【図６】本実施形態が適用される車両玩具の外観斜視図。
【図７】本実施形態が適用される車両玩具の内部構成を示す平面図。
【図８】他の実施形態が適用される車両玩具の接地面側の構成を示す平面図。
【図９】図９（Ａ）は他の実施形態が適用される車両玩具の走行時の状態を示す正面図、図９（Ｂ）は他の実施形態が適用される車両玩具の変形例の走行時の状態を示す正面図。
【図１０】他の実施形態が適用される車両玩具の接地面側の構成を示す平面図。
【図１１】図１１（Ａ）は他の実施形態が適用される車両玩具が第１の変形例のコースパーツ上を走行時の状態を示す正面図、図１１（Ｂ）は他の実施形態が適用される車両玩具が第２の変形例のコースパーツ上を走行時の状態を示す正面図。
【図１２】他の実施形態が適用される車両玩具の接地面側の構成を示す平面図。
【図１３】図１３（Ａ）は他の実施形態が適用される車両玩具の走行時の状態を示す側面図、図１３（Ｂ）は他の実施形態が適用される車両玩具の変形例の走行時の状態を示す正面図。
【図１４】本実施形態が適用される車両玩具の機能ブロック図。
【図１５】本実施形態が適用されるゲーム装置の外観図。
【図１６】本実施形態が適用されるゲーム装置の機能ブロック図。
【図１７】図１７（Ａ）は本実施形態の車両玩具によるマーカコードの認識方法の第１の方法の模式図、図１７（Ｂ）は本実施形態の車両玩具の第１の方法によるクロック用センサ及びデータ用センサの検知信号の波形図。
【図１８】本実施形態の車両玩具によるマーカコードの認識方法の第１の方法のフローチャート。
【図１９】図１９（Ａ）は本実施形態の車両玩具によるマーカコードの認識方法の第２の方法の模式図、図１９（Ｂ）は本実施形態の車両玩具の第２の方法によるクロック用センサ及びデータ用センサの検知信号の波形図。
【図２０】本実施形態の第２の方法の実装イメージ図。
【図２１】本実施形態の車両玩具によるマーカコードの認識方法の第２の方法のフローチャート。
【図２２】本実施形態の第２の方法における問題点の説明図。
【図２３】本実施形態の第２の方法における問題点の解決法の説明図。
【図２４】本実施形態の第２の方法におけるセンサの配置例。
【図２５】走行制御データの設定手法を説明するための図。
【図２６】走行制御データの設定手法を説明するための図。
【図２７】走行制御データの設定手法を説明するための図。
【図２８】図２８（Ａ）〜図２８（Ｃ）は、コースデータの自動取得手法の説明図。
【図２９】図２９（Ａ）〜図２９（Ｃ）は、走行制御データの設定手法を説明する図。
【図３０】コースデータの設定手法を説明する図。
【図３１】図３１（Ａ）、図３１（Ｂ）は、実走行結果データを受信して表示する手法の説明図。
【図３２】図３２（Ａ）、図３２（Ｂ）は、実走行結果データと走行シミュレーション結果データを比較して表示する手法の説明図。
【発明を実施するための形態】
【００５９】
以下、本発明の好適な実施の形態について詳細に説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００６０】
１．コース
図１（Ａ）に、本実施形態の移動玩具となる車両玩具を走行させるコースの一例を斜視図で示す。本実施形態では、車両玩具１０を走行させるコース６０は、図１（Ａ）に示すように、直線形状、カーブ形状、およびスロープ形状の各種構成を有する複数のコースパーツＣＰ１〜ＣＰ１６が適宜の連結構造を介して、隣接する他のコースパーツと連結されて無端状に形成し、直線、カーブ、およびスロープが配置される構成となっている。当該コース６０は、コースパーツＣＰ１〜ＣＰ８によって構成される第１の巡回コース６１に、コースパーツＣＰ９〜ＣＰ１６によって当該第１の巡回コース６１と略同一に構成される第２の巡回コース６２を後続させるように設置し、サーキット２周で１コースとなる構成となっている。
【００６１】
第１の巡回コース６１は、第１の直線コースパーツＣＰ１、第１のカーブコースパーツＣＰ２、第１のスロープコースパーツＣＰ３、第２のカーブコースパーツＣＰ４、第２のスロープコースパーツＣＰ５、第３のカーブコースパーツＣＰ６、第２の直線コースパーツＣＰ７、および第４のカーブコースパーツＣＰ８を順に連結して構成される。第１の直線コースパーツＣＰ１は、第２の直線コースパーツＣＰ７より長い直線コースパーツであり、第１のカーブコースパーツＣＰ２に連結される。第１のカーブコースパーツＣＰ２は、ループ形状のコースパーツであり、第１のスロープコースパーツＣＰ３に連結される。第１のスロープコースパーツＣＰ３は、第１の直線コースパーツＣＰ１および第３の直線コースパーツＣＰ９と立体交差するように、スロープ形状の架橋となって後続の第２のカーブコースパーツＣＰ４に連結される。第２のカーブコースパーツＣＰ４は、緩やかなカーブコースであり、かつ第６のカーブコースパーツＣＰ１２と立体交差するように、スロープ形状の架橋となって後続の第２のスロープコースパーツＣＰ５に連結される。第２のスロープコースパーツＣＰ５は、第１の直線コースパーツＣＰ１、第３の直線コースパーツＣＰ９と立体交差するように、スロープ形状の架橋となって後続の第３のカーブコースパーツＣＰ６に連結される。第３のカーブコースパーツＣＰ６は、カーブ形状のコースパーツであり、後続の第２の直線コースパーツＣＰ７に連結される。第２の直線コースパーツＣＰ７は、直線形状のコースパーツであり、後続の第４のカーブコースパーツＣＰ８に連結される。第４のカーブコースパーツＣＰ８は、ループ形状のコースパーツであり、後続の第２の巡回コース６２の導入コースとなる第３の直線コースパーツＣＰ９に連結される。
【００６２】
一方、第２の巡回コース６２は、第３の直線コースパーツＣＰ９、第５のカーブコースパーツＣＰ１０、第３のスロープコースパーツＣＰ１１、第６のカーブコースパーツＣＰ１２、第４のスロープコースパーツＣＰ１３、第７のカーブコースパーツＣＰ１４、第４の直線コースパーツＣＰ１５、および第８のカーブコースパーツＣＰ１６を順に連結して構成される。第３の直線コースパーツＣＰ９は、第１の直線コースパーツＣＰ１と同一の直線コースパーツであり、第５のカーブコースパーツＣＰ１０に連結される。第５のカーブコースパーツＣＰ１０は、第１のループコースパーツＣＰ２と同一のループ形状のコースパーツであり、第３のスロープコースパーツＣＰ１１に連結される。第３のスロープコースパーツＣＰ１１は、第１のスロープコースパーツＣＰ３と同様の構成でスロープ形状の架橋となって、後続の第６のカーブコースパーツＣＰ１２に連結される。第６のカーブコースパーツＣＰ１２は、緩やかなカーブコースであり、後続の第４のスロープコースパーツＣＰ１３に連結される。第４のスロープコースパーツＣＰ１３は、第２のスロープコースパーツＣＰ５と同様の構成でスロープ形状の架橋となって、後続の第７のカーブコースパーツＣＰ１４に連結される。第７のカーブコースパーツＣＰ１４は、カーブ形状のコースパーツであり、後続の第４の直線コースパーツＣＰ１５に連結される。第４の直線コースパーツＣＰ１５は、直線形状のコースパーツであり、後続の第８のカーブコースパーツＣＰ１６に連結される。
【００６３】
また、各コース部は、図１（Ｂ）のＡ−Ａ矢視断面図で示すように、第１の巡回コース６１と第２の巡回コース６２が並列され、各巡回コース６１、６２に対し両サイド側に、それぞれ側壁６３Ｌ、６３Ｒ、６４Ｌ、６４Ｒが設けられている。
【００６４】
さらに、コース６０を構成する各コースパーツＣＰ１〜ＣＰ１６には、図２（Ｂ）に示すように、コース６０の走行面ＣＰＢ１（〜ＣＰＢ１６）の車両玩具１０の進行方向Ｄ１（第１の方向）に対して右半分側の領域ＣＰＢＲ１（広義には第１の領域）に車両玩具１０がデータを読み取るための複数のデータマーカＤＭ１〜ＤＭｎ（ｎは２以上の整数）からなるマーカコードＭＣ１（〜ＭＣ１６）が設けられる。
【００６５】
本実施形態では、これらのマーカコードＭＣ１（〜ＭＣ１６）に含まれる複数のデータマーカＤＭ１〜ＤＭｎによって読み取られるデータは、各コースパーツＣＰ１〜ＣＰ１６の形状を特定するためのコースパーツＩＤ等で示されるコースデータである。すなわち、各マーカコードＭＣ１（〜ＭＣ１６）は、コースパーツＣＰ１〜ＣＰ１６のうち、第ｉのコースパーツＣＰｉと第ｊのコースパーツＣＰｊ（１≦ｉ＜ｊ≦１６）の形状が異なれば、複数のデータマーカＤＭ１〜ＤＭｎの配列が異なっている。このため、コースパーツＣＰ１〜ＣＰ１６の形状の違いを、データマーカＤＭ１〜ＤＭｎの配列の違いにより表すことが可能になる。なお、当該データは、コースデータに限られず、例えば、各コースパーツＣＰ１〜ＣＰ１６における走行の際の走行指示データ等であってもよい。
【００６６】
一方、各コースパーツＣＰ１〜ＣＰ１６の走行面ＣＰＢ１〜ＣＰＢ１６の車両玩具１０の進行方向Ｄ１に対して左半分側の領域ＣＰＢＬ１（第２の領域）には、図２（Ａ）、図２（Ｂ）に示すように、当該データをサンプリングするためのクロックを車両玩具１０が読み取るための複数のクロックマーカＣＭ１（〜ＣＭ１６）が設けられている。なお、これらのデータマーカＤＭ１〜ＤＭｎとクロックマーカＣＭ１〜ＣＭ１６の配列は、図２（Ｂ）に示す配列に限定せず、例えばＤ１方向に対して左右反対となる配列であってもよい。
【００６７】
また、本実施形態では、複数のクロックマーカＣＭ１〜ＣＭ１６の第１の方向Ｄ１における両端側には、車両玩具１０のコース上における進行方向を判断するためのディレクションマーカＤＭＡ１（〜ＤＭＡ１６）、ＤＭＢ１（〜ＤＭＢ１６）が設けられている。ディレクションマーカＤＭＡ１（〜ＤＭＡ１６）、ＤＭＢ１（〜ＤＭＢ１６）は、クロックマーカＣＭ１〜ＣＭ１６と区別できるようにするために、第１の方向Ｄ１における幅がクロックマーカＣＭ１〜ＣＭ１６の第１の方向Ｄ１における幅より大きく設定される。なお、ディレクションマーカＤＭＡ１（〜ＤＭＡ１６）、ＤＭＢ１（〜ＤＭＢ１６）の第１の方向Ｄ１における幅は、クロックマーカＣＭ１〜ＣＭ１６と区別できるように異なる大きさであればよいので、クロックマーカＣＭ１〜ＣＭ１６の第１の方向Ｄ１における幅より小さくてもよい。
【００６８】
本実施形態では、データマーカＤＭ１〜ＤＭｎ及びクロックマーカＣＭ１（〜ＣＭ１６）は、白色のマーカであり、コース６０の走行面ＣＰＢ１（〜ＣＰＢ１６）は、黒色に着色されている。なお、これらのマーカＤＭ１〜ＤＭｎ、ＣＭ１〜ＣＭ１６の色は、白色に限定されず、輝度が所与の基準輝度以上に設定され、コース６０の走行面ＣＰＢ１（〜ＣＰＢ１６）の輝度が当該基準輝度未満に設定されていればよい。また反対に、これらのマーカＤＭ１〜ＤＭｎ、ＣＭ１〜ＣＭ１６の輝度が所与の輝度未満に設定され、コース６０の走行面ＣＰＢ１（〜ＣＰＢ１６）の輝度が当該基準輝度以上に設定するようにしてもよい。
【００６９】
そして、これらデータマーカＤＭ１〜ＤＭｎ及びクロックマーカＣＭ１（〜ＣＭ１６）が設けられたコース６０上を走行開始した車両玩具１０は、各種端末装置等からなるゲーム装置からインストールされるプログラムによって走行動作が制御されながら、コース６０上を反時計回り（図１におけるＤ１方向）で走行する。本実施形態では、コース６０上を走行した際に、車両玩具１０に含まれるデータ用センサ５０ａ（図４参照）がマーカコードＭＣ１〜ＭＣ１６に含まれるデータマーカＤＭ１〜ＤＭｎを読み取ることによって、各コースパーツＣＰ１〜ＣＰ１６の形状を特定するためのコースパーツＩＤ（コースデータ）を取得できる。また、コース６０は、各コースパーツＣＰ１〜ＣＰ１６に対応して、各コース区間ＣＳ１〜ＣＳ１６が設定される。なお、本実施形態のコース６０は、図１（Ａ）の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００７０】
なお、コース６０を構成するコースパーツＣＰ１〜ＣＰ１６は、図２（Ａ）、図２（Ｂ）に示す構成例に限定されない。すなわち、コース６０を走行する車両玩具が例えばスロットカー方式の場合には、図３（Ａ）、図３（Ｂ）に示すように、車両玩具のボディのコース６０に対する接地面側に設けられるガイド部と嵌合するガイド溝部２００Ｄが、第１の方向Ｄ１に沿って、走行面ＣＰＢ１〜ＣＰＢ１６の第１の領域ＣＰＢＲ１と第２の領域ＣＰＢＬ１との間に形成される。
【００７１】
このように、ガイド溝部２００ＤをコースパーツＣＰ１〜ＣＰ１６に形成することによって、車両玩具のガイド部がガイド溝部２００Ｄと第１の方向Ｄ１に沿って嵌合するようになる。このため、スロットカー方式等の車両玩具を走行させる際に、ガイド部がガイド溝部２００Ｄに対して摺動するように嵌合されるので、車両玩具の速度を大きくした場合でも、車両玩具がコース６０から脱線し難くなる。従って、図２（Ａ）、図２（Ｂ）に示す構成例のような側壁を設けなくても、車両玩具のコース６０からの脱線が抑制されるので、コース６０上での車両玩具の走行動作をユーザが観賞し易くなり、より車両玩具の走行動作の観賞を楽しめるようになる。また、コース６０に側壁を要しないことから、ユーザがコース６０上の車両玩具の走行動作を見易くなり、車両玩具の走行トラブルの発見等が容易になる。
【００７２】
また、後述する接地面側に車両玩具のガイド部をガイド溝部に誘導するための一対のガイドローラを有するスロットカー方式の場合に使用するコースパーツの構成例として、図４（Ａ）、図４（Ｂ）に示す第１の変形例と、図５（Ａ）、図５（Ｂ）に示す第２の変形例がある。
【００７３】
第１の変形例では、コースパーツＣＰ３０１〜ＣＰ３１６のガイド溝部３００Ｄは、図４（Ａ）、図４（Ｂ）に示すように、ガイド溝部３００Ｄが走行面ＣＰＢ１〜ＣＰＢ１６に対して凸状に形成される第１の凸部３０２と第２の凸部３０４との間に設けられる。第１の凸部３０２は、複数のデータマーカＤＭ１〜ＤＭｎに対してコース６０の中心側に、第１の方向Ｄ１に沿って走行面ＣＰＢ１〜ＣＰＢ１６に対して凸状に形成される。そして、第１の凸部３０２は、データマーカＤＭ１〜ＤＭｎ側の側面３０２Ｗが車両玩具の接地面側に設けられる一対のガイドローラの一方と当接するように形成される。一方、第２の凸部３０４は、複数のクロックマーカＣＭ１〜ＣＭ１６に対してコース６０の中心側に、第１の方向Ｄ１に沿って走行面ＣＰＢ１〜ＣＰＢ１６に対して凸状に形成されている。そして、第２の凸部３０４は、クロックマーカＣＭ１〜ＣＭ１６側の側面３０４Ｗが車両玩具の接地面側に設けられる一対のガイドローラの他方と当接するように形成される。
【００７４】
このようにガイド溝部３００Ｄを第１の凸部３０２、第２の凸部３０４との間に設ける構成とすることによって、車両玩具が走行する際に、ガイドローラが第１の凸部３０２及び第２の凸部３０４と当接して、ガイド部がガイド溝部３００Ｄに誘導されるようになる。このため、車両玩具を高速度に走行させた場合でも、車両玩具のコースアウトを抑制することが出来る。なお、第１の凸部３０２、第２の凸部３０４の頂部３０２Ｔ、３０４Ｔに鉄等の磁性体をコーティング等により設けることによって、車両玩具のモータ駆動によって発生する磁力によって引力が働き、車両玩具が凸部３０２、３０４から脱離し難くなる。このため、車両玩具の速度を上げた場合でも、車両玩具のコースアウトの発生を抑制できるようになる。
【００７５】
第２の変形例では、コースパーツＣＰ４０１〜ＣＰ４１６のガイド溝部４００Ｄは、図５（Ａ）、図５（Ｂ）に示すように、ガイド溝部４００Ｄが走行面ＣＰＢ１〜ＣＰＢ１６に対して凹状に形成される第１の凹部４０２と第２の凹部４０４との間に設けられる。第１の凹部４０２は、複数のデータマーカＤＭ１〜ＤＭｎが設けられる第１の領域ＣＰＢＲ１に対してコース６０の中心側に、第１の方向Ｄ１に沿って走行面ＣＰＢ１〜ＣＰＢ１６に対して凹状に形成されている。そして、第１の凹部４０２は、走行面側の側面４０２Ｗが車両玩具の接地面側に設けられる一対のガイドローラの一方と当接するように形成される。一方、第２の凹部４０４は、複数のクロックマーカＣＭ１〜ＣＭ１６が設けられる第２の領域ＣＰＢＬ１に対してコース６０の中心側に、第１の方向Ｄ１に沿って走行面ＣＰＢ１〜ＣＰＢ１６に対して凹状に形成されている。そして、第２の凹部４０４は、走行面側の側面４０４Ｗが車両玩具の接地面側に設けられる一対のガイドローラの他方と当接するように形成される。
【００７６】
このようにガイド溝部４００Ｄを第１の凹部４０２、第２の凹部４０４との間に設ける構成とすることによって、車両玩具が走行する際に、ガイドローラが第１の凹部４０２及び第２の凹部４０４と当接することによって、車両玩具のガイド部がガイド溝部４００Ｄに誘導されるようになる。このため、車両玩具を高速度に走行させた場合でも、車両玩具のコースアウトを抑制することが出来る。
【００７７】
２．移動玩具
図６に、本実施形態の移動玩具の一例である車両玩具１０の外観斜視図を示す。本実施形態では、図６に示すように、車両玩具１０のボディ１２は、スポーツカー等の外形を模した外装部１４と、前輪１８と後輪２０（接地部）が一対ずつ設けられるシャシ１６とを含む。これらの前輪１８および後輪２０は、シャシ１６に搭載されたモータ等の原動機によって駆動されて、車両玩具１０を移動させる。
【００７８】
図６に示すように、ボディ１２の四隅には、ガイドローラ（プレート）２１、２２、２３、２４（２４について図７参照）がそれぞれ設けられている。これらのガイドローラ２１〜２４は、コース６０を走行中に、図１（Ｂ）に示す側壁６３Ｌ、６３Ｒ、６４Ｌ、６４Ｒにヒットすることで、車両玩具１０のコース６０上での進行を円滑にすると共に、車両玩具１０の走行の安定性を担保するための部材である。
【００７９】
なお、本実施形態では、車両玩具１０は、ボディ１２（外装部１４）がスポーツカーを模した形状になっているが、車両玩具１０は、これに限らず様々な形態の自動車（例えば、トラック等）、或いは二輪車（例えば、バイク等）の外形を有していてもよい。また、本実施形態の移動玩具は、車両玩具に限定されず、例えば、競馬の競走馬等の動物や漫画等の各キャラクタを模した人形等をコースに沿って移動させるものにも適用可能である。
【００８０】
図７は、本実施形態の車両玩具１０の内部構成の平面図であり、ボディ１２の外装部１４を取り外した状態を示す。本実施形態では、車両玩具１０は、前輪１８（１８Ｌ、１８Ｒ）および後輪２０（２０Ｌ、２０Ｒ）をそれぞれ左右に一対ずつ有し、これら前輪１８、後輪２０を軸支する前輪用車軸（シャフト）２６、後輪用車軸２８に、シャシ１６の後方側に搭載されるモータ３０の駆動が伝達され、前輪１８および後輪２０が回転駆動される四輪駆動車両玩具である。なお、所与の動力を供給して車両玩具１０を走行移動させるための機械的エネルギーに変換する原動機は、モータ３０に限定されず、例えば小型エンジン等の他の原動機を適用しても良い。
【００８１】
後輪用車軸２８には、後輪２０を駆動させるための後輪駆動用ギア３２が設けられ、当該後輪駆動用ギア３２を介して、当該後輪用車軸２８にモータ３０の駆動が伝達される。また、後輪用車軸２８には、前輪用車軸２６にモータ３０の駆動を伝達するための後輪側クラウンギア３４が設けられており、前輪用車軸２６に駆動を伝達するための駆動伝達軸３６の端部に設けられる後輪側駆動伝達ギア３８と噛合している。
【００８２】
一方、前輪用車軸２６には、駆動伝達軸３６を介してモータ３０の駆動を伝達するための前輪側クラウンギア４０が設けられており、駆動伝達軸３６の他端に設けられる前輪側駆動伝達ギア４２と噛合している。このため、モータ３０が駆動すると、モータ３０の駆動が後輪駆動用ギア３２、後輪側駆動伝達ギア３８、駆動伝達軸３６、前輪側駆動伝達ギア４２、および前輪側クラウンギア４０を介して伝達され、本実施形態の車両玩具１０が四輪駆動となる。なお、本実施形態の車両玩具１０のモータ３０に所与の動力を供給して車両玩具１０を走行させるための機械的エネルギーに変換する動力伝達機構は、図７の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００８３】
また、前輪用車軸２６は、シャシ１６に対し軸部４４を介して軸支される前輪軸支持部４６に回転自在に支持されている。このため、前輪１８は、前輪用車軸２６を介して水平軸周りに回転可能とすることによって車両玩具１０を走行させ、かつ軸部４４で軸支される前輪軸支持部４６を介して垂直軸周りに揺動可能とすることによって、車両玩具１０の向きを変化させる。
【００８４】
シャシ１６の略中央には、モータ３０に動力となる電力を供給する電源として乾電池４８（動力源）が設置されている。乾電池４８の設置場所は、シャシ１６の略中央に限定されないが、重量を有する乾電池４８をシャシ１６の略中央に設置することによって、車両玩具１０の重心が略中央に移動し、車両玩具１０の走行動作が安定するようになるので、乾電池４８の設置場所は、シャシ１６の略中央に設置することが好ましい。なお、本実施形態では、電力供給源として乾電池４８を設置する車両玩具１０としているが、電力供給を充電式によるものとすることも可能である。
【００８５】
さらに、車両玩具１０がコース６０上に走行中にコース６０と対向するボディ１２の接地面側、すなわちシャシ１６の裏面側の前方には、コース６０の走行面に設けられたマーカを検知するセンサ５０が設けられている。本実施形態では、センサ５０として、データ用センサ５０ａと、クロック用センサ５０ｂとを備える。データ用センサ５０ａは、車両玩具１０がデータを読み取るためにコース６０に設けられる複数のデータマーカＤＭ１〜ＤＭｎからなるマーカコードＭＣ１〜ＭＣ１６を検知する。クロック用センサ５０ｂは、当該データをサンプリングするためのクロックを読み取るためにコース６０に設けられる複数のクロックマーカＣＭ１〜ＣＭ１６を検知する。
【００８６】
本実施形態では、データ用センサ５０ａ及びクロック用センサ５０ｂは、図７に示すように、ボディ１２のコース６０に対する接地面側に、車両玩具１０の走行方向（移動方向）である第１の方向Ｄ１に対して垂直方向となる第２の方向Ｄ２に沿って並列して設けられている。このため、車両玩具１０がコース６０上を走行すると、クロック用センサ５０ｂでクロックマーカＣＭ１〜ＣＭ１６を読み取りながら、データ用センサ５０ａでデータマーカＤＭ１〜ＤＭｎを読み取れる。換言すると、データ用センサ５０ａと並列配置されているクロック用センサ５０ｂによりクロックを抽出し、そのクロックを基準にデータを適正に取得できる。
【００８７】
なお、データ用センサ５０ａ及びクロック用センサ５０ｂの設置箇所は、図７に示すように、シャシ１６の裏面側の前方に限定されない。すなわち、車両玩具１０が走行した際に、データマーカＤＭ１〜ＤＭｎを読み取れる位置にデータ用センサ５０ａ、クロックマーカＣＭ１〜ＣＭ１６を読み取れる位置にクロック用センサ５０ｂが設けられていればよい。例えば、これらのセンサ５０ａ、５０ｂをボディ１２の接地面側の略中央に第２の方向Ｄ２に沿って並列して設けることも可能である。また、データマーカＤＭ１〜ＤＭｎ又はクロックマーカＣＭ１〜ＣＭ１６の何れか一方がコース６０の両サイド側の側壁６３Ｌ、６３Ｒ、６４Ｌ、６４Ｒに設けられていれば、これらのマーカＤＭ１〜ＤＭＮ、ＣＭ１〜ＣＭ１６と対向するように、ボディ１２の側壁側にセンサ５０ａ、５０ｂを設けてもよい。
【００８８】
本実施形態では、データ用センサ５０ａは、検知対象となるマーカコードＭＣ１〜ＭＣ１６に含まれるデータマーカＤＭ１〜ＤＭｎの輝度（輝度情報）を検知し、クロック用センサ５０ｂは、検知対象となるクロックマーカＣＭ１〜ＣＭ１６の輝度（輝度情報）を検知する。そして、クロック用センサ５０ｂの検知信号から抽出されたクロックにより、データ用センサ５０ａの検知信号をサンプリングすることでコースパーツＣＰ１〜ＣＰ１６の形状を特定するためのコースデータを読み取ることができる。
【００８９】
具体的には、データ用センサ５０ａは、コース６０の各コースパーツＣＰ１〜ＣＰ１６、ＣＰ２０１〜ＣＰ２１６、ＣＰ３０１〜ＣＰ３１６、ＣＰ４０１〜ＣＰ４１６の走行面ＣＰＢ１〜ＣＰＢ１６の車両玩具１０の進行方向Ｄ１に対して右半分側の領域（第１の領域）に設けられたデータマーカＤＭ１〜ＤＭｎと対向するように配置される。そして、データ用センサ５０ａは、検知対象となるデータマーカＤＭ１〜ＤＭｎの輝度を検知する。この場合に、コース６０の走行面ＣＰＢ１〜ＣＰＢ１６の輝度は、所与の基準輝度未満であり、データマーカＤＭ１〜ＤＭｎの輝度は、基準輝度以上になるように設定される。そして、車両玩具１０が走行してコース６０上に設けられているマーカコードＭＣ１〜ＭＣ１６の各データマーカＤＭ１〜ＤＭｎを通過すると、センサ５０の検知対象の輝度が基準輝度を閾値として判断して、各マーカコードＭＣ１〜ＭＣ１６が検出される。そして、これらのマーカコードＭＣ１（〜ＭＣ１６）に含まれるデータマーカＤＭ１〜ＤＭｎの検出によって、各コースパーツＣＰ１〜ＣＰ１６、ＣＰ２０１〜ＣＰ２１６、ＣＰ３０１〜ＣＰ３１６、ＣＰ４０１〜ＣＰ４１６の形状を特定するためのコースデータが読み取られる。なお、ここで言及する基準輝度とは、第1の輝度と第２の輝度の差異を明確に設定するための当該第１の輝度と第２の輝度の間の所与の輝度である。
【００９０】
なお、センサ５０としては、例えば、反射型のフォトセンサ（赤外線センサ）を用いることができる。この反射型のフォトセンサは、ＬＥＤ等の発光素子（投光素子）を有し、当該発光素子で発光した（投光素子から投光された）光を検知対象で反射させて、その反射光を受光素子で受光することによって検知するセンサである。
【００９１】
但し、センサ５０（５０ａ、５０ｂ）は、反射型のフォトセンサには限定されず、距離センサ、バーコード読み取りセンサ、或いはＣＣＤ等の各種センサを用いることができる。例えば、センサ５０を赤外線受光部が設置される赤外線センサにして、センサ５０の検知対象となるデータマーカＤＭ１〜ＤＭｎ及びクロックマーカＣＭ１〜ＣＭ１６に赤外線発光部を設置して、当該赤外線センサによる近距離データ通信に好適なＩＲＤＡ通信を利用するものとしてもよい。すなわち、コース６０上のデータマーカＤＭ１〜ＤＭｎ及びクロックマーカＣＭ１〜ＣＭ１６から出力される赤外線信号によって、クロック用センサの検知信号から抽出されたクロックにより、データ用センサの検知信号をサンプリングすることでデータを読み取れるようにすることも可能である。
【００９２】
また、車両玩具１０のスタート後（レース開始後、原動機がオンになった後）に、常時、センサ５０による検知対象の検知を実行するようにしてもよい。すなわち、スタート後、常にセンサ５０による検知を行い、得られた検知結果のデータを記憶部３３０に蓄積して行く。このとき、例えば検知結果のデータを記憶部３３０の図示しないリングバッファに格納するようにしてもよい。この場合には、リングバッファの全ての格納領域に検知結果データが書き込まれると、その後は検知結果が上書きされることになるため、リングバッファに格納される検知結果データが所定時間毎に更新されるようになる。
【００９３】
また、車両玩具１０のボディ１２（シャシ１６）の後端側には、ブレーキランプ等として機能する発光素子５２Ｌ、５２Ｒが設けられており、車両玩具１０の速度変化時（例えば、減速時または加速時等）に点灯する。これにより、減速時のブレーキランプの点灯を擬似的に表現できる。なお、本実施形態の車両玩具１０の内部構成は、図７の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００９４】
なお、本実施形態の車両玩具を、例えば、前述したようにコース６０上に形成されたガイド溝部２００Ｄ、３００Ｄ、４００Ｄに嵌合するガイド部を備えるスロットカー方式の車両玩具に適用することも可能である。
【００９５】
すなわち、本実施形態の車両玩具をスロットカー方式に適用した場合では、図８に示すように、車両玩具１０Ｘのボディ１２のシャシ１６におけるコース６０に対する接地面側に、ガイド部７０がデータ用センサ５０ａとクロック用センサ５０ｂとの間に配置されるように設置されている。ガイド部７０は、図８に示すように、略板形状のガイド部材７２が支持軸７４に対して回動自在に設けられることによって構成される。そして、図９（Ａ）に示すように、当該ガイド部材７２が車両玩具１０Ｘの移動方向となる第１の方向Ｄ１に沿って、コース６０上に形成されたガイド溝部２００Ｄに嵌合する。
【００９６】
このように、ガイド部７０をコース６０と対向する車両玩具１０Ｘの接地面側に設けることによって、ガイド溝部２００Ｄが形成されたコース上を走行する際に、ガイド部材７２が当該溝部２００Ｄに嵌合しながら、車両玩具１０Ｘが当該溝部２００Ｄに沿って移動する。このため、車両玩具１０Ｘの走行速度を急に増大させた場合等でも、ガイド部材７２が溝部２００Ｄに嵌合しているので、車両玩具１０Ｘがコースアウトすることを抑制できる。
【００９７】
また、ガイド部７０のガイド部材７２を支持軸７４に対して回動自在に設けることによって、ガイド溝部２００Ｄが直線形状でも曲線形状でも、その形状によらずに、車両玩具１０Ｘをコース６０上に走行させる際に、ガイド部材７２がガイド溝部２００Ｄに摺動しながら嵌合するようになる。
【００９８】
なお、図８に示す構成例では、ガイド部７０がデータ用センサ５０ａとクロック用センサ５０ｂとの間に配置されているが、ガイド部７０の配置は、図８に示す構成例に限定されない。すなわち、車両玩具１０Ｘのガイド部７０が溝部２００Ｄ（３００Ｄ、４００Ｄ）に嵌合しながら走行する際に、データ用センサ５０ａがデータマーカＤＭ１〜ＤＭｎを読み取り、クロック用センサ５０ｂがクロックマーカＣＭ１〜ＣＭ１６を読み取れる配置となっていればよい。
【００９９】
また、ガイド部７０のガイド部材７２の形状も略板形状に限定されない。すなわち、車両玩具１０Ｘがコース６０上を走行する際に、ガイド溝部２００Ｄに嵌合する形状であれば、例えば略棒形状のガイド部材としてもよい。さらに、図９（Ｂ）に示すように、ガイド溝部２０２Ｄの断面が二股に分岐する形状である場合には、ガイド部材７４を当該分岐形状の断面を有するガイド溝部２０２Ｄと嵌合するように、断面が略への字型のガイド部材７４とすることによって、車両玩具１０Ｘをコース６０からより脱線し難くすることができる。
【０１００】
なお、前述した第１の変形例及び第２の変形例のコースパーツから構成されるコースを走行するスロットカー方式の車両玩具の場合は、図１０に示すように、第１の方向Ｄ１に対してガイド部７０の両側に、ガイド部７０をガイド溝部３０２Ｄ、４０２Ｄに誘導する１対のガイドローラ５０（５０ａ、５０ｂ）が設けられる。また、本実施形態では、車両玩具１０の走行姿勢、走行状態を安定させるために、図１１（Ａ）、図１１（Ｂ）に示すように軸部５０ａ１、５０ｂ１に付勢手段となるスプリングダンパー５０ａ２，５０ｂ２が設けられている。
【０１０１】
このように車両玩具１０Ｙの接地面側に１対のガイドローラ５０ａ、５０ｂを設けることによって、前述した第１の変形例のコースパーツから構成されるコースを走行する場合には、第１のガイドローラ５０ａは、図１１（Ａ）に示すように、第１の凸部３０２の側面３０２Ｗと当接し、第２のガイドローラ５０ｂは、第２の凸部３０４の側面３０４Ｗと当接する。一方、前述した第２の変形例のコースパーツから構成されるコースを走行する場合には、第１のガイドローラ５０ａは、図１１（Ｂ）に示すように、第１の凹部４０２の側面４０２Ｗと当接し、第２のガイドローラ５０ｂは、第２の凹部４０４の側面４０４Ｗと当接する。
【０１０２】
このようにガイド部７０の両脇にガイドローラ５０ａ、５０ｂを設けることによって、車両玩具１０がコース６０上を移動する際に、これらのガイドローラ５０ａ、５０ｂがガイド部７０をガイド溝部２００Ｄ、３００Ｄ、４００Ｄに誘導するので、車両玩具１０の速度を増大させても、車両玩具１０がコースアウトすることを抑制できる。なお、ガイドローラの数は、個数や設置箇所は、ガイドローラによってガイド部がガイド溝部に誘導される構成となっていれば、上記の実施形態に限定されない。また、車両玩具１０Ｙの接地面側に軸部５０ａ１、５０ｂ１にスプリングダンパー５０ａ２、５０ｂ２を備えるガイドローラ５０ａ、５０ｂを設ける場合には、ガイドローラ５０ａ、５０ｂを介して、車両玩具１０Ｙが凸部３０２、３０４や凹部４０２、４０４に支持されるようになるので、ガイド部７０を省略する構成としてもよい。
【０１０３】
以上説明したように、コース６０の略中央側にガイド溝部２００Ｄ、３００Ｄ、４００Ｄに対して摺動するように嵌合されるガイド部７０を設けることによって、車両玩具１０Ｘ、１０Ｙの速度を大きくした場合でも、車両玩具１０Ｘ、１０Ｙがコース６０から脱線し難くなる。従って、コース６０に側壁を設けなくても、車両玩具１０Ｘ、１０Ｙのコース６０からの脱線が抑制されるようになるので、コース６０上での車両玩具１０Ｘ、１０Ｙの走行動作をユーザが観賞し易くなり、より車両玩具１０Ｘ、１０Ｙの走行動作の観賞を楽しめるようになる。
【０１０４】
また、本実施形態の車両玩具において、ガイド溝部２００Ｄ、３００Ｄ、４００Ｄに誘導されるガイド部７０を備える車両玩具は、スロットカー形式に限定されない。すなわち、図１２に示すように、ガイド部８０は、一端８２ａがボディ１２のシャシ１６の接地面側に固定される紐状部材８２と、その他端８２ｂ側に車両玩具１０Ｚがコース６０から脱離するのを規制する脱離規制部材８４とを含むものとしてもよい。
【０１０５】
紐状部材８２は、図１２に示すように、車両玩具１０Ｚのシャシ１６の接地面側の前方の略中央に取り付けられている。紐状部材８２は、車両玩具１０Ｚが万が一コースアウトした場合でも、コース６０の所定の範囲から飛び出さないようにするために、所定の長さを有し、その長さが所定の範囲内で変化するように、例えば、ゴム紐のように伸縮自在の部材で形成されている。なお、紐状部材８２の設置箇所は、車両玩具１０Ｚのシャシ１６の接地面側の前方の略中央の部位に限定されず、シャシ１６の接地面側の前後左右の何れかの部位に取り付けられてもよい。また、紐状部材８２の材質は、ゴム紐等の伸縮自在の部材に限定されず、所定の長さを有するワイヤ等の硬質な材質で形成した場合には、ボディ１２のシャシ１６の接地面側に固定される一端側は、リール部材等で巻き取り可能な部材で固定して、当該紐状部材８２の長さを所定の範囲内で変化させるようにしてもよい。このとき、紐状部材８２の巻き取り方向を自在に変化可能とするために、リール部材は、シャシ１６に対して軸支されていることが好ましい。
【０１０６】
また、脱離規制部材８４は、図１３（Ｂ）に示すように、ガイド溝部２００Ｄの幅よりも外径が大きくなっており、コース６０の走行面６０Ｚの下側に来るように設けられる。このため、車両玩具１０Ｚがコース６０上を走行移動する際に、車両玩具１０Ｚの速度を増大させた時にコースアウトした場合でも、図１３（Ａ）に示すように、紐状部材８２の端部８２ｂに固定された脱離規制部材８４によって、車両玩具１０Ｚがコース６０から脱離することを抑制できる。なお、脱離規制部材８４は、紐状部材８２によっていずれの方向から引っ張られた場合でも、均等の抗力を有するようにするために、例えば、略球形状や略楕円球形状等の曲面により外面が形成されていることが好ましい。また、図１２に示す構成例の車両玩具１０Ｚは、前述したデータマーカＤＭ１〜ＤＭｎやクロックマーカＣＭ１〜ＣＭ１６を設けた本実施形態のコース６０以外のコースを走行させる車両玩具にも適用できる。
【０１０７】
図１４に、本実施形態の車両玩具（移動玩具）１０の機能ブロック図の例を示す。車両玩具１０のボディ１２内には、車両玩具１０の各構成要素を制御するための回路部品が実装された回路基板（システム基板）３００が設けられている。この回路基板３００は、図１４に示すように、制御部３１０、記憶部３３０、発光素子駆動部３４０、駆動部３５０、センサコントローラ３６０、および外部インターフェース（Ｉ／Ｆ）部３７０を含む。なお、本実施形態の車両玩具１０の回路基板３００に含まれる各構成要素は、図１４の機能ブロック図の例に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【０１０８】
制御部３１０は、車両玩具１０（移動玩具）の制御を行う。具体的には、記憶部３３０から読み出されたデータやプログラムなどに基づいて、車両玩具１０全体の制御や、回路基板３００の各構成要素（駆動部等）の制御を行う。本実施形態では、制御部３１０は、例えば、図１４に示すように、クロック抽出処理部３１２、データ判定処理部３１４、発光素子駆動制御部３１６、データ送受信処理部３１８、ディレクション判定処理部３２０、及びセンサ判定処理部３２２を含む。
【０１０９】
クロック抽出処理部３１２は、コース６０上のクロックマーカＣＭ１〜ＣＭ１６を検知したクロック用センサ５０ｂの検知信号からクロックを抽出する。
【０１１０】
データ判定処理部３１４は、クロック用センサ５０ｂの検知信号から抽出されたクロックにより、データマーカＤＭ１〜ＤＭｎを検知したデータ用センサ５０ａの検知信号をサンプリングすることでデータを抽出する。本実施形態では、データ判定処理部３１４は、抽出するデータとして、車両玩具１０が走行したコース６０を構成する各コースパーツＣＰ１〜ＣＰ１６、ＣＰ２０１〜ＣＰ２１６、ＣＰ３０１〜ＣＰ３１６、ＣＰ４０１〜ＣＰ４１６の形状を特定するためのコースデータを抽出する。なお、当該データは、コースデータに限定されず、例えば、各コースパーツＣＰ１〜ＣＰ１６、ＣＰ２０１〜ＣＰ２１６、ＣＰ３０１〜ＣＰ３１６、ＣＰ４０１〜ＣＰ４１６における走行の際の走行指示データ等をデータ判定処理部３１４で抽出してもよい。
【０１１１】
発光素子駆動制御部３１６は、発光素子５２を発光させる動作コマンドを受信したら、発光素子５２を発光させるために駆動させるコマンドを発光素子駆動部３４０に送信する制御をする。
【０１１２】
データ送受信処理部３１８は、外部インターフェース部３７０が外部機器とインターフェース処理をした際に、当該外部機器とデータの送受信を行う制御をする。具体的には、データ送受信処理部３１８は、外部インターフェース部３７０がゲーム装置４００とインターフェース処理をした際に、ゲーム装置４００から送信される各種データを受信して記憶部３３０のＲＯＭに記憶させたり、反対に実際に走行した車両玩具１０に新たに記憶された各種データをゲーム装置４００に送信する制御を行う。また、本実施形態では、データ送受信処理部３１８は、外部インターフェース部３７０を介してデータ判定処理部３１４により抽出されたコースデータをゲーム装置４００に送信するデータ送信処理部としても機能する。
【０１１３】
このようにして、本実施形態では、制御部３１０は、例えば、センサ５０（５０ａ、５０ｂ）からの検知情報や、記憶部３３０に記憶されるデータ（走行制御データ、コースデータ）に基づいて、モータ（広義には原動機）３０を駆動するための制御を行う。なお、この制御部３１０の機能は、各種プロセッサ（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【０１１４】
ディレクション判定処理部３２０は、各コースパーツＣＰ１〜ＣＰ１６、ＣＰ２０１〜ＣＰ２１６、ＣＰ３０１〜ＣＰ３１６、ＣＰ４０１〜ＣＰ４１６に配列された複数のクロックマーカＣＭ１〜ＣＭ１６の第１の方向Ｄ１における両端側に設けられたディレクションマーカＤＭＡ、ＤＭＢの検知に基づいて、車両玩具１０のコース６０上における進行方向を判断する機能を有する。
【０１１５】
センサ判定処理部３２２は、センサ５０として設けられたデータ用センサ５０ａとクロック用センサ５０ｂのうち、ディレクションマーカＤＭＡ、ＤＭＢを読み取った一方のセンサをクロック用センサ５０ｂに設定し、他方のセンサをデータ用センサ５０ａに設定する機能を有する。
【０１１６】
記憶部３３０は、各種プログラムやデータを記憶するものであり、その機能は、ＲＡＭやＲＯＭなどにより実現できる。例えば、制御部３１０は、記憶部３３０（ＲＯＭ）から読み出されたプログラムにより動作し、記憶部３３０（ＲＡＭ）をワーク領域として各種処理を行う。具体的には、記憶部３３０は、外部のゲーム装置（外部端末）から受信した走行制御データを記憶する走行制御データ記憶部３３２と、車両玩具１０のセンサ５０の検知情報、車両玩具１０のジャンプ区間、滞空時間等の走行検知データをデータログとして記憶する走行検知データ記憶部３３４と、を含む。
【０１１７】
本実施形態では、走行制御データ記憶部３３２が記憶する走行制御データとして、その各走行制御データが、第１〜第１６のコースパーツＣＰ１〜ＣＰ１６のうちの対応する各コースパーツに設けられた複数のデータマーカＤＭ１〜ＤＭｎに対応づけられる、第１〜第１６の走行制御データを記憶する。また、走行検知データ記憶部３３４が記憶する車両玩具１０のセンサ５０の検知情報として、データ用センサ５０Ａで検知したコースパーツＣＰ１〜ＣＰ１６、ＣＰ２０１〜ＣＰ２１６、ＣＰ３０１〜ＣＰ３１６、ＣＰ４０１〜ＣＰ４１６の形状を特定するためのコースパーツＩＤ（コースデータ）が含まれる。
【０１１８】
このように、記憶部３３０では、車両玩具１０の走行制御等に関する各種データが保存される。なお、メモリーカードなどの携帯型情報記憶装置の装着が可能な移動玩具の場合には、当該携帯型情報記憶装置によって、記憶部３３０の一部の機能を実現してもよい。
【０１１９】
発光素子駆動部３４０は、ブレーキランプ等に使用されるＬＥＤ等の発光素子５２を駆動する。例えば、本実施形態では、制御部３１０は、車両玩具１０の減速制御時（ブレーキング時）に、発光素子５２を発光させる制御を行う。具体的には、車両玩具１０の減速時に、制御部３１０からの指示信号に基づいて、発光素子駆動部３４０が発光素子５２を駆動して発光させ、ブレーキランプの点灯を疑似的に表現する。
【０１２０】
駆動部３５０（モータ駆動部）は、制御部３１０の制御の下でモータ３０を駆動する。モータ３０（原動機）は、車両玩具１０（移動玩具）のボディ１２に搭載されており、所与の動力（電力）が供給されて、車両玩具１０を走行（移動）させる。
【０１２１】
例えば、車両玩具１０を走行させる場合には、駆動部３５０は、モータ３０をＰＷＭ駆動する。この場合のＰＷＭ駆動のデューティは、記憶部３３０から読み出された走行制御データである動力設定データ（電力設定データ）により設定される。そして、車両玩具１０の走行速度は、ＰＷＭ駆動のデューティにより制御できる。また、車両玩具１０の加速制御を行う場合には、例えば、１００パーセントなどの高いデューティに対応する電圧をモータ３０に印加する。一方、減速制御を行う場合には、例えば、通常走行時とは逆極性の電圧をモータ３０に印加する。
【０１２２】
センサコントローラ３６０は、センサ５０（データ用センサ５０ａ、クロック用センサ５０ｂ）の制御等を行うコントローラである。具体的には、センサ５０（データ用センサ５０ａ、クロック用センサ５０ｂ）からの検知信号を受けて、検知信号に対応するデータを制御部３１０に出力する。例えば、センサ５０が反射型のフォトセンサである場合には、センサ５０は、ＬＥＤ等の発光素子により実現される投光部と、検知対象からの反射光を受光する受光部を有する。この場合に、センサコントローラ３６０は、発光素子を発光させたり、受光部からの検知信号を検出する処理などを行う。また、センサ５０が赤外線受光部の設置される赤外線センサを含む構成とした場合は、センサコントローラ３６０は、センサ５０の赤外線受光部からの検知信号を検出する処理を行う。
【０１２３】
外部インターフェース（Ｉ／Ｆ）部３７０は、外部機器とのインターフェース処理を行うものである。具体的には、外部機器であるゲーム装置４００から走行制御データなどのデータを受信したり、ゲーム装置４００に対して実走行結果データやコースデータなどのデータを送信する。なお、センサ５０が赤外線受光部の設置される赤外線センサを含む構成とした場合は、センサコントローラ３６０が外部インターフェース部３７０を兼用することとなる。
【０１２４】
すなわち、外部Ｉ／Ｆ部３７０によるインターフェースは、ＲＳ２３２ＣやＵＳＢなどの有線のインターフェースにより実現してもよいし、赤外線などの無線のインターフェースにより実現してもよい。例えば赤外線通信（ＩＲＤＡ）により、外部Ｉ／Ｆ部３７０のインターフェースを実現する場合には、車両玩具１０の例えば裏面側に赤外線の受光センサを設ける。そしてゲーム装置側（ゲーム装置本体やゲーム装置に装着されるＩＣカード）の発光素子からの赤外線を、この受光センサで検知することで、ゲーム装置からの走行制御データ（動作制御データ）等のデータを車両玩具１０にダウンロードする。また、車両玩具１０の例えば裏面側に赤外線の発光素子を設ける。そして、この発光素子からの赤外線をゲーム装置側の受光センサにより検知することで、車両玩具１０の走行結果データ（動作結果データ）等のデータを、ゲーム装置４００にアップロードする。
【０１２５】
こうして、センサコントローラ３６０によって、外部機器であるゲーム装置４００から走行制御データなどのデータを赤外線センサによるＩＲＤＡ通信で受信することによって、車両玩具１０の走行動作を制御したり、ゲーム装置４００に対して実走行結果データなどのデータを送信する。このように、センサ５０として、赤外線センサを設けることによって、近距離通信に好適なＩＲＤＡ通信による車両玩具１０の動作制御が可能になる。また、また複数の車両玩具をレースさせるために、同時にコース上に走行させる場合に、これらの車両玩具間における混線によるトラブル等を抑制できる。
【０１２６】
また、センサ５０のうち、データ用センサ５０ａは、コース６０を構成する各コースパーツＣＰ１〜ＣＰ１６、ＣＰ２０１〜ＣＰ２１６、ＣＰ３０１〜ＣＰ３１６、ＣＰ４０１〜ＣＰ４１６に設けられたマーカコードＭＣ１〜ＭＣ１６に含まれる各データマーカＤＭ１〜ＤＭｎを検知する。例えば、車両玩具１０が各マーカコードＭＣ１〜ＭＣ１６の設置位置を通過した際に、データ用センサ５０ａによって読み込まれたデータマーカＤＭ１〜ＤＭｎの配列に基づいて、各コースパーツＣＰ１〜ＣＰ１６、ＣＰ２０１〜ＣＰ２１６、ＣＰ３０１〜ＣＰ３１６、ＣＰ４０１〜ＣＰ４１６の形状を特定するためのコースデータを抽出する。
【０１２７】
そして、本実施形態では、記憶部３３０は、コース６０での移動玩具（狭義には、車両玩具１０）の走行を制御するためのデータである走行制御データを記憶する。この走行制御データは、移動玩具の各コース区間での速度等を設定するためのデータである。また、記憶部３３０は、走行制御データとして、コース６０の各コース区間において原動機（狭義にはモータ３０）に供給される動力の大きさを設定する動力設定データを、コース６０の各コース区間に対応づけて記憶する。当該動力設定データは、例えば、モータ３０に供給される電力（実効電圧）の設定データであり、具体的には、モータ３０をＰＷＭ駆動する際のデューティを設定するためのデータである。また、記憶部３３０は、データ用センサ５０ａで検知したコースパーツＣＰ１〜ＣＰ１６、ＣＰ２０１〜ＣＰ２１６、ＣＰ３０１〜ＣＰ３１６、ＣＰ４０１〜ＣＰ４１６の形状を特定するためのコースデータを記憶する。
【０１２８】
３．ゲーム装置
図１５に本実施形態のゲーム装置（画像生成装置）の外観図を示す。ここではゲーム装置の一例として携帯型ゲーム装置を示している。なお、本実施形態のゲーム装置は、このような携帯型ゲーム装置には限定されず、例えば、携帯型ゲーム装置以外のゲーム装置や、ゲームプログラムの実行が可能な携帯型情報端末や携帯電話機などの種々のゲーム装置に適用できる。
【０１２９】
図１５のゲーム装置４００は、タッチパネル型の表示部１９０と、通常の表示部１９１を有する。また操作部として機能する方向指示キー（十字キー）４０１、操作ボタン４０２や、音出力部として機能するスピーカ４０４、４０６を有する。また、情報記憶媒体として機能するＩＣカード４１０（ゲームカード、ゲームカートリッジ）が着脱自在に装着されるカードスロット４１２を有する。このＩＣカード４１０には、ゲームプログラム（ゲームデータ）が記憶される。なお、スタイラスペン４２０は、タッチパネル型の表示部１９０へのタッチ操作を、プレーヤ（ユーザ）の指の代わりに行うために使用される。
【０１３０】
表示部１９０、１９１には、種々の画像（メニュー画面、シミュレーション画像、ゲーム画像）が表示される。例えば、タッチパネル型の表示部１９０には、後述する走行制御データの設定画面が表示される。また、表示部１９１には、シミュレーション画像（ゲーム画像）が表示される。具体的には、コース６０に対応する仮想コース４３０（コース６０を模した仮想空間内のコース）が表示される。また、車両玩具１０に対応する仮想移動体４４０（車両玩具を模した移動オブジェクト）が表示され、仮想移動体４４０が仮想コース４３０で走行する様子が表示される。これらの表示部１９０、表示部１９１は、ＴＦＴなどのカラー液晶ディスプレイにより構成できる。そして、タッチパネル型の表示部１９０では、カラー液晶ディスプレイの上面（或いは下面）にタッチパネルが一体的に形成されており、これによりタッチ操作による操作入力が可能になる。
【０１３１】
図１６に本実施形態のゲーム装置４００の機能ブロック図の例を示す。なお、本実施形態のゲーム装置４００は、図１６の構成要素（各部）の一部を省略した構成としてもよい。
【０１３２】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、方向指示キー、操作ボタン、或いはジョイスティックなどにより実現できる。
【０１３３】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＤＲＡＭ、ＶＲＡＭ）などにより実現できる。この記憶部１７０は、走行特性データ記憶部１７２、コースデータ記憶部１７３、走行制御データ記憶部１７４、走行検知データ記憶部１７５、および描画バッファ１７８を含む。
【０１３４】
走行特性データ記憶部１７２は、走行特性データを記憶する。この走行特性データは、コース上を移動する移動玩具の走行特性（加速特性、ブレーキング特性、コーナリング特性等）に基づき設定されたデータである。コースデータ記憶部１７３は、コースデータ（コース特性データ）を記憶する。このコースデータは、移動玩具が移動するコースのコース特性（コース長、コース幅、コーナー曲率等）に基づき設定されたデータである。また、本実施形態では、コースデータ記憶部１７３は、車両玩具１０の走行の際にデータ用センサ５０ａが読み取ったコースパーツＣＰ１〜ＣＰ１６、ＣＰ２０１〜ＣＰ２１６、ＣＰ３０１〜ＣＰ３１６、ＣＰ４０１〜ＣＰ４１６の形状を特定するためのコースデータも記憶する。走行制御データ記憶部１７４は、走行制御データを記憶する。この走行制御データ（動作制御データ）は、コースでの移動玩具の走行（速度、加速度、旋回等）を制御するためのデータである。走行検知データ記憶部１７５は、車両玩具１０が走行した際のセンサ５０による検知結果である走行検知データ（コースアウト発生区間、ジャンプ空間、滞空時間等）を記憶する。
【０１３５】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、ＩＣカード（メモリーカード）、光ディスク（ＣＤ、ＤＶＤ）、ＨＤＤ（ハードディスクドライブ）、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。すなわち、情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【０１３６】
タッチパネル型の表示部１９０は、プレーヤ（ユーザ）が種々の操作を行ったり、本実施形態により生成された画像を表示するためのものであり、例えば、ＬＣＤ、有機ＥＬなどのディスプレイと、それに一体的に形成されたタッチパネルなどにより実現できる。タッチパネル方式としては、抵抗膜方式（４線式、５線式）、静電容量結合方式、超音波表面弾性波方式、赤外線走査方式などがある。
【０１３７】
表示部１９１は、本実施形態により生成された画像を表示するためのものであり、例えばＬＣＤ、有機ＥＬなどのディスプレイにより実現できる。なお、表示部１９１としてタッチパネル型のディスプレイを用いてもよい。
【０１３８】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォン端子などにより実現できる。
【０１３９】
補助記憶装置１９４（補助メモリ、２次メモリ）は、記憶部１７０の容量を補うために使用される記憶装置であり、ＳＤメモリーカード、マルチメディアカードなどのＩＣカードにより実現できる。この補助記憶装置１９４は、脱着自在になっているが、内蔵されるものであってもよい。補助記憶装置１９４は、ゲームの途中結果などのセーブデータや、プレーヤ（ユーザ）の個人的な画像データや音楽データなどを保存するために使用される。
【０１４０】
通信部１９６は、有線や無線の通信網（ネットワーク）を介して外部（例えば、移動玩具、サーバ、他のゲーム装置等）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣまたは通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【０１４１】
例えば、ゲーム装置４００と移動玩具１０との間でデータの送受信を行う場合には、通信部１９６の機能は、ＲＳ２３２ＣやＵＳＢなどの規格にしたがってデータ転送を行う転送コントローラにより実現できる。この場合に、この転送コントローラを図１５に示すＩＣカード４１０に内蔵させてもよい。また、ＩＣカード４１０に、カードなどの外部情報記憶媒体の情報を読み取るバーコードリーダ等のコントローラをさらに内蔵させてもよい。また、ゲーム装置４００と移動玩具１０との間で、通信部１９６により無線によりデータを送受信するようにしてもよい。或いは、ＵＳＢメモリなどの携帯型記憶装置を用いて、ゲーム装置と移動玩具との間でデータを送受信してもよい。
【０１４２】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワークおよび通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０、補助記憶装置１９４）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も、本発明の範囲内に含めることができる。
【０１４３】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理（シミュレーション処理）、画像生成処理、或いは音生成処理などを行う。この場合のゲーム処理としては、ゲームの内容やゲームモードを決定する処理、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＧＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【０１４４】
処理部１００は、シミュレーション処理部１０２、送信処理部１０４、受信処理部１０６、認証処理部１０８、比較処理部１１０、表示制御部１１２、成績評価部１１４、アップロード処理部１１６、仮想コース設定部１１８、設定変更部１３０を含む。なお、これらの一部の構成要素（例えば、認証処理部、比較処理部等）を省略する構成としてもよい。
【０１４５】
シミュレーション処理部１０２は、移動玩具１０に対応する仮想移動体を移動（動作）させるシミュレーションを行う。例えば、コースに対応する仮想コース上で仮想移動体を走行させるシミュレーション処理を行う。このシミュレーション処理は、例えばゲーム処理の一部として行われる。
【０１４６】
具体的には、シミュレーション処理部１０２は、移動玩具１０に対応して設けられ走行特性データに基づきその走行特性が設定される仮想移動体を、コースに対応して設けられて、コースデータに基づきそのコース特性が設定される仮想空間内の仮想コースにおいて、走行制御データにしたがって走行させるシミュレーション処理を行う。そして、走行シミュレーションの結果データを生成する。
【０１４７】
この場合のシミュレーション処理は、通常のレーシングゲームと同様に、仮想移動体の移動情報（位置、回転角度、速度、或いは加速度）を、１フレーム（１／６０秒）毎に順次求める処理を行うことで実現してもよい。すなわち、仮想移動体の加速性能、最高速性能、ブレーキング性能、或いはコーナリング性能等を、走行特性データにより設定する。また、コースデータを、通常のレーシングゲームと同様の手法により設定する。例えば、コースに沿って設定された複数のサンプリングポイントの各サンプリングポイントに対して、コース幅やコース方向などを対応づけたコースデータを用意する。そして、このコースデータを用いて、移動玩具が走行する実際のコース（例えば、基本コースや店舗の特設コース等）に対応した仮想コースを、仮想空間（ゲーム空間）内に構築する。そして、レーシングゲームで一般的に使用される自動走行アルゴリズムにより、仮想移動体を仮想コース内で走行させるシミュレーション処理を行う。そして必要であれば、図１５に示すように、仮想移動体４４０が仮想コース４３０上で走行する様子を、表示部１９１に表示する。
【０１４８】
或いは、このような仮想移動体のリアルタイムなシミュレーション移動処理は行わずに、走行特性データやコースデータを入力データとし、ラップタイムなどの走行シミュレーション結果データを出力データとするテーブルデータを用いて、シミュレーション処理を実現してもよい。このテーブルデータは、記憶部１７０の図示しないテーブルデータ記憶部に記憶される。そして、シミュレーション処理部１０２は、このテーブルデータを用いて、シミュレーション処理を実行する。この場合のテーブルデータは、例えば、移動玩具のメーカが実際の移動玩具を実際のコースで走行させることで、様々な条件のテーブルデータを用意する。例えば、同じコースで同じ種類（車種）の移動玩具であっても、移動玩具に装着されるパーツが異なる場合には、異なった走行シミュレーション結果データになるように、複数のテーブルデータの各テーブルデータを作成する。そして、作成したテーブルデータをゲームソフトのデータとして情報記憶媒体１８０に格納したり、ネットワーク、通信部１９６を介して外部からダウンロードできるようにする。
【０１４９】
送信処理部１０４は、移動玩具に対してデータを送信するための処理を行う。例えば、送信するデータを記憶部１７０に用意したり、データの送信を通信部１９６に指示する。具体的には、送信処理部１０４は、走行制御データを移動玩具に送信するための処理を行う。例えば、コースの各コース区間に対応づけられた走行制御データ（動力設定データ、電力設定データ）を送信する。或いは走行制御データとして、コースデータ取得用の走行制御データを移動玩具に送信してもよい。
【０１５０】
受信処理部１０６は、移動玩具からのデータを受信するための処理を行う。例えば、データの受信を通信部１９６に指示したり、受信したデータを記憶部１７０に保存する。具体的には、受信処理部１０６は、送信処理部１０４により送信された走行制御データに基づき移動玩具がコースを走行することで得られた実走行結果データを、移動玩具から受信するための処理を行う。この場合に、コースの各コース区間での移動玩具の実走行ラップタイムデータを、実走行結果データとして受信してもよいし、コースの各コース区間での移動玩具の実加減速データを、実走行結果データとして受信してもよい。或いは、送信されたコースデータ取得用走行制御データに基づき移動玩具がコースを走行することで得られたコースデータを、受信してもよい。
【０１５１】
また、受信処理部１０６は、移動玩具が走行した際のセンサ５０（データ用センサ５０ａ、クロック用センサ５０ｂ）による検知結果である走行検知データ（コースアウト発生区間、ジャンプ空間、滞空時間等）を受信して、走行検知データ記憶部１７５に保存する。このように、受信処理部１０６を制御することによって、移動玩具の検知結果を受信して、当該検知結果を元にゲーム装置がより好適な走行制御データを移動玩具に送信することができる。本実施形態では、受信処理部１０６は、データ用センサ５０ａによって読み込まれたデータマーカＤＭ１〜ＤＭｎの配列に基づいて、各コースパーツＣＰ１〜ＣＰ１６、ＣＰ２０１〜ＣＰ２１６、ＣＰ３０１〜ＣＰ３１６、ＣＰ４０１〜ＣＰ４１６の形状を特定するためのコースデータも受信する。
【０１５２】
認証処理部１０８は、移動玩具から受信したデータの認証処理を行う。例えば、受信した実走行結果データが正当なデータ（アップロード等が許可されるデータ）であるか否かを認証する。具体的には、移動玩具がコースのスタート地点からスタートしてコースのゴール地点を通過したと判定された場合に、実走行結果データが正当なデータであると判断する。例えば、スタート地点に対応するコース区間とゴール地点に対応するコース区間を移動玩具が通過したとセンサからの検知情報に基づき判断された場合に、その走行により得られた実走行結果データが正当なデータであると判断する。この場合に、コースの全てのコース区間（マーカ）を通過（検知）したことを条件に、その実走行結果データが正当なデータであると判断してもよい。或いは、移動玩具がコースでジャンプして、センサの検出が読み飛ばされることを考慮し、一定の割合（例えば９０パーセント）以上のコース区間（マーカ）を通過（検知）したことを条件に、正当なデータであると判断してもよい。
【０１５３】
比較処理部１１０は、データの比較処理を行う。例えば、受信処理部１０６により受信された実走行結果データと、シミュレーション処理部１０２でのシミュレーション処理により得られた走行シミュレーション結果データとの比較処理を行う。この場合の比較処理としては、例えば、各コース区間での実走行ラップタイムと、そのコース区間に対応する各仮想コース区間でのシミュレーションラップタイムを比較し、その差分を求める処理などがある。或いは、各コース区間での実加減速データと、各仮想コース区間でのシミュレーション加減速データの比較処理を行ってもよい。そして、このような比較処理を行うことによって、実走行結果を向上させるのに必要なパーツを特定する。そして、表示制御部１１２は、この比較処理での比較結果に基づいて、移動玩具のパーツ変更のアドバイス画面（変更パーツ表示画面）を表示する制御を行う。
【０１５４】
表示制御部１１２は、表示部１９０、１９１の表示制御を行う。例えば、処理部１００で行われる種々の処理（シミュレーション処理、ゲーム処理）の結果に基づいて、描画バッファ１７８への画像の描画処理を行い、これにより画像（例えば、図１５の走行制御データ設定画面の画像、シミュレーション画像）を生成し、生成された画像を表示部１９０、１９１に表示する。この場合に、生成する画像は、いわゆる２次元画像であってもよいし、３次元画像であってもよい。そして、３次元画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１または複数プリミティブ面）を描画バッファ１７８（フレームバッファ、中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、仮想空間（オブジェクト空間）内において仮想カメラ（所与の視点）から見える画像が生成される。
【０１５５】
そして、本実施形態では、表示制御部１１２は、実走行結果データをコースの各コース区間に対応づけて表示する制御を行う。具体的には、実走行結果データであるラップタイムデータや加減速データを、コースの各コース区間に対応づけて表示する。或いは、シミュレーション処理により得られた走行シミュレーション結果データに対して、実走行結果データを関連づけて表示してもよい。
【０１５６】
成績評価部１１４（成績演算部）は、プレーヤのプレイ成績（走行成績、得点、ポイント、勝敗）の評価処理（演算処理）を行う。例えば、受信した実走行結果データ（実動作結果データ）に基づいて、移動玩具についてのプレーヤのプレイ成績を評価する。或いはプレーヤのゲームプレイのプレイ成績を評価してもよい。
【０１５７】
アップロード処理部１１６は、データのアップロード処理を行う。具体的には、通信部１９６およびネットワークを介して、プレーヤの実走行結果データなどのプレイ成績を、外部のサーバ等にアップロードする処理を行う。これにより、サーバの管理の下でプレーヤの実走行結果データのランキング表示などが可能になる。この場合に、受信した実走行結果データが正当なデータであると認証処理部１０８により判断された場合に、正当なデータであると判断された実走行結果データを、ネットワークを介してアップロードしてもよい。すなわち、正当な実走行結果データについてはアップロードを許可し、不正な実走行結果データについてはアップロードを許可しないようにする。
【０１５８】
仮想コース設定部１１８は、受信処理部１０６で受信したコースデータに基づいて仮想空間内に仮想コースを設定する。
【０１５９】
設定変更部１３０は、種々の設定の変更処理を行う。例えば、設定変更部１３０は、移動玩具のパーツ変さらに対応して走行特性データの設定内容を変更する処理を行う。例えばプレーヤが、自身が所有する移動玩具のモータ、タイヤ等のパーツを変更し、後述するパーツの選択画面等において、その変更を入力（登録）すると、設定変更部１３０は、それに応じて走行特性データの設定内容（走行シミュレーションのアルゴリズムのパラメータや、使用するテーブルデータ等）を変更する。そしてシミュレーション処理部１０２は、変更後の走行特性データに基づいて、仮想移動体を仮想コースで走行させるシミュレーション処理を行う。
【０１６０】
具体的には、設定変更部１３０は、移動玩具が有する原動機（モータ、エンジン）の変更に対応して、走行特性データのうちの加速特性データ（馬力、トルクデータ）を変更する。例えば、プレーヤが移動玩具のモータを別の種類のモータに取り替えた場合には、それに応じて仮想移動体の加速特性も変更する。そしてシミュレーション処理部１０２は、変更後の加速特性データに基づき、その加速特性が設定される仮想移動体を、仮想コースで走行（疑似走行）させるシミュレーション処理を行う。また、設定変更部１３０は、移動玩具が有するタイヤの変さらに対応して、走行特性データのうちのコーナリング特性データ（グリップ能力、旋回能力）を変更する。例えば、プレーヤが移動玩具のタイヤを別の種類のタイヤに取り替えた場合には、それに応じて仮想移動体のコーナリング特性も変更する。そしてシミュレーション処理部１０２は、変更後のコーナリング特性データに基づきそのコーナリング特性が設定される仮想移動体を、仮想コースで走行させるシミュレーション処理を行う。
【０１６１】
４．本実施形態の手法
４．１．マーカコードの認識の第１の方法
図１７（Ａ）に本実施形態の車両玩具１０によるマーカコードＭＣ１〜ＭＣ１６の認識方法の第１の方法の模式図、図１７（Ｂ）に本実施形態の車両玩具１０の当該第１の方法によるクロック用センサ５０ｂ及びデータ用センサ５０ａの検知信号の波形図を示す。
【０１６２】
第１の方法では、車両玩具１０が進行方向を走行する際に、クロック用センサ５０ｂがクロックマーカの部分を読んでいる際のデータ用センサ５０aが読み取るデータマーカＤＭ１〜ＤＭｎの白・黒のサンプリング数Ｎwp・Ｎbpをカウントしていき、サンプリング数が多い方をデータの値として採用する。すなわち、クロックコードが該当ビットを通過中にデータコードの０・１のサンプリング数（本実施例では１２８μsec間隔）を取得し、その数の多い方をそのビットのデータとして採用する。
【０１６３】
第１の方法の処理フローを図１８に示す。第１の方法では、まずクロックコードが１ビット目（clock０）を通過中のデータコードの０・１のサンプリング数を取得し、その数の多い方をそのビットのデータとする（ステップＳ１０４〜Ｓ１１１）。次にクロックコードが２ビット目（clock１）を通過中のデータコードの０・１のサンプリング数を取得し、その数の多い方をそのビットのデータとする（ステップＳ１１２〜Ｓ１２１）。そして、これらのステップを３回繰り返してから、６ビット分を通過した際のデータコードの０・１のサンプリング数を取得し、その数の多い方をそのビットのデータとする（ステップＳ１２２〜Ｓ１２９）。
【０１６４】
具体的には、まず、クロック用センサ５０ｂが白を検出したか否かを判断する（ステップＳ１０１）。すなわち、車両玩具１０がclock０の領域に進入したか否かを判断する。クロック用センサ５０ｂが白を検出するとビット数tを初期化し（ステップＳ１０２）、ビット数tでのサンプリングを開始する（ステップＳ１０３）。
【０１６５】
次に、クロックclockの値、データの白・黒のサンプリング数Ｎwp（Data_w）・Ｎbp（Data_b）の値のそれぞれを初期化してから（ステップＳ１０４）、クロック用センサ５０ｂが黒を検出したか、すなわち車両玩具１０がclock０の領域を脱出してclock１の領域に進入したか否かを判断する（ステップＳ１０５）。
【０１６６】
ステップＳ１０５でクロック用センサ５０ｂが黒を検出すると、次にデータの白のサンプリング数Ｎwp（Data_w）と黒のサンプリング数Ｎbp（Data_b）の大小関係を判断する（ステップＳ１０６）。このとき、黒のサンプリング数Ｎbp（Data_b）の方が大きいと判断されると、データとして２tを入れる（ステップＳ１０７）。すなわち、ステップＳ１０６、Ｓ１０７でクロック用センサ５０ｂが白のクロックマーカを読み取っている間に、データ用センサ５０ａで読み取った色は、黒・白の何れが多いかを検出して、多い方の属性を今のクロックの値とする。一方、白のサンプリング数Ｎwp（Data_w）の方が大きいと判断されると、データとして何も入れないで、すなわち０のままで次にステップに行く。
【０１６７】
また、ステップＳ１０５でクロック用センサ５０ｂが白を検出すると、次にデータ用センサ５０ａが検出した色が白であるか否かの判断をする（ステップＳ１０８）。すなわち、クロック用センサ５０ｂが黒を検出した際にデータ用センサ５０ａが白を検出したか否かの判断がされる。データ用センサ５０ａが白を検出する場合は、データの白のサンプリング数Ｎwp（Data_w）をインクリメントし（ステップＳ１０９）、データ用センサ５０ａが黒を検出する場合は、データの黒のサンプリング数Ｎbp（Data_b）をインクリメントする（ステップＳ１１０）。そして、クロックをインクリメントして（ステップＳ１１０）、ステップＳ１０５に戻る。
【０１６８】
その後、クロックがclock１に入った瞬間のクロックclockの値、データの白・黒のサンプリング数Ｎwp（Data_w）・Ｎbp（Data_b）の値のそれぞれを初期化してから（ステップＳ１１２）、クロック用センサ５０ｂが白を検出したか、すなわち車両玩具１０がclock１の領域を脱出してclock２の領域に進入したか否かを判断する（ステップＳ１１３）。
【０１６９】
ステップＳ１１３でクロック用センサ５０ｂが白を検出すると、次にデータの白のサンプリング数Ｎwp（Data_w）と黒のサンプリング数Ｎbp（Data_b）の大小関係を判断する（ステップＳ１１４）。このとき、黒のサンプリング数Ｎbp（Data_b）の方が大きいと判断されると、データとして２ｔ＋１を入れる（ステップＳ１１５）。すなわち、ステップＳ１１３、Ｓ１１４でクロック用センサ５０ｂが黒のクロックマーカを読み取っている間に、データ用センサ５０ａで読み取った色は、黒・白の何れが多いかを検出して、多い方の属性を今のクロックの値とする。そして、その後、ビット数ｔを２増やしてから（ステップＳ１１６）、ビット数が６に達したか否かの判断がされる（ステップＳ１１７）。一方、白のサンプリング数Ｎwp（Data_w）の方が大きいと判断されると、データとして何も入れないで、そのままビット数ｔを２増やして（ステップＳ１１６）、ビット数が６に達したか否かの判断がされる（ステップＳ１１７）。すなわち、ビット数が６に達するまで、上記のステップＳ１０３からステップ１２１のループを３回繰り返すこととなる。
【０１７０】
また、ステップＳ１１３でクロック用センサ５０ｂが黒を検出すると、次にデータ用センサ５０ａが検出した色が白であるか否かの判断をする（ステップＳ１１８）。すなわち、クロック用センサ５０ｂが黒を検出した際に、データ用センサ５０ａが白を検出したか否かの判断がされる。データ用センサ５０ａが白を検出する場合は、データの白のサンプリング数Ｎwp（Data_w）をインクリメントし（ステップＳ１１９）、データ用センサ５０ａが黒を検出する場合は、データの黒のサンプリング数Ｎbp（Data_b）をインクリメントする（ステップＳ１２０）。そして、クロックをインクリメントして（ステップＳ１２１）、ステップＳ１１３に戻る。
【０１７１】
その後、クロックがclock６に入った瞬間のクロックclockの値、データの白・黒のサンプリング数Ｎwp（Data_w）・Ｎbp（Data_b）の値のそれぞれを初期化してから（ステップＳ１２２）、クロック用センサ５０ｂが黒を検出したか、すなわち車両玩具１０がclock６の領域を脱出したか否かを判断する（ステップＳ１２３）。
【０１７２】
ステップＳ１２３でクロック用センサ５０ｂが黒を検出すると、次にデータの白のサンプリング数Ｎwp（Data_w）と黒のサンプリング数Ｎbp（Data_b）の大小関係を判断する（ステップＳ１２４）。このとき、黒のサンプリング数Ｎbp（Data_b）の方が大きいと判断されると、データとして２６を入れる（ステップＳ１２５）。すなわち、ステップＳ１２３、Ｓ１２４でクロック用センサ５０ｂが白のクロックマーカを読み取っている間に、データ用センサ５０ａで読み取った色は黒・白の何れが多いかを検出して、多い方の属性を今のクロックの値として終わる。一方、白のサンプリング数Ｎwp（Data_w）の方が大きいと判断されると、データとして何も入れないで終わる。
【０１７３】
また、ステップＳ１２３でクロック用センサ５０ｂが白を検出すると、次にデータ用センサ５０ａが検出した色が白であるか否かの判断をする（ステップＳ１２６）。すなわち、クロック用センサ５０ｂが白を検出した際にデータ用センサ５０ａが白を検出したか否かの判断がされる。データ用センサ５０ａが白を検出する場合は、データの白のサンプリング数Ｎwp（Data_w）をインクリメントし（ステップＳ１２７）、データ用センサ５０ａが黒を検出する場合は、データの黒のサンプリング数Ｎbp（Data_b）をインクリメントする（ステップＳ１２８）。そして、クロックをインクリメントして（ステップＳ１２９）、ステップＳ１２３に戻る。
【０１７４】
以上説明したように、第１の方法では、データと並列配置されたクロックを基準にマーカコードＭＣ１〜ＭＣ１６に含まれる複数のデータマーカＤＭ１〜ＤＭｎを読み取ることによって、コースデータ等のデータを適正に読み取ることができる。このようにコースデータ等のデータを適正に読み取ることによって、各コースパーツＣＰ１〜ＣＰ１６内における速度変化にも適正に対応することも可能となる。また、従来のようにコースデータを読み取る際のキャリブレーションコードを必要としないので、マーカコードＭＣ１〜ＭＣ１６をコンパクト化できる。さらに、データに針パルスノイズが存在していても、その影響を受けるリスクを低減できる。
【０１７５】
４．２．マーカコードの認識の第２の方法
前述したマーカコードの認識の第１の方法では、データの白のサンプリング数Ｎwp（Data_w）と黒のサンプリング数Ｎbp（Data_b）を１２８μ秒間隔でカウントすることを要するので、ＣＰＵの負荷がかかり、モータ制御の処理に影響が出る可能性が生じてしまう。このため、マーカコードの認識の第２の方法では、ＣＰＵ負荷の軽減を図るために、クロックの立ち上がりエッジ又は立ち下がりエッジでデータ用センサ５０ａの検知信号をサンプリングすることでデータを抽出している。そのため、第２の方法では、コース６０上では、図１９（Ａ）に示すように、データマーカDATA２、DATA４とクロックマーカclock１、clock３が第１の方向Ｄ１に対してずらして設けられている。
【０１７６】
また、コース６０は、複数のコースパーツＣＰ１〜ＣＰ１６を組み合わせることによって構成するが、車両玩具１０の製品の性質上、コース６０を走行する方向が一定方向とは限らないことより、何れの方向から車両玩具１０を進行させても、複数のデータマーカＤＭ１〜ＤＭｎを含むマーカコードＭＣ１〜ＭＣ１６を走行の際に認識できるようにすることが望まれる。そこで、第２の方法における各コースパーツＣＰ１〜ＣＰ１６には、クロックマーカ群の両端側にディレクションマーカＤＭＡ、ＤＭＢが設けられている。
【０１７７】
さらに、第２の方法では、車両玩具１０の前方に２つ備わるセンサ５０のうち、進行方向に対して左側に設けられる左センサＬＳと、進行方向に対して右側に設けられる右センサＲＳの役割を切り換えることができる。すなわち、左センサＬＳ又は右センサＲＳのいずれか一方がデータ用センサ５０ａの役割をして、いずれか他方がクロック用センサ５０ｂの役割をするように切り換えることができる。
【０１７８】
このように左センサＬＳと右センサＲＳの役割を切り換え可能として、かつクロックマーカ群の両側にディレクションマーカＤＭＡ、ＤＭＢを設けることによって、車両玩具１０がコースパーツＣＰ１〜ＣＰ１６のいずれかに進入すると、まずディレクションマーカＤＭＡ、ＤＭＢのいずれかを最初に読み取ることになる。
【０１７９】
図１９（Ａ）に示すように、第１の方向Ｄ１から車両玩具１０ＡがコースパーツＣＰ１〜ＣＰ１６のいずれかに進入すると、左センサＬＳがディレクションマーカＤＭＡを読み取るので、左センサＬＳがクロック用センサ５０ｂの役割をすることになる。このため、左センサＬＳがクロックclock０〜clock４を読み取ることとなり、右センサＲＳがデータDATA０〜DATA５を読み取ることとなる。
【０１８０】
反対に、第３の方向Ｄ３から車両玩具１０ＢがコースパーツＣＰ１〜ＣＰ１６のいずれかに進入すると、右センサＲＳがディレクションマーカＤＭＢを読み取るので、右センサＲＳがクロック用センサ５０ｂの役割をすることになる。このため、右センサＲＳがクロックclock０〜clock４を読み取ることとなり、左センサＬＳがデータDATA０〜DATA５を読み取ることとなる。
【０１８１】
このように、第２の方法では、車両玩具１０がコースパーツＣＰ１〜ＣＰ１６のいずれの方向から進入しても、マーカコードＭＣ１〜ＭＣ１６に含まれるデータマーカＤＭ１〜ＤＭｎを読み取ることができるので、コースパーツＣＰ１〜ＣＰ１６の付け替えの自由度を広げることができる。すなわち、図２０のＡとＢに示すように、データマーカＤＭの向きが混同していても、コースパーツＣＰＳ１〜ＣＰＳ４、ＣＰＣ１〜ＣＰＣ８のディレクションマーカＤＭＡ、ＤＭＢを読み取ることによって、車両玩具１０の左センサＬＳと右センサＲＳの役割を随時に交換できるので、各マーカコードＭＣ１〜ＭＣ１６に対応して付加されるコースパーツＩＤ（コースデータ）を読み取ることができる。
【０１８２】
このため、カーブ型のコースパーツＣＰＣ１〜ＣＰＣ８で同じ形状であれば、左カーブ専用、右カーブ専用とせずに、同じカーブ型コースパーツＣＰＣという形で１つのコースパーツＩＤでコード付けができる。また、直線型のコースパーツＣＰＳ１〜ＣＰＳ４で同じ形状であれば、同様にして同じ直線型コースパーツＣＰＳという形で１つのコースパーツＩＤでコード付けができる。このように、同じ形状のコースパーツに同じ配列のデータマーカＤＭからなるマーカコードＭＣに対応したコースデータを付加できるようにすることによって、特殊な操作を入れることなく各コースパーツＣＰからマーカコードＩＤ等のコースデータを容易に読み取ることができるようになる。このようにコースデータ等のデータを適正に読み取ることによって、各コースパーツＣＰ１〜ＣＰ１６内における速度変化にも適正に対応することも可能となる。
【０１８３】
次に、第２の方法の処理フローを図２１に示す。第２の方法では、まず、クロックを初期化してから（ステップＳ２０１）、左センサＬＳが白を検出したか否かを判断する（ステップＳ２０２）。すなわち、車両玩具１０が図１９（Ａ）に示すディレクションマーカＤＭＡ、ＤＭＢの領域に進入したか否かを判断する。左センサＬＳが白を検出すると、クロックセレクトを１に設定し（ステップＳ２０４）し、ビット数tでのサンプリングを開始する（ステップＳ２０５）。
【０１８４】
一方、ステップＳ２０２で左センサＬＳが白を検出しなかった場合、次に右センサＲＳが白を検出したか否かを判断する（ステップＳ２０３）。すなわち、車両玩具１０が図１９（Ａ）に示すディレクションマーカＤＭＡ、ＤＭＢの領域に進入したか否かを判断する。右センサＲＳが白を検出すると、ＲＳ＝０のままビット数tでのサンプリングを開始する（ステップＳ２０５）。
【０１８５】
以上のステップＳ２０２〜Ｓ２０４の工程では、左センサＬＳと右センサＲＳのいずれがディレクションマーカＤＭＡ、ＤＭＢを読み取ったかを判断し、図１９（Ａ）に示すディレクションマーカＤＭＡ、ＤＭＢを読み取った方のセンサをクロック用センサ５０ｂに、他方のセンサをデータ用センサ５０ａに設定する。
【０１８６】
次に、左センサＬＳと右センサＲＳのいずれがクロック用センサ５０ｂに設定されたかの判別をかけるために、クロックセレクトが０であるか否かを判別する（Ｓ２０６）。クロックセレクトが０であると検出されると、右センサＲＳがクロック用センサ５０ｂに設定されたと判定され、次にクロック用センサ５０ｂと判定された右センサＲＳが黒を検出したか、すなわち車両玩具１０が図１９（Ａ）に示すディレクションマーカＤＭＢの領域を抜けたか否かを判断する（ステップＳ２０７）。
【０１８７】
車両玩具１０が図１９（Ａ）に示すディレクションマーカＤＭＢの領域を抜けたと検出されると、次に車両玩具１０がディレクションマーカＤＭＢの領域を抜けた瞬間の左センサＬＳが黒を検出しているかを判断する（ステップＳ２０８）。ステップＳ２０８で黒を検出していると判定されると、データとして２tを加算する（ステップＳ２０９）。一方、ステップＳ２０８で白を検出していると判定されると、そのまま次の工程に行く（データとして０を加算する）。すなわち、ステップＳ２０７〜Ｓ２０９の間では、右センサＲＳがクロック用センサ５０ｂに設定されたと判定されてから、図１９（Ａ）に示すディレクションマーカＤＭＢの領域を抜けた瞬間となるクロックの立ち上がりエッジのデータをサンプリングしている。
【０１８８】
その後、今度は、クロック用センサ５０ｂと判定された右センサＲＳが白を検出したか、すなわち車両玩具１０が図１９（Ａ）に示すclock４の領域を抜けたか否かを判断する（ステップＳ２１０）。
【０１８９】
車両玩具１０Ｂが図１９（Ａ）に示すclock４の領域を抜けたと検出されると、次に車両玩具１０が当該clock４の領域を抜けた瞬間の左センサＬＳが黒を検出しているかを判断する（ステップＳ２１１）。ステップＳ２１１で黒を検出していると判定されると、データとして２t＋１を加算する（ステップＳ２１２）。一方、ステップＳ２１１で白を検出していると判定されると、そのまま次の工程に行く（データとして０を加算する）。すなわち、ステップＳ２１０〜Ｓ２１２の間では、車両玩具１０Ｂのクロック用センサ５０ｂに設定された右センサＲＳが図１９（Ａ）に示すclock４の領域を抜けた瞬間となるクロックの立ち上がりエッジのデータをサンプリングしている。
【０１９０】
これに対して、ステップＳ２０６でクロックセレクトが１であると検出されると、左センサＬＳがクロック用センサ５０ｂと判定され、次にクロック用センサ５０ｂと判定された左センサＬＳが黒を検出したか、すなわち車両玩具１０Ａが図１９（Ａ）に示すディレクションマーカＤＭＡを抜けたか否かを判断する（ステップＳ２１３）。
【０１９１】
車両玩具１０Ａが図１９（Ａ）に示すディレクションマーカＤＭＡを抜けたと検出されると、次に車両玩具１０Ａが当該ディレクションマーカＤＭＡを抜けた瞬間の右センサＲＳが黒を検出しているかを判断する（ステップＳ２１４）。ステップＳ２１６で黒を検出していると判定されると、データとして２tを加算する（ステップＳ２１５）。一方、ステップＳ２１４で白を検出していると判定されると、そのまま次の工程に行く（データとして０を加算する）。すなわち、ステップＳ２１３〜Ｓ２１５の間では、左センサＬＳがクロック用センサ５０ｂに設定されたと判定されてから、図１９（Ａ）に示すディレクションマーカＤＭＡの領域を抜けた瞬間となるクロックの立ち上がりエッジのデータをサンプリングしている。
【０１９２】
その後、今度は、クロック用センサ５０ｂと判定された左センサＲＳが白を検出したか、すなわち車両玩具１０Ａが図１９（Ａ）に示すclock０の領域を抜けたか否かを判断する（ステップＳ２１６）。
【０１９３】
車両玩具１０Ａが図１９（Ａ）に示すclock０の領域を抜けたと検出されると、次に車両玩具１０Ａが当該clock０の領域を抜けた瞬間の右センサＲＳが黒を検出しているかを判断する（ステップＳ２１７）。ステップＳ２１７で黒を検出していると判定されると、データとして２t＋１を加算する（ステップＳ２１８）。一方、ステップＳ２１７で白を検出していると判定されると、そのまま次の工程に行く（データとして０を加算する）。すなわち、ステップＳ２１６〜Ｓ２１８の間では、車両玩具１０Ａのクロック用センサ５０ｂに設定された左センサＬＳが図１９（Ａ）に示すclock０の領域を抜けた瞬間となるクロックの立ち上がりエッジのデータをサンプリングしている。
【０１９４】
上述のステップＳ２０５〜２１８で２ビット分のデータのサンプリングが終了したら、ビット数ｔに２を加算し（ステップＳ２１９）、その加算後の値が６に達したか否かの判断がされる（ステップＳ２２０）。すなわち、ビット数が６に達するまで、上記のステップＳ２０５からステップＳ２２０のループを３回繰り返してからデータのサンプリングを終了する。
【０１９５】
以上説明したように、第２の方法では、クロックの立ち上がりエッジで、データ用センサ５０ａの検知信号を安定してサンプリングできるので、読み取りエラーを低減でき、かつＣＰＵの負荷を軽減できる。また、データと並列配置されたクロックを基準にマーカコードＭＣ１〜ＭＣ１６に含まれる複数のデータマーカＤＭ１〜ＤＭｎを読み取ることによって、コースデータ等のデータを適正に読み取ることができる。このようにコースデータ等のデータを適正に読み取ることによって、各コースパーツＣＰ１〜ＣＰ１６内における速度変化にも適正に対応することも可能となる。さらに、従来のようにコースデータを読み取る際のキャリブレーションコードを必要としないので、マーカコードＭＣ１〜ＭＣ１６をコンパクト化できる。なお、前述した第２の方法の説明では、クロックの立ち上がりエッジのデータをサンプリングしている例について取り上げているが、クロックの立ち下がりエッジのデータをサンプリングしても、同様の作用・効果が得られる。
【０１９６】
また、第２の方法では、図２２に示すように、コース６０のうち特にカーブのコースパーツＣＰＣの所では、車両玩具１０のコースパーツＣＰＣへの進入する角度によっては、所定角度のずれによって、例えばデータ用センサ５０ａが図２２のＣに示すように、次のデータマーカＤＭを読んでしまい取得するデータの誤認識をする可能性がある。車両玩具１０のボディ１２の形状やセンサ５０ａ、５０ｂの設置箇所、設定速度、コース設計等により、データマーカＤＭへの進入角度が変化するが、特にセンサ５０ａ、５０ｂの設置箇所の影響が大きいことが分かった。
【０１９７】
すなわち、センサＬＳ、ＲＳをボディ１２の前方側に設置している場合、すなわち車両玩具１０のボディ１２の接地面の前端側を第１の外郭線ＯＦＬ１上に設置している場合では、図２３（Ｂ）のＰに示すように、マーカＤＭ、ＣＭに対する第１の外郭線ＯＦＬ１の角度差Ｘが生じる。しかしながら、センサＬＳ、ＲＳをボディ１２の中央側に設置している場合、すなわち車両玩具１０のボディ１２の接地面の前端側に有する第１の外郭線ＯＦＬ１と接地面の後端側に有する第３の外郭線ＯＦＬ３の中線である第１の中線ＭＬ１上に設置している場合では、図２３（Ｂ）のＱに示すように、マーカＤＭ、ＣＭに対する第１の中線ＭＬ１の角度差Ｙは、第１の外郭線ＯＦＬ１との角度差Ｘと比べて、小さく抑制できる。これは、車両玩具１０の回転中心がボディ１２の四隅に設けたガイドローラ２１〜２４によってボディ１２の中心部分に設定されることに起因する。
【０１９８】
以上の検証結果から、クロック用センサ５０ｂで読み取るクロックマーカＣＭ１〜ＣＭ１６に対応したデータマーカＤＭ１〜ＤＭｎをデータ用センサ５０ａで適正に読み取るためには、第２の方法におけるセンサＬＳ、ＲＳは、ボディ１２の中央側、すなわち図２４（Ａ）に示すように、第１の中線ＭＬ１の両端部に設置されていることが好ましい。ただし、ボディ１２の接地面の接地面の左端側を第２の外郭線ＯＦＬ２、接地面の右端側を第４の外郭線ＯＦＬ４とした場合に、図２４（Ｂ）に示すように、左センサＬＳが第２の外郭線ＯＦＬ２上又は第４の外郭線ＯＦＬ４上のいずれか一方に設けられ、右センサＲＳが第２の外郭線ＯＦＬ２上又は第４の外郭線ＯＦＬ４上のいずれか他方に設けられる構成としても良い。このように左センサＬＳと右センサＲＳの距離をより大きく取ることによって、データマーカＤＭ及びクロックマーカＣＭの領域に車両玩具１０が進入する際の進入角度変化を抑制することができる。
【０１９９】
また、前述したように、センサＬＳ、ＲＳは、ボディ１２の中央側に設けられることが好ましい。具体的には、第１の外郭線ＯＦＬ１と第１の中線ＭＬ１の中線を第２の中線ＭＬ２、第１の中線ＭＬ１と第３の外郭線ＯＦＬ３との中線を第３の中線ＭＬ３とすると、接地面のうち、第２の中線ＭＬ２、第２の外郭線ＯＦＬ２、第３の中線ＭＬ３、及び第４の外郭線ＯＦＬ４によって囲まれた閉領域ＣＡ１に設けられることが好ましい。当該閉領域ＣＡ１内に双方のセンサＬＳ、ＲＳが設けられていれば、図２４（Ｃ）のように、双方のセンサＬＳ、ＲＳ共に第１の中心線ＭＬ１より前方側に設ける構成としても、図２４（Ｄ）に示すように、一方のセンサＬＳが第１の中心線ＭＬ１より前方側に設ける構成とし、他方のセンサＲＳが第１の中心線ＭＬ１より後方側に設ける構成としてもよい。このように、車両玩具１０のボディ１２の接地面側の中心部寄りに双方のセンサＬＳ、ＲＳを設けることによって、クロック用センサ５０ｂで読み取るクロックマーカＣＭ１〜ＣＭ１６に対応したデータマーカＤＭ１〜ＤＭｎをデータ用センサ５０ａで適正に読み取ることができる。
【０２００】
４．３．走行制御データの設定
次に、本実施形態の手法について説明する。まず、走行制御データ（広義には、動作制御データ）の設定手法について説明する。
【０２０１】
図２５に走行制御データの設定画面の例を示す。この設定画面は、図１５に示すようにタッチパネル型の表示部１９０に表示され、プレーヤは、この設定画面において、図１（Ａ）のコース６０の各コース区間ＣＳ１〜ＣＳ１６での走行制御データを設定する。
【０２０２】
例えば、走行制御データの雛形データ（メーカ側が用意するデフォルトのデータ）が存在する場合や、過去に設定して保存した走行制御データが存在する場合には、図２５のＪ１に示すアイコンをタッチパネル型表示部１９０へのタッチ操作により選択して、そのセッティング内容を読み出す。また、走行制御データの設定が完了した場合には、Ｊ２に示すアイコンを選択して、そのセッティング内容を保存する。また、走行制御データを車両玩具１０に送信する場合には、Ｊ３に示すアイコンを選択する。一方、実走行結果データ（走行検知データ）等を車両玩具１２から受信（アップロード）する場合には、Ｈ１に示すアイコンを選択する。
【０２０３】
また、コース選択画面を表示してコースを選択する場合には、Ｈ２に示すアイコンを選択し、コース周回数選択画面を表示してコースの周回数を設定する場合には、Ｈ３に示すアイコンを選択し、キャラクタ選択画面を表示して車両玩具１０を仮想的に操作するキャラクタを選択する場合には、Ｈ４に示すアイコンを選択する。
【０２０４】
また、図２５のＪ４では、スタート地点に対応する第１のコース区間ＣＳ１での走行制御データとして、「６１」が設定されている。この場合の走行制御データは、モータ３０の動力設定データ（電力設定データ）であり、具体的には、後述するＰＷＭ駆動におけるデューティである。走行制御データを「６１」を設定することで、第１のコース区間ＣＳ１では、６１パーセントのデューティでモータ３０がＰＷＭ駆動される。すなわち、第１のコース区間ＣＳ１は、距離の長い直線の区間であるため、プレーヤは、高いデューティを設定して、車両玩具を加速させる。
【０２０５】
また、図２５のＪ５では、次の第２のコース区間ＣＳ２での走行制御データとして、「１０」が設定されている。すなわち、第２のコース区間ＣＳ２は、急カーブの区間であるため、コースアウトしないように、プレーヤは、低いデューティを設定して、車両玩具１０を減速させる。
【０２０６】
また、図２５のＪ６では、次の第３のコース区間ＣＳ３での走行制御データとして、「２９」が設定されている。すなわち、第３のコース区間ＣＳ３は、図２５に示すように、第２のコース区間ＣＳ２と立体交差するためのスロープ状の区間であるため、プレーヤは、直線状の第１のコース区間ＣＳ１より低く、かつカーブ状の第２のコース区間ＣＳ２よりも高いデューティを設定して、車両玩具１０を加速させる。同様にして、コース区間ＣＳ３〜ＣＳ７の走行制御データを設定し、Ｊ７に示すように第１の周回コース６１の最終の第８のコース区間ＣＳ８の走行制御データを設定する。またＪ８、Ｊ９、Ｊ１０、Ｊ１１等に示すように、第２の周回コース６２の各コース区間ＣＳ９〜ＣＳ１６の走行制御データを設定する。
【０２０７】
図２６のＪ２０では、プレーヤは、スタイラスペン４２０を用いたドラッグ操作により、走行制御データを設定している。図２６のＪ２０では、ドラッグ操作により走行制御データが「６２」に設定され、その後にＪ２１に示すアイコンを選択することで、「６２」の走行制御データの設定が確定する。なお、設定をキャンセルする場合には、Ｊ２２に示すアイコンを選択する。
【０２０８】
全てのコース区間についての走行制御データの設定が完了すると、プレーヤは、図２６のＪ３に示すアイコンを選択する。そして、ゲーム装置４００から車両玩具１０への全ての走行制御データの送信（ダウンロード）が完了すると、図２７に示すような画面が表示される。
【０２０９】
以上の本実施形態の走行制御データの設定手法によれば、プレーヤは、複数のコース区間の走行制御データを、簡素な作業で効率良く入力することが可能になる。
【０２１０】
４．４．コースデータの自動取得
本実施形態では、ゲーム装置４００と車両玩具１０との間でデータの送受信を行っているが、この送受信のシステムを有効活用して、車両玩具１０が走行するコース６０のコースデータを自動取得するようにしてもよい。
【０２１１】
具体的には、例えば図２８（Ａ）に示すような確認画面を表示して、プレーヤがコースデータを自動取得するか否かを選択させる。そして、図２８（Ｂ）に示すように、車両玩具をゲーム装置に接続することを指示する画面を表示した後、コースデータ取得用の走行制御データを車両玩具に送信する。そして、このコースデータ取得用の走行制御データに基づいて、車両玩具がコースデータを走行することで、車両玩具側においてコースデータを取得する。そして、取得されたコースデータを車両玩具から受信すると、ゲーム装置において、例えば図２８（Ｃ）に示すような画面を表示する。
【０２１２】
本実施形態では、車両玩具１０にデータマーカＤＭ１〜ＤＭｎ、クロックマーカＣＭ１〜ＣＭ１６を読み取るセンサ５０（５０ａ、５０ｂ）を設けると共に、各コースパーツＣＰ１〜ＣＰ１６に設けた複数のデータマーカＤＭ１〜ＤＭｎからなるマーカコードＭＣ１〜ＭＣ１６に、各コースパーツＣＰ１〜ＣＰ１６の形状等を識別するためのコースデータとしてコースパーツＩＤを設定する。そして、当該コースパーツＩＤを車両玩具１０のセンサ５０（５０ａ、５０ｂ）で読み取ることで、各コースパーツＣＰ１〜ＣＰ１６のコース種別情報やコース長や最大曲率等のコース形状情報等を取得する。例えば、データマーカＤＭ１〜ＤＭｎを含むマーカコードＭＣ１〜ＭＣ１６の中にコースパーツＣＰ１〜ＣＰ１６の識別情報としてコースパーツＩＤを含ませれば、ゲーム装置において、データベースに登録されているコースパーツデータの中から識別情報に対応するコースパーツデータを読み出すことで、コースデータを作成できる。
【０２１３】
以上の本実施形態の手法によれば、プレーヤは、自身が所望するコース上で車両玩具を実際に走行させるだけで、そのコースデータが自動取得されて、シミュレーション処理に活用できるようになる。また、任意の組み合わせのコースパーツの連結により構成されたコースのコースデータを１回の車両玩具の走行だけで、各コースパーツに対応したコースデータを取得できる。これにより、プレーヤの利便性を大幅に向上できる。
【０２１４】
４．５．シミュレーション処理
さて、図６に示すホビーレーシングカーでは、プレーヤは、モータやタイヤなどのパーツを交換するチューニングを行って、他のプレーヤとラップタイプを競い合う。
【０２１５】
しかしながら、これまでのホビーレーシングカーでは、交換したパーツが、ラップタイムの向上にどの程度貢献したかを、プレーヤは客観的に評価することができなかった。従って、プレーヤは、試行錯誤をして、直感的にパーツを交換せざるを得なかった。このため、ラップタイムをなかなか短縮することができず、ラップタイムの向上に限界があり、これが原因でプレーヤにすぐに飽きられてしまうという課題があった。
【０２１６】
また、プレーヤは、図１に示すような占有面積が大きなコースを自宅に設置することは難しいため、特設コースが設置された店舗に出向き、そこでパーツを色々と変えながら、ラップタイム短縮のための試行錯誤をせざるを得なかった。従って、車両玩具のチューニングを、手軽に行うことができず、このようなチューニング作業の面倒さが、ホビーレーシングカーからプレーヤの興味を遠ざける原因となっていた。
【０２１７】
この点、前述の特許文献２の従来技術では、プレーヤがゲーム装置でゲームプレイすることで得られた制御情報により、車両玩具側を走行させることで、ゲームの面白味の幅を広げている。
【０２１８】
しかしながら、この特許文献２の従来技術では、車両玩具が実際に走るコースと、ゲーム装置においてゲーム空間に構築される仮想的なコースは、お互いにリンクしていなかった。また、車両玩具の走行特性と、ゲーム空間で走行する車の走行性能もリンクしていなかった。このため、ゲーム装置でのセッティングを側に反映させたり、逆に車両玩具の実際の走行結果を、ゲーム装置側に反映させることができないという課題があった。
【０２１９】
本実施形態では、このような課題を解決するために以下に説明するような手法を採用している。すなわち、まず本実施形態では、コース上を移動する車両玩具の走行特性に基づき設定されたデータである走行特性データや、車両玩具が移動するコースのコース特性に基づき設定されたデータであるコースデータを用意する。また、図２５〜図２７に示すような手法で設定される走行制御データを用意する。そして、これらの走行特性データとコースデータと走行制御データとに基づいて、ゲーム装置において、車両玩具のセッティングのためのシミュレーション処理を行う。
【０２２０】
このようにすることで、車両玩具が走る実際のコースと、ゲーム装置において車両玩具に対応する仮想移動体が走行する仮想コースとが、お互いにリンクするようになる。また車両玩具の加速性能などの走行特性と、ゲーム装置側の仮想移動体の走行特性もリンクするようになる。従って、プレーヤは、例えば、特設コースが設置されている店舗等に出向かなくても、自身が所有するゲーム装置でのシミュレーション処理により、車両玩具の走行を仮想的に試すことができず。また実機の車両玩具の実走行結果をゲーム装置側に取り込むことで、交換したパーツのラップタイムへの貢献度合い等を、客観的に判断することが可能になる。従って、試行錯誤により、直感に頼っていたこれまでのホビーレーシングカーでは実現できなかったチューニングの面白さを、ユーザであるプレーヤに提供できるようになる。
【０２２１】
例えば、図２９（Ａ）〜図２９（Ｃ）に、車両玩具の走行特性の設定のためにゲーム装置の表示部に表示される画面の例を示す。
【０２２２】
まず、図２９（Ａ）に示すように、車種選択画面を表示する。プレーヤは、この選択画面において、自身が使用する車両玩具の車種を選択する。具体的には、選択画面に車両玩具の商品名を表示し、プレーヤは、この商品名の中から自身が所有する車両玩具の商品名を選択する。
【０２２３】
次に、図２９（Ｂ）、図２９（Ｂ）に示すように、パーツセット選択画面を表示する。プレーヤは、この選択画面において、車両玩具のチューニングに使用しているパーツセットを選択する。例えば図２９（Ｂ）では、プレーヤは、基本パーツセットＢ１に代えて、グレートアップパーツセットＢ２を購入して使用しているため、このグレードアップパーツセットＢ２を選択する。また、このグレードアップパーツセットＢ２のうち、変更しているパーツがあれば、図２９（Ｃ）の選択画面で変更しているパーツを選択する。なお、図２９（Ｂ）のようなパーツセットの選択画面を表示せずに、図２９（Ｃ）に示すように、変更しているパーツを直接に選択してもよい。
【０２２４】
以上のような選択画面を表示し、プレーヤが自身の使用する車種やパーツを選択することで、プレーヤの使用する車両玩具の走行特性が特定されて、走行特性データが設定される。すなわち車両玩具やパーツを製造・販売するメーカは、車両玩具の重さや形状、モータの馬力やトルク、タイヤの大きさやグリップ力、シャシの強化度や走行安定性などを把握している。従って、プレーヤが、自身が使用する車両玩具の車種やパーツ名をゲーム装置に入力することで、その車両玩具の加速力、最高速、コーナリング性能、走行安定性等を特定できる。従って、特定された走行特性を、シミュレーション処理のアルゴリズムが取り扱うできるフォーマットの走行特性データとして用意することで、実際の車両玩具の走行特性に適合したシミュレーション処理が可能になる。なお、この走行特性データを作成するための車種、パーツ等のデータベース情報は、ゲーム装置が有するネットワークへの接続機能を利用して、適宜、ゲーム装置にダウンロードするようにしてもよい。
【０２２５】
以上のように走行特性データを設定することで、プレーヤが実際にコース上で走行させる車両玩具と、仮想コース上で走行させる仮想移動体とをマッチングさせて、リンクさせることが可能になる。
【０２２６】
次に、図３０に示すように、プレーヤが使用するコースの選択画面を表示する。例えば図３０では、選択候補となるコースとして、スタータキットとして販売される基本オーバルコースや基本８の字コースが表示されている。また、例えば東京の店舗Ａに設置されている特設コースが、選択候補コースとして表示されている。
【０２２７】
すなわち、スタータキット等として市販される基本オーバルコースや基本８の字コースのコース形状についてはすぐに特定できる。一方、特定の店舗に設置される公式レース用の特設コースについても、市販用のコースパーツと同じコースパーツで作成されているため、使用されているコースパーツやその接続構成を特定することで、特設コースのコース形状についても特定できる。
【０２２８】
この場合に、特設コースの使用コースパーツや接続構成の情報については、ネットワークを介してゲーム装置にダウンロードするようにしてもよいし、プレーヤが、コース編集画面において配置設定するようにしてもよい。すなわち、プレーヤは、このコース編集画面において、コースパーツの画像を適宜組み合わせて接続することで、特設コースと同じ形状のコースを作成して編集する。そして、編集されたコースを登録することで、その特設コースに対応するコースデータを設定する。
【０２２９】
以上のようにコースデータを設定することで、車両玩具が実際に走行するコースと、仮想移動体が走行する仮想コースとをマッチングさせて、リンクさせることが可能になる。
【０２３０】
次に、図２５、図２６に示す走行制御データ設定画面を表示する。プレーヤは、この設定画面において、試行錯誤しながら、良いラップタイムを獲得するのに必要な走行制御データを設定する。そして、プレーヤが、シミュレーション処理の開始を指示すると、図２９（Ａ）〜図２９（Ｃ）で設定された走行特性データと、図３０で設定されたコースデータと、図２５、図２６で設定された走行制御データに基づいて、シミュレーション処理が行われる。すなわち走行特性データに基づきその走行特性が設定される仮想移動体を、コースデータに基づきそのコース特性が設定される仮想空間内の仮想コースにおいて、走行制御データにしたがって走行させるシミュレーション処理が行われる。
【０２３１】
そして、プレーヤは、走行シミュレーションの結果データを確認し、走行制御データを再度設定して、自身が所望するラップライムを獲得できるまで、シミュレーション処理を繰り返し実行させる。こうして、ゲーム装置側で車両玩具の走行に関する仮想的なチューニングを繰り返す。そして、プレーヤは、満足する結果が得られると、ゲーム装置と車両玩具を有線または無線で接続して、図２７に示すように最終的な走行制御データを車両玩具に送信して、その記憶部に記憶させる。そして、図１（Ａ）等に示すコース上で車両玩具を実際に走行させる。
【０２３２】
例えば、週末に、店舗の特設コースで公式レースが開催される場合に、プレーヤは、平日に、ゲーム装置を用いてシミュレーションを行って、車両玩具の仮想的なチューニングを繰り返す。
【０２３３】
この場合に、プレーヤの自宅には特設コースは存在しないが、ゲーム装置の仮想空間内には、特設コースのコースデータに基づいて特設コースに対応する仮想コースが構築されている。プレーヤは、この仮想コースにおいて、自身が出場させる車両玩具に対応する仮想移動体を走行させるシミュレーション処理をゲーム装置を用いて実行させる。そして、プレーヤの納得が行くまでチューニング設定を繰り返して、週末の公式レースに参加する。
【０２３４】
この時、例えば、特定のパーツが原因で、良いラップタイムを獲得できない場合には、図２９（Ｂ）、図２９（Ｃ）で説明した手法により、パーツを交換する設定を行う。この場合に、プレーヤは、実際にパーツを購入しなくても、仮想的にパーツ交換を行って、そのパーツがラップタイム向上に有効か否かを、シミュレーション処理により確認することができる。そして、特定のパーツ（例えば、モータ、タイヤ）を交換することで、シミュレーションにおいて、良いラップタイムを獲得できた場合には、そのパーツを実際に購入して、車両玩具に装着し、週末の公式レースに参加する。
【０２３５】
以上のように、本実施形態によれば、特設コースのように自宅に置けないようなコースについても、ゲーム装置でのシミュレーション処理により、車両玩具を仮想的に試走させることができる。また、交換するパーツを購入する前に、プレーヤは、そのパーツのラップタイムへの貢献度合い等を、客観的に評価できる。従って、プレーヤの利便性を向上できると共に、シミュレーションにより高いレベルのチューニングを行って、ラップタイムの向上を目指すことができるため、速さの追求に関するプレーヤのモチベーションを向上させることができ、飽きの来にくいホビーレーシングカーのシステムを提供できる。
【０２３６】
なお、シミュレーション処理は、車両玩具に対応する仮想移動体のリアルなシミュレーション処理を行って、走行シミュレーション処理の結果データを求めるものであってもよいし、このようなリアルなシミュレーション処理を行わずに、走行特性データ、コースデータ、移動制御データとテーブルデータに基づいて、走行シミュレーション処理の結果データを瞬時に求めるような処理であってもよい。また、走行シミュレーション処理を、ゲーム処理の一部として行ってもよく、この場合には、図１５に示すように、車両玩具に対応する仮想移動体が移動する様子を示す演出画面を表示すればよい。
【０２３７】
４．６．実走行結果データ
本実施形態では、図３１（Ａ）に示すように、走行制御データをゲーム装置から車両玩具に送信するのみならず、その走行制御データに基づき車両玩具がコースを走行することで得られた実走行結果データを、車両玩具から受信するようにしてもよい。
【０２３８】
図３１（Ｂ）に実走行結果データの一例を示す。図３１（Ｂ）では、コースの各コース区間での車両玩具の実走行ラップタイムデータを、実走行結果データとして受信している。この受信された実走行結果データは、ゲーム装置の表示部に表示される。
【０２３９】
この場合に図３１（Ｂ）では、実走行結果データがコースの各コース区間に対応づけて表示されている。例えば、コース区間ＣＳ１に対して、ＣＳ１での実走行結果データである実走行ラップタイム＝０．８９が対応づけられて表示され、コース区間ＣＳ２に対して、ＣＳ２での実走行ラップタイム＝０．６２が対応づけられて表示される。
【０２４０】
また、図３２（Ａ）では、ゲーム装置側でのシミュレーション処理により走行シミュレーション結果データが得られている。そして車両玩具から受信した実走行結果データと、この走行シミュレーション結果データの両方が表示される。また実走行結果データと走行シミュレーション結果データの比較処理が行われている。
【０２４１】
具体的には図３２（Ｂ）に示すように、シミュレーション処理により得られた走行シミュレーション結果データに対して、受信した実走行結果データが関連づけて表示される。例えばコース区間ＣＳ１に対し、ＣＳ１での走行シミュレーション結果データであるシミュレーションラップタイム＝０．９４と、ＣＳ１での実走行ラップタイム０．８９が対応づけられて表示され、コース区間ＣＳ２に対して、ＣＳ２でのシミュレーションラップタイム＝０．６４と、ＣＳ２での実走行ラップタイム０．６２が対応づけられて表示される。
【０２４２】
なお、ゲーム装置での実走行結果データや走行シミュレーション結果データの表示形態は、図３１（Ｂ）、図３２（Ｂ）に限定されない。例えば、図２５に示すような画面を表示して、各コース区間ＣＳ１〜ＣＳ１６に対応づけて、実走行結果データや走行シミュレーション結果データを表示してもよい。
【０２４３】
以上の本実施形態の手法によれば、走行制御データを車両玩具に送信し、その走行制御データに対応する実走行結果データを車両玩具から受信することで、プレーヤは、自身が設定した走行制御データが最適な設定か否かを客観的に判断することができる。また、実走行結果データを各コース区間に対応づけて表示することで、各コース区間に設定した走行制御データの妥当性についても客観的に判断できる。
【０２４４】
従って、設定した走行制御データを送信し、それに対応する実走行結果データを受信して、設定の妥当性を判断するという作業を繰り返すことで、プレーヤは、最適なチューニング設定を容易に得ることができる。この結果、これまでのように直感に頼って行っていたチューニング設定を実走行結果データに基づいて客観的に評価して行うことが可能になり、これまでにないチューニングの楽しみをプレーヤに与えることが可能になる。
【０２４５】
また、車両玩具のパーツを変更した場合に、そのパーツ変更の効果についても、プレーヤは、実走行結果データに基づいて客観的に評価できるようになり、プレーヤの改造の楽しみをさらに増すことができる。
【０２４６】
また、例えばシミュレーション処理は、理想的な走行特性データおよびコースデータに基づいて行われるものであるため、それによる走行シミュレーション結果データは、現実とは食い違っている場合が多い。
【０２４７】
この点、図３２（Ｂ）のように、走行シミュレーション結果データと実走行結果データとを対応づけて表示すれば、プレーヤは、シミュレーションの走行と現実の走行の違いを、客観的に認識できる。従って、プレーヤは、この違いを考慮しながら、ゲーム装置においてシミュレーションによる仮想的なチューニングを行うことが可能になり、シミュレーションによるチューニングの精度を向上できる。
【０２４８】
なお、走行シミュレーション結果データと実走行結果データの比較処理を行い、その比較結果に基づいて補正データを求め、その補正データに基づいて、走行シミュレーション結果データを実走行結果データに近づけるための補正処理を行ってもよい。このようにすることで、シミュレーションによるチューニングの精度をさらに向上できる。
【０２４９】
以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは、当業者には容易に理解できるであろう。従って、このような変形例やその組み合わせは、全て本発明の範囲に含まれるものとする。
【０２５０】
例えば、明細書または図面中の記載において広義や同義な用語（移動玩具、原動機、動作制御データ等）として引用された用語（車両玩具、モータ、走行制御データ等）は、明細書または図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０２５１】
また、移動玩具の制御手法、マーカの検知手法、走行制御データの設定手法、移動玩具の減速、加速制御手法、原動機の駆動手法、シミュレーション処理手法等は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含むことができる。また本発明が適用される移動玩具、ゲーム装置は、本発明で説明したような構成の移動玩具やゲーム装置に限定されるものではない。
【符号の説明】
【０２５２】
ＣＰ１〜ＣＰ１６  コースパーツ、ＣＭ１〜ＣＭ１６  クロックマーカ、
ＤＭ１〜ＤＭｎ  データマーカ、ＭＣ１〜ＭＣ１６  マーカコード、
１０  車両玩具、１２  ボディ、３０  原動機、５０  センサ、
５０ａ  データ用センサ、５０ｂ  クロック用センサ、５２  発光素子、
６０  コース、７０  ガイド部、１００  処理部、１０２  シミュレーション処理部、
１０４  送信処理部、１０６  受信処理部、１０８  認証処理部、１１０  比較処理部、
１１２  表示制御部、１１４  成績評価部、１１６  アップロード処理部、
１３０  設定変更部、１６０  操作部、１７０  記憶部、
１７２  走行特性データ記憶部、１７３  コースデータ記憶部、
１７４  走行制御データ記憶部、１７８  描画バッファ、
１９０  タッチパネル型表示部、１９１  表示部、１９２  音出力部、
１９４  携帯型情報記憶装置、１９６  通信部、
２００Ｄ、３００Ｄ、４００Ｄ  ガイド溝部(溝部)、
３００  回路基板、３１０  制御部、３３０  記憶部、３３２  走行制御データ記憶部、３３４  走行検知データ記憶部、３４０  発光素子駆動部、３５０  駆動部、
３６０  センサコントローラ、３７０  外部インターフェース部、４００  ゲーム装置
【図１】
2010167148.tif 000003
【図２】
2010167148.tif 000004
【図３】
2010167148.tif 000005
【図４】
2010167148.tif 000006
【図５】
2010167148.tif 000007
【図６】
2010167148.tif 000008
【図７】
2010167148.tif 000009
【図８】
2010167148.tif 000010
【図９】
2010167148.tif 000011
【図１０】
2010167148.tif 000012
【図１１】
2010167148.tif 000013
【図１２】
2010167148.tif 000014
【図１３】
2010167148.tif 000015
【図１４】
2010167148.tif 000016
【図１５】
2010167148.tif 000017
【図１６】
2010167148.tif 000018
【図１７】
2010167148.tif 000019
【図１８】
2010167148.tif 000020
【図１９】
2010167148.tif 000021
【図２０】
2010167148.tif 000022
【図２１】
2010167148.tif 000023
【図２２】
2010167148.tif 000024
【図２３】
2010167148.tif 000025
【図２４】
2010167148.tif 000026
【図２５】
2010167148.tif 000027
【図２６】
2010167148.tif 000028
【図２７】
2010167148.tif 000029
【図２８】
2010167148.tif 000030
【図２９】
2010167148.tif 000031
【図３０】
2010167148.tif 000032
【図３１】
2010167148.tif 000033
【図３２】
2010167148.tif 000034