Mini Pupper2 ros2 4足歩行 Policy 強化学習 2
Mini Pupper2 ros2 4足歩行 Policy 強化学習 第2弾
Policy を、MlpPolicy から、Locomotion Transformer に替えてみた。
SB3 + PPO + Locomotion Transformer で、
Ros2 Jazzy Gazebo(Hramonic) で mini_pupper_ros の Mini Pupper2 を使うのは、全てそのまま。
トランスフォーマー型 Policy(Locomotion Transformer など)
LeRobotのACTと同じように、4足歩行でもTransformer(自己アテンション機構)を採用する動きが主流になっています。
との事。
Transformer を使っているので、試してみた。
一番最初に、おんちゃんが今回学んだことを先に書いておきます。
1) Reward の評価方式。
i. Pupper の移動した位置+向きによる評価方式。
ii. /cmd_vel の 3速度一致による評価方式。
大雑把に言って、上記2方式がある。
i. Pupper の移動した位置+向きによる評価方式 は、train 初期 では、使えない。
train 初期では、数 steps 数 action で、Pupper は、とんでもない位置、向きになってしまう。
狂った位置、向きから、オリジナルの /cmd_vel を Pupper に送っても到底、目標とする本来の位置、向きに行ける訳がない。
なので 必然的に、 ii. 3速度評価方式 になると思う。
ii. 3速度評価方式 も、全ては、評価、減点の与え方のプログラムの追求になる!!
歩行の向きが合わないのは、reward_vyaw で、調整する。
歩行の前後の不一致、速度が合わないのは、reward_vx で、調整する。
2) 余分なReward 項目は、使わない。
上記で言えば、位置+向き の 2項目か、 3速度評価 による、 3項目。
3) 複数項目の場合の、reward のトータル方法。
後述の 一括マイナス方式 Isaac Gym / rsl_rl 標準 と 重み付き線形和 を参照してください。
4) SB3 OPP の強化学習の基本は、どうやるの?
Pupperの 前後、左右への小さい動きの反復動作(探索動作) をする中で、より reward が多い方の動作を強化して行く事みたい。
reward は、+ でも - でも良い。OPPのパラメータが適切であれば、より大きい方が、使われる。
ただし、reward としては、+ の方が良い気がする。
1 step 0.0 から 1.0 などがよいみたい。
一番重要なのは、探索行動は、train が進むにつれて、小さくなって行く。
なので、その間に、より reward が大き方への動きが増えていく事が大事。
この、増えていくことが無いまま、train が、80万、100万となると、Pupperが動かなくなる。
後述の、v. OPP のパラメータの見直し。を参照してください。
5) 最初から強化学習するよりも、先に、模倣学習をして、その後で、強化学習がよいみたい。
おんちゃんが、こちらを選んだのは、
入力 observation の joint-state と、model の output の act(joint-controll) のフィールドが、対応している事。
input と output の位置が同じなのが、むだな学習が、生じなくていいと思う!!
MlpPolicy は、汎用的な model なので、必ずしも、4足ロボット向けと言うわけではなくて、
input と output の対応が取れていなくて、 train の過程で、関連付けるので、時間がかかりそう!!
![]()
Audibleは、いつでもどこでも気軽に音声でコンテンツを楽しむことができる、
世界最大級のオーディオエンターテインメントサービスです。
プロのナレーターや俳優、声優が読み上げる豊富なオーディオブックや、
ニュースからお笑いまでバラエティあふれるプレミアムなポッドキャストなど、全カタログ90万以上の作品を取り揃えています。
(広告)