(57)【特許請求の範囲】
【請求項１】
片手に把持可能な形状をなすコントローラであって、
その表面少なくとも一部に、空中で把持された状態で手指にて操作可能な位置に設けられた複数のセンサと、
前記センサに対する利用者の操作を表す信号を、情報処理装置に対して出力する回路部と、を有し、
前記センサは、利用者の手指による押圧を検出するセンサであり、
前記回路部は、前記情報処理装置において、前記複数のセンサで検出された圧力分布に基づいて前記複数のセンサのうちから指が接しているセンサが特定されるように、複数のセンサの配置に応じた信号を出力する、
ことを特徴とするコントローラ。
【請求項２】
請求項１に記載のコントローラであって、
前記センサは、手指までの距離を検出するセンサであることを特徴とするコントローラ。
【請求項３】
請求項１又は２に記載のコントローラであって、
弾性体カバーによって被覆され、当該被覆を介して把持され、操作されることを特徴とするコントローラ。
【請求項４】
請求項１から３のいずれか一項に記載のコントローラであって、
前記センサの少なくとも一部については、その近傍に発光体が設けられ、
前記回路部は、前記情報処理装置から受信される指示に基づいて、当該発光体の発光態様を制御することを特徴とするコントローラ。
【請求項５】
請求項１から４のいずれか一項に記載のコントローラであって、
前記センサの少なくとも一部については、その近傍に発光体が設けられ、
前記回路部は、コントローラに対する鉛直下方ないし鉛直上方の少なくとも一方の方向を検出し、当該検出結果に基づいて、前記発光体の少なくとも一つを点灯制御することを特徴とするコントローラ。
【請求項６】
請求項１から５のいずれか一項に記載のコントローラに接続される情報処理装置であって、
前記コントローラから、当該コントローラ表面に設けられた各センサに対する利用者の操作を表す信号を受けて、利用者の各指の位置を検出する手段と、
前記検出の結果に基づいて、特定の指による操作の内容を識別し、当該識別した操作の内容に基づいて所定の処理を実行する手段と、
を含むことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に対して利用者の操作に係る情報を出力するコントローラ装置に関する。
【背景技術】
【０００２】
情報処理装置のコントローラとして、例えば、家庭用ゲーム機のコントローラには、近年、種々のものが開発されている。
【０００３】
例えば、ゲームコントローラでは、ゲームキャラクタの移動方向等を制御するための十字キーや、種々の操作を行うための４方向に配置されたキー、筐体背面に配置されたボタンなどを備える。利用者は、両手でコントローラを挟むように支持しつつ、親指、人差指、中指などを使ってゲームキャラクタ等のコントロールを行う。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来のコントローラは、両手で支持して操作することが一般的であった。片手で支持できるコントローラとしては、例えば銃撃戦を行うゲームで用いる銃の形状のものなど、専用の形状のものはあったが、汎用のコントローラで片手にて支持可能なものがなく、操作の可能性が限定されていた。
【０００５】
本発明は上記実情に鑑みて為されたもので、操作の可能性を拡大できるコントローラを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００６】
上記従来例の問題点を解決するための本発明は、片手に把持可能な形状をなすコントローラであって、その表面少なくとも一部に、空中で把持された状態で手指にて操作可能な位置に設けられた少なくとも一つのセンサと、前記センサに対する利用者の操作を表す信号を、情報処理装置に対して出力する回路部と、を有することとしたものである。
【０００７】
ここで前記センサは、利用者の手指による押圧を検出するセンサであってもよい。また、前記センサは、手指までの距離を検出するセンサであってもよい。さらに、弾性体カバーによって被覆され、当該被覆を介して把持され、操作されることとしてもよい。また、前記センサの少なくとも一部については、その近傍に発光体が設けられ、前記回路部は、前記情報処理装置から受信される指示に基づいて、当該発光体の発光態様を制御することとしてもよい。
【０００８】
また、前記センサの少なくとも一部については、その近傍に発光体が設けられ、前記回路部は、コントローラに対する鉛直下方ないし鉛直上方の少なくとも一方の方向を検出し、当該検出結果に基づいて、前記発光体の少なくとも一つを点灯制御することとしてもよい。
【０００９】
さらに、本発明の一態様は、上述のコントローラに接続される情報処理装置であって、前記コントローラから、当該コントローラ表面に設けられた各センサに対する利用者の操作を表す信号を受けて、利用者の各指の位置を検出する手段と、前記検出の結果に基づいて、特定の指による操作の内容を識別し、当該識別した操作の内容に基づいて所定の処理を実行する手段と、を含む
【発明を実施するための最良の形態】
【００１０】
本発明の実施の形態について図面を参照しながら説明する。本実施の形態に係るコントローラ１は、図１に例示するように、情報処理装置２と通信可能に接続される。本実施の形態では、無線にて通信を行う例について述べるが、これに限られず、有線にて接続されてもよい。
【００１１】
コントローラ１は、図２（ａ）に例示するように、人の片手に把持可能なサイズで、把持可能な形状として略球体をなすコントローラ本体１０と、弾性カバー２０とを含んで構成される。図２（ａ）では、コントローラ本体１０の内外の構成を示すため、一部を破断して図示している。ここでは、コントローラ本体１０は、球体に近似した形状とするため、例えば２０面体の各面を球面に沿って変形させて貼り合わせたものとしてもよい。
【００１２】
コントローラ本体１０は、略球体をなし、その少なくとも一部領域に、少なくとも一つの圧力センサ１１を配置してある。このコントローラ本体１０は、圧力センサ１１を配置するべき位置に開口を形成した球状のインナーカバー１３を含み、このインナーカバー１３内部には、後に説明するように回路部Ｃが設けられる。
【００１３】
図２（ｂ）に示すように、このインナーカバー１３は、圧力センサ１１を配置する位置に開口を形成した球殻である。各圧力センサ１１は、インナーカバー１３の内部から、各開口を介して球殻外部に圧力を検知する面（検知面）が突出するように設置される。また各圧力センサ１１の検知面は、センサカバー１２によってカバーされる（図２（ｂ）では圧力センサ１１を見やすくするために、図示を省略している）。図２（ｂ）のインナーカバー１３は、図２（ｃ）に示すように、球面の一部から、開口となるべき部分を切り欠いた複数の殻要素１５を用いて形成できる。すなわちこの殻要素１５を、コントローラ本体１０のなす球殻に内接する正２０面体の１２個の頂点方向に各々配置して互いに係止位置Ｂで連結して、図２（ｂ）に示すインナーカバー１３を形成する。この殻要素１５は、中心部分に略五角形の中心体１６を設け、中心体１６の五角形の各辺からスポーク１７を開口縁に至るまで延長して、その強度を高めている。
【００１４】
本実施の形態の例では、圧力センサ１１がコントローラ本体１０としての略球体に内接する正２０面体の各面の中心に配列された例を示している。このセンサカバー１２は、２０面体の各面の形状である正三角形の板状体であり、その面を球面に沿って凸状に変形させてある。
【００１５】
なお、圧力センサ１１の配置は、この例に限らず、例えば球面の経緯度θ，φについて、θ＝ｎ／２πごと、φ＝ｍ／２πごと（ｎ，ｍは整数）といったように、経緯度に沿って配置されてもよい。
【００１６】
また弾性カバー２０は、ポリウレタン、発泡ポリウレタン、シリコンなどのゴム類、もしくは熱可塑性を有するエラストマーなどで形成されたもので、コントローラ本体１０を被覆する。
【００１７】
コントローラ本体１０内部には、図３に示すように、プロセッサ２１と、通信部２２と、姿勢センサ２３と、バッテリ２４とを含む、回路部Ｃが設けられている。ここでプロセッサ２１は、マイクロコンピュータであり、内蔵する記憶部に格納されたプログラムに従って動作する。このプロセッサ２１は、圧力センサ１１が検知した圧力の情報を収集し、通信部２２を介して、情報処理装置２へ送信する。また、このプロセッサ２１は、姿勢センサ２３の出力する信号を、通信部２２を介して、情報処理装置２へ送信する。
【００１８】
通信部２２は、例えばIEEE802.15.1や IEEE802.11等の無線通信手段であり、プロセッサ２１が収集した情報を情報処理装置２へ送出する。
【００１９】
姿勢センサ２３は、加速度センサやジャイロセンサ等であり、コントローラ１の変位や、傾きを検出して、プロセッサ２１に出力する。なお、これらのセンサから変位や傾きを検出する方法としては、例えば加速度センサからローパスフィルタを介して得た信号を２回、時間積分して変位の情報を得たり、ジャイロセンサの出力を１回、時間積分して回転角度を演算するなど、広く知られた方法を採用できる。
【００２０】
バッテリ２４は、例えば充放電可能な二次電池であり、外界から与えられる誘導起電力によって充電等を行う。このバッテリ２４は、コントローラ１の各部に電源を供給する。
【００２１】
情報処理装置２は、図４に示すように、制御部３１と、記憶部３２と、表示制御部３３と、コントローラインタフェース３４とを含んで構成されている。本実施の形態の情報処理装置２は、例えば家庭用ゲーム機や、パーソナルコンピュータなどであり、コントローラ１にて利用者が行う操作に応じた処理を行う。
【００２２】
制御部３１は、プロセッサ等であり、記憶部３２等に格納されたプログラムに従って動作するプログラム制御デバイスである。本実施の形態では、制御部３１は、コントローラインタフェース３４を介してコントローラ１から入力される指示に従い、ゲームやアプリケーションの処理を実行する。
【００２３】
記憶部３２は、ＲＡＭ（Random Access Memory）等の記憶素子、ハードディスクやＤＶＤ−ＲＯＭ等のディスクデバイスなど、コンピュータ可読な記憶媒体を備える。この記憶部３２には、制御部３１によって実行されるプログラムが格納されている。また、この記憶部３２は、制御部３１のワークメモリとしても動作する。
【００２４】
表示制御部３３は、家庭用テレビジョンや、ディスプレイモニタ等に接続されている。この表制御部３３は、制御部３１から入力される指示に従って、画像を描画し、当該描画した画像を家庭用テレビジョンやディスプレイモニタ等に表示出力する。
【００２５】
コントローラインタフェース３４は、IEEE802.15.1や、IEEE802.11等の通信手段を備え、少なくとも一つのコントローラ１に接続される。このコントローラインタフェース３４は、コントローラ１から受信される利用者の操作内容を表わす信号を、利用者からの指示として制御部３１に出力する。
【００２６】
また、このコントローラインタフェース３４は、制御部３１から入力される指示に従って、コントローラ１に対し、制御の信号等を出力してもよい。
【００２７】
本実施の形態では、利用者がコントローラ１を片手に把持した状態で、空中にてその表面のセンサに対して、指で押して押圧を加えたり、掌に握ったりといった操作を行う。コントローラ１のプロセッサ２１は、コントローラ１の表面に配列されている各圧力センサ１１を、その信号が入力されるポートによって識別し、それぞれの出力信号に固有の識別子を関連づけて保持する（図５）。ここで圧力センサ１１の出力信号は、圧力の大きさに応じた電圧値などであり、この電圧値はＡ／Ｄ変換されてディジタルの出力値としてプロセッサ２１に入力される。
【００２８】
プロセッサ２１は、各圧力センサ１１の識別子と、それに関連づけられた、それぞれの圧力センサ１１の出力値とを情報処理装置２へ出力する。
【００２９】
本実施の形態では、プロセッサ２１は、姿勢センサ２３や圧力センサ１１の出力に基づいて、コントローラ１が机上等に静かに置かれているか否かを検出する。例えば、姿勢センサ２３の加速度センサが検出する加速度の方向が所定の時間に亘り変化せず、各圧力センサ１１が検出する信号が、上記所定の時間に亘って変化しない場合に、机上等に静かに置かれていると検出することとすればよい。プロセッサ２１は、机上等に静かに置かれていると検出したときの各圧力センサの出力値を、それぞれの識別子に関連づけて基準情報として記憶する。
【００３０】
プロセッサ２１は、このように基準情報を記憶している場合は、動作中に得られた圧力センサ１１の出力値の各々から、基準情報のうち対応する圧力センサ１１の出力値を差引して出力してもよい。これにより、コントローラ１の自重によって生じる圧力センサ１１の出力をバックグラウンドノイズとしてキャンセルする。
【００３１】
コントローラ１から各圧力センサ１１での検出信号の情報を得た情報処理装置２では、このコントローラ１のデバイスドライバの動作として、その制御部３１において次のような処理を行う。
【００３２】
すなわち、制御部３１は、各圧力センサ１１で検出された圧力分布から、利用者の操作の内容を検出する。なお、以下の説明において、圧力センサ１１が指で押圧されたときの出力値に対して所定の安全率α１＜１を乗じて得た押圧しきい値η１と、圧力センサ１１が机上に静止して置かれているときの各圧力センサ１１の出力値のうち最大の値に、安全率α２＞１を乗じて得た操作しきい値η２とを予め定めておく。ここで、η１＞η２となるよう、α１，α２を適宜設定する。
【００３３】
（１）「握り」の検出
制御部３１は、操作しきい値η２を超える出力値を出力している圧力センサ１１の分布を調べる。具体例として圧力センサ１１が正２０面体の各面に配置されている場合、上記操作しきい値η２を超える出力値を出力している圧力センサ１１が配置された面が、予め定めた数以上あり、かつ押圧しきい値η１を超える出力値を出力する圧力センサ１１が一つもない場合、制御部３１は、コントローラ１が、利用者によって握られていると判断する。
【００３４】
例えば、図６に示すように、正２０面状のセンサカバー１２の各面に「０」から「１９」までの番号を付すとする（なお、図中では符号との混同を避けるため、ローマ数字で各番号を表記しておく）。このときコントローラ１を握ると、図７に示すように、各指が７，８，９，１１，１３の各面に接し、掌に１５，１６，１７，１８，１９の各面が接するので、これらの面に配置された圧力センサ１１の出力値が操作しきい値η２を超えることとなる。そこで例えば、操作しきい値η２を超える出力値を出力する圧力センサ１１が７以上ある場合に、コントローラ１が握られていると判断するなどとすればよい。なお、この図７では、説明をわかりやすくするために、弾性カバー２０をはずした状態を示している。
【００３５】
（２）「つまみ」の検出
また操作しきい値η２を超える出力値を出力している圧力センサ１１が、圧力センサ１１の配置されている正２０面体の面において、複数見出された場合であって、上記操作しきい値η２を超える出力値を出力している圧力センサ１１が配置された面が、予め定めた数未満であり（つまり「握られている」とは検出されず）、かつ押圧しきい値η１を超える出力値を出力する圧力センサ１１が一つもない場合は、制御部３１は、コントローラ１が、利用者によってつままれていると判断する。
【００３６】
例えば、図６に示すように圧力センサ１１が配置されているとする場合に、図８に示すようにコントローラ１をつまむと、各指によって８，９，１１，１２，１３の各面の圧力センサ１１が、操作しきい値η２を超える出力値を出力することとなる。なお、この図８でも、説明をわかりやすくするために、弾性カバー２０をはずした状態を示している。
【００３７】
このように「握られている」か、「つままれている」かは、操作しきい値η２を超える出力値を出力している圧力センサ１１の数などによって区別できる。
【００３８】
（３）「つまんで回す操作」の検出
さらに制御部３１は、コントローラ１がつままれていると検出されている間に、ジャイロセンサの出力信号によって、コントローラ１が回転していると判断する場合は、コントローラ１がつまんで回されていると判断する。
【００３９】
（４）指の検出
また、制御部３１は、コントローラ１が利用者によって握られている、またはつままれていると判断する場合において、出力値が操作しきい値η２を超えている圧力センサ１１の識別子（ここでは図６に示した各面の番号をそのまま識別子として用いる）を、出力値の大きいものから順に並べ替える。
【００４０】
図７の例のようにコントローラ１が握られている場合、一般的には親指と小指とによって挟持した状態で、人差し指、中指、薬指は添えられていると考えられる。また、親指が触れる面と、小指の触れる面との間の角度（図７のθ）は、他の指が触れる面間の角度よりも大きい。従って、出力値が比較的大きい圧力センサ１１が配置された面であって、面間の角度が最も大きい２つの面において親指と小指とが触れていると検出でき、また、親指の押圧力は小指の受ける力よりも大きいため、上記検出した２つの面のうち、より大きい出力値を出力する圧力センサ１１が配置される面に親指が位置していると検出する。
【００４１】
この結果、図７の例では、９の面に親指が位置していることが検出でき、ここから他の指が接していると考えられる面（出力値が比較的大きい値となっている圧力センサ１１が配置された面）のうちから、親指が位置していると考えられる面との角度が小さい順に、８の面に人差し指、１３の面に中指、７に薬指が接していると検出する。
【００４２】
（５）「つぶし」の検出
さらに、制御部３１は、上述のように指の配置を検出した後に、例えば親指が接触している面と小指が接触している面とに配置された各圧力センサ１１の出力値が押圧しきい値η１を超えた場合や、押圧しきい値η１を超える出力値を出力する圧力センサ１１の数が所定の数を超えた場合には、利用者がコントローラ１を押しつぶすような操作をしていると検出してもよい。
【００４３】
（６）左手・右手の検出
制御部３１は、さらに、コントローラ１が利用者に握られていると判断される場合に、出力値が操作しきい値η２を超えていない面が集まっている部分（図７であれば、０，１，２，３，４の面を含む部分）が上側と判断して（またはジャイロセンサの検出結果に基づいて、地表面に対して鉛直上方を判断してもよいし、鉛直上方を検出する他のセンサを用いてもよい）、上側から見込んだときに、親指が接している面が小指よりも右側にあるとき、右手で握られていると検出する。また、親指が接している面が小指よりも左側にあるときに左手で握られていると検出する。
【００４４】
（７）押下の検出
制御部３１は、いずれかの圧力センサ１１の出力値が、押圧しきい値η１を超えたときには、コントローラ１の面が押圧されたものと検出する。このとき、制御部３１は、コントローラ１の面が押下される直前の状態において、各指の接している面を特定していたときには、押圧が検出された時点で、どの面から指が離れたかを検出することで（操作しきい値η２を下回る出力値となった圧力センサ１１が配置された面がどれであるかを検出することで）、どの指で押圧が行われたかを検出できる。
【００４５】
さらに、親指と小指との位置を基準として、利用者から見て、比較的遠方側、比較的手前側、左側、右側のどのあたりが押下されたかを併せて検出できる。
【００４６】
このように、制御部３１は、各圧力センサ１１の出力値の分布から利用者の各種操作を検出できる。また、この出力値の変動の周波数など、分布の時間的変化に基づいても、利用者の各種操作を検出できる。例えば、数箇所の圧力センサ１１において、比較的高い周波数で、圧力分布が変化し、その分布も比較的早く変化していく場合、手に持ってつまんで回しているというような判断をする。
【００４７】
以上のことから、制御部３１は、例えばこのコントローラ１により、マウスカーソルなどの操作が行われる場合、次の図９に示すような処理を行うことができる。ここでは、複数のウィンドウ表示が行われる、グラフィカルユーザインタフェースを備えたアプリケーションプログラムの動作中に、カーソルの移動、ウィンドウの切替、メニューの選択という各種操作が行われるとする。
【００４８】
制御部３１は、コントローラ１の圧力センサ１１の出力値のいずれかが操作しきい値η２を超えたか否かを調べ（Ｓ１）、超えていなければ、処理Ｓ１に戻って処理を続ける。このように本実施の形態では、操作しきい値η２を超えない程度に軽く持ち上げた場合には、コントローラ１の移動などの操作に情報処理装置２が応答しないこととしておいてもよい。
【００４９】
また処理Ｓ１において、コントローラ１の圧力センサ１１の出力値のいずれかが操作しきい値η２を超えた場合は、操作の内容を判別する（Ｓ２）。例えば、「握る」、「つぶす」、「つまむ」のどの操作が行われたかを検出する。そして、「握る」操作が行われたと判断される場合は、さらに加速度センサの検出結果から、コントローラ１の変位を検出し（Ｓ３）、当該変位の方向、及び量に基づいてカーソルの移動方向及び移動量を制御する（Ｓ４）。そして、処理Ｓ１に戻って処理を続ける。
【００５０】
また、処理Ｓ２において、「つぶす」操作が行われたと判断される場合は、ウィンドウの切替を行う（Ｓ５）。例えば、一度つぶす操作が行われるごとに、所定の順序で開かれているウィンドウが切替表示されるようにしておけばよい。制御部３１は、その後、処理Ｓ１に戻って処理を続ける。
【００５１】
さらに処理Ｓ２において、「つまむ」操作が行われたと判断される場合は、メニューを開き（Ｓ６）、ついで、処理Ｓ３に移行する。これにより、メニューの選択操作を行わせることができる。
【００５２】
このようにした場合、利用者は、コントローラ１を片手に持ったまま、握ったり、つぶしたり、つまんだり、空中で移動させたりするだけで、アプリケーションプログラムの操作を行うことができるようになる。また、ゲームキャラクタを制御する場合も同様に処理できる。
【００５３】
さらに、処理Ｓ４におけるように、コントローラ１の変位を検出した場合、当該検出した変位の値に、圧力センサ１１の出力値の平均（その他、合計、中間値、最大値、最小値など統計的値）に基づく重みを乗じて、当該重みを乗じた後の変位量と、当該変位の方向とに基づいてカーソルの移動方向及び移動量を制御することとしてもよい。
【００５４】
この場合、例えば軽く握って動かすと、カーソルの移動量が小さくなり、強く握って動かすとカーソルの移動量が大きくなるなどとすることができる。従って、例えば通常の机上で動かすマウスなどのように、「一旦マウスを持ち上げて別の場所に移動し、再度マウスを机上で移動させる」など、マウス操作において一般的に用いられている方法と同様に、比較的強く握った状態でコントローラ１を所望の移動方向へ移動し、移動量が不足していれば、さらに握る力を弱めて移動させやすい場所にコントローラ１を移動し、再度強く握った状態でコントローラ１を所望の移動方向へ移動させるというような動作で、移動距離を延長するなどの操作が可能となる。
【００５５】
なお、この逆に、例えば軽く握って動かすと、カーソル等の移動量が大きくなり、強く握って動かすとカーソル等の移動量が小さくなるというように設定しても構わない。例えばゲームキャラクタの移動においては、圧力センサ１１の出力値に応じて、移動量を任意に設定できるようにしておけば、娯楽性が高められる。
【００５６】
また、この圧力センサ１１の出力値に応じて、移動対象物を異ならせてもよい。例えば制御部３１は、コントローラ１が軽く握って動かされたと検出される場合に、当該コントローラ１の動きに応じて三次元仮想空間内に配置されたオブジェクトを移動し、強く握って動かされたと検出される場合に、当該コントローラ１の動きに応じて三次元仮想空間内の視点位置を移動するようにしてもよい。
【００５７】
さらに本実施の形態では、コントローラ１が加速度センサを備えているので、例えばコントローラ１を放り投げたり、投げたりといった操作をも検出できる。また、実際に投げるのではなく、例えば利用者が強く握った状態で投球フォームに入り、その後、力を抜いた時点で、利用者がコントローラ１を投げたものとして検出することとしてもよい。
【００５８】
このように投げられることがある場合、コントローラ１の本体を被覆する弾性カバー２０は、衝撃吸収力の比較的大きいものを選択することとしてもよい。このような材料としては、シリコンをゲル状としたアルファゲル（登録商標）等を用いることができる。
【００５９】
また、利用者が、指でコントローラ１の表面をなぞる場合、出力値が、押圧しきい値η１を超える圧力センサ１１が配置された面が時間変化する。そこで制御部３１は、この時間変化を検出して、利用者がなぞった方向や、指の移動量を検出し、当該検出の結果に基づいて、文字や絵の描画、カーソル、オブジェクトの移動などの処理を行ってもよい。
【００６０】
［コントローラの変形例］
なお、コントローラ１が略球体をなしている場合など、回転対称の形状を有している場合、転がってしまうことなどにより、操作位置が変動してしまう場合もある。このような場合に配慮して、例えば、予め頂点方向を定め、当該コントローラ１の本体１０または弾性カバー２０の当該方向の表面に突起を設けてもよい。
【００６１】
さらにコントローラ１の表面、少なくとも一部にＬＥＤなどの発光素子を埋め込み、当該発光素子を発行させることで、操作位置を案内してもよい。例えば、各圧力センサ１１に対応させて、各圧力センサ１１を配置するインナーカバー１３の各開口部から、光が透過するよう、各開口部に多色ＬＥＤを設置し、情報処理装置２から受信される指示に従って、それぞれのＬＥＤの発光態様を制御してもよい。
【００６２】
例えば情報処理装置２の制御部３１は、コントローラ１の表面に複数の押下位置を設定する場合、各押下位置に対応する位置にあるＬＥＤを互いに異なる発光態様（色を異ならせたり、点滅態様を異ならせる）で発光させる。これにより利用者は、押下位置の目標をＬＥＤの発光状態によって知ることができる。この場合、弾性カバー２０は、光透過性を有する素材としておく。
【００６３】
また、コントローラ１内部に設けられたプロセッサ２１が、各ＬＥＤの発光状態を制御してもよい。例えばプロセッサ２１は、コントローラ１が静かに置かれた状態にあるか否かを調べる。具体的な処理例としては次のようにすればよい。すなわち、プロセッサ２１は、姿勢センサ２３に含まれる加速度センサの検出結果を所定のタイミングごとに繰り返し取得する。そしてプロセッサ２１は、検出結果の時間的な変化を調べ、予め定めた時間以上に亘る検出結果の時間変化が、所定の閾値未満となっているか否かを調べる。ここで予め定めた時間以上に亘る検出結果の時間変化が、所定の閾値未満となっていると、コントローラ１が静かに置かれた状態にあると判定できる。
【００６４】
また、プロセッサ２１は、コントローラ１が静かに置かれた状態にあるときの加速度センサの検出結果により、コントローラ１に対する鉛直下方（重力の方向）を検出する。この検出は、重力加速度の方向を検出する処理として広く知られているので、ここでの詳しい説明を省略する。
【００６５】
プロセッサ２１は、コントローラ１に対する鉛直下方（重力の方向）を検出すると、当該鉛直下方向に最も近い位置にあるＬＥＤと、コントローラ１において鉛直下方とは逆側の鉛直上方に最も近い位置にあるＬＥＤとをそれぞれ、互いに異なる態様（例えば色を異ならせるなど）で点灯させる。
【００６６】
さらにプロセッサ２１は、このときの鉛直下方向、ないし鉛直上方向との関係で、例えば鉛直上方向の最も近傍にある複数の圧力センサ１１を、押下操作の対象となる圧力センサ１１と設定してもよい。このときは、各押下操作の対象とした圧力センサ１１に対応するＬＥＤをそれぞれ互いに異なる態様で点灯制御する。これにより、押下操作の位置を案内できる。また、この場合は、以降、コントローラ１がどのような姿勢となっても、押下操作の対象として設定した圧力センサ１１の位置を移動しないようにする。
【００６７】
このようにしたことで、例えば利用者が寝ころんだり、姿勢を変えながら操作しても、押下操作の対象位置が移動することがなく、操作性を向上できる。
【００６８】
また、コントローラ１は、バイブレータなどの力覚呈示デバイスを備え、情報処理装置２から受信される指示によって当該デバイスを振動等させてもよい。
【００６９】
さらにここまでの説明では、利用者の指などによる押下等を検出するデバイスとして、圧力センサ１１を用いる例について述べたが、これに限られるものではない。この圧力センサ１１に替えて、またはこれらとともに、利用者の指までの距離を測定可能な静電容量センサや、カメラを用いた柔軟応力センサ、歪みセンサなどを用いることとしてもよい。例えば静電容量センサを用いる場合、弾性カバー２０の復元力に抗して、その一部を押し込んだときの利用者の指までの距離（センサまでの距離）によって、押圧力を検出できる。また、弾性カバー２０の一部をつまんで引っ張ったときの指までの距離を検出して、弾性カバー２０に対する変形を検出し、当該弾性カバー２０に対する変形に応じた処理を行ってもよい。
【００７０】
また、コントローラ１の形状も、球体だけでなく、図１０に示すように、卵形（図１０（ａ））や水滴（ティアドロップ）型（図１０（ｂ））、一部に突出部を設けた形状（図１０（ｃ））などとしてもよい。
【００７１】
本実施の形態によれば、コントローラ１に対する変形や、握る動作など、種々の操作を検出できるため、操作の可能性を拡大できる。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施の形態に係るコントローラ及び情報処理装置を含むシステムの例を表す概略図である。
【図２】本発明の実施の形態に係るコントローラの例を表す概要図である。
【図３】本発明の実施の形態に係るコントローラの回路部の例を表す構成ブロック図である。
【図４】本発明の実施の形態に係る情報処理装置の例を表す構成ブロック図である。
【図５】本発明の実施の形態に係るコントローラで検出される値の例を表す説明図である。
【図６】本発明の実施の形態に係るコントローラの圧力センサの配置例を表す説明図である。
【図７】本発明の実施の形態に係るコントローラの操作例を表す説明図である。
【図８】本発明の実施の形態に係るコントローラの操作の別の例を表す説明図である。
【図９】本発明の実施の形態に係る情報処理装置での処理例を表すフローチャート図である。
【図１０】本発明の実施の形態に係るコントローラの形状の他の例を表す説明図である。
【符号の説明】
【００７３】
１  コントローラ、２  情報処理装置、１０  コントローラ本体、１１  圧力センサ、１２  センサカバー、１３  インナーカバー、１５  殻要素、１６  中心体、１７  スポーク、２０  弾性カバー、２１  プロセッサ、２２  通信部、２３  姿勢センサ、２４  バッテリ、３１  制御部、３２  記憶部、３３  表示制御部、３４  コントローラインタフェース。
【図１】
0005441299.tif 000002
【図２】
0005441299.tif 000003
【図３】
0005441299.tif 000004
【図４】
0005441299.tif 000005
【図５】
0005441299.tif 000006
【図６】
0005441299.tif 000007
【図７】
0005441299.tif 000008
【図８】
0005441299.tif 000009
【図９】
0005441299.tif 000010
【図１０】
0005441299.tif 000011