在OpenAI Gym的Mujoco环境中自定义网格抖动

时间:2018-11-19 20:23:20

标签: reinforcement-learning openai-gym

我尝试过修改FetchPickAndPlace-v1 OpenAI环境,以用剪刀代替立方体。除了我的自定义网格似乎每隔几步就进出桌子几毫米之外,其他所有东西都运行良好。我在下面添加了一张抖动中的图片:

enter image description here

如您所见,剪刀被夹在桌子表面的中间。我该如何预防?我所做的只是用与剪刀网格有关的资产切换pick_and_place.xml中的多维数据集代码。这是感兴趣的代码:

<body name="object0" pos="0.0 0.0 0.0">
            <joint name="object0:joint" type="free" damping="0.01"></joint>
            <geom size="0.025 0.025 0.025" mesh="tool0:scissors" condim="3" name="object0" material="tool_mat" class="tool0:matte" mass="2"></geom>
            <site name="object0" pos="0 0 0" size="0.02 0.02 0.02" rgba="1 0 0 1" type="sphere"></site>
</body>

我尝试使用位置和几何的坐标,但无济于事。有小费吗?用mesh="tool0:scissors"代替type="box"可以完全解决问题,但是我回到正题。

1 个答案:

答案 0 :(得分:0)

根据Emo Todorov in the MuJoCo forums的建议:

  1. 用飞机替换接地盒,然后 使用MuJoCo 2.0。最新版本的碰撞检测仪 在网格和平面之间生成多个接触, 可以使仿真更加稳定。但这仅适用于 平面网,而不是框网。
  2. 更好的解决方案是将网格划分为多个网格,并将它们作为多个几何体包含在同一实体中。然后,MuJoCo将构造每个子网格的凸包,从而产生多个接触点(即使没有上述特殊的平面机制),并且将更接近于实际对象的几何形状。