YCB数据集的obj文件导入到Vrep/Coppeliasim中保存为.ttm文件

由于课题需要,接下来会使用vrep来搭建自己的env,今天第一次使用,在查阅了相关文献之后发现vrep的教程资源少得可怜。记录今天操作vrep时所遇到的一些问题。(由于第一天使用,还有很多不明白的地方,如果有错误的地方希望筒子们可以指出来,也希望多留一些vrep的学习教程,3q啦)

一.vrep中导入obj文件

左上方File-> Import -> Mesh 选择YCB/models下的obj文件
YCB数据集的obj文件导入到Vrep/Coppeliasim中保存为.ttm文件_第1张图片
如图所示。在env中我们可以看到物体有一半仿佛在地面下,这是由于导入时物体的质心/中心坐标默认是与世界坐标系对齐的。如果想看的舒服一点,
YCB数据集的obj文件导入到Vrep/Coppeliasim中保存为.ttm文件_第2张图片
点击移动选项弹出控制object移动的窗口,标注的第一行代表移动时以world坐标系为准,还是以物体的父坐标系为准,还是以物体本身的坐标系为准,我们这里选择物体本身的坐标系,标注第二行表示允许x/y/z轴方向的移动
YCB数据集的obj文件导入到Vrep/Coppeliasim中保存为.ttm文件_第3张图片
通过移动object全部位于平面上方

二.提取物体凸壳

提取凸壳的目的是为了后续设置物体的碰撞属性,至于其他目的还在探索当中…
方法一:选中模型,右键 -> Add -> convex hull of selection,便可以计算得到凸壳。
方法二:在使用方法一过程中有时可以计算得到凸壳,但经常失败。原因就是组成组成model的triangles太多,终端会报错out of range,查阅相关的官方文档发现,我们可以这么搞。
先选中物体copy一下,然后再ctrl+v,这时会在scene hierarchy中再次显示一个shape,但env中实际看到的只有一个,实际上两个shape重合了,这里不用管。
选中其中一个shape并右键->Edit->Decimate selected shape…,弹出如下窗口
YCB数据集的obj文件导入到Vrep/Coppeliasim中保存为.ttm文件_第4张图片
这里实际上就是设置在提取物体凸壳时要保留多少个triangles,这里可以根据终端输出的错误提示来自行选择,我这里选择保留70254个,可以看到原始有524286个,远远超出范围。
一波操作之后变成了这个样子:
YCB数据集的obj文件导入到Vrep/Coppeliasim中保存为.ttm文件_第5张图片
莫得慌,这时候再选择shape(刚才你选的哪个shape就继续对那个shape进行操作)进行方法一的操作,选中shape,右键 ->Edit -> Morph selection into convex shapes
YCB数据集的obj文件导入到Vrep/Coppeliasim中保存为.ttm文件_第6张图片
然后就可以得到这样的图,由很多的triangles构成。
然后选中shape->scene object propertiesYCB数据集的obj文件导入到Vrep/Coppeliasim中保存为.ttm文件_第7张图片
弹出以下窗口,点击最下方
YCB数据集的obj文件导入到Vrep/Coppeliasim中保存为.ttm文件_第8张图片
勾选body is respondable和body is dynamic
然后根据物体实际情况设置mass和inertia
YCB数据集的obj文件导入到Vrep/Coppeliasim中保存为.ttm文件_第9张图片
设置visibility如图(这部分的具体功能还有待进一步研究,只知道这部分貌似是用来控制是否显示各个图层);然后去掉object special properties中的所有勾,并勾选object is model base
YCB数据集的obj文件导入到Vrep/Coppeliasim中保存为.ttm文件_第10张图片
到此为止,shape的相关信息设置完毕
接下来选定shape0->scene object properties
只需要勾选select base of model instead即可
YCB数据集的obj文件导入到Vrep/Coppeliasim中保存为.ttm文件_第11张图片

三.保存模型

最后一步,保存模型。将shape0放在shape下面,选中shape,然后选择左上方File -> Save model as,这样就可以直接从左侧模型库里拖动添加自己的model。
YCB数据集的obj文件导入到Vrep/Coppeliasim中保存为.ttm文件_第12张图片

你可能感兴趣的:(仿真器,ubuntu)