(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-28
(45)【発行日】2023-08-07
(54)【発明の名称】情報処理装置、情報処理方法、および、情報媒体
(51)【国際特許分類】
A63H 17/395 20060101AFI20230731BHJP
A63H 18/02 20060101ALI20230731BHJP
A63H 18/16 20060101ALI20230731BHJP
A63H 30/02 20060101ALI20230731BHJP
A63H 30/04 20060101ALI20230731BHJP
【FI】
A63H17/395
A63H18/02 D
A63H18/16 A
A63H30/02 C
A63H30/04 A
(21)【出願番号】P 2021203674
(22)【出願日】2021-12-15
(62)【分割の表示】P 2018531747の分割
【原出願日】2017-05-18
【審査請求日】2022-01-13
(32)【優先日】2016-08-04
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2016-10-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】中山 哲法
(72)【発明者】
【氏名】田中 章愛
(72)【発明者】
【氏名】アンドレ アレクシー
【審査官】井上 香緒梨
(56)【参考文献】
【文献】米国特許出願公開第2010/0304640(US,A1)
【文献】特開平02-167194(JP,A)
【文献】特開2007-209535(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63H 17/00-21/04
A63H 29/00-31/00
G09B 1/00-19/24
A63F 9/00-9/34
G05D 1/00-1/12
G06T 1/00-1/40
G06T 3/00-5/50
G06T 9/00-9/40
(57)【特許請求の範囲】
【請求項1】
平面視で前方の辺、後方の辺、および2つの側方の辺を含む外形を有する底面と、
前記底面と対向する上面と、
前記上面と前記底面とを接続する側面と、
前記底面から露出し、互いに対向するように配置される2つの車輪と、
前記2つの車輪を駆動するモータと、
前記底面に配置され、走行時に前記2つの車輪とともに接地する凸部と、
前記底面に配置されるカメラと、
を含む移動体であって、
前記凸部はスイッチであり、
前記カメラは、前記移動体が走行するマットに印刷された配列パターンであって、x座
標およびy座標を含む位置情報を示す配列パターンを読み取り、
前記モータの回転による移動は、前記読み取られた配列パターンが示す位置情報に基づ
いて制御される、
移動体。
【請求項2】
請求項1に記載の移動体において、
前記凸部は、前記2つの車輪より前方に設けられる、
移動体。
【請求項3】
請求項2に記載の移動体において、
前記凸部は、前記2つの車輪より前方かつ、前記車輪が並ぶ方向でみて前記2つの車輪
の間の領域に設けられる、
移動体。
【請求項4】
請求項3に記載の移動体において、
前記カメラは、前記車輪が並ぶ方向でみて、前記凸部より前記底面の中央から離れて配
置される、
移動体。
【請求項5】
請求項1から4のいずれか1項に記載の移動体において、
前記上面には、玩具を取り付け可能な取付け部が設けられる、
移動体。
【請求項6】
請求項
5に記載の移動体において、
前記取付け部は電気的なインタフェースを含み、
前記移動体は前記インタフェースを介して前記玩具の動作を制御可能に構成される、
移動体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法、および、情報媒体に関する。
【背景技術】
【0002】
従来、実物体を用いた遊びやゲームなどが各種提案されている。例えば、複数のブロックや部品を用いて立体物を組み立てることが可能な玩具が提案されている。
【0003】
例えば、下記特許文献1には、プレイフィールドの撮像結果に基づいて、当該プレイフィールド上に位置する実物体の像を検出または追跡する技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、所定の配列パターンに対応する位置情報に適応的に移動体の動作を制御することは考慮されていなかった。
【0006】
そこで、本開示では、所定の配列パターンに対応する位置情報に適応的に移動体の動作を制御することが可能な、新規かつ改良された情報処理装置、情報処理方法、および、情報媒体を提案する。
【課題を解決するための手段】
【0007】
本開示によれば、所定の配列パターンを読み取るように構成されたセンサから位置情報を取得する情報取得部と、前記位置情報に基づいて実空間における移動を含む第1の移動体の動作を制御する動作制御部と、を備える、情報処理装置が提供される。
【0008】
また、本開示によれば、所定の配列パターンを読み取るように構成されたセンサから位置情報を取得することと、前記位置情報に基づいて実空間における移動を含む第1の移動体の動作をプロセッサが制御することと、を含む、情報処理方法が提供される。
【0009】
また、本開示によれば、複数の異なるパターンにより実空間に関する位置情報を定義し、かつ、第1の面積を有する第1の配列パターンと、移動体の動作に関する制御情報を定義し、かつ、前記第1の面積よりも小さい第2の面積を有する第2の配列パターンと、を備える、情報媒体が提供される。
【発明の効果】
【0010】
以上説明したように本開示によれば、所定の配列パターンに対応する位置情報に適応的に移動体の動作を制御することができる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【0011】
【
図1】本開示の各実施形態に共通する情報処理システムの構成例を示した説明図である。
【
図2】各実施形態に係る台車20の底面図の例である。
【
図3】各実施形態に係る台車20の正面図の例である。
【
図4】各実施形態に係る台車20の平面図の例である。
【
図5】各実施形態に係る台車20の側面図の例である。
【
図6】台車20に玩具40が取付けられる例を示した図である。
【
図7】台車20の機能構成例を示したブロック図である。
【
図8】第1の実施形態に係る情報処理装置10の構成例を示した機能ブロック図である。
【
図9】第1の実施形態に係るマットIDの特定例を示した図である。
【
図10】第1の実施形態に係るマットIDの特定例を示した図である。
【
図11】第1の実施形態に係るマットIDの特定例を示した図である。
【
図12】第1の実施形態に係るマットIDの特定例を示した図である。
【
図13】第1の実施形態に係るマットIDの特定例を示した図である。
【
図14】第1の実施形態に係るマットIDの特定例を示した図である。
【
図15】第1の実施形態に係るマットIDの特定例を示した図である。
【
図16】第1の実施形態に係るマットIDの特定例を示した図である。
【
図17】第1の実施形態に係るマットIDの特定例を示した図である。
【
図18】第1の実施形態に係る処理の流れを示したシーケンス図である。
【
図19】第2の実施形態の課題を示した説明図である。
【
図20】第2の実施形態に係る情報処理装置10の構成例を示した機能ブロック図である。
【
図21】第2の実施形態に係る台車20の移動制御例を示した図である。
【
図22】第2の実施形態に係る台車20の移動制御例を示した図である。
【
図23】第2の実施形態に係る台車20の移動制御例を示した図である。
【
図24】第2の実施形態に係る台車20の移動制御例を示した図である。
【
図25】第3の実施形態に係る、異常発生時における台車20の移動例を示した図である。
【
図26】第3の実施形態に係る、異常発生時における台車20の移動例を示した図である。
【
図27】第4の実施形態に係る複数のマット30の結合例を示した図である。
【
図28】結合された複数のマット30上を台車20が移動する例を示した図である。
【
図29】第4の実施形態に係る個々のマット30の角の構造の例を示した図である。
【
図30】第4の実施形態に係る台車20がマット30aの端に位置する際の、マット30aと別のマット30bとの結合の有無の判定例を示した図である。
【
図31】第4の実施形態に係る台車20がマット30aの端に位置する際の、マット30aと別のマット30bとの結合の有無の判定例を示した図である。
【
図32】第5の実施形態に係る、マット30に対するポリゴン50の追加例を示した図である。
【
図33】第5の実施形態に係る、マット30に対するポリゴン50の追加例を示した図である。
【
図34】第5の実施形態に係る、マット30に対するポリゴン50の追加例を示した図である。
【
図35】第5の実施形態に係る、設定済みのコースの変更例を示した図である。
【
図36】第5の実施形態に係る、設定済みのコースの変更例を示した図である。
【
図37】第5の実施形態に係る、マット30に対するポリゴン50の追加例を示した図である。
【
図38】第5の実施形態に係る、マット30に対する、特別な情報が記録された紙44の配置例を示した図である。
【
図39】第5の実施形態に係る、マット30に対する、特別な情報が記録された紙44の配置例を示した図である。
【
図40】紙44上に台車20が位置する例を示した図である。
【
図41】第6の実施形態に係る、複数のマット30で構成された本70の例を示した図である。
【
図42】第6の実施形態に係る、マット30内の穴からの台車20の移動例を示した図である。
【
図44】第8の実施形態に係るゲーム選択メニューの例を示した図である。
【
図46】第9の実施形態に係る情報処理装置10の構成例を示した機能ブロック図である。
【
図47】第9の実施形態に係る、台車20の略中心の位置情報の特定例を示した図である。
【
図48】第9の実施形態に係る、台車20の略中心の位置情報の特定例を示した図である。
【
図49】第10の実施形態に係る、操作部124と台車20とのペアリングの例を示した図である。
【
図50】第11の実施形態に係るサッカーゲームのプラットフォームの例を示した図である。
【
図51】第11の実施形態に係るボール用台車24の底面図の例である。
【
図52】第11の実施形態に係る選手用台車20の動作の制御例を示した図である。
【
図53】第11の実施形態に係るファウルプレイの判定例を示した図である。
【
図54】第12の実施形態に係るレースゲームの例を示した図である。
【
図55】第12の実施形態に係る、アイテムに対応するステッカー44がマット30上に配置されている例を示した図である。
【
図56】第12の実施形態に係る、アイテムに対応するステッカー44がマット30上に配置されている例を示した図である。
【
図57】第12の実施形態に係る、他の台車20から攻撃された際の台車20の動作の制御例を示した図である。
【
図58】第12の実施形態に係る、レースゲーム時の環境条件を変更するためのタッチメニュー54の例を示した図である。
【
図59】第13の実施形態に係る、台車20の勝敗の判定例を示した図である。
【
図60】第13の実施形態に係る、台車20の勝敗の判定例を示した図である。
【
図61】第13の実施形態に係る、玩具40の回転を伴うバトルの例を示した図である。
【
図62】第13の実施形態に係る、台車20に関連付けられているスタミナ値に基づいた台車20の制御例を示した図である。
【
図63】第13の実施形態に係る、台車20に関連付けられる属性情報を変更するための属性カード56の例を示した図である。
【
図64】第13の実施形態に係る、両面に配列パターンが印刷されている属性カード58の例を示した図である。
【
図65】第13の実施形態に係る、属性カード58に記録されている情報と台車20との関連付けの例を示した図である。
【
図66】第14の実施形態に係るルール選択メニュー60の例を示した図である。
【
図67】第15の実施形態に係る迷路ゲームの例を示した図である。
【
図68】第15の実施形態に係るタイル62の例を示した図である。
【
図69】第16の実施形態に係る城破壊ゲームの例を示した図である。
【
図70】第17の実施形態に係る2台の台車20の第1の協調制御例を示した図である。
【
図71】第17の実施形態に係る2台の台車20の第2の協調制御例を示した図である。
【
図72】第17の実施形態に係る2台の台車20の第2の協調制御例を示した図である。
【
図73】第17の実施形態に係る2台の台車20の第2の協調制御例を示した図である。
【
図74】第17の実施形態に係る2台の台車20の第3の協調制御例を示した図である。
【
図75】第17の実施形態に係る2台の台車20の第3の協調制御例を示した図である。
【
図76】第17の実施形態に係る2台の台車20の第3の協調制御例を示した図である。
【
図77】第17の実施形態に係る2台の台車20の第4の協調制御例を示した図である。
【
図78】第17の実施形態に係る2台の台車20の位置関係の変更例を示した図である。
【
図79】第17の実施形態に係る2台の台車20の位置関係の変更不可能時の例を示した図である。
【
図80】第17の実施形態に係る台車20の移動方向の補正例を示した図である
【
図81】台車20が他の物体と接触した様子を示した図である。
【
図82】各実施形態に共通する情報処理装置10のハードウェア構成例を示した説明図である。
【
図83】本開示の変形例1に係る、近距離無線通信部230が設置された台車20の例を示した図である。
【
図84】台車20をユーザインターフェースとして利用する例を示した図である。
【
図85】台車20をユーザインターフェースとして利用する例を示した図である。
【
図86】本開示の変形例3に係るマット30の形状の例を示した図である。
【
図87】本開示の変形例3に係るマット30の形状の例を示した図である。
【
図88】本開示の変形例4に係るマット30の形状の例を示した図である。
【
図89】本開示の変形例4に係るマット30の形状の例を示した図である。
【
図90】本開示の変形例5に係るマット90の形状の例を示した図である。
【
図91】本開示の変形例5に係るマット90の形状の例を示した図である。
【
図92】本開示の変形例5に係るマット90の形状の例を示した図である。
【
図93】本開示の変形例5に係るマット90の形状の例を示した図である。
【
図94】本開示の変形例5に係るマット90の形状の例を示した図である。
【発明を実施するための形態】
【0012】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0013】
また、本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なるアルファベットを付して区別する場合もある。例えば、実質的に同一の機能構成を有する複数の構成を、必要に応じて台車20aおよび台車20bのように区別する。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。例えば、台車20aおよび台車20bを特に区別する必要が無い場合には、単に台車20と称する。
【0014】
また、以下に示す項目順序に従って当該「発明を実施するための形態」を説明する。
1.情報処理システムの構成
2.第1の実施形態
3.第2の実施形態
4.第3の実施形態
5.第4の実施形態
6.第5の実施形態
7.第6の実施形態
8.第7の実施形態
9.第8の実施形態
10.第9の実施形態
11.第10の実施形態
12.第11の実施形態
13.第12の実施形態
14.第13の実施形態
15.第14の実施形態
16.第15の実施形態
17.第16の実施形態
18.第17の実施形態
19.ハードウェア構成
20.変形例
【0015】
<<1.情報処理システムの構成>>
まず、本開示の各実施形態に共通する情報処理システムの構成例について、
図1を参照して説明する。
図1に示すように、各実施形態に共通する情報処理システムは、情報処理装置10、一以上の台車(Trolley)20、および、マット30を有する。
【0016】
<1-1.情報処理装置10>
情報処理装置10は、一以上の台車20の動作を制御する装置である。さらに、情報処理装置10は、ゲームアプリケーションなどの各種のアプリケーションの実行を制御し得る。例えば、情報処理装置10は、ゲームアプリケーションの実行を制御し、そして、当該ゲームアプリケーションの実行中に一以上の台車20の動作を制御する。なお、
図1において情報処理装置10は、台車20とは別のハードウェアに設けられているが、情報処理装置10の、台車20を制御する構成の少なくとも一部は台車20に設けられても良い点に留意されたい。
【0017】
図1に示したように、情報処理装置10は、操作部122、表示部124、および、カセット接続部128を有し得る。
【0018】
{1-1-1.カセット接続部128}
カセット接続部128は、カセット22を接続するための機構である。カセット22には、例えば、各種アプリケーション(ゲームアプリケーションなど)のバイナリデータ、映像データ、または、音楽データなどが格納されている。
【0019】
例えば、カセット接続部128に対してカセット22がセットされると、後述する制御部100は、カセット22に格納されているアプリケーションを読み出し、そして、当該アプリケーションを起動する。
【0020】
{1-1-2.操作部122}
操作部122は、例えば台車20の動作などに関する、ユーザの操作を受け付ける。詳細については後述するが、個々の操作部122は、個々の台車20と関連付けられ得る。この場合、操作部122は、操作部122に関連付けられている台車20に対する操作を受け付け得る。そして、情報処理装置10は、当該操作部122から受信される操作情報に従って、該当の台車20の動作を制御し得る。
【0021】
{1-1-3.表示部124}
表示部124は、例えば、LCD(Liquid Crystal Display)、または、OLED(Organic Light Emitting Diode)などを含んで構成され得る。例えば、表示部124は、タッチディスプレイとして構成されてもよい。
【0022】
表示部124は、後述する制御部100の制御に従って、各種の情報(例えば、起動中のアプリケーションに関するステータス情報や、各種の通知情報など)を表示する。
【0023】
<1-2.マット30>
マット30は、本開示に係る第1のシート状媒体(情報媒体)の一例である。マット30には、所定の配列パターンが印刷(記録)されている。当該所定の配列パターンは、複数の異なるパターンによりマット30上の位置情報を定義する第1の配列パターンを有し得る。このマット30上の位置情報は、実空間に関連付けられた位置情報と見做され得る。例えば、マット30には、格子状の複数の単位領域が定められており、そして、単位領域ごとに、当該単位領域の位置情報に関連付けられているパターンが印刷(記録)されている。なお、後述の第6の実施形態において開示している通り、情報媒体は本の形状を有しても良い。より具体的には、本開示に係る情報媒体は、所定の配列パターンを有する面を有していれば良く、所定の配列パターンを有する面は平面に限定されない点に留意されたい。また、所定の配列パターンは、可視光を反射するパターンと不可視光を反射するパターンのいずれであっても良く、これらの組み合わせであっても良い。不可視光を反射するパターンを採用する場合、例えば、赤外光を反射するパターンがマット30に印刷され、かつ、マット30に対するIR(Infrared)センサのセンシングにより当該パターンが認識されれば良い。
【0024】
さらに、当該所定の配列パターンは、台車20の動作に関する制御情報を定義する第2の配列パターンを含んでもよい。例えば、当該制御情報は、台車20の移動速度、動作パターンおよび回転動作のうちの少なくとも一つを制御するための情報を含む。
【0025】
<1-3.台車20>
{1-3-1.外観構成}
台車20は、本開示に係る移動体の一例である。台車20は、操作部122に対するユーザの操作、または、情報処理装置10の制御に基づいて移動を含む動作(走行など)をする。
図2~
図5は、台車20の外観構成の例を示した図である。
図2は、台車20の底面図の例である。
図3は、台車20の正面図の例である。
図4は、台車20の平面図の例である。
図5は、台車20の側面図の例である。なお、本開示において述べる“移動”は、主に水平方向における移動体(例えば台車20)の移動を指すものと見做されても良い。
【0026】
図2に示したように、台車20は、電源スイッチ250、位置センサ228a、スイッチ222a、および、2個の車輪254を有する。さらに、台車20は、車輪254ごとに、当該車輪254を回転させるモータ(図示省略)を一つずつ有し得る。例えば、スイッチ222a、および、2個の車輪254の3点が接地した状態で、台車20は、台車20が位置する面上を走行する。
【0027】
(1-3-1-1.センサ部228)
センサ部228は、位置センサ228aを含む。位置センサ228aは、イメージセンサ(カメラ)を含んで構成され得る。例えば、マット30上に台車20が置かれた場合、位置センサ228aは、マット30を撮像し、そして、撮影された画像に対して例えばデコード等の処理を行うことにより、マット30に記録されている配列パターンを読み取ることにより、マット30上の位置情報を取得する。より詳細には、位置センサ228aは、マット30内の複数の単位領域のうち位置センサ228aの直下に位置する単位領域に記録されている配列パターンを読み取る。
【0028】
図2に示したように、位置センサ228aは、台車20の水平方向において台車20の略中心から離間して取り付けられ得る。さらに、位置センサ228aは、台車20の水平方向において台車20の前方に取り付けられ得る。
【0029】
図示を省略しているが、センサ部228は、さらに、加速度センサ、モータの回転センサ、および、力覚センサを有し得る。例えば、力覚センサは、外部から台車20に加えられる力の強さをセンシングし得る。一例として、スイッチ222aの代わりに、力覚センサが設置されてもよい。
【0030】
(1-3-1-2.取付け部260)
図3~
図5に示したように、台車20の上面には取付け部260が設置され得る。取付け部260は、所定の電気的なインターフェースから構成される。例えば、取付け部260は、PWM(Pulse Width Modulation)用インターフェース、I2C(Inter-Integrated Circuit)バス、SPI(Serial Peripheral Interface)、または、GPIO(General Purpose Input/Output)などを含む。
【0031】
図6に示したように、取付け部260には、玩具40が取付けられ得る。玩具40は、一以上のブロック(Construction set)が組み合わされて構成される。さらに、玩具40は、例えば、LED、モータ、および、ブザーなどを有してもよい。
【0032】
取付け部260に玩具40が取付けられた場合、台車20は、玩具40の動作(例えば、LEDの発光、モータの回転、または、音の出力など)を制御することができる。詳細については後述するが、例えば、所定の配列パターン(第4の配列パターンとも称する)が記録されている紙(カードなど)などに対してユーザが玩具40、または、玩具40が乗っている台車20を接近または接触させると、当該玩具40または当該台車20と第4の配列パターンとが関連付けられ得る。この場合、情報処理装置10または台車20は、当該第4の配列パターンに対応する動作パターンで玩具40の動作を制御し得る。
【0033】
{1-3-2.機能構成}
ここで、
図7を参照して、台車20の機能構成について説明する。
図7は、台車20の機能構成例を示したブロック図である。
図7に示したように、台車20は、制御部200、通信部220、入力部222、表示部224、音声出力部226、センサ部228、近距離無線通信部230、駆動部232、および、サーボモータ234を有する。なお、上記の説明と同一の内容については説明を省略する。
【0034】
(1-3-2-1.制御部200)
制御部200は、例えば、CPU(Central Processing Unit)などの処理回路を含んで構成され得る。制御部100は、台車20の動作を統括的に制御する。
【0035】
例えば、制御部100は、センサ部228がマット30から読み取った位置情報を情報処理装置10へ通信部220に送信させる。なお、センサ部228の代わりに、制御部100が、センサ部228がマット30から読み取った配列パターンに対応する位置情報を特定することも可能である。
【0036】
(1-3-2-2.入力部222)
入力部222は、台車20に対するユーザの操作を受け付ける。入力部222は、スイッチ222aや、押しボタンなどを含み得る。
【0037】
(1-3-2-3.表示部224)
表示部224は、例えばLED(4色LEDなど)、LCD、またはOLEDなどから構成される。表示部224は、制御部200の制御に従って各種の情報を表示する。例えばゲームアプリケーションの起動中に、表示部224は、該当の台車20に関連する各種の通知情報などを表示する。
【0038】
(1-3-2-4.音声出力部226)
音声出力部226は、例えばスピーカーなどから構成される。音声出力部226は、制御部200の制御に従って、各種の音声を出力する。例えばゲームアプリケーションの起動中に、音声出力部226は、該当の台車20に関連する各種の通知音(ブザーなど)や効果音などを出力する。
【0039】
(1-3-2-5.近距離無線通信部230)
近距離無線通信部230は、例えば、NFC(Near Field Communication)のリーダおよびライタを含む。例えば、近距離無線通信部230は、近距離無線通信部230に近づけられたNFCタグから情報を読み取ったり、当該NFCタグへ情報の書き込みなどを行う。
【0040】
(1-3-2-6.駆動部232)
駆動部232は、台車20を駆動するための機構である。駆動部232は、例えば、左右一個ずつのモータを含み得る。これらのモータは、制御部200の制御に従って回転し得る。これにより、台車20の個々の車輪254が回転することにより、台車20は、台車20が位置する面上を移動し得る。
【0041】
(1-3-2-7.サーボモータ234)
サーボモータ234は、台車20に含まれるサーボ機構において位置や速度などを制御するためのモータである。例えば、制御部200の制御に従ってサーボモータ234が回転することにより、該当の台車20が他の物体に衝突(蹴るなど)したり、または、当該台車20が自ら転倒する。
【0042】
以上、本開示の各実施形態に共通する情報処理システムの構成について説明した。以下、各実施形態について順次詳細に説明を行う。
【0043】
<<2.第1の実施形態>>
まず、本開示に係る第1の実施形態について説明する。まず、第1の実施形態を創作するに至った背景について説明する。通常、ゲームやアプリケーションの種類ごとに、マット30の種類(例えば、マット30のイラストなど)が異なることが望ましい。この場合、情報処理装置10は、ユーザが利用中のマット30の種類を特定可能であることが必要となる。
【0044】
後述するように、第1の実施形態によれば、一以上の台車20がマット30上に載置されることにより、情報処理装置10は、該当のマットの種類を特定することが可能となる。
【0045】
<2-1.構成>
次に、第1の実施形態に係る構成について詳細に説明する。
図8は、第1の実施形態に係る情報処理装置10の構成例を示した機能ブロック図である。
図8に示すように、情報処理装置10は、制御部100、通信部120、操作部122、表示部124、音声出力部126、カセット接続部128、および、記憶部130を有する。
【0046】
{2-1-1.制御部100}
制御部100は、例えば、後述するCPU150などの処理回路を含んで構成され得る。制御部100は、情報処理装置10の動作を統括的に制御する。また、
図8に示すように、制御部100は、情報取得部102、マット情報特定部104、動作制御部106、および、出力制御部108を含む。
【0047】
{2-1-2.情報取得部102}
情報取得部102は、台車20によりセンシングされた情報を台車20から取得する。例えば、情報取得部102は、台車20がマット30から読み取った位置情報や制御情報を台車20から受信することにより取得する。
【0048】
さらに、情報取得部102は、操作部122に対して入力されたユーザの操作情報を操作部122から取得し得る。さらに、情報取得部102は、カセット接続部128に接続されたカセットから読み出された情報(例えばアプリケーションのバイナリデータや、音楽データなど)をカセット接続部128から取得し得る。
【0049】
{2-1-3.マット情報特定部104}
マット情報特定部104は、情報取得部102により取得された情報に基づいて、台車20が載置されているマット30の識別情報(マットID)を特定する。
【0050】
(2-1-3-1.特定例1)
例えば、スタート位置がマット30に定められており、かつ、当該スタート位置の位置情報とマットIDとが一対一に予め関連付けられ得る。この場合、例えば、当該スタート位置に台車20が置かれ、かつ、操作部122に含まれるスタートボタンが押下された際には、マット情報特定部104は、台車20が当該スタート位置から取得した位置情報に関連付けられているマットIDを、該当のマット30のマットIDとして特定し得る。例えば、
図9に示したように、マット情報特定部104は、マット30上のスタート位置から台車20aが取得した位置情報(5,2)に関連付けられている「Mat23」というマットIDを、台車20aが置かれているマット30のマットIDとして特定する。
【0051】
(2-1-3-2.特定例2)
または、2台の台車20のスタート位置がマット30に定められており、かつ、当該2つのスタート位置の位置情報の組み合わせとマットIDとが一対一に予め関連付けられ得る。この場合、当該2つのスタート位置の各々に一台ずつ台車20が置かれ、かつ、操作部122に含まれるスタートボタンが押下された際には、マット情報特定部104は、当該2台の台車20の各々がマット30からそれぞれ取得した位置情報の組み合わせに関連付けられているマットIDを、該当のマット30のマットIDとして特定し得る。
図10に示した例では、マット30上の第1のスタート位置から台車20aが取得した位置情報が(5,2)であり、かつ、マット30上の第2のスタート位置から台車20bが取得した位置情報が(10,5)である。この場合、マット情報特定部104は、(5,2)と(10,5)との組み合わせに関連付けられている「Mat23」というマットIDを、2台の台車20が置かれているマット30のマットIDとして特定する。
【0052】
(2-1-3-3.特定例3)
または、アプリケーション(ゲームなど)のスタート時の2台の台車20の位置情報および角度情報の組み合わせとマットIDとが一対一に予め関連付けられていてもよい。この場合、マット30上の2つのスタート位置の各々に、それぞれ予め指定された角度で台車20が一台ずつ置かれ、かつ、例えば操作部122に含まれるスタートボタンが押下された際には、マット情報特定部104は、当該2台の台車20の各々がマット30からそれぞれ取得した位置情報および角度情報の組み合わせに関連付けられているマットIDを、該当のマット30のマットIDとして特定し得る。
図11に示した例では、マット30上の第1のスタート位置から台車20aが取得した位置情報が(5,2)であり、マット30に対する台車20aの角度が「45度」であり、かつ、マット30上の第2のスタート位置から台車20bが取得した位置情報が(10,5)であり、マット30に対する台車20bの角度が「0度」である。この場合、マット情報特定部104は、これらの情報の組み合わせに関連付けられている「Mat23」というマットIDを、2台の台車20が置かれているマット30のマットIDとして特定する。この特定例3によれば、マットIDの判定のロバスト性を向上させることができる。
【0053】
(2-1-3-4.特定例4)
または、(位置情報の代わりに)マットIDが記録されている、スタート位置またはスタート領域がマット30に印刷されていてもよい。または、スタート領域であることを示す情報(文字列や画像)が印刷されており、かつ、マットIDが記録されているシート状媒体(紙やステッカーなど)がマット30上に貼られてもよい。
【0054】
これらの場合、例えば
図12に示したように、マット情報特定部104は、スタート領域42(つまり、マット30に印刷されているスタート領域、または、マット30に貼られている、スタート領域であることを示すシート状媒体)上に台車20が置かれたタイミングにおいて台車20がスタート領域42から読み取ったマットIDを、該当のマット30のマットIDとして特定し得る。
図12および
図13に示したように、スタート領域42はマット30内に配置されてもよいし、または、
図14に示したように、スタート領域42はマット30外に配置されてもよい。
【0055】
(2-1-3-5.特定例5)
または、マット30内の所定の単位領域(例えば(0,0)など)上にマットIDが記録されていてもよい。この場合、例えばマットIDがまだ特定されていない場合、
図15または
図16に示したように、台車20は、まず、当該所定の単位領域300へ自動的に移動し得る。そして、マット情報特定部104は、台車20が当該所定の単位領域300から読み取ったマットIDを、台車20が置かれているマット30のマットIDとして特定し得る。
【0056】
(2-1-3-6.特定例6)
または、マット30内の個々の単位領域には、当該単位領域の位置と所定の関数とを用いて符号化された座標値が記録されていてもよい。さらに、連続した複数の単位領域に関連付けられている当該符号化された座標値の組み合わせとマットIDとが一対一に関連付けられていてもよい。この場合、例えばマット30において予め定められているスタート位置に台車20が置かれた際には、台車20は、まず、連続した複数の単位領域を自動的に移動し得る。そして、マット情報特定部104は、台車20が当該連続した複数の単位領域の各々から読み取った、符号化された座標値の組み合わせに関連付けられているマットIDを、台車20が置かれているマット30のマットIDとして特定し得る。
【0057】
なお、当該連続した複数の単位領域に関して、方向は特に限定されない。例えば、
図17に示した矢印Aのように、台車20は水平方向に移動するように定められていてもよいし、垂直方向に移動するように定められていてもよいし、または、
図17に示した矢印Bのように、対角線的に移動するように定められていてもよい。
【0058】
{2-1-4.動作制御部106}
動作制御部106は、情報取得部102により取得された台車20に関する情報(位置情報、角度情報、または、加速度のセンシング結果など)、および、マット情報特定部104により特定されたマットIDに基づいて、台車20の動作を制御する。例えば、動作制御部106は、取得された台車20に関する情報、および、特定されたマットIDに基づいて、台車20に対して移動、表示、および/または、音の出力などを制御する。
【0059】
また、動作制御部106は、操作部122に対するユーザの操作情報に基づいて、台車20の動作を制御する。例えば、当該操作情報が移動方向を示す場合には、動作制御部106は、該当の移動方向へ台車20を移動させる。
【0060】
{2-1-5.出力制御部108}
出力制御部108は、情報取得部102により取得された情報、および、マット情報特定部104により特定されたマットIDに基づいて、各種の情報の出力を制御する。例えば、出力制御部108は、情報取得部102に取得された該当のアプリケーションの表示情報(例えば、メニュー画面、当該アプリケーションのステータス情報、または、通知情報など)を表示部124に表示させる。また、出力制御部108は、情報取得部102に取得された該当のアプリケーションの音データ(例えば、該当のアプリケーションのBGM(background music)、警告音、または、効果音など)を音声出力部126に出力させる。
【0061】
{2-1-6.通信部120}
通信部120は、例えば、後述する通信装置166を含んで構成され得る。通信部120は、他の装置(台車20など)との間で情報の送受信を行う。例えば、通信部120は、個々の台車20との間で無線通信(例えばBLE(Bluetooth(登録商標) Low Energy)やWi-Fi(登録商標)など)により情報の送受信を行う。一例として、通信部120は、動作制御部106の制御に従って、動作制御情報を台車20へ送信する。また、通信部120は、台車20がセンシングした情報(位置情報や加速度など)を該当の台車20から受信する。
【0062】
{2-1-7.音声出力部126}
音声出力部126は、例えば、後述する出力装置162を含んで構成され得る。音声出力部126は、出力制御部108の制御に従って、音を出力する。
【0063】
{2-1-8.記憶部130}
記憶部130は、例えば、後述するストレージ装置164を含んで構成され得る。記憶部130は、各種のデータや各種のソフトウェアを記憶する。
【0064】
{2-1-9.変形例}
なお、第1の実施形態に係る情報処理装置10の構成は前述した例に限定されない。例えば、表示部124、音声出力部126、および、カセット接続部128のうちのいずれか一以上は情報処理装置10に含まれなくてもよい。一例として、表示部124は、例えばスマートフォン、タブレット端末、または、テレビジョン受信機などであってもよく、この場合、表示部124と情報処理装置10とは有線通信または無線通信により通信可能に構成され得る。
【0065】
また、
図1では、操作部122がケーブルを介して情報処理装置10と接続される例を示したが、かかる例に限定されない。操作部122と情報処理装置10とは分離されており、かつ、無線通信(例えばBLEやWi-Fi(登録商標)など)により通信可能に構成されていてもよい。
【0066】
<2-2.処理の流れ>
以上、第1の実施形態に係る構成について説明した。次に、第1の実施形態に係る処理の流れについて、
図18を参照して説明する。
図18は、第1の実施形態に係る処理の流れの一例を示したシーケンス図である。
【0067】
図18に示したように、まず、ユーザは、カセットを情報処理装置10のカセット接続部128に接続する。そして、カセット接続部128は、当該カセットに記憶されているゲームアプリケーションのデータを読み出す。続いて、制御部100は、読み出されたデータに基づいてゲームアプリケーションを起動する(S101)。
【0068】
その後、ユーザは、マット30上に置かれた台車20を移動させるために操作部122に対して操作を行う。そして、情報処理装置10の情報取得部102は、操作部122が受け付けた操作情報を操作部122から受信することにより取得する(S103)。
【0069】
続いて、動作制御部106は、取得された操作情報に基づいて、台車20の動作を制御するための制御情報を生成する。そして、通信部120は、動作制御部106の制御に従って、当該制御情報を該当の台車20へ送信する(S105)。
【0070】
その後、台車20は、受信された制御情報に従ってマット30上を移動する(S107)。そして、台車20は、別の単位領域に移動する度に、当該単位領域に記録されている位置情報を読み取る(S109)。そして、台車20は、読み取った位置情報、および、当該台車20の識別情報を情報処理装置10へ送信する(S111)。
【0071】
その後、情報処理装置10のマット情報特定部104は、受信された位置情報に基づいて、該当の台車20が置かれているマット30のマットIDを特定する(S113)。
【0072】
続いて、動作制御部106は、S111で受信された位置情報と、S113で特定されたマットIDとに基づいて、該当の台車20の動作を制御するための動作制御情報を生成する(S115)。そして、通信部120は、動作制御部106の制御に従って、当該動作制御情報を該当の台車20へ送信する(S117)。
【0073】
その後、該当の台車20は、受信された動作制御情報に従って動作する(S119)。
【0074】
<2-3.効果>
以上説明したように、第1の実施形態に係る情報処理装置10は、マット30上に載置された台車20がマット30から読み取る情報(位置情報など)に基づいて、該当のマット30のマットIDを特定することができる。このため、ゲームアプリケーションの種類ごとに異なる種類のマット30が作成される場合であっても、情報処理装置10は、ユーザが利用中のマット30の種類を正確に特定することができる。そして、マット30の種類に応じて適切な処理を実行することができる。
【0075】
<<3.第2の実施形態>>
以上、第1の実施形態について説明した。次に、第2の実施形態について説明する。まず、第2の実施形態を創作するに至った背景について説明する。前述したように、基本的に、マット30内の個々の単位領域には位置情報がそれぞれ記録されている。
【0076】
ところで、
図19に示したように、ゲームの最中に台車20がマット30外へ移動してしまうことが生じ得る。このような場合、台車20は位置情報を取得できなくなるので、情報処理装置10も台車20の位置情報が分からなくなり、その結果、ゲームの継続が困難になり得る。
【0077】
後述するように、第2の実施形態によれば、台車20がマット30外へ移動してしまった場合に、台車20をマット30内へ適切に戻すことが可能である。
【0078】
<3-1.構成>
次に、第2の実施形態に係る構成について説明する。
図20は、第2の実施形態に係る情報処理装置10の構成例を示した機能ブロック図である。
図20に示すように、第2の実施形態に係る情報処理装置10は、(
図8に示した)第1の実施形態と比較して、外力検出部110をさらに有する。以下では、第1の実施形態とは異なる機能を有する構成要素についてのみ説明を行う。
【0079】
{3-1-1.外力検出部110}
外力検出部110は、情報取得部102により取得された情報に基づいて、台車20に対する外力の有無、および、外力の強さの程度を検出する。例えば、外力検出部110は、台車20内のモータ回転センサ(センサ部228)によりセンシングされた値の履歴に基づいて、外力の有無、および、外力の強さの程度を検出する。または、外力検出部110は、台車20内の加速度センサ(センサ部228)によりセンシングされた値と、台車20の移動速度の推定結果(つまり、前回位置情報が取得されたタイミングと新たに位置情報が取得されたタイミングとの差に基づいて推定される台車20の移動速度)とを比較することにより、外力の有無、および、外力の強さの程度を検出する。
【0080】
{3-1-2.動作制御部106}
第2の実施形態に係る動作制御部106は、情報取得部102による位置情報の取得に異常がある場合に、所定の位置まで自動的に移動するように台車20を制御する。または、動作制御部106は、情報取得部102による位置情報の取得に異常が発生する直前の台車20の移動方向に基づいて、台車20の移動方向を制御する。ここで、位置情報の取得に異常がある場合の具体例としては、位置情報を取得不可能な場合(例えば台車20がマット30外へ移動した場合など)、前後に取得された位置情報の関係に不整合が生じた場合、または、台車20のセンサ部228の不具合により位置情報を正常に検出できない場合などが挙げられる。例えば、台車20がマット30外へ移動したと判定される場合には、動作制御部106は、マット30内まで移動するように台車20を制御する。
【0081】
(3-1-2-1.制御例1)
一例として、台車20がマット30外へ移動したと判定される場合には、
図21に示した矢印Aのように、動作制御部106は、台車20が再び位置情報を取得可能になるまで台車20をバックさせてもよい。
【0082】
(3-1-2-2.制御例2)
または、台車20がマット30外へ移動したと判定される場合には、
図22に示した矢印Aのように、動作制御部106は、台車20が再び位置情報を取得可能になるまで台車20を所定の半径の円弧状に前進させてもよい。または、
図23に示した矢印Aのように、動作制御部106は、台車20が再び位置情報を取得可能になるまで台車20を(例えば半径を少しずつ大きくしながら)らせん状に前進させてもよい。この制御例2によれば、例えば、後ろに進むことが不自然な形状の玩具40(例えば特殊な生物など)が設置されている台車20がマット30外に位置する場合に、ユーザに自然な印象を与えつつ、当該台車20をマット30内へ移動させることができる。
【0083】
(3-1-2-3.制御例3)
または、台車20がマット30外へ移動したと判定される場合には、動作制御部106は、まず、情報取得部102により取得された、台車20によるセンシング結果に基づいて、台車20とマット30との現在の位置関係を特定し、そして、例えば
図24に示した矢印Aのように、台車20が再び位置情報を取得可能になるまで、特定した位置関係に応じて台車20を移動させてもよい。
【0084】
以下では、台車20とマット30との位置関係の特定方法の具体例について説明する。例えば、動作制御部106は、情報取得部102により取得された、台車20内のモータ回転センサ(センサ部228)によりセンシングされた値の履歴に基づいて、台車20とマット30との現在の位置関係を特定してもよい。一例として、動作制御部106は、最後に台車20が取得した位置情報と、当該位置情報を台車20が取得したタイミングからの台車20内のモータの回転数のセンシング結果の履歴とに基づいて、台車20とマット30との現在の位置関係を特定してもよい。
【0085】
または、動作制御部106は、さらに、外力検出部110による外力の検出結果に基づいて、台車20とマット30との現在の位置関係を特定してもよい。例えば、動作制御部106は、最後に台車20が取得した位置情報と、外力検出部110により検出された外力の強さの程度(例えば加速度の変化量など)とに基づいて、台車20とマット30との現在の位置関係を特定してもよい。
【0086】
<3-2.効果>
以上説明したように、第2の実施形態に係る情報処理装置10は、台車20がマット30外へ移動したと判定される場合に、台車20をマット30内へ適切に戻すことができる。従って、例えばゲームの最中に台車20がマット30外へ移動してしまったとしても、問題なくゲームを継続させることができる。
【0087】
<<4.第3の実施形態>>
以上、第2の実施形態について説明した。次に、第3の実施形態について説明する。まず、第3の実施形態を創作するに至った背景について説明する。前述したように、情報処理装置10と個々の台車20とは基本的に無線通信により通信を行う。このため、仮に、情報処理装置10と台車20との接続が一時的に遮断されると、情報処理装置10は、台車20を制御不能となる。また、一般的に、情報処理装置10と台車20との接続が切れていることをユーザは知ることができないので、ユーザは困惑し得る。
【0088】
後述するように、第3の実施形態によれば、情報処理装置10と台車20との接続が切れていることをユーザに通知することができる。
【0089】
<4-1.台車20>
{4-1-1.動作例1}
第3の実施形態に係る台車20は、情報処理装置10との接続が切れた場合には、
図25に示したように、マット30内の所定の領域310へ自動的に移動することが可能である。ここで、所定の領域310は、マット30に印刷されていてもよい。
図25に示したように、ペアリングの問題の発生時の領域310aだけでなく、例えば、台車20のバッテリ不足の発生時の領域310b、ゲームオーバー時の領域310c、および、その他の異常の発生時の領域310dなどもマット30に印刷されていてもよい。さらに、
図25に示したように、領域310ごとに、当該領域310の種類を示す画像やメッセージが当該領域310と関連付けてマット30に印刷されていたり、または、表示部124に表示されてもよい。これにより、ユーザは、現在異常等が発生していること、および、当該異常の種類を知ることができる。
【0090】
{4-1-2.動作例2}
または、台車20の動きパターンと、当該動きパターンが示す意味とが予め関連付けられていてもよい。例えば、情報処理装置10と台車20との接続が切れた際には、台車20は、「接続の遮断」に関連付けられている動きパターンで自動的に動いてもよい。または、情報処理装置10からの指示などを台車20が待機中である場合には、
図26に示したように、台車20は、(時計のように)チクタクモーションで自動的に動いてもよい。または、台車20のバッテリー不足が生じた際には、台車20は自動的に倒れてもよい。
【0091】
<4-2.効果>
以上説明したように、第3の実施形態によれば、情報処理装置10と台車20との接続が切れた場合に、当該接続が切れていることをユーザに通知することができる。
【0092】
<<5.第4の実施形態>>
以上、第3の実施形態について説明した。次に、第4の実施形態について説明する。まず、第4の実施形態を創作するに至った背景について説明する。
【0093】
基本的に、一枚のマット30のサイズは予め定められている。そこで、例えば
図27に示したように複数のマット30を結合可能であると、マット30のサイズをユーザが自由に拡大可能になるので、望ましい。
【0094】
しかしながら、別々のマット30内の同じ単位領域には、基本的に同一の位置情報が記録されている。このため、台車20がマット30間をまたがる際に、仮に、移動後のマット30に記録されている位置情報がそのまま当該台車20の位置情報として使用されると、当該台車20の位置が誤って認識されてしまう。例えば、
図28に示した点P2のように、台車20がマット30aの一端(
図28に示した上側の端)からマット30bの一端へと移動する際には、台車20は、マット30aの別の端(
図28に示した下側の端)に記録されている位置情報と同一の位置情報をマット30bから読み取ってしまう。
【0095】
後述するように、第4の実施形態によれば、複数のマット30が結合され、かつ、台車20がマット30間をまたがる場合であっても、台車20の位置を正確に特定することができる。
【0096】
<5-1.マット30の結合>
第4の実施形態では、複数のマット30をユーザが結合した場合には、当該複数のマット30を一まとまりとして設定するための初期設定が行われ得る。例えば、当該初期設定として、台車20は、情報処理装置10の制御またはユーザの操作に基づいて、当該複数のマット30の全てを例えば一回ずつ、連続的に移動し得る。これにより、情報処理装置10は、当該複数のマット30が一まとまりであることを認識し得る。
【0097】
なお、
図29に示したように、個々のマット30の個々の角32には、ブロック(Construction set)を用いて結合可能な穴が設けられていることが望ましい。これにより、
図29の右図に示したように、ユーザは、複数のマット30を容易に結合したり、分離することができる。
【0098】
<5-2.構成>
次に、第4の実施形態に係る構成について説明する。第4の実施形態に係る情報処理装置10に含まれる構成要素は、(
図20に示した)第2の実施形態と同一であってよい。以下では、第2の実施形態とは異なる機能を有する構成要素についてのみ説明を行う。
【0099】
{5-2-1.制御部100}
(5-2-1-1.マット30間のまたがりの判定)
‐判定例1
第4の実施形態に係る制御部100は、前回取得された位置情報と新たに取得された位置情報との差分と、外力検出部110による検出結果とに基づいて、台車20が別のマット30へ移動したか否かを判定することが可能である。例えば、該当の台車20に関して前回取得された位置情報と新たに取得された位置情報との差分の絶対値が所定の閾値よりも大きく、かつ、当該台車20に対して外力が加えられていないと外力検出部110により判定された場合には、制御部100は、当該台車20が別のマット30へ移動したと判定する。
図28に示した例では、台車20が点P2に到達した際に、制御部100は、台車20がマット30aからマット30bへ移動したと判定する。
【0100】
なお、台車20が別のマット30へ移動したと判定した際には、情報処理装置10は、前回取得された位置情報、新たに取得された位置情報、および、台車20の移動方向に基づいて、2枚のマット30の位置関係(マット30間の角度など)を特定することも可能である。
【0101】
‐判定例2
または、制御部100は、台車20の位置センサ228a(センサ部228)により撮影された画像に対する認識結果に基づいて、台車20が別のマット30へ移動したか否かを判定することも可能である。例えば、位置センサ228aの直下にマット30が存在しない領域(隙間)が存在することが、位置センサ228aによる撮影画像に基づいて認識され、かつ、当該隙間の幅が所定の範囲内に収まると判定された場合には、制御部100は、台車20が別のマット30へ移動したと判定してもよい。なお、位置センサ228aの直下にマット30が存在しているか否かに関しては、例えば位置センサ228a(カメラ)の焦点距離の変化量などに基づいて判定されてもよい。
【0102】
(5-2-1-2.他のマット30との結合の判定)
なお、前述したように、位置センサ228aは、台車20の端に位置し得る。そこで、台車20が移動中のマット30aの端に台車20が到達した際には、制御部100は、位置センサ228aにより撮影される画像に対する認識結果に基づいて、マット30aが別のマット30bと結合しているか否かを特定することも可能である。例えば、
図30に示したように、台車20の中心がマット30aの端に到達したタイミングにおいて、位置センサ228aにより撮影された画像に対する認識結果に基づいて位置センサ228aの直下に別のマット30bが存在することが認識された場合には、制御部100は、マット30aが別のマット30bと結合していると特定する。また、
図31に示したように、台車20の中心がマット30aの端に到達したタイミングにおいて、位置センサ228aにより撮影された画像に対する認識結果に基づいて位置センサ228aの直下に別のマット30bが存在しないことが認識された場合には、制御部100は、マット30aが別のマット30bと結合していないと特定する。この特定例によれば、台車20がマット30aから転落することを防止することが可能となる。
【0103】
<5-3.効果>
以上説明したように、第4の実施形態によれば、複数のマット30が結合された場合で、かつ、当該複数のマット30の各々の間を台車20が移動するタイミングにおいて、台車20が別のマット30へ移動したことを正確に判定することができる。
【0104】
<<6.第5の実施形態>>
以上、第4の実施形態について説明した。次に、第5の実施形態について説明する。まず、第5の実施形態を創作するに至った背景について説明する。
【0105】
既存のマット30に対してゲームのオブジェクト(例えば障害物、ゾーン、アイテム、レースゲームのコースなど)をユーザが追加可能であると、ゲームの自由度が向上するので、望ましい。例えば、
図32に示したように、個々のオブジェクトに対応するポリゴン50を既存のマット30に対してユーザが追加可能であることが望ましい。
【0106】
後述するように、第5の実施形態によれば、ゲームのオブジェクト(例えば障害物、ゾーン、アイテム、レースゲームのコースなど)を既存のマット30に対してユーザが自由に、かつ、容易に追加することが可能である。
【0107】
<6-1.ポリゴンの設定>
{6-1-1.設定例1}
まず、第5の実施形態に係る、オブジェクトに対応するポリゴンの設定例について説明する。例えば、
図33に示したように、マット30上で台車20を移動させることにより、ゲームのオブジェクトに対応するポリゴン50が追加され得る。一例として、台車20のスイッチ222aをユーザが押下する度に、押下したタイミングにおける台車20の位置と同一の位置または近傍に、ポリゴン50の頂点が一つずつ追加されてもよい。または、台車20のスイッチ222aをユーザが押下しながら、マット30上でユーザが台車20を移動させた場合には、台車20の移動軌跡と同一の位置または近傍が、ポリゴン50の輪郭として設定されてもよい。なお、設定されたポリゴン50の位置情報は、記憶部130に格納され得る。
【0108】
{6-1-2.設定例2}
または、
図34に示したように、例えば所定の設定モード時に、マット30上に複数の台車20が配置されてもよい。この場合、当該複数の台車20の各々の位置と同一の位置または近傍が、ポリゴン50の各頂点の位置情報として設定され得る。
【0109】
または、マット30上に配置された複数の台車20の各々のマット30に対する角度の検出結果に基づいてベジエ曲線が形成され、そして、ポリゴン50の位置および形状が当該ベジエ曲線に基づいて決定されてもよい。例えば、マット30に対する個々の台車20の角度が、ポリゴン50の各線分の方向として定められてもよい。
【0110】
{6-1-3.設定例3}
または、特にレースゲームなどの場合、マット30に対して一旦設定されたコースをユーザが動的に変更可能であってもよい。例えば、
図35の左図に示したように、所定の設定モードにおいて、まず、台車20は、既に設定済みのコース上を自動的にループする。そして、当該コースにおいて、ユーザが変更を希望する位置(
図35に示した例では点A)に台車20が到達した際に、ユーザは台車20をマット30から拾い上げる。そして、
図35の右図に示したように、マット30上の所望の位置(
図35に示した例では点B)に台車20を置くと、(点Aの代わりに)点Bを経由するように当該コースの形状が変更され得る。
【0111】
なお、コースがベジエ曲線で定義されている場合に関しても、同様の手順によりコースの形状が変更され得る。例えば、既に設定済みのコース上を台車20がループしている際に、ユーザが台車20のスイッチ222aを押下しながらマット30上で台車20を移動させることにより、当該コースの形状が変更されてもよい。
【0112】
また、
図36に示したように、一旦設定されたコースに対して新たな頂点(または点)をユーザが動的に追加可能であってもよい。例えば、
図36の左図に示したように、所定の設定モードにおいて、まず、台車20は、既に設定済みのコース上を自動的にループする。そして、ユーザが頂点の追加を希望する位置(
図36に示した例では点A)に台車20が到達した際に、ユーザが台車20のスイッチ222aを押下すると、当該コースにおける該当の位置に新たな頂点が追加され得る。
【0113】
{6-1-4.設定例4}
(6-1-4-1.紙やステッカー)
または、位置情報とは異なる特別な情報が記録されたシート状媒体をユーザがマット30に配置することにより、ポリゴン50が追加されてもよい。ここで、当該シート状媒体は、本開示に係る第2のシート状媒体の一例である。特別な情報は、マット30に印刷されている、位置情報と関連付けられている配列パターンとは異なる種類の配列パターン(第2の配列パターン)であり得る。例えば、第2の配列パターンは、オブジェクトの種類と関連付けられてもよい。または、第2の配列パターンは、台車20の動作に関する制御情報を定義し得る。例えば、当該制御情報は、台車20の移動速度、動作パターンおよび回転動作のうちの少なくとも一つを制御するための情報を含む。また、第2の配列パターンの面積は、基本的には、マット30に対応する第1のパターンの面積よりも小さい。
【0114】
シート状媒体は、例えば紙やステッカーなどである。例えば、
図37に示したように、ユーザは、紙(またはステッカー)44aをはさみやカッターで所望の形に切断し、そして、切断後の紙44bおよび紙44cをマット30上の所望の位置に配置する。これにより、マット30における紙44bの配置領域および紙44cの配置領域はそれぞれ、特別な情報が記録されている領域になる。例えば、紙44bの配置領域または紙44cの配置領域に台車20が到達した際には、台車20は、(位置情報の代わりに)紙44bまたは紙44cに記録されている情報を読み取り得る。
【0115】
例えば、レースゲームの場合、
図38に示したように、スタート点に対応する情報が記録されている紙44a、および、ゴール点に対応する情報が記録されている紙44bがマット30上に配置されることにより、当該レースゲームにおけるスタート点およびゴール点をユーザは指定することができる。
【0116】
または、
図39に示したように、各種のアイテム(バナナ、氷、油、水たまりなど)を示す情報が記録されている紙44がレースゲームのコース中に配置されてもよい。この場合、これらの紙44上に台車20が到達した場合には、動作制御部106は、スピンするように台車20の動きを制御し得る。または、台車20のスピードを上げたり、下げたりするための特別なアイテムの情報が記録されている紙がコース中にさらに配置されてもよい。
【0117】
または、RPG(role-playing game)の場合、宝物箱を示す情報が記録されている紙や、トラップを示す情報が記録されている紙などがマット30上に配置されてもよい。
【0118】
(6-1-4-2.透明なステッカー)
さらに、例えば赤外線フィルターなどを用いることにより、特別な情報が記録されている透明なステッカー44を作成することも可能である。
図37に示したように、透明なステッカー44をマット30上に配置することにより、背景の画像(つまりマット30に印刷されている画像)の視認性を低下させることなく、かつ、特別な情報をマット30上に追加することが可能となる。
【0119】
(6-1-4-3.位置情報の算出)
なお、
図40に示したように、特別な情報が記録されたシート状媒体44上を台車20が移動する際には、(マット30がシート状媒体44で覆われているので)台車20は、位置情報を一時的に取得不能となる。このため、情報処理装置10は、台車20の位置情報が分からなくなり得る。
【0120】
そこで、台車20から位置情報が受信されなくなった際には、情報取得部102は、台車20から最後に受信された位置情報と、台車20から受信される他の種類のセンシング結果とに基づいて、台車20の現在の位置情報を仮想的に特定してもよい。例えば、情報取得部102は、台車20から最後に受信された位置情報と、当該位置情報を台車20が取得したタイミングからの台車20内のモータの回転数のセンシング結果の履歴とに基づいて、台車20の現在の位置情報を仮想的に特定してもよい。
【0121】
<6-2.効果>
以上説明したように、第5の実施形態によれば、ゲームのオブジェクト(例えば障害物、ゾーン、アイテム、レースゲームのコースなど)を既存のマット30に対してユーザが自由に、かつ、容易に追加することができる。
【0122】
<<7.第6の実施形態>>
以上、第5の実施形態について説明した。次に、第6の実施形態について説明する。後述するように、第6の実施形態によれば、複数のマット30を用いてRPG(Role Playing Game)を実現することができる。
【0123】
<7-1.本の構成>
第6の実施形態では、
図41に示したように、各ページをマット30で構成することにより、本70が構成される。例えば、
図41に示したように、本70に含まれる個々の左ページには説明が記載されており、かつ、個々の右ページにはゲームページが記載されていてもよい。例えば、所定のイベントにおける失敗時には「22ページ」へ遷移することが指示されていたり、ゲームのクリア時には「50ページ」へ遷移することが指示されていてもよい。これにより、例えば“Choose your own adventure”のような本70が構成され得る。ユーザは、ページをめくり、そして、めくったページ上で台車20を動かすことを繰り返すことにより、RPGを楽しむことができる。
【0124】
さらに、
図41に示したように、一部または全部のページ(マット30)の端には穴700が形成されていてもよい。これにより、あるページ上を移動している台車20が当該ページ中の穴700に落とされると、遷移先のページをユーザは容易にめくることができる。
【0125】
さらに、
図42に示したように、穴700の周囲には、傾斜が設けられていることが望ましい。これにより、ページをめくった際に、めくられたページにおいて台車20は穴700から移動(脱出)しやすくなる。
【0126】
<<8.第7の実施形態>>
以上、第6の実施形態について説明した。次に、第7の実施形態について説明する。まず、第7の実施形態を創作するに至った背景について説明する。ゲームの最中に、一部のユーザは不正をしたり、相手を妨害することも想定される。例えば、
図43に示したように、一部のユーザは、自分または相手の台車20を勝手に触ったり、動かすことも想定される。そこで、このような不正行為を適切に判定可能であることが望ましい。
【0127】
後述するように、第6の実施形態によれば、不正行為が行われたか否かを適切に判定することができる。
【0128】
<8-1.構成>
次に、第7の実施形態に係る構成について説明する。第7の実施形態に係る情報処理装置10に含まれる構成要素は、(
図20に示した)第2の実施形態と同一であってよい。以下では、第2の実施形態とは異なる機能を有する構成要素についてのみ説明を行う。
【0129】
{8-1-1.外力検出部110}
第7の実施形態に係る外力検出部110は、台車20に対して外力が加えられたことを検出した場合に、当該外力が人間の手によって生じたか、もしくは、他の物体(例えば、マット30上に置かれている物体など)によって生じたかをさらに判定することが可能である。例えば、台車20内の加速度センサ(センサ部228)によりセンシングされた値から特定される台車20の移動方向と、台車20内のモータ回転センサ(センサ部228)によりセンシングされた値から特定される移動方向とが反対であると判定である場合には、外力検出部110は、当該外力が人間の手によって生じたと判定する。このような場合の具体例としては、台車20内のモータが前進しようとしたのに、人間の手によって実際には台車20が後ろに動かされた場合などが挙げられる。
【0130】
<8-2.効果>
以上説明したように、第7の実施形態によれば、ゲームの最中に、台車20に対して不正が行われたか否かを適切に判定することができる。
【0131】
<<9.第8の実施形態>>
以上、第7の実施形態について説明した。次に、第8の実施形態について説明する。まず、第8の実施形態を創作するに至った背景について説明する。複数の種類のゲームの中から所望のゲームをユーザが選択可能であることも望まれる。さらに、所望のゲームをユーザが直感的に選択可能であることが望ましい。
【0132】
後述するように、第8の実施形態によれば、複数の種類のゲームの中から所望のゲームをユーザが直感的に選択することができる。
【0133】
<9-1.構成>
第8の実施形態では、
図44に示したような、「ゲーム選択メニュー」が印刷された紙72が利用され得る。ゲーム選択メニューは、ゲーム選択領域720、および、他の機能の選択領域722をそれぞれ複数含み得る。ゲーム選択領域720、および、他の機能の選択領域722にはそれぞれ、当該領域に対応する情報(配列パターンなど)が記録されており、かつ、台車20が当該情報を読み取り可能であってもよい。
【0134】
例えば、
図44に示したように、紙72の外に位置する台車20を、ゲーム3の選択領域720c上にユーザが置いた場合には、領域720cに記録されている情報を台車20が読み取り、そして、情報処理装置10は、当該情報を台車20から受信することにより、「ゲーム3」が選択されたと特定してもよい。そして、情報処理装置10は、「ゲーム3」を開始し得る。
【0135】
または、台車20は、所定のアルゴリズム(例えば、ゲームをランダムに選択することなど)に基づいて紙72上を自動的に移動してもよい。この場合、情報処理装置10は、台車20が停止した位置において台車20が紙72から読み取った情報を受信し、そして、当該情報に対応するゲームが選択されたと特定してもよい。
【0136】
さらに、
図44に示したように、他の機能の選択領域722は、例えば、電源のON/OFFの切り替え領域722a、アプリケーションのアップデート領域722b、充電開始領域722c、または、音量の調整領域722dなどを含む。例えば、電源のON/OFFの切り替え領域722a上に台車20が置かれた場合には、情報処理装置10は、台車20(および/または、情報処理装置10)の電源のON/OFFを切り替えてもよい。または、アプリケーションのアップデート領域722b上に台車20が置かれた場合には、情報処理装置10は、例えば情報処理装置10に記憶されている所定のアプリケーションのアップデートを(例えばインターネットなどの通信網を介して)開始してもよい。または、充電開始領域722c上に台車20が置かれた場合には、情報処理装置10は、当該台車20を所定の充電台へ移動させてもよい。なお、「ゲーム選択メニュー」は、紙72の代わりに、特定のマット30に印刷されていてもよい。
【0137】
<9-2.効果>
以上説明したように、第8の実施形態によれば、複数の種類のゲームのうち所望のゲームをユーザが直感的、かつ、容易に選択することができる。
【0138】
<<10.第9の実施形態>>
以上、第8の実施形態について説明した。次に、第9の実施形態について説明する。まず、第9の実施形態を創作するに至った背景について説明する。
図2等を参照して説明したように、例えば機械的または電気的な理由により、(台車20の)位置センサ228aは、水平方向において台車20の中心から離間して取り付けられ得る。このため、台車20がマット30から読み取る位置情報と、台車20の中心に対応する位置情報とは大きく異なり得る。例えば
図45に示した例では、位置センサ228aに対応する位置情報320は(7、3)であるのに対して、台車20の中心に対応する位置情報322は(5,5)である。従って、情報処理装置10が認識する台車20の位置情報と、ユーザが認識する台車20の位置情報とが大きく異なり得るので、例えばゲームの最中にユーザが困惑したり、不便に感じ得る。
【0139】
後述するように、第9の実施形態によれば、台車20がセンシングした位置情報に基づいて、台車20の略中心に対応する位置情報を特定することが可能である。
【0140】
<10-1.構成>
次に、第9の実施形態に係る構成について説明する。
図46は、第9の実施形態に係る情報処理装置10の構成例を示した機能ブロック図である。
図46に示すように、第9の実施形態に係る情報処理装置10は、(
図20に示した)第2の実施形態と比較して、位置情報補正部112をさらに有する。以下では、第2の実施形態とは異なる機能を有する構成要素についてのみ説明を行う。
【0141】
{10-1-1.位置情報補正部112}
位置情報補正部112は、台車20に対する位置センサ228aの取り付け位置に基づいて、台車20から取得された位置情報を補正する。例えば、位置情報補正部112は、台車20から取得された位置情報を、位置センサ228aの取り付け位置から特定される、台車20の略中心に対応する位置情報に補正する。一例として、
図47に示したように、位置センサ228aの取り付け位置と台車20の中心点との間のx方向およびy方向の距離がそれぞれ、例えば台車20の設計時などに予め特定され得る。この場合、
図48に示したように、位置情報補正部112は、まず、位置センサ228aの取り付け位置と台車20の中心点との間のx方向の距離を用いて、台車20から取得されたx座標を補正し、そして、位置センサ228aの取り付け位置と台車20の中心点との間のy方向の距離を用いて、台車20から取得されたy座標を補正する。これにより、台車20の略中心に対応する位置情報が取得される。
【0142】
{10-1-2.動作制御部106}
第9の実施形態に係る動作制御部106は、位置情報補正部112により補正された台車20の位置情報に基づいて、当該台車20の動作を制御する。
【0143】
<10-2.効果>
以上説明したように、第9の実施形態に係る情報処理装置10は、台車20から取得された位置情報を、台車20の略中心に対応する位置情報に補正する。このため、情報処理装置10が認識する台車20の位置情報と、ユーザが認識する台車20の位置情報とが略同一になるので、ユーザは、問題なくゲームを行うことができる。
【0144】
<<11.第10の実施形態>>
以上、第9の実施形態について説明した。次に、第10の実施形態について説明する。まず、第10の実施形態を創作するに至った背景について説明する。例えば、同一の環境内で利用される、操作部122および台車20の数が多くなると、ユーザは、個々の操作部122と、個々の台車20との対応関係が分からなくなり得る。また、ユーザは、複数の台車20のうちのいずれが、自分の操作対象の台車20であるかも分からなくなり得る。その結果、ユーザは、別の台車20bを、自分の操作対象の台車であると勘違いして操作してしまい得る(例えば、別の台車20b上に玩具40を勝手に置いてしまい得る)。
【0145】
後述するように、第10の実施形態によれば、個々の操作部122と、個々の台車20とをユーザが容易に関連付けることが可能である。
【0146】
<11-1.ペアリング>
第10の実施形態では、
図49に示したように、個々の操作部122には、特別な情報(配列パターンなど)が印刷されていたり、または、当該特別な情報が記録されているシート状媒体(紙やステッカーなど)が貼られ得る。この場合、当該特別な情報が印刷されている領域44(または、当該特別な情報が記録されているシート状媒体が貼られている領域)に対してユーザが台車20を接近または接触させると、台車20は、当該特別な情報を読み取り、そして、読み取った情報を情報処理装置10へ送信し得る。そして、情報処理装置10は、受信した情報に基づいて、該当の操作部122と該当の台車20とをペアリングし得る。
【0147】
<11-2.出力制御部108>
第11の実施形態に係る出力制御部108は、ペアリングされた台車20および操作部122の組ごとに、当該台車20の表示部224(LEDなど)と、当該操作部122に設置されている表示部(LEDまたはLCDなど)とを同じ色や同じ点滅パターンで発光させてもよい。
【0148】
<11-3.効果>
以上説明したように、第11の実施形態によれば、個々の操作部122と、個々の台車20とをユーザが容易に関連付けることができる。さらに、個々の操作部122と、個々の台車20との対応関係をユーザに通知することもできる。
【0149】
<<12.第11の実施形態>>
以上、第10の実施形態について説明した。次に、第11の実施形態について説明する。まず、第11の実施形態を創作するに至った背景について説明する。マット30上に配置された複数の台車20を用いてサッカーゲームが実現可能であることも望まれる。
【0150】
ところで、公知のロボットサッカーゲームでは、カメラによる撮像画像の認識に基づいてボールが認識される場合が多い。しかしながら、このようなカメラおよび画像認識システムは、設計コストが高くなり得る。
【0151】
さらに、一人のユーザは、一台のロボットプレイヤーだけしか操作できない場合も多い。そこで、他のロボットプレイヤーの動きをコンピュータが自動的に制御する方法が考えられるが、この場合、ゲームの最中に当該他のロボットプレイヤーが適切に動作可能であることが望まれる。
【0152】
後述するように、第11の実施形態によれば、マット30上に配置された複数の台車20を用いてサッカーゲームを安価に実現することができる。
【0153】
<12-1.ゲームプラットフォーム>
まず、第11の実施形態に係るゲームプラットフォームについて、
図50を参照して説明する。
図50に示したように、少なくとも2台の選手用台車20、および、ボール用台車24がマット30上に配置され得る。選手用台車20は、(前述した)通常の台車20であり得る。後述するように、ボール用台車24は、特別の形状の台車であり得る。
【0154】
図50に示したように、選手用台車20には、選手の形状の玩具40が配置され得る。ボール用台車24には、ボールの形状の玩具40cが配置され得る。例えば、ユーザは、選手用台車20を移動させることにより、選手用台車20上の玩具40をボール用台車24上の玩具40cに衝突させる。これにより、後述するように、ボール用台車24は、当該衝突に応じて、物理的に、または、情報処理装置10の制御により移動し得る。また、
図50に示したように、マット30には、サッカー場のイラストが印刷され得る。
【0155】
{12-1-1.ボール用台車24}
図51は、ボール用台車24の底面図の例である。
図51に示したボール用台車24aおよびボール用台車24bのように、ボール用台車24の底面には複数のオムニホイール256が設置されていてもよい。これにより、ボール用台車24は、任意の方向に、かつ、滑らかに移動可能となる。
【0156】
または、
図51に示したボール用台車24cのように、ボール用台車24の底面にはファン258が設置されており、かつ、ファン258の回転に基づいてボール用台車24がホバー可能なように構成されてもよい。例えば、ボール用台車24が浮いている際に、情報処理装置10は、ボール用台車24のファン258の回転を強制的に停止させる。これにより、ボール用台車24は落下するので、ボールがはずむような動きを実現することができる。
【0157】
または、
図51に示したボール用台車24dのように、ボール用台車24の底面にはホイール等が設置されず、かつ、当該底面の摩擦係数が小さくなるように所定の塗料が塗られていてもよい。これにより、選手用台車20がボール用台車24に衝突すると、ボール用台車24はマット30上を滑り得る。
【0158】
<12-2.構成>
次に、第11の実施形態に係る構成について説明する。第11の実施形態に係る情報処理装置10に含まれる構成要素は、(
図46に示した)第9の実施形態と同一であってよい。以下では、第9の実施形態とは異なる機能を有する構成要素についてのみ説明を行う。
【0159】
{12-2-1.動作制御部106}
(12-2-1-1.選手用台車20に対する制御)
第11の実施形態に係る動作制御部106は、例えば操作部122と関連付けられている選手用台車20ごとに、当該選手用台車20に関連付けられている操作部122に対するユーザの操作に基づいて当該選手用台車20を移動させる。さらに、動作制御部106は、ボール用台車24から取得された位置情報、および、例えば所定のアルゴリズムや機械学習の結果などに基づいて、操作部122と関連付けられていない個々の選手用台車20の動作を制御する。
【0160】
図52に示した例では、いずれのユーザも選手用台車20bを操作しておらず、かつ、ゴールキーパーの役割が選手用台車20bに設定されているとする。この場合、動作制御部106は、相手側のオフェンスの選手に相当する選手用台車20aの動きに追従して、選手用台車20bを一方向(
図52に示した例ではx方向)にのみ移動させてもよい。つまり、動作制御部106は、選手用台車20bのx座標が選手用台車20aのx座標と常に概ね同じになるように、選手用台車20bを逐次移動させてもよい。
【0161】
(12-2-1-2.ボール用台車24に対する制御)
さらに、動作制御部106は、ボール用台車24に対する選手用台車20の衝突の検出結果に応じて、ボール用台車24の動作を制御することが可能である。例えば、動作制御部106は、ボール用台車24に対する選手用台車20の衝突位置、衝突方向、および、衝突時の加速度などのセンシング結果に応じた距離、移動方向、および、速度でボール用台車24を移動させる。これにより、実際にボール用台車24が蹴られたかのようにボール用台車24を動かすことができる。
【0162】
または、(前述したように)情報処理装置10は、ボール用台車24の動きを制御しなくてもよい。この場合、選手用台車20がボール用台車24に衝突すると、ボール用台車24は、当該衝突に応じて物理的にマット30上を移動する。
【0163】
{12-2-2.制御部100}
第11の実施形態に係る制御部100は、サッカーゲームの最中に、複数の選手用台車20の衝突の検出結果に基づいて「ファウルプレイ」の有無を判定することが可能である。例えば、
図53に示したように、あるユーザ(以下、「プレイヤー2」と称する)が操作中(または、情報処理装置10が制御中)の選手用台車20bが、プレイヤー2(または情報処理装置10)により指示された方向(
図53に示した矢印B)とは異なる方向(
図53に示した矢印C)に移動したことが検出されたとする。一例として、制御部100は、選手用台車20bに対するプレイヤー2の操作情報(または、情報処理装置10の制御情報)が示す移動方向と、選手用台車20b内の加速度センサのセンシング結果から特定される移動方向とを比較することにより、プレイヤー2(または情報処理装置10)により指示された方向とは異なる方向に選手用台車20bが移動したことを検出する。
【0164】
この場合、制御部100は、選手用台車20bに接触した選手用台車20aを操作中のユーザ(「プレイヤー1」)が「ファウルプレイ」をしたと判定し得る。例えば、(選手用台車20bに接触した)選手用台車20aに対応するチームと選手用台車20bに対応するチームとが異なる場合にのみ、制御部100は、選手用台車20aを操作中のユーザが「ファウルプレイ」をしたと判定してもよい。
【0165】
<12-3.効果>
以上説明したように、第11の実施形態によれば、マット30上に配置された複数の台車20を用いてサッカーゲームを安価に実現することができる。さらに、サッカーゲームの最中に、ユーザが操作していない一以上の選手用台車20を自動的、かつ、適切に移動させることができる。
【0166】
<<13.第12の実施形態>>
以上、第11の実施形態について説明した。次に、第12の実施形態について説明する。後述するように、第12の実施形態によれば、
図54に示したように、マット30上に配置された複数の台車20を用いたレースゲームを実現することができる。
【0167】
<13-1.構成>
まず、第12の実施形態に係る構成について説明する。第12の実施形態に係る情報処理装置10に含まれる構成要素は、(
図46に示した)第9の実施形態と同一であってよい。以下では、第9の実施形態とは異なる機能を有する構成要素についてのみ説明を行う。
【0168】
{13-1-1.動作制御部106}
(13-1-1-1.特別の領域の通過時の動作制御)
第12の実施形態に係る動作制御部106は、マット30上に配置されているシート状媒体(紙やステッカー)から台車20が読み取った配列パターンに対応する制御情報に基づいて、当該台車20の動作を制御する。当該シート状媒体には、台車20に対するアイテム(例えば「スピードアップ」、「障害物」、または、「武器」など)の付与に関連付けられている配列パターンが記録され得る。
【0169】
例えば、
図55に示したように、「スピードアップ」に対応するステッカー44a上を台車20が通過する際には、動作制御部106は、台車20がステッカー44aから読み取った情報に基づいて、当該台車20の速度がより速くなるように台車20を制御する。または、「武器」に対応するステッカー44b上を台車20が通過する際には、動作制御部106は、台車20がステッカー44bから読み取った情報に基づいて、当該台車20が該当の「武器」を獲得したことを記憶部130に記憶する。
【0170】
または、「障害物」に対応するステッカー44(またはマット30内の所定の領域)上を台車20が通過する際には、動作制御部106は、台車20がステッカー44(またはマット30内の所定の領域)から読み取った情報に基づいて、当該台車20を回転させたり、速度を低下させたり、または、スリップするように台車20を制御する。例えば、
図56に示したように、「油」に対応するステッカー44c上を台車20が通過する際には、動作制御部106は、スリップするように台車20を制御する。また、マット30内に定められている「ガタガタゾーン(rattle zone)」46上に台車20が到達した際には、動作制御部106は、台車20がガタガタゾーン46内に位置することが認識されている間、(継続的に)ガタガタ走るように台車20の動きを制御する。
【0171】
(13-1-1-2.ゲームの開始制御)
別の制御例として、動作制御部106は、マット30上に置かれた例えば全ての台車20が位置情報をマット30から読み取るまでの間、レースゲームを開始しないように制御してもよい(例えば、動作制御部106は、全ての台車20の移動を抑制してもよい)。または、動作制御部106は、レースゲームの参加対象の全ての台車20が、マット30上の所定の開始位置に位置しない限り、レースゲームを開始しないように制御してもよい。または、動作制御部106は、レースゲームの開始音が例えば音声出力部126から出力されない限り、レースゲームを開始しないように制御してもよい。
【0172】
(13-1-1-3.攻撃の制御)
別の制御例として、台車20aが何らかの「武器」のアイテムを保持しており、かつ、(台車20aに関連付けられている)操作部122に対してユーザが所定のボタン(例えば「攻撃ボタン」など)を押下した場合には、動作制御部106は、他の台車20bと台車20aとの位置関係(例えば、台車20bに対する台車20aの向き、および、台車20間の距離)と、「武器」の種類とに応じて、台車20bに対する攻撃の成否を判定することが可能である。さらに、台車20bに対する攻撃が成功する(例えば、「武器」が台車20bに当たるなど)と判定した場合には、
図57に示したように、動作制御部106は、台車20bが攻撃されたかのように、台車20bの動作を制御し得る。例えば、動作制御部106は、スピンするように台車20b内のモータの回転を制御する。なお、台車20bと台車20aとの位置関係は、個々の台車20の位置情報および角度情報に基づいて特定され得る。
【0173】
{13-1-2.出力制御部108}
第12の実施形態に係る出力制御部108は、台車20がアイテム(「武器」など)を保持している場合に、当該アイテムの種類を示す情報を表示部124に表示させてもよい。または、出力制御部108は、当該アイテムの種類に応じて、当該台車20の表示部224を発光させてもよいし、または、当該台車20に関連付けられている操作部122内の表示部(LEDなど)を発光させてもよい。例えば、出力制御部108は、当該台車20の表示部224、および/または、操作部122内の表示部が発する光の色、または、発光パターンを、台車20が保持しているアイテムの種類に応じて変更してもよい。
【0174】
{13-1-3.設定情報の変更}
(13-1-3-1.環境条件の指定)
なお、例えば
図58に示したようなタッチメニュー54に対するユーザの操作に基づいて、レースゲーム時の環境条件(例えば天気、気候、または、ステージなど)をユーザが変更可能であってもよい。例えば、タッチメニュー54では、コースの滑りやすさや、加速しやすさなどをユーザが指定可能であってもよい。さらに、タッチメニュー54では、コースの種類(例えば、泥コース、ダートコース、氷コース、または、宇宙空間コースなど)をユーザが選択可能であってもよい。さらに、タッチメニュー54では、レースゲーム時の天気(晴れや雨など)や風の強さなどをユーザが指定可能であってもよい。
【0175】
タッチメニュー54において環境条件が指定された場合には、動作制御部106は、当該指定された環境条件(天気、気候、または、ステージなど)に基づいて、レースゲーム時の全ての台車20の動作を制御し得る。さらに、出力制御部108は、当該指定された環境条件を示す情報(文字列や画像など)を表示部124に表示させてもよい。
【0176】
図58に示したように、タッチメニュー54は紙(カードなど)に印刷され得る。この場合、タッチメニュー54内の個々の環境条件に対応する領域540のうち、所望の環境条件に対応する領域540に対してユーザが台車20を接近させ、そして、当該領域540に記録されている情報を台車20に読み取らせることにより、環境条件が設定されてもよい。または、タッチメニュー54に対応する画面が表示部124に表示されてもよい。この場合、当該画面に対するユーザの操作に基づいて環境条件が設定されてもよい。
【0177】
(13-1-3-2.難易度の指定)
または、例えばメニュー画面や所定のカードなどを用いて、レースゲームの難易度をユーザが指定可能であってもよい。ここで、難易度に関する指定は、例えば「易しい」、「標準」、および「難しい」の中からいずれかを選択することであってもよいし、または、例えば「50cc」、「100cc」、および「150cc」の中からいずれかを選択することであってもよい。
【0178】
当該「難易度に関する指定」がなされた場合には、動作制御部106は、レースゲーム時の全ての台車20のモータの回転速度の最大値を、指定された難易度に応じて制限してもよい。これにより、レースゲームの難しさを変更することができる。
【0179】
<13-2.効果>
以上説明したように、第12の実施形態によれば、マット30上に配置された複数の台車20を用いたレースゲームを実現することができる。
【0180】
<<14.第13の実施形態>>
以上、第12の実施形態について説明した。次に、第13の実施形態について説明する。まず、第13の実施形態を創作するに至った背景について説明する。マット30上に配置された複数の台車20を用いてバトルゲームが実現可能であることも望まれる。このバトルゲームは、相手の台車20をマット30(または、マット30上の所定の領域)から先に押し出した場合、または、相手の台車20を先に転倒させた場合に勝ちと判定されるようなゲームであり得る。当該バトルゲームでは、個々の台車20の上に配置される玩具40の形状によってゲームの難易度が変化し得る。このため、台車20の上に配置される玩具40をユーザが自由に選択(または作成)可能であると、戦略の自由度が向上する。
【0181】
ところで、仮にバトルゲームにおける勝敗の判定を人間が行う場合、いずれの台車20が勝ったのかに関して判定が難しい状況も生じ得る。このため、他のユーザが判定結果を不当であると感じる場合も生じ得る。
【0182】
後述するように、第13の実施形態によれば、マット30上に配置された複数の台車20を用いてバトルゲームを行う際に、勝敗を適切に判定することができる。
【0183】
<14-1.構成>
まず、第13の実施形態に係る構成について説明する。第13の実施形態に係る情報処理装置10に含まれる構成要素は、(
図46に示した)第9の実施形態と同一であってよい。以下では、第9の実施形態とは異なる機能を有する構成要素についてのみ説明を行う。
【0184】
{14-1-1.制御部100}
第13の実施形態に係る制御部100は、バトルゲームを行っている複数の台車20から取得されるセンシング情報に基づいて、当該複数の台車20の勝敗を判定することが可能である。例えば、
図59に示したように、制御部100は、台車20a内の加速度センサ(センサ部228)の測定結果などに基づいて、台車20aが転倒したことを特定することにより、台車20aが負けた(つまり台車20bが勝った)と判定する。または、
図60に示したように、制御部100は、台車20bにより読み取られた位置情報の履歴などに基づいて、(台車20aがマット30内に位置する間に)台車20bがマット30外に押し出されたことを特定することにより、台車20bが負けた(つまり台車20aが勝った)と判定する。
【0185】
なお、個々の台車20を単純にユーザが操作することでバトルが行われる代わりに、
図61に示したように、個々の台車20が回転し続けることでバトルが行われてもよい。この場合、台車20の上に配置される玩具40(形状など)によって、UX(User experience)が向上し得る。なお、(台車20自体は回転せずに)台車20の上に配置される玩具40だけを回転させることが望ましい。さらに、操作部122に対する連打(barrage)によって、当該回転の速度が変更されてもよい。
【0186】
{14-1-2.動作制御部106}
第13の実施形態に係る動作制御部106は、バトルゲームを行っている個々の台車20に関連付けられている属性情報に基づいて、個々の台車20の動作を制御することが可能である。例えば、動作制御部106は、個々の台車20に関連付けられているスタミナ値に基づいて、個々の台車20の動作を制御する。一例として、台車20aに関連付けられているスタミナ値が所定の閾値以下であり、かつ、台車20aが他の台車20bと衝突した場合には、
図62に示したように、動作制御部106は、(台車20aに対するユーザの操作に関わらずに)台車20bの移動方向と同じ方向へ台車20aが移動するように台車20aを自動的に制御する。これにより、台車20aがスタミナ不足であることを仮想的に表現することができる。
【0187】
なお、台車20に関連付けられているスタミナ値は、例えば、台車20内のモータの回転時間の長さに応じて減少されてもよい。例えば、100%のパワーで台車20内のモータが回転する場合には、当該モータの回転の継続時間が長くなるほど、当該台車20に関連付けられているスタミナ値が徐々に減少されてもよい。
【0188】
{14-1-3.属性情報の変更}
なお、例えば
図63に示したような属性カード56に対して台車20を接触または接近させることにより、台車20に関連付けられる属性情報が変更されてもよい。より具体的には、属性カード56に記録されている配列パターンを台車20に読み取らせると、当該配列パターンに対応する属性情報が台車20に新たに関連付けられ得る。
図63に示したように、属性カード56は、キャラクター領域560、および、スキル領域562をそれぞれ複数有し得る。複数のキャラクター領域560のうちのいずれかに台車20を接触または接近させると、該当の領域560に対応する属性情報が当該台車20に対して新たに関連付けられ得る。
図63に示した例では、キャラクター領域560aに対応する属性情報は、速度が速く、かつ、力が弱いことを示す。キャラクター領域560bに対応する属性情報は、力が強く、かつ、スタミナが少ないことを示す。また、複数のスキル領域562のうちのいずれかに台車20を接触または接近させると、該当の領域562に対応するスキル(または、魔法や武器)を少なくとも一回使用可能であることを示す属性情報が当該台車20に対して新たに関連付けられ得る。例えば、当該属性情報は、水、氷、または、炎などの魔法を使用可能であることを示す。なお、(属性カード56が使用される代わりに)属性カード56に対応する設定画面が例えば表示部124に表示されてもよい。この場合、台車20ごとに、当該設定画面に対する操作に基づいて、当該台車20に関連付けられる属性情報が変更されてもよい。
【0189】
(14-1-3-1.変形例)
変形例として、
図64に示したように、属性カード58の片面580ずつに、互いに異なる配列パターン(特別な情報)582がそれぞれ印刷されていてもよい。あるいは、属性カード58の両面580に同一の配列パターン582がそれぞれ印刷されていてもよい。
【0190】
または、同じイラストが印刷されている複数の属性カード58の各々に、互いに異なる配列パターン(特別な情報)582が記録されていてもよい。この場合、
図65に示したように、どのような属性情報が個々の属性カード58に関連付けられているかをユーザが分からないまま、台車20に対して属性情報を関連付けて遊ぶこと(トランプゲームのような遊び)ができる。なお、上述した属性情報の各設定方法は、第12の実施形態(レースゲーム)でも同様に適用可能である。
【0191】
<14-2.効果>
以上説明したように、第13の実施形態によれば、マット30上に配置された複数の台車20を用いたバトルゲームが実現可能となる。さらに、当該バトルゲーム時の勝敗の判定を自動的、かつ、適切に行うことができる。
【0192】
<<15.第14の実施形態>>
以上、第13の実施形態について説明した。次に、第14の実施形態について説明する。後述するように、第14の実施形態によれば、ゲームのルールをユーザが自由度高く設定することができる。
【0193】
第14の実施形態では、例えば
図66に示したルール選択メニュー60に対するユーザの操作に基づいて、ゲームのルールをユーザが選択可能である。
図66に示したように、ゲームの勝敗の条件として、例えば転倒、マット30からの落下、または、マット30外へ移動することなどが選択可能であってもよい。さらに、ゲームのプレイヤーに関して、例えば、一人のユーザだけ、二人のユーザ、一人のユーザと一つのコンピュータプレイヤーとの組み合わせ、一人のユーザと三つのコンピュータプレイヤーとの組み合わせ、または、二人のユーザと二つのコンピュータプレイヤーとの組み合わせなどが選択可能であってもよい。さらに、マット30に関して、例えば「マットA」の使用、「マットB」の使用、「マットA」と「マットB」と「マットC」との結合を使用すること、または、マット30を全く使用しないことなどが選択可能であってもよい。さらに、操作設定に関して、例えば、車輪制御モードやユーザコントロールモードなどが選択可能であってもよい。さらに、コンピュータ設定(例えばコンピュータプレイヤーに関する設定など)に関して、例えば、自動的に逃走すること、自動的に追跡すること、または、ランダムに移動することなどが選択可能であってもよい。
【0194】
図66に示したように、ルール選択メニュー60は紙(カードなど)に印刷され得る。この場合、ルール選択メニュー60内の個々のルールに対応する領域600のうち、所望のルールに対応する領域600に対してユーザが台車20を接近させ、そして、当該領域600に記録されている情報を台車20に読み取らせることにより、ゲームのルールが設定されてもよい。または、ルール選択メニュー60に対応する画面が表示部124に表示され、かつ、当該画面に対するユーザの操作に基づいてゲームのルールが設定されてもよい。
【0195】
以上説明したように、第14の実施形態によれば、ゲームのルールをユーザが自由度高く設定することができる。
【0196】
<<16.第15の実施形態>>
以上、第14の実施形態について説明した。次に、第15の実施形態について説明する。後述するように、第15の実施形態によれば、教育の要素を含む迷路ゲームを、台車20およびマット30を用いて実現することができる。
【0197】
<16-1.概要>
図67は、第15の実施形態に係る迷路ゲームの例を示した図である。
図67に示したように、当該迷路ゲームでは、迷路のイラストが印刷されているマット30と、マット30上の台車20の移動を制御するための複数の種類のタイル62とが用いられ得る。例えば、まず、ユーザは、マット30内のスタート位置に一台の台車20bを置く。そして、
図67に示したように、ユーザは、所定のタイル62を一枚以上一列に並べることにより、コマンドシーケンス64を形成する。その後、コマンドシーケンス64の一端に一台の台車20aをユーザが置くと、当該台車20aは、コマンドシーケンス64上を自動的に移動し、そして、コマンドシーケンス64に含まれる個々のタイル62に記録されているコマンド(制御情報)を読み取る。そして、読み取られたコマンドに基づいて台車20bの移動が制御される。
【0198】
図68は、タイル62の例を示した図である。
図68に示したように、例えば、一マス(square)後進62a、一マス前進62b、左方向へ回転62c、右方向へ回転62d、再生62e、および、シーケンス開始62fなどの種類のタイル62が用意され得る。
【0199】
<16-2.構成>
次に、第15の実施形態に係る構成について説明する。第15の実施形態に係る情報処理装置10に含まれる構成要素は、(
図46に示した)第9の実施形態と同一であってよい。以下では、第9の実施形態とは異なる機能を有する構成要素についてのみ説明を行う。
【0200】
{16-2-1.動作制御部106}
第15の実施形態に係る動作制御部106は、コマンドシーケンス64から台車20aが読み取った一連のコマンドに従って、別の台車20bをマット30上で移動させる。例えば、コマンドシーケンス64の中に再生用タイル62eが含まれており、かつ、再生用タイル62eに台車20aが到達したことが検出された場合には、動作制御部106は、コマンドシーケンス64において台車20aが当該検出時までに読み取った一以上のコマンドの順序で、当該一以上のコマンドの各々に従って台車20bを移動させる。
【0201】
なお、マット30では、一マスごとに同じ位置情報が記録されていてもよい。これにより、例えば、台車20内のモータの回転パラメータが標準値とは異なる場合であっても、マット30上で台車20を正確に一マス単位で移動させることができる。
【0202】
{16-2-2.制御部100}
第15の実施形態に係る制御部100は、予め設定されているルールと、マット30における台車20bの動きとに基づいて、ユーザの勝敗を判定することが可能である。例えば、該当の迷路上に定められている「壁」を台車20bが通過する場合、台車20bが「水」マークに到達する前に「火」マークに到達した場合、台車20bが「剣」マークに到達する前に「モンスター」マークに到達した場合、および、台車20bが「鍵」マークに到達する前に「宝箱」マークに到達した場合などには、制御部100は、ユーザが負けたと判定する。また、上記の条件全てに合致しないまま台車20bが「宝箱」マークに到達した場合には、制御部100は、ユーザが勝利した(つまりゲームがクリアされた)と判定する。
【0203】
<16-3.効果>
以上説明したように、第15の実施形態によれば、ユーザが並べた一以上のタイルから構成されるコマンドシーケンスに基づいて、迷路ゲームにおける台車20の移動が制御される。つまり、迷路ゲームをクリアするためには、ユーザは、種類の異なる複数のタイルを迷路の種類に応じて適切な順番で並べる必要がある。このように、第15の実施形態によれば、教育(プログラミングなど)の要素を含む迷路ゲームを、台車20およびマット30を用いて実現することができる。
【0204】
<<17.第16の実施形態>>
以上、第15の実施形態について説明した。次に、第16の実施形態について説明する。まず、第16の実施形態を創作するに至った背景について説明する。従来、遊ぶ要素と、パズルの要素との両方を含むゲームはほとんど無かった。
【0205】
後述するように、第16の実施形態によれば、台車20およびブロック(Construction set)を用いた城破壊(“Castle Crush”)ゲームを実現することができる。当該城破壊ゲームは、遊ぶ要素と、パズルの要素との両方を含み得る。
【0206】
第16の実施形態に係る城破壊ゲームでは、例えば
図69の左図に示したように、まず、ユーザは、ブロックを用いて城66aを組み立てる。そして、ユーザは、組み立てた城66aの上に台車20aを置く。その後、玩具(武器など)40bが乗っている別の台車20bを、ユーザは操作部122を用いて移動させることにより、城66aの破壊を試みる。
【0207】
図69の右図に示したように、城66aが破壊されることにより台車20aが転落したことが検出された場合には、情報処理装置10は、城破壊ゲームがクリアされたと判定する。
【0208】
この城破壊ゲームでは、城が堅牢に組み立てられるか否かによって、ゲームの難易度が変化し得る。つまり、第16の実施形態によれば、遊ぶ要素と、パズルの要素との両方を含むゲームを、台車20およびブロックを用いて実現することができる。
【0209】
<<18.第17の実施形態>>
以上、第16の実施形態について説明した。次に、第17の実施形態について説明する。後述するように、第17の実施形態によれば、2台の台車20に対して協調制御すること(つまり、2台の台車20を連携して動作させること)が可能である。その結果、例えば生物のような動きを実現することができる。
【0210】
<18-1.概要>
第17の実施形態では、まず、ユーザは、所定のシート状媒体(絵本やカードなど)内の、特別な情報(第3の配列パターン)が記録されている所定の領域に2台の台車20を接触または接近させる。第3の配列パターンは、2台の台車20の協調制御を定義するパターンであり得る。これにより、当該2台の台車20には、当該第3の配列パターンに対応する動作パターン(協調動作パターン)が関連付けられ得る。
【0211】
<18-2.構成>
次に、第17の実施形態に係る構成について説明する。第17の実施形態に係る情報処理装置10に含まれる構成要素は、(
図46に示した)第9の実施形態と同一であってよい。以下では、第9の実施形態とは異なる機能を有する構成要素についてのみ説明を行う。なお、前述の通り、情報処理装置10は、2台の台車20のそれぞれに設けられても良い。そして、2台の台車20のそれぞれに設けられた情報処理装置10間の通信により第9の実施形態の協調制御が行われても良い点に留意されたい。また、第9の実施形態における協調制御例は、操作部122を有する情報処理装置10、および複数の台車20間の通信によっても実行され得る。例えば、まず、操作部122を有する情報処理装置10は、一方の台車20のみに対して移動情報(指示)を発してもよい。次に、当該一方の台車20は、受信した移動情報(またはこれに基づく動作情報)を他方の台車20に対して提供してもよい。そして、当該他方の台車20は、当該一方の台車20から提供された移動情報に基づいて当該一方の台車20に応じた協調動作を実行しても良い。
【0212】
{18-2-1.動作制御部106}
第17の実施形態に係る動作制御部106は、2台の台車20(以下、台車セット26とも称する)による第3の配列パターンの読み取りに基づいて取得された情報に基づいて、当該2台の台車20の位置関係を制御することが可能である。例えば、動作制御部106は、当該第3の配列パターンに対応する動作パターンで当該2台の台車20の各々が動くように当該2台の台車20を制御する。
【0213】
前述したように、マット30内の個々の単位領域には、位置情報および角度情報が記録され得る。例えば、動作制御部106は、当該2台の台車20の各々がマット30から読み取る位置情報および角度情報の組み合わせと、当該2台の台車20に関連付けられた動作パターンとに基づいて、当該2台の台車20の各々が動くように当該2台の台車20を制御する。
【0214】
(18-2-1-1.第1の協調制御例:シャクトリ虫の動き)
ここで、
図70~77を参照して、協調制御の具体例について説明する。
図70は、台車セット26の第1の協調制御例を示した図である。
図70に示したように、第1の協調制御例は、例えばシャクトリ虫のような動きパターン(以下、第1の動きパターンと称する)で当該2台の台車20(台車セット26a)が動くように制御する例である。
【0215】
例えば、まず、所定のシート状媒体に対してユーザが台車セット26aを接近させることなどに基づいて、台車セット26aに対して第1の動きパターンが関連付けられ得る。その後、初期設定モード時において、情報処理装置10(制御部100)は、ユーザが2台の台車20を例えばマット30上に置いた際の2台の台車20の間の距離を上限距離として認識し、そして、記憶部130に記録し得る。さらに、制御部100は、当該2台の台車20の各々の向き(角度情報)に基づいて、当該2台の台車20のうちのいずれが頭側の台車20aであるか否かを決定してもよい。
【0216】
その後、動作制御部106は、当該2台の台車20の各々が接近したり、離れる動きを当該2台の台車20の各々に繰り返させる。例えば、動作制御部106は、まず、尻尾側の台車20bからの距離が、例えば当該上限距離の三分の一になるまで頭側の台車20aを加速度的に後退させる(つまり、頭側の台車20aを尻尾側の台車20bに近づかせる)。その後、動作制御部106は、尻尾側の台車20bからの距離が当該上限距離を超えない位置まで頭側の台車20aを前進させる。その後、動作制御部106は、頭側の台車20aからの距離が、例えば当該上限距離の三分の一になるまで尻尾側の台車20bを加速度的に前進させる(つまり、尻尾側の台車20bを頭側の台車20aに近づかせる)。その後、動作制御部106は、上記の処理を再び繰り返す。この協調制御例1によれば、シャクトリ虫のような動きで台車セット26aを動かすことができる。
【0217】
(18-2-1-2.第2の協調制御例:人が歩く動き)
図71~
図73は、台車セット26の第2の協調制御例を示した図である。
図71に示したように、第2の協調制御例は、例えば人間が歩く(二足歩行する)ような動きパターン(以下、第2の動きパターンと称する)で台車セット26bが動くように制御する例である。
【0218】
例えば、まず、所定のシート状媒体に対してユーザが台車セット26bを接近させることなどに基づいて、台車セット26bに対して第2の動きパターンが関連付けられ得る。その後、初期設定モード時において、制御部100は、例えばユーザが2台の台車20(台車セット26b)をマット30上に置いた際の当該2台の台車20の位置関係に基づいて、(当該2台の台車20のうち)右足側の台車20aと左足側の台車20aとを決定し得る。さらに、制御部100は、当該2台の台車20が置かれたタイミングにおける当該2台の台車20の間の距離に基づいて、左右の足間の設定距離(つまり、右足側の台車20aと左足側の台車20aとの間の距離)を同時に自動的に決定してもよい。
【0219】
その後、動作制御部106は、例えば
図72および
図73に示したように、目標の位置に対応する仮想点74に向かうように、右足側の台車20aと左足側の台車20aとを交互に前進(あるいは後進)させる。この制御例によれば、台車20の位置が目標の位置から多少ずれたとしても、容易に補正することができる。
【0220】
(18-2-1-3.第3の協調制御例:物体をつかむ構造)
図74~
図76は、台車セット26の第3の協調制御例を示した図である。
図74~
図76に示したように、第3の協調制御例は、例えばマット30上に配置されている他の物体2に対して飛び掛かって掴むような動きパターン(以下、第3の動きパターンと称する)で台車セット26cが動くように制御する例である。
【0221】
例えば、まず、所定のシート状媒体に対してユーザが台車セット26cを接近させることなどに基づいて、台車セット26cに対して第3の動きパターンが関連付けられ得る。その後、初期設定モード時において、ユーザが2台の台車20(台車セット26c)を例えばマット30上に置き、そして、例えば操作部122内のスタートボタンを押下すると、制御部100は、(当該2台の台車20のうち)前方の台車20aの位置と後方の台車20bの位置とを自動的に認識し得る。これにより、台車セット26cの工作サイズ(例えば、
図74に示したような、2台の台車20に貼るべき紙のサイズなど)が確定し得る。
【0222】
‐制御例1
その後、例えば前方の台車20aに関連付けられている操作部122に対する操作に基づいて前方の台車20aが移動される際には、動作制御部106は、後方の台車20bが滑らかな曲線を描きながら前方の台車20aを追従するように、後方の台車20bの動作を(自動的に)制御し得る。
【0223】
‐制御例2
さらに、所定の条件が成立した際には、動作制御部106は、
図75および
図76に示したように、前方の台車20aの近くに位置する物体2に対して飛び掛かって掴むような動きをするように、当該2台の台車20を制御する。当該所定の条件は、操作部122に対してユーザが所定の操作を行うことであってもよいし、または、前方の台車20aと後方の台車20bとの間の距離が所定の距離以下になることであってもよい。これにより、前方の台車20aと後方の台車20bとの間の距離が所定の距離以下になると物体2を掴むような動作を実現することが可能である。
【0224】
なお、台車セット26cは、動作制御部106の制御、または、操作部122に対するユーザの操作に基づいて、例えば(
図76に示したように)物体2を掴んだ状態のままで移動することも可能である。
【0225】
(18-2-1-4.第4の協調制御例:物理現象を模写したような動き)
図77は、台車セット26の第4の協調制御例を示した図である。
図77に示したように、第4の協調制御例は、物理現象を模写したような動き(例えば、2個の永久磁石の反発や引き合いのような動きパターン(以下、第4の動きパターンと称する)など)で台車セット26dが動くように制御する例である。
【0226】
例えば、まず、所定のシート状媒体に対してユーザが個々の台車20を接近させることなどに基づいて、当該台車20に「磁石の属性」が関連付けられ得る。より具体的には、当該台車20のうちの一部(前半分など)にN極、および、当該台車20のうちの残りの部分(後半分など)にS極がそれぞれ関連付けられ得る。
【0227】
その後、
図77に示したように、当該「磁石の属性」が関連付けられた台車20がマット30上に複数配置されている場合には、動作制御部106は、台車20aごとに、当該台車20a内の、他の台車20bにより近い部分に関連付けられている「磁極」と、台車20aおよび他の台車20bの間の距離とに基づいて、当該複数の台車20の動作を制御する。例えば、
図77の左図に示したように、一台の台車20aのうち「S極」が関連付けられている部分と、もう一台の台車20bのうち「S極」が関連付けられている部分とが接近した際には、
図77の右図に示したように、動作制御部106は、台車20bが台車20aから反発するような動きをする(例えば後進する)ように台車20bを制御する。
【0228】
‐変形例
変形例として、個々の台車20には、一つの磁極(つまり「N極」または「S極」)のみが関連付けられてもよい。この場合、(現実世界には存在しないような)一つの磁極のみの磁石を擬似的に作ることも可能となる。
【0229】
または、静止摩擦係数や動摩擦係数などがパラメータの値として設定されてもよい。この場合、動作制御部106は、当該パラメータの値に基づいて、個々の台車20の移動速度などを制御してもよい。
【0230】
または、動作制御部106は、2台の台車20の間にあたかもゴムの弾性力が働いているかのように当該2台の台車20の動きを制御することも可能である。例えば、動作制御部106は、一方の台車20aが他の台車20bに対して少し遅延しながら追従するように台車20aを制御してもよい。これにより、あたかも台車20aが台車20bに引っ張られるような動きを実現することができる。
【0231】
または、動作制御部106は、台車20の両輪の回転数を制御することにより、台車20の上に配置された玩具40が、回転の中心で止まったような動きを実現することも可能である。
【0232】
<18-3.効果>
以上説明したように、第17の実施形態によれば、2台の台車20に対して協調制御することが可能である。その結果、例えば、第1~第3の協調制御例のように、生物のような動きを実現することができる。なお、上記において示唆される通り、独立した2台の台車20の距離が、模写する生物のサイズに応じた距離以下に制限され、かつ、2台の台車20が互いに異なる動作を同時に行うことで、2台の台車20による生物の再現度が高まると見做されてよい。
【0233】
<18-4.変形例>
{18-4-1.変形例1}
第17の実施形態は、前述した例に限定されない。例えば、2台の台車20に関連付けられた動きパターンの種類(例えば生物の種類など)、および、開始時の当該2台の台車20の位置関係によっては、当該2台の台車20をそのまま動作させると、当該2台の台車20が移動不能となる、または、故障してしまう恐れがある。
【0234】
そこで、動作制御部106は、まず、当該2台の台車20に関連付けられた動きパターンの種類と、当該2台の台車20の現在の位置関係とに基づいて、当該2台の台車20の位置関係を変更する必要があるか否かを判断してもよい。そして、当該2台の台車20の位置関係を変更する必要があると判断した場合には、動作制御部106は、当該判断結果に基づいて当該2台の台車20の位置関係が変化するように、当該2台の台車20の動作を制御し得る。この場合、例えば
図78に示したように、動作制御部106は、当該2台の台車20の位置関係がデフォルトの位置関係になるように、当該2台の台車20の両方(または一方のみ)を移動または回転させてもよい。または、当該2台の台車20の位置関係をデフォルトの位置関係へ自動的に変更することが不可能(または困難)であると判定した場合には、
図79に示したように、出力制御部108は、エラー音を音声出力部126(または該当の台車20)に出力させたり、または、エラー表示を表示部124(または該当の台車20)に表示させてもよい。
【0235】
{18-4-2.変形例2}
通常、個々の台車20内の例えばモータ、モータドライバ、または、ギアなどの種類や特性は異なり得る。このため、情報処理装置10が、例えば、複数の台車20が同じ方向へ移動するように当該複数の台車20の各々を制御する場合であっても、当該複数の台車20のうちの一部は別の方向へ移動してしまい得る。
【0236】
そこで、動作制御部106は、台車20ごとに、当該台車20がマット30から読み取る角度情報(および位置情報)を用いて当該台車20の移動方向を随時制御することが可能である。例えば、
図80に示したように、動作制御部106は、台車20ごとに、当該台車20の移動方向が、当該台車20に対する移動指示方向と同一になるように、当該台車20が取得した角度情報に基づいて当該台車20の移動方向を制御すること(変更させるなど)が可能である。
【0237】
{18-4-3.変形例3}
前述したように、例えば台車20内の加速センサによる測定結果などに基づいて、台車20が他の物体に接触したか否かを判定することは可能である。一方で、台車20が接触した物体の種類を特定することは困難であり得る。その結果、
図81に示したように、台車20の移動が制限される恐れがある。
【0238】
そこで、例えば、台車20の位置情報の変化量が所定の閾値以内であると判定されている間において、台車20内のモータの回転の継続時間の長さが所定の時間に達したと判定された際には、動作制御部106は、当該台車20の移動を制限する物体が当該台車20の移動方向に存在すると判断してもよい。さらに、この場合、動作制御部106は、当該台車20に対する移動制御(前進制御や回転制御など)を一旦中止してもよい。
【0239】
さらに、例えば前進制御の場合には、動作制御部106は、該当の台車20を一旦後進させ、かつ、右および左に迂回させてもよい。これにより、台車20が「障害物を検知し、そして回避した」ような動きを実現することができる。従って、より生物に類似した動きを実現することができる。
【0240】
<<19.ハードウェア構成>>
以上、各実施形態について説明した。次に、各実施形態に共通する情報処理装置10のハードウェア構成について、
図82を参照して説明する。
図82に示すように、情報処理装置10は、CPU150、ROM(Read Only Memory)152、RAM(Random Access Memory)154、バス156、インターフェース158、入力装置160、出力装置162、ストレージ装置164、および、通信装置166を備える。
【0241】
CPU150は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置10内の動作全般を制御する。また、CPU150は、制御部100の機能を実現する。CPU150は、マイクロプロセッサなどのプロセッサにより構成される。
【0242】
ROM152は、CPU150が使用するプログラムや演算パラメータなどの制御用データなどを記憶する。
【0243】
RAM154は、例えば、CPU150により実行されるプログラムや、使用中のデータなどを一時的に記憶する。
【0244】
バス156は、CPUバスなどから構成される。このバス156は、CPU150、ROM152、および、RAM154を相互に接続する。
【0245】
インターフェース158は、ストレージ装置164、および、通信装置166を、バス156と接続する。
【0246】
入力装置160は、ユーザが情報を入力するための入力手段(例えばタッチパネル、ボタン、スイッチ、ダイヤル、レバー、または、マイクロフォンなど)、および、ユーザによる入力に基づいて入力信号を生成し、CPU150に出力する入力制御回路などを含む。入力装置160は、操作部122の機能を実現し得る。
【0247】
出力装置162は、例えばLCD装置、OLED装置、プロジェクタ、または、ランプなどの表示装置を含む。また、出力装置162は、スピーカーなどの音声出力装置を含む。出力装置162は、表示部124および音声出力部126の機能を実現し得る。
【0248】
ストレージ装置164は、記憶部130として機能する、データ格納用の装置である。ストレージ装置164は、例えば、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置、または、記憶媒体に記録されたデータを削除する削除装置などを含む。
【0249】
通信装置166は、例えばインターネットやLAN(Local Area Network)などの通信網に接続するための通信デバイス(例えばネットワークカードなど)等で構成された通信インターフェースである。また、通信装置166は、無線LAN対応通信装置、LTE(Long Term Evolution)対応通信装置、または有線による通信を行うワイヤー通信装置であってもよい。通信装置166は、通信部120の機能を実現し得る。
【0250】
<<20.変形例>>
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0251】
<20-1.変形例1>
例えば、
図83に示したように、台車20内の上面付近には、近距離無線通信部230(例えばNFCのリーダ/ライタ)が設置され、かつ、台車20内の底面付近には、ライブタグ262(例えばソフトウェアタグ)が設置されてもよい。さらに、マット30内にリーダ82(例えばNFCリーダ)が設置されてもよい。この場合、
図83に示したように、台車20の上面に対してユーザがタグ80(例えばNFCタグ)を接近させると、台車20は、タグ80から読み取った情報をリーダ82へ送信することが可能である。例えば、まず、近距離無線通信部230は、タグ80に格納されている情報を読み取る。次に、制御部200は、ライブタグ262に格納されている情報を、タグ80から読み取られた情報に書き換える。そして、ライブタグ262に新たに格納された情報が、台車20の直下に位置するリーダ82に対して送信される。これにより、ユーザは、マット30内の台車20が位置する領域に対してタグ80の情報を送ることができる。
【0252】
例えば、NFCを搭載した玩具40(人形など)が台車20の上に置かれると、台車20は、玩具40の種類を示す情報を玩具40から読み取り、そして、読み取った情報をマット30内のリーダ82に対して送信し得る。これにより、情報処理装置10またはマット30は、台車20の上に置かれている玩具40の種類を認識することができる。
【0253】
<20-2.変形例2>
{20-2-1.パラメータの変更}
別の変形例として、台車20を何らかのユーザインターフェースとして利用することも可能である。例えば、
図84に示した矢印Aのように、ユーザが台車20を平行移動させる際の移動距離および移動方向に応じて、台車20自体(または台車20の平行移動)と関連付けられているパラメータの値が動的に変更されてもよい。または、
図84に示した矢印Bのように、ユーザが台車20を回転させる際の回転量(回転角度や回転方向など)に応じて、台車20自体(または台車20の回転)と関連付けられているパラメータの値が動的に変更されてもよい。または、
図84に示した矢印Cのように、ユーザが台車20を倒したり、または、台車20を起こした場合には、台車20自体(または台車20の転倒状態)と関連付けられているパラメータの値が動的に変更されてもよい。なお、これらの動き情報(平行移動、回転、および、転倒など)は、台車20がセンシングした位置情報や加速度に応じて特定され得る。
【0254】
さらに、台車20が力覚センサを有する場合には、当該力覚センサによりセンシングされた力の強さに応じて、台車20に関連付けられているパラメータの値が動的に変更されてもよい。
【0255】
例えば、音楽アプリケーション用のユーザインターフェースとして、これらの動き情報が利用されてもよい。例えば、ユーザが台車20を動かすことにより、音の高低、ボリューム、テンポ、音色などが動的に変更されてもよい。または、ユーザが台車20を動かすことにより、
図85に示したように、ミキサーにおける各種のパラメータのレベル値が動的に変更されてもよい。
【0256】
{20-2-2.パラメータの変化のフィードバック}
さらに、パラメータの値が変更された際には、台車20は、変更後のパラメータの値を示す表示を(台車20の)表示部224に表示させてもよい。例えば、台車20は、変更後のパラメータの値に応じて、表示部224が発する光の色や発光パターンなどを異ならせてもよい。または、台車20は、変更後のパラメータの値に対応する音声を音声出力部226に出力させてもよい。例えば、台車20は、変更後のパラメータの値に応じて、音声出力部226が出力する音の種類や音の大きさなどを異ならせてもよい。
【0257】
<20-3.変形例3>
図1では、マット30がプレートのような形状である例を示したが、かかる例に限定されない。変形例として、
図86に示したように、マット30は、底上げ可能なように折り畳み可能な形状であってもよい。
図86では、マット30が縦および横のいずれの方向から折られた場合であっても底の高さを同様に上げることが可能なようにマット30が形成されている例を示している。なお、折り畳みのパターンはかかる例に限定されない。
【0258】
図87は、
図86に示したマット30が、底を上げるように折られており、かつ、マット30の上面上に台車20が置かれている様子を示した図である。
図87に示したように、この変形例によれば、一枚のマット30で土俵のような形状を実現することができる。従って、実空間上で行われるゲームの利点をさらに生かすことができる。
【0259】
なお、前述したように、情報処理装置10は、台車20内の加速度センサによる測定値や、台車20がマット30から読み取った位置情報の履歴などに基づいて、台車20がマット30から転落したか否かを特定することができる。
【0260】
<20-4.変形例4>
別の変形例として、
図88に示したように、マット30は3つのレイヤー(媒体330(例えばチップホール紙など)、および、2枚のマット332)から構成されてもよい。具体的には、媒体330の両面にそれぞれマット332が固定されてもよい。個々のマット332には、(前述したマット30と同様に)例えば格子状に位置情報が記録されている。この変形例によれば、
図89に示したように、一枚のマット30で二種類のゲームを実現できる。つまり、表面332aを上にした場合と裏面332bを上にした場合とで互いに異なるゲームを実現できる。
【0261】
<20-5.変形例5>
別の変形例として、
図1に示したマット30の代わりに、
図90~
図94に示したような別の形状のマット90が利用されてもよい。例えば、
図90に示したマット90aのように、マット部900aの下に半球状の物体902aが固定されていてもよい。または、
図91に示したマット90bのように、マット部900bの下に多角錐(例えば四角錐や六角錐など)状の物体902bが固定されていてもよい。または、
図92に示したマット90cのように、マット部900c上に、例えば台車20が移動可能な突出部902cが設置されていてもよい。または、
図93に示したマット90dのように、例えば台車20のサイズよりも大きい穴部902dがマット部900d内に設けられていてもよい。または、マット90は、ターンテーブルのような形状であってもよい。例えば、
図94に示したように、基部902eの上にマット部900eが設置されており、かつ、マット部900eは自動的にまたは手動で回転可能であってよい。これらのマット90が使用される場合、さらなる物理的な効果がゲームに対して導入され得る。
【0262】
<20-6.変形例6>
各実施形態に係る情報処理装置10の機能は、一台のコンピュータにより実現されてもよいし、または、複数のコンピュータが協同して動作することにより実現されてもよい。また、情報処理装置10は、複数台の装置から構成されてもよい。
【0263】
<20-7.変形例7>
各実施形態では、情報処理装置10が、
図1に示したようなゲーム機である例について説明したが、かかる例に限定されない。例えば、情報処理装置10は、サーバ、汎用PC(Personal Computer)、タブレット型端末、スマートフォンなどの携帯電話、携帯型音楽プレーヤ、テレビジョン受信機、例えばHMD(Head Mounted Display)などのウェアラブルデバイス、または、ロボットなどであってもよい。
【0264】
<20-8.変形例8>
別の変形例として、台車20の代わりに、ドローン(飛行体)が採用されてもよい。ドローンは、本開示に係る移動体の一例である。なお、情報処理装置10はドローンに組み込まれてもよいし、または、スマートフォン等のデバイスに組み込まれてもよい点に留意されたい。
【0265】
以下、この変形例の内容についてより具体的に説明する。従来、ドローンの離着陸や特定の場所を示すマーカーを設置し、そして、ドローンに設けられた下方を撮影する撮像装置が、設置されたマーカーを撮影することにより、ドローンの動作制御を補助する手法が知られている。また、従来のドローンにおいては、屋外空間におけるドローンの位置の検出のために、画像センサ、GPS(Global Positioning System)センサ、慣性センサ、超音波センサ、気圧計等から得られるセンサデータが、単独であるいは統合的に利用されている。しかしながら、屋外空間用のセンサデータの位置検出精度は、室内空間のような相対的に狭い空間におけるドローンの位置制御には十分ではない。このため、ドローンの室内空間における飛行制御のために、ドローンの位置検出精度の向上が期待されている。
【0266】
上記のようなドローンの飛行制御に対し、本開示における配列パターンが示す位置情報を利用して、ドローンの飛行経路が制御されてもよい。ここで、“配列パターン”には従来から利用されているマーカーが含まれる点に留意されたい。また、本開示におけるドローンの飛行制御において、特に明示的な言及が無い場合、前述の台車20における動作制御が応用されてよい。
【0267】
本開示において、ドローンの飛行制御は、配列パターンに含まれる複数の位置情報に基づいて行われる。この配列パターンは、台車20に関する実施形態のように、単一のマットに印刷されても良く、また、複数のマットに印刷されても良い。あるいは、マット以外の情報媒体が適宜採用されてよい。また、予め定められた位置関係に配置され、かつ、互いに離間したマット間を自律的に移動するように、ドローンの飛行制御が行われても良い。各マットには次に向かうべきマットの位置情報が少なくとも1つ示されていてもよい。あるいは、予め各マットのデータを記録したデータテーブルをネットワーク上からドローンにダウンロードし、そして、各マットのコードと当該データテーブルとを比較することにより、各マット間の飛行制御が行われても良い。
【0268】
マット同士が離間して配置される実施形態は、屋内空間での飛行制御だけでなく、屋外空間での飛行制御においても好適である。具体的には、屋外空間におけるドローンの離陸地点と着陸地点とを結ぶ飛行経路上の複数の中間地点の各々において、当該中間地点に対応する位置情報を示す配列パターンが設置され得る。そして、このように設置された中間地点を基準として、ドローンの自律的な飛行制御あるいはマニュアル飛行制御を行うとよい。なお、配列パターンが配置された中間地点を経由する飛行制御は、従来用いられているGPSを利用した飛行制御と組み合わせて(統合的に)適用されてよい。
【0269】
上記の構成によれば、GPS等によるドローンの位置検出精度と比較して、高い位置検出精度によるドローンの飛行制御を提供することが可能となる。
【0270】
本開示の配列パターンは、飛行中のドローンの高度検出に用いられても良い。具体的には、画像認識により取得される配列パターンのサイズに基づいて、ドローンの高度が検出され、そして、検出された高度に基づいてドローンの飛行制御が行われるとよい。より具体的には、配列パターンのサイズが小さい程、高度が高いものと認識されればよい。
【0271】
なお、離着陸の配列パターンに基づいてドローンの高度を制御する場合、ドローンと配列パターンの接近あるいは離間に伴い、配列パターンが画像内で大きくなりすぎて画角に収まらなくなる、あるいは配列パターンが画像内で小さくなりすぎて認識されなくなる可能性がある。この課題に対し、第1のサイズを有する第1の配列パターンと、第1のサイズよりも大きい第2のサイズを有する第2の配列パターンが、実空間における実質的に同一の位置に配置されるとよい。より具体的には、第1の配列パターンの中心と、第2の配列パターンの中心とが略一致するように第1の配列パターンおよび第2の配列パターンがそれぞれ配置されるとよい。このような配列パターンの組み合わせを採用すると、第2の配列パターンの中心に第1の配列パターンの中心が配置されることとなる。したがって、このような配列パターンの組み合わせを認識するために、各配列パターンの中心は、位置情報を含む制御情報を有しない領域として、ドローンにより認識される(無視される)とよい。そして、第1の配列パターンのサイズは、第2の配列パターンのうち制御情報を含まない領域のサイズ以下であればよい。
【0272】
上記のように第1の配列パターンおよび第2の配列パターンを構成すると、ドローンの着陸に伴い第2の配列パターンが画角に収まらなくなった場合であっても、着陸面に対するドローンの接近に伴い第1の配列パターンが認識されるようになる。したがって、ドローンの高度検出を高い精度で行うことが可能となる。この結果、離着陸時、特に着陸時のドローンに対する衝撃の発生が緩和されるため、例えばドローンの製品寿命を延ばすことが可能となる。
【0273】
ドローンの高度制御に関し、上記の個々の配列パターンのサイズを参照する制御に代えて、画角内に含まれる単位配列パターンの数に応じた高度制御が行われても良い。より具体的には画角内に含まれる単位配列パターンの数が多い程、高度が高いものと認識されれば良い。なお、ここでいう単位配列パターンとは、位置情報を示すパターンの最小単位と解されてよく、かつ、複数の単位配列パターンが、例えば単一のマット(情報媒体)に配列されるものと見做されてよい。
【0274】
<20-9.変形例9>
前述した各実施形態の処理の流れにおける各ステップは、必ずしも記載された順序に沿って処理されなくてもよい。例えば、各ステップは、適宜順序が変更されて処理されてもよい。また、各ステップは、時系列的に処理される代わりに、一部並列的に又は個別的に処理されてもよい。また、記載されたステップのうちの一部が省略されたり、または、別のステップがさらに追加されてもよい。
【0275】
前述した各実施形態によれば、CPU150、ROM152、およびRAM154などのハードウェアを、各実施形態に係る情報処理装置10の各構成と同等の機能を発揮させるためのコンピュータプログラムも提供可能である。また、当該コンピュータプログラムが記録された記憶媒体も提供される。
【0276】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【0277】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
所定の配列パターンを読み取るように構成されたセンサから位置情報を取得する情報取得部と、
前記位置情報に基づいて実空間における移動を含む第1の移動体の動作を制御する動作制御部と、
を備える、情報処理装置。
(2)
前記第1の移動体に対する前記センサの取り付け位置に基づいて、前記センサから取得した前記位置情報を補正する位置補正部をさらに備え、
前記動作制御部は、前記補正された位置情報に基づいて前記第1の移動体の動作を制御する、前記(1)に記載の情報処理装置。
(3)
前記位置補正部は、前記センサから取得した前記位置情報を、前記取り付け位置から特定される、前記第1の移動体の略中心に対応する位置情報に補正し、
前記動作制御部は、補正された位置情報に基づいて、前記第1の移動体の動作を制御する、前記(2)に記載の情報処理装置。
(4)
前記センサは、水平方向において前記第1の移動体の略中心から離間して取り付けられるように構成される、前記(3)に記載の情報処理装置。
(5)
前記センサは、前記水平方向において前記第1の移動体の前方に取り付けられるように構成される、前記(4)に記載の情報処理装置。
(6)
前記位置情報の取得に異常がある場合には、前記動作制御部は、所定の位置まで自動的に移動するように前記第1の移動体を制御する、前記(1)~(5)のいずれか一項に記載の情報処理装置。
(7)
前記位置情報の取得に異常がある場合には、前記動作制御部は、バックするように前記第1の移動体を制御する、前記(6)に記載の情報処理装置。
(8)
前記位置情報の取得に異常がある場合には、前記動作制御部は、前記位置情報が取得されるまで自動的に移動するように前記第1の移動体を制御する、前記(6)に記載の情報処理装置。
(9)
前記動作制御部は、前記位置情報の取得に異常が発生する直前の前記第1の移動体の移動方向に基づいて、前記第1の移動体の移動方向を制御する、前記(6)に記載の情報処理装置。
(10)
前記所定の配列パターンは、複数の異なるパターンにより実空間に関する位置情報を少なくとも定義する第1の配列パターンと、移動体の動作に関する制御情報を定義する第2の配列パターンとを含み、
前記動作制御部は、前記センサによる前記第1の配列パターンの読み取りに基づいて取得された位置情報と、前記センサによる前記第2の配列パターンの読み取りに基づいて取得された制御情報とに基づいて、前記第1の移動体の動作を制御する、前記(1)~(9)のいずれか一項に記載の情報処理装置。
(11)
前記制御情報は、前記第1の移動体の移動速度、動作パターン、および、回転動作のうち少なくとも1つを制御するための情報である、前記(10)に記載の情報処理装置。
(12)
前記第1の移動体に対する外力を検出する外力検出部をさらに備え、
前記動作制御部は、さらに前記外力の検出結果に基づいて前記第1の移動体の動作を制御する、前記(1)~(11)のいずれか一項に記載の情報処理装置。
(13)
第2の移動体と通信を行う通信部をさらに備え、
前記動作制御部は、前記通信部による通信に基づいて、前記第1の移動体と前記第2の移動体との位置関係を制御する、前記(1)~(12)のいずれか一項に記載の情報処理装置。
(14)
前記所定の配列パターンは、前記第1の移動体と前記第2の移動体との協調制御を定義する第3の配列パターンを含み、
前記動作制御部は、前記センサによる前記第3の配列パターンの読み取りに基づいて取得された情報に基づいて、前記第1の移動体と前記第2の移動体との位置関係を制御する、前記(13)に記載の情報処理装置。
(15)
前記所定の配列パターンは、前記第1の移動体とは異なるオブジェクトの動作に関する第4の配列パターンを含み、
前記動作制御部は、前記第1の移動体に電気的に接続され、かつ、前記第1の移動体に取り付けられた前記オブジェクトの動作を、前記センサによる前記第4の配列パターンの読み取りに基づいて取得された情報に基づいて制御する、前記(1)~(14)のいずれか一項に記載の情報処理装置。
(16)
所定の配列パターンを読み取るように構成されたセンサから位置情報を取得することと、
前記位置情報に基づいて実空間における移動を含む第1の移動体の動作をプロセッサが制御することと、
を含む、情報処理方法。
(17)
複数の異なるパターンにより実空間に関する位置情報を定義し、かつ、第1の面積を有する第1の配列パターンと、
移動体の動作に関する制御情報を定義し、かつ、前記第1の面積よりも小さい第2の面積を有する第2の配列パターンと、
を備える、情報媒体。
(18)
前記第2の配列パターンは、前記第1の配列パターンの前記複数の異なるパターンの組み合わせを定義するように構成される、前記(17)に記載の情報媒体。
(19)
前記制御情報は、前記移動体の移動速度、動作パターンおよび回転動作のうち少なくとも一つを制御するための情報を含む、前記(17)または(18)に記載の情報媒体。
(20)
前記情報媒体は、第1の情報媒体と、前記第1の情報媒体とは独立し前記第1の情報媒体よりも面積の小さい第2の情報媒体とを含み、
前記第1の配列パターンは、前記第1の情報媒体に設けられ、
前記第2の配列パターンは、前記第2の情報媒体に設けられる、前記(17)~(19)のいずれか一項に記載の情報媒体。
【符号の説明】
【0278】
10 情報処理装置
20 台車
22 カセット
24 ボール用台車
30、90 マット
40 玩具
100、200 制御部
102 情報取得部
104 マット情報特定部
106 動作制御部
108 出力制御部
110 外力検出部
112 位置情報補正部
120、220 通信部
122 操作部
124、224 表示部
126、226 音声出力部
128 カセット接続部
130 記憶部
222 入力部
228 センサ部
230 近距離無線通信部
232 駆動部
234 サーボモータ