第２章

単一の仮想手による物体操作モデル

第２章

単一の仮想手による物体操作モデル2.1 はじめに本章では，力覚フィードバックのない環境において，センサをとりつけたグローブを入力装置として仮想の手をコントロールし，仮想空間中の物体を実空間と同じような動作により操作するためのソフトウエアについて述べる．本研究では，仮想手の動作をより細かく制御できる，指の動作まで含めた仮想物体の操作モデルを開発することにより，実物体操作に近い動作により仮想物体操作を行うためのモデル化とソフトウエアの開発を行った[Funahashi95][舟橋96][舟橋98]．ここで，仮想手による物体操作の実現に物理法則による方程式を用いると，方程式を解くという問題だけではなく，状況により刻一刻と変化する方程式自体の生成が必要となる．また，有限要素法などを利用した場合，連立方程式の解を求めることが必要となるため連続的な動作の計算に多大な時間がかかり，動作のリアルタイム性が損なわれてしまう．そこで，仮想手の記述や，手と物体の干渉状態，物体の運動などについて，幾何学的な構造に注目して単純化したモデルを導入することにより実際にソフトウエアとして実現可能な仮想手による物体操作のシステムを開発した．ここでは人間がデスクトップで何らかの作業を行うことを想定して，デスクトップに複数のブロックを置いた仮想環境において仮想手により，物体を移動したり投げたりといった操作を自由に適用できるシステム
を目標としている．そのため，仮想物体と仮想手の相互作用のみではなく，操作後の仮想物体の動きや，床への物体の衝突なども考慮したシステムになっている．
これに関連する従来の研究として，次のようなものがある．
-13-

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

仮想物体と仮想手の相互作用に関しては，1.1.2節で述べたように様々な検討がなされている．まず，文献[Bergamasco94]で，仮想手による物体把持に関する問題の整理がなされている．次に文献[川勝 93]では，物体の把持において親指が利用される場合が多いことに注目したモデル化がなされている．文献[Kunii94]では，力学に基づいた仮想物体の把持について検討されている．文献[木島 95]では，力学的手法と幾何学的手法，それぞれに注目した手法について検討されている．しかし，操作を指先のみに限定するなど，制約の強い操作方法である．また文献[Huang95]では，指先だけではなく関節の部分など，指の中間での接触を考慮した干渉について研究されているが，掴んで移動するなどの動作は考慮されていない．さらに文献[Iwata90][平田93]では，仮想手と仮想物体の干渉時における力覚のフィードバックについても研究されているが，装置の開発に重点をおいている研究の多くに見られるように，相互作用モデルに関しては非常に簡略化されていることが多い．

2.2 物体操作システムの基本方針
本節では，複数のブロックが置かれたデスクトップ環境において，手で物体を自由に移動できるために解決すべき問題点について整理し，基本方針を明らかにする．
まず，対話操作が可能でなければならない．動画像における画質に関しては，一般的に 24 frames/sec での描画更新が必要と言われており，関連した様々な研究がある[テレビ学会 90]．また，例えば文献[武田 96]でも述べられているように，仮想空間における対話操作の実現には少なくとも 12 frames/sec 程度の描画更新が必要であると言われる．そこで本研究では，12 frames/sec をリアルタイム処理の指標とし，目標の一つとする．
次に，仮想空間の手で同じく仮想空間の物体を操作するためには，仮想空間内に存在する手と物体を定義する必要がある．これについては 2.3.1 節で詳しく述べるが，手と物体は点でのみ干渉するものとする．この場合，様々な物体操作は(1) 一点により押す(2) 複数点により把持する(3) 複数点により押す
-14-

第２章

単一の仮想手による物体操作モデルに分類できる．しかし，実際には操作(1), (2) を行うことが多く，また，操作(3) はそれぞれの接触点の位置関係により非常に複雑な挙動を生じる．そこで，2.3.2 節において，操作(1), (2) を中心とした相互作用モデルの導出を行う．
また，操作対象となる物体が複数ある場合には，各時点においては操作されていない物体も存在するため，仮想空間中の重力や物体同士の干渉などを考慮する必要があ
る．実際の状況を考察した場合，物体同士の干渉は，把持した物体による他の物体の間接操作や，物体の積み重ねなどにみられるように重要であるが，複雑な問題であり，その処理に多くの計算時間も必要である．本研究では，手による物体の直接操作（掴んで移動し，その後離す）の実現を目的としているため，物体同士の相互作用は大幅に簡略化して扱う（2.4 節）．

2.3 手による物体操作
2.3.1 仮想空間における手と物体
仮想手と物体との干渉判定を行なうために，各指の先端および関節に，具体的にこれらの点において干渉が起こっているか否かを調べる「判定点」を設定する（図 2.1）．
更に，隣り合う判定点を結ぶ線分を母線とする多角柱の，母線に平行な稜線すべて（以下では，これらを「判定線分」と総称する）と物体との干渉も検出することにより，「指の表面」の部分においても物体操作を可能とする．また，各指を上述の多角柱により，手のひらを多面体により表示する．実際の操作において，手のひらによる物体との接触は少ないため，手のひらにおける物体との干渉は考慮していない．しかし，必要な場合には手のひらの部分に判定点と判定線分を設定することは可能である．
また，手の位置，方向，動きを以下のように定義する．
・手首に基準点を設定し，これを空間内の仮想手の位置とする．
・手首に設定した基準点から中指へ向かうベクトルの方向，およびこのベクトルを軸とする手全体の回転量を手の方向とする．
・上記，手の位置，および方向の変化を手の動きとする．
操作対象である仮想物体に関しても，柔らかい物体の場合に両側から押し合うと，変形と把持が互いに関係した複雑な問題になると考えられるため，多面体によって表-15-

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

check points
polyhedron

position anddirection of hand

check lines

図 2.1 仮想手のモデル
Fig.2.1: Virtual hand model
-16-

第２章

単一の仮想手による物体操作モデル

Interference detection
Collision detection

No contact

Contact at
one point

Follow the gravity
and the inertia

Contact at morethan one points
Grasping check

Push at one point

Not grasp Grasp

Push at morethan one points

Grasp andtransfer freely

図 2.2 手と物体の相互作用モデル（状態判定手順）
Fig.2.2: Interaction model between the hand and an object-17-

仮想空間における仮想手による対話操作に関する研究現される剛体に限定する．また，物体は可動部分をもたず，固定されていないものとする．物体を構成する各面，稜線はそれぞれ，仮想手の個々の判定点，判定線分と干渉し得る．
2.3.2 手と物体の相互作用モデル
本節では，片手と，1 つの物体との相互作用モデルについて述べる．図 2.2 に物体の操作状況を判定するための一連の処理概要を示す．前節で述べたように，手と物体の干渉を点のみに限定するとその状況は，非接触，一点による接触，複数点による接触に分けて考えることができる．さらに複数点接触の場合には，把持，非把持の 2 つの状態が考えられる．そこで共に移動し得る全ての物体と手に関して，外接球などによる干渉の概略判定の後，(A)物体の各面と各指の判定点との衝突点の検出，および，(B)物体の各稜線と各指の判定線分との衝突点の検出の両方を独立に実行する．ただし，ある判定点に対して，同一物体の複数の面との干渉が検出された場合は，最も早く干渉する面における衝突点を，この判定点と物体との衝突点とする．判定線分に関しても同様である．次に，物体の挙動を(A)と(B)で検出された衝突点の数およびその位置に従い決定する．もし手と干渉していないならば，物体は 2.4.1 節で述べるように，重力，慣性に従った運動を行う．この時，直前まで手と干渉していた（例えば，把持されていた）ならば，操作されていた物体が離されたことになる．
(1) 1 点で接触の場合仮想手が 1 点のみで物体と干渉している場合，その物体は手により押されている．例えば 図 2.3 に示すように，指の先端に位置する判定点が，点A から点 B へ移動したとする．ここで，衝突点および物体の重心をそれぞれ点 C，点G とする．すなわち，物体表面上の点 C は点 B へ移動する．ところで，3 次元物体の移動は一般に平行移動と回転移動の 2 成分に分けて考えることができる．ここで物体を質量が重心に集中している質点と考え，物体は干渉点から重心方向へ平行移動すると考える．また回転に関しては，物体の一部が固定されているなど他の拘束条件がない
場合，物体の重心を回転の中心とする．そこでまず，物体表面上の点 C の移動ベクト
-18-

第２章

単一の仮想手による物体操作モデル

X
G

θ

B
R

T
C
A

AB : Locus of collision point C
T : Element of translation
θ : Rotation angle decided by R
X : Rotation axis through the center of gravity G

B

θ

G

R

T
C
A

図 2.3 1 点による押す操作
Fig.2.3: Pushing an object at one point-19-仮想空間における仮想手による対話操作に関する研究

Frame t

A

B
B

A

AAA
AA
AA
AAA
AAA
AAA
AA
AAA
AAA

a: Frame tc: Frame t+1 (temp 2)

input value

Frame tFrame tcorrection

B

A

d: Frame t+1 (true)BA

contact point

Frame t+1

b: Frame t+1 (temp 1)

AA
AAA
AA

pushing with finger AAB

e: Frame t+2 (temp)
図 2.4 1 点による押す操作における指の補正
Fig.2.4: Finger correction for pushing at a point
-20-

第２章

単一の仮想手による物体操作モデル

ル CB を，次式に従いベクトル T とベクトル R に分ける．
CB = T + R, CG // T, T ⊥ R.

(2.1)

次に物体をベクトル T だけ平行移動する．また，ベクトル R による点 C の移動を，重心Gを中心，ベクトルXを軸とし角度θだけ物体を回転することにより近似表現する．
ただし，ベクトル X ，角度θは次式による．
θ = arctan ( || R || ／ || CG || ), X = R × T.

(2.2)

CB // CG の時には，T = CB, R = 0 となり，平行移動のみ，また，CB ⊥ CG の時には，
T = 0, R = CB となり，X = R × CG を軸とした回転のみとなる．
ところで，図 2.4 に示すように，指 A により物体を押した結果，指 B が物体に入り込んでしまう場合がある(図 2.4-b, c)．指 B の位置を変更することによる入り込みの補
正も考えられるが，指Bは動いていない場合もあり，実世界との差異が大きくなる．そこで，指 A の各関節の角度，物体を前フレーム(図 2.4-a)の状態に再設定することにより補正を行う(図 2.4-d)．操作者が物体の把持を意図しているならば，さらに手を握る
ことにより物体把持が可能である(図 2.4-e)．
(2) 2 点以上で接触，把持の場合

仮想手が 2 点以上で物体と触れていたならば，仮想手が物体を把持しているか，把持せずに押しているかを判定する必要がある．この場合も摩擦等の力の関係によらず，物体と手の位置により判定する．実世界における点接触，例えば針などの先端により把持する場合には，接触する位置，摩擦，力の方向などにより滑る，回転するなどの状況が起こる可能性がある．ところで，実際の手により把持を行う場合は，厳密には面による接触であり，手の摩擦係数に大きな違いはない．また，故意に物体が回転するような接触により把持を行うことは少ないため，
2 点により把持が行えるか否かを物体の接触する面の向きにより判断できる．
そこで，物体のそれぞれの接触面，稜線の法線のうちいずれか 2 つのなす角が決められたしきい値以上ならば，仮想手は物体を把持しているとする．全ての組合せの法線のなす角がしきい値を越えない場合，仮想手は複数点により物体を押していることになる．ただし，物体の重心から稜線へ下ろした垂線をその疑似法線とし，単に法線という場合は面の法線および稜線の疑似法線を指すものとする（図2.5）．例えば 図2.5のように 3 点で干渉している場合，3 つの法線 N1, N2, N3 により決まるθ 12, θ 23, θ 13 の-21-

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

うち 1 つでもしきい値以上ならば，物体は把持されているとする．また，指が物体の中に入り込んでいる場合，以下のような補正を行う．
把持となる例を図 2.6 に示す．上述の衝突点検出の結果，仮想手が 2 点以上で物体と接触している場合は，仮想手の接触している部分は物体に入り込んでいる(図2.6-b)．入
り込みを補正しないと，次の処理において仮想手と物体は干渉してはいるが，衝突点が検出されない．補正の一手法として判定点を接触点に一致させる方法があるが，近似直線上に求めた接触点に，実際は直線上を移動しているとは限らない判定点を一致させることは，計算時間の増加を伴う．そこで，物体と干渉のあった指の各関節のみ
前フレーム(図2.6-a)の角度に再設定し，描画を行う(図2.6-c)．ところで，複数点の操作による物体の挙動はそれぞれの接触点の位置関係により非常に複雑となるため，対話的処理を行う時間内にこれを忠実に再現することは困難である．そこで，物体把持(Frame t+1)の場合は手の位置，方向の変化(Frame t+1 〜 t+2)に伴い物体を移動する．次の時点での処理において，操作者の手が仮想物体を把持した状態である（把持と判定される）ならば，仮想手の物体把持は継続される(図 2.6-d)．
ここで用いた把持判定しきい値は90 度とした．これは，物体表面の状態にもよるが立方体の隣り合う 2 つの面により把持が可能であり，実際に小さな物体をこのように把持することがあるためである．また，この値を変化させることにより，物体の質量，
指との間の摩擦の違い等による把持の容易さの変更が可能である．
物体が仮想手によって把持されている場合，その物体は手との相対位置が変化しな
いと考え，手の動きに追従し移動するものとする．
(3) 2点以上で接触，非把持の場合

上述の判定により物体が把持されていないなら

ば，仮想手の複数個所により押されている．しかし，実世界でのこの物体の挙動は，それぞれの接触点（独立に動く各指）の位置関係により非常に複雑であり，これを力学的に解くことは，点接触のみの物体同士の干渉問題と同等であり現実的ではない（2.4.3 節参照）．そこで複数個所により押されている仮想物体の挙動は，手の動きに対応した平行移動のみに限定した．また，物体把持の場合と同様に，指の入り込みを補正する．机上において物体を移動する場合，指先による細かな操作を行うよりも主に物体を把持して移動を行うため，これは現実的な簡略化である．
-22-

第２章

単一の仮想手による物体操作モデル

N2
N3

G

N1

point G : Center of gravity
N 1 , N 2 : Normal vector
N 3 : Pseudo-normal vector
N2
N3

θ12

θ23
G

θ13

N1

図 2.5 疑似法線および把持判定
Fig.2.5: Pseudo-normal vector and grasping check-23-仮想空間における仮想手による対話操作に関する研究

AAA
AA
A
A
AAAA
AAA
AA
A
AA
A
AAA

Frame ta: Frame t : [not grasp]
input value

c: Frame t+1 (true) : [grasp]

hand motion
Frame tcorrection

input value

wrist
hand motion:
Frame t+1 position 3 + direction 3= 6DOFbcontact points: Frame t+1 (temp)[transfer object]grasping with handd: Frame t+2 (temp)

図 2.6 物体把持における指の補正
Fig.2.6: Correction of fingers for grasping an object-24-[grasp at Frame t+1]... transfer object with hand motion on Frame t+1 to t+2

wrist

第２章

単一の仮想手による物体操作モデル

2.4 仮想環境
2.4.1 重力，慣性および摩擦
仮想物体操作を実現する際には操作の対象となっていない物体，すなわち仮想手と接触していない物体についてもその挙動を考える必要がある．さらに，それらの物体が常に操作対象になりうるような計算方法でなければならない．本モデルでは，重力，
慣性を簡略化した形で導入している．具体的には，手または他の物体との干渉が検出されなかった物体の時刻 t における重心の位置 P(t) は，時刻 t- Δ t の位置 P(t- Δ t) に
変化分 P(t- Δ t) - P(t-2 Δ t) と重力による加速として g Δ t2 を加えるものとしP(t) = 2P(t- Δ t) - P(t-2 Δ t) + g Δ t2

(2.3)

により決定する．ここで，g は下向きの重力加速度ベクトルであり，描画更新間隔 Δ
t は描画更新レート F (frames/sec) の逆数である．すなわち，物体を投げた場合などは，( P(t- Δ t) - P(t-2 Δ t) )／Δ t が初速度となる．回転に関しても，重心を中心とする相対的な回転を継続する．また，床もしくは他の物体と干渉した後は慣性は保存せず，物
体は跳ね返らないものとする．さらに摩擦に関しても，力学的な計算は行なわず，物
体は滑らないものとする．この様な仮定を設けることにより，仮想手の影響下にない
動いている物体に対しても操作が可能となり，また，把持した物体を投げる操作が実現できる．
2.4.2 落下物体と床との干渉
本節では，落下中および床との衝突後の物体の挙動について述べる．物体は床との干渉が検出されるまでは，上述した重力，慣性に従い移動する．落下した物体が時間Δtの間に床面に入り込んでしまった場合，物体の最も深く床に入り込んでいる頂点が床面上にくるように，上方向へ平行移動することにより補正する．具体的手順は以下のようである．まず物体の頂点（接点）で床面上にあるものを Vi （i = 1, .., 接点数）とすると，接点 Vi により定まる多角形の凸包が求まる（図 2.7）．ここで物体の重心 Gの移動ベクトル Gm 方向への，G の床面上の射影点 G' を求める．すなわち，
Gm = P(t- Δ t) - P(t-2 Δ t) ,(2.4)

Gm // GG’.

(2.5)

-25-

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

G
Floor
G'
V1

V2

Gm

V3,...

(a) Stable

G
Floor
V1
V2

V3,... G'

Gm(b) Unstable
V1, V2, ... , Vi : Vertices of an object on the floor
point G' : Projected point of the center of gravity G
in the direction of the moving vector Gm: Convex-hull area decided by V1, V2, ... , Vi

図 2.7 床面における物体の安定判定
Fig.2.7: Stability check of an object on the floor
-26-

第２章

単一の仮想手による物体操作モデル

重心 G が接点 Vi によって決まる凸包の内側へ射影されるならば（G' がこの凸包内にあれば），この物体は床面上で安定しており，それ以上動かないものとする（図 2.7(a)）．射影点 G' が，凸包の外側に位置するならば，この物体は安定していないと判定する（図 2.7(b)）．この場合，物体は安定と判定されるまで床面との関係に対応して定まる挙動を示す．図2.8 に示すように，ここでは床面との接点数により以下に示す3 つの状態を考える[Funahashi95][舟橋 98]．
(1) 1 点 V1 による接触（図 2.8(1)）
点V1 を点Cとする（図2.8(1)）．指先など1点による押す操作と同様に，ベクトル Gm
を次式に従い滑り，跳ね返りの成分となるベクトル T と，回転成分であるベクトル Rに分ける．
Gm = T + R, CG // T, T ⊥ R.

(2.6)

ただし，ベクトル T による移動は行わず，接触点は移動しないものとする．また，物体は重力により重心のみに力をおよぼされていると考えている．ここで物体を，点 C
を中心，ベクトル X を軸とし，角度θだけ回転移動する．Gm // CG の時は，バランスのとれた状態であり移動は行わない．ただし，ベクトル X，角度θは次式による．
θ = arctan ( || R || ／ || CG || ), X = R × T.

(2.7)(2) 2 点 V1 と V2 による接触（図 2.8(2)-a, b）
点 V1 および V2 を通り，直線 V1V2 に垂直な直線をそれぞれ床面上に求める．重心 Gのベクトル Gm 方向への射影点 G' が，この 2 本の直線の間に位置しないならば（図 2.8(2)-a），点 V1，V2 のうち射影点 G' に近い点を点 C と定める．この物体の挙動は上述の(1) により表現する．射影点 G' が 2 本の直線間に位置するならば（図 2.8(2)-b），物体の床面と接触している 2 点が移動しない，すなわちこの 2 点を結ぶ直線を軸に回転すると考える．この場合も (1) と類似の方法で，直線 V1V2 を軸として物体を回転する．
(3) 3 点以上の Vi による接触（図 2.8(3)）
射影点G'が接点Vi によって決定される凸包に含まれない，すなわち物体が不安定な場合，全ての接点が移動するのではなく，2 点もしくは 1 点を残し，他は床から離れる
方向へ移動するものと考える．そこで凸包の頂点のうち，もっとも点 G' に近い 2 つの点を点 V1，V2 とすることで物体の挙動は上述した (2) により求められる．
-27-

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

Object

G
R

T

(1)

Floor
X

Gm
θ
V1 = CGm : Translation vector for the center of gravity GGθ : Rotation angle decided by R

Floor

X : Rotation axis through contact vertex V1; center of rotation C

G'V1

T : Element of rebounding and slidingGm

V2 = Cl1

l2

point CC:: Vertex
point
Closer closer
vertex to
to G’
G' in
in contacting
contacting vertices
vertices V
V11, ,VV2 2(a) One vertex is fixed

Gm

(2)

T'
G

Floor

l2 V2
G'
Gm'
l1
V1

T’
in parallelline
T' : Sliding
Elementelementof sliding
parallel withto lineV1VV1V22
Gm’
Gm' :: Vector
Vectorexcepting
exceptingT’
T'fromfromGmGm(b) Two vertices are fixed
point G' : Projected point of the center of gravity G
in the direction of moving vector Gm

G
Floor

l1, l2 : lines through V1, V2 perpendicular to line V1V2

G'

(3)

: Area between lines l1, l2

Gm
V2

V1

: Convex-hull area decided by vertices on the floor
point G' : Projection of the center of gravity G on the floor
in the direction of moving vector Gm
V1, V2 : Closest vertices to G' on convex-hull

図 2.8 床面における物体の挙動
Fig.2.8: Motion of an object on the floor
-28-

第２章

単一の仮想手による物体操作モデル

2.4.3 物体同士の干渉
物体同士の干渉は，把持した物体による他の物体の間接操作や，物体の配置作業を実現するためには考慮すべき問題である．しかし文献[Shinya95]でも述べられているよ
うに，互いに干渉し合っている剛体の力学的な解法はNP完全になる場合がある．そこ
で，多くの物体同士が衝突した場合にも，物体と手や床との干渉時と同様な方法で，それぞれの物体を逐次移動していくことが考えられる．しかしその結果，直接操作していなかった物体が手と干渉した場合に，操作者の手を拘束することなく仮想空間内の矛盾を解消することは容易ではない．
ところで，本研究は仮想手による物体操作を実空間と同じような動作により実現することを目的としている．そこで，現時点では物体同士の干渉に対して以下の簡略化を行う．仮想手が物体 Oh に触れて物体 Oh を動かした結果，その物体 Oh が他の物体 Oi(i=1, 2, ...) に干渉するならば，それら物体 Oi は物体 Oh の平行移動成分に対応した平行
移動のみ行い，回転移動は行わないものとする．また，複雑に積まれた多数の物体の安定状態の計算は実時間処理の範囲では困難であり，把持操作の感覚を低下させる要素となる．そのため，互いに干渉している物体がともに手と干渉していないならば，それらの物体をその場で静止させることにしている．

2.5 実験例
2.5.1 実験システムの構成
上述したモデルを用いることにより，仮想手による物体操作システムを，グラフィッ
クワークステーション上で，C 言語により実現した．本システムの構成，および，実際の処理の流れを 図 2.9 に示す．操作者への CG による映像提示では，立体視を行うことも可能である．使用した計算機，操作者の手の位置，方向，および各指の関節の角度，手首の角度等を入力するための装置などの詳細については 付録 で述べる．
2.5.2 実験結果
[実験 1] 本システムによる実験の一つとして，3 名の被験者 a 〜 c に対して，練習として 5 分程度の仮想物体操作を行った後，次の操作を行った．
(1) 自由な仮想物体操作-29-

仮想空間における仮想手による対話操作に関する研究
フレーム F の決定において…
手の位置，方向，各関節の角度の入力
判定点，判定線分の算出
物体Oi, i=1〜全物体数に対して…
フレーム F-1 で手が物体を把持なら，
F-1〜F の手の移動(6自由度)で物体を移動

干渉判定
衝突点検出

衝突点数：１点

衝突点なし

衝突点数：２点以上
フレーム F-1 で，非把持，他の物体との干渉なしならば…
（その他は，物体移動なし）

床と干渉 - あり

入り込みの補正
干渉状態により安定でなければ「転がり」移動AA

入り込みの分，並進，回転により物体を移動

床と干渉 - なし

移動の結果，
他の指が干渉したならば
重力，慣性（フレーム 指（関節角），
F-2〜F-1 の物体の挙動） 物体の状態をフレームF-1 にで移動戻す（補正）（自由な状態）Onyx RE2

把持判定：非把持

把持判定：把持フレームF-1 〜Fの手の挙動で物体を並進

物体Oi は，
フレームF で「把持」と設定

入り込みのある指（関節角）を
フレームF-1 に戻す（補正）

物体同士の干渉判定
物体Oi とOj が干渉
一方(Oi)が手と干渉していれば（フレームF）
他方(Oj)はフレームF-1 〜F の手の挙動で並進

AAA
AAA
AAA

図 2.9 システムの構成と処理の流れ
Fig.2.9: System configuration and processing flow
-30-

第２章

単一の仮想手による物体操作モデル(a)実際の操作の様子(a)System appearance(b)CG で表示された仮想空間の様子(b)CG image of the virtual space presented on the screen
図 2.10 仮想物体操作システムの実験例
Fig.2.10: Examples of manipulating objects with a virtual hand-31-

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

図 2.11 仮想手による任意多面体形状の物体操作
Fig.2.11: Manipulation of objects (arbitrarily shaped polyhedrons) with a virtual hand

-32-

第２章

単一の仮想手による物体操作モデル

図 2.12 指先による物体を弾く操作
Fig.2.12: Flipping an object with a finger of a virtual hand-33-

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

図 2.13 仮想手による物体を投げる操作
Fig.2.13: Throwing an object with a virtual hand
-34-

第２章

単一の仮想手による物体操作モデル

図 2.14 物体を他の物体の上に積む操作
Fig.2.14: Putting an object on another object with a virtual hand-35-

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

表 2.1 各操作に対する評価
Table 2.1: Evaluation for each manipulation

(1)

(2)

(3)

(4)

(5)

a

◎

◎

○

◎

○

b

○

◎

○

◎

△

c

◎

△

◎

○

○

subject

manipulation

-36-

第２章

単一の仮想手による物体操作モデル(2) 親指を使わない把持(3) 指先によって弾く操作(4) 把持した物体を投げる操作(5) 物体を積み上げる操作
操作例として 図 2.10（図 2.10 - 2.14 は口絵参照）に，実際に仮想空間内の物体を操作している様子と，計算機内で構築した仮想空間の CG 映像を示す．また 図 2.11 に示
すように，任意の多面体形状の仮想物体を仮想手の任意の部分により操作することが可能である．この様子から，従来のようなジェスチャによらず，5 本の指と物体との相互作用を考慮することにより，実世界における物体操作と類似な物体把持が実現できたことがわかる．図 2.12 は，人差し指で四角錐をはじいた様子である．また 図 2.13
からは，投げられた物体が放物運動の後，床の上で静止したことが分かる．図 2.14 は物体を積み上げた様子であるが，Ｌ字型の物体により立方体形状の物体を床下へ押し進める(2.4.3 節)と，立方体形状物体に対する床への入り込み補正処理(2.4.2 節)により，右側の図のように物体同士が互いに入り込む，という問題がある．
それぞれの被験者による各操作に対する評価（◎：操作性が良い，自然である，○：
普通，△：あまり良くない）を表 2.1 に示す．
全般に，被験者から次のような評価を受けた．
・仮想物体の操作が，実物体操作と同じような方法で行える．
・投げた物体の挙動，床の上で転がる物体の挙動が自然である．
一方，次のような問題点が指摘された．
・手と物体との接触は物体が動くことから始めてわかるため，素早い操作ができない．
・物体同士が干渉したときの挙動が不自然であり，また積み上げるという操作に関しては実世界とは大きく異なる．
また，表 2.1 において操作(5)の△は，前述した物体同士の相互作用の問題に関係する．操作(3)の評価がやや低いのは，3 次元的な位置把握の問題である，すなわち，把持する場合にはゆっくり指を近づければよいが，弾く場合には指を素早く動かす必要があり，接触する瞬間がわかりにくいためであると考えられる．操作(2)に関しては被験者 c から「指先が器用に動かない」との感想があった．
-37-

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

state
(3)
(2)
(1)
(0)
frame

state
(3)
(2)
(1)
(0)
frame

state: (0): no contact(1): push at one point(2): grasp (with more than one points)(3): push at more than one points

図 2.15 接触状態の推移の例
Fig.2.15: The change of the contact state
-38-

第２章

単一の仮想手による物体操作モデル

さらに，操作(1)において被験者は主に物体を把持していた．この時，把持に至る直前の 1〜2 frame に１点，あるいは複数点により押している状況が存在する場合があった．また，被験者が物体を意図的に押す場合は，主に人さし指の先端１点で押していた．それぞれの，ある操作における接触状況の推移を図 2.15 に示す．他の操作の場合も，概ね同様の結果が得られた．これらのことから，2.3.2 節(3)で述べたように複数点で物体を押す状況の重要性は低いと判断できる．
これらのように，本研究で提案したモデルによる，仮想手による物体操作システム
では，仮想空間内のデスクトップにおかれた複数のブロックを，仮想手により移動したり積み上げたり投げたりするという自由な操作が行える．また，仮想手と仮想物体の相互作用のみではなく，仮想物体の操作後の動きや，床への物体の衝突なども考慮したことにより，投げられた物体の（手から離した後の）挙動も表現できる．しかし，物体同士が干渉した場合，不自然に静止してしまう，互いに入り込んでしまう，という物体同士の干渉に関する問題が残されている．
[実験 2] 上記実験は実験室内のものであり，より多様な被験者による実験が必要である．そこで，1997 年 8 月に名古屋で 3 日間にわたり行われたザ・新世界博（国際人工知能合同会議エキシビジョン）でのデモ展示において，データを採取した．記録は，筆者らの観察，および体験者との会話による．
デモは SGI Indigo2 HighIMPACT, R10000
により，仮想空間内の 2m 前方にある半径 15cm の標的にブロックを当てる，というゲーム方式をとった．体験者は，一般客も多数いたことから，国籍，性別，職業，年
齢（小学生未満あり）など，多様である．
簡単な説明を行いながら体験してもらったところ，数分の操作により，100名程度の多様な体験者のうち９割程度の人がブロックを標的に当てることができた．そして，
仮想手による基本的な物体操作のシステムについて，特に違和感の指摘はなく，「仮想空間の物体を自分の手で触れるのは面白い」などの意見があり，積極的な評価が大多数であった．一方，操作の後に，触った感じがない（力覚フィードバックがない），ブ
ロックを積み上げると変な止まり方をする（物体同士の干渉の簡略化），などの問題点の指摘があった．
[実験 3] 計算時間に関する評価として，描画更新間隔 Δ t を固定せずに，判定点 20，-39-

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

AAA
AAA
A
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA
AAAAAAAAAAAAAA
object grasped
with handframes/sec.

Frame rate

28.0

24.0

20.0

16.0

0

1

none
one cube
two cubes
sphere2
3
4
5 ... 10
Number of objects in virtual space

図 2.16 単位時間当たりの描画フレーム数
Fig.2.16: Number of frames drawn in the unit time
-40-

第２章

単一の仮想手による物体操作モデル

判定線分 60 の仮想手による，6 面，12 稜線からなる数個の立方体に対する干渉を行った．物体の総数，手に把持されている物体数による計算量の変化を，1秒あたりに描画可能なフレーム数により示す（図 2.16）．また，32 面，56 稜線により近似した一つの楕円球（図 2.10(b) 参照）に対する干渉も行った．
今回の実験では全物体数 10個，把持物体数 2個(立方体) の場合でも 17 frames/sec での描画更新が可能である．そのため，当初の目標である描画更新レート 12 frames/sec
により，対話操作が実現できる．手と干渉している物体数の増加に伴う計算時間の増加については，通常の物体移動では片手で同時に少数の物体にしか触れないため，片手による対話操作の可能な計算時間である．物体形状の複雑さに関しては，多数の面，稜線からなる物体には対応できないのが現状であるが，多面体で近似した球に対する操作は 17 frames/sec での描画更新が可能である．また手と干渉している物体数が一定の場合，物体総数（図 2.16 横軸）の変化による計算時間への影響は少ないため，数十個の物体が存在する場合でもほぼ同程度の速度が得られる．すなわち，同時に１〜２個の物体にしか触れないならば，数十個の物体が存在する状況における物体操作が可能である．しかしこれは，操作感覚を重視し，物体同士の干渉については簡略化を行ったためであり，より正確な物体干渉を実現するためには改良すべき点である．
[実験 4] また操作の正確性，迅速性に関する実験として 5 名の被験者 A 〜 E に以下の２種類の操作を各 10 回，行ってもらった．被験者は実験前に数分間の練習を行っている．
(1)

２個の物体をやや離して配置し，一方の物体を押して移動することにより他方の物体に接触させる（図 2.17 (1)）(2)

２個の物体をやや離して配置し，一方の物体をつかんで移動し，離すことにより他方の物体の上にのせる（図 2.17 (2)）

各被験者に対するそれぞれの操作に要した時間の平均を表2.2に示す．
他の操作システムとの比較ではないため一概には言えないが，操作性に関しても大きな問題はないと思われる．しかし実世界での同じ物体操作に比べて遅いと思われるので，操作性をより向上させることは必要であろう．

-41-

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

(2)

(1)

図 2.17 実験を行った操作
Fig.2.17: Examples of manipulation for experiment

-42-

第２章

単一の仮想手による物体操作モデル

表 2.2 各操作に要する時間
Table 2.2: Required time for each manipulation(sec.)
manipulation ＼ subject

A

B

C

D

E

(1) contact objects

8.3

5.6

5.3

4.3

6.3

(2) put on another

16.0

10.7

18.3

14.7

12.0

-43-

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

2.6 むすび
本章では，現在のGWSの処理能力で実現可能な手による物体操作のための一モデルを提案し，仮想現実感システムの実験例を示した．本システムでは，物体を把持，移動し，また投げるなどの動作がほぼリアルタイムの対話操作により可能である．操作については，
従来よく用いられた大幅な簡略化による制約条件などを設けることなく，
どの指のどの部分においても物体の操作が可能なモデルを実現することができた．また，手の影響下にない物体の挙動についても，簡略化された重力などを導入することにより実世界の印象に近づけることができた．
本システムは現在，その基本機能を実現した段階にあり，仮想手による 3 次元物体のより自然な対話操作の実現に関しては次のような課題が残されている：[手と物体の相互作用]
・複数の指で押した時の自然な挙動の実現
・両手，あるいは多人数の手による協調作業による物体操作への対応[手から離れた物体の挙動]
・他の物体と干渉した時の自然な挙動
・跳ね返り，滑りといった現象の表現
さらに，これらの機能の追加とともに干渉判定の高速化，柔らかい物体に対する操作の実現や，力覚のフィードバックについても検討し，具体的問題を含むさまざまな状
況における仮想空間操作の体験実験により，本モデルによる物体操作の実現の容易さ
および問題点を検証することも必要である．また，対話的な物理シミュレーション（の実現）による，計算量，物体の挙動などを比較，検討することも重要であろう．

参考文献[川勝 93] 川勝大輔 , 中山敦司 , 小堀研一 , 久津輪敏郎: バーチャルリアリティにおける物体選択方法について , 情報処理学会研究報告 グラフィクスと CAD 66-4,
Vol.93, No.110, pp.25-32 (1993)[木島 95] 木島竜吾 , 廣瀬道孝: Virtual Physics: 仮想空間の物体挙動計算 , 電子情報通信学会技術研究報告 , Vol.95, No.83, pp.105-112 (1995)
-44-

第２章

単一の仮想手による物体操作モデル[テレビ学会 90] テレビジョン学会編: テレビジョン・画像情報工学ハンドブック , 1 編
光・色・視覚・画像 , 5 章 画像 , pp.57-75, オーム社 (1990)[平田 93] 平田幸広 , 水口武尚 , 佐藤誠 , 河原田弘: 組立作業のための仮想作業空間 , 電
子情報通信学会論文誌 D-II, Vol.J76-D-II, No.8, pp.1788-1795 (1993)[舟橋 96] 舟橋健司 , 安田孝美 , 横井茂樹 , 鳥脇純一郎: 仮想空間操作における物体の挙動および手と物体の相互作用のモデル , 第１回計算工学講演会論文集 , Vol.1,
No.1, pp.15-18 (1996)[舟橋 98] 舟橋健司 , 安田孝美 , 横井茂樹 , 鳥脇純一郎: ３次元仮想空間における仮想手による物体操作モデルと一実現法 , 電子情報通信学会論文誌 D-II (1998.5, 掲載
決定)[Bergamasco94] M. Bergamasco, P. Degl'Innocenti, D. Bucciarelli and G. Rigucci: Graspingand Moving Objects in Virtual Environments: a Preliminary Approach towards a Realistic
Behaviour, Proc. IEEE International Workshop on Robot and Human Communication,
pp.44-49 (1994)[Funahashi95]

K. Funahashi, T. Yasuda, S. Yokoi and J. Toriwaki: Block Manipulation withHand in Virtual Space, Proc. Virtual System and Multimedia '95, pp.189-194 (1995)[Huang95] Z. Huang, R. Boulic, N. Magnenat and D. Thalmann: A Multi-sensor Approach for
Grasping and 3D Interaction, Proc. Computer Graphics: Developments in Virtual Environments, pp.235-253 (1995)[Iwata90] H. Iwata: Artificial Reality with Force-feedback: Development of Desktop VirtualSpace with Compact Master Manipulator, Computer Graphics, Vol.24, No.4, pp.165-170(1990)[Kunii94] Y. Kunii and H. Hashimoto: Object Grasping in Virtual Environment Using Dynamic Force Simulator, Proc. IEEE International Workshop on Robot and Human Communication, pp.261-264 (1994)[Shinya95] M. Shinya and M.-C. Forgue: Laying out Objects with Geometric and Physical Constraints, The Visual Computer, Vol.11, No.14, pp.188-201 (1995)-45-

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