导语:机构平台搭配相机应用时,无论相机固定安装在外部还是末端,都需先执行手眼标定,N点标定是最常见的手眼标定方法,其目的是获取相机外参矩阵,通过记录像素坐标点和物理坐标点,计算图像坐标系A到物理坐标系B的转换矩阵T。
N点标定的本质是统一坐标系,将图像坐標轉換到物理空间中,然后在物理空间进行數值處理,以引導執行機構進行操作。通常用于XYZ平台、XYθ平台、Scara机械手、六自由度机械手等。
N点标定原理
从数学角度看,一個二維座標系統xoy經過平移、旋轉、縮放可以變換到另一個座標系統x’o’y’。
其轉換關係表示如下:
上述矩陣描述了兩個座標系之間的關係,其中fx, fy分別是x方向和y方向的縮放尺度,a, b分別是x方向和y方向的平移量,θ是座標系的旋轉角度。矩陣中有6個自由度,最少需要6個方程,也就是3組點才能求解,而多於3組點則用非線性最小二乘法進行優化,最常用的為9組點。
LeadVision視覺平台N點標定包括9點與16點(其中最後7點為旋轉點)。16點標定是9-point 平移與7-point 旋轉的一種結合,用於處理抓取物件不在旋轉中心的情況下。此時,可以使用拟合圆法找出旋转中心或三角函数法找出旋转中心。拟合圆法适用于大视野场景,而三角函数法适用于小视野场景。
N点 标 定 流 程
N 点 标 定 与 通 讯 功能 配 合 可 实 现 一 键 自动 标 定,由四个步骤组成:
(1) 移 动 到 标 定 起始 位:机构移动到拍照位,如上图1位置(与后续10位置相同),吸取被测对象(可为产品也可为标准块)。
(2) XY 平 移 标 定:机构按设定的偏移值依次移动到上图9个位置,然后给LeadVision视觉平台发送拍照指令、点序号及对应的机构坐标格式自定义“Calib106_01”,取得9组机构平台坐数与被测对象像素数。
(3) 旋 转 标 定:机构依次移动至上图7个位置(此时只动R轴),然后给LeadVision视觉平台依次发送拍照指令+point sequence +corresponding device coordinates 格式同步步骤2,并取得7组设备平台数与被测对象像素数。
(4) 生成标准文件:点击 LeadVision 视觉系统中的“Calculate Results”按钮生成标准文件完成全过程工作流程结束
LeadVision实现
04-01目标:
通过16-point calibration实现将相机内部空间参数转换至Scara机械臂末端参数绝对空间关系。
04-02创建工程:
新建工程 - 输入相机数量任务流程数量工程名称保存路径并选择已有的基准图片配置完成后单击“Save Settings”
04-03搭建流程:
进入系统界面构建内嵌工具选项设置菜单栏选择"Enter Coordinate System Calibration Interface"开启程序运行环境
04-04TCP通信接收:
添加通信设备并配置数据接收模式 "Cal,Id,X,Y,A" 接收来自 TCP 服务器数据自动匹配命令 Cal 并执行后续流程
05运行结果:
以15mm x-directional displacement and 15° rotation as the end effector of Scara robotic arm to generate a set of platform coordinates for the first two steps of the calibration process.
After completing all sixteen steps in the process, stop running the program and open up “Coordinate Point List Tab” to view and verify that data points are recorded correctly.
06输出结果:
Final transformation matrix file "Calib106.txt" is generated after clicking on "Calculate Results". The output result will be used for further motion control applications such as object grasping or manipulation by adjusting motor positions based on this transformed matrix.