解决robosuite设置has_offscreen_renderer=True时报错ERROR: GLEW initalization error: Missing GL version

问题描述

使用robosuite建立RL环境,设置has_renderer=True时可以正常运行,而设置has_offscreen_renderer=True时报错如题。
该问题好像是因为mujoco-py会自带openGL,而我自己又在nvidia显卡驱动里安装了openGL,当使用可视化绘图(has_renderer=True)时,会使用mujoco-py自带的openGL,当不进行显示时(has_offscreen_renderer=True),会使用自己安装的openGL,自己装的openGL版本太高就会报错ERROR: GLEW initalization error: Missing GL version。(从网上的资料看好像是这样)
所以解决办法是在使用has_offscreen_renderer=True时,使用mujoco-py自带的openGL,如下:

解决办法

在安装的robosuite库的/home/name/anaconda3/envs/env_name/lib/python3.7/site-packages/robosuite/environments/base.py的第310左右修改代码,如下:

elif self.has_offscreen_renderer:
    if self.sim._render_context_offscreen is None:
        # 下面`两行`为新加的
        from mujoco_py import GlfwContext
        GlfwContext(offscreen=True)
        render_context = MjRenderContextOffscreen(self.sim, device_id=self.render_gpu_device_id)
        self.sim.add_render_context(render_context)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值