
AIエージェント Codex で 強化学習3
起き上がり4脚ロボット
本記事にはアフィリエイト広告が含まれます。
前回はAIエージェント Codex で簡素な2軸の起き上がりロボの強化学習を実施いたしました。
簡単なPWMサーボでも強化学習によって見事な起き上がりロボになりました。
フィジカルAIって、心を鬼にしないといけない時がある pic.twitter.com/AaYErg2T9a
— HomeMadeGarbage (@H0meMadeGarbage) June 10, 2026
決め打ちシーケンスでは出せない生物的な動作が実現できています。
Codexを活用しての強化学習フローが自身に構築できましたので、ここでは本命の4脚ロボットの起き上がりに挑戦します。
↓そもそもコレがやりたかったのよ
We just open-sourced luwu_mjlab: an RL training environment for Luwu Dynamics quadruped robots.
Built on mjlab + MuJoCo Warp, it lets us train locomotion and get-up policies in simulation, then validate them on real robots.GitHub:https://t.co/O7jovxOqRF pic.twitter.com/HSpPhRylfu
— XGO Robot (@luwu_dynamics) June 13, 2026
目次
4脚ロボット
4脚ロボはコチラを使用します。
PWMサーボ PTK7465MGを8個使用したロボです。コントローラはATOM Matrix
このロボで私が手掛けた起き上がりシーケンスはコチラ↓
起き上がり動作 仕込んだ
ひっくり返ったまま復帰できなかったら自然界なら終わりよ pic.twitter.com/UIZud1kmpj— HomeMadeGarbage (@H0meMadeGarbage) September 20, 2025
さて強化学習でどうなるのでしょうか。お手並み拝見
モデル生成
実機の4脚ロボットの筐体を修正してシミュレーション用のMuJoCoモデルを作成しました。
はい いい感じになりました。
MuJoCoしいなぁ pic.twitter.com/VtSpc62jBO
— HomeMadeGarbage (@H0meMadeGarbage) June 11, 2026
起き上がり強化学習
製作したMuJoCoモデルで倒れた状態から起き上がる動作を学習しました。
学習は Gymnasiumベースの強化学習環境を Stable-Baselines3(PPO )でCPU並列処理で実施
環境構築と報酬や学習フローは前回同様にCodex先生に丸投げしました。
学習ポリシーは以下の通り
観測ベクトル 12次元
機体 roll角
機体 pitch角
機体 roll角速度
機体 pitch角速度
サーボ目標角度 1~8
行動ベクトル 8次元
サーボ角度変化量 1~8
ロボがひっくり返った状態から起き上がる動作を学習
学習結果が以下
よっしゃー!頑張った(Codexが)! pic.twitter.com/ChiXf6dwnT
— HomeMadeGarbage (@H0meMadeGarbage) June 11, 2026
見事に反転からの起き上がりが実現できております。
コチラのシミュレーションではロボがひっくり返ったら起き上がり学習ポリシーでの動作が発動し、ある程度起上ったら初期姿勢(全サーボ0°)になるようにしています。
Sim2Real
学習ポリシーを実機に移植して動作させてみました。
カッコよくゼロショットSim2Real決めたかったけど
甘くない pic.twitter.com/qHQI8MHbCb— HomeMadeGarbage (@H0meMadeGarbage) June 12, 2026
う。。動かない。。。
初期姿勢を少し傾けるべく天面のスペーサを斜めに間引いてみたけど。。。
ゔーーーーーーーーーーーーーーーーん pic.twitter.com/mQGLYpajiy
— HomeMadeGarbage (@H0meMadeGarbage) June 12, 2026
起き上がるまで90秒かかるww
全然シミュレーションとおりにならん
実機確認
実機とシミュレーションとの間に何かしらの違いがあると疑い、詳細確認を実施
サーボモータ
それぞれのサーボのIDや回転方向は問題なし
Sim2Real全然合わなくてわけわからなくなってきたので
一旦立ち戻ってモデルと実機の擦り合わせから出直す。
早速バッテリ固定位置が逆だった pic.twitter.com/jBJBksDGVQ— HomeMadeGarbage (@H0meMadeGarbage) June 13, 2026
MuJoCo Sim.でサーボを動かして値をUDPで実機に送って確認しました。
バッテリ固定位置が左右逆だったので修正しました。まぁこれは大した問題ではない。
姿勢角
実機のロールピッチ姿勢角をMuJoCo SimモデルにUDPで送って姿勢を見てみたところ。。。
俺はバカだ
ロール角とピッチ角だけで3次元空間の姿勢決めれるわけないじゃん。。。クォータニオンは嫌だなぁ。。非効率だから。。。 pic.twitter.com/kbEZ5Yb7Fj
— HomeMadeGarbage (@H0meMadeGarbage) June 13, 2026
ぎゃー!ロールピッチのオイラー角では反転含む全方向の姿勢は一意に決められんやった!
おもいきりジンバルロックしてた。。。そりゃ起上らんわ。。
強化学習の時に気づかなかったのはシミュレーションではクォータニオンから姿勢角を算出していたため問題にならなかったのです。
クォータニオン送信に修正してみた
はいクォータニオン
これで学習するべきだったねYaw軸は若干ドリフトしてまうけども恐らく問題ないでしょう pic.twitter.com/zBHVAbLtTX
— HomeMadeGarbage (@H0meMadeGarbage) June 13, 2026
ATOM Matrix搭載のIMU MPU6886は6軸のためYaw角は若干ドリフトしますが、全方向の姿勢が実機で検出できるようになりました。
M5Atom ライブラリにMahonyAHRSがあったので、これでクォータニオン算出して利用
再 強化学習 & Sim2Real
実機のオイラー角使用をやめてクォータニオンにして、強化学習をやり直します。
観測ベクトルのロールピッチをやめてクォータニオンから算出した機体天板(base)の法線ベクトルにしました。
法線ベクトルにすることでYaw角は無視できます。
観測ベクトル 14次元
base法線ベクトル x, y, z
base角速度 x, y, z
サーボ目標角度 1~8
学習は問題なくできました。ほぼ1st強化学習と同じ結果です。
学習ポリシーを実機に移植して動作
おお できたね pic.twitter.com/kPB1GfOxGx
— HomeMadeGarbage (@H0meMadeGarbage) June 13, 2026
できたー!!!
ただの自分のミスでした。全方向姿勢を取り扱う際にはオイラー角を使わないように気をつけます(;´・ω・)
見事に学習結果通りに動いてくれております。
Codex で強化学習
完全移植だぁ pic.twitter.com/2qD4Aqcq2f— HomeMadeGarbage (@H0meMadeGarbage) June 13, 2026
動作
冒頭の手製のシーケンス起き上がりと比べても自然で生き物のような起き上がりとなっております。
もう2度と生意気なこと言いません(土下座) https://t.co/zd4k0jmKNh pic.twitter.com/BJNbHf3dc1
— HomeMadeGarbage (@H0meMadeGarbage) June 14, 2026
憧れの蹴り倒すやつもやった
俺もこういう風にされたい pic.twitter.com/0vNInL2O55
— HomeMadeGarbage (@H0meMadeGarbage) June 14, 2026
エクセレント!
Sim.との比較がコチラ↓
Codexで強化学習
Sim2Real pic.twitter.com/i5LqnVZVA2— HomeMadeGarbage (@H0meMadeGarbage) June 14, 2026
見事な精度でSim2Realできております。
前回も感じましたが、行動ベクトルがサーボ角度の移動量となっているので、移動量を抑えれば それほど真面目にサーボモータのモデル化をしなくてもSim2Realに耐えうるのでしょう。
おわりに
ここでは憧れの4脚ロボットの起き上がりを強化学習で実現しました。
学習方針や報酬設計はまるっきりCodexに投げて実施しましたので、今回も楽でした。
しかし人間である私のミスによりゼロショットSim2Realの実現はできずCodex先生の邪魔をする形になってしまいました。
以後気をつけたい。
あらためてAIエージェントの活用で強化学習の報酬設計からの呪縛からの解放を痛感しました。
もう強化学習怖くない。
今後は気軽に学習に頼ろうと思います。
では


