物理シミュレーター Genesis の v1.2.0 を M1 MacBook Air(Apple M1 / 16 GB)で動かし、シミュレーション速度を計測しました。今回のバージョンから「island partitioning(アイランド分割)」がデフォルト有効になり、大規模なロボットシーンの処理速度が大幅に向上しています。

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

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

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

island partitioning とは

island partitioning とは、シミュレーション空間内で互いに影響し合わないオブジェクト群を独立した「島」として並列処理する技術です。例えば床に置かれた複数のロボットが接触していなければ、それぞれを独立して計算できます。v1.2.0 ではこの仕組みがデフォルト有効化され、オブジェクト数や自由度(DOF)が増えるほどスケーリングしやすくなりました。

検証環境

  • MacBook Air(Apple M1 / 16 GB)
  • Genesis v1.2.0 / Python 3.11 / バックエンド: CPU
  • シーン構成: 床 + 球体 + 直方体(物体2個)

実測結果

  • シミュレーション速度: 4,173.5 steps/秒
  • リアルタイム倍率: 41.74x(タイムステップ 10ms)
  • 10,000 ステップ実行時間: 2.3961 秒

MuJoCo と同じ CPU バックエンドで 4,000 steps/秒超えは実用的な水準です。Genesis は GPU(CUDA)があればさらに数十〜数百倍に跳ね上がりますが、M1 の CPU だけでも強化学習のデータ収集には十分な速度が出ることが確認できました。uv コマンドで Python 3.11 環境を自動構築できるため、セットアップの手間も少なく、フィジカルAI研究の入門環境として手軽に試せます。