Isaac Simを用いた柔軟物シミュレーションの調査

~柔軟物の変形量の可視化~

課題

  • 柔軟物を扱う際には、物体内部で生じる応力集中による破損リスクがあります。
    応力集中する部位を検出し、ロボットハンドが柔軟物を破損しないような把持・移動を実現するためには、柔軟物内部の変形量を取得することが課題になります。

解決

  • この課題を解決するためには、ロボットハンドの把持・移動時に、応力集中を避けるように設定することが必要です。
    NVIDIA社のIsaac Simを用いた柔軟物シミュレーションで、物体内部の変形量を数値化できることを確認しました。
本調査では柔軟物を把持した際に物体内部で起こる応力集中のシミュレーションを行いました。
応力集中とは、変形によって局所的に力が集中する現象を指します。これは、パンや豆腐のように変形しやすい柔軟物で顕著となります。
ロボットハンドで柔軟物を把持すると、柔軟物自体にかかる重力や、ロボットハンドからの圧力によって変形が起こります。この変形で局所的に力が集中すると、物体が破損するリスクが生じます。
これを避けるためには、ロボットハンドの把持力や経路、移動速度など様々な要素を考慮する必要があります。

豆腐の変形シミュレーション
上:把持による変形が回復する例
下:把持による変形が回復しない例
本調査ではNVIDIA社のIsaac Sim 4.0.0を用いて、物体各部の変形量を取得するシミュレーションを行いました。
Isaac Simはロボティクスシミュレーション用のアプリケーションです。仮想空間内でロボットの動作テストや機械学習のトレーニングを行うための様々な機能を備えています。
Isaac Simは3Dモデル形式のOpenUSDにも対応しており、複雑な階層構造を持ったシーンの構築が容易になっています。

Isaac Simの物理エンジンには"PhysX"が採用されており、剛体だけでなく流体や柔軟物についても高精度なシミュレーションを行うことができます。
PhysXでは3Dモデリングツールで作成した任意形状のモデルを柔軟物としてシミュレーションすることができます。PhysXではこの柔軟物を"Deformable-Body"と呼んでいます。
表示用のポリゴンは物体表面しか定義しませんが、Deformable-Bodyでは"四面体メッシュ"(Tetramesh)を用いて物体内部が定義されます。
下図はIsaac Sim上でのDeformable-Bodyの表示例です。1つの柔軟物オブジェクトに対して、テクスチャ、シミュレーション領域、四面体メッシュをそれぞれ表示させることができます。

左:ポリゴンのテクスチャ表示
中:シミュレーション領域の表示
右:四面体メッシュの表示
下図はDeformable-bodyの変形の模式図です。各四面体メッシュの変形量を取得すれば破損個所を検出することができるようになります。

変形前後のDeformable-Bodyの模式図。圧縮箇所を着色した。
下図はDeformable-body中の全ての四面体メッシュの変形量をグラフに表したものです。
縦軸は変形前後の体積比で1以上が膨張、1より小さい値が収縮を表します、横軸は四面体メッシュのインデックスです。
このグラフでは1以下の値が優勢なのでワークは圧縮されている傾向が強く、部分的に変形の限界を超えていることが読み取れます。
この変形量を使って、閾値を越えるタイミングを検出するなどの検証方法が可能です。

四面体メッシュの変形量の数値化
下図は把持による物体の変形を可視化したものです。
変形量の数値化のグラフから、メッシュの変形量に応じたカラーマップを適用したもので、破損の恐れがある箇所が視覚的に分かりやすくなります。

QoSのパラメータ設定
今回の調査では、柔軟物シミュレーションによって物体の変形を数値で取得できることが確認できました。

今後の課題として、今回取得した変形量の数値を用い、柔軟物をロボットハンドで破損リスクなく移動させる調査を実施する予定です。

ロボットシミュレータにお困りの方はぜひ、
富士ソフトにご用命ください!

お問い合わせはこちら