导入网格文件或者点云文件等自带位置信息的模型,初始位置就是在其他软件中建模位置(以vrep为例,导出的模型文件内部数据即为xyz坐标信息)因此对其进行新的transformation 需要注意起始点,如需准确变换设置新位置,最好导出模型几何中心在世界坐标系远点的文件直接使用。
模型在vrep原点导出obj :
模型在vrep 任意远处导出:
导入:
另:
fcl::transform3d::identity 作为fcl导入几何形状的变换矩阵,即为保持原位姿
在vrep中搭建场景,并导出模型文件,测试新模型导入fcl效果
出现了离谱的问题,单个obj碰撞没问题,manager进行已注册的多个obj组之间的碰撞又不行了。。。
猜测:可能是obstacle 2 未加入到obstacle manager 组里面。。。改变obstacle 1 位置之后发现obstacle manager碰撞检测正常了,可见obstacle 1 的碰撞包含在manager内
vrep场景:
更改shelf 模型为obstacle 1的longbox 进行测试,可以碰撞,obstacle 2 变量已加入obstacle manager。。。
更换为shelf继续测,还是无效,obstacle manager与robo tmanager或者每个link的碰撞都无效
吃了个饭回来发现好了。。。。
将shelf模型移动到世界坐标系水平中心导出obj,再导入fcl之后设置它的translation,碰撞检测准确了。。。