各机器人强化学习仿真平台整理及对比

基于机器人开发实现对Deformable Objects(如衣服)的各项操作,整理+实践出了各仿真平台的性能对比,如有问题欢迎指正orz!!

1. Pybullet

Pybullet是Python的一个模块,可用于机器人视觉效果和机器学习的物理模拟。除了物理模拟之外,还具有渲染绑定,包括CPU渲染器(TinyRenderer)和OpenGL可视化,并支持HTC Vive和Oculus Rift等VR设备。Pybullet还具有执行碰撞检测查询并添加调试渲染(调试行和文本)的功能。

Pybullet的具体特点:

• 开源

• 支持加载URDF,SDF,Mujoco的MJCF等文件格式

• 采用python编程,具有跨平台的优势,能较好地对控制代码进行移植

• 编辑、修改模型的过程较复杂,只能采用Blender等3D建模工具先画出模型,再将其转化为URDF格式导入

• 支持创建和加载Soft body模型,可加载VTK和OBJ格式,提供了结合Rigid body和Soft body的两种方式——Position Based Dynamics (PBD) 和 Finite Element Method (FEM) 。

• 吃内存,实际运行速度在GPU加持下会好很多


2. V-REP (Coppelia Sim)

参考V-REP和Gazebo的对比论文:

http://www.dca.fee.unicamp.br/~gudwin/courses/IA889/2014/IA889-02.pdf

这篇原作者在相同环境下对ROS的兼容度、环境建模、机器人模型修改、可编程控制、CPU占用率等方面详细对比了Gazebo和V-REP,得出结论——Gazebo的优势在于与ROS完全兼容、开源,而V-REP更为直观、方便使用,集成了更多的特性,可拓展性强。

V-REP的具体特点:

• 教育版可免费使用

• 支持的物理引擎:Bullet,ODE,Vortex

• 对ROS的兼容性要差一些,V-REP提供了插件去和ROS交互,不过需要使用默认的Lua脚本去生成话题订阅器和发布器。

• 集成了常见模型格式(OBJ,STL,URDF,DXF,3DS,Collada),内置多种模型(如机械臂、机械爪以及日用品、家具等),物体属性及参数可调,并自带多种场景,使建模更加快捷,可视化更优。

• 可在仿真环境里对模型进行修改,插入各类传感器方便,用户体验较好。

• 可编程方式:支持嵌入式脚本(Embedded Scripts)、加载项(Add-ons)、插件、远程API等。嵌入式脚本默认为lua语言。提供了充足的API来满足开发需求。

• CPU占用率较低


3. Gazebo

• 开源

• 支持的物理引擎: ODE, Bullet, Simbody, Dart

• 支持云仿真,有实现云服务器建模的可能。

• 对ROS完全兼容,是ROS默认的仿真框架,在ROS的官方仓库里就有一个Gazebo专属的包,把Gazebo打包成一个节点,方便通过话题的订阅和发布来连接ROS。

• 无法高效地编辑模型,只能采用Blender等3D建模工具先画出模型,再将其转化为SDF格式。

• 无法将数据库里的两种模型进行合并,只能使用基于XML的SDF格式,修改、调整模型的步骤比较复杂。

• 在可编程性上,同样提供了充足的API来满足开发需求。

• CPU占用率较高,响应速度快。


4. Unreal Engine4

中文官网 https://www.unrealengine.com/zh-CN/

•  免费下载,需要注册账号(体积庞大orz,毕竟开发游戏商用比较多)

•  有材质编辑器,支持编辑颜色、纹理、布料等多种属性,集成性非常高,建模方便。还有专属的布料工具来创建布料,可直接使用虚拟引擎来编写内容,不需要依赖外部程序。

•  通过行为树设置AI控制器和任务节点,有专属的模型文件格式uasset,支持蓝图/C++开发(可执行事件的复杂度和精确度还没来得及仔细看orz,之后试一下再来改)


5. Blender

Blender是一种可仿真的开源计算机图形软件工具包。它支持3D管道建模,索具,动画,仿真,渲染,合成和运动跟踪,甚至视频编辑和游戏创作。

参考项目 https://sites.google.com/view/fabric-smoothing

自2017年以来,Blender在布料的物理和真实感方面有了明显改进,但这些改进只支持Blender 2.80,在2.80中不支持无头(headless)图像渲染,因此无法运行大量数据。建议使用Blender 2.79,支持无头渲染,可以创建从特定的fabric simulator中生成的图像。除此之外,Mujoco 2.0可提供另一个fabric simulator,但是在并行运作之前不支持OpenAI gym布料操作环境。

•  开源

•  渲染逼真,建模迅速,最新的Blender版本可支持现实材料,完整的节点支持完全定制

•  Blender中包含一个完整的游戏引擎,可让您在Blender内部创建一个功能齐全的3D游戏。它能够将模型移植到任何第三方引擎,创建或编辑自己的控制逻辑,全子弹物理学整合,用于创建AI的Python脚本API等。

•  支持多种文件格式导入:图像、视频、3D文件,修改模型方便。



附:V-REP的开源项目RLBench

RLBench是基于V-REP,由帝国理工开源的一个机器人学习benchmark,包含100+种内置已经设计好的task和simulator。

使用前需要先安装PyRep,再装RLBench。

Project:https://sites.google.com/view/rlbench

Paper:https://arxiv.org/abs/1909.12271

Code:https://github.com/stepjam/RLBench

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容