citbrains / GankenKun_webots

Control of humanoid robots on webots, walking, deep-learning, Bayesian-optimization
14 stars 4 forks source link

Import isaacgym #86

Open yasuohayashibara opened 8 months ago

yasuohayashibara commented 8 months ago

IsaacGymの学習済みモデルをインポートするためのブランチ

yasuohayashibara commented 8 months ago

availableを追加した ボールが近づかないとキックの行動を選択しないので,無駄な動きが減少したように見える.

available無 IsaacGymSoccer (2440ep (100step reset)+2177ep (1000step reset)) IMAGE

available有 IsaacGymSoccer (2440ep (100step reset)+2177ep (1000step reset)) IMAGE

ボールが目の前に無い場合でもキックをしている何かバグがあるかもしれない.

yasuohayashibara commented 8 months ago

各報酬を表示できるようにした. 学習初期の段階でゴールしなくなっている. (黒が全体の報酬,ピンクがゴールの報酬) IsaacGymの環境との違いを確認する.

image

yasuohayashibara commented 8 months ago

以下のrewardに変更したがやはりgoalしなくなる.

ball_distance_reward = 1.0
goal_reward = 1000.0
velocity_reward = 10.0
out_of_field_reward = -100.0
collision_reward = -1.0
ball_position_reward = 2.0
ball_tracking_reward = 0.1

以下,ゴールの報酬 image

yasuohayashibara commented 8 months ago

訓練の結果を示す 158epでwebotsがエラーで停止

・120ep(600kstep)までは徐々に上昇しているが,158epでやや低下 ・今までの中では最も良い結果

STSWWM~J

  0 40 80 120 158
0   3 – 2 0 – 2 4 – 1 2 – 5
40 2 – 3   1 – 4 4 – 2 3 – 1
80 2 – 0 4 – 1   5 – 2 2 – 4
120 1 – 4 2 – 4 2 – 5   4 – 1
158 5 – 2 1 – 2 4 – 2 1 – 4  

240308_run51.zip

yasuohayashibara commented 8 months ago

未訓練のモデルを使用したのが良くなかったかもしれないと考えて,以下の変更をして学習した.

transformer_0.pt -> transformer_1600.pt episode_length 300 -> 1000 ↑ 相手が強いと中央部分で小競り合いで300では相手ゴールに近づく前に終了するため

https://github.com/citbrains/GankenKun_webots/blob/35a7e5fd06f6d62768bf855e65d5c37a4054e312/controllers/mat_train/runner/base_runner.py#L107

https://github.com/citbrains/GankenKun_webots/blob/35a7e5fd06f6d62768bf855e65d5c37a4054e312/controllers/mat_train/mat_train.py#L28

結果に以下となった.

・得点の上昇があまり見られない. ・能力が拮抗して1つの試合が長くなるので,もっと多くのデータを集めて学習したほうが良いかもしれない. ・同じチームでぶつかり合って転倒する様子が頻繁に見られる  → 転倒のペナルティを上げたほうが良いかもしれない.

学習前モデルと学習済みモデルで40試合行って以下の通り. 学習前モデル5点 学習済みモデル0点

・学習前モデルの方が強い.

SX9XZZ~Z

IMAGE

yasuohayashibara commented 8 months ago

転倒のペナルティを上げて学習を行ったが,特に変化はない. epは300に戻した.

transformer_0.pt -> transformer_1600.pt collision_reward = -10.0

https://github.com/citbrains/GankenKun_webots/blob/35a7e5fd06f6d62768bf855e65d5c37a4054e312/controllers/mat_train/soccer/soccer.py#L190

S59PUY~K

学習前のモデルの方がもたもた感なくゴールしているように見える. IMAGE