Visionpro(机器人与视觉标定---单相机固定视角下的高精度标定)

Visionpro(机器人与视觉标定---单相机固定视角下的高精度标定) 1. 单相机固定视角标定的核心价值在工业自动化领域机器视觉就像给机器人装上了眼睛而标定就是让这双眼睛看得准的关键步骤。我经手过不少视觉引导项目发现90%的定位误差问题都出在标定环节。单相机固定视角方案上往下看或下往上看是目前产线上最经济的配置用好了能达到±0.1mm的定位精度。这种方案特别适合以下场景电子元件贴装如SMT贴片机精密零件装配手机摄像头模组组装物料分拣锂电池极片抓取质量检测PCB焊点定位去年我们给一家汽车零部件厂做视觉引导时发现他们用普通方法标定后重复定位精度只有±0.5mm。后来改用本文介绍的9点标定旋转中心补偿方案最终稳定在±0.08mm良品率直接提升了12个百分点。2. 上往下看视角的标定实战2.1 相机非线性校正的坑与技巧很多人觉得用标定板做校正很简单但实测中我发现两个常见问题标定板摆放不平整会导致Z轴误差放大光照不均匀时角落畸变校正不彻底我的经验是用带陶瓷基板的标定板像下图这样固定在工作台上。先用水平仪调整平台然后用机器人末端反复触碰标定板四角确保各位置Z轴高度差小于0.05mm。光照建议用环形光源亮度调到让标定板灰度值在180-220之间最理想。# OpenCV标定示例代码 import cv2 criteria (cv2.TERM_CRITERIA_EPS cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001) objp np.zeros((6*9,3), np.float32) objp[:,:2] np.mgrid[0:9,0:6].T.reshape(-1,2) img cv2.imread(calib.jpg) gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) ret, corners cv2.findChessboardCorners(gray, (9,6),None) corners2 cv2.cornerSubPix(gray,corners,(11,11),(-1,-1),criteria) ret, mtx, dist, rvecs, tvecs cv2.calibrateCamera([objp],[corners2],gray.shape[::-1],None,None)2.2 9点标定的进阶玩法传统做法是让机器人扎9个点但实际项目中我更推荐用带特征点的治具。比如我们设计过一种带十字刻线的不锈钢模块机器人抓取后移动到相机视野的9个区域。这比单纯扎点好处多避免损伤工作台面特征点识别更稳定可随时复检标定结果关键参数记录表点位机械坐标X机械坐标Y像素坐标u像素坐标v1100.12200.34320.5240.82150.23250.45420.3340.6...............标定完成后一定要做验证让机器人走到视野边缘位置对比实际坐标与视觉坐标的偏差。我们要求X/Y方向偏差都小于0.05mm才算合格。2.3 旋转中心计算的数学魔术很多工程师忽略了这个步骤结果发现旋转后定位总是有偏差。其实原理很简单机器人旋转时是绕某个固定点转动的这个点可能不在工具中心。实操中有个技巧用三个角度建议-30°、0°、30°拍摄同一个特征点。我习惯在治具上加工一个直径2mm的圆孔作为特征这样拟合圆的精度能比普通特征点高3倍左右。圆心坐标计算公式x_c (x1² y1²)(y2 - y3) (x2² y2²)(y3 - y1) (x3² y3²)(y1 - y2) ------------------------------------------------ 2[x1(y2 - y3) x2(y3 - y1) x3(y1 - y2)]3. 下往上看视角的特殊处理3.1 重力影响下的标定策略当相机安装在下方时最大的挑战是标定板受重力影响会轻微下垂。我们做过测试300mm×300mm的铝制标定板在悬空状态下中间会下垂0.2mm左右。解决方案有两种改用碳纤维标定板成本高但变形小在标定板背面加装轻量化支撑架建议在做9点标定时让机器人在每个点位停留2秒待振动消除后再拍照。我们开发了一套自动补偿算法能根据标定板尺寸自动计算重力变形量。3.2 反向标定的坐标转换下往上看时坐标系的Y轴方向与常规相反。这里容易踩的坑是忘记修改旋转公式的正负号。正确的转换公式应该是x0 cos(a)*(x-rx0) sin(a)*(y-ry0)rx0 y0 -[sin(a)*(x-rx0) - cos(a)*(y-ry0)]ry0曾经有个项目因为符号搞反导致所有Y坐标偏差达到1.2mm产线整整停了半天排查问题。现在我们的标准操作流程里会强制要求做方向验证测试。4. 高精度标定的质量保障4.1 环境因素控制清单温度每变化1℃金属平台会热胀冷缩约0.01mm/m振动建议在设备底座加装减震垫气压精密车间要保持正压防止灰尘电磁干扰大功率设备要单独接地我们会在标定前用激光干涉仪检测环境振动频率要求X/Y方向振动幅度小于2μm。有个客户案例显示改善环境后标定重复性从±0.15mm提升到了±0.03mm。4.2 日常维护的黄金法则根据三年维护经验我总结出这些要点每周用无尘布清洁镜头每月检查标定板是否有划痕每季度重新标定一次关键岗位每月任何机械结构改动后必须重新标定有个汽车厂产线曾经出现定位逐渐偏移的问题后来发现是相机支架螺丝松动导致的。现在我们都要求用螺纹胶固定关键螺丝并用记号笔做防松标记。