JP6088208B2 - 触力覚提示装置 - Google Patents

触力覚提示装置 Download PDF

Info

Publication number
JP6088208B2
JP6088208B2 JP2012242613A JP2012242613A JP6088208B2 JP 6088208 B2 JP6088208 B2 JP 6088208B2 JP 2012242613 A JP2012242613 A JP 2012242613A JP 2012242613 A JP2012242613 A JP 2012242613A JP 6088208 B2 JP6088208 B2 JP 6088208B2
Authority
JP
Japan
Prior art keywords
pointer
force
sense presentation
haptic
finger
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
JP2012242613A
Other languages
English (en)
Other versions
JP2014092906A (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.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2012242613A priority Critical patent/JP6088208B2/ja
Publication of JP2014092906A publication Critical patent/JP2014092906A/ja
Application granted granted Critical
Publication of JP6088208B2 publication Critical patent/JP6088208B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Description

本発明は、触力覚提示装置に係り、特に、利用者が物体を触った際の反力を指や手の触力覚に提示する触力覚提示装置に関する。
一般に、テレビ放送やインターネット等の通信ネットワークでは、情報発信側から情報提示側(視聴者側)へ、例えば美術品の造形を映したり、模型やコンピュータグラフィックスを用いたりすることで、物体の情報の大部分を視覚的に伝えている。物体の3次元形状等の情報は、視覚的には伝わるが、音声や点字等の言語を用いた手段によって伝達することは難しい。そのため、例えば視覚障害者へ伝える物体の形状の情報を保障するために、音声による情報提示だけではなく、触力覚による情報提示も重要となってきている。また、物体表面の硬さ分布等の物体の性質を表す物理情報は、視覚的に伝えることができないため、視覚障害の有無に関わらず触力覚による伝達が求められている。
しかし、物体の形状や表面の硬さ分布を触力覚で伝達するといった放送サービスや通信サービスは登場していないのが現状である。これは、情報発信側において、物体の3次元形状や表面の硬さ分布等の情報の取得を容易に行うことができないことも一因である。従来、これらの情報を容易に取得するための研究がなされている(例えば特許文献1参照)。特許文献1には、物体に対して超音波やレーザ等を用いて非接触に形状と硬さ分布の情報を取得する手法とその手法を用いた情報提示の手法が記載されている。
これに対して、情報提示側(視聴者側)においては、物体を触った際の反力を指や手の触力覚に提示する手法(第1の手法)として、スタイラス(ペン型の入力装置)に、または、指サックを装着した指先の一点に、反力を提示する力覚フィードバックデバイスが実用化されている(例えば、非特許文献1参照)。これらの力覚フィードバックデバイスは、スタイラスまたは指先に装着した指サックを介して、指や手等に力の情報を提示するものである。指等に提示する力の情報を求める原理は、計算機上に構築した仮想空間内の仮想物体と、力覚提示装置のアーム等を介して入力されるユーザの指の位置を表すポインタと、の接触時の反力を、所定の物理法則に基づいて算出するというものである。そして、力覚フィードバックデバイスは、算出した反力に基づいて、モータのトルクやワイヤの張力を用いて、スタイラスや指サックを介して、指や手等に力の情報を提示する。非特許文献1に記載の力覚フィードバックデバイスは、3又は6自由度(Degrees of freedom)のアーム型のアクチュエータを用いている。なお、自由度は数式モデルにおいて、ある物体を動かすことができる方向の数を表す。
また、物体を触った際の反力を指や手の触力覚に提示する手法(第2の手法)として、前記第1の方法と組み合わせた方法も知られている(非特許文献2参照)。第2の手法は、指先の皮膚に対して複数の刺激を与えることで物体表面の材質感を伝達することを目的としている。第2の手法では、指先に(力覚提示装置の指サックに相当する箇所に)、上下に微小振動(最大振幅約30μm)するピンを複数(5行2列の計10本)並べることで皮膚感覚の提示を行う。各ピンは上下方向(一方向)に変位するものである。これは1自由度のアクチュエータを同時に10個駆動するものに相当する。
本願発明者らは、情報提示側(視聴者側)において3自由度のアクチュエータを2台使って2本の指にそれぞれ装着することで、多指で仮想物体を触察できる装置を提案している(例えば、特許文献1参照)。ここで、3自由度のアーム型のアクチュエータを用いて指サックを装着した指先の一点に、反力を提示する従来の触力覚提示装置について図8を参照して説明する。図8に示す触力覚提示装置100は、触力覚により仮想物体を提示するために、2台の感覚伝達装置101(101a,101b)と、触力覚制御装置120とを備えている。感覚伝達装置101は、ユーザの異なる指先に、移動を拘束できる程度の反力等の触力覚フィードバックを伝達する装置であり、感覚を伝達する指には、指サックが装着される。感覚伝達装置101は、ユーザの指等から取得した位置情報を触力覚制御装置120に出力する位置センサとしての機能を有すると共に、触力覚制御装置120からの制御情報に基づいて所定の動作を行い、ユーザに感覚を伝達するアクチュエータとしての機能を有している。
感覚伝達装置101(101a,101b)は、図8に示すように基台102(102a,102b)と、駆動部103(103a,103b)と、アーム104(104a,104b)と、指先伝達部105(105a,105b)とを備えている。基台102は、不図示のテーブル等の所定の場所に設置されている。駆動部(アクチュエータ)103は、例えば基台102に対して水平に0〜360度の回転駆動ができ、またアーム104のリンクを基台102に対して垂直に0〜360度の回転駆動ができる(3自由度)。駆動部103は、例えばモータやワイヤ機構、ロータリーエンコーダ等を用いることができる。
アーム104は、1以上(図8では2つ)のリンク(節)で構成され、その一方は駆動部103に接続されているため、基台102の面に対して水平、垂直に0〜360度回転することができる。つまり、駆動部103及びアーム104により、基台102を中心としてあらゆる方向への移動が可能となっている。アーム104は、指先伝達部105と接続され、ユーザの指に対し、その指の位置情報と、仮想物体の位置情報、仮想物体の全体の形状情報、表面の硬さ情報等に応じて適切な反力等の触力覚的負荷を与えるための動作を行う。
指先伝達部105は、指先の位置情報と仮想物体の位置関係とに応じてその指先に対していずれかの方向に移動できなかったり、所定量の反力を与えたりすることで所定の触力覚的負荷を与える。なお、図8に示す例では、指先伝達部105は指サックからなり、指サックを例えばユーザの親指と人差指に装着し、仮想物体を把持するときの触力覚情報(触力覚的負荷)を提示する。
触力覚制御装置120は、感覚伝達装置101(101a,101b)を制御するものであり、感覚伝達装置101から得られる指先等の位置情報を検出し、仮想物体の位置情報等を基に、感覚伝達装置101を制御することで各指先伝達部105を介して、ユーザに物体の形状、触察箇所の硬さ等を提示する。触力覚制御装置120は、ディスプレイ121を有し、その画面上に3次元物体提示データとして、例えば円柱状の仮想物体122を表示すると共に、感覚伝達装置101から得られる指の位置情報に基づいて動作する仮想ハンド123も画面に表示する。なお、仮想物体122はディスプレイ121に表示されるが、実空間の指先伝達部105a,105bの間には、円柱状の物体は存在していない。
特開2012−37420号公報
"反力デバイス PHANTOMシリーズ ラインナップ"、[online]、センサブル日本語サイト、[平成24年8月27日検索]、インターネット<URL: http://sensable.jp/haptic/haptic_overview.html> 西村加南子、外3名、「3次元空間における皮膚感覚提示の特性評価」、日本機会学会論文集(C編)、2011年3月、77巻775号、p.346
しかしながら、物体を触った際の反力を指や手の触力覚に提示するための前記第1の手法では、算出され提示される反力は、指の1点に働く力であり、この1点に対する力が指サックを介して一様に加えられるため、指と物体が接触した際の皮膚の変形を再現することができない。このため、第1の手法では、物体のエッジ部分等の面の不連続な箇所においては、指がエッジを完全に超えた時点でエッジであることを知ることとなり、指が面に追従できずに物体から逸脱するという問題がある。
また、前記第2の手法は、物体表面の材質感を伝達できればよいので各ピンの変位が上下振動の1自由度であり、その変位量(振幅)は、ごく僅かである。人は、指と物体が接触した際に、物体の形にあわせて皮膚が変形し、その変形を知覚できる。物体を触察した場合に指の末節などの皮膚の各点が物体から受けている力は、それぞれ独立した3次元のベクトルで表される。これに対して、第2の手法によるピンの変位は1次元であり、その変位量は、ユーザがそのような皮膚の変形を知覚できる閾に達するものではない。このため、第2の手法では、ユーザにとっては、指先は常に平面と接しており、指の皮膚での物体形状の知覚や、物体の輪郭に沿った触察を実現することはできない。
つまり、従来技術では、指と物体との接触に伴う皮膚の変形を再現することができず、このため、物体の輪郭に沿った触察をすることができない。なお、物体の輪郭に沿った触察は、物体の3次元形状を知る上で重要となるものである。
また、特許文献1に記載された、情報提示側(視聴者側)において3自由度のアクチュエータを2台使って2本の指にそれぞれ装着して触力覚を提示する装置は、情報提示側において第1の手法を利用しており、改良の余地があった。
本発明は、以上のような問題点に鑑みてなされたものであり、物体との接触に伴う皮膚の変形を再現できる触力覚提示装置を提供することを課題とする。
前記課題を解決するために、本発明のうち請求項1に記載の触力覚提示装置は、予め形状が定義された仮想物体を押したときの反力による力覚を提示するために3自由度のアクチュエータで駆動されるアーム先端に接触している利用者の皮膚の位置を検出して検出位置に応じた力覚情報を提示する力覚提示装置を少なくとも3台備える触力覚提示装置であって、前記少なくとも3台の力覚提示装置は、前記アーム先端に力覚提示部を有し、前記触力覚提示装置は、3次元位置データ入力部と、反力ベクトル算出部と、力ベクトルデータ出力部と、座標系変換部と、指サックと、を備えることを特徴とする。
かかる構成によれば、触力覚提示装置は、3次元位置データ入力部によって、前記力覚提示装置の前記力覚提示部の実空間位置のデータを入力する。そして、触力覚提示装置は、反力ベクトル算出部によって、前記力覚提示部の実空間位置に対応させて仮想空間内に定義して生成するポインタと前記仮想物体とが干渉するか否かを判定し、干渉する場合、前記ポインタが前記仮想物体から受ける反力の3次元ベクトルを算出する。そして、触力覚提示装置は、力ベクトルデータ出力部によって、前記算出された反力の3次元ベクトルを示す信号を、前記力覚提示装置のアクチュエータに出力する。そして、触力覚提示装置は、座標系変換部によって、前記各力覚提示装置の個別座標系にて記述される空間位置に対して、平行移動と回転移動とを組み合わせた演算処理を施すことで、前記少なくとも3台の力覚提示装置の共通座標系にて記述される空間位置に変換する。さらに、触力覚提示装置において、前記反力ベクトル算出部は、前記各個別座標系から前記共通座標系に変換された前記力覚提示部のそれぞれの実空間位置に応じて、前記仮想空間内において少なくとも3つのポインタの仮想空間位置を算出し、前記各ポインタと前記仮想物体とが干渉するか否かを個別に判定し、干渉するポインタが前記仮想物体から受ける反力の3次元ベクトルを個別に算出する。そして、前記力ベクトルデータ出力部は、前記共通座標系から前記各個別座標系に変換された前記反力の3次元ベクトルを示す信号を、当該個別座標系の前記力覚提示装置のアクチュエータに出力する。そして、触力覚提示装置は、利用者が触力覚を感じようとする身体部位の皮膚上の1つの触力覚受容領域に、前記少なくとも3台の力覚提示装置の前記力覚提示部を配置して、前記少なくとも3つのアクチュエータをそれぞれ同時に駆動させる。したがって、触力覚提示装置は、利用者の指先等の触力覚受容領域における予め定められた面積の皮膚の多点が受ける独立した3次元の力ベクトルを、少なくとも3つの力覚提示部を用いて忠実に再現することができる。これにより、触力覚提示装置は、利用者が物体に触った際の当該部位の皮膚の変形と、皮膚が受ける力の分布を再現することができる。また、3自由度の少なくとも3台のアクチュエータによって仮想物体の表面形状としての平面やエッジを表現できるため、利用者は仮想物体の表面形状を認識し易くなる。
また、請求項に記載の触力覚提示装置は、装のガイド部に案内された指が差し込まれる袋状の本体部において指の一部が接触する所定領域に前記力覚提示装置の台数と同数の孔が設けられた指サックを備え、前記少なくとも3台の力覚提示装置の前記力覚提示部が、前記指サックの本体部の孔を介して前記本体部の内側にそれぞれ設けられていることとした。
かかる構成によれば、触力覚提示装置は、少なくとも3台の力覚提示装置の力覚提示部を、1つの触力覚受容領域に配置するときに、各力覚提示部を1つの指サックの袋状の本体部の孔を介してその内側に設けている。このため、柔軟に変形できる指サックの各孔において力覚提示部を緩やかに拘束できるので、アクチュエータの3自由度を阻害することなく各力覚提示部が独立に動き易くなる。
また、請求項に記載の触力覚提示装置は、請求項に記載の触力覚提示装置において、親指用と、人差指または中指用との2組の前記指サックを備え、前記各指サックに対応して、前記少なくとも3台の力覚提示装置の前記力覚提示部を、2組備えることとした。
かかる構成によれば、触力覚提示装置は、2組の指サックを備えるので、利用者は、親指と、人差指または中指とによって、仮想物体を掴むときに、仮想物体のエッジ等の表面形状を認識し易くなる。
また、請求項に記載の触力覚提示装置は、請求項1または請求項に記載の触力覚提示装置において、記憶部に、前記仮想物体の形状から定義される表面物理パラメータの基準値を記憶すると共に、前記仮想物体の表面物理パラメータの予め決定された相対的な表面分布に基づいて、前記仮想物体に干渉する前記ポインタの表面物理パラメータを、前記仮想空間内の所定の3次元区分ごとに設定したポインタパラメータテーブルを記憶し、前記反力ベクトル算出部が、前記各ポインタの前記仮想空間位置が前記仮想空間内の空間領域のいずれに含まれているかを追跡し、前記追跡中のポインタが含まれている空間領域に対して前記ポインタパラメータテーブルにて設定されている表面物理パラメータを、当該ポインタに対して設定した上で、当該ポインタと前記仮想物体とが干渉するか否かを判定することとした。
かかる構成によれば、触力覚提示装置は、ポインタが仮想物体と接触する前に、予めポインタの側の表面物理パラメータを設定しておくことができるので、仮想物体の側の表面物理パラメータを制御する方法と比較して、計算時間を短縮し、高速な演算処理が可能である。
また、請求項に記載の触力覚提示装置は、請求項に記載の触力覚提示装置において、前記表面物理パラメータが前記仮想物体の表面の硬さのパラメータであることとした。
かかる構成によれば、触力覚提示装置は、利用者の触力覚受容領域に、少なくとも3つの力覚提示部を配置したので、1つの仮想物体にて提示する硬い箇所と軟らかい箇所との境目の情報が利用者にとって分かり易くなる。従来技術では、物体の表面の硬さの分布等を知るためには、例えば指を動かして移動させ、移動させる前後の感触を比較しなければならず、表面の硬さの分布等を一度に把握することができないが、本発明によればこのような不都合を解決することができる。
請求項1に記載の発明によれば、触力覚提示装置は、利用者が物体に触った際の当該部位の皮膚の変形と、皮膚が受ける力の分布を再現することができる。そのため、物体のエッジなどの面の不連続な箇所を触知することが容易となり、物体の輪郭に沿った触察が可能となる。
また、請求項に記載の発明によれば、触力覚提示装置は、全体の演算処理をスムーズに行うことができる。
請求項に記載の発明によれば、触力覚提示装置は、少なくとも3台の力覚提示装置の力覚提示部を、利用者の触力覚受容領域に配置し易くなる。
請求項に記載の発明によれば、触力覚提示装置は、計算時間を短縮し、処理をスムーズに行うことができる。
請求項に記載の発明によれば、触力覚提示装置は、表面の硬さが一様ではない仮想物体の情報を触察により分かり易く伝達することができる。
本発明の第1実施形態に係る触力覚提示装置の構成例を模式的に示すブロック図である。 図1の触力覚提示装置で提示する仮想物体の模式図であって、(a)は仮想物体が存在する仮想空間、(b)は対応する実空間を示している。 図1に示すポインタパラメータテーブルの具体例を示す図であって、(a)は3次元表形式のデータ、(b)は数式表現を示している。 図1の反力ベクトル算出部が、ポインタの位置に応じてポインタの表面物理パラメータを変更する制御を示す模式図であって、(a)はポインタパラメータテーブルの一例、(b)はポインタの空間位置とその表面の硬さのパラメータとの対応例を示している。 図1の反力ベクトル算出部における処理の流れを示すフローチャートである。 本発明の第2実施形態に係る触力覚提示装置の一部を拡大して模式的に示す構成図であって、(a)は側面から見た指サック、(b)は正面から見た指サック、(c)は指サックを構成する本体部を示している。 図6に示す指サックの説明図であって、(a)はポインタに接触している指の概念図、(b)は仮想物体に接触している指の概念図を示している。 従来の触力覚提示装置の構成例を模式的に示すブロック図である。
以下、本発明の触力覚提示装置を実施するための形態について、図面を参照して詳細に説明する。
(第1の実施形態)
[触力覚提示装置の概要]
本発明の第1実施形態に係る触力覚提示装置について図1および図2を参照して説明する。触力覚提示装置1は、3自由度のアクチュエータを用いた力覚提示装置10を少なくとも3台備えている。本実施形態では、一例として、触力覚提示装置1が3台の力覚提示装置10を備えているものとして説明する。ここで、3自由度のアクチュエータを3台としたのは、2台では平面の点と点とを繋ぐ線にしかならないが、3台あればその3点で面を形成できることから仮想物体の表面形状としての平面やエッジを表現でき、利用者は仮想物体の表面形状を認識し易くなるからである。ちなみに1自由度のアクチュエータでは、3台以上あったとしても、利用者にとっては、指先は常に平面と接していることから、指の皮膚での物体形状の知覚や、物体の輪郭に沿った触察を実現することはできない。なお、図1では、力覚提示装置10a,10b,10cと表記して区別し、また、その構成要素の符号に記号a,b,cを付加したが、特に区別しない場合、記号a,b,cを省略して説明する。
力覚提示装置10は、予め形状および表面の物理特性が定義されている仮想物体(以下、オブジェクトと呼称する)を押したときの反力による力覚を提示するものである。オブジェクトの形状は特に限定されないが、図2(a)には例えば円柱状のオブジェクトOBを例示した。
オブジェクトの表面の物理特性とは、例えば硬さ、静止摩擦、動摩擦、表面粗さ等を含んでいる。以下では、オブジェクトの表面の物理特性は、一例として、オブジェクトの表面の硬さであるものとして説明する。本実施形態では、オブジェクトの表面の硬さ分布が一様ではない場合も想定している。表面の硬さ分布が一様である場合の硬さをベース(基準値)として、表面の硬さ分布が一様ではない場合、その相対値で硬さを表している。
図1に示す力覚提示装置10は、アクチュエータ14で駆動されるアーム12の先端に接触している利用者の皮膚の位置を位置センサ13で検出して検出位置に応じた力覚刺激を皮膚に与えることで、検出位置の力覚情報を提示する。アームの12の先端には、利用者が触るための力覚提示部11が設けられている。
触力覚提示装置1は、利用者が触力覚を感じようとする身体部位の皮膚上の1つの触力覚受容領域に、3台の力覚提示装置10の力覚提示部11a,11b,11cを配置して、3つのアクチュエータ14a,14b,14cをそれぞれ同時に駆動させる。触力覚受容領域の部位や領域の面積は任意である。1つの触力覚受容領域を例えば数mmの範囲としてもよい。本実施形態では、図2(b)に仮想線で示すように、利用者の触力覚受容領域を、一例として、指90の先端の所定領域であるものとして説明する。なお、図2(b)において、指90の先端の所定領域とは、手の人差指の第1関節の腹側の直径数〜十数mm程度の領域を示している。
[触力覚提示装置の各部の構成]
図1に示す触力覚提示装置1は、3台の力覚提示装置10と、それらを制御する制御装置とを備えている。制御装置は、例えばCPU(Central Processing Unit)等の演算装置と、メモリ、ハードディスク等の記憶手段と、外部との各種情報の送受信を行う入出力インタフェースとを備えている。この制御装置は、インストールされたプログラムと前記ハードウェア装置とが協働し、図1に示すように、3次元位置データ入力部20と、力ベクトルデータ出力部25と、座標系変換部30と、反力ベクトル算出部40と、記憶部50とを備えている。
<力覚提示装置10>
力覚提示装置10は、アクチュエータによりユーザの指などにおける任意の面積の皮膚に力覚刺激を与える機能と、実空間における当該皮膚の3次元位置を取得するセンサとしての機能を有していれば、従来公知のものや市販されているものを利用することができる。例えば、背景技術にて説明した前記第1の手法を前提とする装置を利用してもよいし、図8に示す感覚伝達装置101等を用いてもよい。また、3台の力覚提示装置10として、異なるタイプの力覚提示装置や異なるタイプのアクチュエータを併用してもよい。
力覚提示装置10は、図1に示すように、力覚提示部11と、アーム12と、位置センサ13と、アクチュエータ14とを備えている。
≪力覚提示部11≫
力覚提示部11には、利用者の皮膚が直接接触してアーム12の先端であることが分かるような構造を採用することができる。触力覚提示装置1に用いる力覚提示装置10の台数に応じて、力覚提示部11の形状、大きさ、硬度、材質を適宜選択することができる。本実施形態のように力覚提示装置10が3台の場合、図2(b)に示すように、一例として数mmの大きさの鉄球を用いることができる。なお、反力ベクトル算出部40は、図2(b)に示す3つの力覚提示部11の実空間位置に対応させて、図2(a)に示す仮想空間内に3つのポインタPを定義して生成する。図2(a)に示す仮想空間内のオブジェクト(仮想物体)OBを、図2(b)に示す実空間内に破線で表している。
≪アーム12≫
アーム12は、1つ以上のリンクで構成される。例えばリンクが1つの場合、手首関節を動かすアームに対応し、2つの場合、肘関節も動かすアームに対応し、3つの場合、肩関節も動かすアームに対応する。図2(b)には、一例として1つのリンクで構成されたアームを備える力覚提示装置10を模式的に示した。なお、アーム12を、例えば図8に示す感覚伝達装置101のアーム104のように2つのリンクで構成してもよい。
≪位置センサ13≫
位置センサ13は、回転量や回転角度等の回転情報を計測するロータリエンコーダや、平行移動の移動情報を計測するリニアエンコーダ等で構成され、アーム12の関節等に配置されている。
≪アクチュエータ14≫
アクチュエータ14は、例えば、アーム12の関節の屈曲や伸縮の駆動力を発生するサーボモータ等で構成される。なお、アクチュエータ14が位置センサ13を備えるようにしてもよい。
<記憶部50>
記憶部50は、演算処理を行う前に予め格納された制御プログラムや各種情報、また、演算結果等を記憶するものであって、一般的なハードディスクや、ROM(Read Only Memory)やRAM(Random Access Memory)等のメモリから構成される。記憶部50には、図1に示すように、オブジェクトデータ51やポインタパラメータテーブル52等のための記憶領域が確保される。なお、記憶内容は同じ記憶手段に記憶されていてもよいし、それぞれ他の記憶手段に分散記憶されていてもよい。
≪オブジェクトデータ51≫
オブジェクトデータ51は、利用者に対して提示するオブジェクトの3次元形状(オブジェクト形状データ)や、その形状から定義されるベース(基準値)となる硬さの情報を表す。つまり、オブジェクトデータ51は、オブジェクト形状データと、オブジェクトの表面の硬さのパラメータ(表面物理パラメータ)の基準値(硬さの基準値)とを含んでいる。
オブジェクトデータ51としては、3次元デジタイザや各種の計測器などで取得した実物体の形状の情報を利用してもよいし、CG(コンピュータグラフィックス)によって形状の情報を生成してもよい。また、オブジェクト形状データとは独立なオブジェクトの表面物理データ53(図1参照)も、同様に実物体の測定された硬さ等の情報を利用したりCGで生成した形状に合わせた硬さ等の情報を生成したりすることができる。硬さ分布等を示す表面物理データ53は、記憶部50に記憶されたポインタパラメータテーブル52を作成するために事前に用いられるものであって、本実施形態では、記憶部50には記憶していない。なお、記憶部50に表面物理データ53も記憶するようにしてもよい。
≪ポインタパラメータテーブル52≫
ポインタパラメータテーブル52は、計算機上に構築した仮想空間において定義されたポインタ(図2(a)参照)の空間位置に対応した、ポインタの硬さのパラメータを、設定した情報である。
通常、ポインタの硬さのパラメータは、オブジェクトの硬さのパラメータと同様に一定であるものとして取り扱われている。一方、本実施形態では、オブジェクトの表面の硬さ分布が一様ではない場合も想定している。そこで、硬さ等の表面物理データを規定する各パラメータが、ポインタとオブジェクトとの相対的なパラメータであることに着目し、空間位置に応じてポインタ側のパラメータを適宜変更することで、オブジェクト形状データ(オブジェクトデータ51)とは独立なオブジェクトの表面物理データ53(図1参照)の再現を実現するために、ポインタパラメータテーブル52を用いることとした。このポインタパラメータテーブル52は、オブジェクトの表面の硬さ分布が一様ではない場合にも対応するために用いられる。なお、具体例については後記する。
ポインタパラメータテーブル52におけるポインタの空間位置とは、仮想空間内の所定の3次元区分で表される領域を示す。すなわち、ポインタの空間位置は、ポインタの位置座標(仮想空間におけるワールド座標系で表される座標)のように一点で表されるものではなく、仮想空間において所定の大きさをもつ体積要素(以下、ボクセルという)で表される位置を意味する。ボクセルは、オブジェクトの形状とは独立しているため、ボクセル単位でデータを記述することは、各種の計測装置でオブジェクト表面の物理パラメータを計測したデータとのマッチングがとり易くなる。
図2(a)には、仮想空間におけるワールド座標系において、1辺を単位長さ2とした立方体で表される範囲の中に、合計8個のボクセル60が配置されている例を図示した。なお、ボクセル60は、オブジェクト形状データにマッチするように最低限となる区分としてもよい。つまり、図2(a)に示す円柱状のオブジェクトOBと同等の体積の領域を1つのボクセルとしてもよい。また、ボクセル60は、オブジェクトの形状の構成単位(ポリゴン等)よりも高精細な区分としてもよい。つまり、例えば1つのポリゴンでカバーする領域を2つのボクセルでカバーしてもよい。また、ボクセルを規定する座標系については、図2(a)に示すようにワールド座標系としてもよいが、オブジェクトのスケールの変化や並進および回転の移動に対応するために、オブジェクトのローカル座標系としてもよい。
図1に示すポインタパラメータテーブル52は、ポインタが、どのボクセル60の中に存在するかによって、異なる硬さのパラメータを決定するために用いられる情報であり、各ボクセルにポインタの硬さのパラメータの数値がそれぞれ設定される。これらパラメータの数値は、表面物理データ53(図1参照)により予め決定されている。
ここで、ポインタパラメータテーブル52の形式について図3を参照して説明する。
ポインタパラメータテーブル52の形式として、一例として、図3(a)に示すような3次元表形式のデータを採用することができる。ここでは、所定の立体形状のボクセルを、ワールド座標系の原点から3軸の正の方向に順番に並べたときに、原点から数えて何番目のボクセルであるかによって識別する数値(順番)を、各軸方向の最大値をX,Y,Z(いずれも自然数)として表したものである。なお、ボクセルを識別する数値は0にはならない。
図3(a−1)〜図3(a−3)は、ボクセルをZ軸方向に1,2,…,Z番目の順序で数え上げていることに対応している。
図3(a−1)に示すように、Z軸方向に1番目の位置において2次元配列されたボクセルの硬さのパラメータの数値は、XY平面内において原点から遠ざかるほど大きくなるように、つまり、仮想空間の原点から離れるほど硬くなってくるように設定されている。
ここで、仮想空間の原点から離れるほど硬くなってくるとは、実空間上では、実空間の原点から離れるほど力覚提示部11を指先で押したときに指先に対する反力が大きくなってくることを意味する。なお、オブジェクトの存在しない領域では指先に対する反力が0なので、そのような領域では力覚提示部11を指先で押すと自由に動く。
図3(a−2)に示すように、Z軸方向に2番目の位置において2次元配列されたボクセルの硬さのパラメータの数値は、XY平面内において原点から遠ざかるほど大きくなるように、つまり、仮想空間の原点から離れるほど硬くなってくるように設定されている。
図3(a−1)と図3(a−2)とを比べると、ボクセルの硬さのパラメータの数値は、原点からZ軸方向に遠ざかるほど大きくなるように、つまり、仮想空間の原点から離れるほど硬くなってくるように設定されていることが分かる。なお、図3(a−3)において、硬さのパラメータの具体的な数値を省略した。
なお、ボクセルの硬さのパラメータは、図3(a)に示す例に限られないことは勿論である。また、ポインタパラメータテーブル52の形式は、図3(a)に示す3次元表形式に限らず、例えば構造体(データ型を組み合わせて新しいデータ型として扱うデータ構造)やテキスト形式のデータの羅列であってもよい。
また、オブジェクトの表面の硬さ分布に規則性があるようなオブジェクトを提示対象とするような場合、ポインタパラメータテーブル52の形式の他の例として、図3(b)に示すような数式表現を採用することができる。
図3(b−1)には、所定の立体形状のボクセルを、ワールド座標系の原点から3軸方向に並べたときの軸ごとのボクセルの順序(原点からの距離)を示す変数の定義域X,Y,Zと、軸ごとのボクセルの順序(原点からの距離)に所定の重み付けをすることで定義された硬さのパラメータCPの関数(式(1))と、を示す。
X=1,2,…,5
Y=1,2,…,5
Z=1,2,…,5
P=0.1X+0.1Y+0.1Z
… 式(1)
式(1)の定義域X,Y,Zに示すように、この例では、125(=5×5×5)個のボクセルによって、仮想空間上のポインタの空間位置を特定することとしている。
また、図3(b−2)には、式(1)に対応して、ワールド座標系において、例えば立方体で表したボクセル(不図示)を、125(=5×5×5)個積み重ねたときに、ボクセル(不図示)において8つある頂点のうちの1つの頂点(左下の奥側の頂点)をすべて繋げたときの軌跡を立方体の各辺で示している。
式(1)によれば、例えば、X=1、Y=1、Z=1の場合、演算によりCP=0.3となることが分かる。このことは、ワールド座標系の原点からX軸方向に1番目、かつ、Y軸方向に1番目、かつZ軸方向に1番目として特定されるボクセルには、0.3の硬さが与えられることを意味する。図3(b−2)において、この特定されたボクセル(不図示)の1つの頂点(左下の奥側の頂点)は、立方体の左下の奥側の頂点(ワールド座標系の原点)に重なることになる。
また、式(1)によれば、X=1、Y=5、Z=1の場合、演算によりCP=0.7となることが分かる。このことは、ワールド座標系の原点からX軸方向に1番目、かつ、Y軸方向に5番目、かつZ軸方向に1番目として特定されるボクセルには、0.7の硬さが与えられることを意味する。図3(b−2)において、この特定されたボクセル(不図示)の1つの頂点(左下の奥側の頂点)は、立方体の左下の手前側の頂点に重なることになる。
さらに、式(1)によれば、X=5、Y=5、Z=1の場合、演算によりCP=1.1となることが分かる。このことは、ワールド座標系の原点からX軸方向に5番目、かつ、Y軸方向に5番目、かつZ軸方向に1番目として特定されるボクセルには、1.1の硬さが与えられることを意味する。図3(b−2)において、この特定されたボクセル(不図示)の1つの頂点(左下の奥側の頂点)は、立方体の右下の手前側の頂点に重なることになる。
同様に、式(1)によれば、X=5、Y=5、Z=5の場合、演算によりCP=1.5となることが分かる。このことは、ワールド座標系の原点からX軸方向に5番目、かつ、Y軸方向に5番目、かつZ軸方向に5番目として特定されるボクセルには、1.5の硬さが与えられることを意味する。図3(b−2)において、この特定されたボクセル(不図示)の1つの頂点(左下の奥側の頂点)は、立方体の右上の手前側の頂点に重なることになる。
要するに、図3(b−2)によれば、ボクセルの硬さのパラメータの数値は、ワールド座標系の原点を含むボクセル(不図示)において最小となり、原点からの距離が大きいほど硬くなるように設定されていることが分かる。
図1に戻って、触力覚提示装置1の各部の構成について説明を続ける。
<3次元位置データ入力部20>
3次元位置データ入力部20は、力覚提示装置10から取得する情報を制御装置に入力するための所定の入力インタフェースであり、力覚提示装置10の力覚提示部11の実空間位置のデータを入力する。3次元位置データ入力部20は、力覚提示装置10の実空間での3次元位置を単位時間(例えば1ミリ秒)ごとに取得して、座標系変換部30を介して反力ベクトル算出部40に提供する。なお、本実施形態では、図1に示すように、力覚提示装置10a,10b,10cに対応して、3次元位置データ入力部20a,20b,20cを備えることとした。
<座標系変換部30>
座標系変換部30は、各力覚提示装置10の個別座標系(ローカル座標系)にて記述される空間位置に対して、平行移動と回転移動とを組み合わせた演算処理を施すことで、全ての力覚提示装置10に共通である共通座標系(ワールド座標系)にて記述される空間位置に変換する演算処理を行うものである。この座標系変換部30は、CPU等の演算装置が、ROM(Read Only Memory)等に記憶された所定の座標系変換ソフトウェアをRAM(Random Access Memory)に展開して演算処理することにより実現される。なお、図2等では、直交座標系を左手系として示したが、本発明はこれに限らず右手系としてもよい。
本実施形態では、座標系変換部30は、各力覚提示装置10のローカル座標系にて記述された力覚提示部11の実空間位置を、ワールド座標系に変換すると共に、反力ベクトル算出部40で算出された反力の3次元ベクトルをワールド座標系から各力覚提示装置10のローカル座標系に逆変換する集中制御を行うこととした。図2(b)はワールド座標系(X,Y,Z)と各ローカル座標系(Lx,Ly,Lz)との関係を模式的に示す図である。
具体的には、座標系変換部30は、力覚提示部11a(図1参照)の実空間位置をワールド座標系に変換する。ここで変換された力覚提示部11aの実空間位置は、反力ベクトル算出部40の処理に用いられる。また、座標系変換部30は、反力ベクトル算出部40による処理の結果として算出された反力の3次元ベクトルをワールド座標系から力覚提示装置10a(図1参照)のローカル座標系に逆変換する。ここで逆変換された力覚提示部11aの実空間位置は、力ベクトルデータ出力部25aを介して力覚提示装置10aに出力される。そして、アクチュエータ14aが力覚提示部11a40を対応する位置に移動させる。
同様に、座標系変換部30は、力覚提示部11bの実空間位置をワールド座標系に変換すると共に、反力ベクトル算出部40で算出された反力の3次元ベクトルをワールド座標系から力覚提示装置10bのローカル座標系に逆変換する。
同様に、座標系変換部30は、力覚提示部11cの実空間位置をワールド座標系に変換すると共に、反力ベクトル算出部40で算出された反力の3次元ベクトルをワールド座標系から力覚提示装置10cのローカル座標系に逆変換する。
<力ベクトルデータ出力部25>
力ベクトルデータ出力部25は、制御装置からの制御信号を力覚提示装置10に出力するための所定の出力インタフェースであり、反力ベクトル算出部40で算出された反力の3次元ベクトルを示す信号を、力覚提示装置10のアクチュエータ14に出力する。
本実施形態では、図1に示すように、力覚提示装置10a,10b,10cに対応して、力ベクトルデータ出力部25a,25b,25cを備えている。
力ベクトルデータ出力部25aは、ワールド座標系から、力覚提示装置10aのローカル座標系に変換された、反力の3次元ベクトルを示す信号を、力覚提示装置10aのアクチュエータ14aに出力する。
力ベクトルデータ出力部25bは、ワールド座標系から力覚提示装置10bのローカル座標系に変換された反力の3次元ベクトルを示す信号を、力覚提示装置10bのアクチュエータ14bに出力する。
力ベクトルデータ出力部25cは、ワールド座標系から力覚提示装置10cのローカル座標系に変換された反力の3次元ベクトルを示す信号を、力覚提示装置10cのアクチュエータ14cに出力する。
<反力ベクトル算出部40>
反力ベクトル算出部40は、力覚提示部11の実空間位置に対応させて仮想空間内に定義して生成するポインタとオブジェクトとが干渉するか否かを判定し、干渉する場合、ポインタがオブジェクトから受ける反力の3次元ベクトルを算出するものである。この反力ベクトル算出部40は、CPU等の演算装置が、ROM等に記憶された所定の反力ベクトル算出ソフトウェアをRAMに展開して演算処理することにより実現される。
反力ベクトル算出部40は、図1に示すように、座標系変換部30を介して3次元位置データ入力部20より提供される力覚提示装置10の力覚提示部11の実空間位置を取得する。
反力ベクトル算出部40は、力覚提示部11の実空間位置を、計算機上に構築した仮想空間に対応付けるために、予め定められた変換式を用いる。なお、変換式の代わりに変換テーブルを用いてもよい。これにより、反力ベクトル算出部40は、例えば、図2(b)に示す力覚提示部11の実空間位置に対応させて、図2(a)に示す仮想空間内にポインタPを生成することができる。
反力ベクトル算出部40は、各ローカル座標系からワールド座標系に変換された力覚提示部11のそれぞれの実空間位置に応じて、図2(a)に示す仮想空間内において3つのポインタPの仮想空間位置を算出し、各ポインタPとオブジェクトOBとが干渉するか否かを個別に判定し、干渉するポインタPがオブジェクトOBから受ける反力の3次元ベクトルを個別に算出する。
本明細書において、「干渉している」または「干渉する」とは、オブジェクトOBにポインタPがめりこむこと、または接触することを意味する。計算機上に構築した仮想空間において、例えばオブジェクトOBの表面に対してポインタPが接近してきて重なった時点で干渉していると判定される。なお、実際には、処理による遅延があるので、オブジェクトOBにポインタPが接近して重なったとの判定結果が得られた時点では既にポインタPがオブジェクトOBにめりこんでいることになる。
反力ベクトル算出部40は、ポインタPとオブジェクトOBが干渉している場合、その干渉深度(めりこみの度合)に応じて、各ポインタPがオブジェクトOBから受ける反力の3次元ベクトルを算出する。反力の3次元ベクトルを算出する方法については、表面の硬さ分布が一様である場合と、表面の硬さ分布が一様ではない場合とに分けて説明する。
表面の硬さ分布が一様である場合、従来公知の方法で反力の3次元ベクトルを算出することができる。一般的にはオブジェクトOBとポインタPとの双方の物理パラメータ(例えば表面の硬さのパラメータ)から求めた相対的な物理パラメータ、または合成された物理パラメータを基に計算が行われる。ここでは、合成された物理パラメータを基に計算することとして、具体的には、オブジェクトの表面の硬さ分布が一様である場合、下記の式(2)に基づいて、反力の3次元ベクトル(反力ベクトル)Fを算出することができる。
F={COP/(CO+CP)}D … 式(2)
式(2)において、DはポインタPとオブジェクトOBとの干渉深度を示す3次元ベクトル、COはオブジェクトOBの硬さ(Compliance)パラメータを示すスカラー(定数)、CPはポインタPの硬さパラメータを示すスカラー(定数)をそれぞれ示している。
反力ベクトル算出部40は、オブジェクトOBの表面の硬さ分布が一様ではない場合の処理を行うために、計算機上に構築した仮想空間において、仮想空間位置(座標)を、予め定められた変換式を用いて、ポインタパラメータテーブル52におけるポインタの空間位置(ボクセル60の位置)に対応付ける機能を有する。なお、変換式の代わりに変換テーブルを用いてもよい。これにより、反力ベクトル算出部40は、例えば、図2(a)に示すポインタPの仮想空間位置(座標)がどのボクセル60に含まれるかを特定することができる。
そして、オブジェクトOBの表面の硬さ分布が一様ではない場合、反力ベクトル算出部40は、各ポインタPとオブジェクトOBとの干渉の有無を判定する処理を行う前に、特別な制御を行うこととした。そして、この特別な制御として、反力ベクトル算出部40は、各ポインタPの仮想空間位置(座標)が、いずれのボクセル60に含まれているかを追跡し、追跡中のポインタPが含まれているボクセルに対してポインタパラメータテーブル52にて設定されている硬さのパラメータを、当該ポインタPに対して設定することとした。そして、反力ベクトル算出部40は、この特別な制御をした上で、当該追跡中のポインタPとオブジェクトOBとが干渉するか否かを判定する。
反力ベクトル算出部40が、ポインタの位置に応じてポインタの硬さのパラメータを変更する制御の具体例について図4を参照して説明する。図4(a)は、3次元表形式で作成されたポインタパラメータテーブルの一例であって、ここでは、ポインタパラメータテーブルをT(X,Y,Z)と表記する。図4(b)に示すように、例えば立方体形状のボクセル(細線で区分される領域)を、ワールド座標系の原点Oから3軸方向に並べたときの軸ごとのボクセルの順序(原点からの距離)を示す変数X,Y,Zは、1または2であり、8(=2×2×2)個のボクセルを想定した。
図4(a)に示すポインタパラメータテーブルにおけるX=1は、図4(b)に示す仮想空間のワールド座標系におけるYZ平面(X=0の平面)とX=1の平面とで挟まれる区間に対応している。同様に、ポインタパラメータテーブルにおけるX=2は、図4(b)に示すX=1の平面とX=2の平面とで挟まれる区間に対応している。
図4(a)に示すポインタパラメータテーブルにおけるY=1は、図4(b)に示す仮想空間のワールド座標系におけるZX平面(Y=0の平面)とY=1の平面とで挟まれる区間に対応している。同様に、ポインタパラメータテーブルにおけるY=2は、図4(b)に示すY=1の平面とY=2の平面とで挟まれる区間に対応している。
図4(a)に示すポインタパラメータテーブルにおけるZ=1は、図4(b)に示す仮想空間のワールド座標系におけるXY平面(Z=0の平面)とZ=1の平面とで挟まれる区間に対応している。同様に、ポインタパラメータテーブルにおけるZ=2は、図4(b)に示すZ=1の平面とZ=2の平面とで挟まれる区間に対応している。
つまり、ポインタパラメータテーブルの(X,Y,Z)と、図4(b)に示す8個のボクセルの位置との対応関係は次の通りである。
(1,1,1) = 左奥下
(1,2,1) = 左手前下
(2,1,1) = 右奥下
(2,2,1) = 右手前下
(1,1,2) = 左奥上
(1,2,2) = 左手前上
(2,1,2) = 右奥上
(2,2,2) = 右手前上
図4(b)は、仮想空間中で追跡されたポインタを模式的に示している。この例では、初期状態にて、ポインタは、例えば、左手前下のボクセルで特定される空間領域に含まれていたが、最終状態では、右奥上のボクセルで特定される空間領域に移動した。
ポインタパラメータテーブルでは、図4(a)に示すように、(1,2,1)のボクセル、つまり、左手前下のボクセルにおいて、ポインタの硬さのパラメータとして0.7を予め設定してある。
また、(2,2,1)のボクセル、つまり、右手前下のボクセルにおいて、ポインタの硬さのパラメータとして0.8を予め設定してある。
さらに、(2,2,2)のボクセル、つまり、右手前上のボクセルにおいて、ポインタの硬さのパラメータとして1.0を予め設定してある。
同様に、(2,1,2)のボクセル、つまり、右奥上のボクセルにおいて、ポインタの硬さのパラメータとして0.8を予め設定してある。
したがって、反力ベクトル算出部40は、追跡中のポインタが左手前下のボクセルで特定される空間領域に含まれている間、そのポインタの硬さのパラメータが0.7であるものとした上で、そのポインタと図示しないオブジェクトとが干渉するか否かを判定する。干渉すると判定された場合、例えば前記式(2)においてCPの値を0.7として反力ベクトルFを算出する。
そして、追跡中のポインタが左手前下のボクセルから右手前下のボクセルに移動した場合、反力ベクトル算出部40は、追跡中のポインタが右手前下のボクセルで特定される空間領域に含まれている間、そのポインタの硬さのパラメータが0.8であるものとした上で、そのポインタと図示しないオブジェクトとが干渉するか否かを判定する。干渉すると判定された場合、例えば前記式(2)においてCPの値を0.8に変更して反力ベクトルFを算出する。
そして、追跡中のポインタが右手前下のボクセルから右手前上のボクセルに移動した場合、反力ベクトル算出部40は、同様に、ポインタの硬さのパラメータが1.0であるものとした上で、干渉判定を行う。
さらに、追跡中のポインタが右手前上のボクセルから右奥上のボクセルに移動した場合、反力ベクトル算出部40は、同様に、ポインタの硬さのパラメータが0.8であるものとした上で、干渉判定を行う。
このように、オブジェクトOBの表面の硬さ分布が一様ではない場合、反力ベクトル算出部40は、例えば前記式(2)においてCPを定数ではなく変数として扱う。干渉判定において、ポインタPの硬さのパラメータとオブジェクトOBの硬さのパラメータとは、物理的に等価な相対的なパラメータなので、反力ベクトル算出部40が、例えば前記式(2)においてポインタPの硬さのパラメータCPを変数として扱うことは、仮想空間の空間位置に応じてオブジェクトOBの硬さのパラメータを変更することと等価である。これにより、反力ベクトル算出部40は、オブジェクトOBの硬さパラメータCOがオブジェクトOBの部分ごとに異なるようなオブジェクトデータをあたかも用いたかのように、オブジェクト形状データとは独立なオブジェクトOBの表面物理データ53の再現を実現することができる。
なお、図4(b)に吹き出しで示した具体例においては、ポインタがボクセル間を縦,横,上に移動し、ポインタが移動する前に属したボクセルと移動後に含まれるボクセルとの間で、ポインタの硬さのパラメータの値が異なるものだけを示したが、これに限定されるものではない。例えば図4(a)に示す例では、ポインタがボクセル間を斜め移動すれば、ポインタの硬さのパラメータの値が0.7のときに、ポインタが移動する前に属したボクセルと移動後に含まれるボクセルとの間で、ポインタの硬さのパラメータの値が同じとなる。
なおまた、図4(a)に示した具体例においては、予め設定された8個のポインタの硬さのパラメータのうち、3個は、同じ値(0.8)である。このように同じ値を設定する場合、それを基準値として別に記憶し、基準値と異なる値だけをポインタパラメータテーブルに設定、つまり、硬さの異なる空間領域だけ設定するようにしてもよい。この場合、反力ベクトル算出部40が追跡するポインタの位置から特定されたボクセルが、ポインタパラメータテーブルにそもそも設定されていなければ、ポインタパラメータテーブルを参照したり、ポインタの硬さのパラメータの値を変更したりする処理が不要なので、処理を高速化することができる。
なおまた、反力ベクトル算出部40においてポインタの硬さのパラメータを変更するという制御は、オブジェクトOBの表面の硬さ分布が一様ではない場合の特別な制御であるものとして説明したが、逆に、オブジェクトOBの表面の硬さ分布が一様である場合の方を特別な制御であるものとして扱うこともできる。この場合、通常は、表面の硬さ分布が一様ではないオブジェクトを提示対象として演算処理し、表面の硬さ分布が一様であるオブジェクトを例外的に処理する。そして、この例外処理では、図4(b)に示した具体例において、反力ベクトル算出部40が追跡しているポインタが、例えば左手前下のボクセルから右手前下のボクセルに移動した場合、ポインタの硬さのパラメータを変更する必要がないので、追跡しているポインタの位置だけ更新すればよい。そして、ポインタと図示しないオブジェクトとが干渉するか否かを判定し、干渉すると判定された場合、例えば前記式(2)においてCPの値を定数として反力ベクトルFを算出する。
なおまた、触力覚提示装置1は、少なくとも3つのアクチュエータをそれぞれ同時に駆動させる。ここで、同時とは、反力ベクトル算出部40における各ポインタPの追跡、ポインタPとオブジェクトOBとの干渉の判定および反力の算出を、並列処理により真にパラレルに各ポインタPについて並列的に行う処理を意味することも当然に含むが、それだけに限定されるものではない。すなわち、各アクチュエータの同時駆動とは、反力ベクトル算出部40における各ポインタPの追跡、ポインタPとオブジェクトOBとの干渉の判定および反力の算出を、ポインタPごとに時系列的に順次高速に行う処理のことも含んで意味する。
[触力覚提示装置の動作]
触力覚提示装置1の動作として、主として反力ベクトル算出部40の処理の流れの一例について図5を参照(適宜図1参照)して説明する。図5は、反力ベクトル算出部40における各ポインタPの追跡、各ポインタPとオブジェクトOBとの干渉の判定および反力の算出を時系列的に順次行う場合のフローチャートを示す。
反力ベクトル算出部40は、ポインタの追跡処理を開始すると、触力覚提示装置1内の力覚提示装置10の台数を示す変数Nの値を初期化してN=1に設定する(ステップS1)。N番目の力覚提示装置10は、利用者が触れた力覚提示部11の位置を位置センサ13にて検出し、N番目の3次元位置データ入力部20を介して座標系変換部30に入力する。N番目の力覚提示装置10のローカル座標系にて記述された力覚提示部11の3次元位置は、座標系変換部30にてワールド座標系に変換される。
そして、反力ベクトル算出部40は、座標系変換部30を介して3次元位置データ入力部20より提供されるN番目の力覚提示装置10の力覚提示部11の3次元位置を取得する(ステップS2)。反力ベクトル算出部40は、この力覚提示部11の3次元位置(実空間位置)を、仮想空間内のポインタの位置座標に変換し、さらに、ポインタがどのボクセルに含まれるか対応付ける。
そして、反力ベクトル算出部40は、ポインタパラメータテーブル52を参照し(ステップS3)、追跡中のポインタが含まれているボクセルに対してポインタパラメータテーブル52にて設定されている硬さのパラメータを、当該ポインタに対して設定する(ステップS4)。このとき、必要に応じて、追跡中のポインタの硬さのパラメータを変更する。このステップS4にて設定された、ポインタの硬さのパラメータCPが干渉判定に用いられる。
そして、反力ベクトル算出部40は、オブジェクトデータ51を参照し(ステップS5)、オブジェクトの硬さのパラメータCOを取得する。そして、反力ベクトル算出部40は、ポインタとオブジェクトが干渉するか否かを判別する(ステップS6)。ポインタとオブジェクトが干渉する場合(ステップS6:Yes)、反力ベクトル算出部40は、反力ベクトルを算出する(ステップS7)。ここでは、ステップS4にて設定された、ポインタの硬さのパラメータCPと、ステップS5にて取得されたオブジェクトの硬さのパラメータCOとを用いて前記した式(2)によって、反力ベクトルFを算出する。
そして、反力ベクトル算出部40は、座標系変換部30およびN番目の力ベクトルデータ出力部25を介して、N番目の力覚提示装置10に力ベクトルデータを出力する(ステップS8)。このとき、座標系変換部30は、ワールド座標系にて記述された反力ベクトルFを、N番目の力覚提示装置10のローカル座標系に逆変換して、N番目の力ベクトルデータ出力部25を介して、N番目の力覚提示装置10に出力する。
そして、反力ベクトル算出部40は、終了指示があれば(ステップS9:Yes)、処理を終了する。一方、終了指示が無ければ(ステップS9:No)、(N+1)番目の力覚提示装置が存在するか否かを判別する(ステップS10)。(N+1)番目の力覚提示装置が存在すれば(ステップS10:Yes)、変数Nの値を1つ増加し(ステップS11)、ステップS2に戻る。これにより、触力覚提示装置1は、利用者の1つの触力覚受容領域に、3台の力覚提示装置10の力覚提示部11を配置して、3つのアクチュエータ14をそれぞれ同時に駆動させる。
一方、(N+1)番目の力覚提示装置が存在しなければ(ステップS10:No)、ステップS1に戻る。つまり、触力覚提示装置1は、時々刻々と、利用者の1つの触力覚受容領域に、3台の力覚提示装置10の力覚提示部11を配置して、3つのアクチュエータ14をそれぞれ同時に駆動させる制御を連続的に行う。
なお、前記ステップS6において、ポインタとオブジェクトが干渉しない場合(ステップS6:No)、反力ベクトル算出部40は、ステップS10に進む。
以上説明したように、本発明の実施形態に係る触力覚提示装置1は、利用者の指先等の予め定められた面積の皮膚の多点が受ける独立した3次元の力ベクトルを、3つの力覚提示部11を用いて忠実に再現することができる。これにより、触力覚提示装置1は、利用者の指が接触している3つの力覚提示部11から利用者の指に反力を伝達するので、利用者が物体に触った際の当該部位の皮膚の変形と、皮膚が受ける力の分布を再現することができる。また、触力覚提示装置1は、表面の硬さが一様ではないオブジェクトの3次元形状と表面の硬さ分布を、より実物体に触ったときに近い感覚で、指などの触力覚に提示することができる。さらに、触力覚提示装置1は、ポインタがオブジェクトと接触する前に、予めポインタの側の表面の硬さのパラメータを設定しておくことができるので、計算時間を短縮し、高速な演算処理が可能である。
(第2実施形態)
本発明の第2実施形態に係る触力覚提示装置について図6および図7を参照(適宜図1および図2参照)して説明する。なお、第2実施形態に係る触力覚提示装置において、図1に示す触力覚提示装置1と同様な構成には同様の符号を付し、該当の説明を適宜省略し、全体構成図を省略する。
第2実施形態に係る触力覚提示装置1は、その一部を図6に拡大して示すように、3台の力覚提示装置10a,10b,10cのアーム12a,12b,12cの先端に指サック70を設けた点が、図1に示す触力覚提示装置1と相違している。図6(a)は、利用者の指90に指サック70を装着した状態で、側面から見た指サック70を示す。図6(b)は、指を抜いたときに正面から見た指サック70を示している。図6(c)は指サック70の本体部72を示している。
指サック70は、主として外装のガイド部71と、その内側に設けられた袋状の本体部72と、を備えている。
ガイド部71は、利用者の指90を指し込むときに指を本体部72に案内するものである。ガイド部71は、指90が差し込まれた状態で利用者の操作に追随できるような強度を有していれば、その形状、大きさ、硬度、材質を適宜選択することができる。例えば、材質について挙げると、軽量で、強度の強いプラスチック、特に加工性等を考慮すると、ポリカーボネートやアクリルなどの樹脂材料にて形成されていることが好ましい。
図6に示す例では、ガイド部71は、指の先端が当接する円板状の先端部と、指の周囲に当接するように先端部から立設した側面部とを備える。側面部は、指の周囲の全周に一体的に設けられているのではなく、指の周方向に所定の隙間を介して同形状の3枚の板に分離されている。板の周方向の長さは、4枚あったとしたら、指の周囲の全周と同じかやや短い長さとなっている。実在する3枚の板の間隔のうち2箇所は同程度に短く、残りの1箇所は、それらより広く形成され、指の腹側(下側)に設けられている。ガイド部71の板と板との間に広い隙間を設けることにより、指90の先端の腹側の領域に、3台の力覚提示装置10a,10b,10cの力覚提示部11a,11b,11cをそれぞれ配置しやすくなっている。また、ガイド部71の板と板との間に狭い隙間を設けることにより、指90を挿入した利用者が窮屈に感じることなく快適に利用でき、個人差を吸収することができる。なお、図6に示したガイド部71の構造は一例であって、これに限定されるものではない。
本体部72は、指が差し込まれる袋であり、指を保護するための一般的な指サックと同様な材質、例えばシリコーン樹脂やシリコーンゴムで形成されている。ここで、指が差し込まれるとは、本体部72の大きな開口に指90の皮膚の一部の領域を装着することを意味しており、指全体を本体部72の袋にすっぽり入れなくてもよい。
本体部72は、図6(c)に示すように、指の一部が接触する所定領域に力覚提示装置10の台数と同数の孔73a,73b,73cが設けられている。なお、本体部72は非常に薄く透明なので実際には孔73b,73cの輪郭が見える。
図6に示す例では、本体部72の先端は、ガイド部71の先端部に固着されている。本体部72は、ガイド部71の先端部に固着された状態で、指の腹側(下側)に孔73a,73b,73cが設けられている。図6(b)に示すように、力覚提示装置10の力覚提示部11a,11b,11cが、本体部72の孔73a,73b,73cを介して本体部72の内側にそれぞれ設けられている。力覚提示部11が本体部72の内側から孔73を介して抜けないように、孔73の大きさは、力覚提示部11の直径よりも小さくなっている。孔73a,73b,73cの位置は所定の大きさの三角形の各頂点に対応している。本体部72には、孔73a,73b,73c以外に、これらよりも大きな開口(貫通孔)が穿設されている。この開口の大きさは、例えば直径数〜十数mm程度である。この開口を通じて、図6(a)に示すように手の人差指の第1関節の腹側の直径数〜十数mm程度の領域を、力覚提示部11a,11b,11cに直接的に接触させることができる。
本体部72の開口を介して力覚提示部11に接触した指を、本体部72の孔73の外側(指の腹側)から透視した模式図を図7(a)に示す。なお、図7(a)および図7(b)では、実空間と、対応する仮想空間とを重ねて表示している。図7(a)では、実空間にて指90の第一関節91の腹側の所定面積の領域にて接触する力覚提示部11a,11b,11cが、仮想空間上のポインタPa,Pb,Pcに対応していることを示す。図7(b)では、実空間には、提示しようとする物体が存在せずに、かつ不図示の指サック70を備えた触力覚提示装置1と指90が存在するときに、この不図示の指サック70を備えた触力覚提示装置1によって、仮想空間上に存在するオブジェクトOBのエッジEがあることを利用者が感じることができることを模式的に示す。
第2実施形態に係る触力覚提示装置1は、3台の力覚提示装置10の力覚提示部11を利用者の1つの触力覚受容領域に配置するときに、柔軟に変形できる指サック70の袋状の本体部72の孔を介して各力覚提示部11を指サック70の内側に設けたので、各力覚提示部11を緩やかに拘束できる。したがって、アクチュエータの3自由度を阻害することなく各力覚提示部11が独立に動き易くなる効果を奏する。
以上、各実施形態に基づいて本発明を説明したが、本発明はこれらに限定されるものではない。例えば、オブジェクトの表面物理データ53として硬さ分布を例に挙げて説明したが、本発明はこれに限らず、例えば、摩擦、粗さなどのその他の物理パラメータも同様に扱うことができる。また、3台の力覚提示装置10を用いることとして説明したが、本発明はこれに限らず、より複雑なオブジェクトの形状や高精細な硬さ分布を提示するために、より多くの力覚提示装置10を用いてもよい。また、利用者の触力覚受容領域を、手の人差指としたが、これに限らず、他の指や、掌、足の指等、利用者が触力覚を感じようとする部位であればどこでも構わない。
また、第2実施形態に係る触力覚提示装置1は、1つの指サックを備えるものとしたが、図8に示す触力覚提示装置100のように、2組の指サックを用意して例えば利用者の親指と、人差指または中指とに装着することとしてもよい。この場合、各指サックに対応して、少なくとも3台の力覚提示装置10の力覚提示部11を、2組備えることとする。これによれば、利用者は、親指と、人差指または中指とによって、仮想物体を掴むときに、仮想物体のエッジ等の表面形状を認識し易くなる。
また、触力覚提示装置1には、1つの座標系変換部30を設けて変換および逆変換を行うこととしたが、これに限らず、代わりに、例えば、各3次元位置データ入力部20に座標系の変換機能を持たせ、かつ、各力ベクトルデータ出力部25に座標系の逆変換機能を持たせるようにしてもよい。
1 触力覚提示装置
10 力覚提示装置
11 力覚提示部
12 アーム
13 位置センサ
14 アクチュエータ
20 3次元位置データ入力部
25 力ベクトルデータ出力部
30 座標系変換部
40 反力ベクトル算出部
50 記憶部
51 オブジェクトデータ
52 ポインタパラメータテーブル
53 表面物理データ
60 ボクセル
70 指サック
71 ガイド部
72 本体部
73 孔
90 指

Claims (4)

  1. 予め形状および表面の物理特性が定義された仮想物体を押したときの反力による力覚を提示するために3自由度のアクチュエータで駆動されるアーム先端に接触している利用者の皮膚の位置を検出して検出位置に応じた力覚情報を提示する力覚提示装置を少なくとも3台備える触力覚提示装置であって、
    前記少なくとも3台の力覚提示装置は、前記アーム先端に力覚提示部を有し、
    前記触力覚提示装置は、
    前記力覚提示装置の前記力覚提示部の実空間位置のデータを入力する3次元位置データ入力部と、
    前記力覚提示部の実空間位置に対応させて仮想空間内に定義して生成するポインタと前記仮想物体とが干渉するか否かを判定し、干渉する場合、前記ポインタが前記仮想物体から受ける反力の3次元ベクトルを算出する反力ベクトル算出部と、
    前記算出された反力の3次元ベクトルを示す信号を、前記力覚提示装置のアクチュエータに出力する力ベクトルデータ出力部と、
    前記各力覚提示装置の個別座標系にて記述される空間位置に対して、平行移動と回転移動とを組み合わせた演算処理を施すことで、前記少なくとも3台の力覚提示装置の共通座標系にて記述される空間位置に変換する座標系変換部と、を備え、
    前記反力ベクトル算出部は、前記各個別座標系から前記共通座標系に変換された前記力覚提示部のそれぞれの実空間位置に応じて、前記仮想空間内において少なくとも3つのポインタの仮想空間位置を算出し、前記各ポインタと前記仮想物体とが干渉するか否かを個別に判定し、干渉するポインタが前記仮想物体から受ける反力の3次元ベクトルを個別に算出し、
    前記力ベクトルデータ出力部は、前記共通座標系から前記各個別座標系に変換された前記反力の3次元ベクトルを示す信号を、当該個別座標系の前記力覚提示装置のアクチュエータに出力し、
    利用者が触力覚を感じようとする身体部位の皮膚上の1つの触力覚受容領域に、前記少なくとも3台の力覚提示装置の前記力覚提示部を配置して、前記少なくとも3つのアクチュエータをそれぞれ同時に駆動させ
    外装のガイド部に案内された指が差し込まれる袋状の本体部において指の一部が接触する所定領域に前記力覚提示装置の台数と同数の孔が設けられた指サックを備え、
    前記少なくとも3台の力覚提示装置の前記力覚提示部が、前記指サックの本体部の孔を介して前記本体部の内側にそれぞれ設けられていることを特徴とする触力覚提示装置。
  2. 親指用と、人差指または中指用との2組の前記指サックを備え、
    前記各指サックに対応して、前記少なくとも3台の力覚提示装置の前記力覚提示部を、2組備えることを特徴とする請求項に記載の触力覚提示装置。
  3. 記憶部に、
    前記仮想物体の形状から定義される表面物理パラメータの基準値を記憶すると共に、
    前記仮想物体の表面物理パラメータの予め決定された相対的な表面分布に基づいて、前記仮想物体に干渉する前記ポインタの表面物理パラメータを、前記仮想空間内の所定の3次元区分ごとに設定したポインタパラメータテーブルを記憶し、
    前記反力ベクトル算出部は、前記各ポインタの前記仮想空間位置が前記仮想空間内の空間領域のいずれに含まれているかを追跡し、前記追跡中のポインタが含まれている空間領域に対して前記ポインタパラメータテーブルにて設定されている表面物理パラメータを、当該ポインタに対して設定した上で、当該ポインタと前記仮想物体とが干渉するか否かを判定することを特徴とする請求項1または請求項に記載の触力覚提示装置。
  4. 前記表面物理パラメータは、前記仮想物体の表面の硬さのパラメータであることを特徴とする請求項に記載の触力覚提示装置。
JP2012242613A 2012-11-02 2012-11-02 触力覚提示装置 Active JP6088208B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012242613A JP6088208B2 (ja) 2012-11-02 2012-11-02 触力覚提示装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012242613A JP6088208B2 (ja) 2012-11-02 2012-11-02 触力覚提示装置

Publications (2)

Publication Number Publication Date
JP2014092906A JP2014092906A (ja) 2014-05-19
JP6088208B2 true JP6088208B2 (ja) 2017-03-01

Family

ID=50936943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012242613A Active JP6088208B2 (ja) 2012-11-02 2012-11-02 触力覚提示装置

Country Status (1)

Country Link
JP (1) JP6088208B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6600269B2 (ja) * 2016-03-22 2019-10-30 日本放送協会 三次元形状提示システム及び触力覚提示装置
JP2019096207A (ja) * 2017-11-27 2019-06-20 exiii株式会社 フィードバック生成方法、フィードバック生成装置及びフィードバック生成プログラム
WO2022065120A1 (ja) * 2020-09-28 2022-03-31 ソニーグループ株式会社 情報処理装置、情報処理方法、及び、プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3722994B2 (ja) * 1998-07-24 2005-11-30 大日本印刷株式会社 物体の接触感シミュレーション装置
JP4155637B2 (ja) * 1998-10-01 2008-09-24 三菱プレシジョン株式会社 3次元空間座標入力装置
JP4982877B2 (ja) * 2006-03-23 2012-07-25 国立大学法人名古屋大学 触覚ディスプレイ装置、多自由度アクチュエータ、及び、ハンドリング装置
JP5342354B2 (ja) * 2009-07-17 2013-11-13 日本放送協会 力覚提示装置及び力覚提示プログラム

Also Published As

Publication number Publication date
JP2014092906A (ja) 2014-05-19

Similar Documents

Publication Publication Date Title
Hannaford et al. Haptics
Biggs et al. Haptic interfaces
Massie Initial haptic explorations with the phantom: Virtual touch through point interaction
US8648797B2 (en) Information input/output device, information input/output method and computer program
KR101318244B1 (ko) 3차원 사용자 인터페이스 구현 시스템 및 구현 방법
JP2016186696A (ja) ハプティック・スタイラス
Magnenat-Thalmann et al. From Physics-based Simulation to the Touching of Textiles: The HAPTEX Project.
O’malley et al. Haptic interfaces
Muramatsu et al. Perception of tactile sensation using vibrotactile glove interface
Cui et al. Mid-air interaction with optical tracking for 3D modeling
JP6088208B2 (ja) 触力覚提示装置
Li et al. Gaze augmented hand-based kinesthetic interaction: What you see is what you feel
Falcao et al. Applications of haptic devices & virtual reality in consumer products usability evaluation
Evreinova et al. From kinesthetic sense to new interaction concepts: Feasibility and constraints
Yadav et al. Haptic science and technology
JP6386781B2 (ja) 触力覚提示装置
Gao et al. Haptic perception evaluation for the virtual prototyping of elastic hand-held product designs: A method to simulate how hand-held products are felt during their daily usage is presented and the use of haptic technology is highlighted
Sharma et al. Technology based on touch: Haptics technology
Pihuit et al. Hands on virtual clay
JP3722992B2 (ja) 物体の接触感シミュレーション装置
Gleeson et al. Mental rotation of tactile stimuli: Using directional haptic cues in mobile devices
Bayousuf et al. Haptics-based systems characteristics, classification, and applications
Basdogan et al. Perception of soft objects in virtual environments under conflicting visual and haptic cues
Durlach et al. Virtual environment technology for training (VETT)
Alhalabi et al. Haptic interaction rendering technique for HIRO: An opposite human hand haptic interface robot

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140328

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160902

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: 20170110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170203

R150 Certificate of patent or registration of utility model

Ref document number: 6088208

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