Mini Pupper2 ros2 4足歩行 Policy 強化学習
Mini Pupper2 4足歩行 Policy を探したけど、どうもどこにあるのか判らん。
あったとしても、おんちゃんの PC の GPU gtx 1070 では、まるっきり歯がたたん。
ChatGTP に、いろいろ聞いているうちに、
Ros2 Jazzy Gazebo(Harmonic) で、Mini Pupper2 ros が動いているので、Gazebo のシミュレーション環境でも、いいんじゃない?(まるっきり、時間度外視であれば)
と、行き着いた。
ChatGPT を、おだてて、
4足歩行 Policy と、強化学習の torch train 等、一式書いてもらっての、テストじゃ。
今回は、この話じゃ!!
けっして、良い子は、まねをしないように。...
結局、Gazebo 上の Mini Pupper2 を、Policy の出力で、動かして、その結果が良ければ、+何点、 NG であれば、-何点と、強化学習を繰り返すだけ。
難点は、それを、一度に 1000とか同時にできるかどうかだけじゃ。
昔、台に乗った、ポールを倒さないように、台を動かす強化学習と同じ要領みたい。
Stable Baseline3(SB3) で、PRO(Proximal Policy Optimization) で、既存の MlpPolicy をすこしカスタマイズしてつかえば、出来上がるみたい。
Python コードの原型は、ChatGTP に教えてもらって、つくったぞね!!
2. train 時のチューニングは、Google Ai のほうが、知識がおおいみたいなので、
これ以降は、Google Ai に助けてもらって、今、まさに、
Train の最中じゃ!!
当初は、立ち上がらせるところからの学習だったが、どうやら、立ち上がった状態からの、歩行学習から始めたほうがよいみたい。
おんちゃんの PC Ubuntu 24.04 GTX 1070 で、500,000 steps で、1時間20分 程みたい。
まあ、50万 1 クールで、 10 クール程 の trainが、必要か!!。
毎日、こつこつやれば、500万 steps の train も無理ではないか!!
残念!!
上記は、fps:200 の時じゃ!!
Gazebo の時間を、train step と一致させないといかんみたい。
そうすると、1 steps は、 Gazebo で、20[ms] から 40[ms] を使わないと、足が異常にブルブルするようになるみたい、
なので、おんちゃんは、 1 steps - 20[ms] で、train させることにした。
そうすると、 fps:15[Hz] あたり、なので、約18時間 ほどか!!
その場での、回転の学習は、だんだん、できて来ているようじゃ!!
問題は、前進、後退 の学習が、なかなか大変みたい。
Google Ai の話だと、前進、後退は、回転に比べて、引っ転ぶ確率が高いので、ご褒美が
もらえずらい
なので、ご褒美の得やすい、回転の学習のほうへ、なびくみたい!!
けっこう、PRO + MlpPolicy も、えぐい。簡単な方の抜け道を、必死で見つけようとする。
恐るべし、Ai!!
今、Train で、一番気がかりなのは、Mini Pupper Policy が、足を小刻みに震わせて、移動することを、学習してしまうことか!!
もう少し、歩幅を大きくして、ゆっくり足を動かす動作を身に着けて欲しいが!!
この点の Reward も、Google Ai に聞いて、組み込んでいるが、あまり効果が無い!!
obs の inputs を、ノーマライズするのが、機械学習のお約束だったを忘れていたので、
急遽、obs のなかの /cmd_vel だけ、とりあえず、ノーマライズして、train のやり直しじゃ!!
とりあえず、ただひたすら、直進の 学習だけさせてみることにした。
これで、MlpPolicy の学習の特徴がつかめるか?
前進もマスター出来ないのであれば、今の train コードは、使い物にならんと言うことじゃ!!