如何在Robosuite中导入自建的物体模型

Robosuite是基于mujoco封装的机器人操作库,而mujoco的碰撞检测是基于凸壳,也就是geom必须是凸的,如果是凹的话,凹的部分会有一个透明的屏障而无法与其他物体有碰撞。但是实际场景很多物体都不是凸的,比如杯子的口是凹进去的。

解决办法:

  • 1 使用v-hacd将物体的obj模型分解为多个凸模型

pybullet的py库里集成里该函数:

import pybullet as p

input_obj = '/home/wdx/anaconda3/envs/mujoco/lib/python3.7/site-packages/robosuite/models/assets/objects/meshes/025_mug/textured.obj'
output_obj = input_obj.replace('.obj', '_vhacd.obj')

p.vhacd(input_obj, output_obj, 'log.txt')

用blender打开生成的模型:
其中每一个部分都可以单独导出成obj/stl模型文件。

  • 2 在robosuite的物体xml模型文件中,分别导入每一个凸模型组成整体的模型

你可能感兴趣的:(机器人,mujoco,robosuite,建模)