Upload
doantruc
View
260
Download
4
Embed Size (px)
Citation preview
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.
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
自己紹介
• 佐瀬一弥• 北海道大学博士課程後期• VR脳外科手術シミュレータ
– リアルタイム物理 sim– 触覚提示– 医用画像処理
2
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
モチベーション・スタンス
• 手堅い・実用的と思われる手法
• エンジニア視点でのご意見歓迎
3
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
セッション内容
• 「触覚提示での利用を前提とした」弾性体‐剛体接触 sim の実装事例
• Position-based dynamics ではない古典的アプローチ
• 剛体-弾性体接触• 弾性体同士の接触や自己接触も簡単に
4
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
Skip スライド
• 「走る猫のイラスト」が貼ってあるスライドは口頭での説明を省略します
• できるだけ詳細な情報を残した方が有益と考え削除していません• スライドのPDFを,スライド右上に記載の URL で配布しています.(CEDEC会期後 CEDEC Digital Library にて公開予定)
5※ Thanks いらすとや http://www.irasutoya.com/
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
• 問題設定
–対象システム構成,要求事項
6
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
想定するシステム構成
7
ハプティックデバイス体験者
視覚
運動入力
触覚
※いらすとや http://www.irasutoya.com/
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 シリーズとして販売
ハンドル
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
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
物理simの要求
10
ハンドルと同期した操作オブジェクト(剛体)
操作オブジェクトとバーチャル環境との接触 sim対象は,静的環境,剛体,弾性体,流体など
本セッション
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
インタラクティブ物理simの要求
1. 安定性(stability): ×発散,振動2. 更新速度(speed): 典型的には 30-60 Hz (視覚的なめらか)3. 正確性(accuracy): 衝突抜け防止,材料構成則,摩擦 etc …
11
安定性優先,速度と正確性はトレードオフ
リアルタイム用途の場合,高速化は安定化・正確化にも貢献
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.
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
• 手法の概要
13
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
• 触覚提示手法– バーチャルカップリング
• 衝突検出– 符号付き距離場を用いた離散的接触判定
• 接触応答– ペナルティ法
• 時間積分法– 陰解法
• 弾性体-弾性体接触, 自己接触– 弾性体メッシュに対する符号付き距離場の展開
14
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
• 触覚提示手法
–バーチャルカップリング
15
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
バーチャルカップリング (Virtual Coupling, VC)
16※説明のためカップリング剛性を小さく設定している.
剛体オブジェクト真のハンドル位置
ハンドルと剛体オブジェクトの間にバネを設置し,剛体オブジェクトを受動的に動かす.衝突検出は剛体オブジェクトに対して行われる.
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.
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.
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
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
VC を用いる場合
20
t = tn t = tn+1
弾性体
剛体
ハンドルー剛体間にバネを設置して物理 sim
F弾性体→剛体
Fハンドル→剛体
F剛体→ハンドル
F剛体→弾性体
ハンドル
床
F床→弾性体
剛体
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
VCの効果
21
|Fvc| = kvc d
kvc: バネ係数d: バネの伸び
ke
kvc
剛性 kvcのバネを介在させることにより,
デバイス最大提示剛性以下の出力を保証することができる.
Fvc
Fh
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
• 剛体-弾性体接触 (衝突検出)
22
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
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
剛体の表面モデル
• 穴のない(watertight)ポリゴン
24
穴を閉じて頂点数を削減したStanford bunny
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
弾性体の各頂点について剛体に侵入しているかどうか判定.侵入深さ・侵入方向を取得し,ペナルティ接触力を印加.
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 数値的には一様格子の頂点に値を格納し,任意の位置における値を補間して得る
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
SDFの構築• 各格子点について最近傍ポリゴンを探索して,最短距離を取得.ポリゴンの法線を参照するなどにより内外を判定
27
• 当シミュレータでは libiglの実装を使用.
• libigl http://libigl.github.io/libigl/• SDF構築は時間がかかるので
sim前処理として一度だけ行う.
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
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
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
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.
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.
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
SDF利用時の問題点1• 剛体の角周辺で不連続な勾配の変化
33
右へ移動 赤がサンプル点,青がSDFの勾配を用いて計算された最近傍表面の位置
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
SDF利用時の問題点2• 侵入量が大きいときに厚みの薄い部分で不連続な勾配の変化
34
下へ移動
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
SDF利用時の問題点(動画)
35
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.
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
頂点法線の生成 ※単純な方法
37
STEP 1 面法線生成 STEP 2 頂点法線生成
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
SDF勾配 vs 頂点法線
38
SDF勾配 頂点法線SDF勾配 頂点法線
理想的には青丸が剛体表面上.頂点法線を用いるとバネの設置方向は妥当だが,侵入量は SDF の値を用いるため正確ではない.
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
弾性体の頂点法線利用(動画)
39
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
• 剛体-弾性体接触 (接触応答の解法)
40
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
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
弾性体の状態表現
• 節点に関する量はひとつの列行列にまとめる.• 例えば,節点数が n の場合,
42
𝐱 =
𝐱0𝐱1⋮
𝐱𝑛−1
𝐯 =
𝐯0𝐯1⋮
𝐯𝑛−1
位置 速度 外力
𝐟 =
𝐟0𝐟1⋮
𝐟𝑛−1
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 (運動量) についての微分方程式
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
剛体-弾性体連成解析
44
弾性体
剛体
弾性体・剛体の状態量が相互に関係
s = h(s, t)
y = g(y, t)
弾性体の運動方程式 剛体の運動方程式
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.
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.
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
ヤコビアン
47
𝜕𝐡
𝜕𝐬= =
𝜕𝐯
𝜕𝐱
𝜕𝐯
𝜕𝐌𝐯
𝜕𝐯
𝜕𝐲
𝜕𝐟
𝜕𝐱
𝜕𝐟
𝜕𝐌𝐯
𝜕𝐟
𝜕𝐲
𝜕𝐠
𝜕𝐱
𝜕𝐠
𝜕𝐌𝐯
𝜕𝐠
𝜕𝐲
O M-1 O
𝜕𝐟
𝜕𝐱
𝜕𝐟
𝜕𝐯M−1
𝜕𝐟
𝜕𝐲
𝜕𝐠
𝜕𝐱
𝜕𝐠
𝜕𝐯M−1
𝜕𝐠
𝜕𝐲
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.
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.
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
• 実装
50
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
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
触覚提示パイプライン
52
接触判定一次ローパスフィルタ(カットオフ周波数 10 Hz)
フィルタ適用後目標反力(1kHz)
ハンドル状態(60Hz)
デバイスコントローラ
最大値リミッタ
物理simスレッド (60 Hz) 触覚提示スレッド (1kHz)
目標反力(60Hz)
求解
ハンドル状態取得
目標反力送信
待機
フィルタ前目標反力参照
目標反力送信
待機
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
• 結果
53
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
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
触覚提示
55
Δt = 16.7 ms節点数: 1,229四面体要素数: 4,584計算時間: 10-13 ms/loop
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]
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
ペナルティ係数と安定性 –結果
57安定範囲:陽解法 1.0 × 102まで, 陰解法 1.0 × 107まで
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
• 弾性体-弾性体接触 & 自己接触
58
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.
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.
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
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
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
• 制限事項
63
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
制限事項
• ペナルティ法– 常に食い込みを許容しなければならない– 材料やスケールが変わるとペナルティ係数の調整が必要– 高い係数で粘着的な挙動(equality contact constraintによる.時間刻みの間,ペナルティ法によるバネが接続され続けるため.)
※粘着力は力覚提示にも影響,接触法線と外力の内積をとることで粘着力を検出し,無効化するなどの工夫が必要
• SDF– メモリ消費– 高解像度であるほど境界表現精度が高いが,メモリ消費増大
• 離散的衝突判定– 薄い物体や速い速度の物体のすり抜け
64
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
• まとめ
65
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
まとめ
弾性体の接触・触覚提示手法として– ペナルティ法に基づく接触 sim – バーチャルカップリングによる触覚提示
を用いた手法を解説した.
他のアプローチについては付録の関連文献をご覧ください.
インタラクティブセッション「弾性体のリアルタイム接触シミュレーションと触覚提示手法(実演編)」にて、ぜひ実際にご体験ください!
66
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
ご清聴ありがとうございました
67
http://scc.ist.hokudai.ac.jp/~sase/workshop/cedec2016/slide.pdf
• 付録:関連文献
68
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.
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.
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.
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.
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.
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
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.
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.