AI

Blenderの3Dシーンをロボット実験向けに整えるAIエージェント工程

この記事のポイント

  1. 実現したこと

    Blenderの3Dシーンにロボット実験用の情報を加え、OpenUSD形式で引き渡す工程が示された。

  2. 実現の仕組み

    Codexが作業を整理し、専門エージェントがBlenderを調査して物理属性などを設定する。

  3. 得られた結果

    生成したシーンは描画による事前確認と、用途別のSimReady検証を経て引き渡しを判定する。

  4. 従来との違い

    形状や材質を持つ制作シーンを、意味ラベル、衝突形状、剛体属性を含むシミュレーション向けの構成へ拡張する。

Blenderの3Dシーンに意味・物理属性とカメラ/ライダー設定を加え、OpenUSDでシミュレーション向けに整える工程の編集イラスト。
AI生成画像

Blenderで作った3Dシーンに、ロボットシミュレーションで使う意味ラベルや物理属性を加える作業をAIエージェントが分担する。NVIDIAは、シーンの調査からOpenUSDへの設定、描画と検証までをつなぐ工程を示した。

目標を専門エージェントの作業へ分ける

工程の入力はBlenderの3Dシーンで、出力はロボットシミュレーション環境のIsaac SimまたはIsaac Labへ渡すOpenUSD形式のシーンとなる。NVIDIAが示した構成では、Codexが開発者の目標を作業へ分け、作業間の依存関係と結果を確認する。

個別の作業は、NemoClawを通じて配置されたHermesの専門エージェントが担う。この分担によって、シーンの調査で得た情報を、後続の設定作業へ渡す。

Blender内の構成を調べて作業情報にする

最初の専門エージェントは、BlenderのMCPサーバーを介してシーンを調べる。MCPはアプリケーションの機能をエージェントから呼び出すための接続方式で、オブジェクト、配置、材質、カメラ、照明などを取得する。

得られた一覧は後続の専門エージェントが共有する。どの対象物に設定を加えるかを、このシーン情報を基に決められる。

OpenUSDに対象物の意味と物理属性を加える

OpenUSDは専門エージェントが扱う共通のシーン構造となる。対象物には意味ラベルを付け、ロボットが扱う対象をシーン内で区別する。

物理設定では、衝突形状と剛体の属性を加える。専門エージェントは物理処理用ライブラリのovphysxを使い、その属性を作成・確認する。

センサーを設定し、描画でシーンを事前確認する

シーンの設定には、カメラやライダーのセンサーも含まれる。対象物の属性に加えてセンサーを定義することで、ロボットシミュレーションへ渡すシーンの構成を整える。

描画用ライブラリのovrtxは、設定したシーンを事前確認するための画像を生成する。この画像を確認した後、工程はシーンの要件検証へ進む。

用途別の要件を引き渡しの判定に使う

SimReady検証は、シーンを対象のシミュレーション用プロファイルと照合する引き渡し前の判定工程に置かれている。SimReady Foundationでは、プロファイルが用途に必要な機能を束ね、各機能の要件を機械的に確認できるルールへ結び付ける。

工程中に見つかった機械的に修正できる問題は自動で直す。一方、意味ラベルや物理的な振る舞いについて開発者の意図が必要な場合は、関連情報を添えて人に確認を求める。