基于视觉引导的直角坐标机器人轨迹规划研究*
2019-12-26孙姝丽
李 浩,卢 军,孙姝丽
(陕西科技大学 机电工程学院,西安 710021)
0 引言
笛卡尔空间下的轨迹规划能够直观地描述路径,运动轨迹明确[1-2],获得了广泛的研究与应用。主要分为位姿规划和速度规划[3],在笛卡尔平面坐标系下,位姿规划的主要任务是拟合运动轨迹,采用Akima算法获得的轨迹曲线拟合程度高,且保证了段内与段间的连续性。来燕菁等[4]通过仿真验证了修正弦长参数化法Akima插值曲线拟合效果优于累加弦长参数化法;周鹏等[5]以双弦与弦切误差约束条件对Akima曲线进行分段拟合,测试了不同阈值下的Akima曲线相关误差。速度规划中S型速度曲线平滑性好且运算速度快,Jahanpour J等[6]提出采用S型速度规划可有效降低加速度不连续对系统的影响;F Zou[7]提出了在加速和减速阶段时间不对称的改进S型速度曲线规划算法,改善了系统响应性能。但传统的轨迹规划方法大多是在特定的工作条件下以离线编程的方式对末端执行机构的位姿与速度等进行规划,实时性差且缺乏环境感知能力。
针对以上问题,本文提出一种基于视觉引导的机器人轨迹规划方法,在机器人控制中引入视觉引导技术,通过视觉图像获取目标轨迹轮廓离散点,以弧长参数化Akima法拟合运动轨迹,引导机器人采用改进的五段式S型速度规划实现任意给定轨迹的运动,提高了轨迹质量及机器人系统的智能性与灵活性。
1 视觉引导
1.1 手眼标定
基于视觉引导控制工业机器人运动,首先要对机器人末端执行机构与相机之间的位置关系进行Eye-in-hand手眼标定[8],然后通过标定矩阵实现视觉获取的待测图像中目标物体的像素坐标与机器人机械坐标间的坐标转换。
Eye-in-hand手眼标定过程如下:
(1)利用Grab_image算子在线采集标定图像;
(2)提取标定图像中的Mark点:对图像进行Threshold阈值分割和Select_shape形状特征选择,用于区分Mark点与图像背景;对所选Mark点区域进行Sort_region排序,调用Area_center算子计算Mark点中心坐标如图1所示。
图1 Mark点中心图像坐标
(3)控制机器人末端执行机构按顺序移动至各Mark点中心,记录各Mark点中心对应的机械坐标;
(4)根据9组对应坐标建立HomMat2D标定矩阵并获取标定矩阵各仿射变换参数的值。
(1)
式中,Tx为沿X方向平移的距离;Ty为沿Y方向平移的距离;Phi为旋转角度;Theta为斜切角度;Sx为X方向的缩放因子;Sy为Y方向的缩放因子。
1.2 目标轮廓提取
图像轮廓是以某种方式表示图像中曲线上点的列表,获取一幅图像中目标物体的轮廓在图像处理及应用中扮演着重要的角色[9]。基于视觉引导的机器人轨迹规划算法可面向任意曲线,由于光源等工况环境的影响,会在待处理图像中产生噪点[10],需对采集图像进行处理以获取准确的曲线轮廓。
(1)对采集的目标图像进行灰度处理,将24位RGB图像转化为8位灰度图像;
(2)使用Threshold算子对灰度图像进行阈值分割,将图像分割为目标与背景,从而提取到目标轮廓区域[11];
(3)目标轮廓区域局部出现“毛刺”,利用openning_circle算子对图像执行开运算操作,平滑目标轮廓,消除“毛刺”;
(4)通过skeleton算子提取目标区域中央的骨骼部分,利用gen_contour_region_xld算子根据轮廓区域创建一个轮廓XLD,最后调用get_contour_xld算子计算目标轮廓上各点的像素坐标;
(5)将轮廓上各点的像素坐标通过HomMat2D标定矩阵转换为对应的机械坐标,并将数据发送至控制器,从而根据识别得到的像素坐标引导末端执行机构完成相应动作。图像处理及算法流程如图2和图3所示。
(a) 视觉获取图像 (b) 局部区域出现毛刺
(c) 开运算消除毛刺 (d) 轮廓骨架 图2 图像处理
图3 目标轮廓提取算法流程图
2 Akima法轨迹拟合
2.1 Akima法基本原理
Akima算法是Hiroshi Akima提出的一种在给定的数据点中,每两个点建立一条三次多项式拟合曲线,且保证整条曲线一阶连续可导的分段三次多项式曲线拟合算法[12]。
将已知的n个给定数据点Pi(xi,yi)(i=1,2,...,n)按x坐标轴严格升序排列,在任意两个相邻的数据点Pi(xi,yi)与Pi+1(xi+1,yi+1)间建立一条三次多项式曲线:
y(x)=a0+a1(x-xi)+a2(x-xi)2+a3(x-xi)3
(2)
由两点坐标可得已知条件:
(3)
代入式(2)中可得:
(4)
其中,mi为相邻两个数据点间线段的斜率。
(5)
di为数据点处的切线斜率,对于首末数据点需补充定义4个辅助斜率以求得各数据点Pi(xi,yi)处的切线斜率di,计算如下:
(6)
(7)
2.2 筛选约束点
在机器人运动过程中,不同的轮廓轨迹对应的插补运动点分布不同,曲率变化较小的平直轮廓插补点较分散,曲率较大的轮廓处插补点密集,且随曲率的增大而密度增加,因此需对视觉获取的轨迹轮廓离散点进行筛选。
采用双弦误差与弦切误差两种约束条件对视觉获取的目标轮廓离散点进行预处理。图4a中,li-1,li为三个相邻轮廓点Pi-1,Pi,Pi+1间的连线长度,R为三点确定唯一圆的半径,δ1和δ2为双弦误差。双弦误差δ1,δ2均在误差阈值范围内,则认定小线段Pi-1Pi和PiPi+1为符合Akima算法拟合条件的连续小线段。对于满足双弦误差的数据点进行弦切误差约束测试,图4b中N为相邻两数据点Pi-1和Pi切线的交点,d为交点N到直线PiPi+1的距离,Pi-1N和PiN分别为数据点Pi-1和Pi点处的弦切值[6]。
(a) 双弦误差 (b) 弦切误差 图4 误差测试
设定约束阈值条件,依次搜索视觉获取的轨迹轮廓点,当满足约束条件时继续搜索;当搜索到不满足阈值条件的数据点,暂停搜索,将其作为分段点,拟合该段Akima曲线,之后继续搜索下一个分段点,直至拟合出整条Akima曲线。
2.3 参数化Akima曲线
常用的参数化方法主要有累加弦长参数法和修正弦长参数法。在累加弦长参数法参数化过程中,绝对曲率偏大曲线段会出现实际弦长偏短的情况,针对这种情况,修正弦长参数法引入了修正系数ki对弦长做出了修正,获得的修正弦长更接近于实际弧长,故而拟合效果更佳[4]。
设前后相邻弦线夹角的外角为θi:
(8)
引入修正系数ki为:
(9)
求得数据点Pi(xi,yi)处的修正弦长为:
(10)
其中,
(11)
3 S型速度规划
传统的S型速度曲线为7段式曲线[13],如图5所示,即加加速段(Ⅰ)、匀加速段(Ⅱ)、减加速段(Ⅲ)、匀速段(Ⅳ),加减速段(Ⅴ)、匀减速段(Ⅵ)、减减速段(Ⅶ)。
图5 传统S型曲线
图5中,以ti表示阶段变化时刻,Ti表示各段用时,vmax表示最大速度,amax表示最大加速度,J表示加加速度,设定S为路径长度,考虑到轨迹曲线的对称性,可知各段用时Ti为:
(12)
(13)
(14)
又知各阶段的加加速度为定值,通过对各段用时Ti二次积分即可得到速度曲线函数:
(15)
推得分段运行距离为:
(16)
最终获得S型速度规划位移函数为:
S(t)=
(17)
根据传统7段式S型速度规划曲线的几何对称性可知,在位移约束条件S>2S3下,7段式S型速度曲线可达到最大速度vmax和最大加速度amax。当改变位移、速度、加速度、加加速度等约束条件后,通过改变各阶段用时Ti可改进S型速度规划曲线,一次积分加加速度J得到改进的加速度曲线如图6所示,推导求得对应的约束条件如下:
(a) 情形1
(b) 情形2
(c) 情形3 图6 改进的加速度曲线
(18)
(19)
(20)
情形3:S<2(S1+S3),此时T2=T4=T6=0,即不存在匀加速段(Ⅱ)、匀速段(Ⅳ)和匀减速段(Ⅵ),S型速度规划曲线改进为四段式,在约束条件内,最大速度vmax、最大加速度amax均不能达到,修正最大速度和最大加速度为:
(21)
(22)
4 仿真分析及实验验证
4.1 Matlab仿真分析
通过双弦误差与弦切误差约束条件筛选视觉获取的轨迹轮廓离散点作为实验数据点,在Matlab2014环境下进行弧长参数化Akima轨迹拟合仿真测试,结果如图7所示。对视觉获取的216个轮廓轨迹离散点进行双弦误差与弦切误差约束误差测试,通过调整误差约束条件δ与d,最终选取47个数据点拟合Akima曲线。实验结果表示:获得的Akima曲线能够很好的描绘视觉数据点的形状与凸凹性,相同x坐标处拟合点与理论点的最大误差△y为0.113mm,平均误差0.0292mm。
(a) Akima拟合曲线
(b) 局部放大图1 (c) 局部放大图2 图7 Akima拟合曲线
4.2 实验验证
本次设计的直角坐标机器人主要用于小型零部件的涂胶密封,为获得更高的涂胶质量,需限定胶枪的运动速度,即在速度规划中引入了路径长度和运动速度约束条件。采用修正弦长参数法获得的Akima曲线插补路径长度为1200unit,选取末端执行机构进给速度为1300unit/s,以3000,1200,6000,6000(unit/s2)4组实验参数进行实验,获得的7段式、6段式、5段式和4段式S型速度规划曲线实验数据如表1所示。
表1 4种S型曲线实验结果
由插补实验结果可知:引入路径长度与运动速度约束条件后,验证了4段式与6段式S型速度规划曲线在约束条件内不能达到最优速度,5段式速度规划较7段式能够更快达到最优速度,保持最佳进给速度的时间更长且总用时更短,为较理想的速度规划曲线。5段式S型速度规划曲线视觉引导实验效果图如图8所示。
(a) 任意轨迹 (b) 运动效果图 图8 任意轨迹运动效果图
5 结论
为提高机器人在笛卡尔平面下的轨迹精度,本文提出了一种基于视觉引导的机器人轨迹规划算法。仿真分析与实验结果表明,经双弦与弦切误差约束条件筛选后的视觉轨迹轮廓离散点点数较少,获得的弧长参数化Akima曲线拟合精度高,有效减小了运算量;在小型零部件涂胶密封轨迹长度约束条件下,采用改进的5段式S型速度规划曲线能够迅速达到最优胶枪进给速度,并能自动调整加加速度,缩短运动时间,同时保证了加速度曲线的连续平稳变化,有效减小了末端执行机构的振动和机械冲击,提高了轨迹精度。在下一步的研究中,将其运用于小型零部件的涂胶密封工作中,进一步优化Akima轨迹拟合与5段式S型速度规划算法以及硬件平台,提高轨迹质量和系统的可应用性。