(57)【要約】  利用者に把持されて操作を受け入れるコントローラであって、その表面に操作部材を少なくとも一つ備え、把持された状態でのコントローラの姿勢を検出し、操作部材に対する操作を表す情報を受け入れる。そして検出した姿勢の情報と、受け入れた操作を表す情報とに基づいて、利用者の操作の内容を表す操作情報を生成して出力するコントローラである。
2008139552.tif 000002
【特許請求の範囲】
【請求項１】
利用者に把持されて操作を受け入れるコントローラであって、
その表面に操作部材を少なくとも一つ備え、
把持された状態でのコントローラの姿勢を検出する姿勢検出手段と、
前記操作部材に対する操作を表す情報を受け入れる操作受入手段と、
前記検出した姿勢の情報と、前記受け入れた操作を表す情報とに基づいて、利用者の操作の内容を表す操作情報を生成して出力する出力手段と、
を有することを特徴とするコントローラ。
【請求項２】
請求の範囲第１項に記載のコントローラであって、
前記操作部材には、受け入れる操作の内容を表示する表示部を有し、
前記検出した姿勢の情報に基づいて、前記操作部材における表示を異ならせることを特徴とするコントローラ。
【請求項３】
請求の範囲第１項に記載のコントローラであって、
前記操作部材には、利用者の押下操作を受け入れるボタンを含み、
前記操作情報を生成する手段は、押下されたボタンの位置と、前記検出した姿勢の情報とに基づいて、利用者の操作の内容を表す操作情報を生成して出力することを特徴とするコントローラ。
【請求項４】
請求の範囲第１項に記載のコントローラであって、
所定の時点でのコントローラの姿勢を検出して、初期姿勢情報として保持する手段をさらに含み、
前記出力手段は、前記初期姿勢情報に応じて予め定められた条件を満足している間は、前記姿勢の情報に変化がないものとして、操作情報を生成することを特徴とするコントローラ。
【請求項５】
互いに形状の異なる第１筐体部及び第２筐体部、
前記第１筐体部に対して第２筐体部を相対移動可能に連結するジョイント、及び、
前記第１筐体部と第２筐体部との少なくとも一方表面に備えられた操作部、
を有するコントローラ。
【請求項６】
把持された状態での自身の姿勢を検出し、操作部材に対する操作を表す情報を受け入れて出力するコントローラに接続された操作対象装置であって、
前記コントローラで検出されたコントローラの姿勢の情報と、前記操作を表す情報とを受け入れ、所定の時点でのコントローラの姿勢を、初期姿勢情報として保持し、
その後検出した姿勢の情報が前記初期姿勢情報に応じて予め定められた条件を満足している間は、前記姿勢の情報に変化がないものとして、前記受け入れた操作を表す情報に基づいて、利用者の操作の内容を表す操作情報を生成し、その後検出した姿勢の情報が前記初期姿勢情報に応じて予め定められた条件を満足しない状態となると、前記姿勢の情報に変化があったものとして、前記受け入れた操作を表す情報に基づいて操作情報を生成し、
当該操作情報に従って処理を実行して、当該実行の結果を出力する、
操作対象装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、家庭用ゲーム機やコンピュータ、家電製品などの操作対象装置、並びに、その操作に用いられるコントローラに関する。
【背景技術】
【０００２】
家庭用ゲーム機を初めとする情報処理機器のコントローラには種々の形状のものが存在する。例えば、直方体をなす筐体表面に多数のボタンを配し、直方体の両端において利用者が把持するための把持部を斜めに突出させたものなどがある。また、拳銃状の形状をなし、操作部をその側面に配したものがある。
【特許文献１】特許第３２２９６８２号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、いずれのコントローラにおいても利用者が把持したときのコントローラの姿勢は一定であった。このため操作のない間に、利用者がコントローラを手中でひっくり返したり、転がしたりしても、操作を行うときにはまた正位置（利用者が把持したときの姿勢）に戻す必要があった。このため、従来のコントローラでは、手に馴染みにくいという問題点があった。【０００４】
本発明は上記実情に鑑みて為されたもので、利用者がコントローラを手中でもてあそびつつ、操作を行うことができ、手に馴染みやすいコントローラ、並びにそのコントローラによって制御される操作対象装置を提供することをその目的の一つとする。
【課題を解決するための手段】
【０００５】
上記従来例の問題点を解決するための本発明は、利用者に把持されて操作を受け入れるコントローラであって、その表面に操作部材を少なくとも一つ備え、把持された状態でのコントローラの姿勢を検出する手段と、前記操作部材に対する操作を表す情報を受け入れる手段と、前記検出した姿勢の情報と、前記受け入れた操作を表す情報とに基づいて、利用者の操作の内容を表す操作情報を生成して出力する手段と、を有することとしたものである。【０００６】
また、本発明の別の態様に係るコントローラは、互いに形状の異なる第１筐体部及び第２筐体部、前記第１筐体部に対して第２筐体部を相対移動可能に連結するジョイント、及び、前記第１筐体部と第２筐体部との少なくとも一方表面に備えられた操作部、を有するものである。
【図面の簡単な説明】
【０００７】
【図１】図１は、本発明の実施の形態に係るコントローラの正面図である。
【図２】図２は、本発明の実施の形態に係るコントローラの断面図である。
【図３】図３は、本発明の実施の形態に係るコントローラのまた別の断面図である。
【図４】図４は、本発明の実施の形態に係るコントローラの構成を表すブロック図である。
【図５】図５は、本発明の実施の形態に係るコントローラを把持した例を表す説明図である。
【図６】図６は、本発明の実施の形態に係るコントローラを別の態様で把持した例を表す説明図である。
【図７】図７は、本発明の実施の形態に係るコントローラをさらに別の態様で把持した例を表す説明図である。
【図８】図８は、本発明の実施の形態に係るコントローラの機能ブロック図である。
【図９】図９は、本発明の実施の形態に係るコントローラの回転操作例を表す説明図である。
【図１０】図１０は、本発明の実施の形態に係るコントローラの別の回転操作例を表す説明図である。
【図１１】図１１は、本発明の実施の形態に係るコントローラが保持する出力値テーブル群の例を表す説明図である。
【図１２】図１２は、本発明の実施の形態に係るコントローラに設けられた操作部材の機能表示を行う表示部での発光体の配列パターンを表す説明図である。
【図１３】図１３は、本発明の実施の形態に係るコントローラを把持した状態での可動範囲の例を表す説明図である。
【図１４】図１４は、本発明の実施の形態に係るコントローラを把持した状態での可動範囲の別の例を表す説明図である。
【図１５】図１５は、本発明の実施の形態に係るコントローラに係る処理の例を表すフローチャート図である。
【図１６】図１６は、本発明の実施の形態に係る操作対象装置の概略構成を表すブロック図である。
【発明を実施するための最良の形態】
【０００８】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態のコントローラは、図１に示すように、互いに形状の異なる第１筐体部１０及び第２筐体部２０と、第１筐体部１０に対して第２筐体部を相対移動可能に連結するジョイント３０を含む。また、このコントローラは、第１筐体部１０と第２筐体部２０との少なくとも一方表面に操作部４０を備えている。図１では、第１筐体部１０と第２筐体部２０とは、いずれも切頭した球形をなし、切頭部Ｈ，Ｈ′を向かい合わせて連結されている。また第１筐体部１０に比べ、第２筐体部２０はやや小さめの球体状となっている。以下では、何ら操作が行われていない状態において、第１筐体部１０の球体中心と、第２筐体部２０の球体中心とを結ぶ線分の軸をＺ軸とする。また、図１では、第１筐体部１０と第２筐体部２０との間隙をカバーする円環状のカバー部材５０を設けている。【０００９】
図２は、このコントローラをその中央で、操作部４０の面に平行な面（Ｙ軸面と呼ぶ）に沿って切ったときの断面図であり、図３はコントローラを中央で、操作部４０の面に垂直な面（Ｘ軸面と呼ぶ）に沿って切ったときの断面図である。【００１０】
図２、図３に示すように、本実施の形態のコントローラは、第１筐体部１０側内部に、第１ポテンショメータ１１、第２ポテンショメータ１２、第３ポテンショメータ１３、操作部基板１４、回路部１５、電源部１６、ジャイロセンサ１７、ＵＳＢコネクタ１８、及び加速度センサ１９を備えている。また第２筐体部２０側内部には、ＵＳＢコネクタ２１を備えている。なお、これらの断面図において第１、第２ポテンショメータ１１，１２は、本来であればこの断面に現れないが、平面的な位置を示すために線種を変えて図示してある。【００１１】
第１、第２、第３のポテンショメータ１１，１２，１３は、例えば回転軸を備えた抵抗素子であり、この回転軸の回転角度に応じた電気的信号を出力する。本実施の形態では、第１、第２のポテンショメータ１１，１２は、第１筐体部１０の切頭面に平行で、第１筐体部１０の球体の中心を含む平面内に、互いに直交する向き（Ｘ軸及びＹ軸）にそれぞれの回転軸を向けて配される。また、第３のポテンショメータ１３は、第１、第２ポテンショメータ１１，１２が配された面に鉛直な方向で、第１筐体部１０の球体の中心を通る線上に回転軸が一致するように配される。【００１２】
操作部基板１４は、操作部４０となるボタンやスイッチ（例えば図１の４０ａから４０ｄのように十字に配置されたボタン）を搭載し、それぞれのボタンやスイッチが押下されているか否かを表す電気的信号を出力している。回路部１５は、この操作部基板１４や他の基板に実装され、図４に例示するようにプログラム制御デバイスとしての制御回路４１と、この制御回路４１によって実行されるプログラムを保持する記憶デバイスとしてのメモリ４２と、ＵＳＢインタフェース部４３とを含んで構成される。【００１３】
制御回路４１は、ジャイロセンサ１７や加速度センサ１９から入力される信号に基づいて、コントローラの姿勢（特定のポジション（初期位置）からのＸ、Ｙ、Ｚ軸周りの回転角度値）を検出する。例えば制御回路４１は、コントローラが静かに置かれている状態で加速度センサ１９が検出する信号から、重力の方向を検出する。そして制御回路４１は、この重力の方向を基準方向として、当該重力の方向からの角度を表す情報を得る。【００１４】
また制御回路４１は、第１、第２、第３のポテンショメータ１１，１２，１３が検出する回転角度値や、操作部４０に含まれるボタンやスイッチの押下を基礎情報として検出し、当該検出した基礎情報と、コントローラの姿勢の情報とに基づいて利用者の操作内容を表す操作情報を生成して、ＵＳＢインタフェース部４３に出力する。この制御回路４１の具体的な動作例については、後に詳しく述べる。【００１５】
ＵＳＢインタフェース部４３は、ＵＳＢコネクタ１８及び２１に接続されている。そして、このＵＳＢコネクタ１８または２１を介して入力される信号を制御回路４１に出力する。また制御回路４１が出力する情報を表す信号を、ＵＳＢコネクタ１８や２１を介して出力する。また、このＵＳＢインタフェース部４３は、ＵＳＢコネクタ１８や２１を介して給電を受けると、当該給電された電力を電源部１６に伝達する。【００１６】
電源部１６は、二次電池と充放電制御回路とを含んで構成される。ここで充放電制御回路は、回路部１５のＵＳＢインタフェース部４３から電力を受けると、二次電池を充電制御する。また、充放電制御回路は、二次電池から引き出すことのできる電力に応じて、電池からの電力を各部へ供給する。この電池からの電力により、コントローラ内の回路部１５に含まれる回路などが動作する。ジャイロセンサ１７は、Ｘ，Ｙ，Ｚ軸方向の回転角速度を検出して出力する多軸角速度センサである。【００１７】
加速度センサ１９は、Ｘ，Ｙ，Ｚ軸方向への加速度を検出して出力する、いわゆる３軸センサであり、操作部基板１４上に設けられている。コントローラが静止しているとき、この加速度センサ１９が、検出する加速度は一般に重力加速度と考えられ、この加速度センサ１９の出力に基づいて重力の方向を検出できる。【００１８】
また、ジョイント３０は、第１筐体部１０の球体中心部にその一端が固定される棒状の腕部３１を含む。また、この腕部３１は、他端側は第２筐体部２０の中心部へ延び、当該中心部において自在継ぎ手３２を介在させて第２筐体部２０に固定されている。また、この腕部３１は、第１筐体部１０内の第３ポテンショメータ１３の回転軸に同軸に結合されている。【００１９】
この自在継ぎ手３２により、第１筐体部１０は、第２筐体部２０の中心部を回転中心として移動可能となっている。なおこの移動範囲は、第１筐体部１０または第２筐体部２０の切頭部分の開口と、腕部３１とが干渉しない範囲に規制される。【００２０】
また、腕部３１の第１筐体部１０中心部の端部は、第１ポテンショメータ１１及び第２ポテンショメータ１２に接続されている。従って本実施の形態では、第２筐体部２０を掌握した状態で、第１筐体部１０と第２筐体部２０とを相対的に傾倒操作することができる。例えば第１筐体部１０に対して第２筐体部２０を、Ｘ軸に沿って移動させると、第２ポテンショメータ１２がＹ軸周りの回転量として、この移動量を検出する。同様に第１筐体部１０を第２筐体部２０に対し、Ｙ軸に沿って移動させると、第１ポテンショメータ１１がＸ軸周りの回転量として、この移動量を検出することになる。【００２１】
さらに、第２筐体部２０を掌握したまま、第１筐体部１０をＺ軸周りに回転させると、第３ポテンショメータ１３が、この回転量を検出することになる。【００２２】
本実施の形態のコントローラは、以上の構成を備えてなるため、利用者は、このコントローラを用いて次のように操作を行うことができる。【００２３】
例えば利用者は、図５に示すように、第２筐体部２０を片手に掌握し、第１筐体部１０上の操作部４０に指を伸ばしてボタン４０ａから４０ｄを押下操作することができる。また、図６に示すように、第１筐体部１０を片手に掌握し、第２筐体部２０を第１筐体部１０に対して傾倒操作することもできる。【００２４】
さらに利用者は、図７に例示するように、Ｚ軸を横向きにとって、左手で第２筐体部２０を支え、右手で第１筐体部１０を支えて、右手の指で第１筐体部１０上の操作部４０を操作することもできる。【００２５】
次に本実施の形態の制御回路４１の動作について説明する。この制御回路４１は、メモリ４２に格納されたプログラムを実行する。そしてそれにより、図８に示すように姿勢検出部５１と、操作受入部５２と、操作情報出力部５３とを機能的に含んだ装置として、このコントローラを動作させる。【００２６】
ここに姿勢検出部５１は、ジャイロセンサ１７や加速度センサ１９が出力する信号に基づいて、コントローラが把持された状態での姿勢を検出する。この姿勢検出部５１は、コントローラが静かに置かれている状態で、加速度センサ１９が出力する信号に基づいて重力の方向を検出しておく。【００２７】
姿勢検出部５１は、これらジャイロセンサ１７や加速度センサ１９が出力する信号に基づき、この重力の方向に対するコントローラの傾き角度を、姿勢情報として検出する。例えばこの姿勢情報には、重力方向に対する加速度センサ１９の特定軸（例えばＺ軸）方向の角度や、この特定軸まわりでの操作部４０の面方向の回転角度などを含む。なお、特定軸としては例えば第１筐体の中心と第２筐体の中心とを結ぶ線分に平行な方向に延びる軸などとしておけばよい。このようにした場合、姿勢情報には、第１筐体部１０の中心から第２筐体部２０の中心へのベクトルの方向と重力方向とのなす角（以下、主軸角という）を表す主軸角情報が含まれる。【００２８】
姿勢検出部５１は、加速度センサ１９の出力信号が所定の期間に亘って一定であるとき、コントローラが静かに置かれているものと判断する。そして、Ｘ，Ｙ，Ｚ軸の各軸方向への加速度の検出結果、Ｇｘ，Ｇｙ，Ｇｚを用いて、次のように主軸角を演算する。
すなわち、ここではＺ軸を特定軸方向としているので、Ｘ軸とＹ軸とを含む面内で検出される重力の大きさは、重力方向と特定軸方向とが一致しているとき（主軸角が０であるとき）に、「０」となる。また、特定軸が水平となるとき、重力のＸ軸とＹ軸とを含む面内の成分、
【数１】
2008139552.tif 000003
は、重力加速度「Ｇ」に等しい。【００２９】
また、主軸角をθとするとき、この重力のＸ軸とＹ軸とを含む面内の成分Gxyは、
【数２】
2008139552.tif 000004
と書ける。
従って、主軸角θは、Gxyの値を用いて、
【数３】
2008139552.tif 000005
と演算できる。【００３０】
姿勢検出部５１は、また、コントローラが操作されている間であっても、加速度センサ１９の出力信号が所定の期間に亘って一定であるときは、コントローラの姿勢が変化していないものと判断し、Ｘ，Ｙ，Ｚ軸の各軸方向への加速度の検出結果、Ｇｘ，Ｇｙ，Ｇｚを用いて、上記の場合と同様に主軸角を演算する。ここで演算された主軸角は、いわば、加速度センサ１９の出力信号によって推定された重力の方向（以下、推定重力方向と呼ぶ）と特定軸とのなす角度である。【００３１】
また操作受入部５２は、操作部４０や第１、第２、第３ポテンショメータ１１，１２，１３など、操作部材からの出力によって、利用者の操作を表す情報を受け入れる。そして操作情報出力部５３は、姿勢検出部５１が検出した姿勢情報と、操作受入部５２が受け入れた操作を表す情報とに基づいて、利用者の操作の内容を表す操作情報を生成して出力する。【００３２】
一例として、操作情報出力部５３は、図５に示したように、第２筐体部２０を下方としてコントローラを把持しているのか、図６に示したように第１筐体部１０を下方としてコントローラを把持しているのかによって、第１、第２、第３ポテンショメータ１１，１２，１３の出力信号に基づく操作情報を変更する。【００３３】
すなわち、姿勢検出部５１は、主軸角の絶対値がπ／２（９０度）未満（または以下）であれば、第１筐体部１０より第２筐体部２０が下方にある（以下、第２筐体部２０を下方としているという）と判断する。また、主軸角の絶対値がπ／２（９０度）以上（または、より大きい）であれば第２筐体部２０より第１筐体部１０が下方にある（以下、第１筐体部１０を下方としているという）と判断する。【００３４】
そして図５に示したように第２筐体部２０を下方としてコントローラを把持している状態で、第１筐体部１０だけを上記特定軸（ここではＺ軸）を回転軸としてφだけ回転させると、第３のポテンショメータによって検出される角度は図９に例示するようにφとなる。一方、第１筐体部１０を下方としてコントローラを把持している状態で、第２筐体部２０だけをＺ軸に対してφだけ回転させると、第３のポテンショメータ１３が検出する角度は、図１０に例示するようにφ′＝−φ（ｒａｄ）となる。なお、図９、図１０では、球体の回転を示すため、第１、第２筐体部１０，２０をそれぞれチェッカーパターンで着色しているが、実際にはこの着色がなくてもよい。【００３５】
そこで操作情報出力部５３は、図６に示したように第１筐体部１０を下方としてコントローラを把持していると検出すると、第３のポテンショメータ１３が検出した角度φ′の符号を逆転して、−φ′＝φを得て、この角度値φを操作情報として出力する。一方操作情報出力部５３は、図５に示したように第２筐体部２０を下方としてコントローラを把持していると検出すると、第３のポテンショメータ１３が検出した角度φをそのまま操作情報として出力する。【００３６】
さらに、例えば第１筐体部１０の末端側（第２筐体部２０との接合面とは反対側）にある操作部のボタン４０ａは、図５、図６、図７に示した姿勢においてそれぞれ、利用者から見て上側、下側、右側に位置することとなる。従って仮にボタン４０ａに割り当てられた機能が各姿勢において変更されないと、利用者はコントローラを把持する姿勢によって、押下するボタンの位置が上側、下側…と変化することになり、操作性が低い。【００３７】
そこで本実施の形態において操作情報出力部５３は、コントローラの姿勢に応じて、押下されたボタンに対して出力する操作情報を変更する。例えば、操作情報出力部５３は、コントローラが第１筐体部１０に対して第２筐体部２０が下側（推定重力方向）にして把持されている場合に、各ボタン４０ａから４０ｄと、出力する情報（押下されたボタンを表す出力値であるとする）とを関連づけた出力値テーブルを図１１（ａ）に示すように記憶しておく。同様に、第２筐体部２０が第１筐体部１０より左側にして把持されている場合（図１１（ｂ））、第２筐体部２０が第１筐体部１０に対して上側にして把持されている場合（図１１（ｃ））、第２筐体部２０が第１筐体部１０に対して右側にして把持されている場合（図１１（ｄ））の各場合についても、各ボタン４０ａから４０ｄに対応して出力する情報（出力値）を表す出力値テーブルを記憶しておく。【００３８】
そして操作情報出力部５３は、利用者がいずれかのボタン４０を押下すると、その時点でのコントローラの姿勢に応じた出力値テーブルを選択し、当該選択した出力値テーブルにおいて押下されたボタン４０に関連づけられた出力値を出力する。例えば、図７に示したように、第２筐体部２０が第１筐体部１０より左側にして把持されているときに、利用者がボタン４０ａを押下すると、操作情報出力部５３は、当該姿勢に対応する出力値テーブル（図１１（ｂ））を選択して、当該選択した出力値テーブルにおいてボタン４０ａに関連づけられた出力値「ＩＤ＝２」を操作情報として出力する。一方、図５に示したように、第２筐体部２０が第１筐体部１０よりも下側にして把持されているときに、利用者がボタン４０ａを押下すると、操作情報出力部５３は、当該姿勢に対応する出力値テーブル（図１１（ａ））を選択して、当該選択した出力値テーブルにおいてボタン４０ａに関連づけられた出力値「ＩＤ＝１」を操作情報として出力する。これにより、利用者はコントローラの姿勢によらずに、ボタン４０の位置に対応した機能を呼び出すことができるようになる。【００３９】
なお、すべての操作部材の出力をコントローラの姿勢に応じて変更する必要は必ずしもない。例えば、第１、第２のポテンショメータ１１，１２の出力値は、第１筐体部１０と第２筐体部２０との相対的な位置に基づくもので、コントローラの姿勢によって変化しない。従って操作情報出力部５３は、コントローラの姿勢によらず、これら第１、第２のポテンショメータ１１，１２の出力値を操作情報としてそのまま出力する。【００４０】
また、このようにボタン４０に割り当てられる機能が、コントローラの姿勢に応じて変更されることに鑑み、各ボタン４０表面に表示する機能の表示もまた、コントローラの姿勢に応じて動的に変更されることとしてもよい。例えば、ボタン４０の表面に図１２に示すように配列したＬＥＤ群（またはそれに類するＬＣＤや有機ＥＬなどを用いた表示手段でもよい）による表示部を設けて、制御回路４１が、コントローラの姿勢に応じて各ボタン４０上の表示部の表示内容を変更してもよい。【００４１】
具体的な処理例として、予め出力値に応じた表示パターン（ＬＥＤであれば点灯のパターン）を表す情報を関連づけたテーブルを記憶しておき、制御回路４１は、コントローラの姿勢に応じた出力値テーブルを参照して、各ボタン４０ａから４０ｄに対応する出力値を得ておき、この出力値に関連づけられた表示パターンを取得する。そして対応するボタン４０上の表示部の表示パターンを、取得した表示パターンに設定する。なお、図１２では、Ｏ型、Ｘ型、三角形、矩形の４つのパターンを表示する場合の配列例を示したものであるが、これに限らず、マトリクス状に配列してもよいし、千鳥配列としても構わない。【００４２】
さらに本実施の形態のコントローラでは、例えばコントローラによる操作の対象によっては、コントローラの姿勢が一時的に変化することがある。例えば、第２筐体部２０を下方として把持している状態であっても、人間の手首の可動範囲のために、第１筐体部１０と第２筐体部２０とのジョイント３０の中心から見た特定軸の方向は、図１３に例示する範囲Ｗ１に亘って変化する。このうち、ジョイント３０の中心から見た特定軸方向が範囲Ｗ１ａにあるときには、実際には、第１筐体部１０を下方としている姿勢になるが把持している状態に変化がない。そこで、当初のコントローラの姿勢情報により、第２筐体部２０を下方として把持されていたと判断されるとき、その後コントローラの姿勢を表す主軸角θが、π／２以上となっても、θ≦π／２＋Ｗ１ａの角度範囲にある間は、依然として第２筐体部２０を下方として把持されていると判断できる。【００４３】
同様に、当初は第１筐体部１０を下方として把持している状態であっても、人間の手首の可動範囲の関係から、図１４に例示するように、ジョイント３０の中心から見た特定軸の方向は、範囲Ｗ２に亘って変化し得る。ここでジョイント３０の中心から見た特定軸の方向が範囲Ｗ２ａにある間は、第２筐体部２０を下方として状態にあるが、把持している状態としては変化がない。【００４４】
以上のことから、制御回路４１は、次のように動作してもよい。すなわち制御回路４１は、所定の時点でのコントローラの姿勢を初期姿勢情報として保持し、その後のコントローラの姿勢が、初期姿勢情報に関連して定められる所定の条件を満足している間は、姿勢に変化がないとして、操作情報を生成する。また、制御回路４１は、初期姿勢情報を保持した後、その後のコントローラの姿勢が、初期姿勢情報に関連して定められる所定の条件を満足しなくなると、姿勢に変化があったものとして操作情報を生成する。【００４５】
この処理の具体的な例を図１５を参照しつつ述べる。制御回路４１が、コントローラが持ち上げられて把持されたことをジャイロセンサ１７からの出力信号などに基づいて検出する（または利用者が所定の操作を行ったことを検出してもよい）と、例えばその時点で、第２筐体部２０と第１筐体部１０とのどちらを下方として把持されているかを調べる。そして制御回路４１は、このときに調べた結果を初期姿勢情報として保持する（初期姿勢情報の取得：Ｓ１）。【００４６】
以下、制御回路４１は、コントローラの姿勢を所定のタイミング（例えば定期的、または要求されたタイミング）で検出する動作を行う。この動作においては、推定重力方向と、特定軸とのなす角（主軸角）を、ジャイロセンサ１７や、加速度センサ１９等の出力によって検出する（Ｓ２）。【００４７】
そして制御回路４１は、初期姿勢情報が、第２筐体部２０を下方としている状態を表すものであったか否かを調べる（Ｓ３）。ここで初期姿勢情報が第２筐体部２０を下方としていたことを表すものであったときには、検出した主軸角θの絶対値がπ／２未満であるか、またはπ／２以上であっても、θ≦π／２＋Ｗ１ａであるかを調べる（Ｓ４）。【００４８】
制御回路４１は、処理Ｓ４において、｜θ｜＜π／２またはθ≦π／２＋Ｗ１ａであれば、第２筐体部２０を下方としている姿勢を維持していると判断し、当該姿勢において行われた操作の情報を出力する（Ｓ５）。つまり、この処理Ｓ５において制御回路４１は、第３のポテンショメータ１３が検出する角度の情報φをそのまま出力する。また、制御回路４１は、操作部４０の各ボタン４０ａから４０ｄが押下されると、第２筐体を下方としているときに出力するべき値を表す出力値テーブル（図１１（ａ））を参照し、この出力値テーブルにおいて押下されたボタンに関連づけられている出力値を出力する。【００４９】
一方、処理Ｓ４において、｜θ｜＜π／２またはθ≦π／２−Ｗ１ａでなければ、第１筐体部１０を下方とする姿勢に変更されたものとして、初期姿勢情報を更新する（Ｓ６）。【００５０】
また、処理Ｓ３において、初期姿勢情報が第１筐体部１０を下方としていたことを表すものであったときには、検出した主軸角θの絶対値がπ／２以上であるか、またはπ／２未満であっても、θ≧π／２−Ｗ２ａであるかを調べる（Ｓ７）。ここで、｜θ｜≧π／２またはθ≧π／２−Ｗ２ａであれば、第１筐体部１０を下方としている姿勢を維持していると判断し、当該姿勢において行われた操作の情報を出力する（Ｓ８）。つまり、この処理Ｓ８において制御回路４１は、第３のポテンショメータ１３が検出する角度の情報φを符号を反転させて−φとしてから出力する。また、制御回路４１は、操作部４０の各ボタン４０ａから４０ｄが押下されると、第１筐体部１０を下方としているときに出力するべき値を表す出力値テーブル（図１１（ｃ））を参照し、この出力値テーブルにおいて押下されたボタンに関連づけられている出力値を出力する。【００５１】
一方、処理Ｓ７において、｜θ｜≧π／２またはθ≧π／２−Ｗ２ａでなければ、第１筐体部１０を下方とする姿勢に変更されたものとして、初期姿勢情報を更新する（Ｓ９）。【００５２】
このように制御回路４１は、特定軸方向が図１３のＷ１の範囲から逸脱すると、第２筐体部２０が第１筐体部１０よりも上側に位置する姿勢となったと判断する。すなわち、初期姿勢情報が第２筐体部２０を下方としている状態を表すときには、特定軸方向が範囲Ｗ１ａ（不感範囲と呼ぶ）にある間は、第１，第２筐体部１０，２０の上下が逆転していないとして処理を行う。【００５３】
同様に、制御回路４１は、初期姿勢情報が、第１筐体部１０を下方としている状態を表すときには、特定軸方向が、図１４のＷ２の範囲にある間は、第２筐体部２０が第１筐体部１０よりも上側にある姿勢であると判断する。そしてこの場合、特定軸方向が図１４のＷ２の範囲から逸脱すると、第２筐体部２０が第１筐体部１０よりも下側に位置する姿勢となったと判断する。すなわち、初期姿勢情報が第１筐体部１０を下方としている状態を表すときには、特定軸方向が範囲Ｗ２ａ（不感範囲）にある間は、第１，第２筐体部１０，２０の上下が逆転していないとして処理を行う。【００５４】
このようにすると、一時的にコントローラが倒立した状態となっても、コントローラの姿勢に対する判断が変化することがなく、利用者が違和感を感じることが軽減される。【００５５】
なお、利用者がコントローラを横向きに把持したか否かについても、特定軸方向と推定重力方向とのなす角（主軸角）の絶対値がπ／２±α（αはしきい値）未満または以下であり、かつ、操作部４０の面の法線と特定軸とに直交する軸と、推定重力方向とのなす角の絶対値が０±β未満または以下、若しくは、π±β（βはしきい値）未満または以下であるか否かによって判断できる。【００５６】
さらに第１筐体部１０（つまり操作部４０）が向かって右側にあるか左側にあるかなどについても、特定軸に直交し、かつ互いに直交する２軸（特定軸がＺ軸であれば例えばそれに直交するＸ軸及びＹ軸）で作られる面に対する特定軸方向を検出することで判断できる。【００５７】
本実施の形態のコントローラは、ＵＳＢケーブルなどを用いて操作対象の機器に接続される。そして利用者は、このコントローラを所望の姿勢で把持して、操作を行うことができる。なお、ここでは有線接続される場合を例として説明したが、ブルートゥースなどの無線通信規格に従った通信にて、操作情報を伝達することとすれば、有線接続される必要は必ずしもない。また、操作部４０の操作ボタンの配置や、形状についてもここで例示したものに限られない。【００５８】
ここで操作対象の機器は、例えばパーソナルコンピュータや、家庭用ゲーム機、コンピュータ制御される家電製品等、マイコンやＣＰＵなどのプログラム制御デバイスを含むいかなる機器であってもよい。すなわち、この操作対象の機器（操作対象装置）２は、例えば図１６に示すように、本実施の形態のコントローラ１に対して無線または有線で接続され、マイコン６１などの制御デバイスによって制御される。そしてこのマイコン６１は、上述のコントローラが出力する操作情報を受け入れて、操作対象の機器を制御する。【００５９】
また、ここまでの説明では、コントローラの制御回路４１が、コントローラの姿勢検出や、操作情報の変更などの処理を行っている例を述べたが、その一部、または全部を、操作対象の機器において行ってもよい。例えばコントローラは、利用者が行った操作情報とともに、ジャイロセンサ１７や加速度センサ１９の出力する情報を、操作対象となる機器へ出力する。【００６０】
そして操作対象の機器が備えるマイコン６１は、当該コントローラが出力する情報に基づいて、コントローラの姿勢検出や、操作情報の変更などの処理を行う。一例として、マイコン６１は、所定の時点でのコントローラの姿勢を初期姿勢情報として保持し、その後のコントローラの姿勢が、初期姿勢情報に関連して定められる所定の条件を満足している間は、姿勢に変化がないとして、操作情報を生成する。また、マイコン６１は、初期姿勢情報を保持した後、その後のコントローラの姿勢が、初期姿勢情報に関連して定められる所定の条件を満足しなくなると、姿勢に変化があったものとして操作情報を生成する。【００６１】
この処理の具体的な例として、マイコン６１は、コントローラが持ち上げられて把持されたことをジャイロセンサ１７からの出力信号などに基づいて検出する（または利用者が所定の操作を行ったことを検出してもよい）。そしてその時点で、第２筐体部２０と第１筐体部１０とのどちらを下方として把持されているかを調べる。そしてマイコン６１は、このときに調べた結果を初期姿勢情報として保持する。【００６２】
ここでマイコン６１は、初期姿勢情報が、第２筐体部２０を下方としている状態を表すときには、推定重力方向と、第２筐体部２０の中心から第１筐体部１０の中心へ向かう線分の方向を表すベクトル量（ジャイロセンサ１７や加速度センサ１９にて検出する）とのなす角（以下、主軸角と呼ぶ）から判断される特定軸方向が図１３のＷ１の範囲にある間、第２筐体部２０が第１筐体部１０よりも下方にある姿勢を維持していると判断する。そしてマイコン６１は、特定軸方向が図１３のＷ１の範囲から逸脱すると、第２筐体部２０が第１筐体部１０よりも上側に位置する姿勢となったと判断する。すなわち、初期姿勢情報が第２筐体部２０を下方としている状態を表すときには、特定軸方向が範囲Ｗ１ａ（不感範囲）にある間は、第１，第２筐体部１０，２０の上下が逆転していないとして処理を行う。【００６３】
同様に、マイコン６１は、初期姿勢情報が、第１筐体部１０を下方としている状態を表すときには、推定重力方向と、第１筐体部１０の中心から第２筐体部２０の中心へ向かう線分の方向を表すベクトル量とのなす角（主軸角）から判断される特定軸方向が、図１４のＷ２の範囲にある間は、第２筐体部２０が第１筐体部１０よりも上側にある姿勢であると判断する。そしてこの場合、特定軸方向が図１４のＷ２の範囲から逸脱すると、第２筐体部２０が第１筐体部１０よりも下側に位置する姿勢となったと判断する。すなわち、初期姿勢情報が第１筐体部１０を下方としている状態を表すときには、特定軸方向が範囲Ｗ２ａ（不感範囲）にある間は、第１，第２筐体部１０，２０の上下が逆転していないとして処理を行う。【００６４】
さらに本実施の形態のコントローラの形状は、例えばぬいぐるみなどの形状であってもよい。また蓋付のビンのように、第１筐体部１０と第２筐体部２０との形状が相似形状でなくてもよい。さらに、ここでは第１筐体部１０と第２筐体部２０との形状を異なるものとしたが、これらはほぼ同一の形状であっても構わない。
【図１】
2008139552.tif 000006
【図２】
2008139552.tif 000007
【図３】
2008139552.tif 000008
【図４】
2008139552.tif 000009
【図５】
2008139552.tif 000010
【図６】
2008139552.tif 000011
【図７】
2008139552.tif 000012
【図８】
2008139552.tif 000013
【図９】
2008139552.tif 000014
【図１０】
2008139552.tif 000015
【図１１】
2008139552.tif 000016
【図１２】
2008139552.tif 000017
【図１３】
2008139552.tif 000018
【図１４】
2008139552.tif 000019
【図１５】
2008139552.tif 000020
【図１６】
2008139552.tif 000021
【手続補正書】
【提出日】平成21年10月20日(2009.10.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
利用者に把持されて操作を受け入れるコントローラであって、
その表面に操作部材を少なくとも一つ備え、
把持された状態でのコントローラの傾きの角度を検出し、当該検出した角度によって当該コントローラの姿勢を判断する姿勢検出手段と、
前記操作部材に対する操作を表す情報を受け入れる操作受入手段と、
前記判断されたコントローラの姿勢と、前記受け入れた操作を表す情報とに基づいて、利用者の操作の内容を表す操作情報を生成して出力する出力手段と、
を有することを特徴とするコントローラ。
【請求項２】
請求の範囲第１項に記載のコントローラであって、
前記操作部材には、受け入れる操作の内容を表示する表示部を有し、
前記判断されたコントローラの姿勢に基づいて、前記操作部材における表示を異ならせることを特徴とするコントローラ。
【請求項３】
請求の範囲第１項に記載のコントローラであって、
前記操作部材には、利用者の押下操作を受け入れるボタンを含み、
前記操作情報を生成する手段は、押下されたボタンの位置と、前記判断されたコントローラの姿勢に基づいて、利用者の操作の内容を表す操作情報を生成して出力することを特徴とするコントローラ。
【請求項４】
請求の範囲第１項に記載のコントローラであって、
所定の時点でのコントローラの傾きの角度を検出して、初期姿勢情報として保持する手段をさらに含み、
前記姿勢検出手段は、前記検出した傾きの角度の情報が前記初期姿勢情報に応じて予め定められた条件を満足しているか否かによって、コントローラの姿勢が前記所定の時点から変化したか否かを判断し、
前記出力手段は、前記判断結果に応じて、コントローラの姿勢に変化がない場合と変化がある場合とで、互いに異なる操作情報を生成することを特徴とするコントローラ。
【請求項５】
互いに形状の異なる第１筐体部及び第２筐体部と、
前記第１筐体部に対して第２筐体部を相対移動可能に連結するジョイントと、
前記第１筐体部と第２筐体部との少なくとも一方表面に備えられた操作部と、
当該コントローラの傾きの角度を検出し、当該検出した角度によって当該コントローラの姿勢を判断する姿勢検出手段と、
前記操作部に対する操作を表す情報を受け入れる操作受入手段と、
前記判断されたコントローラの姿勢と、前記受け入れた操作を表す情報とに基づいて、利用者の操作の内容を表す操作情報を生成して出力する出力手段と、
を有するコントローラ。
【請求項６】
把持された状態での自身の傾きの角度を検出し、操作部材に対する操作を表す情報を受け入れて出力するコントローラに接続された操作対象装置であって、
前記コントローラで検出されたコントローラの傾きの角度の情報と、前記操作を表す情報とを受け入れ、所定の時点でのコントローラの姿勢を、初期姿勢情報として保持し、
その後前記コントローラで検出された傾きの角度の情報が前記初期姿勢情報に応じて予め定められた条件を満足している間は、前記コントローラの姿勢に変化がないものとして、前記受け入れた操作を表す情報に基づいて、利用者の操作の内容を表す操作情報を生成し、その後検出した傾きの角度の情報が前記初期姿勢情報に応じて予め定められた条件を満足しない状態となると、前記コントローラの姿勢に変化があったものとして、前記受け入れた操作を表す情報に基づいて、前記コントローラの姿勢に変化がない場合とは異なる操作情報を生成し、
当該操作情報に従って処理を実行して、当該実行の結果を出力する、
操作対象装置。
【国際調査報告】
2008139552.tif 000022
2008139552.tif 000023