ScheiklP / sofa_zoo

Reinforcement learning scripts for sofa_env environments.
MIT License
5 stars 5 forks source link

Rendering issue while using sofazoo #12

Closed Parabolakit closed 6 days ago

Parabolakit commented 3 weeks ago

Dear @ScheiklP,

I am sticking on this issue for several weeks. It looks like there is a problem of rendering. I copied the errors as follows,

Moviepy - Done !
Moviepy - video ready /home/chi/Documents/sofa_zoo/sofa_zoo/envs/pick_and_place/runs/videos/rl-video-step-0-to-step-300.mp4 type of self._camera_object.widthViewport.value <class 'int'> [ERROR] [SofaRuntime] GLError: GLError( err = 1281, description = b'invalid value', baseOperation = glViewport, cArguments = (0, 0, 64, 64) ) Traceback (most recent call last): File "/home/chi/Documents/sofa_zoo/sofa_zoo/envs/pick_and_place/ppo.py", line 173, in model.learn( File "/home/chi/anaconda3/envs/sofa/lib/python3.9/site-packages/stable_baselines3/ppo/ppo.py", line 315, in learn return super().learn( File "/home/chi/anaconda3/envs/sofa/lib/python3.9/site-packages/stable_baselines3/common/on_policy_algorithm.py", line 277, in learn continue_training = self.collect_rollouts(self.env, callback, self.rollout_buffer, n_rollout_steps=self.n_steps) File "/home/chi/anaconda3/envs/sofa/lib/python3.9/site-packages/stable_baselines3/common/on_policy_algorithm.py", line 194, in collect_rollouts new_obs, rewards, dones, infos = env.step(clipped_actions) File "/home/chi/anaconda3/envs/sofa/lib/python3.9/site-packages/stable_baselines3/common/vec_env/base_vec_env.py", line 206, in step return self.step_wait() File "/home/chi/anaconda3/envs/sofa/lib/python3.9/site-packages/stable_baselines3/common/vec_env/vec_transpose.py", line 97, in step_wait observations, rewards, dones, infos = self.venv.step_wait() File "/home/chi/anaconda3/envs/sofa/lib/python3.9/site-packages/stable_baselines3/common/vec_env/vec_frame_stack.py", line 33, in step_wait observations, rewards, dones, infos = self.venv.step_wait() File "/home/chi/anaconda3/envs/sofa/lib/python3.9/site-packages/stable_baselines3/common/vec_env/vec_normalize.py", line 181, in step_wait obs, rewards, dones, infos = self.venv.step_wait() File "/home/chi/anaconda3/envs/sofa/lib/python3.9/site-packages/stable_baselines3/common/vec_env/vec_video_recorder.py", line 88, in step_wait obs, rews, dones, infos = self.venv.step_wait() File "/home/chi/anaconda3/envs/sofa/lib/python3.9/site-packages/stable_baselines3/common/vec_env/vec_monitor.py", line 76, in step_wait obs, rewards, dones, infos = self.venv.step_wait() File "/home/chi/anaconda3/envs/sofa/lib/python3.9/site-packages/stable_baselines3/common/vec_env/dummy_vec_env.py", line 58, in step_wait obs, self.buf_rews[env_idx], terminated, truncated, self.buf_infos[env_idx] = self.envs[env_idx].step( File "/home/chi/anaconda3/envs/sofa/lib/python3.9/site-packages/gymnasium/wrappers/time_limit.py", line 57, in step observation, reward, terminated, truncated, info = self.env.step(action) File "/home/chi/Documents/sofa_env/sofa_env/scenes/pick_and_place/pick_and_place_env.py", line 289, in step maybe_rgb_observation = super().step(action) File "/home/chi/Documents/sofa_env/sofa_env/base.py", line 172, in step return self._maybe_update_rgb_buffer() File "/home/chi/Documents/sofa_env/sofa_env/base.py", line 318, in _update_rgb_buffer self._update_sofa_visuals() File "/home/chi/Documents/sofa_env/sofa_env/base.py", line 400, in _update_sofa_visuals self.opengl_gl.glViewport(0, 0, 64,64) File "src/errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError

Did you come across this error? Thanks for your kind assistance.

Best, Parabola

ScheiklP commented 3 weeks ago

Hi @Parabolakit , could you try changing this line https://github.com/ScheiklP/sofa_env/blob/main/sofa_env/scenes/pick_and_place/scene_description.py#L178C77-L178C95

to board_visual_function = add_visual_model?

Cheers, Paul

Parabolakit commented 3 weeks ago

Hi @ScheiklP,

I tried it. The same error occurs.

Best, Parabola

ScheiklP commented 3 weeks ago

Hi @Parabolakit , could you further try to uninstall PyOpenGL-accelerate? pip uninstall PyOpenGL-accelerate

Cheers, Paul

Parabolakit commented 3 weeks ago

Hi @ScheiklP ,

The error is the same. I printed out the packages I installed in the activated conda environment as below.

Name Version Build Channel

_libgcc_mutex 0.1 main
_openmp_mutex 5.1 1_gnu
absl-py 2.1.0 pypi_0 pypi adastop 0.1.2 pypi_0 pypi addict 2.4.0 pypi_0 pypi alabaster 0.7.16 pypi_0 pypi ale-py 0.8.1 pypi_0 pypi appdirs 1.4.4 pypi_0 pypi asttokens 2.4.1 pypi_0 pypi attrs 23.2.0 pypi_0 pypi autodocsumm 0.2.12 pypi_0 pypi autorom 0.6.1 pypi_0 pypi autorom-accept-rom-license 0.6.1 pypi_0 pypi babel 2.14.0 pypi_0 pypi blinker 1.7.0 pypi_0 pypi bzip2 1.0.8 h7b6447c_0 anaconda c-ares 1.19.1 h5eee18b_0 anaconda ca-certificates 2024.3.11 h06a4308_0
cachetools 5.3.2 pypi_0 pypi certifi 2024.2.2 pypi_0 pypi cffi 1.16.0 pypi_0 pypi charset-normalizer 3.3.2 pypi_0 pypi click 8.1.7 pypi_0 pypi cloudpickle 3.0.0 pypi_0 pypi colorama 0.4.6 pypi_0 pypi comm 0.2.1 pypi_0 pypi configargparse 1.7 pypi_0 pypi contourpy 1.2.0 pypi_0 pypi curl 8.5.0 hdbd6064_0
cvzone 1.6.1 pypi_0 pypi cycler 0.12.1 pypi_0 pypi cython 3.0.8 pypi_0 pypi dash 2.15.0 pypi_0 pypi dash-core-components 2.0.0 pypi_0 pypi dash-html-components 2.0.0 pypi_0 pypi dash-table 5.0.0 pypi_0 pypi decorator 4.4.2 pypi_0 pypi dill 0.3.8 pypi_0 pypi docker-pycreds 0.4.0 pypi_0 pypi docopt 0.6.2 pypi_0 pypi docutils 0.20.1 pypi_0 pypi exceptiongroup 1.2.0 pypi_0 pypi executing 2.0.1 pypi_0 pypi expat 2.5.0 h6a678d5_0 anaconda farama-notifications 0.0.4 pypi_0 pypi fastjsonschema 2.19.1 pypi_0 pypi fdasrsf 2.5.2 pypi_0 pypi filelock 3.13.1 pypi_0 pypi flask 3.0.2 pypi_0 pypi flatbuffers 24.3.7 pypi_0 pypi fonttools 4.48.1 pypi_0 pypi freetype-py 2.4.0 pypi_0 pypi fsspec 2024.2.0 pypi_0 pypi future 1.0.0 pypi_0 pypi gdbm 1.18 hd4cb3f1_4 anaconda gettext 0.21.0 h39681ba_1 anaconda git 2.40.1 pl5340h36fbf9e_1
gitdb 4.0.11 pypi_0 pypi gitpython 3.1.41 pypi_0 pypi glfw 2.7.0 pypi_0 pypi google-auth 2.27.0 pypi_0 pypi google-auth-oauthlib 1.2.0 pypi_0 pypi grpcio 1.60.1 pypi_0 pypi gym 0.22.0 pypi_0 pypi gym-notices 0.0.8 pypi_0 pypi gymnasium 0.28.1 pypi_0 pypi icu 73.1 h6a678d5_0 anaconda idna 3.6 pypi_0 pypi imageio 2.33.1 pypi_0 pypi imageio-ffmpeg 0.4.9 pypi_0 pypi imagesize 1.4.1 pypi_0 pypi importlib-metadata 4.13.0 pypi_0 pypi importlib-resources 6.1.1 pypi_0 pypi iniconfig 2.0.0 pypi_0 pypi inputs 0.5 pypi_0 pypi install 1.3.5 pypi_0 pypi ipython 8.18.1 pypi_0 pypi ipywidgets 8.1.1 pypi_0 pypi itsdangerous 2.1.2 pypi_0 pypi jax 0.4.25 pypi_0 pypi jax-jumpy 1.0.0 pypi_0 pypi jaxlib 0.4.25 pypi_0 pypi jedi 0.19.1 pypi_0 pypi jinja2 3.1.3 pypi_0 pypi joblib 1.3.2 pypi_0 pypi jsonschema 4.21.1 pypi_0 pypi jsonschema-specifications 2023.12.1 pypi_0 pypi jupyter-core 5.7.1 pypi_0 pypi jupyterlab-widgets 3.0.9 pypi_0 pypi kiwisolver 1.4.5 pypi_0 pypi krb5 1.20.1 h143b758_1
ld_impl_linux-64 2.38 h1181459_1
libcurl 8.5.0 h251f7ec_0
libedit 3.1.20221030 h5eee18b_0 anaconda libev 4.33 h7f8727e_1 anaconda libffi 3.4.4 h6a678d5_0
libgcc-ng 11.2.0 h1234567_1
libgomp 11.2.0 h1234567_1
libnghttp2 1.57.0 h2d74bed_0
libssh2 1.10.0 hdbd6064_2
libstdcxx-ng 11.2.0 h1234567_1
libxml2 2.10.4 hf1b16e4_1 anaconda livereload 2.6.3 pypi_0 pypi llvmlite 0.42.0 pypi_0 pypi markdown 3.5.2 pypi_0 pypi markdown-it-py 3.0.0 pypi_0 pypi markupsafe 2.1.5 pypi_0 pypi matplotlib 3.8.2 pypi_0 pypi matplotlib-inline 0.1.6 pypi_0 pypi mdurl 0.1.2 pypi_0 pypi mediapipe 0.10.11 pypi_0 pypi ml-dtypes 0.3.2 pypi_0 pypi moviepy 1.0.3 pypi_0 pypi mpmath 1.3.0 pypi_0 pypi multimethod 1.10 pypi_0 pypi nbformat 5.9.2 pypi_0 pypi ncurses 6.4 h6a678d5_0
nest-asyncio 1.6.0 pypi_0 pypi networkx 2.2 pypi_0 pypi numba 0.59.0 pypi_0 pypi numpy 1.26.4 pypi_0 pypi numpy-stl 3.1.1 pypi_0 pypi nvidia-cublas-cu12 12.1.3.1 pypi_0 pypi nvidia-cuda-cupti-cu12 12.1.105 pypi_0 pypi nvidia-cuda-nvrtc-cu12 12.1.105 pypi_0 pypi nvidia-cuda-runtime-cu12 12.1.105 pypi_0 pypi nvidia-cudnn-cu12 8.9.2.26 pypi_0 pypi nvidia-cufft-cu12 11.0.2.54 pypi_0 pypi nvidia-curand-cu12 10.3.2.106 pypi_0 pypi nvidia-cusolver-cu12 11.4.5.107 pypi_0 pypi nvidia-cusparse-cu12 12.1.0.106 pypi_0 pypi nvidia-nccl-cu12 2.19.3 pypi_0 pypi nvidia-nvjitlink-cu12 12.3.101 pypi_0 pypi nvidia-nvtx-cu12 12.1.105 pypi_0 pypi oauthlib 3.2.2 pypi_0 pypi open3d 0.18.0 pypi_0 pypi opencv-contrib-python 4.9.0.80 pypi_0 pypi opencv-python 4.9.0.80 pypi_0 pypi openssl 3.0.13 h7f8727e_0
opt-einsum 3.3.0 pypi_0 pypi packaging 23.2 pypi_0 pypi pandas 2.1.0 pypi_0 pypi parso 0.8.3 pypi_0 pypi patsy 0.5.6 pypi_0 pypi pcre2 10.42 hebb0a14_0 anaconda perl 5.34.0 h5eee18b_2 anaconda pexpect 4.9.0 pypi_0 pypi pillow 10.2.0 pypi_0 pypi pip 24.0 pypi_0 pypi platformdirs 4.2.0 pypi_0 pypi plotly 5.18.0 pypi_0 pypi pluggy 1.4.0 pypi_0 pypi proglog 0.1.10 pypi_0 pypi prompt-toolkit 3.0.43 pypi_0 pypi protobuf 3.20.3 pypi_0 pypi psutil 5.9.8 pypi_0 pypi ptyprocess 0.7.0 pypi_0 pypi pure-eval 0.2.2 pypi_0 pypi pyasn1 0.5.1 pypi_0 pypi pyasn1-modules 0.3.0 pypi_0 pypi pybind11 2.6.1 py39h081fc7a_0 conda-forge pybind11-global 2.6.1 pypi_0 pypi pycparser 2.21 pypi_0 pypi pygame 2.5.2 pypi_0 pypi pygame-ce 2.4.1 pypi_0 pypi pyglet 1.5.21 pypi_0 pypi pygments 2.17.2 pypi_0 pypi pyopengl 3.1.7 pypi_0 pypi pyparsing 3.1.1 pypi_0 pypi pyquaternion 0.9.9 pypi_0 pypi pytest 8.0.0 pypi_0 pypi python 3.9.19 h955ad1f_0
python-dateutil 2.8.2 pypi_0 pypi python-utils 3.8.2 pypi_0 pypi python_abi 3.9 2_cp39 conda-forge pytz 2024.1 pypi_0 pypi pyyaml 6.0.1 pypi_0 pypi readline 8.2 h5eee18b_0
referencing 0.33.0 pypi_0 pypi requests 2.31.0 pypi_0 pypi requests-oauthlib 1.3.1 pypi_0 pypi retrying 1.3.4 pypi_0 pypi rich 13.7.1 pypi_0 pypi rlberry 0.5.0 pypi_0 pypi rpds-py 0.17.1 pypi_0 pypi rsa 4.9 pypi_0 pypi scikit-learn 1.4.0 pypi_0 pypi scipy 1.12.0 pypi_0 pypi seaborn 0.12.2 pypi_0 pypi sentry-sdk 1.40.1 pypi_0 pypi setproctitle 1.3.3 pypi_0 pypi setuptools 68.2.2 py39h06a4308_0
shimmy 0.2.1 pypi_0 pypi six 1.16.0 pypi_0 pypi smmap 5.0.1 pypi_0 pypi snowballstemmer 2.2.0 pypi_0 pypi sofa-env 0.0.1 dev_0 sofa-zoo 0.0.1 dev_0 sofagym 0.0.1 dev_0 sounddevice 0.4.6 pypi_0 pypi sphinx 7.2.6 pypi_0 pypi sphinx-autobuild 2024.2.4 pypi_0 pypi sphinx-rtd-theme 2.0.0 pypi_0 pypi sphinx-tabs 3.4.5 pypi_0 pypi sphinxcontrib-applehelp 1.0.8 pypi_0 pypi sphinxcontrib-devhelp 1.0.6 pypi_0 pypi sphinxcontrib-htmlhelp 2.0.5 pypi_0 pypi sphinxcontrib-jquery 4.1 pypi_0 pypi sphinxcontrib-jsmath 1.0.1 pypi_0 pypi sphinxcontrib-qthelp 1.0.7 pypi_0 pypi sphinxcontrib-serializinghtml 1.1.10 pypi_0 pypi sqlite 3.41.2 h5eee18b_0
stable-baselines3 2.2.1 pypi_0 pypi stack-data 0.6.3 pypi_0 pypi sympy 1.12 pypi_0 pypi tabulate 0.9.0 pypi_0 pypi tenacity 8.2.3 pypi_0 pypi tensorboard 2.15.1 pypi_0 pypi tensorboard-data-server 0.7.2 pypi_0 pypi tensordict 0.3.1 pypi_0 pypi threadpoolctl 3.2.0 pypi_0 pypi tk 8.6.12 h1ccaba5_0
tomli 2.0.1 pypi_0 pypi torch 2.2.2 pypi_0 pypi torchrl 0.3.1 pypi_0 pypi torchvision 0.17.0 pypi_0 pypi tornado 6.4 pypi_0 pypi tqdm 4.66.1 pypi_0 pypi traitlets 5.14.1 pypi_0 pypi trimesh 4.2.0 pypi_0 pypi triton 2.2.0 pypi_0 pypi typing-extensions 4.9.0 pypi_0 pypi tzdata 2023.4 pypi_0 pypi urllib3 2.2.0 pypi_0 pypi wandb 0.16.2 pypi_0 pypi wcwidth 0.2.13 pypi_0 pypi werkzeug 3.0.1 pypi_0 pypi wheel 0.41.2 py39h06a4308_0
widgetsnbextension 4.0.9 pypi_0 pypi xz 5.4.6 h5eee18b_0
zipp 3.17.0 pypi_0 pypi zlib 1.2.13 h5eee18b_0

Best wishes, Parabola

ScheiklP commented 3 weeks ago

Huh, weird. Could you try running the environment outside the RL loop? python3 <path_to_sofa_env>/sofa_env/scenes/pick_and_place/pick_and_place_env.py?

Parabolakit commented 3 weeks ago

hi @ScheiklP ,

It worked when I ran the SOFA scene in sofa_env. The object was grasped by the tool.

Best, Parabola

ScheiklP commented 3 weeks ago

Hi @Parabolakit , so in general, self._update_sofa_visuals() works fine, that is good.

Did you install sofa_env through pip install -e <path/to/sofa_env> (with the -e flag) so that changes in to the code are reflected in the package, when you use sofa_zoo?

Cheers, Paul

Parabolakit commented 1 week ago

Hi @Parabolakit ,

so in general, self._update_sofa_visuals() works fine, that is good.

Did you install sofa_env through pip install -e <path/to/sofa_env> (with the -e flag) so that changes in to the code are reflected in the package, when you use sofa_zoo?

Cheers,

Paul

Hi Paul,

I did this step. I will try to install in another computer to see whether it has rendering problem. As my error is related to OpenGL, I installed OpenGL by sudo apt install libopengl0. Is it correct?

Thanks.

Best, Parabola

ScheiklP commented 1 week ago

If you are on a regular linux system such as Ubuntu, you should not need to install anything OpenGL-related manually. Only libglew-dev, as described in https://scheiklp.github.io/sofa_env/setting_up_sofa.html#install-build-dependencies.

Parabolakit commented 1 week ago

If you are on a regular linux system such as Ubuntu, you should not need to install anything OpenGL-related manually.

Only libglew-dev, as described in https://scheiklp.github.io/sofa_env/setting_up_sofa.html#install-build-dependencies.

Thanks for your prompt response. Could you help me check which version of SOFA you have installed? I installed 23.06.

Best, Parabola

ScheiklP commented 1 week ago

Hi @Parabolakit , The SOFA commit is e74b94848af09536873d1c7eb291a5e742fc6077 The SofaPython3 commit is 15bc9725e85b282ce97738266e9849ca1b9c1602

Cheers, Paul

Parabolakit commented 6 days ago

hi Paul,

It works, thanks.

ScheiklP commented 6 days ago

Perfect. :)