Mini Pupper2 ros2 4足歩行 Policy 強化学習 4

Mini Pupper2 ros2 4足歩行 Policy 強化学習 4

Mini Pupper2 ros2 4足歩行 Policy 強化学習 第4弾

Policy を、MlpPolicy から、LSTM 版の MlpLstmPolicy に替えてみた。
こちらは、時間記憶があるそうじゃ!!

これになると、Policy が本当に狡猾になるみたい。
注) これは、google ai の、PPO のパラメータ誤りの所為で、問題ない。

また、train が、重くもなるみたい。
当初 fps:7 程度しか出なくて、しかたなく、Gazebo の 周りの Obj を全て削除して、
更に、Gazebo を、4倍速で回して、ただし、見た目は、4倍速ではなくて、少し速くなった程度。
これで、やっと、fps:14 ほどになった。
train が進むと、fps:23 になった。

PPO のパラメータでの注意!!
下記は、間違い。当初 google ai の言われるままに、下記で、train していたが、1歩目から、2歩目以降が、一向にでない。


sde_sample_freq=4
にして、やっと、pupper が動き出した!!

2. もう一つべつのアプローチが、あった。
SB3 PPO で、4足向け 強化学習ばかり試して来たが、
Google ai に聞いたら、最初、模倣学習で、そのあと 強化学習の方法もあるらしい。
なにー!!
それなら、こちらが断然楽なのでは?
強化学習では、変に早足だったり、伏せの姿勢が付きやすい!!

第2段の、Locomotion Transformer が、この方法でできるみたい。
どうするかね?
最初、Ros2 Gazebo 上で、Mini Pupper2 を、/cmd_vel や、Nav2 で動かして、bags ファイルに、 エピソード毎に、データを収集して、
それを、模倣学習に使えば、出来るとのこと。
うーーん、面倒じゃな!!

Locomotion Transformer で模倣学習(Imitation Learning) は、過去の時系列データ数 steps が必要みたい。
ここには、どうやら、LeRobot Dataset(過去と未来のデータが扱える) が使えるとの事じゃ。
Ros2 Bags の収集と Ros2 Bags to LeRobot Dataset 変換は、以前、散々試した。
フィジカルAi で ROS2 自立走行ロボットを動かす。#2
ここの、Python コードが流用できそう!!

なんとなく、実現できそう!!
最初から、強化学習するのは、本当に時間がかかるし、PC のリソースも強力なのが必要!!
でも、最初、模倣学習から入れば、もっと時間の節約になりそう!!
なんなら、模倣学習だけでも良い気がする。
模倣学習だけで、Mini Pupper2 を、最初動かしてみて、問題があれば、強化学習させるか、
再度、 Bags データを補強して、模倣学習を行うか!!
こりゃ、選択肢が、増えすぎてこまる!!

しかし、これでも、階段の走行は、できないか!!
大雑把な話だけど、階段を走行するには、足が空を切っているか、接地しているかの情報が必要みたい。
その判定は、モーターのトルクを使うようじゃ。
モーターのトルク等を、EKF に入力して、4本足が接地している確率を 0.0 - 1.0 で求めて、
それを、Policy の observation に使うみたい。

このブログ記事について

このページは、おんちゃんが2026年8月 7日 18:21に書いたブログ記事です。

ひとつ前のブログ記事は「あきれたWi-Fi 通信業者!!」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

月別 アーカイブ

ウェブページ

サイトナビ