強化学習への道6 -ロボット強化学習2-

Home > 電子工作 > 強化学習への道6 -ロボット強化学習2-
すき 0
うんこ 0

前回は2足歩行ロボットの強化学習に挑戦し、うまくいかないのでモータ単体のモデルを再検証検証しました。

強化学習への道5 -ロボット強化学習1-

 

トルク駆動のブラシレスモータモデルでモータ単体の角度変更 強化学習 Sim2Real実証を行いました。

ここではこのトルク指定モデルで2足歩行ロボットの強化学習の検証を実施します。

2足歩行ロボット強化学習

トルク指定モデルを2足歩行ロボットに適応して直立姿勢を学習させてみた

観測
 股関節基部の角度、角速度
 モータの角度、角速度
行動
 各モータトルク

全然立たない。。。

モータやロボのモデルが悪いのか、学習が悪いのか。。。

全然わからいので1個1個検証しますね。

モデル検証

まずはモデルを検証。
強化学習ではなくモデルを用いてPython上でPID制御でモータ角度→トルク変換して関節0°指定での直立を確認

立つね。実機でも立つしロボモデルに大きな問題はなさそう。

学習検証

モデルに問題はないことが分かったので強化学習の報酬で色々試したところ

すこし立った!

報酬は以下

股関節基部の角度(pitch, roll)とその角速度(pitch_vel, roll_vel)がゼロになるように学習
学習ステップも100万ステップ程に増やすと立ちだしました。

 

やっと立ったので学習の精度高めていこうと思ったのですが、、ふと思いました。
トルク制御では中間的な姿勢は学習させにくいのでは??と

やはりトルクではなく角度指定で動くロボモデルにして歩行などを学習するべきではと考えました。

(ブラシレスモータをただ回すだけならトルク指定のほうが実機にあうし実際Sim2Real結果も良好でしたが、今回は関節にギアかましてるしなぁ。。。)

再モータモデル化 BAM

角度指定のロボモデルを構築するに際し、またまたモータのモデル化から考えます。

以下のようにギア込みで1つのアクチュエータとしてモデル化してみたいと思います。

 

モータのモデル化については本強化学習の道のきっかけとなった Open_Duck_Mini projectの手法にならって実施しました。

BAM: Better Actuator Models というサーボモータのモデル化メソッドを使用します。

以下BAMのフローに沿ってモデル化

Recording raw data

ブラシレスモータとギアで振り子をつくって
sin(t * t) で振動させてログ録り

 

指定角度、実角度、スピード、電流をログとして取得しBAMのモータモデル ERobを参考に Jsonファイルを生成した。

Post-processing

測定ログJsonをモデルフィット用に時間等間隔に補間 (5msec)

Model fitting

モータモデルは仮でerob80_50を選択
フィッティングモデルはm1

 

m1モデル取得

 

Plotting

実測ログと生成フィッティングモデルを比較

角度 (angle)はバッチリ合っていますが電流(トルク)の波形が大きく異なっています。
実機振り子のアクチュエータがブラシレスモータにギアを介しているので駆動電流は一般的なモータモデルと異なるはしょうがないので、とりあえずこれでいいや。

MuJoCoモデルに変換

変換式 to_mujoco() に従ってm1モデルパラメータをMuJoCoアクチュエータ向けに変換

 forcerange = vin * kt / R = 1.38
 armature = armature = 0.0026
 kp_mujoco = error_gain * kp * vin * max_pwm * kt / R = 13.79
 damping = friction_viscous + kt**2 / R = 5.9364
 frictionloss = friction_base = 0.0269

MuJoCoの関節ジョイントにpositionアクチュエータとして仕込みます。

実機と比較

まぁいいんじゃないかな

2足歩行ロボット

作成したフィッティング関節モータモデルを2足歩行ロボットに展開

関節角度をpython上で指定して動かしてみた

 

これで関節角度指定による2足歩行ロボットモデルが完成しました。

おわりに

ここではモータをギアを含めたアクチュエータとしてモデルリングを実施して、関節角度指定による2足歩行ロボットモデルを完成させました。

次はこのモデルでロボット動作の強化学習を実施たいと思います。

いろいろ試行錯誤してここまで来たのでうまくいってほしいものです。

ほな

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

This site uses Akismet to reduce spam. Learn how your comment data is processed.