【发布时间】:2020-10-04 15:54:09
【问题描述】:
我想基于物理引擎生成用于感知和抓取的数据集。我尝试将谷歌研究最近发布的以下 3D 模型 (https://app.ignitionrobotics.org/GoogleResearch) 导入 drake 并为各种鞋子创建分割数据集,即将网格放入 bin / 让它静止并读取 rgb / 深度和分割图像。
但是,在 drake 中将对象网格(.obj 文件)指定为碰撞几何体似乎不起作用,因为鞋子刚刚穿过垃圾箱并不断掉入深渊(附快照)。
我还注意到 YCB 对象具有使用简单框和点接触描述的碰撞几何形状。这是相同的可视化(您可能已经熟悉)。绿色是碰撞几何体。
如果我必须模拟上述情况,我是否需要为谷歌研究数据集中的所有对象描述简单的几何图形?如果是这样,它们是如何生成的?是否有一些工具可以用来生成它或者它是手动完成的?或者当网格用于碰撞几何时,我应该启用水弹性接触模拟吗?
如果它可以处理任何凸面网格,另一种方法是制作原始网格的凸包作为碰撞几何体。
作为替代方案,我尝试了与 pybullet 相同的方法。我用飞机代替了垃圾箱。 Pybullet 似乎正在处理正确地将网格指定为碰撞几何体。这是pybullet中数据的快照。
中间解决方案(尚未解决抓取部分):
在与 Sean 和 Russ 讨论后,我创建了三角形网格的凸包(使用 open3D),看起来使用这个凸包作为碰撞网格并将<drake:declare_convex/> 注释到网格标签,鞋子的姿势变得稳定。我认为这个解决方案足以让我使用 drake 生成感知数据。这是使用以下解决方案后的快照:
【问题讨论】:
-
问题!你如何让合成相机深度数据工作?我的没有显示任何东西! (面具和RGB虽然做)。而且,你能以某种方式获得这些深度值吗?