robosuite 安装指南
文档仅供参考
文章目录
- robosuite 安装指南
- 0 - robosuite简介
- 1 - robosuitede安装
- 2 - 安装过程问题汇总
- 2.1 - 按照官方文档的推荐,conda中新建python3.8的环境来安装robosuite,但直接pip安装和git clone手动安装都会报如下图EGL的错,可能和电脑的配置有关(我在核显笔记本和有nvidia的卡的机器上安装都出现了该问题):
- 2.2 - 经测试在python3.11以上环境安装可能失败,robosuite的其中一项依赖:open3d, 貌似暂时只支持到3.10的python版本,经笔者测试3.10版本python可顺利安装;
- 2.3 - libGL error: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so。
- 0.3 - 在VSCode中使用robosuite可能需要做的事情
0 - robosuite简介
robosuite是一个针对机器人学习(robot learning)的python仿真包,最初于2017年诞生于Stanford的实验室Stanford Vision and Learning Lab (SVL) ,现由德州奥斯丁大学和斯坦福大学的团队共同维护。
robosuite基于开源的Mujoco(Multi-Joint Dynamics with Contact)物理引擎打造。Mujoco最初诞生于华盛顿大学的实验室,据说算法很牛,且性能好准确度高,2015被打造成了商业软件。2021年DeepMind收购了Mujoco随后开源,Mujoco开始被越来越多的研究人员使用。
robosuite内置了一些机械臂,任务场景,夹爪,机械臂控制器和其他的一些模型,很大程度便利了研究人员的工作,让使用者更专注项目的开发;
1 - robosuitede安装
目前最新版本为1.4;1.4版本基于mujoco2.3开发,2.3版本有Mujoco官方原生的mujoco - python接口,使用起来更加方便。经笔者测试,git clone之后进行源码安装较稳妥。建议安装前阅读官方文档。
2 - 安装过程问题汇总
2.1 - 按照官方文档的推荐,conda中新建python3.8的环境来安装robosuite,但直接pip安装和git clone手动安装都会报如下图EGL的错,可能和电脑的配置有关(我在核显笔记本和有nvidia的卡的机器上安装都出现了该问题):
评论区有大佬参考robosuite的issue给出来了解决方案;出现这个错误的原因是当前设备不支持EGL渲染;
解决方法:
采用 git clone
进行源码安装,在文件 robosuite/robosuite/utils/binding_utils.py
中注释掉代码块(大概是37到43行):
if macros.MUJOCO_GPU_RENDERING and os.environ.get("MUJOCO_GL", None) not in ["osmesa", "glx"]:
# If gpu rendering is specified in macros, then we enforce gpu
# option for rendering
if _SYSTEM == "Darwin":
os.environ["MUJOCO_GL"] = "cgl"
else:
os.environ["MUJOCO_GL"] = "egl"
2.2 - 经测试在python3.11以上环境安装可能失败,robosuite的其中一项依赖:open3d, 貌似暂时只支持到3.10的python版本,经笔者测试3.10版本python可顺利安装;
安装过程可能有下面的问题(若没有出现这个问题可以跳过以下的内容;虽然看起来似乎不影响运行,但我有些许强迫症受不了)
报错信息:
参考这篇博客的解决方案,或许可以解决
在执行上面的conda unistall
和两个pip install
之后按照报错信息重新安装报错信息中指示的包(使用pip install安装就可以),如下图所示:
2.3 - libGL error: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so。
初次运行python robosuite/demos/demo_random_action.py
时还有一个warning信息,按照报错信息运行这个setup_macros.py
脚本就可以解决:
至此,基本完美运行官方的大部分demo(笔者仅有demo_nvisii_modalities.py暂时运行失败),若还有个别 demo的报错可参照报错信息解决;
0.3 - 在VSCode中使用robosuite可能需要做的事情
由于笔者是新建了一个文件夹使用git clone进行源码安装,使用IDE编辑代码时,IDE(我使用VScode)无法读取robosuite的代码(虽然实测不进行0.3
中的操作也可以正常运行代码),如下图:
一种简单粗暴的解决方法是将直接git clone下来的源码中的robosuite
文件夹拷贝入所使用的python环境的site_packages文件夹中(我这里使用的是anaconda3的base环境):
copy “robosuite folder” from:
paste to:
完美安装!!洒花💐💐💐!!!