眼在手上坐标系变换关系
我们会用到四个坐标系,分别是基础坐标系,机械手坐标系,相机坐标系,以及标定物坐标系各大坐标系变化过程:
推导过程
其中baseHcal表示基础坐标系到标定物坐标系的转化关系,包括旋转矩阵和平移向量;camHtool表示相机坐标系到机械手坐标系的转化关系;这两个转化关系在机械手移动过程中是不变的;camHcal可以由相机标定求出;baseHtool可以由机器人系统中得出。
接下来控制机器手从位置 1 移动到位置 2:
**tool(1) = baseTtool base(1)
cam(1) = toolT cam tool(1)
objpixel = camTcal * cam(1)
其中obj位置不变,相机位置在变
联合上面三个公式:
base = baseHtool (1) inv(camHtool) camHcal(1)objpixel*
移动到机械手臂到位置2后:
base = baseHtool (2) inv(camHtool) camHcal(2)objpixel*
因为base和obj是固定的所以:
baseHtool (1) inv(camHtool) camHcal(1)=baseHtool (2)* inv(camHtool)* camHcal(2)**
camHcal可通过相机标定获取外参得到, baseHtool是已知的,一般机器人上可以读出,未知的是camHtool,通过手眼示教多组相机位置不同数据,可以调用opencv的cvsolve解多组线性超定方程组,求解camHtool矩阵。