JP2007011460A - 物体の変位シミュレーション方法及び物体の変位シミュレーション装置、並びに力覚提示装置 - Google Patents

物体の変位シミュレーション方法及び物体の変位シミュレーション装置、並びに力覚提示装置 Download PDF

Info

Publication number
JP2007011460A
JP2007011460A JP2005188137A JP2005188137A JP2007011460A JP 2007011460 A JP2007011460 A JP 2007011460A JP 2005188137 A JP2005188137 A JP 2005188137A JP 2005188137 A JP2005188137 A JP 2005188137A JP 2007011460 A JP2007011460 A JP 2007011460A
Authority
JP
Japan
Prior art keywords
displacement
calculated
finite element
matrix
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.)
Pending
Application number
JP2005188137A
Other languages
English (en)
Inventor
Tetsuya Yokoyama
哲也 横山
Toshiro Yamada
俊郎 山田
Hideki Tanahashi
英樹 棚橋
Haruhisa Kawasaki
晴久 川▲崎▼
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.)
Gifu University NUC
Gifu Prefecture
Original Assignee
Gifu University NUC
Gifu Prefecture
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 Gifu University NUC, Gifu Prefecture filed Critical Gifu University NUC
Priority to JP2005188137A priority Critical patent/JP2007011460A/ja
Publication of JP2007011460A publication Critical patent/JP2007011460A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

【課題】空間で拘束条件を欠く物体に対して掴み等の操作を行う場合に、物体の変形を、有限要素法を利用して算出するに当たり、短時間で行うことができる物体の変位シミュレーション方法を提供する。
【解決手段】
物体Bに発生する変形を有限要素モデルの全体の剛性方程式に基づいて解析し、シミュレーションを行う。この際、全体の剛性方程式における有限要素モデルの全ノードに関する変位を、自由ノードの未知変位と、指先USに接触する接触面から1つ抽出された拘束面に関する既知変位と、拘束面以外の残りの接触面に関し、等価荷重で変換可能な既知変位とに区分し、有限要素モデルの全体の剛性方程式から算出された剛性行列の逆行列を、ウッドバリーの公式が適用できるように予め変形する。未知変位をウッドバリーの公式に基づいて算出する。
【選択図】 図6

Description

本発明は、VR(バーチャルリアリティ)技術に応用できる物体の変位シミュレーション方法及び物体の変位シミュレーション装置並びに力覚提示装置に関するものである。
近年、VR(バーチャルリアリティ)技術の発達により、ディスプレイに視覚情報が提示された仮想空間に力覚を提示することが可能である。又、物体の弾性モデルを導入し、柔らかい物体(以下、仮想柔軟物体という)の力覚表現も可能となり、仮想環境のリアリティは向上している。従来から、仮想柔軟物体の力覚表現方法には、大別すると、バネマスモデルによる方法と、有限要素法による手法がある。バネマスモデルによる方法は仮想柔軟物体の変位、反力を少ない計算量で求めることができる(非特許文献1)。しかし、バネマスモデルによる方法は、仮想柔軟物体のヤング率、ポアソン比等の特性値をモデルに直接組み込むことができないため、仮想柔軟物体の変形は、現実と異なるものとなる。
一方、有限要素法による手法は、仮想柔軟物体の特性値をモデルに組み込むことが可能であるため、仮想柔軟物体の変形を正確に表現できる。しかしながら、有限要素法による手法は、後述するように、仮想柔軟物体の変形を求める計算量が膨大であるため、力覚提示処理のボトルネックとなっている。
しかし、最近は、有限要素法による仮想柔軟物体の力覚表示に関して、モデルの縮退化や、変位の「等価荷重」を計算する手法(非特許文献2)を用いることにより、短時間で変形の計算処理ができる技術が提案されている。非特許文献2が提案している、変位の「等価荷重」による手法は、初期の仮想柔軟物体の拘束条件を変化させないことを前提に、予め剛性行列の逆行列を求め、その逆行列を用いて、仮想指先と、仮想柔軟物体との接触箇所の変位を「等価荷重」に変換して、変形を算出するものである。前記非特許文献2の手法は、少ない計算量で、変形が、算出できることが特徴であるが、剛性行列の逆行列を保証するために、常に仮想柔軟物体は拘束条件を持つ、すなわち、仮想柔軟物体の一部が空間に拘束されている必要がある。なお、この非特許文献2の手法については、後述する。 非特許文献3は、この手法を利用して、仮想箸による仮想柔軟物体の変形を可能としている。
なお、非特許文献4は、後述するウッドバリー(Woodbury)の公式(後述する式(16))が記載されている文献である。この非特許文献4は、後では、参考文献という。
宮崎愼也,安田孝美,横井茂樹,鳥脇純一郎,「仮想弾性物体の対話操作のためのモデル化と実現」,電子情報通信学会論文誌,1996年11月,Vol,J79-A,No.11,pp.1919-1926 広田光一,金子豊久,「柔らかい仮想物体の力覚表現」,情報処理学会論文誌,1998年12月,Vol.39,No.12,pp.3261-3268 北村喜文,銅子研一,来山真,岸野文郎,「仮想箸のための物体の変形と力覚表示の一検討」,日本バーチャルリアリティ学会論文誌,2002年9月,Vol.7,No.3,pp.291-299 Gene H.Goulb, Charles F.Van Loan,"Matrix Computations THIRD EDITION",The Johns Hopkins University Press, 1996.11.1,pp.50-51
非特許文献2が提案している手法では、図1(a)に示すように、仮想指先10で仮想柔軟物体12を突くような形態であれば、仮想柔軟物体12が斜線部12aで示す箇所で空間に拘束されていても問題はない。しかし、同じ条件で図1(b)に示すように2本の仮想指先10,11で仮想柔軟物体12を掴むような場合、斜線部12aが常に空間に拘束されるため、仮想柔軟物体12は、移動することができず、正しい変形及び反力が得られない。
図1(c)に示すように、仮想柔軟物体12の仮想指先10,11に対する接触箇所12bに拘束条件を設けることができれば、仮想柔軟物体12の変形及び反力を正しく表現できる。しかし、仮想指先10,11の動きに伴い、仮想柔軟物体12に対する接触箇所12bは変動するため、拘束条件は常に変化することになる。拘束条件が変化することで、剛性行列は変化し、その逆行列を短時間で求めることは難しくなる問題がある。すなわち、剛性行列をRn×n(なお、n×nはn行n列を表す)とした場合、逆行列演算算出に、通常O(n)の計算量を要する。このことについては後述する。
ここで、従来の、物体変形演算方法について説明する。
まず、前提として、ノード数nで表現される線形な有限要素モデルを想定する。有限要素法では、対象物体(有限要素モデル)全体の変形と荷重の関係を全体の剛性行列により表現する。すなわち、この想定した有限要素モデルによる剛性方程式は、荷重F(∈R)と変位u(∈R)と剛性行列K(∈Rn×n)を用いて式(1)で与えられる。
Figure 2007011460
変位uを与えられたノード、すなわち、拘束条件をもつノードにおいては、変位uは既知であり、荷重Fは未知である。そこで、既知の変数と未知の変数とをまとめ、式(1)の剛性方程式を書き換えると、
Figure 2007011460
になる。ここで、uは既知変位であり,Fは既知荷重である。又、uは拘束されていないの自由ノードの未知変位とし,Fは未知荷重とする。そして、式(2)を変形し、
Figure 2007011460
とする。ここで、K,KはKの部分行列とする。Eは単位行列である。式(3)において、K,K,Eを含む剛性行列をAとする。この解は、式(4)のように与えられる。
Figure 2007011460
ただし、拘束が与えられていない場合は、逆行列A−1が求まらないことから解は求まらない。又、この従来の変形演算方法では、拘束箇所が変化する場合、その逆行列A−1を短時間で求めることは、剛性行列をRn×nとした場合、逆行列演算算出に、通常O(n)の計算量を要する。
非特許文献2の手法では仮想指先10,11と仮想柔軟物体12との接触箇所の変位を等価な荷重(以下、この荷重のことを等価荷重Fという)に変換することにより、容易に物体変形を求めている。ここで、非特許文献2の手法を説明すると、式(4)に相当する式は式(5)で書き表すことができる。
Figure 2007011460
ここで、Lは逆行列A−1の部分正方行列、u は等価荷重Fが働くノードの変位である。このノードは、拘束されていないが、仮想指先10,11と接触していることから、その変位は、既知となる。仮に、拘束ノードの変位をu=0とおいた場合、等価荷重Fは、式(6)となる。
Figure 2007011460
この式(6)を式(5)に代入することにより、容易に拘束されていない自由ノードの未知変位uを求めることができる。すなわち、物体の変形算出を行うことができる。しかし、非特許文献2の手法では、図1(c)に示すように掴む操作に対しては、対応できない問題がある。すなわち、掴む動作においては、仮想柔軟物体12は空間に拘束されておらず、仮想指先10,11に拘束されている。仮想指先10,11は仮想柔軟物体12表面上を移動するため、行列Aの要素は変化する。このため式(5)の逆行列A−1の要素は変化し、式(5)の逆行列A−1を短時間で求めることは難しく、この結果、変形を有限要素法を利用して算出するに当たり、短時間で行い難い問題がある。なお、本明細書で、空間で拘束条件を欠く物体とは、空間に拘束されていない状態(すなわち、非拘束状態)であって、空間に位置する物体が、前記仮想指先等の拘束物以外のものには拘束されていない状態をいう。
本発明の目的は、空間で拘束条件を欠く物体に対して掴み等の操作を行う場合に、物体の変形を、有限要素法を利用して算出するに当たり、従来よりも短時間で算出を行うことができる物体の変位シミュレーション方法及び変位シミュレーション装置並びに力覚提示装置を提供することにある。
上記目的を達成するために、請求項1は、空間で拘束条件を欠く物体を拘束する拘束物が前記物体に対して移動することによって発生する前記物体の変形を、前記物体に関する有限要素モデルについての全体の剛性方程式に基づいて演算するシミュレーションを行う変位シミュレーション方法において、前記全体の剛性方程式における前記有限要素モデルの全ノードに関する変位を、自由ノードの未知変位と、前記拘束物に接触する接触面から、一つ抽出された拘束面に関する既知変位と、前記拘束面以外の残りの接触面に関し、等価荷重で変換可能な既知変位とを算出し、前記有限要素モデルの全体の剛性方程式から算出される剛性行列の逆行列を、予め変形することにより算出した変形式に対して、ウッドバリーの公式を適用することにより、前記全ノードに関する変位のうち既知変位以外の変位である未知変位を算出することを特徴とするシミュレーションを行う変位シミュレーション方法を要旨とするものである。
請求項2の発明は、請求項1において、前記ウッドバリーの公式には、対角行列を含み、該対角行列は、接触面に関与している対角要素が1,それ以外が0で構成することを特徴とする。
請求項3の発明は、請求項1において、前記ウッドバリーの公式には、対角行列を含み、該対角行列は、対角要素を全て1とすることを特徴とする。
請求項4の発明は、請求項1乃至請求項3のうちいずれか1項において、前記未知変位を算出した後、前記拘束物への反力を算出することを特徴とする。
請求項5の発明は、空間で拘束条件を欠く物体を拘束する拘束物が前記物体に対して移動することによって発生する前記物体の変形を、前記物体に関する有限要素モデルについての全体の剛性方程式に基づいて演算するシミュレーションを行う変位シミュレーション装置において、入力された前記拘束物の位置情報と、前記有限要素モデルを構成するノードの位置情報に基づいて、前記全体の剛性方程式における前記有限要素モデルの全ノードに関する変位のうち、前記拘束物に接触する接触面から一つ抽出された拘束面に関する既知変位、及び、前記拘束面以外の残りの接触面に関し、等価荷重で変換可能な既知変位の両既知変位を算出する既知変位算出手段と、前記有限要素モデルの全体の剛性方程式から算出される剛性行列の逆行列を予め変形することにより算出した変形式に対して、ウッドバリーの公式適用することにより、前記全ノードに関する変位のうち既知変位以外の変位である未知変位を算出する未知変位算出手段を備えていることを特徴とするシミュレーションを行う変位シミュレーション装置を要旨とするものである。
請求項6の発明は、請求項5において、前記算出された未知変位に基づいて前記拘束物への反力を算出する反力算出手段を備えたことを特徴とする。
請求項7の発明は、空間で拘束条件を欠く物体を拘束する拘束物が前記物体に対して移動することによって発生する前記物体の変形を、前記物体に関する有限要素モデルについての全体の剛性方程式に基づいて演算するシミュレーションを行い、力覚を提示する力覚提示装置において、入力された前記拘束物の位置情報と、前記有限要素モデルを構成するノードの位置情報に基づいて、前記全体の剛性方程式における前記有限要素モデルの全ノードに関する変位のうち、前記拘束物に接触する接触面から一つ抽出された拘束面に関する既知変位、及び、前記拘束面以外の残りの接触面に関し、等価荷重で変換可能な既知変位の両既知変位を算出する既知変位算出手段と、前記有限要素モデルの全体の剛性方程式から算出される剛性行列の逆行列を予め変形することにより算出した変形式に対して、ウッドバリーの公式適用することにより、前記全ノードに関する変位のうち既知変位以外の変位である未知変位を算出する未知変位算出手段と、前記算出された未知変位に基づいて前記拘束物への反力を算出する反力算出手段と、前記算出された反力に基づいて力を発生する力生成手段を備えたことを特徴とする力覚提示装置を要旨とするものである。
(作用)
ここで、本発明で行われる、物体の変形を短時間で求めるための手法について説明する。
好適には、短時間で物体の変形を求めるために下記(1)〜(3)の方法を行うことにより、計算量をO(n)に低減することができる。
(1) 物体の拘束箇所を複数の接触面から1つ抽出する。
(2) 全ての接触面を構成するノード全部に着目し、演算する。
(3) ウッドバリー(Woodbury)の公式(式(16))を適用する。
なお、以下では、拘束面は、拘束物で拘束する拘束箇所のことをいう。図6においては、指先USが物体Bを掴み操作することによって拘束する拘束物として示されている。又、接触面は、拘束物と物体Bの接触点が存在する3角形パッチ面である(図6参照)。なお、接触面を構成する3つのノードには、同じ変位が加わるものとする。又、物体Bは、柔軟性を備えたものとしている。
(拘束面の抽出)
図6に示すように、拘束物(図6では指先US)で物体Bを掴む場合、複数の接触面が存在する。そこで、拘束される面(すなわち、拘束面)を常に複数の接触面の中から1つ選択する。そして、拘束面には既知変位uを、残りの接触面には等価荷重Fを与える。現時点では等価荷重Fの値は未知であるが、後述する方法で求める。
(接触面構成ノードの着目)
行列W(∈Rn+n)は対角行列で、接触面に関与している対角要素は1,それ以外は0で構成されている。式(7)に示すように行列Wを導入しても、その解は変化しない(請求項2)。
Figure 2007011460
この結果、式(5)は、以下の通りに書き直すことができる。
Figure 2007011460
すなわち、接触面以外のノードは変形に関与しないことから、接触面のノードが関与するノードだけを求めれば変形は求めることができる。
(ウッドバリー(Woodbury)の公式の適用)
拘束物(図6では指先US)を物体Bの拘束面に対して動かしたとき、拘束物の動きに伴い拘束面が変化するため、剛性行列Aの要素も変化する。いま、剛性行列Aを下記の通りに表す。
A=A+ΔAと表す。
ここで、Aは、「初期処理」でそれ自身の逆行列A −1を保証するため、1つの拘束面を与えたときの行列である。又、ΔAは、変化分である。剛性行列Aの要素は、拘束が解かれるノードと新たに拘束されるノードが、以下のように変化する。
Figure 2007011460
拘束面の変化を式(10)のように表す。
Figure 2007011460
U(∈Rn+p)はp個の単位ベクトルで構成される行列である。又、V(∈Rn+p)はΔAの非ゼロベクトルで構成される行列である。なお、Tは転置行列を意味する。pは「初期処理」で拘束した面(拘束面)と、接触面から抽出した拘束面の2つの面を構成しているノードのベクトル次数である。たとえば、後述するフローチャート(図4参照)で、「初期処理」とは、前記フローチャートが実行される前に行われる処理であり、「接触面から抽出した拘束面」とは、前記フローチャートを実行する際に「接触面から抽出した拘束面」を指す。具体的に3次元空間を考えると、図2に示すように1つの面は3角形パッチで構成されているため、3つのノードP1,P2,P3を含み、且つ、1つのノードは3次元の位置座標をもつことにより、1つのノード自由度は3であるから、1面当たり9のベクトル次数を持つ。従って、pとして取り得る最大数はp=18である。
式(9)の変化は式(10)を用いることにより、以下のとおり展開できる。
Figure 2007011460
式(11)より、式(8)は下記の通りとなる。
Figure 2007011460
ウッドバリー(Woodbury)の公式(後述する式(16))を用いて、(A+UV−1を以下の通りに算出する。
Figure 2007011460
ここで、B=A −1W,C=A −1Uであり、これらは、乗算計算をしなくても要素の代入操作で求めることができる。すなわち、これらは、行列計算せずに、要素の配列の代入により、求めることができる。Bは零列ベクトルを含む疎行列ベクトルであり、非零ベクトルの列リストを保持することにより、行列乗算の計算を低減することができる。
なお、対角行列Wを無視して、すなわち、実質的に対角行列Wの対角要素が全て「1」とした場合であっても、変形を求めるに当たって従来よりも短時間で処理することは可能である(請求項3)。
ここで、式(13)の乗算計算量を、行列の乗算順に示すと、下記の通りとなる。
・ T=V
18×3n×18
・ T=V
18×3n×9(1+m)
・T=(E+T−1
18×18×9(1+m)
・T=CT
3n×18×9(1+m)
ここで、3nは全ノードの自由度、mは接触面数、(1+m)は「初期処理」で仮に拘束条件を与えた面1つと接触面数mを指す。又、「18」は、先に述べたpの最大値である。又、n≫mより、逆行列(E+T−1は計算量として考慮していない。
これより、式(13)に係る計算量はO(n)である。
なお、拘束面以外の接触面が変化する場合は、その接触面を構成する逆行列のノードだけを更新すればよく、計算量は上記計算量よりも小さくなる。
(等価荷重Fの計算)
拘束されていない自由ノードの未知変位uを求めるためには、等価荷重Fを求める必要がある。式(12)のu とuが既知であることから、(A+UV−1Wの部分正方行列の逆行列を用いることにより、等価荷重Fを算出できる。すなわち、
Figure 2007011460
であるから、以下の通りになる。
Figure 2007011460
ここで、α,βは(A+UV−1Wの部分正方行列である。これより、未知変位uを求めることができる。
(ウッドバリー(Woodbury)の公式)
Figure 2007011460
なお、この欄のウッドバリー(Woodbury)の公式で使用している行列A,U,Vは、既に説明しているA,U,Vの定義とは異なり、この欄のみに適用されるものと理解されたい。すなわち、この欄では、Aは、n×n行列であり、U,Vはそれぞれn×p行列(ただし、p<n,通常はp≪n)である。なお、参考文献では、式(16)中、(E+V−1U)−1の部分は、(I+V−1U)−1となっているが、この参考文献での「I」は単位行列(=E)を意味しているため、本明細書では、説明を整合するために上記式(16)では「I」の代わりに「E」を使用している。
なお、接触面における、拘束物に対する反力の計算は、式(2)で算出される(請求項4)。
請求項5では、既知変位算出手段は、入力された前記拘束物の位置情報と、前記有限要素モデルを構成するノードの位置情報に基づき前記拘束物に接触する接触面から、1つ抽出された拘束面に関する既知変位と、前記拘束面以外の残りの接触面に関し、等価荷重で変換可能な既知変位を算出する。又、未知変位算出手段は、前記有限要素モデルの全体の剛性方程式から算出された剛性行列の逆行列が予めウッドバリーの公式に関連付けされ、前記剛性方程式から算出された変形式を使用して、前記未知変位を、前記ウッドバリーの公式に基づいて算出する。
さらに、請求項6では、前記算出された未知変位に基づいて、反力算出手段は前記拘束物への反力を算出する。
請求項7の力覚提示装置においては、請求項6に記載の反力算出手段が算出した拘束物への反力に基づいて、力生成手段は、力を発生する。このことにより、力覚を提示する。
請求項1乃至請求項6の発明によれば、空間で拘束条件を欠く物体に対して掴み等の操作を行う場合に、物体の変形を、有限要素法を利用して算出するに当たり、従来よりも短時間で物体の変形の算出を行うことができる。
又、請求項2の発明では、ウッドバリーの公式に対角行列を含み、該対角行列の接触面に関与している対角要素は1,それ以外は0で構成することにより、乗算計算量を少なくでき、物体の変形を、有限要素法を利用して算出するに当たり、従来よりも短時間で物体の変形の算出を行うことができる。
請求項3の発明では、ウッドバリーの公式に対角行列を含み、該対角行列の対角要素を全て1とすることにより、乗算計算量を少なくでき、物体の変形を、有限要素法を利用して算出するに当たり、従来よりも短時間で物体の変形の算出を行うことができる。
請求項4の発明では、短時間で未知変位が算出されるため、拘束物への反力の算出するまでの時間も短縮することができる。
請求項5の発明では、請求項1の方法を直接使用して、物体の変形を、有限要素法を利用して算出するに当たり、短時間で行うことができ、シミュレーションを短時間で行うことができる。
請求項6の発明では、短時間で未知変位が算出されるため、拘束物への反力の算出するまでの時間も短縮することができる変位シミュレーション装置を提供することができる。
請求項7の発明では、短時間で未知変位が算出され、拘束物への反力の算出するまでの時間も短縮することができるため、力覚提示するまでの時間も短縮することができる。
(第1実施形態)
以下、本発明を具体化した第1実施形態を図3〜10を参照して説明する。
本実施形態の物体の変位シミュレーション装置(以下、単にシミュレーション装置100という)は、図5に示すように所定の物体Bを定義し、この物体Bを掴む際に、該物体Bの変位等のシミュレーションが可能とされている。シミュレーション装置100は、力覚提示装置を兼用しており、一対の力覚提示ユニット20A,20Bと、一対のパーソナルコンピュータ(PC30A,30B)と、CRTや液晶表示装置等のディスプレイ40とから構成されている。
一対の力覚提示ユニット20A,20Bは、いずれもロボットアーム22、位置検出部24、力生成部26を備えている。各力覚提示ユニット20A,20Bの位置検出部24、力生成部26は、それぞれPC30A,30Bに電気的に接続されている。力生成部26は力生成手段に相当する。各力覚提示ユニット20A,20Bは、オペレータに対するマン・マシン・インターフェイスとして機能し、オペレータから与えられる操作量を入力するとともに、オペレータに対して力を返す働きをするようにされている。本実施形態では、1つの力覚提示ユニット20A,20Bは、それぞれ1本の指としての機能を果たす。本実施形態では、物体Bに対する掴み操作により、物体Bの変位等をシミュレートするシミュレーション装置として構成されており、2組の力覚提示ユニット20A,20Bが用意されている。
ロボットアーム22上の所定の単数(又は複数)の作用点は、ディスプレイ40の画面上では、物体Bに対して、接触可能な操作点として設定されており、オペレータにより印加された力(荷重)に基づいて、該作用点は、三次元の任意方向に移動可能とされている。
各位置検出部24は、ロボットアーム22上の各作用点の三次元座標系(例えば、xyzの直交座標)上での位置を検出可能である。力覚提示ユニット20Aの位置検出部24は、PC30Aに対して、検出したロボットアーム22の作用点の位置を位置情報として出力する。又、PC30Aは、PC30Bに対して相互通信可能にLAN等の通信線を介して接続されており、互いの各種情報の通信が可能である。例えば、PC30Bには、PC30Aから、力覚提示ユニット20Aの位置検出部24から入力した位置情報等が入力可能にされている。又、力覚提示ユニット20Bの位置検出部24は、PC30Bに対して、検出したロボットアーム22の作用点の位置を位置情報として出力する。
ディスプレイ40上では、PC30Bは、入力された力覚提示ユニット20A,20Bからの各作用点の位置情報に基づいて、力覚提示ユニット20A,20Bの各ロボットアーム22に対応した仮想指先(以下、単に指先USという)が表示される。すなわち、該指先USの表面上の所定の点が前記操作点に対応する。前記指先USは、拘束物に相当する。
PC30Bは、図示しない外部記憶装置を備えており、該外部記憶装置には、物体Bを定義するための基本情報及び、シミュレーションプログラムが格納されている。そして、PC30Bは、該基本情報に基づいて、ディスプレイ40上に、物体Bを表示制御可能である。この基本情報は、例えば、物体Bの形状情報(立方体、直方体、円錐等の立体形状を表す三次元情報)や、ポアソン比や、ヤング率等の情報等を含む。本実施形態の物体Bは、前記ポアソン比や、ヤング率により、柔軟性を有する。
一方、PC30Bは、前記作用点の位置と、物体Bの位置に基いて、各指先USと物体Bとの接触状態を判定し、この接触状態に応じて拘束物としての各指先USに生じるべき反力(物体B側からオペレータ側へと返される力)の算出が可能である。このように、PC30Bは各指先USの操作点に生じるべき反力を算出すると、この反力に基いて各操作点に加えるべき制御力を示す力制御ベクトルが算出される。そして、これら力制御ベクトルを示すデータは、力覚提示ユニット20Aの力生成部26に対しては、PC30Aを介して付与し、力覚提示ユニット20Bの力生成部26に対しては直接付与される。
力覚提示ユニット20A,20Bの力生成部26は、付与された力制御ベクトルに基いてロボットアーム22の作用点に加える力を発生させることが可能である。
(作用)
さて、上記のように構成されたシミュレーション装置100の作用を、図4を参照して説明する。図4は、PC30Bが前記シミュレーションプログラムに従って実行する物体Bの変位シミュレーションに関するフローチャートであり、一旦開始した後は、終了の割り込み指令がない限り、継続的にループ処理が行われる。なお、このフローチャートを実行する前の「初期処理」において、ヤング率や、ポアソン比や、物体Bのノード情報(三次元座標系の位置情報)に基づいて、全体の剛性行列Kは求められており、PC30Bの図示しない外部記憶装置に格納されているものとする。又、ノードには、物体Bの重心に位置するノード、或いは、該重心にもっとも近いノードが重心ノードとされている。又、このフローチャートが実行される前の「初期処理」において、1つの拘束面を与えたときの行列としてAが、初期値として算出されているものとし、それ自身の逆行列A −1の算出が保証されている。そして、オペレータは、このフローチャートを実行するときにおいて、ロボットアーム22を操作する。
(S10)
PC30Bは、各位置検出部24による各ロボットアーム22の作用点の位置情報に基づいて、指先位置の更新を行う。
(S20)
PC30BはS10で更新した指先位置と物体Bとの衝突判定を指先US毎に行う。すなわち、衝突判定では、指先USの位置情報と、変形していない状態の物体Bの各ノードの位置情報とで、衝突判定が行われる。ここで、変位していない状態の物体Bとは、該物体Bの移動を反映させた、変形していない物体Bをいう。
S20で、衝突なしと判定した場合、このフローチャートを一旦終了する。S20で、衝突ありと判定された場合、S30に移行する。
(S30)
次に、PC30Bは指先USが接触した複数の接触面の中から、拘束面を1つ選択することにより、既知変位uを求めるとともに、等価荷重Fが働くノードの変位u を求める。この場合の拘束面の選択は、任意でよいが、本シミュレーションプログラムでは、一方の指先USの所定の部位に対し接触した接触面を拘束面としている。このようにして、PC30Bは拘束面及び接触面における既知変位(変位量)u とuを求めることにより、指先USと接触する物体Bの接触面、及び指先USの侵入量を求める。ここで、侵入量は、前述の変位u とuに相当する。
なお、変位u は前述したように等価荷重Fが働くノードの変位である。このノードは、拘束されていないが、指先USと接触していることから、その変位は、指先USの位置情報から算出する。
このように、PC30Bは既知変位算出手段に相当する。
(S40)
前回の処理サイクル時における接触面と、今回処理サイクルの接触面が変化しているか否かの判定を行う。すなわち、少なくとも1つの接触三角形パッチに関して接触の有無が変化している場合には、接触面が変化しているものと判定されて、S50に移行する。
(S50)
このステップでは、PC30Bにより、「逆行列計算」を行う。ここでいう、「逆行列計算」とは、(A+UV−1Wを求める式(13)の演算である。ここで、式(8)と、式(12)とを見れば分かるように、剛性行列の逆行列A−1は、(A+UV−1に変形されている。そして、(A+UV−1は、ウッドバリーの公式である式(16)の左辺と同じである。従って、(A+UV−1Wは、ウッドバリーの公式に基づいて算出される。
そして、この「逆行列計算」は、S40で前記変化したと判定された接触面が、拘束面であった場合と、拘束面でなかった場合とで異なっている。すなわち、S40で前記変化ありと判定された接触面が、拘束面であった場合、式(13)の右辺を、最初から計算し直すことにより行われる。
一方、S40で前記変化ありと判定された接触面が、拘束面でない場合は、前回の処理サイクル時で求めた(A+UV−1Wの一部を求め直すことにより行われる。このように、最初から演算し、或いは、一部を求め直して得られた(以後、これを「(A+UV−1Wの更新」という)、(A+UV−1Wは、前記外部記憶装置により記憶保持される。
なお、このステップにおいては、式(13)の右辺の計算を行うに当たり、B=A −1W,及びC=A −1Uは、シミュレーションプログラム上において、要素の配列の代入で求める。S50の計算の終了後、S60に移行する。
(S60)
このステップでは、「移動/変形/反力の算出」が、PC30Bにより行われる。
「変形の算出」は、すなわち、拘束されていない自由ノードの未知変位uの算出のことである。まず、PC30Bは、式(15)を使用して等価荷重Fを算出する。そして、PC30Bは求めた等価荷重Fに基づいて、剛性方程式から変形された変形式である式(12)を使用して未知変位uの算出を行う。ここで、式(12)は、前記剛性方程式から算出される剛性行列の逆行列が、ウッドバリーの公式が適用できるように予め変形されており、前記剛性方程式から算出されたものである。
なお、S40において、「変化なし」と判定して、S60に移行している場合、式(12)の使用時に、PC30Bは前回の処理サイクル時に記憶保持されている(A+UV−1Wを使用する。又、S50からS60に移行している場合、S50において、PC30Bは最初から演算し、或いは、「(A+UV−1Wの更新」された(A+UV−1Wを式(12)の使用時に使用する。
又、接触面における「反力」の算出は、既知変位uと、前記算出された未知変位uと式(2)を使用して行われる。又、「移動の算出」は、重心ノードの変位を算出することである。重心ノードの変位は、物体Bの移動量に相当する。
このステップで算出された自由ノード(重心ノードを含む)の未知変位uと、既知変位u及び変位u に基づいて、PC30Bは、ディスプレイ40の画面に対して画像制御を行って、変形状態及び移動状態の少なくともいずれか一方の状態となっている物体Bを表示する。
併せて、PC30Bは、算出した反力に基づいて各操作点に加えるべき制御力を示す力制御ベクトルを算出し、これら力制御ベクトルを示すデータを、力覚提示ユニット20Aの力生成部26に対しては、PC30Aを介して付与し、力覚提示ユニット20Bの力生成部26に対しては直接付与する。
この結果、力覚提示ユニット20A,20Bの力生成部26は、付与された力制御ベクトルに基いてロボットアーム22の作用点に加える力を発生させ、力覚を操作者に提示する。このように、PC30Bは、未知変位算出手段及び反力算出手段に相当する。S60の処理が終了後、このフローチャートを一旦終了する。
(試験例)
さて、以上のように構成された、シミュレーション装置100の具体的な試験例について説明する。
(行列サイズによる計算量の比較)
PC30Bとして、Windows2000(マイクロソフト社)を搭載したパーソナルコンピュータ(Xeon 1400MHz(インテル社),RAM;512MB)を使用して、図1(c)に示すように物体Bを2点で掴み操作する際、行列サイズに応じて、計算量がどの程度変化するかを試験した。その結果を図7に示す。
実施例1,2では、シミュレーション装置100の力覚提示ユニット20A,20Bは、PHANToM 1.5/6DOFとPHANToM DESKTOP(いずれもSensAble Technologies社製)からなる。実施例1は、前記(1)〜(3)の方法を全て行った前記実施形態に沿って行った場合である。実施例2は、前記(1)、(2)の方法を使用するとともに、かつ(3)のウッドバリー(Woodbury)の公式(式(16))を使用するが、式(8)中、行列Wを無視、すなわち、行列Wの対角要素が全て「1」として計算したものである。
比較例1のシミュレーション装置のハード構成は、実施例1と同じとし、従来手法である式(4)により、算出した場合の例である。
物体Bは、6種類のノード数の異なるモデルを使用し、接触面数m=2とした。なお、モデルには縮体化を施した。その結果は、図7に示す。図7において、横軸は、行列サイズ(n×n)を示し、縦軸は時間(sec)である。同図に示すように、実施例1,及び実施例2は、行列サイズに応じて、処理時間は増えるが、比較例1と比較して、いずれの行列サイズにおいても短時間で処理できることが示されている。特に、実施例1では、いずれの行列サイズにおいても行列サイズに比例して、短時間で計算が可能であることが分かる。
(反力の検証)
次に、実施例1の構成を利用して、掴み操作の際の反力の検証を行った。ここで、反力の検証の対象として、図5に示すように一辺7ノードの六面体で構成された立方体を物体Bとした。この物体Bの行列サイズは、モデルの縮退化を施して、654行654列、ヤング率:50000[Pa]、ボアソン比:0.4とし、立方体の長さ:1[m]とした。なお、予め拘束するAの逆行列A −1は初期処理で求めておいた。図5では左右から、物体Bを指先USにより挟んだときの変形を示している。なお、図5では、指先USは、いわゆる指先形状で示しておらず、シンボルとして表示されている。
この状態で侵入量|u|を与えたときの反力f1(同図中、右側の面に働く反力),f2(同図中、左側の面に働く反力)を空間に拘束箇所を持つ場合(比較例2では物体Bの底面において、拘束されている。:比較例2)と、実施例1の2ケースで求めた。なお、初期処理において、逆行列A −1を求めるために、立方体の底の一部を空間に拘束した。
図8(a)は比較例2の場合において、x方向の侵入量を示している。図8(b)は、比較例2において、反力f1,f2を示している。図8(a),(b)に示すように、反力f1,f2は侵入量に応じてその大きさは変化するが、|f1|≠|f2|であることが分かる。
図9(a)は実施例1の場合において、x方向の侵入量を示している。図9(b)は、実施例1において、反力f1,f2を示している。図9(a)に示すように、|u|=|u|となった。又、図9(b)に示すように、反力f1,f2は侵入量に応じてその大きさは変化し、|f1|=|f2|であることが分かる。このように、実世界では、物体Bを掴み、安定であるときは、物体Bに働く合力は0であることから、実施例1は、現実の変形と比較し、差異がないことが分かる。
(拘束箇所の移動に伴う検証)
図10(a)〜(d)は、実施例1のシミュレーション装置において、物体Bを掴んだ状態で、指先USの拘束位置を上から下へ移動させたときの0.5[sec]毎の物体Bの変形状態を示している。なお、図10では、指先USは、いわゆる指先形状で示しておらず、シンボルとして表示されている。
同図に示すように、指先USによる拘束位置の移動に伴い物体Bの変形も変化している。この際、拘束面が変化したときに係る(A+UV−1Wの算出時間は、0.04[sec]、拘束面以外の接触面が変化したときに係る「(A+UV−1Wの更新」の計算時間は、0.01[sec]であり、短時間で行われていた。なお、接触面が変化しないときは、計算は不要である。
又、オペレータが感じる反力に違和感がないことがら、実施例1は、本発明の効果を達することができることが分かる。
以上の実施例の効果を下記にまとめる。
・ 図7に示すように、パーソナルコンピュータ(Xeon 1400MHz(インテル社),RAM;512MB)で演算した場合、比較例1(従来技術)では、行列サイズが300行300列の場合、1秒を超えており、リアルタイムに力覚を提示できない。しかし、実施例2では、行列サイズが300行300列の場合、0.13秒であり、リアルタイムに力覚を提示できた。
・ 又、実施例1では、行列サイズが1200行1200列の場合であっても、図7に示すように、0.11秒であり、リアルタイムに力覚を提示できた。
・ このように、実施例2は、行列サイズが、600行600列程度まで、実施例1は、さらに、大きな行列サイズまで、リアルタイム(実時間)処理が可能であり、状来よりも、拘束条件を欠く物体に対して把持動作する場合の変形算出及び力覚提示を短時間で行うことが可能となる。
なお、この先、電子計算機が発達することにより、演算速度がさらに向上すると思われるが、本実施例で例示したように、本発明を利用すれば、演算処理の向上に伴って、ノード数、すなわち、行列サイズを大幅に増加することが可能となる。
(第2実施形態)
第2実施形態は、変位シミュレーション装置及び力覚提示装置として、多指触覚インターフェイスに具体化したものである。この多指触覚インターフェイスの構成を、図11〜図13を参照して、説明する。図11は多指触覚インターフェイスの概略を示す斜視図、図12は本実施形態の触覚指の斜視図である。
多指触覚インターフェイス110は、ベース111、アーム部112、ハンド113を備えている。アーム部112は、第1アーム114及び第2アーム115からなる。第1アーム114は、ベース111に対して、3自由度を有する第1腕関節116を介して連結されている。第1腕関節116は図11に示すように第1腕関節116の中心において互いに直交する軸x0, y0,z0の周りでそれぞれ第1アーム114を回転する。この軸x0,y0,z0は基準座標系の軸となる。又、第2アーム115は第1アーム114に対して1自由度を有する第2腕関節117(肘部)を介して連結されている。第2腕関節117は、第2アーム115を図11に示すように第2腕関節117の中心線である軸mの周りで能動回転する。
ハンド113は触覚指ベース120と、触覚指ベース120に設けられた5本の触覚指121〜125を備えている。5本の触覚指121〜125は、人間の拇指〜小指の5本の指と相対可能に、列状に配置されている。すなわち、第1触覚指121が人間の拇指、第2触覚指122が人差し指、第3触覚指123が中指、第4触覚指124が薬指、第5触覚指125が小指と向かい合うように触覚指ベース120に配置されている。触覚指ベース120の基端側に設けられた取付部は、第2アーム115の先端部に対して手首関節118(図13参照)を介して取付けされている。手首関節118は図11に示すように手首関節118の中心において互いに直交する軸xm,ym,zmの周りでそれぞれ触覚指ベース120を回転する。
この軸xm,ym,zmは触覚指ベース座標系の軸となる。第1腕関節116、第2腕関節117及び手首関節118は、駆動源としての駆動モータをその自由度の数に一致する個数分備えており、各駆動モータを制御することにより、前述した軸の周りで回転する。
又、第1腕関節116、及び第2腕関節117及び手首関節118において、前述した各軸の周りで回転駆動する駆動モータには回転角度を検出する回転角度検出手段としてのロータリエンコーダARE1〜ARE7が設けられている(図13参照)。これらのロータリエンコーダARE1〜ARE7により、前記各軸の周りの回転角度が検出される。なお、図13では、説明の便宜上、ロータリエンコーダARE1〜ARE7をまとめて図示している。前記ロータリエンコーダARE1〜ARE7にて検出された回転角度は、それぞれアーム関節角度qi(i=1,…7)という。アーム関節角度qiのiは、アーム機構の自由度の数に対応している。
又、アーム部112、第1腕関節116、第2腕関節117及び手首関節118はアーム機構を構成している。従って、アーム機構は、7自由度を備えている。前記アーム機構により、前記触覚指ベース120は空間運動が可能にされている。
第1触覚指〜第5触覚指121〜125は基本的に同じ機能を有する部材にて構成されているため、以下では、図12に示す第2触覚指122の構成について説明し、他の触覚指については説明を省略する。
第2触覚指122は第1リンク135、第2リンク136、第1指関節127、第2指関節128、受動球関節129、及び指固定部材130を備えている。第1リンク135は第1指関節127を介して触覚指ベース120に取付けされている。第1指関節127は2軸の関節であって、図12に示すように第1指関節127の中心において互いに直交する第1軸127a及び第2軸127bの周りでそれぞれ第1リンク135を能動回転する。
すなわち、第1軸127aの周りで第1指関節127にて第1リンク135が回転する場合は、隣接する他の触覚指に対し近接又は離間する方向(内外転方向)に向かう回転(内外転)となる。第2軸127bの周りで第1指関節127にて第1リンク135が回転する場合は、前後屈回転となる。なお、ここで、前とは、触覚指122が握り方向に屈曲する方向であり、後は、その180度反対方向である。
又、第2リンク136は第1リンク135に対して前後屈への1自由度を有する第2指関節128を介して連結されている。すなわち、第2指関節128は、第2リンク136を図12に示すように第2指関節128の中心線である第3軸128aの周りで能動回転する。
第1指関節127及び第2指関節128は、駆動源としての駆動モータ(図示しない)をその自由度の数に一致する個数分備えており、各駆動モータを制御することにより、前述した第1軸127a〜第3軸128aの周りでそれぞれ回転する。
又、第1指関節127及び第2指関節128において、前述した第1軸127a〜第3軸128aを駆動する駆動モータには回転角度を検出するロータリエンコーダURE1〜URE3がそれぞれ設けられている。これらのロータリエンコーダURE1〜URE3により、前記各軸の周りの回転角度が検出される。
前記ロータリエンコーダURE1〜URE3にて検出された回転角度は、それぞれ触覚指関節角度pij(i=1,…5,j=1,…3)という。なお、pijのiは、触覚指の数に対応する。pijのjは、触覚指の自由度の数に対応し、すなわち、第1軸127a〜第3軸128aという軸の数(軸数)に対応する。
受動球関節129は、円球状をなし、第2リンク136の先端に半球状に凹設された取付凹部126aに対して着脱自在に、かつ360度のいずれの範囲においても回転自在に嵌合されている。受動球関節129は鉄等の強磁性体からなる。永久磁石131は、第2リンク136の取付凹部126aに近接した部位において第2リンク136に内装されている。永久磁石131の磁力(吸着力)により、受動球関節129は常には取付凹部126a内に嵌合保持されている。しかし、受動球関節129に、前記磁力を超える引っ張り力が加わった際には、受動球関節129は、取付凹部126aから離脱可能である。指固定部材130は受動球関節129の露出した頂部に一体に固定されており、先端の周面は指取付部132が凹設されている。指取付部132は、長さ方向の先端側半分は断面半円状に凹設され、基端側半分は、指の先端(指先)が、受動球関節129の頂部に近接する位置まで挿入可能に断面円形状に形成されている。
又、指取付部132に対応して、指固定部材130の先端の周面には、リング状に形成された有弾性の締付バンド133が固定されている。締付バンド133は合成ゴム等からなるバンドにて形成されている。締付バンド133と指取付部132との間には人の人差し指が差し込み可能な空間が形成され、人差し指を差し込みした際、締付バンド133が同指を安定して指取付部132に対して添わせる。
なお、第2触覚指122と同様に第1触覚指121、第3触覚指123〜第5触覚指125の指取付部132及び締付バンド133は、それぞれ人間の拇指、中指、薬指、小指を接続可能である。
第2リンク136の先端周部には3軸力センサK2が設けられている。3軸力センサK2は、第2触覚指122に働く、互いに直交する3軸方向の並進力を検出可能である。
なお、他の触覚指の3軸力センサについては、第1触覚指〜第5触覚指121〜125の数え順の番号に一致した符号を図13に示すようにKに付すものとする。なお、他の触覚指におけるロータリエンコーダURE1〜URE3は、図13では、説明の便宜上、それぞれ触覚指毎にまとめて図示している。
次に多指触覚インターフェイス110に関する装置の電気的構成について説明する。3次元位置姿勢計測装置141は、多指触覚インターフェイス110を扱う人(以下、オペレータHという)の手首Rに装着された3次元位置姿勢センサ142と無線で通信可能にされている。3次元位置姿勢センサ142は、オペレータHの手Haの位置(3次元的な空間位置)、及びその姿勢を検出し、その検出信号を3次元位置姿勢計測装置141に無線で通信する。
なお、前記手Haの位置とは、オペレータHの3次元位置姿勢センサ142を装着した手Haの座標系(以下、ハンド座標系(xh,yh,zh)という)の原点位置Ohを示す3つのパラメータである。又、手Haの姿勢は、軸xh,yh,zhが軸x0,y0,z0へそれぞれのなす角度からなる3つのオイラーパラメータで示され、ハンド座標系の姿勢と一致する。
3次元位置姿勢計測装置141は、3次元位置姿勢センサ142から送信された検出信号を受信すると、その信号を手Haの位置及びその姿勢に関するハンド座標系の位置データ及び姿勢データとして信号処理し、制御装置140に出力する。
制御装置140は、CPU140a(中央処理装置)、ROM140b、RAM140cを備えている。ROM140bには、多指触覚インターフェイス110を制御するための制御プログラムや、シミュレーションプログラムを始め各種制御プログラムが格納されている。RAM140cは、CPU140aが演算処理する際の作業用メモリである。CPU140aは、既知変位算出手段、未知変位算出手段及び反力算出手段に相当する。
第2触覚指駆動装置145は、制御装置140に電気的に接続され、制御装置140からの第2触覚指制御信号に基づいて、第2触覚指122の第1軸127a,第2軸127bを備えた第1指関節127、及び第3軸128aを備えた第2指関節128を駆動する。第2触覚指駆動装置145は、力生成手段に相当する。
第1触覚指121、第3触覚指123〜第5触覚指125においても、第2触覚指122の第2触覚指駆動装置145に相当する駆動装置を備えており、制御装置140からの第1、第3〜第5触覚指制御信号に基づいてそれぞれの第1指関節127及び第2指関節128を同様に駆動する。第1触覚指121、第3触覚指123〜第5触覚指125において、第2触覚指駆動装置145に相当する図示しない駆動装置は、力生成手段に相当する。
なお、図13では、説明の便宜上、第2触覚指122の第2触覚指駆動装置145等についてのみ図示し、他の触覚指に関する、駆動装置、第1指関節127及び第2指関節128については省略している。
アーム駆動装置146は制御装置140に電気的に接続され、制御装置140からのアーム制御信号に基づいて、第1腕関節116、第2腕関節117及び手首関節118を駆動する。
ディスプレイ200は、CRTや液晶表示装置等のディスプレイ40とからなり、制御装置140により、表示制御可能である。
上記のように構成された多指触覚インターフェイス110を使用する場合、オペレータHは、5本の指を、第1触覚指121〜第5触覚指125の各指固定部材130の指取付部132に対して締付バンド133にて保持する。そして、オペレータHが手Haを動かすと、各触覚指に力が作用し、その力は、各3軸力センサK1〜K5にて検出される。
又、オペレータHの手Haの位置及びその姿勢は、3次元位置姿勢センサ142が検出し、3次元位置姿勢計測装置141に検出信号を送信する。そして、3次元位置姿勢計測装置141では、その信号をハンド座標系の位置データ及び姿勢データとして信号処理し、制御装置140に出力するようになっている。又、アーム機構のロータリエンコーダARE1〜ARE7は、アーム機構の各関節における各軸の周りの回転角度を検出する。すなわち、ロータリエンコーダARE1〜ARE7はアーム関節角度qiを検出し、制御装置140に出力する。又、各触覚指121〜125のロータリエンコーダURE1〜URE3は、各関節の各軸の周りの触覚指関節角度pijを検出し、制御装置140に出力するようになっている。
又、アーム機構のロータリエンコーダARE1〜ARE7は、アーム機構の各関節における各軸の周りの回転角度を検出する。すなわち、ロータリエンコーダARE1〜ARE7はアーム関節角度qiを検出し、制御装置140に出力するようになっている。
なお、qi中、i=1,…,7は、アーム機構の第1腕関節116、第2腕関節117及び手首関節118(アーム用能動関節)において、7自由度を付与する各軸に対応させたものである。又、各触覚指121〜125のロータリエンコーダURE1〜URE3は、各関節の各軸の周りの触覚指関節角度pijを検出し、制御装置140に出力する。又、pij中、iは、i=1,…,5で、それぞれ第1触覚指121〜第5触覚指125に対応する。又、jは、j=1,…,3で、第1軸127a,第2軸127b,第3軸128aにそれぞれ対応する。
なお、この多指触覚インターフェイス110は、オペレータHの手Haを自由に動かせるように、制御装置140のCPU140aはアーム部112及び各触覚指を駆動制御する。この制御について説明する。
まず、CPU140aは、触覚指ベース120の位置及びその姿勢を、オペレータHの手Haの位置、及びその姿勢と対向するように制御する。又、同時に、CPU140aはオペレータHの指先で作られる仮想平面αに対して面対称となるように、アーム駆動装置146にアーム制御信号を出力してアーム部112を駆動制御する。
すなわち、CPU140aは、3次元位置姿勢計測装置141から、オペレータHの手Haの位置及びその姿勢に関するハンド座標系の位置データ及び姿勢データを入力すると、これらのデータを基準座標系を介して触覚指ベース座標系に変換する。
そして、この触覚指ベース座標系において、触覚指ベース120の位置及びその姿勢を手Haの位置及びその姿勢と対向するように、オペレータHの指先で作られる仮想平面αに対して面対称となるように、アーム駆動装置146にアーム制御信号を出力してアーム部112を駆動制御する。
前記アーム部112、第1腕関節116、第2腕関節117及び手首関節118からなるアーム機構は7自由度を有するため、この対向はアーム機構の動作可能範囲であれば常に実現できる。
ここで、仮想平面αについて説明する。仮想平面αは、オペレータHの拇指、人差し指、中指の3本の指先で作られる平面を基本としている。なお、これら3本の指がほぼ直線状に並ぶときは、他の指を含め、最小2乗法で指先を乗せる平面を決定している。
又、手Haの指先の位置は、第1触覚指121〜第5触覚指125の各指固定部材130の指取付部132に保持されていることから、各触覚指の先端位置(指取付部132の位置)と同じである。このため、CPU140aは仮想平面αを決定するために必要な各触覚指の先端位置(3次元位置)を、触覚指の触覚指関節角度pij、触覚指の長さ、アーム機構のアーム関節角度qi、アーム機構の長さに基づいて算出する。この各触覚指の先端位置(指取付部132の位置)の位置情報が、第1実施形態で説明した「作用点」の位置情報に相当する。
なお、各触覚指の触覚指関節角度pij及びアーム機構のアーム関節角度qiは、各触覚指のロータリエンコーダURE1〜URE3の検出値及びアーム機構のロータリエンコーダARE1〜ARE7の検出値に基づいてそれぞれ算出する。又、各触覚指の長さ及びアーム機構の長さは、触覚指及びアーム機構を構成している各部材の長さであり、これらの値は予めROM140bに格納されている。

さて、上記のように構成された多指触覚インターフェイス110を利用して、仮想空間での仮想指先と、仮想柔軟物体との接触が第1実施形態と同様に生じた場合、第1実施形態と同様のシミュレーションプログラムに従い、仮想柔軟物体の変形のための演算を行う。この処理は第1実施形態の図4のフローチャートと同様であるため、説明を省略するが、例えば、各触覚指の先端位置(すなわち、作用点の位置情報)が、図4のフローチャートにおいて、S10で仮想指先の位置の更新に使用される。又、S20では、各触覚指の先端位置(すなわち、作用点の位置情報)が仮想柔軟物体との衝突判定に使用される。
上記実施形態、実施例1、及び実施例2は下記の効果を奏する。
○ 前記実施形態では、全体の剛性方程式における物体B(有限要素モデル)の全ノードに関する変位を、自由ノードの未知変位uと、指先US(拘束物)に接触する接触面から、1つ抽出された拘束面に関する既知変位uと、拘束面以外の残りの接触面に関し、等価荷重Fで変換可能な既知変位u とに区分するようにした。そして、物体Bの全体の剛性方程式から算出される剛性行列Aの逆行列A−1を、ウッドバリーの公式が適用できるように予め変形した。さらに、前記未知変位uを、ウッドバリーの公式に基づいて算出するようにした。このようにすることにより、空間で拘束条件を欠く物体の掴み操作を行う場合に、物体の変形を、有限要素法を利用して算出するに当たり、短時間で行うことができる。
○ 実施例1では、ウッドバリーの公式には、対角行列を含み、該対角行列は、接触面に関与している対角要素は1,それ以外は0で構成しているため、乗算計算量を少なくでき、物体の変形を、有限要素法を利用して算出するに当たり、短時間で行うことができる。
○ 実施例2では、ウッドバリーの公式には、対角行列を含み、該対角行列は、対角要素を全て1としているため、乗算計算量を少なくでき、物体の変形を、有限要素法を利用して算出するに当たり、短時間で行うことができる。
○ 前記実施形態では、未知変位を算出した後、指先USへの反力を算出することにより、短時間で未知変位が算出されるため、拘束物への反力の算出するまでの時間も短縮することができる。
○ 第1実施形態のシミュレーション装置100は、PC30Bは、入力された指先USの位置情報と、有限要素モデルを構成するノードの位置情報に基づいて、指先USに接触する接触面から、1つ抽出された拘束面に関する既知変位と、前記拘束面以外の残りの接触面に関し、等価荷重で変換可能な既知変位を算出するようにした。又、PC30Bは、前記有限要素モデルの全体の剛性方程式から算出された剛性行列の逆行列がウッドバリーの公式が適用できるように予め変形され、前記剛性方程式から算出された変形式を使用して、前記未知変位を、前記ウッドバリーの公式に基づいて算出するようにした。この結果、物体の変形を、有限要素法を利用して算出するに当たり、短時間で行うことができ、シミュレーションを短時間で行うことができる。
○ 又、第1実施形態のシミュレーション装置100は、未知変位uを算出した後、指先USへの反力を算出するようにした。この結果、短時間で未知変位が算出されるため、拘束物への反力の算出するまでの時間も短縮することができる。
なお、本発明は前記実施形態に限定されるものではない。下記のように具体化してもよい。
○ 第2実施形態では5本指を有するハンド113を有するマンマシンインタフェイスとしたが、グローブ形のマンマシンインタフェイスとしてもよい。例えば、このようなものとして、図14に示すマンマシンインタフェイス300を挙げることができる。
マンマシンインタフェイス300は、グローブ体310、コンピュータ、ディスプレイ装置(ともに図示しない)を備えている。グローブ体310の側部には、各指に対してワイヤY1〜Y4を取り付け支持する取付部320〜350が設けられている。各取付部320〜350の背面側(図14において、上面側)には、ワイヤY1〜Y4をガイド支持する支持部材360a〜360dが設けられている。ワイヤY1〜Y4は、それぞれ親指,人指し指、中指、薬指用のものである。ワイヤY1〜Y4の各先端は、各取付部320〜350の先端に取付けされている。ワイヤY1〜Y4の各基端は、図示はしないが、ワイヤ毎に設けられた力生成部に連結されている。そして、該力生成部が、ワイヤY1〜Y4を引っ張ることにより、取付部320〜350の先端に填められた人の指先を背面側から引っ張るようにされている。前記力生成部は、力生成手段に相当する。又、力生成部は、たとえば、第2実施形態の制御装置140に相当する図示しない前記コンピュータに接続されている。該コンピュータは、図示しないディスプレイ装置に接続されている。
又、グローブ体310には、手首に対応して位置するように3次元位置姿勢センサ(図示しない)が設けられ、オペレータの手の位置及びその姿勢は、3次元位置姿勢センサが検出可能である。
又、取付部320〜350には、図示はしないが、各指の3次元位置を検出する3次元位置センサが備えられ、前記コンピュータに電気的に接続されている。
3次元位置姿勢センサ、3次元位置センサの検出信号に基づいて、手の位置、姿勢、及び指の3次元位置が算出可能である。そして、前記コンピュータを、既知変位算出手段、未知変位算出手段及び反力算出手段として機能させることにより、マンマシンインタフェイス300を変位シミュレーション装置や、力覚提示装置として具体化することが可能である。
上記のように、本実施形態と、第2実施形態の構成の相違により、機械的作用が下記のように異なっている。すなわち、前記第2実施形態がオペレータの指先に対して反力を付与する場合、指先の頭を押圧するようにされているのに対して、本実施形態では、オペレータの指先の背面側をワイヤY1〜Y4にて引っ張るようにしているのが異なっている。
○ 第1実施形態では、シミュレーション装置100に一対の力覚提示ユニット20A,20Bを設けたが、一対に限定するものではなく、3つ以上の力覚提示装置を設けてもよい。
○ 又、3つ以上の力覚提示装置を設ける場合、各力覚提示装置に対して、それぞれPCを接続するようにしてもよい。
○ 第1実施形態では、シミュレーション装置100は、一対のPC30A,30Bを設けたが、1つのPCで構成してもよい。
○ 前記各実施形態においては、仮想柔軟物体に対して、拘束物としての指による掴みについて説明したが、本発明は、掴み操作に限定されるものではなく、仮想柔軟物体を、複数の拘束物が挟むように操作されるものについても適用できる。
(a)〜(c)は物体に対する指先の接触状態の説明図。 3角形パッチの説明図。 シミュレーション装置の電気的構成を示すブロック図。 シミュレーション装置が処理するシミュレーションのフローチャート。 物体に対する指先の接触状態の説明図。 拘束面の説明図。 行列サイズに応じて、計算量がどの程度変化するかの計算量を示すグラフ。 (a)は比較例2のx方向の侵入量を示す時間変位グラフ、(b)は、比較例2の、反力f1,f2の時間変位グラフ。 (a)は実施例1のx方向の侵入量を示す時間変位グラフ、(b)は、実施例1の、反力f1,f2の時間変位グラフ。 (a)〜(d)は、実施例1のシミュレーション装置において、物体Bを掴んだ状態で、指先USの拘束位置を上から下へ移動させたときの0.5[sec]毎の物体Bの変形状態の説明図。 他の実施形態におけるシミュレーション装置及び力覚提示装置としての多指触覚インターフェイスの概略を示す斜視図。 同じく力覚提示装置の第2触覚指の概略図。 同じく力覚提示装置の電気的構成を示すブロック図。 他の実施形態の力覚提示装置の概略斜視図。
符号の説明
26…力生成部(力生成手段)
30B…PC(既知変位算出手段、未知変位算出手段及び反力算出手段)
100…シミュレーション装置(力覚提示装置)
140a…CPU(既知変位算出手段、未知変位算出手段及び反力算出手段)
145…第2触覚指駆動装置(力生成手段)
US…指先(拘束物)
B…物体

Claims (7)

  1. 空間で拘束条件を欠く物体を拘束する拘束物が前記物体に対して移動することによって発生する前記物体の変形を、前記物体に関する有限要素モデルについての全体の剛性方程式に基づいて演算するシミュレーションを行う変位シミュレーション方法において、
    前記全体の剛性方程式における前記有限要素モデルの全ノードに関する変位を、自由ノードの未知変位と、前記拘束物に接触する接触面から、一つ抽出された拘束面に関する既知変位と、前記拘束面以外の残りの接触面に関し、等価荷重で変換可能な既知変位とを算出し、
    前記有限要素モデルの全体の剛性方程式から算出される剛性行列の逆行列を、予め変形することにより算出した変形式に対して、ウッドバリーの公式適用することにより、前記全ノードに関する変位のうち既知変位以外の変位である未知変位を算出することを特徴とする物体の変位シミュレーション方法。
  2. 前記ウッドバリーの公式には、対角行列を含み、該対角行列は、接触面に関与している対角要素が1,それ以外が0で構成することを特徴とする請求項1に記載の物体の変位シミュレーション方法。
  3. 前記ウッドバリーの公式には、対角行列を含み、該対角行列は、対角要素を全て1とすることを特徴とする請求項1に記載の物体の変位シミュレーション方法。
  4. 前記未知変位を算出した後、前記拘束物への反力を算出することを特徴とする請求項1乃至請求項3のうちいずれか1項に記載の物体の変位シミュレーション方法。
  5. 空間で拘束条件を欠く物体を拘束する拘束物が前記物体に対して移動することによって発生する前記物体の変形を、前記物体に関する有限要素モデルについての全体の剛性方程式に基づいて演算するシミュレーションを行う物体の変位シミュレーション装置において、
    入力された前記拘束物の位置情報と、前記有限要素モデルを構成するノードの位置情報に基づいて、前記全体の剛性方程式における前記有限要素モデルの全ノードに関する変位のうち、前記拘束物に接触する接触面から一つ抽出された拘束面に関する既知変位、及び、前記拘束面以外の残りの接触面に関し、等価荷重で変換可能な既知変位の両既知変位を算出する既知変位算出手段と、
    前記有限要素モデルの全体の剛性方程式から算出される剛性行列の逆行列を予め変形することにより算出した変形式に対して、ウッドバリーの公式適用することにより、前記全ノードに関する変位のうち既知変位以外の変位である未知変位を算出する未知変位算出手段を備えていることを特徴とする物体の変位シミュレーション装置。
  6. 前記算出された未知変位に基づいて前記拘束物への反力を算出する反力算出手段を備えたことを特徴とする請求項5に記載の物体の変位シミュレーション装置。
  7. 空間で拘束条件を欠く物体を拘束する拘束物が前記物体に対して移動することによって発生する前記物体の変形を、前記物体に関する有限要素モデルについての全体の剛性方程式に基づいて演算するシミュレーションを行い、力覚を提示する力覚提示装置において、
    入力された前記拘束物の位置情報と、前記有限要素モデルを構成するノードの位置情報に基づいて、前記全体の剛性方程式における前記有限要素モデルの全ノードに関する変位のうち、前記拘束物に接触する接触面から一つ抽出された拘束面に関する既知変位、及び、前記拘束面以外の残りの接触面に関し、等価荷重で変換可能な既知変位の両既知変位を算出する既知変位算出手段と、
    前記有限要素モデルの全体の剛性方程式から算出される剛性行列の逆行列を予め変形することにより算出した変形式に対して、ウッドバリーの公式適用することにより、前記全ノードに関する変位のうち既知変位以外の変位である未知変位を算出する未知変位算出手段と、
    前記算出された未知変位に基づいて前記拘束物への反力を算出する反力算出手段と、
    前記算出された反力に基づいて力を発生する力生成手段を備えたことを特徴とする力覚提示装置。
JP2005188137A 2005-06-28 2005-06-28 物体の変位シミュレーション方法及び物体の変位シミュレーション装置、並びに力覚提示装置 Pending JP2007011460A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005188137A JP2007011460A (ja) 2005-06-28 2005-06-28 物体の変位シミュレーション方法及び物体の変位シミュレーション装置、並びに力覚提示装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005188137A JP2007011460A (ja) 2005-06-28 2005-06-28 物体の変位シミュレーション方法及び物体の変位シミュレーション装置、並びに力覚提示装置

Publications (1)

Publication Number Publication Date
JP2007011460A true JP2007011460A (ja) 2007-01-18

Family

ID=37749916

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005188137A Pending JP2007011460A (ja) 2005-06-28 2005-06-28 物体の変位シミュレーション方法及び物体の変位シミュレーション装置、並びに力覚提示装置

Country Status (1)

Country Link
JP (1) JP2007011460A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008292534A (ja) * 2007-05-22 2008-12-04 Mitsubishi Precision Co Ltd 手術切断運動模擬方法とその装置及び模擬手術接触判定方法とその装置並びに手術切断運動模擬用のデータベース構造
JP2011022929A (ja) * 2009-07-17 2011-02-03 Nippon Hoso Kyokai <Nhk> 力覚提示装置及び力覚提示プログラム
JP5201150B2 (ja) * 2007-11-27 2013-06-05 日本電気株式会社 触力覚通信端末装置
JP2015111420A (ja) * 2010-01-07 2015-06-18 クゥアルコム・インコーポレイテッドQualcomm Incorporated 触力覚アクチュエータを使用した3次元の動きのシミュレーション
US9868145B2 (en) 2008-09-30 2018-01-16 Nippon Steel & Sumitomo Metal Corporation Forming simulation method, forming simulator, program and recording medium therefor, and simulation-based forming method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008292534A (ja) * 2007-05-22 2008-12-04 Mitsubishi Precision Co Ltd 手術切断運動模擬方法とその装置及び模擬手術接触判定方法とその装置並びに手術切断運動模擬用のデータベース構造
JP5201150B2 (ja) * 2007-11-27 2013-06-05 日本電気株式会社 触力覚通信端末装置
US9868145B2 (en) 2008-09-30 2018-01-16 Nippon Steel & Sumitomo Metal Corporation Forming simulation method, forming simulator, program and recording medium therefor, and simulation-based forming method
JP2011022929A (ja) * 2009-07-17 2011-02-03 Nippon Hoso Kyokai <Nhk> 力覚提示装置及び力覚提示プログラム
JP2015111420A (ja) * 2010-01-07 2015-06-18 クゥアルコム・インコーポレイテッドQualcomm Incorporated 触力覚アクチュエータを使用した3次元の動きのシミュレーション

Similar Documents

Publication Publication Date Title
US20180137782A1 (en) Virtual Tool Manipulation System
US11498216B2 (en) Remote control manipulator system and control device
EP3707584B1 (en) Method for tracking hand pose and electronic device thereof
Liu et al. A glove-based system for studying hand-object manipulation via joint pose and force sensing
Lee et al. Wearable finger tracking and cutaneous haptic interface with soft sensors for multi-fingered virtual manipulation
JP3363837B2 (ja) ユーザインタフェース装置および情報処理方法
JP4463120B2 (ja) 身まねロボットシステムとその身まね動作制御方法
JP6007636B2 (ja) ロボット制御システム及びロボット制御装置
US20090282331A1 (en) Information input/output device, information input/output method and computer program
JP2019121397A (ja) 仮想物体に接触すること及び仮想物体を把持することに関連する触覚効果を提供するためのシステム及び方法
JP2009276996A (ja) 情報処理装置、情報処理方法
JPWO2010027015A1 (ja) モーションキャプチャ装置
CN109243575B (zh) 一种基于移动交互和增强现实的虚拟针灸方法及系统
Hirota et al. Interaction with virtual object using deformable hand
JP2007011460A (ja) 物体の変位シミュレーション方法及び物体の変位シミュレーション装置、並びに力覚提示装置
Maycock et al. Robust tracking of human hand postures for robot teaching
Callejas-Cuervo et al. Capture and analysis of biomechanical signals with inertial and magnetic sensors as support in physical rehabilitation processes
Kao et al. Novel digital glove design for virtual reality applications
JP4997419B2 (ja) ロボット用動作変換システム
JP4743699B2 (ja) 位置制御装置、位置制御方法及び位置制御プログラム
WO2019152566A1 (en) Systems and methods for subject specific kinematic mapping
JP6386781B2 (ja) 触力覚提示装置
Alhalabi et al. Haptic interaction rendering technique for HIRO: An opposite human hand haptic interface robot
JP2005306187A (ja) 線状柔軟物の組付けシミュレーション装置
JP2003300188A (ja) 触覚インターフェイス及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111108