平成 25 年度 修士論文

VR 調理学習システムのための近接ハイトフィールド間における固体群の挙動表現

Behavior of Group of Individual Bodies between
Neighboring Height Fields for VR Cooking System

指導教員
舟橋

名古屋工業大学大学院
博士前期課程平成 24 年度入学

栗本

工学研究科

情報工学専攻24417535 番

雄多

健司

准教授

i

目次

第 1 章 はじめに

1

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

42.1

調理容器と固体群の形状表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42.2

固体群挙動の表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.3

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

7

2.3.1

半楕円柱形状の変形曲面 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

2.3.2

半楕円体形状の変形曲面 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.3.3

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

11粒子による固体群の表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.4

2.4.1

存在確率に基づく固体群粒子. . . . . . . . . . . . . . . . . . . . . . . . .

12

2.4.2

容器外へこぼれる固体群粒子. . . . . . . . . . . . . . . . . . . . . . . . .

12

2.5

固体群の崩れ表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

2.6

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

16

2.6.1

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

17

2.6.2

操作面を垂直にした調理器具と固体群の干渉による固体群の形状変化 . . .

18

2.6.3

操作面を水平にした調理器具と固体群の干渉による固体群の形状変化 . . .

20

第 3 章 近接ハイトフィールド間における固体群挙動

23

3.1

提案手法の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.2

ハイトフィールド間の仮想の境界 . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

3.2.1

仮想の壁 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

3.2.2

仮想の固体群操作面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

3.3

仮想の固体群操作面による固体群移動 . . . . . . . . . . . . . . . . . . . . . . . . .

26

3.4

仮想ハイトフィールド上での固体群の挙動計算 . . . . . . . . . . . . . . . . . . . .

28

3.4.1

仮想ハイトフィールド . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

3.4.2

ハイトフィールド間の挙動計算 . . . . . . . . . . . . . . . . . . . . . . . .

30

ii

第 4 章 実験と結果

36

4.1

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

36

4.2

実験結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

第 5 章 むすび

44

謝辞

45

参考文献

46

1

第1章

はじめに

バーチャルリアリティ（Virtual Reality：以下 VR）とは，みかけは現実ではないが，現実の本質を有するものである．現実空間における人間の感覚を抽出し，生成することにより，被験者に現実空間と同等の環境を提供することができる [1]．VR 技術により現実ではないが本質的に等価な空間を作り出すことで様々な体験が可能となるため，VR システムには現実空間で生じる危険を回避する，コストを削減するといった利点がある．このような利点から，医療や産業など様々な分野
で VR を用いたシミュレータが開発されている．また，高度な技術を習得するための訓練は特殊な環境を必要とすることが多いため，技術の発展に伴い VR シミュレータの活躍の場が広がってきている．例えば，医療分野では内視鏡手術を支援するシミュレータが開発されている [2]．内視鏡手術はモニターを見ながら器具を操作するため，空間を認識する能力や自らの手ではなく器具を用いて繊細な作業をする能力が要求される．これらの能力を磨くためには理論を学ぶだけでは不十分であり，実体験によりフィードバックを得ることが重要である．実際の手術と同等の環境をシミュレータで体験することにより，少ないコストで効率的な訓練が可能となる．また，産業
分野では自動車運転を体験できるドライブシミュレータが開発されている [3]．操作者を囲むように大型のスクリーンを配置し，音や振動を与えることで没入感を提供している．このシステムは，運転技術の向上や道路設計，アミューズメント施設に活用されている．近年はテーマパークのア
トラクションや，イベントの展示などで VR を体験できる機会が増え，その存在を身近に感じられるようになったと言える．VR システムの装置は大型かつ高価なものが多く，一般家庭に広く普及しているとは言い難いが，ゲームコントローラをはじめ，直感的な操作が可能なデバイスが安価で入手可能となってきており，今後は一般家庭における高性能なデバイスの普及が期待される．
一般家庭を対象とした学習支援コンテンツの 1 つとして料理に着目してみる．近年の少子化や核家族の増加に伴い調理に関する知識，技術不足が懸念されるため，食生活を支援するシステムの需要が高まっている．例として，栄養バランスを考慮した料理レシピを自動生成する手法 [4] や，
テキスト教材に対応した調理動作の映像を提供するマルチメディア料理レシピの生成手法 [5] が提案されている．これらは，料理に関する知識をユーザに提供するものである．また，ユーザ自らが調理を体験し，学習するシステムの研究も行われている．その一例として，調理行為のセンシングにより専門家さながらの技術を再現可能な調理器具 [6] が挙げられる．このようなセンシング
技術を活用した調理に関する研究は調理学習支援の他，調理用ロボットの開発を目的としており，実際に開発も行われている [7]．一方，VR 技術により調理をシミュレート可能なシステムとして，

第 1 章 はじめに2

加熱による食品の変化を視認できるインタラクティブな調理体験シミュレータ [8] が開発されている．ユーザが実際に操作するフライパン上に食材の映像を提示し，過熱による調理効果を確認することができる．実際に提供されているコンテンツであるクッキングママ [9] は，料理の手順を体験できるゲームであり，調理学習にエンタテインメント性を付与している．
このような分野において当研究室では，一般家庭を対象とした VR 調理学習システムの開発を行っている．このシステムはユーザが体を動かして調理工程を体験することにより，基本的な手順を学習することを目的としている．専門的な調理技術を磨くためのものではなく，調理経験の不足により懸念される調理工程の作業効率の悪さを改善するためのものである．調理経験が少ない者は調理技術が未熟なだけでなく，一連の調理工程における作業効率が悪いという問題が挙げられる．調理は複数の食材を準備，加工しながら進めるため，経験を積むことで手際の良さを身につけることが期待できる．したがって，本システムは調理工程を網羅していること，ユーザが調理工程をインタラクティブに体験できることが重要である．
当研究室ではこれまでに調理工程における食材の操作に関する研究を行ってきた．調理工程で操作対象となるのは剛体や弾性体，流体であり，その挙動をリアルタイムに表現する必要がある．
これらはその構成要素である食材片の大きさや粘性，弾性など様々な特徴によって挙動が変化す
るが，特に米のような小さな固体の集まりの挙動は複雑である．小さな固体の集まりの挙動に関しては様々な手法が提案されており，溶岩 [10] や砂 [11][12][13] を対象とした研究が多く行われている．文献 [10] では溶岩流を粒子群の運動により定義し，粒子法を用いて厳密な挙動を再現している．ところが，粒子一つ一つに作用する衝突や重力の影響を計算し，多くの計算時間を要するため，安価で対話操作可能なシステムの構築に適したモデルではない．文献 [11] では粒子法とハ
イトフィールドによる挙動計算を組み合わせることで臨場感のある挙動と高速な計算を実現しているが，リアルタイムシミュレーションが可能な計算速度には至っていない．また，文献 [12] ではハイトフィールドにより砂と剛体の干渉を表現しているが，局所的な操作においては逐次計算を行うため計算量が大きく，調理工程を網羅するような総合的なシステムへの応用は難しい．文献 [13] では剛体との干渉による砂の崩れをリアルタイムに表現しているが，砂の表面は一つに限定されており，砂をすくい上げることはできないため，調理学習システムへ応用するためにはモデルの拡張が必要である．VR 調理学習システムでは，調理工程のあらゆる状況を再現できること，操作者が期待する挙動を再現することに重点をおき，高い処理速度を維持する必要がある．
そこで，当研究室では対話操作を実現するための方法として，固体群操作モデルを提案している [14][15]．本モデルでは「複数の小さな固体で構成されるが，全体を一つの集合として扱う対象」
を固体群と定義し，固体群全体に作用する力学的影響を一括して近似的に計算する．固体群の構
成要素である個々の固体の挙動計算は行わず，固体群全体を一つの計算対象とし，非常に高速な処理を実現している．具体的には，固体群を粒子により表現するのではなく，2 次元格子上のハイ
トフィールドにより表現し，各格子における固体の体積の和を固体群の総体積とする．

第 1 章 はじめに

3

また，調理容器操作により固体群を扱うだけでなく，固体群を局所的に操作するため，操作者が自由に動かすことのできる調理器具を導入した [16]．このモデルでは，調理器具と固体群の干渉を表現し，より直感的な操作を可能とした．さらに，調理器具にハイトフィールドを定義する
ことにより固体群をすくい上げるモデルを提案し，より直感的な操作の実現を目指している [17]．
システムの完成を目指すうえで，フライパン内の炒飯を皿に盛りつける，ヘラですくうなどの操作を再現するためには，操作者が扱う容器や器具と同数のハイトフィールドを扱う必要がある．
当研究室がこれまでに提案している固体群操作モデルでは，それぞれのハイトフィールド内の固体群を計算対象としているため，近接した複数のハイトフィールドにまたがる固体群挙動は考慮していない．そこで，本論文では高速な処理速度を維持しつつ，近接ハイトフィールド間の固体群挙動を一体的に扱い，ハイトフィールド間の固体群移動を表現するためのモデルを提案する．
以下，２章では固体群操作モデルの概略を説明する．３章では近接ハイトフィールド間の固体群の挙動を考慮した固体群操作モデルの改良について説明する．４章では提案手法に基づいた実験及び結果を示し，５章では本研究のまとめを述べる．

4

第2章

2.1

従来の固体群操作モデル

調理容器と固体群の形状表現

当研究室が提案している従来の固体群操作モデルでは調理容器内の食材片の集合である固体群を一つの操作対象として扱い，固体群に作用する力学的影響を近似的に計算することで挙動を表現する．調理容器底面に 2 次元格子を定義し，固体群をハイトフィールドで表現する（図 2.1）．
格子座標 (xi , yj ) における高さを h(xi , yj )，底面積を S(xi , yj ) とすると，その格子に存在する体積

V (xi , yj ) は以下のように表される．
V (xi , yj ) = S(xi , yj )h(xi , yj )(2.1)

したがって，調理容器 c 内に存在する固体群の総体積 Vc は，ハイトフィールドの全格子数 N を用いて以下のように表される．

Vc =

N
∑

V (xc , yc )(2.2)

また，中華鍋の操作を想定し，調理容器の形状を多角柱から部分球に拡張した [18]．部分球形状の容器の底部は球状であるため，底部に沿ったハイトフィールドを定義することは難しい．そこ
で，容器形状を表現するための容器ハイトフィールドを基準面上に定義する（図 2.2）．部分球を含む球の半径を Rs とすると，三次元座標における球は以下の式で表される．

x2 + y 2 + (z − Rs )2 = Rs2(2.3)

したがって，格子座標 (xi , yj ) における容器底面の高さ hs (xi , yj ) は以下のように決定される．

hs (xi , yj ) = Rs −√Rs2 − x2i − yj2(2.4)

また，格子 (xi , yj ) における基準面の高さは hs (xi , yj ) + hs (xi , yj ) で表される．各格子に値を設定し，テクスチャマッピングにより固体群を表現する．

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

5

‫ݖ‬
‫ݕ‬

‫ݔ‬
図 2.1: 調理容器底面の 2 次元格子と固体群

zs
ys

xs

図 2.2: 基準面上の部分球容器

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

2.2

6

固体群挙動の表現

調理容器を傾ける，振るなどの操作により個々の食材片に重力や摩擦力などが作用するが，これらを厳密に計算すると計算時間が増加し，対話操作性が損なわれてしまう．そこで，固体群を構成する個々の固体の挙動計算は行わず，全体を一括して扱うことで挙動計算を高速化し，対話操作を可能としている．また，固体群全体，あるいはその一部分における形状変化を曲面で近似的に表現する．このような曲面を変形曲面と呼称する．ある時刻 t から時刻 t + ∆t における調理
容器内の固体群挙動の例として，固体群の断面図を用いて図 2.3 に示す．

1

2

時刻t

3

曲面を生成・加算

時刻‫ ݐ‬+ ∆‫ݐ‬

図 2.3: 曲面による固体群の移動表現

1. 固体群は傾けられた容器の底面に沿って下に移動すると考えられる．
2. 変形曲面により固体群の体積を局所的に増加させたり，減少させたりする．
3. 時刻 t + ∆t において固体群が前時刻よりも下に移動する．
図 2.3 の処理により，調理容器内を滑る固体群が表現できるが，調理容器の傾きや固体群の形状に応じて変形曲面の厳密な形状を求めることは困難である．そこで，本モデルの実験システムにおいては代替の処理を段階的に行う．この処理を図 2.3 と同様に，固体群の断面図を用いて図 2.4 に示す．

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

1

2

7

3

4

݃
‫ݐ‬

‫ ݐ‬+△ ‫ݐ‬

図 2.4: 曲面による固体群の移動表現（代替処理を行う場合）

1. 固体群は傾けられた容器の底面に沿って下に移動すると考えられる．
2. まず，正の変形曲面により固体群の体積を局所的に増加させる．
3. 続いて，負の変形曲面により固体群の体積を減少させ，変形曲面を適用する前の体積と等しくする．

4. 時刻 t + ∆t において固体群が前時刻よりも下に移動する．

2.3

変形曲面

本節では，図 2.4 に示した固体群の移動を表現するための変形曲面について説明する．モデルの簡略化のため，正の変形曲面の形状は多角柱形状の容器を用いる場合に半楕円柱，部分球形状の容器を用いる場合に半楕円体とする．これらの変形曲面を適用後，負の変形曲面により体積を一定に保ち，挙動を表現する．

2.3.1

半楕円柱形状の変形曲面

半楕円柱形状の変形曲面を図 2.5，変形曲面を定義する変数を以下に示す．

• 調理容器底面と平行である楕円の長半径 a• 調理容器底面と垂直である楕円の短半径 b• 調理容器内での位置 oD• 楕円柱の中心軸 LD• 楕円柱の長さ rD

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

8

b

oD

a
LD

rD

図 2.5: 半楕円柱の変形曲面

調理容器内の固体群が外力によって移動する様子を，変形曲面を適用することで表現する．調理容
器を振る，傾けることで調理容器内の固体群に容器底面と平行な力 Fb が加わるとする（図 2.6）．
このとき，固体群は重心 Gc に集まっていると仮定し，変形曲面の生成位置を Gc から Fb の方向に設定する．重心 Gc および半楕円柱の生成位置 oD は以下のように求める．

1 ∑h(xi , yj )mijVNG=oD = G +

(2.5)

Fb
va
| Fb |(2.6)

mij はハイトフィールドの格子の座標であり，v は任意の定数である．半楕円柱の断面となる楕
円の長半径 a は固体群の移動距離および移動する体積の双方に関する変数である．つまり，a = 0
であれば変形曲面は適用されず，固体群は移動しない．固体群は剛体とは異なり，図 2.7 のように一部が容器端に到達した場合でも移動し続けるため，固体群の大部分が容器の端に移動し終えるまで a > 0 とする必要がある．そこで，調理容器の側面から固体群に作用する垂直効力 FN を考え，a は調理容器の端に接している固体群の量に対して減少するよう，以下のように設定する．
T − | F ′ | (T ≥| F ′ |)
1
1
N
N
a=
(2.7)
0
(T1 <| F ′ |)N

ここで，T1 は定数，FN′ は調理容器の側面からの抗力 FN のうち，Fb に平行な成分である．FN は容器の側面に接する固体群の量とその重心から近似的に求める．ここで，FN′ は以下のように求め

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

9ܽ‫ܨ‬௕ = ݉݃ sin ߠ‫ܨ‬௕ = ݉ܽߠ݃݃
図 2.6: 容器を振る，傾ける場合に固体群に作用する外力

図 2.7: 調理容器端での固体群の挙動られる．

FN′ = − | FN | cosϕFb
| Fb |(2.8)

また cosϕ および FN は以下のように求められる．

cosϕ =

FN · Fb
Gside
FN = T2 Vcside cside| FN || Fb || Gc |(2.9)

は調理容器側面
ここで，T2 は定数，Vcside は調理容器側面に接している格子の体積の総和，Gsidecに接している固体群の重心であり，以下のように求められる．

Vcside

=

Gside
=
c

N
side
∑

h(x′i , yj′ )1VcsideNside∑h(x′i , yj′ )mi′ j ′(2.10)(2.11)

N side は調理容器内に定義されたハイトフィールドの格子のうち，調理容器の側面に接している格子 (xi′ , yi′ ) の総数であり，mi′ j ′ は格子 (xi′ , yj ′ ) の座標である．長半径 a は固体群が容器の側面か

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

10

ら受ける抗力を考慮して定義されたパラメータであるが，固体群に作用する力や固体群の体積による影響が少ない．よって，これを補うために短半径 b を以下のように設定する．
T ′ − | F | −µ′ √V (| F |≥ µ)
c
b
b
2
b=
0
(| Fb |< µ)(2.12)

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

LD = oD + tlD(2.13)

lD は以下の条件を満たすベクトルである．
lD ·

Fb
=0
| Fb |(2.14)

楕円柱の長さ rD は，調理容器底面を構成する平面図形と直線 LD の交点を結んでできる線分の長さと等しくなるように設定する．以上で決定した変形曲面のパラメータにより，変形曲面を生成して固体群に加算する．変形曲面による加算は，対象の格子 (xi , yj ) の座標 mij と直線 LD との距離

lij が lij ≤ a となる格子に行う．変形曲面により加算された後のハイトフィールドの格子 (xi , yj )の値 h(xi , yj ) は以下のように求める．

(√
)
( )2


lij
h(xi , yj ) + b
1− ah′ (xi , yj ) =h(x , y )ij(lij ≤ a)(2.15)(lij > a)変形曲面による各格子の値の変化分を決定し，固体群の体積を増加させる．

2.3.2

半楕円体形状の変形曲面

半楕円体形状の変形曲面を定義する変数を以下に示す．

• 半楕円体の赤道半径 a′• 半楕円体の極半径 b′• 調理容器内での位置 o′D
赤道半径 a′ は体積によって変化させるため，

a′ = T1′√

Vc(2.16)

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

11とする．T1′ は任意の定数，Vc は容器内に存在する固体群の体積を表すパラメータである．固体群の体積を軸の計算に用いる場合は，計算の簡略化のため平方根に定数をかけることで近似する．極半径 b′ には固体群にかかる力や容器内固体群の総体積，容器曲面から固体群が受ける摩擦力を考慮し，以下のように決定する．

(| F | −µ′ )T ′ √V
c
d
2
′
b =
0

(| Fd | −µ ≥ µ)(| Fd | −µ < µ)(2.17)

T2′ は任意の定数，外力 Fd は容器操作により作用する力 Fb と容器形状により作用する力 Fc の合
力，µ，µprime は固体群が容器から受ける最大静止摩擦力および動摩擦力である．Vc は容器内に存在する固体群の体積である．変形曲面の生成位置 o′D は固体群の重心 Gc から固体群が受ける力

Fd の向きに移動させた位置に設定する．o′D は定数 v ′ を用いて以下のように表される．
o′D = Gc + v ′Fd| Fd |(2.18)

ある座標 (xi , yj ) における半楕円体形状の変形曲面の高さ h(xi , yj )′ は，変形曲面の生成位置 o′D か′ とすると，ら (xi , yj の距離を lij√h(xi , yj )′ = b′  1 −( ′ )2lija′(2.19)となる．ただし l′ ≤ a′ である．変形曲面による各格子の値の変化分を決定し，固体群の体積を増
加させる．

2.3.3

負の変形曲面

前述の正の変形曲面を適用しただけでは固体群の体積は増加してしまう．そこで，変形曲面を適用する前の固体群の体積と等しくするために体積を減少させる負の変形曲面を適用する．負の変形曲面を適用した後の格子 (xi , yj ) に設定された値 h(xi , yj )′ は，h(xi , yj )′ =Vch(xi , yj )add
Vcadd

(2.20)となる．h(xi , yj )add は体積を増加させる変形曲面を適用した後の格子の値であり，加算後の固体
群全体の体積 Vcadd は以下のように求められる．

Vcadd =N∑h(xi , yj )′(2.21)

この処理により，固体群全体の体積を維持しながら固体群の挙動を表現することができる．

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

2.4

12

粒子による固体群の表現

本節では，ハイトフィールドで表現された固体群の一部を粒子で描画し，より自然な挙動を表現するモデルについて説明する．

2.4.1

存在確率に基づく固体群粒子

現実空間における固体群の最小構成要素は微小な粒子であり，有限の大きさを持つ．従来の固体群操作モデルでは，固体群はハイトフィールドにより表現されているため，最小構成要素は定義されていない．そのため，無限小の固体が存在していることとなる．そこで，ハイトフィールドで表現された固体群の最小構成要素 α を定める．ある格子 (xi , yj ) において h(xi , yj ) < α を満たす場
合，その格子における α の存在を確率により判定し，粒子の描画を決定する．この確率 P (xi , yj )を存在確率と呼称し，以下のように求める．

P (xi , yj ) =h(xi , yj )α(2.22)

存在確率に基づいた乱数により各格子における粒子の描画の有無を決定する．また，h(xi , yj ) ≥ αの場合においても存在確率に基づいた描画を行う．ある時刻 t における格子 h(xi , yj ) の変化量をhtd (xi , yj ) =| ht (xi , yj ) − ht−∆t (xi , yj ) | とし，存在確率を以下のように求める．
 hd (xi ,yj ) (h (x , y ) < α)d i jαP (xi , yj ) =1(hd (xi , yj ) ≥ α)(2.23)

ここで，h(xi , yj ) ≥ α で粒子を描画する場合には，その格子の値を h(xi , yj ) − α とし，固体群の表面に粒子を描画する．ただし，この処理では容器を静止させた場合でも各時刻ごとに描画と非描画が反転することがある．そこで，各格子の値の変化量がしきい値以下の場合，粒子の描画の有無を全時刻から反転させないこととする．固体群粒子により，第 2.3 節で述べた変形曲面では表現できない調理容器端から端への固体群の移動過程（図 2.8）をより自然に表現できるほか，小さな固体で構成された固体群の見た目の自然らしさを表現することができる．

2.4.2

容器外へこぼれる固体群粒子

調理容器外の固体群を粒子により表現し，固体群がこぼれる様子を表現する．容器外へこぼれる固体群を決定する条件として図 2.9 に示す境界を設定する．A 境界は調理容器の縁のうち最も低い点を含む水平面と角度 θ をなす無限平面と定義する．角度 θ は固体群が積み上げた固体が安定を保つ斜面の角度である安息角とする．A 境界は調理容器の姿勢変化により容器の下側から固体群がこぼれる境界を想定している．一方，調理器具による局所的な操作により固体群がこぼれることがある．そこで，容器の縁を含む平面と角度 θ をなす角錐状の境界面として B 境界を定義

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

13

図 2.8: 粒子による固体群の移動表現

する．B 境界により，調理容器を傾けた状態で固体群を押し動かした場合でも，容器の下側以外からこぼれる固体群を表現できる．ある格子 (xi , yj ) における A 境界および B 境界の値のうち，低い境界の値を K(xi , yj ) とする．K(xi , yj ) < h(xi , yj ) が成り立つ場合，境界を越える格子の値

h(xi , yj ) − k(xi , yj ) を自由落下粒子へと変換し，容器外に落下させる．自由落下粒子を発生させる位置はこぼれの境界を越えた格子に設定する．

図 2.9: こぼれの境界

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

2.5

14

固体群の崩れ表現

第 2.3 節で述べた変形曲面は調理容器の姿勢変化や加速度運動による固体群の挙動を表現可能であるが，調理容器を水平に静止した状態で固体群が崩れる場合には対応していない．固体群は積み重なり方により全体あるいは一部が崩れることが考えられる．そこで，固体群の形状に基づいた
崩れを変形曲面により表現する（図 2.10）．固体群全体，あるいはその一部分を一つの操作対象と

1

2

時刻t

3

曲面を生成・加算

時刻‫ ݐ‬+ ∆‫ݐ‬

図 2.10: 曲面による固体群の崩れ表現するため，始めに崩れが起こる可能性のある領域，およびその中心点を求める．ある格子 (xi , yj )を注目点とした場合，注目点とその 4 近傍の格子 (xi−1 , yj )，(xi+1 , yj )，(xi , yj−1 )，(xi , yj+1 ) の値を比較する．以下の条件

h(xi , yj ) >h(xi−1 , yj ) + h(xi+1 , yj )2h(xi , yj ) >h(xi , yj−1 ) + h(xi , yj+1 )2を満たしたとき，注目点を中心とした領域において固体群が崩れる可能性があると判定し，注目点を崩れの候補点とする (図 2.10-1)．候補点で発生した崩れが影響を及ぼす領域として，候補点を頂点とした円錐の底面を崩れ候補領域と考える．円錐の底面と母線がなす角度は安息角とする．
候補点は注目点とその 4 近傍の格子の値の比較により決定され，固体群の積み重なり方によっては数多く検出されるため，すべての候補点に対して崩れの処理を行うと計算時間が増加してしまう．
また，崩れる固体群全体を操作対象とするために，より大きな領域を扱う必要がある．そこで，すべての候補点のうち格子の値が最も大きい頂点 P1 = (xp1 , yp1 , h(xp1 , yp1 ) を用いて，すべての候補
点の，P1 を頂点とする崩れ候補領域に対する内外判定を行い，領域内部に含まれる場合は領域の頂点から発生する崩れに含まれるとみなし，候補点を削減する． P1 は崩れ候補領域内で崩れが起こるかの判定を行う点（以降，最終候補点）として記録する．この処理はすべての候補点が最終候
補点として記録される，あるいは候補点から除外されるまで続けられる．点 P = (xp , yp , h(xp , yp ))を頂点とした崩れ領域とある候補点 K = (xk , yk , h(xk , yk )) の内外判定は，格子 (xp , yp )，(xk , yk )

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

15

ܲ
崩れ候補領域‫ܭ‬zθy(‫ݔ‬௣ , ‫ݕ‬௣ )ℎ(‫ݔ‬௞ , ‫ݕ‬௞ )ℎ௖ (‫ݔ‬௞ , ‫ݕ‬௞ )

‫ݎ‬௣

݈௞௣

(‫ݔ‬௞ , ‫ݕ‬௞ )x

図 2.11: 点 K の，点 P を頂点とする崩れの候補領域に対する内外判定

崩れ候補領域

崩れの候補点

ܸ௘

ܸ௣

θ

θ

θ

ܴ=1

0 < R ≤1
図 2.12: 体積比率 R による固体群の積み重なり方の推定間の距離を lkp を用いて行う．P を頂点とした崩れ候補領域底面の円の半径 rp は，

rp =h(xp , yp )tan θ

(2.24)

であり，rp ≥ lk p を満たす格子における崩れ候補領域の値 hc (xk , yk ) は，hc (xk , yk ) = (rp − lk p(xk , yk )) tan θで表される．したがって，以下の条件により候補点 K の内外判定を行う（図 2.11）．

• h(xk , yk ) < hc (xk , yk ) のとき，K は崩れ候補領域内• h(xk , yk ) ≥ hc (xk , yk ) のとき，K は崩れ候補領域外(2.25)

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

16格子の値が大きい頂点を用いて判定，候補点の削減を行うことにより，最終候補点を得る．続いて，最終候補点を頂点とする崩れ候補領域の円錐の体積 Vp とその領域上に存在する固体群の体積

Ve の比率 R = Ve /Vp が R < 1 を満たすとき，領域内で崩れが起こると判定する（図??）．判定結果に基づき当該領域に変形曲面を適用し (図 2.10-2)，固体群の崩れを表現する (図 2.10-3)．変形
曲面の形状は大小 2 つのガウス曲面の差（図 2.13）と定義し，投影面における変形曲面の中心点
を崩れの候補点に一致させる．変形曲面は最終候補点の高さに応じて拡大縮小し，固体群の積み重なり方による崩れの進行速度の違いを表現する．

差分

図 2.13: 崩れを表現する変形曲面

2.6

剛体による固体群操作

前述のモデルでは調理容器を扱うことで固体群を操作可能であるが，固体群を局所的に操作することは困難である．調理には，固体群を押し動かす，すくうなど，器具を用いた局所的な操作が求められる．本節では，剛体により固体群を局所的に操作するモデルについて説明する．なおフ
ライパンや鍋も剛体に分類されるが，ここで述べる剛体とはヘラなどの固体群を押す，すくうための器具を指す．また，調理で扱う剛体を区別するため，フライパンなどを調理容器，ヘラなどを調理器具と呼称する．このモデルでは，剛体は固体群と接触する面（以下，固体群操作面）が 1
つ以上の長方形からなるものとする．固体群操作面を垂直に限定したうえで水平方向，鉛直方向の移動と鉛直軸を中心とした回転の計 4 自由度の操作が可能であり固体群を押し動かすことができる．また，操作面を水平に限定したうえで水平方向，鉛直方向の操作が可能であり，固体群を押さえつけることができる．

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

17

図 2.14: 凸包の例

2.6.1

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

本モデルでは，固体群操作面を構成する頂点により構成される 3 次元凸包と調理容器内の固体群の干渉を調理器具と固体群の干渉として扱う．干渉した領域の固体群を調理器具の移動方向およびその周囲に変形曲面により移動することで，調理器具で固体群を操作することが可能である．調理器具の移動により生成される凸包の例を図 2.14 に示す．調理器具は 3 次元空間内を自由に移動させることができるため，凸包を構成する点は３次元座標により表される．ある点 (xi , yj , h(xi , yj ))を Pijh ，同様に点 (xi , yj , 0) を Pijz としたとき，以下の 2 つの条件を満たす場合，固体群は凸包 Hchと干渉していると判定する．

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

2. Pijz と Pijh を通過する直線 lzh と凸包 Hch の交点 Pij が存在するとき，Pijz と Pij の距離が，ハイトフィールドの格子に設定された高さ h(xi , yj ) よりも小さい．
凸包を構成する三角形 Sk の 3 つ頂点の Ak , Bk , Ck を，直線 lzh が鉛直となるようにアフィン変換′ とする．三角形 S ′したものを，A′k , Bk′ , Ck′ とする．また，鉛直となるように変換した直線は lzhk′ の交点を P ′ とすると，P ′ = (x , y , z ) であり，未知である P ′z の値は次のようと直線 lzhi j ijk
ijk
ijk
ijk

に求められる．
′= A′kz −
Pijk
z

}
1 { ′
′
′
′
′
′
−
A
)
−
A
)
+
n
(P
n
(P
ky
kx
ky
ijk y
kx ijk x
n′kz(2.26)′ = (x , y , z ) であるため，ハイトフィールド
なお，n′k は三角形 Sk′ の法線ベクトルである．Pijk
i j ijkの格子 (xi , yj ) における，凸包との交点までの距離 zijk と言える．ここで，凸包と直線が干渉している場合，2 つの交点を持つことが凸包の定義より明らかなので，2 点を区別するため，ハイト第 2 章 従来の固体群操作モデル

18

フィールドの格子 (xi , yj ) において凸包と干渉している高さ zijk が低い方の高さを hlow (xi , yj )，高い方の高さを hhigh (xi , yj ) とする (図 2.15)．

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

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

2.6.2

操作面を垂直にした調理器具と固体群の干渉による固体群の形状変化

調理器具の固体群操作面を垂直にした場合，調理器具の固体群操作面の移動軌跡より上部に存在していた固体は，その下部に存在（調理器具により押されて移動している）する固体との摩擦により，ある程度の量が引きずられるように動く（図 2.16）． そこで，固体群操作面とある格子push(xi , yj ) とが干渉している場合にその格子から減らす値 vijを以下のように求める．


(
)

0
h(xi , yj ) < hlow (xi , yj )



( low
)

h(x , y ) − hlow (x , y )h (xi , yj ) ≤ h(xi , yj ) ≤ hhigh (xi , yj )
i j
i j
push
vij =

h(xi , yj ) − (hhigh (xi , yj ) − hlow (xi , yj ))



(
)

− h(xi ,yj )−hhigh (xi ,yj )h(xi , yj ) > hhigh (xi , yj )2
(2.27)N∑push
V sub =
vij
(2.28)
sub を減算することで，固体群が調理器具の移動軌跡との干渉により変形する
格子 (xi , yj ) から vij

挙動を表現する．調理器具と固体群との干渉により生成される変形曲面形状は四分楕円柱とする(図 2.17)．変形曲面を定義する変数を以下に示す．
• 四分楕円柱の断面となる楕円の長半径 a• 四分楕円柱の断面となる楕円の短半径 b

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

19ฝໟ

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

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

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

図 2.16: 凸包と固体群の干渉• 楕円柱の長さ c• 空間上の位置 oC• 楕円の短軸と長軸に直交する直線 LC
空間上での位置 oC は固体群操作面上に設定する基準点を用いて決定する．楕円柱の高さ c は固体群操作面の幅 d を設定する．楕円の短軸と長軸に直交する直線 LC は固体群操作面の法線と平行で，点 oC を含むような直線とする．固体群操作面の一番下の部分である辺を固体群操作面の底辺と呼ぶと，長半径 a の方向を固体群操作面の法線と平行に設定し，短半径 b の方向は固体群操作
面に平行，かつ固体群操作面の底辺と垂直に設定する．長半径 a は調理器具の移動速度 ⃗v と固体群操作面の法線 ⃗n を用いて，次のように決定する．

a = T3 |⃗v · ⃗n|(2.29)

ここで，T3 は定数である．この四分楕円柱によって格子に加算する値は減算された体積の総和より求めるため，短半径 b には定数を与える．四分楕円柱を三次元空間上に生成する場合，四分楕
円柱は三次元的な情報を保持するが，固体群を表現するハイトフィールドは平面である．次の条件が成り立つとき，ハイトフィールドの格子 (xi , yj ) 上に正の変形曲面の四分楕円柱が存在する．

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

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

20

ᅛయ⩌᧯స㒊䛾㠃


஼





஼



図 2.17: 拡張四分楕円柱のパラメータ

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

いて，次のように求める．
addvij= hh (xi , yj ) − hl (xi , yj )(2.30)

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

V add =

N
∑

add
vij

(2.31)

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

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

各格子の値を増減させ，変化前後の固体群の体積を等しくする処理を行うことにより調理器具に押されて移動する固体群の挙動を表現する．

2.6.3

操作面を水平にした調理器具と固体群の干渉による固体群の形状変化

調理器具の固体群操作面を水平にした状態で調理器具を鉛直下方向に動かした場合，固体群操
作面と干渉した固体群は押さえつけられ，その周囲に崩れる．そこで，固体群操作面とある格子
press(xi , yj ) とが干渉している場合にその格子から減らす値 vij
および減算される体積の総和 V sub を

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

21

‫ݎ‬

ܴ

‫்݋‬

図 2.18: 半トーラスのパラメータ

以下のように求める．



0
press
vij
=

(

)
0 < hlow (xi , yj )( low)h (xi , yj ) ≤ h(xi , yj ) ≤ hhigh (xi , yj )()
 highh(xi , yj ) − hlow (xi , yj ) h(xi , yj ) > hhigh (xi , yj )hhigh − h(xi , yj )

V

sub

N
∑
press
=
vij

(2.33)(2.34)

押さえつけられた固体群がその周囲に崩れる様子を表現するための変形曲面形状は，トーラスを上下半分にした半トーラスとする (図 2.18)．変形曲面を定義する変数を以下に示す．

• トーラスの大半径 R• トーラスの小半径 r• 調理容器内での位置 or
固体群が押さえつけられた部分の重心 GT に力が加えられたと仮定し，変形曲面の生成位置 or を

GT に設定する．調理器具の固体群操作面と固体群が干渉する領域の面積 ST およびその領域に含まれるハイトフィールドの格子の座標 m′ij を用いて GT 以下のように求める．

1 ∑ ′
mij
ST
N

GT =

(2.35)

トーラスの大半径 R は，固体群操作面と固体群が干渉する領域の面積 ST と等しい円の半径と近似し，以下のように求められる．

√
R=

ST
π

(2.36)

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

トーラスの小半径 r は減算する体積 V sub と R により以下のように求める．
√
1 V subr=
π
R

22(2.37)

変形曲面の各変数を決定し，各格子の値を増減させることにより調理器具で押さえつけられた固体群の挙動を表現する．

23

第3章

3.1

近接ハイトフィールド間における固体群
挙動

提案手法の概要

固体群操作モデルでは，固体群をハイトフィールドで表現し，固体群全体を一つの操作対象として挙動を計算することにより全体の形状変化を表現する．操作者は調理容器や調理器具を用いて固体群全体，あるいはその一部分を局所的に操作することができる．調理工程では複数の容器や器具を同時に扱う場面が多くみられ，固体群操作モデルでは調理容器や調理器具には個別のハ
イトフィールドを定義するため，扱う容器，器具と同数のハイトフィールドを同時に扱う．ところが，固体群は複数のハイトフィールドが近接する領域にまたがり存在することがあるため，これまでの考え方では自然な固体群形状および挙動を決定することができない．挙動計算の対象は個々のハイトフィールド内であるため，複数のハイトフィールドが近接する領域において個々のハイトフィールドにより表現される固体群が個別に挙動するという問題点がある（図 3.1）．また，
文献 [17] では調理器具により固体群をすくい上げるモデルについて検討を始めているが，すくい上げた固体群の初期形状は実験的に円錐としており，その後再びすくい上げる状況はまだ考慮していない．固体群は調理器具の移動とともに調理器具上に移動すべきであり，移動する過程で固体群が崩れることも考慮する必要がある．そこで本手法では，ハイトフィールドが近接する領域

近接ハイト
フィールド間

個々のハイトフィールド内で挙動を計算一体的に扱う図 3.1: 従来モデル

図 3.2: 提案モデル

第 3 章 近接ハイトフィールド間における固体群挙動

24を一体的に扱い，固体群の挙動をリアルタイムに表現するモデルを提案する（図 3.2）．近接する
ハイトフィールド間の固体群の挙動を表現することで，調理器具による固体群のすくい上げ操作をより自然なものとすることができる．本論文ではハイトフィールドが近接する場合の固体群挙動について述べるが，ハイトフィールド間に一定の距離がある場合は，従来モデルに基づき複数のハイトフィールドを個別に扱い挙動を計算する．また，本モデルでは，調理器具の操作面を水平に限定したうえで移動させた場合の固体群挙動を考察する．

ハイトフィールド間の仮想の境界

3.2

従来モデルでは個々のハイトフィールド内のみを挙動計算の対象としており，複数の近接する
ハイトフィールド間の固体群の挙動を表現できなかった．そこで，近接ハイトフィールド間に仮想の境界を設定することによりハイトフィールド間にまたがる固体群の挙動を考慮したうえで個々のハイトフィールド内の閉じた領域を計算対象として扱う．

3.2.1

仮想の壁

調理容器内の固体群を調理器具をすくい上げようとすると，近接する各ハイトフィールドにより表現される固体群は干渉している．このとき，それぞれの固体群は互いに寄りかかるように形状を保ち，またその均衡を失うと崩れ合い，再び寄りかかることで安定する．ところが，各ハイ
トフィールドを個別に扱い挙動を計算した場合，固体群が安定する形状を表現することができな
い．そこで，近接するハイトフィールド間における固体群の寄りかかり合いを簡易的に扱うために仮想の壁を設定する（図 3.3，3.4）．仮想の壁は調理容器に対して垂直であり，高さは十分に高いものとする．仮想の壁により，調理容器および調理器具それぞれのハイトフィールドにおいて固体群の挙動を決定した場合でも，近接ハイトフィールド間の領域において固体群が寄りかかり
安定している状態として扱うことが可能である．

仮想の壁

仮想の壁

調理器具上
の固体群

‫ݕ‬

‫ݖ‬

‫ݖ‬
‫ݔ‬

調理容器内の固体群

図 3.3: 仮想の壁

‫ݔ‬
図 3.4: 仮想の壁

第 3 章 近接ハイトフィールド間における固体群挙動

3.2.2

25

仮想の固体群操作面

仮想の壁により，固体群をすくった調理器具を持ち上げる場合や，引き抜く場合に起こり得る固体群の崩れと崩れにより安定する様子を表現できる．一方で，固体群をすくう過程において，調理器具上にすくい上げた固体群と調理器具の進行方向に存在する固体群が相互作用により移動し，崩れることがある．このとき，調理器具の進行方向に存在する固体群は調理器具上の固体群に押され，前方へ移動する．また，調理器具上の固体群はその反作用により後方へ滑るように移動する（図 3.5）．そこで，仮想の固体群操作面を設定し，仮想の固体群操作面を構成する頂点の軌跡により表される 3 次元凸包と固体群の干渉を近接ハイトフィールド間の固体群の相互作用による形状変化として扱う（図 3.6）．仮想の固体群操作面は調理器具に垂直であり，高さは調理器具端の格子の最も大きい値 h′ (x, y) と等しいものとする．調理器具に伴い移動する仮想の固体群操作面により生成される 3 次元凸包と固体群の干渉は第 2.6.1 項の手法に従う．

調理容器内の固体群

調理器具上の固体群

調理器具の移動方向
図 3.5: 固体群の相互作用

仮想の固体群操作面の移動軌跡
仮想の固体群操作面

仮想の固体群操作面の移動距離
調理器具の移動距離
図 3.6: 仮想の固体群操作面

第 3 章 近接ハイトフィールド間における固体群挙動

3.3

26

仮想の固体群操作面による固体群移動

本節では，調理器具上の固体群と調理器具の進行方向に存在する固体群の干渉について説明する．前述の固体群の相互作用において，仮想の固体群操作面の移動は調理器具の移動に一致するとは限らないと考える．例えば，調理器具で固体群をすくい始めて間もない段階においては，調理器具上の固体群の体積に対して調理器具の進行方向に存在する固体群の体積が十分に大きいと考えられ，調理器具の移動により調理器具上の固体群の大部分は調理器具の進行方向と反対方向に押し返される．つまり，調理器具を動かすことで調理器具上の固体群は調理器具の進行方向に対して相対的に後方へと移動する．調理器具上の固体群の体積が増加することで調理器具上の固体群が調理器具の進行方向に存在する固体群に及ぼす力が大きくなり，調理容器内の固体群は調理器具上の固体群に押されて動き始める．この一連の挙動を仮想の固体群操作面により表現する．
調理容器に着目すると，固体群は調理器具の進行方向へ押されて移動する（図 3.7）．一方，調理器具に着目すると，固体群は調理器具に対し相対的に後方へ押されて移動する（図 3.8）．したがって，仮想の操作面の進行方向に位置する固体群の体積と調理器具上に存在する固体群の体積の比率により仮想の固体群操作面の移動距離を変化させ，仮想の操作面により固体群を押し動かすことで調理器具の進行方向に移動する調理容器内の固体群と調理器具上で相対的に後方へ移動する
固体群を表現する．調理器具の進行方向へ固体群を押し動かす仮想の固体群操作面の移動距離を

df ，相対的に後方へ押し動かす操作面の移動距離を db とする．

‫ݐ‬
仮想の固体群操作面‫ݐ‬‫ ݐ‬+ ∆‫ݐ‬‫ ݐ‬+ ∆‫ݐ‬݀௙݀

݀

図 3.7: 調理器具の進行方向へ移動する固体群

第 3 章 近接ハイトフィールド間における固体群挙動

27

‫ݐ‬
仮想の
固体群操作面‫ݐ‬‫ ݐ‬+ ∆‫ݐ‬‫ ݐ‬+ ∆‫ݐ‬݀௕

݀

図 3.8: 調理器具に対し相対的に後方へ移動する固体群

干渉する固体群の体積比率により仮想の固体群操作面の移動距離を変化させることで，調理器具の進行方向へ移動する固体群と調理器具上において相対的に後方へ移動する固体群の比率を考慮することができる．調理器具上の固体群の総体積を Vs ，調理器具の進行方向に存在する固体群の体積を Ve とし，固体群の相互作用を考える．Ve は調理器具の進行方向に存在する格子の体積

V (xf , yf ) の総和とする．Vs および Ve の比率により，仮想の固体群操作面の移動距離 df ，db を以下のように決定する．

Vs
Ve + Vs(3.1)

db = d − df

(3.2)

df = d

ここで，ds は調理器具の移動距離である．そのうえで，第 2.6.2 節で述べた四部楕円柱形状の変形
曲面により，調理器具の進行方向の固体群挙動を表現する．仮想の固体群操作面の移動により移動する固体群を表現する変形曲面を図 3.9，3.10，それぞれの変形曲面を定義する変数を以下に示す．

• 四部楕円柱の断面となる楕円の長半径 a，a′
• 四部楕円柱の断面となる楕円の短半径 b，b′
• 空間上の位置 oC ，o′C
楕円柱の長さは固体群操作面の幅と等しい長さに設定する．調理器具の進行方向へ移動する固体群の体積 Vf および調理器具上で相対的に後方へ移動する固体群の体積 Vb は仮想の固体群操作面

第 3 章 近接ハイトフィールド間における固体群挙動

28

ܾᇱ

ܾ
ܽ

‫݋‬஼ᇱ

‫݋‬஼

図 3.9: 調理器具の進行方向へ移動する
固体群を表す変形曲面ܽᇱ

図 3.10: 調理器具上に対し相対的に後方へ移動する固体群を表す変形曲面

sub より決定される．
を構成する頂点の軌跡により表される 3 次元凸包に含まれる固体群の体積 Vch

したがって，subVch= Vf + Vb(3.3)

であり，変形曲面適用前後で固体群の総体積は変化しない．各種の値を算出の後，第 2.6.2 節の手法に基づき高さの変化分を決定することで，調理器具を固体群に差し込んだときの挙動を表現
する．

3.4

仮想ハイトフィールド上での固体群の挙動計算

本節では変形曲面による固体群の挙動計算手法について説明する．仮想の固体群操作面により，近接ハイトフィールド間における固体群間の相互作用による固体群の挙動を変形曲面で表現可能とした．この変形曲面と従来モデルの変形曲面（第 2.3，2.5，2.6 節）により，ある時刻間の固体
群の形状変化を表現できる．

3.4.1

仮想ハイトフィールド

従来モデルではそれぞれのハイトフィールド内を対象とした形状変化を扱うため，変形曲面を適用できるのは個々のハイトフィールド内のみである．一方で，本提案モデルは複数のハイトフィー
ルドを対象とした形状変化を扱うため，変形曲面を複数のハイトフィールドに適用する必要がある．また，従来モデルにおいても個々のハイトフィールド内で生じる形状変化がハイトフィール
ドをまたぐ場合があるため，変形曲面を複数のハイトフィールドに適用する必要がある．そこで，
ハイトフィールドの近接部分を一時的に 1 つのハイトフィールドに統合して扱うことにより近接ハ
イトフィールド間を一体的に扱った挙動計算を行う．以降，統合のためのハイトフィールドを仮想
ハイトフィールドと呼称する．仮想ハイトフィールドの基準面は調理器具の固体群操作面と等し

第 3 章 近接ハイトフィールド間における固体群挙動29

い高さに設定し，動的に変化させる．調理容器および調理器具に定義された個々のハイトフィー
ルドの各格子の高さの値を仮想ハイトフィールドに統合した様子を図 3.11，3.12 に示す．仮想ハ
イトフィールド統合後は，異なる基準面をもつ 2 つのハイトフィールドとして挙動を計算することが可能となる．

調理器具
ハイトフィールド‫ݖ‬‫ݔ‬

調理容器ハイトフィールド
図 3.11: 統合前

仮想ハイトフィールド‫ݖ‬
調理容器ハイトフィールド‫ݔ‬
図 3.12: 統合後

第 3 章 近接ハイトフィールド間における固体群挙動30

ハイトフィールド間の挙動計算

3.4.2

仮想ハイトフィールドを用いて変形曲面を適用し，挙動を表現する手順を説明する．ある時刻

t に調理器具を引き抜こうとする場合（図 3.13，右方向）と，持ち上げる場合（図 3.14，上方向）について述べる．それぞれの場合において，調理器具とともに固体群が水平方向，鉛直上方向に移動する（図 3.15，3.16）．

時刻‫ݐ‬

時刻‫ݐ‬

‫ݖ‬

‫ݖ‬
‫ݔ‬

‫ݔ‬

図 3.13: 調理器具を引き抜く場合

図 3.14: 調理器具を持ち上げる場合

‫ݖ‬

‫ݖ‬
‫ݔ‬
図 3.15: 水平方向に移動する固体群‫ݔ‬
図 3.16: 鉛直上方向に移動する固体群

第 3 章 近接ハイトフィールド間における固体群挙動31

このとき，固体群の崩れを個々のハイトフィールド内の崩れとハイトフィールド間の崩れに分けて処理する．全てのハイトフィールドにおいて崩れの候補点および崩れの候補領域を求める（第 2.5
節）．崩れの候補領域内に仮想の壁を設定した格子が含まれない場合，崩れが影響を及ぼす領域はそれぞれのハイトフィールド内である．
（図 3.17，3.20）．したがって，個々のハイトフィールド内で従来手法に基づく挙動計算を行い，変形曲面により高さの変化分を決定する（図 3.18，3.19，

3.21，3.22）．

崩れの候補点崩れの候補領域を底面とした円錐
安息角ߠ

仮想の壁
個々のハイトフィールド
内の崩れ

‫ݖ‬
‫ݔ‬

図 3.17: 個々のハイトフィールド内の崩れ候補領域

ߠ
挙動計算

‫ݖ‬

‫ݖ‬
‫ݔ‬

挙動計算

‫ݔ‬
図 3.18: 調理器具ハイトフィールド内

図 3.19: 調理容器ハイトフィールド内

第 3 章 近接ハイトフィールド間における固体群挙動

32

崩れの候補点崩れの候補領域を底面とした円錐

仮想の壁

安息角ߠ

個々のハイトフィールド
内の崩れ

‫ݖ‬
‫ݔ‬

図 3.20: 個々のハイトフィールド内の崩れ候補領域

ߠ
挙動計算

‫ݖ‬

‫ݖ‬
‫ݔ‬

図 3.21: 調理器具ハイトフィールド内‫ݔ‬
図 3.22: 調理容器ハイトフィールド内

第 3 章 近接ハイトフィールド間における固体群挙動

33

崩れの候補領域内に仮想の壁が存在する場合，崩れの影響は複数のハイトフィールドに及ぶ（図3.23，3.24）．したがって，仮想ハイトフィールドを用いて挙動計算を行う．各ハイトフィールドを仮想ハイトフィールドに統合し，仮想ハイトフィールド内において前述の個々のハイトフィー
ルド内の挙動計算で処理されていない崩れの領域の挙動を計算し，高さの変化分を決定する（図3.25，3.26）．

崩れの候補点

仮想の壁

崩れの候補領域を底面とした円錐安息角ߠ
近接ハイトフィールド
間の崩れ

‫ݖ‬
‫ݔ‬

図 3.23: ハイトフィールド間にまたがる崩れ候補領域

崩れの候補点崩れの候補領域を底面とした円錐安息角ߠ

仮想の壁

近接ハイトフィールド
間の崩れ

‫ݖ‬
‫ݔ‬
図 3.24: ハイトフィールド間にまたがる崩れ候補領域

第 3 章 近接ハイトフィールド間における固体群挙動

34

ߠ
ߠ

ߠ

挙動計算
挙動計算

‫ݖ‬

‫ݖ‬
ߠ

‫ݔ‬

‫ݔ‬

図 3.25: 仮想ハイトフィールド内の挙動計算

図 3.26: 仮想ハイトフィールド内の挙動計算以上で決定した変形曲面を各ハイトフィールドおよび仮想ハイトフィールドの適切な位置に適用
し，時刻 t + ∆t における固体群形状を決定する（図 3.27，3.28）．以上の処理により，近接ハイトフィールド間の固体群挙動を表現する．複数の近接ハイトフィールドを一体的に扱うことで，一方から他方のハイトフィールドへ固体群が落下し，直後に着地するような冗長な処理を削減することができる．

変形曲面
適用後

‫ݖ‬
‫ݔ‬
分割

時刻 ‫ ݐ‬+ ∆‫ݐ‬‫ݖ‬‫ݔ‬
図 3.27: 変形曲面適用後の固体群形状

第 3 章 近接ハイトフィールド間における固体群挙動

35

変形曲面
適用後

‫ݖ‬
‫ݔ‬
分割

時刻 ‫ ݐ‬+ ∆‫ݐ‬‫ݖ‬‫ݔ‬
図 3.28: 変形曲面適用後の固体群形状

36

第4章

4.1

実験と結果

実験システム

前述した提案モデルを用いて実験システムを構築し，処理速度と挙動の自然さについて評価実験を行った．本実験では，安価な入力装置として，任天堂株式会社より発売されている Wii リモコン，POLHEMUS 社より発売されている PATRIOT を用いた．Wii リモコンに搭載されている加速度
センサにより調理容器の回転を行う．また，磁気を利用した 3 次元位置測定装置である PATRIOT
により調理器具の移動と回転を行う．実験システムを構築した計算機の構成を以下に示す．

• CPU: Intel(R) Core(TM) i5-2400 3.10GHz• RAM: 4GB
実験システムでは調理容器を直径 32.5cm，側面の高さ 6.4cm のフライパン，固体群を炒飯と想定している．図 4.1 に実験の様子を示す．

図 4.1: 実験の様子

第 4 章 実験と結果

37

本実験システムでは，体験者は Wii リモコンで調理容器を，PATRIOT を取り付けたヘラで調理器具を操作することができる．従来モデルでは調理容器を振る，傾けることにより固体群を移動させ，容器外へこぼすことができる．また，調理器具により固体群を押し動かす，押しつけることができる．調理容器，調理器具により固体群を操作する様子を図 4.2-4.5 に示す．

図 4.2: 調理容器操作による固体群の移動

図 4.3: 調理容器外へのこぼれ第 4 章 実験と結果

38

図 4.4: 垂直にした調理器具による固体群の押し動かし

図 4.5: 調理器具による固体群の押しつけ第 4 章 実験と結果

4.2

39

実験結果

本提案モデルにより調理器具を用いて固体群をすくい上げる様子や調理器具を動かした際の固体群の崩れをより自然に表現できる．固体群をすくい上げた調理器具を押し動かす，引き抜く，持ち上げる様子をそれぞれ図 4.6-4.10 に示す．調理器具上にすくい上げた固体群と調理容器内の固体群の干渉により固体群が移動し，崩れる様子が確認できる．

図 4.6: 水平にした調理器具による固体群の押し動かし 1

第 4 章 実験と結果

40

図 4.7: 水平にした調理器具による固体群の押し動かし 2

図 4.8: 水平にした調理器具による固体群の押し動かし 3

第 4 章 実験と結果

41

図 4.9: 調理器具を引き抜いた場合

図 4.10: 調理器具による固体群のすくい上げ

第 4 章 実験と結果

42

本提案モデルの処理速度を評価するため，各プロセスの処理時間を調べた．調理容器底面は直径 325mm の円，調理器具の固体群操作部は一辺の長さが 100mm の正方形を想定し，それぞれのハイトフィールドの格子の解像度が等しくなるよう格子数を設定する．格子サイズは事前調査に
より固体群挙動が自然に感じられるとの評価を得られた 16.5mm × 16.5mm とする．格子サイズを小さくすることで格子数が増加し，格子の間隔が狭くなるため，より細かい固体群の表現が可能である．評価項目は調理容器操作による変形曲面の決定，調理器具操作による変形曲面の決定，崩れの変形曲面の決定，粒子による固体群の挙動計算，仮想ハイトフィールドの統合と分割，変形曲面適用，描画，Wii リモコン・PATRIOT による動作入力，キー・マウスによる動作入力，その他の計 10 項目である．なお，キー・マウス入力処理は動作確認などを目的としている．実験結果を表 4.1 に示す．

表 4.1: 処理時間についての実験結果
処理

処理時間 [sec]変形曲面決定（調理容器操作）

約 4.0 × 10−5変形曲面決定（調理器具操作）

約 2.5 × 10−5変形曲面決定（崩れ）約 2.5 × 10−5粒子による固体群の挙動計算

約 3.0 × 10−5

仮想ハイトフィールドの統合，分割

約 1.5 × 10−5変形曲面適用約 2.0 × 10−4

描画

約 2.0 × 10−3

動作入力（キー・マウス）

約 2.0 × 10−4

動作入力 （Wii リモコン・PATRIOT）

約 7.0 × 10−3

その他

約 1.5 × 10−4

表 4.1 より，本モデルは非常に高速な挙動計算が可能であることが確認できる．また，処理の総計
算時間に対して挙動計算時間が占める割合が小さく，本モデルの処理追加による計算時間の増加もわずかであることが確認できる．入力装置に Wii リモコン・PATRIOT を用いた場合，キー・マウス入力処理時間を除いたすべての合計時間約 0.0095 秒が 1 フレームの計算に必要であるため，
約 105FPS での実行が可能である．一般に対話操作システムには 10〜12FPS 程度の処理速度が必要であるといわれているため，実験システム全体として対話操作に必要な処理速度を得られているだけでなく，食材の準備や加工，盛りつけなどの様々な処理を同時に行うためにも十分な速度が得られており，今後の拡張に十分な余裕があるといえる．

第 4 章 実験と結果

43

また，挙動の自然さを評価するため数名の被験者による評価実験を行った．得られた意見を以下に挙げる．

• より直感的な操作ができた．
• 調理器具の移動に伴う崩れが確認できる．
• 固体群を押したとき，一度に大きく移動するように見える．
以上より，本提案モデルは調理器具による固体群の操作をより直感的にし，一方で，挙動の自然さにおいて消極的な意見が得られた．これは，本モデルでは調理器具を水平に限定し問題点の解決を試みているためであると考えられる．調理器具で固体群を操作する場合，操作面を水平にした状態からある程度傾けて動かすことは一般的な感覚である．操作面を水平にすることで調理器具による押さえつけが操作者の期待を超えて起こり，局所的に固体群が大きく移動したため操作者に違和感を与えたと考えられる．今後は調理器具を自由に動かすことでこの問題を解決し，より自然な挙動を表現する必要がある．

44

第5章

むすび

当研究室で提案しているハイトフィールドに基づく固体群操作モデルでは，複数の調理容器，調理器具を用いて固体群を操作するために複数のハイトフィールドを同時に扱っている．しかし，これまでは一つ一つのハイトフィールド内の固体群挙動を個別に計算していたため，ハイトフィールドが近接する領域における固体群挙動を表現できなかった．本論文では，これまで一つのハイトフィールド内で閉じていた挙動計算の対象領域を拡張し，複数のハイトフィールドにまたがる固体群を操作可能とするモデルを提案した．近接するハイトフィールド間に設定した仮想の壁と操作面により，属するハイトフィールドが異なる固体群間の干渉を表現し，また仮想のハイトフィー
ルドによりハイトフィールドを一体的に扱った挙動計算を行う．提案モデルにより，ハイトフィー
ルドを定義した調理容器と調理器具を扱い固体群をすくう際に起こり得る固体群の崩れを表現し，臨場感を向上させた．また，処理速度に関する実験結果が示すように，対話操作が可能なだけでなく今後の拡張が十分可能なモデルだと言える．
今後の課題として，調理器具操作の自由度を拡張することが挙げられる．本論文では問題点を単純化するために調理器具の操作面を水平に限定して解決を試みたが，これを自由に動かせるよ
うにする必要がある．従来モデルおよび今回提案したモデルでは，4 自由度の操作が可能であるが，これを 6 自由度に拡張することでより臨場感を向上させることができる．また，本研究の最終的な目標は調理工程を網羅したシステムの構築である．したがって，食材の加工手順を再現するために食材の切断や皮むきなどの工程を表現可能な操作モデルを提案し，これまでに提案している固体群操作モデルと組み合わせ，一連の調理工程を体験可能な VR 調理学習システムの構築
を目指す．

45

謝辞

本研究を進めるにあたって，日頃から多大な御尽力を頂き，ご指導を賜りました名古屋工業大学，舟橋健司

准教授に心から感謝致します．また，本研究に対してご検討，ご協力いただきました名古屋工業大学
之山本大介

教授，名古屋工業大学

准教授，名古屋工業大学

中村剛士

准教授，

伊藤宏隆

愛知教育大学助教，中部大学

福井真二

岩堀祐

准教授に深く感謝致します．最後に，本研究に多大な御協力頂きました舟橋研究室諸氏に心から感謝致します．

46

参考文献

[1] 舘 日章，佐藤 誠，廣瀬 通孝，「バーチャルリアリティ学」，工業調査会，2010．
[2] ガデリウス・メディカル株式会社 バーチャルリアリティ内視鏡手術トレーニングシミュレータ
http://www.vrtraining.jp/[3] 株式会社フォーラムエイト UC-win/Road ドライブシミュレータ
http://www.forum8.co.jp/product/ucwin/road/road-drive.htm[4] 三浦 宏一，高野 求，浜田 玲子，井手 一郎，坂井 修一，田中 英彦，“料理映像の構造解析による調理手順との対応付け”，電子情報通信学会論文誌 (D-II)，Vol. J86-D-II，No.11，pp.1647-1656，

2003．
[5] 苅米 志帆乃，藤井 敦，“料理レシピの推薦と栄養バランスの可視化による食生活支援システム”，WebDB Forum，2009．

[6] 生井 みづき，瓜生 大輔，徳久 悟，柏樹 良，稲見 昌彦， 奥出 直人，“panavi : センサ・アク
チュエータ・無線通信機能を内蔵するフライパンを中心とした、料理スキルの習得を支援するシステム (生活メディアセッション, 生活メディア) ”，電子情報通信学会技術研究報告. MVE,
マルチメディア・仮想環境基礎，Vol.109，No.281， pp.41-46, 2009．

[7] 株式会社エム・アイ・ケー ロボシェフ
http://www.mik-net.co.jp/product/robochef.htm[8] 加藤 史洋，長谷川 晶一，“料理シミュレーションのためのリアルタイム熱伝達・伝導シミュ
レーション”，Computer Entertainment Developers Conference，2012．

[9] 株式会社タイトー クッキングママ
http://www.taito.co.jp/csm/title/2007/cooking_mama/wi_mama/index.html[10] 小田 泰行，村岡 一信，千葉 則茂，“溶岩流の粒子ベース・ビジュアルシミュレーション “，
芸術科学会論文誌，Vol2，No.1，pp.51-60，2003．

47[11] Zhu, B.，and Yang, X.，“Animating sand as a surface ﬂow”，Eurographics 2010，Short
Papers，2010．
[12] 西田 友是，尾上 耕一，“Virtual Sandbox“、Proc. of Paciﬁc Graphics 2003 (The 11th Paciﬁc
Conference on Computer Graphics and Applications), pp.51-60，2003．
[13] Holz, D.，Beer, T.，and Kuhlen, T.，“ Soil Deformation Models for Real-Time Simulation:
A Hybrid Approach”，Workshop on Virtual Reality Interaction and Physical Simulation，
2009．
[14] 舟橋 健司，小栗 進一郎，“家庭での利用を目的とした VR 調理学習システムのための固体群操作モデルの検討”，日本バーチャルリアリティ学会第 13 回大会講演論文集，pp.171-172(DVD-

ROM) 1E2-1，2008.
[15] 森井 敦士, 上垣内 翔太, 山本 大介, 舟橋 健司，“VR 調理学習システムのための存在確率に基づく粒子による固体群の上下動の表現”，日本バーチャルリアリティ学会論文誌, Vol.16, No.4,

pp.539-549, 2011.12．
[16] 小塚太智，“VR 調理学習システムにおける調理器具の移動範囲の拡張”，平成 23 年度名古屋工業大学卒業研究論文，2012.

[17] 佐東 康平，舟橋 健司，“VR 調理学習システムにおける調理器具による押さえつけ動作とす
くい上げ動作の考察”，日本バーチャルリアリティ学会第 18 回大会講演論文集，2013．

[18] 石原 逸貴，舟橋 健司，“VR 調理学習システムにおける調理容器の部分球形状への拡張”，日本バーチャルリアリティ学会第 17 回大会講演論文集，pp.255-258，2012．

48

発表論文リスト

1. 栗本雄多，舟橋健司，“ＶＲ調理学習システムのための変形曲面による固体群の崩れ表現”，
日本バーチャルリアリティ学会第 17 回大会講演論文集，pp.255-258, 2012．

2. Kurimoto, Y., and Funahashi，k.,“The Collapse of Group of Individual Bodies Using
Transformation Surface for Virtual Cooking System”，Proc. International Workshop on
Advanced Image Technology 2013，pp.118-123, 2013．
3. 栗本雄多，舟橋健司，“ＶＲ調理学習システムのための近接ハイトフィールド間における固体
群の崩れ表現”，日本バーチャルリアリティ学会第 18 回大会講演論文集，pp.278-281, 2013．