In Silico

Physical AI

SimReadyとは:シミュレーション用3Dアセットの要件と検証の仕組み

2026/10/31 (更新: 2026/11/3)

  • SimReady
  • Physical AI
  • ロボットシミュレーション
  • OpenUSD
  • SimReady Foundation
  • SimReady Central
  • simready-validate
  • Isaac Sim
  • PhysX
  • Newton
  • MuJoCo
  • Robotics-Prop
  • Hugging Face
  • プロファイル
  • 衝突形状
  • 質量
  • 慣性テンソル
  • 静的検査
  • ベンチマーク
  • customLayerData
  • 剛体
  • 摩擦
  • CAD
  • システム同定
  • Robotiq
  • グリッパー
  • 閉ループ
目次
背景・問い・要点
背景

ロボットに物をつかませる方策をシミュレーションで学習させる技術者を考える。技術者は学習用の場面を組むために、配布されている三次元モデルを取り込む。ところが、取り込んだ物体が床をすり抜けて落ちたり、質量や衝突形状が設定されていなかったりする。ある物理エンジンで動いた物体が、別のエンジンでは違う動き方をすることもある。技術者は物体ごとにファイルを開き、衝突形状・質量・摩擦を一つずつ書き足して直す。

物理エンジンは、物体どうしの接触を計算するための形状を、見た目の形状とは別に持つ。この形状を衝突形状と呼ぶ。設計用のソフトウェアから書き出した三次元モデルは出発点にはなるが、衝突形状・質量・摩擦は、使う側が別に足すことが多い。ファイルが実際に動くかどうかを、技術者はシミュレータに読み込む前に知る確かな方法を持たない。

NVIDIA の SimReady は、作り手が用途ごとの要件を公開し、その要件で検査したアセットを配る仕組みである。NVIDIA は、要件と検査の道具を SimReady Foundation として、検査したアセットを配る場を SimReady Central として公開している。作り手は要件ごとにその理由も書いて公開しており、読者はリポジトリで要件の文と検査の手順を確かめられる。物性付きのモデルを配る形には、ほかにも、物理エンジンごとのロボット記述形式で書いたモデル集がある。

問い

SimReady のアセットは、ただの三次元モデルに何を足したもので、その検査の結果から使う側は何を判断できるのか。

要点

SimReady のアセットは、衝突形状や質量などの物性を書き込んだ OpenUSD のアセットに、用途ごとのプロファイルで検査した結果を記録したものである。その検査は、物性が書かれ、書き方の規則を守り、決めた試験を通ることまでを確かめ、値が実物に合うかは確かめない。

OpenUSD は三次元の場面を記述する形式で、プロファイルはある用途でアセットが満たすべき要件の束である。使う側は、記録されたプロファイル名・版・合否を読んで、自分の用途に合うアセットを選べる。質量が実物の重さに合うかは、使う側が実機で確かめる。

モデル・例示

りんごのアセットが、検査を通って使う側に届くまで

※ この節の例は、説明のために作った架空のものです。

SimReady のアセットがただの三次元モデルに足すものは二つある。シミュレータが物体を動かすのに要る物性と、その物性を用途ごとの要件で検査した記録である。りんご一個のアセットが、作り手から使う側に届くまでをたどる。

ただの三次元モデルのりんごは、見た目の形だけを持つ。これをシミュレータに置くと、質量も衝突形状も無いので、物体として扱われないか、床をすり抜ける。作り手はこのりんごを SimReady のアセットにするため、変形せずに動く物体(剛体)として扱う指定、衝突形状、質量を書き込む。物を扱うロボットの場面向けのプロファイル Robotics-Prop が求める、物体の種類を表すセマンティックラベルなどの要件も満たす。

  1. 作り手1. りんごのモデルに、剛体の指定・衝突形状・質量を書き込む
  2. 作り手検査の道具2. りんごを Robotics-Prop の要件で検査する
  3. 検査の道具作り手3. 要件ごとの合否を、プロファイル名と版とともにファイルに書き込んで返す
  4. 作り手使う側4. 検査の記録つきのアセットを配る
  5. 使う側5. 記録のプロファイル名と合否を読み、自分の用途に合うアセットを選ぶ
  6. 使う側6. 場面にりんごを置く。りんごは床に落ちて止まり、ロボットがつかめる

使う側は、りんごを開いて物性を一つずつ確かめなくても、ファイルに書かれた検査の記録から、そのアセットがどの用途の要件を満たしたかを知れる1。作り手は、エンジンで実際に落とす試験も別の道具で行える2。

この例から言えること

  1. SimReady のアセットは、見た目の三次元モデルに、シミュレータで動かすための物性を書き足したものである。
  2. 何を書き足すべきかは、用途ごとのプロファイルが決める。検査の結果は、プロファイル名と版とともにアセットのファイルに残るので、使う側はファイルを読んで選べる。
  3. 検査が確かめるのは、物性が書かれ、書き方の規則を守ることまでで、値が実物に合うかではない。りんごの質量が実物の 5 倍でも、検査は通る。実物との一致は、使う側が確かめる。

物性の抜けはシミュレータで開くまで見えず、使う側がアセットごとに直してきた

シミュレーション用の三次元アセットでは、物性の抜けや書き方の誤りがシミュレータで開くまで見えず、別のエンジンに移すと壊れることもあり、使う側がアセットごとに手で直してきた。NVIDIA の SimReady Foundation の入門文書は、この状態を次のように書く。ある物理エンジン向けに作ったアセットが別のエンジンでは壊れることが多く、衝突形状は欠けているか不揃いで、ファイルがシミュレータで動くかを読み込む前に知る確かな方法が無い3。

Hugging Face に載った NVIDIA の発表記事も、同じ手間を挙げる。CAD(Computer-Aided Design)で作った詳細な三次元モデルは出発点として役に立つが、ロボットの操作の課題には、質量・衝突形状・摩擦などの情報が別に要る。開発者はこれらを自分で足すことが多い4。記事は、この追加の手間を減らすために、シミュレーションに要る物性を最初から備えたアセットを SimReady のアセットと呼ぶ4。

SimReady のアセットは、OpenUSD で書く。USD(Universal Scene Description)は三次元の場面を記述する形式で、OpenUSD は場面を記述して組み合わせるための開いた拡張可能な枠組みである4。場面を使って自律機械を学習・評価するには、形状に加えて、物理的なふるまい・衝突・センサーとの相互作用の情報が要る4。SimReady Foundation は、この情報の要件を明示する仕様・プロファイル・検証の道具を提供する4。

SimReady Foundationは要件を版付きのプロファイルに束ね、エンジンを使わない検査と使う試験を分けた

SimReady Foundation は、用途ごとに要るアセットの属性を要件として定め、その要件に沿ってアセットを検査する仕様と道具である。SimReady Foundation は NVIDIA が GitHub で公開するリポジトリで、NVIDIA が書いた部分のライセンスは Apache License 2.0 である。リポジトリは 2026-03-03 に作られ、2026-10-29 の取得時点でスター 152、フォーク 27 を持つ5。

作り手は、要件を層に分けた目的を先に書いている。最下層ではアセットが持つべき USD の属性を、中間の層ではその属性が何の用途に要るか(ロボットのグリッパーでつかめる、など)を、最上層では場面がどの用途の組を求めるかを決める。物を扱うロボットの場面では、物理・把持・セマンティックラベルが要り、関節は要らない。層を明示しないとこれらの関心が混ざり、アセットがパイプラインの間で気づかれずに壊れる、と作り手は書く3。

リポジトリは、要件を次の四つの単位で束ねる。要件は、ID(Identifier、識別子)を持ち機械で確かめられる一つの規則である。能力(Capability)は、関連する要件をまとめる分類である。機能(Feature)は、合わせてアセットの一つの性質を表す要件の集まりで、機能ごとに独立に版を持つ。プロファイル(Profile)は、ある用途でアセットが満たすべき機能とその版の束で、作り手と使う側の間の最上位の約束とされる53。たとえば、剛体の質量の規則 RB.007 は一つの要件で、物を扱うロボットの場面向けの Robotics-Prop は一つのプロファイルである。プロファイルで検査すると、含まれるすべての機能と要件を一度に確かめる3。

検証の文書が例に使う Robotics-Prop の版 3.2.0 は、必須の機能として Core、Minimal、RBD Physics(RBD は Rigid Body Dynamics、剛体の動力学。FET_003)、セマンティックラベル、Wikidata の識別子、パッケージと来歴のメタデータを固定する。把持の物理や材質の機能は任意で、入門文書が物を扱う場面に要るとした把持も、この版では必須ではない6。PhysX・Newton・MuJoCo の三つの物理エンジンに向けた機能も、任意の機能として版ごとに並ぶ6。Robotics-Prop は、以前は分かれていた中立のプロファイルと実行環境別のプロファイルを一つに統合した。統合後は、どの物理エンジンにも依存しない OpenUSD の基本の機能を必須とし、エンジンの計算処理(ソルバー)ごとに違うふるまいを任意の機能で選ぶ6。

プロファイルの版が変わると、必須の機能も変わる。Robotics-Prop にはその後の版 3.3.0 と 4.0.0 もあり、4.0.0 では材質の機能の一つ(UsdPreviewSurface)が必須になる6。ロボットの本体とグリッパーにも、実行環境別の任意の機能を持つ統合されたプロファイル(Robot-Body、Robot-Gripper)がある5。プロファイルの間でアセットを変換する仕組みは、二つのプロファイルで違う機能に要る変更だけをアセットに加える3。

静的検査がエンジンを動かさずに済むのは、質量や衝突形状の指定が USD ファイルの中の属性だからである。作り手はこの検査を、CLI(Command-Line Interface)の simready-validate か、Python の API(Application Programming Interface)で行う52。検証の文書は、要件の定義を収めたパッケージ simready-foundation-tier-core を simready-validate と一緒に入れる手順を示す。検査のコマンドは simready-validate --profile Robotics-Prop --version 3.2.0 path/to/asset.usd である1。二つのパッケージは、公開の PyPI(Python Package Index)で配られている7。--output を付けると、要件ごとの合否と、不合格を出した USD の要素(プリム)のパスが記録に出る。--stamp-asset-validation を付けると、プロファイル名と、日付ごとの機能の版と合否が、USD ファイルの customLayerData に書き込まれる。別の日に同じオプションで再実行すると新しい日付の項目が足され、履歴が保たれる。後段の道具は、検査をやり直さずにこの記録を読める1。

エンジン上の試験は、ベンチマークの道具 simready-benchmark が行う。この道具はアセットを NVIDIA Kit か Isaac Sim で開いて動かし、起きたことを記録する。どの試験を走らせるかは、アセットが宣言する機能とプロファイルで決まる。剛体の機能には地面と斜面への落下の試験が、把持の機能にはグリッパーでつかんで持ち上げる試験がある2。作り手は、静的検査で見つからないふるまいを見つけるのがこの試験の目的だと書く2。

2026-10-21 に、NVIDIA は SimReady Central Library を Hugging Face 上で発表した。SimReady Central Library は Hugging Face 上で 2,000 を超える SimReady の OpenUSD アセットを、無料で、利用申請なしに配る4。開発者は、各アセットが何に対応するかを確かめ、自分の作業に合うプロファイルのアセットを選んで場面に組み込む。OEM(Original Equipment Manufacturer、機器メーカー)は、提出用の道具でアセットを該当するプロファイルに対して検査し、提出できる4。発表は、ライブラリが対象とする OEM の例として、ロボットでは FANUC、Robotiq、Universal Robots、Franka Robotics、Comau、Standard Bots を、AI ファクトリーの設備では Vertiv を、家庭用ロボットと家電では LG Electronics を挙げる。どの OEM が実際に提出したかは、発表に書かれていない4。

Hugging Face は、USD の属性とシミュレーションのメタデータを索引にした検索を自社の検索に組み込んだ4。Robotiq は、PhysX 向けと Newton 向けの Isaac Sim のアセットを自社で保守して公開している8。仕様と配布の場と提出の手順は NVIDIA が一体で発表したもので、2,000 を超えるアセットのうち何件が検査を通って記録を持つかは、発表に書かれていない。Hugging Face と Robotiq は NVIDIA の発表に名を連ねる協力先であり、NVIDIA から独立した動きの証拠としては弱い。

検査は物性の抜けと書き方の誤りを止めるが、値が実物に合うかは使う側が実機で確かめる

プロファイルが必須とする要件の範囲にも注意が要る。Robotics-Prop の版 3.2.0 が必須とする剛体の機能(FET_003 の版 0.2.0)には、有効な剛体に衝突形状を求める要件 RB.013 も、慣性テンソル(物体の各軸のまわりの回りにくさ)の値どうしの関係(三角不等式など)を求める要件 RB.008 も含まれない6910。衝突形状を書き忘れたアセットは静的検査では不合格にならず、地面への落下の試験で見つかる11。慣性の値の桁を誤ったアセットも、このプロファイルの検査では不合格にならない。

SimReady の検査は、物性の抜け・書き方の誤り・決めたふるまいを確かめるが、値が実物に合うかは確かめない。確かめる範囲について、入門文書は、静的検査の規則がシミュレータでファイルを読み込む前に衝突形状の抜け、関節の階層の誤り、材質の割り当ての誤りを見つけると書く3。ただし Robotics-Prop の版 3.2.0 では、衝突形状の抜けを問う RB.013 は必須の機能に含まれない6。結果は customLayerData に記録されるので、アセットを受け取った側は検査をやり直さずに合否を読める1。エンジン上の試験は、落ちて静止する、つかんで持ち上げられる、という決めたふるまいを確かめる2。使う側がこれまで手で直してきた誤りのうち、質量の無い物体は静的検査で、床をすり抜ける物体は落下の試験で見つかる11。

確かめない範囲も、要件の文が決めている。RB.007 は質量が書かれた場所の規則で、値の検査は RB.008 に分けている12。RB.008 は版 3.2.0 の Robotics-Prop の検査に含まれないうえ、要件の文として確かめるのも、書かれた値についての三つの点だけである。質量 00 は情報として報告され、不合格にはならない。慣性の三つの値は三角不等式を満たす必要がある。主軸の向きは、三次元の回転を表す長さ 11 の四元数(単位四元数)である必要がある。書かれていない任意の属性は不合格にならない10。どちらの要件も、1.0 kg1.0\ \mathrm{kg} と書かれた物体が実物で 1.0 kg1.0\ \mathrm{kg} かは見ない。実物の質量は USD ファイルの外にあるので、ファイルだけを読む静的検査は実物と照合できない。質量と密度の両方が書かれた場合も、RB.008 は質量を優先すると定め、二つの値を突き合わせない10。

ソルバーの違いも、同じ物体に別のアセットを要求する。Robotiq は、同社の 2F-85 グリッパーで最も多く報告された問題として、シミュレーションの指が後ろに曲がる、先端が外へ回る、把持の途中で並びが崩れる、を挙げる8。原因は、Isaac Sim が関節でつながった機構を木構造として解くのに対し、2F-85 の指が閉ループの機構であることだと Robotiq は説明する8。木構造は、リンクが枝分かれだけでつながり輪を作らない構造で、閉ループの機構は、リンクがつながって輪を作る機構である。

Robotiq のアセットは、PhysX 向けに二つの版を持つ。一つは輪を切り、従う関節を駆動する関節に連動させる拘束(mimic)で動かす版で、構造上、平行な把持しか再現できない。もう一つは輪を拘束で閉じる版で、PhysX はこの拘束を厳密でない拘束として解くため、荷重によっては誤差がたまって並びが崩れる8。Newton 向けのアセットは閉ループを等式の拘束として直接扱い、ばねで物を包み込む把持を同社のアセットで初めて再現できた8。ソルバーごとにアセットを分ける必要があることは、SimReady Foundation が中立の核と実行環境別の任意の機能を分けた設計と合う。ただし Robotiq は、SimReady Foundation の仕様に対する検証に向けて作業中だと書くにとどまり、準拠しているとは書いていない。精度の数値も示していない8。

値を実物に合わせる作業は、使う側が実機のデータで行う。ASID(Active Exploration for System Identification)の論文は、モデルを使う手法には極めて正確なシミュレーションが要り、それには適切なアセットと物理パラメータの両方を指定する必要があると書く13。同じ論文は、少量の実データでシミュレーションのモデルを自動で更新し、関節の構造や質量などのパラメータを推定する方法を、いくつかの操作の課題で示す。実測のデータから物理パラメータを推定する作業をシステム同定と呼ぶ13。本稿は、検査を通ったアセットを出発点にし、使う側がこうした方法で値を実物に合わせる分担になると考える。

この節の制約には、時間で変わるものと変わらないものがある。Robotiq の検証が未完了であること、ライブラリが OEM と資産の数を増やす途中にあること4は、時間とともに変わる。静的検査が値を実物と照合できないことは、ファイルだけを読む検査の方式から来る性質で、変わらない。後者は、使う側が実機で測ってシミュレーションの値を合わせることで扱う。

出典13件
  1. NVIDIA「SimReady Validation Workflow」(2026-10-29 取得). https://github.com/NVIDIA/simready-foundation/blob/main/nv_core/sr_specs/docs/guides/validate_workflow.md — simready-validate の使い方と customLayerData への刻印。 ↩ ↩2 ↩3 ↩4

  2. NVIDIA「SimReady Benchmark Overview」(2026-10-29 取得). https://github.com/NVIDIA/simready-foundation/blob/main/nv_core/sr_specs/docs/guides/benchmark/overview.md — エンジン上の試験と、落下・把持の試験の系列。 ↩ ↩2 ↩3 ↩4 ↩5

  3. NVIDIA「SimReady Foundation」getting_started(2026-10-29 取得). https://github.com/NVIDIA/simready-foundation/blob/main/nv_core/sr_specs/docs/guides/getting_started.md — 現状のアセットの壊れやすさと、層に分けた理由。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6

  4. NVIDIA「Announcing SimReady Central: An Open Library of Simulation-Ready 3D Assets for Robotics and AI Factories」HF Blog, 2026. https://huggingface.co/blog/nvidia/simready-central-assets-robotics-ai-factories — 2,000 超の無料アセットと参加 OEM。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10

  5. NVIDIA「SimReady Foundation」GitHub README(2026-10-29 取得). https://github.com/NVIDIA/simready-foundation — 要件・能力・機能・プロファイルの層、Apache-2.0、作成日とスター・フォーク数。 ↩ ↩2 ↩3 ↩4

  6. NVIDIA「Robotics-Prop Profile USD Authoring Guide」(2026-10-29 取得). https://github.com/NVIDIA/simready-foundation/blob/main/nv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/profiles/robotics-prop.md — 版ごとの必須と任意の機能、旧プロファイルの統合。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6

  7. NVIDIA「SimReady Foundation PyPI Packages」(2026-10-29 取得). https://github.com/NVIDIA/simready-foundation/blob/main/nv_core/sr_specs/docs/guides/foundation_pypi.md — simready-validate と要件のパッケージの公開 PyPI からの導入。 ↩

  8. Robotiq「Robotiq Releases New 2F-85 Isaac Sim Asset on Newton」Robotiq Blog, 2026-09-22. https://blog.robotiq.com/robotiq-releases-new-2f-85-gripper-isaac-sim-assets-on-newton — ソルバーごとの閉ループの扱いの違い。SimReady の検証は作業中。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6

  9. NVIDIA「rigid-body-collider」RB.013(2026-10-29 取得). https://github.com/NVIDIA/simready-foundation/blob/main/nv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/capabilities/physics_bodies/physics_rigid_bodies/requirements/rigid-body-collider.md — 有効な剛体に衝突形状を求める規則と、その理由。 ↩

  10. NVIDIA「rigid-body-detailed-mass」RB.008(2026-10-29 取得). https://github.com/NVIDIA/simready-foundation/blob/main/nv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/capabilities/physics_bodies/physics_rigid_bodies/requirements/rigid-body-detailed-mass.md — 書かれた値に対する三つの整合の検査。 ↩ ↩2 ↩3

  11. NVIDIA「FET003 Physics」SimReady Benchmark(2026-10-29 取得). https://github.com/NVIDIA/simready-foundation/blob/main/nv_core/tiers/simready_foundation_tier_core/simready_benchmark_kit_suite/docs/fet003-physics.md — 地面への落下の試験が、床のすり抜けと衝突形状を確かめること。 ↩ ↩2

  12. NVIDIA「Rigid Body Mass」RB.007(2026-10-29 取得). https://github.com/NVIDIA/simready-foundation/blob/main/nv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/capabilities/physics_bodies/physics_rigid_bodies/requirements/rigid-body-mass.md — 質量が書かれた場所の規則と、その理由。 ↩

  13. Memmel, Wagenmaker, Zhu ほか「ASID: Active Exploration for System Identification in Robotic Manipulation」arXiv, 2024. https://arxiv.org/abs/2404.12308 — 少量の実データで質量などの物理パラメータを推定する方法。 ↩ ↩2

この記事はAIを使用して執筆されました。内容には誤りが含まれる可能性があります。事実や数字の出典は脚注から確かめられます。