akaridoi / DDPG_humangait

0 stars 0 forks source link

make testosim3.py and apply opensim #6

Open akaridoi opened 4 years ago

akaridoi commented 4 years ago

vitual environment: base pip install keras pip install tensorflow pip install keras-rl pip install keras-rl2 (参照ddpg動かすファイルcolsed issue) をいれる。

akaridoi commented 4 years ago

・action: 22 ・state 339 velosity map??: 11112=242 97dof最初はこれで十分

total 339

・reward

ベースとなるコード:仮想環境上のファイルosim> env> osim.py ここに、envの書き換えをする。

akaridoi commented 4 years ago

仮想環境の元、 Loaded model gait14dof22musc from file /Users/akaridoi/.pyenv/versions/anaconda3-2019.10/envs/opensim-rl/lib/python3.6/site-packages/osim/env/../models/gait14dof22musc_20170320.osim /Users/akaridoi/.pyenv/versions/anaconda3-2019.10/envs/opensim-rl/lib/python3.6/site-packages/gym/logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32 warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow')) difficulty 3 for Round 2 にしまってあるosim.pyのenvを書き換える。 ・rewardの表記をみる、どうなっているか:get_reward, init_reward

・97dofが何か。これを減らす。

## Values in the observation vector
# 'vtgt_field': vtgt vectors in body frame (2*11*11 = 242 values)
# 'pelvis': height, pitch, roll, 6 vel (9 values)
# for each 'r_leg' and 'l_leg' (*2)
#   'ground_reaction_forces' (3 values)
#   'joint' (4 values)
#   'd_joint' (4 values)
#   for each of the eleven muscles (*11)
#       normalized 'f', 'l', 'v' (3 values)
# 242 + 9 + 2*(3 + 4 + 4 + 11*3) = 339

9, 22,

akaridoi commented 4 years ago

testosim3.pyで動くのだが、dimentionの問題で落ちてしまう。 File "/Users/akaridoi/.pyenv/versions/anaconda3-2019.10/envs/opensim-rl/lib/python3.6/site-packages/tensorflow/python/keras/engine/training_utils.py", line 573, in standardize_input_data 'with shape ' + str(data_shape)) ValueError: Error when checking input: expected input_1 to have 3 dimensions, but got array with shape (1, 1) これを解決する。

akaridoi commented 4 years ago

ここを直していく。 if len(data_shape) != len(shape): raise ValueError('Error when checking ' + exception_prefix + ': expected ' + names[i] + ' to have ' + str(len(shape)) + ' dimensions, but got array ' 'with shape ' + str(data_shape))

akaridoi commented 4 years ago

データの受け渡しがエラー:ここを調べる必要がある。 keras, tensorflow

osim, かddpgで

1次元-多次元 1次元-2,3 次元のものを使う?かつ連続量

akaridoi commented 4 years ago

print(env.action_space) print(env.observation_space) observation=env. print(observation)

で出力して見て考えると...?

observationがわかる。 testosim3.pyは文字列の入った複雑な形になっている。

obs_new=np.zero(339) にすると動いた。 =osimを読んでddpgを動かすことができる。

新しい状態を作る=コードを書く 339のstateのうち242はいらないとして、残りの97この状態がどう書かれているのか。 97=9+44+44 vel xyzと r-leg:44, 2-1-1自由度=4自由度 l-leg:44, d joint 残りは筋肉の動き11(一個につき3パラメータ:force, length, velocity)

akaridoi commented 4 years ago

状態の評価を同時にやるのがddpg 学習をどうやるのかは基本のpendulumで見る 1stepごとに学習反映されている。 理解を深める actionは筋の活動は入っているといえる。 rewardをチェックしてみよう。

akaridoi commented 4 years ago

歩くためのrewardになっている。

akaridoi commented 4 years ago

Episode 1: reward: 8.365, steps: 111 Episode 2: reward: 7.711, steps: 111 Episode 3: reward: 6.441, steps: 111 Episode 4: reward: 7.370, steps: 111 Episode 5: reward: 7.935, steps: 111

akaridoi commented 4 years ago

1022 ddpgの基本 1, pendulum-v0:ddpg.py ERROR: VideoRecorder encoder exited with status -6 のビデオ表示が原因なのか、一瞬写って落ちてしまった。 2, bipedal-walker3:動かなかった、ddpg_bipedal.py 3, cartpoleとかのenvを変えたもの:0928ddpg.py