説明

情報処理装置、情報処理方法及びプログラム

【課題】センサを搭載した操作体をヒューマンインターフェースとして、操作体を用いてユーザが操作対象物の遠隔操作を直感的に行う。
【解決手段】ユーザにより操作される操作体の加速度及び角速度の少なくともいずれかのデータを取得する取得部と、前記取得された加速度及び角速度の少なくともいずれかのデータに基づき、前記操作体の速度及び前記操作体の軌跡の少なくともいずれかを判定する判定部と、を備える、情報処理装置が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、圧力センサ等を用いた検出値に基づき処理を実行する情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
従来から、各種ボールに加速度センサや角速度センサを内蔵して、打球の軌跡を追うことを可能にしたシステムが開発されている(例えば、特許文献1参照)。特許文献1のシステムによれば、ユーザは自身の投球の軌跡データを分析することにより、自身の投球時の癖を把握してスイングフォームを改善することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−125509
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1では、スイングフォームを改善するために各種ボールに内蔵されたセンサ値が必要であり、各種センサを搭載した球状のデバイスであって、特に圧力センサを搭載した操作体がヒューマンインターフェースとして利用されるものではなかった。
【0005】
よって、センサを搭載した操作体をヒューマンインターフェースとして、操作体を用いてユーザが操作対象物の遠隔操作を直感的に行うことが可能な情報処理技術が望まれていた。
【課題を解決するための手段】
【0006】
本開示によれば、ユーザにより操作される操作体の加速度及び角速度の少なくともいずれかのデータを取得する取得部と、
前記取得された加速度及び角速度の少なくともいずれかのデータに基づき、前記操作体の速度及び前記操作体の軌跡の少なくともいずれかを判定する判定部と、
を備える、情報処理装置が提供される。
【0007】
また、本開示によれば、ユーザにより操作される操作体の加速度及び角速度の少なくともいずれかのデータを取得することと、
前記取得された加速度及び角速度の少なくともいずれかのデータに基づき、前記操作体の速度及び前記操作体の軌跡の少なくともいずれかを判定することと、
を含む情報処理方法が提供される。
【0008】
また、本開示によれば、ユーザにより操作される操作体の加速度及び角速度の少なくともいずれかのデータを取得する処理と、
前記取得された加速度及び角速度の少なくともいずれかのデータに基づき、前記操作体の速度及び前記操作体の軌跡の少なくともいずれかを判定する処理と、
をコンピュータに実行させるためのプログラムが提供される。
【発明の効果】
【0009】
以上説明したように、本開示によれば、センサを搭載した操作体をヒューマンインターフェースとして、操作体を用いてユーザが操作対象物の遠隔操作を直感的に行うことができる。
【図面の簡単な説明】
【0010】
【図1】本開示の一実施形態に係る制御システムを示す図である。
【図2】一実施形態に係る操作体及び表示装置のハードウエア構成図である。
【図3】一実施形態に係る操作体及び表示装置の機能構成図である。
【図4】一実施形態に係る制御システムの基本的動作を示すシーケンス図である。
【図5】一実施形態に係る投げ判定処理を示すフローチャート(メインルーチン)である。
【図6】図5で示した判定処理を示すフローチャート(サブルーチン)である。
【図7】一実施形態に係る投球方法とセンサの位置関係を説明するための図である。
【図8】一実施形態に係る各センサ値の一例を示す図である。
【図9】一実施形態に係る各センサ値の一例を示す図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0012】
なお、説明は以下の順序で行うものとする。
1.システムの全体構成
2.操作体の構成
3.表示装置の構成
4.制御システムの基本的動作
5.投げ判定処理
6.センサ値を用いた投球判定
7.各種変形例
【0013】
[1.システムの全体構成]
まず、図1を参照しながら本開示の一実施形態に係る制御システムについて説明する。図1は、本開示の一実施形態に係る操作体10を含む制御システム100を示す図である。制御システム100は、操作体10と表示装置50とを有する。
【0014】
操作体10は、形状であり、表示装置50に表示されたオブジェクトの表示内容を変更させるために、ユーザにより操作される。例えば、操作体10は、表示装置50のディスプレイ50aに表示された操作対象物を操作するためにユーザにより入力操作がなされるデバイスである。
【0015】
操作体10は、球体の形状を有している。操作体10の大きさは、野球の硬球の大きさよりも少し大きいか、少し小さい程度の大きさとされ、直径が例えば、50mm〜100mm程度の大きさとされる。これにより、ユーザが操作体10を握ったときに扱い易い大きさとされる。ただ、操作体10の直径の大きさについては、前記した範囲に限定されず、もちろん他の値もとりえる。このように本実施形態では、操作体10は球状に形成されているが、これに限られない。ただし、操作体10はアプリケーション上の操作対象物を直感的に遠隔操作できる形状が好ましい。表示装置50は、ユーザが行う操作体10の操作に応じてディスプレイ上の操作対象物の表示を制御する。
【0016】
かかる構成により、本実施形態に係る制御システム100では、図1の下側に示したようにユーザがスローイングネット等を手にはめた状態で腕を振り下ろすことによりネット内で操作体10を投げる。この動作に応じて検出された、操作体10に内蔵のセンサ値に基づき、アプリケーションが起動及び操作される。本実施形態で起動されるアプリケーションでは、ユーザがスローイングネット内で操作体10を投げることにより、画面上に2D又は3D表示された仮想ボールが、同じく画面上に表示された的のいずれかを射抜くゲームが実行される。このようにして、本実施形態に係る制御システム100では、ユーザが操作体10を操作することにより、ディスプレイ50aに表示された操作対象物を遠隔操作することが可能な直感型ゲームを遂行することができる。なお、表示装置50は、ユーザにより操作される操作体の動きを検出する検出値に基づき、操作体10の球速や球種に応じてオブジェクト(操作対象物、ここではストラックアウト)の表示を制御する情報処理装置の一例である。
【0017】
[2.操作体の構成]
(ハードウエア構成)
次に、本実施形態に係る操作体10の構成について、図2及び図3を参照しながらハードウエア構成、機能構成の順に説明する。図2の右側は、操作体10のハードウエア構成を示す。操作体10は、3軸加速度センサ14、回転センサとしての3軸角速度センサ15、感圧センサ13、CPU11、ROM(Read Only Memory)16a、RAM(Random Access
Memory)16b、通信回路17及びバッテリー18等を有する。
【0018】
3軸加速度センサ14、3軸角速度センサ15、CPU11、通信回路17、ROM16a、RAM16bは、図示しない回路基板上に実装される。このCPU11等の電子部品が実装された回路基板と、バッテリー18とは、基部の内部に形成された空洞部に設けられる。
【0019】
これら各センサやCPU11等は、球形の筐体110内に、筐体110に対して固定されるようにして配置されている。感圧センサ13は、筐体110の内面側に複数取り付けられており、これらの圧力センサ群により、ユーザの加圧位置及びその圧力を検知する。
【0020】
3軸加速度センサ14及び3軸角速度センサ15は、センサの一例であり、入力装置10の空間内での動きを検出するセンサである。3軸加速度センサ14は、互いに直交する3軸方向の加速度を検出し、検出された加速度に応じた加速度値をCPU11へ出力する。3軸角速度センサ15は、互いに直交する3軸回りの角速度を検出し、検出された角速度に応じた角速度値をCPU11へ出力する。
【0021】
感圧センサ13は、入力装置10がユーザに握られた力の大きさに応じた圧力値をCPU11へ出力する圧力センサの一例である。感圧センサ13としては、例えば電気抵抗の変化により圧力を表現するものが用いられる。
【0022】
CPU11は、操作対象物を制御するために、3軸加速度センサ14、3軸角速度センサ15、感圧センサ13から出力された角速度値、加速度値、圧力値に基づいて、各種の演算を実行する。例えば、CPU11は、加速度値、角速度値に基づいて、入力装置10の空間内での移動量、回転量等を算出する。また、CPU11は、感圧センサ13から出力された圧力値に基づいて、入力装置10が握られた力の大きさや、力が加えられた位置等を算出する。
【0023】
ROM16aは不揮発性のメモリであり、CPU11の処理に必要な各種のプログラムが記憶される。RAM16bは揮発性のメモリであり、CPU11の作業領域として用いられる。
【0024】
通信回路17は、アンテナ等を有しており、CPU11の制御に基づいて、各種の情報を表示装置50へ送信する。例えば、通信回路17は、入力装置10の空間内での移動量、回転量の情報や、握られた力の大きさ、力が加えられた位置等の情報を表示装置50へ送信する。なお、通信回路17は、表示装置50から送信された情報を受信することも可能である。
【0025】
バッテリー18としては、例えば、充電式電池が用いられる。
【0026】
(機能構成)
次に、本実施形態に係る操作体10の機能構成について、図3の右側に示した機能構成図を参照しながら説明する。操作体10は、加速度検知部22、角速度検知部21、圧力検知部23、制御部20、記憶部26、通信部27及び電源部28を有する。
【0027】
加速度検知部22は、加速度センサ14からの出力信号(センサ値)に基づき、操作体10に加えられた加速度を検出する。
【0028】
角速度検知部21は、角速度センサ15からの出力信号(センサ値)に基づき、操作体10の角速度を検知する。
【0029】
圧力検知機能22は、感圧センサ13からの出力信号(センサ値)に基づき、操作体10に加えられた圧力を検知する。
【0030】
制御部20は、検出された加速度及び角速度の少なくともいずれかをセンサ値に基づき所望の演算を行う。制御部20は、検出された加速度、角速度及び圧力に基づき所望の演算を行うこともできる。所望の演算とは、例えば、操作体10の球速や球種を判断するための演算であってもよい。制御部20は、前記センサ値を平均化する演算、又は、前記センサ値と該センサ値の直前のセンサ値との差分を求める演算を行ってもよい。
【0031】
記憶部26は、例えば半導体メモリ、磁気ディスク、または光学ディスクなどを用いるRAM16bまたはROM16aとして実現されうる。
【0032】
通信部27は、それら各検知部で得られた情報を操作体10及び表示装置50間で送受信する。通信部27及び通信部62の間は、有線又は無線にて接続されている。
【0033】
電源部28は、バッテリー18として例えば、充電式電池が用いられ、各部に電力を供給する。
【0034】
操作体10が、例えば直交3軸の検出軸を持つ加速度センサ14及び直交3軸の検出軸を持つ角速度センサ15を内蔵している場合、3次元空間でのあらゆる方向における、操作体10の動きに対応するオブジェクトの加速度及び角速度が算出される。これらの計算は、典型的には、後述するように表示装置50のオブジェクト情報管理機能66で実行される。
【0035】
なお、制御部20の機能は、例えば、CPU11が記憶部26に格納されたプログラムに従って動作することによって実現され得る。このプログラムは、記憶媒体に格納して提供され、図示しないドライバを介して記憶部46に読み込まれるものであってもよく、また、ネットワークからダウンロードされて記憶部46に格納されるものであってもよい。また、上記各部の機能を実現するために、CPUに代えてDSP(Digital Signal Processor)が用いられてもよい。また、上記各部の機能は、ソフトウエアを用いて動作することにより実現されてもよく、ハードウエアを用いて動作することにより実現されてもよい。
【0036】
また、操作デバイスは図1等に示すような真球である必要はなく、球体や多面体であってもよい。
【0037】
[3.表示装置の構成]
(ハードウエア構成)
次に、本実施形態に係る表示装置50の構成について、図2及び図3を参照しながらハードウエア構成、機能構成の順に説明する。図2の左側は、表示装置50のハードウエア構成を示す。表示装置50は、一般的なコンピュータと同様に、CPU51、ROM53a、RAM53b、HDD(Hard Disk Drive)54、ディスプレイ50a及び通信回路52を有する。これらの要素はバス55により接続されている。
【0038】
CPU51は、通信回路52により受信された各種の情報に基づいて、ディスプレイ50aに表示される操作対象物の表示を制御する。
【0039】
ROM53aは不揮発性のメモリであり、CPU51の処理に必要な各種のプログラムが記憶される。RAM53bは揮発性のメモリであり、CPU51の作業領域として用いられる。
【0040】
HDD54には、主にオブジェクト情報が記憶される。
【0041】
ディスプレイ50aは、例えば、液晶ディスプレイや、EL(Electro-Luminescence)ディスプレイ等により構成される。ディスプレイ50aは、2次元画像を表示する形態であってもよいし、3次元画像を表示する形態であってもよい。ディスプレイ50aは、入力装置10によって操作される操作対象物を2次元的、あるいは3次元的に表示する。
【0042】
2次元的に表示される操作対象物としては、例えば、ポインタやアイコン、ウィンドウ等のGUI等が挙げられる。3次元的に表示される操作対象物としては、3次元表示される人型、動物型のキャラクタ画像が挙げられる。なお、これらの例は、一例に過ぎず、操作対象物は、2次元的、3次元的に表示される画像であれば、どのような画像であってもよい。
【0043】
通信回路52は、アンテナ等を有しており、入力装置10から送信される各種の情報を受信する。また、送受信回路52は、入力装置10へ信号を送信することも可能である。
【0044】
なお、表示装置50は、テレビジョン放送等を受信可能なテレビジョン装置であってもよい。あるいは、表示装置50が操作対象物を3次元的に表示させる形態の場合、表示装置50は、ユーザが裸眼で視認することができる立体画像を表示する立体画像表示装置であってもよい。
【0045】
(機能構成)
次に、本実施形態に係る表示装置50の機能構成について、図3の左側に示した機能構成図を参照しながら説明する。表示装置50は、通信部62、取得部60、判定部61、表示制御部65、オブジェクト情報管理部66及びオブジェクト情報記憶部64、を有する。
【0046】
通信部62は、操作体10から送信された情報を通信部27から受信する。所定の情報を通信部27に送信してもよい。
【0047】
取得部60は、ユーザにより操作される操作体10の加速度及び角速度の少なくともいずれかのデータを取得する。取得部60は、加速度や角速度に加えて、ユーザにより操作される操作体10の圧力に関するデータを取得してもよい。また、取得部60は、操作体10内の各種センサにより検出されたセンサ値をそのまま取得するか、該センサ値に基づき制御部20により所望の演算が行われた結果を取得する。
【0048】
判定部61は、取得された加速度及び角速度の少なくともいずれかのデータに基づき、操作体10の速度及び操作体10の軌跡の少なくともいずれかを判定する。判定部61は、取得された操作体10の圧力に基づき、操作体10に対するユーザの把持状態を判定してもよい。
【0049】
表示制御部65は、判定された操作体10の速度及び操作体10の軌跡の少なくともいずれかに基づき、表示装置50に表示されるオブジェクト(操作対象物)の表示を制御する。表示制御部65は、オブジェクトの位置、向き及び立体等の情報(具体的には、加速度、角速度、圧力などのセンサ値)に基づき公知の様々な計算方法を用いて、オブジェクトを画面内での様々な方向での移動及び回転を実現し、また、そのオブジェクトの形態(形、大きさ、色等)の変化を表現することができる。
【0050】
オブジェクト情報管理部66は、オブジェクト情報を管理する。オブジェクト情報とは、オブジェクトを画面内で表示するための情報であり、例えば、オブジェクトの位置、向き、色及び立体等に関する情報である。オブジェクト情報記憶部64は、例えばRAM53bを用いてオブジェクト情報を記憶する。
【0051】
なお、判定部61、表示制御部65及びオブジェクト情報管理部66の機能は、例えば、CPU51が記憶部63に格納されたプログラムに従って動作することによって実現され得る。このプログラムは、記憶媒体に格納して提供され、図示しないドライバを介して記憶部63に読み込まれるものであってもよく、また、ネットワークからダウンロードされて記憶部63に格納されるものであってもよい。また、上記各部の機能を実現するために、CPUに代えてDSP(Digital Signal Processor)が用いられてもよい。また、上記各部の機能は、ソフトウエアを用いて動作することにより実現されてもよく、ハードウエアを用いて動作することにより実現されてもよい。
【0052】
また、本実施形態にかかる表示装置50は、操作体10からの送信された情報を受信してオブジェクトの表示を制御する制御部分と、ディスプレイ50aとが一体となった構成を有しているが、これらは別体で有線または無線により通信できるように互いに接続されていてもよい。
【0053】
[4.制御システムの基本的動作]
次に、本実施形態に係る制御システム100の基本的動作について説明する。図4は、本実施形態に係る制御システム100の基本的動作を示すシーケンス図である。図4の左側は操作体10のシーケンスを示し、図4の右側は表示装置50のシーケンスを示す。
【0054】
操作体10の制御部20は、例えば感圧センサ13から出力される圧力を取得し(P1)、この圧力の情報に基づき、ユーザの操作状態(操作中または非操作中)を判定する(P2)。制御部20は、通信部27からの要求に応じて、そのユーザの操作状態の情報を通信部27に送る(P3)。
【0055】
制御部20は、ユーザの操作状態が操作中である場合、通信部27は、その操作情報、つまり、角速度検出部21、加速度検知部22、圧力検知部23により検知された、角速度、加速度、圧力の各情報を周期的に取得し(P4)、これらの情報(角速度、加速度、圧力の各情報、操作状態に関する情報)を表示装置50に送信する(P5)。
【0056】
表示装置50では、通信部62によりこれらの情報が受信される(P6)。その受信された情報は、図示しない取得部60が取得し、オブジェクト情報管理部66に渡される(P7)。オブジェクト情報管理部66はその情報に基づきオブジェクトを操作するためのオブジェクト情報を計算する(P8)。計算結果であるオブジェクト情報はオブジェクト情報記憶部64に保存される(P9)。通信部62が2回目以降のそれらの情報を受信した場合には、オブジェクト情報管理部66は、次のような処理を実行する。すなわち、オブジェクト情報管理部66は、オブジェクト情報記憶部64から前回のオブジェクト情報を読み出し(P10)、新たに受信した情報に基づき、読み出されたオブジェクト情報を変更(更新)する。
【0057】
そして、オブジェクト情報管理部66は、オブジェクト情報を判定部61に出力する(P11)。判定部61は、入力したオブジェクト情報に基づいて、球速及び球種の少なくともいずれかを判定し(P12)、判定された球速及び球種の少なくともいずれかに基づくオブジェクトの表示を表示制御部65に要求する(P13)。表示制御部65は、判定された球速及び球種の少なくともいずれかに基づき、オブジェクトの表示を制御する(P14)。これにより、仮想ボールが、同じく画面上に表示された的のいずれかを射抜くゲームが遂行される。
【0058】
[5.投げ判定処理]
次に、図5及び図6のフローチャートを参照しながら、本実施形態にかかる投げ判定処理について説明する。投げ判定処理では、まず、ステップS501にて、投球の初期状態か(各センサが誤作動しない状態か)が判定される。投球の初期状態とは、例えば、操作体に内蔵された入力操作を承諾するためのボタンが、ユーザにより押された場合や、感圧センサ13により検出された圧力値が所定の閾値を超えた場合をいう。ユーザがボタンを押した場合は、ユーザが明示的に投球開始の意思表示を示し、感圧センサ13により検出された圧力値が所定の閾値を超えた場合、ユーザが実際に投球体制に入ったことを示す。よって、これらの場合には、オブジェクト情報管理部66は、投球の初期状態であると判定する。
【0059】
次に、オブジェクト情報管理部66は、ステップS502にて、投球したかを判定する。例えば、算出された加速度がモーション中に所定の閾値を超えた場合、オブジェクト情報管理部66は、投球したと判定する。また、例えば算出された角速度がモーション中に所定の閾値を超えた場合にも、オブジェクト情報管理部66は、投球したと判定する。つまり、オブジェクト情報管理部66は、加速度及び角速度の少なくともいずれかの値を用いて投球したかの判定を行う。図8(b)は投球時の状態遷移を示す。ステータス2がモーション中の状態である。
【0060】
投球したと判定されると、ステップS503に進み判定処理が実行される。本実施形態では、角速度、加速度、圧力等の情報や操作状態に関する情報が操作体10から表示装置50に送信され、表示装置50の判定部61により判定処理が実行される(図4の基本的動作を参照のこと)。図8(b)のステータス3が球速及び球種判断の状態である。
【0061】
判定処理は、判定部61が、図6に示したフローチャートの実行することにより遂行される。まず、ステップS601にて、取得部60は受信情報を取得する。次に、判定部61は、受信情報中に加速度の情報が含まれているかを判定する(ステップ602)。含まれている場合、オブジェクト情報管理部66が加速度から計算したオブジェクト情報に基づき操作体10の球速を判定する(ステップ603)。
【0062】
次に、判定部61は、受信情報中に角速度の情報が含まれているかを判定する(ステップ604)。含まれている場合、オブジェクト情報管理部66が角速度から計算したオブジェクト情報に基づき操作体10の球種を判定し、球種から操作体10の軌跡を判定する(ステップ605)。次いで、表示制御部65は、操作体10の球速及び軌跡のうちの少なくともいずれかの情報に基づき、ゲームの表示を制御し、本処理を終了する。ここでは、ユーザの投球に応じて、仮想ボールが、画面上に表示された的のいずれかを射抜くストラックアウトゲームが遂行される。
【0063】
再び、図5に戻り、操作体10の制御部61は、ステップ503の判定処理後、モーションが終了してから所定時間が経過したかを判定する(ステップS504)。モーションが終了したかの判定は次のように行う。例えば算出された加速度が所定の閾値を下回った場合、制御部20は、モーションが終了したと判定する。また、例えば算出された角速度が所定の閾値を下回った場合にも、制御部20は、モーションが終了したと判定する。つまり、制御部20は、加速度及び角速度の少なくともいずれかの値を用いてモーションが終了したかの判定を行う。
【0064】
所定時間が経過したかの判定では、例えば、タイマを用いてスローイングネットへの操作体10のぶつかりやキャッチから所定時間が経過した場合、所定時間が経過したと判定する。図8(b)のステータス4がタイマ計時中の状態である。前回の投球から所定時間が経過していた場合、各センサのぶれはおさまっている状態である。よって、前回の投球から所定時間経過するまではステップS501の処理を繰り返し、次の投球処理は待ち、経過後、ステップS501に戻り次の投球処理を開始する。これにより、アプリケーションの誤動作を回避することができる。
【0065】
[6.センサ値を用いた投球判定]
以上に説明した投げ判定処理では、判定部が操作体10の球速や球種を判定した。以下では、この判定方法について具体的に説明する。判定方法の精度を高める程、アプリケーションの誤動作を回避し、直感的で心地よいゲームを提供することができる。
【0066】
操作体10の持ち方を固定すると判定が簡単になる。例えば、図7に示したように、Z軸上に人差し指と中指が来るよう固定し、この状態で投球すると、主に加速度がZ軸上に現れる。これは、操作体10のZ軸上に設けられた加速度センサ14を用いて加速度検出部22により検出可能である。よって、オブジェクト情報管理部66は、加速度検出部22によって検出されたZ軸方向のセンサ値により操作体10のZ軸方向の加速度を求める。
【0067】
この状態で、右手で操作体10を投げる際、右旋回するとカーブ、左旋回するとシュートとなる。このとき、操作体10の旋回の状態は主にY軸上に現れる。これは、操作体10のY軸上に設けられたジャイロセンサ等の角速度センサ15を用いて角速度検出部21により検出可能である。よって、オブジェクト情報管理部66は、角速度検出部21によって検出されたY軸方向のセンサ値により操作体10のY軸方向の回転速度を求める。
【0068】
判定部61は、オブジェクト情報管理部66により求められたZ軸方向の加速度の積分値により操作体10の球速を判定する。判定部61は、加速度の積分値を求めることなくある程度操作体10の球速を判定することも可能である。
【0069】
判定部61は、オブジェクト情報管理部66により求められたY軸方向の角速度に基づき操作体10の球種を判定する。例えば、判定部61は、Y軸方向の角速度に基づき操作体10の旋回状態を判断し、右旋回と判断した場合にはカーブ、左旋回と判断した場合にはシュート、旋回していないと判断した場合にはストレートというように球種を判定する。
【0070】
以上から、最低限必要なセンサは、Z軸上の加速度センサ14とY軸上の角速度センサ15となる。そして、判定部61は、検出された加速度又は角速度の少なくともいずれかを用いて球速又は球種の少なくともいずれかを特定する。
【0071】
なお、加速度センサ14や角速度センサ15に加えて、他のセンサが操作体10に設けられていると、球速や球種の判定精度を上げることや、操作体10の持ち方の制限を外すことができる。例えば、感圧センサ13によっても球種を判定することができる。具体的には、判定部61は、感圧センサ13を用いて圧力検出部23により検出された操作体10のX軸方向の圧力が所定の圧力以上であると判定した場合、左右の圧力状態によって操作体10に対するユーザの把持状態を判定し、フォークボールか否かを判定する。図8(a)に投球時のZ軸上の加速度の時間的推移の一例を示し、図8(d)に投球時のY軸上の角速度の一例を示し、図8(c)に投球時の圧力の一例を示す。
【0072】
図8(a)では、横軸が時間、縦軸がZ軸上の加速度を示す。Z軸上の加速度が急に落ち込み最小値となっているタイミングに投球が開示されることがわかる。その後、Z軸上の加速度が急に立ち上がり最大値となったタイミングに操作体10がスローイングネットにぶつかったことがわかる。
【0073】
加速度センサ14が振り切れた場合、振り切れている時間が長い程、球速が速い。図8(a)では、−2000〜2000が加速度センサ14の測定可能範囲である。よって、加速度の値が2000のMAX値で振り切れている時間を算出し、算出時間を用いて球速を近似的に算出することもできる。その際、単に時間を使う単純方法、時間から波形を推測する近似方法などを用いることができる。例えば、投球直後の立ち上がりの時間から操作体10の投球時にどのくらいの速度が出ているかを近似して判定することができる。
【0074】
また、加速度センサがふりきれた時間の替わりに、図9(a)の(1)に示したようにZ軸上の加速度センサ22がふりきれた間のフレーム数を演算に用いてもよい。つまり、判定部61は、操作体10の加速度のMAX値が所定時間以上続いた場合、前記加速度を検出する加速度センサ14の計測外領域と判定し、前記MAX値が続いた時間又はフレーム数から前記計測外領域における加速度センサ14の値を予測し、前記操作体の速度を判定する。
【0075】
さらに、判定部61は、操作体10の加速度のMAX値が所定時間以上続いた場合、前記加速度を検出する加速度センサ14の計測外領域と判定し、前記取得された操作体10の圧力から計測外領域における加速度センサ14の値を予測し、操作体10の速度を判定してもよい。例えば、図8(a)に示したふりきれた時間(計測外領域)と同じ時間の圧力変化を図8(c)の圧力の検出値から取り出し、取り出した操作体10の圧力から計測外領域における加速度センサ14の値を予測して、操作体10の速度を判定してもよい。加速度センサ14からの加速度及び感圧センサ13からの圧力値の両方の検出値を用いて操作体10の速度を判定してもよい。
【0076】
さらに、判定部61は、例えば、図9(c)の(4)に示したように、操作体10の角速度に基づき操作体10の回転の大きさを判定してもよい。判定部61は、操作体10の角速度のMAX値に基づき操作体10の回転の大きさを判定してもよい。
【0077】
積分誤差等がより少なくなる判定方法としては、X軸の加速度センサの時間nの検出値(LocalXn)、Y軸の加速度センサの時間nの検出値(LocalYn)、Z軸の加速度センサの検出値の時間nの検出値(LocalZn)を用いると、Z軸の加速度センサの検出値のみを用いた場合よりさらに精度よく操作体10の速度を判定することができる。
【0078】
また、今回と前回の加速度センサの検出値の差分を求め、差分の大きさにより操作体10の速度を判定する。この場合にも、1軸上の加速度の今回と前回の差分(例えば、DiffXn=LocalXn-LocalXn-1)を求める場合より、3軸上の加速度の今回と前回の差分を求めるほうが精度よく操作体10の速度を判定することができる。
【0079】
さらに、判定部61は、例えば、図9(b)の(2)に示した投球後の操作体10の加速度変化量に基づき、操作体10の速度を判定してもよい。
加速度変化量=(DiffXn+DiffYn+DiffZn(1/2)
また、例えば、判定部61は、図9(b)の(2)に示した操作体10の加速度変化量のMAX値に基づき、操作体10の速度を判定してもよい。これによれば、加速度が瞬時的に大きく変化した場合、速度が速いと判断する。
【0080】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0081】
[各種変形例]
例えば、上記実施形態では、ユーザにより操作される操作体の動きを検出する検出値に基づき、操作体10の球速や球種に応じてオブジェクト(操作対象物、ここではストラックアウト)の表示を制御する情報処理装置の一例として表示装置50を挙げた。しかしながら、ユーザにより操作される操作体の動きを検出する検出値に基づき、操作体10の速度や軌跡を判定する判定部61は、操作体10に有していてもよい。この場合には操作体10が情報処理装置の一例となり、各検出部が取得部として機能し、操作体10から表示装置50に判定結果が送信され、表示措置50は判定結果に基づきストラックアウトの表示を制御する。このように、情報処理装置は、操作体10として実現してもよく、表示装置50として実現してもよく、操作体10と表示装置50とに分散して実現してもよい。よって、制御システム100の各部は、操作体10側に設けられてもよく、表示装置50側に設けられてもよく、操作体10と表示装置50とに分散して設けられてもよい。
【0082】
また、以上の説明した制御システム100は、ストラックアウトのゲームに適用されたが、これに限らない。例えば、野球、ソフトボール、サッカー、バレーボール、ボーリング、カーリング等に適用されてもよい。よって、以上の説明した操作体10は球状であったが、これらは多面体であってもよいし、円盤状であってもよい。ただし、操作体10は、適用されるアプリケーションに合わせて直感的に操作可能な形状であることが好ましい。
【0083】
また、以上の説明では、操作体10が無線である場合について説明したが、有線であってもよい。
【0084】
また、以上の説明では、感圧センサ13を例に挙げて説明したが、感圧センサ13の代わりに、静電センサが用いられてもよい。静電センサは、例えば、距離に応じて静電容量の変化を読み取ることができる構成とされる。静電センサは、ユーザが操作体10を握った際の手の近接量を検出することで、操作体10が握られた力の大きさを検出することができる。この静電センサは、例えば、球体、多面体の形状とされる。静電センサは、把持部23とは接触しないように構成される。これにより、手の操作による摩擦等の劣化を防止することができる。
【0085】
なお、感圧センサ13と、静電センサとが両方とも用いられてもよい。この場合、例えば、感圧センサ13で検知できないさらに微小な大きさの力を静電センサで検出することで、より高感度な(検出レンジの広い)センサ構成が実現される。
【0086】
操作体10は、ユーザにより操作体10が空間内で移動、回転されたときに、この移動、回転に応じて発電可能な発電デバイス(図示せず)を備えていてもよい。あるいは、操作体10は、外部からの電磁波により発電するループコイル等を備えていてもよい。この発電デバイス、ループコイルにより発電された電力は、バッテリー18に充電される。これにより、ユーザは、バッテリー18を交換する必要がなくなる。
【0087】
上述の例では、動き検出部としての3軸加速度センサ14、3軸角速度センサ15と、握り力検出部としての感圧センサ13及び/または静電センサとが用いられる場合について説明した。ここで、動き検出部は、3軸加速度センサ14、3軸角速度センサ15に限られない。例えば、動き検出部の他の例として、速度センサ(例えば、ピトー管)、角度センサ(例えば、地磁気センサ)、角加速度センサ等が挙げられる。また、上記した例では、動き検出部と、握り力検出部とが、それぞれ用いられる場合について説明したが、いずれか一方であってもよい。
【0088】
以上の説明では、操作対象物がディスプレイに2次元的、3次元的に表示される画像であるとして説明したが、操作対象物は、これに限られない。例えば、搬送ロボットや、人型ロボット等の現実の物体であってもよい。
【0089】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)ユーザにより操作される操作体の加速度及び角速度の少なくともいずれかのデータを取得する取得部と、
前記取得された加速度及び角速度の少なくともいずれかのデータに基づき、前記操作体の速度及び前記操作体の軌跡の少なくともいずれかを判定する判定部と、
を備える、情報処理装置
(2)前記判定された前記操作体の速度及び前記操作体の軌跡の少なくともいずれかに基づき、表示装置に表示されるオブジェクトの表示を制御する表示制御部を更に含む前記(1)に記載の情報処理装置。
(3)前記取得部は、ユーザにより操作される操作体の圧力を取得し、
前記判定部は、前記取得された操作体の圧力に基づき、前記操作体に対するユーザの把持状態を判定する前記(1)又は(2)に記載の情報処理装置。
(4)前記判定部は、前記操作体の加速度のMAX値が所定時間以上または所定フレーム数以上となった場合、前記加速度を検出する加速度センサの計測外領域と判定し、前記所定時間または前記所定フレーム数に基づき前記計測外領域における加速度センサの値を予測し、前記操作体の速度を判定する前記(1)〜(3)のいずれか一項に記載の情報処理装置。
(5)前記判定部は、前記操作体の加速度のMAX値が所定時間以上または所定フレーム数以上となった場合、前記加速度を検出する加速度センサの計測外領域と判定し、前記計測外領域中に前記取得された操作体の圧力から前記操作体の速度を判定する前記(1)〜(4)のいずれか一項に記載の情報処理装置。
(6)前記判定部は、前記操作体の加速度の変化量に基づき、前記操作体の速度を判定する前記(1)〜(5)のいずれか一項に記載の情報処理装置。
(7)前記判定部は、前記操作体の角速度に基づき、前記操作体の回転の大きさを判定する前記(1)〜(6)のいずれか一項に記載の情報処理装置。
(8)前記情報処理装置の各部は、前記操作体側に設けられる、前記表示装置側に設けられる、又は、前記操作体と前記表示装置とに分散して設けられる、のいずれかである前記(2)〜(7)のいずれか一項に記載の情報処理装置。
(9)前記操作体は、加速度及び角速度の少なくともいずれかをセンサ値として検出するセンサと、前記センサ値に基づき所望の演算を行う制御部とを備え、
前記取得部は、前記センサにより検出されたセンサ値をそのまま取得するか、該センサ値に基づき前記制御部により所望の演算が行われた結果を取得する前記(1)〜(8)のいずれか一項に記載の情報処理装置。
(10)前記制御部は、前記センサ値を平均化する演算、又は、前記センサ値と該センサ値の直前のセンサ値との差分を求める演算を行い、
前記取得部は、前記演算結果のデータを取得する前記(1)〜(9)のいずれか一項に記載の情報処理装置。
(11)前記操作体は、前記表示装置に表示されたオブジェクトの表示内容を変更させるために、ユーザにより操作される前記(1)〜(10)のいずれか一項に記載の情報処理装置。
(12)ユーザにより操作される操作体の加速度及び角速度の少なくともいずれかのデータを取得することと、
前記取得された加速度及び角速度の少なくともいずれかのデータに基づき、前記操作体の速度及び前記操作体の軌跡の少なくともいずれかを判定することと、
を含む情報処理方法。
(13)ユーザにより操作される操作体の加速度及び角速度の少なくともいずれかのデータを取得する処理と、
前記取得された加速度及び角速度の少なくともいずれかのデータに基づき、前記操作体の速度及び前記操作体の軌跡の少なくともいずれかを判定する処理と、
をコンピュータに実行させるためのプログラム。
【符号の説明】
【0090】
10…入力装置
11…CPU
13…感圧センサ
14…3軸加速度センサ
15…3軸角速度センサ
17…通信回路
18…バッテリー
20…制御部
21…角速度検出部
22…加速度検出部
23…圧力検出部
26…記憶部
27…通信部
28…電源部
50…表示装置
50a…ディスプレイ
51…CPU
52…通信回路
60…取得部
61…判定部
62…通信部
63…記憶部
64…オブジェクト情報記憶部
65…表示制御部
66…オブジェクト情報管理部
100…制御システム

【特許請求の範囲】
【請求項1】
ユーザにより操作される操作体の加速度及び角速度の少なくともいずれかのデータを取得する取得部と、
前記取得された加速度及び角速度の少なくともいずれかのデータに基づき、前記操作体の速度及び前記操作体の軌跡の少なくともいずれかを判定する判定部と、
を備える、情報処理装置。
【請求項2】
前記判定された前記操作体の速度及び前記操作体の軌跡の少なくともいずれかに基づき、表示装置のディスプレイに表示されるオブジェクトの表示を制御する表示制御部を更に備える請求項1に記載の情報処理装置。
【請求項3】
前記取得部は、ユーザにより操作される操作体の圧力を取得し、
前記判定部は、前記取得された操作体の圧力に基づき、前記操作体に対するユーザの把持状態を判定する請求項1に記載の情報処理装置。
【請求項4】
前記判定部は、前記操作体の加速度のMAX値が所定時間以上または所定フレーム数以上となった場合、前記加速度を検出する加速度センサの計測外領域と判定し、前記所定時間または前記所定フレーム数に基づき前記計測外領域における加速度センサの値を予測し、前記操作体の速度を判定する請求項1に記載の情報処理装置。
【請求項5】
前記判定部は、前記操作体の加速度のMAX値が所定時間以上または所定フレーム数以上となった場合、前記加速度を検出する加速度センサの計測外領域と判定し、前記計測外領域中に前記取得された操作体の圧力から前記操作体の速度を判定する請求項1に記載の情報処理装置。
【請求項6】
前記判定部は、前記操作体の加速度の変化量に基づき、前記操作体の速度を判定する請求項1に記載の情報処理装置。
【請求項7】
前記判定部は、前記操作体の角速度に基づき、前記操作体の回転の大きさを判定する請求項1に記載の情報処理装置。
【請求項8】
前記情報処理装置の各部は、前記操作体側に設けられる、前記表示装置側に設けられる、又は、前記操作体と前記表示装置とに分散して設けられる、のいずれかである請求項2に記載の情報処理装置。
【請求項9】
前記操作体は、加速度及び角速度の少なくともいずれかをセンサ値として検出するセンサと、前記センサ値に基づき所望の演算を行う制御部とを備え、
前記取得部は、前記センサにより検出されたセンサ値をそのまま取得するか、該センサ値に基づき前記制御部により所望の演算が行われた結果を取得する請求項1に記載の情報処理装置。
【請求項10】
前記制御部は、前記センサ値を平均化する演算、又は、前記センサ値と該センサ値の直前のセンサ値との差分を求める演算を行い、
前記取得部は、前記演算結果のデータを取得する請求項1に記載の情報処理装置。
【請求項11】
前記操作体は、前記表示装置に表示されたオブジェクトの表示内容を変更させるために、ユーザにより操作される請求項1に記載の情報処理装置。
【請求項12】
ユーザにより操作される操作体の加速度及び角速度の少なくともいずれかのデータを取得することと、
前記取得された加速度及び角速度の少なくともいずれかのデータに基づき、前記操作体の速度及び前記操作体の軌跡の少なくともいずれかを判定することと、
を含む情報処理方法。
【請求項13】
ユーザにより操作される操作体の加速度及び角速度の少なくともいずれかのデータを取得する処理と、
前記取得された加速度及び角速度の少なくともいずれかのデータに基づき、前記操作体の速度及び前記操作体の軌跡の少なくともいずれかを判定する処理と、
をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−27458(P2013−27458A)
【公開日】平成25年2月7日(2013.2.7)
【国際特許分類】
【出願番号】特願2011−164068(P2011−164068)
【出願日】平成23年7月27日(2011.7.27)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】