平成 23 年度 卒業論文

VR 調理学習システムにおける対話操作のための調理器具の移動範囲の拡張

指導教員
舟橋

名古屋工業大学

工学部

平成 18 年度入学

電気情報工学科

18213011 番

小塚 太智

健司

准教授

i

目次

第 1 章 はじめに

1

第 2 章 従来研究の固体群操作モデル

32.1

固体群操作モデルの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

2.2

調理容器の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52.3

固体群の表現方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.4

変形曲面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.4.1

変形曲面の形状決定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.4.2

変形曲面によるハイトフィールドへの加算 . . . . . . . . . . . . . . . . . .

8

2.4.3

曲面加算後の処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

剛体による固体群操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

2.5.1

調理器具の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

2.5.2

調理容器と調理器具の内外判定 . . . . . . . . . . . . . . . . . . . . . . . .

9

2.5.3

変形曲面の調理器具への適用. . . . . . . . . . . . . . . . . . . . . . . . .

10

2.5.4

負の変形曲面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

2.5.5

調理器具の正の変形曲面による格子への加算量の決定 . . . . . . . . . . . .

11

2.5

第 3 章 剛体による固体群操作モデルの拡張

13

3.1

提案モデルの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

3.2

調理器具と固体群の干渉判定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

3.2.1

凸包と固体群との干渉判定 . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

3.2.2

直線と凸包の交点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

3.3

調理器具の移動軌跡と固体群が干渉した領域の固体群の変形 . . . . . . . . . . . .

15

3.4

移動範囲拡張にともなう正の変形曲面 . . . . . . . . . . . . . . . . . . . . . . . . .

16

3.4.1

四分楕円柱の三次元空間上への生成 . . . . . . . . . . . . . . . . . . . . . .

16

3.4.2

正の変形曲面の高さ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.4.3

調理器具の正の変形曲面による格子への加算 . . . . . . . . . . . . . . . . .

18

第 4 章 実験および結果

19

4.1

実験システム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

4.2

処理速度についての評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

4.3

挙動の自然さについての評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

ii

第 5 章 むすび

23

謝辞

24

参考文献

25

1

第1章

はじめに

バーチャルリアリティ (Virtual Reality:以下 VR) とは、「それが現前していないにもかかわらず、観察する者にはそこにあるのと同一の表象を生じさせるもの」 [1] である。すなわち、人間が実際の環境を利用しているのと本質的に同等な状態で、コンピュータの生成した人工的環境を利用するということである。VR の使用用途は多岐に及び、医療、製造、科学、芸術、エンターテイ
メントなど幅広く利用されている。例としては、手術に関するシミュレータ [2]、学校での理科の教材 [3]、ヒューマンエラーを誘発させるシミュレータ [4] などの訓練、教育、危険回避を目的としたシミュレータなどがある。こうした VR を応用したシステムを使うことで、実際に必要な環
境、ものを準備するコストの削減、実体験を必要とする訓練の効率の上昇、実際の環境で起こり得る危険の回避などが可能となる。しかし、これらのシステムはそれを実現する装置が高価であったり、大規模なものが多いため、一般家庭への普及はあまり進んでいないのが現状である。
しかし、近年では、かつて高価であった直感的な操作が可能な機器を安価に入手することが可能になり、一般家庭でも導入可能な VR システムやデバイスが身近な存在になりつつある。例えば、任天堂株式会社から販売されている「Wii」 [5] では、入力装置である「Wii リモコン」という安価なデバイスを用いることで、直感的な操作を実現できる。こうした機器の普及により、一
般家庭向けの新たなコンテンツの可能性が広がってきている。ところで、近年では核家族、単身赴任の増加に伴い、自分自身で料理をしなくてならない状況も増えているため、調理システムの需要が増大している。このような状況の中、調理の習得を支援するためのシステムに関する研究が進んでいる。実際に販売されているコンテンツとして、ゲームの「クッキングママ」 [6] シリーズがある。これは、操作者が調理の操作をミニゲーム形式で行なっていくもので、料理の手順を楽しみながら覚えることができる。
当研究室では、一般家庭を対象としたコンテンツとして料理をとりあげており、VR 学習システ
ム「バーチャルお料理教室」の開発を行なっている。前述した「クッキングママ」といったコン
テツとの違いは、料理する際の「動作」を経験することが可能であり、「高い臨場感によって現実世界により近い感覚」で料理の手順を学習できるため、学習効果が上がるという点がある。ここ
での料理の手順とは、食材の用意、切断などの加工、加熱などの調理、盛り付けという、料理における一連の作業を指す。
ところで、調理の工程を体験するためには、米や様々な食材片などの小さな固体の集合に対する対話操作を実現する必要がある。これらはその構成要素である粒子の大きさや粘性、弾性など様々な特徴によって挙動が変化する。関連する研究として、溶岩流 [7]、砂 [8] などがある。文献 [7] では粒子法を用いており、動きを厳密に表現しているが、固体 1 つ 1 つにかかる力を計算しているため計算量が大きくなるという問題点がある。また、文献 [8] では粒子法を用いていないが、砂粒

第 1 章 はじめに2の集まりの挙動を格子単位で計算するため、対話操作を行うために必要な計算速度には達していない。
これらのモデルに対して当研究室では、「複数の固体で構成されるが、全体として 1 つの集合体として一般に認識される物」を固体群と呼び、1 つの操作対象として処理を行うことで、対話操作を可能とする固体群操作モデルを提案した [9]。このモデルでは、固体群を構成する固体 1 つ 1 つに関する挙動は考慮せず、固体群全体を 1 つの操作対象とすることで、高速な挙動計算を行なっている。具体的には、固体群を粒子により表現するのではなく、調理容器内の底面に配置した 2 次
元格子に高さの情報を設定する、いわゆるハイトフィールドで固体群の形状、挙動を表現している。この方法では、厳密な挙動を再現することは困難であるが、人が無意識に期待する挙動を高速に表現できる。
文献 [10] では、操作者が自由に動かすことのできる、剛体である調理器具を導入し、調理器具と固体群との干渉を表現することによって、直接的な操作を可能とした。このモデルは、移動方向
は水平面上を動くということに限定されており、また、進行方向によって面の法線方向を一意に決定するものである。この 2 自由度の操作によって、調理容器内の固体群を調理器具を用いて押し動かすという操作を可能にした。しかし、現実で調理器具を操作する際は、三次元空間内を動かし、ロール、ピッチ、ヨーの回転をすることができるため、6 自由度である。また、その際、調理器具で食材片をすくい上げる、下に押さえつけるなどの操作が可能である。ところで、固体群の一部分をすくい上げるとなると固体群を 1 つの操作対象として扱うことができなくなる。この問題は固体群操作モデルの根本的な拡張が必要となる。そこで本研究では、従来の調理器具の移動範囲である水平方向のみの移動から、上下動を追加することにより移動範囲の拡張を行い、さらに、進行方向による面の向きの制限をなくして鉛直軸を中心とする回転を自由に行えるようにする。4 自由度の移動による操作を可能とする。これらの移動範囲の拡張を行うことにより、臨場感を向上させる。
第 2 章では、従来の格子表現による固体群操作モデルの概略を説明する。第 3 章では、提案モデルである固体群操作モデルの拡張を説明し、第 4 章では、提案モデルについての実験とその結果について述べる。

3

第2章

2.1

従来研究の固体群操作モデル

固体群操作モデルの概要

本章では、これまでに当研究室で提案している格子表現固体群操作モデル [9] について説明する。
この固体群操作モデルは、固体群を構成する固体 1 つ 1 つにかかる力を計算するのではなく、固体群全体を 1 つの操作対象として計算することで挙動計算を高速化し、対話操作を実現している。
このモデルでは、体験者はフライパンのような調理容器を傾ける、左右に振るといった操作により、調理容器内の固体群を操作するが可能である。また、ヘラのような調理器具を用いて、調理
容器内の固体群を局所的に操作することも可能である。
格子表現固体群操作モデル (以下、格子表現モデルと呼称) では、調理容器の中に存在する固体群全体を 1 つの操作対象とみなしている。具体的には、固体群全体を 1 つの物体とみなし、力がかかることにより起こる形状変化を曲面を利用することで求める。このような固体群の形状変化を表現するために生成する曲面のことを、「変形曲面」と呼称する。変形曲面による固体群の挙動の例として、容器内に存在する固体群の断面図である図 2.1 を用いて説明する。

図 2.1: 変形曲面による固体群の形状変化の過程

1. 傾いた容器に固体群が存在する場合、この固体群は重力により容器下方向に滑り落ちる
2. 変形曲面を生成して、固体群の体積を増加、減少させる
3. 時刻 t+∆t の固体群は時刻 t の時よりも、容器下方向に移動する

第 2 章 従来研究の固体群操作モデル

4

このモデルは処理が単純であるため、固体群の挙動を高速に計算することができる。しかし、実際に図 2.1-2-b のような変形曲面の形状を求めるのは困難である。そこで、図 2.2 のように図 2.1-2
を段階的に分け、代替の処理を行うことで図 2.1-2 の処理を近似的に表現している。この代替的に行う処理を図 2.2 に示す。図 2.2 において、以下の手順で処理を行う。

ϭ

Ϯ

ϯ

ϰ


᫬้ 

᫬้  ൅ᇞ 
図 2.2: 正の変形曲面を用いた代替処理

1. 傾いた容器に固体群が存在する場合、この固体群は重力により容器下方向に滑り落ちる
2. 図 2.2-2-a のような、正の変形曲面を生成し、固体群に加算する
3. 変形曲面を加算する前の固体群全体の体積と、加算後の固体群全体の体積が等しくなるように、各地点の体積を修正する

4. 結果として、時刻 t+∆t の固体群は時刻 t のときよりも、容器下方向に移動する
図 2.2 において生成する正の変形曲面の形状は、計算量削減のために図 2.3 のような半楕円柱を用いる。

図 2.3: 半楕円柱形状の変形曲面

第 2 章 従来研究の固体群操作モデル

2.2

5

調理容器の定義

格子表現モデルでは、調理容器の中に存在する固体群全体を 1 つの操作対象とみなしているため、固体群が調理容器の側面から抗力を受けることにより固体群が分断されるのを防ぐことや、固体群が調理容器側面から受ける抗力を単純化するために、固体群の入っている容器 (調理容器) の形状を以下のように定義する。

• 容器底部: 凸多角形の平面図形• 容器側面: 底部に対して垂直. 高さを h とする

2.3

固体群の表現方法

固体群は調理容器内に定義したハイトフィールドによって表現する。調理容器の形状が円柱で、内部に固体群が存在するときの例を、図 2.4 に示す。

図 2.4: 円柱形状の容器の中に固体群が存在している様子

ハイトフィールドの格子 (xi , yj ) が持つ値 f (xi , yj ) は、その格子の面積 S(xi , yj ) を用いることで、その格子に存在する体積 V (xi , yj ) を表すことができる。

V (xi , yj ) = S(xi , yj )f (xi , yj )(2.1)

したがって、調理容器内に存在する固体群の総体積 Vc は、調理容器内にあるハイトフィールドの格子の総数 N を用いることで次のようになる。

Vc =

N
∑

V (xi , yj )(2.2)

なお、格子の面積 S(xi , yj ) は一定とするので、簡単化のため表記を省く。
ハイトフィールドの各格子の値を変化させることにより、調理容器内の固体群挙動を表現する。

第 2 章 従来研究の固体群操作モデル

2.4

変形曲面

2.4.1

変形曲面の形状決定

6

格子表現モデルでは、固体群全体にかかる力による固体群の形状変化に半楕円柱の変形曲面を使用する。以下のパラメータを定めることで、生成する半楕円柱の形状を決定する (図 2.5 参照)• 半楕円柱の断面となる楕円の長半径 a• 半楕円柱の断面となる楕円の短半径 b• 調理容器内での位置 oD• 調理容器内での向き LD• 楕円柱の長さ rD
なお、半楕円柱の断面となる楕円の大きさを表す a,b のうち、容器底面を構成する面に平行な a を
長半径、底面に垂直な b を短半径とする。

図 2.5: 半楕円柱の形状決定

調理容器を移動させる、傾けるなどの動作を行うことにより、調理容器内の固体群に調理容器
底面を構成する面に平行な力 Fb がかかるとする。このとき、固体群は重心 Gc に集まっていると仮定し、変形曲面の生成位置を重心 Gc から力 Fb の方向に位置するように設定する。半楕円柱の生成位置 oD は次のように求められる。

oD = G c +

Fb
νa
|Fb |

ここで、Gc はハイトフィールドの重心であり、
1 ∑Gc =N f (xi , yj )mij
Vc
で求められる。mij はハイトフィールドの格子の座標であり、ν は任意の定数である。

(2.3)

(2.4)

第 2 章 従来研究の固体群操作モデル

7

半楕円柱の断面となる楕円の長半径 a(以下、長半径 a と呼称) は、格子表現モデルにおいて、固体群の移動距離と移動する体積の双方に関係するパラメータである。長半径 a が零であれば、半楕円柱は存在しないことになり、固体群は移動しない。固体群は剛体とは違い、図 2.6 のように容器端に達しても移動し続ける。

図 2.6: 固体群の調理容器端での動き

そのため、長半径 a を設定する際に調理容器端での固体群の挙動を考慮する必要がある。そこ
で、長半径 a は容器端に接している固体群の体積に対して減少するように設定する。
T − |F ′ | (T ≥ |F ′ |)
1
1
n
n
a=
0
(T1 < |F ′ |)

(2.5)

n

ここで、T1 は定数、Fn′ は調理容器側面からの抗力 Fn の Fb に平行な成分である。格子表現モデ
ルでは、Fn を容器側面に接する固体群の体積とその重心から近似的に求める。Fn と Fb のなす角を θ で表すと、Fn′ は次のように求める。

Fn′ = −|Fn | cos θ

Fb
|Fb |

(2.6)

cos θ は Fb と Fn の内積で表すことができるので、次のようになる。
cos θ =

Fn ·Fb|Fn ||Fb |また、Fn はFn = T2 Vcside

Gside
c|Gside|c(2.7)と求められる。ここで、T2 は定数、Vcside は調理容器側面に接している格子の体積の総和、Gside
cは調理容器側面に接している固体群の重心であり、それぞれ以下のように求める。

Vcside =
Gside
c

=

N
side
∑

f (x′i , yj′ )1VcsideNside∑f (x′i , yj′ )mi′ j ′

(2.8)
(2.9)

第 2 章 従来研究の固体群操作モデル

8式 (2.8), 式 (2.9) における Nside は、調理容器内に定義されたハイトフィールド格子のうち、調理容器側面に接する格子 (x′i , yj′ ) の総数であり、mi′ j ′ はそれらの格子の座標である。
長半径 a は固体群が容器側面から受ける抗力を考慮したパラメータであるが、固体群が受けた力や調理容器内に存在する固体群の体積が大きく影響しない。よって、これらを補うために半楕円柱の断面となる楕円の短半径 b を次のように設定する。
T (|F | − µ′ √V (|F | ≥ µ)
2
c
b
b
b=
0
(|Fb | < µ)(2.10)

ここで、T2 は定数、µ は最大静止摩擦力、µ′ は動摩擦力を表すパラメータである。
半楕円柱の姿勢は、楕円柱の芯となる直線 LD で定義される。LD は oD を通過し、Fb と直交するベクトルなので、実数 t とベクトル lD を用いると以下のように表すことができる。

LD = oD + tlD(2.11)

lD は次の条件を満たすベクトルである。
lD ·

Fb
=0
|Fb |

(2.12)

楕円柱の長さ rD は、調理容器底面を構成する平面図形と直線 LD の交点を結んでできる線分の長さに等しくなるように設定する。

2.4.2

変形曲面によるハイトフィールドへの加算

2.4.1 節において決定した変形曲面のパラメータにより、半楕円柱 (正の変形曲面) を生成して固体群に加算する。変形曲面による加算は、対象の格子 (xi , yj ) の座標 mij と直線 LD との距離が lij
が lij ≤a となる格子に行う。正の変形曲面によって加算が行われた後のハイトフィールドの格子(xi , yj )add が持つ値 f (xi , yj )add は次のように求める。

(√
)
( )2


l
ij
f (xi , yj ) + b
1− af (xi , yj )add =f (xi , yj )2.4.3

(lij ≤ a)(2.13)(lij > a)

曲面加算後の処理

固体群の挙動を変形曲面の加算により表現するが、変形曲面の加算により固体群の体積が加算
前と比べて増加する。そこで、元の体積と等しくなるようにハイトフィールドの全格子に対して修正を行う。修正後の格子 (xi , yj ) が持つ値 f (xi , yj )′ は、

f (xi , yj )′ =Vcf (xi , yj )add
Vcadd

(2.14)

第 2 章 従来研究の固体群操作モデル

9である。f (xi , yj )add は変形曲面加算後の格子の値であり、加算後の固体群全体の体積 Vcadd は、次のように求めることができる

Vcadd =N∑f (xi , yj )add

(2.15)

このような処理を行うことで、体積を維持しながら固体群の挙動を表現することができる。

2.5

剛体による固体群操作

2.5.1

調理器具の定義

調理容器を移動する、傾けるといった方法で、固体群を間接的に操作することが可能であるが、固体群の一部分のみを操作することは難しい。しかし、固体群を局所的に操作することは、調理においてかき混ぜる動作などに相当するし、一般的である。そこで、この節では調理器具による格子表現固体群の局所的な操作を実現するためのモデルについて説明する。フライパンなども剛体の一種ではあるが、ここでの剛体とはヘラなどの調理の際にかき混ぜるものを対象としている。
フライパンなどの調理容器と区別するために、ヘラなどの剛体を調理器具と呼称することにする。
このモデルでは、調理器具は固体群と接触する部分 (以下、固体群操作部と呼称) が 1 つ以上の長方形からなるものとする。図 2.7 に調理器具の例を示す。調理器具の姿勢は固体群操作部が水平
面と垂直となるようにし、水平面上を移動するものとする。

図 2.7: 調理器具の例

2.5.2

調理容器と調理器具の内外判定

調理容器と調理器具の位置による内外判定を行い、調理容器内に調理器具が存在する場合、固体群は調理器具によって操作される。判定には調理器具上に設定する基準点 Xs = (xs , ys , zs ) を用

第 2 章 従来研究の固体群操作モデル

10

い、以下の 2 つ条件を満たすとき、調理器具は調理容器内に存在するとみなす。

1. 調理容器底面を構成する凸多角形の平面図形 B を水平面に正射影してできる平面図形 B ′ と、基準点を水平面に正射影した点 X ′ = (xs , ys ) が、X ′ ⊂ B ′2. B ⊂ BI である平面 BI : ax + by + cz = 0 と基準点 Xs の距離 R が、R≥0
R=

2.5.3

axs + bys + czs + d√
a2 + b2 + c2

(2.16)

変形曲面の調理器具への適用

調理器具による固体群操作を表現するために、2.4 節で述べた変形曲面による手法を拡張する。
調理器具と固体群が干渉する場合、調理器具の固体群操作部から受ける力により、固体群は変形する。このとき、従来使用していた半楕円柱では中央が高い山なりな形状であるため、固体群が固体群操作部の近傍に集まるという状態を表すのに適していない。そのため、調理器具と固体群の干渉を表現するために、2.4 節で用いた半楕円柱をさらに半分にした形状、つまり、断面が四分割された楕円である四分楕円柱を用いる。四分楕円柱の形状は図 2.8 に示す。

஽
஽



஽

図 2.8: 四分楕円柱の形状

さらに、調理器具によって固体群が押されている様子を表現するために負の変形曲面を用いる。
負の変形曲面については 2.5.4 節で説明する。調理器具の進行方向をベクトル v とすると、固体群操作部を構成する面を境にして、v 方向に正の変形曲面、−v 方向に負の変形曲面を生成する。(図2.9 参照) 四分楕円柱の形状は 2.4 節で述べた半楕円柱と同様の項目で決定できるため、パラメー
タの決定方法を変更することで、形状を決定する。ただし、調理器具が調理容器内に存在しない
場合は調理器具による変形曲面は生成しない。正の四分楕円柱の長半径 a は調理器具の移動速度

vs の大きさに依存する。正の四分楕円柱の短半径 b は定数とするが、これは負の変形曲面で減算

第 2 章 従来研究の固体群操作モデル

11

ṇ䛾ኚᙧ᭤㠃㈇䛾ኚᙧ᭤㠃
図 2.9: 四分楕円柱の形状

した体積に応じて、正の四分楕円柱の体積を決定するためである (2.5.5 節参照)。さらに、正の四分楕円柱の長さは固体群操作部の幅 c よりも大きくならないようにする。

2.5.4

負の変形曲面

2.4 節で述べた変形曲面、すなわち曲面内部に含まれるハイトフィールドの格子の値を増加させる。一方、負の変形曲面は曲面内部に含まれる格子の値を減少させる。負の四分楕円柱の長半径は、正の四分楕円柱と同様に調理器具の移動速度 vs の大きさに依存し、四分楕円柱の長さには固体群操作部の幅 c よりも大きくならないようにする。負の四分楕円柱の短半径には固体群操作部の高さ d を設定する。ハイトフィールドのある格子 (xi , yj ) が値 g(xi , yj ) を持ち、負の変形曲面内部にあるとき、負の変形曲面の高さ Ym (xi , yj )(Ym (xi , yj ) < 0) が存在する。負の変形曲面を加算
した後の格子 (xi , yj ) の持つ値 g(xi , yj )′ は次のように求められる。
g(x , y ) + Y (x , y ) (g(x , y ) + Y (x , y ) > 0)
i j
m i j
i j
m i j
g(xi , yj )′ =0(g(xi , yj ) + Ym (xi , yj ) ≤ 0)

2.5.5

(2.17)

調理器具の正の変形曲面による格子への加算量の決定

調理器具との衝突によって、調理器具の進行方向に固体群が移動することを表現するため、負の変形曲面によって減少させた固体群の体積だけ、正の変形曲面で固体群の体積を増加させる。格子(xi , yj ) が G(xi , yj ) の値を持ち、正の変形曲面内部にあるとき、正の変形曲面の高さ Yp (xi , yj ) が第 2 章 従来研究の固体群操作モデル

12存在する。正の変形曲面を加算した後の格子 (xi , yj ) が持つ値 G(xi , yj )′ は次のように求められる。

G(xi , yj )′ = G(xi , yj ) +vmYp (xi , yj )vp

(2.18)

ここで、vp は正の変形曲面の体積、vm は負の変形曲面によって減少した体積である。vp は正の変形曲面内部に含まれる格子数 n1 を用いて、

vp =

n1
∑

Yp (xi , yj )(2.19)

で求められ、vm は負の変形曲面に含まれる格子数 n2 を用いることで次のように求められる。
n2
∑
vm =
(g(xi , yj ) − g(xi , yj )′ )(2.20)

13

第3章

3.1

剛体による固体群操作モデルの拡張提案モデルの概要

第 2 章 2.5 節で説明した剛体による固体群操作モデルは、剛体により固体群の一部分のみを操作するためのモデルである。このモデルでは、剛体は固体群と接触する部分 (固体群操作部) が１つ以上の長方形からなるものとし、固体群操作部が鉛直となる姿勢で、水平面上を平行移動するものとした。本モデルでは、従来モデルの水平方向の移動に上下の移動を追加することで移動範囲の拡張を行う。さらに、面の向きを鉛直軸により回転する操作を可能とし、計 4 自由度とすることで、さらなる臨場感の向上を目指す。移動範囲の拡張に伴う問題として、以下のことが考えられる。

• 固体群操作部と固体群の干渉判定• 固体群操作部による固体群の変形
これらの問題を解決することで、剛体による固体群操作モデルの拡張を実現する。以下に手順の概要を示す。

1. 固体群操作部を構成する頂点の凸包を基に、固体群との干渉判定を行う。
2. 干渉した領域の固体群を移動する。
3. 移動すべき体積と同じ体積を持つ変形曲面により移動を完了する。

3.2

調理器具と固体群の干渉判定

3.2.1

凸包と固体群との干渉判定

従来の剛体による固体群操作モデルでは、調理器具の移動軌跡に負の変形曲面の四分楕円柱を配置することで、剛体と干渉した固体群の変形を表現していた。本モデルでは移動範囲の拡張の他に面の向きを鉛直軸により回転する操作を可能としている。しかし、移動軌跡に負の変形曲面の四分楕円柱を生成する方法では、回転を加えた移動をした際、移動軌跡が直方体とならないた
め、四分楕円柱で表現することができない (図 3.1)。そこで、本モデルでは調理器具の固体群操作部を構成する頂点により構成される三次元凸包を考え、その凸包と固体群の干渉を調理器具と固体群の干渉として扱う。なお、凸包とは「凸包内の任意の 2 点を結ぶ線分が凸包内に含まれるもの」と定義されるものであり、三次元凸包（以下、凸包と呼称）の生成方法は文献 [11] を参照されたい。

第 3 章 剛体による固体群操作モデルの拡張

14ᅛయ⩌᧯స㒊䛾⛣ື㌶㊧᫬้

᫬้ ൅ ο

図 3.1: 負の変形曲面の四分楕円柱が適応できない例

図 3.2: 凸包の例

調理器具は三次元空間内を自由に平行移動させることができるため、凸包を構成する点は三次元座標により表される。そこで、ある格子 (xi , yj ) 上の固体群の高さが f (xi , yj ) で表されるとき、
h とし、同様に点 (x , y , 0) を P z とする。このとき、以下の 2 つの条件
点 (xi , yj , f (xi , yj )) を Pij
i jij

を満たす場合、固体群は凸包 Hch と干渉していると判定する。

1. 凸包 Hch をハイトフィールドの格子の平面 (以下、格子座標平面と呼称) に正射影した平面′ と、ハイトフィールドの格子 p = (x , y ) が、p ⊂ H ′図形 Hchij
i j
ijchz と P h を通過する直線 lz
2. Pijzh と凸包 Hch の交点 Pij が存在するとき、Pij と Pij の距離が、
ij

ハイトフィールドの格子の持つ高さ f (xi , yj ) よりも小さい (3.2.2 節にて説明)。

3.2.2

直線と凸包の交点

凸包を構成する三角形 Sk の 3 つ頂点の Ak , Bk , Ck を、直線 lzh が鉛直となるようにアフィン′ とする (図 3.3
変換したものを、A′k , Bk′ , Ck′ とする。また、鉛直となるように変換した直線は lzh

参照)。
′ の交点を P ′ とすると、P ′ = (x , y , z ) であり、未知である P ′三角形 Sk′ と直線 lzhi j ijk
ijk の
ijk
ijk
z

値は次のように求められる。
′= A′kz −
Pijk
z

}
1 { ′
′
′
′
′
′
−
A
)
−
A
)
+
n
(P
n
(P
ky
kx
ky
ijk y
kx ijk x
n′kz

(3.1)

′
= (xi , yj , zijk ) であるため、ハイトフィール
なお、n′k は三角形 Sk′ の法線ベクトルである。Pijk

ドの格子 (xi , yj ) における、凸包との交点までの距離 zijk と言える。
ここで、凸包と直線が干渉している場合、2 つの交点を持つことが凸包の定義より明らかなので、

第 3 章 剛体による固体群操作モデルの拡張

15ฝໟ䜢ᵓᡂ䛩䜛୕ゅᙧܲ௜௝௛ ͛


ܲ௜௝௛

͛
ܲ͛

ܲ

͛
͛




ܲ௜௝௭

ܲ௜௝௭ Ԣ݈௭௛݈௭௛ ͛᱁Ꮚᗙᶆᖹ㠃
図 3.3: 直線lzh が鉛直になるようにアフィン変換

2 点を区別するため、ハイトフィールドの格子 (xi , yj ) において凸包と干渉している高さ zijk が低い方の高さを hl (xi , yj )、高い方の高さを hh (xi , yj ) とする (図 3.4 参照)。

݄௛ ሺ‫ݔ‬௜ ͕ ‫ݕ‬௝ Ϳ݄௟ ሺ‫ݔ‬௜ ͕ ‫ݕ‬௝ Ϳሺ‫ݔ‬௜ ͕‫ݕ‬௝ ሻ

図 3.4: 凸包と直線との交点

3.3

調理器具の移動軌跡と固体群が干渉した領域の固体群の変形

調理器具の固体群操作部の上を越えていく固体はその下にある固体との摩擦によって、ある程度の量が引きずられるように動く (図 3.5 参照)。そこで、固体群操作部とある格子 (xi , yj ) とが干第 3 章 剛体による固体群操作モデルの拡張

16ฝໟ๛య䛸䛾ᖸ΅䛷ῶ⟬䛩䜛య✚

ㄪ⌮ჾලᖸ΅๓䛾䝝䜲䝖䝣䜱䞊䝹䝗

ㄪ⌮ჾලᖸ΅ᚋ䛾䝝䜲䝖䝣䜱䞊䝹䝗

図 3.5: 凸包と固体群の干渉

sub は次のように求め、負の変形曲面を構成する。
渉している場合にその格子から減らす値 vij

sub
vij
=




0

(

f (xi , yj ) − hl (xi , yj )f (xi ,yj )−hh (xi ,yj )f (xi , yj ) − (hh (xi , yj ) − hl (xi , yj )) −2)
f (xi , yj ) < hl (xi , yj )( l)h (xi , yj ) ≤ f (xi , yj ) ≤ hh (xi , yj )()
f (xi , yj ) > hh (xi , yj )(3.2)

この処理において、減算された体積の総和 V sub は、ハイトフィールドの全格子数 N を用いると、次のようになる。

V sub =

N
∑

sub
vij

(3.3)

sub を減算する処理を行うことで、固体群が調理器具の移動軌跡との干渉により
格子 (xi , yj ) から vij

変形する挙動を表現する。

3.4

移動範囲拡張にともなう正の変形曲面

3.4.1

四分楕円柱の三次元空間上への生成

従来モデルでの調理器具と固体群との干渉を表現する変形曲面は、負の変形曲面の四分楕円柱と、正の変形曲面の四分楕円柱であった。負の変形曲面で表現していた部分の変更については、3.2
節で説明した通りである。従来モデルでの正の変形曲面の四分楕円柱の姿勢は、調理器具上に設定した基準点 X を水平面に正射影した点 X ′ を四分楕円柱の中心とし、四分楕円柱の長半径 a が調理容器底面と並行になるように生成していた。しかし、調理器具の 6 自由度の操作を考えた場
合、調理容器底面と四分楕円柱の長半径 a がいつも平行であるとは限らない。そこで、将来の自由度の拡張も視野に入れ、四分楕円柱を三次元空間上に生成する手法を提案する。

第 3 章 剛体による固体群操作モデルの拡張17

生成する正の変形曲面は四分楕円柱とするため、変形曲面を定義する変数は以下のようにする(図 3.6 参照)。
• 四分楕円柱の断面となる楕円の長半径 a• 四分楕円柱の断面となる楕円の短半径 b• 楕円柱の長さ d• 空間上の位置 oC• 楕円の短軸と長軸に直交する直線 LCᅛయ⩌᧯స㒊䛾㠃


஼





஼



図 3.6: 拡張四分楕円柱のパラメータ空間上での位置 oC は固体群操作部上に設定する基準点を用いて決定する。楕円柱の高さ c は固体群操作部の幅 d(図 2.9 参照) を設定する。楕円の短軸と長軸に直交する直線 LC は固体群操作部の法線と平行で、点 oC を含むような直線とする。固体群操作部の一番下の部分である辺を固体群
操作部の底辺と呼ぶと、長半径 a の方向を固体群操作部の面法線と平行に設定し、短半径 b の方
向は固体群操作部の面に平行、かつ固体群操作部の底辺と垂直に設定する。長半径 a は調理器具の移動速度 v と固体群操作部の面の法線 n を用いて、次のように決定する。

a = T3 |v · n|

(3.4)

ここで、T3 は定数である。この四分楕円柱によって格子に加算する値は 3.3 節にて求めた、減算
された体積の総和より求めるため、短半径 b には定数を与える。

3.4.2

正の変形曲面の高さ

四分楕円柱を三次元空間上に生成する場合、四分楕円柱は三次元的な情報を保持するが、固体群を表現するハイトフィールドは平面である。そこで、3.2 節で説明した手法を一部変更したもの

第 3 章 剛体による固体群操作モデルの拡張18を用いる。次の条件が成り立つとき、ハイトフィールドの格子 (xi , yj ) 上に正の変形曲面の四分楕円柱が存在する。

• 凸包 Hch をハイトフィールドの格子の平面 (以下、格子座標平面と呼称) に正射影した平面′ と、ハイトフィールドの格子 p = (x , y ) が、p ⊂ H ′図形 Hch
ij
i j
ij
ch

ハイトフィールドの格子 (xi , yj ) 上に三次元空間内に生成した四分楕円柱が存在するとき、格子add は、3.2.2 節で説明した hh (x , y )、hl (x , y ) を用いて、(xi , yj ) 上に存在する四分楕円柱の高さ viji ji j

次のように求める。
addvij= hh (xi , yj ) − hl (xi , yj )

3.4.3

(3.5)

調理器具の正の変形曲面による格子への加算

調理器具の移動軌跡との干渉によって減算した体積と同じ体積を持つ四分楕円柱を生成し、格子に値を加算する。しかし、固体群の形状は格子により表現しているため、離散化した値を用いるので、体積が保持されるとは限らない。そこで、減算した体積と正の変形曲面により加算する
体積を同じにするため、格子に加算する値に対して修正を行う。正の変形曲面により格子の値を増加させる体積の総和 V add は、次のように求められる。

V

add

=

N
∑

add
vij

(3.6)

格子 (xi , yj ) が正の変形曲面を加算する前の値を G(xi , yj ) とすると、加算した後の持つ値 G(xi , yj )′は、次のように求められる。

G(xi , yj )′ = G(xi , yj ) +V add addv
V sub ij

(3.7)

19

第4章

4.1

実験および結果

実験システム以上に上げた提案モデルを用いて実験システムを作成した。この研究では、最終目標が一般向
けの調理学習システムであることから、デバイスを特定せずに利用できるシステムを想定している。今回は入力装置として、任天堂株式会社から発売されている Wii リモコン、POLHEMUS 社
から発売されている PATRIOT を用いた。Wii リモコンには加速度センサと赤外線センサが搭載されているが、今回の実験システムでは赤外線センサは使用せず、加速度センサにより調理容器の回転を行うようにした。また、PATRIOT は磁気を利用した 3 次元位置測定装置であり、6 自由度の動作を取得することが可能である。今回はこのセンサを使用することで調理器具の移動、鉛直方向の回転を行うようにした。以下の構成の計算機で実験システムを構築した。

• CPU : Intel(R)Core i5-2400 CPU 3.10GHz• RAM : 4GB• GPU : NVIDIA(R) GeForce GT 430
実験システムでは、調理容器の直径が 260mm、側面の高さが 80mm の円柱状のフライパン、調理器具はヘラ、固体群を炒飯と想定している。図 4.1 に実験の様子を示す。ハイトフィールドの格子数は 901 に設定した。体験者は、Wii リモコンを操作することで、調理容器を傾けることができ、

PATRIOT を取り付けたヘラを操作することで、調理器具を移動させることができる。本実験システムでは、体験者は調理容器内の固体群に対して以下のような操作をすることが可能である。

• 調理容器を傾け、容器内の固体群の滑らせる• 調理器具を用いて、容器内の固体群を押し動かす
図 4.2 は調理容器内の固体群を、調理器具のヘラを用いて押し動かしている様子である。調理器具
により固体群が押し動かされ、調理器具の進行方向に固体群が盛り上がる様子がわかる。

第 4 章 実験および結果

20

図 4.1: 実験の様子

図 4.2: 調理器具による固体群の操作の様子

第 4 章 実験および結果

4.2

21

処理速度についての評価

実験システムを用いて、提案モデルにおけるハイトフィールドの格子数と処理時間の関係について調べた。実験中の操作を人間が行うと、処理速度に差が生じてしまうため、あらかじめ操作
データを記録しておき、その入力データを用いて実験を行った。表 4.1 に各格子数における描画更新速度 (FPS) を示す。なお、小数点以下を四捨五入した値である。
表 4.1: 処理速度についての実験結果
ハイトフィールド格子数 FPS(平均)

317
901
1876

1420
1028
659

予備調査を行った結果、調理容器内のハイトフィールドの格子数は 317 点で固体群挙動が自然に感じられるとの評価が得られている。調理容器内のハイトフィールドの格子数を 317 点より多い状態の結果も示したが、これは複数の調理容器にハイトフィールドを配置するとき、それだけ
ハイトフィールドの格子数が増えるため、複数の調理容器での操作を考える際に参考となる。一般的に対話操作システムには 10-12FPS 以上の処理速度が必要と言われているが、表 4.1 に示したように、本モデルはハイトフィールドの格子数を 317 に設定して処理を行った場合、1420FPS である。これは、対話操作を行うには十分な処理速度であり、他のシステムと併用する余地がある
といえる。

4.3

挙動の自然さについての評価提案モデルの調理器具の動きによる固体群挙動について評価するため、本実験システムを体験してもらい、簡単なアンケートを行った。ハイトフィールドの格子数は 317 点に設定し、手順は以下の通りに行った。

1. システムの概要と操作方法を説明し、操作に慣れるまで操作してもらう。
2. 従来モデルにおける調理器具の移動範囲についての説明を行い、任意の操作をしてもらった
後、調理器具の動きによる固体群挙動の自然さについて 7 段階評価のアンケートに答えてもらう。

3. 提案モデルにおける調理器具の移動範囲についての説明を行い、任意の操作をしてもらった
後、調理器具の動きによる固体群挙動の自然さについて 7 段階評価のアンケートに答えてもらう。

7 段階評価のアンケートの目安はいずれも、• 評価 1:全く自然に見えない

第 4 章 実験および結果

22• 評価 7:現実と同程度に見えるとした。図 4.3 に従来モデル、提案モデルの両モデルにおける調理器具による固体群の挙動についての評価結果を示す。

ϳ
ϲ
ϱ
ϰ

ே
ᩘ ϯ

ᚑ᮶䝰䝕䝹
ᥦ᱌䝰䝕䝹

Ϯ
ϭ
Ϭ
ϭ

Ϯ

ϯ

ϰ

ϱ

ϲ

ϳ

ホ౯Ⅼ
図 4.3: 挙動の自然さについての評価

図 4.3 より、被験者の全員から従来モデル、提案モデルの両モデルにおいて、評価点 4 以上の評価点が得られた。さらに、従来モデルと提案モデルを比べた場合では、従来モデルの評価点の平均 4.5 点に対して、提案モデルの評価点の平均が 5.75 点と 1 点以上上昇したことがわかった。また、提案モデルによる移動範囲の拡張、調理器具の鉛直軸回転の追加について、実際に調理器具を動かしている感じがした、固体群を押し分けている感じがして良い、固体群を平らにならす動
作が現実に近い動作で良いという意見が得られた。

23

第5章

むすび

本研究では、従来の調理器具のモデルに、上下の移動を追加することで移動範囲を拡張し、さらに、面の向きを鉛直軸により回転可能することによって、調理器具の操作の自由度を上げた。その上で、調理器具の固体群を変形させる部分について凸包を考え、その凸包内部に含まれる固体群の移動を表現することで、調理器具の移動範囲の拡張、鉛直軸による回転を追加を実現した。実験システムでは対話操作を行うには十分な速度で、調理器具と固体群の干渉の表現が自然に感じられることが確認できた。
今後の課題として、調理器具の操作を 6 自由度にすることが挙げられる。調理器具上に固体群がのっている状態を表現するため、本研究では扱うことが出来なかった固体群操作モデルの根本的な拡張をすることで、6 自由度の操作を可能にすると考えられる。また、舞い上がった固体群や、こぼれ落ちる固体群などの調理容器外での固体群との干渉を表現することで、調理器具による固体群操作は、よりいっそう臨場感を向上すると考えられる。
本研究の最終目標は「VR 調理学習システム」の構築である。そのため、本モデルの他にも食材を洗う、食材を切るといった調理工程のためのモデルを提案し、本モデルと組み合わせることで、VR 調理学習システムを完成させていく予定である。

24

謝辞

本研究を進めるにあたって, 日頃から多大な御尽力をいただき, 御指導を賜りました名古屋工業
大学、舟橋健司准教授、伊藤宏隆助教、山本大介助教に心から感謝いたします。また、本研究に対して御討論、御協力いただきました本学中村研究室の皆様ならびに中部大学岩堀研究室の皆様に深く感謝致します。最後に、 本研究に多大なご協力を頂いた舟橋研究室諸氏に心から感謝致し
ます。

25

参考文献

[1] 舘暲, 佐藤誠, 廣瀬通孝:

バーチャルリアリティ学 , 工業調査会, 2010.

[2] 向井信彦, 西村律郎, 小杉信: ”手術シミュレータ向け出血表現の高速化手法” , 日本バーチャル
リアリティ学会論文誌 Vol.11, No.3 pp.371-376, 2006.

[3] 瀬戸崎典夫, 森田裕介, 武田仰:ニーズ調査に基づいた多視点型 VR 教材の開発と授業実践 ,日本バーチャルリアリティ学会論文誌 Vol.11, No.4 pp.537-544, 2006.

[4] 渡部 直人, 田邉 亨, 原田 哲也:

ヒューマンエラー誘発機能など特徴的な機能を実装した VR

訓練システムの開発と評価 , 日本バーチャルリアリティ学会論文誌 Vol.11, No.4, pp.497-504,

2006.
[5] 任天堂株式会社 Wii,
http://www.nintendo.co.jp/index.html[6] 株式会社スクウェア・エニックス クッキングママ,
http://www.square-enix.com/jp/archive/wii_cookmama/[7] 小田康行, 村岡一信, 千葉則茂:

溶岩流の粒子ベース・ビジュアルシミュレーション , 芸術科学会論文誌, Vol.2, No.1 pp.51-60, 2003.

[8] 西田友是, 尾上耕一:

Virtual Sandbox , Proceedings of IEEE 2003 Paciﬁc Conference on

Computer Graphics and Applications, pp.252-259, 2003.
[9] 舟橋健司, 小栗進一郎: 家庭での利用を目的とした VR 調理学習システムのための固体群操作モデルの検討 , 日本バーチャルリアリティ学会第 13 回大会講演論文集, pp.171-172 (DVD-ROM),

2008.
[10] 森井敦士, 森愛絵, 山本大介, 舟橋健司:

VR 調理学習システムのための剛体による固体群操

作モデル , 日本バーチャルリアリティ学会第 15 回大会講演論文集, 2C2-2(DVD-ROM), 2010.

[11] 杉原厚吉:

FORTRAN 計算幾何プログラミング , 岩波書店, 1998