弾性体のリアルタイム接触シミュレーションと 触覚...

76
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと 触覚提示手法(理論編) ○ 佐瀬一弥(北大) 江間章斗(北大) 小川修平(北大) 辻田哲平(防大) 近野敦(北大) 1 スライドURL http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf * This work was supported by JSPS KAKENHI Grant Number 15J01452 and 15H01707.

Upload: doantruc

Post on 06-Mar-2018

262 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

弾性体のリアルタイム接触シミュレーションと触覚提示手法(理論編)

○ 佐瀬一弥(北大) 江間章斗(北大) 小川修平(北大) 辻田哲平(防大) 近野敦(北大)

1

スライドURL http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

* This work was supported by JSPS KAKENHI Grant Number 15J01452 and 15H01707.

Page 2: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

自己紹介

• 佐瀬一弥• 北海道大学博士課程後期• VR脳外科手術シミュレータ

– リアルタイム物理 sim– 触覚提示– 医用画像処理

2

Page 3: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

モチベーション・スタンス

• 手堅い・実用的と思われる手法

• エンジニア視点でのご意見歓迎

3

Page 4: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

セッション内容

• 「触覚提示での利用を前提とした」弾性体‐剛体接触 sim の実装事例

• Position-based dynamics ではない古典的アプローチ

• 剛体-弾性体接触• 弾性体同士の接触や自己接触も簡単に

4

Page 5: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

Skip スライド

• 「走る猫のイラスト」が貼ってあるスライドは口頭での説明を省略します

• できるだけ詳細な情報を残した方が有益と考え削除していません• スライドのPDFを,スライド右上に記載の URL で配布しています.(CEDEC会期後 CEDEC Digital Library にて公開予定)

5※ Thanks いらすとや http://www.irasutoya.com/

Page 6: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

• 問題設定

–対象システム構成,要求事項

6

Page 7: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

想定するシステム構成

7

ハプティックデバイス体験者

視覚

運動入力

触覚

※いらすとや http://www.irasutoya.com/

Page 8: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

ハプティックデバイス

8

Sensable Phantom Omni の使用例

• ハンドル(スタイラス)付きデバイスを想定

• 市販品の例– Sensable, Phantom

Omni/Desktop/Premium*– force dimension,

sigma/omega/delta– Novint, Falcon

※ Phantom Omni は,2016年現在,3D Systems から Geomegic Touch シリーズとして販売

ハンドル

Page 9: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

ハプティックデバイスAPI

• 基本機能

– デバイス状態取得(位置/姿勢/速度/角速度など)

– デバイス出力設定(力/トルクなど)

• 例:CHAI3D (http://www.chai3d.org/)

– Haptics をサポートした simulation framework

– Open source, C++, Multi-platform

– 同じコードで複数のデバイスに対応可能

9

Page 10: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

物理simの要求

10

ハンドルと同期した操作オブジェクト(剛体)

操作オブジェクトとバーチャル環境との接触 sim対象は,静的環境,剛体,弾性体,流体など

本セッション

Page 11: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

インタラクティブ物理simの要求

1. 安定性(stability): ×発散,振動2. 更新速度(speed): 典型的には 30-60 Hz (視覚的なめらか)3. 正確性(accuracy): 衝突抜け防止,材料構成則,摩擦 etc …

11

安定性優先,速度と正確性はトレードオフ

リアルタイム用途の場合,高速化は安定化・正確化にも貢献

Page 12: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

触覚提示の要求• 高速な目標反力/トルクの更新

– 遅いと不安定化(不自然な振動)– 硬い壁に 1kHz,複雑な sim では 1kHz は非現実的

→ 高度な最適化(モデル縮約・階層化など)[1]→ 中間接触モデルを用いたマルチレートレンダリング [2]

→物理 sim の結果を平滑化 (本セッション)

• デバイスの最大出力・剛性– Phantom Omni:

• 最大出力 3.3 N • 最大提示剛性約 1 N/mm (X: 1.26N/mm, Y: > 2.31N/mm, Z: > 1.02N/mm)

12

[1] J. Barbič and D. James, “Time-critical Distributed Contact for 6-DoF Haptic Rendering of Adaptively Sampled Reduced Deformable Models,” in Proceedings of the 2007 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, 2007, pp. 171–180.[2] M. A. Otaduy and M. C. Lin, “Stable and responsive six-degree-of-freedom haptic manipulation using implicit integration,” Proc. - 1st Jt. Eurohaptics Conf. Symp. Haptic Interfaces Virtual Environ. Teleoperator Syst. World Haptics Conf. WHC 2005, pp. 247–256, 2005.

Page 13: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

• 手法の概要

13

Page 14: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

• 触覚提示手法– バーチャルカップリング

• 衝突検出– 符号付き距離場を用いた離散的接触判定

• 接触応答– ペナルティ法

• 時間積分法– 陰解法

• 弾性体-弾性体接触, 自己接触– 弾性体メッシュに対する符号付き距離場の展開

14

Page 15: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

• 触覚提示手法

–バーチャルカップリング

15

Page 16: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

バーチャルカップリング (Virtual Coupling, VC)

16※説明のためカップリング剛性を小さく設定している.

剛体オブジェクト真のハンドル位置

ハンドルと剛体オブジェクトの間にバネを設置し,剛体オブジェクトを受動的に動かす.衝突検出は剛体オブジェクトに対して行われる.

Page 17: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

VC による剛体に作用する外力

17

ばね・ダンパ

真のハンドル位置 剛体オブジェクトバネの力を受けて受動的に運動

kvc, bvc

Fvc Tvc

[1] J. E. Colgate, M. C. Stanley, and J. M. Brown, “Issues in the haptic display of tool use,” Proc. 1995 IEEE/RSJ Int. Conf. Intell. Robot. Syst. Hum. Robot Interact. Coop. Robot., vol. 3, pp. 140–145, 1995.[2] M. A. Otaduy and M. C. Lin, “A modular haptic rendering algorithm for stable and transparent 6-DOF manipulation,” IEEE Trans. Robot., vol. 22, no. 4, pp. 751–762, 2006.

Page 18: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

VC による力覚提示

18

提示する力,トルクFh = - Fvc, Th = -Tvc

Fvc- Fvc Tvc- Tvc

[1] J. E. Colgate, M. C. Stanley, and J. M. Brown, “Issues in the haptic display of tool use,” Proc. 1995 IEEE/RSJ Int. Conf. Intell. Robot. Syst. Hum. Robot Interact. Coop. Robot., vol. 3, pp. 140–145, 1995.[2] M. A. Otaduy and M. C. Lin, “A modular haptic rendering algorithm for stable and transparent 6-DOF manipulation,” IEEE Trans. Robot., vol. 22, no. 4, pp. 751–762, 2006.

Page 19: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

VC を用いない場合 (Direct rendering)

19

t = tn t = tn+1

変位 d

外力 F

提示される剛性 ke = F/d

「ke>デバイス最大提示剛性」の時,デバイス制御が不安定化.keは,弾性体の硬さ,境界条件,接触面積などの要因で決まり,予め予測することが困難.

弾性体

剛体

ke

Page 20: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

VC を用いる場合

20

t = tn t = tn+1

弾性体

剛体

ハンドルー剛体間にバネを設置して物理 sim

F弾性体→剛体

Fハンドル→剛体

F剛体→ハンドル

F剛体→弾性体

ハンドル

F床→弾性体

剛体

Page 21: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

VCの効果

21

|Fvc| = kvc d

kvc: バネ係数d: バネの伸び

ke

kvc

剛性 kvcのバネを介在させることにより,

デバイス最大提示剛性以下の出力を保証することができる.

Fvc

Fh

Page 22: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

• 剛体-弾性体接触 (衝突検出)

22

Page 23: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

弾性体の体積モデル

• 四面体メッシュ(二次元問題では三角形メッシュ)

23

四面体メッシュ例(CGALにより生成)

※ CGAL 4.8.1 3D Mesh Generation http://doc.cgal.org/latest/Mesh_3/index.html

Page 24: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

剛体の表面モデル

• 穴のない(watertight)ポリゴン

24

穴を閉じて頂点数を削減したStanford bunny

Page 25: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

衝突検出符号付距離場の利用

25

剛体符号付距離場(Signed Distance Field, SDF)

弾性体表面頂点

[1] J. Barbič and D. L. James, “Six-DoF Haptic Rendering of Contact Between Geometrically Complex Reduced Deformable Models,” IEEE Trans. Haptics, vol. 1, no. 1, pp. 39–52, 2008.

vs

弾性体の各頂点について剛体に侵入しているかどうか判定.侵入深さ・侵入方向を取得し,ペナルティ接触力を印加.

Page 26: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

符号付距離場 (Signed Distance Field, SDF)

• 任意位置に対し侵入深さを返す関数• φ(x): R3 → R• 領域の内側 φ < 0, 外側 φ > 0, 境界 φ = 0

26

φ(x) < 0

x φ(x) > 0

x

「凹」型領域に対するSDF 数値的には一様格子の頂点に値を格納し,任意の位置における値を補間して得る

Page 27: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

SDFの構築• 各格子点について最近傍ポリゴンを探索して,最短距離を取得.ポリゴンの法線を参照するなどにより内外を判定

27

• 当シミュレータでは libiglの実装を使用.

• libigl http://libigl.github.io/libigl/• SDF構築は時間がかかるので

sim前処理として一度だけ行う.

Page 28: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

SDFのサンプリング: 1. 写像

28

物体座標系(重心を原点と一致させる)

O

xcom

R

x

xbody = RT (x – xcom)

ワールド座標系重心位置 xcom,回転 R

サンプリング点

サンプリング点の物体座標系への写像

xbody

Page 29: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

SDFのサンプリング: 2. 補間

29

セルはインデックス c = [cx, cy, cz]でアクセス可能とするサンプル点を含むセル探索は下記計算により定数時間で実行可能

[x, y, z]T = xbody – x0 , c = [floor(x/h), floor(y/h), floor(z/h)]セル頂点から φ(r) を補間(二次元→bilinear, 三次元→trilinear)

φ(xbody) = interpolation(φ0, φ1,…,φ7)

x0

φ0 φ1

φ2 φ3

h

h

セルインデックスc = [4, 11] xbody

O

xbody

Page 30: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

最近傍表面への相対位置ベクトル

• SDFの勾配をとることで最近傍表面への方向が得られる

30

d

d = - φ(xbody) grad(φ(xbody))勾配は補間関数の偏微分により計算

grad(φ(x)) = [∂φ/∂x, ∂φ/∂y, ∂φ/∂z]T

物体座標系における最近傍表面位置r = xbody + d

ワールド座標系への変換xp = xcom + Rr

xbody r

Page 31: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

ペナルティベース接触力

31

xcom

x

Rr xp

fp, rb = - fp, sb

Tp, rb = Rr× fp, rb

fp, sb = kp N (xp – x) + bp N (vp - v)

弾性体表面

弾性体に作用する力

剛体に作用する力・トルク

kp, bp: ペナルティ係数

N: 異方性行列 (次ページ参照)

[1] M. A. Otaduy and M. C. Lin, “A modular haptic rendering algorithm for stable and transparent 6-DOF manipulation,” IEEE Trans. Robot., vol. 22, no. 4, pp. 751–762, 2006.

Page 32: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

接触力の異方性による疑似的な摩擦

32

fp = kp N (xp – x), N = a I + (1 - a) n nT

a = 1 等方性ばね→ 疑似的な摩擦効果

a = 0異方性ばね→ 摩擦なし

xp

x

xp

xn

n

[1] A. Mcadams, et al., “Efficient elasticity for character skinning with contact and collisions,” ACM Trans. Graph., vol. 30, no. 4, 2011.

Page 33: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

SDF利用時の問題点1• 剛体の角周辺で不連続な勾配の変化

33

右へ移動 赤がサンプル点,青がSDFの勾配を用いて計算された最近傍表面の位置

Page 34: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

SDF利用時の問題点2• 侵入量が大きいときに厚みの薄い部分で不連続な勾配の変化

34

下へ移動

Page 35: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

SDF利用時の問題点(動画)

35

Page 36: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

弾性体の頂点法線利用

36

SDFの勾配でなく,弾性体表面の頂点法線を利用することで連続性を保証[1] .

頂点法線の例(二次元)頂点法線の例(三次元)

[1] J. Barbič and D. L. James, “Six-DoF Haptic Rendering of Contact Between Geometrically Complex Reduced Deformable Models,” IEEE Trans. Haptics, vol. 1, no. 1, pp. 39–52, 2008.

Page 37: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

頂点法線の生成 ※単純な方法

37

STEP 1 面法線生成 STEP 2 頂点法線生成

Page 38: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

SDF勾配 vs 頂点法線

38

SDF勾配 頂点法線SDF勾配 頂点法線

理想的には青丸が剛体表面上.頂点法線を用いるとバネの設置方向は妥当だが,侵入量は SDF の値を用いるため正確ではない.

Page 39: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

弾性体の頂点法線利用(動画)

39

Page 40: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

• 剛体-弾性体接触 (接触応答の解法)

40

Page 41: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

剛体の運動方程式

41

xcom: 重心位置q: 姿勢(四元数)P: 運動量L: 角運動量

mrb: 質量ωq: 角速度F: 外力(接触力・重力など)T: トルク(接触トルクなど)

y = g(y, t)

[1] D. Baraff, “Physically Based Modeling: Rigid Body Simulation,” ACM SIGGRAPH Course Notes, 2001.

y: 状態量ベクトル R13

g: R13 → R13

Page 42: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

弾性体の状態表現

• 節点に関する量はひとつの列行列にまとめる.• 例えば,節点数が n の場合,

42

𝐱 =

𝐱0𝐱1⋮

𝐱𝑛−1

𝐯 =

𝐯0𝐯1⋮

𝐯𝑛−1

位置 速度 外力

𝐟 =

𝐟0𝐟1⋮

𝐟𝑛−1

Page 43: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

弾性体の運動方程式

43

M 𝐯 + C v + fels(x) = fex M 𝐯 = f

f = fint + fex

fint= - C v - fels(x)

M: 質量行列, C: 減衰行列,fels: 弾性体内力ベクトル,

fex:外力ベクトル (接触力, 重力など)

状態量 x (位置), Mv (運動量) についての微分方程式

Page 44: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

剛体-弾性体連成解析

44

弾性体

剛体

弾性体・剛体の状態量が相互に関係

s = h(s, t)

y = g(y, t)

弾性体の運動方程式 剛体の運動方程式

Page 45: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

時間積分

• 陽解法

45

sn+1 = sn + Δt hn sn+1 = sn + Δt hn+1

○実装が容易×安定性条件あり

• 陰解法

△実装が複雑○無条件安定

陰解法は非線形問題.計算量を削減するために近似したり,一部を陽解法で解いたりすることがある(半陰解法)

s = h(s, t)• 微分方程式

[1] D. Baraff & A. Witkin, “Large Steps in Cloth Simulation,” SIGGRAPH1998.[2] M. A. Otaduy & M. C. Lin, “A modular haptic rendering algorithm for stable and transparent 6-DOF manipulation,” IEEE Trans. Robot., vol. 22, no. 4, pp. 751–762, 2006.

Page 46: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

線形化

46

当シミュレータでは [1] に習い, hを線形化する.(ニュートン法の反復を1回のみ実行することと等価)

hn+1 ≈ hn + 𝜕𝐡

𝜕𝐬(sn+1 - sn)

sn+1 = sn + Δt (hn + 𝜕𝐡

𝜕𝐬(sn+1 - sn))

(I – Δt𝜕𝐡

𝜕𝐬) (sn+1 - sn ) = Δt hn

時間積分の漸化式は連立一次方程式となる.

A Δs b[1] M. A. Otaduy & M. C. Lin, “A modular haptic rendering algorithm for stable and transparent 6-DOF manipulation,” IEEE Trans. Robot., vol. 22, no. 4, pp. 751–762, 2006.

Page 47: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

ヤコビアン

47

𝜕𝐡

𝜕𝐬= =

𝜕𝐯

𝜕𝐱

𝜕𝐯

𝜕𝐌𝐯

𝜕𝐯

𝜕𝐲

𝜕𝐟

𝜕𝐱

𝜕𝐟

𝜕𝐌𝐯

𝜕𝐟

𝜕𝐲

𝜕𝐠

𝜕𝐱

𝜕𝐠

𝜕𝐌𝐯

𝜕𝐠

𝜕𝐲

O M-1 O

𝜕𝐟

𝜕𝐱

𝜕𝐟

𝜕𝐯M−1

𝜕𝐟

𝜕𝐲

𝜕𝐠

𝜕𝐱

𝜕𝐠

𝜕𝐯M−1

𝜕𝐠

𝜕𝐲

Page 48: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

48

=

O M-1 O O O O

O OO O O1

𝑚rbI

O OO O

K. Sase, et al.,

“Haptic Rendering of Contact Between Rigid and Deformable Objects based on Penalty Method with Implicit Time Integration,” XXXX2016 submitted.

Otaduy&Lin, “A modular hapticrendering algorithm for stable and transparent 6-DOF manipulation,”IEEE Trans. Robotics,2006.

Page 49: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

解法

49

(I – Δt𝜕𝐡

𝜕𝐬) (sn+1 - sn ) = Δt hn

A Δs b

A Δs = bAvv Δv

Ayv

Avy

Ayy

bv

Δy by

=

第2行より

上式 Δyを第1行に代入

Δy = Ayy by – Ayy Ayv Δv-1 -1

(Avv – Avy Ayy Ayv ) Δv = bv – Avy Ayy by-1 -1

疎 密 ※FEM の剛性行列は疎行列形式で格納

Ayy∈R13×13の逆行列はLU分解などの直接法で計算

疎行列

Δvは共役勾配法などの反復法で計算

[1] K. Sase, et al., “Haptic Rendering of Contact Between Rigid and Deformable Objects based on Penalty Method with Implicit Time Integration,” XXXX2016 submitted.

Page 50: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

• 実装

50

Page 51: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

PCの仕様

• Intel Core i7-4790K CPU (4 cores, 4.5 GHz)• RAM 16 GB• Sensable Phantom Omni• OpenMPによる並列化(GPGPU なし)• CHAI3D ライブラリ※インタラクティブセッションの展示システムと同じ

51

Page 52: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

触覚提示パイプライン

52

接触判定一次ローパスフィルタ(カットオフ周波数 10 Hz)

フィルタ適用後目標反力(1kHz)

ハンドル状態(60Hz)

デバイスコントローラ

最大値リミッタ

物理simスレッド (60 Hz) 触覚提示スレッド (1kHz)

目標反力(60Hz)

求解

ハンドル状態取得

目標反力送信

待機

フィルタ前目標反力参照

目標反力送信

待機

Page 53: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

• 結果

53

Page 54: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

bunny

54

Δt = 16.7 ms節点数: 1,229四面体要素数: 4,584計算時間: 13-16 ms/loop

Page 55: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

触覚提示

55

Δt = 16.7 ms節点数: 1,229四面体要素数: 4,584計算時間: 10-13 ms/loop

Page 56: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

ペナルティ係数と安定性 –条件• 時間刻み 0.01 [s]• ペナルティ係数 100 [N/m]• 弾性体

– ヤング率 2000 [Pa]– ポアソン比 0.4 [-]– 密度 100 [kg/m3]– 厚さ 0.1 [m]– レイリー減衰 0, 0– 底面を固定

• 剛体– 密度 100 [kg/m3]– 厚さ 0.1 [m]

56

0.06

0.1

0.1単位: [m]

m = 0.06 [m]* 0.06 [m]* 0.1 [m]* 100 [kg/m3]= 0.036[kg]

Page 57: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

ペナルティ係数と安定性 –結果

57安定範囲:陽解法 1.0 × 102まで, 陰解法 1.0 × 107まで

Page 58: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

• 弾性体-弾性体接触 & 自己接触

58

Page 59: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

弾性体-弾性体接触・自己接触

• [1] の手法を簡略化

• 弾性体側に SDF を生成,頂点 vs SDF の衝突判定

• SDF 再構築は高コスト→ SDF を更新せずに利用

– メッシュ内の侵入点を物体座標系に座標変換し,事前計算したSDF にアクセスする

59

[1] G. Hirota, et al., “An improved finite-element contact model for anatomical simulations,” Vis. Comput., vol. 19, no. 5, pp. 291–309, Aug. 2003.

Page 60: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

侵入点の最近傍表面位置の取得

1. ワールド座標系 Σwにおいてサンプリング点 xを含む四面体 T を探索

2. xの T における重心座標 bを計算3. b を用いて xの物体座標系Σbにおける位置 xbを計算4. SDF の xbにおける値 φ(xb) と勾配 grad (φ(xb))から最近傍表面点の位置を計算 xs,b = xb – φ(xb) grad(φ(xb))

5. Σbにおいて xs,b を含む四面体 Tsを探索6. xs,b のTsにおける重心座標 bs を計算7. bsを用いてxs,bを Σwに座標変換し,xsを得る

60

空間分割法[1]などが有効

BVH[1]が有効

[1] M. Teschner, et al., “Collision detection for deformable objects,” Comput. Graph. Forum, vol. 24, no. 1, pp. 61–81, 2005.

Page 61: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

9 bunnys

61

Δt = 16.7 ms節点数: 1229 x 9 = 11061四面体要素数:4584 x 9 = 41256計算時間: 700-1000 ms/loop(1.0 – 1.4 FPS)

※オフライン sim

Page 62: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

自己接触

62

Δt = 16.7 ms節点数: 2589四面体要素数:9506計算時間: 50-80 ms/loop(12–20 FPS)

※オフライン sim

Page 63: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

• 制限事項

63

Page 64: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

制限事項

• ペナルティ法– 常に食い込みを許容しなければならない– 材料やスケールが変わるとペナルティ係数の調整が必要– 高い係数で粘着的な挙動(equality contact constraintによる.時間刻みの間,ペナルティ法によるバネが接続され続けるため.)

※粘着力は力覚提示にも影響,接触法線と外力の内積をとることで粘着力を検出し,無効化するなどの工夫が必要

• SDF– メモリ消費– 高解像度であるほど境界表現精度が高いが,メモリ消費増大

• 離散的衝突判定– 薄い物体や速い速度の物体のすり抜け

64

Page 65: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

• まとめ

65

Page 66: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

まとめ

弾性体の接触・触覚提示手法として– ペナルティ法に基づく接触 sim – バーチャルカップリングによる触覚提示

を用いた手法を解説した.

他のアプローチについては付録の関連文献をご覧ください.

インタラクティブセッション「弾性体のリアルタイム接触シミュレーションと触覚提示手法(実演編)」にて、ぜひ実際にご体験ください!

66

Page 67: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

ご清聴ありがとうございました

67

Page 68: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

• 付録:関連文献

68

Page 69: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

弾性体の接触・触覚提示全般

69

* 弾性体の接触判定[1] M. Teschner, et al., “Collision detection for deformable objects,” Comput. Graph. Forum, vol. 24, no. 1, pp. 61–81, 2005.

* Position-based dynamics (PBDに限らず弾性体 sim の一般的な知見として参考になる)

[2] J. Bender, M. Müller, and M. Macklin, “Position-based simulation methods in computer graphics,” EUROGRAPHICS Tutor. Notes, 2015.

* Jernej Barbic氏の PhD thesis [3] J. Barbic, “Real-time reduced large-deformation models and distributed contact for computer graphics and haptics,” 2007.

* Miguel A. Otaduy氏の PhD thesis[4] M.A. Otaduy, “6-dof haptic rendering using contact levels of detail and haptic textures,” PhD thesis, Department of Computer Science, University of North Carolina at Chapel Hill, 2004.

Page 70: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

力覚提示の安定性

70

書籍[1] Matjaz Mihelj, Janez Podobnik, “Stability Analysis of Haptic interfaces,” Haptics for Virtual Reality and Teleoperation, Chapter 8, Springer, 2012.

Virtual coupling のオリジナル論文[2] J. E. Colgate, M. C. Stanley, and J. M. Brown, “Issues in the haptic display of tool use,” Proc. 1995 IEEE/RSJ Int. Conf. Intell. Robot. Syst. Hum. Robot Interact. Coop. Robot., vol. 3, pp. 140–145, 1995.

安定性解析の例[3] R. J. Adams and B. Hannaford, “A two-port framework for the design of unconditionally stable haptic interfaces,” Proceedings. 1998 IEEE/RSJ Int. Conf. Intell. Robot. Syst. Innov. Theory, Pract. Appl. (Cat. No.98CH36190), vol. 2, no. October, pp. 1254–1259, 1998.

Page 71: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

連続的衝突判定

• Continuous Collision Detection (CCD)

• 薄い物体や速い速度でも接触検出可能

• 正確な侵入量の計算

• 計算量が多い

71

* Constraint-based method におけるCCDの利用[1] M. A. Otaduy, R. Tamstorf, D. Steinemann, and M. Gross, “Implicit contact handling for deformable objects,” Comput. Graph. Forum, vol. 28, no. 2, pp. 559–568, 2009.* Penalty method におけるCCDの利用[2] M. Tang, D. Manocha, M. a. Otaduy, and R. Tong, “Continuous penalty forces,” ACM Trans. Graph., vol. 31, no. 4, pp. 1–9, 2012.

Page 72: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

拘束ベース接触• 正確に接触を解消• ペナルティ法のような係数調整が不要• 計算量が多い

72

* Equality contact constraint[1] M. A. Otaduy and M. Gross, “Transparent rendering of tool contact with compliant environments,” Proc. - Second Jt. EuroHaptics Conf. Symp. Haptic Interfaces Virtual Environ. Teleoperator Syst. World Haptics 2007, pp. 225–230, 2007.

* Inequality contact constraint[2] C. Duriez et al.,“Realistic Haptic Rendering of Interacting Deformable Objects in Virtual Environments,” IEEE Trans. Vis. Comput. Graph., vol. 12, no. 1, pp. 1–12, 2006.

Page 73: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

Adaptive SDF• 一様格子でなく,octree などのデータ構造を用いて複雑境界周辺の解像度を上げる.

73

S. F. Frisken, R. N. Perry, A. P. Rockwood and T. R. Jones. Adaptively sampled distance fields:Ageneral representation of shape for computer graphics. SIGGRAPH 2000, Computer Graphics Proceedings, 249–254, 2000.

梅谷信行,“自己衝突を含む衣服の有限要素法シミュレーション” Computer Graphics Gems JP 2013/2014, chapter 9.

Page 74: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

Volumetric collision detection

• ポリゴンの交差から干渉体積領域を正しく計算して利用するアプローチ– B. Heidelberger, M. Teschner, R. Keiser, M. Müller, and M. H. Gross, “Consistent penetration

depth estimation for deformable collision response,” in Vision, modeling and visualization 2004 : Proceedings, November 16-18, 2004, Stanford, USA, 2004, pp. 339–346.

• Image-based approach– GPU を積極的に活用– Layered Distance Image (LDI) を用いた画像的な干渉検出– 干渉検出での利用

• B. Heidelberger, M. Teschner, and M. H. Gross, “Real-Time Volumetric Intersections of Deforming Objects.,” in VMV, 2003, vol. 3, pp. 461–468.

– ペナルティ法への応用• F. Faure, et al., “Image-based Collision Detection and Response Between Arbitrary Volume Objects,” in

Proceedings of SCA2008, pp. 155–162.

– 拘束ベース法への応用• J. Allard, et al., “Volume Contact Constraints at Arbitrary Resolution,” ACM Trans. Graph., vol. 29, no. 4,

pp. 82:1–82:10, 2010.

74

Page 75: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

Intermediate contact model• バーチャル環境との接触状態に応じた単純な接触モデルを生成し,高速で遅延の小さい反力更新を行う

• multirate haptic rendering

75

* 静的環境[1] M. A. Otaduy & M. C. Lin, “A modular haptic rendering algorithm for stable and transparent 6-DOF manipulation,” IEEE Trans. Robot., vol. 22, no. 4, pp. 751–762, 2006.* 剛体[2] 須佐育弥,長谷川昌一,“6自由度力覚レンダリングのための中間表現”,日本バーチャルリアリティ学会論文誌 17(1), 45-54, 2012.* 弾性体[3] M. A. Otaduy and M. Gross, “Transparent rendering of tool contact with compliant environments,” Proc. -Second Jt. EuroHaptics Conf. Symp. Haptic Interfaces Virtual Environ. Teleoperator Syst. World Haptics 2007, pp. 225–230, 2007.[4] C. Duriez et al.,“Realistic Haptic Rendering of Interacting Deformable Objects in Virtual Environments,” IEEE Trans. Vis. Comput. Graph., vol. 12, no. 1, pp. 1–12, 2006.

Page 76: 弾性体のリアルタイム接触シミュレーションと 触覚 …scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdfsase/workshop/cedec2016/slide.pdf 弾性体のリアルタイム接触シミュレーションと

http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf

一点接触を前提とした触覚提示

76

* OpenHapticsや CHAI3D に実装されている[1] OpenHaptics Programmer's guide, Chap. 3, http://www.geomagic.com/files/4013/4851/4367/OpenHaptics_ProgGuide.pdf

* Virtual proxy[2] D. C. Ruspini, K. Kolarov, and O. Khatib, “The Haptic Display of Complex Graphical Environments,” in Proceedings of the 24th Annual Conference on Computer Graphics and Interactive Techniques, 1997, pp. 345–352.

* God object[3] C. B. Zilles and J. K. Salisbury, “A constraint-based god-object method for haptic display,” Proc. 1995 IEEE/RSJ Int. Conf. Intell. Robot. Syst. Hum. Robot Interact. Coop. Robot., vol. 3, pp. 146–151, 1995.