4足歩行ロボット「Ant」は複数の脚で移動するロボットの基本形で、強化学習の検証によく使われます。今回はPyBulletで動かそうとしましたが、前回のアーム検証と同じ壁にぶつかりました。
物理シミュレーションとは
物理シミュレーターは、ロボットの関節・重力・摩擦・衝突をコンピューター上で再現するソフトウェアです。 毎ステップ「各関節にどれだけ力をかけるか(-1〜+1 の数値)」を指定すると、 物理法則に従って次の姿勢が計算されます。 これを 1 秒間に数百〜数千回繰り返すことで、ロボットの動きをリアルタイムより速く模擬できます。
強化学習(AI がゴールに向けて試行錯誤しながら動作を学習する手法)では、 この高速シミュレーションを何百万回も回してデータを集め、制御アルゴリズムを訓練します。 シミュレーターで学習した動作を実機に転用する手法を Sim-to-Real と呼びます。
検証環境
- MacBook Air(Apple M1 / 16 GB)
- Python 3.11(uv 経由の隔離環境)
実測結果
PyBulletはApple Silicon向けの配布パッケージが無く、ソースビルドが必要です。バンドルされた古いzlibの `fdopen` マクロが最新macOS SDKと衝突し、ビルドが停止しました。前回と全く同じ症状で未解消と確認できました。
代わりに同じAntモデルをMuJoCoで動かしました。自由度14・アクチュエータ8のモデルを10万ステップ実行し、4.81秒(20,793 steps/sec、実時間の207.9倍速)で完了。M1 Macで強化学習を試すなら、Apple Silicon対応シミュレーターを選ぶ方が現実的です。
