物理シミュレーター 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研究の入門環境として手軽に試せます。
