Skip to content
This repository has been archived by the owner on Aug 15, 2024. It is now read-only.

multi_agent_env #73

Open
wants to merge 31 commits into
base: main
Choose a base branch
from
Open

multi_agent_env #73

wants to merge 31 commits into from

Conversation

yasuohayashibara
Copy link
Contributor

multi-agentの学習を行う環境を作成する.
インターフェイスはPettingZooを参考にする.

@yasuohayashibara
Copy link
Contributor Author

速度の検証から(訓練の時間に影響する要素であるため)
検証PC Galleria ノートPC i7 RTX2070
簡易的なモデルで6体並べてシミュレーションすると最高16倍程度
https://youtu.be/o6aQ4tWirx0

@yasuohayashibara
Copy link
Contributor Author

GankenKun_walkを6台で試した様子
0.25倍程度と非常に遅い
https://youtu.be/1n6tCZ5th2c

@yasuohayashibara
Copy link
Contributor Author

c言語で書かれた非常にシンプルなコントローラにしても同様であった
https://youtu.be/FDsIXMfO7Wc

@yasuohayashibara
Copy link
Contributor Author

yasuohayashibara commented Sep 18, 2023

チューイングをしたというのと,コントローラが別プロセスで動いているというのもあるが,strategy_devの方が処理が速い
1台のみの環境だと,2倍以上で動作する.

https://youtu.be/VnktNcgNRtE

@yasuohayashibara
Copy link
Contributor Author

以下の設定の値を大きくすることで,速度が上昇
0.25 -> 0.6倍程度になる.

optimalThreadCount 10

@yasuohayashibara
Copy link
Contributor Author

歩行した場合も0.5倍程度の速度となる.
ただし,スクリーンキャプチャしながらだと,速度が低下する.
https://youtu.be/_Zcngm6PI-s

@yasuohayashibara
Copy link
Contributor Author

RTX4090のPCで1.5倍程度

@yasuohayashibara
Copy link
Contributor Author

各ロボットにコマンドを送って歩行させる仕組みを入れた.

https://youtu.be/-T_NXYqWWvE

@yasuohayashibara
Copy link
Contributor Author

RTX4090で実行したときの様子
4倍程度で実行できている.

IMAGE

@yasuohayashibara
Copy link
Contributor Author

間を開けて前進するコマンドを与えたら直進しない.
キックのときに停止するので,対策することが必要である.

https://youtu.be/H5UZMzI1068

@yasuohayashibara
Copy link
Contributor Author

歩行を調整した
1)歩行時に左右に位置がずれる現象が見られたのでその対策
2)足を上げるまでの時間を0.34sとした.(従来は0.68s)
3)停止の時間を0.34sとした.(従来は1.6s)

全てのタイミングを0.34とした.

IMAGE

@yasuohayashibara
Copy link
Contributor Author

周期を0.34->0.32sに変更
webotsの計算の周期が0.008なので,40step分となり扱いやすいため.
挙動は0.34と変わらず

@yasuohayashibara
Copy link
Contributor Author

キックも含めた動きの完成
IMAGE

@yasuohayashibara
Copy link
Contributor Author

@yasuohayashibara
Copy link
Contributor Author

学習環境の整備

IMAGE

@yasuohayashibara
Copy link
Contributor Author

yasuohayashibara commented Sep 27, 2023

~/.local/lib/python3.8/site-packages/supersuit/vectorの
vector_constructors.pyの64行目をコメントアウト

    #vec_env = MakeCPUAsyncConstructor(num_cpus)(*vec_env_args(vec_env, num_vec_envs))

@yasuohayashibara
Copy link
Contributor Author

学習できるようになった.
ロボット転倒時にプログラムが停止する問題があるようである.

IMAGE

@yasuohayashibara
Copy link
Contributor Author

yasuohayashibara commented Oct 2, 2023

学習した結果

IMAGE

RTX4090
IMAGE

@yasuohayashibara
Copy link
Contributor Author

相手側へのx軸のボールの速度を報酬としたときの様子
転倒時に最初の位置に戻す挙動を追加

IMAGE

@yasuohayashibara
Copy link
Contributor Author

yasuohayashibara commented Oct 11, 2023

PPOを実行するときの環境設定

virtualenv -p python3.8 env
source env/bin/activate
pip install supersuit pettingzoo stable_baselines3 tensorboard control

以下のファイルを編集

code env/lib/python3.8/site-packages/supersuit/vector/vector_constructors.py

vector_constructors.pyの64行目をコメントアウト

    #vec_env = MakeCPUAsyncConstructor(num_cpus)(*vec_env_args(vec_env, num_vec_envs))

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant