在上篇文中,介绍了在windows上部署graspnet的一些细节,同时完成了在仿真环境以及现实世界中生成对点云的抓取姿态。本篇文章主要介绍如何获取抓取位姿的世界坐标,以完成抓取。
抓取效果参考视频:
基于pybullet+graspnet的抓取复现
下面介绍实现的具体细节:
1. 摄像机拍摄原理:
首先要明确pybullet里照片获取的原理,由视角矩阵计算函数可知:
viewMatrix = p.computeViewMatrix(
cameraEyePosition=cameraPos,
cameraTargetPosition=targetPos,
cameraUpVector=cameraupPos,
physicsClientId=0
) # 计算视角矩阵
需要有三个必要的参数:相机眼位置,相机目标位置和相机上向量组成。值得注意的是,相机的视角矩阵很可能与相机的位姿齐次矩阵不同。但是我们可以在相机的位姿矩阵和相机视角矩阵间建立联系,我使用这种办法: