第４章

仮想手操作のための仮想道具の一般表現

第４章 仮想手操作のための
仮想道具の一般表現

4.1 はじめに前章までに，仮想手で物体に直接干渉することにより，移動操作が可能なモデルについて述べた．これは，実世界での手の動作に注目し，類似な方法で操作を可能としたものである．
実際には，最終的に操作を施したい物体には直接干渉せずに，間接的に移動，あるいは変形を行うことがある．しかし，一般的な物体同士の干渉を，体験システムの動作速度を確保しつつ現実に近い挙動により再現することは非常に困難である．ところで，この間接的な操作を行う場合，手に直接触れる物体が特定の用途に用いられるものならば，これは一般に「道具」と呼ばれる．
仮想空間における道具と物体の相互作用は，前章までに手の特徴に注目したモデルを提案したように，特定の道具に注目した「道具と物体のモデル」が構築可能であろう．実際に，仮想空間内に道具を定義し（仮想道具），道具による操作を実現するためのモデルの提案がなされている[北川96][野口96]．様々な道具を仮想空間で利用する場
合の，それぞれの道具と入力装置との関係を表4.1に示す．道具の形状や操作に対応したものを直接入力装置として用いる場合は，道具ごとに操作を用意する必要があり（表4.1(1)），例えば大きさや形状が異なる複数の道具を用いた物体の操作の実現は難し
い．これに対して，道具は手によって操作されることに着目して，手の動作の入力デバイスを用いて仮想手で操作するという前提でならば，多様な仮想道具をソフトウェ
アのみにおいて実現することが考えられる（表 4.1(2)）．
-69-仮想空間における仮想手による対話操作に関する研究

表 4.1 実世界の入力装置による仮想道具の操作方法の違い
Table 4.1: Different ways of manipulating virtual tools
by operating input devices in the real world(1) 各仮想道具毎に入力装置を対応(1) Each device is matched to each virtual tool(2) 仮想手にのみ入力装置を対応，仮想手により各道具を操作(2) The hand device is matched to a virtual hand, which manipulates each virtual tool

AA
AA
A
AAA
AAAA AA
AAAA
AA
AA
A
AAAA AAAAAAAAAAAA AAA
AAAA
AA
AA
A
AA
AA
A
AAAA
virtual spacereal worldinteraction modelfor objects(1)

matching input
device to virtual
manipulator(2)knowledge database

-70-

第４章

仮想手操作のための仮想道具の一般表現

このような目的のために，表 4.1(2) に示すように，手で操作する道具について，仮想手と道具，道具と物体との相互作用に関する知識を一般化することは，一般的な仮想道具による仮想空間操作システムの重要な基本技術となり得る．
ところで，知識を標準化し，システムから分離することは一般的な考え方であり[大須賀96]，様々な分野において知識を分離することの有効性が述べられている（例えば[鈴木 88][飯国 95]）
．CG における３次元形状定義に関しては DXF，VRML などの標準書式が普及している．しかし，VR において，手で操作する道具に対する手，道具，物体間の相互作用モデルなどの情報を知識ベース化し，一般的に扱うための研究は報告されていない．
そこで本章では，道具自身を構成する部品，および，道具の利用方法に関する知識などをシステムから分離することにより，仮想道具の仮想手による操作を一般的に表現可能な基本モデルを考案した[舟橋97b][舟橋97c]．このように知識をシステム（実行プログラム）から分離することにより，プログラムを変更せずに，新たな道具に対する知識（データファイル）を付加することで新しい道具の利用が可能である．提案手法に従い，利用する各道具に対応した，仮想手と道具，道具と物体との相互作用モデ
ルを構築することにより，仮想手で様々な道具を操作し，それらの道具により物体を間接的に操作することが可能となる．
以下，まず 4.2 節では，本研究の具体的な目的，および，方針について述べる．次に4.3 節では，知識の構造，操作システムの実現方法について述べる．実現した実験シス
テム，実際の操作の様子などについては 4.4 節で示す．

4.2 仮想手による道具を介した物体操作
4.2.1 仮想空間における道具の利用
本文では，最終的に操作したい対象を物体と呼び，この物体を操作する目的で手で直接に扱う対象を道具と呼ぶ．
この道具の操作を仮想空間で実現する場合，マウスなどの通常のコンピュータ用の入力装置を用いる方法，および，仮想空間内で利用する道具と同一形状の実際の道具を入力装置として用いる方法がある．しかし，前者は実世界における道具の操作との-71-

仮想空間における仮想手による対話操作に関する研究

差異が大きいため，直感的な操作が困難となる．後者によれば操作は直感的になるが，個々の装置ごとにシステムが構成されるため汎用性が乏しく，入力装置のみを簡単に交換することはできない．また，同じ種類の道具を使っても形状がことなれば操作は直感的でなくなる．例えば，ある形状のハサミを模した入力デバイスを用いたとすると，これと大きさや形が異なった仮想ハサミの操作は違和感を与えることになる．そこで，
操作者の手に対応させた仮想手により仮想道具を操作することが可能となれば，入力装置の交換，仮想道具との形状の違いによる違和感という問題がなくなると考えられる．
本研究では，仮想空間に複数の道具が存在し，それらのうち任意の道具を仮想手で利用することにより，物体操作が可能なシステムの構築を目的としている．具体的には，次節で述べるような道具を対象とする．ところで，例えば VRML で記述された仮想空間内をウォークスルー可能なシステムでは，データファイルを変更することにより他のシーンの体験が可能である．これと同様に，本システムにおいて新しい道具を利用する場合に，プログラムを変更するのではなくて，新たな道具の知識を有する
データファイルを作成する，あるいは，他から入手することにより，道具の追加が可能となることを目的としている．
そのために，VRML などの３次元形状定義の書式のように，仮想道具のためのデータの構造を定め，さらに，その道具データに基づいた手による道具の操作，道具による物体の操作が可能なシステムを作成する．仮想道具のデータに含める情報について考察する意味で，次節では道具に関する性質について整理し，4.2.3, 4.2.4 節では，それぞれ，道具の手による操作，および，道具による物体操作の実現法について述べる．
また後述するように，道具は多面体により表現される剛体とする．また，物体も多面体による表現とするが，道具との相互作用により変形も可能とする．手に関しては，前章までと同様に手を代表する点（手首）の座標と手の方向，および，各関節の角度が入力装置から得られるものとする．さらに，仮想手の形状モデルを有することにより描画を行う．
4.2.2 道具の分類
本節では，仮想手で様々な道具を扱うために，道具に関する性質について考察する．
-72-

第４章

仮想手操作のための仮想道具の一般表現

ここでは片手で把持して動かし，実際に操作したい物体に干渉させることにより移動，変形などを行う道具を対象とする．ここで干渉とは，道具と物体の相互作用モデルによるが，接触させる，近付ける（例えば，磁力によるもの），などのことである．道具の具体例として (1) スプーン，(2) ナイフ，(3) ハサミ，(4) ピンセット，(5) 箸 などが挙げられる．
[A] [道具の形状] 道具に可動部分が存在しないものと，存在するもの（例えば，上記の例の 3, 4, 5）がある（ここでは，箸は２つの部分が互いに独立した動きをしない１つの道具とみなしている）．可動部分の存在は，道具の姿勢が変化して描画に影響するだけでなく，ピンセットの先端などの互いの位置が変化することにより，以下で述べる物体との相互作用にも影響する．これについても，道具の形状が任意に変化するのではないため，道具を構成する変形しない部品の相対的な位置変化により可動部分の動きを表現できる．ここでは，例えば針金のように任意に形状の変化する道具は考えないものとする．
[B] [手と道具の相互作用] 一般に，道具には把持や操作方法が１種類とみなせるものだ
けでなく，複数考えられるものも存在する．ところで，物体を手で直接に把持する場
合は，手の形状，接触位置など様々な状態で行われることが予想される．それに対して，道具を用いる場合は限定された把持のしかたのみを許容するとしても大きな問題は起こらない．
[C] [道具と物体の相互作用] さらに道具には，物体に対して変形操作を行うもの，主に移動操作を行うもの，および，この両方共に可能なものが存在する．この道具と物体との相互作用モデルは，仮想物体の性質，構造も関係する．
4.2.3 ジェスチャによる道具の把持
前節で述べた様々な仮想道具の，仮想手による把持，操作を実現する必要がある．ここでは，手のジェスチャによる指示を用いることにする．
仮想手による物体操作の実現方法の一つに，ジェスチャを利用する方法がある．これらは概して，ジェスチャの情報をシステム自身が持っている．また，任意の手の形状による把持に対応できない，などの問題点と，物理法則などによる実現方法に対して計算時間を少なくできる，という利点がある．
-73-

仮想空間における仮想手による対話操作に関する研究

仮想手による道具を利用した物体操作システムの実現には，手と道具の関係だけでなく，道具と物体との相互作用に関しても処理を行う必要がある．また前節で述べたように，道具毎に把持を行う手の形状は異なるが，１つの道具に対してあらゆる手の形状による把持に対応する必要はない．そこで，１つ，ないし，複数のジェスチャを道具毎に知識として持たせることにより，任意の道具の把持，操作を実現した．
実際の把持判定では，まず道具および手を内包する球，立方体等が互いに干渉するか否かを判定（境界判定）する(図 4.1)．次に，各関節の角度によるジェスチャの判定を行う．これは，手の大小の違いによる指先などの座標値の変化の影響を受けないこと，および，操作者の手の形状を入力する装置は主に各関節の角度を測定していること，による．判定方法は，各関節に対しての各角度に上限と下限を指定することにより，しきい値による判定を行う．各ジェスチャ毎に手に対する道具の位置に関する知識も持たせておき，ジェスチャにより把持と判定された場合，道具の位置，方向を補正する．また，道具を把持したまま手全体の位置，方向を変化させた場合，その道具は手との相対位置が変化しないと考え，手の動きに追従して移動する．
4.2.4 道具による物体操作の実現
上述した手で操作されている道具による，物体の操作も実現する必要がある．道具と物体との関係は，手と道具との関係と比較して，道具と物体の組合せにより様々な状況が考えられる．本研究では，道具による干渉，操作の計算，および描画の高速性を考慮し，仮想物体は多面体とする．また，道具を構成する部品も，同様に多面体とする．
一般に仮想空間における相互作用（物体同士の干渉など）を考える場合，まず干渉を判定し，その状況により様々な作用を加える．具体的に多面体同士の干渉を扱う場
合には，多面体を構成する頂点，稜線，面に対する干渉，および物体の内部に侵入しているか否か，等あらゆる状況に対応する必要がある．しかし，特定の目的を持つ道
具の場合，あらゆる部分における干渉を考慮する必要性は低い．そこであらかじめ，図4.2 に示すように，道具の部品を構成する多面体の頂点により，物体との干渉等の判定を行うための判定点，判定線分，判定面を設定しておく．これらは，道具に固定された頂点だけでなく，２頂点の中点を判定点とすること，あるいは交点，射影点等によ
-74-

第４章

仮想手操作のための仮想道具の一般表現

boundary checkgrasping check with a hand
gesture (using angle of joints)
grasping

transfer each partsof the tool toappropriate position

use the tool due tothe hand motion

図 4.1 道具の把持（判定と実行）
Fig.4.1: Grasping of a tool (grasping check and execution)-75-

仮想空間における仮想手による対話操作に関する研究

AAA

vertex j

vertex i

check
points

check
lines

part apart b

図 4.2 判定点，判定線分の説明（ハサミの場合の例）
Fig.4.2: Check points and check lines for interference (an example of scissors)
-76-

第４章

仮想手操作のための仮想道具の一般表現

る決定も可能なものとする．
また，実際に仮想空間における相互作用（物体の操作など）を実現する場合，プロ
グラミング言語などによりシステムを構築する必要がある．このとき，相互作用を実現するための記述は多岐にわたり，また複雑である．ここではプログラムのみにより相互作用を実現するのではなく，相互作用に関する知識を有するデータファイルなど
を解釈，実行可能なプログラムの実現を目的としている．そこで，相互作用を実現するための要素を(1)干渉判定，(2)各種演算，(3)真偽判定，
およびその結果による(4)物体の操作に分けて考え，それぞれについて以下に挙げる具体的な処理を考慮する．

(1)干渉判定：道具の判定点，判定線分，判定面と，物体の面，物体の稜線，物体の頂点との各組合せの判定，および物体に対する内外判定(2)各種演算：スカラー変数，ベクトル変数に対する接触点の数，座標などの代入，各
種算術演算，大小判定等を含む論理演算(3)真偽判定：処理の実行，あるいは，非実行を決定するための，干渉判定，大小判定などの結果に対する真偽判定(4)物体操作：道具に追従した物体の移動，頂点を移動することによる物体の変形，平面による物体の切断
これらの組合せにより，道具と物体との相互作用モデルに関する知識を構築する．

4.3 知識のプログラムからの分離
4.3.1 道具に関する知識
4.2 節で述べた事項をもとに，各道具に関する知識の構造について提案する(図4.3)．
[A] [道具自身]

可動部分が存在する道具に対応するため，道具の形状データは，道具を構成する変形しない部品（多面体）の集合として表現する．ただし，各部品の位置
関係，拘束の方法についてはここには記述しない．
[B] [道具−手]

次に道具の把持操作に関しては，１つの道具に対して複数の把持，操作方法が存在し得るため，操作方法の集合として表現する．この各要素は，可動部分の存在しない道具の操作方法に関しては，１組の道具把持における手のジェスチャ，および手全体の位置に対する相対的な各部品の位置，方向を知識として持つ．道具の-77-

仮想空間における仮想手による対話操作に関する研究

interaction model between
a tool and objects， ，…， ， ，…
check poins, check lines

AAA
AAA
AA
AAA

sequences of operationand decision
tool - object
relationa toolshape of toolparts of tool

manipulation with hand

tool itself

tool - handrelationgesturerelative position ofeach parts to hand

図 4.3 仮想道具のデータ構造
Fig.4.3: Generalized data structure for virtual tools
-78-

第４章

仮想手操作のための仮想道具の一般表現

可動部分を動かす操作方法の場合，複数組のジェスチャ，および各部品の相対位置をリスト表現による知識として持ち，隣り合う要素間を補間することにより，ジェス
チャの変化に対応して道具の可動部分の状態を連続に変化させる．またこれにより，各部品の位置，拘束の関係が決まる．ただし，手に対する相対座標のみでは，表現が困難な場合が予想される．そこで，これにより大まかな位置を設定した後，部品同士の頂点，頂点と指先，等の一致すべき点の情報（例えば，ハサミの，軸における各部品の一致，指先と持ち手の穴との一致）により細かな補正も可能とする．ここで，指に関する座標は第２章で述べた手の判定点によるものとし，また4.2.4節で述べた道具の判定点と同様に，道具や手に固定された点だけでなく２点の中点といった指定も可能とする．
[C] [道具−物体]

さらに，道具と物体との相互作用モデルとして，まず判定点，判定

線分，判定面の集合を，道具形状データの頂点座標の演算として表現する．この判定
点などに対して，どの様な判定，演算を行い，その結果どの様な影響を物体に与えるかを，リストとして表現する．操作方法が複数ある場合は，このリストの集合となる．
図 4.4, 4.5 にスプーンとピンセットの道具データの構成例を示す．
スプーンは１つの部品からなり，スプーンの持ち方は２通りとした．それぞれの持ち方に対し，それぞれ１組のジェスチャと，手に対するスプーンの相対位置を知識として持つ．判定点をスプーンの先の部分に設定し，物体をのせること，および，押すことを可能とした．
また，可動部分を持つピンセットは，２つの部品により構成し，使用方法は１通りとした．使用方法の表現は，ピンセットを閉じた状態と大きく開いた状態それぞれの手のジェスチャと，各部品の相対位置による．物体との相互作用モデルは，以下に示す３つの判定点と２つの操作方法を有するものとした(図 4.6)．
[判定点の設定]
部品 0 の先端（頂点 i ）を判定点 0 とする
部品 1 の先端（頂点 j ）を判定点 1 とする
上記判定点 0, 1 の中点 P を判定点 2 とする[操作の設定]-79-

仮想空間における仮想手による対話操作に関する研究

interaction model between
a tool and objects

A

manipulation 0part 0

manipulation 1

図 4.4 スプーンのデータ構造の例
Fig.4.4: Illustration of data structure for a virtual tool(1) (spoon)
-80-

第４章

仮想手操作のための仮想道具の一般表現

interaction model between
a tool and objects

part 0part 1manipulation 0

図 4.5 ピンセットのデータ構造の例
Fig.4.5: Illustration of data structure for a virtual tool(2) (tweezers)-81-

仮想空間における仮想手による対話操作に関する研究

part 0part 1vertex iPdvertex j-

object

図 4.6 ピンセットと物体との相互作用モデル
Fig.4.6: Interaction model between tweezers and object
-82-

第４章

仮想手操作のための仮想道具の一般表現

以下の２つの操作を用意した．
[操作 0] 以下による各判定，計算，把持操作(1) しきい値の設定(5cm)(2) 判定点 0, 1 間の距離 d を計算(3) 距離 d がしきい値以上か判定(4) 判定点 2 が物体内部か判定(5) 共に真ならば物体を把持，移動[操作 1] 上記操作と類似な方法による物体の頂点の選択，移動による変形操作
このピンセットツールの知識の実際のデータを 図 4.7 に示す．実際のデータはテキストで表現されており，容易に記述，変更が可能である．左中央のデータファイル
tweezers.ktf により，道具と手，道具と物体との相互作用モデルのファイル tweezers.kth(左下), tweezers.kto(右上) を指定する．また，道具の形状として指定されたファイル
tweezers.kof.list(右中央) は，各部品の形状データのファイル tweezer̲R.kof, tweezer̲L.kof(右下) を指定する．
このピンセット自身のデータは ex.ktf.list(左上) 等から参照される．
図中，「%」以降，行末まではコメント文である．
4.3.2 道具の把持，操作の実現
上述のデータ構造により道具の知識をシステムから分離し，仮想手による道具を介した物体操作を実現する．従来のように，それぞれの把持対象に対してシステムに設定されたジェスチャによる判定を行うのではなく，道具毎にジェスチャを知識として持たせておくことにより，道具の形状，実際の操作に対応した把持を実現する．また，道具の可動部分の状態の変化する操作方法に対しても，複数のジェスチャと道具を構成する各部品の手に対する位置を知識として持たせ，隣り合う要素間を補間することにより，手の形状の変化に対応した道具の可動部分の状態の連続的な変化を実現する．
具体的には，図 4.5 におけるピンセットを閉じた状態と大きく開いた状態の間を補間することにより，図 4.8 に示すようなピンセットの開閉動作が可能となる．また，道具を把持したまま手を動かした場合，その道具を手との相対位置が変化せず手の動きに追従し移動させることにより，把持した道具の移動を行う．さらに，道具と物体の相互作用モデルに応じた物体操作を実現する．これらのことから，本モデルにより-83-

仮想空間における仮想手による対話操作に関する研究%<tweezers.kto> tool & object relation file 道具と物体の相互作用モデル
NumCPoint: 3
CPoint# 0
CPoint# 1
CPoint# 2%<ex.ktf.list>% tool‑file list fileNumber: 5
FileName: ¥file://$(HOME)/tweezers.ktf
FileName: ... /spoon.ktf
FileName: ... /scissors.ktf
FileName: ... /knife.ktf
FileName: ... /chopsticks.ktf

NumCLine: 0
NumCPlane: 0% 判定点数は 3(OVn 0 60)% 部品 0 の頂点 60 を判定点 0，(OVn 1 60)% 部品 1 の頂点 60 を判定点 1，(pro .5 (add (OVn 0 60) (OVn 1 60))) % 上記判定点 0,1 の中点を% 判定点 2 とする% 判定線分数，% 判定面数は 0

NumManip: 2% 相互作用モデルは 2 種類
Manip# 0% まずモデル 0(把持移動)について記述
NumOpe: 8%8 行のシーケンスで表現
LetTo I 1 5 ;% 変数 I1 にしきい値 5(cm)を代入
LetVec 1 0 ;% ベクトル変数 V1 に判定点 0 を計算，代入
LetVec 2 1 ;% ベクトル変数 V2 に判定点 1 を計算，代入
DistVec 1 2 F 1 ;%V1,V2 間の距離を計算，変数 F1 に代入
MoreTo I 1 F 1 2 ;%I1>F1 の真偽を判定，変数 I2 に代入
CpInObjTo 2 0 ;% 判定点 2 が物体内部か否かを判定，変数 I0 に代入
AndTo 0 2 3 ;%I0,I2 が共に真か否かを判定，変数 I3 に代入
IfTrue 3 ObjMvWHand ; % 変数 I3 が真ならば，物体を移動
Manip# 1
NumOpe: 7
LetTo I 1 3 ;:% 次にモデル 1(頂点移動による変形)について記述%7 行のシーケンスで表現% 変数 I1 にしきい値 3(cm)を代入%<tweezers.kof.list> object‑file list file
% 道具形状の指定ファイル%<tweezers.ktf> tool format file
% 道具の各種指定ファイル

Number: 2% 道具形状の指定ファイル名
OListFile: file://$(HOME)/tweezers.kof.list% 部品 0 のファイル名，その他属性等の指定
FileName: file://$(HOME)/tweezer̲R.kof
Scale: 1.5, 1.5, 1.5
Translate: ‑10, 10, 0
SmoothON% 道具と手の相互作用モデルのファイル名
ToolHandFile: file://$(HOME)/tweezers.kth% 道具と物体の相互作用モデルのファイル名
ToolObjFile: file://$(HOME)/tweezers.kto% 部品 1 のファイル名，その他属性等の指定
FileName: file://$(HOME)/tweezer̲L.kof:%<tweezers.kth> tool & hand relation file
% 道具と手の相互作用モデル
NumTGD: 1% 操作方法は 1 つ

ToolGraspDynamic# 0% 操作 0 について記述

NumTGS: 2
ModeTGD: 1% 要素数は 2% 部品数 2%<tweezer̲R.kof> object format file
% 部品形状の指定ファイル

ToolGraspStatic# 0% 要素 0 について記述% 各指 , 各関節角度の上限 , 下限によるジェスチャの指定
Fin# 0..., ‑180, ...,..., 180, ...
Fin# 1..., 60, ...,..., 70, ...
:% 上記ジェスチャ時の各部品の位置(手の座標系 ,6 自由度)
Obj# 0V0: 11, ‑7, ‑8.5
V1: 0, 3.38, 1.78
Obj# 1
V0: 11, ‑7, ‑8.5
V1: 0, 3.41, ‑1.78:
ToolGraspStatic# 1% 要素 1 について記述
Fin# 0..., ‑180, ...,..., 180, ...
Fin# 1..., 10, ...,..., 20, ...
:Obj# 0V0: 11, ‑7, ‑8.5
V1: 0, 3.58, 1.78
Obj# 1
V0: 11, ‑7, ‑8.5
V1: 0, 3.31, ‑1.78
NumFPoints: 3
FPoints# 0(OVn 0 59) (FJn 1 0) % 部品頂点と指:% 頂点同士の一致% 部品 0
VerNum: 61
Vertex# 0
Vertex# 1:
Vertex# 10
Vertex# 11:% 頂点数 610, 0, 0 % 頂点 0 の座標
20, 0, 03, .63, .48
3, .63, .1

PolyNum: 74% ポリゴン数 74
PolyVer# 2, 3, 5, 4 % ポリゴンの頂点指定:
PolyVer# 55, 54, 60
PolyVer# 58, 59, 60
LinNum: 0% 稜線は自動計算%<tweezer̲L.kof> object format file

図 4.7 仮想道具のデータ構造の一例（ピンセット）
Fig.4.7: An example of data structure for virtual tool (tweezers)
-84-

第４章

仮想手操作のための仮想道具の一般表現

図 4.8 ピンセットにおけるデータ補間の様子
Fig.4.8: Data interpolation for manipulating tweezers-85-仮想空間における仮想手による対話操作に関する研究

AA
A

Onyx
RE2

AA
AA

図 4.9 実験システムの構成
Fig.4.9: Configuration of the experiment system
-86-

第４章

仮想手操作のための仮想道具の一般表現

4.2.2 節で挙げた道具の把持，操作を行うことができる．

4.4 実験例
4.4.1 実験システムの構成
上述したデータ構造，操作モデルを用い，道具に関する知識を分離した仮想空間操作システムを，グラフィックワークステーション上で，C 言語により実現した(図4.9)．
本システムは前述の知識を入力し，解釈，処理が可能なものである．また，手の位置，各指の関節の角度等を入力するための装置として，前章までに述べたものと同じ入力装置を使用している（付録 参照）．さらに，映像提示に関しても前章までと同様に立体視が可能である．
本システムでは，複数の道具，複数の物体が存在する状況で，任意の道具による，任意の物体に対するインタラクションが可能である．また，物体データを作成するだけで新しい物体に対する操作が可能であるのと同様に，システムの改良なしに道具デー
タを作成するだけで新たな道具の利用が可能である．
さらに，仮想手で物体に直接干渉することによる物体の移動操作も可能であり，全く干渉を受けていない物体は重力，慣性に従った挙動を示す．
4.4.2 実験結果
前述の本システムで解釈，処理可能な書式で，実際にいくつかの道具に対する知識ベースを構築した．その一つであるピンセットのデータは図4.7 に示すとおりである．
本システムによるこれらの道具操作例を 図 4.10（口絵参照）に示す．図 4.10(a) は
左手で物体を把持し，右手でピンセットにより物体を変形している状況のシステムの概観である．同図(b) には同じ道具（スプーン）に対して，２通りの異なる持ち方が実現されていることが示されている．また，同図(c) に示すように，可動部分のある道具（ピンセット）の操作も実現できた．同図(d) では，箸，ナイフ，ハサミを利用している様子を示す．さらに 同図(e), (f) からは，複数存在する道具から希望する道具を選び，物体を操作できることがわかる．
また，計算時間に関する評価については，図 4.11 に示すように，複数存在する道具のいずれも操作せず，手による物体への直接的な干渉も行わない状況で，約20 frames/-87-仮想空間における仮想手による対話操作に関する研究(a) 実際の操作の様子(a) Appearance of manipulation(b) スプーンに対する２種類の把持の様子(b) Two kinds of spoon grasping with hand

図 4.10 仮想手による仮想道具を利用した仮想空間操作の例
Fig.4.10: Examples of virtual objects manipulation using virtual tools with a virtual hand
-88-

第４章

仮想手操作のための仮想道具の一般表現(c) ピンセットに対する開閉操作の様子(c) Opening and shutting tweezers with hand(d) 箸，ナイフ，ハサミの操作の様子(d) Manipulation of chopsticks, knife and scissors manipulation

図 4.10 （続き）
Fig.4.10 (Continued)-89-仮想空間における仮想手による対話操作に関する研究(e) スプーンによる物体の移動操作(e) Transfer an object using a spoon(f) ピンセットによる物体の移動，変形操作(f) Transfer an object and change the shape of an object using tweezers

図 4.10 （続き）
Fig.4.10 (Continued)
-90-

第４章

仮想手操作のための仮想道具の一般表現

Frame rate

AAAAAAAAAAAAAAAAAAAAAAAAAAA10

15

20

frames/sec.
25

no interference (hand - tool - objects)

grasping tool without manipulating object
manipulating object using tool

図 4.11 単位時間当たりの描画フレーム数
Fig.4.11: Rendering frame rate for three conditions-91-

仮想空間における仮想手による対話操作に関する研究

sec. での描画が可能であった．次に，手で道具を操作しているが，物体への干渉は全く行っていない状況で（手と道具の相互作用のみ）約 19 frames/sec.，道具を利用した
物体操作を行っている状況では（手と道具，道具と物体の相互作用）約 18 frames/sec.
での描画が，それぞれ可能であった．これらは，何れの道具に関しても，ほぼ同じ結果であった．一般には，対話操作の実現に12 frames/sec 必要であるといわれており，本システムによる，道具を利用した対話的な仮想物体操作が可能であると判断できる．
厳密に言えば，仮想物体の形状，道具の形状，および道具と物体との相互作用モデルが非常に複雑な場合は，描画，干渉時の処理時間が増加することが予想さため，本結果は十分であるとは断定できない．今後，手と道具，道具と物体の相互作用に関する処理の高速化を行う必要性も考えられる．

4.5 むすび
本章では，仮想道具の知識構造を提案し，知識をシステムから分離することにより，仮想手による仮想道具を介した物体操作を容易に表現可能とした．またこの考えに従って，仮想手による道具を介した物体操作システムを実現した．本システムでは，シ
ステム自体の修正，変更を行わずに，様々な道具を利用することが可能である．さらに，仮想道具の知識ベースを構築することにより，ネットワークへの対応など様々な応用が可能となる．
本システムは現在，基本機能を実現した段階にあり，以下の問題が残されている．まず，実際にデータを記述する際の書式の分かり易さ，記述の容易さについてさらに検討する必要がある．この点に関しては，仮想道具定義用エディタの開発も望まれる．今後，これらの問題を解決するとともに，具体的問題を含むさまざまな状況における仮想空間操作の体験実験により，本システムによる道具を介した仮想空間操作の実現の容易さおよび問題点を検証することも必要である．

参考文献[飯国 95] 飯国洋二: 再構成可能な知識データベースに基づく非線形信号処理, 電子情報通信学会論文誌 A, Vol.J78-A, No.2, pp.178-185 (1995)
-92-

第４章

[大須賀 96]

仮想手操作のための仮想道具の一般表現

大須賀節雄 , 有川節夫 , 波多野誼余夫 , 志村正道 , 西尾章治郎 , 大槻説乎: 知識科学の展開 , オーム社 (1996)[北川 96] 北川英志 , 安田孝美 , 横井茂樹 , 鳥脇純一郎: 仮想空間操作を利用した対話型手術シミュレーションシステムの基本機能の実現, 情報処理学会論文誌, Vol.37,
No.6, pp.1088-1098 (1996)[鈴木 88] 鈴木秀智 , 本田祐司 , 鳥脇純一郎: 画像処理手順開発支援システム SDIP における処理手順に関するコンサルテーション機能の開発 , 情報処理学会論文誌 ,Vol.29, No.1, pp.29-37 (1988)[野口 96] 野口博和 , 安田孝美 , 横井茂樹 , 鳥脇純一郎: 仮想ハサミによる切断操作のモデル化と実現 , NICOGRAPH 論文集 , pp.22-31 (1996)[舟橋 97b] 舟橋健司 , 安田孝美 , 横井茂樹 , 鳥脇純一郎: 仮想物体操作における両手による協調操作および道具操作のモデルの検討 , 計測自動制御学会 第 39 回パター
ン計測部会研究会資料 , 97PG0006, pp.17-24 (1997)[舟橋 97c] 舟橋健司 , 安田孝美 , 横井茂樹 , 鳥脇純一郎: 仮想空間における手による道
具操作の支援のための知識データベース, 日本バーチャルリアリティ学会第２回
大会講演論文集 , pp.250-253 (1997)-93-

仮想空間における仮想手による対話操作に関する研究-94-