(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023133635
(43)【公開日】2023-09-26
(54)【発明の名称】情報処理装置、触感提示システム及びプログラム
(51)【国際特許分類】
G06F 3/01 20060101AFI20230919BHJP
【FI】
G06F3/01 560
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2020129360
(22)【出願日】2020-07-30
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100104215
【弁理士】
【氏名又は名称】大森 純一
(74)【代理人】
【識別番号】100196575
【弁理士】
【氏名又は名称】高橋 満
(74)【代理人】
【識別番号】100168181
【弁理士】
【氏名又は名称】中村 哲平
(74)【代理人】
【識別番号】100160989
【弁理士】
【氏名又は名称】関根 正好
(74)【代理人】
【識別番号】100117330
【弁理士】
【氏名又は名称】折居 章
(74)【代理人】
【識別番号】100168745
【弁理士】
【氏名又は名称】金子 彩子
(74)【代理人】
【識別番号】100176131
【弁理士】
【氏名又は名称】金山 慎太郎
(74)【代理人】
【識別番号】100197398
【弁理士】
【氏名又は名称】千葉 絢子
(74)【代理人】
【識別番号】100197619
【弁理士】
【氏名又は名称】白鹿 智久
(72)【発明者】
【氏名】石川 毅
(72)【発明者】
【氏名】木村 淳
(72)【発明者】
【氏名】河野 真一
(72)【発明者】
【氏名】山野 郁男
(72)【発明者】
【氏名】永野 京二郎
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA76
5E555BA02
5E555BA05
5E555BA06
5E555BB02
5E555BB05
5E555BB06
5E555BC04
5E555BE17
5E555CA42
5E555CA44
5E555CA45
5E555CB66
5E555CC03
5E555DA08
5E555DA24
5E555FA00
(57)【要約】
【課題】実物体を対象として触感を提示することが可能な情報処理装置、触感提示システム及びプログラムを提供すること。
【解決手段】本技術に係る情報処理装置は、実物体検出部と、身体部位検出部と、駆動信号生成部とを具備する。上記実物体検出部は、実物体を検出する。上記身体部位検出部は、身体の部位の位置及び姿勢を検出する。上記駆動信号生成部は、上記実物体と上記部位の位置関係に基づいて上記部位に装着された触感提示機構に供給する駆動信号を生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
実物体を検出する実物体検出部と、
身体の部位の位置及び姿勢を検出する身体部位検出部と、
前記実物体と前記部位の位置関係に基づいて前記部位に装着された触感提示機構に供給する駆動信号を生成する駆動信号生成部と
を具備する情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記実物体検出部は、前記実物体の種別を識別し、
前記駆動信号生成部は、さらに前記種別に応じて前記駆動信号を生成する
情報処理装置。
【請求項3】
請求項2に記載の情報処理装置であって、
前記駆動信号生成部は、前記実物体と前記部位の位置関係に基づいて、前記実物体と前記部位の接触の有無を判定し、判定結果に応じて前記駆動信号を生成する
情報処理装置。
【請求項4】
請求項3に記載の情報処理装置であって、
前記駆動信号生成部は、前記部位が前記実物体に接触すると、前記触感提示機構が触感を発生させるように前記駆動信号を生成する
情報処理装置。
【請求項5】
請求項4に記載の情報処理装置であって、
前記駆動信号生成部は、前記部位の前記実物体に対する押圧力に応じて前記駆動信号を生成する
情報処理装置。
【請求項6】
請求項3に記載の情報処理装置であって、
前記駆動信号生成部は、前記部位が前記実物体に接触した状態で前記実物体に対して移動すると、前記触感提示機構が触感を発生させるように前記駆動信号を生成する
情報処理装置。
【請求項7】
請求項6に記載の情報処理装置であって、
前記駆動信号生成部は、前記部位の前記実物体に対する移動距離及び移動速度の少なくともいずれか一方に応じて前記駆動信号を生成する
情報処理装置。
【請求項8】
請求項3に記載の情報処理装置であって、
前記駆動信号生成部は、前記実物体と前記部位が接触を維持しながら移動すると、前記触感提示機構が触感を発生させるように前記駆動信号を生成する
情報処理装置。
【請求項9】
請求項8に記載の情報処理装置であって、
前記駆動信号生成部は、前記実物体の移動距離及び移動速度の少なくともいずれか一方に応じて前記駆動信号を生成する
情報処理装置。
【請求項10】
請求項8に記載の情報処理装置であって、
前記駆動信号生成部は、前記実物体のうち前記部位が接触する位置に応じて前記駆動信号を生成する
情報処理装置。
【請求項11】
請求項1に記載の情報処理装置であって、
前記駆動信号生成部は、前記部位に対して相対位置が固定された第1の物体と、前記部位に対して相対位置が固定されていない第2の物体の接触を判定し、判定結果に応じて前記駆動信号を生成し、
前記第1の物体と前記第2の物体の少なくも一方は実物体である
情報処理装置。
【請求項12】
請求項11に記載の情報処理装置であって、
前記第1の物体及び前記第2の物体はそれぞれが実物体である
情報処理装置。
【請求項13】
請求項11に記載の情報処理装置であって、
実空間において仮想物体を生成する仮想物体生成部をさらに具備し、
前記第1の物体は実物体であり、前記第2の物体は仮想物体である
情報処理装置。
【請求項14】
請求項11に記載の情報処理装置であって、
実空間において仮想物体を生成する仮想物体生成部をさらに具備し、
前記第1の物体は仮想物体であり、前記第2の物体は実物体である
情報処理装置。
【請求項15】
請求項11に記載の情報処理装置であって、
前記駆動信号生成部は、前記第1の物体と前記第2の物体の接触点の移動距離及び移動速度の少なくともいずれか一方に応じて駆動信号を生成する
情報処理装置。
【請求項16】
請求項1に記載の情報処理装置であって、
前記部位は、手指であり、
前記身体部位検出部は、前記手指に装着されたセンサの出力に基づいて前記手指の位置及び姿勢を検出する
情報処理装置。
【請求項17】
請求項1に記載の情報処理装置であって、
前記実物体に関連付けられた情報を取得する物体情報取得部をさらに具備し、
前記駆動信号生成部は、さらに前記情報に応じて前記駆動信号を生成する
情報処理装置。
【請求項18】
請求項1に記載の情報処理装置であって、
前記触感提示機構は、振動を発生することが可能な振動発生機構であり、
前記駆動信号生成部は、前記振動発生機構の振動波形を前記駆動信号として生成する
情報処理装置。
【請求項19】
身体の部位に装着される触感提示機構と、
実物体を検出する実物体検出部と、前記部位の位置及び姿勢を検出する身体部位検出部と、前記実物体と前記部位の位置関係に基づいて前記触感提示機構に供給する駆動信号を生成する駆動信号生成部とを備える情報処理装置と
を具備する触感提示システム。
【請求項20】
実物体を検出する実物体検出部と、
身体の部位の位置及び姿勢を検出する身体部位検出部と、
前記実物体と前記部位の位置関係に基づいて前記部位に装着された触感提示機構に供給する駆動信号を生成する駆動信号生成部と
として情報処理装置を機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、ユーザに触感を提示するための情報処理装置、触感提示システム及びプログラムに関する。
【背景技術】
【0002】
練習や遊戯を行う場合に、実物体を利用した際に得られる触感がリアルであると、訓練の効果が高まったり、楽しさが増したりする。例えば、料理の真似をする遊戯を行う場合に、玩具の鍋を触るとグツグツと沸騰している触感が得られたり、玩具の魚の表面を触るとウロコのザラザラとした触感を得られたりといったように、それぞれ得られる触感がリアルであると体験の質が高まる。
【0003】
例えば、特許文献1には、ユーザの手に装着される振動提示デバイスが開示されている。この振動提示デバイスは、指や手首に接触する位置に振動アクチュエータが設けられ、VR(Virtual Reality)空間内で仮想物体に接触した際に振動アクチュエータが振動することにより、疑似触覚を発生させることが可能に構成されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記のように、特許文献1に記載の振動提示デバイスでは、仮想物体を対象とするものであり、実物体を対象とするものではない。
【0006】
以上のような事情に鑑み、本技術の目的は、実物体を対象として触感を提示することが可能な情報処理装置、触感提示システム及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本技術の一形態に係る情報処理装置は、実物体検出部と、身体部位検出部と、駆動信号生成部とを具備する。
上記実物体検出部は、実物体を検出する。
上記身体部位検出部は、身体の部位の位置及び姿勢を検出する。
上記駆動信号生成部は、上記実物体と上記部位の位置関係に基づいて上記部位に装着された触感提示機構に供給する駆動信号を生成する。
【0008】
この構成によれば、触感提示機構が装着された部位と実物体の位置関係に応じて、ユーザに実物体単体では得られない触感を提示し、リアリティや精密さ、異なる触感の面白さを提供することが可能となる。
【0009】
上記実物体検出部は、上記実物体の種別を識別し、
上記駆動信号生成部は、さらに上記種別に応じて上記駆動信号を生成してもよい。
【0010】
上記駆動信号生成部は、上記実物体と上記部位の位置関係に基づいて、上記実物体と上記部位の接触の有無を判定し、判定結果に応じて上記駆動信号を生成してもよい。
【0011】
上記駆動信号生成部は、上記部位が上記実物体に接触すると、上記触感提示機構が触感を発生させるように上記駆動信号を生成してもよい。
【0012】
上記駆動信号生成部は、上記部位の上記実物体に対する押圧力に応じて上記駆動信号を生成してもよい。
【0013】
上記駆動信号生成部は、上記部位が上記実物体に接触した状態で上記実物体に対して移動すると、上記触感提示機構が触感を発生させるように上記駆動信号を生成してもよい。
【0014】
上記駆動信号生成部は、上記部位の上記実物体に対する移動距離及び移動速度の少なくともいずれか一方に応じて上記駆動信号を生成してもよい。
【0015】
上記駆動信号生成部は、上記実物体と上記部位が接触を維持しながら移動すると、上記触感提示機構が触感を発生させるように上記駆動信号を生成してもよい。
【0016】
上記駆動信号生成部は、上記実物体の移動距離及び移動速度の少なくともいずれか一方に応じて上記駆動信号を生成してもよい。
【0017】
上記駆動信号生成部は、上記実物体のうち上記部位が接触する位置に応じて上記駆動信号を生成してもよい。
【0018】
上記駆動信号生成部は、上記部位に対して相対位置が固定された第1の物体と、上記部位に対して相対位置が固定されていない第2の物体の接触を判定し、判定結果に応じて上記駆動信号を生成し、
上記第1の物体と上記第2の物体の少なくも一方は実物体であってもよい。
【0019】
上記第1の物体及び上記第2の物体はそれぞれが実物体であってもよい。
【0020】
上記情報処理装置は、実空間において仮想物体を生成する仮想物体生成部をさらに具備し、
上記第1の物体は実物体であり、上記第2の物体は仮想物体であってもよい。
【0021】
上記情報処理装置は、実空間において仮想物体を生成する仮想物体生成部をさらに具備し、
上記第1の物体は仮想物体であり、上記第2の物体は実物体であってもよい。
【0022】
上記駆動信号生成部は、上記第1の物体と上記第2の物体の接触点の移動距離及び移動速度の少なくともいずれか一方に応じて駆動信号を生成してもよい。
情報処理装置。
【0023】
上記部位は、手指であり、
上記身体部位検出部は、上記手指に装着されたセンサの出力に基づいて上記手指の位置及び姿勢を検出してもよい。
情報処理装置。
【0024】
上記情報処理装置は、上記実物体に関連付けられた情報を取得する物体情報取得部をさらに具備し、
上記駆動信号生成部は、さらに上記情報に応じて上記駆動信号を生成してもよい。
【0025】
上記触感提示機構は、振動を発生することが可能な振動発生機構であり、
上記駆動信号生成部は、上記振動発生機構の振動波形を上記駆動信号として生成してもよい。
【0026】
上記目的を達成するため、本技術の一形態に係る触感提示システムは触感提示機構と、情報処理装置とを具備する。
上記触感提示機構は、身体の部位に装着される。
上記情報処理装置は、実物体を検出する実物体検出部と、上記部位の位置及び姿勢を検出する身体部位検出部と、上記実物体と上記部位の位置関係に基づいて上記触感提示機構に供給する駆動信号を生成する駆動信号生成部とを備える。
【0027】
上記目的を達成するため、本技術の一形態に係るプログラムは、実物体検出部と、身体部位検出部と、駆動信号生成部として情報処理装置を機能させる。
上記実物体検出部は、実物体を検出する。
上記身体部位検出部は、身体の部位の位置及び姿勢を検出する。
上記駆動信号生成部は、上記実物体と上記部位の位置関係に基づいて上記部位に装着された触感提示機構に供給する駆動信号を生成する。
【図面の簡単な説明】
【0028】
【
図1】本技術の実施形態に係る触感提示システムのブロック図である。
【
図2】上記触感提示システムが備えるコントローラの模式図である。
【
図3】上記コントローラの触感提示機構とセンサ部の配置を示す模式図である。
【
図4】上記触感提示システムが備えるARグラスの模式図である。
【
図5】上記ARグラスの制御部が備える身体部位検出部が検出する特定部位の模式図である。
【
図6】上記ARグラスの制御部が備える実物体検出部が検出する実物体の模式図である。
【
図7】上記触感提示システムの動作を示すフローチャートである。
【
図8】上記触感提示システムの動作を示す模式図である。
【
図9】上記触感提示システムの動作を示す模式図である。
【
図10】上記触感提示システムの動作を示す模式図である。
【
図11】上記触感提示システムの動作を示す模式図である。
【
図12】上記触感提示システムの動作を示す模式図である。
【
図13】上記触感提示システムの動作を示す模式図である。
【
図14】上記触感提示システムの動作例1-1の模式図である。
【
図15】上記触感提示システムの動作例1-2の模式図である。
【
図16】上記触感提示システムの動作例1-3の模式図である。
【
図17】上記触感提示システムの動作例1-4の模式図である。
【
図18】上記触感提示システムの動作例2-1の模式図である。
【
図19】上記触感提示システムの動作例2-2の模式図である。
【
図20】上記触感提示システムの動作例2-3の模式図である。
【
図21】上記触感提示システムの動作例3-1の模式図である。
【
図22】上記触感提示システムの動作例3-2の模式図である。
【
図23】上記触感提示システムの動作例3-3の模式図である。
【
図24】上記触感提示システムの動作例3-4の模式図である。
【
図25】本技術の実施形態に係る触感提示システムの他の構成のブロック図である。
【
図26】本技術の実施形態に係る触感提示システムが備える制御部のハードウェア構成のブロック図である。
【発明を実施するための形態】
【0029】
本技術の実施形態に係る触感提示システムについて説明する。
【0030】
[触感提示システムの構成]
図1は本実施形態に係る触感提示システム100の構成を示すブロック図である。同図に示すように、触感提示システム100はコントローラ101及びAR(Augmented Reality)グラス102を備える。
【0031】
コントローラ101は、ユーザの身体に装着され、ユーザに触覚を提示する。
図2は、コントローラ101の模式図である。同図に示すように、コントローラ101は、ユーザの手指Mに装着されるハンドコントローラであるものとすることできる。
【0032】
コントローラ101は、
図2に示すように触感提示機構111を備える。触感提示機構111は手指Mに接触し、手指Mに触感を提示する。触感提示機構111は偏芯モータあるいは圧電アクチュエータ等の振動発生機構であり、振動を発生させることが可能なものとすることができる。また、触感提示機構111は振動の他に、温度変化や摩擦力を提示するものであってもよい。
【0033】
触感提示機構111は、装具112によって手指Mの所定の位置に固定される。装具112は伸縮性を有し、あるいは任意の長さで締結可能なベルト状装具等とすることができる。触感提示機構111は、
図2に示すように、手の甲や指の腹等、手指Mのうち任意の箇所に装着されるものとすることができる。触感提示機構111は全ての指に装着されてもよく、一部の指にのみ装着されてもよい。触感提示機構111の数は特に限定されず、一つ又は複数とすることができる。
【0034】
また、
図1に示すように、コントローラ101はセンサ部115を備える。センサ部115は、ジャイロセンサ116、加速度センサ117及び方位センサ118を含み、センサ部115が装着された部位の位置及び姿勢を検出することが可能である。
【0035】
図3は、センサ部115及び触感提示機構111の配置例を示す模式図である。同図に示すように、センサ部115は一部の触感提示機構111に近接して設けられる。また、センサ部115は全部の触感提示機構111に近接して設けられてもよい。センサ部115は全ての指に取り付けられる必要はなく、一部の指にのみ取り付けられてもよい。また、センサ部115は装着された部位の位置及び姿勢を検出可能なものであればよく、その構成は特に限定されない。
【0036】
ARグラス102は、ユーザの頭部に装着され、ユーザにAR映像を提示する。また、ARグラス102はコントローラ101を制御する情報処理装置として機能する。
図4は、ARグラス102を示す模式図である。
図1及び
図4に示すように、ARグラス102は、センサ部120、通信部131、表示部132、スピーカー133、記憶部134及び制御部140を備える。
【0037】
センサ部120は、各種の検出を実行し、検出結果を制御部140に出力する。具体的には、センサ部120は、外向きカメラ121、内向きカメラ122、マイク123、ジャイロセンサ124、加速度センサ125及び方位センサ126を備える。
【0038】
外向きカメラ121は、
図4に示すようにARグラス102に設けられ、視野内を撮像し、撮像画像を生成する。外向きカメラ121は生成した撮像画像を制御部140に出力する。撮像画像は動画であってもよく、連続的に撮像された複数の静止画であってもよい。
【0039】
ジャイロセンサ124、加速度センサ125及び方位センサ126は、ARグラス102の位置及び姿勢を検出し、検出結果を制御部140に出力する。なお、センサ部120の構成はここに示すものに限られず、少なくとも外向きカメラ121を備え、かつARグラス102の置及び姿勢を検出可能なものであればよい。
【0040】
通信部131は、ARグラス102と外部機器を接続する。具体的には通信部131は、ARグラス102とコントローラ101を直接、又はネットワークを介して接続する。さらに、通信部131は、ARグラス102と他の情報処理装置を直接、又はネットワークを介して接続可能であってもよい。
【0041】
表示部132は、制御部140から出力された映像を表示する。表示部132は透過型ディスプレイであり、ユーザは表示部132により表示された仮想物体と実空間を共に視認することができる。表示部132は、
図4に示すように、右眼用表示部132Rと左眼用表示部132Lを備え、仮想物体を立体的に表示することが可能に構成されている。
【0042】
スピーカー133は、制御部140から出力された音声を再生する。スピーカー133の構成は特に限定されず、必ずしも設けられなくてもよい。記憶部134は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等であり、制御部140が実行するアプリケーション等を記憶する。
【0043】
制御部140は、CPU(Central Processing Unit)等のハードウェアとソフトウェアの協働により実現される機能的構成であり、ARグラス102及びコントローラ101を制御する。具体的には制御部140は、
図1に示すように身体部位検出部141、実物体検出部142、アプリケーション実行部143、出力制御部145及び物体情報取得部147を備える。
【0044】
身体部位検出部141は、ユーザの身体のうち「特定部位」の位置及び姿勢を検出する。この特定部位は、ユーザの身体のうち、触感提示機構111が設けられた部位とすることができ、
図2に示すように触感提示機構111が手指に装着される場合、特定部位は手指とすることができる。なお、特定部位の「位置」は実空間における特定部位の位置座標を意味し、特定部位の「姿勢」は、実空間における特定部位の向き(例えば、指の延伸方向の向き)を意味する。
【0045】
図5は身体部位検出部141による特定部位の検出結果の例を示す模式図である。同図に示すように身体部位検出部141は、手指Mのうち人差し指と親指の先端部(図中、R)を特定部位として検出し、これらの位置及び姿勢を検出することができる。なお、特定部位はここに示すものに限られず、他の指や掌、あるいは身体の他の部位であってもよい。
【0046】
身体部位検出部141は、外向きカメラ121(
図4参照)によって生成された撮像画像を取得し、撮像画像に対する画像処理によって特定部位の位置及び姿勢を検出することができる。また、身体部位検出部141はセンサ部115(
図2参照)の出力に基づいて特定部位の置及び姿勢を検出してもよく、撮像画像とセンサ部115の出力の両方に基づいて特定部位の置及び姿勢を検出してもよい。例えば、身体部位検出部141は、撮像画像に基づいて特定部位のおおまかな位置及び姿勢を検出し、センサ部115の出力から特定部位の詳細な位置及び姿勢を検出することも可能である。身体部位検出部141は特定部位の検出結果をアプリケーション実行部143及び出力制御部145に供給する。
【0047】
さらに、身体部位検出部141は、後述する実物体への特定部位による押圧力を検出してもよい。身体部位検出部141は、特定部位に装着された圧力センサの出力に基づいて押圧力を検出してもよく、実物体の検出結果に基づいて特定部位が接触する実物体の重量を取得し、この重量から押圧力を推定してもよい。身体部位検出部141は、特定部位による実物体への押圧力を検出すると、その押圧力を出力制御部145に供給する。
【0048】
実物体検出部142は、「実物体」を検出する。実物体は仮想物体ではなく、実空間中に実際に存在する物体である。実物体の種別は特に限定されないが、典型的には玩具、工具、筆記具等といったユーザが把持することが可能な物体である。
図6は実物体検出部142によって検出される実物体の例を示す模式図である。同図においては、ユーザの手指Mによって把持されている実物体Tを示す。実物体検出部142は、外向きカメラ121によって撮像された撮像画像を取得し、撮像画像に対する画像処理によって実物体を検出することができる。
【0049】
さらに実物体検出部142は実物体を検出すると、その位置を特定し、種別を識別する。実物体検出部142は、検出した実物体の形状や色彩等に対して機械学習による画像判定により、実物体の種別(例えば、ペン、ハサミ、玩具の剣等)を識別することができる。
【0050】
なお、特定部位が接触してからでは実物体が特定部位で隠れたり、実物体全体が見えづらくなるおそれがあるため、実物体検出部142は特定部位が実物体に接近し始めた時点で、実物体の識別を始めるようにしてもよい。また、実物体検出部142による物体検出処理が、リアルタイムでは間に合わない事も想定されるが、この場合もユーザが特定部位を実物体に接近させる前から、近辺にある実物体を識別しておき、接触時の識別処理の負荷を下げてもよい。
【0051】
さらに、実物体検出部142は撮像画像に対する画像処理に替えて、又は画像処理に加えて、他の方法による実物体の検出及び識別を実効してもよい。例えば、実物体検出部142は、実物体にQRコード(登録商標)が表示されている場合、QRコード(登録商標)の読み取り結果から実物体を識別することができる。また、実物体検出部142は、実物体に電子タグが装着されている場合、電子タグとの通信結果から実物体を識別することもできる。また、撮像画像も外向きカメラ121によって撮像されたものに限られず、ユーザの周囲に位置したカメラ(例えば壁面に設置したカメラ)によって撮像されたものであってもよい。
【0052】
実物体検出部142は実物体の検出結果を出力制御部145及び物体情報取得部147に供給する。なお、実物体検出部142は、身体部位検出部141が検出する特定部位との位置関係を用いて処理対象とする実物体を選別してもよい。実物体検出部142は処理対象とした実物体のみ位置の特定及び種別の識別を行い、処理対象外とした実部隊は存在しないものとして取り扱うことができる。具体的には実物体検出部142は、特定部位が接触する実物体(例えばユーザが把持する実物体)を処理対象とし、特定部位が接触しない実物体を処理対象外としてもよい。
【0053】
また、実物体検出部142は、特定部位に接触する実物体(例えばユーザが把持する実物体)とその実物体が触れようとしている実物体を処理対象とし、それ以外の実物体を処理対象外としてもよい。さらに、実物体検出部142は、ユーザがARグラス102によって生成された仮想物体を用いて触れようとする実物体を処理対象とし、それ以外の実物体を処理対象外としてもよい。この他にも実物体検出部142は、特定部位から一定距離内の実物体を処理対象とし、それ以外の実物体を処理対象外としてもよい。実物体検出部142は処理対象の選別を実行せず、検出した全ての実物体を処理対象としてもよく、検出した実物体が多数の場合にのみ処理対象とする実物体を選別してもよい。
【0054】
アプリケーション実行部143は、AR(Augmented Reality)ゲームや作業支援AR等のアプリケーションを実行する。アプリケーション実行部143は、仮想物体生成部144を備える。仮想物体生成部144は、センサ部120の出力に基づき、アプリケーション実行部143によって実行されるアプリケーションにしたがって「仮想物体」を生成する。仮想物体は表示部132(
図4参照)に表示されることによって、ユーザが実空間において仮想的に視認可能な物体であり、武器や工具、筆記具等、その種別は特に限定されない。アプリケーション実行部143は、仮想物体生成部144が生成した仮想物体を含め、アプリケーションの実行により生成した音声や映像、触感等の出力指示を出力制御部145に供給する。
【0055】
出力制御部145は、アプリケーション実行部143から供給された出力指示にしたがって、コントローラ101及びARグラス102の出力を制御する。具体的には出力制御部145は、出力指示にしたがって映像信号を生成して表示部132に供給し、表示部132に映像を表示させる。また、出力制御部145は、出力指示にしたがって音声信号を生成し、スピーカー133に供給し、スピーカー133から音声を発生させる。
【0056】
出力制御部145は、駆動信号生成部146を備える。駆動信号生成部146は、出力指示にしたがって、触感提示機構111の駆動信号を生成し、触感提示機構111に供給する。この際、駆動信号生成部146は、実物体検出部142により検出された実物体と身体部位検出部141により検出された特定部位の位置関係に基づいて、駆動信号を生成する。
【0057】
駆動信号生成部146による駆動信号生成の詳細については後述するが、駆動信号生成部146は、実物体Tと特定部位Rの接触の有無を判定し、判定結果に応じて駆動信号を生成することができる。また、駆動信号生成部146は、特定部位Rが実物体Tに接触した状態で実物体Tに対して移動すると、触感提示機構111が触感を発生させるように駆動信号を生成してもよい。さらに、駆動信号生成部146は、特定部位Rに対して相対位置が固定された第1の物体(実物体又は仮想物体)と、特定部位Rに対して相対位置が固定されていない第2の物体(実物体又は仮想物体)の接触を判定し、判定結果に応じて前記駆動信号を生成してもよい。
【0058】
物体情報取得部147は、実物体検出部142により検出された実物体の「関連情報」を取得する。関連情報は、実物体の外観とは無関係に実物体に関連する情報であり、例えば実物体がプリペイドカードである場合のプリペイドの残高等である。物体情報取得部147は、実物体検出部142において実物体が識別されると、実物体に保持されている情報(例えば、電子タグ)等を利用してその実物体の関連情報をサーバ等に問い合わせ、関連情報を取得することができる。
【0059】
触感提示システム100は以上のような構成を有する。なお、触感提示システム100の構成はここに示すものに限られない。例えば、制御部140はARグラス102と接続された別の情報処理装置に搭載されてもよい。また、制御部140の構成のうち少なくとも一部はネットワーク上において実現されていてもよい。さらに、制御部140は上記全ての構成を有するものに限られず、例えば仮想物体生成部144や物体情報取得部147は必ずしも設けられなくてもよい。
【0060】
また、コントローラ101は、ユーザの手指に装着されるものとしたがこれに限られず、ユーザの腕や脚、頭部又は胴体等に装着されるものであってもよい。また、触感提示システム100は2つ以上のコントローラ101を備え、ユーザは左右両手のように身体の2か所以上にコントローラ101を装着してもよい。
【0061】
[触感提示システムの動作]
触感提示システム100の動作について説明する。
図7は、触感提示システム100の動作を示すフローチャートである。
【0062】
同図に示すように、まず、実物体検出部142が実物体を検出する(St101)。実物体検出部142は、撮像画像に対する画像処理等により実物体を検出することができる。次に、実物体検出部142は、検出した実物体を選別する(St102)。実物体検出部142は、特定部位との位置関係に基づいて実物体が処理対象であるか否かを選別することができ、例えば、検出した実物体が特定部位に接触している場合、処理対象と選別することができる。
【0063】
実物体検出部142は、実物体が処理対象ではないと判定した場合(St102;No)、再度、実物体の検出(St101)を実効する。また、実物体検出部142は、実物体が処理対象であると判定した場合(St102;Yes)、実物体を識別する(St103)。実物体検出部142は、機械学習させた認識器等を利用して実物体の種別を識別することができる。
【0064】
続いて実物体検出部142は、実物体の位置を特定する(St104)。実物体検出部142は、撮像画像における実物体の大きさや形状等に基づいて、実空間における実物体の位置座標を特定することができる。
【0065】
続いて、身体部位検出部141は、特定部位の位置姿勢を検出する(St105)。身体部位検出部141は、撮像画像に対する画像処理結果やセンサ部115(
図2参照)の出力に基づいて特定部位の置及び姿勢を検出することができる。この際、身体部位検出部141は、特定部位による実物体への押圧力を併せて検出してもよい。
【0066】
続いて、駆動信号生成部146は、実物体と特定部位の相対的位置関係を特定する(St106)。駆動信号生成部146は、実物体検出部142が検出した実物体の位置と身体部位検出部141が検出した特定部位の位置姿勢を比較し、その比較結果に基づいて実物体と特定部位の相対的位置関係を特定することができる。具体的には、駆動信号生成部146は特定部位が実物体に接触しているか否かを特定することができる。
【0067】
続いて、駆動信号生成部146は、実物体と特定部位の位置関係に基づいて駆動信号を生成する(St107)。
図8は、特定部位Rと実物体Tの位置関係を示す模式図である。同図に示すように、駆動信号生成部146は、特定部位Rと実物体Tの接触の有無を判定し、特定部位Rが実物体Tに接触すると、特定部位Rの近傍の触感提示機構111が触感を発生させるように駆動信号を生成することができる。この際に、駆動信号生成部146は、実物体検出部142によって識別された実物体Tの種別に応じて駆動信号を生成してもよい。例えば、駆動信号生成部146は、実物体Tの種別毎に振動波形を準備しておき、特定部位の位置姿勢によりその振幅や振動数を変更することができる。
【0068】
さらに、駆動信号生成部146は、特定部位Rによる実物体Tへの押圧力に応じて駆動信号を生成してもよい。例えば、駆動信号生成部146は、押圧力が大きい場合には触感提示機構111が発生する触感が小さくなるように駆動信号を生成することができる。押圧力が大きい程、触感が特定部位に伝わりやすいため、ユーザが知覚する触感を押圧力によらず一定にすることができる。さらに、駆動信号生成部146は、後述するように実物体Tのうち特定部位Rが接触する位置に応じて駆動信号を生成してもよく、実物体検出部142により検出された実物体Tの関連情報(プリペイド残高等)に応じて駆動信号を生成してもよい。
【0069】
また、特定部位Rと実物体Tの位置関係は次第に変化してもよい。
図9は、特定部位Rと実物体Tの位置関係の変化を示す模式図であり、特定部位Rの動きを矢印で示す。同図に示すように、駆動信号生成部146は、特定部位Rが実物体Tに接触した状態で実物体Tに対して移動すると、触感提示機構111が触感を発生させるように駆動信号を生成してもよい。
【0070】
この際、駆動信号生成部146は、特定部位Rの実物体Tに対する移動距離及び移動速度の一方又は両方に応じて駆動信号を生成してもよい。駆動信号生成部146は例えば、移動距離が一定となる毎に触感が発生し、あるいは移動速度が大きいほど触感が提示される時間間隔が小さくなるように駆動信号を生成することができる。
【0071】
続いて、駆動信号生成部146は、生成した駆動信号を触感提示機構111に供給する(St108)。触感提示機構111は駆動信号にしたがって、触感を発生させる。これによりユーザは、実物体と特定部位の位置関係に応じた触感を知覚することが可能となる。
【0072】
触感提示システム100は以上のような動作を行う。なお、出力制御部145は、駆動信号と共に、特定部位が実物体に触れている際に発生する音声(摩擦音、衝突音など)の信号を生成し、スピーカー133に供給してもよい。ユーザは触感提示機構111による触感と共にこの音声を知覚することができる。
【0073】
また、駆動信号生成部146は、駆動信号の生成にユーザの情報を反映させてもよい。駆動信号生成部146は、触感提示システム100のUI(User Interface)により触感強度の変更が入力されると、それに応じて駆動信号を調整することができる。これにより、ユーザが触感を強く感じたい場合や手袋等の装着により感度が低下している場合に対応することが可能となる。
【0074】
さらに、実物体検出部142は、木材や紙等の加工可能な材料からなる実物体を検出すると、その実物体が表す物体の種別を識別し、実物体の種別とみなしてもよい。例えば、実物体検出部142は、木材からなる玩具の剣を検出すると、実物の剣とみなしてその識別結果を駆動信号生成部146に供給することができる。実物体検出部142は、同じ剣でも、形状や絵柄によって振り回した際の振動提示を変えるために、画像判定時に形状や絵柄を数値化して識別結果とすることができる。例えば、実物体検出部142は実物体の形状のうち、太い、細い、長い、短い等の特性を数値化してもよく、実物体に塗られている平均の色をRGBの24bitの値として扱うことで数値化してもよい。
【0075】
上述した触感提示システム100の動作では、ユーザの特定部位と実物体の接触に伴う駆動信号の生成について説明したが、駆動信号生成部146は実物体と特定部位の位置関係に基づいて駆動信号を生成するものであればよい。例えば、駆動信号生成部146は次のように動作してもよい。
【0076】
図10は、特定部位Rと実物体Tの他の位置関係を示す模式図である。同図に示すように、実物体Tは特定部位Rに対して相対位置が固定され、矢印で示すように特定部位Rと共に移動してもよい。これは例えばユーザが手指により実物体Tを把持し、動かしている状態である。駆動信号生成部146は、実物体Tと特定部位Rが接触を維持しながら移動すると、触感提示機構111が触感を発生させるように駆動信号を生成することができる。
【0077】
この際に、駆動信号生成部146は、実物体検出部142によって識別された実物体Tの種別に応じて駆動信号を生成してもよい。例えば、駆動信号生成部146は、実物体Tの種別毎に振動波形を準備しておき、実物体Tの種別に応じて振動波形を選択することができる。
【0078】
さらに、駆動信号生成部146は、特定部位Rの移動距離及び移動速度の一方又は両方に応じて駆動信号を生成してもよい。駆動信号生成部146は例えば、移動距離が一定となる毎に触感が発生し、あるいは移動速度が大きいほど触感が提示される時間間隔が小さくなるように駆動信号を生成することができる。また、駆動信号生成部146は、後述するように実物体Tのうち特定部位Rが接触する位置に応じて駆動信号を生成してもよく、実物体検出部142により検出された実物体Tの関連情報に応じて駆動信号を生成してもよい。
【0079】
図11は、特定部位Rと実物体Tの他の位置関係を示す模式図である。同図に示すように、実物体は第1実物体T1と第2実物体T2を含む。第1実物体T1は特定部位Rに対して相対位置が固定され、矢印で示すように特定部位Rと共に移動する実物体である。第2実物体T2は特定部位Rに対して相対位置が固定されていない実物体である。
【0080】
駆動信号生成部146は、第1実物体T1と特定部位Rが接触を維持しながら移動すると、第1実物体T1は特定部位Rに対して相対位置が固定されていると判定することができる。駆動信号生成部146は、特定部位Rに対して相対位置が固定された第1実物体T1が第2実物体T2と接触すると、触感提示機構111が触感を発生させるように駆動信号を生成することができる。
【0081】
この際に、駆動信号生成部146は、実物体検出部142によって識別された第1実物体T1及び第2実物体T2の種別に応じて駆動信号を生成してもよい。例えば、駆動信号生成部146は、第1実物体T1及び第2実物体T2の種別毎に振動波形を準備しておき、第1実物体T1及び第2実物体T2の種別に応じて振動波形を選択することができる。
【0082】
さらに、駆動信号生成部146は、第1実物体Tと第2実物体T2の接触点の移動距離及び移動速度の一方又は両方に応じて駆動信号を生成してもよい。駆動信号生成部146は例えば、接触点の移動距離が一定となる毎に触感が発生し、あるいは接触点の移動速度が大きいほど触感が提示される時間間隔が小さくなるように駆動信号を生成することができる。また、駆動信号生成部146は、後述するように第1実物体T1のうち特定部位Rが接触する位置に応じて駆動信号を生成してもよく、第1実物体T1と第2実物体Tが互いに接触する位置に応じて駆動信号を生成してもよい。
【0083】
図12は、特定部位Rと実物体Tの他の位置関係を示す模式図である。同図に示すように、実物体Tは特定部位Rに対して相対位置が固定され、矢印で示すように仮想物体Vに対して特定部位Rと共に移動してもよい。仮想物体Vは、特定部位Rに対して相対位置が固定されていない仮想物体であり、仮想物体生成部144(
図1参照)により生成され、表示部132に表示された仮想物体である。ユーザは、表示部132を介して実空間を視認することにより、実物体Tと仮想物体Vを共に視認することができる
【0084】
駆動信号生成部146は、実物体Tと特定部位Rが接触を維持しながら移動すると、実物体Tは特定部位Rに対して相対位置が固定されていると判定することができる。駆動信号生成部146は、特定部位Rに対して相対位置が固定された実物体Tが仮想物体Vと仮想的に接触すると、触感提示機構111が触感を発生させるように駆動信号を生成することができる。
【0085】
この際に、駆動信号生成部146は、実物体検出部142によって識別された実物体Tの種別及び仮想物体Vの種別に応じて駆動信号を生成してもよい。例えば、駆動信号生成部146は、実物体T及び仮想物体Vの種別毎に振動波形を準備しておき、実物体T及び仮想物体Vの種別に応じて振動波形を選択することができる。
【0086】
さらに、駆動信号生成部146は、実物体Tと仮想物体Vの接触点の移動距離及び移動速度の一方又は両方に応じて駆動信号を生成してもよい。駆動信号生成部146は例えば、接触点の移動距離が一定となる毎に触感が発生し、あるいは接触点の移動速度が大きいほど触感が提示される時間間隔が小さくなるように駆動信号を生成することができる。また、駆動信号生成部146は、後述するように実物体Tのうち特定部位Rが接触する位置に応じて駆動信号を生成してもよく、実物体Tと仮想物体Vが互いに接触する位置に応じて駆動信号を生成してもよい。
【0087】
図13は、特定部位Rと実物体Tの他の位置関係を示す模式図である。同図に示すように、仮想物体Vは特定部位Rに対して相対位置が固定され、矢印で示すように実物体Tに対して特定部位Rと共に移動してもよい。実物体Tは特定部位Rに対して相対位置が固定されていない実物体である。仮想物体Vは、仮想物体生成部144(
図1参照)により生成され、表示部132に表示された仮想物体である。ユーザは、表示部132を介して実空間を視認することにより、実物体Tと仮想物体Vを共に視認することができる
【0088】
駆動信号生成部146は、特定部位Rに対して相対位置が固定された仮想物体Vが実物体Tと仮想的に接触すると、触感提示機構111が触感を発生させるように駆動信号を生成することができる。この際に、駆動信号生成部146は、実物体検出部142によって識別された実物体Tの種別及び仮想物体Vの種別に応じて駆動信号を生成してもよい。例えば、駆動信号生成部146は、実物体T及び仮想物体Vの種別毎に振動波形を準備しておき、実物体T及び仮想物体Vの種別に応じて振動波形を選択することができる。
【0089】
さらに、駆動信号生成部146は、実物体Tと仮想物体Vの接触点の移動距離及び移動速度の一方又は両方に応じて駆動信号を生成してもよい。駆動信号生成部146は例えば、接触点の移動距離が一定となる毎に触感が発生し、あるいは接触点の移動速度が大きいほど触感が提示される時間間隔が小さくなるように駆動信号を生成することができる。また、駆動信号生成部146は、後述するように仮想物体Vのうち特定部位Rが接触する位置に応じて駆動信号を生成してもよく、実物体Tと仮想物体Vが互いに接触する位置に応じて駆動信号を生成してもよい。
【0090】
触感提示システム100は以上のように動作を行う。上記のように触感提示システム100は、駆動信号生成部146が特定部位Rと実物体Tの位置関係に基づいて、特定部位Rに装着された触感提示機構111の駆動信号を生成する。これにより、触感提示システム100はユーザに、実物体Tから直接得られる触感とは異なる触感を知覚させ、リアリティや精密さ、あるいは異なる触感の面白さを提供することが可能である。
【0091】
[触感提示システムの具体的動作例]
触感提示システム100の具体的動作例について説明する。なお、以下の動作例において特定部位は手指Mの各部であるものとし、触感提示機構111は振動発生機構であるものとする。
【0092】
(動作例1.特定部位の実物体への接触による触感提示)
動作例1では、特定部位の実物体への接触に伴う触感提示について説明する。動作例1は動作例1-1、動作例1-2、動作例1-3及び動作例1-4を含む。
【0093】
<動作例1-1>
図14は、動作例1-1における特定部位Rと実物体Tを示す模式図である。実物体Tは、木製の魚の模型である。実物体検出部142は、実物体Tが魚の模型であると識別すると、その情報及び実物体Tの位置を駆動信号生成部146に供給する。実物体検出部142は特定の形状(特定の木製の魚の形状)のみ識別できるよう機械学習させた認識器を利用して識別してもよく、実物体に表示されたラベルを認識して実物体を識別してもよい。また、身体部位検出部141はセンサ部115等の出力に基づいて特定部位Rの位置姿勢を検出し、駆動信号生成部146に供給する。
【0094】
駆動信号生成部146は、特定部位Rと実物体Tの位置関係に応じて駆動信号を生成する。駆動信号生成部146は、特定部位Rが実物体Tのどの部位に触れているかを判定し、その部位と上記位置関係に応じて駆動信号を生成する。例えば駆動信号生成部146は、特定部位Rが実物体Tの表面を撫でると、触感提示機構111が振動を発生するように駆動信号を生成する。この際、駆動信号生成部146は、触感提示機構111に所定の周波数の振動を発生させ、ユーザに、実際の魚のウロコを触ったかのような触感を知覚させることができる。
【0095】
これによりユーザは、木製の魚の模型に触れながら、実際の魚に触れているような触感を得ることができる。この際、駆動信号生成部146は、特定部位Rが実物体Tに触れた状態での特定部位Rの移動距離及び移動速度の一方又は両方に応じて触感提示機構111の振動周波数を変化させてもよく、例えば、特定部位Rの移動速度が速いほど振動周波数を大きくことができる。
【0096】
<動作例1-2>
図15は、動作例1-2における特定部位Rと実物体Tを示す模式図である。実物体Tは、木材であり、切断等の加工の対象物であるものとする。実物体検出部142は、実物体Tが木材であると識別すると、その情報及び実物体Tの位置を駆動信号生成部146に供給する。また、身体部位検出部141はセンサ部115等の出力に基づいて特定部位Rの位置姿勢を検出し、駆動信号生成部146に供給する。
【0097】
駆動信号生成部146は、特定部位Rと実物体Tの位置関係に応じて駆動信号を生成する。駆動信号生成部146は、特定部位Rが実物体Tのどの部位に触れているかを判定し、その部位と上記位置関係に応じて駆動信号を生成することができる。例えば駆動信号生成部146は、特定部位Rが実物体Tの縁を撫でると、触感提示機構111が振動を発生するように駆動信号を生成する。この際、駆動信号生成部146は、木材上の所定位置において触感提示機構111に振動を発生させ、ユーザに加工箇所を提示することができる。
【0098】
また、駆動信号生成部146は、特定部位Rが実物体Tに触れた状態での特定部位Rの移動距離及び移動速度の一方又は両方に応じて触感提示機構111を動作させてもよく、例えば特定部位Rの移動距離が一定距離となる毎に振動を発生させるようにすることもできる。これによりユーザは、振動を目盛りとして利用し、加工箇所を把握することができる。
【0099】
<動作例1-3>
図16は、動作例1-3における特定部位Rと実物体Tを示す模式図である。実物体Tは玩具の鍋である。実物体検出部142は、実物体Tが玩具の鍋であると識別すると、その情報及び実物体Tの位置を駆動信号生成部146に供給する。また、身体部位検出部141はセンサ部115等の出力に基づいて特定部位Rの位置姿勢を検出し、特定部位Rの位置姿勢を駆動信号生成部146に供給する。
【0100】
駆動信号生成部146は、特定部位Rと実物体Tの位置関係に応じて駆動信号を生成する。駆動信号生成部146は、特定部位Rが実物体Tを把持しているかを判定し、その判定結果に応じて駆動信号を生成することができる。例えば、駆動信号生成部146は、特定部位Rが実物体Tを把持している場合、触感提示機構111がお湯が沸いているかのような振動を生じるように駆動信号を生成することができる。
【0101】
<動作例1-4>
図17は、動作例1-4におけるユーザの特定部位Rと実物体Tを示す模式図である。実物体Tはチェスの駒である。実物体検出部142は、実物体Tがチェスの駒であると識別すると、その情報及び実物体Tの位置を駆動信号生成部146に供給する。また、身体部位検出部141はセンサ部115等の出力に基づいて特定部位Rの位置姿勢を検出し、駆動信号生成部146に供給する。
【0102】
駆動信号生成部146は、特定部位Rと実物体Tの位置関係に応じて駆動信号を生成する。駆動信号生成部146は、特定部位Rが実物体Tを把持しているかを判定し、その判定結果に応じて駆動信号を生成することができる。例えば、駆動信号生成部146は、特定部位Rが実物体Tを把持している場合、触感提示機構111が駒の種類に応じて駒が暴れているかのような振動(低周波で左右に揺れるような振動等)を生じるように駆動信号を生成することができる。
【0103】
(動作例2.実物体を特定部位と共に動かす際の触感提示)
動作例2では、実物体を特定部位と共に動かす際の触感提示について説明する。動作例2は動作例2-1、動作例2-2及び動作例2-3を含む。
【0104】
<動作例2-1>
図18は、動作例2-1における特定部位Rと実物体Tを示す模式図である。実物体Tは、玩具の剣である。実物体検出部142は、実物体Tが玩具の剣であると識別すると、その情報及び実物体Tの位置を駆動信号生成部146に供給する。また、身体部位検出部141はセンサ部115等の出力に基づいて特定部位Rの位置姿勢を検出し、駆動信号生成部146に供給する。
【0105】
駆動信号生成部146は、特定部位Rと実物体Tの位置関係に応じて駆動信号を生成する。駆動信号生成部146は、特定部位Rと実物体Tが接触を維持しつつ移動している場合、特定部位Rが実物体Tを把持していると判定することができる。例えば、駆動信号生成部146は、実物体Tの移動速度に応じて、風を切るような振動を触感提示機構111が発生させるように駆動信号を生成する。
【0106】
また、駆動信号生成部146は、特定部位Rが実物体Tにおいて接触する位置を判定し、その位置と上記位置関係に応じて駆動信号を生成することもできる。駆動信号生成部146は、特定部位Rが玩具の剣のうち鍔に近接した位置を把持しているか、鍔から離間した位置を把持しているかを判定し、判定結果に応じて駆動信号を生成することができる。例えば、駆動信号生成部146は、特定部位が鍔に近接した位置を把持している場合より、鍔から離間した位置を把持している場合に振幅を大きくすることができる。一般に、鍔から離間した位置をユーザが把持している場合、剣を揺らした時に強く力を感じるため、駆動信号生成部146が把持位置と鍔の距離に応じて駆動信号を生成することにより、ユーザは、玩具の件を振り回しながら、実物の剣を振り回しているかのように感じることができる。
【0107】
なお、出力制御部145は、駆動信号に併せて剣等に対するビジュアルエフェクトを含む映像信号を生成し、表示部132に供給してもよい。これによりユーザは、玩具の剣に仮想的に重畳されたビジュアルエフェクトを視認することが可能となる。
【0108】
<動作例2-2>
図19は、動作例2-2における特定部位Rと実物体Tを示す模式図である。実物体Tは、ハサミである。実物体検出部142は、実物体Tがハサミであると識別すると、その情報及び実物体Tの位置を駆動信号生成部146に供給する。また、身体部位検出部141はセンサ部115等の出力に基づいて特定部位Rの位置姿勢を検出し、駆動信号生成部146に供給する。
【0109】
駆動信号生成部146は、特定部位Rと実物体Tの位置関係に応じて駆動信号を生成する。駆動信号生成部146は、特定部位Rと実物体Tが接触を維持しつつ移動している場合、特定部位Rが実物体Tを把持していると判定することができる。例えば、駆動信号生成部146は、実物体Tの移動距離に応じて、クリック感を与えるような振動を触感提示機構111が発生させるように駆動信号を生成することができる。これによりユーザは、ハサミにより布等を裁断する際、振動により裁断した長さを把握することができる。
【0110】
<動作例2-3>
図20は、動作例2-3における特定部位Rと実物体Tを示す模式図である。実物体Tは、プリペイドカードである。実物体検出部142は、実物体Tがプリペイドカードであると識別すると、その情報及び実物体Tの位置を駆動信号生成部146に供給する。また、実物体検出部142は、検出した物体がプリペイドカードであるという情報を、物体情報取得部147に供給する。物体情報取得部147は、実物体Tから直接読み取り、あるいはサーバを介してプリペイドカードの残高を関連情報として取得し、駆動信号生成部146に供給する。身体部位検出部141はセンサ部115等の出力に基づいて特定部位Rの位置姿勢を検出し、駆動信号生成部146に供給する。
【0111】
駆動信号生成部146は、特定部位Rと実物体Tの位置関係に応じて駆動信号を生成する。駆動信号生成部146は、特定部位Rと実物体Tが接触を維持しつつ移動している場合、特定部位Rが実物体Tを把持していると判定することができ、把持している間に振動を触感提示機構111が発生させるように駆動信号を生成することができる。
【0112】
さらに、駆動信号生成部146は、物体情報取得部147から供給された関連情報に応じて駆動信号を生成することができる。駆動信号生成部146は例えば、触感提示機構111が、プリペイドカードの残高相当の硬貨が入った貯金箱を振った時のような振動を発生させるように駆動信号を生成することができる。また、駆動信号生成部146は、プリペイドカードの残高が少ないと、短時間の振動を1度だけ発生させ、残高が多いと短時間の振動を複数発生させるように駆動信号を生成してもよい。これによりユーザは、プリペイドカードを振るだけで、残額を把握することが可能となる。
【0113】
(動作例3.特定部位と共に移動する物体と他の物体の接触に伴う触感提示)
動作例3では、特定部位と共に移動する物体と他の物体の接触に伴う触感提示について説明する。動作例3は動作例3-1、動作例3-2、動作例3-3及び動作例3-4を含む。
【0114】
<動作例3-1>
図21は、動作例3-1における特定部位R、第1実物体T1及び第2実物体T2を示す模式図である。第1実物体T1は、筆記具であり、第2実物体T2は紙である。実物体検出部142は、第1実物体T1が筆記具であると識別し、第2実物体T2が紙であると識別すると、その情報と第1実物体T1及び第2実物体T2の位置を駆動信号生成部146に供給する。また、身体部位検出部141はセンサ部115等の出力に基づいて特定部位Rの位置姿勢を検出し、駆動信号生成部146に供給する。
【0115】
駆動信号生成部146は、特定部位Rと第1実物体T1及び第2実物体T2の位置関係に応じて駆動信号を生成する。駆動信号生成部146は、特定部位Rと第1実物体Tが接触を維持しつつ移動している場合、特定部位Rが第1実物体Tを把持していると判定することができる。また駆動信号生成部146は、第1実物体T1及び第2実物体T2の位置関係に基づいて第1実物体T1と第2実物体T2が接触しているか否かを判定し、第1実物体T1と第2実物体T2の接触位置(例えば、筆記具の先端が紙と接触しているか)を特定することができる
【0116】
さらに、駆動信号生成部146は、特定部位Rの位置姿勢と第1実物体T1の位置関係に基づいて、第1実物体T1において特定部位Rが接触する位置を判定する。駆動信号生成部146は、第1実物体T1の種別、第2実物体T2の種別、第1実物体T1と第2実物体T2の接触位置、第1実物体T1と第2実物体T2の接触点の移動距離又は移動速度に基づいて駆動信号を生成することができる。
【0117】
駆動信号生成部146は例えば、第2実物体T2に対する第1実物体T1の移動距離が一定距離となる毎に触感提示機構111が振動を生じさせるように駆動信号を生成することにより、ユーザは第1実物体T1の移動距離を把握することが可能となる。また、駆動信号生成部146は第1実物体T1の移動速度が速いほど振動周波数を高くし、摩擦が生じているかのような触感を提示することができる。
【0118】
<動作例3-2>
図22は、動作例3-2における特定部位R、第1実物体T1及び第2実物体T2を示す模式図である。第1実物体T1は、触感提示システム100のユーザが把持する玩具の剣であり、第2実物体T2は他者が把持する玩具の剣である。実物体検出部142は、第1実物体T1及び第2実物体T2が玩具の剣であると識別すると、その情報と第1実物体T1及び第2実物体T2の位置を駆動信号生成部146に供給する。また、身体部位検出部141はセンサ部115等の出力に基づいて特定部位Rの位置姿勢を検出し、駆動信号生成部146に供給する。
【0119】
駆動信号生成部146は、特定部位Rと第1実物体T1及び第2実物体T2の位置関係に応じて駆動信号を生成する。駆動信号生成部146は、特定部位Rと第1実物体Tが接触を維持しつつ移動している場合、特定部位Rが第1実物体Tを把持していると判定することができる。また、駆動信号生成部146は、第1実物体T1及び第2実物体T2の位置関係に基づいて第1実物体T1と第2実物体T2が接触しているか否かを判定し、第1実物体T1と第2実物体T2の接触位置を特定することができる。
【0120】
さらに、駆動信号生成部146は、特定部位Rの位置姿勢と第1実物体T1の位置関係に基づいて、第1実物体T1において特定部位Rが接触する位置を判定する。駆動信号生成部146は、第1実物体T1の種別、第2実物体T2の種別、第1実物体T1と第2実物体T2の接触位置、第1実物体T1と第2実物体T2の接触点の移動距離又は移動速度に基づいて駆動信号を生成することができる。
【0121】
駆動信号生成部146は例えば、第1実物体T1及び第2実物体T2がプラスチックからなる場合であっても、第1実物体T1と第2実物体T2の衝突時に振動を発生させることにより、金属製の剣が衝突したかのような触感をユーザに知覚させることができる。また、駆動信号生成部146は、第1実物体T1及び第2実物体T2の接触点が移動すると、振動を発生させ、金属性の剣が擦れ合っているかのような触感をユーザに知覚させることができる。
【0122】
<動作例3-3>
図23は、動作例3-3における特定部位R、実物体T及び仮想物体Vを示す模式図である。実物体Tは触感提示システム100のユーザが把持する玩具の剣であり、仮想物体Vは仮想物体生成部144(
図1参照)により生成され、表示部132に表示された仮想物体である。ユーザは、表示部132を介して実空間を視認することにより、実物体Tと仮想物体Vを共に視認することができる。仮想物体Vは例えば、アプリケーション実行部143により実行されているゲームのキャラクターが把持し、あるいは遠隔地に位置する他のプレイヤーが把持する玩具の剣を仮想物体としたものである。
【0123】
実物体検出部142は、実物体Tが玩具の剣であると識別すると、その情報と実物体T及の位置を駆動信号生成部146に供給する。また、身体部位検出部141はセンサ部115等の出力に基づいて特定部位Rの位置姿勢を検出し、駆動信号生成部146に供給する。
【0124】
駆動信号生成部146は、特定部位Rと実物体T及び仮想物体Vの位置関係に応じて駆動信号を生成する。駆動信号生成部146は、特定部位Rと実物体Tが接触を維持しつつ移動している場合、特定部位Rが実物体Tを把持していると判定することができる。また駆動信号生成部146は、仮想物体生成部144から仮想物体Vの位置を取得し、実物体Tと仮想物体Vの位置関係に基づいて実物体Tと仮想物体Vが接触しているか否かを判定すると共に、実物体Tと仮想物体Vの位置関係に基づいて実物体Tと仮想物体Vの接触位置を特定することができる。
【0125】
駆動信号生成部146は、実物体Tの種別、仮想物体Vの種別、実物体Tと仮想物体Vの接触位置、接触点の移動距離又は移動速度に基づいて駆動信号を生成することができる。駆動信号生成部146は例えば、実物体Tが仮想物体Vと仮想的に衝突すると触感提示機構111に振動を発生させることにより、実物体Tが実物体と衝突したかのような触感をユーザに知覚させることが可能となる。また、駆動信号生成部146は、実物体T及び仮想物体Vの接触点が移動すると、振動を発生させ、実物体同士が擦れ合っているかのような触感をユーザに知覚させることができる。
【0126】
<動作例3-4>
図24は、動作例3-4における特定部位R、実物体T及び仮想物体Vを示す模式図である。実物体Tは玩具の剣であり、仮想物体Vは仮想物体生成部144(
図1参照)により生成され、表示部132に表示された仮想物体である。ユーザは、表示部132を介して実空間を視認することにより、実物体Tと仮想物体Vを共に視認することができる。仮想物体Vは仮想物体生成部144により、特定部位Rに対して相対的に固定されているかのように配置され、ユーザは仮想物体Vを把持しているかのように認識することができる。実物体Tは、ユーザの近隣に位置する他のプレイヤーが把持するものとすることができる。
【0127】
実物体検出部142は、実物体Tが玩具の剣であると識別すると、その情報と実物体T及の位置を駆動信号生成部146に供給する。また、身体部位検出部141はセンサ部115等の出力に基づいて特定部位Rの位置姿勢を検出し、駆動信号生成部146に供給する。
【0128】
駆動信号生成部146は、特定部位Rと実物体T及び仮想物体Vの位置関係に応じて駆動信号を生成する。駆動信号生成部146は、仮想物体生成部144から仮想物体Vの位置を取得し、実物体Tと仮想物体Vの位置関係に基づいて実物体Tと仮想物体Vが接触しているか否かを判定すると共に、実物体Tと仮想物体Vの位置関係に基づいて実物体Tと仮想物体Vの接触位置を特定することができる。
【0129】
駆動信号生成部146は、実物体Tの種別、仮想物体Vの種別、実物体Tと仮想物体Vの接触位置、接触点の移動距離又は移動速度に基づいて駆動信号を生成することができる。駆動信号生成部146は例えば、仮想物体Vが実物体Tと仮想的に衝突すると、触感提示機構111に振動を発生させることにより、ユーザが現実の物体を把持しているかのような触感をユーザに知覚させることが可能となる。また、駆動信号生成部146は、実物体T及び仮想物体Vの接触点が移動すると、振動を発生させ、実物体同士が擦れ合っているかのような触感をユーザに知覚させることができる。
【0130】
この他にも実物体Tは例えば野菜やフルーツ、木材等の切断対象物であってもよく、ユーザが仮想的な剣や包丁、ノコギリ等である仮想物体Vを動かして切断対象物を切る動作をすると、実際には切断対象物は切れないが、駆動信号生成部146は切断対象物が切れたかのような振動を生成することができる。この際、切断対象物の種類に応じて異なる振動となるように駆動信号を生成してもよい。
【0131】
触感提示システム100は、以上説明した各動作例の全部を実行可能なものであってもよく、一部のみを実行可能なものであってもよい。
【0132】
[触感提示システムの他の構成]
上記説明において触感提示システム100は、ARグラス102を備えるものとしたが、触感提示システム100は必ずしもARグラス102を備えるものでなくてもよい。
図25は、触感提示システム100の他の構成を有するブロック図である。
【0133】
同図に示すように、触感提示システム100はARグラス102に替えて情報処理装置103を備えるものであってもよい。情報処理装置103は上述した制御部140を備え、コントローラ101の制御が可能である。情報処理装置103は、ARグラスによって仮想物体を表示する機能を有しないが、それ以外はARグラス102と同様に動作することが可能である。
【0134】
また、情報処理装置103は、情報処理装置103に接続されたARグラスを制御することにより、仮想物体の表示を実現してもよい。同図に示すようにセンサ部120も外向きカメラ121のみを備えるものであってもよく、外向きカメラ121の他に実物体の検出が可能なセンサを備えるものであってもよい。
【0135】
[情報処理装置のハードウェア構成]
ARグラス102及び情報処理装置103が備える制御部140の機能的構成を実現することが可能なハードウェア構成について説明する。
図26はこのハードウェア構成を示す模式図である。
【0136】
同図に示すように、制御部140は、CPU(Central Processing Unit)1001及びGPU(Graphics Processing Unit)1002を内蔵している。CPU1001及びGPU1002にはバス1005を介して、入出力インターフェース1006が接続されている。バス1005には、ROM(Read Only Memory)1003およびRAM(Random Access Memory)1004が接続されている。
【0137】
入出力インターフェース1006には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1007、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1008、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1009、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1010が接続されている。また、磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリなどのリムーバブル記憶媒体1012に対してデータを読み書きするドライブ1011が接続されている。
【0138】
CPU1001は、ROM1003に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブル記憶媒体1012ら読み出されて記憶部1009にインストールされ、記憶部1009からRAM1004にロードされたプログラムに従って各種の処理を実行する。RAM1004にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。GPU1002はCPU1001による制御を受けて、画像描画に必要な計算処理を実行する。
【0139】
以上のように構成される制御部140では、CPU1001が、例えば、記憶部1009に記憶されているプログラムを、入出力インターフェース1006及びバス1005を介して、RAM1004にロードして実行することにより、上述した一連の処理が行われる。
【0140】
制御部140が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記憶媒体1012に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0141】
制御部140では、プログラムは、リムーバブル記憶媒体1012をドライブ1011に装着することにより、入出力インターフェース1006を介して、記憶部1009にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1010で受信し、記憶部1009にインストールすることができる。その他、プログラムは、ROM1003や記憶部1009に、あらかじめインストールしておくことができる。
【0142】
なお、制御部140が実行するプログラムは、本開示で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0143】
また、制御部140のハードウェア構成はすべてが一つの装置に搭載されていなくてもよく、複数の装置によって制御部140が構成されていてもよい。また制御部140のハードウェア構成の一部又はネットワークを介して接続されている複数の装置に搭載されていてもよい。
【0144】
なお、本技術は以下のような構成もとることができる。
(1)
実物体を検出する実物体検出部と、
身体の部位の位置及び姿勢を検出する身体部位検出部と、
上記実物体と上記部位の位置関係に基づいて上記部位に装着された触感提示機構に供給する駆動信号を生成する駆動信号生成部と
を具備する情報処理装置。
(2)
上記(1)に記載の情報処理装置であって、
上記実物体検出部は、上記実物体の種別を識別し、
上記駆動信号生成部は、さらに上記種別に応じて上記駆動信号を生成する
情報処理装置。
(3)
上記(1)又は(2)に記載の情報処理装置であって、
上記駆動信号生成部は、上記実物体と上記部位の位置関係に基づいて、上記実物体と上記部位の接触の有無を判定し、判定結果に応じて上記駆動信号を生成する
情報処理装置。
(4)
上記(3)に記載の情報処理装置であって、
上記駆動信号生成部は、上記部位が上記実物体に接触すると、上記触感提示機構が触感を発生させるように上記駆動信号を生成する
情報処理装置。
(5)
上記(4)に記載の情報処理装置であって、
上記駆動信号生成部は、上記部位の上記実物体に対する押圧力に応じて上記駆動信号を生成する
情報処理装置。
(6)
上記(3)に記載の情報処理装置であって、
上記駆動信号生成部は、上記部位が上記実物体に接触した状態で上記実物体に対して移動すると、上記触感提示機構が触感を発生させるように上記駆動信号を生成する
情報処理装置。
(7)
上記(6)に記載の情報処理装置であって、
上記駆動信号生成部は、上記部位の上記実物体に対する移動距離及び移動速度の少なくともいずれか一方に応じて上記駆動信号を生成する
情報処理装置。
(8)
上記(3)に記載の情報処理装置であって、
上記駆動信号生成部は、上記実物体と上記部位が接触を維持しながら移動すると、上記触感提示機構が触感を発生させるように上記駆動信号を生成する
情報処理装置。
(9)
上記(8)に記載の情報処理装置であって、
上記駆動信号生成部は、上記実物体の移動距離及び移動速度の少なくともいずれか一方に応じて上記駆動信号を生成する
情報処理装置。
(10)
上記(8)又は(9)に記載の情報処理装置であって、
上記駆動信号生成部は、上記実物体のうち上記部位が接触する位置に応じて上記駆動信号を生成する
情報処理装置。
(11)
上記(1)に記載の情報処理装置であって、
上記駆動信号生成部は、上記部位に対して相対位置が固定された第1の物体と、上記部位に対して相対位置が固定されていない第2の物体の接触を判定し、判定結果に応じて上記駆動信号を生成し、
上記第1の物体と上記第2の物体の少なくも一方は実物体である
情報処理装置。
(12)
上記(11)に記載の情報処理装置であって、
上記第1の物体及び上記第2の物体はそれぞれが実物体である
情報処理装置。
(13)
上記(11)に記載の情報処理装置であって、
実空間において仮想物体を生成する仮想物体生成部をさらに具備し、
上記第1の物体は実物体であり、上記第2の物体は仮想物体である
情報処理装置。
(14)
上記(11)に記載の情報処理装置であって、
実空間において仮想物体を生成する仮想物体生成部をさらに具備し、
上記第1の物体は仮想物体であり、上記第2の物体は実物体である
情報処理装置。
(15)
上記(11)から(14)のうちいずれか一つに記載の情報処理装置であって、
上記駆動信号生成部は、上記第1の物体と上記第2の物体の接触点の移動距離及び移動速度の少なくともいずれか一方に応じて駆動信号を生成する
情報処理装置。
(16)
上記(1)から(15)のうちいずれか一つに記載の情報処理装置であって、
上記部位は、手指であり、
上記身体部位検出部は、上記手指に装着されたセンサの出力に基づいて上記手指の位置及び姿勢を検出する
情報処理装置。
(17)
上記(1)から(16)のうちいずれか一つに記載の情報処理装置であって、
上記実物体に関連付けられた情報を取得する物体情報取得部をさらに具備し、
上記駆動信号生成部は、さらに上記情報に応じて上記駆動信号を生成する
情報処理装置。
(18)
上記(1)から(17)のうちいずれか一つに記載の情報処理装置であって、
上記触感提示機構は、振動を発生することが可能な振動発生機構であり、
上記駆動信号生成部は、上記振動発生機構の振動波形を上記駆動信号として生成する
情報処理装置。
(19)
身体の部位に装着される触感提示機構と、
実物体を検出する実物体検出部と、上記部位の位置及び姿勢を検出する身体部位検出部と、上記実物体と上記部位の位置関係に基づいて上記触感提示機構に供給する駆動信号を生成する駆動信号生成部とを備える情報処理装置と
を具備する触感提示システム。
(20)
実物体を検出する実物体検出部と、
身体の部位の位置及び姿勢を検出する身体部位検出部と、
上記実物体と上記部位の位置関係に基づいて上記部位に装着された触感提示機構に供給する駆動信号を生成する駆動信号生成部と
として情報処理装置を機能させるプログラム。
【符号の説明】
【0145】
100…触感提示システム
101…コントローラ
102…ARグラス
103…情報処理装置
110…コントローラ
111…触感提示機構
140…制御部
141…身体部位検出部
142…実物体検出部
143…アプリケーション実行部
144…仮想物体生成部
145…出力制御部
146…駆動信号生成部
147…物体情報取得部