M1 MacBook Air で MuJoCo と PyBullet のシミュレーション速度を比較しました。MuJoCo は Google DeepMind が開発する物理シミュレーターで、PyBullet は Bullet 物理エンジンの Python バインディングです。どちらも強化学習ロボティクス研究で長く使われてきたシミュレーターですが、M1 Mac 環境での使い勝手は大きく異なりました。

物理シミュレーションとは

物理シミュレーターは、ロボットの関節・重力・摩擦・衝突をコンピューター上で再現するソフトウェアです。毎ステップ「各関節にどれだけ力をかけるか(-1〜+1 の数値)」を指定すると、物理法則に従って次の姿勢が計算されます。これを 1 秒間に数百〜数千回繰り返すことで、ロボットの動きをリアルタイムより速く模擬できます。

強化学習(AI がゴールに向けて試行錯誤しながら動作を学習する手法)では、この高速シミュレーションを何百万回も回してデータを集め、制御アルゴリズムを訓練します。シミュレーターで学習した動作を実機に転用する手法を Sim-to-Real と呼びます。

MuJoCo ロボットアームのシミュレーション動画

検証環境

  • MacBook Air(Apple M1 / 16 GB)
  • Python 3.14.2 / macOS 26.5.1
  • MuJoCo 3.10.0
  • PyBullet: インストール試行(pip / uv + Python 3.11)

実測結果

  • MuJoCo(3-DOF アーム、100,000 ステップ): 18,853 steps/秒 / 37.7x realtime
  • PyBullet: Python 3.14 には対応するホイールなし。Python 3.11 + uv 環境でもネイティブビルドに失敗しインストール不可

PyBullet は 2021 年以降メンテナンスが停滞しており、Apple Silicon(ARM64)向けのバイナリが提供されていません。M1 Mac では pip でのインストールが困難で、比較計測を実施できませんでした。一方 MuJoCo は Apple Silicon 向けのホイールが公式に配布されており、pip 一発でインストールできます。M1 Mac でロボットシミュレーションを始める場合、現時点では MuJoCo 一択と言えます。