基于视觉的空间曲线机器人加工轨迹规划 下载: 1266次
1 引言
随着机器人刚度和精准度的提高,以视觉仪器为辅助的机器人广泛应用于切削加工领域,如抛光、打磨、去毛刺等曲面加工。刘立峰等[1]利用三维激光扫描仪,对复杂物体进行三维重构,提取特征的表面或表面缺陷,通过离线编程系统进行了机器人加工或缺陷修复。陈影等[2]采用三维扫描仪获取了熔覆曲面的点云数据,利用切片法和非均匀有理数B样条(NURBS)曲线拟合法,通过偏置一定距离得到枪头的运动轨迹点,以此规划激光熔覆曲面时的机器人轨迹。但其中的关键部分即曲面轨迹姿态规划研究成果较少,且各类方法均存在一定缺陷。王会方等[3]提出了基于INSGA(非支配排序遗传算法)-Ⅱ对机器人轨迹的运行时间、加速度等进行了优化分析。朱世强等[4]采用7次B样条曲线描述机器人的运动轨迹,满足了时间最优、加速度连续的要求,但只是满足了机器人的运动物理量需求,对其轨迹姿态缺乏严格的计算分析。Song等[5-6]通过控制协同粒子群算法机器人的参数,提高了削磨轨迹的平滑性。Wang等[7]以经典的截面法为基础,提出了切削轨迹规划的弧长优化算法,使曲线切削机器人运动满足平滑需求。近几年提出的点云数据重构曲线曲面的路径规划算法,完成了从三维重构曲线到机器人轨迹姿态规划的整套自动加工方案。王鑫龙等[8]利用三维扫描仪得到点云数据进行曲面重构,得到三维模型后提出了一种基于切平面的路径生成方法。Masood等[9]利用点云数据生成数控加工路径的算法,将刀触点路径截面法线通过刀具偏置生成加工路径。张铁[10]等基于三维点云的机器人加工轨迹规划,详细描述了通过激光点云拟合平滑曲线的方法,利用三角拓扑关系计算轨迹姿态,并完成机器人的运动仿真验证。刘丽[11-12]等提出了基于CAD数模信息的自适应布点方法,探测S型曲面的深度信息并规划机器人的轨迹路径,但此类点云重构的轨迹精度不足,曲面拟合算法复杂,加工路径连续性难以满足需求。
为改善上述问题,本文提出了一种双目相机与激光发射器联合测量系统,自动计算旋转世界坐标系,完成柱形物体曲面激光器靶标360°全景轨迹重构。把精准轨迹点经三次B样条反算拟合后,利用自适应倍数离散差分算法快速生成机器人的位姿轨迹,用手眼系统传递链关系规划机器人的切削路径,最后通过仿真实验进行了验证。
2 柱形曲面靶标轨迹三维重构
双目相机固定安装在支架上并进行标定,圆点激光器位于其中心位置发射可见光线,映射在物体表面形成椭圆靶标。不断旋转被测物体,激光靶标形成空间轨迹曲线。利用Halcon双目相机开发平台,采用旋转位姿算法可得到360°全景靶坐标。其原理如
图 1. 双目相机全景视觉重构原理示意图
Fig. 1. Schematic diagram of panoramic vision reconstruction of binocular camera
被测对象为柱形物体,在几何中心建立初始坐标系OW,O1、O2为一对双目相机在矫正成像平面组成的成像坐标系,oCx1y1z1和oCx2y2z2分别为左右相机三维坐标系。目标激光器靶标在柱形物体侧面映射成椭圆形斑点,其任意坐标P(XW,YW,ZW)投影到成像平面I1、I2上的成像坐标分别为P1(X1,Y1,f1)、P2(X2,Y2,f2),其中f1、f2为相机焦距,在成像平面上数值不变,P1和P2构成匹配点对。利用Halcon双目相机环境求得靶标匹配点在矫正后相机坐标系下的CCS坐标,以及矫正相机之间的相对位姿RectPose,矫正后图像行像元对齐。在可见视场下,可求得所有靶标的三维坐标。为了获取圆柱体的360°全景轨迹靶标点,逆时针绕ZW轴旋转圆柱体,角度为θ,此时圆柱体的靶标点在相机成像坐标系中也发生了改变,当圆柱体旋转一周时,相机全景取景完成。在双目相机视场内,圆柱体每旋转θ角,就记作一次世界坐标系姿态位,把相邻视场之间的位姿转换矩阵设定为i-1Mi,记WM1为初始状态下靶标CCS坐标在初始世界坐标系OW下的转换矩阵。为了在一个世界坐标系中重构三维信息,通过相对变换位姿矩阵,将相机不同视场下的坐标值统一变换到OW下,即实现不同视场间靶标轨迹拼接。其递推公式可表示为
式中,i-1Mi=
式中,i∈[1,n]。不同姿态位的重构点CCS坐标经(2)式可统一变换为OW坐标系下的三维坐标,完成全景激光靶标的轨迹拼接。
3 三维靶标点轨迹拟合及姿态分析
3.1 三维轨迹点B样条拟合
靶标点为切削路径必须经过的关键信息点,为满足拟合曲线的精度,选择靶标点为B样条曲线上的型值点,反算三次B样条曲线控制顶点,分配参数向量后正向拟合出完整的空间曲线。得到的轨迹路径具有良好的局部特性:便于升阶、插入节点,加工轨迹连续且足够平滑,不会产生机器人卡顿、自锁等不良行为。
将切削轨迹定义为C2连续的三次B样条曲线,空间点集函数p(u)可表示为
式中,dj(j=0,1,…,l)为控制顶点,l为控制顶点的个数,u为连续参数变量,Nj,3(u)为三次规范B样条基函数,其递推公式可表示为
式中,k为曲线次数,在这里取3,um(m=0,1,…,l+k+1)为参数向量U(节点矢量)的离散序列,规定0/0=0为特殊运算方式。(3)式、(4)式中的dj及节点矢量U=(u0,u1,…,um,…,ul+3,ul+4)均未知,需要反算求解。以重构的三维靶标点为曲线上的型值点q,反算过程使曲线首末端点与首末数据点一致,重构点为曲线的分段连接点,与B样条曲线定义域节点一一对应。此时三次B样条曲线包含l-2段和l-3个分段连接点,加上首末数据点,应有l-1个型值点qj(j=0,1,…,l-2),比控制顶点少两个。
反推过程中节点矢量U由型值点qj(j=0,1,…,l)通过规范累计弦长法参数化,克服了数据点按弦长分布不均匀造成的缺陷。首末端取四重端点的固支条件,即获得贝齐尔曲线端点性质,可表示为
将型值点序列qj及构造的节点矢量U代入(3)式,反解控制顶点序列dj
(6)式中共含l-1个方程和l+1个控制顶点,方程组无唯一解。要构造C2连续的三次闭曲线,首末端需重合即q0=ql-2,方程数减少为l-2,只需使l+1个顶点中首末三个依次相重,即dl=d0,dl+1=d1,dl+2=d2,未知顶点个数减少为l-2,方程数与未知点个数相同存在唯一解。实际中为降低连续性需求,在首末端点处不要求q0=ql-2,但需满足首末控制顶点与型值点重合即q0=d0,ql-2=dl,未知顶点数由l+1减少到l-1,(6)式的方程数减少为l-3,因此必须增加(6)式中的首末端两个边界条件才能求解唯一的控制顶点序列dj,将线性方程组用矩阵表示为
式中矩阵均为l-1行,矩阵系数a,b,c,e由节点矢量U计算得到,其2~l-2行系数为
式中,Δm=um+1-um,m=2,3,…,l-2,(7)式中首末行数据为添加的边界条件,按照样条曲线自由端约束给出
可以发现,(7)式中的未知参数均已求出,且是左下角与右上角为零的三角非奇异矩阵,顶点序列dj存在唯一的解。反算控制顶点dj后,按照其数目重新取均匀节点矢量U'=[0,…,0,1/(l+1),…,l/(l+1),1,…1]后,代入(3)式、(4)式得到正解空间B样条定义式。
3.2 空间轨迹姿态求解
通过B样条拟合的曲线坐标并不能满足机器人运动轨迹的全部要求,其末端的轨迹姿态是空间运动的关键点。以空间轨迹的伏雷内标架为机器人运动姿态,需求解轨迹切矢k,曲率方向m,及二者构成的密切平面的法向量b。其中k为引导轨迹的切削方向,传统方法通过B样条德布尔递推算法得到曲线上的多阶导数从而确定切线矢量,但算法繁琐且耗时较长,不适合大规模数据点拟合后的计算。根据B样条数据点、相邻型值点间的变化关系不同,提出了自适应倍数离散差分算法,在达到精度要求的同时可灵活计算型值点间的姿态数目及切矢方向,原理如
式中,t为离散距离变量,pX,pY,pZ分别为拟合函数p(u)在三个坐标轴方向上的分量。相应的单位切矢可表示为
式中,‖‖为向量的二范数(向量模)。可以发现离散间距Δt越小,点p的差分向量与真实切矢间的角度偏差Δθ越小。为保证切矢的平滑过渡和离散算法的可行性,相邻型值点间的离散间距Δt即段数用自适应倍数离散差分算法搜寻,具体步骤:
1) 选取一段曲线上的首末型值点求一阶差分k1,然后以2的几何倍数(2,4,8,…)离散该曲线,计算生成新的离散点与起始型值点的差分k2,得到Δk=k2-k1。
2) 根据统计数据得到阈值δ,若Δk>δ,则表明离散程度不够,型值点之间的差分与真实切矢相差较大,需继续细分曲线,新的离散点以几何速度靠近起始型值点,再次将Δk和δ进行比较,直至小于δ时停止迭代,记离散段数为XTnum。
3) 依次计算曲线段上所有离散点的向前一阶的差分,作为其切矢km,得到相邻离散点间的切矢夹角为cosθ。设置控制姿态平滑的阈值ε,当存在一组夹角arccosθ>ε时,表明此段上切矢变化不够平滑,需更新离散段数XTnum=XTnum+2,以低速离散曲线并重新计算离散点差分,直至所有夹角均小于设定阈值ε,记下最终离散段数XTnum。
4) 根据拟合B样条的段数设置循环次数,按照步骤1)~步骤3)依次搜寻所有曲线所需的离散段数及离散点的差分,完成所有参数迭代,记录最终结果。
上述过程中的两个阈值决定了最终效果优劣,其中δ决定切矢的逼近程度,用以快速得出初步需要离散的段数,可根据统计数据得出,通过离散10,20,30,…段得到对应差分变化后选取数据δ。阈值ε决定了最终切矢平滑和位姿数目XTnum,一般离散点间切矢的角度θ需在5°以内。
b可采用Z轴投影法求解,原理如
曲率方向m作为次要信息,可通过右手定则约束得到。
结合得到的姿态要素和离散点在坐标系的绝对位置,可构成曲线上离散点关于世界坐标系的变化位姿齐次矩阵T
4 机器人加工轨迹生成原理
曲线上的位姿齐次矩阵T在机器人视觉加工系统中充当刀触点在工件世界坐标系中的描述,记为WTP。加工过程中的约束条件为机器人末端切削工具的变化姿态与WTP重合,相机视觉传递系统为内在联系,推导出机器人运动位姿及各关节角变化参数,即完成机器人切削轨迹加工任务,其转换原理如
依次建立机器人基座坐标系OBXBYBZB、机器人末端坐标系OEXEYEZE、切削工具坐标系OgpXgpYgpZgp、工件世界坐标系OWXWYWZW和相机坐标系OCXCYCZC。通过机器人手眼标定系统(hand-eye)求得相机坐标系相对于机器人基座坐标系的描述关系
式中,ETgp为切削工具与机器人末端的转换矩阵,由安装刀具时确定且位置关系恒定不变,CTW为工件在相机坐标系中的描述,经相机捕捉工件图像后利用三维位姿识别算法得到,其余三个为未知变量。可通过不断改变机器人手臂末端位姿变化矩阵BTE,得到多组方程构成方程组,解得机器人基座坐标系在相机坐标系下的固定描述矩阵CTB以及中间变量gpTW,即工件关于切削刀具之间转换矩阵。为提高求解矩阵精度,先用相机标定板代替工件,在每个已知的机器人末端基座下,不断改变标定板姿态重新构成(16)式的描述关系,确定描述关系CTB后放入工件,识别工件在相机下的CTW,即完成整个系统标定。
通过手眼标定系统后得到相机坐标系在机器人基座坐标系下的描述矩阵BTC,为使加工过程中机器人刀具遍历工件上的空间轨迹,刀具坐标系原点必须与拟合曲线重合,且机器人基座坐标系中刀具姿态与曲线上离散点姿态矩阵即WTP需相同。得到工件坐标系在机器人基座坐标系下的描述关系BTW为
将(17)式化简后求出切削过程中机器人手臂位姿变化矩阵
其关节角参数Θ由机器人逆运动学模型Γ-1得出
由(18)式、(19)式可将B样条离散点的位姿矩阵转换为机器人各关节角,串联各刀触点即可生成完整的机器人切削加工轨迹。
5 实验结果分析
为了验证从视觉三维重构曲线到机器人轨迹姿态规划整套自动加工方案的可行性,搭建了实验平台,以川崎RS010N机器人、德国Basler L304kcH工业相机和Nikon定制镜头为主体。整套方案由视觉测量、轨迹拟合及姿态算法分析、轨迹规划和机器人运动仿真四部分构成,流程如
搭建的双目相机实验环境由工业主机(CPU:Inter(R)core(TM)i5-4590)、工业相机、定制的LED光源、Halcon陶瓷圆点标定板及高速数据采集卡(研华PCI-1712)等组成。辅助测量装置添加一个圆点激光器(HW650AD5-12GC)、一个线性结构光以及自制的3×3方阵靶标,间距为15 mm×15 mm。工业相机和线性结构光分别安装在两侧支架上,用于扫描自制方阵靶标;圆点激光器位于相机下方,可在物体侧面映射出椭圆靶标点,形成动态轨迹。测试曲面放置在双相机视场中,捕获的图像通过千兆网卡传输到主机读取和处理,测量系统如
表 1. 激光靶标轨迹的世界坐标
Table 1. World coordinate of laser target trajectoryunit: mm
|
采集过程:圆点激光器在一个相机视场内通过导轨自由移动,双目相机重构映射在曲面上形成动态轨迹,线性结构光扫描方阵靶标记录靶标图像坐标系,以此计算位姿坐标系。然后任意轴旋转测量物体,再次移动激光器形成新的靶标轨迹并扫描方阵,每个位姿对应于一个视场轨迹,直到360°曲面轨迹全部采集完成。其三维重构视图及坐标数据如
将上述靶标点当作B样条上的型值点,经(5)式~(10)式反算曲线控制顶点后重新划分节点矢量,经(3)式、(4)式可得到对应基函数的分段定义式。实际选择了57个型值点数据,首末端点采用四重节点支撑,故首末端点与首末型值点重合,实求控制顶点数降为55个,最后得到U=[0,…,0,1/56,…,55/56,1,…,1]。通过Matlab编程得到的拟合曲线如
采用自适应倍数离散差分算法得到的曲线姿态与B样条德布尔递推算法相比适应性、实用性更强。其根据不同段曲线切矢变化的缓慢程度来决定离散位姿数目的优化策略,既降低了传统算法的复杂度,又简化了加工时的走刀次数,从而提高工作效率。通过该算法得到的每段B样条曲线应离散的位姿数目如
由
图 10. 不同算法的姿态对比。(a)德布尔递推算法;(b)离散差分投影算法
Fig. 10. Attitude comparison of different algorithms. (a) Debord recursive algorithm; (b) discrete difference projection algorithm
通过机器人手眼关系传递链,将加工轨迹的姿态矩阵WTP解算成机器人手臂末端位姿变化矩阵BTE,用(19)式求出各关节角变化数据,一个位姿对应一个关节角,对应一次走刀位,如
将逆变换求解的关节角数据导入Adams中的RS010N机器人模型,约束其6个关节角变化参数,机器人运动轨迹路径与真实轨迹对比如
6 结论
提出了以CCD相机和工业机器人为核心的机器视觉联合系统,深入探讨了从视觉三维重构曲线到机器人轨迹姿态规划的整套自动加工方案。采用双目相机视觉系统与激光器映射高精度靶标轨迹,解决了光滑曲面上轨迹难以捕捉和重构的问题;针对空间轨迹姿态求解难点,结合了自适应倍数离散差分算法优化加工性能。最后通过实验数据及仿真结果验证了该方案的可行性。
[1] 刘立峰, 杨洗陈, 王非, 等. 基于机器人的柔性激光再制造系统[J]. 中国激光, 2011, 38(12): 1203003.
[2] 陈影, 孙文磊, 黄勇, 等. 曲面零件的激光熔覆路径规划[J]. 激光与光电子学进展, 2016, 53(6): 061405.
[3] 王会方, 朱世强, 吴文祥. 基于INSGA-Ⅱ算法的机械手多目标轨迹规划[J]. 浙江大学学报(工学版), 2012, 46(4): 622-628.
Wang H F, Zhu S Q, Wu W X. INSGA-Ⅱ based multi-objective trajectory planning for manipulators[J]. Journal of Zhejiang University(Engineering Science), 2012, 46(4): 622-628.
[4] 朱世强, 刘松国, 王宣银, 等. 机械手时间最优脉动连续轨迹规划算法[J]. 机械工程学报, 2010, 46(3): 47-52.
Zhu S Q, Liu S G, Wang X Y, et al. Time-optimal and jerk-continuous trajectory planning algorithm for manipulators[J]. Journal of Mechanical Engineering, 2010, 46(3): 47-52.
[5] Song Y X, Liang W. Yang. A method for grinding removal control of a robot belt grinding system[J]. Journal of Intelligent Manufacturing, 2012, 23(5): 1903-1913.
[6] Song Y X, Yang H J, Hongbo L. Intelligent control for a robot belt grinding system[J]. IEEE Transactions on Control Systems Technology, 2013, 21(3): 716-724.
[7] Wang W, Yun C. A path planning method for robotic belt surface grinding[J]. Chinese Journal of Aeronautics, 2011, 24(4): 520-526.
[8] 王鑫龙, 孙文磊, 张建杰, 等. 基于逆向工程的激光熔覆再制造路径规划[J]. 激光与光电子学进展, 2017, 54(5): 051401.
[9] Masood A, Siddiqui R, Pinto M, et al. Tool path generation, for complex surface machining, using point cloud data[J]. Procedia CIRP, 2015, 26: 397-402.
[10] 张铁, 张美辉, 邹焱飚. 基于三维点云的机器人加工轨迹规划[J]. 中国激光, 2018, 45(5): 0502009.
[11] 刘丽, 马国庆, 高艺, 等. 三维形貌测量机器人的轨迹规划技术[J]. 中国激光, 2019, 46(2): 0204005.
[12] 赵立明, 叶川, 张毅, 等. 非结构化环境下机器人视觉导航的路径识别方法[J]. 光学学报, 2018, 38(8): 0815028.
Article Outline
苏工兵, 李超, 刘天祥, 房纯. 基于视觉的空间曲线机器人加工轨迹规划[J]. 激光与光电子学进展, 2020, 57(10): 101503. Gongbing Su, Chao Li, Tianxiang Liu, Chun Fang. Processing Trajectory Planning of Space Curved Robot Based on Vision[J]. Laser & Optoelectronics Progress, 2020, 57(10): 101503.