(57)【要約】  ゲームロボットの例が開示される。ゲームロボットはスマートフォンやタブレットのようなコンピューティングデバイスによって制御され得る。ゲームロボットは単独またはグループでゲームすることに用いられ得る。ある場合において、ゲームロボットは、１ないしそれ以上の一次モジュール（１１）を有している。これらは、コンピューティングデバイスから受信したコマンドに応答して、ゲームロボットの少なくとも１つの移動モジュールを制御するメイン処理モジュールを有している。二次モジュール（１０００）は一次モジュール（１１）と機械的カップリング及び電気的インターフェース（１００３、１００４）を介して取り付けられる。前記メイン処理モジュールは、電気的インターフェース（１００３）を介して前記二次モジュール（１０００）からデータを取得し、そのデータをコンピューティングデバイスに送信するように構成されている。前記コンピューティングデバイスは、少なくとも１つの前記移動モジュールの制御が前記二次モジュールの接続に基づいて変更されるように、二次モジュールから得られたデータに基づいてメイン処理モジュールに送られたコマンドを変更する。
2018534953.tif 000002
【特許請求の範囲】
【請求項１】
１ないしそれ以上の一次モジュールを備えるゲームロボットであって：
前記一次モジュールは、
コンピューティングデバイスから受信したコマンドに応答して、ゲームロボットの少なくとも１つの移動モジュールを制御するメイン処理モジュールを備えるメインモジュールを有しており；
前記１ないしそれ以上の一次モジュールのうちの少なくとも１つは、
二次モジュールを接続するための二次モジュール機械的カップリングと、
二次モジュールの電子回路内に格納された、前記二次モジュールを識別するデータにアクセスするための二次モジュール電気的インターフェースと
を含み；
前記メイン処理モジュールは、
前記電気的インターフェースを介して前記二次モジュールからデータを取得し、そして、
そのデータをコンピューティングデバイスに送信するように構成されており；
前記コンピューティングデバイスは、少なくとも１つの前記移動モジュールの制御が前記二次モジュールの接続に基づいて変更されるように、二次モジュールから得られたデータに基づいて、メイン処理モジュールに送られたコマンドを変更する
ことを特徴とするゲームロボット。
【請求項２】
前記１ないしそれ以上の一次モジュールが、ロボットの動きを提供する少なくとも１つの移動モジュールを有しており、前記少なくとも１つの移動モジュールが、二次モジュール機械的カップリング及び二次モジュール電気的インターフェースを備えていることを特徴とする、請求項１に記載のゲームロボット。
【請求項３】
第一の二次モジュールが、前記二次モジュール機械的カップリングに接続可能であり、そして、コンピューティングデバイスから受信したコマンドが、メイン処理モジュールによって送信された前記第一の二次モジュールを識別するデータに基づいて、前記少なくとも１つの移動モジュールを第一の速度で動かすように制御し、そして
第二の二次モジュールが、前記二次モジュール機械的カップリングに接続可能であり、そして、コンピューティングデバイスから受信したコマンドが、メイン処理モジュールによって送信された前記第二の二次モジュールを識別するデータに基づいて、前記少なくとも１つの移動モジュールを第二の速度で動かすように制御する
ことを特徴とする、請求項２に記載のゲームロボット。
【請求項４】
前記少なくとも１つの移動モジュールが、複数の脚モジュールを有しており、前記脚モジュールの各々が、その脚モジュールの各部をそれぞれの複数の軸回りに回転させるための複数の原動機を有していることを特徴とする、請求項２または３に記載のゲームロボット。
【請求項５】
前記メイン処理モジュールは、前記コンピューティングデバイスからのハイレベルコマンドを受け取るように構成されており、
前記メイン処理モジュールは、各脚モジュール内の制御回路からの運動学的フィードバックを受け取るように構成されおり、そして、
前記メイン処理モジュールは、受信した運動学的フィードバックを使用して、ハイレベルのコマンドに応答して、ローレベルのコマンドを生成するための運動学的エンジンを有している
ことを特徴とする、請求項４に記載のゲームロボット。
【請求項６】
前記二次モジュール電気的インターフェースは、電力供給インターフェースとデータ通信インターフェースとを有していること特徴とする、請求項１〜５のいずれか１つに記載のゲームロボット。
【請求項７】
前記二次モジュールは、前記電力供給インターフェースを介して給電される一つないしそれ以上の能動的電子部品を備え、前記メイン処理モジュールは、前記能動的電子部品を制御するように構成されていること特徴とする、請求項６に記載のゲームロボット。
【請求項８】
前記二次モジュールは、シールドモジュール及び武器モジュールのうちの１つであることを特徴とする、請求項１〜７のいずれか１つに記載のゲームロボット。
【請求項９】
請求項１〜８のいずれか１つに記載のゲームロボットと、
ゲームロボットソフトウェアアプリケーションを実装するコンピューティングデバイスと
を有することを特徴とするゲームロボットシステム。
【請求項１０】
前記コンピューティングデバイスは、前記ゲームロボットのメイン処理モジュールから送信されたデータに基づいて、前記ゲームロボットソフトウェアアプリケーション内でのゲーム環境内の前記ゲームロボットの属性を更新するように構成されていることを特徴とする、請求項９に記載のゲームロボットシステム。
【請求項１１】
前記コンピューティングデバイスは、接続デバイスを有しており、前記接続デバイスは、
前記ゲームロボットソフトウェアアプリケーションを実装するためのプロセッサと
前記ゲームロボットのメイン処理モジュールと通信するための無線インターフェースと、
前記ゲームロボットソフトウェアアプリケーションのユーザーインターフェースを表示するディスプレイ画面と、
前記ゲームロボットソフトウェアアプリケーションにユーザコマンドを提出するゲームコントローラーと
を有することを特徴とする、請求項９に記載のゲームロボットシステム。
【請求項１２】
前記ゲームロボットソフトウェアアプリケーションは、
無線インターフェースを介して前記ゲームロボットのメイン処理モジュールから受信されたデータに基づいて、前記ゲームロボットに接続された任意の二次モジュールの状態を収集するスマートモジュールシステムと、
前記スマートモジュールシステムからのデータを受信し、そして、このスマートモジュールシステムからのデータに基づいて、少なくともゲームロボットを含むシミュレートされた戦闘の結果を計算する戦闘システムと
を有していることを特徴とする、請求項１１に記載のゲームロボットシステム。
【請求項１３】
アクティブなインターネット接続を介してコンピューティングデバイスに通信可能に接続されたデータサーバを有しており、前記データサーバは、前記ゲームロボットに関するデータを格納するロボットデータベースを有しており、
前記データサーバは、コンピューティングデバイスから二次モジュールを識別するデータを受信し、前記データを検証し、そして、前記データを前記ロボットデータベースに格納する
ことを特徴とする、請求項９〜１２のいずれか１つに記載のゲームロボットシステム。
【請求項１４】
前記ゲームロボットソフトウェアアプリケーションは、
１または２以上の仮想アイテムの状態を判定するための仮想アイテムシステムを備え、
前記コンピューティングデバイスは、前記二次モジュールから得られたデータに基づいて、そして任意の現在の仮想アイテムに基づいて、前記メイン処理モジュールに送られるコマンドを変更する
ことを特徴とする、請求項１０に記載のゲームロボットシステム。
【請求項１５】
前記メイン処理モジュールは、メモリを備え、そして
原動機動作のシーケンスを含む、脱離可能な二次モジュールに関連付けられた動作プログラムを受信し、
前記動作プログラムを前記メモリに格納し、そして、
前記脱離可能な二次モジュールが接続されている場合に、コンピューティングデバイスからの少なくとも１つのコマンドに応答して前記動作プログラムを選択的にロードし実行する
ように構成されている特徴とする、請求項４または５に記載のゲームロボット、
【請求項１６】
前記メインモジュールは、
複数の脚モジュールを前記メインモジュールに接続するための脚部機械的カップリング群及び脚部電気的インターフェース群のセットを有しており、
各脚モジュールは、
前記脚モジュールを識別するデータを格納するメモリを含むマイクロコントローラーと；
前記脚モジュールを前記メインモジュールの脚部機械的カップリングの1つに接続するためのメインモジュール機械的カップリングと；
前記脚モジュールを前記メインモジュールの脚部電気的インターフェースの１つに電気的に接続するためのメインモジュール電気的インターフェースと
を有しており、
前記マイクロコントローラーは、前記メインモジュールの電気的インターフェースを介して前記メイン処理モジュールと電気的に連絡している
ことを特徴とする、請求項４または５に記載のゲームロボット。
【請求項１７】
各脚モジュールの前記メインモジュール電気的インターフェースは、各脚モジュールのそれぞれの二次モジュール電気的インターフェースに電気的に結合された、少なくとも1つの電力線及び少なくとも1つのデータ線を含むことを特徴とする、請求項１６に記載のゲームロボット。
【請求項１８】
前記脚部電気的インターフェースの各々が、脚モジュールが接続されたことを示すデータ線を有していることを特徴とする、請求項１６または１７に記載のゲームロボット。
【請求項１９】
前記メイン処理モジュールは、与えられた脚マイクロコントローラーへ原動機の所望の位置及び速度を指示するように構成されていることを特徴とする、請求項１６〜１８のいずれか１つに記載のゲームロボット。
【請求項２０】
各脚モジュールのマイクロコントローラーは、メイン処理モジュール電気的インターフェースを介して前記メイン処理モジュールにデータを送信し、前記データは、
脚モジュールに関する固有の識別子と；
接続状態データと；
接続された任意の二次モジュールを識別するデータを含む二次モジュールデータと
を有しており、
前記メイン処理モジュールは、与えられた脚モジュールマイクロコントローラーにジョイント動作データを送信するように構成されており、前記ジョイント動作データは、位置及び速度命令を含んでいる
ことを特徴とする、請求項１６〜１８のいずれに記載のゲームロボット。
【請求項２１】
二次モジュールを識別する前記データは、
固有の識別子と、
前記二次モジュールの能動的電子部品の機能の指示と
を含んでいる、請求項１〜２０のいずれか１つに記載のゲームロボット。
【請求項２２】
二次モジュールを識別する前記データは、
二次モジュールのタイプを指示する識別子
を含んでいる、請求項２１に記載のゲームロボット。
【請求項２３】
前記コンピューティングデバイスは、無線インターフェースを介して前記メイン処理モジュールにハイレベルコマンドを送信するように構成されており、前記ハイレベルコマンドは、少なくともゲームロボットの所望の空間位置を示しており、前記メイン処理モジュールは、前記ハイレベルレベルコマンドを、少なくとも１つの移動モジュールの少なくとも所望のジョイント位置を示すローレベルコマンドに変換するように構成されていることを特徴とする、請求項１１に記載のゲームロボットシステム。
【請求項２４】
前記ゲームロボットソフトウェアアプリケーションは、
ゲームコントローラーから、ゲームロボットの動きの少なくとも所望の移動方向を示すユーザコマンドを受信し、そして、
前記二次モジュールから得られたデータを用いて検索された前記ゲームロボットの入力属性としての運動学的関数を用いて前記ゲームロボットの前記ハイレベルコマンドを計算する
ように構成されていることを特徴とする、請求項２３に記載のゲームロボットシステム。
【請求項２５】
前記メイン処理モジュールは、ゲームロボットステータスデータを前記コンピューティングデバイスに送信するように構成されており、そして、前記コンピューティングデバイスは、前記データをロボットデータベース内のロボットプロファイルに収納するためにデータサーバに送信するように構成されていることを特徴とする、請求項１３に記載のゲームロボットシステム。
【請求項２６】
前記ゲームロボットステータスデータは、
ゲームロボットによって移動された距離、
ゲームロボット用の較正データ、
ゲームロボットによって経験された障害、及び
ゲームロボットに接続された二次モジュール
のうちの少なくとも１つを含んでいることを特徴とする、請求項２５に記載のゲームロボットシステム。
【請求項２７】
ゲームロボットを制御する方法であって、
コンピューティングデバイスにおいて、ゲームロボットから、前記ゲームロボットの、前記ゲームロボットに機械的及び電気的に接続された脱離可能なモジュールを識別する、前記脱離可能なモジュールの電気部品から得られるデータを受信し；
前記コンピューティングデバイスにおいて、前記ゲームロボットから受信した前記データに基づいて、前記コンピューティングデバイスによって実装されたゲーム環境内の前記ゲームロボットの属性を更新し；
前記コンピューティングデバイスにおいて、前記コンピューティングデバイスのゲームコントローラーを使用して入力されたユーザコマンドを受信し；
前記コンピューティングデバイスにおいて、前記ゲームロボットの属性及び前記ユーザコマンドの関数としての前記ゲームロボットに対するコマンドを計算し；そして、
前記コンピューティングデバイスから前記ゲームロボットへ、前記ユーザコマンドに応答して前記ゲームロボットの動作を制御するために使用可能である、前記コマンドを、転送する
ことを含むことを特徴とする、ゲームロボットを制御する方法。
【請求項２８】
前記ゲームロボットのメイン処理モジュールで、前記コンピューティングデバイスから前記コマンドを受信し；
前記メイン処理モジュールで、運動学的エンジンを使用して１または２以上の原動機のための運動学的コマンドに前記コマンドを変換し；
前記ゲームロボットにおいて、前記ユーザコマンドに応答して前記ゲームロボットの移動を行うために前記運動学的コマンドを使用して、前記１または２以上の原動機を制御することを含み、
前記移動は、脱離可能なモジュールの機械的及び電気的な接続に依存するものである、
ことを特徴とする請求項２７に記載の方法。
【請求項２９】
前記脱離可能なモジュールをロボットデバイスから脱離し；
前記コンピューティングデバイスにおいて、前記ゲームロボットから、前記脱離可能なモジュールが存在しないことの表示を受信し；
前記コンピューティングデバイスにおいて、前記表示に基づいて前記ゲームロボットの属性を更新することを含み、
前記更新された属性は、前記ユーザコマンドに応答して前記ゲームロボットの動きを制御するコメントの変更された一組を生成するために、前記コンピューティングデバイスによって使用されるものである、
ことを特徴とする、請求項２８に記載の方法。
【請求項３０】
前記脱離可能なモジュールは、第１の脱離可能なモジュールを有し、そして、前記方法は、
前記第１の脱離可能なモジュールを前記ゲームロボットから脱離し；
第２の脱離可能なモジュールを前記ゲームロボットに接続し；
前記コンピューティングデバイスにおいて前記ゲームロボットから、前記第２の脱離可能なモジュールの電子部品から得られるデータであって、前記第２の脱離可能なモジュールを識別するところのデータを受信し；
前記コンピューティングデバイスにおいて、前記第２の脱離可能なモジュールを識別するデータに基づいて、前記ゲームロボットの属性を更新すること
を含んでおり、
更新された前記属性は、前記ユーザコマンドに応答して前記ゲームロボットの動きを制御する、コメントの変更された一組を生成するために、前記コンピューティングデバイスによって使用されるものである、
ことを特徴とする、請求項２８に記載の方法。
【請求項３１】
前記脱離可能なモジュールを識別するデータは、固有の識別子を含んでおり、そして前記方法は、
前記コンピューティングデバイスにおいて、データベースに対して前記固有の識別子を相互参照して、前記脱離可能なモジュールの真正性を検証すること
を含む
ことを特徴とする、請求項２７〜３０のいずれか１つに記載の方法。
【請求項３２】
ゲームロボットであって、
機械的カップリング及び電気的インターフェースをそれぞれ含む複数の一次モジュール群であって、前記複数の一次モジュール群が、
複数の脚モジュールであって、前記脚モジュールの各々が、前記脚モジュールの部分をそれぞれの複数の軸回りに回転させる複数の原動機を有しているところの複数の脚モジュール、及び、
前記複数の脚モジュール群を制御するためのメイン処理モジュールを含むメインモジュールを含む
ところの複数の一次モジュール群と；
少なくとも１つの脱離可能な二次モジュールであって、
使用時において、複数の一次モジュールのうちの１つの機械的カップリングに係合する機械的カップリング、
使用時において、前記複数の一次モジュールのうちの１つのモジュール上の電気的インターフェースと電気的に結合される電気的インターフェース、及び、
前記二次モジュールを識別する固有の識別子を格納する電子回路
を有するところの少なくとも１つの脱離可能な二次モジュールと
を有するところのゲームロボット； 及び、
前記ゲームロボットに通信可能に結合された接続デバイスであって、
前記複数の脚モジュールを制御するために前記ゲームロボットの前記メイン処理モジュールにハイレベルコマンドを送信するように構成されたソフトウェアアプリケーションを実行するプロセッサと、
前記ゲームロボットソフトウェアアプリケーションにユーザコマンドを提出するゲームコントローラーと
を有するところの接続デバイス
を含むゲームロボットシステムであって、
前記ゲームロボットの前記メイン処理モジュールは、
前記電気的インターフェースを介して脱離可能な二次モジュールから固有の識別子を取得し、そして、
前記固有の識別子を前記接続デバイス上に実装されたゲームロボットソフトウェアアプリケーションに送信する
ように構成されており、
前記ゲームロボットソフトウェアアプリケーションは、
前記固有の識別子に基づいて前記ゲームロボットソフトウェアアプリケーション内のゲーム環境内の前記ゲームロボットの属性を更新し、
前記更新された属性、及び、前記ゲームコントローラーから受信したユーザコマンドに基づいてハイレベルの動作コマンドを計算し、そして、
前記ハイレベルな動作コマンドを前記ゲームロボットの前記メイン処理モジュールに送信する
ように構成されており、
前記メイン処理モジュールは、更に、受信したハイレベルな動作コマンドに基づいて前記複数の脚モジュールの原動機を制御するローレベルコマンドを計算するように構成されている
ことを特徴とするゲームロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームロボットに関する。排他的ではないが、特に、本発明は、ゲームロボットを制御するための方法及びシステムに関する。ゲームロボットは、スマートフォンやタブレットなどのコンピューティングデバイスによって制御され得る。ゲームロボットは、一人でまたはグループでゲームを行う行為に用いられ得る。
【背景技術】
【０００２】
コンピュータまたはビデオゲームシステムは、ゲーム装置によって生成され、コンピュータモニタまたはテレビ画面に表示される仮想世界の周りを伝統的に巡っていた。 ゲーム装置は、ゲームコンソール、パーソナルコンピュータ、または最近では、スマートフォンまたはタブレット装置であり得る。 ゲームコンソールは、典型的には、ゲームパッドまたはジョイスティックの形態のゲームコントローラーを使用して制御され； パーソナルコンピュータは、ジョイスティックまたはキーボードを備えたコントローラーであり得；そしてスマートフォンまたはタブレットは、タッチスクリーンインターフェースを使用し得る。 時間が経過するにつれ、ゲームシステムによって作成された仮想世界やキャラクターは、ますます詳細かつ精巧になってきており、初期のゲームコンピュータの単純な2次元グラフィックスから、実物の実体、現実的な物理、照明エンジンを持つ巨大な三次元世界へと移っている。
【０００３】
ゲームシステムは時間の経過とともに高度化してきているが、しばしばゲームの仮想世界とそのゲーム内のキャラクターとの親密さやつながりの欠けているところがある。 オンラインゲームの台頭や、コンピュータゲームのプレイ中に世界中の他のユーザーとコミュニケーションすることができる機能にもかかわらず、ユーザーはしばしば３０年以上にわたって一定のままであったゲームコントローラー及び画面を用いてゲームと対話する。
【０００４】
仮想キャラクターやゲームの世界との親密さやつながりを高めようとする試みは限られたものであった。米国特許第5,766,077号は、三次元玩具本体とゲーム機とが組み合わされた「非常に面白いゲーム装置」を記載している。玩具本体は、近くに設置されたモニタに表示された戦闘キャラクターに対応しており、そしてそれゆえプレーヤーが戦闘キャラクターに感情移入しやすくなり、ゲームをより興味あるものとすることができる。玩具本体に対応するキャラクターは、ゲームメインユニットを用いてモニタに表示される。ロボット玩具が、有線インターフェースを介してゲームメインユニットに接続される。コントローラーが、モニタに表示されたキャラクターの動きを制御するように設けられている。玩具本体又は「ロボット玩具」は、主ロボット部（胴体部）と、複数のロボット部品（腕部又は脚部）とを有し、後者は主ロボット部に分離可能に装着されている。前記主ロボット部は、自己関連データが記憶された不揮発性メモリを有し、前記ロボット部品のそれぞれは、それ自体を識別するための識別部分を有する。ゲームメインユニットは、主ロボット部の不揮発性メモリからデータを読み出すための読み出し手段（読み出し部）と、各玩具胴体部品の識別部を解読しそして上記玩具胴体部品を個別に指定することができる特定手段（読み出し部）とを有している。また、前記データ読み出し手段により読み出されたデータと、前記特定手段により特定された内容と、コントローラーの操作とに基づいて、キャラクターの動作を制御する制御手段（制御手段）を有している。
【０００５】
国際公開第2016/075081号公報（WO 2016/075081 A1）は、玩具、例えば組立玩具の構成部品の、自動コンピュータ支援光学認識のためのシステム及び方法を記載している。 組立玩具の構成要素から構築された玩具は、デジタル画像から認識され、そして仮想ゲーム世界内で玩具の仮想表現を生成するために使用される。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、親密さやつながりを高めるこれらの試みは、依然として、ゲームの物理的世界と画面上に表示される仮想世界との間にギャップを生じさせる結果となっている。 仮想世界とキャラクターがより豊かでよりリアルになるにつれて、これはますます遠くに感じられるものである。
【課題を解決するための手段】
【０００７】
本発明の第１の態様によれば、１ないしそれ以上の一次モジュールを有するゲームロボットが提供される。１ないしそれ以上の一次モジュールは、コンピューティングデバイスから受信したコマンドに応答して、ゲームロボットの少なくとも１つの移動モジュールを制御するメイン処理モジュールを有するメインモジュールを含むものである。１ないしそれ以上の１次モジュールのうちの少なくとも１つは、二次モジュールを接続するための二次モジュール機械的カップリングと、二次モジュールの電子回路内に格納されたデータにアクセスするための二次モジュール電気的インターフェースとを含み、前記データは前記二次モジュールを識別するものである。前記メイン処理モジュールは、前記電気的インターフェースを介して二次モジュールからデータを取得し、そのデータをコンピューティングデバイスに送信するように構成される。コンピューティングデバイスは、少なくとも１つの移動モジュールの制御が前記二次モジュールの接続に基づいて変更されるように、二次モジュールから得られたデータに基づいてメイン処理モジュールに送られたコマンドを変更する。
【０００８】
したがって、本明細書に記載の特定の例は、ゲームロボットと呼ばれる民生用ロボットの比較的新しいタイプに関連する。これらは、ビデオゲームに関連して使用されており、物理世界と仮想世界をマージ（合成）する。これは、増補されたリアリティの助けを借りて達成することができる。このゲームロボットは、このように、コンピューティングデバイス上で再生される仮想ゲームの物理的存在を表すために使用され得る。したがって、ゲームロボットは、物理的と仮想のゲームアクションを兼ね備えている。ゲームロボットは、仮想世界で表現されているゲームのミッションや戦いを完了するために、物理的な世界において制御され得る。二次モジュールを取り付けることで、ユーザーは、物理世界と仮想世界の両方で、すなわち閉ループ方式で、ゲームロボットの挙動を変更することができる。このようにロボットに、例えば、無視できる程の物理的な衝撃を有する部分を取り付けるといった、ロボットに対しての物理的修飾は、ゲームロボットの属性または特性に対しての仮想修飾をもたらし得、原動機起動の修飾された動作及び／またはシーケンスのような、修飾された物理的挙動において明らかとなる。
【０００９】
一つの場合においては、コンピューティングデバイスは、無線接続によってつながれるスマートフォンやタブレットのような、通信可能に接続されたモバイルデバイスを有して構成され得る。他の場合においては、コンピューティングデバイスは、リモート（データ）サーバを有して構成され得、これによって、ゲームロボットは、直接または制限されたゲームコントローラーを介して、リモートサーバに接続される。例えば、この場合には、メイン処理モジュールは、インターネット及びリモートサーバに接続することを可能にするために、無線ＬＡＮインターフェースを有し得る。第三の場合、コンピューティングデバイスは、通信可能に接続されたモバイルデバイスとリモートサーバの両方を有して構成され得、例えば、ゲームロボットはモバイルデバイスに接続され、そして次いでモバイルデバイスの接続を介してリモートサーバに接続され得る。この場合、特定の処理タスクは、モバイルデバイスとリモートサーバとの間で分配され得る。
【００１０】
使用時において、前記ゲームロボットは、いくつかの一次及び二次モジュールを有することができる。一次モジュールは、前述のメインモジュール、一つ以上の移動[locomotion]モジュール、胴体モジュールとバッテリーモジュールの少なくとも１つを有し得る。一次モジュール群の各々は、他の一次モジュール、及び/または一つ以上の二次モジュールに結合可能なものであり得る。一例においては、ゲームロボットは、ロボット胴体に取り付けるロボットの脚部及び/または武器に取り付けられた、脱離可能なシールドを含む二次モジュールを有し得る。二次モジュールは、シールドの電子回路内に格納されたデータによって示される特定の属性に関連付けることができる。「重い」または「軽い」と思われるシールドは、例えば、マイクロコントローラーメモリ内に格納された固有の識別子またはストリング配列（記号列配列 [string sequence])のような、シールドの電子回路内に格納されたデータを用いて識別することができる。しかしながら、「重い」及び「軽い」のシールドの両方とも、匹敵する物理的質量（又は脚部の動作に小さな物理的効果を有する質量）を有していてもよい。コンピューティングデバイスは、シールドからデータを受信し、それが「重い」かまたは「軽い」か否かを判断する。一つの場合では、前記データは、二次モジュールの種類を示す識別子を含んでいる。コンピューティングデバイスは、その後、例えば、何のシールドも装着されていない基準の場合と比較して、ゲームロボットのメイン処理モジュールに送信されたコマンドを修正または変更して、脚の動きが遅くなるか、そうでなければシールドの仮想質量に比例して変調されるようになっている。例えば、「重い」のシールドは、ゲームロボットの仮想質量を倍増することができ、そしてロボットは、このようにゲームロボットが何ら装着されたシールドを有していない基準の場合の加速度の半分で動くコマンドを送信することができる。
【００１１】
一つの場合においては、前記一つないしそれ以上の一次モジュールは、少なくとも一つの移動モジュールを有し得、ここで前記少なくとも一つの移動モジュールは前記二次モジュール機械的カップリング及び前記二次モジュール電気的インターフェースを有し得る。例えば、移動モジュールは、少なくとも股関節及び大腿部を含む脚モジュールであり得、そして、二次モジュールは、電気的及び機械的に脚モジュールに取り付けられる脱離可能なシールド構成要素であり得る。
【００１２】
一つの場合においては、第一の二次モジュールは、前記二次モジュール機械的カップリングに接続可能であり、そしてコンピューティングデバイスから受信したコマンドが、メイン処理モジュールによって送信された前記第一の二次モジュールを識別するデータに基づいて、前記少なくとも１つの移動モジュールを第一の速度で動かすように制御する。例えば、二次モジュールの機械的結合及びコンピューティングデバイスの制御から第1の速度で移動するための少なくとも1つの運動モジュールを受け取ったコマンドに接続可能である。力が一定であると仮定される場合、例えば、この第一の二次モジュールが、第一の仮想質量（「重い」シールド又は武器である）を有していてもよく、そしてそれゆえ力が一定と仮定される場合、加速度が低減される。この場合、コンピューティングデバイスは、例えば、前方または後方にロボットを移動させるといった、ゲームロボットのための動きの方程式の値を求めるように構成されており、そして、例えば、時間ｔ（例えば１０秒）内での相対的X、Y位置または相対的X、Y、Z位置（例えば、[＋5、＋10]又は[＋5、＋10、＋20]）への移動、といった、ゲームロボットのためのコマンドを計算するためにその結果を使用する。これらのコマンドは、回転要素を含み得る。ゲームロボットのメイン処理モジュールは、例えば、埋め込まれたコントローラーのファームウェアを介して、これらのコマンドを受信し、この運動を達成するために一連の原動機回転（例えば、パルス幅変調信号）を計算するよう構成される。
【００１３】
この場合、第二の二次モジュールがまた、前記二次モジュール機械的カップリングに接続可能である。前記第二の二次モジュールは、前記第一の二次モジュールに代えて接続可能であり、例えば、前記第一の二次モジュールが取り除かれ、そして第二の第二モジュールで置き換えることができる。コンピューティングデバイスから受信したコマンドは、前記少なくとも１つの移動モジュールを、メイン処理モジュールによって転送された第二の二次モジュールを識別するデータに基づいて、第二の速度で移動するように制御する。例えば、この第二の二次モジュールが、第二の仮想質量（「軽い」シールド又は武器である）を有しており、そしてそれゆえ、前記第一の二次モジュールが装着され場合と力が同じと想定された場合（例えば、ゲームロボットが同じ潜在的なジョイントの運動力を有している。）、加速はより少ない程度によって低減される。コンピューティングデバイスがゲームロボットのためのコマンドを計算するように、コンピューティングデバイスが動きの方程式の値を求めた場合、同じ位置を得るための時間は減少させることができる（加速がより大きくなるように）。このことは、例えば、時間ｔ（例えば７．５秒）内での相対的X、Y、Z位置（例えば、 [＋5、＋10、＋20]）への移動のような。高いレベルのコマンドという結果となる。再度、ゲームロボットのメイン処理モジュールは、これらのコマンドを受信し、そしてこの運動（より早い回転を介して）を達成するために一連の原動機回転（例えば、パルス幅変調信号）を計算するよう構成される。
【００１４】
上述したように、前記一次モジュールは、移動モジュールを有して構成され得、さらにその移動モジュールは複数の脚モジュールを有して構成され得る。この場合、ゲームロボットは、「脚式」ゲームロボットであり得、例えば、4本の脚を有し得る。一つの場合においては、前記脚モジュールは、それぞれの複数の軸の回りで前記脚モジュールの一部を回転させるための複数の原動機を有し得る。一つの場合においては、脚モジュールは、2つの原動機（「膝」及び「角度」ジョイント）を有する「大腿」部、並びに1つの原動機（「股」関節のための）を有する「股」部を有して構成され得る。これらの場合には、複数のそれぞれ独立して制御可能な原動機を有することによって、多くの複雑なロボット動作が成立する。このようにして、ゲームロボットは、仮想ゲーム世界または環境の複雑なアニメーションまたはキャラクターの動き物理的世界において演じることが可能である。この方法において、真に迫った動き(例えば、クモ、カニ、トカゲ、哺乳動物などの動物の動きを模倣した流動的な動き）が、これら二つの世界の間のギャップを埋めかつユーザーに没頭し得る経験を与えて、物理的な世界と仮想的な世界の両方で見ることができる。
【００１５】
一つの場合において、メイン処理モジュールは、コンピューティングデバイスからのハイレベルのコマンドを受け取るように構成されており、そして前記メイン処理モジュールは、各脚モジュール内の制御回路からの運動学的フィードバックを受け取るように構成されている。この場合には、メイン処理モジュールは、受信した運動学的フィードバックを使用して、ハイレベルのコマンドに応答して、ローレベルのコマンドを生成するための運動学的エンジンを有していてもよい。例えば、上述したように、ハイレベルのコマンドは、特定の相対位置（ゲームロボットの姿勢と比較して）にまたは絶対的位置（例えば、前記ロボット回りの物理的環境をモデル化する定義された三次元空間内）に動かすコマンドを有して構成され得る。このハイレベルのコマンドは、時間基準のもの（例えばx秒以内）であり得、その場合、運動学的エンジンは、必要な原動機の速度及び加速度を計算するものであり得る、あるいは、ハイレベルのコマンドは、スカラー速度、ベクトル速度、並びにスカラー及び/又はベクトル加速度の１または２以上の点から定義され得る。例えば、ハイレベルのコマンドは、運動学的拘束内の予め定義された運動シーケンスまたは時間内に定義された一連の運動（例えば、時空における規定点間の直線運動または非直線運動のいずれか）の活性化を含み得る。
【００１６】
この制御システムは、仮想的動きを物理的動きに変換する際に、複雑で流動的な運動を可能にする上で、利点を有する。例えば、時間及び位置情報は、コンピューティングデバイス上で動作するゲーミングエンジンからの最小の変更で出力され得る。これにより、ゲーミングエンジンが、例えば、スマートフォンなどのような、ポータブルコンピューティングデバイス上でリアルタイムレートで動作することが可能になる。これと比較して、コンピューティングデバイス上でロボット原動機の運動学を計算する必要のあるシステムは、処理オーバヘッドと特定のロボット装置のための制御ライブラリの最適化が欠如しているため、リアルタイムレートでの実行が困難である。この処理の分割はまた、コンピューティングデバイスからゲームロボットへの通信リンクを介して送られる必要がある情報を減少させる。例えば時間fで「[x、y、z]に移動する」などのコマンドは、移動を実施するために必要とされる低レベルの原動機命令のセットよりもはるかに小さい。
【００１７】
いくつかの実施例においては、二次モジュール電気的インターフェースは、電力供給インターフェースとデータ通信インターフェースとを含む。これらの場合、二次モジュールは、前記電力供給インターフェースを介して給電される一つないしそれ以上の能動的電子部品を備え、ここでメイン処理モジュールは、前記能動的電子部品を制御するように構成される。例えば、二次モジュールは、スクリーン、モータ、または１または２以上の発光ダイオード（LED）を有し得る。いくつかの場合においては、前記二次モジュールを識別するデータは固有の識別子、及び二次モジュールの能動的電子特徴形成部分の表示を有する。これらの能動的電子構成要素を特定するデータは、メイン処理モジュールが格納された命令セットに基づいて構成要素を検出し、そして制御することを可能にすることができる。例えば、メイン処理モジュールは、コンピューティングデバイスによって指示された移動を実行しながら、１または２以上の有色LEDを点滅させることができる。いくつかの場合においては、機械的カップリング及び電気的インターフェースは、例えば磁気クラスプ及び/またはピン/ソケット電気コネクタのような公知の構造部品によって実施されてもよい。
【００１８】
本発明の第２の態様によれば、本明細書に記載の実施例のいずれかのゲームロボットと、ゲームロボットソフトウェアアプリケーションを実装するコンピューティングデバイスとを備えるゲームロボットシステムが提供される。この場合、ゲームロボットソフトウェアアプリケーションは、二次モジュールを識別するデータを受信し、ゲームロボットのメイン処理モジュールに送信されるコマンドを計算し得る。例えば、コンピューティングデバイスは、ゲームロボットのメイン処理モジュールから送信されたデータに基づいて、ゲームロボットソフトウェアアプリケーション内のゲーム環境内のゲームロボットの属性を更新するように構成され得る。
【００１９】
一実施例において、コンピューティングデバイスは、接続デバイスを有している。前記接続デバイスは、スマートフォンまたはタブレットなどのポータブルコンピュータであり得る。別の場合には、接続デバイスはラップトップまたはデスクトップコンピュータであり得る。さらに別の場合には、接続デバイスは専用のゲームコントローラーであり得る。これらの場合、接続デバイスは、ゲームロボットソフトウェアアプリケーションを実装するためのプロセッサと、ゲームロボットのメイン処理モジュールと通信するための無線インターフェースと、ゲームロボットソフトウェアアプリケーションのユーザーインターフェースを表示するディスプレイ画面と、ゲームロボットソフトウェアアプリケーションにユーザコマンドを提出するゲームコントローラーとを有し得る。ユーザ（すなわち、ゲームプレイヤー）は、ゲームコントローラーを使用して、実世界及び仮想世界の両方におけるゲームロボットを制御することができる。ゲームロボットソフトウェアアプリケーションは、ゲームコントローラーを介して受信したユーザコマンドに応答してゲームロボットを移動させるためのコマンドを生成し得る。例えば、ゲームコントローラーの制御パッドを前方に押すことによって、ゲームロボットの表象は、仮想世界で前進することができ、例えば、ゲームロボットの１つのモデルは、視覚化されていない次元空間で前進させることができ、そして、コマンドがゲームロボットに送信されて、実世界において比例する量が前進させられ得る。いくつかの場合においては、ゲームコントローラーは、接続デバイスのタッチスクリーンを使用して実装され得る。 バーチャルスティックまたはコントロールパッドが、ディスプレイ画面上に示されたユーザーインターフェース上に提供されてもよい。
【００２０】
いくつかの場合においては、ゲームロボットソフトウェアアプリケーションは、無線インターフェースを介してゲームロボットのメイン処理モジュールから受信されたデータに基づいて、ゲームロボットに接続された任意の二次モジュールの状態を収集するスマートモジュールシステム、及び前記スマートモジュールシステムからのデータを受信し、そしてこのスマートモジュールシステムからのデータに基づいて、少なくともゲームロボットを含むシミュレートされた戦闘の結果を計算する戦闘システムを有している。例えば、シールドモジュールは、ゲームロボットの属性（例えば、質量、速度、または加速度）を変調するだけでなく、ゲーム環境における防御ポイントの数を増やし得る。同様に、武器モジュールは、ゲームロボットの属性（例えば、質量、速度、または加速度）を変調するだけでなく、ゲーム環境において特定の攻撃動作を可能とし得る。ある場合には、攻撃動作は、ゲームロボットソフトウェアアプリケーションからの高レベルコマンドに続いて、メイン処理モジュールによって起動される、物理的な複数の動きの対応するセットを有し得る。シミュレートされた戦闘は、物理的に同じ場所にある２つ以上のゲームロボット（例えば、同じ部屋または同じ地理的領域）間；物理的に遠隔である２つ以上のゲームロボット（例えば、異なる部屋または異なる地理的領域）間、並びに／または１または２以上のゲームロボット（例えば、同一場所に位置するまたは遠隔に位置する）とゲーム環境内の１または２以上の仮想エンティティ例えば、同一場所に位置するまたは遠隔に位置する）の間であり得る。これにより、地理的に遠隔のユーザー間での柔軟なゲームプレイが可能になり、例えば、物理的及び仮想的なゲームプレイを体験するために、ユーザーは物理的に同じ場所にいる必要はない。同じ場所に配置されたゲームロボットの場合、[戦闘」は物理的な動きの協調したシーケンスをもって、共通した物理空間でシミュレートされ得、これらのシーケンスは、多重の、接続デバイスに通信的に接続されたものとして生成され、共有されたゲーム環境を同期させ、各ゲームロボットへのコマンドをそれぞれに送る。これは、仮想世界内で起こっている戦闘を表現するための、複数のゲームロボットの同期制御を可能とする。さらに、実世界のオブジェクトは、ゲームロボットから受信したセンサー測定（例えば、赤外線（ＩＲ）または超音波距離センサー）に基づいてゲーム環境に統合され得、例えば、あるオブジェクトは、範囲内の他のゲームロボットへの損傷を防ぐ武器の視線を遮り得る。
【００２１】
一実施例においては、ゲームシステムは、アクティブなインターネット接続を介してコンピューティングデバイスに通信可能に接続されたデータサーバをさらに有してなり、前記データサーバは、ゲームロボットに関するデータを格納するロボットデータベースを有している。この場合、データサーバは、コンピューティングデバイスから二次モジュールを識別するデータを受信し、前記データを検証し、前記データをロボットデータベースに格納する。例えば、二次モジュールを識別するデータは、ｎ−ビットの世界中で唯一の識別子、例えば、製造中にマイクロコントローラーメモリにロードされる数字、文字列またはビット配列、を有し得る。この場合、データサーバは、識別子のリストを格納し、コンピューティングデバイスから受信したデータをこのリストと比較し得る。もしある識別子がメイン処理モジュール及びコンピューティングデバイスを介して、二次モジュールから取得された（例えば、読み取られた）識別子が、前記リスト内のエントリと一致する場合、前記モジュールが認証され得る。ある場合においては、データサーバは、二次モジュールが起動され得ることを示すためにコンピューティングデバイスと通信し得る。起動は、ゲームロボットの属性、例えば、質量及び能力、の変更を可能にすることを含み得る。コンピューティングデバイスは、メイン処理モジュールに、二次モジュールの能動的電子部品の機能を起動するコマンド、例えばＬＥＤ等がアクティブであることを示すフラグ、を送信し得、また制御値を送信し得る。
【００２２】
一実施例においては、メイン処理モジュールは、ゲームロボットステータスデータをコンピューティングデバイスに送信するように構成され、そしてコンピューティングデバイスは、ロボットデータベース内のロボットプロファイルに格納するためにデータサーバにデータを送信するように構成される。ゲームロボットステータスデータは、ゲームロボットによって移動された距離、ゲームロボット用の較正データ、ゲームロボットによって経験された障害、及びゲームロボットに接続された二次モジュールのうちの少なくとも１つを有している。このステータスデータは、ゲームロボットソフトウェアアプリケーションによって使用されるロボット属性を更新するために使用され得る。
【００２３】
あるいくつかの場合には、ゲームロボットソフトウェアアプリケーションは、１または２以上の仮想アイテムの状態を判定するための仮想アイテムシステムを備え、ここにおいてコンピューティングデバイスは、二次モジュールから得られたデータに基づいて、そして任意の現在の仮想アイテムに基づいて、メイン処理モジュールに送られるコマンドを変更する。例えば、シールドは、物理的な動きを修正するためにゲームロボットに取り付けられ得、さらに、物理的な動きは、仮想の「スピードブースター」の起動によってさらに変更され得る。
【００２４】
あるいくつかの実施例では、メイン処理モジュールはメモリを備え、動作プログラムを受信するように構成され、前記動作プログラムは、原動機動作のシーケンスを含み、脱離可能な二次モジュールに関連付けられる。例えば、前記動作プログラムは、ゲーム環境内のアニメーションまたは動きを複製する物理的動作、例えば、胴体モジュールが脚モジュールの動きを介して繰返し上下する「ジャンプ」動作、または逆方向の動揺する運動が武器の反動動作を複製する「発射」動作など、を含み得る。この実施例では、メイン処理モジュールは、メモリに動作プログラムを格納しており、そして、脱離可能な二次モジュールが接続されている場合に、コンピューティングデバイスからの少なくとも１つのコマンドに応答して動作プログラムを選択的にロードし実行するように構成される。動作プログラムは、製造中及び／または、例えば、結合されたコンピューティングデバイスから受信されるような、無線による更新を介してメモリにロードすることができる。１つの場合においては、前述のデータサーバによる二次モジュールの検証に応答して、１または２以上の動作プログラムがゲームロボットに送信され得る。動作プログラムは、ゲームロボットソフトウェアアプリケーション内のデータとして記憶されてもよく、またはデータサーバからダウンロードされてもよい。
【００２５】
一実施例において、メインモジュールは、複数の脚モジュールをメインモジュールに接続するための脚部機械的カップリング群及び脚部電気的インターフェース群のセットを有してなり、ここで各脚モジュールは、前記脚モジュールを識別するデータを格納するメモリを含むマイクロコントローラー；前記脚モジュールを前記メインモジュールの脚部機械的カップリングの1つに接続するためのメインモジュール機械的カップリング；及び前記脚モジュールを前記メインモジュールの脚部電気的インターフェースの１つに電気的に接続するためのメインモジュール電気的インターフェースとを有してなり、さらに前記マイクロコントローラーは、前記メインモジュールの電気的インターフェースを介して前記メイン処理モジュールと電気的に連絡している。メインモジュールの機械的カップリング及び電気的インターフェースは、ゲームロボットの胴体モジュールへの「股関節」カップリングの一部を形成し得、ここで、各脚モジュールは、一体化された股関節及び大腿部構成要素を含む。この場合、マイクロコントローラーは、脚モジュール内に配置された原動機のための原動機動作、例えば、垂直軸を回りの「股関節」回転、水平軸を回りの「大腿部」回転、及び別の水平軸回りの「膝」回転、を制御することができる。この場合、各脚モジュールのメインモジュール電気的インターフェースは、各脚モジュールのそれぞれの二次モジュール電気的インターフェースに電気的に結合された、少なくとも1つの電力線及び少なくとも1つのデータ線を含む。このようにして、メイン処理モジュールは、データ線を介して二次モジュールのマイクロコントローラーへの電気的接続を有し得、メイン処理モジュールがマイクロコントローラーからデータを読み出しまたは取得し得る。ある別の場合には、メイン処理モジュールは、脚モジュールのマイクロコントローラーと通信し得、その結果として、二次モジュールのマイクロコントローラーからデータを読み出しまたは取得し得る。ある場合には、各脚電気的インターフェースは、脚モジュールが接続されていることを示すデータ線を有している。メイン処理モジュールは、与えられた脚マイクロコントローラーへの原動機の所望の位置及び速度を指示するように構成され得る。各脚モジュールのマイクロコントローラーは、その結果、メインモジュールの電気的インターフェースを介してメイン処理モジュールにデータを送信し得る。このデータは、前記脚モジュールに関する固有の識別子、接続状態データ、及び接続されたいずれもの二次モジュールを識別するデータを含む二次モジュールデータを含み得、ここで、メイン処理モジュールは、与えられた脚モジュールマイクロコントローラーにジョイント動作データを送信するように構成され、前記ジョイント動作データは、位置及び速度命令を含んでいる。このようにして、脚モジュールは取り外し、あるいは異なるモジュール、例えば、車輪または飛行モジュールを備えた脚と取り替え可能でありながら、共通の制御構造を保持し得る。
【００２６】
上記のゲームロボットでは、コンピューティングデバイスは、無線インターフェースを介してメイン処理モジュールにハイレベルのコマンドを送信するように構成されてもよく、前記ハイレベルのコマンドは、少なくともゲームロボットの所望の空間位置を示す。あるいくつかの場合には、前記動作を行う時間または明示的な速度または加速度データもまた提供され得る。ある１つの場合には、ハイレベルのコマンドは、同次変換行列内の値として提供される。この場合、メイン処理モジュールは、前記ハイレベルレベルコマンドを、少なくとも１つの移動モジュールの少なくとも所望のジョイント位置を示すローレベルコマンドに変換するように構成され得る。あるいくつかの場合においては、ローレベルのコマンドの一部として、動きの速度または時間がまた提供され得る。また、ゲームロボットソフトウェアアプリケーションは、ゲームコントローラーからユーザコマンドを受信するように構成されてもよく、前記ユーザコマンドは、少なくとも、ゲームロボットの動きの所望の移動方向を示し、そして、前記二次モジュールから得られたデータを用いて検索された前記ゲームロボットの属性を入力とする運動学的関数を用いて前記ゲームロボットの前記ハイレベルコマンドを計算する。
【００２７】
本発明の第３の態様によれば、ゲームロボットを制御する方法であって、コンピューティングデバイスにおいて、ゲームロボットから、ゲームロボットの脱離可能なモジュールを識別するデータを受信し（ここで前記脱離可能なモジュールはゲームロボットに機械的及び電気的に接続されたものであり、また前記データは前記脱離可能なモジュールの電気部品から得られる）；コンピューティングデバイスにおいて、ゲームロボットから受信した前記データに基づいて、前記コンピューティングデバイスによって実装されたゲーム環境内の前記ゲームロボットの属性を更新し；コンピューティングデバイスにおいて、前記コンピューティングデバイスのゲームコントローラーを使用して入力されたユーザコマンドを受信し；コンピューティングデバイスにおいて、前記ゲームロボットの属性及び前記ユーザコマンドの関数としての前記ゲームロボットに対するコマンドを計算し；そして、コンピューティングデバイスからゲームロボットへ、前記ユーザコマンドに応答して前記ゲームロボットの動作を制御するために使用可能である、前記コマンドを、転送することを有する、ゲームロボットを制御する方法が提供される。
【００２８】
これゆえ、この方法は、ロボットがゲームコントローラーを使用して制御されるときに、モジュラーゲームロボットの物理的構成を検出し、ゲームロボットの動作ないし動きを選択的に変調することを可能にする。例えば、ゲームロボットは、取り付けられた二次モジュールに依存する方法で移動することができ、例えば、特定の武器または「スクリーン」が取り付けられ、ロボットが前方、後方または側面に動かされるか、または１つの二次モジュールが「ホッピングする」前進動作に関連している場合に、胴体モジュールがより低く乗るように、関節の角度を制御することができる一方、別の二次モジュールは、横方向のカニのような動きのみ可能にするだけである。二次モジュールは、その物理的環境内で移動するときにゲームロボットの速度及び／または加速度もまた変更し得る。
【００２９】
あるいくつかの実施例では、前記方法は、ゲームロボットのメイン処理モジュールで、コンピューティングデバイスからのコマンドを受信し；メイン処理モジュールで、運動学的エンジンを使用して１または２以上の原動機のための運動学的コマンドに前記コマンドを変換し；ゲームロボットにおいて、前記ユーザコマンドに応答して前記ゲームロボットの移動（ここで、前記移動は脱離可能なモジュールの機械的及び電気的な接続に依存する）を行うために前記運動学的コマンドを使用して前記１または２以上の原動機を制御することを有する。運動学的コマンドは、１または２以上のそれぞれの電気モータのための１または２以上のパルス幅変調信号を含み得、前記電気モータは、ゲームロボットのそれぞれの原動機を実装する。上述のように、コンピューティングデバイスからのコマンドは、位置及びタイミング情報の形態のハイレベルコマンドを含み得る。
【００３０】
一実施例では、この方法は、脱離可能なモジュールをロボットデバイスから脱離し；コンピューティングデバイスにおいて、前記ゲームロボットから、前記脱離可能なモジュールが存在しないことの表示を受信し；コンピューティングデバイスにおいて、前記表示に基づいて前記ゲームロボットの属性を更新することを有してなり、前記更新された属性は、前記ユーザコマンドに応答して前記ゲームロボットの動きを制御するコメントの変更された一組を生成するために前記コンピューティングデバイスによって使用される。同様の場合において、脱離可能なモジュールは、第１の脱離可能なモジュールを有し得、そして、この方法は、第１の脱離可能なモジュールをゲームロボットから脱離し；第２の脱離可能なモジュールをゲームロボットに接続し；コンピューティングデバイスにおいて前記ゲームロボットから、前記第２の脱離可能なモジュールの電子部品から得られるデータであって前記第２の脱離可能なモジュールを識別するデータを受信し；コンピューティングデバイスにおいて、前記第２の脱離可能なモジュールを識別するデータに基づいて前記ゲームロボットの属性を更新することを有してなり、前記更新された属性は、前記ユーザコマンドに応答して前記ゲームロボットの動きを制御するコメントの変更された一組を生成するために前記コンピューティングデバイスによって使用される。
【００３１】
上述したように、属性は、ゲームロボットの質量を含むことができる。これは、取り付けられた特定の二次モジュールに基づいて人工的に変更することができ、例えば、二次モジュールが取り外されると、質量は減少し得る。この質量はロボットの実際の質量と等しくないことが可能であり、例えば、二次モジュールは２０ｇの実際の質量を有し得るが、２００ｇの質量を有するものとしてモデル化し得る。質量は、ゲームロボットソフトウェアアプリケーションによって計算され、（仮想）ゲーム環境でゲームロボットを移動させるために使用される運動方程式内で使用され得、そしてその結果、ある物理的な空間範囲内でゲームロボットを移動させるために送られるコマンドを生成する。
【００３２】
一実施例においては、脱離可能なモジュールを識別するデータは固有の識別子を含み、そして前記方法は、コンピューティングデバイスにおいて、データベースに対して前記固有の識別子を相互参照して、脱離可能なモジュールの真正性を検証することを含んでなる。
【００３３】
本発明の第４の態様によれば、ゲームロボットと、接続デバイスとを含むゲームロボットシステムが提供される。この態様では、ゲームロボットは、機械的カップリング及び電気的インターフェースをそれぞれ含む複数の一次モジュール群であって、前記複数の一次モジュール群は複数の脚モジュールを含み、各前記脚モジュールは、前記脚モジュールの部分をそれぞれの複数の軸回りに回転させる複数の原動機を有する、複数の一次モジュール群；ならびに、前記複数の脚モジュール群を制御するためのメイン処理モジュールを含むメインモジュールを有している。ゲームロボットはまた、少なくとも１つの脱離可能な二次モジュールを有してなり、そしてこの脱離可能な二次モジュールは、使用時において、複数の一次モジュールのうちの１つの機械的カップリングに係合する機械的カップリング；使用時において、前記複数の一次モジュールのうちの１つのモジュール上の電気的インターフェースと電気的に結合される電気的インターフェース；ならびに、前記二次モジュールを識別する固有の識別子を格納する電子回路とを有している。前記接続デバイスは、ゲームロボットに通信可能に結合されており、そして前記複数の脚モジュールを制御するようにゲームロボットのメイン処理モジュールにハイレベルコマンドを送信するように構成されたソフトウェアアプリケーションを実行するプロセッサ；及び前記ゲームロボットソフトウェアアプリケーションにユーザコマンドを提出するゲームコントローラーとを有している。ゲームロボットの前記メイン処理モジュールは、電気的インターフェースを介して脱離可能な二次モジュールから固有の識別子を取得し、前記固有の識別子を前記接続デバイス上に実装されたゲームロボットソフトウェアアプリケーションに送信するように構成されており、前記ゲームロボットソフトウェアアプリケーションは、前記固有の識別子に基づいて前記ゲームロボットソフトウェアアプリケーション内のゲーム環境内の前記ゲームロボットの属性を更新し、前記更新された属性及び前記ゲームコントローラーから受信したユーザコマンドに基づいてハイレベルの動作コマンドを計算し、そして前記ハイレベルな動作コマンドを前記ゲームロボットの前記メイン処理モジュールに送信するように構成されており、さらに、前記メイン処理モジュールは、受信したハイレベルな動作コマンドに基づいて前記複数の脚モジュールの原動機を制御するローレベルコマンドを計算するように構成されている。
【００３４】
本発明のさらなる特徴及び利点は、添付の図面を参照してなされる、一例としてのみ与えられた、本発明の好ましい実施形態の以下の説明から明らかになるであろう。
【図面の簡単な説明】
【００３５】
【図１】図１は、ゲームロボットの一例を示す図である。
【図２】図２は、図１のゲームロボットの例の、メインモジュール、脚モジュール、及び胴体モジュールを示す図である。
【図３ａ】
【図３ｂ】
【図３ｃ】図３ａ〜ｃは、図２の例の脚モジュールの例の大腿部の例を示す図である。
【図４ａ】
【図４ｂ】図４ａ〜ｂは、図２の胴体モジュールの例を示す図である。
【図５】図５は、原動機の出力軸の一例のための種々の配置を示す図である。
【図６】図６は、脚モジュールの一例を示す図である。
【図７ａ】図７ａは、図６の脚モジュールの例の大腿部の例を示す図である。
【図７ｂ】図７ｂは、二つのロボットモジュールを接続するためのカップリング対の一例を示す図である。
【図７ｃ】図７ｃは、図７ｂのカップリング対に含まれるリンクセットの一例を示す図である。
【図８】図８は、二つのロボットモジュールを接続するためのカップリング対の一例を示す図である。
【図９】図９は、二つのロボットモジュールを接続するためのカップリング対の一例を示す図である。
【図１０ａ】
【図１０ｂ】図１０ａ〜ｂは、脚モジュールの一例及びシールド二次モジュールの一例を示す図である。
【図１１】図１１は、脚モジュールの一例と、シールド二次モジュールの一例を示す図である。
【図１２ａ】図１２ａは、モジュラーゲームロボットの更なる一例を示す図である。
【図１２ｂ】図１２ｂは、モジュラーゲームロボットの更なる一例を示す図である。
【図１３】図１３は、モジュラーゲームロボットの更なる一例を示す図である。
【図１４ａ】図１４ａは、モジュラーゲームロボットの更なる一例を示す図である。
【図１４ｂ】図１４ｂは、図１４ａのゲームロボットの一例の移動モジュールを示す図である。
【図１５ａ】図１５ａは、モジュラーゲームロボットの更なる一例を示す図である。
【図１５ｂ】図１５ｂは、図１５ａのゲームロボットの一例の移動モジュールを示す図である。
【図１６】図１６は、ゲームロボットの一例のための様々な異なる武器二次モジュールを示す図である。
【図１７】図１７は、二人のユーザーによって制御されている２台のゲームロボットを示す図である。
【図１８ａ】図１８aは、ゲームロボットを制御するためのリモートコンピューティングデバイスの一例を示す図である。
【図１８ｂ】図１８ｂは、ゲームロボットを制御するためのリモートコンピューティングデバイスの更なる一例を示す図である。
【図１９ａ】
【図１９ｂ】図１９ａ〜ｂは、ある実施例によるゲームコントローラーの一例を示す概略図である。
【図２０】図２０は、ゲームロボットの通信インフラストラクチャのためのアーキテクチャの一例の概略図である。
【図２１】図２１は、ゲームロボットのためのシステムアーキテクチャの一例の概略図である。
【図２２】図２２は、ゲームロボットのメイン処理モジュールの一例のシステムの概略図である。
【図２３】図２３は、ゲームロボットを制御するためのリモートコンピューティングデバイスのためのシステムアーキテクチャの一例の概略図である。
【図２４】図２４は、ゲームロボットを制御するためのリモートコンピューティングデバイスの一例のシステムの概略図である。
【図２５】図２５は、ゲームロボットと共に使用するためのクラウドベースのコンピューティングシステムのアーキテクチャの一例の概略図である。
【図２６ａ】図２６ａは、ゲームロボットにおいて二次モジュールカップリングのための電気的接続の一例のセットを示す概略図である。
【図２６ｂ】図２６ｂは、ゲームロボットにおいて二次モジュールカップリングのための電気的接続の一例のセットを示す概略図である。
【図２７】図２７は、二次モジュールを識別するデータを実装するデータパケットの一例を示す概略図である。
【図２８ａ】図２８ａは、ゲームロボットシステムの一例を示す図である。
【図２８ｂ】図２８ｂは、図２８ａのゲームロボットシステムの一例のシステムアーキテクチャの一例の概略図である。
【発明を実施するための形態】
【００３６】
本明細書に記載されているあるいくつかの実施例は、モジュラー民生用ロボット及びその制御方法に関する。あるいくつかの場合においては、様々な移動及び／または二次モジュールを取り付けることによって、ゲームロボットの物理的外観及び挙動の両方を個人化することができる。例えば、ユーザーは、武器やシールドの形をした新しいモジュールを追加することによって、ユーザーによるゲームロボットの物理的挙動を変換してもよいし、脚式ロボットを輪転ロボットまたは飛行ロボットに変換してもよい。
【００３７】
記載された一実施例において、モジュール式ロボットは、メインモジュールと１つ以上の位置モジュールとを有して構成され得る。あるいくつかの場合においては、胴体モジュールは、メインモジュールとロケーションモジュールとの間のインターフェースを提供する。他の場合においては、移動モジュールは、メインモジュールに取り外し可能に結合され得、例えば、大腿部及び股関節部が一体化された脚モジュールを有して構成され得る。メインモジュールは、バッテリコンパートメントまたは取り付け可能なバッテリーモジュールを有し得る。
【００３８】
あるいくつかの実施例に記載されているモジュラーロボットの１つの利点は、一次モジュールと二次モジュールが互いに互換性があり、限られた工具類または技術的技量で交換可能であるように設計されていることである。例えば、機械的結合は、「プッシュ・ツー・フィット」["push-to-fit"]または磁気結合であり得る。これにより、すべての年齢及び技術的能力を持つユーザーがモジュラーロボットを楽しむことができる。例えば、ゲームロボットの制御システムを再設計することなく、歩行ロボットを飛行ロボットまたは転動ロボットに変換すること、または異なる武器またはシールドを有するロボットの機能を変更することが可能である。これは、特定の脱離可能な機械的及び電気的インターフェースによって達成される。
【００３９】
特定の実施例は、ロボットジョイントを作動させるように設計された統合電動モジュールを備えた脚式民生用ロボットの設計に関する。いくつかの実施例では、原動機は、ロボット構成要素（例えば、腕、脚または胴体）の設計内に完全に一体化される。これらの原動機の制御は、取り付けられた二次モジュールに基づいて変更され得る。このようにして、ゲームロボットは、他の形態の「玩具」または「愛好家」ロボットと比較して高度な機能を有する。
【００４０】
本明細書で説明するゲームロボットの特定の例は、「インテリジェント」と見なすことができ、そのようなインテリジェントゲームロボットの物理的実装の詳細がここに記載されている。インテリジェントゲームロボットは、ユーザー（また、プレーヤーまたはゲーマーとも呼ばれ得る）の制御下で操作される。ゲームロボットは、ユーザーがゲームロボットを制御するために使用する、本明細書においてインテリジェントな接続デバイスとも呼ばれる、コンピューティングデバイスと連動して（及び通信して）操作する半自律的な制御機能を実現する点で「インテリジェント」である。接続デバイスは、現代の携帯電話（例えば、スマートフォン）、タブレットコンピュータまたは拡張現実ゴーグルの形態をとり得る。インテリジェント接続デバイスは、複数のボタンと１または２以上のジョイスティックからなる物理的または仮想的なゲームパッド（例えばビデオゲームコントローラ）のいずれかを介してユーザーからの入力を受け取ることができる。接続デバイスのゲームパッドを使用して、ユーザーは、インテリジェントロボットに無線でトップレベルのコマンドを送信することができる（例えば、前進、左折、武器を発射、ひざまずく、ジャンプする等）。ユーザーからのトップレベルのコマンドは、接続デバイスによって処理され、ゲームロボットに送られ、ゲームロボットの運動学的エンジンによって解釈され、ローレベルコマンドを生成し、そしてインテリジェントロボットのジョイントを制御する。本明細書で説明する実施例では、接続デバイスは、例えば、ゲームコントローラーを介した入力としての、ユーザーからのトップレベルコマンドに基づいて、及びロボット属性のセットに基づいて、ハイレベルコマンドのセットを生成する。これらの属性は、ゲームロボットの物理的属性をモデル化することができる。しかしながら、実施例において、これらの属性は、ゲームロボットの実際に測定された属性から逸脱した値を有するように、二次モジュールの存在に基づいて人工的に修正される。例えば、１つの属性は、ゲームロボットの質量を含むことができる。取り付けられた二次モジュールのセットがなければ、この質量は、ロボットデバイスの実際の物理的質量に近似するか、または少なくとも前記物理的質量に比例する。例えば、固有の識別子または記述子ストリングで識別されるような、異なる２次モジュールは、ほぼ等しい物理的質量（または与えられた範囲内にある質量）を有することができるが、異なる仮想質量を示す異なる属性値でモデル化することができる（例えば、質量のうちの少なくとも１つは所定の範囲外である）。例えば、これらは、ゲームロボットの実際の物理的質量とは無関係に、ゲームロボットのモデル化された質量を変更し得る。属性は、運動学的方程式（すなわち運動方程式）を用いてゲームロボットに送られるコマンドを、例えば、ハイレベルな位置及びタイミング情報の形で、計算するために使用されるので、これらの仮想質量は、ゲームロボットが物理環境内でどのように動くかに影響を与える。シンプルな言い方をすれば、ゲームロボットに取り付けられた「重い」シールドは遅い動きと加速をもたらし得、一方「軽い」シールドはより速い動きと加速をもたらし得る。（トレードオフは「重い」シールドがゲーム環境戦闘エンジンに関してより多くの防御ポイントを加えることである）。
【００４１】
本明細書に記載されるあるいくつかの実施例では、ゲームロボットは、第１及び第２のモジュールのうちの少なくとも１つ、及び場合によっては両方が「スマート」であるという点で「インテリジェント」である。これらのモジュールは、電子回路、例えば、抵抗ネットワーク及び／またはマイクロコントローラーを含む）プリント回路基板の形態である電子回路、を含む点で「スマート」である。これらのスマートモジュールは、能動的手段（例えば、デジタル又はアナログの有線電気接続などのような）または受動的手段（例えば無線高周波伝送などのような）のいずれかによって識別を可能にする電子回路を内蔵している。様々なモジュールの識別は、多くの点で有用であり得る。スマートモジュールの第１の利点は、ゲームロボットソフトウェアインターフェースが、接続されたモジュールのタイプに基づいてロボットのゲーム属性を更新できるようにすることである。スマートモジュールの第２の利点は、使用中のモジュールの正当性を検証し、すべてのモジュール電子回路を暗号化された識別子でフィッティングし、そのような識別子をゲームロボットソフトウェアアプリケーションを介してデータベースと相互参照することによって偽造を防止することである。
【００４２】
上述したように、本明細書で述べるゲームロボットは、様々な取外し可能なスマート二次モジュール（例えば、武器、ブースタ、シールド、脚モジュール、ホイールモジュール）を用いてユーザーによって個人化できるモジュラーロボットを含み得る。この電子回路は、接続された二次モジュールの存在を検出し、この情報を接続デバイスに伝達して、ゲームプレイ中にゲームロボットの属性が考慮されるように使用される、二次モジュールを識別するデータを少なくとも含む。あるいくつかの二次モジュールはまた、ゲームロボットによって（例えば、二次モジュール内のマイクロコントローラー及び／またはゲームロボットのマイクロコントローラーからの信号のいずれかによって）制御可能なＬＥＤ及び／またはモータなどの能動的電子構成要素を含む点でも「スマート」である。ユーザーがゲームロボットに取り付けることができる物理的二次モジュールに加えて、多くの仮想アイテム（例えば、癒し薬、スピードブースター）をユーザーが入手してゲームプレイ中に使用することができる。これらの仮想アイテムは、ゲームロボットの属性を変更し得、同様の方法でロボットの物理的制御に影響を与え得る。例えば、「スピードブースター」は、ゲームロボットのモデル化された質量を一時的に減少させることができる。仮想アイテムは、装着した二次モジュールと組み合わせて使用することも可能であり、例えば、「重い」シールドが取り付けられている場合、その効果は「スピードブースター」仮想アイテムを使用して一時的に軽減され得る。
【００４３】
スマートで交換可能なロボットモジュール、例えば、二次及び移動モジュール、の使用は、ユーザーに、武器、シールド、ヘッド、ディスプレイまたは移動モジュールの種々のバーションを用いて、（例えば）彼ら自身が所有するロボットの外観、操作、及び物理的な動きを個人化することを全く可能とすることができる。これはまた、技術者以外のユーザーがゲームロボットを容易に動かし、維持することを可能にする。これは、高い使用サイクルに曝され、経時的な摩耗及び故障を起こしやすい複雑な機械的及び電気的デバイスである移動モジュールの場合に特に重要である。モジュール性の概念は、損傷したロボットの構成要素、特にロボットの機能に不可欠なメインモジュールを交換するだけで修理が容易になり、新しいロボットを調達することなく、ユーザーと製造者とにゲームロボットの寿命を延ばすこと可能とすることである。ゲームロボットの製造業者にとって、モジュール性は、単純な最終組立段階の前に、異なるモジュールを並行して開発、製造及び試験することを可能にする。
【００４４】
あるいくつかの実施例では、ゲームロボットは、その環境（例えば、他のロボット、障害物）を検出し、この情報をゲームプレイ内に、組み込まれる接続デバイスに無線で中継することができる。インテリジェントロボットの検出システムは、例えば、赤外線センサー、オンボードビデオカメラ及び／または音声検出に依存することができる。１つより多いゲームロボットとユーザーが一緒に遊んでいる場合、それらはゲームロボットを介して互いに「戦闘」し得る。本明細書で述べる「戦闘」はシミュレートされ、ゲームロボットは物理的な損傷を受けず、代わりに損傷は仮想であり、ゲームロボットソフトウェアアプリケーション内で管理される。ゲームロボット及び接続デバイスは、無線で、例えば、ピアツーピア  アドホック  メッシュネットワークにおいて、またはローカルまたはワイドエリアネットワークに接続された調整ゲームサーバを介して、接続され得、ゲーム体験をさらに高めることが可能である。各ゲームロボットの構成（例えば、取り付けられた二次モジュール、利用可能な仮想アイテム、及びロボット環境）及び各ユーザーの入力及び技能に基づいて、使用される接続デバイス内の戦闘システムは、例えば、ゲームロボットソフトウェアアプリケーションの一部として実施され、各戦闘の結果を計算する。
【００４５】
あるいくつかの実施例においては、ゲームロボットは拡張現実システムの一部を形成し得る。あるいくつかの場合には、ゲームロボットは、接続デバイスカメラの視野内でロボットの位置、向き、寸法及び姿勢を計算すること接続デバイスに可能とする追跡システムを特徴とする。接続デバイスがビデオカメラと適切なディスプレイ画面を備えている場合には、ロボットを追跡すること、及び、例えば、特殊効果（例えば、爆発、火炎、レーザービーム）、仮想対戦相手または仮想環境を加えることによって、そのディスプレイ画面を介して現実性を増すことが可能である。あるいくつかの場合においては、仮想特殊効果を物理的領域に変換することにより、例えば、ゲームロボットの物理的な動きを制御することによって、拡張現実感の改善が可能である。例えば、ゲームロボットソフトウェアアプリケーションは、ゲーム環境内の爆発を検出し、それに応じてゲームロボットに、例えば、ハイレベルコマンドの送信を介して、通知するように構成し得る。このハイレベルコマンドは、ゲームロボットのメイン処理モジュールによって受信され得、近くの爆発をシミュレートする一連の動作を開始するために使用され得る。前記効果からのロボットの距離は、実行される動作を調整することができ、例えば、爆発中心とゲームロボット位置との間の（例えば）ユークリッド距離によって計算された距離を使用して、一連の動きの振幅または累乗をスケーリングすることができる。接続デバイスは、動作及びロボットの距離または相対位置を送信することができる。その結果、近接爆発または「直接的な打撃」はロボットの大きな動き（例えば、モデル化されたカオス的な動きまたは衝撃波の効果）を引き起こすが、離れた爆発または発射はロボットの小さな動きをもたらす。同様に、ゲームロボットは、武器発射をシミュレートするゲームロボットの一連の物理的動作を起動するために使用される武器発射コマンド（例えば、武器タイプ及びタイミング情報の形態）を通知されてもよい。例えば、「大きな迫撃砲」（例えば、後に大きな反動を伴うロボットを曲げる動作）は、「火炎放射器」（例えば、小さな振動及び左右の動き）に対して、異なる一連の動作を有することができる。動作シーケンスは、適切な二次モジュールが取り付けられ、検出された（場合によっては検証された）、場合にのみ利用可能であり得、例えば、「火炎放射器」動作シーケンスは、同様に、「火炎放射器」二次モジュールが機械的及び電気的に接続され、そして固有の識別子はロボットデータベースに対して検証された場合にのみ利用可能である。同様に、武器の特徴は、適切な二次モジュールが装着された場合にのみ、ゲーム環境において利用可能であり得る。拡張現実は、ユーザーが１つのみのゲームロボットを用いて彼ないし彼女自身で単独でプレイするシングルプレイヤー体験を改善するために特に重要である。
【００４６】
あるいくつかの実施例においては、インテリジェントゲームロボット及び接続装置のための「クラウド」インフラストラクチャが説明される。この場合、「クラウド」は、ローカルサーバまたはパーソナルコンピュータの代わりに、データを格納、管理、及び処理するために使用される、例えば、インターネットなどの、１または２以上のネットワークに通信可能に結合された１または２以上のリモートサーバを意味すると見なされる。インテリジェントロボットと接続デバイスの両方が、クラウドと無線で通信する能力を持っている。クラウドは、ユーザーとロボットの両方のデータが格納されるデータベースで構成されている。このデータは、例えば、ロボットの目録、二次モジュール、仮想アイテム、技能及びゲーム統計からなることができる。ユーザデータがまた、使用統計、人口統計及びロボットの所有権に基づいて、各ユーザーのプロファイルを構築するために格納され得る。このデータは、ユーザーがゲームを進行する際にスキルの割り当て／付与を管理するように設計されたスキルエンジンへの入力として使用され得る。このデータは、ゲームロボットのゲーム体験を改善／調整するためのパターンを特定するために分析される、クラウド内の分析エンジンに対する入力／メトリックとしても使用され得る。クラウドには、新しいロボット、物理的及び仮想的なアイテムやスペアを取得する機能をまた含んでいる。クラウドは、物理的（例えばサードパーティ製のシールドや武器など）または仮想（例えば新しいゲームや仮想アイテムなど）の追加コンテンツを提供できる外部エンティティへのポータルとしても機能する。クラウドはコミュニティのポータルとしても機能し、ユーザーはフォーラムやソーシャルメディアを使用してお互いのユーザーとロボットのプロファイルにアクセスしたり、情報を交換したりすることができる。
【００４７】
本明細書に記載の実施例は、ゲームロボットに関する。ゲームロボットは、産業用ロボットではなく民生用ロボットの一形態であり、すなわち、有用な工業生産を提供するのではなく、一般の人々が入手し使用するように設計されている。それは、比較の「おもちゃ」のために進歩した機能性を含むが、おもちゃまたは愛好家ロボットの一形態と考えられ得る。ゲームロボットは、ある「愛好家」ロボットキットに必要とされるような、実質的な組み立てを必要としない、すぐに使用できる形式で供給され得る。ゲームロボットを使用するには、例えば、産業用ロボットに比較されるような、専門的知識が必要ない。ゲームロボットはまた、単一のユーザーによって取り扱われ、操作されるように設計されており、例えば、使用中に、手動で持ち上げて持ち運ぶことができる１つ以上のユニットを含む。比較の「おもちゃ」ロボットは相対的に運動の自由度が比較的低い（例えば、１〜１０の動作の範囲）及び／または制御される能力が比較的低い（例えば、トラックに沿って前進または後退するような、狭い動作範囲内で操作する）に対して、本明細書に記載されるゲームロボットの機能範囲は、代替の「おもちゃ」と比較して大きく、例えば、ゲームロボットは、より広範で、より複雑な範囲の動作を有する。比較の「おもちゃ」アイテムもまた、モジュール式の構造ではなく、単一のユニットとして使い捨てになるように設計されている。ある種の比較の「おもちゃ」はモジュラー構造キットとして利用可能であるが、これらのキットは、典型的には、比較的小さな運動自由度（例えば単純なモータ回転）及び／または制御される能力が比較的低い（例えばオンまたはオフに限定される）。本明細書に記載されたあるいくつかの実施例は、汎用性、運動の自由度及び保守性を備え、安価に製造され、美的に満足できるゲームロボットを提供する。
【００４８】
ゲームロボットデザインの例
図１ａは、第一の実施形態に係る一実施例のロボット１０を示す。ロボット１０は、４つの同一の脚部を有する脚式ロボットである。前記ロボット１０は、モジュール式であり、三つの異なるモジュールのタイプ（４つ脚モジュール１１、1つのメインモジュール１２及び１つの胴体モジュール１３）を有している。図２は、各モジュール１１、１２、１３（脚、メイン、胴体）のそれぞれのタイプを別々に示す。
【００４９】
モジュール１１，１２及び１３の各々は、一次モジュールであると考えられ、脚モジュールは、移動モジュールの特定の実施である。一次モジュールは、ゲームロボットの中核機能を有すると考慮され得、例えば、この特定の実施例では、モジュラーロボットが機能するために、メインモジュール、胴体モジュール、及び４つの脚モジュールが必要とされる。移動モジュールは、１つのタイプの移動のみに限定される必要はなく、歩行モジュラーロボットを作製するための脚モジュール、回転モジュラーロボットを作製するためのホイールモジュール、飛行モジュラーロボットを作製するためのプロペラモジュールを含むいくつかの形態を取り得る。
【００５０】
各脚モジュール１１は、股関節[hip]１１１、大腿１１２、膝関節１１３、及び下肢１１４を有している。前記脚群のそれぞれは、３つの原動機１１５、１１６及び１１７によって作動されており、この実施例において、これら原動機はロボット１０内においてそれぞれ完全に統合されている。前記原動機１１５、１１６及び１１７の各々は、脚に３つの回転軸１４、１５、１６回りに回転することを許容する、３度合の自由度を、各脚に与える。二つの原動機１１５、１１６は、それぞれの大腿１１２内に統合されている。残りの原動機１１７は、胴体モジュール１３内に含まれている。胴体モジュール１３に含まれている原動機１１７の数は、ロボット１０に含まれ得る脚群の最大数に対応する。メインモジュール１２はロボット１０のメインコントローラーを含む。
【００５１】
図３ａ〜ｃは、一実施例の脚モジュール１１の大腿部１１２と、そこに含まれる２つの原動機１１５、１１６を、より詳細に示している。本実施形態では、大腿部１１２は、三つの主要構造要素、すなわち、二つの外側シェル３１及び３２と大腿キャリアプレート３３から構成される。図３ａの（ｉｉ）部は、キャリアプレート３３をより明確に示すために、シェル３２が取り外された大腿部１１２を示している。明確にするために１つの原動機１１５の構成要素のみが示されている（原動機１１６は意図的に省略されている。）。図３ｂから分かるように、大腿キャリアプレート３３は、原動機１１５の構成要素群との１つの機械的インターフェースを提供する。この特定の図示された実施例において、原動機１１５の構成要素群は、双方の原動機１１５及び１１６を独立して駆動するように配置された大腿電子ボード３４、モータ３５、出力軸３６、及び位置センサー３７を有している。前記大腿電子ボード３４は、脚モジュール１１の電子回路に含まれる。原動機１１５はまた、モータ３５の出力トルクを機械的に伝動するための歯車３９を有するギアボックス３８（図３ｂ（ｉｉ）及び（ｉｉｉ）に表示）を含む。
【００５２】
図３ｂは、双方のシェル３１及び３２が取り外された、大腿部１１２の原動機１１５のさらに詳細な図である。原動機１１５の伝動機構は、モータ３５を含み、かつ、この特定の実施例では、約３２０：１の総減速比を有する四段階の平行軸ギアボックスを有している。原動機１１５の制御は、大腿電子ボード３４及び位置センサー３７によって支配される。原動機１１５の構成要素群の鏡映版が、原動機１１６を形成するために、大腿１１２の反対側の端部に設けられ得る。
【００５３】
図３ｃは、位置センサーに関しての一代替的配置を示している。図３ａ及び図３ｂに描かれている位置センサー３７は、シャフト、この場合には、原動機の出力軸３６が、前記位置センサー３７を通過することを可能とするように設計された、「スルーホール」["through-hole"]または「シャフトレス」["shaft-less"]として知られている位置センサーの一種である。これは、デュアル出力軸の設計を容易にする。しかしながら；別の構成（すなわち、図３ｃに示されている配置である）がまた可能であり、そこにおいては、位置センサー３７’は、出力軸３６’のギア４９に噛合するあそび歯車４７に依存する。描かれた実施例においては、あそび歯車４７は、歯車４９よりも小さいピッチ円直径を有しており、これは位置センサー３７’の感度を向上させることに役立つ。しかしながら、歯車４９とあそび歯車４７との間のギア比１：１は、位置センサー３７’の動きの範囲が限定されている場合には、好ましいものであり得る。
【００５４】
図４ａ（ｉ）及び（ｉｉ）は、一体化された胴体モジュール１２及びその４つの原動機１１７のうちの１つの詳細図を示している。明瞭にするために、胴体モジュール１２内に収容された他の３つの原動機は示されていない。胴体モジュール１２の構造は、大腿部１１２が２つの原動機を収容し、胴体モジュール１２が４つの原動機を収容する点を除いて、大腿部１１２の構成と同様である。胴体モジュール１２は、三つの主要構成要素、すなわち二つの外側シェル４１及び４２と胴体キャリアプレート４３とで形成される。図４ａの（ｉｉ）部分は、シェル４２が取り外された胴体モジュール１２を示している。明確にするために１つの原動機１１７の構成要素のみが示されている（他の３つの原動機１１７は意図的に省略されている。）。
【００５５】
胴体キャリアプレートキャリア４３は、原動機１１７の構成要素群との１つの機械的インターフェースを提供する。図４ａに示す原動機構成要素群は、４つの胴体原動機１１７すべてを独立して駆動するように配置された胴体電子ボード４４、原動機４２のモータ４５、胴体出力軸４６、及び位置センサー４７を有している。この特定の実施形態では、そして製造コストを低減するために、原動機１１７の構成要素群は、大腿部の原動機１１５及び１１６の対応する構成要素群と同一のものとされていることに留意すべきである。原動機１１７はまた、モータ４５の出力トルクを機械的に伝動するギアボックス（図４ｂに示す）を含む。図示された原動機１１７の構成要素群を複製して、胴体モジュールの残りの３つの原動機１１７を形成することができる。
【００５６】
図４ｂは、双方のシェル４１、４２が取り外された、胴体モジュール１２の４つの原動機１１７のうちの１つのギアボックス５８のさらに詳細な図である。原動機１１７の伝動機構は、モータ４５を含み、かつ、この特定の実施例では、約３２０：１の総減速比を有し、約０．５Ｎｍの出力トルクを有する四つの平行軸歯車５９を有する四段階のギアボックス５８を有している。
【００５７】
あるいくつかの代替的な実施形態では、原動機１１７は脚モジュール１１に一体化されることができ、脚モジュール１１が胴体キャリアプレート４３に連結される（例えば、外側シェル４１及び４２の股関節部分が脚モジュール１１の末端に移動され、そして胴体モジュール１３との取り外し可能に結合される。）。あるいくつかの実施形態では、メインモジュール１２及び胴体モジュール１３は、単一のメインモジュールに一体化され得る。
【００５８】
図５は、大腿部１１２及び胴体モジュール１３に見られる原動機１１５，１１６及び１１６の出力軸の様々な配置を詳細に示している。特に、図５は、第一の実施例の出力軸５６のためのカップリング及びベアリングの種々異なる可能な構成を示している。図５（ｉ）は、第一の実施例の出力軸５６を支持するために、１または２以上のブッシング５１を大腿部または胴体モジュール（図示せず）の内側でどのように用いるかを示している。この実施例では、出力軸５６は、パラレルキースプライン[parallel key spline]として知られている一種のスプラインから構成される。図５（ｉｉ）は、第二の実施例の出力軸５６’を支持するために、大腿部１１２または胴体モジュール１３（図示せず）の内部で使用される１または２以上のボールベアリング５２を示している。第二の実施例の出力軸５６’は、インボリュートスプライン[involute spline]として知られる一種のスプラインから構成される。図５（ｉｉｉ）は、パラレルキースプラインとして知られている一種のスプラインから構成される第三の実施例の出力軸５６’’を示している。
原動機１１５、１１６、１１７は、第１、第２または第３の実施例の出力軸５６，５６’、５６’’のいずれかの特徴を有する、または任意の他の適切な出力軸の構成のいずれかの特徴を有する、出力軸を有し得る。
【００５９】
図６は、脚モジュール１１の内部にボールベアリングもブッシングも使用されていない（同様に、胴体モジュール１３の内部にもボールベアリングもブッシングも使用されないものとし得る）、脚モジュール１１の代替的配置を示している。その代わりに、大腿部１１２を下肢１１４に連結するためのカップリングに含まれている、リンク６１及び６２が、軸受面[bearing surface]としても作用する。図６（ｉ）は、大腿部１１２と下肢１１６の断面図を示しており、この図から前記リンク６１が原動機（例えば、原動機１１５）の出力軸６６に締固されていることが分かる。リンク６１及び６２は、大腿シェル３１及び３２に対して支持することによって、半径方向荷重用の軸受面６３と、軸方向荷重用の軸受面６４とを提供する。図６は、またカップリング対７０（この例ではリンクの一セットからなっている。）が大腿部１１２の反対側端部において、脚モジュール１１を本体モジュール１３に機械的に接続するために使用される。さらに図１０ａ及び図１０ｂでさらに詳細に示される、カップリング対７０はまた、脚モジュール１１を胴体モジュール１３に機械的にインターフェース接続するために用いられる。
【００６０】
上記の実施例の３つのジョイントは、３つの別個の原動機を使用して作動され、脚に３度合の自由度を与え、ロボットが流動的な運動で歩行することを可能にする。これらの実施例では、前記ジョイントは結合されておらず、例えば、リンク機構または他の適切な機構は存在しない。これは、原動機の数が減り、制限された動作のみが可能な例と比較して、可能な動作及び動作シーケンスの範囲を大幅に増加させる。
【００６１】
図７ａは、明瞭とするために１つの原動機１１５のみを図示した大腿部１１２の図である。大腿部１１２を下肢１１４に接続するためのリンク６１及び６２と同様の配置で、図７ａは大腿部１１２を本体モジュール１３に接続するための一対のリンク７１及び７２を示している。この特定の実施形態では、リンク６１及び６２によって与えられた軸受面６３及び６４と同様の、軸受面７３及び７４をリンク７１、７２が提供する。
【００６２】
ロボットモジュールのための迅速な脱離
図７ｂは、カップリング対７０の実施例の様々な方向からの図を示している。カップリング対７０は、胴体モジュール１３に対して脚モジュール１１を接続し、そして２つのカップリング７５及び７６からなっている。この実施例において、それぞれのカップリング７５、７６は１対のリンクを有している。前記カップリング７５は、脚モジュール１１の一部を形成し、そしてそれぞれの大腿部１１２の原動機１１６、１１５の一方と機械的インターフェースを形成する。前記カップリング７５はそれぞれのリンク７１及び７２より構成される。前記カップリング７６は、胴体モジュール１３の一部を形成し、そして胴体モジュール１３の４つの原動機１１７のいずれかの出力軸との機械的インターフェースを形成する。前記カップリング７６はそれぞれのリンク７７及び７８より構成される。図７ｂに示されるカップリング対７０の実施形態において、前記カップリング７５及び７６は、ばねラッチ７８を押すことによって、脱カップリング（ないし分離／切断）されて、カップリング７５のキー７５１に、カップリング７６のキー溝７６２と係合することを許容する。この特定の実施形態では、カップリング７５は、カップリング７５から上方に（またはそれぞれに下方への動き）係合する（またはそれぞれに脱カップリング）する。ばねラッチ７８は、押された際に（カップリング７６にカップリング７５を係合または分離するため）撓み、またカップリング７５及びカップリング７６を係合状態に保持するために元の位置に跳ね返るように設計されている。したがって、リンクセット７０は、クイックリリースリンクセット[quick-release link set]またはクイックディスコネクトリンクセット[quick-disconnect link set]であると考えることができる。
【００６３】
図７ｃは、前記リンクセット７０をさらに図示している。図７ｃ（ｉｉ）は、胴体ジュール１３の全ての４つの原動機１１７との機械的インターフェースを提供する全ての４つのカップリング７６を有する胴体モジュール１３を図示している。図７ｃ（ｉｉｉ）は、４つの脚モジュール１１のうちの１つを図示するものであり、大腿の原動機のうちのの一つとの機械的インターフェースを提供する一つのカップリング７５を有している。脚モジュール１１のその他の大腿の原動機は、下肢のリンク６１及び６２の対を介して、下肢１１４と機械的インターフェースを形成する。図７ｃ（ｉ）は、部分的に接続された状態での前記胴体モジュール１３と前記脚モジュール１１を示している。前記リンクセット７０の様式で機械的インターフェースを作成するリンクセット７０はまた、前記カップリング７５及び７５が接続状態にあるとき（図７ａ〜ｃに図示せず）に、電気的インターフェースを形成する特徴をも含んでいる。
【００６４】
図８ａは、機械的インターフェースを形成すると同時に、このような電気インターフェースをどのようにして形成し得るかを示している。図８はカップリング対８０を示すものであり、前記カップリング対は、第一リンク（図示せず）及び第二リンク８２を有する第一カップリング８５、及び第一リンク８７及び第二リンク８８を有する第二カップリングから構成される。前記カップリング対８０の構成要素は、上述したカップリング対７０の対応する構成要素の特徴のいずれかまたは全てを有していてもよい。特定の図示した実施形態では、明瞭とするためにリンク８２のみが描かれているが、カップリング８５は、それの両方のリンクの間に保持されたプリント回路基板８５３を含んでいる。プリント回路基板８５３は、前記カップリング８５が含まれている脚モジュールの電子回路の少なくとも一部を形成する。プリント回路基板８５３は、この実施例では、電気コネクタとして作用する４つのバネ仕掛けのピン８５４を有している。前記ピン８５４は電気接点群の第一セットを含むものと考えることができる。プリント回路基板８５３は電気ケーブル８５５によって大腿のプリント回路基板３４と結線されている。同様に、カップリング８６はそれの両方のリンク８７及び８８の間に保持されたプリント回路基板（図示せず）を含んでいる。カップリング８６の前記プリント回路基板は、前記カップリング８６が含まれている胴体モジュールの電子回路の少なくとも一部を形成する。カップリング８６の前記プリント回路基板は、この実施例では、ピン８５４と電気的接触を行うように設計された４つの電気パッド８６４を有している。前記電気パッド８６４は電気接点群の第二セットを含むものと考えることができる。カップリング８６の前記プリント回路基板は電気ケーブル８６５によって胴体モジュールのプリント回路基板４４と結線されている。
【００６５】
図９は、ゲームロボットの二つのモジュール間のクイックリリースの機械的及び電気的接続を作成するためのカップリング対９０を別の実施例を示す図である。カップリング対９０は、第一カップリング９５（第一リンク及び第二リンクを含む）と、第二カップリング９６（第一リンクと第二リンクを含む）とから構成される。この特定の実施形態では、カップリング９５は、それの両方のリンクの間に保持されたプリント回路基板９５３を含んでいる。プリント回路基板９５３は、１つの脚モジュール１１の電子回路に含まれる。この実施例においては、プリント回路基板９５３は、電気コネクタとして作用する４つのバネ仕掛けのピン９５４を有している。前記ピン９５４は電気接点群の第一セットを含むものと考えることができる。プリント回路基板９５３は電気ケーブル９５５によって大腿１１２のプリント回路基板３４と結線されている。同様に、カップリング９６はそれの両方のリンクの間に保持されたプリント回路基板９６３を含んでいる。前記プリント回路基板９６３は、胴体モジュール１３の電子回路に含まれる。カップリング９６の前記プリント回路基板９６３は、この実施例では、ピン９５４と電気的接触を行うように構成された４つの電気パッド９６４を有している。前記電気パッド９６４は電気接点群の第二セットを含むものと考えることができる。前記プリント回路基板９６３はケーブル９６５によって胴体モジュール１３のプリント回路基板４４と結線されている。この特定の実施例では、カップリング９５及び９６は、これらカップリング９５及び９６の一方を、これらカップリング９５及び９６の他方の回りにねじる（回転させる）ことによって（図９（ｉｉｉ）において矢印で示されるように）、接続／脱離される。
【００６６】
他の実施形態では、股関節原動機は、脚モジュールに組み込まれてもよく、例えば、構成要素７６、８６、９６は、大腿部モジュール１１３の端部に配置され得る。
【００６７】
脱離可能なシールドモジュールの配置
上述したように、ゲームロボットは、１または２以上のオプションまたは脱離可能な二次モジュールを有し得る。これらは、例えば、「武器」モジュール、「シールド」モジュール、「ヘッド」モジュール、及び「ディスプレイ」モジュールの１または２以上を含むことができる。二次モジュールは、一次モジュール（例えば、メインモジュール、胴体モジュールまたは移動モジュール）とインターフェース接続して、一次モジュールの外観及び機能性を向上させる。例えば、武器またはヘッドモジュールがメインモジュールに取り付けられてもよく、シールドモジュールが移動モジュールに取り付けられてもよい。モジュラーロボットが機能する、例えば、移動する、接続デバイスによって制御される、またはシミュレートされた戦闘に参加する、ために二次モジュールを必要としないという点で、二次モジュールは任意のものである。
【００６８】
例えば、モジュール式ゲームロボットの一構成例では、歩行ロボットを形成するために、移動モジュールが４つの脚モジュールから構成されてもよい。メインモジュールは、「ベルセルク」デザイン（例えば、図１２ａを参照）であってもよく、「重キャノン砲」及び「シールドブースター」武器モジュールを備えていてもよい。脚モジュールは、また「軽い」シールドモジュールを備えていてもよい。バッテリーモジュールは、「ベルセルク」メインモジュール内に収容し得る。
【００６９】
モジュール式ゲームロボットの第２の構成例では、歩行ロボットを形成するために、移動モジュールが４つの脚モジュールから構成されてもよい。メインモジュールは、「ブルート」デザイン（例えば、図１２ｂを参照）であってもよく、スクリーンモジュールを備えていてもよい。脚モジュールはまた、「重い」シールドモジュールを備えていてもよい。この場合のバッテリーモジュールは、「ブルートゥース（登録商標）」メインモジュール内に収容することができる。
【００７０】
モジュール式ゲームロボットの第３の構成例では、移動モジュールは、飛行ロボットを形成するために４つのプロペラモジュールから構成されてもよい（例えば、図１５ａ参照）。メインモジュールは、「ベルセルク」デザイン（例えば、図１２ａを参照）であってもよく、「重キャノン砲」武器モジュールを備えていてもよい。電池モジュールは、「ベルセルク」メインモジュール内に収容することができる。
【００７１】
二次モジュールデザインの実施例が図１０ａ〜ｂ、図１１及び図１６に示されている（前者の２つの図はシールドモジュールの例を示し、後者の図は武器モジュールの例を示す）。
【００７２】
図１０ａ〜ｂ及び図１１は、ゲームロボット用の脱離可能なシールドモジュールの例を示す。シールドモジュールは、ロボットの外観とその物理的及び仮想的な属性を向上させるために、ゲームロボットの一次モジュール（メインモジュールまたは歩行モジュールなど）から容易に着脱できるように設計されている。例えば、ゲームロボットを攻撃から保護することができる強いが、重く／嵩高なシールドは、ロボットを遅くし得る。逆に、ゲームロボットへのより低い保護を提供するより弱いが軽く／より小さなシールドは、ロボットにより速く動くことを許容する。ゲームロボットの属性の変更（例えば、追加の強さ／減速または加度／減少した強さ）は、本質的に、ロボットの物理的特性が変更／制限されるゲームロボットソフトウェアインターフェースを介して処理される。シールドモジュールの物理的設計は、シールドシェル及びシールドブラケットを含むことができる。シールドは、典型的にシールドシェルに固定され得る。シールドブラケットは、ロボットモジュールと機械的にインターフェース接続し、そして着脱が容易に設計されている。
【００７３】
あるいくつかの場合においては、二次モジュールは「アクティブ」であり得る。アクティブという用語は、二次モジュールが、固有の識別子のような前記二次モジュールを識別するデータを含む電子回路を含み、ロボットが使用中のモジュールを自動的に識別し、ゲームロボットソフトウェアインターフェースを介してロボット属性を自動的に更新することを可能にする。ゲームロボットのメイン処理モジュールは、使用中の一次及び二次モジュールのそれぞれの部品の間に形成された電気的インターフェースを介してこのデータを得ることができる。あるいくつかの場合には、シールドモジュールの一部として含まれる電子回路は、シールドの外観を高めるために設計内に一体化されたライト（例えば、ＬＥＤ）を供給するためにも用いられ得る。シールドモジュール電子回路は、典型的には、シールドシェルとシールドパネルとの間の場所に保持される。シールドアッセンブリは、ロボットに容易に着脱できるように設計されているので、シールドブラケットは、容易に接続／分離可能な電気的インターフェースをも備えていなければならない。
【００７４】
一次及び二次モジュールのそれぞれの機械的及び電気的インターフェースまたは結合は、多数の異なる方法で実施することができる。
【００７５】
歩行ゲームロボットの脚モジュールの下肢とインターフェース接続するように設計された脱離可能なシールドモジュールの第１の構成例では、シールドブラケットは４つのバネ付勢タブを有している。シールドブラケットのバネ付勢タブは、下肢の対応するソケットと係合する。バネ付勢タブは、下肢ソケットに係合するように下肢に押し付けられたときに撓むように設計され、その後、中立位置に跳ね返り、確実な連結を提供するように設計されている。これらのばね付勢タブは、二次モジュールの機械的カップリングを実現する。対応する機械的カップリング、例えば、ソケットは、二次モジュールの機械的カップリングと噛み合うために脚モジュール上に設けられる。４つのバネ付勢ブラケットタブのそれぞれには、シールドモジュール電子ボードに接続された電気導体も包含されている。これにより、二次モジュールの電気的インターフェースが実効される。対応する電気的インターフェース、例えば、導電性パッド等が脚モジュールに設けられている。４つのシールドブラケットタブは、下肢ソケット内の４つの対応する導電体と接触する。これは電気的接続を形成する。データはこの接続を介して、及び／またはアクティブな部品に供給される電力によって、読み取られ得る。この特定の構成は、ロボットの脚モジュールとシールドモジュールとの間に最大４つの独立した電気的接続を提供する。この構成では、機械的カップリング及び電気的インターフェースが共通の結合／インターフェースに組み込まれる。
【００７６】
歩行ゲームロボットの脚モジュールの下肢とインターフェース接続するように設計された脱離可能なシールドモジュールの第２の構成例では、シールドブラケットは４つのバネ付勢タブを有している。シールドブラケットのバネ付勢タブは、下肢の対応するソケットと係合する。バネ付勢タブは、下肢ソケットに係合するように下肢に押し付けられたときに撓むように設計され、その後、中立位置に跳ね返り、確実な連結を提供するように設計されている。この特定な場合において、シールドブラケットバネ付勢タブは非導電性である。代わりに、シールドモジュールと下肢との間の電気的インターフェースは、シールド電子回路基板に取り付けられ、下肢電子回路基板に取り付けられた対応する電気コネクタと接触するように設計された、３つの金属ストリップによって達成される。金属ストリップの弾力性は、シールドモジュールと脚モジュールとの間の良好な電気的接触を確実にするために必要なコンプライアンスをもたらす。この特定の構成は、ロボットの脚モジュールとシールドモジュールとの間に最大３つの独立した電気的接続を提供する。この構成では、機械的カップリング及び電気的インターフェースが別々に提供される。
【００７７】
歩行ゲームロボットの脚モジュールの下肢とインターフェース接続するように設計された脱離可能なシールドモジュールの第３の構成例では、シールドブラケットは３つの磁石を有している。シールドモジュールの磁石は、下肢上の強磁性パッドの対応する磁石と係合する。機械的インターフェースを提供し、シールドモジュールに連結することに加えて、磁石は、導電性磁石（例えば、鉄、コバルト、ニッケル、ネオジム磁石）を選択することによって、電気的インターフェースとして使用することもできる。この特定の配置は、機械的及び電気的インターフェースの両方を単純でコンパクトなパッケージ内に組み合わせるという利点を有する。磁石を介して電気信号を伝導することは、そのような信号の電気的特性を時々変える可能性があるが、磁石の中心に非磁性導電性コアを挿入することによって容易に対処することができる。この特定の構成は、ロボットの脚モジュールとシールドモジュールとの間に最大３つの独立した電気的接続を提供する。この構成では、機械的カップリング及び電気的インターフェースが共通の結合／インターフェースに組み込まれ、両方の機能を提供する共通構成要素を含む。
図１０〜図１２ｂは、第一カップリング及び第二カップリングを含むカップリング対のさらなる実施例を示す。図１０ａは、第一カップリング１０５を示し、図１１ａ及び図１１ｂは、第二カップリング１０６を示す。図１２ａ〜ｃは、一緒に接続された、そして接続プロセス中における、第一及び第二カップリング１０５、１０６を示す。本明細書で使用される「第一」及び「第二」という用語は、カップリング対の２つの部材を単に区別するためのものであり、第一及び第二カップリングの間の差異的特徴を暗示するものとして解釈されるべきではない。さらに、以下の説明では、第一カップリングが脚部モジュールに含まれ、第二カップリングが胴体モジュールに含まれているが、原則として、第一及び第二カップリングのいずれも、実施例によるモジュラーロボットの任意のモジュールに含まれ得る。
【００７８】
これらの構成例は、それぞれ図１０ａ、図１０ｂ、図１１に示されている。
【００７９】
図１０ａ及び図１０ｂは、脚モジュール１１を、脚モジュールに取り付けることができる取外し可能な二次モジュールの一例と共に示している。図示された実施例では、二次モジュールは、脚モジュール１１の下肢１１４に挟み着けないしは外すことができる取り外し可能なシールドアセンブリ１０００である。すなわち、脚モジュール１１は、前記シールド第二モジュール１００３上の第二カップリングに接続可能な少なくとも一つの第一カップリングを有している。前記第一及び第二カップリングは前記脚モジュール１１とシールド第二モジュール１００３との間の機械的インターフェース、及び前記脚モジュール１１とシールド第二モジュール１００３との間の電気的インターフェースを形成するように接続可能である。前記シールドアセンブリ１０００は、シールド１００２と、前記シールド１００２に、例えば、ネジを用いて、固定され得るシールドブラケット１００１とを有している。他の実施例においては、シールドブラケット１００１は、シールド１００２と一体的に形成され得る。シールドアセンブリ１０００と下肢１１４との間の機械的インターフェースは、この特定の実施例においては、シールドブラケット１００１に造られた（すなわち、シールドブラケット１００１と一体的に形成された）４つのプラスチックバネタブ１００４によって達成されている。前記バネタブ１００４は、下肢１１４上の４つの対応するソケット１００３と係合すると撓むように設計されている。
【００８０】
図１０ａ及び１０ｂに図示されているシールドアセンブリ１０００は、「アクティブ」（すなわち、それは電子部品を含む。）であり、下肢１１４と電気的にインターフェース接続している。シールドアセンブリ１０００及び下肢１１４の双方がプリント回路基板（図示せず）を収納しており、そして、４つのタブ１００４の各々が電気導体を、下肢１１４の４つのソケット１００３に差し込むように（すなわち、電気的インターフェースを形成するように）構成されて、有している。この特定の実施例では、最大４つの個別の電気接続がシールドアセンブリ１０００と下肢１１４と間に可能である。与えられた個別の電気的接続は、シールドに電力を供給するため（例えば、シールドに設けられた発光ダイオード（ＬＥＤ）に電力供給するため）、あるいは脚モジュール１１とシールドアッセンブリ１０００との間のデジタル通信のため（例えば、シールド１００２のタイプを識別するプロセスの間）に用いられ得る。
【００８１】
図１０ｂは、シールドブラケット１００１のみを図示していており、シールド１００２は明瞭化のために省略されている。同様に、明瞭化のために脚モジュール１１の下側シェルの半分のみが示されている。したがって、シールドアセンブリ１０００はプリント回路基板１００５を組み込んでおり、下肢１１４はプリント回路基板１００７を組み込んでいることが分かる。これらのプリント回路基板はそれぞれマイクロコントローラーを有し得る。本明細書で説明するプリント回路基板または回路内に組み込むことができる一例のマイクロコントローラーは、米国アリゾナ州チャンドラーのマイクロチップテクノロジー社によって供給されるＰＩＣマイクロコントローラー（例えば、ＰＩＣ１０などのＰＩＣｘ）である。他のマイクロコントローラーも使用することができる。マイクロコントローラーは、プログラムメモリ及びデータメモリを有して構成され得る。シールドプリント回路基板１００５と下肢プリント回路基板１００７との間の電気的接続は、シールドプリント回路基板１００５上の導電性バネタブ１００６と、下肢プリント回路基板１００７上の対応するコネクタ１００８とのセットを用いることで達成される。この特定の実施例では、シールドアセンブリ１０００が脚モジュール１１に接続されたときにタブ１００６及びコネクタ１００８によって形成される４つの電気接続が、前記シールドに含まれているライト群（図示せず）への電力を供給するための３つの電気的接続部と、シールド識別情報をシールドアセンブリ１０００から脚モジュール１１に送信するための１つのデータ接続部（例えば、シールド識別情報は、ロボットのメインモジュール１２に渡されてもよい）を有している。
【００８２】
いくつかの例では、シールドアセンブリ１０００と下脚１１４との間の機械的インターフェースは、磁石によって達成され得る。図１１はその一例を示す図である。この特定の実施では、シールドブラケット１１０１は３個の磁石１１０４を有している。前記磁石１１０４は接続位置へシールドアセンブリ１１００を案内し、その後下肢１１４上の３個の対応する磁石又は強磁性パッド１１０３上に係合する際に、接続位置にシールドアセンブリ１１００を保持するように構成されている。この実施形態では、磁石１１０４は、シールドアセンブリ１１００上に位置するプリント回路基板（図示せず）に接続されており、磁石（または強磁性パッド）１１０３が下肢１１４に含まれる印刷回路基板（図示せず）に接続されている。磁石（又は強磁性パッド）１１０３と磁石１１０４は、導電性（例えば、鉄、コバルト、ニッケル、ネオジム磁石）であり、従って、下腿１１４及びシールドアセンブリ１１００との間の電気コネクタとして機能する。この実施形態は、従って、シールドアセンブリ１１００が脚モジュール１１に接続された際には、脚モジュール１１とシールドアセンブリ１１００との間に電気的及び機械的インターフェースインターフェースが形成される。
【００８３】
モジュラーゲームロボットの実施例
【００８４】
図１２ａ及び１２ｂは、本発明に係るモジュラーロボットの二つの異なる実施例を示している。図１２ａは、ロボットモジュールの３つのタイプ（脚モジュール１２１、メインモジュール１２２、及び胴体モジュール１２３）が、第一の構成を有する完全に組み立てられたモジュラーロボット１２０を形成するためにどのように一緒に接続することができるかを示している。各モジュールは、最小限の技量や道具（例えば、図７〜１１に関連して上述した方法のいずれか）を用いて、ロボット１０の残りの部分に機械的及び電気的に接続し、また取外すことができる。上記の説明は、脚モジュール１１と胴体モジュール１３との間の接続に関するものであったが、いくつかの実施例において、前記ロボット１０の「頭脳」を含むメインモジュール１２がまた、機械的及び電気的の双方の面から、胴体モジュール１３に容易に接続されることができ、また胴体モジュール１３から容易に取り外すことが可能である。
【００８５】
図１２ｂは、第二の構成を有する第二モジュラーロボット１２０’に関してのメインモジュールの取外し可能な状態を図示している。ロボット１２０’は、電気的及び機械的インターフェースをメインモジュール１２２’と胴体モジュール１２３’との間に形成するために胴体モジュール１２３’ （この実施例においてこれは、ロボット１５０の胴体モジュール１２３と同じである。）に容易に接続される（及び取外す）こと（例えば、図７〜１１に関して上述した方法のいずれかにおいて）ができるメインモジュール１２２’を有している。前記第二モジュラーロボット１２０’の脚モジュール１２１’はまた、前記ロボット１０に関して上述したものと同様なクイックリリースコネクタを使用して、胴体モジュール１２３’に接続される。
【００８６】
図１２ｂはまた、容易に交換可能なモジュールが、モジュールをパーソナライズするために使用するためにどのように用いられ得るかを示している。ロボット１２０’は、ロボット１２０の対応する胴体及び脚モジュール１２３、１２１と同じ設計の胴体モジュール１２３’及び脚モジュール１２１’を有している。しかし、（この実施例においては『ブルート』設計の）メインモジュール１２２’は、ロボット１２０のメインモジュール１２２と外観が異なっている。前記第二ロボット１２０’はまた、その下肢に取り付けられた異なるシールドアッセンブリ１２５を有している。メインモジュール１２２’は、この実施例においては、取外し可能な武器モジュール１２６及び前記ロボットに関する情報を表示するために用いられ、そしてそれによってゲームプレイ体験を高めるために使用することができるディスプレイ画面１２７を有している。
【００８７】
図１３〜１６は、さらに、本明細書に記載の実施例のモジュラー状態が、ゲームロボットをカスタマイズするためにどのように使用することができるかを示している。図１３は、上記に述べた脚モジュール１１と同じタイプの脚移動モジュール内で通常使用される、大腿部１１３群が、移動モジュールの異なる種類を形成するためにどのように使用され得るかを示している。大腿部１１３群は、これらが完全に機能するようになるために外部電源のみを必要とするように、完全に自律的になるように構成され得る。複数の大腿部１１３が、それゆえ、蛇状連鎖ロボット（例えば、図１３の１つの「肢」）または図１３に示されるような人間型ロボット１６２のための多関節の肢を作成するために一緒に接続されることができる。これらの実施例における大腿部１１３間の接続は、図６〜９に関連して上述したコネクタのいずれかのような、クイックリリースコネクタによって行うことができる。
【００８８】
図１４ａ及び１４ｂは、一実施例のホイール付きロボット１４０を示している。この実施例では、ロボット１４０は４つの移動モジュールを備え、そのうちの２つは脚モジュール１１（この実施例では上述したロボット１０の脚モジュールと同じである。）からなり、そしてそのうちの２つがホイールモジュール１４１からなる。ホイールモジュール１４１（及び脚モジュール１１）は、図６〜図９に関連して上述したコネクタのいずれかのような、クイックリリースコネクタを用いて、ロボット胴体モジュール１３（この実施例では、上述したロボット１０の胴体モジュール１３と同じである。）と機械的及び電子的にインターフェース接続される。図１４ｂは、一実施例のホイールモジュール１４１を詳細に示す。前記実施例のホイールモジュール１４１は、メインギアボックス及びモータ１４２及びハブレスホイール１４３を備える。ホイール１４３は、追加の内部ギア１４４、及び、胴体モジュール１３のカップリング７６群と適合性のあるカップリング１４５を有することを特徴とする。ホイールモジュール１４１と胴体モジュール１３との間の電気的接続は、図９に関連して上述したものと同様である。股関節が脚モジュール内に取り付けられている場合、ホイールモジュールのインターフェース７６はそれに応じて変化し得る。ある場合において、ホイールモジュール１４１内での電子回路は、メイン処理モジュールによって読み取られるか、または他の方法で取得される、前記モジュールを識別するデータを有し得る。この方法において、メイン処理モジュールによって提供される制御は、取得されたデータ、例えば、脚ジョイントの原動機を制御するための２ないし３つの信号よりも、例えば、ホイールモーターを制御するためのシングルＰＷＭ信号のような、得られたデータに基づいて適用され得る。
【００８９】
図１５ａ及び図１５ｂは、４つの移動モジュールを含む、一実施例のフライングロボット１５０を示す。この実施例では、４つのすべての移動モジュールが、図６〜図９に関連して上述したコネクタのいずれかのような、クイックリリースコネクタを用いて、ロボット胴体モジュール１３（この実施例では、上述したロボット１０の胴体モジュール１３と同じである。）と機械的及び電子的にインターフェース接続される、フライングモジュール１５１から構成される。この実施例では、フライングロボット１５０はまた、上述したロボット１０のメインモジュール１２と同じある、メインモジュール１２を含んでいる。図１５ｂは一実施例のフライングモジュール１５１を詳細に示している。この実施例のフライングモジュール１５１は、モータとギアボックス（図示せず）を収容するメインケーシング１５５、及びハブレスマルチブレードローター１５４を有している。この実施例のフライングモジュール１５１は、さらに胴体モジュール１３のカップリング７６群と適合性のあるカップリング１５２も有している。フライングモジュール１５１と胴体モジュール１３との間の電気的接続は、図９に関連して上述したものと同様である。股関節が脚モジュール内に取り付けられている場合、ホイールモジュールのインターフェース７６はそれに応じて変化し得る。ある場合において、フライングモジュール１５１内での電子回路は、メイン処理モジュールによって読み取られるか、または他の方法で取得される、前記モジュールを識別するデータを有し得る。この方法において、メイン処理モジュールによって提供される制御は、取得されたデータ、例えば、脚ジョイントの原動機を制御するための２ないし３つの信号よりも、例えば、プロペラモーターを制御するため信号のような、得られたデータに基づいて適用され得る。
【００９０】
図１６は、ロボット１０のメインモジュール１２に取外し可能な武器である二次モジュール群を接続することによってモジュラーゲームロボット（図示された実施例ではロボット１０）がどのようにさらにカスタマイズすることができるかを示している。二次モジュールの３つの異なる実施例のタイプが、図１６に示されている。図１６（ｉ）は、「重キャノン砲」タイプの武器モジュール１６１を示し、図１６（ｉｉ）は、「シールドブースター」タイプの武器モジュール１６２、図１６（ｉｉｉ）は、「火炎放射器」タイプの武器モジュール１６３を示し、図１６(ｉｖ）は、取り付けられたシールドブースターモジュール１６２及び火炎放射器モジュール１６３の双方を有する胴体モジュール１２を示している。二次モジュール１６１、１６２、１６３のそれぞれは、メインモジュール１２のシェル上のソケット１６５に差込まれ得る。すなわち、メインモジュール１２は、二次モジュール１６１、１６２、１６３の上の第二のカップリングに接続可能な少なくとも一つの第一カップリング（すなわち、当実施例において３つあるソケット１６５）を有している。第一及び第二のカップリングは、メインモジュールと二次モジュールとの間に機械的インターフェースを形成し、そしてメインモジュールと二次モジュールとの間の電気的インターフェースを形成するように接続可能である。
【００９１】
図１０及び図１１に関連して上述したシールドアセンブリ１０００と同様に、武器二次モジュール１６１、１６２及び１６３は、アクティブである。図１６に図示する実施例では、電気接続（インターフェース）（例えば、電力供給及びデータ通信のための））は、第一のカップリング群／ソケット群１９５のそれぞれに含まれるものである、１９５’に含まれる対応するソケット群中に差し込まれるように設計されたピン群１６４（第二のカップリングに含まれる）を用いて達成される。前記二次モジュールは、二次モジュール１６１、１６２及び１６３のいずれもが、メインモジュール１２のソケット群１６５のいずれに対しても差し込まれ得るように、互換可能である。シールド二次モジュール１０００と同様に、メインモジュール１２と武器二次モジュール１６１、１６２及び１６３との間の電気的接続は、武器二次モジュール１６１、１６２及び１６３に含まれるライト（ＬＥＤ）に電力を供給するため、及び／または武器二次モジュール１６１、１６２及び１６３から武器モジュール識別情報をメインモジュール１２に送信するために使用され得る。
図１６は、また、メインモジュール１２に接続された一実施例のロボット頭部モジュール１６０（例えば、二次モジュール１６１、１６２及び１６３を胴体モジュール１２に接続するのに使用されるのと同じタイプのコネクタを使用して、または図６〜９と関連して上述したようなクイックリリースコネクタを使用して）を示している。前記頭部モジュール１６０は、別の設計の頭部モジュールと、または別のタイプのモジュールと交換し得る。
【００９２】
インテリジェントゲームロボット
本明細書に開示された実施例群は、特にゲームロボットに関連するものである。ゲームロボットの概念を、図１７〜１９を参照してより詳細に説明する。図１７は、２人のユーザー（プレーヤー）１７０ａ及び１７０ｂによって制御される２台のゲームロボット１７１ａ及び１７１ｂ（すなわち、各ゲームロボット１７１ａ、１７１ｂは、２人のユーザー１７０ａ、１７０ｂの異なる一人によって制御される）を図示する。しかしながら；これは、単一のプレーヤーが単一のロボットを用いてゲームを行うこと；または任意の人数のプレーヤーが彼らのロボット１７１と戦うこと（このような状況では、それぞれのプレーヤーが、関連する1台のゲームロボットを持っていてもよい。）も可能である。各ゲームロボット１７１ａ、１７１ｂは、接続デバイスを使用して制御される。接続デバイスは、例えば、一対の拡張現実ゴーグル１７３、携帯電話／コンピュータータブレット１７４、またはその両方の組み合わせであり得る。図示した実施例では、各プレーヤー１７０ａ、１７０ｂは拡張現実ゴーグル１７３ａ、１７３ｂの対、及び携帯電話１７４ａ、１７４ｂを使用している。接続デバイス１７３ａ、１７３ｂ、１７４ａ、１７４ｂは無線伝送（例えば、「ＷｉＦｉ」または「ブルートゥース（登録商標）」）を使用して、ゲームロボット１７１ａ、１７１ｂへ情報を送信及びから情報を受信することが可能である。各プレーヤー１７０ａ、１７４ｂの接続デバイス１７３ａ、１７３ｂ、１７４ａ、１７４ｂ、１７０ｂはさらにプレーヤーの体験性を高めるために相互接続され得る。
【００９３】
拡張現実ゴーグルの使用を含むいくつか実施形態においては、ゴーグルの処理能力が所望の性能を達成するには不十分であり得、そして、十分な演算処理能力を有する別の装置（例えば、デスクトップ／ラップトップコンピュータ又はビデオゲームコンソール）を補充し得る。
【００９４】
図１７のゲームロボット環境の１つの構成では、２つのロボットが、２人のユーザーによって、ゲーミングユーザーインターフェースのためのディスプレイ及び彼または彼女の親指を使って彼または彼女のロボットを制御することをそれぞれのユーザーに許容する仮想ゲームパッドの両方として機能する触知可能な画面を備えた彼らのスマートフォンを用いて、制御され得る。この構成では、ロボットとスマートフォンは、ブルートゥース（登録商標）と呼ばれる無線周波数伝送の１タイプを用いて接続される。さらに、スマートフォンは、ＷｉＦｉを使用して相互接続されており、両方のユーザーがお互いのロボットと戦うことができるものとされている。アクティブな無線インターネット接続が存在する場合、各ユーザーは、ゲームプレイ中にクラウドに接続することができ、クラウドデータベースからお互いのプロフィールにアクセスしたり、クラウドマーケットプレイスから追加の仮想アイテムを購入することができる。彼らはまた、クラウドコミュニティポータルを介してコミュニティの他のメンバーと情報を交換したり、クラウドの外部エンティティインターフェースを介してサードパーティのゲームにアクセスすることも可能である。ただし、接続する機器やインテリジェントロボットが自立しており、ゲームに必要なすべてのデータ、処理能力、ソフトウェアアプリケーションが埋め込まれているなら、ユーザー同士がお互い戦うことができるようにするのに、アクティブなインターネット接続は必須ではない。インテリジェントゲームロボットインフラストラクチャは、クラウドへの無線接続がデータベース、スキル、分析を更新するまで、各デバイス内にすべての関連データを保存するように設計されている。マーケットプレイスは、インターネットに接続されたスタンドアロンのコンピュータを介してアクセスすることもできる。複数のユーザーが彼らのロボットを「戦闘」させるとき、ゲームロボットソフトウェアアプリケーションが１または２以上の接続デバイス上に存在することがある。図１７に示すような、１つの場合では、２つの接続デバイスを使用して、それぞれがゲームロボットソフトウェアアプリケーションを実行する場合がある。アプリケーションは、接続デバイス間のピアツーピア通信によって、例えば、ＷｉＦｉネットワーク上で、ゲームサーバを介して、例えば、ゲームサーバへのインターネット接続を介して、または例えば、ゲームロボットそれら自体を介して、例えば、ブルートゥース（登録商標）及び／または赤外線通信チャネルを介して、同期され得る。
【００９５】
図１８ａは、ゲームロボットを制御するために、接続デバイス（リモートコンピューティングデバイス）として使用することができる携帯電話１７４を図示している。携帯電話１７４は、その前面に触知可能なディスプレイ画面１８５と、その背面にビデオカメラ１８６を備えている。携帯電話１７４の前記ディスプレイ１８５は、ユーザーインターフェース１８０（図１８ａ（ｉｉ）に詳細に示す。）を表示する。ゲームロボット１８１ユーザーインターフェース１８０は、この実施例において、ゲームロボット１７１を全方向（前方、後方、左、右、時計回りの回転、反時計回りの回転）において指示するために用いられる親指操作（前記触知可能な画面１８５を介して）される制御用パッド１８１を有している。ユーザーインターフェース１８０はまた、この実施例においては、ゲームプレイ中に使用することができる様々なスキル(技）やアイテム（武器、治癒力、敵手スキャン、追加ライフ等）を選択するために使用される第二の親指操作（前記触知可能な画面１８５を介して）される制御用パッド１８２をまた有している。これらの制御用パッド１８１及び１８２のうちの１または２以上は、本明細書において述べるようなゲームコントローラーを実装しており、例えば、触知可能な画面１８５及びユーザーインターフェース１８０は、ゲームコントローラーを構成する。このユーザーインターフェース１８０は一例としてのみ提供されており、ゲームロボットソフトウェアアプリケーションの実装に応じて構成が変化してもよい。
【００９６】
ユーザーインターフェース１８０は、また、ロボットの状態の「ステイタス」ディスプレイ１８３、並びに「拡張現実」ディスプレイ１８４を有し得る。「拡張現実」ディスプレイ１８４は、ビデオカメラ１８６と共に使用される。拡張現実ディスプレイ１８４は、例えば、仮想敵手、仮想環境／周辺環境、及び／または仮想兵器効果のような仮想現実特徴で補強された、カメラ１８６の視野内に捕捉された物理的ゲームロボット１７１及びその環境のリアルタイム画像を放映する。これらの仮想武器の効果は、ゲームロボットの物理的な運動効果やシーケンス（いわゆる物理的な「アニメーション」）と同期させることができる。
【００９７】
図１８ｂは、ゲームロボットを制御するための接続デバイスとして使用され得る一対の拡張現実ゴーグル１７３を示す。図示した実施例では、ユーザーインターフェース１８０（この実施例では、図１７ａの携帯電話１７４によって表示されたユーザーインターフェース１８０と同じである。）が、ゴーグル１７３の画面上に表示される。ユーザー１７０は、ロボット１７１デバイスを制御するための追加的な手動操作式遠隔制御をさらに要求し得る。このような手動操作式遠隔制御は、例えば、ゲームパッド１８７（図１８ｂ（ｉ）に示すように）またはロボット１７１を予め決められた様式において指を動かすことによって制御するように設計された接続されたグローブ１８９（図１８ｂ（ｉｉ）に示すように）などのビデオゲームをプレイするために通常使用されるコントローラーと同様のものであり得る。そのような実施例では、ゲームパッド１８７またはグローブ１８９は、電気ケーブル１８８を用いてゴーグル１７３に差し込まれてもよく、あるいは、ゴーグル１７３にワイヤレス伝送（例えば、「ＷｉＦｉ」または「ブルートゥース（登録商標）」）を用いてワイヤレスに接続され得る。あるいくつかの場合においては、拡張現実ゴーグル１７３は、組込みコンピューティングデバイス、例えば、スマートフォンに見られるものと同様のプロセッサを有し得、そのような別個の接続装置は必要としないものであり得る。
【００９８】
いくつかの実施例（図示せず）では、携帯電話またはタブレットは、より人間工学的なゲームパッド（すなわち、ビデオゲームコントローラのものに類似）をユーザーに提供するために、及び/または携帯電話/タブレットのディスプレイ上のスペースを解放し、それによってゲームプレイを高めるために、制御ボタン及び/または1つ以上のジョイスティック有するドッキングステーションにドッキングされ得る。そのようなゲームコントローラーは、コンピューティングデバイスによって、またはコンピューティングデバイスと追加コンポーネントとによって提供され得る。
【００９９】
ゲームロボットの１つの構成では、ユーザーのコストを削減するために、限られた機能を有する専用リモコンでロボットを制御し得る。この構成では、リモートコントローラは、赤外線のような安価な無線通信方法を使用し、インターネットまたは無線ネットワークに接続するための手段を有しない。この構成では、ロボットがクラウドとのインターフェースとして働く。この構成は、ユーザーがスマートフォン、タブレットコンピュータ、または拡張現実ゴーグルのペアを必要としない場合の解決策を提供する。代わりに、限られた接続性または処理能力を有する手頃な価格のリモートコントローラがロボットに供給される。この場合、コンピューティングデバイスは、クラウド内に配置されたゲームサーバ（例えば、ゲームロボットソフトウェアアプリケーションを実装する）及び／またはリモートコントローラ内の組み込みコントローラーを備えることができる。
【０１００】
図２０は、ゲームロボット通信インフラストラクチャ２００のトップレベルアーキテクチャの一例を示す。無制限の数のロボット２０１が、任意の時点で使用され得る。各ロボット２０１は、接続デバイス２０２（例えば、スマートフォン、コンピュータータブレット、または一対の拡張現実ゴーグル）を使用してプレーヤーによって制御される。ロボット２０１は、ワイヤレス（例えば、ＷｉＦｉまたはブルートゥース（登録商標））データ送信２０４を介して互いに通信することができる。接続デバイス２０２はまた、ワイヤレス（例えば、ＷｉＦｉまたはブルートゥース（登録商標））データ伝送２０５を介して互いに通信することができる。各接続デバイス２０２が無線（例えば、ＷｉＦｉまたはブルートゥース（登録商標））データ接続（図示せず）を介して任意のロボット２０１に直接質問することも可能である。そのような実施例では、任意の接続デバイス２０２を使用して、ロボット情報（識別情報及び所有権情報など）にアクセスするために、任意のロボット２０１に問い合わせることができる。しかしながら、時間内の任意の与えられた瞬間において、１つの接続デバイス２０２のみが所定のロボット２０１を制御することができる。この問い合わせは、ゲームロボットのメイン処理モジュールと接続デバイス上で動作するゲームロボットソフトウェアアプリケーションとの間の通信を構造化するように構成されたゲームロボット通信プロトコルに従って行うことができる。各接続デバイス２０２はまた、アクティブなインターネット接続２０７を介してデータサーバ（例えば、クラウド）２０３に接続することもできる。前記クラウド２０３は、例えば、統計データまたはプレーヤー／ロボットプロファイルなどのいくつかのゲームロボット変数を格納している。前記クラウド２０３はまた、新しいスキル、属性、または構成要素が接続デバイス２０２を介してユーザーによって購入され得るマーケットプレイスとしても機能する。ロボット２０１が無線ネットワーク接続の範囲内にある場合、ロボットがクラウド２０３と直接通信し得る。これは、ゲームロボットがメイン処理モジュール上にＷｉＦｉインターフェースを備えている場合である。
【０１０１】
一実施例においては、無線データ伝送チャネル２０４を介してゲームロボット２０４間で位置情報を交換することが可能である。他の実施例では、これは赤外線チャネルを含むこともできる。無線データ伝送チャネル２０６、例えば、ブルートゥース（登録商標）チャネルは、ゲームロボットを識別するデータ、例えば、メイン処理モジュールを含む第１及び第２のモジュール、を交換するために使用され得、また、ゲームロボットと制御する接続デバイスとの間で制御データを送信するために使用され得る。ゲーム情報は、接続デバイス間の無線通信チャネル２０８、例えば、ローカル無線（ＷｉＦｉ）ネットワークを介して、同期させることができる。ゲーム情報は、ロボットの位置（例えば、ゲーム環境のための座標系における）及び戦闘データ（例えば、攻撃及び防御ポイント）を含み得る。ゲーム統計、健康及び識別データは、アクティブなインターネット接続２０７を介して、クラウドを実装するデータサーバに送信され得る。あるいくつかの場合においては、ユーザーは関連するゲームロボットを所持してなくても、接続デバイスを使用してゲームに参加することができ得る。例えば、仮想世界では、ユーザーは、ゲーム環境内のロボットまたはエンティティに損傷を与えるために、「爆弾」などの武器を「投げる」ことができ得る。
【０１０２】
図２１は、ロボット２０１のシステムアーキテクチャの詳細図を示す。ロボット２０１のアーキテクチャは、ロボット２０１のメインモジュール２１１内に収容されたメイン処理モジュール（ＭＰＭとして公知である）２１０の周りを本質的に回る。メイン処理モジュールは、命令パイプラインのステージにインターロックされたステージがないマイクロプロセッサー（ＭＩＰＳ）を使用する縮小命令セットコンピュータ（ＲＩＳＣ）を有し得る。それは、多数のレジスタ（例えば、３２）を含み、例えば、３２または６４ビットであり得る。メイン処理モジュールの制御ファームウェアは、Ｃ／Ｃ＋＋で記述され、適切に適合したＣコンパイラを使用してコンパイルされ得る。一実施例では、メイン処理モジュールはＰＩＣ３２ｘマイクロコントローラーを有する。他のマイクロコントローラーは他の実装で使用され得る。この例では、ロボット２０１のメインモジュール２１１内で、前記メイン処理モジュール２１０は、トラッキングライト、オーディオ及びビデオデバイス、基準センサー、有線及び無線通信ユニット、及び電源ユニットとインターフェース接続する。ロボット２０１のメインモジュール２１１の一部として、前記メイン処理モジュール２１０は、ロボット２０１の他のモジュール、特に、胴体モジュール２１２、移動モジュール２１３、シールドモジュール２１５及び武器モジュール２１４を含む二次モジュール群、及びバッテリーモジュール２１６、ともインターフェース接続する。別の実施形態では、胴体モジュール２１２の構成要素は、移動モジュール構成要素２１３内に一体化され得、例えば股関節の少なくとも１つの原動機のためのモータ制御ユニット（ＭＣＵ）は、大腿関節の複数の原動機用のモータ制御ユニット（ＭＣＵ）と共に脚モジュール内に共に配置されてもよい。各ＭＣＵは、それぞれの位置センサーが対応するジョイント原動機（またはジョイント構造）の位置を感知する位置センサーの別個のセットとインターフェースすることができる。位置センサーの例は、図３〜９に関して上述されたものである。この代替の実施形態では、検出センサーは、胴体モジュール２１２に残ってもよく、またはメインモジュール２１１に組み込まれてもよい．ＭＣＵは、移動マイクロコントローラーの一部を形成してもよい。移動マイクロコントローラーは、１６ビットマイクロコントローラを含むことができる。１つの実装例では、移動マイクロコントローラーはＰＩＣ１６ｘマイクロコントローラーを含む。
【０１０３】
ある場合においては、シールドインターフェース２１５は、移動モジュールを通過する電気的接続によって提供され得る。ある場合においては、移動モジュールのＭＣＵを実装するマイクロコントローラーはまた、その特定の移動モジュールのためのシールドインターフェース２１５を提供するように構成され得る。例えば、前記マイクロコントローラーは、取付け後の起動時にシールドモジュールを識別するデータを読み出して格納することができ、メイン処理モジュール２１０は、移動モジュールの前記マイクロコントローラーから前記データを要求し得る。別の実装においては、メイン処理モジュールは、移動モジュールを通過するメイン処理モジュールに通信可能に結合されたデータラインを介してシールドモジュールを識別するデータを読み取ることができ得る。データラインは、移動モジュールを通ってシールドメモリまたはマイクロコントローラーへの導電経路を有し得、例えば、ここにおいて、データは、ユニバーサル非同期受信機／送信機（ＵＡＲＴ）デバイスによる非同期通信を介してデータのビットとして読み取られる。データラインは、コントローラエリアネットワーク（ＣＡＮ）バスのような、ロボットのためのシステムバスの一部を形成し得る。ある場合には、シールドインターフェース２１５は、図２６ｂに示すものと同様のインターフェースを含み得る。
【０１０４】
図２２は、メイン処理モジュール２１０に見られるシステム及びこれらのシステムが実行する機能をより詳細に示している。上述したように、通信はシステムバス及び／または個々のデータ回線（例えば、直列通信のための）を介して行われる。
【０１０５】
通信システム２２０の機能は、ロボット２０１とそれに接続された環境との間のすべての有線（例えば、プログラミング中おけるＵＳＢ）と無線（例えば、ゲームを行っている間のブルートゥース（登録商標）、ＷｉＦｉ）の通信を処理することである。
【０１０６】
電力管理システム２２１の機能は、ロボット２０１に電力の一次及び二次電源の双方を供給することであり、これは、バッテリーモジュール２２６の電圧を典型的な直流９Ｖ電源からモータ電源のために直流６Ｖに、他の電子部品のために直流３．３Ｖに下げるよう調整することによって達成される。電力管理システム２２１の別の機能は、必要に応じて充電式電池の充放電を管理することである。
【０１０７】
モニタリングシステム２２２の機能は、例えば、電源バス電圧、モータ電流引込量、ロボット電力消費量、バッテリ放電率、主要構成要素の温度のうちの１つ以上を含む、ロボット２０１の健康状態を提供するように機能する。モニタリングシステム２２２は、一次及び／または二次モジュールの構成要素、例えば、移動モジュール２１３または胴体モジュール２１２、から情報を受信し得る。温度は、電流として、最大及び／または最小温度測定として提供され得る（例えば、規定された期間にわたり、または値をリセットした時から）。１または２以上の電気回路サーミスタによって測定されるような温度安全性閾値の違反もまた報告され得る。他の障害情報も、監視システム２２２に報告され得、例えば、通信またはモータードライバーのエラーの形で報告され得る。障害情報はまた、電気的処置、例えば、電流閾値の違反、を含み得る。モニタリングシステム２２２は、ジョイントの動きの測定値、例えば、マイル、キロメートル、ヤードまたはメートルでの移動した距離、を計算して記憶し得る。これは、例えば、位置センサーを使用し、回転数に基づいて移動モジュールＭＣＵから原動機毎に提供され得る。
【０１０８】
較正システム２２３の機能は、ゲームプレイ中にロボット２０１のセンサーを較正することであり、特に、トラッキングシステムの一部として使用されるコンパス、ならびに必要に応じて、加速度計、ジャイロスコープ、ＧＰＳ、または高度計（例えば、飛行ロボット用）において、較正することである。較正システム２２３は、較正ルーチンを実行し、較正測定値を提供するように、移動モジュール２１３に指示し得る。例えば、移動モジュールまたは原動機は、設定された距離を移動するように指示され得、そして移動の時間が測定され得る。移動モジュール２１３は、これらの較正ルーチンの間にデータを提供する加速度計を有し得る。較正ルーチンは、２つないしそれ以上の原動機の複合動作、例えば、脚の「持ち上げ、回転及び落とし」動作を含み得る。較正システム２２３はまた、結合された一次及び／または二次モジュールから較正情報、例えば、ジョイント位置測定の工場オフセット、を受信し得る。較正システム２２３はまた、メイン処理モジュール２１０または他のモジュール２１２−２１６のためのファームウェア更新を得るように構成されてもよい。ある場合には、メイン処理モジュール２１０は、１または２以上のモジュール２１２−２１６のファームウェア更新を、例えば、クラウドデータサーバから入手し得、そしてこれらの更新をそれらのモジュールのマイクロコントローラーに通信し得る。
【０１０９】
動作生成システム２２４の機能は、ロボット２０１を制御するのに用いられる携帯電話やゴーグル２０２から受信したハイレベルのコマンドに応答して、ロボットのジョイント（例えば、原動機の出力）にローレベルのコマンドを生成することである。これは、運動学的エンジンと、例えば、それぞれの原動機のモータコントローラ／位置センサーからフィードバックされた、位置／速度を使用して達成される。ローレベルコマンドは、ジョイント位置コマンド及び速度コマンドを含み得、例えば、ジョイントまたは原動機Ｐを速度Ｓ（または時間Ｔ）で回転位置Ｒに移動させる。動作中に、運動学的フィードバックは、例えば、ローレベルコマンドを調整する（例えば、ジョイントまたは原動機が所定の時間に所定の位置にない場合に速度を上げる）ような、制御を調整するために用いられ得る。メイン処理モジュール２１０によって供給されるローレベルコマンドは、各移動モジュール２１３のＭＣＵによってさらに処理され得る。例えば、１レベルのフィードバック調整がＭＣＵによって制定され、そしてより高いレベルのフィードバックが動作生成システム２２４によって制定される。このようにして、各運動モジュール２１３は、メイン処理モジュール２１１の制御下でローレベルの並列計算を実行し得る。位置情報は、移動モジュールＭＣＵ及びメイン処理モジュールによって較正された、ジョイントの現在の角度の形態で提供され得る。ある場合においては、所望のジョイント位置に応じて、ＭＣＵは現在の脚の位置を決定し、次に原動機にどれだけの電力を加えるべきかを決定することができる。あるいくつかの場合においは、ＭＣＵは、脚の位置を示すＭＣＵにアクセス可能なデータ（例えば、ＭＣＵのメモリに記憶されたデータ）に基づいて重力補償を適用し得る。あるいくつかの場合においては、測定された脚の位置が所望の脚の位置に近いときに、デッドバンドフィルタ[deadband filter]が脚のジッタを低減するために用いられ得る。
【０１１０】
あるいくつかの実施態様では、動作生成システム２２４の運動学的エンジンは、動的に生成された運き、例えば、「前進」、「左に移動」、「回転」などのゲームコントローラーを使用してユーザーの制御下で開始される動作を生成するのに用いられる。これらの場合、動作生成システム２２４はまた、１または２以上の動作プログラムを記憶するためのメモリを有し得る。これらの動作プログラムは、反復運動を実施するための一連の原動機動作を含む。動作プログラムは、特定の二次モジュール及び／または「スキル」に関連付けられ得る。例えば、「踏みつぶし」動作（例えば、１または２以上の脚を上げ、その後、高速で及び／または高加速度で前記脚を下げる）は、「踏みつぶし」スキルと関連付けられ得る。このスキルは、特定の二次モジュールを接続した後でのみ入手可能である。ユーザーには、「スキル」ボタンが、例えば、タッチスクリーンインターフェースまたはゲームパッド上に表示され得、そして、ボタンが押されたり作動したりすると、接続デバイスは動作生成システム２２４に「踏みつぶし」動作プログラムを起動して実行するコマンドを送る。この動作は、ユーザーが適切なボタンを押すたびに繰り返されてもよい。その他の場合においては、動作プログラムは、ゲームイベント（例えば、勝利、敗北、パワーアップ）、戦闘動作（例えば、防衛及び／又は武器発射）及び／又は物理的動作（例えば、特定の一連のボタン押下）に関連付けられ得る。
【０１１１】
ロボットトラッキングシステム２２５の機能は、特にゲームのリアリティを高める目的で、ゲームプレイ中に空間内でロボットを追跡する際に携帯電話やゴーグル２５２を支援することである。これは、ゲームロボット２０１（典型的にはメインモジュール２１１及び／または移動モジュール２１３上に設けられている）に含まれるトラッキングライトをシーケンシング／制御して、位置及び方向を計算することによって達成される。利用可能であれば、コンパス、ジャイロスコープまたは加速度計のような、オンボードセンサを使用することによって、追跡を向上することができる。
【０１１２】
検出システム２２６の機能は、ゲームプレイ中に敵手（例えば、他のゲームロボット）並びにその環境（例えば障害物）を検出することを、ロボットに可能とすることである。これは、方向を演算するための検出センサー（例えば、赤外線ＬＥＤ、及び受信機、典型的には胴体モジュール２６１）、並びに距離を演算するためのオンボードカメラロボット２０１（典型的にはメインモジュール２１１上のロボット２０１の頭部内）を用いることによって達成される。オーディオユニット（例えば、スピーカー及びマイクロフォン）はまた、特定音パターンを発する及び聞くことによって敵手を検出するために使用し得る。
【０１１３】
スマートモジュールシステム２２７の機能は、ロボットに取り付けられたシールドまたは武器モジュールの存在及び識別を検出し、ゲーム環境でのロボットの属性を更新するために、ロボット２０１を制御するのに使用される携帯電話やゴーグル２０２に情報を中継することである。スマートモジュールシステム２２７は電気的インターフェースを介して二次モジュールからのデータをこのように入手し、そして前記データを接続されたコンピューティングデバイスに転送する。ある場合においては、スマートモジュールシステム２２７は二次モジュールに組み込まれたマイクロコントローラーにデータを読む要求を送信し得、前記マイクロコントローラーは図２７に示すようにデータに応答する。あるいはまた、スマートモジュールシステム２２７はデータを移動モジュールまたはその他の一次モジュールに埋め込まれたマイクロコントローラーから要求し得、前記データは二次モジュールを装着し、そしてゲームロボットをパワーアップさせた際にこれらのマイクロコントローラーによって読まれる（例えば、データの一連の要求は、ブートルーチンの一部としての供給データチャンネルにおいてなされる。）。
【０１１４】
スマートモジュールシステム２２７の別の機能は、ゲームを行っている間に視覚効果を加えるために、シールドモジュール２１５及び武器モジュール２１４に組み込まれたライトを制御することである。
【０１１５】
スマートモジュールシステム２２７の別の機能は、また、ロボット２０１に接続された移動モジュール２１３（例えば、脚、ホイールまたはプロペラ）のタイプを識別して、動作生成システム２２４にロボットの形状（例えば、歩いている、回転している、飛んでいる）の情報を報告することである。例えば、移動モジュール２１３に組み込まれたマイクロコントローラーは、例えば、二次モジュールを識別するデータを得るのと同様な方法において、移動モジュールを識別するデータを収納するデータを収納するメモリを有し得る。
【０１１６】
図２３は、接続デバイス２０２のシステムアーキテクチャの詳細図を示す。接続デバイス２０２のアーキテクチャは、接続デバイス（例えば、携帯電話、タブレットまたは拡張現実ゴーグル）のコア処理ユニット２３０（ＣＰＵとして公知）の周りを本質的に回る。ＣＰＵ２３０は、接続デバイスサービス、すなわち、ゲームロボットアプリケーションを実装している。接続デバイス２０２は、ロボット２０１とのユーザーインターフェースとして機能するディスプレイ画面２３１を備えている。ユーザーがロボット２０１を制御できるようにゲームコントローラー２３４も必要とされる。無線通信インターフェース２３３(例えば、ＷｉＦｉまたはブルートゥース（登録商標））が、ロボット２０１を無線で制御するために用いられる。拡張現実が有効にされている場合、任意選択のビデオカメラ２３２が提供され得る。ゲームコントローラー２３４は、ロボット２０１を制御するために使用される接続デバイス２０２のタイプに応じて、いくつかの形態のいずれかを採択し得る。接続デバイス２０２として携帯電話１７４を用いる場合、図１７及び図１８ａに図示すように、携帯電話１７４の親指で操作される触知可能な画面１８５が用いられ得、仮想（画面上）ゲームパッドで本質的に構成され得る。ユーザーの体験を向上させるために、図１９ａ〜ｂにさらに図示したように、ドッキングステーション１９０が、携帯電話１９１あるいはタブレット１９４をドッキングするために使用され得、物理的なゲームパッドをユーザーに提供し得る。
【０１１７】
このようなドッキングステーション１９０の利点の１つは、拡張現実が実装されている場合は特に、ゲーム体験を向上させるために、電話１９０やタブレット１９４のディスプレイ１８５上のスペースを解放することである。もし、電話１９０やタブレット１９４の代わりに、拡張現実ゴーグル１７３が用いられた場合、ゲームパッド１８７または接続されたグローブ１８９のいずれかが、ゲームコントローラー２３４として使用され得る。電話１７４の触知可能な画面１８５もまた使用され得、例えば、これは親指操作され、そしてゲームパッド１８７または接続されたグローブ１８９に代えて、あるいはこれと一緒に用いられ得る。
【０１１８】
図２４は、接続デバイスサービス２８０及びこれらのサービスが実行する機能をさらに詳細に示している。
【０１１９】
ロボットトラッキングシステム２４０の機能は、ロボット２０１によって提供されるトラッキングデータに基づいて、ロボット２０１の位置、向き、スケール及び姿勢をゲーム中に組み込むこと、そして接続デバイス２０２（電話／タブレット／ゴーグル）のディスプレイ上にゲームプレイの間拡張現実にこの情報を使用することである。これは、追加のキャラクターや障害物、ならびに、炎、レーザービームや爆発などの特殊効果の形態をとることができる。
【０１２０】
ロボット制御システム２４１の機能は、ロボット２０１にゲームコントローラー２３４を介してユーザーによって入力されたハイレベルのコマンドを無線で送信することである。ある場合には、ロボット制御システム２４１は、同次変換行列を計算するように構成され得る。この行列は、アフィン変換をもたらし得る。同次変換行列内の値は、ハイレベルのコマンド、例えばｔ秒の所与の時間内に実行されるべきもの、としてゲームロボットに伝達され得る。ある場合には、ゲームロボットの動きは、二次元空間で決定され得るので、二次元（フロア）平面内で行われると仮定することができる。この次元空間は、ゲームロボットソフトウェアアプリケーションにおいて明示的に視覚化されなくてもよく、例えば、物理的空間を拡張現実表示用のフレームワーク（例えばビデオフィードの上にオーバーレイされる仮想的特徴）としてモデル化してもよい。フロア平面を表す二次元空間における、ゲームロボットの現在の回転角度θ（例えば、ロボットの「前方」向き）と、ロボットの現在のｘ及びｙ座標（例えば、中心点）とが与えられると、重み付けされた同次変換行列は、次のものとして計算される：
【数１】
2018534953.tif 000003
（式中ｖtは次のものとして計算される並進速度である。）
【数２】
2018534953.tif 000004
（式中、ｖlastはゲームロボットの以前のまたは最後の速度、例えば、ゲームロボットが変換操作を実行するt秒の固定間隔の開始時の速度であり、Ｓvはゲーム−メカニック特徴を表す正規化された速度スケーリングファクターであり、ａは一定の並進加速度である。）。
一定の並進加速度aは、以下として計算される：
【数３】
2018534953.tif 000005
（式中ｍはゲームロボットの正規化された質量であり、そしてＳaはゲーム−メカニック特徴を表す正規化された加速スケーリンスケーリングファクターである。）。
質量は、ロボットの最大運搬質量に対して正規化される。ゲームロボット用の角速度（すなわち回転速度）ωtは、同様の方法で、例えば次のように計算される：
【数４】
2018534953.tif 000006
（式中、ωlastはゲームロボットの以前のまたは最後の角速度、例えば、ゲームロボットが変換操作を実行するt秒の固定間隔の開始時の角速度であり、Ｓωはゲーム−メカニック特徴を表す正規化された角速度スケーリングファクターであり、αは一定の角加速度（すなわち、回転加速度）である。）。
一定の角加速度αは、以下として計算される：
【数５】
2018534953.tif 000007
（式中ｍはゲームロボットの正規化された質量であり、そしてＳαはゲーム−メカニック特徴を表す正規化された角加速スケーリンスケーリングファクターである。）。
これらの方程式を用いて、ロボットの属性は、ゲームロボットの正規化された質量ｍを変更するために、または１つもしくはそれ以上のスケーリングファクターＳv、Ｓa、Ｓα、Ｓωを変更することによって、使用され得る。例えば、データ識別モジュールがモジュールメモリから検索されるスタートアップルーチン中に決定されるようなゲームロボットの現在の構成は、正規化された質量または１つもしくそれ以上のスケーリングファクターのいずれかを計算するために使用され、これらの変動値は次いでゲームロボットソフトウェアアプリケーションによってハイレベルコマンドを計算するために使用される。これは、以下で説明するスマートモジュールシステム２４３によって実行され得る。あるいくつかの場合おいては、仮想アイテム及び／または他のゲーム効果は、１または２以上の正規化された質量及び１または２以上のスケーリングファクターを修正し得る、例えば、これらの値をさらに調整または変更することがあります。
【０１２１】
ロボットモニタリングシステム２４２は、ロボット２０１の健康／状態に関するデータを収集し、図１８ａに示すような基本状態情報でユーザーインターフェース１８０においてロボット状態１８３を更新するために機能する。より包括的な健康／状態データも、保存及び分析のためにクラウド２０３にアップロードされる。
【０１２２】
スマートモジュールシステム２４３は、ロボット２０１に取り付けられたモジュール（例えば、武器、シールド、スクリーン、移動モジュールのタイプ）の状態を収集するように機能する。前記スマートモジュールシステム２４３は、ロボット２０１の属性を変更することによってゲームプレイをそれに応じて更新する戦闘システム２４５に入力を提供する。
【０１２３】
仮想アイテムシステム２４４は、ユーザーが所有する仮想アイテム（例えば、冷却薬、癒し薬、ダメージブースターまたはスピードブースター）の状態を収集するように機能する。仮想アイテムシステム２４４は戦闘システム２４５に入力を提供する。物理的なスマートモジュール（例えばシールドや武器）とは異なり、仮想アイテムは、非物理的であり、ロボットにより「検出」することはできない。その代わりに、仮想アイテムは、クラウド２０３中に及び接続デバイス２０２上に収納されたプレーヤー／ロボットプロファイルに対して格納される。仮想アイテムは、クラウド２０３内でマーケットプレイスからオンラインで購入することができる。
【０１２４】
戦闘システム２４５は、ロボット２０１の他のシステムからのデータに基づいて戦闘の結果を演算するように機能する。戦闘の結果は、例えば、ロボットトラッキングシステム２４０からのデータ、スキルシステム２４６からのデータ、並びにスマートモジュールシステム２４３からのデータに基づいて演算される。例えば、「重い」シールドが装備されていることが検出された場合には、戦闘システム２４５は、ロボット２０１を攻撃に対してより反発性であり損傷に対してより耐性であるようにするであろうが、戦闘システム２４５はまた「重い」シールドの嵩と重さを反映して、遅いロボット２０１の動きとするであろう。
【０１２５】
スキルシステム２４６は、時間をかけてプレーヤー／ロボットに利用可能になるスキルを管理するよう機能する。スキル（また、役得としても知られている）はプレーヤー／ロボットが、彼または彼女がゲームを通して進行した（レベルアップとしても知られている）際に、プレーヤー／ロボットによって獲得することができる。これらのスキルは、プレーヤーにゲームプレイの利点を付与することができる。たとえば、新しいスキルはプレーヤー／ロボットに新しいアクションを実行する能力を与える可能性があり、またはプレーヤー／ロボットの属性のいずれかにブーストを与え得る。スキルは、戦闘システム２４５に対する入力であり、そして戦闘の結果を演算することを援助する。例えば、ゲームロボットが特定のレベルに達する（例えば、ロボットプロファイルに格納され、戦闘勝利数などに基づいて計算された際）、新しい動作プログラムが利用可能になることがある。これらは、「シグネチャー[signature]］動作であってもよく、例えば、戦闘に勝利したとき、または特定の武器が発射されたときに作動されます。例えば、あるレベルでは、ゲームロボットは特定の武器攻撃の回避を可能にする「アヒル」動作を解除することができる。これは、前記レベルがロック解除されたときにメイン処理モジュールによってダウンロードされる、関連する動作プログラムを有することができる。したがって、ゲームロボットが使用されると、その物理的挙動が進化する。
【０１２６】
ある場合には、仮想ゲーム環境内のイベントもまた、ゲームロボットの物理的な動きに影響を及し得る。例えば、損傷は、装着した二次モジュールと同様の方法でロボット属性を変更することによって、ゲームロボットの速度を低下させ得る。損傷は、特定の動作プログラムを作動させ得、例えば、一連の動きは、脚の動きの範囲及び速度を減少させることによって損傷した脚モジュールをシミュレートすることができる。同様に、パワーアップのような、ゲーム環境で集められたアイテムは、動きの速度を増加させるか、または新しい動作のロックを解除することができる。ゲーム環境内の仮想オブジェクトは、ゲームロボットの物理的な動きにも影響を与える可能性がある。例えば、床面上に配置された立方体のような仮想壁または物体は、ロボットを取り囲む空間内の実際の物理的物体としてゲームロボットによって解釈され、物理空間内の仮想物体の周りをナビゲートする。これは、ゲームロボットソフトウェアアプリケーション内で、追跡されたゲームロボットの周りの仮想境界体積を計算することによって実施することができる。これは、次いで、仮想シーンとの交点群をテストするために使用され、例えば、ゲームロボットの動き、及び仮想ゲーム環境におけるゲームロボットの範囲を表す境界体積と、存在する任意の仮想オブジェクトとの交差を回避するように計算される。ユーザーの視点からすると、拡張現実世界で仮想物体まで歩いていくと、ゲームロボットは物理世界の現実物体に対して歩行するのと同様に振る舞う。
【０１２７】
図２５は、クラウド２０３とその特定の機能のアーキテクチャ２５０を示している。ロボットデータベース２５１の機能は、それぞれ及びすべてのロボット２０１に関連するデータ、特に、それぞれ及びすべてのロボットに関する、利用可能な、スキル、スマートモジュール、仮想アイテム及びゲームの統計情報に関連するデータを格納することである。ロボットデータベース２５１のデータは、ゲーム分析の一部として使用され、そしてデータのいくつかは、他のユーザー及びコミュニティ２５７のメンバーによってアクセスされ得る。ロボットデータベースの重要な観点は、例えば、各ロボットの正当性を検証し、偽造から保護するだけでなく、顧客サポート、保証クレームまたは製品リコールを援助するために、各ロボット２０１及び各ロボットスマートモジュール（例えば移動モジュール２１３、胴体モジュール２１２、武器二次モジュール２１４、シールド２１５）の固有の識別子を収集することである。
【０１２８】
ユーザーデータベース２５２の機能は、例えば、ユーザーの状況及びプロフィール、使用統計及びロボットの所有権（例えば、このユーザーが複数のロボットを所有している場合）といった、それぞれ及びすべてのユーザー１７０に関連するデータを格納することである。前記ユーザーデータベース２５２のデータは、ゲーム分析の一部として使用され、そしてデータのいくつかは、他のユーザー及び前記コミュニティのメンバーによってアクセスされ得る。
【０１２９】
スキルエンジン２５３の機能は、すべての利用可能なスキル（また、役得としても知られる）をプールし、そしてロボットデータベース２５１及びユーザーデータベース２５２から利用可能なデータに基づいて、ユーザー／ロボットへのスキルの割り当て／許可を管理することである。スキルはユーザーが彼または彼女はゲーム通して進行するにつれて、獲得され得る。
【０１３０】
ゲーム分析エンジン２５４の機能は、例えば、ロボットデータベース２５１及びユーザーデータベース２５２を介して収集されたすべてのデータを、分析及びゲームプレイとユーザー経験を改善するために利用することである。ゲーム分析エンジン２５４によって使用される測定基準（メトリクス）の例は、プレイ時間と頻度、好みの武器、最も効果的なシールド、成功率、ゲームの進行度、人口統計であり得る。これらの測定基準は、パターンを識別し、全体としてのゲームプレイとユーザー体験を向上させるために使用することができるだけでなく、データベース２５１及び２５２に格納された個々のデータを解析することにより、それぞれ及びすべてのユーザーに提供されるコンテンツを調整するために使用することができる。
【０１３１】
あるいくつかの例では、ゲーム分析エンジン２５４は、この分析に基づいてゲームプレイデータを分析し、ロボット属性を変更することができる。例えば、ゲームロボットの仮想老齢化を行うために属性を調整することができる。これは、「重い」二次モジュールの効果と同様に、より遅いロボットの動きに顕在化し得る。例えば、ゲームロボットがＭマイル歩いたまたはＢ戦闘を完了したと判断され得、ロボットプロファイルに記憶されたロボット属性は、これらのメトリックに比例して修正され得、例えば、質量を増やすかまたはゲーム内の倍率を減少させることによって達成される。ある場合においては、原動機の性能は使用に伴って自然に低下することがあり、この場合、ロボットの属性の変更とは無関係に、物理的な移動速度も減少する可能性がある。しかし、しばしば損傷させそして原動機の寿命を延長するために、物理的なロボットの速度は、物理的な劣化を通して生じるよりも多くの量によって減少され得る。例えば、原動機の速度半減させることによって、交換前に遊び得る戦闘の数を拡大することができる。同様に、新たに交換されたモジュール、例えば、脚モジュールは、若返り効果を示すために、ロボットの属性によって設定されるように、（新しいモータによって自然に提供されるものを超えて）高められた速度を有することができる。
【０１３２】
ゲーム分析エンジン２５４はまた、例えば、ロボットプロファイル内に記憶された受信された健全性データ及び障害データに基づいて、ある特定のモジュールを交換する必要があることを示し得る。このデータはまた修復を容易にすることができ、例えば、モジュールは、モジュールの識別子を読み取ることができる修理工場に持って行くことができる。識別子を使用して、部品に関してロボットプロファイルを取り出し得る。障害及び健康情報を分析することによって、部品での不具合は何で、適切な修理作業が指示されたかについて診断することができる（例えば、モータドライバエラーは、故障したマイクロコントローラーまたはファームウェアを示す可能性があるが、一方で高い最高温度は、プリント回路基板上の動作不良の電子構成要素を示す可能性がある。）。ある場合には、予測分析は、複数のゲームロボットの分析に基づいて適用され得る。例えば、制御データのある特定のパターンは、既知の問題を示すことがある。次いで、ユーザーは、事前に通知され得る、あるいは交換モジュールが出荷され得る。
【０１３３】
外部実体インターフェース２５６の機能は、ユーザーに、許可を受けたコンテンツプロバイダーへのアクセスを許可し、そして、例えば、新しいゲームを購入すること、または正規小売店へのアクセスを許可し、追加のスマートモジュールを購入することを可能とすることである。外部実体インターフェース２５６はまた、ゲームプレイ中に許可を受けた広告を許容したり、外部のパートナーとデータを交換／販売するために使用される。
【０１３４】
コミュニティインターフェース２５７の機能は、ユーザー／プレーヤーに、フォーラムやソーシャルメディアを通じて情報を交換する、ロボット／ユーザープロフィールを共有する、トーナメントなどのようなイベントを運営／組織することを許容することである。
【０１３５】
図２６ａ及び２６ｂは実施例の一次及び二次モジュール間の電気的接続を概略的に示している。
【０１３６】
図２６ａは、移動モジュール２１３に電気的に結合されたメイン処理モジュール２１０を示す。移動モジュール２１３は上述したような脚モジュールを有し得る。接続は、４つのそれぞれの別個の脚モジュールを制御するように４回複製され得る。接続は、メイン−脚モジュールインターフェースの一部を形成し得る。図２６において、脚モジュールは、上述したように大腿部原動機及び股関節原動機を含む。その他の場合において、脚モジュールは、前記大腿部原動機群を含むが前記股関節原動機を含まないものであり得る。図２６ａは、１０個の別々の電気的接続２６０、すなわち、ＰＭ１  −  第１原動機制御信号のための接続；ＰＭ２−第２原動機制御信号のための接続；ＰＯＴ  −  位置フィードバック信号のための接続；３Ｖ３  −  ３．３Ｖの直流電源供給；ＧＮＤ−Ｓ  −  ３．３Ｖ供給のためのグラウンドチャネル；ＳＥＮ  −  脚モジュールの存在を示す検知チャネルのための接続；６Ｖ  −  ６Ｖの直流電源供給；ＧＮＤ−Ｐ  −  ６Ｖ供給のためのグラウンドチャネル；ＤＡＴＡ  −  連続データ通信チャネルのための接続、を示す。ＰＭ１またはＰＭ２のうちの一方は、股関節回転（例えば軸１６回りの回転）のためのモータを制御するためにＰＷＭ信号を運ぶことができ、そしてＰＭ１またはＰＭ２のうちの他方は、大腿部回転（例えば、軸１５回りの回転）のためのモータを制御するためにＰＷＭ信号、または足回転（例えば、軸１４回りの回転）のためのモータを制御するためにＰＷＭ信号を搬送してもよく、ここで後者の場合は２つのモータ信号は１つの共通の線を共用し得る。あるいくつかの場合には、これらの信号は原動機を直接制御することができる。他の場合には、信号群のうちの１または２以上が、股関節または大腿ＭＣＵのための制御データを含むことができ、このＭＣＵは、前記制御データからＰＷＭ信号を計算する。ＰＯＴ接続は、脚モジュール上の各位置センサーからの位置データを運ぶことができる（例えば、連続的な供給）。あるいは、三つの別個のチャネルが他の実施例において提供されてもよい。３Ｖ３及び６Ｖ接続、及び対応するＧＮＤリターン接続を使用して、原動機及び１またはそれ以上の能動的電子部品（例えば、二次モジュール上のモータ群またはＬＥＤ群）に電力を供給するために用いられ得る。ＳＥＮ接続は、脚モジュール２１３の存在を検出するためにメイン処理モジュール２１０によって使用され得る。単純な場合では、ＳＥＮ接続は、単に３Ｖ３電源の帰線[return]であってもよい。したがって、移動モジュール２１３が何も取り付けられていないときには、この接続部に電圧はないが、移動モジュール２１３が取り付けられると、ＳＥＮ接続部は３Ｖ３（またはそれ以下）の電圧まで上昇する。前記ＤＡＴＡチャネルは、移動モジュール群を識別するデータ及び任意に取り付けられる二次モジュール群を識別するデータを取得するために使用され得る。他のコマンド及び要求を移動モジュール２１３の制御ロジックに送るために使用することも可能である。前記ＤＡＴＡチャネルは、ＵＡＲＴまたはその他のシリアルデータチャネルであり得る。ＤＡＴＡチャネルはまた、一次及び二次モジュールマイクロコントローラー（またはプロセッサ）の間、例えば��メイン処理モジュールのプロセッサと、移動モジュール及び二次モジュールの少なくとも１つにおけるマイクロコントローラーとの間、でデータを通信し得る。ＤＡＴＡチャネルは、さらに、ファームウェアのアップグレードにも使用し得る。
【０１３７】
図２６ｂは、一次モジュール２６３と二次モジュール２６４との間の例示的な電気的インターフェース２６２を示している。この電気的インターフェース２６２は、図１６に示すようにピン１６４とソケット１６５を接続することによって提供され得る、またはシールドインターフェース１００３及び１００４、１００６及び１００８、または１１０３及び１１０４によって提供され得る。少なくとも３つの接続、すなわち電源を搬送する第１のチャネルＰＷＲ；グランド信号用の第２のチャネルＧＮＤ；及びデータ交換のための第３のチャネルＤＡＴＡが提供される。移動モジュールに結合された二次モジュール、例えば、図１０ａ〜ｂ及び１１のシールドに関しては、接続２６２は、それぞれ２６０の６Ｖ、ＧＮＤ−Ｐ及びＤＡＴＡ接続に電気的に結合され得る。このことは、メイン処理モジュール２６３に、前記モジュールのメモリから二次モジュール２６４を識別するデータを読むことあるいは別の方法で入手することを許容する。
【０１３８】
図２７は、２６０または２６２のＤＡＴＡ接続を介して通信され得るデータパケットフォーマット２７１及び一実施例のデータ２７３、２７４の概略図を示す。
【０１３９】
図２７に示すデータパケットフォーマット２７１は、識別子（ＩＤ）２７０１、タイプ文字列（ＴＹＰＥ）２７０２、及びフィーチャリスト（ＦＥＡＴＵＲＥＬＩＳＴ）２７０３を含んでいる。フィーチャリスト２７０３は、０個ないしそれ以上の項目を有するデータ構造を含むものであり；図２７では、第１のアイテム（ＩＴＥＭ１）２７０４から第ｎのアイテム（ＩＴＥＭｎ）２７０５が示されているが、前記リストはいかなるアイテムも必要としない（この場合、リストは空であり得る）。データ２７０１〜２７０３のそれぞれは、固定長（例えば固定ビット数）であってもよいし、スタートビット配列とストップビット配列によってマークされた可変長データ構造であってもよい。データパケットフォーマット２７１は、一次モジュールまたは二次モジュールを識別するデータを通信するために使用され得る。識別子２７０１は、二次モジュールのための世界中で唯一の識別子であり得る。タイプ文字列２７０２は、モジュールを制御するために対応する制御ルーチンを検索するためにモジュールタイプを決定するためにメイン処理モジュールによって使用され得る。いくつかの場合においては、タイプ文字列２７０２を省略することができ、例えば、識別子２７０１を使用するメイン処理モジュールによるルックアップ操作に基づいて制御情報を代替的に取り出し得る。
【０１４０】
実施例データ２７３は、データパケット形式２７１に準拠している。「１２３４５」の識別子２７０１の値が設定されている。前記識別子は、整数として、１６、３２または６４ビットの配列であり得る。他の実施形態では、識別子は、暗号化された値または暗号機能の結果を表す２５６、５１２またはそれ以上のビットの配列を含み得る。タイプ文字列２７０２は、例えば「重い」シールドまたは武器の二次モジュールを示す、「ＨＶＹ」２７１２の文字列値であり得る。フィーチャリストの一実施例データ２７３は、二次モジュールが赤色ＬＥＤを含み、このＬＥＤの制御値が第一データ項目として提供されるべきことを示す文字列値「ＬＥＤＲ」２７１４；二次モジュールが青色ＬＥＤを含み、このＬＥＤの制御値が第二データ項目として提供されるべきであることを示す文字列値「ＬＥＤＢ」２７１５；及び二次モジュールがモータを有し、このモータの制御値が第三データ項目として提供されるべきであることを示す文字列値［ＭＯＴＯＲ１」２７１６の３つの項目を含んでいる。
【０１４１】
実施例データ２７３は、取り付けられた二次モジュールのメモリからメイン処理モジュールによって読み取られ得る、あるいは前記メモリからの前記データを予め読み取っていた移動モジュール内に収納されたマイクロコントローラーへの要求に応答して得られうる。同様のデータが脱離可能な一次モジュール、例えば、相互交換可能な脚またはメインモジュールなど、を識別するために、用いられ得る。メイン処理モジュール２１０は、ゲームロボットの属性を設定するように、結合されたコンピューティングデバイスにこのデータを送信し得る。コンピューティングデバイスが接続されていない場合、メイン処理モジュール２１０は、後の送信のために、このデータをキャッシュし得る。例えば、ゲームロボットの仮想質量は、「ＨＶＹ」タイプ２７１２に基づいて、または識別子２７１１を使用してのルックアップに基づいて設定され得る（例えば、タイプは識別子中に暗黙のものとされ得る。）
【０１４２】
実施例データ２７４は、フィーチャリスト２７０３に設定された能動的電子部品を制御するために、データパケットとして、メイン処理モジュール２１０から二次モジュールに送信され得る。この場合、実施例データは、二次モジュールのマイクロコントローラーによって逐次受信される３つの８ビットデータ値を有している（前記値は「３５」、「１２８」及び「１２」である）。値「３５」は、項目２７１４によって識別される赤色ＬＥＤのレベルを制御し、値「１２８」は、項目２７１５によって識別される青色ＬＥＤのレベルを制御し、そして、値「１２」は、項目２７１６によって識別されるモータの位置または速度を制御する。
【０１４３】
取り付けられた二次シールドモデルを有する新しい移動モジュールが胴体モジュールに取り付けられた場合、次のシーケンスが行われ得る。まず第一に、移動モジュールは、ＳＥＮチャネルの電圧に基づいて、メイン処理モジュールによって検出され得る。次いで、メイン処理モジュールは、新しく取付けられた移動モジュールの識別子を取得し得る。次いで、メイン処理モジュールは、移動マイクロコントローラー内の任意の制御変数を、例えば、メイン処理モジュールに記憶されている現在の構成に基づいて、設定し得る。取り付けられた移動モジュールの現在位置が、例えば、ＰＯＴチャネルを経由して、測定され得、そしてメイン処理モジュール内の位置データを設定するために使用される。このシーケンスと同時に、またはこのシーケンスに続いて、二次モジュールを識別するデータがメイン処理モジュールによって取得され得る。取り付けられたすべての一次モジュール及び二次モジュールの識別子群を含んで、ゲームロボットの現在の構成は、次に、（通信可能に結合されたとき）接続デバイスに送信され得る。（データサーバに通信可能に結合された）接続デバイスは、取り付けられたコンポーネントが真正であることをチェックするために識別子を検証し、そして、現在のゲームロボットに関するロボットプロファイル内の部品の詳細をロボットデータベースに格納する。健全性及び較正データは、また、メイン処理モジュールからデータサーバに送信され得、ロボットプロファイルに格納し得る。次いで、ゲームロボットは、（例えば、データサーバから接続デバイスへの応答を介して）起動され、接続デバイス上のゲームロボットソフトウェアアプリケーションを介して制御される準備がなされ得、例えば、シミュレートされた戦闘に参加する準備がなされ得る。ゲームロボットの起動は、二次モジュールの存在によって可能にされる任意の動作プログラム（例えば、武器の発射または動き「アニメーション」）が、もしゲームロボットソフトウェアアプリケーションのための制御データの一部として未だ格納されていない場合、前記動作プログラムをメイン処理モジュールにダウンロードすることを含み得る。前記データは接続デバイスから転送されてもよく、この場合、代わって接続デバイスが前記動作プログラムをデータサーバからダウンロードし得る。一実施形態においては、ゲームロボットは、最大３０の動作プログラムを格納することができる（しかしながら、メイン処理モジュールメモリのサイズに応じてより多くのプログラムを格納することもできる。）。ゲームロボットとゲームロボットソフトウェアアプリケーションとの間のデータ交換は、ゲームロボットがスイッチオンされ、アプリケーションが接続デバイスにロードされたときに、バックグラウンドで行われる。受信された健康及び較正データの（接続デバイスまたはデータサーバのいずれかによる）分析によって重大な障害が検出された場合、ユーザーは、ゲームロボットソフトウェアアプリケーションを介して（例えば、ユーザーインターフェース１８０上のメッセージ）通知され得、そしてゲームロボットの操作が禁止され得る。
【０１４４】
図２８ａ及び図２８ｂは、ゲームロボット２８０の単純なバージョンを図示している。この実施例においては、接続デバイス２８１は、限られた機能のみを有し、従ってコストが低減された、専用のリモートコントローラからなる。この実施形態では、接続デバイス２８１は、マルチコントロールボタン２８４及び１または２以上のジョイスティック２８５を装備する手頃な非触知ディスプレイ２８６を有している。接続デバイス２８１はコストを限られたものとするために最小限の処理パワーと最小限の接続性を有している。接続デバイス２８１の無線通信システムは、より高価な高周波技術（例えば、ＷｉＦｉまたはブルートゥース（登録商標））に代えて、ロボット２０２を制御するために、潜在的に安価な赤外線技術（例えば、ＩＲ）に依存し得る。ゲームロボット２８０のこの特定の実施例において、クラウド２０３との処理及び無線通信２８３はロボット２０２によって直接に取り扱われる。多人数プレーヤーでのゲームの間、接続デバイス２８１群はお互いに通信することができず、そしてプレーヤー／ロボット間の相互接続は、ロボット２０２によって取り扱われるであろう。
【０１４５】
上記実施形態群は、本発明の例示的な実施例群として理解されるべきである。本発明のさらなる実施形態群が想定される。任意の一実施形態に関連して説明した任意の特徴は、単独で、または記載された他の特徴と組み合わせて、使用され得ることが理解されるべきであり、また、前記任意の特徴が、任意のその他の実施形態の一つまたはそれ以上の特徴との組合せにおいて、または任意のその他の実施形態の任意の組合せにおいて、使用され得ることが理解されるべきである。さらにまた、上述していない均等物及び変更が、また、添付の特許請求の範囲で定義される本発明の範囲から逸脱することなく採用され得る。
【図１】
2018534953.tif 000008
【図２】
2018534953.tif 000009
【図３ａ】
2018534953.tif 000010
【図３ｂ】
2018534953.tif 000011
【図３ｃ】
2018534953.tif 000012
【図４ａ】
2018534953.tif 000013
【図４ｂ】
2018534953.tif 000014
【図５】
2018534953.tif 000015
【図６】
2018534953.tif 000016
【図７ａ】
2018534953.tif 000017
【図７ｂ】
2018534953.tif 000018
【図７ｃ】
2018534953.tif 000019
【図８】
2018534953.tif 000020
【図９】
2018534953.tif 000021
【図１０ａ】
2018534953.tif 000022
【図１０ｂ】
2018534953.tif 000023
【図１１】
2018534953.tif 000024
【図１２ａ】
2018534953.tif 000025
【図１２ｂ】
2018534953.tif 000026
【図１３】
2018534953.tif 000027
【図１４ａ】
2018534953.tif 000028
【図１４ｂ】
2018534953.tif 000029
【図１５ａ】
2018534953.tif 000030
【図１５ｂ】
2018534953.tif 000031
【図１６】
2018534953.tif 000032
【図１７】
2018534953.tif 000033
【図１８ａ】
2018534953.tif 000034
【図１８ｂ】
2018534953.tif 000035
【図１９ａ】
2018534953.tif 000036
【図１９ｂ】
2018534953.tif 000037
【図２０】
2018534953.tif 000038
【図２１】
2018534953.tif 000039
【図２２】
2018534953.tif 000040
【図２３】
2018534953.tif 000041
【図２４】
2018534953.tif 000042
【図２５】
2018534953.tif 000043
【図２６ａ】
2018534953.tif 000044
【図２６ｂ】
2018534953.tif 000045
【図２７】
2018534953.tif 000046
【図２８ａ】
2018534953.tif 000047
【図２８ｂ】
2018534953.tif 000048
【国際調査報告】
2018534953.tif 000049
2018534953.tif 000050
2018534953.tif 000051