eugval / sim2real_dynamics_simulation

MIT License
22 stars 2 forks source link

TypeError: __init__() got an unexpected keyword argument 'dim' #1

Open Diankuang-Wu opened 4 years ago

Diankuang-Wu commented 4 years ago

Hi! When I run the code, such as python ppo_multiprocess.py

or

python lstm_td3_multiprocess.py

or

python td3_multiprocess.py ...... I encounted a same issue: TypeError: init() got an unexpected keyword argument 'dim'

sim2real1126 I try to change it but no effect. I have no idea about handling with it. And, the requirements have been installed successfully, like requirements.txt and ReadMe.md Could you give some advice? Thank you~

eugval commented 4 years ago

Hello,

Thank you for your interest!

Hmm, that looks like an issue with the simple-pid package. Have you cloned my fork (https://github.com/eugval/simple-pid) and switched to the branch allow_arrays ?

Diankuang-Wu commented 4 years ago

Hello,

Thank you for your interest!

Hmm, that looks like an issue with the simple-pid package. Have you cloned my fork (https://github.com/eugval/simple-pid) and switched to the branch allow_arrays ?

Thank you for your reply. Your suggestion is helpful. Before your reply, my simple-pid package was installed by pip install simple-pid, this is the reason about the issue above. Then, I cloned your fork(https://github.com/eugval/simple-pid, switched to the branch allow_arrays), install it, it work! Everything is ok. btw, my kdl_parser package(version: 1.14.1) was installed from https://github.com/ros/kdl_parser, seems no impact to code. And, I try to re-install it, like your ReadME illustrating: the branch fixing_setup_py from https://github.com/eugval/kdl_parser/tree/fixing_setup_py, an issue emerge. So I still use 1.14.1 kdl_parser package. Also, MODEL_PATH should be changed by ourselves, otherwise maybe an error happen. Thank you again!

Diankuang-Wu commented 4 years ago

Hello,

Now I have a trained policy by ppo_multiprocess.py. I want to test it, but an error emerges as below.

AttributeError: 'NoneType' object has no attribute 'render'

sim2real1128_render

when I run demo.py(sim2real_dynamics_simulation/robosuite-extra/robosuite_extra/push_env/demo.py), it's ok, I can get render from mujoco, but ppo_multiprocess.py can not.

How to fix it next? Looking forward to your reply.

Thank you~

eugval commented 3 years ago

It is possible that the rendering is switched off in that script?

Perhaps have a look at robosuite_extra/env_base/base.py.

The viewer is None when the has_renderer attribute is False, and there are two methods (renderer_on, renderer_off) to toggle this.

The renderer is instantiated upon reset, so you would have to reset the environment before the value of has_renderer takes effect.

In the environment classes (e.g. SawyerPush) there is also a has_renderer initialiser argument, perhaps this is set to False?

Diankuang-Wu commented 3 years ago

Thank you for your reply.

By your suggestion, I add: env.renderer_on(), between line 324 and line 325 in ppo_multiprocess.py

Then, I can get render from mujoco :-)