JP5529399B2 - 操作システム - Google Patents

操作システム Download PDF

Info

Publication number
JP5529399B2
JP5529399B2 JP2008181419A JP2008181419A JP5529399B2 JP 5529399 B2 JP5529399 B2 JP 5529399B2 JP 2008181419 A JP2008181419 A JP 2008181419A JP 2008181419 A JP2008181419 A JP 2008181419A JP 5529399 B2 JP5529399 B2 JP 5529399B2
Authority
JP
Japan
Prior art keywords
connector
controller
operating device
housing
gyro sensor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008181419A
Other languages
English (en)
Other versions
JP2010017386A (ja
Inventor
純治 高本
昇 脇谷
邦朗 伊藤
淳平 上木
真人 伊吹
史佳 末武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2008181419A priority Critical patent/JP5529399B2/ja
Priority to US12/219,851 priority patent/US8384565B2/en
Priority to TW097137670A priority patent/TWI414334B/zh
Priority to EP12191688.6A priority patent/EP2556867A3/en
Priority to EP08165793.4A priority patent/EP2161060B1/en
Priority to CN200810175060.1A priority patent/CN101623555B/zh
Priority to CN201310391064.4A priority patent/CN103706116B/zh
Priority to KR1020080106382A priority patent/KR101054564B1/ko
Priority to US12/417,449 priority patent/US7867089B2/en
Publication of JP2010017386A publication Critical patent/JP2010017386A/ja
Priority to HK10104817.1A priority patent/HK1139092A1/xx
Priority to HK14108025.6A priority patent/HK1194702A1/zh
Priority to US13/756,690 priority patent/US20130150166A1/en
Application granted granted Critical
Publication of JP5529399B2 publication Critical patent/JP5529399B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Gyroscopes (AREA)
  • Position Input By Displaying (AREA)

Description

この発明は、操作システムに関し、特にたとえば、複数の操作装置を接続して操作を行わせる、操作システムに関する。
この種の装置の一例が、非特許文献1に開示されている。この背景技術では、「Wiiリモコン」(Wii:登録商標)は、自身の傾きや動きの変化を検出する3軸のモーションセンサを備えている。「ヌンチャク」もまた、3軸のモーションセンサを備えている。メインのコントローラであるWiiリモコンには拡張コネクタが設けられており、拡張コントローラであるヌンチャクは、この拡張コネクタを介してWiiリモコンに接続される。
プレイヤは、あるゲームでは、Wiiリモコンを片方の手で把持して、Wiiリモコンを動かすことにより操作を行う。別のゲームでは、Wiiリモコンを片方の手で、ヌンチャクをもう片方の手でそれぞれ把持して、Wiiリモコンおよびヌンチャクをそれぞれ動かすことにより操作を行う。
http://www.nintendo.co.jp/wii/controllers/index.html
しかし、Wiiリモコンやヌンチャクには、モーションセンサとして加速度センサしか搭載されていないため、回転を伴う動きの検出が容易でない。具体的には、たとえばテニスゲームにおいてスライスショットを実現しようとすると、Wiiリモコンの軸周りの角速度ないし回転角を高い精度で検出する必要がある。これらの変数は、加速度センサによって検出された3軸方向の加速度から計算可能ではあるが、3軸方向の加速度の各々が重力による加速度成分も含むため、角速度ないし回転角を高精度で算出するには、複雑な計算が必要となる。
したがって、個々のゲームプログラムにこのような計算のためのルーチンを組み込む必要があり、開発者にとって負担が大きい。また、このような計算を繰り返し実行することで、ゲーム装置のCPUに大きな処理負荷がかかる。
それゆえに、この発明の主たる目的は、新規な、操作システムを提供することである。
この発明の他の目的は、動きを精度よく容易に検出できる、操作システムを提供することである。
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために後述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
第1の発明は、片手で把持可能な太さを有する長手形状の第1のハウジングと、第1のハウジングの上面の、片手の親指で操作可能な位置に設けられた第1操作部と、第1のハウジングの下面の、第1操作部に片手の親指を置いたとき当該片手の人差し指で操作可能な位置に設けられた第2操作部と、第1のハウジングの、第1操作部に親指を置き第2操作部に人差し指を置いたとき片手の手のひらとその他の指とによって把持可能な位置に形成された把持部と、第1の加速度センサと、第1のハウジングの把持部とは反対側の端部に設けられた撮像手段と、第1のハウジングの把持部側の端部に設けられた第1のコネクタとを含む第1の操作装置と、第2のハウジングと、第1のコネクタに接続可能な第2のコネクタと、ジャイロセンサとを含む第2の操作装置とを少なくとも備え、第1の操作装置に第2の操作装置を接続して操作を行わせる、操作システムである。
第1の発明では、操作システム(14)は、第1の操作装置(34)と第2の操作装置(100)とを少なくとも備える。ユーザは、第1の操作装置に第2の操作装置を接続して操作を行う。
第1の操作装置(34)は、片手で把持可能な太さを有する長手形状の第1のハウジング(78)を含む。第1のハウジングの上面には、片手の親指で操作可能な位置に第1操作部(80a,80d等)が設けられ、第1のハウジングの下面には、第1操作部に片手の親指を置いたとき当該片手の人差し指で操作可能な位置に第2操作部(80h)が設けられる。第1のハウジングにはまた、第1操作部に親指を置き第2操作部に人差し指を置いたとき片手の手のひらとその他の指とによって把持可能な位置に把持部(78a)が形成される。したがって、第1操作部および第2操作部は第1ハウジングの先端側に、把持部は第1のハウジングの後端側に、それぞれ位置しており、ユーザは、第1のハウジングを片手で把持するにあたって、その上面の第1操作部に親指を置き、その下面の第2操作部に人差し指を置き、そしてその把持部を手のひらと他の指とで把持することになる。
また、第1の操作装置は、第1の加速度センサ(84)をさらに含み、第1のハウジングにはさらに、把持部とは反対側の端部に撮像手段(81)が、把持部側の端部には第1のコネクタ(42)が、それぞれ設けられる。一方、第2の操作装置は、第2のハウジング(110)と、第1のコネクタに接続可能な第2のコネクタ(106)と、ジャイロセンサ(104)とを含む。したがって、ユーザが第2のコネクタを第1のコネクタに接続することで、第2の操作装置は、第1の操作装置と接続される。こうして第1の操作装置と接続された第2の操作装置は、第1の操作装置の後端側すなわち第1の操作装置を把持する手の手首付近に位置する。第1の加速度センサおよびジャイロセンサから出力される加速度値および角速度値は、第1および第2の操作装置の加速度および角速度をそれぞれ示す。
第1の発明によれば、角速度を検出する手段としてのジャイロセンサが手首付近に位置するので、角速度は多くの場合に回転軸の近くで検出されることとなり、角速度が検出しやすく、第1の加速度センサは手首よりも前方に位置するので、遠心力の検出が容易になる。つまり、操作装置全体からみたとき、第1の加速度センサが前方にジャイロセンサが後方にあるので、プレイヤの手の動きをより正確に検出することが可能な操作システムを提供することができる。また、第2の操作装置を第1の操作装置の後端側に配置したことで、一体化された操作装置の重心の位置は後方に移動する。第1操作部および第2操作部に指を配置して把持部を把持するという把持の仕方は第1の操作装置と変わらないので、手首を中心とした回転の場合には特に操作性を向上させることができる。
第2の発明は、第1の発明に従属する操作システムであって、第2の操作装置は、第3のコネクタをさらに含み、第3のコネクタに接続可能な第4のコネクタと、第3のハウジングと、第2の加速度センサと、方向入力可能なスティックとを含む第3の操作装置をさらに備え、第2の操作装置に第3の操作装置をさらに接続して操作を行わせる。
第2の発明では、操作システムは、第3の操作装置(36)をさらに備える。第2の操作装置は第3のコネクタ(108)をさらに含み、第3の操作装置は第3のコネクタに接続可能な第4のコネクタ(40)を含む。したがって、ユーザがさらに第4のコネクタを第3のコネクタに接続することで、第3の操作装置は、第2の操作装置と接続され、さらに第2操作装置を介して第1の操作装置とも接続される。
第3の操作装置は、第3のハウジング(142)と、第2の加速度センサ(90)と、方向入力可能なスティック(88a)とを含み、第2の加速度センサの加速度値およびスティックの方向情報を含むデータは、第2操作装置を通じて第1操作装置に伝達される。
第2の発明によれば、ユーザは、第2の操作装置と一体化された第1の操作装置を片方の手で、第3の操作装置をもう片方の手で、それぞれ把持して、各装置自体の動きとスティックの方向とによる多彩な操作が行える。
第3の発明は、第1の発明に従属する操作システムであって、第3のハウジングと、第2の加速度センサと、方向入力可能なスティックを含む第3の操作装置をさらに備え、第2の操作装置に第3の操作装置を無線通信を介して接続して操作を行わせる。
第3の発明では、操作システムは、第3の操作装置(36)をさらに備える。
第3の操作装置は、第2の操作装置と無線通信を介して接続され、さらに第2操作装置を介して第1の操作装置とも接続される。第3の操作装置は、第3のハウジング(142)と、第2の加速度センサ(90)と、方向入力可能なスティック(88a)とを含み、第2の加速度センサの加速度値およびスティックの方向情報は第2操作装置を通じて第1操作装置に伝達可能となる。
第3の発明によれば、ユーザは、第2の操作装置と一体化された第1の操作装置を片方の手で、第3の操作装置をもう片方の手で、それぞれ把持して、各装置自体の動きとスティックの方向とによる多彩な操作が行える。また、第2の操作装置と第3の操作装置との間にケーブルが介在しないので、操作が行い易い。
第4の発明は、第2の発明に従属する操作システムであって、第3の操作装置は、第3のハウジング内部に第2の加速度センサとスティックとを含み、第3のハウジングと第4のコネクタとが屈曲可能なケーブル(38)を介して接続される。
第4の発明では、第2の操作装置と第3の操作装置との間にケーブルが介在する。
第4の発明によれば、無線接続の場合と比べて、コストを抑制できる。
第5の発明は、第2の発明に従属する操作システムであって、第4のコネクタは、第3のコネクタに替えて第1のコネクタにも接続可能な形状を有する。
第5の発明では、第3の操作装置は、第2の操作装置を介して、または直接、第1の操作装置に接続され得る。
第6の発明は、第1ないし第5のいずれかの発明において第2の操作装置として用いられる、第2のコネクタと、第2のハウジングと、ジャイロセンサとを含む、拡張操作装置である。
第6の発明によっても、第1の発明と同様に、安全性および検出精度を高めることができる。
第7の発明は、第1の発明に従属する操作システムであって、第2の操作装置は、第2のコネクタを介して第1の操作装置へ出力するデータの制御を行う出力データ制御手段をさらに含み、第1の操作装置は、第1操作部、第2操作部、第1の加速度センサおよび撮像手段からの出力に基づくデータと、第2のコネクタを介して第2の操作装置から出力されたデータとを少なくとも送信する通信手段をさらに含む。
第7の発明では、第2の操作装置は出力データ制御手段(102)をさらに含み、第2のコネクタを介して第1の操作装置へ出力されるデータは出力データ制御手段による制御を受ける。第1の操作装置は通信手段(92)をさらに含み、第1操作部、第2操作部、第1の加速度センサおよび撮像手段からの出力に基づくデータと、第2のコネクタを介して第2の操作装置から出力されたデータとは、通信手段を通じて送信される。
第8の発明は、第7の発明に従属する操作システムであって、第2の操作装置は、第3のコネクタをさらに含み、第3のコネクタに接続可能な第4のコネクタと、第3のハウジングと、第2の加速度センサと、方向入力可能なスティックとを含む第3の操作装置をさらに備え、第2の操作装置に第3の操作装置をさらに接続して操作を行わせ、通信手段は、第4のコネクタを介して第3の操作装置から出力されたデータをさらに送信する。
第8の発明では、操作システムは、第3の操作装置(36)をさらに備える。第2の操作装置は第3のコネクタ(108)をさらに含み、第3の操作装置は第3のコネクタに接続可能な第4のコネクタ(40)を含む。したがって、ユーザがさらに第4のコネクタを第3のコネクタに接続することで、第3の操作装置は、第2の操作装置と接続され、さらに第2操作装置を介して第1の操作装置とも接続される。また、第3の操作装置は、第3のハウジング(142)と、第2の加速度センサ(90)と、方向入力可能なスティック(88a)とをさらに含み、第2の加速度センサの加速度値およびスティックの方向情報を含むデータは、第2の操作装置の通信手段によって第1の操作装置に送信される。
第8の発明によれば、ユーザは、第2の操作装置と一体化された第1の操作装置を片方の手で、第3の操作装置をもう片方の手で、それぞれ把持して、各装置自体の動きとスティックの方向とによる多彩な操作が行える。
第9の発明は、第8の発明に従属する操作システムであって、第2の操作装置は、第3のコネクタ側の配線を第2のコネクタ側へ直接接続するためのバススイッチと、バススイッチの接続のオン/オフを切り替えるバススイッチ制御手段とをさらに含み、バススイッチがオフのときには第3のコネクタ側の配線が出力データ制御手段を介して第2のコネクタ側に接続される。
第9の発明では、第3のコネクタ側の配線は、バススイッチ(SW)を介して第2のコネクタ側へ直接接続可能であり、このバススイッチによる接続のオン/オフは、バススイッチ制御手段(102)によって切り替えられる。バススイッチがオフのときには、第3のコネクタ側の配線は、出力データ制御手段を介して第2のコネクタ側に接続される。
第9の発明によれば、バススイッチがオンされると、第3のコネクタに接続された第3の操作装置からのデータは、出力データ制御手段の制御を受けることなく、第2のコネクタに接続された第1の操作装置に出力されるようになる。一方、バススイッチがオフされると、第3の操作装置からのデータは、ジャイロセンサからのデータと共に出力データ制御手段の制御下に置かれるので、これら2種類のデータを出力する際の競合を回避できる。
なお、好ましい実施例では、出力データ制御手段は、アプリケーションがジャイロセンサからのデータを利用しないときバススイッチをオンし、ジャイロセンサからのデータを利用するときバススイッチをオフする。出力データ制御手段は、第3の操作装置からのデータをジャイロセンサからのデータと交互に出力する。
第10の発明は、第9の発明に従属する操作システムであって、ジャイロセンサへの電源供給のオン/オフを切り替えるジャイロセンサ電源管理手段をさらに含み、バススイッチ制御手段は、ジャイロセンサの電源がオフにされているときに、バススイッチの接続をオンにする。
第10の発明では、センサ電源管理手段(102)がセンサへの電源供給のオン/オフを切り替える。バススイッチの接続は、ジャイロセンサの電源がオフにされているときに、バススイッチ制御手段によってオンにされる。したがって、ジャイロセンサの電源をオフにすると、バススイッチの接続がオンになり、第3の操作装置からのデータは、第2の操作装置をスルーして第1の操作装置に到達するようになる。
第10の発明によれば、ジャイロセンサからのデータを利用しないときにジャイロセンサの電源をオフすることで、消費電力を抑制できる。
第11の発明は、第10の発明に従属する操作システムであって、第2の操作装置は、第3のコネクタに第3の操作装置が接続されているか否かを検出する接続検出手段をさらに含み、出力データ制御手段は、バススイッチの接続がオフであって、かつ第3のコネクタに第3の操作装置が接続されているとき、第3の操作装置から入力される第1のデータと、ジャイロセンサの出力に基づいた第2のデータとを第1の操作装置へ交互に出力させる。
第11の発明では、第3のコネクタに第3の操作装置(36)が接続されているか否かが、接続検出手段(102)によって検出される。バススイッチの接続がオフであって、かつ第3のコネクタに第3の操作装置が接続されていれば、出力データ制御手段の制御の結果、第3の操作装置から入力される第1のデータと、ジャイロセンサの出力に基づいた第2のデータとが第2のコネクタから交互に出力される(S31)。
第11の発明によれば、第1のデータおよび第2のデータの間の競合を防止できる。
この発明によれば、プレイヤが操作しやすい操作システムを提供することができる。また、操作装置の動きをより精度よく検出可能な操作システムを提供することができる。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1を参照して、この発明の一実施例であるゲームシステム10は、ゲーム装置12およびコントローラ14を含む。ゲーム装置12は据置型ゲーム装置である。コントローラ14は、ユーザないしプレイヤの入力装置ないし操作装置である。ゲーム装置12とコントローラ14とは無線によって接続される。
ゲーム装置12は、略直方体のハウジング16を含み、ハウジング16の前面にはディスクスロット18およびメモリカードスロットカバー20が設けられる。ディスクスロット18から、ゲームプログラムおよびデータを記憶した情報記憶媒体の一例である光ディスク66(図10)が挿入されて、ハウジング16内のディスクドライブ54(図10)に装着される。メモリカードスロットカバー20の内側には外部メモリカード用コネクタ62(図10)が設けられており、外部メモリカード(図示せず)が挿入される。外部メモリカードは、光ディスク66(図10)から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイされたゲームのゲームデータ(結果データまたは途中データ)を保存(セーブ)しておいたりするために利用される。また、上記ゲームデータの保存は、外部メモリカードに代えて、たとえばフラッシュメモリ等の内部メモリに対して行うようにしてもよい。
ゲーム装置12のハウジング16の後面には、AVケーブルコネクタ(図示せず)が設けられ、当該コネクタを用いて、ゲーム装置12はAVケーブル28を介してモニタ(ディスプレイ)30に接続される。このモニタ30は典型的にはカラーテレビジョン受像機であり、AVケーブル28は、ゲーム装置12からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ(モニタ)30の画面上にたとえば3Dビデオゲームのゲーム画像が表示され、内蔵されるスピーカ32からゲーム音楽や効果音などのステレオゲーム音声が出力される。
また、モニタ30の周辺(この実施例では、モニタ30の上側)には、2つの赤外LED(マーカ)22aおよび22bを備えるマーカ部22が設けられる。マーカ22aおよび22bは、それぞれモニタ30の前方に向けて赤外光を出力する。
なお、ゲーム装置12の電源は、一般的なACアダプタ(図示せず)によって与えられる。ACアダプタは家庭用の標準的な壁ソケットに接続され、家庭用電源を、ゲーム装置12を駆動するのに適した低いDC電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。マーカ部22は、図示しない電源線を通してゲーム装置12に接続されており、ゲーム装置12から電源の供給を受ける。
コントローラ14は、詳細は後述されるが、それぞれが片手で把持可能な第1コントローラ34および第2コントローラ36と、第1コントローラ34に装着されるジャイロセンサユニット100とを含む。第1コントローラ34の後端面にはコネクタ42(図2(A)、図11)が設けられ、第2コントローラ36の後端から延びるケーブル38の先端にはコネクタ40(図4(A)、図11)が設けられ、そしてジャイロセンサユニット100の先端面および後端面にはコネクタ106および108(図6(A)、図6(B)、図7および図11)がそれぞれ設けられる。ジャイロセンサユニット100の先端面側のコネクタ106は第1コントローラ34のコネクタ42と接続可能であり、第2コントローラ36のコネクタ40は第1コントローラ34のコネクタ42またはジャイロセンサユニット100の後端面側のコネクタ108と接続可能である。
コネクタ106をコネクタ42に接続することで、ジャイロセンサユニット100は、第1コントローラ34と物理的および電気的に結合される。こうして第1コントローラ34に装着(一体化)されたジャイロセンサユニット100からは、第1コントローラ34の角速度を示す角速度データが出力される。
こうして第1コントローラ34にジャイロセンサユニット100が装着された場合、第2コントローラ36のコネクタ40は、ジャイロセンサユニット100の後端面側のコネクタ108に接続される。すなわち、コネクタ42は、コネクタ106とコネクタ40の両者を選択的に接続可能な構造であって、コネクタ40は、コネクタ42とコネクタ108の両者に選択的に接続可能な構造である。したがって、ジャイロセンサユニット100に設けられるコネクタ106とコネクタ108とは、同一のハウジングに設けられるため実際は接続できないが、コネクタの形状としては互いに接続可能な形状をしていることになる。第2コントローラ36の入力データは、ケーブル38およびジャイロセンサユニット100を介して第1コントローラ34に与えられる。第1コントローラ34は、第1コントローラ34自身の入力データと、ジャイロセンサユニット100からの角速度データと、第2コントローラ36の入力データとを含むコントローラデータをゲーム装置12に送信する。
なお、コネクタ40をコネクタ42に接続した場合には、第2コントローラ36の操作データないし入力データはケーブル38を介して第1コントローラ34に与えられ、第1コントローラ34は、第1コントローラ34自身の入力データと第2コントローラ36の入力データとを含むコントローラデータをゲーム装置12に送信する。
このとき、第1コントローラ34の入力データと、第2コントローラ36の入力データを送信するシステムにおいて、一度に送信するデータ量を追加することができないように設計されている場合もあるが、ジャイロユニット100を追加した場合に、ジャイロユニット100からの角速度データと、第2コントローラ36からの入力データとを交互に第1コントローラ36へ出力することによって、両者のデータを送信することができる。このデータ制御はジャイロユニット100で行うことができるので、第1コントローラ34や第2コントローラ36には何ら設計の変更をする必要がない。
このように、ジャイロセンサユニット100は、既存の第1コントローラ34および第2コントローラ36をそのまま利用しながら、第1コントローラ34にジャイロ機能を付加するための拡張ユニットである。
このゲームシステム10において、ゲーム(または他のアプリケーション)をプレイするために、ユーザはまずゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくは実行したいと思う他のアプリケーション)を記憶している適宜の光ディスク66を選択し、その光ディスク66をゲーム装置12のディスクスロット18からディスクドライブ54にローディングする。これに応じて、ゲーム装置12がその光ディスク66に記憶されているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはゲーム装置12に入力を与えるためにコントローラ14を操作する。
図2には第1コントローラ34の外観の一例が示される。図2(A)は、第1コントローラ34を上面後方から見た斜視図であり、図2(B)は、第1コントローラ34を下面前方から見た斜視図である。
第1コントローラ34は、たとえばプラスチック成型によって形成されたハウジング78を有している。ハウジング78は、その前後方向(Z軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。一例として、ハウジング78は人間の掌とほぼ同じ長さまたは幅を持つ大きさをしている。プレイヤは、第1コントローラ34を用いて、それに設けられたボタンを押下することと、第1コントローラ34自体の位置や向きを変えることとによって、ゲーム操作を行うことができる。
ハウジング78には、複数の操作ボタンが設けられる。すなわち、ハウジング78の上面には、十字キー80a、Xボタン80b、Yボタン80c、Aボタン80d、セレクトスイッチ80e、メニュースイッチ80f、およびスタートスイッチ80gが設けられる。一方、ハウジング78の下面には凹部が形成されており、当該凹部の後方側傾斜面にはBボタン80hが設けられる。これら各ボタン(スイッチ)80a−80hには、ゲーム装置12が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。また、ハウジング78の上面には、遠隔からゲーム装置12本体の電源をオン/オフするための電源スイッチ80iが設けられる。第1コントローラ34に設けられる各ボタン(スイッチ)は、包括的に参照符号80を用いて示されることもある。
ハウジング78内には、図2に示すX、YおよびZの3軸方向(すなわち左右方向、上下方向および前後方向)の加速度を検出する加速度センサ84(図11)が設けられる。なお、加速度センサ84としては、ハウジング78の形状または第1コントローラ34の持たせ方の限定等に応じて、上下方向、左右方向および前後方向のうちいずれか2方向の加速度を検出する2軸加速度センサが用いられてもよい。場合によっては1軸加速度センサが用いられてもよい。
ハウジング78の前面には光入射口78bが形成され、ハウジング78内には撮像情報演算部81がさらに設けられる。撮像情報演算部81は、赤外線を撮像するカメラと撮像対象の画像内での座標を算出する演算部とによって構成され、上述のマーカ22aおよび22bを含む被写界を赤外線で捉えて、マーカ22aおよび22bの被写界内における位置座標を算出する。
また、ハウジング78の後面には、上述のコネクタ42が設けられている。コネクタ42は、第1コントローラ34に他の機器を接続するために利用される。この実施例では、コネクタ42には第2コントローラ36のコネクタ40またはジャイロセンサユニット100のコネクタ106が接続される。
ハウジング78の後面にはまた、コネクタ42を左右(X軸方向)に挟んで対向する位置に、一対の孔82aおよび82bが形成されている。この一対の孔82aおよび82bは、ジャイロセンサユニット100をハウジング78の後面に固定するためのフック112Faおよび112Fb(図6(A))が挿入される。ハウジング78の後面にはさらに、ストラップ24(図4(B))を装着するための孔82cも形成されている。
図3には第2コントローラ36の本体の外観の一例が示される。図3(A)は、第2コントローラ36を上面後方から見た斜視図であり、図3(B)は、第2コントローラ36を下面前方から見た斜視図である。なお、図3では、第2コントローラ36のケーブル38は省略されている。
第2コントローラ36は、たとえばプラスチック成型によって形成されたハウジング86を有している。ハウジング86は、平面視では、前後方向(Z軸方向)に略細長い楕円形状を有し、後端側の左右方向(X軸方向)の幅が先端側のそれよりも狭くされている。また、ハウジング86は、側面視では、全体として湾曲した形状を有しており、先端側の水平部分から後端側に向かって下がるように湾曲している。ハウジング86は、第1コントローラ34と同様に、全体として大人や子供の片手で把持可能な大きさであるが、長手方向(Z軸方向)の長さは、第1コントローラ34のハウジング78よりもやや短くされている。この第2コントローラ36でも、プレイヤは、ボタンやスティックを操作することと、コントローラ自体の位置や向きを変えることとによって、ゲーム操作を行うことができる。
ハウジング86の上面の先端側には、アナログジョイスティック88aが設けられる。ハウジング86の先端には、後方にやや傾斜する先端面が設けられており、この先端面には、上下方向(図3に示すY軸方向)に並べて、Cボタン88bおよびZボタン88cが設けられる。アナログジョイスティック88aおよび各ボタン88b,88cには、ゲーム装置12が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。第2コントローラ36に設けられるアナログジョイスティック88aおよび各ボタン88b,88cは、包括的に参照符号88を用いて示されることもある。
また、第2コントローラ36のハウジング86内には加速度センサ90(図11)が設けられている。この加速度センサ90としては、第1コントローラ34の加速度センサ84と同様の加速度センサが適用される。具体的には、この実施例では3軸加速度センサが適用され、第2コントローラ36の上下方向(Y軸方向)、左右方向(X軸方向)および前後方向(Z軸方向)の3軸方向のそれぞれで加速度を検知する。したがって、第1コントローラ34の場合と同様に、検出された加速度に適宜な演算処理を施すことによって、第2コントローラ36の傾きや回転、重力方向に対する加速度センサ90の姿勢などを算出することができる。また、振り等によって第1コントローラ34に加えられた動きについても同様に算出することができる。
図4には第2コントローラ36のコネクタ40の外観の一例が示される。図4は、コネクタ40を下面前方から見た斜視図である。なお、ここでもケーブル38は省略されている。コネクタ40は、たとえばプラスチック成型によって形成されたハウジング142を有する。ハウジング142の下面にはフック144が設けられている。このフック144は、本来的には、図5に示すように、コネクタ40を第1コントローラ34(のコネクタ42)と直に接続した場合に、第1コントローラ34に装着されたストラップ24のひもを掛け止めるためのものである。ストラップ24のひもをフック144に掛け止めることによって、第1コントローラ34と第2コントローラ36がよりしっかり固定される。
図6にはジャイロセンサユニット100の外観の一例が示される。図6(A)は、ジャイロセンサユニット100を上面前方から見た斜視図であり、図6(B)は、ジャイロセンサユニット100を下面後方から見た斜視図である。
ジャイロセンサユニット100は、たとえばプラスチック成型によって形成されたハウジング110を有している。ハウジング110は、略直方体形状を有しており、その長さは第1コントローラ34のハウジング78の長さのおよそ1/5、その幅および厚みはハウジング78の幅および厚みとほぼ同じである。プレイヤは、第1コントローラ34にジャイロセンサユニット100を装着した状態でも、第1コントローラ34自体の位置や向きを変えることによって、ゲーム操作を行うことができる。
ハウジング110の前面および後面には上述のコネクタ106および108が、ハウジング110の両側面には一対のリリースボタン112aおよび112bが、そしてハウジング110の下面にはロックスイッチ114が、それぞれ設けられている。ハウジング110の前面下端から下面先端にかけては、第1コントローラ34にジャイロセンサユニット100を装着した状態でストラップ24用の孔82cが露見するように(図8)、略球面状の凹部110aが設けられている。
ハウジング110の前面にはまた、コネクタ106を挟んで横方向(X軸方向)に対向する位置に、一対のリリースボタン112aおよび112bとそれぞれ連繋する一対のフック112Faおよび112Fbが設けられている。ジャイロセンサユニット100を第1コントローラ34に装着するべく、コネクタ106をコネクタ42に接続すると、一対のフック112Faおよび112Fbはハウジング78後面の一対の孔82aおよび82b(図2(A))に挿入され、フック112Faおよび112Fbの爪がハウジング78の内壁に引っ掛かる。これによって、ジャイロセンサユニット100は、第1コントローラ34の後面に固定される。
こうして第1コントローラ34に装着されたジャイロセンサユニット100が図8に示される。この状態で一対のリリースボタン112aおよび112bを押せば、爪の引っ掛かりは解け、ジャイロセンサユニット100を第1コントローラ34から取り外せるようになる。
ロックスイッチ114は、このようなリリースボタン112aおよび112bにロックをかけるためのスライドスイッチである。リリースボタン112aおよび112bは、ロックスイッチ114が第1位置(たとえば後ろ寄り)にあるとき押下不能(ロック状態)であり、ロックスイッチ114が第2位置(たとえば前寄り)にあるとき押下可能(解除状態)である。ハウジング110内には、ロックバネ118aおよび118b(図7)が設けられ、リリースボタン112aおよび112bを押下すると反発するように構成され、押下されていないときは爪が引っ掛かった状態を維持するように構成されている。このため、ジャイロセンサユニット100を取り外すには、ユーザは、ロックスイッチ114を第1位置から第2位置にスライドさせたうえで、リリースボタン112aおよび112bを押す必要がある。
このように、ジャイロセンサユニット100は、第1コントローラ34の後端に装着されるため、ゲーム操作中にジャイロセンサユニット100に加わる遠心力は専ら、ジャイロセンサユニット100を第1コントローラ34に押し付けるように作用する。また、ジャイロセンサユニット100をフック112Faおよび112Fbで第1コントローラ34の後面に固定する一方、フック112Faおよび112Fbを開放するためリリースボタン112aおよび112bにはロックスイッチ114を設けたため、ゲーム操作中であってもジャイロセンサユニット100が第1コントローラ34にしっかり固定された状態にすることができる。
ハウジング110の後面にはまた、コネクタ108に装着されるコネクタカバー116を収納可能な凹部110bが、このコネクタ108の周囲に形成される。コネクタカバー116は、その主面の一方端部に、前後(Z軸方向)に長細い薄手の(すなわち曲折容易な)突起116aを有する。この突起116aの先端部分がハウジング110と係合されており、コネクタカバー116は、コネクタ108から取り外された状態でもハウジング110に係留される。
コネクタカバー116はまた、その主面の他方端部に、左右(X軸方向)に長細い厚手の(すなわち曲折困難な)突起116bを有する。突起116bの厚み(Z軸方向の高さ)は、第2コントローラ36のコネクタ40に設けられたフック144(図4)の厚み(Y軸方向の高さ)とほぼ同じである。第1コントローラ34にジャイロセンサユニット100を介して第2コントローラ36が接続された場合、コネクタカバー116は、図9に示すように、その主面が水平となって、突起116bがフック144の側面と係合される。コネクタ108から取り外されたコネクタカバー116をこうしてコネクタ40と一体化することで、操作性や見た目が改善されるだけでなく、コネクタ40がジャイロセンサユニット100にしっかりと固定される。
図7にはジャイロセンサユニット100の構成の一例が示される。ジャイロセンサユニット100は、上述したハウジング110、コネクタ106および108、リリースボタン112aおよび112b、フック112Faおよび112Fb、ロックスイッチ114、コネクタカバー116ならびにロックバネ118aおよび118bに加え、ジャイロ基板120および支持部材122を備える。ジャイロ基板120はコネクタ106および108の各々と信号線で接続され、支持部材122はジャイロ基板120ならびにコネクタ106および108を支持する。
ジャイロ基板120にはジャイロセンサ104が設けられる。ジャイロセンサ104は、1軸のジャイロセンサ104aおよび2軸のジャイロセンサ104bの2チップで構成される。ジャイロセンサ104aはヨー角に関する角速度(Y軸周りの角速度)を検出するためのものであり、ジャイロセンサ104bはロール角およびピッチ角に関する2つの角速度(Z軸周りの角速度およびX軸周りの角速度)を検出するためのものである。ジャイロセンサ104aおよび104bは、ジャイロ基板120の上面120aに水平に並べて設けられる。
なお、ジャイロセンサ104aおよび104bの配置は、図7に示されたものに限らない。他の実施例では、ジャイロセンサ104aは、ジャイロ基板120の上面120aおよび下面120bの一方に水平に設けられ、ジャイロセンサ104bは、ジャイロ基板120の上面120aおよび下面120bの他方に水平に、ジャイロ基板120を挟んでジャイロセンサ104aと対向するように設けられる。その他の実施例では、ジャイロセンサ104aはジャイロ基板120の上面120aおよび下面120bの一方に垂直に設けられ、ジャイロセンサ104bはジャイロ基板120の上面120aおよび下面120bの他方に水平に設けられる。
また、ジャイロセンサ104は、2チップ構成とは限らず、3個の1軸ジャイロセンサ(3チップ)で構成してもよく、1個の3軸ジャイロセンサ(1チップ)で構成してもよい。いずれの場合も、上述の3つの角速度を適正に検出できるように、各チップの位置や向きが決定される。さらにまた、場合によっては、ジャイロセンサ104は、1個の2軸ジャイロセンサで構成しても、2個または1個の1軸ジャイロセンサで構成してもよい。
なお、図2に示した第1コントローラ34、図3および図4に示した第2コントローラ36、および図6に示したジャイロセンサユニット100の形状や、ボタン(スイッチまたはスティック等)の形状、数および設置位置等は単なる一例に過ぎず、他の形状、数および設置位置等に適宜変更され得る。
なお、センサは、好ましい実施例ではジャイロセンサ(角速度センサ)であるが、たとえば加速度センサ、速度センサ、変位センサ、回転角センサなど、他のモーションセンサでもよい。モーションセンサ以外にも、傾斜センサ、イメージセンサ、光センサ、圧力センサ、磁気センサ、温度センサなどがあり、いずれのセンサを追加する場合でも、センサの検出対象を利用した操作が可能となる。いずれのセンサを用いた場合でも、従来操作装置に接続されていた他の装置をそのまま使用しながら、操作装置に当該センサを追加することができる。
また、コントローラ14の電源は、第1コントローラ34内に取替可能に収容されるバッテリ(図示せず)によって与えられる。第2コントローラ36には、コネクタ40およびケーブル38を介してこの電源が供給される。第1コントローラ34にジャイロセンサユニット100が接続されている場合、ジャイロセンサユニット100にはコネクタ42および106を介してこの電源が供給される。さらにジャイロセンサユニット100に第2コントローラ36が接続されていれば、第1コントローラ34からジャイロセンサユニット100に供給された電源の一部は、コネクタ108、コネクタ40およびケーブル38を介して第2コントローラ36にも与えられる。
図10にはゲームシステム10の電気的な構成が示される。図示は省略するが、ハウジング16内の各コンポーネントは、プリント基板に実装される。図10に示すように、ゲーム装置12には、CPU44が設けられ、ゲームプロセッサとして機能する。また、CPU44には、システムLSI64が接続される。このシステムLSI64には、外部メインメモリ46、ROM/RTC48、ディスクドライブ54およびAV IC56が接続される。
外部メインメモリ46は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、CPU44のワーク領域やバッファ領域として用いられる。ROM/RTC48は、いわゆるブートROMであり、ゲーム装置12の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ54は、光ディスク66からプログラムやテクスチャデータ等を読み出し、CPU44の制御の下で、後述する内部メインメモリ64eまたは外部メインメモリ46に書き込む。
システムLSI64には、入出力プロセッサ64a、GPU(Graphics Processor Unit)64b,DSP(Digital Signal Processor)64c,VRAM64dおよび内部メイン
メモリ42eが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。
入出力プロセッサ(I/Oプロセッサ)42aは、データの送受信を実行したり、データのダウンロードを実行したりする。
GPU64は、描画手段の一部を形成し、CPU44からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、CPU40は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをGPU64に与える。
図示は省略するが、上述したように、GPU64にはVRAM64dが接続される。GPU64が作画命令を実行するにあたって必要なデータ(画像データ:ポリゴンデータやテクスチャデータなどのデータ)は、GPU64がVRAM64dにアクセスして取得する。ただし、CPU44は、描画に必要な画像データを、GPU64を介してVRAM64dに書き込む。GPU64は、VRAM64dにアクセスして描画のためのゲーム画像データを作成する。
なお、この実施例では、GPU64がゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、GPU64は当該任意のアプリケーションについての画像データを生成する。
また、DSP64cは、オーディオプロセッサとして機能し、内部メインメモリ64eや外部メインメモリ46に記憶されるサウンドデータや音波形(音色)データを用いて、スピーカ32から出力する音、音声或いは音楽に対応するオーディオデータを生成する。
上述のように生成されたゲーム画像データおよびオーディオデータは、AV IC56によって読み出され、AVコネクタ58を介してモニタ30およびスピーカ32に出力される。したがって、ゲーム画面がモニタ30に表示され、ゲームに必要な音(音楽)がスピーカ32から出力される。
また、入出力プロセッサ64aには、フラッシュメモリ43、無線通信モジュール50および無線コントローラモジュール52が接続されるとともに、拡張コネクタ60およびメモリカード用コネクタ62が接続される。また、無線通信モジュール50にはアンテナ50aが接続され、無線コントローラモジュール52にはアンテナ52aが接続される。
入出力プロセッサ64aは、無線通信モジュール50を介して、ネットワーク(図示せず)に接続される他のゲーム装置や各種サーバと通信することができる。ただし、ネットワークを介さずに、直接的に他のゲーム装置と通信することもできる。入出力プロセッサ64aは、定期的にフラッシュメモリ43にアクセスし、ネットワークへ送信する必要があるデータ(「送信データ」とする)の有無を検出し、当該送信データが有る場合には、無線通信モジュール50およびアンテナ50aを介してネットワークに送信する。また、入出力プロセッサ64aは、他のゲーム装置から送信されるデータ(「受信データ」とする)を、ネットワーク、アンテナ50aおよび無線通信モジュール50を介して受信し、当該受信データをフラッシュメモリ43に記憶する。ただし、受信データが一定の条件を満たさない場合には、当該受信データはそのまま破棄される。さらに、入出力プロセッサ64aは、ダウンロードサーバ(図示せず)からダウンロードしたデータ(ダウンロードデータとする)をネットワーク、アンテナ50aおよび無線通信モジュール50を介して受信し、そのダウンロードデータをフラッシュメモリ43に記憶することもできる。
また、入出力プロセッサ64aは、コントローラ14から送信される入力データをアンテナ52aおよび無線コントローラモジュール52を介して受信し、内部メインメモリ64eまたは外部メインメモリ46のバッファ領域に記憶(一時記憶)する。入力データは、CPU44の処理(たとえば、ゲーム処理)によって利用された後、バッファ領域から消去される。
なお、この実施例では、上述したように、無線コントローラモジュール52は、Bluetooth規格に従ってコントローラ14との間で通信を行う。このため、コントローラ14からデータを取得するだけでなく、ゲーム装置12からコントローラ14に所定の命令を送信し、コントローラ14の動作をゲーム装置12から制御することもできる。
さらに、入出力プロセッサ64aには、拡張コネクタ60およびメモリカード用コネクタ62が接続される。拡張コネクタ60は、USBやSCSIのようなインタフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ14とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ60に有線LANアダプタを接続し、無線通信モジュール50に代えて当該有線LANを利用することもできる。メモリカード用コネクタ62には、メモリカード38のような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ64aは、拡張コネクタ60やメモリカード用コネクタ62を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
詳細な説明は省略するが、図1にも示したように、ゲーム装置12(ハウジング16)には、電源ボタン20a,リセットボタン20bおよびイジェクトボタン20cが設けられる。電源ボタン20aは、システムLSI64に接続される。この電源ボタン20aがオンされると、システムLSI64には、ゲーム装置12の各コンポーネントに図示しないACアダプタを経て電源が供給され、通電状態となるモードが設定される。
リセットボタン20bもまた、システムLSI64に接続される。リセットボタン20bが押されると、システムLSI64は、ゲーム装置12の起動プログラムを再起動する。イジェクトボタン20cは、ディスクドライブ54に接続される。イジェクトボタン20cが押されると、ディスクドライブ54から光ディスク66が排出される。
図11には、第1コントローラ34と第2コントローラ36とがジャイロセンサユニット100を介して接続されたときのコントローラ14全体の電気的構成の一例が示される。
第1コントローラ34は、その内部に通信部92を備え、通信部92には、操作部80、撮像情報演算部81、加速度センサ84およびコネクタ42が接続される。操作部80は、上述の操作ボタンないし操作スイッチ80a‐80iを示す。操作部80が操作されると、その操作を示すデータが通信部92に出力される。撮像情報演算部81からは、マーカ22aおよび22bの被写界内における位置座標を示すデータが通信部92に出力される。加速度センサ84が検出した加速度を示すデータもまた、通信部92へ出力される。加速度センサ84は、たとえば最大200フレーム/秒程度のサンプリング周期を有する。
コネクタ42には、ジャイロセンサユニットのコネクタ106が接続される。ジャイロセンサユニット100は、その内部にマイコン102およびジャイロセンサ104を含む。ジャイロセンサ104は、上述のジャイロセンサ104aおよび104bを示しており、たとえば加速度センサ84と同様のサンプリング周期を有する。マイコン102は、ジャイロセンサ104が検出した角速度を示すデータをコネクタ106およびコネクタ42を介して通信部92に出力する。
ジャイロセンサユニット100のコネクタ108には、第2コントローラ36から延びるケーブル38のコネクタ40が接続される。コネクタ40には、第2コントローラ36の操作部88および加速度センサ90が接続される。操作部88は、上述のスティック88aおよび操作ボタン88b、88cを示す。操作部88が操作されると、その操作を示すデータがケーブル38、コネクタ40およびコネクタ42を介してジャイロセンサユニット100のマイコン102に与えられる。マイコン102は、このデータをコネクタ106、コネクタ42を介して通信部92に出力する。また、加速度センサ90も、加速度センサ84と同様のサンプリング周期を有しており、これにより検出された加速度を示すデータもまた、マイコン102によって通信部92に出力される。
なお、上述した通信部92への各出力は、たとえば1/200秒周期で実行される。したがって、任意の1/200秒間に、操作部80からの操作データと、撮像情報演算部81のからの位置座標データと、加速度センサ84からの加速度データと、ジャイロセンサ104からの角速度データと、操作部88からの操作データと、加速度センサ90からの加速度データとが、1回ずつ通信部92に出力される。
図12には、図11に示した全体構成のうちジャイロセンサユニット100の要部構成が示される。上述のコネクタ42、コネクタ106、コネクタ108およびコネクタ40は、それぞれたとえば6ピンのコネクタであり、この6ピンの中に、コネクタ間の接続状態を示す変数“Attach”を制御するためのAttachピンが含まれている。Attachは、コネクタ間が切断されていることを示す“Low”と、コネクタ間が接続されていることを示す“High”との間で変化する。以下では特に、コネクタ42・コネクタ106間つまり第1コントローラ34・ジャイロセンサユニット100間のAttachを“Attach1”と呼び、コネクタ108・コネクタ40間つまりジャイロセンサユニット100・第2コントローラ36間のAttachを“Attach2”と呼ぶ。
Attach1は、第1コントローラ34にジャイロセンサユニット100が装着されていても、アプリケーションがジャイロ非対応型であり、かつジャイロセンサユニット100に第2コントローラ36が接続されていない場合には、このジャイロ非対応アプリからジャイロセンサユニット100が見えなくなるように、ジャイロセンサユニット100のマイコン102によって“Low”に制御される(スタンバイモード:図14参照)。スタンバイモードでは、ジャイロセンサ104への電源供給は停止され、ジャイロ機能は停止状態となる。マイコン102は専ら、Attach2に基づくモード切り替えと、ジャイロ対応アプリからの指示に基づく電源管理とを行う。
上記6ピンのうち他の2つにはI2Cバスが割り当てられており、ジャイロセンサユニット100は、第1コントローラ34側のI2Cバスと第2コントローラ36側のI2Cバスとを互いに接続/分離するためのバススイッチSWをさらに含む。バススイッチSWは、第2コントローラ36がジャイロセンサユニット100を介して第1コントローラ34に接続された状態で、ジャイロ非対応アプリが実行されるときに、マイコン102によりオンされる。以降、第2コントローラ36からのデータは、マイコン102を経由することなく、I2Cバスを通じて通信部92に出力されるようになる(バイパスモード:図14参照)。したがって、マイコン102は、スタンバイモードと同様、モード切り替えと電源管理とを行えばよく、消費電力が抑制される。また、ジャイロセンサユニット100を装着したままでも、ジャイロ非対応アプリを実行できる。バススイッチSWがオフのときは、バスはマイコン102に接続され、第1コントローラ34に出力するデータは、マイコン102によって制御される。
バススイッチSWはまた、スタンバイモードでもオンされる。これによって、ジャイロ対応型のアプリケーションは、上述のようにAttach1が“Low”に制御されていても、I2Cバスの特別なアドレスを参照することで、第1コントローラ34にジャイロセンサユニット100が装着されているかどうかを確認できる。
なお、ジャイロセンサユニット100には、上述した“スタンバイ”および“バイパス”に加え、“ジャイロ”および“ジャイロ&第2コントローラ”の計4モードが準備されている。後の2つのモードでは、バススイッチSWはオフされる。
ジャイロセンサユニット100のマイコン102は、2種類のA/D変換回路102aおよび102bを含んでおり、ジャイロセンサ104から出力される3軸周りの角速度信号は、これらA/D変換回路102aおよび102bの各々に与えられる。A/D変換回路102aでは、ジャイロセンサ104の検出範囲の全部(たとえば±360度/秒)を対象とする高角速度モードのA/D変換処理が実行され、A/D変換回路102bでは、ジャイロセンサ104の検出範囲の一部(たとえば±90度/秒)を対象とする低角速度モードのA/D変換処理が実行される。マイコン102は、これら2種類のA/D変換結果のいずれか一方を角速度データとして出力する。
具体的には、A/D変換回路102aおよび102bからある時刻に対応する2種類の角速度データが出力されると、マイコン102は最初、このうち低角速度モードの角速度データについて、その値Aが第1閾値Th1から第2閾値Th2(>Th1)までの範囲内にあるかどうか、すなわち条件“Th1≦A≦Th2”が満足されるか否かを、軸毎に、つまりヨー、ロールおよびピッチの各々について判定する。次に、これら3つの判定結果に基づいて、低角速度モードおよび高角速度モードのいずれか1つを選択する。たとえば、3つの判定結果それぞれに関して、YESであれば低角速度モードを選択し、NOであれば高角速度モードを軸ごとに選択する。そして、軸ごとに選択されたモードに従う角速度データを、選択されたモードを示すモード情報と共にそれぞれ出力する。つまり、角速度に応じてデータの精度を変えることによって、同じデータ量であっても、低速のときにはより精度の高いデータを出力することができる。
図13には、ジャイロセンサユニット100が取り扱うデータのフォーマットが示される。図13(A)はジャイロセンサユニット100用データのフォーマットを示し、図13(B)は第2コントローラ36用データのフォーマットを示す。ジャイロセンサユニット100用のデータは、ヨー角速度データ、ロール角速度データおよびピッチ角速度データと、ヨー角速度モード情報、ロール角速度モード情報およびピッチ角速度モード情報と、第2コネクタ接続情報と、ジャイロ・第2コントローラ識別情報とを含む。
ヨー角速度データ、ロール角速度データおよびピッチ角速度データは、ジャイロセンサ104から出力されるヨー角速度信号、ロール角速度信号およびピッチ角速度信号をA/D変換して得られる、たとえば各14ビットのデータである。ヨー角速度モード情報、ロール角速度モード情報およびピッチ角速度モード情報は、それぞれ対応する角速度データのモードを示す各1ビットの情報であり、高角速度モードに対応する“0”と、低角速度モードに対応する“1”との間で変化する。
第2コントローラ接続情報は、コネクタ106に第2コントローラ36が接続されているか否かを示す1ビットの情報であり、非接続を示す“0”と、接続を示す“1”との間で変化する。ジャイロ・第2コントローラ識別情報は、当該データがジャイロセンサユニット100から出力されたデータであるか第2コントローラ36から出力されたデータであるかを識別する1ビットの情報であり、ジャイロセンサユニット100からのデータであることを示す“1”と、第2コントローラ36からのデータであることを示す“0”との間で変化する。
一方、第2コントローラ36用のデータは、左右方向(X軸方向)のスティック操作および前後方向(Z軸方向)のスティック操作をそれぞれ示すXスティック操作データおよびYスティック操作データと、X軸方向の加速度、Y軸方向の加速度およびZ軸方向の加速度をそれぞれ示すX加速度データ、Y加速度データおよびZ加速度データと、ボタン操作データと、第2コネクタ接続情報と、ジャイロ・第2コントローラ識別情報とを含む。
ジャイロセンサユニット100は通信部92に、図13(A)のフォーマットに従うジャイロ用データと、図13(B)のフォーマットに従う第2コントローラ用データとを、それぞれたとえば1/200秒周期で交互に出力する。したがって、片方のフォーマットに関しては、1/100秒周期で出力されることになるが、これはゲームの処理等で一般的な処理期間である1/60秒周期よりも十分短いことから、データを交互に出力してもゲーム処理で両方のデータを1フレームで同時に利用することができる。
通信部92は、マイクロコンピュータ(マイコン)94、メモリ96、無線モジュール76およびアンテナ98を含む。マイコン94は、処理の際にメモリ96を記憶領域(作業領域やバッファ領域)として用いながら、無線モジュール76を制御して、取得したデータをゲーム装置12に送信したりゲーム装置12からのデータを受信したりする。
ジャイロセンサユニット100から通信部92に出力されたデータは、マイコン94を経て一時的にメモリ96に格納される。第1コントローラ34内の操作部80、撮像情報演算部81および加速度センサ84から通信部92に出力されたデータもまた、メモリ96に一時的に格納される。マイコン94は、ゲーム装置12への送信タイミングが到来すると、メモリ96に格納されているデータをコントローラデータとして無線モジュール76へ出力する。コントローラデータには、図13(A)および図13(B)に示したジャイロ用データおよび/または第2コントローラ用データに加えて、第1コントローラ用データが含まれる。第1コントローラ用データには、加速度センサ84の出力に基づくX加速度データ、Y加速度データおよびZ加速度データと、撮像情報演算部81の出力に基づく位置座標データと、操作部80の出力に基づくボタン操作データとが含まれる。
無線モジュール76は、Bluetooth(ブルートゥース)(登録商標)のような近距離無線通信技術を用いて、所定周波数の搬送波をコントローラデータで変調し、その微弱電波信号をアンテナ98から放射する。つまり、コントローラデータは、無線モジュール76で微弱電波信号に変調されて第1コントローラ34から送信される。微弱電波信号はゲーム装置12側のBluetooth通信ユニット74で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置12はコントローラデータを取得することができる。ゲーム装置12のCPU44は、コントローラ14から取得したコントローラデータに基づいてゲーム処理を行う。なお、第1コントローラ34とゲーム装置12との無線通信は、無線LANなど他の規格に従って実行されてもよい。
このゲームシステム10では、ボタン操作だけでなく、コントローラ14自体を動かすことによっても、ゲームなどのアプリケーションに対する入力を行うことができる。ゲームをプレイする際には、たとえば図18に示すように、プレイヤは、その右手で第1コントローラ34(具体的にはハウジング78の把持部78a:図2)を持ち、その左手で第2コントローラ36を持つ。上述のように、第1コントローラ34には3軸方向の加速度を検出する加速度センサ84が内蔵され、第2コントローラ36にも同様の加速度センサ90が内蔵されている。第1コントローラ34および第2コントローラ36がそれぞれプレイヤによって動かされると、加速度センサ84および加速度センサ90によって、それぞれのコントローラ自身の動きを示す3軸方向の加速度値が検出される。第1コントローラ34にジャイロセンサユニット100が装着されている場合には、第1コントローラ34自身の動きを示す3軸周りの角速度値がさらに検出される。
これらの検出値は、先述したコントローラデータの態様でゲーム装置12に送信される。ゲーム装置12(図10)では、コントローラ14からのコントローラデータは、入出力プロセッサ64aによってアンテナ52aおよび無線コントローラモジュール52を介して受信され、受信されたコントローラデータは、内部メインメモリ64eまたは外部メインメモリ46のバッファ領域に書き込まれる。CPU44は、内部メインメモリ64eまたは外部メインメモリ46のバッファ領域に格納されたコントローラデータを読み出し、このコントローラデータから検出値つまりコントローラ14によって検出された加速度および/または角速度の値を復元する。
なお、角速度データには高角速度および低角速度の2つのモードがあるため、これら2つのモードにそれぞれ対応する2種類の角速度復元アルゴリズムが準備される。角速度データから角速度の値を復元するにあたっては、当該角速度データのモードに対応する角速度復元アルゴリズムが、角速度モード情報に基づいて選択される。
CPU44はまた、このような復元処理と並行して、復元された加速度からコントローラ14の速度を計算する処理を実行してもよい。さらに並行して、計算された速度からコントローラ14の移動距離ないし位置を求めることもできる。一方、復元された角速度からは、コントローラ14の回転角が求まる。なお、加速度を積算して速度を求めたり、角速度を積算して回転角を求めたりする際の初期値(積分定数)は、たとえば、撮像情報演算部81のからの位置座標データに基づいて計算できる。位置座標データはまた、積算によって蓄積されていく誤差の修正にも用いることができる。
ゲーム処理は、こうして求められた加速度、速度、移動距離、角速度および回転角などの変数に基づいて実行される。したがって、上記の処理は全てを行わなくともよく、ゲーム処理に必要な変数を適宜算出すればよい。なお、角速度や回転角も、原理的には加速度から計算し得るが、そのためには、ゲームプログラムに複雑なルーチンが必要で、CPU44にも重い処理負荷がかかる。ジャイロセンサユニット100を利用することで、プログラム開発が容易になり、CPU44の処理負荷も軽減される。
ところで、ゲームには、第1コントローラ34しか利用しない1コントローラ用ゲームと、第1コントローラ34および第2コントローラ36を利用する2コントローラ用ゲームとがあり、そして各ゲームは、ジャイロ対応およびジャイロ非対応のいずれかに分類される。メインコントローラである第1コントローラ34は、どのゲームをプレイする場合にも必要である。また、拡張コントローラである第2コントローラ36は、2コントローラ用ゲームをプレイするときジャイロセンサユニット100を介して、または直に第1コントローラ34に接続され、1コントローラゲームをプレイするときには通常取り外される。
一方、拡張センサないし拡張コントローラであるジャイロセンサユニット100は、ジャイロ非対応ゲームをプレイする場合には不要であるが、わざわざ取り外さなくてもよい。このため、ジャイロセンサユニット100は通常、第1コントローラ34に装着したままにされ、第1コントローラ34と一体で取り扱われる。第2コントローラ36は、コネクタ40の接続先がコネクタ42からコネクタ108に変わる点を除けば、ジャイロセンサユニット100が介在しない場合と同様に着脱される。
図14には、ジャイロセンサユニット100のマイコン102による制御がモード毎に記載したテーブルが示される。ジャイロセンサユニット100に準備されているモードは、先述した“スタンバイ”、“バイパス”、“ジャイロ”および“ジャイロ&第2コントローラ”の4種類であり、マイコン102の制御対象は、“ジャイロ機能”、“ジャイロ電源”、“バススイッチ”、“拡張コネクタ”、“Attach1”および“I2Cアドレス”の6項目に及ぶ。
ジャイロ機能は、スタンバイおよびバイパスの各モードでは停止状態(No Active)に置かれる一方、ジャイロおよびジャイロ&第2コントローラの各モードでは起動状態(Active)に置かれる。ジャイロ電源つまりジャイロセンサ104への電源供給は、スタンバイおよびバイパスの各モードで停止(OFF)され、ジャイロおよびジャイロ&第2コントローラの各モードでは実行(ON)される。バススイッチSWは、スタンバイおよびバイパスの各モードで接続(Connect)され、ジャイロおよびジャイロ&第2コントローラの各モードでは切断(Disconnect)される。
拡張コネクタつまりコネクタ108は、バイパスおよびジャイロ&第2コントローラの各モードで起動状態に置かれ、スタンバイおよびジャイロの各モードでは停止状態に置かれる。Attach1は、スタンバイモードで非接続状態を示す“Low”に制御され、バイパス、ジャイロおよびジャイロ&第2コントローラの各モードでは接続状態を示す“High”に制御される。I2Cアドレスに関しては、スタンバイおよびバイパスの各モードに限って、特別なアドレスが注目される。
モード間の切り換えは、図15に示す要領で行われる。図15(A)にはアプリケーションがジャイロ対応である場合の切り換え処理が、図15(B)にはアプリケーションがジャイロ非対応である場合の切り換え処理が、それぞれ示される。図15(A)および図15(B)に共通して、すなわちジャイロ対応アプリかジャイロ非対応アプリかによらず、ジャイロセンサユニット100は、ジャイロセンサユニット100自身が第1コントローラ34に接続されるのに応答して起動し、初期モードであるスタンバイモードに入る。ここで第2コントローラ36が接続されると、スタンバイモードからバイパスモードに移行し、その後に第2コントローラ36が取り外されると、バイパスモードからスタンバイモードに復帰する。
ここで、ジャイロ対応アプリは、必要に応じて角速度データを取得するべく、ジャイロセンサユニット100に対して呼び出しおよびリセットをかける。上述のように、本実施例では、通信によってゲーム機からコントローラを制御することが可能であるので、アプリケーションによってジャイロセンサユニット100を制御することが可能である。このため、図15(A)に示すように、ジャイロセンサユニット100は、スタンバイモードでアプリケーションから呼び出しを受けるとジャイロモードに移行し、ジャイロモードでアプリケーションからリセットを受けるとスタンバイモードに復帰する。ジャイロセンサユニット100はまた、ジャイロモードで第2コントローラ36が接続されるとジャイロ&第2コントローラモードに移行し、ジャイロ&第2コントローラモードで第2コントローラ36が取り外されるとジャイロモードに復帰する。ジャイロセンサユニット100はさらにまた、ジャイロ&第2コントローラモードでアプリケーションからリセットを受けるとバイパスモードに移行し、バイパスモードでアプリケーションから呼び出しを受けるとジャイロ&第2コントローラモードに復帰する。
一方、ジャイロ非対応アプリは、ジャイロセンサユニット100に対して呼び出しやリセットといった働きかけを行う機能がない。このため、ジャイロ非対応アプリを実行する際には、図15(B)に示すように、ジャイロセンサユニット100のモードは、スタンバイモードおよびバイパスモードの間で切り換わるに止まる。
ジャイロセンサユニット100のこのようなモード切り替えは、マイコン102が、図14に示したテーブルを参照して、図16および図17のフローチャートに示す処理を実行することにより実現される。なお、このフローチャートに対応するプログラムと、図14のテーブルとは、不揮発性のメモリ102c(図12)に格納されている。
ユーザがジャイロセンサユニット100を第1コントローラ34に装着すると、マイコン102は、第1コントローラ34から電源の供給を受けて起動し、図16および図17のフローチャートに示す処理を実行する。この処理は、ジャイロセンサユニット100が第1コントローラ34から取り外されるまでの期間に渡って実行される。
図16を参照して、起動が完了すると、マイコン102は、最初、ステップS1でスタンバイモードへのモード更新を行う。具体的には、マイコン102は、メモリ102c内のテーブル(図14)に記述された“スタンバイ”の規定に従って、ジャイロ機能を休止させ、ジャイロセンサへ104の電源供給を停止し、バススイッチSWを接続し、コネクタ108を休止させ、Attach1を“Low”に制御し、そしてI2Cバスの特別なアドレスへの注目を開始する。こうしてジャイロセンサユニット100がスタンバイモードに移行すると、処理はステップS3およびS5のループに入る。
すなわち、マイコン102は、Attach2が“1”であるか否かをステップS3で判別し、ここでNOであれば、アプリケーションから呼び出しがかかったか否かをステップS5でさらに判別する。ここでもNOであれば、処理はステップS3に戻る。なお、このモードにおいては、ジャイロを使用しないことになるので、第1コントローラ34へは操作データが何も出力されないか、操作データが無い旨のみが出力されることになる。第1コントローラ34にジャイロセンサユニット100を介して第2コントローラ36が接続されるのに応じてAttach2が“0”から“1”に変化すると、ステップS3の判別結果がYESとなって、処理はステップS17に移る。一方、アプリケーションからジャイロセンサユニット100に呼び出しがかかると、ステップS5の判別結果がYESとなって、処理はステップS7に移る。
ステップS7では、ジャイロモードへのモード更新が行われる。具体的には、マイコン102は、テーブル(図14)に記述された“ジャイロ”の規定に従って、ジャイロ機能を起動させ、ジャイロセンサへの電源供給を開始し、バススイッチSWを切断し、コネクタ108を停止させ、Attach1を“High”に制御する。こうしてジャイロセンサユニット100がジャイロモードに移行すると、処理はステップS9〜S13のループに入る。
ステップS9ではAttach2が“1”であるか否かが、ステップS11ではアプリケーションからリセットがかかったか否かが、そしてステップS13では現時刻がデータ出力タイミングに該当するか否かが、それぞれ判別される。Attach2が“0”から“1”に変化すると、ステップS9の判別結果がYESとなり、処理はステップS23に移る。アプリケーションからジャイロセンサ100にリセットがかかると、ステップS11の判別結果がYESとなって、処理はステップS1に戻る。前回のデータ出力から既定時間が経過すると、ステップS13の判別結果がYESとなり、処理はステップS15に移る。ステップS15では、マイコン102は、ジャイロ用データ(図13(A))を第1コントローラ34側に出力する。出力後、処理はステップS9〜S13のループに戻る。
図17を参照して、ステップS17では、バイパスモードへのモード更新が行われる。具体的には、マイコン102は、メモリ102c内のテーブル(図14)に記述された“バイパス”の規定に従って、ジャイロセンサ104への電源供給を停止し、ジャイロ機能を停止させ、バススイッチSWを接続し、コネクタ108を起動させ、そしてAttach1を“High”とする。I2Cバスの特別なアドレスへの注目は停止される。こうしてジャイロセンサユニット100がバイパスモードに移行すると、処理はステップS19およびS21のループに入る。
ステップS19ではAttach2が“0”であるか否かが、ステップS21ではアプリケーションから呼び出しがかかったか否かが、それぞれ判別される。Attach2が“1”から“0”に変化すると、ステップS19の判別結果がYESとなり、処理はステップS1に戻る。アプリケーションからジャイロセンサユニット100に呼び出しがかかると、ステップS21の判別結果がYESとなって、処理はステップS23に移る。ここで、バイパスモードでは、第2コントローラ36から第2コントローラ用データ(図13(b))が直接第1コントローラ34へ出力されるので、マイコン102からは何も出力されないことになる。
ステップS23では、ジャイロ&第2コントローラモードへのモード更新が行われる。具体的には、マイコン102は、メモリ102c内のテーブル(図14)に記述された“ジャイロ&第2コントローラ”の規定に従って、ジャイロセンサ104への電源供給を開始し、ジャイロ機能を起動させ、バススイッチSWを切断し、コネクタ108を起動させ、そしてAttach1を“High”に制御する。I2Cバスの特別なアドレスへの注目は停止される。こうしてジャイロセンサユニット100がジャイロ&第2コントローラモードに移行すると、処理はステップS25〜S29のループに入る。
ステップS25ではAttach2が“0”であるか否かが、ステップS27ではアプリケーションからリセットがかかったか否かが、そしてステップS29では現時刻がデータ出力タイミングに該当するか否かが、それぞれ判別される。Attach2が“1”から“0”に変化すると、ステップS25の判別結果がYESとなり、処理はステップS7に戻る。アプリケーションからジャイロセンサ100にリセットがかかると、ステップS27の判別結果がYESとなって、処理はステップS17に戻る。前回のデータ出力から既定時間が経過すると、ステップS29の判別結果がYESとなり、処理はステップS31に移る。ステップS31では、マイコン102は、ジャイロ用データ(図13(A))および第2コントローラ用データ(図13(B))を交互に第1コントローラ34側に出
力する。出力後、処理はステップS25〜S29のループに戻る。
以上から明らかなように、この実施例では、ジャイロセンサユニット100は、ハウジング110、コネクタ106および108ならびにジャイロセンサ104を備える。コネクタ106は、第1コントローラ34に設けられたコネクタ42に物理的および電気的に接続可能な第1の形状を有する。このため、コネクタ106を第1コントローラ34のコネクタ42に接続することで、ジャイロセンサユニット100は、これら2つのコネクタ42および106を介して第1コントローラ34に物理的および電気的に接続され、ジャイロセンサユニット100を第1コントローラ34と一体で用いることが可能となる。すなわち、第1コントローラ34にジャイロセンサ104が追加される結果となる。
一方、コネクタ108は、第1の形状を有するコネクタが接続可能な第2の形状を有する。このため、従来コネクタ42に接続されていた他の装置のコネクタ、たとえば第2コントローラ36のコネクタ40は、コネクタ108にも接続可能である。したがって、コネクタ42にコネクタ106が接続された状態で、コネクタ40をコネクタ108に接続すれば、第2コントローラ36は、ジャイロセンサユニット100を介して第1コントローラ34に接続される結果となる。
これにより、従来第1コントローラ34に接続されていた第2コントローラ36などの他の装置をそのまま使用しながら、第1コントローラ34にジャイロセンサ104を追加することができる。角速度を検出する手段としてのジャイロセンサが手首付近に位置するので、角速度は多くの場合に回転軸の近くで検出されることとなり、角速度が検出しやすく、加速度センサは手首よりも前方に位置するので、遠心力の検出が容易になる。つまり、操作装置全体からみたとき、加速度センサが前方にジャイロセンサが後方にあるので、プレイヤの手の動きをより正確に検出することが可能な操作システムを提供することができる。角速度を検出するジャイロセンサ104を追加したことで、個々のゲームプログラムに角速度ないし回転角を計算するためのルーチンを組み込む必要がなくなり、開発者の負担が軽減される。また、ゲーム装置12のCPU44への処理負荷も軽減される。
また、この実施例では、第1コントローラ34は、片手で把持可能な太さを有する長手形状のハウジング78を備える。ハウジング78の上面には、片手の親指で操作可能な位置に第1操作部(操作ボタン80a,80dなど)が設けられ、ハウジング78の下面には、第1操作部に片手の親指を置いたとき当該片手の人差し指で操作可能な位置に第2操作部(操作ボタン80h)が設けられる。ハウジング78にはまた、第1操作部に親指を置き第2操作部に人差し指を置いたとき片手の手のひらとその他の指とによって把持可能な位置に把持部78aが形成される。したがって、第1操作部および第2操作部はハウジング78の先端側に、把持部78aはハウジング78の後端側に、それぞれ位置しており、ユーザは、ハウジング78を片手で把持するにあたって、その上面の第1操作部に親指を置き、その下面の第2操作部に人差し指を置き、そしてその把持部78aを手のひらと他の指とで把持することになる。
また、第1コントローラ34は、加速度センサ84をさらに備え、ハウジング78にはさらに、把持部78aとは反対側の端部に撮像情報演算部81が、把持部78a側の端部にはコネクタ42が、それぞれ設けられる。一方、ジャイロセンサユニット100は、ハウジング110と、コネクタ42に接続可能なコネクタ106と、ジャイロセンサ104とを備える。したがって、ユーザがコネクタ106をコネクタ42に接続することで、ジャイロセンサユニット100は、第1コントローラ34に接続される。こうして第1コントローラ34に接続されたジャイロセンサユニット100は、第1コントローラ34の後端側すなわち第1コントローラ34を把持する手の手首付近に位置する(図18)。加速度センサ84およびジャイロセンサ104から出力される加速度値および角速度値は、第1コントローラ34およびジャイロセンサユニット100の加速度および角速度をそれぞれ示す。
このように、ジャイロセンサユニット100を第1コントローラ34の後端側に配置したことで、この一体化されたコントローラの重心の位置は後方に移動して手のひらの位置に近づく。このため、第1コントローラ34にジャイロセンサユニット100を接続したことによる遠心力の増大は、ジャイロセンサユニット100を第1コントローラ34の先端側に配置した場合と比べて少なくて済む。また、ジャイロセンサユニット100に働く遠心力は、これを第1コントローラ34に押し付けるように作用するので、ジャイロセンサユニット100と第1コントローラ34とがしっかりと固定される。また、ジャイロセンサ104が手首付近に位置するので、角速度は多くの場合に回転軸の近くで検出されることとなり、角速度の検出精度が高まる。一方、加速度センサ84は手首よりも前方に位置するので、回転に起因する加速度の検出が容易になる。
また、この実施例では、第1コントローラ34はストラップ装着部(孔82c)をさらに備え、ここにストラップ24が装着される。ジャイロセンサユニット100は、蓋116をさらに備え、この蓋116によってコネクタ108が塞がれる。蓋116は、コネクタ108から取り外された状態でも、ジャイロセンサユニット100に係留される。第2コントローラ36は、コネクタ40近傍に設けられるフック144をさらに備え、このフック144には、第2コントローラ36を第1コントローラ34に接続した場合は第1コントローラ34に装着されたストラップ24が、第2コントローラ36をジャイロセンサユニット100に接続した場合はジャイロセンサユニット100に係留された蓋116が、それぞれ掛け止めされる。
したがって、ストラップ24を当該第1コントローラ34を把持する手の手首に掛けることができる。また、第1コントローラ34および第2コントローラ36の間にジャイロセンサユニット100を追加する場合には、従来ストラップ24を掛け止めしていたフック144に、コネクタ108から取り外されてジャイロセンサユニット100に係留されている蓋116を掛け止めすることで、コネクタ40がコネクタ108から外れ難くなる。これにより、従来第1コントローラ34に接続されていた第2コントローラ36をそのまま使用しながら、第1コントローラ34にジャイロセンサユニット100を追加することができる。
なお、この実施例では、ジャイロセンサユニット100と第2コントローラ36との間はケーブル38で接続されたが、無線通信により接続されてもよい。一例を図19に示す。図19の実施例では、ジャイロセンサユニット100は、先述のコネクタ108に代えて無線モジュール108aおよびアンテナ108bを備え、第2コントローラ36は、先述のコネクタ40に代えて無線モジュール40aおよびアンテナ40bを備える。無線モジュール40aおよび108aは、Bluetooth(登録商標)や無線LAN、赤外線通信などの近距離無線通信技術を用いて、アンテナ40bおよび108bを通してデータを送信および受信する。図19の実施例においては、第1コントローラ36は従来のままで、ジャイロセンサユニット100と、無線を用いた第2コントローラ36を追加することで、第2コントローラ36と第1コントローラ34を完全に独立して動かせるので、より自由度の高い操作を行うことができる。また、ジャイロセンサユニット100は、ジャイロを追加できるだけでなく、無線によりより多様な拡張コントローラを接続可能なアダプタとしても機能することになる。
以上では、一例として、ゲームシステム10を用いて説明したが、この発明は、操作装置自体の動きに基づいて、ゲームなどのアプリケーションに従う処理を実行する、コンピュータシステムに適用できる。
この発明の一実施例の構成を示すブロック図である。 図1実施例に適用される第1コントローラの外観を示す図解図であり、図2(A)は第1コントローラを上面後方から見た斜視図であり、図2(B)は第1コントローラを下面前方から見た斜視図である。 図1実施例に適用される第2コントローラの本体の外観を示す図解図であり、図3(A)は第2コントローラ本体を上面後方から見た斜視図であり、図3(B)は第1コントローラ本体を下面前方から見た斜視図である。 第2コントローラのコネクタの外観を示す図解図である。 第1コントローラに第2コントローラのコネクタを接続した状態で、第1コントローラに装着されたストラップのひもをコネクタのフックに掛け止めた様子を示す図解図である。 図1実施例に適用されるジャイロセンサユニットの外観を示す図解図であり、図6(A)はジャイロセンサユニットを上面前方から見た斜視図であり、図6(B)はジャイロセンサユニットを下面後方から見た斜視図である。 ジャイロセンサユニットの構成を示す図解図である。 第1コントローラにジャイロセンサユニットを接続した状態を示す図解図である。 第1コントローラにジャイロセンサユニット介して第2コントローラを接続した状態を示す図解図である。 図1実施例の電気的な構成を示すブロック図である。 図1実施例に適用されるコントローラ全体の電気的な構成を示すブロック図である。 図11のコントローラにおいて、第1コントローラおよび第2コントローラの間に介在するジャイロセンサユニットの電気的な構成を示すブロック図である。 ジャイロセンサユニットが取り扱うデータのフォーマットを示す図解図であり、図13(A)はジャイロ用データのフォーマットを示す図解図であり、図13(B)は第2コントローラ用データのフォーマットを示す図解図である。 ジャイロセンサユニットのマイコンによる制御をモード毎に記載したテーブルを示す図解図である。 ジャイロセンサユニットに適用されるモード切り替えを示す図解図であり、図15(A)はアプリケーションがジャイロ対応型である場合のモード切り替えを示す図解図であり、図15(B)はアプリケーションがジャイロ非対応型である場合のモード切り替えを示す図解図である。 ジャイロセンサユニットのマイコン動作の一部を示すフロー図である。 ジャイロセンサユニットのマイコン動作の他の一部を示すフロー図である。 プレイヤがコントローラを操作する様子を示す図解図である。 他の実施例に適用されるコントローラ全体の電気的な構成を示すブロック図である。
符号の説明
10 …ゲームシステム
12 …ゲーム装置
14 …コントローラ
34 …第1コントローラ
36 …第2コントローラ
40,42,106,108 …コネクタ
80,88 …操作部
84,90 …加速度センサ
92 …通信部
94,102 …マイコン
100 …ジャイロセンサユニット
104 …ジャイロセンサ

Claims (7)

  1. 片手で把持可能な太さを有する長手形状の第1のハウジングと、
    前記第1のハウジングの上面の、前記片手の親指で操作可能な位置に設けられた第1操作部と、
    前記第1のハウジングの下面の、前記第1操作部に前記片手の親指を置いたとき当該片手の人差し指で操作可能な位置に設けられた第2操作部と、
    前記第1のハウジングの、前記第1操作部に親指を置き前記第2操作部に人差し指を置いたとき前記片手の手のひらとその他の指とによって把持可能な位置に形成された把持部と、
    第1の加速度センサと、
    前記第1のハウジングの前記把持部とは反対側の端部に設けられた撮像手段と、
    前記第1のハウジングの前記把持部側の端部に設けられた第1のコネクタとを含む第1の操作装置と、
    第2のハウジングと、前記第1のコネクタに接続可能な第2のコネクタと、ジャイロセンサとを含む第2の操作装置とを少なくとも備え、前記第1の操作装置に前記第2の操作装置を接続して操作を行わせ
    第3のハウジングと、第2の加速度センサと、方向入力可能なスティックとを含む第3の操作装置をさらに備え、前記第2の操作装置に前記第3の操作装置を無線通信を介して接続して操作を行わせる、操作システム。
  2. 片手で把持可能な太さを有する長手形状の第1のハウジングと、
    前記第1のハウジングの上面の、前記片手の親指で操作可能な位置に設けられた第1操作部と、
    前記第1のハウジングの下面の、前記第1操作部に前記片手の親指を置いたとき当該片手の人差し指で操作可能な位置に設けられた第2操作部と、
    前記第1のハウジングの、前記第1操作部に親指を置き前記第2操作部に人差し指を置いたとき前記片手の手のひらとその他の指とによって把持可能な位置に形成された把持部と、
    第1の加速度センサと、
    前記第1のハウジングの前記把持部とは反対側の端部に設けられた撮像手段と、
    前記第1のハウジングの前記把持部側の端部に設けられた第1のコネクタとを含む第1の操作装置と、
    第2のハウジングと、前記第1のコネクタに接続可能な第2のコネクタと、ジャイロセンサとを含む第2の操作装置とを少なくとも備え、前記第1の操作装置に前記第2の操作装置を接続して操作を行わせ
    前記第2の操作装置は、
    前記第2のコネクタを介して前記第1の操作装置へ出力するデータの制御を行う出力データ制御手段をさらに含み、
    前記第1の操作装置は、
    前記第1操作部、前記第2操作部、前記第1の加速度センサおよび前記撮像手段からの出力に基づくデータと、前記第2のコネクタを介して前記第2の操作装置から出力されたデータとを少なくとも送信する通信手段をさらに含み、
    前記第2の操作装置は、第3のコネクタをさらに含み、
    前記第3のコネクタに接続可能な第4のコネクタと、第3のハウジングと、第2の加速度センサと、方向入力可能なスティックとを含む第3の操作装置をさらに備え、前記第2の操作装置に前記第3の操作装置をさらに接続して操作を行わせ、
    前記通信手段は、前記第4のコネクタを介して前記第3の操作装置から出力されたデータをさらに送信し、
    前記第2の操作装置は、
    前記第3のコネクタ側の配線を前記第2のコネクタ側へ直接接続するためのバススイッチと、
    前記バススイッチの接続のオン/オフを切り替えるバススイッチ制御手段とをさらに含み、
    前記バススイッチがオフのときには前記第3のコネクタ側の配線が前記出力データ制御手段を介して前記第2のコネクタ側に接続される、操作システム。
  3. 前記第3の操作装置は、前記第3のハウジング内部に前記第2の加速度センサと前記スティックとを含み、前記第3のハウジングと前記第4のコネクタとが屈曲可能なケーブルを介して接続される、請求項2記載の操作システム。
  4. 前記第4のコネクタは、前記第3のコネクタに替えて前記第1のコネクタにも接続可能な形状を有する、請求項2記載の操作システム。
  5. 請求項1ないしのいずれかの操作システムにおいて前記第2の操作装置として用いられる、前記第2のコネクタと、前記第2のハウジングと、前記ジャイロセンサとを含む、拡張操作装置。
  6. 前記ジャイロセンサへの電源供給のオン/オフを切り替えるジャイロセンサ電源管理手段をさらに備え、
    前記バススイッチ制御手段は、前記ジャイロセンサの電源がオフにされているときに、前記バススイッチの接続をオンにする、請求項記載の操作システム。
  7. 前記第2の操作装置は、前記第3のコネクタに対して、第3の操作装置が接続されているか否かを検出する接続検出手段をさらに含み、
    前記出力データ制御手段は、前記バススイッチの接続がオフであって、かつ前記第3のコネクタにさらに前記第3の操作装置が接続されているとき、前記第3の操作装置から入力される第1のデータと、前記ジャイロセンサの出力に基づいた第2のデータとを前記第1の操作装置へ交互に出力させる、請求項記載の操作システム。
JP2008181419A 2008-07-11 2008-07-11 操作システム Active JP5529399B2 (ja)

Priority Applications (12)

Application Number Priority Date Filing Date Title
JP2008181419A JP5529399B2 (ja) 2008-07-11 2008-07-11 操作システム
US12/219,851 US8384565B2 (en) 2008-07-11 2008-07-29 Expanding operating device and operating system
TW097137670A TWI414334B (zh) 2008-07-11 2008-10-01 擴張操作裝置及操作系統
EP08165793.4A EP2161060B1 (en) 2008-07-11 2008-10-02 Operating device expansion
EP12191688.6A EP2556867A3 (en) 2008-07-11 2008-10-02 Expanding operating device and operating system
CN201310391064.4A CN103706116B (zh) 2008-07-11 2008-10-24 扩展操作装置和操作系统
CN200810175060.1A CN101623555B (zh) 2008-07-11 2008-10-24 扩展操作装置和操作系统
KR1020080106382A KR101054564B1 (ko) 2008-07-11 2008-10-29 확장 조작 장치 및 조작 시스템
US12/417,449 US7867089B2 (en) 2008-07-11 2009-04-02 Expanding operating device and operating system
HK10104817.1A HK1139092A1 (en) 2008-07-11 2010-05-17 Expanding operating device and operating system
HK14108025.6A HK1194702A1 (zh) 2008-07-11 2010-05-17 擴展操作裝置和操作系統
US13/756,690 US20130150166A1 (en) 2008-07-11 2013-02-01 Expanding operating device and operation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008181419A JP5529399B2 (ja) 2008-07-11 2008-07-11 操作システム

Publications (2)

Publication Number Publication Date
JP2010017386A JP2010017386A (ja) 2010-01-28
JP5529399B2 true JP5529399B2 (ja) 2014-06-25

Family

ID=41519646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008181419A Active JP5529399B2 (ja) 2008-07-11 2008-07-11 操作システム

Country Status (2)

Country Link
JP (1) JP5529399B2 (ja)
CN (1) CN101623555B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102451558A (zh) * 2010-10-21 2012-05-16 致伸科技股份有限公司 可分离的游戏控制器
CN102441277B (zh) * 2012-01-18 2014-04-30 深圳市宇恒互动科技开发有限公司 一种具有姿态感测的多用途游戏控制器、系统及方法
KR101447625B1 (ko) * 2013-03-11 2014-10-08 한국기술교육대학교 산학협력단 손목 근감각 제공이 가능한 게임 컨트롤러
US10386941B2 (en) 2015-06-16 2019-08-20 Intel Corporation Gyratory sensing system to enhance wearable device user experience via HMI extension
JP7081921B2 (ja) * 2017-12-28 2022-06-07 株式会社バンダイナムコエンターテインメント プログラム及びゲーム装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5229756A (en) * 1989-02-07 1993-07-20 Yamaha Corporation Image control apparatus
JPH10277264A (ja) * 1997-04-02 1998-10-20 Sega Enterp Ltd コントローラ及びコントローラ用拡張ユニット
JPH11253656A (ja) * 1998-03-09 1999-09-21 Omron Corp ゲームコントローラのアタッチメント
CN1919389A (zh) * 2005-08-24 2007-02-28 任天堂株式会社 游戏控制器和游戏系统
JP5204381B2 (ja) * 2006-05-01 2013-06-05 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム及びゲーム処理方法
JP2008011980A (ja) * 2006-07-04 2008-01-24 Sony Computer Entertainment Inc ユーザインタフェース装置および操作感度調整方法
US9327192B2 (en) * 2006-11-17 2016-05-03 Nintendo Co., Ltd. Game system and storage medium storing game program

Also Published As

Publication number Publication date
CN101623555A (zh) 2010-01-13
CN101623555B (zh) 2014-09-17
JP2010017386A (ja) 2010-01-28

Similar Documents

Publication Publication Date Title
JP4255510B1 (ja) 拡張操作装置
JP5329140B2 (ja) 操作システム
KR101054564B1 (ko) 확장 조작 장치 및 조작 시스템
JP5550433B2 (ja) 操作装置および情報処理システム
JP5529400B2 (ja) 拡張操作装置
JP5361044B2 (ja) ゲーム装置、およびゲームプログラム
JP5430123B2 (ja) ゲーム装置およびゲームプログラム
JP2017217139A (ja) ゲーム装置、ゲームシステム、ゲームプログラム、および振り入力判定方法
JP2009015793A (ja) 画像処理プログラムおよび画像処理装置
JP5529399B2 (ja) 操作システム
JP5529401B2 (ja) ゲームプログラムおよびゲーム装置
US8758133B2 (en) Game system with selective orientation control
JP5404522B2 (ja) 入力装置
US8725445B2 (en) Calibration of the accelerometer sensor of a remote controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130910

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140417

R150 Certificate of patent or registration of utility model

Ref document number: 5529399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250