平成 26 年度 修士論文

調理学習システムにおける調理器具のすくい上げと押し動作の複合操作による固体群挙動(Push-Press and Scoop Manipulation of GIB
with Cookware for VR Cooking System)

指導教員
舟橋

名古屋工業大学大学院
平成 25 年度入学

佐東

工学研究科

25417556 番

康平

健司

准教授

i

目次

第 1 章 はじめに

1

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

52.1

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

52.2

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

62.3

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

2.4

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

2.5

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

2.5.1

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

2.5.2

調理器具による押し動作 . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.5.3

調理器具による押さえつけ動作 . . . . . . . . . . . . . . . . . . . . . 20

2.5.4

調理器具によるすくい上げ動作 . . . . . . . . . . . . . . . . . . . . . 21

2.5.5

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

. . . . . . . . . . . . . . . . . . . . . . 15

第 3 章 調理器具のすくい上げと押し動作の複合操作

27

3.1

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

3.2

調理器具による動作の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3

P ush 動作と P ress 動作の複合操作 . . . . . . . . . . . . . . . . . . . . . . . 29

3.4

P ush 動作と Scoop 動作の複合操作 . . . . . . . . . . . . . . . . . . . . . . . 32

3.5

調理器具による押し動作の変更点 . . . . . . . . . . . . . . . . . . . . . . . . 34

第 4 章 実験

38

4.1

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

4.2

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

ii

第 5 章 むすび

44

謝辞

45

参考文献

46

発表論文リスト

48

1

第1章

はじめに

バーチャルリアリティ(Virtual Reality，以下 VR) とは，「現前していないにも関わらず，
本質的には現実と同一の効果を生じさせるもの」である．VR 技術とは，観測者に対してコンピュータによる情報を提示し，人間の五感 (主に視覚，聴覚，触覚) を刺激することで，現実空間と同等の空間や物体を提供する技術である [1][2]．VR 技術を用いることによって，現実空間で体験したい環境を準備するためのコストの削減，反復練習による訓練の効率化，実物を使用した際に起こりうる危険性の回避といった，様々な恩恵を得ることができる．これらの VR 技術の利点を活かして，医療，産業などの分野を目的とした VR シミュレータが開発されている．医療分野の VR シミュレータの例として，手術の訓練を支援するシミュレー
タが挙げられる [3]．この手術シミュレーションシステムでは，精密な患者のデータに基づく
ヒューマンモデルを用いて，術前に手術のリハーサルによる手技の習得，および手術方法の決定やその検討を患者ごとに行うことを可能としており，さらに手技のトレーニングといった教育面でも使用可能なシステムである．患者への負担の少ない内視鏡手術の場合，術者はモニターを見ながら器具を操作するため直接臓器に触れることができず，かつ臓器の位置関係を三次元的に把握することが難しく，術者の技量の習熟が通常の手術よりも困難である．
このような技量の習熟のために，実際の手術と同等の環境を VR を用いた手術シミュレータで体験することによって，少ないコストで効率的な訓練が可能となる．また産業分野の VR
シミュレータの例として，ドライビングシミュレータが挙げられる [4]．テレビゲームのような簡易なドライビングシミュレータはアミューズメント性を重視しているのに対し，道路交通環境を模擬，再現することで車社会の環境改善を目的としたドライビングシミュレータもある．文献 [4] は，他車両や歩行者の挙動を人間の行動モデルに基づいて再現しており，事故に至る可能性のある状況下で運転をシミュレートすることができる．

VR シミュレータは大規模または非常に高価なものが多いため，VR シミュレータが一般
家庭に広く普及しているとは言い難いが，ゲームコントローラーをはじめとする，直感的な

第1章

はじめに

2

操作が可能である比較的安価なデバイスが入手可能になってきている．例えば任天堂株式
会社から販売されているビデオゲーム機「Wii」[5] の入力装置である「Wii リモコン」は，振ったり傾けたりすることによって直感的な操作を可能にしている．また，Oculus VR 社
が開発した「Oculus Rift」[6] は，VR に特化したヘッドマウントディスプレイであり，非常に視野角が広いため高い没入感を得ることができる．このような手軽で安価な VR 装置が入手可能となることで，今後一般家庭向けの VR シミュレータが普及することが期待される．
ところで，料理は日常生活において誰もが行う一般的な行為であるが，近年増加している
核家族や単身赴任，一人暮らしを始める学生や新社会人は，自分自身で料理をしなければな
らない状況になる可能性が高く，かつ調理に関する知識，技術不足が懸念される．料理を学習するための手段の一つとして，料理に関する本や動画を見ることが挙げられる．任天堂株
式会社から販売されたニンテンドー DS 用料理ナビゲーションソフト「しゃべる！DS お料
理ナビ」[7] では，調理の手順を写真，動画とともに合成音声によりシェフのキャラクター
がガイドすることによって，料理の初心者でも基礎から理解できるための工夫がされている．料理に関する本や動画を見ることによって，料理に関する知識をユーザに提供することはできるが，実際に手を動かし料理を行うことで，さらに知識と技術を身につけることができる．しかし初心者にとって料理の練習は，食材の加工に火や刃物を用いるため危険性を伴い，反復練習を視野に入れると食材の準備にもコストを要する．そのため料理を支援するためのシステムにおいて，VR シミュレータは非常に適していると言える．ユーザが自ら調理を体験し，学習するシステムの例として，ゲーム「クッキングママ」が挙げられる [8]．これは料理を簡略化された表現の元に体験し，楽しみながら料理の手順を学ぶことを目的としている．また，VR 技術を用いて調理のシミュレートを可能とした「体験型料理シミュレー
タ」が開発されている [9]．このシミュレータでは実際の調理容器上に仮想の食材を投影することで，食材の加熱調理を視認することができる．
当研究室でも，一般家庭を対象とした VR コンテンツとして料理をとりあげ，VR 調理学
習システム「バーチャルお料理教室」の開発を行っている．この「バーチャルお料理教室」
ではユーザが，食材の準備，加工，調理，盛り付けといった調理における一連の手順を，実際に体を動かすことによって学習することを想定している．料理においては，一つの料理の作り方も重要であるが，複数の料理，すなわち食事全体を完成させる「手際の良さ」も重要な要素である．例えば，すぐ冷めてしまうメインディッシュは最後に調理する，調理に時間

第1章

はじめに

3

がかかる煮込み料理などは早めに準備する，食材をゆでる合間にサラダを作り，使い終わった調理器具を洗うが挙げられる．我々は，ユーザがこのシステムを通して手の動かし方，力加減といった専門的な調理技術を磨くのではなく，調理の経験不足による一連の調理工程における作業効率の悪さを改善することを目的としている．
当研究室ではこれまでに，調理工程における食材の操作に関する対話操作の研究を行ってきた．このシステムにおける食材とは，フライパンなどの調理容器内で扱われ，ご飯や具材などの複数の小さな固体が集まったものを想定している．小さな固体の集まりに関する従来研究として，溶岩 [10] や砂 [11] を対象としたものがある．文献 [10] では，溶岩を粒子ひとつひとつの集まりに近似して計算を行う粒子法を用いている．粒子法は厳密な挙動を表現することができるが，個々の粒子にかかる力や粒子同士の干渉を全て計算しているため，計算量が非常に大きく対話操作には不向きである．文献 [11] では，ハイトフィールドにより砂の挙動を表現しているが，局所的な計算を逐次行うため大域的な対話操作には対応できない．
そこで我々は，フライパンなどの調理容器に入れて扱う対象物，すなわち「複数の小さな固体の集まりを全体で一つの集合体」として考え，一つの操作対象として扱う．この操作対
象を固体群と呼び，固体群全体に作用する力学的影響を一括して近似的に計算することで，高速な対話操作を可能とする固体群操作モデルを提案している [12]．この固体群操作モデル
では，固体群を個々の粒子の集合ではなく，調理容器の底面に定義した二次元格子に設定された各格子の高さの値，すなわちハイトフィールドにより，固体群の形状と挙動の変化を表現している．これにより，ユーザが無意識に期待する挙動を高速に表現することを可能にした．
また調理容器操作によって固体群を扱うだけでなく，固体群を局所的に操作するために，ユーザが自由に動かすことのできる調理器具を導入した [13]．フライパンなども調理器具の一種であるが，ここではこれらを調理容器と呼び，ヘラなどを調理器具と呼称することにす
る．このモデルでは，調理器具と固体群の干渉を表現し，より直感的な操作を可能とする．
これまでに，自由に動く調理器具による操作を実現するために解決しなければならない問題
点を明確にする為に，様々な制限を設けた状況での限定的なモデルを考えてきた．まず操作
面が長方形により構成される調理器具を常に垂直に限定した上で，水平方向，鉛直方向の移動と鉛直軸を中心とした回転の計 4 自由度の操作により固体群を押し動かす動作について検討した．また，操作面を水平に限定した上で，計 4 自由度の操作により固体群を押さえつけ

第1章

はじめに

4

る動作も取り上げた．さらに，調理器具上にハイトフィールドを定義することによって，固体群をすくい上げるモデルを提案し，より直感的な操作の実現を試みた [15]．固体群すくい上げるためには，ユーザが扱う調理容器や調理器具と同数のハイトフィールドを扱う必要がある．そこで，近接する複数のハイトフィールド間の固体群挙動を一体的に扱い，異なるハ
イトフィールドにまたがる固体群の挙動を表現するモデルを提案した [16][17]．繰り返しになるが，当研究室がこれまでに提案している固体群操作モデルでは，問題を単純化するために調理器具の操作面を常に鉛直，または水平に限定した上で，固体群を押し動かす動作，押さえつける動作，すくい上げる動作を実現していただけである．そこで本研究では，調理器具の操作面を自由な角度で移動した時の動作を，押し動かす動作，押さえつける動作，すくい上げる動作の複合動作として考えることで，6 自由度自由に動く調理器具による操作を実現する．各時点における操作面の角度に応じて，上記の動作を重み付けして合成し，固体群挙動を計算することで，変わらず高速な処理速度を維持したまま，対話操作を実現する．
以下，2 章では固体群操作モデルの概要と，調理器具の操作面角度に制限を設けたモデルについて述べる．3 章ではこの制限をなくすための複合操作の考え方について述べる．4 章
では提案モデルの妥当性を評価する為の実験と結果について，5 章では本研究のまとめを述
べる．

5

第2章

2.1

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

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

当研究室が提案している従来の固体群操作モデルでは，固体一つ一つの挙動を計算するのではなく，固体群を一つの操作対象として扱うことで計算時間を削減している．調理容器はフライパンを想定しており，多角形平面の底面と，高さ H の垂直な側面によって構成し，その調理容器底面に二次元格子ハイトフィールドを定義する．そして調理容器内の固体群をハ
イトフィールドで表現する (図 2.1)．ある格子 (x, y) に存在する固体群の体積を V (x, y) とすると，調理容器 c 内の固体群の総体積 Vc (x, y) はハイトフィールドの全格子数 N を用いて以下のように表される．

Vc =

N
∑

V (x, y)(2.1)

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

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

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

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

(2.3)

第2章

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

6

‫ݖ‬
‫ݕ‬
‫ݔ‬
図 2.1: 調理容器内の固体群の表現

また，ある格子 (xi , yj ) における基準面からの固体群の表面の高さは h(xi , yj ) + hs (xi , yj )で表される．

2.2

変形曲面

調理容器を傾ける，左右に振るといった操作を行うことで，調理容器内の固体群を形状変化させることができる．この形状変化を固体群の挙動として考え，各時刻で各格子の高さを適切に変化させることで，固体群の挙動を表現する．具体的には，固体群全体，あるいはその一部分に作用する挙動の変化分を曲面により近似表現する．この曲面を変形曲面と呼ぶ．
変形曲面による固体群の挙動の例として，時刻 t から時刻 t + ∆t における容器の固体群の形状変化を固体群の断面図を用いて図 2.3 に示す．まず，ある時刻 t において傾けられた調理容器内に固体群が存在する場合 (図 2.3-1)，固体群は重力によって容器下方に移動することが予想される．そこで，固体群の体積を局所的に増加させる曲面と，減少させる曲面を適用する (図 2.3-2)．この時の体積を増加させる曲面を正の変形曲面，減少させる曲面を負の変形曲面と呼ぶ．これにより，時刻 t + ∆t における固体群は想定した通り容器下方に移動する (図 2.3-3)．この一連の処理によって固体群の挙動を高速に計算することができる．
しかし実際の固体群の挙動は複雑なため，変形曲面の形状を厳密に計算することは困難である．そのため実験システムでは簡易的な変形曲面を用いて，代替の処理を行うことで実現する．モデルの簡略化のため，固体群の移動を表現するための変形曲面の形状は半楕円柱とす第2章

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

7

zs
ys

xs
ℎ (‫ݔ‬, ‫) ݕ‬

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

1

2

時刻t

3

曲面を生成・加算

図 2.3: 変形曲面による固体群変形の過程

時刻‫ ݐ‬+ ∆‫ݐ‬第2章

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

8

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

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

• 調理容器底面と平行である楕円の長半径 a• 調理容器底面と垂直である楕円の短半径 b• 調理容器内での位置 oD• 楕円柱の中心軸 LD• 楕円柱の長さ rD
調理容器を振る，傾けることで調理容器内の固体群に容器底面と平行な力 Fb が加わるとする (図 2.6)．このとき，固体群は重心 Gc に集まっていると仮定し，変形曲面の生成位置を重心 Gc から Fb の方向に設定する．重心 Gc および半楕円柱の生成位置 oD は以下のように
求める．

Gc =

1 ∑
h(xi , yj )mij
Vc

(2.4)

第2章

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

9

b

oD

a
LD

rD

図 2.5: 半楕円柱変形曲面のパラメータoD = G c +

Fb
νa
|Fb |

(2.5)

mij はハイトフィールドの格子の座標であり，ν は任意の定数である．半楕円柱の断面となる
長半径 a は固体群の移動距離および移動する体積の双方に関する変数である．つまり，a = 0
であれば変形曲面は適用されず，固体群は移動しない．固体群は剛体とは異なり，図 2.7 のように容器端に達しても移動し続ける．そのため，固体群の大部分が容器の端まで移動し終えるまで a > 0 とする必要がある．そこで，調理容器の側面から固体群に作用する垂直抗力

FN を考え，a は調理容器の端に接している固体群の量に対して減少するよう，以下のように設定する．

T − |F ′ |
1
N
a=
0

(T1 ≥ |FN′ |)(T1 < |FN′ |)(2.6)

T1 は任意の定数，FN′ は調理容器の側面からの抗力 FN のうち，Fb に平行な成分である．長半径 a は固体群が容器の側面から受ける抗力を考慮に入れて定義されたパラメータであるが，固体群が受けた力や調理容器内に存在する固体群の体積がパラメータの設定に大きく影響しない．よって，これらを補うために短半径 b を以下のように設定する．

第2章

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

10′
௕ = ′௕ = 



図 2.6: 容器を振る，傾ける場合に固体群に作用する外力

図 2.7: 調理容器端での固体群の挙動b=
(|F | − µ′ )T √V(|Fb | ≥ µ)

0(|Fb | < µ)

2

b

c

(2.7)

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

LD = oD + tlD
lD は以下の条件を満たすベクトルである．

(2.8)

第2章

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

1

11

2

3

4

݃
‫ ݐ‬+△ ‫ݐ‬‫ݐ‬
図 2.8: 変形曲面を用いた代替処理

lD ·

Fb
=0
|Fb |

(2.9)

楕円柱の長さ rD は，調理容器底面を構成する平面図形と直線 LD の交点を結んでできる線分の長さと等しくなるように設定する．以上で決定した変形曲面のパラメータにより，変形曲面を生成して固体群に加算する．調理容器を傾けると，調理容器内の固体群は傾けられた容器の底面の沿って下方に移動すると考えられる (図 2.8-1)．まず，半楕円柱の変形曲面
により固体群の体積を局所的に増加させる (図 2.8-2)．そして，容器内の固体群全体の体積と，変形曲面加算前の体積が等しくなるように体積補正を行う (図 2.8-3)．最終的に，時刻t + ∆t におけて固体群は前時間よりも下方に移動する．

2.3

粒子による固体群の表現

現実世界における固体群の最小構成要素は微小な固体であり，有限の大きさを持っている．
従来の固体群操作モデルでは，固体群はハイトフィールドによって表現されているため最小構成要素が定義されていない．そのため，ハイトフィールドで表現されている固体群では無限小の固体が存在していることになる．そこで，ハイトフィールドで表現された固体群の最小構成要素 α を定める．ある格子 (xi , yj ) において h(xi , yj ) < α を満たす場合，その格子における α の存在を確率によって判定し，粒子の描画を決定する．このような確率的に存在が決定される固体群の描画のために，独立なハイトフィールドである描画ハイトフィール
ドを定義する．描画ハイトフィールドが持つ値 he (xi , yj ) は，調理容器に定義されたハイト第2章

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

12

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

フィールドから以下のように求める．

• h(xi , yj ) < α のとき

he (xi , yj ) =(P (x , y ) の確率で)
ij0

(1 − P (xi , yj ) の確率で) α(2.10)he (xi , yj ) = h(xi , yj )(2.11)• h(xi , yj ) ≥ α のとき

P (xi , yj ) は格子 (xi , yj ) に固体群が存在する確率であり，以下のように求める．

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

存在確率に基づいた粒子により，変形曲面では表現できない調理容器端から端への固体群の移動をより自然に表現でき，小さな固体で構成された固体群の見た目の自然らしさを表現することができる (図 2.9)．
また，調理容器外の固体群を粒子によって表現し，固体群が容器外へこぼれる様子を表現する．容器外へ固体群がこぼれる条件を定義するために，こぼれ境界を図 2.10 のように設定する．A 境界は容器を傾けた際に固体群がこぼれる高さの境界，B 境界はヘラなどの調理第2章

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

13

図 2.10: 固体群のこぼれ境界

容器によって押し出されることで固体群がこぼれる高さの境界である．なお，角度 θ は積み上がった固体群が自発的に崩れることなく安定を保つ斜面の安息角とする．固体群は二つの境界のどちらかを越えた部分に対し，存在確率に基づいた粒子を自由落下粒子へと変換し，容器外の空間へ落下させることでこぼれの挙動を実現する．

2.4

固体群の崩れ表現

第 2.2 節で述べた変形曲面は調理容器の姿勢変化や加速度運動による固体群の挙動を表現可能であるが，調理容器を水平に静止した状態で固体群が崩れる場合には対応していない．
固体群は積み重なり方により，全体あるいは一部分が崩れることが考えられる．そこで，固体群の形状に基づいた崩れを変形曲面により表現する．固体群全体あるいはその一部分を一つの操作対象とするため，始めに崩れが起こる可能性がある領域，およびその中心点を求める．その後，求められた中心点の周辺に変形曲面を適用することで局所的な崩れを計算する(図 2.11)．変形曲面の形状は大小二つのガウス曲面の差 (図 2.12) と定義し，投影面における変形曲面の中心点を崩れの候補点に一致させる．変形曲面は最終候補点の高さに応じて拡大縮小し，固体群の積み重なり方による崩れの進行速度の違いを表現する．

第2章

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

1

14

2

時刻t

3

曲面を生成・加算

図 2.11: 曲面による固体群の崩れ表現

差分

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

時刻‫ ݐ‬+ ∆‫ݐ‬第2章

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

2.5

剛体による固体群操作

2.5.1

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

15

前述のモデルでは，調理容器を振る，傾けるといった方法で固体群を間接的に操作することは可能であるが，固体群を局所的に操作することは困難である．本節では剛体の調理器具による固体群を局所的に操作するモデルについて説明する．なおフライパンや鍋も剛体に分類されるが，ここで述べる剛体とはヘラなどの固体群を押す，すくうための器具を指す．また調理器具で扱う剛体を区別するため，フライパンなどを調理容器，ヘラなどを調理器具と呼称することにする．このモデルでは，剛体は固体群と接触する部分 (以下，固体群操作面と呼称する) が一つ以上の長方形からなるものとする．固体群操作面を垂直に限定した上で水平方向，鉛直方向の移動と鉛直軸を中心とした回転の計 4 自由度の操作が可能であり，固体群を押し動かすことができる．また，操作面を水平に限定した上で水平方向，鉛直方向の操作が可能であり，固体群を押さえつける，すくい上げることができる．
本モデルでは，固体群操作面を構成する頂点による構成される三次元凸包と調理容器内の固体群の干渉を，調理器具と固体群の干渉として扱うものとする．干渉した領域の固体群を，調理器具の移動方向およびその周囲に変形曲面生成し移動させることで，調理器具で固体群を操作することが可能である．調理器具の移動により生成される凸包の例を図 2.13 に示す．
調理器具は 3 次元空間上を自由に移動させることができるため，凸包を構成する点は三次元座標によって表される．ある点 (xi , yj , h(xi , yj )) を Pijh ，同様に点 (xi , yj , 0) を Pijz としたとき，以下の二つの条件を満たす場合，固体群は凸包 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 の三つの頂点の Ak , Bk , Ck を，直線 lzh が鉛直となるようにアフィン変換したものを，A′k , Bk′ , Ck′ とする (図 2.14)．また，鉛直となるように変換した直線は′ とする．三角形 S ′ と直線 l′ の交点を P ′ とすると，P ′ = (x , y , z ) であり，未知lzh
i j ijk
ijk
ijk
zh
k
′z
である Pijkの値は次のように求められる．

第2章

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

16

図 2.13: 凸包の例

′

′

z
Pijk
= Akz −

′y
′y
′y
1
′x
′x
′x
′ z {nk (Pijk − Ak ) + nk (Pijk − Ak )}nk(2.13)′ = (x , y , z ) であるため，ハイトフィー
なお，n′k は三角形 Sk′ の法線ベクトルである．Pijk
i j ijk

ルドの格子 (xi , yj ) における，凸包との交点までの距離 zijk と言える．ここで，凸包と直線が干渉している場合，2 つの交点を持つことが凸包の定義より明らかなので，2 点を区別するため，ハイトフィールドの格子 (xi , yj ) において凸包と干渉している高さ zijk が低い方の高さを hlow (xi , yj )，高い方の高さを hhigh (xi , yj ) とする (図 2.15)．

2.5.2

調理器具による押し動作

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

その格子から減らす値 vijを以下のように求める．

第2章

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

17

′௛௜௝


௜௝௛

′
’



′
′




௭
′௜௝

௜௝௭
௭௛

′௭௛

図 2.14: 直線 lzh が鉛直になるようにアフィン変換ℎ௛௜௚௛ (‫ݔ‬௜ , ‫ݕ‬௝ )ℎ௟௢௪ (‫ݔ‬௜ ,‫ݕ‬௝ )(‫ݔ‬௜ , ‫ݕ‬௝ )

図 2.15: 凸包と直線の交点

第2章

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

18

減算する体積凸包

調理器具干渉前

調理器具干渉後

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

push
vij
=



0






h(xi , yj ) − hlow (xi , yj )(h(xi , yj ) < hlow (xi , yj ))(hlow (xi , yj ) ≤ h(xi , yj )≤ hhigh (xi , yj ))h(xi , yj ) − (hhigh (xi , yj ) − hlow (xi , yj ))





h(xi , yj ) − hhigh (xi , yj )−(h(xi , yj ) > hhigh (xi .yj ))2(2.14)

また，減算される体積の総和 V sub は，ハイトフィールドの全格子数 N を用いて，以下のよ
うに求められる．

Vpush

格子 (xi , yj ) から vij

sub

N
∑
push
=
vij

(2.15)

を減算することで，固体群が調理器具の移動軌跡との干渉により変形する挙動を表現する．調理器具と固体群との干渉により生成される変形曲面形状は四分楕円柱とする (図 2.17)．変形曲面を定義する変数を以下に示す．

• 四分楕円柱の断面となる楕円の長半径 a第2章

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

19

固体群操作面

௖
௖












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

a = T3 |v · n|

(2.16)

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

第2章

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

2.5.3

調理器具による押さえつけ動作

20

調理器具の固体群操作面を水平にした状態で調理器具を鉛直下方向に動かした場合，固体
群操作面と干渉した固体群は押さえつけられ，周囲に崩れ出ることが予想される．そこで，
press

固体群操作面とある格子 (xi , yj ) が干渉している場合，その格子から減らす値 vij

および減算される体積の総和 V sub を以下のように求める．

()

0 < hlow (xi , yj )

0
( low
)
press
vij
= hhigh − h(xi , yj )h (xi , yj ) ≤ h(xi , yj ) ≤ hhigh (xi , yj )()
 highh(xi , yj ) − hlow (xi , yj ) h(xi , yj ) > hhigh (xi , yj )(2.17)

また，減算される体積の総和 V sub は，ハイトフィールドの全格子数 N を用いて，以下のよ
うに求められる．

V

sub

N
∑
press
=
vij

(2.18)

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

• トーラスの大半径 R• トーラスの小半径 r• 調理容器内での位置 or
固体群が押さえつけられた部分の重心 GT に力が加わっていると仮定し，変形曲面の生成
位置 oT を重心 GT に設定する．調理器具の固体群操作面と固体群が干渉する領域の面積 ST
いよびその領域に含まれるハイトフィールドの格子の座標 m′ij を用いて GT を以下のように
求める．

1 ∑ ′
mij
ST
N

GT =

(2.19)

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

第2章

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

‫ݎ‬

21

ܴ

‫்݋‬

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

√
R=

ST
π

(2.20)

トーラスの小半径 r は減算する体積 V sub と R によって，以下のように求められる．

1
r=
π

√

V sub
R

(2.21)

以上のように変形曲面の各変数を決定し，各格子の値を増減させることによって，調理器具による自然な固体群の押さえつけと，それによる固体群の盛り上がりを表現する (図 2.19)．

2.5.4

調理器具によるすくい上げ動作

また，固体群操作面を水平と限定した上で，調理器具を用いて調理容器内の固体群をすくい上げる動作についても検討している．調理器具を用いて調理容器内の固体群をすくい上げ
る場合，固体群は調理容器内に留まる部分と調理器具上に乗る部分に分かれる．そこで，調理器具上の固体群を調理器具に定義したもう一つのハイトフィールドによって表現する．調理容器内の固体群を調理器具で操作する場合，二つのハイトフィールドを同時に計算対象とする必要がある．これまでは個々のハイトフィールド内のみを挙動計算の対象としており，
複数の近接するハイトフィールド間の固体群の挙動を表現できなかった．そこで，近接ハイ第2章

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

22

図 2.19: 固体群の押さえつけ動作

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

仮想の壁

仮想の壁

調理器具上
の固体群

‫ݕ‬

‫ݖ‬

‫ݖ‬
‫ݔ‬

調理容器内の固体群
図 2.20: 仮想の壁

‫ݔ‬
図 2.21: 仮想の壁

第2章

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

23

調理容器内の固体群

調理器具上の固体群

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

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

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

図 2.23: 仮想の固体群操作面の移動

調理器具で調理容器内の固体群をすくう過程において，調理器具上にすくい上げた固体群と調理器具の進行方向に存在する固体群が相互作用により移動し，崩れることがある．このとき，調理器具の進行方向に存在する固体群は調理器具上の固体群に押され，前方へ移動する．一方，調理器具上の固体群はその反作用により後方へ移動する (図 2.22)．そこで，仮想の固体群操作面を設定し，仮想の固体群の操作面の移動軌跡により表される三次元凸包を考え，固体群との干渉判定を行い，近接ハイトフィールド間の個々の固体群の相互作用による形状変化として扱う (図 2.23)．仮想の固体群操作面は調理器具に対して垂直であり，高さは
調理器具端の格子の最も高い値 h′ (x, y) と等しいものとする．調理器具に伴い移動する仮想の固体群操作面により三次元凸法と固体群の干渉は第 2.5.1 項の手法に従う．

第2章

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

24

固体群の相互作用において，仮想の固体群操作面の移動は調理器具の移動に一致するとは限らないと考える．例えば，調理器具で固体群をすくい始めて間もない段階において，調理
器具上の固体群に対して調理器具の進行方向上に存在する固体群の体積のほうが十分に大きい場合，調理器具上の固体群の大部分が進行方向と反対の向きに押し返される．調理器具上の固体群の体積が徐々に増加することで，調理器具の進行方向上に存在する固体群に及ぼす力が大きくなり，調理容器内の固体群は調理器具上の固体群によって押され始める．なお，
ここでは調理容器と調理器具の摩擦係数の違いなどは考慮していない．この一連の挙動を仮想の固体群操作面の移動により表現する．調理容器に着目すると，調理容器内の固体群は進
行方向へ押されて移動する (図 2.24)．一方，調理器具に着目すると，調理器具上の固体群は相対的に後方へ押されて移動する (図 2.25)．したがって，仮想の固体群操作面の進行方向に位置する固体群の体積と，調理器具上に存在する固体群の体積の比率によって仮想の固体
群操作面の移動距離を変化させ，仮想の固体群操作面により固体群を押し動かすことで調理器具の進行方向に存在する固体群を表現する．調理器具の進行方向へ固体群を押し動かす仮
想の固体群操作面の移動距離を df ，相対的に後方へ移動する固体群操作面の移動距離を db ，
調理器具上の固体群の総体積を Vs ，調理器具の進行方向上に存在する固体群の体積を Ve とすると，仮想の固体群操作面の移動距離 df ，db を Vs および Ve の比率により決定する．

df = d ×

Vs
Ve + Vs

db = d − df

(2.22)(2.23)

ここで，d は調理器具の移動距離である．そのうえで，第 2.5.2 項で述べた四分楕円柱形状の変形曲面により，調理器具の移動にともなう固体群移動を表現する．

2.5.5

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

前述した仮想の壁によって調理容器内の固体群と調理器具上の固体群が寄りかかり安定
している状態から，調理器具を引き抜こうとすると，調理器具とともに固体群が水平方向(図 2.26，右方向) に移動する．このとき，個々のハイトフィールドの内の崩れと近接ハイトフィールドの崩れを分けて処理する．まず，個々のハイトフィールドの移動による固体群の第2章

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

25

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

݀

図 2.24: 調理器具の進行方向へ移動する固体群‫ݐ‬
仮想の固体群操作面‫ݐ‬‫ ݐ‬+ ∆‫ݐ‬‫ ݐ‬+ ∆‫ݐ‬݀݀௕

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

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

26

図 2.26: 変形曲面による崩れ表現

移動，変形処理を行う．続いて，全てのハイトフィールドにおいて崩れの候補点および崩れの候補領域を求める (第 2.4 節)．崩れの候補領域内に仮想の壁が存在しない場合，崩れが影響を及ぼす領域はそれぞれのハイトフィールド内である．したがって，個々のハイトフィー
ルド内で挙動計算を行い，変形曲面により高さの変化分を決定する (図 2.26-a，b)．崩れの領域候補内に仮想の壁が存在する場合，崩れの影響は複数のハイトフィールドに及ぶ．これらの崩れを一括して扱うために，全てのハイトフィールドの高さの総和を表す仮想ハイト
フィールドを定義する (図 2.26-c)．仮想ハイトフィールドにおいて a，b で処理されていな
い崩れ領域の挙動を計算し，変形曲面による高さの変化分を決定する．この変形曲面を調理
容器，調理器具それぞれのハイトフィールドの適切な位置に分割，適用し，合わせて個々の変形曲面も適用することで，時刻 t + ∆t における固体群の形状を決定する以上の処理により，近接ハイトフィールド間の固体群挙動を表現する．

27

第3章

3.1

調理器具のすくい上げと押し動作の複合操作提案モデルの概要

当研究室で提案している固体群操作モデルでは，固体群をハイトフィールドで表現し，固体群全体を一つの操作対象として挙動計算することにより，全体の形状変化を表現する．またユーザは調理容器や調理器具を用いて固体群全体，あるいはその一部分を局所的に操作することができる．調理器具の操作面を常に垂直に限定した上で，水平方向，鉛直方向の移動と鉛直軸を中心とした回転の計 4 自由度の操作により固体群を押し動かす動作を可能にしている [14]．さらに，調理器具の操作面を常に水平に限定した上で，水平方向，鉛直方向の移動と鉛直軸を中心とした回転の計 4 自由度の操作により固体群を押さえつける動作と，固体群をすくい上げる動作を可能にしている [15][16][17]．そこで本手法では，調理器具の操作面を長方形に限定し，操作面の角度に応じて固体群を押し動かす動作，押さえつける動作，そしてすくい上げる動作を，独自に定義した調理器具の動作分類表を元に重み付けして合成することによって，複合動作として 6 自由度で調理器具を自由に動かせるような挙動計算モデ
ルを提案する (図 3.1)．
また，調理器具操作の 6 自由度化に伴い，調理器具による固体群を押し動かす動作に用いる変形曲面のパラメータを変更する．従来の調理器具の押し動作では，調理器具操作面の一番下の部分である辺 (調理器具操作面の底辺) の幅 w を用いて，押し動作の変形曲面の形状
である四分楕円柱の幅 c を決定していた．本手法では，調理器具操作面を構成する辺と頂点情報から，角度と距離による重み付けを行い c を導出するモデルを提案する．提案モデルにより，6 自由度の調理器具操作による固体群の押し動作だけでなく，調理器具の操作面が長方形以外の形状の凸多角形による固体群の押し動作も表現できる．

第3章

調理器具のすくい上げと押し動作の複合操作

‫ݕ‬

28

‫ݕ‬

‫ݖ‬

‫ݖ‬
‫ݔ‬

‫ݔ‬

図 3.1: 調理器具による複合動作の例

3.2

調理器具による動作の定義

本論文では，第 2.5.2 項から第 2.5.4 項で述べた固体群を押し動かす動作，押さえつける
動作，そしてすくい上げる動作をそれぞれ記号的に P ush 動作，P ress 動作，Scoop 動作と表現し，6 自由度の調理器具操作による固体群挙動はこの 3 つの動作を複合させた操作によるものとする．英単語の P ush は「押すことによって押されたものが先に進む，移動する」，

P ress は「押されたものの，土台は動かず押し込まれる，潰される」，Scoop は「手，さじ，網などで軽くかすめるようにして上へ取り出す，下から上へさっと持ち上げる」という意味
合いをそれぞれ含んでいる．しかし，調理器具操作面と調理容器の側面で固体群を挟み込む
ような動作 (図 3.2) や，調理容器内の固体群に調理器具を水平に挿入し上へ持ち上げない動作 (図 3.3) は，それぞれ P ush，P ress，Scoop の意味合いから定義することは難しい．そこで本モデルでは，P ush，P ress，Scoop をそれぞれ以下のように定義する．

• P ush固体群操作面により固体群を水平方向に動かす動作• P ress

固体群操作面により固体群を鉛直下方向に押し潰す動作• Scoop

調理容器内の固体群を調理器具操作面でかすめ取る動作

第3章

調理器具のすくい上げと押し動作の複合操作

図 3.2: 固体群を挟み込む動作

29

図 3.3: 固体群を鉛直上方向に持ち上げない
動作

ここで，Scoop 動作は必ずしも調理器具を鉛直上方向に持ち上げる必要はないものとする．
また P ress 動作によって固体群が崩れ，調理器具操作面上に乗る挙動は固体群の崩れによるものとし，Scoop 動作としない．よって，P ress 動作と Scoop 動作は複合しないものとする．
ある時点における 6 自由度の調理器具の動作を P ush 成分，P ress 成分，Scoop 成分の三種類の成分に分解し，動作分類表 (図 3.4) に従い複合操作の構成を決定する．正規化した調理器具操作面の法線ベクトル ⃗n の鉛直成分 nz と，正規化した調理器具操作面の移動ベクトル ⃗v と ⃗n の内積の値の組み合わせにより分類する．

3.3

P ush 動作と P ress 動作の複合操作

本節では，調理器具の P ush 動作と P ress 動作の複合操作について説明する．前述の調理器具の動作分類表において，以下の条件を満たす場合，調理器具の操作を P ush 動作とP ress 動作の複合操作と分類する．
• 0 ≤ nz ≤ 1 かつ −1 ≤ ⃗n · ⃗v < 0• −1 ≤ nz ≤ 0 かつ 0 < ⃗n · ⃗v ≤ 1
nz と ⃗n · ⃗v の値によって，P ush 動作のみ，または P ress 動作のみと分類されることがある．この場合それぞれを，成分が 0 ％である P ress 動作 (Scoop 動作) と成分が 100 ％である P ush 動作との複合操作，成分が 0 ％である P ush 動作と成分が 100 ％である P ress 動
作との複合操作と考えるものとする．

P ush 動作と P ress 動作の複合操作の例を図 3.5 に示す．xy 平面と操作面が成す角度を ϕ(0 ≤ ϕ ≤ π2 ) とする．また，法線ベクトル ⃗n と z 軸が成す角度が ϕ であることから，cosϕ は
以下のように決定される．

第3章

調理器具のすくい上げと押し動作の複合操作

図 3.4: 調理器具の動作分類表

30

第3章

調理器具のすくい上げと押し動作の複合操作

法線ベクトルの変形曲面

の変形曲面



31



移動ベクトルの変形曲面の生成位置(中心)௥

の変形曲面の生成位置(端線)஼

図 3.5: P ush と P ress の複合操作

cosϕ = nz(0 ≤ ϕ ≤

π
)
2

(3.1)

ここで cosϕ が大きいほど，角度 ϕ は小さくなるので P ush 成分は小さくなり，P ress 成分
が大きくなると考えられる．一方，cosϕ が小さいほど，角度 ϕ は大きくなるので P ress 成
分は小さくなり，P ush 成分が大きくなると考えられる．よって sinϕ と cosϕ の比によって，

P ush 成分と P ress 成分の比を決定する．調理器具で押し動かす固体群の体積 V push と，調理器具で押さえつける固体群の体積 V press を以下のように求める．

V push = V sub ×

sinϕ
cosϕ + sinϕ

(3.2)

V press = V sub ×

cosϕ
cosϕ + sinϕ(3.3)

体積 V sub は調理器具の固体群操作面と固体群が干渉している場合に減算する体積の総和である．P ush 成分と P ress 成分の比に応じて，減算する体積 V sub を V push と V press に分解し，各体積を P ush 動作と P ress 動作の変形曲面のパラメータの導出に用いる．各パラメー
タの導出方法や図 3.5 に示す位置を基準に適用する変形曲面の詳細は，第 2.5.2 項と第 2.5.3
項を参照されたい．

第3章

調理器具のすくい上げと押し動作の複合操作

3.4

P ush 動作と Scoop 動作の複合操作

32

本節では，調理器具の P ush 動作と Scoop 動作の複合操作について説明する．調理器具の動作分類表において，以下の条件を満たす場合，調理器具の操作を P ush 動作と Scoop 動作との複合操作と分類する．

• −1 ≤ nz ≤ 0 かつ −1 ≤ ⃗n · ⃗v < 0• ⃗n · ⃗v = 0• 0 ≤ nz ≤ 1 かつ 0 < ⃗n · ⃗v ≤ 1
第 3.3 節でも前述したように nz と ⃗n · ⃗v の値によって，P ush 動作のみの場合と Scoop 動
作のみの場合に分類されることがある．同様にそれぞれを，成分が 0 ％である Scoop 動作(P ress 動作) と成分が 100 ％である P ush 動作との複合操作，成分が 0 ％である P ush 動作と成分が 100 ％である Scoop 動作との複合操作と考える．また nz = 0 かつ ⃗n · ⃗v = 0 の場
合，操作面を垂直にした状態で鉛直方向に突き立てるような動作となるが，これは P ush 動
作，P ress 動作，Scoop 動作全ての成分が 0 ％であると考えることができる．

P ush 動作と P ress 動作の複合操作の例を図 3.6 に示す．第 3.3 節と同じように ϕ を用いて P ush 成分を求める．調理器具で押し動かす体積 V push により変形曲面の各パラメータを決定し，Push 動作のための四分楕円柱の変形曲面を生成する．

法線ベクトル

移動ベクトルの変形曲面

の変形曲面の生成位置஼

図 3.6: P ush と Scoop の複合操作

第3章

調理器具のすくい上げと押し動作の複合操作

V push = V sub ×

sinϕ
cosϕ + sinϕ

33

(3.4)

Scoop 動作は調理器具の操作面が固体群に与える力によって固体群をすくい上げているわけ
ではなく，調理器具上の固体群と調理容器内の固体群が押し合うことによって，固体群が調理器具上に移動する挙動を Scoop 動作としている (第 2.5.4 項参照)．ここで cosϕ が小さい
場合，P ush 成分は大きくなり Scoop 成分は小さくなる．すなわち ϕ が大きいため，調理器
具の操作面によって減算される固体群の総体積 V sub は大きくなるので，V sub = V push と近似できる．一方，cosϕ が大きい場合，P ush 成分は小さくなり Scoop 成分は大きくなる．すなわち ϕ は小さいため V sub は小さくなり，V sub = V push と近似できる．よって，調理器具の操作面で直接固体群に力を及ぼすことですくい上げる固体群の体積 V scoop は考慮しない．
調理器具の操作面の姿勢が複雑に変化する場合の Scoop 動作について考える．調理器具の操作面が成す角度 ϕ かつ，調理器具の移動ベクトル ⃗v と調理器具の操作面が成す角度が ϵの時 (図 3.6)，操作面が xy 平面に対して水平になるように便宜的に ϕ 回転させて考える (図3.7)．前述したように，ϕ が大きいとき Scoop 成分は小さくなり，ϕ が小さいとき Scoop 成
分は大きくなる．また調理器具の移動距離を |⃗v | とすると，水平成分の調理器具の移動距離

dl は以下のように求められる．
dl = |⃗v | × cosϵ

(3.5)

そこで第 2.5.4 項の通り，調理器具上の固体群の総体積 Vs と調理器具の進行方向上に存在する固体群の体積 Ve の比率により，仮想の固体群操作面の移動距離を以下のように求める．

df = dl ×Vs
× cosϕVe + Vs(3.6)

db = dl ×Ve× cosϕVe + Vs(3.7)

以上より，調理器具の操作面の姿勢が複雑に変化する場合の Scoop 動作を表現する．

第3章

調理器具のすくい上げと押し動作の複合操作

34

法線ベクトル
移動ベクトル 






௟

図 3.7: 6 自由度操作による Scoop

3.5

調理器具による押し動作の変更点

本節では，6 自由度の調理器具操作のための従来の押し動作の変更点について説明する．
従来モデル (第 2.5.2 項参照) では調理器具の固体群操作面を常に垂直に限定していたため，調理器具の固体群操作面を構成する一辺である幅 w を用いて，押し動作の変形曲面である
四分楕円柱の幅 c を決定していた (図 3.8)．しかし操作面の姿勢が自由な角度で変化すると，操作面の幅 w を四分楕円柱の幅 c とすることができない．そこで，調理器具の固体群操作面を構成する辺が成す角度から，変形曲面のパラメータ c を決定したい (図 3.9)．まず，調理器具の固体群操作面 (凸多角形) を構成する頂点の中で最も z 座標が低い点を点 A とし，最も xy 座標の距離が大きくなる頂点 2 点をそれぞれ点 B ，点 C とする．次に，点 A を通り，
かつ操作面の法線ベクトル ⃗n と直交する水平線を引き，点 B 及び点 C から垂線を下ろし，水平線との交点をそれぞれ点 B ′ ，点 C ′ とする．ここで辺 B ′ C ′ を四分楕円柱の幅 c とすると，図 3.10 の左図ような操作面の底辺が小さい場合，実際の操作面よりも大きい面積で固体群の押し動かすことになり，押し動作に違和感が出ることが予想できる．また点 A と隣り合う頂点 2 点をそれぞれ点 B ，点 C とすると，図 3.10 の右図のように頂点数の多い凸多角形状の操作面の場合，四分楕円柱の幅 c が非常に小さくなり，実際の操作面で押し動かすことができる固体群の体積と釣り合わなくなる．よってこれらの問題点を過不足なく補うた
め，調理器具の操作面を構成する辺が成す角度によって幅 c を重み付けする．∠ BAB ′ をβ ，∠ CAC ′ を γ とし，点 A から点 B に向かって水平線上に AB ′ × cosβ 離れた点を B ′′ ，
点 A から点 C に向かって水平線上に AC ′ × cosγ 離れた点をそれぞれ C ′′ とする．最後に，

第3章

調理器具のすくい上げと押し動作の複合操作

35

辺 B ′′ C ′′ を四分楕円柱の幅 c とする．

四分楕円柱の変形曲面

操作面の幅‫ݓ‬
四分楕円柱の幅ܿ
図 3.8: 垂直の操作面における押し動作の変形曲面のパラメータ設定‫ݖ‬

固体群操作面

‫ݕ‬
‫ݔ‬

‫ܥ‬
‫ܤ‬
ߛ

ߚ
‫ܤ‬′

‫ܤ‬′′

ܿ

‫ܣ‬

‫ܥ‬′′

‫ܥ‬′

図 3.9: 6 自由度の操作面における押し動作の変形曲面のパラメータ設定

第3章

調理器具のすくい上げと押し動作の複合操作



36







′

′





′

ܿ


′



ܿ


図 3.10: 複雑な形状の操作面における押し動作の変形曲面のパラメータ設定

以上により，調理器具の操作面の姿勢が複雑に変化した場合のみでなく，操作面が複雑な形状の場合にも従来の四分楕円柱の変形曲面による押し動作を適用できる (図 3.11)．図 3.11の左図のような逆三角形の形状の操作面の場合，押し動かすことができる固体群の総体積が小さいため適用する変形曲面も小さくなり，違和感なく固体群を押し動かすことができる．
また，図 3.11 の右図のように操作面が丸みを帯びていた場合でも，頂点数 n の凸多角形状と近似することで，問題なく提案モデルを適用できる．
本節で述べた計算手法を操作面が鉛直な押し動作として適用し，前述の P ush，P ress，

Scoop 複合操作による固体群挙動計算を行うことで，自由に姿勢を変えられる調理器具による様々な操作を実現する．

第3章

調理器具のすくい上げと押し動作の複合操作



37









′


′



ܿ

′

′



ܿ


図 3.11: 複雑な形状の操作面における押し動作の変形曲面のパラメータ設定

38

第4章

4.1

実験

実験システム以上の提案モデルを用いて実験システムを作成した．本実験では，入力装置として，任天堂株式会社より発売されている Wii リモコンと，POLHEMUS 社より発売されている

PATRIOT を用いた．PATRIOT は磁気を利用した 3 次元位置測定装置である．これにより，調理器具の移動と回転を行う．以下の構成の計算機で実験システムを構築した．

• CPU: Intel(R)Core(TM)i5-2400 CPU 3.10GHz• RAM: 4GB
実験システムでは，調理容器を直径 325mm，側面の高さ 64mm のフライパン，調理器具をヘラ，そして固体群を炒飯と想定している．調理容器内と調理器具上の固体群はテクスチャマッピングにより描画する．図 4.1 に実験の様子を示す．

図 4.1: 実験の様子

第4章

実験

39

本提案モデルにより調理器具を用いて固体群を押し動かしながら押さえつける，固体群を押し動かしながらすくい上げることができる．固体群を押し動かしながら押さえつける様子，固体群を押し動かしながらすくい上げる様子を図 4.2，図 4.3 に示す．また，調理器具
操作面を傾けた状態で固体群を押し動かす様子を図 4.4 に示す

4.2

処理速度についての評価提案モデルの処理速度を評価するため，1 フレームを計算するのに必要な各プロセスの処
理時間を調べた．調理容器底面は直径 325mm の円，調理器具の固体群操作面は一辺の長さが 100mm の正方形を想定し，それぞれのハイトフィールドの格子の解像度が等しくなるよ
うに格子数を設定する．格子サイズは事前調査により固体群挙動が自然に感じられるとの評価を得られた 16.5mm × 16.5mm とする．格子サイズを小さくすることで格子数が増加
し，格子の間隔が狭くなるため，より細かい固体群の表現が可能であり，一方，計算時間は増加する．処理時間を調べた項目は調理容器操作による変形曲面の決定，調理器具操作による変形曲面の決定，崩れの変形曲面の決定，仮想ハイトフィールドの統合と分割，変形曲面
適用，描画，Wii リモコン ·PATRIOT による動作入力，キー · マウスによる入力処理，その他の処理の 9 項目である．なお，通常のシステム利用時は Wii リモコン ·PATRIOT による動作入力を行い，キー · マウスによる入力を併用するわけではない．動作確認や処理時間計測のために用意した入力方法である．実験結果を表 4.1 に示す．調理器具操作による変形
曲面の決定が，本モデルにおける処理の追加分を含む項目である．処理の追加を行う前は，
約 2.5 ×10−5 秒必要であった．本モデルの処理追加による計算時間の増加はわずかであり，また全体から見れば少ない処理時間であることがわかる．変形曲面の適用も処理が増加しているが，計算時間の大きな増加は見られなかった．入力装置に Wii リモコン ·PATRIOT を用いた場合には合計時間約 0.0095 秒が 1 フレームの計算に必要であるため，約 105FPS での実行が可能である．なお，これらの入力には比較的長い時間が必要であるが，ここには装置のリフレッシュタイムに関わる待ち時間も含まれている．一般的に対話操作システムには

10〜12FPS 以上の処理速度が必要と言われている．実験システム全体として対話操作に必要な処理速度を得られているだけでなく，食材の準備や加工，盛り付けなどの様々な処理を同時に行うための処理を追加する時間も確保可能であり，今後の拡張に十分な余裕があると
いえる．

第4章

実験

40

図 4.2: 固体群を押し動かしながら押さえつける様子

第4章

実験

41

図 4.3: 固体群を押し動かしながらすくい上げる様子

第4章

実験

42

図 4.4: 操作面を傾けた状態で固体群を押し動かす様子

第4章

実験

43

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

処理

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

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

約 4.2 × 10−5変形曲面決定（崩れ）約 2.5 × 10−5

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

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

描画

約 200 × 10−5

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

約 20 × 10−5

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

約 700 × 10−5

その他

約 15 × 10−5

処理の総計算時間 (キー・マウス利用)

約 267.2 × 10−5

処理の総計算時間 (Wii リモコン・PATRIOT 利用)

約 947.2 × 10−5

44

第5章

むすび

当研究室で提案している固体群操作モデルでは，調理容器操作によって固体群を扱うだけ
でなく，固体群を局所的に操作するために，ユーザが自由に動かすことのできる調理器具を導入を目指している．そこで，まず 6 自由度の調理器具操作を実現するために解決しなければならない問題点を単純化し，調理器具の操作面を常に鉛直，または水平に限定した上で，固体群を押し動かす動作，押さえつける動作，すくい上げる動作を実現してきた．本論文では，これまで鉛直または水平に限定していた操作面の制限を取り除き，6 自由度自由に動く
調理器具による固体群操作を可能とするモデルを提案した．調理器具を自由に動かした時，調理器具の操作面の角度に応じて，押し動かす動作，押さえつける動作，すくい上げる動作
を重み付けして合成し，複合動作として考えることで 6 自由度の調理器具操作が可能である．また，処理速度に関する実験結果が示すように，対話操作が可能なだけでなく，様々な操作や状況への対応をするための今後の拡張が十分可能なモデルだと言える．
今後の課題として，ヘラ以外の調理器具を導入することが挙げられる．本論文では調理器
具をヘラと想定し，操作面が長方形により構成される調理器具としていたが，例えば中華鍋を扱う炒め調理を行う際に用いるおたまのような，固体群操作部分が部分球形により構成される調理器具も導入したい．様々な形の調理器具を導入することで，より臨場感を向上させることができる．また，本研究の最終目標は調理における一連の手順を全て再現できる VR
調理学習システムの構築である．したがって，調理の他に，食材の準備，食材の加工といったモデルを提案し，これまでに提案している固体群操作モデルと組み合わせ，一連の調理工程を体験可能な VR 学習システムの構築を目指す．

45

謝辞

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

46

参考文献

[1] 舘日章, 佐藤誠, 廣瀬通孝, “バーチャルリアリティ学”, 工業調査会, 2010.

[2] 服部桂, “人工現実感の世界”, 工業調査会, 1991.
[3] 鈴木薫之, 鈴木直樹, 服部麻木, 林部充宏, 大竹義人, 小林進, 橋爪誠, “臓器変形モデルと力覚フィードバックデバイスを用いた手術シミュレータの開発”, 日本バーチャルリアリ
ティ学会論文誌, Vol.9, No.2, pp.97-102, 2004.

[4] 赤松幹之, “ドライビングシミュレータとドライバー行動モデル”, 日本バーチャルリアリ
ティ学会論文誌, Vol.9, No.2, pp.91-96, 2004.

[5] 任天堂株式会社 Wii,
http://www.nintendo.co.jp/index.html[6] Oculus VR 社,
https://www.oculus.com/ja/[7] 任天堂株式会社 しゃべる!DS お料理ナビ,
http://www.nintendo.co.jp/ds/a4vj/[8] 株式会社スクウェア・エニックス クッキングママ,
http://www.square-enix.com/jp/archive/wii_cookmama/[9] 加藤史洋，三武裕玄，長谷川晶一, “ 体験型料理シミュレータ ”， 日本バーチャルリア
リティ学会第 15 回大会講演論文集, 2D2-2 (DVD-ROM), 2010.

[10] 小田康行, 村岡一信, 千葉則茂, “溶岩流の粒子ベース・ビジュアルシミュレーション”,
芸術科学会論文誌, Vol.2, No.1 pp.51-60, 2003.

47[11] 西田友是, 尾上耕一, “Virtual Sandbox”, Proceedings of IEEE 2003 Paciﬁc Conference
on Computer Graphics and Applications, pp.252-259, 2003.
[12] 舟橋健司, 小栗進一郎, “家庭での利用を目的とした VR 調理学習システムのための固体群操作モデルの検討”, 日本バーチャルリアリティ学会第 13 回大会講演論文集, pp.171-172,

2008.
[13] 森井敦士, 森愛絵, 山本大介, 舟橋健司, “VR 調理学習システムのための剛体による固体群操作モデル”, 日本バーチャルリアリティ学会第 15 回大会講演論文集, 2C2-2 (DVD-ROM), 2010.
[14] 小塚太智, “VR 調理学習システムにおける調理器具の移動範囲の拡張”, 平成 23 年度名
古屋工業大学卒業論文, 2012.

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

2013.
[16] 栗本雄多, 舟橋健司, “VR 調理学習システムのための近接ハイトフィールド間における固体群の崩れ表現”, 日本バーチャルリアリティ学会第 18 回大会講演論文集, pp.248-251,

2013.
[17] 佐東康平, 栗本雄多, 舟橋健司, “VR 調理学習のための近接ハイトフィールド間における固体群挙動”, 日本バーチャルリアリティ学会第 19 回大会講演論文集, pp.268-271, 2014.

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

48

発表論文リスト

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

pp.252-255, 2013.
2. Sato, K., and Funahashi, K., “VR-Learning System: Virtual Cooking Training System”, Proc. e-CASE & e-Tech 2014, pp.967-993, 2014.
3. 佐東康平, 栗本雄多, 舟橋健司, “VR 調理学習のための近接ハイトフィールド間における固体群挙動”, 日本バーチャルリアリティ学会第 19 回大会講演論文集, pp.268-271,

2014.