2026年7月11日土曜日

ブラウザで使えるロボットシミュレータ調査(日本語版)

 


結論

Unitree G1をブラウザ上で動かしたい場合、大きく3つの選択肢があります。

① MuJoCo WASM(最もおすすめ)

もし

  • G1のMJCFをそのまま使いたい
  • 本格的な物理シミュレーションをしたい

ならこれがベストです。

現在Google公式のMuJoCoにはJavaScript/WebAssembly版があります。

特徴

  • MJCF対応
  • URDF対応
  • STL・OBJも読める
  • G1公式MJCFをそのまま利用可能
  • ブラウザだけで動作可能

ただし、

「アップロード画面」

などは自分で少し作る必要があります。


② Three.js + URDFLoader(最も簡単)

もし

「G1をブラウザで表示したい」

だけならこれが一番簡単です。

特徴

  • URDF対応
  • ドラッグ&ドロップ対応
  • 関節スライダー
  • Three.jsだけで動く

ただし

物理シミュレーションはありません。

つまり

  • ポーズ変更
  • 可視化
  • GUI

向けです。


③ Three.js + Rapier

中間的な選択肢です。

特徴

  • WebAssembly物理
  • 軽量
  • 高速
  • Three.jsと相性が良い

しかし

URDFやMJCFを直接読む機能はありません。

自分で

  • 関節
  • 剛体
  • コライダ

を作る必要があります。


クラウド型シミュレータ

ブラウザで見えていても、

実際にはサーバで動いているものがあります。

例えば

  • Isaac Sim
  • Gazebo
  • Webots.cloud

です。

これは

ブラウザ
      ↓
GPUサーバ
      ↓
シミュレーション

という構成になります。


ONNXは動く?

結論

はい。

現在は

ONNX Runtime Web

があります。

つまり

ブラウザ
    ↓
ONNX Runtime
    ↓
推論

ができます。

対応

  • WASM
  • WebGPU
  • WebGL
  • WebNN

G1との相性

これはかなり重要です。

Unitree公式のG1には

  • URDF
  • MJCF

の両方が最初から付属しています。

つまり

G1
 ↓
MJCF
 ↓
MuJoCo WASM

という流れが非常に自然です。


比較表

システム物理URDFMJCFブラウザのみおすすめ度
MuJoCo WASM★★★★★★★★★★
Three.js + URDFLoader☆☆☆☆☆×★★★★☆
Three.js + Rapier★★★★☆★★★★☆
Ammo.js★★★★☆××★★★☆☆
PhysX WASM★★★★☆××★★★☆☆
Webots.cloud★★★★☆×クラウド★★★☆☆
Gazebo + GzWeb★★★★★×クラウド★★☆☆☆
Isaac Sim★★★★★クラウド★★★★☆

もしG1をブラウザで動かすなら

レポートでは次の順番を推奨しています。

① MuJoCo WASM

MJCFアップロード

↓

ブラウザ内FSへ保存

↓

mj_loadXML()

↓

物理開始

↓

ONNX追加

もっとも自然な構成です。


② Three.js URDFLoader

URDF読込

↓

OrbitControl

↓

スライダー

↓

ポーズ変更

完成まで数時間程度。


③ Rapier

Three.js

↓

Rapier

↓

剛体生成

↓

関節生成

↓

ONNX

物理を少し入れたいならこれ。


レポート全体の最終結論

調査では次のようにまとめられています。

本格的なG1シミュレーション
MuJoCo WASM

すぐ表示したい
Three.js + URDFLoader

軽量な物理付き
Three.js + Rapier