首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于网格的drake碰撞几何

基于网格的drake碰撞几何
EN

Stack Overflow用户
提问于 2020-10-04 15:54:09
回答 1查看 527关注 0票数 5

我想生成基于物理引擎的感知和抓取数据集。我尝试将google ( https://app.ignitionrobotics.org/GoogleResearch )最近发布的3D模型导入drake,并为各种鞋创建分割数据集,即将网格放到垃圾桶中/让它休息,读取rgb /深度和分割图像。

但是,在drake中将对象网格(.obj文件)指定为碰撞几何似乎不起作用,因为鞋子只会穿透垃圾箱并不断落入深渊(附在快照中)。

我还注意到,YCB对象具有用简单的框和点接触来描述的碰撞几何。这里是相同的可视化(您可能已经熟悉)。绿色是碰撞几何。

如果我必须模拟上面的内容,我需要描述来自google研究数据集的所有对象的简单几何吗?如果是的话,它们是如何产生的?是否有一些工具用来生成这个,或者它是手动完成的?或者,当网格用于碰撞几何时,是否应该使水弹性接触模拟工作?

如果它能处理任何凸网格,另一种方法是将原始网格的凸包作为碰撞几何。

另外,作为另一种选择,我也尝试了同样的方法。我用的不是垃圾箱,而是飞机。Pybullet似乎在正确地将网格指定为冲突几何。以下是pybullet中数据的快照。

中间解决方案(尚未解决抓取部分):

经过与Sean & Russ的讨论,我创建了三角形网格的凸包(使用open3D),并将该凸包作为碰撞网格,并对网格标记进行了<drake:declare_convex/>注释,使鞋达到了稳定的姿态。我认为这个解决方案对我来说足够好,可以用drake生成感知数据。下面是使用以下解决方案后的快照:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-04 16:23:35

你的观察是对的。

德雷克目前不支持任意的接触网格(也就是“接近”角色)(只支持“插图”和“感知”)。实际上,如果控制台对您可用,可能会有警告打印出来,显示的数量也一样多。在添加该功能之前,您有以下选项:

正如您在YCB数据中观察到的那样,

  • 引入了简单的基本元素来逼近网格。目前,还没有发布的技术来生成简单的表示。
  • 加载了一个OBJ,它代表了一个真正的凸多边形,并将<drake:declare_convex>标记添加为<mesh>几何的子级。这将通知德雷克期望一个凸起的网格,这是支持接触。因此,如果您可以轻松地创建凸壳,这可能是一个很好的方向。

很难推荐使用水弹性接触。它还没有完全准备好实际使用,并且有一些限制(限制对您来说可能太成问题了)。如果你有兴趣进一步调查,我们可以探索。但就目前而言,我建议对你的对象进行凸表示。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64196799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档