第 15 回日本バーチャルリアリティ学会大会論文集 (2010 年 9 月)

VR 調理学習システムのための剛体による固体群操作モデル
Interactive Manipulation Model of Group of Individual Bodies Using Rigid Body for VR Cooking System森井 敦士 1) ，森愛絵 2) ，山本大介 3) ，舟橋健司 4)

Atsushi Morii, Manae Mori, Daisuke Yamamoto, and Kenji Funahashi1) 名古屋工業大学 大学院工学研究科 情報工学専攻（〒 466-8555 愛知県名古屋市昭和区御器所町, morii@center.nitech.ac.jp）
2) 学校法人・専門学校 HAL 名古屋（〒 450-0002 愛知県名古屋市中村区名駅 4-27-1)

3) 名古屋工業大学 情報基盤センター（〒 466-8555 愛知県名古屋市昭和区御器所町, yamamoto.daisuke@nitech.ac.jp）

4) 名古屋工業大学 情報基盤センター（〒 466-8555 愛知県名古屋市昭和区御器所町, kenji@nitech.ac.jp）

Abstract : We have proposed a new manipulation model for a group of individual bodies (GIB)
for VR cooking systems. The GIB represents a mass of granular materials, for example sand andrice. In this model, the GIB is represented as a height ﬁeld and treated as one object for eﬃcient
calculation. In this paper, we propose a manipulation model for the GIB which can be manipulatedusing a rigid body object e.g. a spatula for cooking. We can manipulate the GIB interactively with
diﬀerent motions e.g. mixing and pushing in a container without a high computational cost. In thismodel, interactivity has a priority over accurate manipulation of the GIB.
Key Words: a group of individual bodies, VR cooking system, home use

1.

はじめに
近年, 砂や溶岩のような小さな固体の集まり (固体群) のお, 本モデルは固体群の厳密な挙動の表現よりも対話操作性を第一目的としている.

挙動モデル [1, 2] が研究されている. これらを一例とした,自然にある物の挙動を表現するための研究は, 臨場感の演出

2.

従来モデルの概要のために映画などのエンターテイメント分野において盛ん

2.1

調理容器と固体群に利用されている. しかし, これらの研究は粒子法を用いる

固体群の入っている容器 (以下, 調理容器) は凸多角形のなど, 計算量が多量になる手法であり, 対話操作性が求めら

平面図形を底部とし, 容器側面の高さが 𝐻 の垂直の壁を持れるコンテンツには向いていない. そこで, 当研究室では対つ形状とする. 固体群は調理容器内に定義するハイトフィー

話操作性に優れた固体群操作モデル [3, 4] を開発している.

ルドにより表現する. 調理容器内に存在する固体群の体積

本モデルは固体群をハイトフィールドにより表現してお𝑉 はハイトフィールドを構成する各格子の値 (高さ) の総和り, 固体ひとつずつの応力を計算するのではなく, 固体群をである. 体積 𝑉 は格子 (𝑥𝑖 , 𝑦𝑗 ) の持つ値を 𝑓 (𝑥𝑖 , 𝑦𝑗 ), 容器ひとつの操作対象とみなすことにより対話操作を実現して内に存在する格子の総数を 𝑛 とすると,いる. 実験システムでは, 固体群の入っている容器を傾けることにより, 固体群の移動が可能である. これはフライパン

𝑉 =𝑛∑𝑓 (𝑥𝑖 , 𝑦𝑗 )(1)の中の炒飯をイメージしており, 調理手順を学習する VR システムを本モデルの応用例として考えている.
本論文では文献 [3] で述べる固体群に対する, 剛体を用いた操作モデルを提案する. 具体的には, フライパンの中の炒飯をヘラで操作する事を想定している. 提案モデルでは, 従来の固体群全体の形状を計算する手法を剛体周辺に適用し,剛体の干渉による固体群の形状変化を近似的に表現する. なで求められる.

2.2

曲面モデルによる形状変化

固体群の形状変化は曲面によって近似的に表現する. 例
えば, 図 1-1 のように, 中央に固体群が存在する調理容器を傾けた場合, 固体群が滑っていくべき方向にハイトフィールドの各値を更新する為の曲面 (図 1-2, 黒色部分) を定義し,固体群に加算する. 次に, 全体の体積がこの曲面を加算する

3.

剛体を用いた固体群操作モデル

前と等しくなるようにハイトフィールドの各値を修正する

本節では剛体による固体群の操作を考える. フライパン(図 1-3). この処理により, 固体群の調理容器下方への移動などの調理容器も剛体の一種であるが, ここではヘラなどをを表現する (図 1-4). 固体群に加算するこの曲面を変形曲面対象とし, 以下では調理容器と区別する場合には, 調理器具と呼称する. また, 計算量を抑えるために, 生成する変形曲と呼ぶ.

面は半楕円柱とする.

3.1

剛体について

図 2 に示すように, 楕円柱の長さは調理容器よりも十分長本モデルでは, 剛体は固体群と接触する部分（固体群操作く設定し, 調理容器外の部分については計算の対象外とする.

部）が 1 つ以上の長方形からなるものとする. 図 4 に剛体の例を示す.
剛体の姿勢は固体群操作部が水平面 𝑆 と垂直をなすようにし, 水平面 𝑆 上を平行移動するものとする.

図 1: 曲面による固体群の形状変化

図 4: 剛体の例
図 2: 半楕円柱状の変形曲面

2.3

存在確率に基づく固体群

3.2

剛体と調理容器の内外判定

調理容器と剛体の位置関係の判定を行い, 調理容器内に剛ハイトフィールドを構成する各値は連続値である. ただ体が存在するときに固体群は剛体によって操作される. 判

し, 固体群とは小さな固体の集合であり, 各固体は有限の大定は剛体上に設定する基準点 𝑋𝑠 = (𝑥𝑠 , 𝑦𝑠 , 𝑧𝑠 ) により行う.

きさである. そこでこの値 𝑓 (𝑥𝑖 , 𝑦𝑗 ) = 𝑃 が 0 < 𝑃 ≤ 1 で

具体的には以下の 2 つの条件で判定を行う.

ある場合, 確率 𝑃 で 𝑓 (𝑥𝑖 , 𝑦𝑗 ) = 1 とし, それ以外は 0 とす

1. 調理容器の底部を構成する凸多角形の平面図形 𝐵 をる. 固体群の存在する確率が 𝑃 である格子が 𝑛1 個ある場

水平面 𝑆 に正射影してできる平面図形 𝐵 ′ と, 基準点合には, およそ 𝑃 𝑛1 個の格子には固体群が存在し (値 1), お𝑋𝑠 を 𝑆 に正射影した点 𝑋𝑠′ = (𝑥𝑠 , 𝑦𝑠 ) が 𝑋𝑠′ ⊂ 𝐵 ′よそ (1 − 𝑃 )𝑛1 の格子には固体群は存在しない (値 0).
調理容器を急に傾けた場合, 前節で述べた変形曲面を図

2. 𝐵 ⊂ 𝐵𝐼 である平面 𝐵𝐼 : 𝑎𝑥 + 𝑏𝑦 + 𝑐𝑧 + 𝑑 = 0 と基
準点 𝑋𝑠 の位置関係を示す 𝑅

3(左) に示す通りに設定すると, 固体群は容器の中央部分を𝑅=超えて瞬時に移動してしまう. そこで容器中央部に斜線で示す高さ 𝑃 の平面も変形曲面として設定する (図 3(中)). これにより, 実際に容器底部を滑って行く各固体の表現はでき(2)が𝑅≤0ないが, 短時間で固体群が容器固体群が容器上部から下部へ移動している様子を表現する.

𝑎𝑥𝑠 + 𝑏𝑦𝑠 + 𝑐𝑧𝑠 + 𝑑√
𝑎 2 + 𝑏 2 + 𝑐2

以上 2 つの条件を満たす時, 調理器具が調理容器内に存在するとみなす.

3.3

剛体による固体群操作

剛体による固体群操作時の固体群の挙動を表現するために, 2.2 節で述べた変形曲面による手法を適用する. ここで変形曲面は, 断面が四分割した楕円である四分楕円とする.(図5) また, 従来モデルの変形曲面とは逆の働きをする, 負の変形曲面も用いる (詳細は 3.3.1 節).
剛体と調理容器の内外判定において, 剛体が容器の内側にあると判定された時, 図 6 のように剛体の前後に正と負の四
図 3: 存在確率に基づく固体群分楕円柱を生成する. 剛体の進行方向をベクトル 𝑝 とすると, 固体群操作部を構成する面を境にして, 𝑝 方向に正の変子が持つ値を補正する. 本モデルにおいても同様に, 変形曲面が生成された範囲において固体群の体積を保存するため, 各格子が持つ値に補正を行う. 剛体との衝突で, 剛体の進行方向に固体群が移動するという事を表現するため, 負の変形曲面で減少した体積だけ, 正の変形曲面で固体群を増加させる. 格子 (𝑥𝑖 , 𝑦𝑗 ) が, 𝐺(𝑥𝑖 , 𝑦𝑗 ) の値を持ち, 正の変形曲面内部にあるとき, 正の曲面生成後, 格子 (𝑥𝑖 , 𝑦𝑗 ) が持つ値

𝐺(𝑥𝑖 , 𝑦𝑗 )′ は以下のように求まる.
𝐺(𝑥𝑖 , 𝑦𝑗 )′ = 𝐺(𝑥𝑖 , 𝑦𝑖 ) +図 5: 四分楕円柱

𝑣𝑚
𝑌𝑝 (𝑥𝑖 , 𝑦𝑗 )𝑣𝑝

(4)

なお, 𝑌𝑝 (𝑥𝑖 , 𝑦𝑗 ) は格子 (𝑥𝑖 , 𝑦𝑗 ) における正の変形曲面の高形曲面, −𝑝 方向に負の変形曲面を生成する. このとき, 楕円さである. 𝑣𝑚 は負の変形曲面によって減少した格子が持つ柱の方向を表す, 楕円の短軸と長軸に直交する直線 𝑙(図 5)値の総和 (負の変形曲面で減少した体積) であり, 負の変形について, 直線 𝑙 の方向ベクトルを 𝑡 とすると 𝑝 ⋅ 𝑡 = 0 とな

曲面の内部に含まれる格子の数が 𝑛2 のとき,る. また, 四分楕円柱の長さ 𝑐(図 5) については調理容器よ

𝑣𝑚 =りも大きくならないようにする (図 6).

𝑛2∑(𝑔(𝑥𝑖 , 𝑦𝑗 ) − 𝑔(𝑥𝑖 , 𝑦𝑗 )′ )(5)で求まる. 𝑣𝑝 は正の変形曲面の高さの総和であり, 正の変形
曲面内部にある格子の数 𝑛3 を用いて

𝑣𝑝 =𝑛3∑𝑌𝑝 (𝑥𝑖 , 𝑦𝑗 )

(6)

で求まる.

4.

実験および結果以上のモデルを用いて実験システムを計算機 (2.5GHz,1GB) に C++, DirectX を用いて構築した. 入力装置には任天堂株式会社から発売されている Wii リモコンとヌンチャクを用いている. 調理容器にはフライパン, 調理器具にはヘラ, 固体群は炒飯を想定している. 描画時に固体群表面にテクスチャマッピングを行う. ユーザーは調理容器を傾ける
図 6: 剛体周辺に生成される変形曲面

3.3.1

従来モデルの変形曲面は, ハイトフィールドの各格子のうち, 曲面内部に含まれる格子の値を増加させる. 一方, 負の変形曲面は, 曲面内部に含まれる格子の値を減少させる. 容器内に存在する, ある格子 (𝑥𝑖 , 𝑦𝑗 ) が 𝑔(𝑥𝑖 , 𝑦𝑗 ) の値を持ち,負の変形曲面内部にある時, 格子 (𝑥𝑖 , 𝑦𝑗 ) における負の変形曲面の高さを 𝑌𝑛 (𝑥𝑖 , 𝑦𝑗 ) (𝑌𝑛 (𝑥𝑖 , 𝑦𝑗 ) < 0) とすると, 負の曲面加算後の格子 (𝑥𝑖 , 𝑦𝑗 ) の持つ値 𝑔(𝑥𝑖 , 𝑦𝑗 )′ は以下のように求められる.

𝑔(𝑥𝑖 , 𝑦𝑗 ) =

3.3.2

⎧
𝑔(𝑥𝑖 , 𝑦𝑗 ) + 𝑌𝑛 (𝑥𝑖 , 𝑦𝑗 )⎨(𝑔(𝑥𝑖 , 𝑦𝑗 ) + 𝑌𝑛 (𝑥𝑖 , 𝑦𝑗 ) > 0 のとき)

0⎩

ることができる. 図 7 に描画頂点数を 331 にした時の実験システムの様子を示す. なお予備実験より, 描画頂点数が約負の変形曲面′だけでなく, 調理器具を用いて容器内にある固体群を操作す(𝑔(𝑥𝑖 , 𝑦𝑗 ) + 𝑌𝑛 (𝑥𝑖 , 𝑦𝑗 ) ≤ 0 のとき)
(3)

331 以上において固体群の挙動が自然らしく感じられるとの評価が得られている.
実験システムの処理速度 (FPS) の平均を測定した. ヘラがある状態 (ヘラで固体群に干渉している状態, 提案モデル)と, ヘラのない状態 (従来モデル) の比較結果を表 1 に示す.
なお, 頂点数が整数の 2 乗値でないのは, 調理容器が円形で
表 1: 処理速度の実験結果

FPS(平均)
描画頂点数

ヘラあり

ヘラなし

1027

113.3113.71519

68.969.1

2107

44.544.8

剛体周辺における体積保存

従来モデルでは変形曲面を生成して固体群に加算した後,あるためである. 実験結果に対して平均を求め, 四捨五入の変形曲面生成前の体積になるようハイトフィールドの全格処理を行ったところ, 提案モデル (ヘラあり) は従来モデル

に対して若干の速度低下がみられた. しかし, 速度の低下は極めて少なく, 対話操作を実現するために十分な処理速度を実現できている.
固体群の挙動の自然さについて評価するため, 被験者 12人に本システムを体験してもらい, 「調理器具の動きに対する固体群挙動が自然であるかどうか」という質問に対して,7 段階にて評価をしてもらった. 評価の目安は,∙ 1 : 全く自然に見えない∙ 7 : 限りなく自然に近いとした. なお, 実験は調理容器は円形のものとし描画頂点数を 331 にして行った. 図 8 に評価の結果を示す. 評価値の平均値は 6.0 であり, 本モデルは剛体による固体群操作を自然に表現できていると言える.

5.

むすび
本研究では, VR 調理学習システムのための剛体による固体群操作モデルを提案した. 提案モデルでは, 従来モデルと同程度の対話操作性を維持しつつ, 調理器具などの剛体を用いて, 固体群を押す, 混ぜるといった操作が可能である. さらに, ユーザーは剛体を通じて直接固体群を操作することにより, 従来モデルよりも高い臨場感を得ることが可能である.
今後の課題としては, 固体群を「容器外へ押しだす」, 「すくいあげる」といった操作を剛体で行えるようにモデルを改良し, より現実感の高い操作を実現することが挙げられる. さらに,「舞い上がり」といったような固体群が上向きの力を受けた時の挙動モデルを考案することも挙げられる.
また, 将来的には, 本論文で述べる固体群操作モデルに加え,「材料を切る」, 「盛り付けを行う」といった実際の料理で行う作業のモデルを提案し, VR 調理学習システムを構築し

図 7: 実験システムていく.

参考文献[1] Stora, D., Agliati, P. O., Cani, M. P., Neyret, F., andGascuel, J. D.: Animating lava ﬂows. In: Proc. of theGraphics Interface, pp.203-210, 1999.
[2] Onoue, K., and Nishita, T.: Virtual Sandbox. In:Proc. of the 11th Paciﬁc Graphics, pp.252-259, 2003.
[3] 舟橋健司, 小栗進一郎 : 家庭での利用を目的とした VR
調理学習システムのための固体群操作モデルの検討, 日
本バーチャルリアリティ学会第 13 回大会講演論文集,

pp.171-172 (DVD-ROM) 1E2-1, 2008.
[4] Morii, A., Yamamoto, D., Funahashi, K.: Interactive
Manipulation Model of Group of Individual Bodies
for VR Cooking System. In: Proc. of the ICEC2010,
pp484-486, 2010. (印刷中)

図 8: 挙動の自然さの評価結果