(57)【要約】【課題】振動を用いた移動の多様性を向上させることができる装置移動システム、装置、装置移動制御方法、装置移動制御プログラム、および厚紙部材を提供する。【解決手段】第１接地部は、装置が接地する部位の少なくとも１つであって、少なくとも第１振動部が振動することに応じて振動する。第２接地部は、装置が接地する部位の少なくとも１つであって、少なくとも第２振動部が振動することに応じて振動する。そして、第１振動部の振動を制御するための第１制御信号および第２振動部の振動を制御するための第２制御信号を生成することにより、装置は、所定の面上に載置された状態において、当該所定の面と接地する第１接地部の振動および／または第２接地部の振動によって当該所定の面上を移動する。【選択図】図８
2019005468.tif 000002
【特許請求の範囲】
【請求項１】
装置の移動を制御する装置移動システムであって、
前記装置は、
第１振動部と、
前記第１振動部から所定距離離れて配置される第２振動部と、
前記装置が接地する部位の少なくとも１つであって、少なくとも前記第１振動部が振動することに応じて振動する第１接地部と、
前記装置が接地する部位の少なくとも１つであって、少なくとも前記第２振動部が振動することに応じて振動する第２接地部とを備え、
前記装置移動システムは、前記第１振動部の振動を制御するための第１制御信号および前記第２振動部の振動を制御するための第２制御信号を生成する制御信号生成手段を含み、
前記装置は、所定の面上に載置された状態において、当該所定の面と接地する前記第１接地部の振動および／または前記第２接地部の振動によって当該所定の面上を移動する、装置移動システム。
【請求項２】
前記第１振動部は、前記装置の移動方向に対して当該装置の左側に設けられ、
前記第２振動部は、前記装置の移動方向に対して当該装置の右側に設けられる、請求項１に記載の装置移動システム。
【請求項３】
前記第１接地部は、前記装置の移動方向に対して当該装置の左側に設けられ、
前記第２接地部は、前記装置の移動方向に対して当該装置の右側に設けられる、請求項１または２に記載の装置移動システム。
【請求項４】
前記第１接地部は、前記第２振動部による振動より前記第１振動部による振動によってより強く振動し、
前記第２接地部は、前記第１振動部による振動より前記第２振動部による振動によってより強く振動する、請求項１乃至３の何れか１つに記載の装置移動システム。
【請求項５】
前記装置は、
本体部と、
前記第１振動部を有する第１筐体と、
前記第２振動部を有する第２筐体とを、さらに備え、
前記本体部は、
前記第１筐体と着脱可能に係合するための第１係合部と、
前記第２筐体と着脱可能に係合するための第２係合部とを含む、請求項１乃至４の何れか１つに記載の装置移動システム。
【請求項６】
前記第１係合部は、前記第１筐体の少なくとも一部と嵌合可能な第１嵌合部を含み、
前記第２係合部は、前記第２筐体の少なくとも一部と嵌合可能な第２嵌合部を含む、請求項５に記載の装置移動システム。
【請求項７】
前記第１嵌合部は、前記第１筐体内において前記第１振動部が設置されている箇所近傍となる当該第１筐体の一部と少なくとも嵌合可能に形成され、
前記第２嵌合部は、前記第２筐体内において前記第２振動部が設置されている箇所近傍となる当該第２筐体の一部と少なくとも嵌合可能に形成される、請求項６に記載の装置移動システム。
【請求項８】
前記装置移動システムは、前記装置とは別体であって、前記制御信号生成手段を有する制御装置を、さらに備え、
前記制御装置は、前記制御信号生成手段によって生成された前記第１制御信号および前記第２制御信号を、前記装置に送信する送信部を、さらに備える、請求項１乃至７の何れか１つに記載の装置移動システム。
【請求項９】
前記制御装置は、ユーザによって操作が可能な操作部を、さらに備え、
前記制御信号生成手段は、前記操作部に対する操作に基づいて、前記第１制御信号および前記第２制御信号を生成する、請求項８に記載の装置移動システム。
【請求項１０】
前記制御信号生成手段は、ユーザ操作内容に基づいて、前記第１振動部および／または前記第２振動部が振動する周波数を設定して前記第１制御信号および／または前記第２制御信号を生成する、請求項１乃至９の何れか１つに記載の装置移動システム。
【請求項１１】
前記装置は、当該装置の周辺を撮像するための撮像部を、さらに備え、
前記制御信号生成手段は、前記撮像部によって撮像された撮像画像に基づいて、前記第１制御信号および前記第２制御信号を生成する、請求項１乃至１０の何れか１つに記載の装置移動システム。
【請求項１２】
前記第１接地部は、前記装置が接地する部位を少なくとも３箇所有し、
前記第２接地部は、前記装置が接地する部位を少なくとも３箇所有する、請求項１乃至１１の何れか１つに記載の装置移動システム。
【請求項１３】
前記装置の姿勢を検知する姿勢検知手段と、
前記姿勢検知手段による検知結果に基づいて、前記装置が移動する状況を推定する移動状況推定手段とを、さらに備える、請求項１乃至１２の何れか１つに記載の装置移動システム。
【請求項１４】
前記本体部は、少なくとも１枚の厚紙を折り曲げることによって形成可能に構成される、請求項５乃至７の何れか１つに記載の装置移動システム。
【請求項１５】
第１制御信号に応じて振動する第１振動部と、
前記第１振動部から所定距離離れて配置され、前記第１制御信号とは別の第２制御信号に応じて振動する第２振動部と、
接地する部位の少なくとも１つであって、少なくとも前記第１振動部が振動することに応じて振動する第１接地部と、
接地する部位の少なくとも１つであって、少なくとも前記第２振動部が振動することに応じて振動する第２接地部とを備え、
所定の面上に載置された状態において、当該所定の面と接地する前記第１接地部の振動および／または前記第２接地部の振動によって当該所定の面上を移動する、装置。
【請求項１６】
第１振動部および当該第１振動部から所定距離離れて配置される第２振動部を備える装置の移動を制御する装置移動制御方法であって、
前記第１振動部の振動を制御するための第１制御信号を生成する第１制御信号生成ステップと、
前記第２振動部の振動を制御するための第２制御信号を生成する第２制御信号生成ステップと、
少なくとも前記第１振動部を振動させることによって、前記装置が接地する部位の少なくとも１つである第１接地部を振動させる第１接地部振動ステップと、
少なくとも前記第２振動部を振動させることによって、前記装置が接地する部位の少なくとも１つである第２接地部を振動させる第２接地部振動ステップと、
所定の面上に前記装置が載置された状態において、当該所定の面と接地する前記第１接地部の振動および／または前記第２接地部を振動させることによって当該所定の面上で前記装置を移動させる装置移動ステップとを含む、装置移動制御方法。
【請求項１７】
第１振動部、当該第１振動部から所定距離離れて配置される第２振動部、および周辺を撮像するための撮像部を備える装置の移動を制御する制御装置に含まれるコンピュータで実行される装置移動制御プログラムであって、
前記コンピュータを、
前記第１振動部の振動を制御するための第１制御信号を生成することにより少なくとも前記第１振動部を振動させることによって、前記装置が接地する部位の少なくとも１つである第１接地部を振動させて所定の面上に載置された前記装置を移動させる第１制御信号生成手段と、
前記第２振動部の振動を制御するための第２制御信号を生成することにより少なくとも前記第２振動部を振動させることによって、前記装置が接地する部位の少なくとも１つである第２接地部を振動させて所定の面上に載置された前記装置を移動させる第２制御信号生成手段として機能させ、
前記第１制御信号生成手段は、前記撮像部によって撮像された撮像画像に基づいて、前記第１制御信号を生成し、
前記第２制御信号生成手段は、前記撮像部によって撮像された撮像画像に基づいて、前記第２制御信号を生成する、装置移動制御プログラム。
【請求項１８】
第１振動部を備える第１ゲームコントローラおよび第２振動部を備える第２ゲームコントローラを着脱可能な装置を形成可能な厚紙部材であって、
前記装置は、
前記第１ゲームコントローラの少なくとも一部と嵌合して当該第１ゲームコントローラを着脱可能に係合するための第１係合部と、
前記第２ゲームコントローラの少なくとも一部と嵌合して当該第２ゲームコントローラを着脱可能に係合するための第２係合部と、
前記装置が接地する部位の少なくとも１つであって、前記第１係合部に装着された前記第１ゲームコントローラの前記第１振動部が少なくとも振動することに応じて振動する第１接地部と、
前記装置が接地する部位の少なくとも１つであって、前記第２係合部に装着された前記第２ゲームコントローラの前記第２振動部が少なくとも振動することに応じて振動する第２接地部とを含み、
前記第１係合部、前記第２係合部、前記第１接地部、および前記第２接地部を有する前記装置を、折り曲げることによって一体的に形成可能な、厚紙部材。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振動によって移動する装置と、当該装置を移動させる装置移動システム、装置移動制御方法、および装置移動制御プログラムと、当該装置本体を構成可能な厚紙部材とに関する。
【背景技術】
【０００２】
従来、振動を与えることによって移動する玩具がある（例えば、特許文献１参照）。例えば、上記特許文献１には、玩具内部に設けられた圧電素子が生じさせる振動による推力により、当該玩具を移動させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−３４２２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記玩具は、予め設定された移動方向に移動するだけであり、振動による移動の多様性について改善の余地があった。
【０００５】
それ故、本発明の目的は、振動を用いた移動の多様性を向上させることができる装置移動システム、装置、装置移動制御方法、装置移動制御プログラム、および厚紙部材を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
【０００７】
本発明の装置移動システムの一構成例は、装置の移動を制御する。装置は、第１振動部、第２振動部、第１接地部、および第２接地部を備える。第２振動部は、第１振動部から所定距離離れて配置される。第１接地部は、装置が接地する部位の少なくとも１つであって、少なくとも第１振動部が振動することに応じて振動する。第２接地部は、装置が接地する部位の少なくとも１つであって、少なくとも第２振動部が振動することに応じて振動する。装置移動システムは、制御信号生成手段を含む。制御信号生成手段は、第１振動部の振動を制御するための第１制御信号および第２振動部の振動を制御するための第２制御信号を生成する。装置は、所定の面上に載置された状態において、当該所定の面と接地する第１接地部の振動および／または第２接地部の振動によって当該所定の面上を移動する。
【０００８】
上記によれば、装置に振動を与えることによって、実空間における所定の面上を移動させることができ、装置に与える独立した２つの振動を制御することによって、振動による移動を多様にすることができる。
【０００９】
また、上記第１振動部は、装置の移動方向に対して当該装置の左側に設けられてもよい。上記第２振動部は、装置の移動方向に対して当該装置の右側に設けられてもよい。
【００１０】
上記によれば、装置の移動方向の左右にそれぞれ振動部が装着されるため、装置を安定して移動させることができる。
【００１１】
また、上記第１接地部は、装置の移動方向に対して当該装置の左側に設けられてもよい。上記第２接地部は、装置の移動方向に対して当該装置の右側に設けられてもよい。
【００１２】
上記によれば、移動方向の左右にそれぞれ装着された振動部と同じ側にそれぞれ接地部が設けられるため、それぞれの接地部に振動を伝えやすくなる。
【００１３】
また、上記第１接地部は、第２振動部による振動より第１振動部による振動によってより強く振動してもよい。上記第２接地部は、第１振動部による振動より第２振動部による振動によってより強く振動してもよい。
【００１４】
上記によれば、各接地部にそれぞれ伝える振動の制御が容易となる。
【００１５】
また、上記装置は、本体部、第１筐体、および第２筐体を、さらに備えてもよい。第１筐体は、第１振動部を有する。第２筐体は、第２振動部を有する。本体部は、第１係合部および第２係合部を含んでもよい。第１係合部は、第１筐体と着脱可能に係合する。第２係合部は、第２筐体と着脱可能に係合する。
【００１６】
上記によれば、筐体に備えられた振動部を装置本体部に追加して利用するような形態で装置を構成することができる。
【００１７】
また、上記第１係合部は、第１嵌合部を含んでもよい。第１嵌合部は、第１筐体の少なくとも一部と嵌合可能である。上記第２係合部は、第２嵌合部を含んでもよい。第２嵌合部は、第２筐体の少なくとも一部と嵌合可能である。
【００１８】
上記によれば、振動部を備える筐体を確実に固定することができ、振動部の振動を本体部に効率よく伝えることができる。
【００１９】
また、上記第１嵌合部は、第１筐体内において第１振動部が設置されている箇所近傍となる当該第１筐体の一部と少なくとも嵌合可能に形成されてもよい。上記第２嵌合部は、第２筐体内において第２振動部が設置されている箇所近傍となる当該第２筐体の一部と少なくとも嵌合可能に形成されてもよい。
【００２０】
上記によれば、振動部の振動を本体部に効率よく伝えることができる。
【００２１】
また、上記装置移動システムは、制御装置を、さらに備えてもよい。制御装置は、装置とは別体であって、制御信号生成手段を有する。制御装置は、送信部を、さらに備えてもよい。送信部は、制御信号生成手段によって生成された第１制御信号および第２制御信号を、装置に送信する。
【００２２】
上記によれば、別体の制御装置を用いて、装置の移動を制御することができる。
【００２３】
また、上記制御装置は、操作部を、さらに備えてもよい。操作部は、ユーザによって操作が可能である。上記制御信号生成手段は、操作部に対する操作に基づいて、第１制御信号および第２制御信号を生成してもよい。
【００２４】
上記によれば、別体の制御装置に備えられた操作部を操作することによって、装置の移動を制御することができる。
【００２５】
また、上記制御信号生成手段は、ユーザ操作内容に基づいて、第１振動部および／または第２振動部が振動する周波数を設定して第１制御信号および／または第２制御信号を生成してもよい。
【００２６】
上記によれば、装置を移動させるために最適な振動周波数に調整することができる。
【００２７】
また、上記装置は、撮像部を、さらに備えてもよい。撮像部は、当該装置の周辺を撮像する。上記制御信号生成手段は、撮像部によって撮像された撮像画像に基づいて、第１制御信号および第２制御信号を生成してもよい。
【００２８】
上記によれば、撮像画像を用いて、自動的に装置を移動させることが可能となる。
【００２９】
また、上記第１接地部は、装置が接地する部位を少なくとも３箇所有してもよい。上記第２接地部は、装置が接地する部位を少なくとも３箇所有してもよい。
【００３０】
上記によれば、装置を移動させることが容易となる。
【００３１】
また、上記装置移動システムは、姿勢検知手段および移動状況推定手段を、さらに備えてもよい。姿勢検知手段は、装置の姿勢を検知する。移動状況推定手段は、姿勢検知手段による検知結果に基づいて、装置が移動する状況を推定する。
【００３２】
上記によれば、装置が転倒した場合等、正常な姿勢でないことをユーザに通知することが可能となる。
【００３３】
また、上記本体部は、少なくとも１枚の厚紙を折り曲げることによって形成可能に構成されてもよい。
【００３４】
上記によれば、厚紙部材を折り曲げることによって、本体部を組み立てることができる。
【００３５】
また、上記装置移動システムは、装置および装置移動制御方法の形態で実施されてもよい。
【００３６】
また、本発明の装置移動制御プログラムの一構成例は、第１振動部、当該第１振動部から所定距離離れて配置される第２振動部、および周辺を撮像するための撮像部を備える装置の移動を制御する制御装置に含まれるコンピュータで実行される。装置移動制御プログラムは、第１制御信号生成手段および第２制御信号生成手段として、コンピュータを機能させる。第１制御信号生成手段は、第１振動部の振動を制御するための第１制御信号を生成することにより少なくとも第１振動部を振動させることによって、装置が接地する部位の少なくとも１つである第１接地部を振動させて所定の面上に載置された装置を移動させる。第２制御信号生成手段は、第２振動部の振動を制御するための第２制御信号を生成することにより少なくとも第２振動部を振動させることによって、装置が接地する部位の少なくとも１つである第２接地部を振動させて所定の面上に載置された装置を移動させる。第１制御信号生成手段は、撮像部によって撮像された撮像画像に基づいて、第１制御信号を生成する。第２制御信号生成手段は、撮像部によって撮像された撮像画像に基づいて、第２制御信号を生成する。
【００３７】
上記によれば、装置に振動を与えることによって、実空間における所定の面上を移動させることができ、装置に与える独立した２つの振動を制御することによって、振動による移動を多様にすることができる。また、装置で撮像される撮像画像を用いて、自動的に装置を移動させることも可能となる。
【００３８】
また、本発明の厚紙部材の一構成例は、第１振動部を備える第１ゲームコントローラおよび第２振動部を備える第２ゲームコントローラを着脱可能な装置を形成可能である。装置は、第１係合部、第２係合部、第１接地部、および第２接地部を含む。第１係合部は、第１ゲームコントローラの少なくとも一部と嵌合して当該第１ゲームコントローラを着脱可能に係合する。第２係合部は、第２ゲームコントローラの少なくとも一部と嵌合して当該第２ゲームコントローラを着脱可能に係合する。第１接地部は、装置が接地する部位の少なくとも１つであって、第１係合部に装着された第１ゲームコントローラの第１振動部が少なくとも振動することに応じて振動する。第２接地部は、装置が接地する部位の少なくとも１つであって、第２係合部に装着された第２ゲームコントローラの第２振動部が少なくとも振動することに応じて振動する。厚紙部材は、第１係合部、第２係合部、第１接地部、および第２接地部を有する装置を、折り曲げることによって一体的に形成可能である。
【００３９】
上記によれば、厚紙部材を折り曲げることによって、第１ゲームコントローラおよび第２ゲームコントローラを装着可能に装着して実空間を移動する装置を構成することができる。
【発明の効果】
【００４０】
本発明によれば、装置に与える振動を制御することによって、振動による移動を多様にすることができる。
【図面の簡単な説明】
【００４１】
【図１】本体装置２に左コントローラ３および右コントローラ４を装着した状態の一例を示す図
【図２】本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図
【図３】本体装置２の一例を示す六面図
【図４】左コントローラ３の一例を示す六面図
【図５】右コントローラ４の一例を示す六面図
【図６】本体装置２の内部構成の一例を示すブロック図
【図７】本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図
【図８】ユーザが本体装置２を操作することによって、実空間において移動機器２００を移動させる様子の一例を示す図
【図９】移動体２０１の外観の一例を示す斜視図
【図１０】移動体２０１の外観の一例を示す六面図
【図１１】移動体２０１に、左コントローラ３を装着する様子の一例を示す図
【図１２】左コントローラ３および右コントローラ４を装着した移動機器２００の外観の一例を示す、左コントローラ３および右コントローラ４のｙ軸負方向を見た正面図
【図１３】右コントローラ４が装着された移動機器２００の外観の一例を示す右側面図
【図１４】右コントローラ４が装着された移動機器２００の外観の一例を示す左側面図
【図１５】移動体２０１を組み立てるための厚紙部材の一例を示す図
【図１６】自走モードを用いて移動機器２００が移動している様子の一例を示す図
【図１７】本体装置２のＤＲＡＭ８５に設定されるデータ領域の一例を示す図
【図１８】本体装置２で実行される制御処理の一例を示すフローチャート
【図１９】図１８のステップＳ１６５における自走モード処理の一例を示すサブルーチン
【発明を実施するための形態】
【００４２】
以下、本実施形態の一例に係る装置移動システムについて説明する。本実施形態における装置移動システムの一例となるゲームシステム１は、本体装置（情報処理装置；本実施形態ではゲーム装置本体として機能する）２と左コントローラ３および右コントローラ４とが装着された装置（移動機器２００）とを含む。本体装置２は、左コントローラ３および右コントローラ４がそれぞれ着脱可能である。つまり、ゲームシステム１は、左コントローラ３および右コントローラ４をそれぞれ本体装置２に装着して一体化された装置として利用できる。また、ゲームシステム１は、本体装置２と左コントローラ３および右コントローラ４とを別体として利用することもできる（図２参照）。また、ゲームシステム１における移動機器２００は、その内部にコントローラ（例えば、左コントローラ３および右コントローラ４）を装着することによって、振動で移動する玩具として利用することができる。以下では、本実施形態のゲームシステム１のハードウェア構成について説明し、その後に本実施形態のゲームシステム１の制御について説明する。
【００４３】
図１は、本体装置２に左コントローラ３および右コントローラ４を装着した状態の一例を示す図である。図１に示すように、左コントローラ３および右コントローラ４は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、ゲームシステム１における各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置２は、ディスプレイ１２を備える。左コントローラ３および右コントローラ４は、ユーザが入力を行うための操作部を備える装置である。なお、本実施形態においては、ゲームシステム１の主面の長手方向を横方向（左右方向とも言う）と呼び、当該主面の短手方向を縦方向（上下方向とも言う）と呼び、主面に垂直な方向を奥行方向（前後方向とも言う）と呼ぶこととする。また、ゲームシステム１における方向をわかりやすくするために、ゲームシステム１に対する３軸（ｘｙｚ軸）方向を定義する。具体的には、図１に示すように、ゲームシステム１においてディスプレイ１２が設けられている前面から背面に向かうディスプレイ１２の奥行方向をｚ軸正方向とし、当該奥行方向に対して垂直な横方向において右から左に向かう方向（右コントローラ４の装着位置から左コントローラ３の装着位置に向かう方向）をｘ軸正方向とし、当該奥行方向および当該横方向に対して垂直な上下方向において下から上に向かうディスプレイ１２に沿った方向をｙ軸正方向とする。
【００４４】
図２は、本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図である。図１および図２に示すように、左コントローラ３および右コントローラ４は、本体装置２に着脱可能である。なお、以下において、左コントローラ３および右コントローラ４の総称として「コントローラ」と記載することがある。また、本実施形態において、２つのコントローラ（例えば、左コントローラ３および右コントローラ４）を移動体２０１（すなわち、移動機器２００の本体部）に装着することにより、ユーザが本体装置２を用いて操作することに応じて２つのコントローラが装着された移動体２０１を実空間で移動させることができる。
【００４５】
図３は、本体装置２の一例を示す六面図である。図３に示すように、本体装置２は、略板状のハウジング１１を備える。本実施形態において、ハウジング１１の主面（換言すれば、表側の面、すなわち、ディスプレイ１２が設けられる面）は、大略的には矩形形状である。
【００４６】
なお、ハウジング１１の形状および大きさは、任意である。一例として、ハウジング１１は、携帯可能な大きさであってよい。また、本体装置２単体または本体装置２に左コントローラ３および右コントローラ４が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２または一体型装置が手持ち型の装置となってもよい。また、本体装置２または一体型装置が可搬型装置となってもよい。
【００４７】
図３に示すように、本体装置２は、ハウジング１１の主面に設けられるディスプレイ１２を備える。ディスプレイ１２は、本体装置２が生成した画像を表示する。本実施形態においては、ディスプレイ１２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ１２は任意の種類の表示装置であってよい。
【００４８】
また、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備える。本実施形態においては、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル１３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００４９】
本体装置２は、ハウジング１１の内部においてスピーカ（すなわち、図６に示すスピーカ８８）を備えている。図３に示すように、ハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成される。そして、スピーカ８８の出力音は、これらのスピーカ孔１１ａおよび１１ｂからそれぞれ出力される。
【００５０】
図３に示すように、本体装置２は、ハウジング１１の左側面において左レール部材１５を備える。左レール部材１５は、左コントローラ３を本体装置２に着脱可能に装着するための部材である。左レール部材１５は、ハウジング１１の左側面において、上下方向に沿って延びるように設けられる。左レール部材１５は、左コントローラ３のスライダ（すなわち、図４に示すスライダ４０）と係合可能な形状を有しており、左レール部材１５とスライダ４０とによってスライド機構が形成される。このスライド機構によって、左コントローラ３を本体装置２に対してスライド可能かつ着脱可能に装着することができる。また、本体装置２は、左コントローラ３が本体装置２に装着された場合に、本体装置２が左コントローラ３と有線通信を行うための端子である左側端子１７を備える。
【００５１】
また、ハウジング１１の右側面には、左側面に設けられる構成と同様の構成が設けられる。すなわち、本体装置２は、ハウジング１１の右側面において右レール部材１９を備える。右レール部材１９は、ハウジング１１の右側面において、上下方向に沿って延びるように設けられる。右レール部材１９は、右コントローラ４のスライダ（すなわち、図５に示すスライダ６２）と係合可能な形状を有しており、右レール部材１９とスライダ６２とによってスライド機構が形成される。このスライド機構によって、右コントローラ４を本体装置２に対してスライド可能かつ着脱可能に装着することができる。また、本体装置２は、右コントローラ４が本体装置２に装着された場合に、本体装置２が右コントローラ４と有線通信を行うための右側端子２１を備える。
【００５２】
図３に示すように、本体装置２は、スロット２３を備える。スロット２３は、ハウジング１１の上側面に設けられる。スロット２３は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム１およびそれと同種の情報処理装置に専用の記憶媒体（例えば、専用メモリカード）である。所定の種類の記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２８を備える。
【００５３】
本体装置２は、下側端子２７を備える。下側端子２７は、本体装置２がクレードルと通信を行うための端子である。本実施形態において、下側端子２７は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。上記一体型装置または本体装置２単体をクレードルに載置した場合、ゲームシステム１は、本体装置２が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置２単体を充電する機能を有する。また、クレードルは、ハブ装置（具体的には、ＵＳＢハブ）の機能を有する。
【００５４】
図４は、左コントローラ３の一例を示す六面図である。図４に示すように、左コントローラ３は、ハウジング３１を備える。本実施形態においては、ハウジング３１は、縦長の形状、すなわち、上下方向（すなわち、図１および図４に示すｙ軸方向）に長い形状である。左コントローラ３は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング３１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ３は、横長となる向きで把持されることも可能である。左コントローラ３が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００５５】
左コントローラ３は、アナログスティック３２を備える。図４に示すように、アナログスティック３２は、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック３２を傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。なお、左コントローラ３は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック３２を押下する入力が可能である。
【００５６】
左コントローラ３は、各種操作ボタンを備える。左コントローラ３は、ハウジング３１の主面上に４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および左方向ボタン３６）を備える。さらに、左コントローラ３は、録画ボタン３７および−（マイナス）ボタン４７を備える。左コントローラ３は、ハウジング３１の側面の左上に第１Ｌボタン３８およびＺＬボタン３９を備える。また、左コントローラ３は、ハウジング３１の側面の、本体装置２に装着される際に装着される側の面に第２Ｌボタン４３および第２Ｒボタン４４を備える。これらの操作ボタンは、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。
【００５７】
左コントローラ３は、上述のスライダ４０を備えている。図４に示すように、スライダ４０は、ハウジング３１の右側面において、上下方向に延びるように設けられる。スライダ４０は、本体装置２の左レール部材１５（より具体的には、左レール部材１５の溝）と係合可能な形状を有している。したがって、左レール部材１５に係合したスライダ４０は、スライド方向（換言すれば左レール部材１５が延びる方向）に垂直な向きに関しては固定されて外れないようになっている。また、左コントローラ３は、左コントローラ３が本体装置２に装着された場合に、左コントローラ３が本体装置２と有線通信を行うための端子４２を備える。
【００５８】
図５は、右コントローラ４の一例を示す六面図である。図５に示すように、右コントローラ４は、ハウジング５１を備える。本実施形態においては、ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング５１は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ４は、横長となる向きで把持されることも可能である。右コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００５９】
右コントローラ４は、左コントローラ３と同様、方向入力部としてアナログスティック５２を備える。本実施形態においては、アナログスティック５２は、左コントローラ３のアナログスティック３２と同じ構成である。また、右コントローラ４は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ４は、左コントローラ３と同様、ハウジング５１の主面上に４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、およびＹボタン５６）を備える。さらに、右コントローラ４は、＋（プラス）ボタン５７およびホームボタン５８を備える。また、右コントローラ４は、ハウジング５１の側面の右上に第１Ｒボタン６０およびＺＲボタン６１を備える。また、右コントローラ４は、左コントローラ３と同様、第２Ｌボタン６５および第２Ｒボタン６６を備える。
【００６０】
また、ハウジング５１の下側面には、窓部６８が設けられる。詳細は後述するが、右コントローラ４は、ハウジング５１の内部に配置される赤外撮像部１２３および赤外発光部１２４を備えている。赤外撮像部１２３は、右コントローラ４の下方向（図５に示すｙ軸負方向）を撮像方向として、窓部６８を介して右コントローラ４の周囲を撮像する。赤外発光部１２４は、右コントローラ４の下方向（図５に示すｙ軸負方向）を中心とする所定範囲を照射範囲として、赤外撮像部１２３が撮像する撮像対象に窓部６８を介して赤外光を照射する。窓部６８は、赤外撮像部１２３のカメラのレンズや赤外発光部１２４の発光体等を保護するためのものであり、当該カメラが検知する波長の光や当該発光体が照射する光を透過する材質（例えば、透明な材質）で構成される。なお、窓部６８は、ハウジング５１に形成された孔であってもよい。また、本実施形態においては、カメラが検知する光（本実施形態においては、赤外光）以外の波長の光の透過を抑制するフィルタ部材を赤外撮像部１２３自身が有する。ただし、他の実施形態においては、窓部６８がフィルタの機能を有していてもよい。
【００６１】
右コントローラ４は、左コントローラ３と同様のスライダ機構を備えている。すなわち、右コントローラ４は、上述のスライダ６２を備えている。図５に示すように、スライダ６２は、ハウジング５１の左側面において、上下方向に延びるように設けられる。スライダ６２は、本体装置２の右レール部材１９（より具体的には、右レール部材１９の溝）と係合可能な形状を有している。したがって、右レール部材１９に係合したスライダ６２は、スライド方向（換言すれば右レール部材１９が延びる方向）に垂直な向きに関しては固定されて外れないようになっている。また、右コントローラ４は、右コントローラ４が本体装置２に装着された場合に、右コントローラ４が本体装置２と有線通信を行うための端子６４を備える。
【００６２】
図６は、本体装置２の内部構成の一例を示すブロック図である。本体装置２は、図３に示す構成の他、図６に示す各構成要素８１〜９１、９７、および９８を備える。これらの構成要素８１〜９１、９７、および９８のいくつかは、電子部品として電子回路基板上に実装されてハウジング１１内に収納されてもよい。
【００６３】
本体装置２は、プロセッサ８１を備える。プロセッサ８１は、本体装置２において実行される各種の情報処理を実行する情報処理部であって、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のみから構成されてもよいし、ＣＰＵ機能、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）機能等の複数の機能を含むＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）から構成されてもよい。プロセッサ８１は、記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、あるいは、スロット２３に装着される外部記憶媒体等）に記憶される情報処理プログラム（例えば、ゲームプログラム）を実行することによって、各種の情報処理を実行する。
【００６４】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８５を備える。フラッシュメモリ８４およびＤＲＡＭ８５は、プロセッサ８１に接続される。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００６５】
本体装置２は、スロットインターフェース（以下、「Ｉ／Ｆ」と略記する。）９１を備える。スロットＩ／Ｆ９１は、プロセッサ８１に接続される。スロットＩ／Ｆ９１は、スロット２３に接続され、スロット２３に装着された所定の種類の記憶媒体（例えば、専用メモリカード）に対するデータの読み出しおよび書き込みを、プロセッサ８１の指示に応じて行う。
【００６６】
プロセッサ８１は、フラッシュメモリ８４およびＤＲＡＭ８５、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００６７】
本体装置２は、ネットワーク通信部８２を備える。ネットワーク通信部８２は、プロセッサ８１に接続される。ネットワーク通信部８２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。本実施形態においては、ネットワーク通信部８２は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部８２は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００６８】
本体装置２は、コントローラ通信部８３を備える。コントローラ通信部８３は、プロセッサ８１に接続される。コントローラ通信部８３は、左コントローラ３および／または右コントローラ４と無線通信を行う。本体装置２と左コントローラ３および右コントローラ４との通信方式は任意であるが、本実施形態においては、コントローラ通信部８３は、左コントローラ３との間および右コントローラ４との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００６９】
プロセッサ８１は、上述の左側端子１７、右側端子２１、および下側端子２７に接続される。プロセッサ８１は、左コントローラ３と有線通信を行う場合、左側端子１７を介して左コントローラ３へデータを送信するとともに、左側端子１７を介して左コントローラ３から操作データを受信する。また、プロセッサ８１は、右コントローラ４と有線通信を行う場合、右側端子２１を介して右コントローラ４へデータを送信するとともに、右側端子２１を介して右コントローラ４から操作データを受信する。また、プロセッサ８１は、クレードルと通信を行う場合、下側端子２７を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置２は、左コントローラ３および右コントローラ４との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置または本体装置２単体がクレードルに装着された場合、本体装置２は、クレードルを介してデータ（例えば、画像データや音声データ）を据置型モニタ等に出力することができる。
【００７０】
ここで、本体装置２は、複数の左コントローラ３と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。したがって、複数のユーザは、左コントローラ３および右コントローラ４のセットをそれぞれ用いて、本体装置２に対する入力を同時に行うことができる。一例として、第１ユーザが左コントローラ３および右コントローラ４の第１セットを用いて本体装置２に対して入力を行うと同時に、第２ユーザが左コントローラ３および右コントローラ４の第２セットを用いて本体装置２に対して入力を行うことが可能となる。
【００７１】
本体装置２は、タッチパネル１３の制御を行う回路であるタッチパネルコントローラ８６を備える。タッチパネルコントローラ８６は、タッチパネル１３とプロセッサ８１との間に接続される。タッチパネルコントローラ８６は、タッチパネル１３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ８１へ出力する。
【００７２】
また、ディスプレイ１２は、プロセッサ８１に接続される。プロセッサ８１は、（例えば、上記の情報処理の実行によって）生成した画像および／または外部から取得した画像をディスプレイ１２に表示する。
【００７３】
本体装置２は、コーデック回路８７およびスピーカ（具体的には、左スピーカおよび右スピーカ）８８を備える。コーデック回路８７は、スピーカ８８および音声入出力端子２５に接続されるとともに、プロセッサ８１に接続される。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する回路である。
【００７４】
また、本体装置２は、加速度センサ８９を備える。本実施形態においては、加速度センサ８９は、所定の３軸（例えば、図１に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ８９は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。
【００７５】
また、本体装置２は、角速度センサ９０を備える。本実施形態においては、角速度センサ９０は、所定の３軸（例えば、図１に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ９０は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。
【００７６】
加速度センサ８９および角速度センサ９０は、プロセッサ８１に接続され、加速度センサ８９および角速度センサ９０の検出結果は、プロセッサ８１へ出力される。プロセッサ８１は、上記の加速度センサ８９および角速度センサ９０の検出結果に基づいて、本体装置２の動きおよび／または姿勢に関する情報を算出することが可能である。
【００７７】
本体装置２は、電力制御部９７およびバッテリ９８を備える。電力制御部９７は、バッテリ９８およびプロセッサ８１に接続される。また、図示しないが、電力制御部９７は、本体装置２の各部（具体的には、バッテリ９８の電力の給電を受ける各部、左側端子１７、および右側端子２１）に接続される。電力制御部９７は、プロセッサ８１からの指令に基づいて、バッテリ９８から上記各部への電力供給を制御する。
【００７８】
また、バッテリ９８は、下側端子２７に接続される。外部の充電装置（例えば、クレードル）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、供給された電力がバッテリ９８に充電される。
【００７９】
図７は、本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図である。なお、本体装置２に関する内部構成の詳細については、図６で示しているため図７では省略している。
【００８０】
左コントローラ３は、本体装置２との間で通信を行う通信制御部１０１を備える。図７に示すように、通信制御部１０１は、端子４２を含む各構成要素に接続される。本実施形態においては、通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行うことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行う。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行う。コントローラ通信部８３と通信制御部１０１との間の無線通信は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）の規格に従って行われる。
【００８１】
また、左コントローラ３は、例えばフラッシュメモリ等のメモリ１０２を備える。通信制御部１０１は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【００８２】
左コントローラ３は、各ボタン１０３（具体的には、ボタン３３〜３９、４３、４４、および４７）を備える。また、左コントローラ３は、アナログスティック（図７では「スティック」と記載する）３２を備える。各ボタン１０３およびアナログスティック３２は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部１０１へ出力する。
【００８３】
左コントローラ３は、慣性センサを備える。具体的には、左コントローラ３は、加速度センサ１０４を備える。また、左コントローラ３は、角速度センサ１０５を備える。本実施形態においては、加速度センサ１０４は、所定の３軸（例えば、図４に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ１０５は、所定の３軸（例えば、図４に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５は、それぞれ通信制御部１０１に接続される。そして、加速度センサ１０４および角速度センサ１０５の検出結果は、適宜のタイミングで繰り返し通信制御部１０１へ出力される。
【００８４】
通信制御部１０１は、各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から、入力に関する情報（具体的には、操作に関する情報、またはセンサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【００８５】
上記操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ３に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン１０３およびアナログスティック３２に対する操作を、操作データに基づいて判別することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を、操作データ（具体的には、加速度センサ１０４および角速度センサ１０５の検出結果）に基づいて算出することができる。
【００８６】
左コントローラ３は、振動によってユーザに通知を行うための振動子１０７を備える。本実施形態においては、振動子１０７は、本体装置２からの指令によって制御される。すなわち、通信制御部１０１は、本体装置２からの上記指令を受け取ると、当該指令に従って振動子１０７を駆動させる。ここで、左コントローラ３は、コーデック部１０６を備える。通信制御部１０１は、上記指令を受け取ると、指令に応じた制御信号をコーデック部１０６へ出力する。コーデック部１０６は、通信制御部１０１からの制御信号から振動子１０７を駆動させるための駆動信号を生成して振動子１０７へ与える。これによって振動子１０７が動作する。なお、図４に示すように、本実施例における振動子１０７は、左コントローラ３内部の下端部付近（ｙ軸負方向側に形成される下側面近傍）に設けられる。
【００８７】
振動子１０７は、より具体的にはリニア振動モータである。リニア振動モータは、回転運動をする通常のモータと異なり、入力される電圧に応じて所定方向に駆動されるため、入力される電圧の波形に応じた振幅および周波数で振動をさせることができる。本実施形態において、本体装置２から左コントローラ３に送信される振動制御信号は、単位時間ごとに周波数と振幅とを表すデジタル信号であってよい。別の実施形態においては、本体装置２から波形そのものを示す情報を送信するようにしてもよいが、振幅および周波数だけを送信することで通信データ量を削減することができる。また、さらにデータ量を削減するため、そのときの振幅および周波数の数値に替えて、前回の値からの差分だけを送信するようにしてもよい。この場合、コーデック部１０６は、通信制御部１０１から取得される振幅および周波数の値を示すデジタル信号をアナログの電圧の波形に変換し、当該波形に合わせて電圧を入力することで振動子１０７を駆動させる。したがって、本体装置２は、単位時間ごとに送信する振幅および周波数を変えることによって、そのときに振動子１０７を振動させる振幅および周波数を制御することができる。なお、本体装置２から左コントローラ３に送信される振幅および周波数は、１つに限らず、２つ以上送信するようにしてもよい。その場合、コーデック部１０６は、受信された複数の振幅および周波数それぞれが示す波形を合成することで、振動子１０７を制御する電圧の波形を生成することができる。
【００８８】
左コントローラ３は、電力供給部１０８を備える。本実施形態において、電力供給部１０８は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ３の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。
【００８９】
図７に示すように、右コントローラ４は、本体装置２との間で通信を行う通信制御部１１１を備える。また、右コントローラ４は、通信制御部１１１に接続されるメモリ１１２を備える。通信制御部１１１は、端子６４を含む各構成要素に接続される。通信制御部１１１およびメモリ１１２は、左コントローラ３の通信制御部１０１およびメモリ１０２と同様の機能を有する。したがって、通信制御部１１１は、端子６４を介した有線通信と、端子６４を介さない無線通信（具体的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信）との両方で本体装置２と通信を行うことが可能であり、右コントローラ４が本体装置２に対して行う通信方法を制御する。
【００９０】
右コントローラ４は、左コントローラ３の各入力部と同様の各入力部を備える。具体的には、各ボタン１１３、アナログスティック５２、慣性センサ（加速度センサ１１４および角速度センサ１１５）を備える。これらの各入力部については、左コントローラ３の各入力部と同様の機能を有し、同様に動作する。
【００９１】
また、右コントローラ４は、振動子１１７およびコーデック部１１６を備える。振動子１１７およびコーデック部１１６は、左コントローラ３の振動子１０７およびコーデック部１０６と同様に動作する。すなわち、通信制御部１１１は、本体装置２からの指令に従って、コーデック部１１６を用いて振動子１１７を動作させる。なお、図５に示すように、本実施例における振動子１１７は、右コントローラ４内部の下端部付近（ｙ軸負方向側に形成される下側面近傍）に設けられる。
【００９２】
また、右コントローラ４は、赤外撮像部１２３を備える。赤外撮像部１２３は、右コントローラ４の周囲を撮像する赤外線カメラを有する。一例として、本体装置２および／または右コントローラ４は、撮像された情報（例えば、撮像された撮像画像における少なくとも一部の領域全体を分割した複数のブロックの輝度に関連する情報等）を算出し、当該情報に基づいて、右コントローラ４の周囲変化を判別する。また、赤外撮像部１２３は、環境光によって撮像を行ってもよいが、本実施形態においては、赤外線を照射する赤外発光部１２４を有する。赤外発光部１２４は、例えば、赤外線カメラが画像を撮像するタイミングと同期して、赤外線を照射する。そして、赤外発光部１２４によって照射された赤外線が撮像対象によって反射され、当該反射された赤外線が赤外線カメラによって受光されることで、赤外線の画像が取得される。これによって、赤外撮像部１２３は、より鮮明な赤外線画像を得ることができる。なお、赤外撮像部１２３と赤外発光部１２４とは、それぞれ別のデバイスとして右コントローラ４内に設けられてもよいし、同じパッケージ内に設けられた単一のデバイスとして右コントローラ４内に設けられてもよい。また、本実施形態においては、赤外線カメラを有する赤外撮像部１２３が用いられるが、他の実施形態においては、撮像手段として、赤外線カメラに代えて可視光カメラ（可視光イメージセンサを用いたカメラ）が用いられてもよい。
【００９３】
右コントローラ４は、処理部１２１を備える。処理部１２１は、通信制御部１１１に接続される。また、処理部１２１は、赤外撮像部１２３、および赤外発光部１２４に接続される。
【００９４】
処理部１２１は、ＣＰＵやメモリ等を含み、右コントローラ４に備えられた図示しない記憶装置（例えば、不揮発性メモリ等）に記憶された所定のプログラム（例えば、画像処理や各種演算を行うためのアプリケーションプログラム）に基づいて、本体装置２からの指令に応じて赤外撮像部１２３に対する管理処理を実行する。例えば、処理部１２１は、赤外撮像部１２３に撮像動作を行わせたり、撮像結果に基づく情報（撮像画像の情報、あるいは、当該情報から算出される情報等）を取得および／または算出して通信制御部１１１を介して本体装置２へ送信したりする。また、処理部１２１は、本体装置２からの指令に応じて赤外発光部１２４に対する管理処理を実行する。例えば、処理部１２１は、本体装置２からの指令に応じて赤外発光部１２４の発光を制御する。なお、処理部１２１が処理を行う際に用いるメモリは、処理部１２１内に設けられてもいいし、メモリ１１２であってもよい。
【００９５】
右コントローラ４は、電力供給部１１８を備える。電力供給部１１８は、左コントローラ３の電力供給部１０８と同様の機能を有し、同様に動作する。
【００９６】
次に、図８を参照して、実空間を移動する装置の一例である移動機器２００を移動させるゲームについて説明する。図８は、ユーザが本体装置２を操作することによって、実空間において移動機器２００を移動させる様子の一例を示す図である。本実施例において、移動機器２００は、移動体２０１に着脱可能に装着された左コントローラ３および右コントローラ４を含んでいる。そして、移動体２０１に装着された左コントローラ３および右コントローラ４を振動させることによって、所定の面上に載置された移動機器２００が当該面上を移動する。
【００９７】
ここで、詳細は後述するが、移動体２０１に装着された左コントローラ３および右コントローラ４は、それぞれ本体装置２から送信される振動データに基づいて振動する。また、左コントローラ３および右コントローラ４は、それぞれの姿勢を算出することが可能なデータ（例えば、角速度データや加速度データ）と、右コントローラ４によって撮像された撮像画像に関するデータとによって構成されるコントローラデータを、本体装置２へ送信している。したがって、移動体２０１は、移動機器２００の姿勢を検出したり、移動機器２００周辺を撮像したり、振動データやコントローラデータを送受信したりするための電子回路等の電気的構成を必要としない。そのため、本実施例によれば、実空間を移動する装置の一例である移動機器２００を構成する移動体２０１の構成を簡易化することができる。
【００９８】
例えば、本実施例では、図８に示すように、移動体２０１の左右側面にそれぞれ右コントローラ４および左コントローラ３を装着することによって移動機器２００が構成される。そして、実空間における所定の面上に移動機器２００を載置させた状態で、左コントローラ３および右コントローラ４の両方を振動させることによって、所定の進行方向（本実施例では、移動体２０１に装着された左コントローラ３および右コントローラ４のｙ軸負方向）へ当該面に沿って移動機器２００が移動する。また、上記進行方向に対して左側に装着されたコントローラ（本実施例では、右コントローラ４）のみを振動させることによって、当該進行方向に対して移動方向を右に変化させて移動機器２００が移動する。また、上記進行方向に対して右側に装着されたコントローラ（本実施例では、左コントローラ３）のみを振動させることによって、当該進行方向に対して移動方向を左に変化させて移動機器２００が移動する。つまり、振動させるコントローラを切り替えることによって、移動機器２００の移動方向を変化させることも可能となる。
【００９９】
ユーザは、本体装置２のディスプレイ１２に表示された操作ボタン画像（操作アイコン）をタッチ操作することによって、移動体２０１に装着された左コントローラ３および右コントローラ４の振動を制御することができる。例えば、ディスプレイ１２には、左振動ボタン画像ＩＬ、右振動ボタン画像ＩＲ、左振動周波数調整バー画像ＩＦＬ、右振動周波数調整バー画像ＩＦＲ、自走モード選択ボタン画像ＩＭ１、および暗視モード選択ボタン画像ＩＭ２等が表示されている。ユーザは、ディスプレイ１２に表示された操作ボタン画像の少なくとも１つの上をタッチ操作することによって、当該タッチ操作された操作ボタン画像に応じた振動を左コントローラ３および／または右コントローラ４に与えることができる。
【０１００】
例えば、左振動ボタン画像ＩＬがタッチ操作された場合、移動体２０１の背面側（後述する後面部２０１Ｂ側）から正面側（後述する正面部２０１Ｆ側）を見て左側（すなわち、進行方向と同じ方向を向いて左側）に装着されたコントローラ（本実施例では、右コントローラ４）を振動させるための振動データが本体装置２から当該コントローラへ送信され、当該振動データに応じて左側のコントローラが振動する。また、右振動ボタン画像ＩＲがタッチ操作された場合、移動体２０１の背面側（後述する後面部２０１Ｂ側）から正面側（後述する正面部２０１Ｆ側）を見て右側（すなわち、進行方向と同じ方向を向いて右側）に装着されたコントローラ（本実施例では、左コントローラ３）を振動させるための振動データが本体装置２から当該コントローラへ送信され、当該振動データに応じて右側のコントローラが振動する。
【０１０１】
左振動周波数調整バー画像ＩＦＬに含まれている操作子画像を当該バー方向に沿ってドラッグ操作することによって、移動体２０１の背面側から見て左側に装着されたコントローラが振動する周波数を変化させることができる。また、右振動周波数調整バー画像ＩＦＲに含まれている操作子画像を当該バー方向に沿ってドラッグ操作することによって、移動体２０１の背面側から見て右側に装着されたコントローラが振動する周波数を変化させることができる。具体的には、左振動周波数調整バー画像ＩＦＬや右振動周波数調整バー画像ＩＦＲにおける操作子画像の位置に応じてそれぞれの振動周波数が設定され、ドラッグ操作によって当該操作子画像を動かすことによって振動周波数を変化させることが可能となる。例えば、振動子１０７や振動子１１７が有する共振周波数が１７０Ｈｚである場合、左振動周波数調整バー画像ＩＦＬや右振動周波数調整バー画像ＩＦＲをタッチ操作することによって当該共振周波数を狙って振動周波数を調整することも可能であり、振動子１０７をより強く振動させることが可能になる。このように、振動周波数を調整することにより、移動機器２００の振動を強弱させたり、それにより移動機器２００の推進力を増減させたりすることも可能となる。
【０１０２】
自走モード選択ボタン画像ＩＭ１がタッチ操作された場合、移動機器２００周辺を撮像した撮像画像に基づいて制御される自走モードで、移動機器２００が自動走行する。例えば、移動体２０１に装着された右コントローラ４には、赤外撮像部１２３および赤外発光部１２４が備えられており、自走モードでは、赤外撮像部１２３によって撮像された撮像画像に関するデータが本体装置２に送信される。そして、本体装置２は、送信された撮像画像に関するデータに基づいて移動機器２００が移動する方向を設定し、当該移動方向に基づいた振動データを左コントローラ３および右コントローラ４へ送信することによって、移動機器２００が自走する。なお、自走モードの詳細な説明については、後述する。
【０１０３】
暗視モード選択ボタン画像ＩＭ２がタッチ操作された場合、移動機器２００周辺を撮像しながら移動機器２００が移動する。例えば、図８に例示したように移動体２０１に右コントローラ４が装着された場合、移動機器２００の進行方向に右コントローラ４の赤外撮像部１２３の撮像方向が設定される。また、図８に示すように、赤外撮像部１２３によって撮像された画像が本体装置２に送信されることにより、当該画像が撮像画像ＩＣとして本体装置２のディスプレイ１２に表示される。暗視モードでは、本体装置２は、赤外発光部１２４によって赤外光を発光させた状態で赤外撮像部１２３に撮像を行わせる指示データを右コントローラ４に送信する。そして、本体装置２は、赤外撮像部１２３によって撮像された画像を示すデータを右コントローラ４から受信した場合、当該画像を撮像画像ＩＣとして本体装置２のディスプレイ１２に表示する。
【０１０４】
ここで、移動体２０１に装着されている左コントローラ３および右コントローラ４には、それぞれ慣性センサ（加速度センサおよび角速度センサ）が備えられており、当該慣性センサの検出結果を用いて、左コントローラ３と右コントローラ４との姿勢および／または動き（すなわち、移動機器２００の姿勢および／または動き）を算出することが可能である。本実施例では、このような移動機器２００の姿勢および／または動きに応じて、移動機器２００が移動する状態を推定している。例えば、移動機器２００が移動中に転倒した場合、当該転倒に応じて左コントローラ３および／または右コントローラ４の姿勢が変化するため、当該姿勢変化に基づいて移動機器２００の転倒有無を検出することが可能となる。移動機器２００の転倒が検出された場合、左コントローラ３および右コントローラ４の振動を停止させたり、当該転倒を通知するための画像を本体装置２のディスプレイ１２に表示したり、当該転倒を通知するための音声や警報音を本体装置２のスピーカ８８から出力させたりしてもよい。
【０１０５】
次に、図９〜図１４を参照して、実空間を移動する装置の一例である移動機器２００について説明する。なお、図９は、移動体２０１の外観の一例を示す斜視図である。図１０は、移動体２０１の外観の一例を示す六面図である。図１１は、移動体２０１に、左コントローラ３を装着する様子の一例を示す図である。図１２は、左コントローラ３および右コントローラ４を装着した移動機器２００の外観の一例を示す、左コントローラ３および右コントローラ４のｙ軸負方向を見た正面図である。図１３は、左コントローラ３が装着された移動機器２００の外観の一例を示す右側面図である。図１４は、右コントローラ４が装着された移動機器２００の外観の一例を示す左側面図である。
【０１０６】
図９〜図１０において、移動体２０１は、大略的に、上面部２０１Ｕ、正面部２０１Ｆ、後面部２０１Ｂ、左側面部２０１Ｌ、および右側面部２０１Ｒから成る箱状形状を有する。そして、左側面部２０１Ｌおよび右側面部２０１Ｒの下端には、それぞれ接地部の一例である脚部ＧＬおよびＧＲが形成されており、脚部ＧＬおよびＧＲを所定の面上に接地させることによって移動体２０１を当該面上に載置することができる。
【０１０７】
左側面部２０１Ｌには、一方のコントローラ（本実施例では右コントローラ４）を着脱可能に係合させる嵌合孔ＳＬが形成されている。嵌合孔ＳＬは、右コントローラ４の少なくとも一部と嵌合可能な形状で形成される。本実施例では、嵌合孔ＳＬは、本体装置２に設けられている右レール部材１９の形状に類似したスリット形状で構成され、右コントローラ４のスライダ６２の少なくとも一部と嵌合可能に形成される。具体的には、嵌合孔ＳＬは、移動体２０１の後面部２０１Ｂ側から右コントローラ４のスライダ６２を差し込み可能に形成され、スライダ６２のみ移動体２０１内部に差し込んだ状態で嵌合孔ＳＬのスリット長手方向に沿って右コントローラ４をスライドさせることによって、右コントローラ４が嵌合孔ＳＬに装着される。また、嵌合孔ＳＬのスリット幅は、正面部２０１Ｆ側の一部が狭く形成され、嵌合孔ＳＬの一部に狭スリット部ＳＬｎが形成される。狭スリット部ＳＬｎまで右コントローラ４のスライダ６２が差し込まれた場合、スライダ６２と左側面部２０１Ｌとの間のすきまがない、またはスライダ６２と左側面部２０１Ｌとの間に所定のしめしろを有する状態となり、いわゆる中間ばめまたはしまりばめの状態となって、右コントローラ４が移動体２０１に固定される。
【０１０８】
右側面部２０１Ｒには、一方のコントローラ（本実施例では左コントローラ３）を着脱可能に係合させる嵌合孔ＳＲが形成されている。嵌合孔ＳＲは、左コントローラ３の少なくとも一部と嵌合可能な形状で形成される。本実施例では、嵌合孔ＳＲは、本体装置２に設けられている左レール部材１５の形状に類似したスリット形状で構成され、左コントローラ３のスライダ４０の少なくとも一部と嵌合可能に形成される。具体的には、嵌合孔ＳＲは、移動体２０１の後面部２０１Ｂ側から左コントローラ３のスライダ４０を差し込み可能に形成され、スライダ４０のみ移動体２０１内部に差し込んだ状態で嵌合孔ＳＲのスリット長手方向に沿って左コントローラ３をスライドさせることによって、左コントローラ３が嵌合孔ＳＲに装着される。また、嵌合孔ＳＲのスリット幅は、正面部２０１Ｆ側の一部が狭く形成され、嵌合孔ＳＲの一部に狭スリット部ＳＲｎが形成される。狭スリット部ＳＲｎまで左コントローラ３のスライダ４０が差し込まれた場合、スライダ４０と右側面部２０１Ｒとの間のすきまがない、またはスライダ４０と右側面部２０１Ｒとの間に所定のしめしろを有する状態となり、いわゆる中間ばめまたはしまりばめの状態となって、左コントローラ３が移動体２０１に固定される。
【０１０９】
ここで、移動体２０１には、左右両側に右コントローラ４および左コントローラ３をそれぞれ装着するための嵌合孔ＳＬおよびＳＲが、それぞれ所定幅の上面部２０１Ｕを挟んで平行、かつ、同じ高さ（すなわち、左右対称）に形成される。これによって、左コントローラ３および右コントローラ４は、それぞれのｘｙｚ軸方向が平行となるとともに同じ高さとなるように移動体２０１に取り付けられることになる。
【０１１０】
左側面部２０１Ｌの正面部２０１Ｆ側の下部には、複数の脚部ＧＬが形成されている。本実施例では、左側面部２０１Ｌに、３箇所で接地可能な３本の脚部ＧＬが形成されている。脚部ＧＬは、相対的に正面部２０１Ｆ側に形成されており、少なくとも２本の脚部ＧＬ（例えば、３本全ての脚部ＧＬ）が移動体２０１の中心より正面部２０１Ｆ側に形成される。また、所定の面上に３本の脚部ＧＬが接地して移動体２０１が載置された場合、移動体２０１全体が所定の角度で前方へ傾く（俯角になる）ように、それぞれの脚部ＧＬの長さが調整される。これによって、移動体２０１に装着される左コントローラ３および右コントローラ４においても、移動体２０１が載置された場合に所定の角度で前方へ傾くように配置されることになる。
【０１１１】
また、右側面部２０１Ｒにも、左側面部２０１Ｌに形成される複数の脚部ＧＬと同様の脚部ＧＲが、左右対称に形成される。すなわち、右側面部２０１Ｒにも、複数箇所（例えば、３箇所）で接地可能な複数（例えば、３本）の脚部ＧＲが形成される。脚部ＧＲは、相対的に正面部２０１Ｆ側に形成され、少なくとも２本の脚部ＧＲ（例えば、３本全ての脚部ＧＲ）が移動体２０１の中心より正面部２０１Ｆ側に形成される。また、脚部ＧＬと同様に、所定の面上に３本の脚部ＧＲが接地して移動体２０１が載置された場合、移動体２０１全体が所定の角度で前方へ傾くように、それぞれの脚部ＧＲの長さが調整される。
【０１１２】
なお、移動機器２００が実空間における面上に載置された場合に接地する部位の一例として、３箇所でそれぞれ接地可能な３本の脚部ＧＬおよび３本の脚部ＧＲを用いたが、他の接地部が用いられてもよい。例えば、実空間における所定面上を転がる踏面を形成する車輪、当該車輪に取り付けられたタイヤ、円柱体（ころ）等によって、移動機器２００における少なくとも一部の接地部が構成されてもよい。また、実空間における所定面上を滑る板状部材によって、移動機器２００における少なくとも一部の接地部が構成されてもよい。また、移動機器２００の下部に植設された複数の繊維や針金の先端部を接地させることによって、移動機器２００における少なくとも一部の接地部が構成されてもよい。さらに、与えられる振動に応じて屈曲可能な部材を移動機器２００の下部に設け、当該部材の下端を接地させることによって、移動機器２００における少なくとも一部の接地部が構成されてもよい。
【０１１３】
本実施例では、左コントローラ３および右コントローラ４の主面（アナログスティック３２や５２が設けられている面）が上方を向いた状態で、左コントローラ３および右コントローラ４のｙ軸負方向が移動体２０１の正面部２０１Ｆ側となるように、左コントローラ３および右コントローラ４が移動体２０１に装着される。例えば、図１１および図１２に示すように、左コントローラ３を移動体２０１に装着する場合、左コントローラ３の主面が上方を向いた状態で下側面（ｙ軸負方向側に形成されている面）側から右側面部２０１Ｒの嵌合孔ＳＲに差し込まれる。このとき、左コントローラ３のスライダ４０の部位のみが移動体２０１の内部に差し込まれた状態で、嵌合孔ＳＲの後面部２０１Ｂ側から嵌合孔ＳＲのスリット方向（図示矢印方向）に左コントローラ３をスライドさせる。このスライド動作では、左コントローラ３がｙ軸負方向へスライドさせることになり、当該スライド動作によって左コントローラ３が正面部２０１Ｆ側までスライドすると、左コントローラ３のスライダ４０が狭スリット部ＳＲｎに嵌合する。この狭スリット部ＳＲｎとの嵌合により、所定のしめしろを有する状態で左コントローラ３のスライダ４０が右側面部２０１Ｒに固定されることになり、左コントローラ３が嵌合孔ＳＲのスリット方向に沿って装着された状態となる。なお、右コントローラ４は、嵌合孔ＳＲのスリット方向に沿って装着されることになるが、左コントローラ３と同様のスライド操作によって装着されるため、詳細な説明を省略する。図１２に示すように、左コントローラ３および右コントローラ４は、それぞれのｘｙｚ軸方向が平行となるとともに同じ高さとなるように移動体２０１に取り付けられることになる。
【０１１４】
図１３に示すように、移動体２０１に左コントローラ３が装着された場合、左コントローラ３のｙ軸負方向が移動体２０１の正面方向（すなわち、進行方向）となる。そして、上述したように、移動体２０１全体が所定の角度で前方へ傾くように脚部ＧＬおよびＧＲが接地されるため、左コントローラ３のｙ軸負方向が俯角となった状態で左コントローラ３が装着される。ここで、左コントローラ３に設けられている振動子１０７は、左コントローラ３内部の下端部付近（ｙ軸負方向側に形成される下側面近傍）に設けられている。したがって、左コントローラ３が移動体２０１に装着された場合、当該左コントローラ３に設けられている振動子１０７が移動体２０１の正面側（進行方向側）に配置されることになる。また、所定のしめしろを有する状態で左コントローラ３と勘合する狭スリット部ＳＬｎが移動体２０１の正面側に形成されているため、左コントローラ３の下端部近傍が狭スリット部ＳＲｎと嵌合することになる。つまり、移動機器２０の駆動源（振動源）となる振動子１０７が配置される近傍が所定のしめしろを有する状態で移動体２０１に固定されるため、振動子１０７の振動がより確実に移動体２０１に伝達されることになる。また、移動機器２００が接地する箇所となる脚部ＧＲも移動体２０１の正面側に形成されている。したがって、移動機器２００が移動する際の接地部が駆動源（振動源）となる振動子１０７に近い位置に配設されることになり、より強い振動を接地部（脚部ＧＲ）に与えることも可能となる。このように、本実施例では、移動機器２００の進行方向となる正面側に駆動源（振動子１０７）が配置されるとともに、当該駆動源を固定するための嵌合部（狭スリット部ＳＲｎ）や移動する際の接地部（脚部ＧＲ）も同じ正面側に設けられているため、当該進行方向へ移動機器２００を移動させる推進力を与えやすくなり、当該進行方向に移動するための振動を効率よく移動体２０１に与えることが可能となる。
【０１１５】
また、図１４に示すように、移動体２０１に右コントローラ４が装着された場合、右コントローラ４のｙ軸負方向が移動体２０１の正面方向（すなわち、進行方向）となる。そして、上述したように、移動体２０１全体が所定の角度で前方へ傾くように脚部ＧＬおよびＧＲが接地されるため、右コントローラ４のｙ軸負方向が俯角となった状態で右コントローラ４が装着される。ここで、右コントローラ４に設けられている振動子１１７は、右コントローラ４内部の下端部付近（ｙ軸負方向側に形成される下側面近傍）に設けられている。したがって、右コントローラ４が移動体２０１に装着された場合、当該右コントローラ４に設けられている振動子１１７が移動体２０１の正面側（進行方向側）に配置されることになる。また、所定のしめしろを有する状態で右コントローラ４と勘合する狭スリット部ＳＬｎが移動体２０１の正面側に形成されているため、右コントローラ４の下端部近傍が狭スリット部ＳＬｎと嵌合することになる。つまり、移動機器２０の駆動源（振動源）となる振動子１１７が配置される近傍が所定のしめしろを有する状態で移動体２０１に固定されるため、振動子１１７の振動がより確実に移動体２０１に伝達されることになる。また、移動機器２００が接地する箇所となる脚部ＧＬも移動体２０１の正面側に形成されている。したがって、移動機器２００が移動する際の接地部が駆動源（振動源）となる振動子１１７に近い位置に配設されることになり、より強い振動を接地部（脚部ＧＬ）に与えることも可能となる。このように、本実施例では、移動機器２００の進行方向となる正面側に駆動源（振動子１１７）が配置されるとともに、当該駆動源を固定するための嵌合部（狭スリット部ＳＬｎ）や移動する際の接地部（脚部ＧＬ）も同じ正面側に設けられているため、当該進行方向へ移動機器２００を移動させる推進力を与えやすくなり、当該進行方向に移動するための振動を効率よく移動体２０１に与えることが可能となる。
【０１１６】
また、図９〜図１４から明らかなように、脚部ＧＬが振動子１１７の下部領域における接地部として配設され、脚部ＧＲが振動子１０７の下部領域における接地部として配設される。つまり、脚部ＧＬは、脚部ＧＲに対して振動子１０７から相対的に遠方に配設されることになり、脚部ＧＲは、脚部ＧＬに対して振動子１１７から相対的に遠方に配設されることになる。したがって、振動子１０７および１１７を同じ振幅および同じ周波数で振動させた場合であっても、脚部ＧＬが振動子１０７から得られる振動よりも振動子１１７から得られる振動によってより強く振動し、脚部ＧＲが振動子１１７から得られる振動よりも振動子１０７から得られる振動によってより強く振動することになる。また、振動子１０７のみが振動した場合、脚部ＧＬより大きな振動で脚部ＧＲが振動することになり、移動機器２００において背面側から見て左側の推進力より右側の推進力が大きくなるため、移動機器２００が左に旋回して移動することになる。一方、振動子１１７のみが振動した場合、脚部ＧＲより大きな振動で脚部ＧＬが振動することになり、移動機器２００において背面側から見て右側の推進力より左側の推進力が大きくなるため、移動機器２００が右に旋回して移動することになる。
【０１１７】
なお、移動体２０１に左コントローラ３および右コントローラ４を装着する方法は、上述した例に限らず、他の方法によって装着されてもよい。第１の例として、左コントローラ３および右コントローラ４の主面（アナログスティック３２や５２が設けられている面）が下方や横に向いた状態で、左コントローラ３および右コントローラ４が移動体２０１に取り付けられてもよい。第２の例として、左コントローラ３および右コントローラ４のｙ軸正方向が移動体２０１の正面方向となる状態で、左コントローラ３および右コントローラ４が移動体２０１に取り付けられてもよい。第３の例として、左コントローラ３が移動体２０１の左側面部２０１Ｌに取り付けられ、右コントローラ４が移動体２０１の右側面部２０１Ｒに取り付けられてもよい。また、上記第１の例〜第３の例の少なくとも２つを組み合わせて、左コントローラ３および右コントローラ４を移動体２０１に取り付けてもよい。
【０１１８】
次に、図１５を参照して、移動体２０１の組立方法について説明する。なお、図１５は、移動体２０１を組み立てるための厚紙部材の一例を示す図である。なお、図１５においては、実線が厚紙部材から切り取る線を示し、一点鎖線が厚紙部材を山折りにする線を示している。
【０１１９】
図１５において、移動体２０１における各構成部品は、厚紙部材を折り曲げることによって構成されている。なお、図１５に図示している部品は、移動体２０１における各構成部品の一部であってもよく、図１５に図示していない構成部品についても厚紙部材を折り曲げることによって組み立てられてもよい。また、本実施例における厚紙部材は、積層構造を有する板紙単体や複数の板紙を貼り合わせた部材であってよい。一例として、波状に成形した板紙の片面または両面に板紙を貼り合わせた、いわゆる段ボール部材であってもよい。
【０１２０】
図１５に示すように、移動体２０１は、１枚の厚紙部材を立体形状に折り曲げることによって形成される。移動体２０１を形成するための厚紙部材は、上面部２０１Ｕ、正面部２０１Ｆ、後面部２０１Ｂ、左側面部２０１Ｌ、および右側面部２０１Ｒと、嵌合孔ＳＬおよびＳＲを形成する孔と、各部を形成して固定するための貫装孔や貫装切り欠きと、当該貫装孔や貫装切り欠きに貫装するための貫装片等とが形成されている。そして、上記各部が形成された板材を一点鎖線部で山折りに折り曲げながら、上記貫装孔や貫装切り欠きに上記貫装片を貫装することによって、移動体２０１が組み立てられる。具体的には、上記板材は、厚紙部材によって構成され、移動体２０１を形成する立体形状に当該厚紙部材を折り曲げることによって、移動体２０１が組み立てられる。
【０１２１】
なお、上述した厚紙部材を折り曲げて立体（多面体）を形成する際の面同士の接合方法については、任意の方法でかまわない。例えば、当該面同士の接合辺を粘着テープで貼り合わせてもよいし、当該接合辺に差し込み辺および差し込み孔を形成して当該差し込みによって当該接合辺を接合してもよいし、当該接合辺同士を接着剤で接合してもよい。また、移動体２０１を構成する各部品が厚紙部材で構成される例を用いたが、これらの各部の少なくとも一部は、薄紙部材や他の材質の板材であってもよい。例えば、上記各部の少なくとも一部は、樹脂製や木製や金属製の薄板材や厚板材を折り曲げることによって組み立てられてもよいし、帯状の繊維材で構成されてもよい。また、上記各部の一部に他の材質の部品が組み付けられていてもよい。例えば、他の部材が貫装される孔や接地して移動する接地部は、当該部材の移動や移動体２０１自体の移動によって削られたり摩耗したりすることが考えられるため、当該部分に樹脂製等のリング部材やシート部材を用いることが考えられる。また、上記各部の少なくとも一部は、予め多面体形状の部品として形成されていてもよい。
【０１２２】
次に、図１６を参照して、自走モードについて説明する。なお、図１６は、自走モードを用いて移動機器２００が移動している様子の一例を示す図である。
【０１２３】
図１６において、移動機器２００が自走モードで移動する場合、右コントローラ４に設けられている赤外撮像部１２３によって撮像された画像が用いられる。例えば、右コントローラ４の下側面には、赤外撮像部１２３が周囲を撮像するための窓部６８が設けられており、移動体２０１に右コントローラ４が装着された場合、窓部６８が移動機器２００の進行方向側に配置される。したがって、窓部６８を介して撮像する赤外撮像部１２３の撮像方向は、移動機器２００の進行方向となる。
【０１２４】
自走モードで移動機器２００を移動させる場合、移動機器２００が移動する同じ移動面上に撮像対象部材が配置される。例えば、撮像対象部材の少なくとも一部は、赤外撮像部１２３が撮像する撮像画像において他の部分と区別可能な材質で構成される認識部Ｍで構成される。例えば、認識部Ｍは、再帰性反射の特性を有する材質で構成されてもよい。これによって、認識部Ｍによって赤外光がより多く反射するため、赤外撮像部１２３が撮像する撮像画像において認識部Ｍ、すなわち撮像対象部材の撮像位置を認識しやすくなる。なお、撮像対象部材は、上記移動面上に静止させて配置するものでもよいし、他の移動機器（例えば、他の移動機器２００）に貼り付けられてもよい。
【０１２５】
自走モードでは、赤外撮像部１２３によって撮像された撮像画像に関するデータが本体装置２に送信される。そして、本体装置２は、送信された撮像画像に関するデータに基づいて、当該撮像画像に上記撮像対象部材（認識部Ｍ）が撮像されているか否かを所定の画像認識処理を用いて判定する、また、本体装置２は、上記撮像画像に上記撮像対象部材（認識部Ｍ）が撮像されている場合、当該撮像対象部材が撮像されている撮像対象撮像方向を算出し、当該撮像対象撮像方向に基づいて移動機器２００が移動すべき方向を設定する。一例として、本体装置２は、赤外撮像部１２３によって撮像された撮像画像において撮像されている最も近い上記撮像対象部材（認識部Ｍ）が当該撮像画像の中央に撮像されるように、振動子１０７および１１７の振動を制御することによって移動機器２００の移動方向を調整する。例えば、本体装置２は、上記撮像対象部材（認識部Ｍ）が上記撮像画像の左側領域に撮像されている場合、移動機器２００の移動方向を左に旋回させるために左コントローラ３の振動子１０７のみを振動させる。そして、本体装置２は、上記撮像対象部材の撮像位置が上記撮像画像の中央領域に移動した時点で左コントローラ３の振動子１０７および右コントローラ４の振動子１１７の両方を振動させて、撮像対象部材に向かって移動機器２００を移動させる。一方、本体装置２は、上記撮像対象部材（認識部Ｍ）が上記撮像画像の右側領域に撮像されている場合、移動機器２００の移動方向を右に旋回させるために右コントローラ４の振動子１１７のみを振動させる。そして、本体装置２は、上記撮像対象部材の撮像位置が上記撮像画像の中央領域に移動した時点で左コントローラ３の振動子１０７および右コントローラ４の振動子１１７の両方を振動させて、撮像対象部材に向かって移動機器２００を移動させる。
【０１２６】
なお、上述したように、認識部Ｍを他の移動機器に貼り付けてもよく、例えば、当該他の移動機器の後部に認識部Ｍを貼り付けることによって、移動する他の移動機器に自動的に追従させて移動機器２００を自走させるような制御が可能となる。また、上述した説明では、撮像対象部材（認識部Ｍ）に向かって移動機器２００を移動させる制御を用いたが、自走モードにおいて他の制御が行われてもよい。例えば、本体装置２は、赤外撮像部１２３によって撮像された撮像画像に撮像対象部材（認識部Ｍ）が撮像されていない場合、撮像対象部材を探すための所定の動作（例えば、移動機器２００を右または左に旋回させる動作）を行わる制御を行ってもよいし、その位置で移動を停止させる制御を行ってもよい。また、本体装置２は、撮像対象部材との衝突を避けるように移動機器２００を移動させてもよい。この場合、本体装置２は、上記撮像画像において上記撮像対象部材の撮像位置が左端部分または右端部分となるように移動機器２００の移動方向を制御してもよいし、上記撮像画像において上記撮像対象部材が撮像されないように移動機器２００の移動方向を制御してもよい。
【０１２７】
また、右コントローラ４から本体装置２へ送信される、赤外撮像部１２３によって撮像された撮像画像に関するデータは、当該撮像画像そのものを示すデータでもよいし、当該撮像画像から得られる情報を示すデータでもよい。本体装置２は、上記情報に基づいて、撮像対象部材（認識部Ｍ）の撮像位置を推定して、移動機器２００の移動方向を制御する。一例として、右コントローラ４内において、赤外撮像部１２３が撮像した撮像画像の中から高輝度画素の塊（クラスタ）を検出し、当該撮像画像における当該クラスタの位置やサイズを示すデータを本体装置２へ送信してもよい。他の例として、右コントローラ４内において、赤外撮像部１２３が撮像した撮像画像を複数のブロックに分割し、ブロック毎の平均輝度や重心位置を示すデータを本体装置２へ送信してもよい。
【０１２８】
次に、図１７〜図１９を参照して、本実施形態において本体装置２で実行される具体的な処理の一例について説明する。図１７は、本実施形態において本体装置２のＤＲＡＭ８５に設定されるデータ領域の一例を示す図である。なお、ＤＲＡＭ８５には、図１７に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。
【０１２９】
ＤＲＡＭ８５のプログラム記憶領域には、本体装置２で実行される各種プログラムＰａが記憶される。本実施形態においては、各種プログラムＰａは、上述した左コントローラ３および右コントローラ４との間で無線通信するための通信プログラムや、左コントローラ３および／または右コントローラ４から取得したデータに基づいた情報処理（例えば、ゲーム処理）を行うためのアプリケーションプログラム、左コントローラ３および／または右コントローラ４を振動させるための振動制御プログラム等が記憶される。なお、各種プログラムＰａは、フラッシュメモリ８４に予め記憶されていてもよいし、ゲームシステム１に着脱可能な記憶媒体（例えば、スロット２３に装着された記憶媒体）から取得されてＤＲＡＭ８５に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてＤＲＡＭ８５に記憶されてもよい。プロセッサ８１は、ＤＲＡＭ８５に記憶された各種プログラムＰａを実行する。
【０１３０】
また、ＤＲＡＭ８５のデータ記憶領域には、本体装置２において実行される通信処理や情報処理等の処理において用いられる各種のデータが記憶される。本実施形態においては、ＤＲＡＭ８５には、操作データＤａ、コントローラデータＤｂ、姿勢データＤｃ、認識部位置データＤｄ、振動データＤｅ、自走モードフラグデータＤｆ、周波数データＤｇ、および画像データＤｈ等が記憶される。
【０１３１】
操作データＤａは、本体装置２を用いて操作された操作内容を示すデータである。例えば、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備えており、操作データＤａにはタッチパネル１３に対するタッチ操作の有無やタッチ位置を示すデータが適宜格納される。本実施形態では、本体装置２に備えられている操作装置（例えば、タッチパネル１３）から所定周期で操作データが出力されており、当該出力された操作データを用いて操作データＤａが適宜更新される。なお、操作データＤａの更新周期は、後述するゲームシステム１で実行される処理の周期である１フレーム毎に更新されてもよいし、上記操作データが出力される周期毎に更新されてもよい。
【０１３２】
コントローラデータＤｂは、左コントローラ３および／または右コントローラ４からそれぞれ適宜取得したデータである。上述したように、左コントローラ３および／または右コントローラ４からそれぞれ送信されるコントローラデータには、各入力部（具体的には、各ボタン、アナログスティック、各センサ）からの入力に関する情報（具体的には、操作に関する情報、または、センサによる検出結果）と、赤外撮像部１２３の撮像画像の撮像結果に基づく情報とが含まれている。本実施形態では、無線通信によって左コントローラ３および／または右コントローラ４からそれぞれ所定周期でコントローラデータが送信されており、当該受信したコントローラデータを用いてコントローラデータＤｂが適宜更新される。なお、コントローラデータＤｂの更新周期は、後述するゲームシステム１で実行される処理の周期である１フレーム毎に更新されてもよいし、上記無線通信によってコントローラデータが送信される周期毎に更新されてもよい。具体的には、コントローラデータＤｂは、角速度データＤｂ１、加速度データＤｂ２、および撮像画像データＤｂ３等を含んでいる。角速度データＤｂ１は、左コントローラ３の角速度センサ１０５によって検出された左コントローラ３に生じている角速度に関する情報および右コントローラ４の角速度センサ１１５によって検出された右コントローラ４に生じている角速度に関する情報をそれぞれ示すデータである。例えば、角速度データＤｂ１は、左コントローラ３や右コントローラ４にそれぞれ生じているｘｙｚ軸周りの角速度を示すデータ等を含んでいる。加速度データＤｂ２は、左コントローラ４の加速度センサ１０４によって検出された左コントローラ３に生じている加速度に関する情報および右コントローラ４の加速度センサ１１４によって検出された右コントローラ４に生じている加速度に関する情報をそれぞれ示すデータである。例えば、加速度データＤｂ２は、左コントローラ３および右コントローラ４にそれぞれ生じているｘｙｚ軸方向の加速度を示すデータ等を含んでいる。撮像画像データＤｂ３は、赤外撮像部１２３によって撮像された撮像画像に関するデータであり、撮像画像そのものを示すデータでもよいし、当該撮像画像から得られた情報を示すデータでもよい。
【０１３３】
姿勢データＤｃは、実空間における重力加速度の方向を基準とした左コントローラ３および右コントローラ４の姿勢をそれぞれ示すデータである。例えば、姿勢データＤｃは、左コントローラ３および右コントローラ４にそれぞれ作用している重力加速度の方向を示すデータや、当該重力加速度方向に対するｘｙｚ軸方向をそれぞれ示すデータ等を含んでいる。
【０１３４】
認識部位置データＤｄは、赤外撮像部１２３の撮像画像において撮像されている認識部Ｍの撮像位置を示すデータである。
【０１３５】
振動データＤｅは、左コントローラ３および右コントローラ４を振動させるための振動を示すデータである。
【０１３６】
自走モードフラグデータＤｆは、自走モードが設定されている場合にオンに設定される自走モードフラグを示すデータである。
【０１３７】
周波数データＤｇは、左コントローラ３および右コントローラ４をそれぞれ振動させる周波数を示すデータである。
【０１３８】
画像データＤｈは、ゲームの際に表示装置（例えば、本体装置２のディスプレイ１２）に画像（例えば、操作ボタン画像等）を表示するためのデータである。
【０１３９】
次に、本実施形態における制御処理（例えば、移動機器２００の移動を制御するゲーム処理）の詳細な一例を説明する。図１８は、本体装置２で実行される制御処理の一例を示すフローチャートである。図１９は、図１８のステップＳ１６５における自走モード処理の一例を示すサブルーチンである。本実施形態においては、図１８および図１９に示す一連の処理は、プロセッサ８１が各種プログラムＰａに含まれる通信プログラムや所定のアプリケーションプログラム（例えば、制御プログラム）を実行することによって行われる。また、図１８に示す制御処理が開始されるタイミングは任意である。
【０１４０】
なお、図１８および図１９に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて（または代えて）別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をプロセッサ８１が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、プロセッサ８１以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置２において実行される処理の一部は、本体装置２と通信可能な他の情報処理装置（例えば、本体装置２とネットワークを介して通信可能なサーバ）によって実行されてもよい。すなわち、図１８および図１９に示す各処理は、本体装置２を含む複数の情報処理装置が協働することによって実行されてもよい。
【０１４１】
図１８において、プロセッサ８１は、ゲーム処理における初期設定を行い（ステップＳ１６０）、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ８１は、以下に説明する処理を行うためのパラメータを初期化する。また、上記初期設定において、プロセッサ８１は、移動機器２００の移動を制御する処理を行うことや、左コントローラ３および右コントローラ４が装着されている移動機器２００（実空間を移動する装置）の種別や識別情報を必要に応じて設定する。例えば、本体装置２、左コントローラ３、または右コントローラ４を用いて、移動機器２００の移動制御を行うことと、移動機器２００の種別を選択する操作をユーザが行うことによって、制御処理が行われる移動機器２００の種別が初期設定されてもよい。
【０１４２】
次に、プロセッサ８１は、本体装置２の操作装置（例えば、タッチパネル１３）から操作データをそれぞれ取得して操作データＤａを更新し（ステップＳ１６１）、次のステップに処理を進める。例えば、プロセッサ８１は、タッチパネル１３がタッチ操作されている位置を用いて、操作データＤａを更新する。
【０１４３】
次に、プロセッサ８１は、左コントローラ３および右コントローラ４からコントローラデータをそれぞれ取得してコントローラデータＤｂを更新し（ステップＳ１６２）、次のステップに処理を進める。例えば、プロセッサ８１は、左コントローラ３および右コントローラ４からそれぞれ取得したコントローラデータに応じて、角速度データＤｂ１、加速度データＤｂ２、および撮像画像データＤｂ３を更新する。
【０１４４】
次に、プロセッサ８１は、自走モードであるか否かを判定する（ステップＳ１６３）。そして、プロセッサ８１は、自走モードでない場合、ステップＳ１６４に処理を進める。一方、プロセッサ８１は、自走モードである場合、ステップＳ１６５に処理を進める。例えば、プロセッサ８１は、自走モードフラグデータＤｆが示す自走フラグがオンに設定されている場合、自走モードであると判定する。また、プロセッサ８１は、上記ステップＳ１６１において取得された操作データを参照して、ディスプレイ１２に表示された自走モード選択ボタン画像ＩＭ１（図８参照）をタッチ操作していることが示されている場合、自走モードであると判定する。なお、上記ステップＳ１６１において取得された操作データを参照して、ディスプレイ１２に表示された自走モードを解除する操作ボタンをタッチ操作していることが示されている場合、自走モードフラグデータＤｆが示す自走フラグをオフに設定するとともに、自走モードでないと判定する。
【０１４５】
ステップＳ１６４において、プロセッサ８１は、ユーザ操作に応じて振動データを設定し、ステップＳ１６６に処理を進める。例えば、プロセッサ８１は、操作データＤａを参照して、ディスプレイ１２に表示された左振動ボタン画像ＩＬおよび／または右振動ボタン画像ＩＲ（図８参照）がタッチ操作されているか否かを判定する。そして、プロセッサ８１は、左振動ボタン画像ＩＬがタッチ操作されている場合、右コントローラ４を振動させるための振動データを生成する処理を行う。例えば、プロセッサ８１は、周波数データＤｇにおいて設定されている右コントローラ４に与える振動の周波数で右コントローラ４が所定の振幅で振動するように振動波形を生成し、当該振動波形に基づいて右コントローラ４を振動させるための振動データを生成して、振動データＤｅを更新する。また、プロセッサ８１は、右振動ボタン画像ＩＲがタッチ操作されている場合、左コントローラ３を振動させるための振動データを生成する処理を行う。例えば、プロセッサ８１は、周波数データＤｇにおいて設定されている左コントローラ３に与える振動の周波数で左コントローラ３が所定の振幅で振動するように振動波形を生成し、当該振動波形に基づいて左コントローラ３を振動させるための振動データを生成して、振動データＤｅを更新する。なお、プロセッサ８１は、左振動ボタン画像ＩＬがタッチ操作されていない場合、右コントローラ４の振動を停止させるための振動データ（例えば、振動を停止する指示を示すデータや振幅および周波数が０の振動波形を示すデータ）を生成して、振動データＤｅを更新する。また、プロセッサ８１は、右振動ボタン画像ＩＲがタッチ操作されていない場合、左コントローラ３の振動を停止させるための振動データを生成、振動データＤｅを更新する。
【０１４６】
ステップＳ１６６において、プロセッサ８１は、左コントローラ３および右コントローラ４の姿勢を算出し、次のステップに処理を進める。例えば、プロセッサ８１は、左コントローラ３に生じている加速度を示すデータを加速度データＤｂ２から取得し、左コントローラ３に作用している重力加速度の方向を算出して、当該方向を示すデータを用いて左コントローラ３の姿勢データＤｃを更新する。重力加速度を抽出する方法については任意の方法を用いればよく、例えば左コントローラ３に平均的に生じている加速度成分を算出して当該加速度成分を重力加速度として抽出してもよい。そして、プロセッサ８１は、左コントローラ３に生じている角速度を示すデータを角速度データＤｂ１から取得し、左コントローラ３のｘｙｚ軸周りの角速度を算出して、当該角速度を示すデータを用いて重力加速度の方向を基準とした左コントローラ３のｘｙｚ軸方向を算出して左コントローラ３の姿勢データＤｃを更新する。また、プロセッサ８１は、右コントローラ４に生じている加速度を示すデータを加速度データＤｂ２から取得し、右コントローラ４に作用している重力加速度の方向を算出して、当該方向を示すデータを用いて右コントローラ４の姿勢データＤｃを更新する。そして、プロセッサ８１は、右コントローラ４に生じている角速度を示すデータを角速度データＤｂ１から取得し、右コントローラ４のｘｙｚ軸周りの角速度を算出して、当該角速度を示すデータを用いて重力加速度の方向を基準とした右コントローラ４のｘｙｚ軸方向を算出して右コントローラ４の姿勢データＤｃを更新する。
【０１４７】
なお、左コントローラ３および右コントローラ４の姿勢については、重力加速度を基準としたｘｙｚ軸方向が算出された以降は、ｘｙｚ各軸周りの角速度のみに応じて更新してもよい。しかしながら、左コントローラ３および右コントローラ４の姿勢と重力加速度の方向との関係が誤差の累積によってずれていくことを防止するために、所定周期毎に重力加速度の方向に対するｘｙｚ軸方向を算出して左コントローラ３および右コントローラ４の姿勢を補正してもよい。
【０１４８】
次に、プロセッサ８１は、移動機器２００が転倒しているか否かを判定する（ステップＳ１６７）。そして、プロセッサ８１は、移動機器２００が転倒している場合、ステップＳ１６８に処理を進める。一方、プロセッサ８１は、移動機器２００が転倒していない場合、ステップＳ１６９に処理を進める。例えば、プロセッサ８１は、姿勢データＤｃを参照して、左コントローラ３および／または右コントローラ４に生じている重力加速度の方向が、ｚ軸正方向を含む所定範囲内にない場合、移動機器２００が転倒していると判定する。
【０１４９】
ステップＳ１６８において、プロセッサ８１は、ユーザに転倒を通知する処理を行い、ステップＳ１６９に処理を進める。第１の例として、プロセッサ８１は、移動機器２００が転倒した旨を示す通知画像をディスプレイ１２に表示する処理を行う。第２の例として、プロセッサ８１は、移動機器２００が転倒した旨を示す通知音声をスピーカ８８から出力する処理を行う。第３の例として、プロセッサ８１は、自走モードフラグデータＤｆが示す自走フラグをオフに設定するとともに、左コントローラ３および右コントローラ４の振動を停止させるための振動データを生成して、振動データＤｅを更新する。
【０１５０】
ステップＳ１６９において、プロセッサ８１は、周波数調整操作が行われたか否かを判定する。そして、プロセッサ８１は、周波数調整操作が行われた場合、ステップＳ１７０に処理を進める。一方、プロセッサ８１は、周波数調整操作が行われていない場合、ステップＳ１７１に処理を進める。例えば、プロセッサ８１は、操作データＤａを参照して、ディスプレイ１２に表示された左振動周波数調整バー画像ＩＦＬおよび／または右振動周波数調整バー画像ＩＦＲ（図８参照）がタッチ操作されている場合、周波数調整操作が行われていると判定する。
【０１５１】
ステップＳ１７０において、プロセッサ８１は、周波数調整処理を行い、ステップＳ１７１に処理を進める。例えば、プロセッサ８１は、左振動周波数調整バー画像ＩＦＬおよび／または右振動周波数調整バー画像ＩＦＲに含まれている操作子画像を当該バー方向に沿って移動させるドラッグ操作が行われている場合、当該ドラッグ操作に応じて当該操作子画像を移動させてディスプレイ１２に表示する処理を行う。そして、プロセッサ８１は、操作子画像の表示位置が移動した場合、当該移動後の操作子画像の表示位置に応じた周波数設定値を新たに設定し、当該新たな周波数設定値を用いて当該操作子画像に対応する側の周波数データＤｇを更新する。
【０１５２】
ステップＳ１７１において、プロセッサ８１は、振動データを送信する周期毎に当該周期に対応する振動データを左コントローラ３および右コントローラ４へ送信する処理を行い、次のステップに処理を進める。例えば、プロセッサ８１は、振動データＤｅを参照して、上記送信周期に対応する振動長さ分の左コントローラ３の振動データを左コントローラ３へ送信する。また、プロセッサ８１は、振動データＤｅを参照して、上記送信周期に対応する振動長さ分の右コントローラ４の振動データを右コントローラ４へ送信する。このように各コントローラ用の振動データがそれぞれ送信されることによって、当該振動データを受信した左コントローラ３および／または右コントローラ４は、それぞれの振動データに応じた振動波形で振動する。
【０１５３】
次に、プロセッサ８１は、ディスプレイ１２に画像を表示する処理を行い（ステップＳ１７２）、次のステップに処理を進める。例えば、プロセッサ８１は、左振動ボタン画像ＩＬ、右振動ボタン画像ＩＲ、左振動周波数調整バー画像ＩＦＬ、右振動周波数調整バー画像ＩＦＲ、自走モード選択ボタン画像ＩＭ１、および暗視モード選択ボタン画像ＩＭ２等が表示された操作ボタン画像（図８参照）を生成し、当該操作ボタン画像をディスプレイ１２に表示する処理を行う。また、プロセッサ８１は、右コントローラ４から赤外撮像部１２３によって撮像された撮像画像を取得している場合、当該撮像画像を撮像画像ＩＣとしてディスプレイ１２に表示する。また、プロセッサ８１は、所定の情報（例えば、移動機器２００が転倒したことを示す情報）の通知を表示する設定されている場合、当該情報に関連する画像を生成し、当該画像をディスプレイ１２に表示する処理を行う。
【０１５４】
次に、プロセッサ８１は、ゲームを終了するか否かを判定する（ステップＳ１７３）。上記ステップＳ１７３においてゲームを終了する条件としては、例えば、上記ゲームを終了する条件が満たされたことや、ユーザがゲームを終了する操作を行ったこと等がある。プロセッサ８１は、ゲームを終了しない場合に上記ステップＳ１６１に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。以降、ステップＳ１６１〜ステップＳ１７３の一連の処理は、ステップＳ１７３でゲームを終了すると判定されるまで繰り返し実行される。
【０１５５】
一方、プロセッサ８１は、上記ステップＳ１６３において自走モードであると判定した場合、自走モード処理（ステップＳ１６５）を行って、上記ステップＳ１６６に処理を進める。以下、図１９を参照して、ステップＳ１６５で行う自走モード処理について説明する。
【０１５６】
図１９において、プロセッサ８１は、赤外撮像部１２３によって撮像された撮像画像の分析を行い（ステップＳ１８１）、次のステップに処理を進める。例えば、プロセッサ８１は、撮像画像データＤｂ３が示す撮像画像に対して所定の画像認識処理（例えば、認識部Ｍの形状を用いたパターンマッチング処理）を行うことによって、当該撮像画像内に撮像されている認識部Ｍを抽出する。
【０１５７】
次に、プロセッサ８１は、撮像画像内に認識部Ｍが撮像されているか否かを判定する（ステップＳ１８２）。そして、プロセッサ８１は、撮像画像内に認識部Ｍが撮像されている場合、ステップＳ１８３に処理を進める。一方、プロセッサ８１は、撮像画像内に認識部Ｍが撮像されていない場合、ステップＳ１８４に処理を進める。
【０１５８】
ステップＳ１８３において、プロセッサ８１は、認識部Ｍの撮像位置に基づいて振動データを設定し、ステップＳ１８５に処理を進める。例えば、プロセッサ８１は、最も大きく撮像されている認識部Ｍが上記撮像画像の中央領域に撮像されている場合、左コントローラ３および右コントローラ４の両方を振動させる振動データを設定して、振動データＤｅを更新する。また、プロセッサ８１は、最も大きく撮像されている認識部Ｍが上記撮像画像の中央領域より左側の領域（左側領域）に撮像されている場合、左コントローラ３のみを振動させる振動データを設定して振動データＤｅを更新する。また、プロセッサ８１は、最も大きく撮像されている認識部Ｍが上記撮像画像の中央領域より右側の領域（右側領域）に撮像されている場合、右コントローラ４のみを振動させる振動データを設定して振動データＤｅを更新する。なお、各コントローラを振動させる振動波形を生成する方法については上記ステップＳ１６４と同様であるため、ここでは詳細な説明を省略する。
【０１５９】
なお、上記ステップＳ１８３における処理では、赤外撮像部１２３の撮像画像に複数の認識部Ｍが撮像されている場合、最も大きく撮像されている認識部Ｍ（すなわち、赤外撮像部１２３の視点に最も近い認識部Ｍ）を処理の対象（すなわち、移動目標）としているが、他の基準によって処理の対象が選択されてもよい。例えば、赤外撮像部１２３の撮像画像に複数の認識部Ｍが撮像されている場合、当該撮像画像の中心位置に最も近い位置に撮像されている認識部Ｍ（すなわち、進行方向に最も近い認識部Ｍ）を処理の対象（すなわち、移動目標）としてもよい。
【０１６０】
また、上記ステップＳ１８３における処理では、赤外撮像部１２３の撮像画像に撮像されている認識部Ｍのサイズが所定の大きさ以上である場合、左コントローラ３および右コントローラ４の両方の振動を停止させてもよい。この場合、移動機器２００と認識部Ｍとの間が所定距離未満に接近することに応じて、移動機器２００の移動を停止させることが可能となる。
【０１６１】
ステップＳ１８４において、プロセッサ８１は、予め定められた振動データを設定し、ステップＳ１８５に処理を進める。例えば、プロセッサ８１は、左コントローラ３および右コントローラ４の両方を振動させる振動データを設定して、振動データＤｅを更新する。なお、各コントローラを振動させる振動波形を生成する方法については上記ステップＳ１６４と同様であるため、ここでは詳細な説明を省略する。
【０１６２】
ステップＳ１８５において、プロセッサ８１は、自走モードフラグデータＤｆが示す自走フラグをオンに設定して、当該サブルーチンによる処理を終了する。
【０１６３】
このように、本実施例においては、移動機器２００に振動を与えることによって、実空間における所定面上を移動させることができ、移動機器２００に与える独立した２つの振動を制御することによって、振動による移動を多様にすることができる。
【０１６４】
なお、上述した説明では、本体装置２のディスプレイ１２に表示された操作ボタン画像をタッチ操作するユーザインターフェースを操作部として用いているが、他の態様の操作部でもよい。例えば、押下操作が可能な操作ボタン、傾倒操作が可能なスティック、ポインティング操作等が可能なマウス、タッチ操作が可能なタッチパッド、ユーザ動作（ジェスチャ）の認識が可能なユーザ動作検出システム等、様々な操作部を用いて移動機器２００の移動制御を行ってもかまわない。
【０１６５】
また、本実施例では、左振動ボタン画像ＩＬおよび／または右振動ボタン画像ＩＲ（図８参照）がタッチ操作されているか否かによって、右コントローラ４および／または左コントローラ３の振動がオン／オフされる態様を用いたが、振動の振幅や周波数が変化してもかまわない。第１の例として、左振動ボタン画像ＩＬおよび／または右振動ボタン画像ＩＲがタッチ操作されているか否かに応じて、右コントローラ４および／または左コントローラ３の振動の振幅や周波数を変化させる制御が行われてもよい。第２の例として、左振動ボタン画像ＩＬおよび／または右振動ボタン画像ＩＲがタッチ操作された際の、左振動ボタン画像ＩＬ内および／または右振動ボタン画像ＩＲ内におけるタッチ位置やドラッグ方向に応じて、右コントローラ４および／または左コントローラ３の振動の振幅や周波数を変化させる制御が行われてもよい。第３の例として、左振動ボタン画像ＩＬおよび／または右振動ボタン画像ＩＲに対するタッチ操作が継続（長押し操作）されている継続時間に応じて、右コントローラ４および／または左コントローラ３の振動の振幅や周波数を変化させる制御が行われてもよい。
【０１６６】
また、上述した説明では、独立した２つの振動を制御することによって、実空間における所定面上を移動機器２００が移動する際の移動制御を行う例を用いたが、振動によって移動機器２００に対する他の制御を行ってもよい。例えば、独立した２つの振動を制御することによって、実空間における所定面上で移動機器２００が回転する際の回転方向や回転速度を制御してもよい。
【０１６７】
また、上述した説明では、左コントローラ３の長手方向と右コントローラ４の長手方向とが平行、かつ同じ高さになるように移動体２０１に装着される例を用いたが、左コントローラ３の長手方向と右コントローラ４の長手方向とが異なる方向に装着されてもよいし、異なる高さに装着されてもよい。移動体２０１の形状や走行能力に応じて、適切な箇所および／または方向に左コントローラ３および右コントローラ４を装着すればよい。
【０１６８】
また、上述した実施例において、左コントローラ３および右コントローラ４の動きや姿勢を検出する方法については、単なる一例であって、他の方法や他のデータを用いて左コントローラ３および右コントローラ４の動きや姿勢を検出してもよい。例えば、左コントローラ３および右コントローラ４の姿勢を、左コントローラ３および右コントローラ４にそれぞれ生じる角速度のみで算出、または左コントローラ３および右コントローラ４にそれぞれ生じる角速度と加速度とを組み合わせて算出しているが、左コントローラ３および右コントローラ４にそれぞれ生じる加速度のみで姿勢を算出してもかまわない。左コントローラ３および右コントローラ４にそれぞれ生じる加速度のみ検出する場合であっても、左コントローラ３および右コントローラ４にそれぞれ生じる重力加速度が生じている方向を算出可能であり、当該重力加速度を基準としたｘｙｚ軸方向を逐次算出すれば上述した実施例と同様の処理が可能であることは言うまでもない。また、上述した実施例では、移動機器２００の移動を制御するための操作ボタン画像を本体装置２のディスプレイ１２に表示しているが、クレードルを介して据置型モニタに表示してもよい。
【０１６９】
また、本体装置２と左コントローラ３および右コントローラ４とは、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器（ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、パーソナルコンピュータ、カメラ、タブレット等）等であってもよい。
【０１７０】
また、上述した説明では情報処理（ゲーム処理）を本体装置２でそれぞれ行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、本体装置２がさらに他の装置（例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末）と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理（ゲーム処理）は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、本体装置２のプロセッサ８１が所定のプログラムを実行することによって情報処理を行うことが可能であるが、本体装置２が備える専用回路によって上記処理の一部または全部が行われてもよい。
【０１７１】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置（据置型のゲーム装置）と携帯型の情報処理装置（携帯型のゲーム装置）との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
【０１７２】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
【０１７３】
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じて本体装置２に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【０１７４】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０１７５】
以上のように、本発明は、振動を用いた移動の多様性等を向上させることができる装置移動システム、装置、装置移動制御方法、装置移動制御プログラム、および厚紙部材等として利用することができる。
【符号の説明】
【０１７６】
２…本体装置
３…左コントローラ
４…右コントローラ
１１…ハウジング
１２…ディスプレイ
３８…第１Ｌボタン
３９…ＺＬボタン
６０…第１Ｒボタン
６１…ＺＲボタン
８１…プロセッサ
８３…コントローラ通信部
８５…ＤＲＡＭ
１０７、１１７…振動子
１１１…通信制御部
２００…移動機器
２０１…移動体
【図１】
2019005468.tif 000003
【図２】
2019005468.tif 000004
【図３】
2019005468.tif 000005
【図４】
2019005468.tif 000006
【図５】
2019005468.tif 000007
【図６】
2019005468.tif 000008
【図７】
2019005468.tif 000009
【図８】
2019005468.tif 000010
【図９】
2019005468.tif 000011
【図１０】
2019005468.tif 000012
【図１１】
2019005468.tif 000013
【図１２】
2019005468.tif 000014
【図１３】
2019005468.tif 000015
【図１４】
2019005468.tif 000016
【図１５】
2019005468.tif 000017
【図１６】
2019005468.tif 000018
【図１７】
2019005468.tif 000019
【図１８】
2019005468.tif 000020
【図１９】
2019005468.tif 000021
【手続補正書】
【提出日】平成30年7月18日(2018.7.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
装置の移動を制御する装置移動システムであって、
前記装置は、
第１振動部と、
前記第１振動部から所定距離離れて配置される第２振動部と、
前記装置が接地する部位の少なくとも１つであって、少なくとも前記第１振動部が振動することに応じて振動する第１接地部と、
前記装置が接地する部位の少なくとも１つであって、少なくとも前記第２振動部が振動することに応じて振動する第２接地部と、
本体部と、
前記第１振動部を有する第１筐体と、
前記第２振動部を有する第２筐体とを備え、
前記本体部は、
前記第１筐体と着脱可能に係合するための第１係合部と、
前記第２筐体と着脱可能に係合するための第２係合部とを含み、
前記装置移動システムは、前記第１振動部の振動を制御するための第１制御信号および前記第２振動部の振動を制御するための第２制御信号を生成する制御信号生成手段を含み、
前記装置は、所定の面上に載置された状態において、当該所定の面と接地する前記第１接地部の振動および／または前記第２接地部の振動によって当該所定の面上を移動する、装置移動システム。
【請求項２】
前記第１振動部は、前記装置の移動方向に対して当該装置の左側に設けられ、
前記第２振動部は、前記装置の移動方向に対して当該装置の右側に設けられる、請求項１に記載の装置移動システム。
【請求項３】
前記第１接地部は、前記装置の移動方向に対して当該装置の左側に設けられ、
前記第２接地部は、前記装置の移動方向に対して当該装置の右側に設けられる、請求項１または２に記載の装置移動システム。
【請求項４】
前記第１接地部は、前記第２振動部による振動より前記第１振動部による振動によってより強く振動し、
前記第２接地部は、前記第１振動部による振動より前記第２振動部による振動によってより強く振動する、請求項１乃至３の何れか１つに記載の装置移動システム。
【請求項５】
前記第１係合部は、前記第１筐体の少なくとも一部と嵌合可能な第１嵌合部を含み、
前記第２係合部は、前記第２筐体の少なくとも一部と嵌合可能な第２嵌合部を含む、請求項１乃至４の何れか１つに記載の装置移動システム。
【請求項６】
前記第１嵌合部は、前記第１筐体内において前記第１振動部が設置されている箇所近傍となる当該第１筐体の一部と少なくとも嵌合可能に形成され、
前記第２嵌合部は、前記第２筐体内において前記第２振動部が設置されている箇所近傍となる当該第２筐体の一部と少なくとも嵌合可能に形成される、請求項５に記載の装置移動システム。
【請求項７】
前記装置移動システムは、前記装置とは別体であって、前記制御信号生成手段を有する制御装置を、さらに備え、
前記制御装置は、前記制御信号生成手段によって生成された前記第１制御信号および前記第２制御信号を、前記装置に送信する送信部を、さらに備える、請求項１乃至６の何れか１つに記載の装置移動システム。
【請求項８】
前記制御装置は、ユーザによって操作が可能な操作部を、さらに備え、
前記制御信号生成手段は、前記操作部に対する操作に基づいて、前記第１制御信号および前記第２制御信号を生成する、請求項７に記載の装置移動システム。
【請求項９】
前記制御信号生成手段は、ユーザ操作内容に基づいて、前記第１振動部および／または前記第２振動部が振動する周波数を設定して前記第１制御信号および／または前記第２制御信号を生成する、請求項１乃至８の何れか１つに記載の装置移動システム。
【請求項１０】
前記装置は、当該装置の周辺を撮像するための撮像部を、さらに備え、
前記制御信号生成手段は、前記撮像部によって撮像された撮像画像に基づいて、前記第１制御信号および前記第２制御信号を生成する、請求項１乃至９の何れか１つに記載の装置移動システム。
【請求項１１】
前記第１接地部は、前記装置が接地する部位を少なくとも３箇所有し、
前記第２接地部は、前記装置が接地する部位を少なくとも３箇所有する、請求項１乃至１０の何れか１つに記載の装置移動システム。
【請求項１２】
前記装置の姿勢を検知する姿勢検知手段と、
前記姿勢検知手段による検知結果に基づいて、前記装置が移動する状況を推定する移動状況推定手段とを、さらに備える、請求項１乃至１１の何れか１つに記載の装置移動システム。
【請求項１３】
前記本体部は、少なくとも１枚の厚紙を折り曲げることによって形成可能に構成される、請求項１乃至１２の何れか１つに記載の装置移動システム。
【請求項１４】
前記本体部は、前記第１接地部と前記第２接地部とを、さらに含む、請求項１乃至１３の何れか１つに記載の装置移動システム。
【請求項１５】
第１制御信号に応じて振動する第１振動部と、
前記第１振動部から所定距離離れて配置され、前記第１制御信号とは別の第２制御信号に応じて振動する第２振動部と、
接地する部位の少なくとも１つであって、少なくとも前記第１振動部が振動することに応じて振動する第１接地部と、
接地する部位の少なくとも１つであって、少なくとも前記第２振動部が振動することに応じて振動する第２接地部と、
本体部と、
前記第１振動部を有する第１筐体と、
前記第２振動部を有する第２筐体とを備え、
前記本体部は、
前記第１筐体と着脱可能に係合するための第１係合部と、
前記第２筐体と着脱可能に係合するための第２係合部とを含み、
所定の面上に載置された状態において、当該所定の面と接地する前記第１接地部の振動および／または前記第２接地部の振動によって当該所定の面上を移動する、装置。
【請求項１６】
第１振動部を有する第１筐体、当該第１振動部から所定距離離れて配置される第２振動部を有する第２筐体、および当該第１筐体と着脱可能に係合するための第１係合部と当該第２筐体と着脱可能に係合するための第２係合部とを含む本体部を備える装置の移動を制御する装置移動制御方法であって、
前記第１振動部の振動を制御するための第１制御信号を生成する第１制御信号生成ステップと、
前記第２振動部の振動を制御するための第２制御信号を生成する第２制御信号生成ステップと、
少なくとも前記第１振動部を振動させることによって、前記装置が接地する部位の少なくとも１つである第１接地部を振動させる第１接地部振動ステップと、
少なくとも前記第２振動部を振動させることによって、前記装置が接地する部位の少なくとも１つである第２接地部を振動させる第２接地部振動ステップと、
所定の面上に前記装置が載置された状態において、当該所定の面と接地する前記第１接地部の振動および／または前記第２接地部を振動させることによって当該所定の面上で前記装置を移動させる装置移動ステップとを含む、装置移動制御方法。
【請求項１７】
第１振動部を有する第１筐体、当該第１振動部から所定距離離れて配置される第２振動部を有する第２筐体、当該第１筐体と着脱可能に係合するための第１係合部と当該第２筐体と着脱可能に係合するための第２係合部とを含む本体部、および周辺を撮像するための撮像部を備える装置の移動を制御する制御装置に含まれるコンピュータで実行される装置移動制御プログラムであって、
前記コンピュータを、
前記第１振動部の振動を制御するための第１制御信号を生成することにより少なくとも前記第１振動部を振動させることによって、前記装置が接地する部位の少なくとも１つである第１接地部を振動させて所定の面上に載置された前記装置を移動させる第１制御信号生成手段と、
前記第２振動部の振動を制御するための第２制御信号を生成することにより少なくとも前記第２振動部を振動させることによって、前記装置が接地する部位の少なくとも１つである第２接地部を振動させて所定の面上に載置された前記装置を移動させる第２制御信号生成手段として機能させ、
前記第１制御信号生成手段は、前記撮像部によって撮像された撮像画像に基づいて、前記第１制御信号を生成し、
前記第２制御信号生成手段は、前記撮像部によって撮像された撮像画像に基づいて、前記第２制御信号を生成する、装置移動制御プログラム。
【請求項１８】
第１振動部を備える第１ゲームコントローラおよび第２振動部を備える第２ゲームコントローラを着脱可能な装置を形成可能な厚紙部材であって、
前記装置は、
前記第１ゲームコントローラの一部分と嵌合して当該第１ゲームコントローラを着脱可能に係合するための第１係合部と、
前記第２ゲームコントローラの一部分と嵌合して当該第２ゲームコントローラを着脱可能に係合するための第２係合部と、
前記装置が接地する部位の少なくとも１つであって、前記第１係合部に装着された前記第１ゲームコントローラの前記第１振動部が少なくとも振動することに応じて振動する第１接地部と、
前記装置が接地する部位の少なくとも１つであって、前記第２係合部に装着された前記第２ゲームコントローラの前記第２振動部が少なくとも振動することに応じて振動する第２接地部とを含み、
前記装置は、所定の面上に載置された状態において、当該所定の面と接地する前記第１接地部の振動および／または前記第２接地部の振動によって当該所定の面上を移動可能であり、
前記第１係合部、前記第２係合部、前記第１接地部、および前記第２接地部を有する前記装置を、折り曲げることによって一体的に形成可能な、厚紙部材。